Files
K2_DCU/Source/.staticdata/.previous/20260408_091142/K2DCU/fs/ffd39a99ec5176ce64cc758f34a11f56
2026-04-14 00:56:31 +09:00

220 lines
6.2 KiB
Plaintext

#ifndef SOURCE_STATE_H_
#define SOURCE_STATE_H_
#define COMM_TIME_OUT_COUNT (3000U) // 3sec
typedef enum
{
IDX_ADC_ENGINE_HEATER_V = 0U, // 0
IDX_ADC_GLOW_PLUG_V, // 1
IDX_ADC_SOLENOID_V, // 2
IDX_ADC_FUEL_PUMP_V, // 3
IDX_ADC_COOLANT_PUMP_V, // 4
IDX_ADC_FAN1_V, // 5
IDX_ADC_FAN2_V, // 6
IDX_ADC_ENGINE_HEATER_I, // 7
IDX_ADC_GLOW_PLUG_I, // 8
IDX_ADC_SOLENOID_I, // 9
IDX_ADC_FUEL_PUMP_I, // 10
IDX_ADC_COOLANT_PUMP_I, // 11
IDX_ADC_FAN1_I, // 12
IDX_ADC_FAN2_I, // 13
IDX_ADC_MAX
} E_IDX_ADC;
typedef enum
{
IDX_WARNING_GCU_PCB_OT = 0U,
IDX_WARNING_GCU_FET_OT,
IDX_WARNING_GCU_WINDING1_OH,
IDX_WARNING_GCU_WINDING2_OH,
IDX_WARNING_GCU_MAX
} E_IDX_WARNING_GCU;
typedef enum
{
IDX_WARNING_ECU_ENGINE_OH = 0U,
IDX_WARNING_ECU_RESERVED,
IDX_WARNING_ECU_LO_OIL_PRESS,
IDX_WARNING_ECU_INTAKE_OH,
IDX_WARNING_ECU_INTAKE_LO_PRESS,
IDX_WARNING_ECU_ENGINE_LO_TEMP,
IDX_WARNING_ECU_ENGINE_SENSOR,
IDX_WARNING_ECU_DEFAULT_ACTIVE,
IDX_WARNING_ECU_MAX
} E_IDX_WARNING_ECU;
typedef enum
{
IDX_FAULT_DCU_CAR_COMM = 0U, // 0
IDX_FAULT_DCU_GCU_COMM, // 1
IDX_FAULT_DCU_ECU_COMM, // 2
IDX_FAULT_DCU_RPM_ERR, // 3
IDX_FAULT_DCU_ENGINE_HEAT_OC, // 4
IDX_FAULT_DCU_GLOW_PLUG_OC, // 5
IDX_FAULT_DCU_SOLENOID_OC, // 6
IDX_FAULT_DCU_FUEL_PUMP_OC, // 7
IDX_FAULT_DCU_COOLANT_PUMP_OC, // 8
IDX_FAULT_DCU_FAN1_OC, // 9
IDX_FAULT_DCU_FAN2_OC, // 10
IDX_FAULT_DCU_ENGINE_HEAT_UV, // 11
IDX_FAULT_DCU_ENGINE_HEAT_OV, // 12
IDX_FAULT_DCU_GLOW_PLUG_UV, // 13
IDX_FAULT_DCU_GLOW_PLUG_OV, // 14
IDX_FAULT_DCU_SOLENOID_UV, // 15
IDX_FAULT_DCU_SOLENOID_OV, // 16
IDX_FAULT_DCU_FUEL_PUMP_UV, // 17
IDX_FAULT_DCU_FUEL_PUMP_OV, // 18
IDX_FAULT_DCU_COOLANT_PUMP_UV, // 19
IDX_FAULT_DCU_COOLANT_PUMP_OV, // 20
IDX_FAULT_DCU_FAN1_UV, // 21
IDX_FAULT_DCU_FAN1_OV, // 22
IDX_FAULT_DCU_FAN2_UV, // 23
IDX_FAULT_DCU_FAN2_OV, // 24
IDX_FAULT_DCU_CRANKING_FAIL, // 25
IDX_FAULT_DCU_MAX
} E_IDX_DCU_FAULT;
typedef enum
{
IDX_FAULT_GCU_HWTRIP = 0U, // 0
IDX_FAULT_GCU_HWIGBT, // 1
IDX_FAULT_GCU_HW_DC, // 2
IDX_FAULT_GCU_GEN_OCU, // 3
IDX_FAULT_GCU_GEN_OCV, // 4
IDX_FAULT_GCU_GEN_OCW, // 5
IDX_FAULT_GCU_DC_OV, // 6
IDX_FAULT_GCU_DC_OC, // 7
IDX_FAULT_GCU_CRANK_OC, // 8
IDX_FAULT_GCU_PCB_OT, // 9
IDX_FAULT_GCU_FET_OT, // 10
IDX_FAULT_GCU_WINDING1_OH, // 11
IDX_FAULT_GCU_WINDING2_OH, // 12
IDX_FAULT_GCU_GEN_OS, // 13
IDX_FAULT_GCU_RES_IC, // 14
IDX_FAULT_GCU_RES_PRTY, // 15
IDX_FAULT_GCU_MAX
} E_IDX_GCU_FAULT;
typedef enum
{
IDX_FAULT_ECU_OIL_MS = 0U, // 0
IDX_FAULT_ECU_INT_OH, // 1
IDX_FAULT_ECU_ENG_OH, // 2
IDX_FAULT_ECU_ACTUATOR, // 3
IDX_FAULT_ECU_RPM_SIG, // 4
IDX_FAULT_ECU_ENG_SF, // 5
IDX_FAULT_MAX
} E_IDX_ECU_FAULT;
typedef enum
{
IDX_KEY_MAIN_POWER = 0U, // 0
IDX_KEY_ARR_UP, // 1
IDX_KEY_ARR_DOWN, // 2
IDX_KEY_ENTER, // 3
IDX_KEY_MENU, // 4
IDX_KEY_ENG_START_STOP, // 5
IDX_KEY_EMERGENCY, // 6
IDX_KEY_REMOTE_START, // 7
IDX_KEY_REMOTE_STOP, // 8
IDX_KEY_REMOTE_EMERGENCY, // 9
IDX_KEY_BATTLE_MODE, // 10
IDX_KEY_MAX // 11
} E_IDX_KEY;
typedef struct ClassKeyHandler
{
E_IDX_KEY eKey;
void (*pAction) (void);
} CKeyHandler;
typedef struct ClassAdcOperValue
{
Uint16 uiAdcOffsetIndex;
Uint16 uiOffsetAdjustStart;
} CAdcOperValue;
typedef struct ClassAdcCalcValue
{
float32 fLpfValue;
float32 fSampledValue;
float32 fSampledSum;
float32 fTempAdcOffset;
float32 fGain;
float32 fOffset;
Uint16 uiSamplingCount;
int16 iAdcValue;
} CAdcCalcValue;
typedef struct ClassWarningOperValue
{
float32 fCheckLimit; // 경고 한계 값
Uint16 uiWarning; // 0: 정상, 1: 경고 발생 중
Uint16 uiDetectCount; // 경고 검출 카운터
Uint16 uiReleaseCount; // 경고 해제 카운터
Uint16 uiCheckTime;
} CWarningOperValue;
typedef struct ClassAlarmOperValue
{
float32 fCheckLimit;
float32 fFaultValue;
Uint16 uiCheck;
Uint16 uiCheckCount;
Uint16 uiCheckTime;
} CAlarmOperValue;
typedef struct ClassKeyList
{
Uint16 MainPower;
Uint16 ArrowUp;
Uint16 ArrowDown;
Uint16 Enter;
Uint16 Menu;
Uint16 EngineStartStop;
Uint16 Emergency;
Uint16 BattleMode;
} CKeyList;
typedef struct ClassKeyOperValue
{
Uint16 uiKeyWaitCount;
Uint16 uiPreviousKey;
Uint16 uiKeyWait;
CKeyList KeyList;
} CKeyOperValue;
extern CAdcCalcValue Adc_EngineHeater_V;
extern CAdcCalcValue Adc_GlowPlug_V;
extern CAdcCalcValue Adc_Solenoid_V;
extern CAdcCalcValue Adc_FuelPump_V;
extern CAdcCalcValue Adc_CoolantPump_V;
extern CAdcCalcValue Adc_Fan1_V;
extern CAdcCalcValue Adc_Fan2_V;
extern CAdcCalcValue Adc_EngineHeater_I;
extern CAdcCalcValue Adc_GlowPlug_I;
extern CAdcCalcValue Adc_Solenoid_I;
extern CAdcCalcValue Adc_FuelPump_I;
extern CAdcCalcValue Adc_CoolantPump_I;
extern CAdcCalcValue Adc_Fan1_I;
extern CAdcCalcValue Adc_Fan2_I;
extern CAdcOperValue AdcOperValue;
extern CKeyOperValue KeyOperValue;
extern Uint32 ulDcuTotalAlarm;
extern Uint32 ulGcuTotalAlarm;
extern Uint32 ulEcuTotalAlarm;
interrupt void CAdcInterrupt(void);
void CAlarmProcedure(void);
void CInitAdc(void);
void CKeyCheckProcedure(void);
void CKeyWaitCount(void);
void CDisplayAlarmPopup(void);
#endif /* SOURCE_STATE_H_ */