update for new CAN dbc (incomplete), add more NamedFields, allow mission select without confirmation, set default mission select state to manual

This commit is contained in:
2025-07-08 13:17:33 +02:00
parent e995c0ad66
commit 91b62c7b5e
23 changed files with 1029 additions and 1349 deletions

View File

@ -31,7 +31,7 @@ public:
void setMission(Mission mission);
void setASState(ASState state);
void setIniChkState(IniChkState state);
void setIniChkState(InitialCheckupState state);
void updateDataFields();
void setJetsonTimeout(bool timeout);
@ -52,8 +52,6 @@ protected:
touchgfx::Unicode::UnicodeChar progressBuffer[16];
touchgfx::Unicode::UnicodeChar asOKBuffer[16];
touchgfx::Shape<3> cones[NUM_CONES] = {cone0, cone1, cone2, cone3, cone4,
cone5, cone6, cone7, cone8, cone9};
};
#endif // AMIVIEW_HPP

View File

@ -9,17 +9,86 @@
#include "util.h"
CountedEnum(DataFieldType, size_t, DF_TSState, DF_ASState, DF_ActiveMission,
DF_R2DProgress, DF_INVLReady, DF_INVRReady, DF_SDC, DF_ERR,
DF_IniChkState, DF_LapCount, DF_TireTempFL, DF_TireTempFR,
DF_TireTempRL, DF_TireTempRR, DF_MinCellVolt, DF_MaxCellTemp,
DF_TSSoC, DF_LVSoC, DF_TSCurrent, DF_TSVoltageBat, DF_TSVoltageVeh,
DF_Speed, DF_BBal, DF_BPF, DF_BPR, DF_DistanceTotal, DF_TempMotL,
DF_TempMotR, DF_TempInvL, DF_TempInvR, DF_TempBrakeFL,
DF_TempBrakeFR, DF_TempBrakeRL, DF_TempBrakeRR, DF_LapBest,
DF_LapLast, DF_LVBatVoltage, DF_GitBuildHash);
// clang-format off
CountedEnum(DataFieldType, size_t,
DF_SlavePanicID,
DF_SlavePanicKind,
DF_SlavePanicArg,
DF_TSState,
DF_SDCClosed,
DF_TSSoC,
DF_MinCellVolt,
DF_MaxCellTemp,
DF_IMDok,
DF_TSALgreen,
DF_IMDerr,
DF_AMSerr,
DF_AMSLastErrorKind,
DF_AMSLastErrorArg,
DF_DCDCTemp,
DF_DCDCCurrent,
DF_TSCurrent,
DF_TSVoltageBat,
DF_TSVoltageVeh,
DF_ShuntTemp,
DF_TireTempFL,
DF_TireTempFR,
DF_TireTempRL,
DF_TireTempRR,
DF_BrakeTempFL,
DF_BrakeTempFR,
DF_BrakeTempRL,
DF_BrakeTempRR,
DF_Inv1Temp,
DF_Inv2Temp,
DF_Mot1Temp,
DF_Mot2Temp,
DF_LapBest,
DF_LapLast,
DF_SectorBest,
DF_SectorLast,
DF_WSSFL,
DF_WSSFR,
DF_WSSRL,
DF_WSSRR,
DF_DistanceSession,
DF_TankPressure1,
DF_TankPressure2,
DF_APPSPercent,
DF_BPF,
DF_BPR,
DF_SteeringAngle,
DF_Speed,
DF_LapCount,
DF_SectorCount,
DF_R2DProgress,
DF_ERR,
DF_SDCStatus,
DF_INV1Ready,
DF_INV2Ready,
DF_EnergyPerLap,
DF_IniChkState,
DF_ActiveMission,
DF_ASState,
DF_Inv1Velocity,
DF_Inv2Velocity,
DF_Inv1TorqueDemanded,
DF_Inv2TorqueDemanded,
DF_Inv1TorqueDesired,
DF_Inv2TorqueDesired,
DF_Inv1ControlWord,
DF_Inv2ControlWord,
DF_Inv1TorqueActual,
DF_Inv2TorqueActual,
DF_Inv1Errors,
DF_Inv2Errors,
DF_Inv1Warnings,
DF_Inv2Warnings,
DF_GitBuildHash,
);
// clang-format on
enum class NamedFieldKind { Float, Bool, Text, Int };
enum class NamedFieldKind { Float, Bool, Text, Int, Hex };
struct NamedFieldDescription {
NamedFieldKind kind;
@ -72,6 +141,7 @@ private:
void setFloatValue(float floatValue);
void setBoolValue(int boolValue);
void setIntValue(int intValue);
void setHexValue(int hexValue);
void setStrValue(const char *strValue);
void updateValueBuffer();