Show battery temperature
This commit is contained in:
		@ -87,6 +87,8 @@ typedef struct {
 | 
			
		||||
  float inv_r;
 | 
			
		||||
  float mot_l;
 | 
			
		||||
  float mot_r;
 | 
			
		||||
  float bat_l;
 | 
			
		||||
  float bat_r;
 | 
			
		||||
} Temperatures;
 | 
			
		||||
 | 
			
		||||
typedef struct {
 | 
			
		||||
 | 
			
		||||
@ -92,6 +92,9 @@ void ftcan_msg_received_cb(uint16_t id, size_t datalen, const uint8_t *data) {
 | 
			
		||||
        ftcan_unmarshal_unsigned(&ptr, 2) * CAN_AMS_STATUS_VOLTAGE_FACTOR;
 | 
			
		||||
    vehicle_state.max_cell_temp =
 | 
			
		||||
        ftcan_unmarshal_signed(&ptr, 2) * CAN_AMS_STATUS_TEMP_FACTOR;
 | 
			
		||||
    // TODO: Separate temperatures for left and right side of battery
 | 
			
		||||
    vehicle_state.temps.bat_l = vehicle_state.max_cell_temp;
 | 
			
		||||
    vehicle_state.temps.bat_r = vehicle_state.max_cell_temp;
 | 
			
		||||
    break;
 | 
			
		||||
  case CAN_ID_AMS_ERROR:
 | 
			
		||||
    vehicle_state.last_ams_error.kind = data[0];
 | 
			
		||||
 | 
			
		||||
@ -168,14 +168,17 @@
 | 
			
		||||
      </Text>
 | 
			
		||||
    </TextGroup>
 | 
			
		||||
    <TextGroup Id="Unsorted">
 | 
			
		||||
      <Text Id="__SingleUse_L1J7" Alignment="Center" TypographyId="Chinat_Small">
 | 
			
		||||
        <Translation Language="GB">BAT</Translation>
 | 
			
		||||
      </Text>
 | 
			
		||||
      <Text Id="__SingleUse_F9I5" Alignment="Center" TypographyId="Chinat_Small">
 | 
			
		||||
        <Translation Language="GB" />
 | 
			
		||||
      </Text>
 | 
			
		||||
      <Text Id="__SingleUse_JN2J" Alignment="Center" TypographyId="Chinat_Small">
 | 
			
		||||
        <Translation Language="GB">MOTOR</Translation>
 | 
			
		||||
        <Translation Language="GB">MOT</Translation>
 | 
			
		||||
      </Text>
 | 
			
		||||
      <Text Id="__SingleUse_ZP7N" Alignment="Center" TypographyId="Chinat_Small">
 | 
			
		||||
        <Translation Language="GB">INVERTER</Translation>
 | 
			
		||||
        <Translation Language="GB">INV</Translation>
 | 
			
		||||
      </Text>
 | 
			
		||||
      <Text Id="__SingleUse_9L8R" Alignment="Left" TypographyId="Default">
 | 
			
		||||
        <Translation Language="GB"><value></Translation>
 | 
			
		||||
 | 
			
		||||
@ -12,8 +12,8 @@
 | 
			
		||||
#include <touchgfx/containers/progress_indicators/LineProgress.hpp>
 | 
			
		||||
#include <touchgfx/widgets/canvas/PainterRGB565.hpp>
 | 
			
		||||
#include <touchgfx/widgets/TextArea.hpp>
 | 
			
		||||
#include <gui/containers/Temperature.hpp>
 | 
			
		||||
#include <touchgfx/widgets/canvas/Line.hpp>
 | 
			
		||||
#include <gui/containers/Temperature.hpp>
 | 
			
		||||
#include <touchgfx/containers/scrollers/ScrollWheel.hpp>
 | 
			
		||||
#include <gui/containers/DriverViewFieldSelection.hpp>
 | 
			
		||||
#include <gui/containers/DriverViewField.hpp>
 | 
			
		||||
@ -77,11 +77,20 @@ protected:
 | 
			
		||||
    touchgfx::TextArea tsSoCLabel;
 | 
			
		||||
    touchgfx::TextArea lvSoCLabel;
 | 
			
		||||
    touchgfx::Container drivetrainTemps;
 | 
			
		||||
    touchgfx::TextArea motorTempLabel;
 | 
			
		||||
    Temperature motorTempL;
 | 
			
		||||
    Temperature motorTempR;
 | 
			
		||||
    touchgfx::Line batTempDiv;
 | 
			
		||||
    touchgfx::PainterRGB565 batTempDivPainter;
 | 
			
		||||
    Temperature batTempR;
 | 
			
		||||
    Temperature batTempL;
 | 
			
		||||
    touchgfx::TextArea batTempLabel;
 | 
			
		||||
    touchgfx::Line dtDiv2;
 | 
			
		||||
    touchgfx::PainterRGB565 dtDiv2Painter;
 | 
			
		||||
    touchgfx::Line motorTempDiv;
 | 
			
		||||
    touchgfx::PainterRGB565 motorTempDivPainter;
 | 
			
		||||
    Temperature motorTempR;
 | 
			
		||||
    Temperature motorTempL;
 | 
			
		||||
    touchgfx::TextArea motorTempLabel;
 | 
			
		||||
    touchgfx::Line dtDiv1;
 | 
			
		||||
    touchgfx::PainterRGB565 dtDiv1Painter;
 | 
			
		||||
    touchgfx::Line invTempDiv;
 | 
			
		||||
    touchgfx::PainterRGB565 invTempDivPainter;
 | 
			
		||||
    Temperature invTempR;
 | 
			
		||||
 | 
			
		||||
@ -57,20 +57,39 @@ DriverViewViewBase::DriverViewViewBase() :
 | 
			
		||||
 | 
			
		||||
    add(SoC);
 | 
			
		||||
 | 
			
		||||
    drivetrainTemps.setPosition(316, 125, 152, 180);
 | 
			
		||||
    motorTempLabel.setPosition(0, 90, 150, 25);
 | 
			
		||||
    motorTempLabel.setColor(touchgfx::Color::getColorFromRGB(255, 255, 255));
 | 
			
		||||
    motorTempLabel.setLinespacing(0);
 | 
			
		||||
    motorTempLabel.setTypedText(touchgfx::TypedText(T___SINGLEUSE_JN2J));
 | 
			
		||||
    drivetrainTemps.add(motorTempLabel);
 | 
			
		||||
    drivetrainTemps.setPosition(316, 125, 152, 185);
 | 
			
		||||
    batTempDiv.setPosition(60, 124, 3, 60);
 | 
			
		||||
    batTempDivPainter.setColor(touchgfx::Color::getColorFromRGB(255, 255, 255));
 | 
			
		||||
    batTempDiv.setPainter(batTempDivPainter);
 | 
			
		||||
    batTempDiv.setStart(0, 0);
 | 
			
		||||
    batTempDiv.setEnd(0, 320);
 | 
			
		||||
    batTempDiv.setLineWidth(10);
 | 
			
		||||
    batTempDiv.setLineEndingStyle(touchgfx::Line::ROUND_CAP_ENDING);
 | 
			
		||||
    drivetrainTemps.add(batTempDiv);
 | 
			
		||||
 | 
			
		||||
    motorTempL.setXY(14, 115);
 | 
			
		||||
    drivetrainTemps.add(motorTempL);
 | 
			
		||||
    batTempR.setXY(63, 124);
 | 
			
		||||
    drivetrainTemps.add(batTempR);
 | 
			
		||||
 | 
			
		||||
    motorTempR.setXY(77, 115);
 | 
			
		||||
    drivetrainTemps.add(motorTempR);
 | 
			
		||||
    batTempL.setXY(0, 124);
 | 
			
		||||
    drivetrainTemps.add(batTempL);
 | 
			
		||||
 | 
			
		||||
    motorTempDiv.setPosition(74, 115, 3, 60);
 | 
			
		||||
    batTempLabel.setPosition(123, 124, 25, 60);
 | 
			
		||||
    batTempLabel.setColor(touchgfx::Color::getColorFromRGB(255, 255, 255));
 | 
			
		||||
    batTempLabel.setLinespacing(0);
 | 
			
		||||
    batTempLabel.setRotation(touchgfx::TEXT_ROTATE_90);
 | 
			
		||||
    batTempLabel.setTypedText(touchgfx::TypedText(T___SINGLEUSE_L1J7));
 | 
			
		||||
    drivetrainTemps.add(batTempLabel);
 | 
			
		||||
 | 
			
		||||
    dtDiv2.setPosition(0, 122, 123, 2);
 | 
			
		||||
    dtDiv2Painter.setColor(touchgfx::Color::getColorFromRGB(255, 255, 255));
 | 
			
		||||
    dtDiv2.setPainter(dtDiv2Painter);
 | 
			
		||||
    dtDiv2.setStart(0, 0);
 | 
			
		||||
    dtDiv2.setEnd(123, 0);
 | 
			
		||||
    dtDiv2.setLineWidth(10);
 | 
			
		||||
    dtDiv2.setLineEndingStyle(touchgfx::Line::ROUND_CAP_ENDING);
 | 
			
		||||
    drivetrainTemps.add(dtDiv2);
 | 
			
		||||
 | 
			
		||||
    motorTempDiv.setPosition(60, 62, 3, 60);
 | 
			
		||||
    motorTempDivPainter.setColor(touchgfx::Color::getColorFromRGB(255, 255, 255));
 | 
			
		||||
    motorTempDiv.setPainter(motorTempDivPainter);
 | 
			
		||||
    motorTempDiv.setStart(0, 0);
 | 
			
		||||
@ -79,7 +98,29 @@ DriverViewViewBase::DriverViewViewBase() :
 | 
			
		||||
    motorTempDiv.setLineEndingStyle(touchgfx::Line::ROUND_CAP_ENDING);
 | 
			
		||||
    drivetrainTemps.add(motorTempDiv);
 | 
			
		||||
 | 
			
		||||
    invTempDiv.setPosition(74, 25, 3, 60);
 | 
			
		||||
    motorTempR.setXY(63, 62);
 | 
			
		||||
    drivetrainTemps.add(motorTempR);
 | 
			
		||||
 | 
			
		||||
    motorTempL.setXY(0, 62);
 | 
			
		||||
    drivetrainTemps.add(motorTempL);
 | 
			
		||||
 | 
			
		||||
    motorTempLabel.setPosition(123, 62, 25, 60);
 | 
			
		||||
    motorTempLabel.setColor(touchgfx::Color::getColorFromRGB(255, 255, 255));
 | 
			
		||||
    motorTempLabel.setLinespacing(0);
 | 
			
		||||
    motorTempLabel.setRotation(touchgfx::TEXT_ROTATE_90);
 | 
			
		||||
    motorTempLabel.setTypedText(touchgfx::TypedText(T___SINGLEUSE_JN2J));
 | 
			
		||||
    drivetrainTemps.add(motorTempLabel);
 | 
			
		||||
 | 
			
		||||
    dtDiv1.setPosition(0, 60, 123, 2);
 | 
			
		||||
    dtDiv1Painter.setColor(touchgfx::Color::getColorFromRGB(255, 255, 255));
 | 
			
		||||
    dtDiv1.setPainter(dtDiv1Painter);
 | 
			
		||||
    dtDiv1.setStart(0, 0);
 | 
			
		||||
    dtDiv1.setEnd(123, 0);
 | 
			
		||||
    dtDiv1.setLineWidth(10);
 | 
			
		||||
    dtDiv1.setLineEndingStyle(touchgfx::Line::ROUND_CAP_ENDING);
 | 
			
		||||
    drivetrainTemps.add(dtDiv1);
 | 
			
		||||
 | 
			
		||||
    invTempDiv.setPosition(60, 0, 3, 60);
 | 
			
		||||
    invTempDivPainter.setColor(touchgfx::Color::getColorFromRGB(255, 255, 255));
 | 
			
		||||
    invTempDiv.setPainter(invTempDivPainter);
 | 
			
		||||
    invTempDiv.setStart(0, 0);
 | 
			
		||||
@ -88,15 +129,16 @@ DriverViewViewBase::DriverViewViewBase() :
 | 
			
		||||
    invTempDiv.setLineEndingStyle(touchgfx::Line::ROUND_CAP_ENDING);
 | 
			
		||||
    drivetrainTemps.add(invTempDiv);
 | 
			
		||||
 | 
			
		||||
    invTempR.setXY(77, 25);
 | 
			
		||||
    invTempR.setXY(63, 0);
 | 
			
		||||
    drivetrainTemps.add(invTempR);
 | 
			
		||||
 | 
			
		||||
    invTempL.setXY(14, 25);
 | 
			
		||||
    invTempL.setXY(0, 0);
 | 
			
		||||
    drivetrainTemps.add(invTempL);
 | 
			
		||||
 | 
			
		||||
    invTempLabel.setPosition(0, 0, 150, 25);
 | 
			
		||||
    invTempLabel.setPosition(123, 0, 25, 60);
 | 
			
		||||
    invTempLabel.setColor(touchgfx::Color::getColorFromRGB(255, 255, 255));
 | 
			
		||||
    invTempLabel.setLinespacing(0);
 | 
			
		||||
    invTempLabel.setRotation(touchgfx::TEXT_ROTATE_90);
 | 
			
		||||
    invTempLabel.setTypedText(touchgfx::TypedText(T___SINGLEUSE_ZP7N));
 | 
			
		||||
    drivetrainTemps.add(invTempLabel);
 | 
			
		||||
 | 
			
		||||
@ -230,8 +272,10 @@ DriverViewViewBase::~DriverViewViewBase()
 | 
			
		||||
 | 
			
		||||
void DriverViewViewBase::setupScreen()
 | 
			
		||||
{
 | 
			
		||||
    motorTempL.initialize();
 | 
			
		||||
    batTempR.initialize();
 | 
			
		||||
    batTempL.initialize();
 | 
			
		||||
    motorTempR.initialize();
 | 
			
		||||
    motorTempL.initialize();
 | 
			
		||||
    invTempR.initialize();
 | 
			
		||||
    invTempL.initialize();
 | 
			
		||||
    brakeTempRR.initialize();
 | 
			
		||||
 | 
			
		||||
@ -1 +1 @@
 | 
			
		||||
{"remap":"yes","language":"GB","language_index":0,"indices":[["345","T_PDU"],["353","T_SCS"],["357","T_SDC"],["349","T_R2D"],["342","T_TS"],["337","T_INV"],["333","T_AMS"],["128","T_ERROR_AMS"],["176","T_DEBUGVIEWFIELD_TITLE"],["176","T_DRIVERVIEWFIELD_TITLE"],["176","T_NUMBERSMALLWILDCARD"],["293","T_FIELD_BBAL"],["256","T_FIELD_TSVOLTVEH"],["249","T_FIELD_TSVOLTBAT"],["269","T_FIELD_LVSOC"],["287","T_FIELD_TSSOC"],["303","T_FIELD_MAXCELLTEMP"],["308","T_FIELD_TIREFL"],["313","T_FIELD_TIREFR"],["318","T_FIELD_TIRERL"],["323","T_FIELD_TIRERR"],["298","T_FIELD_LAPCOUNT"],["186","T_FIELD_INICHKSTATE"],["263","T_FIELD_ERR"],["357","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"],["341","T_FIELD_TSCURRENT"],["328","T_FIELD_MINCELLVOLT"],["281","T_FIELD_SPEED"],["95","T_INSPECTION_HUGE"],["158","T_EBS_HUGE"],["117","T_TRACKDRIVE_HUGE"],["138","T_AUTOX_HUGE"],["226","T_SKIDPAD_HUGE"],["82","T_ACCEL_HUGE"],["34","T_INVALID_HUGE"],["67","T_MANUAL"],["95","T_INSPECTION"],["158","T_EBS"],["117","T_TRACKDRIVE"],["138","T_AUTOX"],["226","T_SKIDPAD"],["82","T_ACCEL"],["16","T___SINGLEUSE_F9I5"],["275","T___SINGLEUSE_JN2J"],["167","T___SINGLEUSE_ZP7N"],["176","T___SINGLEUSE_9L8R"],["16","T___SINGLEUSE_1NKF"],["176","T___SINGLEUSE_J5UH"],["349","T___SINGLEUSE_NGUK"],["176","T___SINGLEUSE_4E84"],["176","T___SINGLEUSE_YTAB"],["106","T___SINGLEUSE_RWCE"],["148","T___SINGLEUSE_HMH2"],["361","T___SINGLEUSE_4OBM"],["342","T___SINGLEUSE_PHFD"],["242","T___SINGLEUSE_H6UX"],["176","T___SINGLEUSE_20H3"],["17","T___SINGLEUSE_SDGP"],["51","T___SINGLEUSE_M5X7"],["0","T___SINGLEUSE_6GPV"]]}
 | 
			
		||||
{"remap":"yes","language":"GB","language_index":0,"indices":[["334","T_PDU"],["342","T_SCS"],["346","T_SDC"],["338","T_R2D"],["327","T_TS"],["322","T_INV"],["318","T_AMS"],["128","T_ERROR_AMS"],["167","T_DEBUGVIEWFIELD_TITLE"],["167","T_DRIVERVIEWFIELD_TITLE"],["167","T_NUMBERSMALLWILDCARD"],["278","T_FIELD_BBAL"],["247","T_FIELD_TSVOLTVEH"],["240","T_FIELD_TSVOLTBAT"],["260","T_FIELD_LVSOC"],["272","T_FIELD_TSSOC"],["288","T_FIELD_MAXCELLTEMP"],["293","T_FIELD_TIREFL"],["298","T_FIELD_TIREFR"],["303","T_FIELD_TIRERL"],["308","T_FIELD_TIRERR"],["283","T_FIELD_LAPCOUNT"],["177","T_FIELD_INICHKSTATE"],["254","T_FIELD_ERR"],["346","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"],["326","T_FIELD_TSCURRENT"],["313","T_FIELD_MINCELLVOLT"],["266","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"],["243","T___SINGLEUSE_L1J7"],["16","T___SINGLEUSE_F9I5"],["330","T___SINGLEUSE_JN2J"],["322","T___SINGLEUSE_ZP7N"],["167","T___SINGLEUSE_9L8R"],["16","T___SINGLEUSE_1NKF"],["167","T___SINGLEUSE_J5UH"],["338","T___SINGLEUSE_NGUK"],["167","T___SINGLEUSE_4E84"],["167","T___SINGLEUSE_YTAB"],["106","T___SINGLEUSE_RWCE"],["148","T___SINGLEUSE_HMH2"],["350","T___SINGLEUSE_4OBM"],["327","T___SINGLEUSE_PHFD"],["233","T___SINGLEUSE_H6UX"],["167","T___SINGLEUSE_20H3"],["17","T___SINGLEUSE_SDGP"],["51","T___SINGLEUSE_M5X7"],["0","T___SINGLEUSE_6GPV"]]}
 | 
			
		||||
@ -1 +1 @@
 | 
			
		||||
{"languages":["GB"],"textids":["T_PDU","T_SCS","T_SDC","T_R2D","T_TS","T_INV","T_AMS","T_ERROR_AMS","T_DEBUGVIEWFIELD_TITLE","T_DRIVERVIEWFIELD_TITLE","T_NUMBERSMALLWILDCARD","T_FIELD_BBAL","T_FIELD_TSVOLTVEH","T_FIELD_TSVOLTBAT","T_FIELD_LVSOC","T_FIELD_TSSOC","T_FIELD_MAXCELLTEMP","T_FIELD_TIREFL","T_FIELD_TIREFR","T_FIELD_TIRERL","T_FIELD_TIRERR","T_FIELD_LAPCOUNT","T_FIELD_INICHKSTATE","T_FIELD_ERR","T_FIELD_SDC","T_FIELD_INVRREADY","T_FIELD_INVLREADY","T_FIELD_R2DPROGRESS","T_FIELD_ACTIVEMISSION","T_FIELD_ASSTATE","T_FIELD_TSSTATE","T_NUMBERWILDCARD","T_DEFAULTWILDCARD_CENTERED","T_DEFAULTWILDCARD_RIGHTALIGNED","T_FIELD_TSCURRENT","T_FIELD_MINCELLVOLT","T_FIELD_SPEED","T_INSPECTION_HUGE","T_EBS_HUGE","T_TRACKDRIVE_HUGE","T_AUTOX_HUGE","T_SKIDPAD_HUGE","T_ACCEL_HUGE","T_INVALID_HUGE","T_MANUAL","T_INSPECTION","T_EBS","T_TRACKDRIVE","T_AUTOX","T_SKIDPAD","T_ACCEL","T___SINGLEUSE_F9I5","T___SINGLEUSE_JN2J","T___SINGLEUSE_ZP7N","T___SINGLEUSE_9L8R","T___SINGLEUSE_1NKF","T___SINGLEUSE_J5UH","T___SINGLEUSE_NGUK","T___SINGLEUSE_4E84","T___SINGLEUSE_YTAB","T___SINGLEUSE_RWCE","T___SINGLEUSE_HMH2","T___SINGLEUSE_4OBM","T___SINGLEUSE_PHFD","T___SINGLEUSE_H6UX","T___SINGLEUSE_20H3","T___SINGLEUSE_SDGP","T___SINGLEUSE_M5X7","T___SINGLEUSE_6GPV"]}
 | 
			
		||||
{"languages":["GB"],"textids":["T_PDU","T_SCS","T_SDC","T_R2D","T_TS","T_INV","T_AMS","T_ERROR_AMS","T_DEBUGVIEWFIELD_TITLE","T_DRIVERVIEWFIELD_TITLE","T_NUMBERSMALLWILDCARD","T_FIELD_BBAL","T_FIELD_TSVOLTVEH","T_FIELD_TSVOLTBAT","T_FIELD_LVSOC","T_FIELD_TSSOC","T_FIELD_MAXCELLTEMP","T_FIELD_TIREFL","T_FIELD_TIREFR","T_FIELD_TIRERL","T_FIELD_TIRERR","T_FIELD_LAPCOUNT","T_FIELD_INICHKSTATE","T_FIELD_ERR","T_FIELD_SDC","T_FIELD_INVRREADY","T_FIELD_INVLREADY","T_FIELD_R2DPROGRESS","T_FIELD_ACTIVEMISSION","T_FIELD_ASSTATE","T_FIELD_TSSTATE","T_NUMBERWILDCARD","T_DEFAULTWILDCARD_CENTERED","T_DEFAULTWILDCARD_RIGHTALIGNED","T_FIELD_TSCURRENT","T_FIELD_MINCELLVOLT","T_FIELD_SPEED","T_INSPECTION_HUGE","T_EBS_HUGE","T_TRACKDRIVE_HUGE","T_AUTOX_HUGE","T_SKIDPAD_HUGE","T_ACCEL_HUGE","T_INVALID_HUGE","T_MANUAL","T_INSPECTION","T_EBS","T_TRACKDRIVE","T_AUTOX","T_SKIDPAD","T_ACCEL","T___SINGLEUSE_L1J7","T___SINGLEUSE_F9I5","T___SINGLEUSE_JN2J","T___SINGLEUSE_ZP7N","T___SINGLEUSE_9L8R","T___SINGLEUSE_1NKF","T___SINGLEUSE_J5UH","T___SINGLEUSE_NGUK","T___SINGLEUSE_4E84","T___SINGLEUSE_YTAB","T___SINGLEUSE_RWCE","T___SINGLEUSE_HMH2","T___SINGLEUSE_4OBM","T___SINGLEUSE_PHFD","T___SINGLEUSE_H6UX","T___SINGLEUSE_20H3","T___SINGLEUSE_SDGP","T___SINGLEUSE_M5X7","T___SINGLEUSE_6GPV"]}
 | 
			
		||||
@ -1 +1 @@
 | 
			
		||||
{"remap":"yes","languages":["Gb"],"characters":[67,104,111,111,115,101,32,97,32,109,105,115,115,105,111,110,0,67,117,114,114,101,110,116,32,77,105,115,115,105,111,110,58,0,73,110,118,97,108,105,100,32,77,105,115,115,105,111,110,33,0,73,110,118,97,108,105,100,32,77,105,115,115,105,111,110,0,77,97,110,117,97,108,32,68,114,105,118,105,110,103,0,65,99,99,101,108,101,114,97,116,105,111,110,0,73,110,115,112,101,99,116,105,111,110,0,80,65,82,65,77,69,84,69,82,83,0,84,114,97,99,107,100,114,105,118,101,0,65,77,83,32,69,114,114,79,114,0,65,117,116,111,99,114,111,115,115,0,80,82,69,67,72,65,82,71,69,0,69,66,83,32,84,101,115,116,0,73,78,86,69,82,84,69,82,0,2,0,65,83,83,84,65,84,69,0,73,67,83,84,65,84,69,0,73,78,86,76,82,68,89,0,73,78,86,82,82,68,89,0,77,73,83,83,73,79,78,0,82,50,68,80,82,79,71,0,83,107,105,100,112,97,100,0,84,83,83,84,65,84,69,0,66,82,65,75,69,83,0,84,83,86,66,65,84,0,84,83,86,86,69,72,0,69,82,82,79,82,0,76,86,83,79,67,0,77,79,84,79,82,0,83,80,69,69,68,0,84,83,83,79,67,0,66,66,65,76,0,76,65,80,83,0,84,77,65,88,0,84,84,70,76,0,84,84,70,82,0,84,84,82,76,0,84,84,82,82,0,86,77,73,78,0,65,77,83,0,73,78,86,0,73,84,83,0,80,68,85,0,82,50,68,0,83,67,83,0,83,68,67,0,76,86,0]}
 | 
			
		||||
{"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,66,82,65,75,69,83,0,84,83,86,66,65,84,0,84,83,86,86,69,72,0,69,82,82,79,82,0,76,86,83,79,67,0,83,80,69,69,68,0,84,83,83,79,67,0,66,66,65,76,0,76,65,80,83,0,84,77,65,88,0,84,84,70,76,0,84,84,70,82,0,84,84,82,76,0,84,84,82,82,0,86,77,73,78,0,65,77,83,0,73,78,86,0,73,84,83,0,77,79,84,0,80,68,85,0,82,50,68,0,83,67,83,0,83,68,67,0,76,86,0]}
 | 
			
		||||
@ -1 +1 @@
 | 
			
		||||
{"databases":{"GB":[[2,"CENTER","LTR"],[2,"CENTER","LTR"],[2,"CENTER","LTR"],[2,"CENTER","LTR"],[2,"CENTER","LTR"],[2,"CENTER","LTR"],[2,"CENTER","LTR"],[3,"CENTER","LTR"],[5,"LEFT","LTR"],[2,"CENTER","LTR"],[6,"CENTER","LTR"],[2,"CENTER","LTR"],[2,"CENTER","LTR"],[2,"CENTER","LTR"],[2,"CENTER","LTR"],[2,"CENTER","LTR"],[2,"CENTER","LTR"],[2,"CENTER","LTR"],[2,"CENTER","LTR"],[2,"CENTER","LTR"],[2,"CENTER","LTR"],[2,"CENTER","LTR"],[2,"CENTER","LTR"],[2,"CENTER","LTR"],[2,"CENTER","LTR"],[2,"CENTER","LTR"],[2,"CENTER","LTR"],[2,"CENTER","LTR"],[2,"CENTER","LTR"],[2,"CENTER","LTR"],[2,"CENTER","LTR"],[4,"CENTER","LTR"],[0,"CENTER","LTR"],[0,"RIGHT","LTR"],[2,"CENTER","LTR"],[2,"CENTER","LTR"],[2,"CENTER","LTR"],[3,"CENTER","LTR"],[3,"CENTER","LTR"],[3,"CENTER","LTR"],[3,"CENTER","LTR"],[3,"CENTER","LTR"],[3,"CENTER","LTR"],[3,"CENTER","LTR"],[2,"CENTER","LTR"],[2,"CENTER","LTR"],[2,"CENTER","LTR"],[2,"CENTER","LTR"],[2,"CENTER","LTR"],[2,"CENTER","LTR"],[2,"CENTER","LTR"],[2,"CENTER","LTR"],[2,"CENTER","LTR"],[2,"CENTER","LTR"],[0,"LEFT","LTR"],[3,"CENTER","LTR"],[1,"RIGHT","LTR"],[1,"LEFT","LTR"],[4,"RIGHT","LTR"],[1,"LEFT","LTR"],[1,"CENTER","LTR"],[1,"LEFT","LTR"],[2,"CENTER","LTR"],[2,"CENTER","LTR"],[2,"CENTER","LTR"],[4,"CENTER","LTR"],[1,"LEFT","LTR"],[2,"CENTER","LTR"],[1,"LEFT","LTR"]],"DEFAULT":[[2,"CENTER","LTR"],[2,"CENTER","LTR"],[2,"CENTER","LTR"],[2,"CENTER","LTR"],[2,"CENTER","LTR"],[2,"CENTER","LTR"],[2,"CENTER","LTR"],[3,"CENTER","LTR"],[5,"LEFT","LTR"],[2,"CENTER","LTR"],[6,"LEFT","LTR"],[2,"CENTER","LTR"],[2,"CENTER","LTR"],[2,"CENTER","LTR"],[2,"CENTER","LTR"],[2,"CENTER","LTR"],[2,"CENTER","LTR"],[2,"CENTER","LTR"],[2,"CENTER","LTR"],[2,"CENTER","LTR"],[2,"CENTER","LTR"],[2,"CENTER","LTR"],[2,"CENTER","LTR"],[2,"CENTER","LTR"],[2,"CENTER","LTR"],[2,"CENTER","LTR"],[2,"CENTER","LTR"],[2,"CENTER","LTR"],[2,"CENTER","LTR"],[2,"CENTER","LTR"],[2,"CENTER","LTR"],[4,"CENTER","LTR"],[0,"CENTER","LTR"],[0,"RIGHT","LTR"],[2,"CENTER","LTR"],[2,"CENTER","LTR"],[2,"CENTER","LTR"],[3,"CENTER","LTR"],[3,"CENTER","LTR"],[3,"CENTER","LTR"],[3,"CENTER","LTR"],[3,"CENTER","LTR"],[3,"CENTER","LTR"],[3,"CENTER","LTR"],[2,"CENTER","LTR"],[2,"CENTER","LTR"],[2,"CENTER","LTR"],[2,"CENTER","LTR"],[2,"CENTER","LTR"],[2,"CENTER","LTR"],[2,"CENTER","LTR"],[2,"CENTER","LTR"],[2,"CENTER","LTR"],[2,"CENTER","LTR"],[0,"LEFT","LTR"],[3,"CENTER","LTR"],[1,"RIGHT","LTR"],[1,"LEFT","LTR"],[4,"RIGHT","LTR"],[1,"LEFT","LTR"],[1,"CENTER","LTR"],[1,"LEFT","LTR"],[2,"CENTER","LTR"],[2,"CENTER","LTR"],[2,"CENTER","LTR"],[4,"CENTER","LTR"],[1,"LEFT","LTR"],[2,"CENTER","LTR"],[1,"LEFT","LTR"]]},"database_list":["GB"],"fonts":{"getFont_verdana_20_4bpp":0,"getFont_CHINN____30_4bpp":1,"getFont_CHINN____20_4bpp":2,"getFont_CHINN____40_4bpp":3,"getFont_lucon_TTF_50_4bpp":4,"getFont_verdanab_20_4bpp":5,"getFont_lucon_TTF_33_4bpp":6},"generate_font_format":"0"}
 | 
			
		||||
{"databases":{"GB":[[2,"CENTER","LTR"],[2,"CENTER","LTR"],[2,"CENTER","LTR"],[2,"CENTER","LTR"],[2,"CENTER","LTR"],[2,"CENTER","LTR"],[2,"CENTER","LTR"],[3,"CENTER","LTR"],[5,"LEFT","LTR"],[2,"CENTER","LTR"],[6,"CENTER","LTR"],[2,"CENTER","LTR"],[2,"CENTER","LTR"],[2,"CENTER","LTR"],[2,"CENTER","LTR"],[2,"CENTER","LTR"],[2,"CENTER","LTR"],[2,"CENTER","LTR"],[2,"CENTER","LTR"],[2,"CENTER","LTR"],[2,"CENTER","LTR"],[2,"CENTER","LTR"],[2,"CENTER","LTR"],[2,"CENTER","LTR"],[2,"CENTER","LTR"],[2,"CENTER","LTR"],[2,"CENTER","LTR"],[2,"CENTER","LTR"],[2,"CENTER","LTR"],[2,"CENTER","LTR"],[2,"CENTER","LTR"],[4,"CENTER","LTR"],[0,"CENTER","LTR"],[0,"RIGHT","LTR"],[2,"CENTER","LTR"],[2,"CENTER","LTR"],[2,"CENTER","LTR"],[3,"CENTER","LTR"],[3,"CENTER","LTR"],[3,"CENTER","LTR"],[3,"CENTER","LTR"],[3,"CENTER","LTR"],[3,"CENTER","LTR"],[3,"CENTER","LTR"],[2,"CENTER","LTR"],[2,"CENTER","LTR"],[2,"CENTER","LTR"],[2,"CENTER","LTR"],[2,"CENTER","LTR"],[2,"CENTER","LTR"],[2,"CENTER","LTR"],[2,"CENTER","LTR"],[2,"CENTER","LTR"],[2,"CENTER","LTR"],[2,"CENTER","LTR"],[0,"LEFT","LTR"],[3,"CENTER","LTR"],[1,"RIGHT","LTR"],[1,"LEFT","LTR"],[4,"RIGHT","LTR"],[1,"LEFT","LTR"],[1,"CENTER","LTR"],[1,"LEFT","LTR"],[2,"CENTER","LTR"],[2,"CENTER","LTR"],[2,"CENTER","LTR"],[4,"CENTER","LTR"],[1,"LEFT","LTR"],[2,"CENTER","LTR"],[1,"LEFT","LTR"]],"DEFAULT":[[2,"CENTER","LTR"],[2,"CENTER","LTR"],[2,"CENTER","LTR"],[2,"CENTER","LTR"],[2,"CENTER","LTR"],[2,"CENTER","LTR"],[2,"CENTER","LTR"],[3,"CENTER","LTR"],[5,"LEFT","LTR"],[2,"CENTER","LTR"],[6,"LEFT","LTR"],[2,"CENTER","LTR"],[2,"CENTER","LTR"],[2,"CENTER","LTR"],[2,"CENTER","LTR"],[2,"CENTER","LTR"],[2,"CENTER","LTR"],[2,"CENTER","LTR"],[2,"CENTER","LTR"],[2,"CENTER","LTR"],[2,"CENTER","LTR"],[2,"CENTER","LTR"],[2,"CENTER","LTR"],[2,"CENTER","LTR"],[2,"CENTER","LTR"],[2,"CENTER","LTR"],[2,"CENTER","LTR"],[2,"CENTER","LTR"],[2,"CENTER","LTR"],[2,"CENTER","LTR"],[2,"CENTER","LTR"],[4,"CENTER","LTR"],[0,"CENTER","LTR"],[0,"RIGHT","LTR"],[2,"CENTER","LTR"],[2,"CENTER","LTR"],[2,"CENTER","LTR"],[3,"CENTER","LTR"],[3,"CENTER","LTR"],[3,"CENTER","LTR"],[3,"CENTER","LTR"],[3,"CENTER","LTR"],[3,"CENTER","LTR"],[3,"CENTER","LTR"],[2,"CENTER","LTR"],[2,"CENTER","LTR"],[2,"CENTER","LTR"],[2,"CENTER","LTR"],[2,"CENTER","LTR"],[2,"CENTER","LTR"],[2,"CENTER","LTR"],[2,"CENTER","LTR"],[2,"CENTER","LTR"],[2,"CENTER","LTR"],[2,"CENTER","LTR"],[0,"LEFT","LTR"],[3,"CENTER","LTR"],[1,"RIGHT","LTR"],[1,"LEFT","LTR"],[4,"RIGHT","LTR"],[1,"LEFT","LTR"],[1,"CENTER","LTR"],[1,"LEFT","LTR"],[2,"CENTER","LTR"],[2,"CENTER","LTR"],[2,"CENTER","LTR"],[4,"CENTER","LTR"],[1,"LEFT","LTR"],[2,"CENTER","LTR"],[1,"LEFT","LTR"]]},"database_list":["GB"],"fonts":{"getFont_verdana_20_4bpp":0,"getFont_CHINN____30_4bpp":1,"getFont_CHINN____20_4bpp":2,"getFont_CHINN____40_4bpp":3,"getFont_lucon_TTF_50_4bpp":4,"getFont_verdanab_20_4bpp":5,"getFont_lucon_TTF_33_4bpp":6},"generate_font_format":"0"}
 | 
			
		||||
@ -63,6 +63,7 @@ enum TEXTS
 | 
			
		||||
    T_AUTOX,
 | 
			
		||||
    T_SKIDPAD,
 | 
			
		||||
    T_ACCEL,
 | 
			
		||||
    T___SINGLEUSE_L1J7,
 | 
			
		||||
    T___SINGLEUSE_F9I5,
 | 
			
		||||
    T___SINGLEUSE_JN2J,
 | 
			
		||||
    T___SINGLEUSE_ZP7N,
 | 
			
		||||
 | 
			
		||||
@ -10,48 +10,48 @@ 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 = {
 | 
			
		||||
    345, // T_PDU: "PDU"
 | 
			
		||||
    353, // T_SCS: "SCS"
 | 
			
		||||
    357, // T_SDC: "SDC"
 | 
			
		||||
    349, // T_R2D: "R2D"
 | 
			
		||||
    342, // T_TS: "TS"
 | 
			
		||||
    337, // T_INV: "INV"
 | 
			
		||||
    333, // T_AMS: "AMS"
 | 
			
		||||
    334, // T_PDU: "PDU"
 | 
			
		||||
    342, // T_SCS: "SCS"
 | 
			
		||||
    346, // T_SDC: "SDC"
 | 
			
		||||
    338, // T_R2D: "R2D"
 | 
			
		||||
    327, // T_TS: "TS"
 | 
			
		||||
    322, // T_INV: "INV"
 | 
			
		||||
    318, // T_AMS: "AMS"
 | 
			
		||||
    128, // T_ERROR_AMS: "AMS ErrOr"
 | 
			
		||||
    176, // T_DEBUGVIEWFIELD_TITLE: "<>"
 | 
			
		||||
    176, // T_DRIVERVIEWFIELD_TITLE: "<>"
 | 
			
		||||
    176, // T_NUMBERSMALLWILDCARD: "<>"
 | 
			
		||||
    293, // T_FIELD_BBAL: "BBAL"
 | 
			
		||||
    256, // T_FIELD_TSVOLTVEH: "TSVVEH"
 | 
			
		||||
    249, // T_FIELD_TSVOLTBAT: "TSVBAT"
 | 
			
		||||
    269, // T_FIELD_LVSOC: "LVSOC"
 | 
			
		||||
    287, // T_FIELD_TSSOC: "TSSOC"
 | 
			
		||||
    303, // T_FIELD_MAXCELLTEMP: "TMAX"
 | 
			
		||||
    308, // T_FIELD_TIREFL: "TTFL"
 | 
			
		||||
    313, // T_FIELD_TIREFR: "TTFR"
 | 
			
		||||
    318, // T_FIELD_TIRERL: "TTRL"
 | 
			
		||||
    323, // T_FIELD_TIRERR: "TTRR"
 | 
			
		||||
    298, // T_FIELD_LAPCOUNT: "LAPS"
 | 
			
		||||
    186, // T_FIELD_INICHKSTATE: "ICSTATE"
 | 
			
		||||
    263, // T_FIELD_ERR: "ERROR"
 | 
			
		||||
    357, // 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: "<>"
 | 
			
		||||
    341, // T_FIELD_TSCURRENT: "ITS"
 | 
			
		||||
    328, // T_FIELD_MINCELLVOLT: "VMIN"
 | 
			
		||||
    281, // T_FIELD_SPEED: "SPEED"
 | 
			
		||||
    167, // T_DEBUGVIEWFIELD_TITLE: "<>"
 | 
			
		||||
    167, // T_DRIVERVIEWFIELD_TITLE: "<>"
 | 
			
		||||
    167, // T_NUMBERSMALLWILDCARD: "<>"
 | 
			
		||||
    278, // T_FIELD_BBAL: "BBAL"
 | 
			
		||||
    247, // T_FIELD_TSVOLTVEH: "TSVVEH"
 | 
			
		||||
    240, // T_FIELD_TSVOLTBAT: "TSVBAT"
 | 
			
		||||
    260, // T_FIELD_LVSOC: "LVSOC"
 | 
			
		||||
    272, // T_FIELD_TSSOC: "TSSOC"
 | 
			
		||||
    288, // T_FIELD_MAXCELLTEMP: "TMAX"
 | 
			
		||||
    293, // T_FIELD_TIREFL: "TTFL"
 | 
			
		||||
    298, // T_FIELD_TIREFR: "TTFR"
 | 
			
		||||
    303, // T_FIELD_TIRERL: "TTRL"
 | 
			
		||||
    308, // T_FIELD_TIRERR: "TTRR"
 | 
			
		||||
    283, // T_FIELD_LAPCOUNT: "LAPS"
 | 
			
		||||
    177, // T_FIELD_INICHKSTATE: "ICSTATE"
 | 
			
		||||
    254, // T_FIELD_ERR: "ERROR"
 | 
			
		||||
    346, // 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: "<>"
 | 
			
		||||
    326, // T_FIELD_TSCURRENT: "ITS"
 | 
			
		||||
    313, // T_FIELD_MINCELLVOLT: "VMIN"
 | 
			
		||||
    266, // T_FIELD_SPEED: "SPEED"
 | 
			
		||||
    95,  // T_INSPECTION_HUGE: "Inspection"
 | 
			
		||||
    158, // T_EBS_HUGE: "EBS Test"
 | 
			
		||||
    117, // T_TRACKDRIVE_HUGE: "Trackdrive"
 | 
			
		||||
    138, // T_AUTOX_HUGE: "Autocross"
 | 
			
		||||
    226, // T_SKIDPAD_HUGE: "Skidpad"
 | 
			
		||||
    217, // T_SKIDPAD_HUGE: "Skidpad"
 | 
			
		||||
    82,  // T_ACCEL_HUGE: "Acceleration"
 | 
			
		||||
    34,  // T_INVALID_HUGE: "Invalid Mission!"
 | 
			
		||||
    67,  // T_MANUAL: "Manual Driving"
 | 
			
		||||
@ -59,23 +59,24 @@ KEEP extern const uint32_t indicesGb[] TEXT_LOCATION_FLASH_ATTRIBUTE = {
 | 
			
		||||
    158, // T_EBS: "EBS Test"
 | 
			
		||||
    117, // T_TRACKDRIVE: "Trackdrive"
 | 
			
		||||
    138, // T_AUTOX: "Autocross"
 | 
			
		||||
    226, // T_SKIDPAD: "Skidpad"
 | 
			
		||||
    217, // T_SKIDPAD: "Skidpad"
 | 
			
		||||
    82,  // T_ACCEL: "Acceleration"
 | 
			
		||||
    243, // T___SINGLEUSE_L1J7: "BAT"
 | 
			
		||||
    16,  // T___SINGLEUSE_F9I5: ""
 | 
			
		||||
    275, // T___SINGLEUSE_JN2J: "MOTOR"
 | 
			
		||||
    167, // T___SINGLEUSE_ZP7N: "INVERTER"
 | 
			
		||||
    176, // T___SINGLEUSE_9L8R: "<>"
 | 
			
		||||
    330, // T___SINGLEUSE_JN2J: "MOT"
 | 
			
		||||
    322, // T___SINGLEUSE_ZP7N: "INV"
 | 
			
		||||
    167, // T___SINGLEUSE_9L8R: "<>"
 | 
			
		||||
    16,  // T___SINGLEUSE_1NKF: ""
 | 
			
		||||
    176, // T___SINGLEUSE_J5UH: "<>"
 | 
			
		||||
    349, // T___SINGLEUSE_NGUK: "R2D"
 | 
			
		||||
    176, // T___SINGLEUSE_4E84: "<>"
 | 
			
		||||
    176, // T___SINGLEUSE_YTAB: "<>"
 | 
			
		||||
    167, // T___SINGLEUSE_J5UH: "<>"
 | 
			
		||||
    338, // T___SINGLEUSE_NGUK: "R2D"
 | 
			
		||||
    167, // T___SINGLEUSE_4E84: "<>"
 | 
			
		||||
    167, // T___SINGLEUSE_YTAB: "<>"
 | 
			
		||||
    106, // T___SINGLEUSE_RWCE: "PARAMETERS"
 | 
			
		||||
    148, // T___SINGLEUSE_HMH2: "PRECHARGE"
 | 
			
		||||
    361, // T___SINGLEUSE_4OBM: "LV"
 | 
			
		||||
    342, // T___SINGLEUSE_PHFD: "TS"
 | 
			
		||||
    242, // T___SINGLEUSE_H6UX: "BRAKES"
 | 
			
		||||
    176, // T___SINGLEUSE_20H3: "<>"
 | 
			
		||||
    350, // T___SINGLEUSE_4OBM: "LV"
 | 
			
		||||
    327, // T___SINGLEUSE_PHFD: "TS"
 | 
			
		||||
    233, // T___SINGLEUSE_H6UX: "BRAKES"
 | 
			
		||||
    167, // T___SINGLEUSE_20H3: "<>"
 | 
			
		||||
    17,  // T___SINGLEUSE_SDGP: "Current Mission:"
 | 
			
		||||
    51,  // T___SINGLEUSE_M5X7: "Invalid Mission"
 | 
			
		||||
    0    // T___SINGLEUSE_6GPV: "Choose a mission"
 | 
			
		||||
 | 
			
		||||
@ -73,40 +73,39 @@ KEEP extern const touchgfx::Unicode::UnicodeChar texts_all_languages[] TEXT_LOCA
 | 
			
		||||
    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"
 | 
			
		||||
    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"
 | 
			
		||||
    0x42, 0x52, 0x41, 0x4b, 0x45, 0x53, 0x0, // @242 "BRAKES"
 | 
			
		||||
    0x54, 0x53, 0x56, 0x42, 0x41, 0x54, 0x0, // @249 "TSVBAT"
 | 
			
		||||
    0x54, 0x53, 0x56, 0x56, 0x45, 0x48, 0x0, // @256 "TSVVEH"
 | 
			
		||||
    0x45, 0x52, 0x52, 0x4f, 0x52, 0x0, // @263 "ERROR"
 | 
			
		||||
    0x4c, 0x56, 0x53, 0x4f, 0x43, 0x0, // @269 "LVSOC"
 | 
			
		||||
    0x4d, 0x4f, 0x54, 0x4f, 0x52, 0x0, // @275 "MOTOR"
 | 
			
		||||
    0x53, 0x50, 0x45, 0x45, 0x44, 0x0, // @281 "SPEED"
 | 
			
		||||
    0x54, 0x53, 0x53, 0x4f, 0x43, 0x0, // @287 "TSSOC"
 | 
			
		||||
    0x42, 0x42, 0x41, 0x4c, 0x0, // @293 "BBAL"
 | 
			
		||||
    0x4c, 0x41, 0x50, 0x53, 0x0, // @298 "LAPS"
 | 
			
		||||
    0x54, 0x4d, 0x41, 0x58, 0x0, // @303 "TMAX"
 | 
			
		||||
    0x54, 0x54, 0x46, 0x4c, 0x0, // @308 "TTFL"
 | 
			
		||||
    0x54, 0x54, 0x46, 0x52, 0x0, // @313 "TTFR"
 | 
			
		||||
    0x54, 0x54, 0x52, 0x4c, 0x0, // @318 "TTRL"
 | 
			
		||||
    0x54, 0x54, 0x52, 0x52, 0x0, // @323 "TTRR"
 | 
			
		||||
    0x56, 0x4d, 0x49, 0x4e, 0x0, // @328 "VMIN"
 | 
			
		||||
    0x41, 0x4d, 0x53, 0x0, // @333 "AMS"
 | 
			
		||||
    0x49, 0x4e, 0x56, 0x0, // @337 "INV"
 | 
			
		||||
    0x49, 0x54, 0x53, 0x0, // @341 "ITS"
 | 
			
		||||
    0x50, 0x44, 0x55, 0x0, // @345 "PDU"
 | 
			
		||||
    0x52, 0x32, 0x44, 0x0, // @349 "R2D"
 | 
			
		||||
    0x53, 0x43, 0x53, 0x0, // @353 "SCS"
 | 
			
		||||
    0x53, 0x44, 0x43, 0x0, // @357 "SDC"
 | 
			
		||||
    0x4c, 0x56, 0x0 // @361 "LV"
 | 
			
		||||
    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"
 | 
			
		||||
    0x42, 0x52, 0x41, 0x4b, 0x45, 0x53, 0x0, // @233 "BRAKES"
 | 
			
		||||
    0x54, 0x53, 0x56, 0x42, 0x41, 0x54, 0x0, // @240 "TSVBAT"
 | 
			
		||||
    0x54, 0x53, 0x56, 0x56, 0x45, 0x48, 0x0, // @247 "TSVVEH"
 | 
			
		||||
    0x45, 0x52, 0x52, 0x4f, 0x52, 0x0, // @254 "ERROR"
 | 
			
		||||
    0x4c, 0x56, 0x53, 0x4f, 0x43, 0x0, // @260 "LVSOC"
 | 
			
		||||
    0x53, 0x50, 0x45, 0x45, 0x44, 0x0, // @266 "SPEED"
 | 
			
		||||
    0x54, 0x53, 0x53, 0x4f, 0x43, 0x0, // @272 "TSSOC"
 | 
			
		||||
    0x42, 0x42, 0x41, 0x4c, 0x0, // @278 "BBAL"
 | 
			
		||||
    0x4c, 0x41, 0x50, 0x53, 0x0, // @283 "LAPS"
 | 
			
		||||
    0x54, 0x4d, 0x41, 0x58, 0x0, // @288 "TMAX"
 | 
			
		||||
    0x54, 0x54, 0x46, 0x4c, 0x0, // @293 "TTFL"
 | 
			
		||||
    0x54, 0x54, 0x46, 0x52, 0x0, // @298 "TTFR"
 | 
			
		||||
    0x54, 0x54, 0x52, 0x4c, 0x0, // @303 "TTRL"
 | 
			
		||||
    0x54, 0x54, 0x52, 0x52, 0x0, // @308 "TTRR"
 | 
			
		||||
    0x56, 0x4d, 0x49, 0x4e, 0x0, // @313 "VMIN"
 | 
			
		||||
    0x41, 0x4d, 0x53, 0x0, // @318 "AMS"
 | 
			
		||||
    0x49, 0x4e, 0x56, 0x0, // @322 "INV"
 | 
			
		||||
    0x49, 0x54, 0x53, 0x0, // @326 "ITS"
 | 
			
		||||
    0x4d, 0x4f, 0x54, 0x0, // @330 "MOT"
 | 
			
		||||
    0x50, 0x44, 0x55, 0x0, // @334 "PDU"
 | 
			
		||||
    0x52, 0x32, 0x44, 0x0, // @338 "R2D"
 | 
			
		||||
    0x53, 0x43, 0x53, 0x0, // @342 "SCS"
 | 
			
		||||
    0x53, 0x44, 0x43, 0x0, // @346 "SDC"
 | 
			
		||||
    0x4c, 0x56, 0x0 // @350 "LV"
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
TEXT_LOCATION_FLASH_PRAGMA
 | 
			
		||||
 | 
			
		||||
@ -82,6 +82,7 @@ const touchgfx::TypedText::TypedTextData typedText_database_GB[] TEXT_LOCATION_F
 | 
			
		||||
    { 2, touchgfx::CENTER, touchgfx::TEXT_DIRECTION_LTR },
 | 
			
		||||
    { 2, touchgfx::CENTER, touchgfx::TEXT_DIRECTION_LTR },
 | 
			
		||||
    { 2, touchgfx::CENTER, touchgfx::TEXT_DIRECTION_LTR },
 | 
			
		||||
    { 2, touchgfx::CENTER, touchgfx::TEXT_DIRECTION_LTR },
 | 
			
		||||
    { 0, touchgfx::LEFT, touchgfx::TEXT_DIRECTION_LTR },
 | 
			
		||||
    { 3, touchgfx::CENTER, touchgfx::TEXT_DIRECTION_LTR },
 | 
			
		||||
    { 1, touchgfx::RIGHT, touchgfx::TEXT_DIRECTION_LTR },
 | 
			
		||||
@ -154,6 +155,7 @@ 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 },
 | 
			
		||||
    { 0, touchgfx::LEFT, touchgfx::TEXT_DIRECTION_LTR },
 | 
			
		||||
    { 3, touchgfx::CENTER, touchgfx::TEXT_DIRECTION_LTR },
 | 
			
		||||
    { 1, touchgfx::RIGHT, touchgfx::TEXT_DIRECTION_LTR },
 | 
			
		||||
 | 
			
		||||
@ -46,6 +46,9 @@ void DriverViewView::setupScreen() {
 | 
			
		||||
  int motorThresholds[4] = {30, 45, 60, 80};
 | 
			
		||||
  motorTempL.setTempThresholds(motorThresholds);
 | 
			
		||||
  motorTempR.setTempThresholds(motorThresholds);
 | 
			
		||||
  int batThresholds[4] = {30, 40, 50, 55};
 | 
			
		||||
  batTempL.setTempThresholds(batThresholds);
 | 
			
		||||
  batTempR.setTempThresholds(batThresholds);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
void DriverViewView::tearDownScreen() { DriverViewViewBase::tearDownScreen(); }
 | 
			
		||||
@ -91,6 +94,8 @@ void DriverViewView::setTemps(const Temperatures &temps) {
 | 
			
		||||
  invTempR.setTemp(roundf(temps.inv_r));
 | 
			
		||||
  motorTempL.setTemp(roundf(temps.mot_l));
 | 
			
		||||
  motorTempR.setTemp(roundf(temps.mot_r));
 | 
			
		||||
  batTempL.setTemp(roundf(temps.bat_l));
 | 
			
		||||
  batTempR.setTemp(roundf(temps.bat_r));
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
void DriverViewView::setTSSoC(uint8_t soc) {
 | 
			
		||||
 | 
			
		||||
@ -326,45 +326,13 @@
 | 
			
		||||
            "X": 316,
 | 
			
		||||
            "Y": 125,
 | 
			
		||||
            "Width": 152,
 | 
			
		||||
            "Height": 180,
 | 
			
		||||
            "Height": 185,
 | 
			
		||||
            "Components": [
 | 
			
		||||
              {
 | 
			
		||||
                "Type": "TextArea",
 | 
			
		||||
                "Name": "motorTempLabel",
 | 
			
		||||
                "Y": 90,
 | 
			
		||||
                "Width": 150,
 | 
			
		||||
                "Height": 25,
 | 
			
		||||
                "TextId": "__SingleUse_JN2J",
 | 
			
		||||
                "TextRotation": "0",
 | 
			
		||||
                "Color": {
 | 
			
		||||
                  "Red": 255,
 | 
			
		||||
                  "Green": 255,
 | 
			
		||||
                  "Blue": 255
 | 
			
		||||
                }
 | 
			
		||||
              },
 | 
			
		||||
              {
 | 
			
		||||
                "Type": "CustomContainerInstance",
 | 
			
		||||
                "Name": "motorTempL",
 | 
			
		||||
                "X": 14,
 | 
			
		||||
                "Y": 115,
 | 
			
		||||
                "Width": 60,
 | 
			
		||||
                "Height": 60,
 | 
			
		||||
                "CustomContainerDefinitionName": "Temperature"
 | 
			
		||||
              },
 | 
			
		||||
              {
 | 
			
		||||
                "Type": "CustomContainerInstance",
 | 
			
		||||
                "Name": "motorTempR",
 | 
			
		||||
                "X": 77,
 | 
			
		||||
                "Y": 115,
 | 
			
		||||
                "Width": 60,
 | 
			
		||||
                "Height": 60,
 | 
			
		||||
                "CustomContainerDefinitionName": "Temperature"
 | 
			
		||||
              },
 | 
			
		||||
              {
 | 
			
		||||
                "Type": "Line",
 | 
			
		||||
                "Name": "motorTempDiv",
 | 
			
		||||
                "X": 74,
 | 
			
		||||
                "Y": 115,
 | 
			
		||||
                "Name": "batTempDiv",
 | 
			
		||||
                "X": 60,
 | 
			
		||||
                "Y": 124,
 | 
			
		||||
                "Width": 3,
 | 
			
		||||
                "Height": 60,
 | 
			
		||||
                "Color": {
 | 
			
		||||
@ -376,11 +344,120 @@
 | 
			
		||||
                "LineWidth": 10.0,
 | 
			
		||||
                "LineEndingStyle": "Round"
 | 
			
		||||
              },
 | 
			
		||||
              {
 | 
			
		||||
                "Type": "CustomContainerInstance",
 | 
			
		||||
                "Name": "batTempR",
 | 
			
		||||
                "X": 63,
 | 
			
		||||
                "Y": 124,
 | 
			
		||||
                "Width": 60,
 | 
			
		||||
                "Height": 60,
 | 
			
		||||
                "CustomContainerDefinitionName": "Temperature"
 | 
			
		||||
              },
 | 
			
		||||
              {
 | 
			
		||||
                "Type": "CustomContainerInstance",
 | 
			
		||||
                "Name": "batTempL",
 | 
			
		||||
                "Y": 124,
 | 
			
		||||
                "Width": 60,
 | 
			
		||||
                "Height": 60,
 | 
			
		||||
                "CustomContainerDefinitionName": "Temperature"
 | 
			
		||||
              },
 | 
			
		||||
              {
 | 
			
		||||
                "Type": "TextArea",
 | 
			
		||||
                "Name": "batTempLabel",
 | 
			
		||||
                "X": 123,
 | 
			
		||||
                "Y": 124,
 | 
			
		||||
                "Width": 25,
 | 
			
		||||
                "Height": 60,
 | 
			
		||||
                "TextId": "__SingleUse_L1J7",
 | 
			
		||||
                "TextRotation": "90",
 | 
			
		||||
                "Color": {
 | 
			
		||||
                  "Red": 255,
 | 
			
		||||
                  "Green": 255,
 | 
			
		||||
                  "Blue": 255
 | 
			
		||||
                }
 | 
			
		||||
              },
 | 
			
		||||
              {
 | 
			
		||||
                "Type": "Line",
 | 
			
		||||
                "Name": "dtDiv2",
 | 
			
		||||
                "Y": 122,
 | 
			
		||||
                "Width": 123,
 | 
			
		||||
                "Height": 2,
 | 
			
		||||
                "Color": {
 | 
			
		||||
                  "Red": 255,
 | 
			
		||||
                  "Green": 255,
 | 
			
		||||
                  "Blue": 255
 | 
			
		||||
                },
 | 
			
		||||
                "EndX": 123.0,
 | 
			
		||||
                "LineWidth": 10.0,
 | 
			
		||||
                "LineEndingStyle": "Round"
 | 
			
		||||
              },
 | 
			
		||||
              {
 | 
			
		||||
                "Type": "Line",
 | 
			
		||||
                "Name": "motorTempDiv",
 | 
			
		||||
                "X": 60,
 | 
			
		||||
                "Y": 62,
 | 
			
		||||
                "Width": 3,
 | 
			
		||||
                "Height": 60,
 | 
			
		||||
                "Color": {
 | 
			
		||||
                  "Red": 255,
 | 
			
		||||
                  "Green": 255,
 | 
			
		||||
                  "Blue": 255
 | 
			
		||||
                },
 | 
			
		||||
                "EndY": 320.0,
 | 
			
		||||
                "LineWidth": 10.0,
 | 
			
		||||
                "LineEndingStyle": "Round"
 | 
			
		||||
              },
 | 
			
		||||
              {
 | 
			
		||||
                "Type": "CustomContainerInstance",
 | 
			
		||||
                "Name": "motorTempR",
 | 
			
		||||
                "X": 63,
 | 
			
		||||
                "Y": 62,
 | 
			
		||||
                "Width": 60,
 | 
			
		||||
                "Height": 60,
 | 
			
		||||
                "CustomContainerDefinitionName": "Temperature"
 | 
			
		||||
              },
 | 
			
		||||
              {
 | 
			
		||||
                "Type": "CustomContainerInstance",
 | 
			
		||||
                "Name": "motorTempL",
 | 
			
		||||
                "Y": 62,
 | 
			
		||||
                "Width": 60,
 | 
			
		||||
                "Height": 60,
 | 
			
		||||
                "CustomContainerDefinitionName": "Temperature"
 | 
			
		||||
              },
 | 
			
		||||
              {
 | 
			
		||||
                "Type": "TextArea",
 | 
			
		||||
                "Name": "motorTempLabel",
 | 
			
		||||
                "X": 123,
 | 
			
		||||
                "Y": 62,
 | 
			
		||||
                "Width": 25,
 | 
			
		||||
                "Height": 60,
 | 
			
		||||
                "TextId": "__SingleUse_JN2J",
 | 
			
		||||
                "TextRotation": "90",
 | 
			
		||||
                "Color": {
 | 
			
		||||
                  "Red": 255,
 | 
			
		||||
                  "Green": 255,
 | 
			
		||||
                  "Blue": 255
 | 
			
		||||
                }
 | 
			
		||||
              },
 | 
			
		||||
              {
 | 
			
		||||
                "Type": "Line",
 | 
			
		||||
                "Name": "dtDiv1",
 | 
			
		||||
                "Y": 60,
 | 
			
		||||
                "Width": 123,
 | 
			
		||||
                "Height": 2,
 | 
			
		||||
                "Color": {
 | 
			
		||||
                  "Red": 255,
 | 
			
		||||
                  "Green": 255,
 | 
			
		||||
                  "Blue": 255
 | 
			
		||||
                },
 | 
			
		||||
                "EndX": 123.0,
 | 
			
		||||
                "LineWidth": 10.0,
 | 
			
		||||
                "LineEndingStyle": "Round"
 | 
			
		||||
              },
 | 
			
		||||
              {
 | 
			
		||||
                "Type": "Line",
 | 
			
		||||
                "Name": "invTempDiv",
 | 
			
		||||
                "X": 74,
 | 
			
		||||
                "Y": 25,
 | 
			
		||||
                "X": 60,
 | 
			
		||||
                "Width": 3,
 | 
			
		||||
                "Height": 60,
 | 
			
		||||
                "Color": {
 | 
			
		||||
@ -395,8 +472,7 @@
 | 
			
		||||
              {
 | 
			
		||||
                "Type": "CustomContainerInstance",
 | 
			
		||||
                "Name": "invTempR",
 | 
			
		||||
                "X": 77,
 | 
			
		||||
                "Y": 25,
 | 
			
		||||
                "X": 63,
 | 
			
		||||
                "Width": 60,
 | 
			
		||||
                "Height": 60,
 | 
			
		||||
                "CustomContainerDefinitionName": "Temperature"
 | 
			
		||||
@ -404,8 +480,6 @@
 | 
			
		||||
              {
 | 
			
		||||
                "Type": "CustomContainerInstance",
 | 
			
		||||
                "Name": "invTempL",
 | 
			
		||||
                "X": 14,
 | 
			
		||||
                "Y": 25,
 | 
			
		||||
                "Width": 60,
 | 
			
		||||
                "Height": 60,
 | 
			
		||||
                "CustomContainerDefinitionName": "Temperature"
 | 
			
		||||
@ -413,10 +487,11 @@
 | 
			
		||||
              {
 | 
			
		||||
                "Type": "TextArea",
 | 
			
		||||
                "Name": "invTempLabel",
 | 
			
		||||
                "Width": 150,
 | 
			
		||||
                "Height": 25,
 | 
			
		||||
                "X": 123,
 | 
			
		||||
                "Width": 25,
 | 
			
		||||
                "Height": 60,
 | 
			
		||||
                "TextId": "__SingleUse_ZP7N",
 | 
			
		||||
                "TextRotation": "0",
 | 
			
		||||
                "TextRotation": "90",
 | 
			
		||||
                "Color": {
 | 
			
		||||
                  "Red": 255,
 | 
			
		||||
                  "Green": 255,
 | 
			
		||||
 | 
			
		||||
		Reference in New Issue
	
	Block a user