#ifndef DATATYPES_H #define DATATYPES_H #include namespace DataTypes { enum class MessageType { LTM_REASON_NONE = 0, ///< No reason LTM_REASON_AFTER_POWER_ON = 1, ///< [Unused] M1300 Enabling LTM_REASON_NO_CANBUS_WITH_CONTROL_BOARD = 2, ///< No CAN Bus link with PWR LTM_REASON_NO_CANBUS = 3, ///< CAN Bus error with PWR LTM_REASON_NO_INPUT_LONG_TIME = 4, ///< No input voltage long time LTM_REASON_MAS_SHUTDOWN = 5, ///< On any M1300 disabling LTM_REASON_ANY_UNDERVOLTAGE = 6, ///< On any under-voltage LTM_REASON_ANY_OVERVOLTAGE = 7, ///< On any over-voltage LTM_REASON_NOT_ALLOWED_TO_START_INPUT_VOLTAGE_OUT_OF_RANGE = 8, ///< Voltage out of range LTM_REASON_FIRST_START = 9, ///< M1300 First start LTM_REASON_CHECK_BE_K1 = 10, ///< K1 Feedback error LTM_REASON_K1_NO_CONTROL_FEEDBACK = 11, ///< K1 Feedback exists without control LTM_REASON_K1_NO_FEEDBACK = 12, ///< K1 Feedback error LTM_REASON_TURN_OFF_DUE_K1_VS_DC_LINK = 13, ///< K1 Enabled, no DC-Link LTM_REASON_K2_WRONG_WAY_WORK = 14, ///< K2 enabled if K1 enabled LTM_REASON_CHECK_BE_K2 = 15, ///< K2 Feedback error LTM_REASON_CHECK_TR_FEEDBACK = 16, ///< Protection Block feedback error LTM_REASON_TR_NO_FEEDBACK = 17, ///< Protection Block no feedback LTM_REASON_TR_TEST_FAULT = 18, ///< Protection Block test error LTM_REASON_LOCKED_DUE_TR = 19, ///< [Unused] Protection Block error LTM_REASON_TURN_OFF_DUE_TR = 20, ///< Protection Block error LTM_REASON_TR_CONNECT_RESISTORS_DUE_LOW_VOLTAGE = 21, ///< Charge resistors enabling on under-voltage LTM_REASON_TURN_OFF_DUE_HIGH_INPUT_VOLTAGE_LONG_TIME = 22, ///< System disabling on over-voltage long time LTM_REASON_TR_CONNECT_RESISTORS_DUE_HIGH_INPUT_VOLTAGE_FAST = 23, ///< Charge resistors enabling on fast over-voltage LTM_REASON_TR_CONNECT_RESISTORS_DUE_HIGH_INPUT_VOLTAGE = 24, ///< Charge resistors enabling on over-voltage LTM_REASON_TURN_OFF_DUE_RESISTORS_ENERGY = 25, ///< System disabling on Charge Resistors over-energy LTM_REASON_TR_CONNECT_RESISTORS_DUE_HIGH_INPUT_CURRENT = 26, ///< Charge resistors enabling on over-current LTM_REASON_TURN_OFF_DUE_INPUT_CURRENT = 27, ///< System disabling on over-current LTM_REASON_HUR_NO_CONNECTION = 28, ///< No CAN Bus link with HUR LTM_REASON_HBU_LOCK_CAUSE_HUR = 29, ///< HUR fault LTM_REASON_HURS_TEMP_HIGH = 30, ///< HUR Slave over-temperature LTM_REASON_HURS_TEMP_DEFEKT = 31, ///< HUR Slave temp sensor fault LTM_REASON_HURM_TEMP_HIGH = 32, ///< HUR Master over-temperature LTM_REASON_HURM_TEMP_DEFEKT = 33, ///< HUR Master temp sensor fault LTM_REASON_HURM_HSS_DEFEKT = 34, ///< HUR Master HSS fault LTM_REASON_HURM_WR_DEFEKT = 35, ///< HUR Master WR fault LTM_REASON_HURS_HSS_DEFEKT = 36, ///< HUR Slave HSS fault LTM_REASON_HURS_WR_DEFEKT = 37, ///< HUR Slave WR fault LTM_REASON_HBU_LOCK_CAUSE_PWR = 38, ///< PWR Fault LTM_REASON_PWR_OVERHEATING = 39, ///< PWR overheat LTM_REASON_PWR_OVERCURRENT_FAST = 40, ///< PWR fast over-current LTM_REASON_PWR_OVERCURRENT_LONG_TIME = 41, ///< PWR long over-current LTM_REASON_PWR_FAULT_1 = 42, ///< PWR Phase A Fault LTM_REASON_PWR_FAULT_2 = 43, ///< PWR Phase B Fault LTM_REASON_PWR_FAULT_3 = 44, ///< PWR Phase C Fault LTM_REASON_PWR_LOCKED = 45, ///< PWR Locked LTM_PARAMS_MSG = 0xFF-3, // Params Msg Status LTM_PARAMS_OUT = 0xFF-2, // Params Msg Outs LTM_PARAMS_ADC = 0xFF-1, // Params Msg ADC }; struct LogMessage { QDateTime dateTime; quint64 startupTime; MessageType type; qint64 f1; qint64 f2; qint64 f3; qint64 f4; }; QString messageString(MessageType type); bool isErrorMessage(MessageType type); } #endif // DATATYPES_H