Display inverter & motor temperatures

This commit is contained in:
Jasper Blanckenburg 2023-05-05 14:50:10 +02:00
parent 24be6312c8
commit a097d2b3aa
26 changed files with 431 additions and 212 deletions

View File

@ -73,11 +73,16 @@ typedef enum {
} AMSSlavePanicKind; } AMSSlavePanicKind;
typedef struct { typedef struct {
float fl; float tire_fl;
float fr; float tire_fr;
float rl; float tire_rl;
float rr; float tire_rr;
} TireTemps;
float inv_l;
float inv_r;
float mot_l;
float mot_r;
} Temperatures;
typedef struct { typedef struct {
TSState ts_state; TSState ts_state;
@ -118,7 +123,7 @@ typedef struct {
IniChkState ini_chk_state; IniChkState ini_chk_state;
unsigned lap_count; unsigned lap_count;
TireTemps tire_temps; Temperatures temps;
float min_cell_volt; float min_cell_volt;
float max_cell_temp; float max_cell_temp;

View File

@ -14,6 +14,7 @@
#define CAN_ID_AMS_SLAVE_PANIC 0x9 #define CAN_ID_AMS_SLAVE_PANIC 0x9
#define CAN_ID_AMS_STATUS 0xA #define CAN_ID_AMS_STATUS 0xA
#define CAN_ID_AMS_ERROR 0xC #define CAN_ID_AMS_ERROR 0xC
#define CAN_ID_CS_INTERNAL 0x108
#define CAN_ID_MISSION_SELECTED 0x400 #define CAN_ID_MISSION_SELECTED 0x400
#define CAN_ID_STW_BUTTONS 0x401 #define CAN_ID_STW_BUTTONS 0x401
#define CAN_ID_STW_PARAM_SET 0x402 #define CAN_ID_STW_PARAM_SET 0x402
@ -24,6 +25,7 @@
#define CAN_ID_SHUNT_VOLTAGE2 0x523 #define CAN_ID_SHUNT_VOLTAGE2 0x523
#define CAN_AMS_STATUS_VOLTAGE_FACTOR 1e-4 #define CAN_AMS_STATUS_VOLTAGE_FACTOR 1e-4
#define CAN_AMS_STATUS_TEMP_FACTOR 0.0625 #define CAN_AMS_STATUS_TEMP_FACTOR 0.0625
#define CAN_CS_INTERNAL_TEMP_FACTOR 0.01
VehicleState vehicle_state = {0}; VehicleState vehicle_state = {0};
@ -32,6 +34,7 @@ void vehicle_thread_entry(ULONG hfdcan_addr) {
ftcan_add_filter(CAN_ID_AMS_SLAVE_PANIC, 0x7FF); ftcan_add_filter(CAN_ID_AMS_SLAVE_PANIC, 0x7FF);
ftcan_add_filter(CAN_ID_AMS_STATUS, 0x7FF); ftcan_add_filter(CAN_ID_AMS_STATUS, 0x7FF);
ftcan_add_filter(CAN_ID_AMS_ERROR, 0x7FF); ftcan_add_filter(CAN_ID_AMS_ERROR, 0x7FF);
ftcan_add_filter(CAN_ID_CS_INTERNAL, 0x7FF);
ftcan_add_filter(CAN_ID_AS_MISSION_FB, 0x7FF); ftcan_add_filter(CAN_ID_AS_MISSION_FB, 0x7FF);
ftcan_add_filter(CAN_ID_STW_STATUS, 0x7FF); ftcan_add_filter(CAN_ID_STW_STATUS, 0x7FF);
ftcan_add_filter(CAN_ID_SHUNT_CURRENT, 0x7FF); ftcan_add_filter(CAN_ID_SHUNT_CURRENT, 0x7FF);
@ -84,6 +87,17 @@ void ftcan_msg_received_cb(uint16_t id, size_t datalen, const uint8_t *data) {
vehicle_state.last_ams_error.kind = data[0]; vehicle_state.last_ams_error.kind = data[0];
vehicle_state.last_ams_error.arg = data[1]; vehicle_state.last_ams_error.arg = data[1];
break; break;
case CAN_ID_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: case CAN_ID_AS_MISSION_FB:
vehicle_state.active_mission = data[0] & 0b111; vehicle_state.active_mission = data[0] & 0b111;
break; break;

View File

@ -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/DebugViewLineBase.cpp \
TouchGFX/generated/gui_generated/src/containers/DriverViewFieldBase.cpp \ TouchGFX/generated/gui_generated/src/containers/DriverViewFieldBase.cpp \
TouchGFX/generated/gui_generated/src/containers/DriverViewFieldSelectionBase.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/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/debugview_screen/DebugViewViewBase.cpp \
TouchGFX/generated/gui_generated/src/driverview_screen/DriverViewViewBase.cpp \ TouchGFX/generated/gui_generated/src/driverview_screen/DriverViewViewBase.cpp \
TouchGFX/generated/gui_generated/src/missionselect_screen/MissionSelectViewBase.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/DebugViewLine.cpp \
TouchGFX/gui/src/containers/DriverViewField.cpp \ TouchGFX/gui/src/containers/DriverViewField.cpp \
TouchGFX/gui/src/containers/DriverViewFieldSelection.cpp \ TouchGFX/gui/src/containers/DriverViewFieldSelection.cpp \
TouchGFX/gui/src/containers/ErrorPopup.cpp \
TouchGFX/gui/src/containers/MissionSelectElement.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/DebugViewPresenter.cpp \
TouchGFX/gui/src/debugview_screen/DebugViewView.cpp \ TouchGFX/gui/src/debugview_screen/DebugViewView.cpp \
TouchGFX/gui/src/driverview_screen/DriverViewPresenter.cpp \ TouchGFX/gui/src/driverview_screen/DriverViewPresenter.cpp \

View File

@ -142,6 +142,12 @@
</Text> </Text>
</TextGroup> </TextGroup>
<TextGroup Id="Unsorted"> <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"> <Text Id="__SingleUse_9L8R" Alignment="Left" TypographyId="Default">
<Translation Language="GB">&lt;value&gt;</Translation> <Translation Language="GB">&lt;value&gt;</Translation>
</Text> </Text>

View File

@ -1,19 +1,19 @@
/*********************************************************************************/ /*********************************************************************************/
/********** THIS FILE IS GENERATED BY TOUCHGFX DESIGNER, DO NOT MODIFY ***********/ /********** THIS FILE IS GENERATED BY TOUCHGFX DESIGNER, DO NOT MODIFY ***********/
/*********************************************************************************/ /*********************************************************************************/
#ifndef TIRETEMPBASE_HPP #ifndef TEMPERATUREBASE_HPP
#define TIRETEMPBASE_HPP #define TEMPERATUREBASE_HPP
#include <gui/common/FrontendApplication.hpp> #include <gui/common/FrontendApplication.hpp>
#include <touchgfx/containers/Container.hpp> #include <touchgfx/containers/Container.hpp>
#include <touchgfx/widgets/Box.hpp> #include <touchgfx/widgets/Box.hpp>
#include <touchgfx/widgets/TextAreaWithWildcard.hpp> #include <touchgfx/widgets/TextAreaWithWildcard.hpp>
class TireTempBase : public touchgfx::Container class TemperatureBase : public touchgfx::Container
{ {
public: public:
TireTempBase(); TemperatureBase();
virtual ~TireTempBase(); virtual ~TemperatureBase();
virtual void initialize(); virtual void initialize();
protected: protected:
@ -31,4 +31,4 @@ private:
}; };
#endif // TIRETEMPBASE_HPP #endif // TEMPERATUREBASE_HPP

View File

@ -8,11 +8,11 @@
#include <mvp/View.hpp> #include <mvp/View.hpp>
#include <gui/driverview_screen/DriverViewPresenter.hpp> #include <gui/driverview_screen/DriverViewPresenter.hpp>
#include <touchgfx/widgets/Box.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/Line.hpp>
#include <touchgfx/widgets/canvas/PainterRGB565.hpp> #include <touchgfx/widgets/canvas/PainterRGB565.hpp>
#include <touchgfx/containers/progress_indicators/LineProgress.hpp> #include <touchgfx/containers/progress_indicators/LineProgress.hpp>
#include <touchgfx/widgets/TextArea.hpp>
#include <gui/containers/DriverViewField.hpp> #include <gui/containers/DriverViewField.hpp>
#include <touchgfx/containers/scrollers/ScrollWheel.hpp> #include <touchgfx/containers/scrollers/ScrollWheel.hpp>
#include <gui/containers/DriverViewFieldSelection.hpp> #include <gui/containers/DriverViewFieldSelection.hpp>
@ -66,14 +66,24 @@ protected:
* Member Declarations * Member Declarations
*/ */
touchgfx::Box __background; touchgfx::Box __background;
TireTemp tireTempRR; touchgfx::TextArea motorTempLabel;
TireTemp tireTempFR; Temperature motorTempL;
TireTemp tireTempRL; Temperature motorTempR;
TireTemp tireTempFL; touchgfx::Line motorTempDiv;
touchgfx::PainterRGB565 motorTempDivPainter;
touchgfx::Line invTempDiv;
touchgfx::PainterRGB565 invTempDivPainter;
Temperature invTempR;
Temperature invTempL;
touchgfx::TextArea invTempLabel;
touchgfx::Line ttDivVert; touchgfx::Line ttDivVert;
touchgfx::PainterRGB565 ttDivVertPainter; touchgfx::PainterRGB565 ttDivVertPainter;
touchgfx::Line ttDivHoriz; touchgfx::Line ttDivHoriz;
touchgfx::PainterRGB565 ttDivHorizPainter; touchgfx::PainterRGB565 ttDivHorizPainter;
Temperature tireTempRR;
Temperature tireTempFR;
Temperature tireTempRL;
Temperature tireTempFL;
touchgfx::LineProgress tsSoC; touchgfx::LineProgress tsSoC;
touchgfx::PainterRGB565 tsSoCPainter; touchgfx::PainterRGB565 tsSoCPainter;
touchgfx::LineProgress lvSoC; touchgfx::LineProgress lvSoC;

View File

@ -1,31 +1,31 @@
/*********************************************************************************/ /*********************************************************************************/
/********** THIS FILE IS GENERATED BY TOUCHGFX DESIGNER, DO NOT MODIFY ***********/ /********** 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 <touchgfx/Color.hpp>
#include <texts/TextKeysAndLanguages.hpp> #include <texts/TextKeysAndLanguages.hpp>
TireTempBase::TireTempBase() TemperatureBase::TemperatureBase()
{ {
setWidth(75); setWidth(60);
setHeight(75); setHeight(60);
bg.setPosition(0, 0, 75, 75); bg.setPosition(0, 0, 60, 60);
bg.setColor(touchgfx::Color::getColorFromRGB(0, 38, 255)); bg.setColor(touchgfx::Color::getColorFromRGB(0, 38, 255));
add(bg); add(bg);
value.setPosition(0, 7, 75, 60); value.setPosition(0, 0, 60, 50);
value.setColor(touchgfx::Color::getColorFromRGB(255, 255, 255)); value.setColor(touchgfx::Color::getColorFromRGB(255, 255, 255));
value.setLinespacing(0); value.setLinespacing(0);
value.setTypedText(touchgfx::TypedText(T___SINGLEUSE_20H3)); value.setTypedText(touchgfx::TypedText(T___SINGLEUSE_20H3));
add(value); add(value);
} }
TireTempBase::~TireTempBase() TemperatureBase::~TemperatureBase()
{ {
} }
void TireTempBase::initialize() void TemperatureBase::initialize()
{ {
} }

View File

@ -4,8 +4,8 @@
#include <gui_generated/driverview_screen/DriverViewViewBase.hpp> #include <gui_generated/driverview_screen/DriverViewViewBase.hpp>
#include <touchgfx/canvas_widget_renderer/CanvasWidgetRenderer.hpp> #include <touchgfx/canvas_widget_renderer/CanvasWidgetRenderer.hpp>
#include <touchgfx/Color.hpp> #include <touchgfx/Color.hpp>
#include <images/BitmapDatabase.hpp>
#include <texts/TextKeysAndLanguages.hpp> #include <texts/TextKeysAndLanguages.hpp>
#include <images/BitmapDatabase.hpp>
DriverViewViewBase::DriverViewViewBase() : DriverViewViewBase::DriverViewViewBase() :
updateItemCallback(this, &DriverViewViewBase::updateItemCallbackHandler) updateItemCallback(this, &DriverViewViewBase::updateItemCallbackHandler)
@ -16,19 +16,49 @@ DriverViewViewBase::DriverViewViewBase() :
__background.setColor(touchgfx::Color::getColorFromRGB(0, 0, 0)); __background.setColor(touchgfx::Color::getColorFromRGB(0, 0, 0));
add(__background); add(__background);
tireTempRR.setXY(240, 197); motorTempLabel.setPosition(315, 187, 150, 25);
add(tireTempRR); motorTempLabel.setColor(touchgfx::Color::getColorFromRGB(255, 255, 255));
motorTempLabel.setLinespacing(0);
motorTempLabel.setTypedText(touchgfx::TypedText(T___SINGLEUSE_JN2J));
add(motorTempLabel);
tireTempFR.setXY(240, 122); motorTempL.setXY(329, 212);
add(tireTempFR); add(motorTempL);
tireTempRL.setXY(165, 197); motorTempR.setXY(392, 212);
add(tireTempRL); add(motorTempR);
tireTempFL.setXY(165, 122); motorTempDiv.setPosition(389, 212, 3, 60);
add(tireTempFL); 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)); ttDivVertPainter.setColor(touchgfx::Color::getColorFromRGB(255, 255, 255));
ttDivVert.setPainter(ttDivVertPainter); ttDivVert.setPainter(ttDivVertPainter);
ttDivVert.setStart(0, 0); ttDivVert.setStart(0, 0);
@ -37,7 +67,7 @@ DriverViewViewBase::DriverViewViewBase() :
ttDivVert.setLineEndingStyle(touchgfx::Line::ROUND_CAP_ENDING); ttDivVert.setLineEndingStyle(touchgfx::Line::ROUND_CAP_ENDING);
add(ttDivVert); add(ttDivVert);
ttDivHoriz.setPosition(165, 196, 150, 3); ttDivHoriz.setPosition(179, 182, 123, 3);
ttDivHorizPainter.setColor(touchgfx::Color::getColorFromRGB(255, 255, 255)); ttDivHorizPainter.setColor(touchgfx::Color::getColorFromRGB(255, 255, 255));
ttDivHoriz.setPainter(ttDivHorizPainter); ttDivHoriz.setPainter(ttDivHorizPainter);
ttDivHoriz.setStart(0, 0); ttDivHoriz.setStart(0, 0);
@ -46,6 +76,18 @@ DriverViewViewBase::DriverViewViewBase() :
ttDivHoriz.setLineEndingStyle(touchgfx::Line::ROUND_CAP_ENDING); ttDivHoriz.setLineEndingStyle(touchgfx::Line::ROUND_CAP_ENDING);
add(ttDivHoriz); 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.setXY(15, 122);
tsSoC.setProgressIndicatorPosition(0, 0, 40, 150); tsSoC.setProgressIndicatorPosition(0, 0, 40, 150);
tsSoC.setRange(0, 100); tsSoC.setRange(0, 100);
@ -59,7 +101,7 @@ DriverViewViewBase::DriverViewViewBase() :
tsSoC.setValue(60); tsSoC.setValue(60);
add(tsSoC); add(tsSoC);
lvSoC.setXY(425, 122); lvSoC.setXY(110, 122);
lvSoC.setProgressIndicatorPosition(0, 0, 40, 150); lvSoC.setProgressIndicatorPosition(0, 0, 40, 150);
lvSoC.setRange(0, 100); lvSoC.setRange(0, 100);
lvSoC.setBackground(touchgfx::Bitmap(BITMAP_BAT_BAR_BG_ID)); lvSoC.setBackground(touchgfx::Bitmap(BITMAP_BAT_BAR_BG_ID));
@ -84,7 +126,7 @@ DriverViewViewBase::DriverViewViewBase() :
tsSoCLabel.setTypedText(touchgfx::TypedText(T___SINGLEUSE_PHFD)); tsSoCLabel.setTypedText(touchgfx::TypedText(T___SINGLEUSE_PHFD));
add(tsSoCLabel); add(tsSoCLabel);
lvSoCLabel.setPosition(425, 97, 40, 25); lvSoCLabel.setPosition(110, 97, 40, 25);
lvSoCLabel.setColor(touchgfx::Color::getColorFromRGB(255, 255, 255)); lvSoCLabel.setColor(touchgfx::Color::getColorFromRGB(255, 255, 255));
lvSoCLabel.setLinespacing(0); lvSoCLabel.setLinespacing(0);
lvSoCLabel.setTypedText(touchgfx::TypedText(T___SINGLEUSE_4OBM)); lvSoCLabel.setTypedText(touchgfx::TypedText(T___SINGLEUSE_4OBM));
@ -156,6 +198,10 @@ DriverViewViewBase::~DriverViewViewBase()
void DriverViewViewBase::setupScreen() void DriverViewViewBase::setupScreen()
{ {
motorTempL.initialize();
motorTempR.initialize();
invTempR.initialize();
invTempL.initialize();
tireTempRR.initialize(); tireTempRR.initialize();
tireTempFR.initialize(); tireTempFR.initialize();
tireTempRL.initialize(); tireTempRL.initialize();

View File

@ -1 +1 @@
{"remap":"yes","language":"GB","language_index":0,"indices":[["128","T_ERROR_AMS"],["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"],["325","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"],["95","T_INSPECTION_HUGE"],["158","T_EBS_HUGE"],["117","T_TRACKDRIVE_HUGE"],["138","T_AUTOX_HUGE"],["217","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"],["217","T_SKIDPAD"],["82","T_ACCEL"],["167","T___SINGLEUSE_9L8R"],["16","T___SINGLEUSE_1NKF"],["167","T___SINGLEUSE_J5UH"],["321","T___SINGLEUSE_NGUK"],["167","T___SINGLEUSE_4E84"],["167","T___SINGLEUSE_YTAB"],["106","T___SINGLEUSE_RWCE"],["148","T___SINGLEUSE_HMH2"],["329","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"]]}

View File

@ -1 +1 @@
{"languages":["GB"],"textids":["T_ERROR_AMS","T_DEBUGVIEWFIELD_TITLE","T_DRIVERVIEWFIELD_TITLE","T_FIELD_BBAL","T_FIELD_TSVOLTVEH","T_FIELD_TSVOLTBAT","T_FIELD_LVSOC","T_FIELD_TSSOC","T_FIELD_MAXCELLTEMP","T_FIELD_TIREFL","T_FIELD_TIREFR","T_FIELD_TIRERL","T_FIELD_TIRERR","T_FIELD_LAPCOUNT","T_FIELD_INICHKSTATE","T_FIELD_ERR","T_FIELD_SDC","T_FIELD_INVRREADY","T_FIELD_INVLREADY","T_FIELD_R2DPROGRESS","T_FIELD_ACTIVEMISSION","T_FIELD_ASSTATE","T_FIELD_TSSTATE","T_NUMBERWILDCARD","T_DEFAULTWILDCARD_CENTERED","T_DEFAULTWILDCARD_RIGHTALIGNED","T_FIELD_TSCURRENT","T_FIELD_MINCELLVOLT","T_FIELD_SPEED","T_INSPECTION_HUGE","T_EBS_HUGE","T_TRACKDRIVE_HUGE","T_AUTOX_HUGE","T_SKIDPAD_HUGE","T_ACCEL_HUGE","T_INVALID_HUGE","T_MANUAL","T_INSPECTION","T_EBS","T_TRACKDRIVE","T_AUTOX","T_SKIDPAD","T_ACCEL","T___SINGLEUSE_9L8R","T___SINGLEUSE_1NKF","T___SINGLEUSE_J5UH","T___SINGLEUSE_NGUK","T___SINGLEUSE_4E84","T___SINGLEUSE_YTAB","T___SINGLEUSE_RWCE","T___SINGLEUSE_HMH2","T___SINGLEUSE_4OBM","T___SINGLEUSE_PHFD","T___SINGLEUSE_H6UX","T___SINGLEUSE_20H3","T___SINGLEUSE_SDGP","T___SINGLEUSE_M5X7","T___SINGLEUSE_6GPV"]} {"languages":["GB"],"textids":["T_ERROR_AMS","T_DEBUGVIEWFIELD_TITLE","T_DRIVERVIEWFIELD_TITLE","T_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"]}

View File

@ -1 +1 @@
{"remap":"yes","languages":["Gb"],"characters":[67,104,111,111,115,101,32,97,32,109,105,115,115,105,111,110,0,67,117,114,114,101,110,116,32,77,105,115,115,105,111,110,58,0,73,110,118,97,108,105,100,32,77,105,115,115,105,111,110,33,0,73,110,118,97,108,105,100,32,77,105,115,115,105,111,110,0,77,97,110,117,97,108,32,68,114,105,118,105,110,103,0,65,99,99,101,108,101,114,97,116,105,111,110,0,73,110,115,112,101,99,116,105,111,110,0,80,65,82,65,77,69,84,69,82,83,0,84,114,97,99,107,100,114,105,118,101,0,65,77,83,32,69,114,114,79,114,0,65,117,116,111,99,114,111,115,115,0,80,82,69,67,72,65,82,71,69,0,69,66,83,32,84,101,115,116,0,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,82,50,68,0,83,68,67,0,76,86,0]} {"remap":"yes","languages":["Gb"],"characters":[67,104,111,111,115,101,32,97,32,109,105,115,115,105,111,110,0,67,117,114,114,101,110,116,32,77,105,115,115,105,111,110,58,0,73,110,118,97,108,105,100,32,77,105,115,115,105,111,110,33,0,73,110,118,97,108,105,100,32,77,105,115,115,105,111,110,0,77,97,110,117,97,108,32,68,114,105,118,105,110,103,0,65,99,99,101,108,101,114,97,116,105,111,110,0,73,110,115,112,101,99,116,105,111,110,0,80,65,82,65,77,69,84,69,82,83,0,84,114,97,99,107,100,114,105,118,101,0,65,77,83,32,69,114,114,79,114,0,65,117,116,111,99,114,111,115,115,0,80,82,69,67,72,65,82,71,69,0,69,66,83,32,84,101,115,116,0,73,78,86,69,82,84,69,82,0,2,0,65,83,83,84,65,84,69,0,73,67,83,84,65,84,69,0,73,78,86,76,82,68,89,0,73,78,86,82,82,68,89,0,77,73,83,83,73,79,78,0,82,50,68,80,82,79,71,0,83,107,105,100,112,97,100,0,84,83,83,84,65,84,69,0,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]}

View File

@ -1 +1 @@
{"databases":{"DEFAULT":[[3,"CENTER","LTR"],[5,"LEFT","LTR"],[2,"CENTER","LTR"],[2,"CENTER","LTR"],[2,"CENTER","LTR"],[2,"CENTER","LTR"],[2,"CENTER","LTR"],[2,"CENTER","LTR"],[2,"CENTER","LTR"],[2,"CENTER","LTR"],[2,"CENTER","LTR"],[2,"CENTER","LTR"],[2,"CENTER","LTR"],[2,"CENTER","LTR"],[2,"CENTER","LTR"],[2,"CENTER","LTR"],[2,"CENTER","LTR"],[2,"CENTER","LTR"],[2,"CENTER","LTR"],[2,"CENTER","LTR"],[2,"CENTER","LTR"],[2,"CENTER","LTR"],[2,"CENTER","LTR"],[4,"CENTER","LTR"],[0,"CENTER","LTR"],[0,"RIGHT","LTR"],[2,"CENTER","LTR"],[2,"CENTER","LTR"],[2,"CENTER","LTR"],[3,"CENTER","LTR"],[3,"CENTER","LTR"],[3,"CENTER","LTR"],[3,"CENTER","LTR"],[3,"CENTER","LTR"],[3,"CENTER","LTR"],[3,"CENTER","LTR"],[2,"CENTER","LTR"],[2,"CENTER","LTR"],[2,"CENTER","LTR"],[2,"CENTER","LTR"],[2,"CENTER","LTR"],[2,"CENTER","LTR"],[2,"CENTER","LTR"],[0,"LEFT","LTR"],[3,"CENTER","LTR"],[1,"RIGHT","LTR"],[1,"LEFT","LTR"],[4,"RIGHT","LTR"],[1,"LEFT","LTR"],[1,"CENTER","LTR"],[1,"LEFT","LTR"],[2,"CENTER","LTR"],[2,"CENTER","LTR"],[2,"CENTER","LTR"],[4,"CENTER","LTR"],[1,"LEFT","LTR"],[2,"CENTER","LTR"],[1,"LEFT","LTR"]]},"database_list":["DEFAULT"],"fonts":{"getFont_verdana_20_4bpp":0,"getFont_CHINN____30_4bpp":1,"getFont_CHINN____20_4bpp":2,"getFont_CHINN____40_4bpp":3,"getFont_lucon_TTF_50_4bpp":4,"getFont_verdanab_20_4bpp":5},"generate_font_format":"0"} {"databases":{"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"}

View File

@ -55,6 +55,8 @@ enum TEXTS
T_AUTOX, T_AUTOX,
T_SKIDPAD, T_SKIDPAD,
T_ACCEL, T_ACCEL,
T___SINGLEUSE_JN2J,
T___SINGLEUSE_ZP7N,
T___SINGLEUSE_9L8R, T___SINGLEUSE_9L8R,
T___SINGLEUSE_1NKF, T___SINGLEUSE_1NKF,
T___SINGLEUSE_J5UH, T___SINGLEUSE_J5UH,

View File

@ -11,39 +11,39 @@ KEEP extern const uint32_t indicesGb[] TEXT_LOCATION_FLASH_ATTRIBUTE;
TEXT_LOCATION_FLASH_PRAGMA TEXT_LOCATION_FLASH_PRAGMA
KEEP extern const uint32_t indicesGb[] TEXT_LOCATION_FLASH_ATTRIBUTE = { KEEP extern const uint32_t indicesGb[] TEXT_LOCATION_FLASH_ATTRIBUTE = {
128, // T_ERROR_AMS: "AMS ErrOr" 128, // T_ERROR_AMS: "AMS ErrOr"
167, // T_DEBUGVIEWFIELD_TITLE: "<>" 176, // T_DEBUGVIEWFIELD_TITLE: "<>"
167, // T_DRIVERVIEWFIELD_TITLE: "<>" 176, // T_DRIVERVIEWFIELD_TITLE: "<>"
277, // T_FIELD_BBAL: "BBAL" 292, // T_FIELD_BBAL: "BBAL"
240, // T_FIELD_TSVOLTVEH: "TSVVEH" 249, // T_FIELD_TSVOLTVEH: "TSVVEH"
233, // T_FIELD_TSVOLTBAT: "TSVBAT" 242, // T_FIELD_TSVOLTBAT: "TSVBAT"
253, // T_FIELD_LVSOC: "LVSOC" 262, // T_FIELD_LVSOC: "LVSOC"
271, // T_FIELD_TSSOC: "TSSOC" 286, // T_FIELD_TSSOC: "TSSOC"
287, // T_FIELD_MAXCELLTEMP: "TMAX" 302, // T_FIELD_MAXCELLTEMP: "TMAX"
292, // T_FIELD_TIREFL: "TTFL" 307, // T_FIELD_TIREFL: "TTFL"
297, // T_FIELD_TIREFR: "TTFR" 312, // T_FIELD_TIREFR: "TTFR"
302, // T_FIELD_TIRERL: "TTRL" 317, // T_FIELD_TIRERL: "TTRL"
307, // T_FIELD_TIRERR: "TTRR" 322, // T_FIELD_TIRERR: "TTRR"
282, // T_FIELD_LAPCOUNT: "LAPS" 297, // T_FIELD_LAPCOUNT: "LAPS"
177, // T_FIELD_INICHKSTATE: "ICSTATE" 186, // T_FIELD_INICHKSTATE: "ICSTATE"
247, // T_FIELD_ERR: "ERROR" 256, // T_FIELD_ERR: "ERROR"
325, // T_FIELD_SDC: "SDC" 340, // T_FIELD_SDC: "SDC"
193, // T_FIELD_INVRREADY: "INVRRDY" 202, // T_FIELD_INVRREADY: "INVRRDY"
185, // T_FIELD_INVLREADY: "INVLRDY" 194, // T_FIELD_INVLREADY: "INVLRDY"
209, // T_FIELD_R2DPROGRESS: "R2DPROG" 218, // T_FIELD_R2DPROGRESS: "R2DPROG"
201, // T_FIELD_ACTIVEMISSION: "MISSION" 210, // T_FIELD_ACTIVEMISSION: "MISSION"
169, // T_FIELD_ASSTATE: "ASSTATE" 178, // T_FIELD_ASSTATE: "ASSTATE"
225, // T_FIELD_TSSTATE: "TSSTATE" 234, // T_FIELD_TSSTATE: "TSSTATE"
167, // T_NUMBERWILDCARD: "<>" 176, // T_NUMBERWILDCARD: "<>"
167, // T_DEFAULTWILDCARD_CENTERED: "<>" 176, // T_DEFAULTWILDCARD_CENTERED: "<>"
167, // T_DEFAULTWILDCARD_RIGHTALIGNED: "<>" 176, // T_DEFAULTWILDCARD_RIGHTALIGNED: "<>"
317, // T_FIELD_TSCURRENT: "ITS" 332, // T_FIELD_TSCURRENT: "ITS"
312, // T_FIELD_MINCELLVOLT: "VMIN" 327, // T_FIELD_MINCELLVOLT: "VMIN"
259, // T_FIELD_SPEED: "SPEED" 274, // T_FIELD_SPEED: "SPEED"
95, // T_INSPECTION_HUGE: "Inspection" 95, // T_INSPECTION_HUGE: "Inspection"
158, // T_EBS_HUGE: "EBS Test" 158, // T_EBS_HUGE: "EBS Test"
117, // T_TRACKDRIVE_HUGE: "Trackdrive" 117, // T_TRACKDRIVE_HUGE: "Trackdrive"
138, // T_AUTOX_HUGE: "Autocross" 138, // T_AUTOX_HUGE: "Autocross"
217, // T_SKIDPAD_HUGE: "Skidpad" 226, // T_SKIDPAD_HUGE: "Skidpad"
82, // T_ACCEL_HUGE: "Acceleration" 82, // T_ACCEL_HUGE: "Acceleration"
34, // T_INVALID_HUGE: "Invalid Mission!" 34, // T_INVALID_HUGE: "Invalid Mission!"
67, // T_MANUAL: "Manual Driving" 67, // T_MANUAL: "Manual Driving"
@ -51,20 +51,22 @@ KEEP extern const uint32_t indicesGb[] TEXT_LOCATION_FLASH_ATTRIBUTE = {
158, // T_EBS: "EBS Test" 158, // T_EBS: "EBS Test"
117, // T_TRACKDRIVE: "Trackdrive" 117, // T_TRACKDRIVE: "Trackdrive"
138, // T_AUTOX: "Autocross" 138, // T_AUTOX: "Autocross"
217, // T_SKIDPAD: "Skidpad" 226, // T_SKIDPAD: "Skidpad"
82, // T_ACCEL: "Acceleration" 82, // T_ACCEL: "Acceleration"
167, // T___SINGLEUSE_9L8R: "<>" 268, // T___SINGLEUSE_JN2J: "MOTOR"
167, // T___SINGLEUSE_ZP7N: "INVERTER"
176, // T___SINGLEUSE_9L8R: "<>"
16, // T___SINGLEUSE_1NKF: "" 16, // T___SINGLEUSE_1NKF: ""
167, // T___SINGLEUSE_J5UH: "<>" 176, // T___SINGLEUSE_J5UH: "<>"
321, // T___SINGLEUSE_NGUK: "R2D" 336, // T___SINGLEUSE_NGUK: "R2D"
167, // T___SINGLEUSE_4E84: "<>" 176, // T___SINGLEUSE_4E84: "<>"
167, // T___SINGLEUSE_YTAB: "<>" 176, // T___SINGLEUSE_YTAB: "<>"
106, // T___SINGLEUSE_RWCE: "PARAMETERS" 106, // T___SINGLEUSE_RWCE: "PARAMETERS"
148, // T___SINGLEUSE_HMH2: "PRECHARGE" 148, // T___SINGLEUSE_HMH2: "PRECHARGE"
329, // T___SINGLEUSE_4OBM: "LV" 344, // T___SINGLEUSE_4OBM: "LV"
318, // T___SINGLEUSE_PHFD: "TS" 333, // T___SINGLEUSE_PHFD: "TS"
265, // T___SINGLEUSE_H6UX: "TIRES" 280, // T___SINGLEUSE_H6UX: "TIRES"
167, // T___SINGLEUSE_20H3: "<>" 176, // T___SINGLEUSE_20H3: "<>"
17, // T___SINGLEUSE_SDGP: "Current Mission:" 17, // T___SINGLEUSE_SDGP: "Current Mission:"
51, // T___SINGLEUSE_M5X7: "Invalid Mission" 51, // T___SINGLEUSE_M5X7: "Invalid Mission"
0 // T___SINGLEUSE_6GPV: "Choose a mission" 0 // T___SINGLEUSE_6GPV: "Choose a mission"

View File

@ -73,34 +73,36 @@ KEEP extern const touchgfx::Unicode::UnicodeChar texts_all_languages[] TEXT_LOCA
0x41, 0x75, 0x74, 0x6f, 0x63, 0x72, 0x6f, 0x73, 0x73, 0x0, // @138 "Autocross" 0x41, 0x75, 0x74, 0x6f, 0x63, 0x72, 0x6f, 0x73, 0x73, 0x0, // @138 "Autocross"
0x50, 0x52, 0x45, 0x43, 0x48, 0x41, 0x52, 0x47, 0x45, 0x0, // @148 "PRECHARGE" 0x50, 0x52, 0x45, 0x43, 0x48, 0x41, 0x52, 0x47, 0x45, 0x0, // @148 "PRECHARGE"
0x45, 0x42, 0x53, 0x20, 0x54, 0x65, 0x73, 0x74, 0x0, // @158 "EBS Test" 0x45, 0x42, 0x53, 0x20, 0x54, 0x65, 0x73, 0x74, 0x0, // @158 "EBS Test"
0x2, 0x0, // @167 "<>" 0x49, 0x4e, 0x56, 0x45, 0x52, 0x54, 0x45, 0x52, 0x0, // @167 "INVERTER"
0x41, 0x53, 0x53, 0x54, 0x41, 0x54, 0x45, 0x0, // @169 "ASSTATE" 0x2, 0x0, // @176 "<>"
0x49, 0x43, 0x53, 0x54, 0x41, 0x54, 0x45, 0x0, // @177 "ICSTATE" 0x41, 0x53, 0x53, 0x54, 0x41, 0x54, 0x45, 0x0, // @178 "ASSTATE"
0x49, 0x4e, 0x56, 0x4c, 0x52, 0x44, 0x59, 0x0, // @185 "INVLRDY" 0x49, 0x43, 0x53, 0x54, 0x41, 0x54, 0x45, 0x0, // @186 "ICSTATE"
0x49, 0x4e, 0x56, 0x52, 0x52, 0x44, 0x59, 0x0, // @193 "INVRRDY" 0x49, 0x4e, 0x56, 0x4c, 0x52, 0x44, 0x59, 0x0, // @194 "INVLRDY"
0x4d, 0x49, 0x53, 0x53, 0x49, 0x4f, 0x4e, 0x0, // @201 "MISSION" 0x49, 0x4e, 0x56, 0x52, 0x52, 0x44, 0x59, 0x0, // @202 "INVRRDY"
0x52, 0x32, 0x44, 0x50, 0x52, 0x4f, 0x47, 0x0, // @209 "R2DPROG" 0x4d, 0x49, 0x53, 0x53, 0x49, 0x4f, 0x4e, 0x0, // @210 "MISSION"
0x53, 0x6b, 0x69, 0x64, 0x70, 0x61, 0x64, 0x0, // @217 "Skidpad" 0x52, 0x32, 0x44, 0x50, 0x52, 0x4f, 0x47, 0x0, // @218 "R2DPROG"
0x54, 0x53, 0x53, 0x54, 0x41, 0x54, 0x45, 0x0, // @225 "TSSTATE" 0x53, 0x6b, 0x69, 0x64, 0x70, 0x61, 0x64, 0x0, // @226 "Skidpad"
0x54, 0x53, 0x56, 0x42, 0x41, 0x54, 0x0, // @233 "TSVBAT" 0x54, 0x53, 0x53, 0x54, 0x41, 0x54, 0x45, 0x0, // @234 "TSSTATE"
0x54, 0x53, 0x56, 0x56, 0x45, 0x48, 0x0, // @240 "TSVVEH" 0x54, 0x53, 0x56, 0x42, 0x41, 0x54, 0x0, // @242 "TSVBAT"
0x45, 0x52, 0x52, 0x4f, 0x52, 0x0, // @247 "ERROR" 0x54, 0x53, 0x56, 0x56, 0x45, 0x48, 0x0, // @249 "TSVVEH"
0x4c, 0x56, 0x53, 0x4f, 0x43, 0x0, // @253 "LVSOC" 0x45, 0x52, 0x52, 0x4f, 0x52, 0x0, // @256 "ERROR"
0x53, 0x50, 0x45, 0x45, 0x44, 0x0, // @259 "SPEED" 0x4c, 0x56, 0x53, 0x4f, 0x43, 0x0, // @262 "LVSOC"
0x54, 0x49, 0x52, 0x45, 0x53, 0x0, // @265 "TIRES" 0x4d, 0x4f, 0x54, 0x4f, 0x52, 0x0, // @268 "MOTOR"
0x54, 0x53, 0x53, 0x4f, 0x43, 0x0, // @271 "TSSOC" 0x53, 0x50, 0x45, 0x45, 0x44, 0x0, // @274 "SPEED"
0x42, 0x42, 0x41, 0x4c, 0x0, // @277 "BBAL" 0x54, 0x49, 0x52, 0x45, 0x53, 0x0, // @280 "TIRES"
0x4c, 0x41, 0x50, 0x53, 0x0, // @282 "LAPS" 0x54, 0x53, 0x53, 0x4f, 0x43, 0x0, // @286 "TSSOC"
0x54, 0x4d, 0x41, 0x58, 0x0, // @287 "TMAX" 0x42, 0x42, 0x41, 0x4c, 0x0, // @292 "BBAL"
0x54, 0x54, 0x46, 0x4c, 0x0, // @292 "TTFL" 0x4c, 0x41, 0x50, 0x53, 0x0, // @297 "LAPS"
0x54, 0x54, 0x46, 0x52, 0x0, // @297 "TTFR" 0x54, 0x4d, 0x41, 0x58, 0x0, // @302 "TMAX"
0x54, 0x54, 0x52, 0x4c, 0x0, // @302 "TTRL" 0x54, 0x54, 0x46, 0x4c, 0x0, // @307 "TTFL"
0x54, 0x54, 0x52, 0x52, 0x0, // @307 "TTRR" 0x54, 0x54, 0x46, 0x52, 0x0, // @312 "TTFR"
0x56, 0x4d, 0x49, 0x4e, 0x0, // @312 "VMIN" 0x54, 0x54, 0x52, 0x4c, 0x0, // @317 "TTRL"
0x49, 0x54, 0x53, 0x0, // @317 "ITS" 0x54, 0x54, 0x52, 0x52, 0x0, // @322 "TTRR"
0x52, 0x32, 0x44, 0x0, // @321 "R2D" 0x56, 0x4d, 0x49, 0x4e, 0x0, // @327 "VMIN"
0x53, 0x44, 0x43, 0x0, // @325 "SDC" 0x49, 0x54, 0x53, 0x0, // @332 "ITS"
0x4c, 0x56, 0x0 // @329 "LV" 0x52, 0x32, 0x44, 0x0, // @336 "R2D"
0x53, 0x44, 0x43, 0x0, // @340 "SDC"
0x4c, 0x56, 0x0 // @344 "LV"
}; };
TEXT_LOCATION_FLASH_PRAGMA TEXT_LOCATION_FLASH_PRAGMA

View File

@ -69,6 +69,8 @@ const touchgfx::TypedText::TypedTextData typedText_database_DEFAULT[] TEXT_LOCAT
{ 2, touchgfx::CENTER, touchgfx::TEXT_DIRECTION_LTR }, { 2, touchgfx::CENTER, touchgfx::TEXT_DIRECTION_LTR },
{ 2, touchgfx::CENTER, touchgfx::TEXT_DIRECTION_LTR }, { 2, touchgfx::CENTER, touchgfx::TEXT_DIRECTION_LTR },
{ 2, touchgfx::CENTER, touchgfx::TEXT_DIRECTION_LTR }, { 2, touchgfx::CENTER, touchgfx::TEXT_DIRECTION_LTR },
{ 2, touchgfx::CENTER, touchgfx::TEXT_DIRECTION_LTR },
{ 2, touchgfx::CENTER, touchgfx::TEXT_DIRECTION_LTR },
{ 0, touchgfx::LEFT, touchgfx::TEXT_DIRECTION_LTR }, { 0, touchgfx::LEFT, touchgfx::TEXT_DIRECTION_LTR },
{ 3, touchgfx::CENTER, touchgfx::TEXT_DIRECTION_LTR }, { 3, touchgfx::CENTER, touchgfx::TEXT_DIRECTION_LTR },
{ 1, touchgfx::RIGHT, touchgfx::TEXT_DIRECTION_LTR }, { 1, touchgfx::RIGHT, touchgfx::TEXT_DIRECTION_LTR },

View File

@ -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

View File

@ -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

View File

@ -24,7 +24,7 @@ public:
void setFieldType(size_t i, DataFieldType type); void setFieldType(size_t i, DataFieldType type);
void updateFieldValues(); void updateFieldValues();
void setTireTemps(const TireTemps &temps); void setTemps(const Temperatures &temps);
void setTSSoC(uint8_t soc); void setTSSoC(uint8_t soc);
void setProgress(bool active, DriverViewProgressType type, float progress); void setProgress(bool active, DriverViewProgressType type, float progress);

View File

@ -249,13 +249,13 @@ NamedFieldDescription dataFieldDescs[] = {
[DF_IniChkState] = {NamedFieldKind::Text, "ICSTATE", 1, 0, get_inichk_text}, [DF_IniChkState] = {NamedFieldKind::Text, "ICSTATE", 1, 0, get_inichk_text},
[DF_LapCount] = {NamedFieldKind::Int, "LAPS", 3, 0, VEH_FIELD(lap_count)}, [DF_LapCount] = {NamedFieldKind::Int, "LAPS", 3, 0, VEH_FIELD(lap_count)},
[DF_TireTempFL] = {NamedFieldKind::Float, "TTFL", 2, 1, [DF_TireTempFL] = {NamedFieldKind::Float, "TTFL", 2, 1,
VEH_FIELD(tire_temps.fl)}, VEH_FIELD(temps.tire_fl)},
[DF_TireTempFR] = {NamedFieldKind::Float, "TTFR", 2, 1, [DF_TireTempFR] = {NamedFieldKind::Float, "TTFR", 2, 1,
VEH_FIELD(tire_temps.fr)}, VEH_FIELD(temps.tire_fr)},
[DF_TireTempRL] = {NamedFieldKind::Float, "TTRL", 2, 1, [DF_TireTempRL] = {NamedFieldKind::Float, "TTRL", 2, 1,
VEH_FIELD(tire_temps.rl)}, VEH_FIELD(temps.tire_rl)},
[DF_TireTempRR] = {NamedFieldKind::Float, "TTRR", 2, 1, [DF_TireTempRR] = {NamedFieldKind::Float, "TTRR", 2, 1,
VEH_FIELD(tire_temps.rr)}, VEH_FIELD(temps.tire_rr)},
[DF_MinCellVolt] = {NamedFieldKind::Float, "VMIN", 1, 2, [DF_MinCellVolt] = {NamedFieldKind::Float, "VMIN", 1, 2,
VEH_FIELD(min_cell_volt)}, VEH_FIELD(min_cell_volt)},
[DF_MaxCellTemp] = {NamedFieldKind::Float, "TMAX", 2, 1, [DF_MaxCellTemp] = {NamedFieldKind::Float, "TMAX", 2, 1,

View File

@ -1,12 +1,17 @@
#include <gui/containers/Temperature.hpp>
#include <cstring>
#include "touchgfx/Color.hpp" #include "touchgfx/Color.hpp"
#include "touchgfx/Unicode.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) { if (temp_in_celsius < 0) {
// No space for displaying negative values // No space for displaying negative values
temp_in_celsius = 0; temp_in_celsius = 0;
@ -18,13 +23,13 @@ void TireTemp::setTemp(int temp_in_celsius) {
temp = temp_in_celsius; temp = temp_in_celsius;
updateValueBuffer(); updateValueBuffer();
if (temp < 35) { if (temp < tempThresholds[0]) {
bg.setColor(touchgfx::Color::getColorFromRGB(0x05, 0x76, 0xb7)); 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)); 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)); 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)); bg.setColor(touchgfx::Color::getColorFromRGB(0xdd, 0x6e, 0x22));
} else { } else {
bg.setColor(touchgfx::Color::getColorFromRGB(0xdd, 0x2f, 0x22)); 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 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::utoa(temp, valueBuffer, 3, 10);
Unicode::snprintf(valueBuffer, Unicode::snprintf(valueBuffer,
sizeof(valueBuffer) / sizeof(Unicode::UnicodeChar), "%02d", sizeof(valueBuffer) / sizeof(Unicode::UnicodeChar), "%02d",

View File

@ -16,7 +16,7 @@ void DriverViewPresenter::activate() {
void DriverViewPresenter::deactivate() {} void DriverViewPresenter::deactivate() {}
void DriverViewPresenter::vehicleStateUpdated() { void DriverViewPresenter::vehicleStateUpdated() {
view.setTireTemps(vehicle_state.tire_temps); view.setTemps(vehicle_state.temps);
view.setTSSoC(vehicle_state.soc); view.setTSSoC(vehicle_state.soc);
updateProgress(); updateProgress();
updateErrorPopup(); updateErrorPopup();

View File

@ -17,6 +17,17 @@ void DriverViewView::setupScreen() {
getField(i).setType(fieldTypes[i]); getField(i).setType(fieldTypes[i]);
} }
fieldTypeSelection.setNumberOfItems(DataFieldType_COUNT); 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(); } void DriverViewView::tearDownScreen() { DriverViewViewBase::tearDownScreen(); }
@ -37,11 +48,15 @@ void DriverViewView::updateFieldValues() {
} }
} }
void DriverViewView::setTireTemps(const TireTemps &temps) { void DriverViewView::setTemps(const Temperatures &temps) {
tireTempFL.setTemp(temps.fl); tireTempFL.setTemp(roundf(temps.tire_fl));
tireTempFR.setTemp(temps.fr); tireTempFR.setTemp(roundf(temps.tire_fr));
tireTempRL.setTemp(temps.rl); tireTempRL.setTemp(roundf(temps.tire_rl));
tireTempRR.setTemp(temps.rr); 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) { void DriverViewView::setTSSoC(uint8_t soc) {

View File

@ -32,8 +32,6 @@
<ClCompile Include="..\..\gui\src\driverview_screen\DriverViewPresenter.cpp"/> <ClCompile Include="..\..\gui\src\driverview_screen\DriverViewPresenter.cpp"/>
<ClCompile Include="..\..\gui\src\driverview_screen\DriverViewView.cpp"/> <ClCompile Include="..\..\gui\src\driverview_screen\DriverViewView.cpp"/>
<ClCompile Include="..\..\generated\gui_generated\src\driverview_screen\DriverViewViewBase.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="..\..\gui\src\containers\DriverViewField.cpp"/>
<ClCompile Include="..\..\generated\gui_generated\src\containers\DriverViewFieldBase.cpp"/> <ClCompile Include="..\..\generated\gui_generated\src\containers\DriverViewFieldBase.cpp"/>
<ClCompile Include="..\..\gui\src\containers\DriverViewFieldSelection.cpp"/> <ClCompile Include="..\..\gui\src\containers\DriverViewFieldSelection.cpp"/>
@ -53,6 +51,8 @@
<ClCompile Include="..\..\generated\gui_generated\src\vehicleconfig_screen\VehicleConfigViewBase.cpp"/> <ClCompile Include="..\..\generated\gui_generated\src\vehicleconfig_screen\VehicleConfigViewBase.cpp"/>
<ClCompile Include="..\..\gui\src\containers\ErrorPopup.cpp"/> <ClCompile Include="..\..\gui\src\containers\ErrorPopup.cpp"/>
<ClCompile Include="..\..\generated\gui_generated\src\containers\ErrorPopupBase.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>
<ItemGroup> <ItemGroup>
<None Include="$(ApplicationRoot)\assets\texts\texts.xml"/> <None Include="$(ApplicationRoot)\assets\texts\texts.xml"/>
@ -214,8 +214,6 @@
<ClInclude Include="..\..\gui\include\gui\driverview_screen\DriverViewPresenter.hpp"/> <ClInclude Include="..\..\gui\include\gui\driverview_screen\DriverViewPresenter.hpp"/>
<ClInclude Include="..\..\gui\include\gui\driverview_screen\DriverViewView.hpp"/> <ClInclude Include="..\..\gui\include\gui\driverview_screen\DriverViewView.hpp"/>
<ClInclude Include="..\..\generated\gui_generated\include\gui_generated\driverview_screen\DriverViewViewBase.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="..\..\gui\include\gui\containers\DriverViewField.hpp"/>
<ClInclude Include="..\..\generated\gui_generated\include\gui_generated\containers\DriverViewFieldBase.hpp"/> <ClInclude Include="..\..\generated\gui_generated\include\gui_generated\containers\DriverViewFieldBase.hpp"/>
<ClInclude Include="..\..\gui\include\gui\containers\DriverViewFieldSelection.hpp"/> <ClInclude Include="..\..\gui\include\gui\containers\DriverViewFieldSelection.hpp"/>
@ -235,6 +233,8 @@
<ClInclude Include="..\..\generated\gui_generated\include\gui_generated\vehicleconfig_screen\VehicleConfigViewBase.hpp"/> <ClInclude Include="..\..\generated\gui_generated\include\gui_generated\vehicleconfig_screen\VehicleConfigViewBase.hpp"/>
<ClInclude Include="..\..\gui\include\gui\containers\ErrorPopup.hpp"/> <ClInclude Include="..\..\gui\include\gui\containers\ErrorPopup.hpp"/>
<ClInclude Include="..\..\generated\gui_generated\include\gui_generated\containers\ErrorPopupBase.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>
<ItemGroup> <ItemGroup>
<ResourceCompile Include="$(ApplicationRoot)\generated\simulator\touchgfx.rc"/> <ResourceCompile Include="$(ApplicationRoot)\generated\simulator\touchgfx.rc"/>

View File

@ -309,12 +309,6 @@
<ClCompile Include="..\..\generated\gui_generated\src\driverview_screen\DriverViewViewBase.cpp"> <ClCompile Include="..\..\generated\gui_generated\src\driverview_screen\DriverViewViewBase.cpp">
<Filter>Source Files\generated\gui_generated\driverview_screen</Filter> <Filter>Source Files\generated\gui_generated\driverview_screen</Filter>
</ClCompile> </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"> <ClCompile Include="..\..\gui\src\containers\DriverViewField.cpp">
<Filter>Source Files\gui\containers</Filter> <Filter>Source Files\gui\containers</Filter>
</ClCompile> </ClCompile>
@ -372,6 +366,12 @@
<ClCompile Include="..\..\generated\gui_generated\src\containers\ErrorPopupBase.cpp"> <ClCompile Include="..\..\generated\gui_generated\src\containers\ErrorPopupBase.cpp">
<Filter>Source Files\generated\gui_generated\containers</Filter> <Filter>Source Files\generated\gui_generated\containers</Filter>
</ClCompile> </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>
<ItemGroup> <ItemGroup>
<None Include="$(ApplicationRoot)\assets\texts\texts.xml"> <None Include="$(ApplicationRoot)\assets\texts\texts.xml">
@ -847,12 +847,6 @@
<ClInclude Include="..\..\generated\gui_generated\include\gui_generated\driverview_screen\DriverViewViewBase.hpp"> <ClInclude Include="..\..\generated\gui_generated\include\gui_generated\driverview_screen\DriverViewViewBase.hpp">
<Filter>Header Files\generated\gui_generated\driverview_screen</Filter> <Filter>Header Files\generated\gui_generated\driverview_screen</Filter>
</ClInclude> </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"> <ClInclude Include="..\..\gui\include\gui\containers\DriverViewField.hpp">
<Filter>Header Files\gui\containers</Filter> <Filter>Header Files\gui\containers</Filter>
</ClInclude> </ClInclude>
@ -910,6 +904,12 @@
<ClInclude Include="..\..\generated\gui_generated\include\gui_generated\containers\ErrorPopupBase.hpp"> <ClInclude Include="..\..\generated\gui_generated\include\gui_generated\containers\ErrorPopupBase.hpp">
<Filter>Header Files\generated\gui_generated\containers</Filter> <Filter>Header Files\generated\gui_generated\containers</Filter>
</ClInclude> </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>
<ItemGroup> <ItemGroup>
<ResourceCompile Include="$(ApplicationRoot)\generated\simulator\touchgfx.rc"> <ResourceCompile Include="$(ApplicationRoot)\generated\simulator\touchgfx.rc">

View File

@ -245,40 +245,102 @@
"CanvasBufferSize": 7200, "CanvasBufferSize": 7200,
"Components": [ "Components": [
{ {
"Type": "CustomContainerInstance", "Type": "TextArea",
"Name": "tireTempRR", "Name": "motorTempLabel",
"X": 240, "X": 315,
"Y": 197, "Y": 187,
"Width": 75, "Width": 150,
"Height": 75, "Height": 25,
"CustomContainerDefinitionName": "TireTemp" "TextId": "__SingleUse_JN2J",
"TextRotation": "0",
"Color": {
"Red": 255,
"Green": 255,
"Blue": 255
}
}, },
{ {
"Type": "CustomContainerInstance", "Type": "CustomContainerInstance",
"Name": "tireTempFR", "Name": "motorTempL",
"X": 240, "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, "Y": 122,
"Width": 75, "Width": 3,
"Height": 75, "Height": 60,
"CustomContainerDefinitionName": "TireTemp" "Color": {
"Red": 255,
"Green": 255,
"Blue": 255
},
"EndY": 320.0,
"LineWidth": 10.0,
"LineEndingStyle": "Round"
}, },
{ {
"Type": "CustomContainerInstance", "Type": "CustomContainerInstance",
"Name": "tireTempRL", "Name": "invTempR",
"X": 165, "X": 392,
"Y": 197,
"Width": 75,
"Height": 75,
"CustomContainerDefinitionName": "TireTemp"
},
{
"Type": "CustomContainerInstance",
"Name": "tireTempFL",
"X": 165,
"Y": 122, "Y": 122,
"Width": 75, "Width": 60,
"Height": 75, "Height": 60,
"CustomContainerDefinitionName": "TireTemp" "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", "Type": "Line",
@ -286,7 +348,7 @@
"X": 239, "X": 239,
"Y": 122, "Y": 122,
"Width": 3, "Width": 3,
"Height": 150, "Height": 123,
"Color": { "Color": {
"Red": 255, "Red": 255,
"Green": 255, "Green": 255,
@ -299,9 +361,9 @@
{ {
"Type": "Line", "Type": "Line",
"Name": "ttDivHoriz", "Name": "ttDivHoriz",
"X": 165, "X": 179,
"Y": 196, "Y": 182,
"Width": 150, "Width": 123,
"Height": 3, "Height": 3,
"Color": { "Color": {
"Red": 255, "Red": 255,
@ -312,6 +374,42 @@
"LineWidth": 10.0, "LineWidth": 10.0,
"LineEndingStyle": "Round" "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", "Type": "LineProgress",
"Name": "tsSoC", "Name": "tsSoC",
@ -335,7 +433,7 @@
{ {
"Type": "LineProgress", "Type": "LineProgress",
"Name": "lvSoC", "Name": "lvSoC",
"X": 425, "X": 110,
"Y": 122, "Y": 122,
"Width": 40, "Width": 40,
"Height": 150, "Height": 150,
@ -385,7 +483,7 @@
{ {
"Type": "TextArea", "Type": "TextArea",
"Name": "lvSoCLabel", "Name": "lvSoCLabel",
"X": 425, "X": 110,
"Y": 97, "Y": 97,
"Width": 40, "Width": 40,
"Height": 25, "Height": 25,
@ -803,17 +901,17 @@
"Interactions": [] "Interactions": []
}, },
{ {
"Name": "TireTemp", "Name": "Temperature",
"X": 135, "X": 135,
"Y": 215, "Y": 215,
"Width": 75, "Width": 60,
"Height": 75, "Height": 60,
"Components": [ "Components": [
{ {
"Type": "Box", "Type": "Box",
"Name": "bg", "Name": "bg",
"Width": 75, "Width": 60,
"Height": 75, "Height": 60,
"Color": { "Color": {
"Green": 38, "Green": 38,
"Blue": 255 "Blue": 255
@ -822,9 +920,8 @@
{ {
"Type": "TextArea", "Type": "TextArea",
"Name": "value", "Name": "value",
"Y": 7, "Width": 60,
"Width": 75, "Height": 50,
"Height": 60,
"TextId": "__SingleUse_20H3", "TextId": "__SingleUse_20H3",
"TextRotation": "0", "TextRotation": "0",
"Color": { "Color": {