|
@@ -49,6 +49,8 @@
|
|
|
#define NO_DEFINE 255
|
|
|
#define NDEFAULT_AC_INDEX 2
|
|
|
|
|
|
+#define OVP_UVP_CHK_COUNT 3
|
|
|
+
|
|
|
struct SysConfigAndInfo *ShmSysConfigAndInfo;
|
|
|
struct StatusCodeData *ShmStatusCodeData;
|
|
|
struct FanModuleData *ShmFanModuleData;
|
|
@@ -57,10 +59,15 @@ struct LedModuleData *ShmLedModuleData;
|
|
|
struct PsuData *ShmPsuData;
|
|
|
struct OCPP16Data *ShmOCPP16Data;
|
|
|
|
|
|
-#define VIN_MAX_VOLTAGE_IEC 285
|
|
|
-#define VIN_MIN_VOLTAGE_IEC 160
|
|
|
-#define VIN_MAX_VOLTAGE_UL 315
|
|
|
-#define VIN_MIN_VOLTAGE_UL 210
|
|
|
+#define VIN_MAX_VOLTAGE_IEC 285
|
|
|
+#define VIN_MAX_REV_VOLTAGE_IEC 275
|
|
|
+#define VIN_MIN_VOLTAGE_IEC 160
|
|
|
+#define VIN_MIN_REV_VOLTAGE_IEC 170
|
|
|
+
|
|
|
+#define VIN_MAX_VOLTAGE_UL 315
|
|
|
+#define VIN_MAX_REV_VOLTAGE_UL 305
|
|
|
+#define VIN_MIN_VOLTAGE_UL 210
|
|
|
+#define VIN_MIN_REV_VOLTAGE_UL 220
|
|
|
|
|
|
#define VIN_DROP_VOLTAGE 150
|
|
|
|
|
@@ -447,180 +454,252 @@ void GetPresentInputVol()
|
|
|
|
|
|
if (ShmSysConfigAndInfo->SysInfo.ChargerType == _CHARGER_TYPE_IEC)
|
|
|
{
|
|
|
- if (inputVoltage.L1N_L12 < VIN_MIN_VOLTAGE_IEC)
|
|
|
+ if (ShmStatusCodeData->AlarmCode.AlarmEvents.bits.SystemL1InputUVP == NO)
|
|
|
{
|
|
|
- PRINTF_FUNC("In Uvp L1N_L12 = %f \n", inputVoltage.L1N_L12);
|
|
|
- if (_threePhaseUvp[0] >= 3)
|
|
|
- ShmStatusCodeData->AlarmCode.AlarmEvents.bits.SystemL1InputUVP = YES;
|
|
|
- else
|
|
|
- _threePhaseUvp[0] += 1;
|
|
|
+ if (inputVoltage.L1N_L12 < VIN_MIN_VOLTAGE_IEC)
|
|
|
+ {
|
|
|
+ PRINTF_FUNC("In Uvp L1N_L12 = %f \n", inputVoltage.L1N_L12);
|
|
|
+ if (_threePhaseUvp[0] >= OVP_UVP_CHK_COUNT)
|
|
|
+ ShmStatusCodeData->AlarmCode.AlarmEvents.bits.SystemL1InputUVP = YES;
|
|
|
+ else
|
|
|
+ _threePhaseUvp[0] += 1;
|
|
|
+ }
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
- ShmStatusCodeData->AlarmCode.AlarmEvents.bits.SystemL1InputUVP = NO;
|
|
|
- _threePhaseUvp[0] = 0;
|
|
|
+ if (inputVoltage.L1N_L12 > VIN_MIN_REV_VOLTAGE_IEC)
|
|
|
+ {
|
|
|
+ ShmStatusCodeData->AlarmCode.AlarmEvents.bits.SystemL1InputUVP = NO;
|
|
|
+ _threePhaseUvp[0] = 0;
|
|
|
+ }
|
|
|
}
|
|
|
|
|
|
- if (inputVoltage.L2N_L23 < VIN_MIN_VOLTAGE_IEC)
|
|
|
+ if (ShmStatusCodeData->AlarmCode.AlarmEvents.bits.SystemL2InputUVP == NO)
|
|
|
{
|
|
|
- PRINTF_FUNC("In Uvp L2N_L23 = %f \n", inputVoltage.L2N_L23);
|
|
|
- if (_threePhaseUvp[1] >= 3)
|
|
|
- ShmStatusCodeData->AlarmCode.AlarmEvents.bits.SystemL2InputUVP = YES;
|
|
|
- else
|
|
|
+ if (inputVoltage.L2N_L23 < VIN_MIN_VOLTAGE_IEC)
|
|
|
+ {
|
|
|
+ PRINTF_FUNC("In Uvp L2N_L23 = %f \n", inputVoltage.L2N_L23);
|
|
|
+ if (_threePhaseUvp[1] >= OVP_UVP_CHK_COUNT)
|
|
|
+ ShmStatusCodeData->AlarmCode.AlarmEvents.bits.SystemL2InputUVP = YES;
|
|
|
+ else
|
|
|
_threePhaseUvp[1] += 1;
|
|
|
+ }
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
- ShmStatusCodeData->AlarmCode.AlarmEvents.bits.SystemL2InputUVP = NO;
|
|
|
- _threePhaseUvp[1] = 0;
|
|
|
+ if (inputVoltage.L2N_L23 > VIN_MIN_REV_VOLTAGE_IEC)
|
|
|
+ {
|
|
|
+ ShmStatusCodeData->AlarmCode.AlarmEvents.bits.SystemL2InputUVP = NO;
|
|
|
+ _threePhaseUvp[1] = 0;
|
|
|
+ }
|
|
|
}
|
|
|
|
|
|
- if (inputVoltage.L3N_L31 < VIN_MIN_VOLTAGE_IEC)
|
|
|
+ if (ShmStatusCodeData->AlarmCode.AlarmEvents.bits.SystemL3InputUVP == NO)
|
|
|
{
|
|
|
- PRINTF_FUNC("In Uvp L3N_L31 = %f \n", inputVoltage.L3N_L31);
|
|
|
- if (_threePhaseUvp[2] >= 3)
|
|
|
- ShmStatusCodeData->AlarmCode.AlarmEvents.bits.SystemL3InputUVP = YES;
|
|
|
- else
|
|
|
- _threePhaseUvp[2] += 1;
|
|
|
+ if (inputVoltage.L3N_L31 < VIN_MIN_VOLTAGE_IEC)
|
|
|
+ {
|
|
|
+ PRINTF_FUNC("In Uvp L3N_L31 = %f \n", inputVoltage.L3N_L31);
|
|
|
+ if (_threePhaseUvp[2] >= OVP_UVP_CHK_COUNT)
|
|
|
+ ShmStatusCodeData->AlarmCode.AlarmEvents.bits.SystemL3InputUVP = YES;
|
|
|
+ else
|
|
|
+ _threePhaseUvp[2] += 1;
|
|
|
+ }
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
- ShmStatusCodeData->AlarmCode.AlarmEvents.bits.SystemL3InputUVP = NO;
|
|
|
- _threePhaseUvp[2] = 0;
|
|
|
+ if (inputVoltage.L3N_L31 > VIN_MIN_REV_VOLTAGE_IEC)
|
|
|
+ {
|
|
|
+ ShmStatusCodeData->AlarmCode.AlarmEvents.bits.SystemL3InputUVP = NO;
|
|
|
+ _threePhaseUvp[2] = 0;
|
|
|
+ }
|
|
|
}
|
|
|
}
|
|
|
else if (ShmSysConfigAndInfo->SysInfo.ChargerType == _CHARGER_TYPE_UL)
|
|
|
{
|
|
|
- if (inputVoltage.L1N_L12 < VIN_MIN_VOLTAGE_UL)
|
|
|
+ if (ShmStatusCodeData->AlarmCode.AlarmEvents.bits.SystemL1InputUVP == NO)
|
|
|
{
|
|
|
- PRINTF_FUNC("In Uvp L1N_L12 = %f \n", inputVoltage.L1N_L12);
|
|
|
- if (_threePhaseUvp[0] >= 3)
|
|
|
- ShmStatusCodeData->AlarmCode.AlarmEvents.bits.SystemL1InputUVP = YES;
|
|
|
- else
|
|
|
- _threePhaseUvp[0] += 1;
|
|
|
+ if (inputVoltage.L1N_L12 < VIN_MIN_VOLTAGE_UL)
|
|
|
+ {
|
|
|
+ PRINTF_FUNC("In Uvp L1N_L12 = %f \n", inputVoltage.L1N_L12);
|
|
|
+ if (_threePhaseUvp[0] >= OVP_UVP_CHK_COUNT)
|
|
|
+ ShmStatusCodeData->AlarmCode.AlarmEvents.bits.SystemL1InputUVP = YES;
|
|
|
+ else
|
|
|
+ _threePhaseUvp[0] += 1;
|
|
|
+ }
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
- ShmStatusCodeData->AlarmCode.AlarmEvents.bits.SystemL1InputUVP = NO;
|
|
|
- _threePhaseUvp[0] = 0;
|
|
|
+ if (inputVoltage.L1N_L12 > VIN_MIN_REV_VOLTAGE_UL)
|
|
|
+ {
|
|
|
+ ShmStatusCodeData->AlarmCode.AlarmEvents.bits.SystemL1InputUVP = NO;
|
|
|
+ _threePhaseUvp[0] = 0;
|
|
|
+ }
|
|
|
}
|
|
|
|
|
|
- if (inputVoltage.L2N_L23 < VIN_MIN_VOLTAGE_UL)
|
|
|
+ if (ShmStatusCodeData->AlarmCode.AlarmEvents.bits.SystemL2InputUVP == NO)
|
|
|
{
|
|
|
- PRINTF_FUNC("In Uvp L2N_L23 = %f \n", inputVoltage.L2N_L23);
|
|
|
- if (_threePhaseUvp[1] >= 3)
|
|
|
- ShmStatusCodeData->AlarmCode.AlarmEvents.bits.SystemL2InputUVP = YES;
|
|
|
- else
|
|
|
- _threePhaseUvp[1] += 1;
|
|
|
+ if (inputVoltage.L2N_L23 < VIN_MIN_VOLTAGE_UL)
|
|
|
+ {
|
|
|
+ PRINTF_FUNC("In Uvp L2N_L23 = %f \n", inputVoltage.L2N_L23);
|
|
|
+ if (_threePhaseUvp[1] >= OVP_UVP_CHK_COUNT)
|
|
|
+ ShmStatusCodeData->AlarmCode.AlarmEvents.bits.SystemL2InputUVP = YES;
|
|
|
+ else
|
|
|
+ _threePhaseUvp[1] += 1;
|
|
|
+ }
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
- ShmStatusCodeData->AlarmCode.AlarmEvents.bits.SystemL2InputUVP = NO;
|
|
|
- _threePhaseUvp[1] = 0;
|
|
|
+ if (inputVoltage.L2N_L23 > VIN_MIN_REV_VOLTAGE_UL)
|
|
|
+ {
|
|
|
+ ShmStatusCodeData->AlarmCode.AlarmEvents.bits.SystemL2InputUVP = NO;
|
|
|
+ _threePhaseUvp[1] = 0;
|
|
|
+ }
|
|
|
}
|
|
|
|
|
|
- if (inputVoltage.L3N_L31 < VIN_MIN_VOLTAGE_UL)
|
|
|
+ if (ShmStatusCodeData->AlarmCode.AlarmEvents.bits.SystemL3InputUVP == NO)
|
|
|
{
|
|
|
- PRINTF_FUNC("In Uvp L3N_L31 = %f \n", inputVoltage.L3N_L31);
|
|
|
- if (_threePhaseUvp[2] >= 3)
|
|
|
- ShmStatusCodeData->AlarmCode.AlarmEvents.bits.SystemL3InputUVP = YES;
|
|
|
- else
|
|
|
- _threePhaseUvp[2] += 1;
|
|
|
+ if (inputVoltage.L3N_L31 < VIN_MIN_VOLTAGE_UL)
|
|
|
+ {
|
|
|
+ PRINTF_FUNC("In Uvp L3N_L31 = %f \n", inputVoltage.L3N_L31);
|
|
|
+ if (_threePhaseUvp[2] >= OVP_UVP_CHK_COUNT)
|
|
|
+ ShmStatusCodeData->AlarmCode.AlarmEvents.bits.SystemL3InputUVP = YES;
|
|
|
+ else
|
|
|
+ _threePhaseUvp[2] += 1;
|
|
|
+ }
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
- ShmStatusCodeData->AlarmCode.AlarmEvents.bits.SystemL3InputUVP = NO;
|
|
|
- _threePhaseUvp[2] = 0;
|
|
|
+ if (inputVoltage.L3N_L31 > VIN_MIN_REV_VOLTAGE_UL)
|
|
|
+ {
|
|
|
+ ShmStatusCodeData->AlarmCode.AlarmEvents.bits.SystemL3InputUVP = NO;
|
|
|
+ _threePhaseUvp[2] = 0;
|
|
|
+ }
|
|
|
}
|
|
|
}
|
|
|
|
|
|
|
|
|
if (ShmSysConfigAndInfo->SysInfo.ChargerType == _CHARGER_TYPE_IEC)
|
|
|
{
|
|
|
- if (inputVoltage.L1N_L12 > VIN_MAX_VOLTAGE_IEC)
|
|
|
+ if (ShmStatusCodeData->AlarmCode.AlarmEvents.bits.SystemL1InputOVP == NO)
|
|
|
{
|
|
|
- PRINTF_FUNC("In Ovp L1N_L12 = %f \n", inputVoltage.L1N_L12);
|
|
|
- if (_threePhaseOvp[0] >= 3)
|
|
|
- ShmStatusCodeData->AlarmCode.AlarmEvents.bits.SystemL1InputOVP = YES;
|
|
|
- else
|
|
|
- _threePhaseOvp[0] += 1;
|
|
|
+ if (inputVoltage.L1N_L12 > VIN_MAX_VOLTAGE_IEC)
|
|
|
+ {
|
|
|
+ PRINTF_FUNC("In Ovp L1N_L12 = %f \n", inputVoltage.L1N_L12);
|
|
|
+ if (_threePhaseOvp[0] >= OVP_UVP_CHK_COUNT)
|
|
|
+ ShmStatusCodeData->AlarmCode.AlarmEvents.bits.SystemL1InputOVP = YES;
|
|
|
+ else
|
|
|
+ _threePhaseOvp[0] += 1;
|
|
|
+ }
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
- ShmStatusCodeData->AlarmCode.AlarmEvents.bits.SystemL1InputOVP = NO;
|
|
|
- _threePhaseOvp[0] = 0;
|
|
|
+ if (inputVoltage.L1N_L12 < VIN_MAX_REV_VOLTAGE_IEC)
|
|
|
+ {
|
|
|
+ ShmStatusCodeData->AlarmCode.AlarmEvents.bits.SystemL1InputOVP = NO;
|
|
|
+ _threePhaseOvp[0] = 0;
|
|
|
+ }
|
|
|
}
|
|
|
|
|
|
- if (inputVoltage.L2N_L23 > VIN_MAX_VOLTAGE_IEC)
|
|
|
+ if (ShmStatusCodeData->AlarmCode.AlarmEvents.bits.SystemL2InputOVP == NO)
|
|
|
{
|
|
|
- PRINTF_FUNC("In Ovp L2N_L23 = %f \n", inputVoltage.L2N_L23);
|
|
|
- if (_threePhaseOvp[1] >= 3)
|
|
|
- ShmStatusCodeData->AlarmCode.AlarmEvents.bits.SystemL2InputOVP = YES;
|
|
|
- else
|
|
|
- _threePhaseOvp[1] += 1;
|
|
|
+ if (inputVoltage.L2N_L23 > VIN_MAX_VOLTAGE_IEC)
|
|
|
+ {
|
|
|
+ PRINTF_FUNC("In Ovp L2N_L23 = %f \n", inputVoltage.L2N_L23);
|
|
|
+ if (_threePhaseOvp[1] >= OVP_UVP_CHK_COUNT)
|
|
|
+ ShmStatusCodeData->AlarmCode.AlarmEvents.bits.SystemL2InputOVP = YES;
|
|
|
+ else
|
|
|
+ _threePhaseOvp[1] += 1;
|
|
|
+ }
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
- ShmStatusCodeData->AlarmCode.AlarmEvents.bits.SystemL2InputOVP = NO;
|
|
|
- _threePhaseOvp[1] = 0;
|
|
|
+ if (inputVoltage.L2N_L23 < VIN_MAX_REV_VOLTAGE_IEC)
|
|
|
+ {
|
|
|
+ ShmStatusCodeData->AlarmCode.AlarmEvents.bits.SystemL2InputOVP = NO;
|
|
|
+ _threePhaseOvp[1] = 0;
|
|
|
+ }
|
|
|
}
|
|
|
|
|
|
- if (inputVoltage.L3N_L31 > VIN_MAX_VOLTAGE_IEC)
|
|
|
+ if (ShmStatusCodeData->AlarmCode.AlarmEvents.bits.SystemL3InputOVP == NO)
|
|
|
{
|
|
|
- PRINTF_FUNC("In Ovp L3N_L31 = %f \n", inputVoltage.L3N_L31);
|
|
|
- if (_threePhaseOvp[2] >= 3)
|
|
|
- ShmStatusCodeData->AlarmCode.AlarmEvents.bits.SystemL3InputOVP = YES;
|
|
|
- else
|
|
|
- _threePhaseOvp[2] += 1;
|
|
|
+ if (inputVoltage.L3N_L31 > VIN_MAX_VOLTAGE_IEC)
|
|
|
+ {
|
|
|
+ PRINTF_FUNC("In Ovp L3N_L31 = %f \n", inputVoltage.L3N_L31);
|
|
|
+ if (_threePhaseOvp[2] >= OVP_UVP_CHK_COUNT)
|
|
|
+ ShmStatusCodeData->AlarmCode.AlarmEvents.bits.SystemL3InputOVP = YES;
|
|
|
+ else
|
|
|
+ _threePhaseOvp[2] += 1;
|
|
|
+ }
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
- ShmStatusCodeData->AlarmCode.AlarmEvents.bits.SystemL3InputOVP = NO;
|
|
|
- _threePhaseOvp[2] = 0;
|
|
|
+ if (inputVoltage.L3N_L31 < VIN_MAX_REV_VOLTAGE_IEC)
|
|
|
+ {
|
|
|
+ ShmStatusCodeData->AlarmCode.AlarmEvents.bits.SystemL3InputOVP = NO;
|
|
|
+ _threePhaseOvp[2] = 0;
|
|
|
+ }
|
|
|
}
|
|
|
}
|
|
|
else if (ShmSysConfigAndInfo->SysInfo.ChargerType == _CHARGER_TYPE_UL)
|
|
|
{
|
|
|
- if (inputVoltage.L1N_L12 > VIN_MAX_VOLTAGE_UL)
|
|
|
+ if (ShmStatusCodeData->AlarmCode.AlarmEvents.bits.SystemL1InputOVP == NO)
|
|
|
{
|
|
|
- PRINTF_FUNC("In Ovp L1N_L12 = %f \n", inputVoltage.L1N_L12);
|
|
|
- if (_threePhaseOvp[0] >= 3)
|
|
|
- ShmStatusCodeData->AlarmCode.AlarmEvents.bits.SystemL1InputOVP = YES;
|
|
|
- else
|
|
|
- _threePhaseOvp[0] += 0;
|
|
|
+ if (inputVoltage.L1N_L12 > VIN_MAX_VOLTAGE_UL)
|
|
|
+ {
|
|
|
+ PRINTF_FUNC("In Ovp L1N_L12 = %f \n", inputVoltage.L1N_L12);
|
|
|
+ if (_threePhaseOvp[0] >= OVP_UVP_CHK_COUNT)
|
|
|
+ ShmStatusCodeData->AlarmCode.AlarmEvents.bits.SystemL1InputOVP = YES;
|
|
|
+ else
|
|
|
+ _threePhaseOvp[0] += 0;
|
|
|
+ }
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
- ShmStatusCodeData->AlarmCode.AlarmEvents.bits.SystemL1InputOVP = NO;
|
|
|
- _threePhaseOvp[0] = 0;
|
|
|
+ if (inputVoltage.L1N_L12 < VIN_MAX_REV_VOLTAGE_UL)
|
|
|
+ {
|
|
|
+ ShmStatusCodeData->AlarmCode.AlarmEvents.bits.SystemL1InputOVP = NO;
|
|
|
+ _threePhaseOvp[0] = 0;
|
|
|
+ }
|
|
|
}
|
|
|
|
|
|
- if (inputVoltage.L2N_L23 > VIN_MAX_VOLTAGE_UL)
|
|
|
+ if (ShmStatusCodeData->AlarmCode.AlarmEvents.bits.SystemL2InputOVP == NO)
|
|
|
{
|
|
|
- PRINTF_FUNC("In Ovp L2N_L23 = %f \n", inputVoltage.L2N_L23);
|
|
|
- if (_threePhaseOvp[1] >= 3)
|
|
|
- ShmStatusCodeData->AlarmCode.AlarmEvents.bits.SystemL2InputOVP = YES;
|
|
|
- else
|
|
|
- _threePhaseOvp[1] += 0;
|
|
|
+ if (inputVoltage.L2N_L23 > VIN_MAX_VOLTAGE_UL)
|
|
|
+ {
|
|
|
+ PRINTF_FUNC("In Ovp L2N_L23 = %f \n", inputVoltage.L2N_L23);
|
|
|
+ if (_threePhaseOvp[1] >= OVP_UVP_CHK_COUNT)
|
|
|
+ ShmStatusCodeData->AlarmCode.AlarmEvents.bits.SystemL2InputOVP = YES;
|
|
|
+ else
|
|
|
+ _threePhaseOvp[1] += 0;
|
|
|
+ }
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
- ShmStatusCodeData->AlarmCode.AlarmEvents.bits.SystemL2InputOVP = NO;
|
|
|
- _threePhaseOvp[1] = 0;
|
|
|
+ if (inputVoltage.L2N_L23 < VIN_MAX_REV_VOLTAGE_UL)
|
|
|
+ {
|
|
|
+ ShmStatusCodeData->AlarmCode.AlarmEvents.bits.SystemL2InputOVP = NO;
|
|
|
+ _threePhaseOvp[1] = 0;
|
|
|
+ }
|
|
|
}
|
|
|
|
|
|
- if (inputVoltage.L3N_L31 > VIN_MAX_VOLTAGE_UL)
|
|
|
+ if (ShmStatusCodeData->AlarmCode.AlarmEvents.bits.SystemL3InputOVP == NO)
|
|
|
{
|
|
|
- PRINTF_FUNC("In Ovp L3N_L31 = %f \n", inputVoltage.L3N_L31);
|
|
|
- if (_threePhaseOvp[2] >= 3)
|
|
|
- ShmStatusCodeData->AlarmCode.AlarmEvents.bits.SystemL3InputOVP = YES;
|
|
|
- else
|
|
|
- _threePhaseOvp[2] += 1;
|
|
|
+ if (inputVoltage.L3N_L31 > VIN_MAX_VOLTAGE_UL)
|
|
|
+ {
|
|
|
+ PRINTF_FUNC("In Ovp L3N_L31 = %f \n", inputVoltage.L3N_L31);
|
|
|
+ if (_threePhaseOvp[2] >= OVP_UVP_CHK_COUNT)
|
|
|
+ ShmStatusCodeData->AlarmCode.AlarmEvents.bits.SystemL3InputOVP = YES;
|
|
|
+ else
|
|
|
+ _threePhaseOvp[2] += 1;
|
|
|
+ }
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
- ShmStatusCodeData->AlarmCode.AlarmEvents.bits.SystemL3InputOVP = NO;
|
|
|
- _threePhaseOvp[2] = 0;
|
|
|
+ if (inputVoltage.L3N_L31 < VIN_MAX_REV_VOLTAGE_UL)
|
|
|
+ {
|
|
|
+ ShmStatusCodeData->AlarmCode.AlarmEvents.bits.SystemL3InputOVP = NO;
|
|
|
+ _threePhaseOvp[2] = 0;
|
|
|
+ }
|
|
|
}
|
|
|
}
|
|
|
}
|
|
@@ -1101,54 +1180,6 @@ void SetK1K2RelayStatus(byte index)
|
|
|
}
|
|
|
}
|
|
|
|
|
|
-void CheckAcInputOvpStatus(byte index)
|
|
|
-{
|
|
|
- if (ShmStatusCodeData->AlarmCode.AlarmEvents.bits.SystemL1InputOVP == YES ||
|
|
|
- ShmStatusCodeData->AlarmCode.AlarmEvents.bits.SystemL2InputOVP == YES ||
|
|
|
- ShmStatusCodeData->AlarmCode.AlarmEvents.bits.SystemL3InputOVP == YES)
|
|
|
- {
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
- _chargingData[index]->StopChargeFlag = YES;
|
|
|
- }
|
|
|
-}
|
|
|
-
|
|
|
-void CheckPhaseLossStatus(byte index)
|
|
|
-{
|
|
|
- if (ShmStatusCodeData->AlarmCode.AlarmEvents.bits.SystemL1InputUVP == YES ||
|
|
|
- ShmStatusCodeData->AlarmCode.AlarmEvents.bits.SystemL2InputUVP == YES ||
|
|
|
- ShmStatusCodeData->AlarmCode.AlarmEvents.bits.SystemL3InputUVP == YES)
|
|
|
- {
|
|
|
- _chargingData[index]->StopChargeFlag = YES;
|
|
|
- }
|
|
|
-}
|
|
|
-
|
|
|
void SetParalleRelayStatus()
|
|
|
{
|
|
|
|
|
@@ -1300,63 +1331,6 @@ void SetLedColor(struct ChargingInfoData *chargingData_1, struct ChargingInfoDat
|
|
|
else if (ShmSysConfigAndInfo->SysConfig.LedInfo.Intensity == _LED_INTENSITY_MEDIUM)
|
|
|
_colorBuf = COLOR_MAX_LV * LED_INTENSITY_MEDIUM;
|
|
|
|
|
|
- if (ShmSysConfigAndInfo->SysInfo.IsAlternatvieConf)
|
|
|
- {
|
|
|
- if ((chargingData_1->SystemStatus == S_BOOTING || chargingData_1->SystemStatus == S_IDLE || chargingData_1->SystemStatus == S_RESERVATION) &&
|
|
|
- (chargingData_2->SystemStatus == S_BOOTING || chargingData_2->SystemStatus == S_IDLE || chargingData_2->SystemStatus == S_RESERVATION))
|
|
|
- {
|
|
|
- led_color.Connect_1_Green = _colorBuf;
|
|
|
- led_color.Connect_1_Blue = COLOR_MIN_LV;
|
|
|
- led_color.Connect_1_Red = COLOR_MIN_LV;
|
|
|
- led_color.Connect_2_Green = _colorBuf;
|
|
|
- led_color.Connect_2_Blue = COLOR_MIN_LV;
|
|
|
- led_color.Connect_2_Red = COLOR_MIN_LV;
|
|
|
- }
|
|
|
- else if ((chargingData_1->SystemStatus >= S_AUTHORIZING && chargingData_1->SystemStatus <= S_COMPLETE) ||
|
|
|
- (chargingData_1->SystemStatus >= S_CCS_PRECHARGE_ST0 && chargingData_1->SystemStatus <= S_CCS_PRECHARGE_ST1) ||
|
|
|
- (chargingData_2->SystemStatus >= S_AUTHORIZING && chargingData_2->SystemStatus <= S_COMPLETE) ||
|
|
|
- (chargingData_2->SystemStatus >= S_CCS_PRECHARGE_ST0 && chargingData_2->SystemStatus <= S_CCS_PRECHARGE_ST1))
|
|
|
- {
|
|
|
- led_color.Connect_1_Green = COLOR_MIN_LV;
|
|
|
- led_color.Connect_1_Blue = _colorBuf;
|
|
|
- led_color.Connect_1_Red = COLOR_MIN_LV;
|
|
|
- led_color.Connect_2_Green = COLOR_MIN_LV;
|
|
|
- led_color.Connect_2_Blue = _colorBuf;
|
|
|
- led_color.Connect_2_Red = COLOR_MIN_LV;
|
|
|
- }
|
|
|
- }
|
|
|
- else
|
|
|
- {
|
|
|
- if (chargingData_1->SystemStatus == S_BOOTING || chargingData_1->SystemStatus == S_IDLE || chargingData_1->SystemStatus == S_RESERVATION)
|
|
|
- {
|
|
|
- led_color.Connect_1_Green = _colorBuf;
|
|
|
- led_color.Connect_1_Blue = COLOR_MIN_LV;
|
|
|
- led_color.Connect_1_Red = COLOR_MIN_LV;
|
|
|
- }
|
|
|
- else if ((chargingData_1->SystemStatus >= S_AUTHORIZING && chargingData_1->SystemStatus <= S_COMPLETE) ||
|
|
|
- (chargingData_1->SystemStatus >= S_CCS_PRECHARGE_ST0 && chargingData_1->SystemStatus <= S_CCS_PRECHARGE_ST1))
|
|
|
- {
|
|
|
- led_color.Connect_1_Green = COLOR_MIN_LV;
|
|
|
- led_color.Connect_1_Blue = _colorBuf;
|
|
|
- led_color.Connect_1_Red = COLOR_MIN_LV;
|
|
|
- }
|
|
|
-
|
|
|
-
|
|
|
- if (chargingData_2->SystemStatus == S_BOOTING || chargingData_2->SystemStatus == S_IDLE || chargingData_2->SystemStatus == S_RESERVATION)
|
|
|
- {
|
|
|
- led_color.Connect_2_Green = _colorBuf;
|
|
|
- led_color.Connect_2_Blue = COLOR_MIN_LV;
|
|
|
- led_color.Connect_2_Red = COLOR_MIN_LV;
|
|
|
- }
|
|
|
- else if ((chargingData_2->SystemStatus >= S_AUTHORIZING && chargingData_2->SystemStatus <= S_COMPLETE) ||
|
|
|
- (chargingData_2->SystemStatus >= S_CCS_PRECHARGE_ST0 && chargingData_2->SystemStatus <= S_CCS_PRECHARGE_ST1))
|
|
|
- {
|
|
|
- led_color.Connect_2_Green = COLOR_MIN_LV;
|
|
|
- led_color.Connect_2_Blue = _colorBuf;
|
|
|
- led_color.Connect_2_Red = COLOR_MIN_LV;
|
|
|
- }
|
|
|
- }
|
|
|
-
|
|
|
if (ShmSysConfigAndInfo->SysWarningInfo.Level == 2)
|
|
|
{
|
|
|
led_color.Connect_1_Green = COLOR_MIN_LV;
|
|
@@ -1366,6 +1340,65 @@ void SetLedColor(struct ChargingInfoData *chargingData_1, struct ChargingInfoDat
|
|
|
led_color.Connect_2_Blue = COLOR_MIN_LV;
|
|
|
led_color.Connect_2_Red = _colorBuf;
|
|
|
}
|
|
|
+ else
|
|
|
+ {
|
|
|
+ if (ShmSysConfigAndInfo->SysInfo.IsAlternatvieConf)
|
|
|
+ {
|
|
|
+ if ((chargingData_1->SystemStatus == S_BOOTING || chargingData_1->SystemStatus == S_IDLE || chargingData_1->SystemStatus == S_RESERVATION) &&
|
|
|
+ (chargingData_2->SystemStatus == S_BOOTING || chargingData_2->SystemStatus == S_IDLE || chargingData_2->SystemStatus == S_RESERVATION))
|
|
|
+ {
|
|
|
+ led_color.Connect_1_Green = _colorBuf;
|
|
|
+ led_color.Connect_1_Blue = COLOR_MIN_LV;
|
|
|
+ led_color.Connect_1_Red = COLOR_MIN_LV;
|
|
|
+ led_color.Connect_2_Green = _colorBuf;
|
|
|
+ led_color.Connect_2_Blue = COLOR_MIN_LV;
|
|
|
+ led_color.Connect_2_Red = COLOR_MIN_LV;
|
|
|
+ }
|
|
|
+ else if ((chargingData_1->SystemStatus >= S_AUTHORIZING && chargingData_1->SystemStatus <= S_COMPLETE) ||
|
|
|
+ (chargingData_1->SystemStatus >= S_CCS_PRECHARGE_ST0 && chargingData_1->SystemStatus <= S_CCS_PRECHARGE_ST1) ||
|
|
|
+ (chargingData_2->SystemStatus >= S_AUTHORIZING && chargingData_2->SystemStatus <= S_COMPLETE) ||
|
|
|
+ (chargingData_2->SystemStatus >= S_CCS_PRECHARGE_ST0 && chargingData_2->SystemStatus <= S_CCS_PRECHARGE_ST1))
|
|
|
+ {
|
|
|
+ led_color.Connect_1_Green = COLOR_MIN_LV;
|
|
|
+ led_color.Connect_1_Blue = _colorBuf;
|
|
|
+ led_color.Connect_1_Red = COLOR_MIN_LV;
|
|
|
+ led_color.Connect_2_Green = COLOR_MIN_LV;
|
|
|
+ led_color.Connect_2_Blue = _colorBuf;
|
|
|
+ led_color.Connect_2_Red = COLOR_MIN_LV;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ else
|
|
|
+ {
|
|
|
+ if (chargingData_1->SystemStatus == S_BOOTING || chargingData_1->SystemStatus == S_IDLE || chargingData_1->SystemStatus == S_RESERVATION)
|
|
|
+ {
|
|
|
+ led_color.Connect_1_Green = _colorBuf;
|
|
|
+ led_color.Connect_1_Blue = COLOR_MIN_LV;
|
|
|
+ led_color.Connect_1_Red = COLOR_MIN_LV;
|
|
|
+ }
|
|
|
+ else if ((chargingData_1->SystemStatus >= S_AUTHORIZING && chargingData_1->SystemStatus <= S_COMPLETE) ||
|
|
|
+ (chargingData_1->SystemStatus >= S_CCS_PRECHARGE_ST0 && chargingData_1->SystemStatus <= S_CCS_PRECHARGE_ST1))
|
|
|
+ {
|
|
|
+ led_color.Connect_1_Green = COLOR_MIN_LV;
|
|
|
+ led_color.Connect_1_Blue = _colorBuf;
|
|
|
+ led_color.Connect_1_Red = COLOR_MIN_LV;
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+ if (chargingData_2->SystemStatus == S_BOOTING || chargingData_2->SystemStatus == S_IDLE || chargingData_2->SystemStatus == S_RESERVATION)
|
|
|
+ {
|
|
|
+ led_color.Connect_2_Green = _colorBuf;
|
|
|
+ led_color.Connect_2_Blue = COLOR_MIN_LV;
|
|
|
+ led_color.Connect_2_Red = COLOR_MIN_LV;
|
|
|
+ }
|
|
|
+ else if ((chargingData_2->SystemStatus >= S_AUTHORIZING && chargingData_2->SystemStatus <= S_COMPLETE) ||
|
|
|
+ (chargingData_2->SystemStatus >= S_CCS_PRECHARGE_ST0 && chargingData_2->SystemStatus <= S_CCS_PRECHARGE_ST1))
|
|
|
+ {
|
|
|
+ led_color.Connect_2_Green = COLOR_MIN_LV;
|
|
|
+ led_color.Connect_2_Blue = _colorBuf;
|
|
|
+ led_color.Connect_2_Red = COLOR_MIN_LV;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
|
|
|
if (_checkLedChanged > 0)
|
|
|
{
|
|
@@ -1771,6 +1804,14 @@ void CheckOutputPowerOverCarReq(byte index)
|
|
|
_chargingData[index]->FireChargingVoltage, (_chargingData[index]->EvBatterytargetVoltage * 10));
|
|
|
DEBUG_ERROR("[Module_InternalComm]CheckOutputPowerOverCarReq NG : fire = %f, battery = %f \n",
|
|
|
_chargingData[index]->FireChargingVoltage, (_chargingData[index]->EvBatterytargetVoltage * 10));
|
|
|
+
|
|
|
+ if (_chargingData[index]->Type == _Type_Chademo)
|
|
|
+ ShmStatusCodeData->AlarmCode.AlarmEvents.bits.SystemChademoOutputOVP = YES;
|
|
|
+ else if (_chargingData[index]->Type == _Type_CCS_2)
|
|
|
+ ShmStatusCodeData->AlarmCode.AlarmEvents.bits.SystemCcsOutputOVP = YES;
|
|
|
+ else if (_chargingData[index]->Type == _Type_GB)
|
|
|
+ ShmStatusCodeData->AlarmCode.AlarmEvents.bits.SystemGbOutputOVP = YES;
|
|
|
+
|
|
|
_chargingData[index]->StopChargeFlag = YES;
|
|
|
}
|
|
|
}
|
|
@@ -1799,6 +1840,14 @@ void CheckOutputVolNoneMatchFire(byte index)
|
|
|
index, (_chargingData[index]->PresentChargingVoltage * 10), _chargingData[index]->FireChargingVoltage);
|
|
|
DEBUG_ERROR("[Module_InternalComm]CheckOutputVolNoneMatchFire NG (%d): pre = %f, fire = %f \n",
|
|
|
index, (_chargingData[index]->PresentChargingVoltage * 10), _chargingData[index]->FireChargingVoltage);
|
|
|
+
|
|
|
+ if (_chargingData[index]->Type == _Type_Chademo)
|
|
|
+ ShmStatusCodeData->FaultCode.FaultEvents.bits.ChademoOutputRelayDrivingFault = YES;
|
|
|
+ else if (_chargingData[index]->Type == _Type_GB)
|
|
|
+ ShmStatusCodeData->FaultCode.FaultEvents.bits.GbOutputRelayDrivingFault = YES;
|
|
|
+ else if (_chargingData[index]->Type == _Type_CCS_2)
|
|
|
+ ShmStatusCodeData->FaultCode.FaultEvents.bits.CcsOutputRelayDrivingFault = YES;
|
|
|
+
|
|
|
_chargingData[index]->StopChargeFlag = YES;
|
|
|
}
|
|
|
}
|
|
@@ -1875,101 +1924,102 @@ void GetPsuTempForFanSpeed()
|
|
|
|
|
|
void GetFanSpeedByFunction()
|
|
|
{
|
|
|
- if (ShmSysConfigAndInfo->SysConfig.SwitchDebugFlag == YES)
|
|
|
- return;
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
- unsigned int _maxPower = ShmPsuData->SystemAvailablePower;
|
|
|
-
|
|
|
- unsigned char temp = 0;
|
|
|
- float power = 0;
|
|
|
-
|
|
|
- for (byte index = 0; index < ShmPsuData->GroupCount; index++)
|
|
|
- {
|
|
|
- for (byte count = 0; count < ShmPsuData->PsuGroup[index].GroupPresentPsuQuantity; count++)
|
|
|
- {
|
|
|
- if (temp < ShmPsuData->PsuGroup[index].PsuModule[count].ExletTemp)
|
|
|
- temp = ShmPsuData->PsuGroup[index].PsuModule[count].ExletTemp;
|
|
|
- }
|
|
|
- power += (_chargingData[index]->PresentChargingPower * 10);
|
|
|
- }
|
|
|
-
|
|
|
- double _pw_rate = 0;
|
|
|
- if (_maxPower > 0)
|
|
|
- _pw_rate = power / (double)_maxPower;
|
|
|
- double _temp_rate = 0;
|
|
|
- if (temp > 0)
|
|
|
- _temp_rate = (double)temp / 45;
|
|
|
- unsigned char _temp_diff = 0;
|
|
|
- if (temp > 45)
|
|
|
- _temp_diff = temp - 45;
|
|
|
-
|
|
|
- ShmFanModuleData->TestFanSpeed = ((30 * _pw_rate * _temp_rate + 14 * _temp_diff) / 100) * MAX_FAN_SPEED;
|
|
|
-
|
|
|
- if (ShmFanModuleData->TestFanSpeed > MAX_FAN_SPEED)
|
|
|
- ShmFanModuleData->TestFanSpeed = MAX_FAN_SPEED;
|
|
|
-
|
|
|
- if (ShmFanModuleData->TestFanSpeed < 0)
|
|
|
- ShmFanModuleData->TestFanSpeed = 0;
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
|
|
|
-
|
|
|
+
|
|
|
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
+
|
|
|
|
|
|
-
|
|
|
-
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
|
|
|
-
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
|
|
|
-
|
|
|
-
|
|
|
+
|
|
|
|
|
|
-
|
|
|
-
|
|
|
+
|
|
|
+
|
|
|
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+ if (ShmSysConfigAndInfo->SysConfig.SwitchDebugFlag == YES)
|
|
|
+ return;
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+ unsigned int _maxPower = ShmPsuData->SystemAvailablePower;
|
|
|
+
|
|
|
+ unsigned char temp = 0;
|
|
|
+ float power = 0;
|
|
|
+
|
|
|
+ for (byte index = 0; index < ShmPsuData->GroupCount; index++)
|
|
|
+ {
|
|
|
+ for (byte count = 0; count < ShmPsuData->PsuGroup[index].GroupPresentPsuQuantity; count++)
|
|
|
+ {
|
|
|
+ if (temp < ShmPsuData->PsuGroup[index].PsuModule[count].ExletTemp)
|
|
|
+ temp = ShmPsuData->PsuGroup[index].PsuModule[count].ExletTemp;
|
|
|
+ }
|
|
|
+ power += (_chargingData[index]->PresentChargingPower * 10);
|
|
|
+ }
|
|
|
+
|
|
|
+ double _pw_rate = 0;
|
|
|
+ if (_maxPower > 0)
|
|
|
+ _pw_rate = power / (double)_maxPower;
|
|
|
+ double _temp_rate = 0;
|
|
|
+ if (temp > 0)
|
|
|
+ _temp_rate = (double)temp / 50;
|
|
|
+ unsigned char _temp_diff = 0;
|
|
|
+ if (temp > 70)
|
|
|
+ _temp_diff = temp - 70;
|
|
|
+
|
|
|
+ ShmFanModuleData->TestFanSpeed = (((50 * _pw_rate * _temp_rate) + (0.5 * _temp_diff)) / 100) * MAX_FAN_SPEED;
|
|
|
+
|
|
|
+ if (ShmFanModuleData->TestFanSpeed > MAX_FAN_SPEED)
|
|
|
+ ShmFanModuleData->TestFanSpeed = MAX_FAN_SPEED;
|
|
|
+
|
|
|
+ if (ShmFanModuleData->TestFanSpeed < 0)
|
|
|
+ ShmFanModuleData->TestFanSpeed = 0;
|
|
|
+
|
|
|
+
|
|
|
|
|
|
|
|
|
|
|
@@ -2326,6 +2376,37 @@ void AcChargeTypeProcess()
|
|
|
}
|
|
|
}
|
|
|
|
|
|
+void ResetDetAlarmStatus(byte gun)
|
|
|
+{
|
|
|
+ if (_chargingData[gun]->Type == _Type_Chademo)
|
|
|
+ {
|
|
|
+ if (ShmStatusCodeData->FaultCode.FaultEvents.bits.ChademoOutputRelayWelding == YES)
|
|
|
+ ShmStatusCodeData->FaultCode.FaultEvents.bits.ChademoOutputRelayWelding = NO;
|
|
|
+ if (ShmStatusCodeData->FaultCode.FaultEvents.bits.ChademoOutputRelayDrivingFault == YES)
|
|
|
+ ShmStatusCodeData->FaultCode.FaultEvents.bits.ChademoOutputRelayDrivingFault = NO;
|
|
|
+ if (ShmStatusCodeData->AlarmCode.AlarmEvents.bits.SystemChademoOutputOVP == YES)
|
|
|
+ ShmStatusCodeData->AlarmCode.AlarmEvents.bits.SystemChademoOutputOVP = NO;
|
|
|
+ }
|
|
|
+ else if (_chargingData[gun]->Type == _Type_GB)
|
|
|
+ {
|
|
|
+ if (ShmStatusCodeData->FaultCode.FaultEvents.bits.GbOutputRelayWelding == YES)
|
|
|
+ ShmStatusCodeData->FaultCode.FaultEvents.bits.GbOutputRelayWelding = NO;
|
|
|
+ if (ShmStatusCodeData->FaultCode.FaultEvents.bits.GbOutputRelayDrivingFault == YES)
|
|
|
+ ShmStatusCodeData->FaultCode.FaultEvents.bits.GbOutputRelayDrivingFault = NO;
|
|
|
+ if (ShmStatusCodeData->AlarmCode.AlarmEvents.bits.SystemGbOutputOVP == YES)
|
|
|
+ ShmStatusCodeData->AlarmCode.AlarmEvents.bits.SystemGbOutputOVP = NO;
|
|
|
+ }
|
|
|
+ else if (_chargingData[gun]->Type == _Type_CCS_2)
|
|
|
+ {
|
|
|
+ if (ShmStatusCodeData->FaultCode.FaultEvents.bits.CcsOutputRelayWelding == YES)
|
|
|
+ ShmStatusCodeData->FaultCode.FaultEvents.bits.CcsOutputRelayWelding = NO;
|
|
|
+ if (ShmStatusCodeData->FaultCode.FaultEvents.bits.CcsOutputRelayDrivingFault == YES)
|
|
|
+ ShmStatusCodeData->FaultCode.FaultEvents.bits.CcsOutputRelayDrivingFault = NO;
|
|
|
+ if (ShmStatusCodeData->AlarmCode.AlarmEvents.bits.SystemCcsOutputOVP == YES)
|
|
|
+ ShmStatusCodeData->AlarmCode.AlarmEvents.bits.SystemCcsOutputOVP = NO;
|
|
|
+ }
|
|
|
+}
|
|
|
+
|
|
|
int main(void)
|
|
|
{
|
|
|
if(InitShareMemory() == FAIL)
|
|
@@ -2438,15 +2519,11 @@ int main(void)
|
|
|
|
|
|
SetK1K2RelayStatus(i);
|
|
|
|
|
|
- if (ShmSysConfigAndInfo->SysConfig.PhaseLossPolicy == YES)
|
|
|
- CheckPhaseLossStatus(i);
|
|
|
-
|
|
|
- CheckAcInputOvpStatus(i);
|
|
|
-
|
|
|
if (_chargingData[i]->SystemStatus == S_IDLE)
|
|
|
{
|
|
|
_chargingData[i]->RelayWeldingCheck = NO;
|
|
|
_isRelayWelding[i] = NO;
|
|
|
+ ResetDetAlarmStatus(i);
|
|
|
}
|
|
|
|
|
|
if (_chargingData[i]->SystemStatus == S_BOOTING ||
|
|
@@ -2606,56 +2683,6 @@ int main(void)
|
|
|
ShmFanModuleData->SetFan3Speed = ShmFanModuleData->TestFanSpeed;
|
|
|
ShmFanModuleData->SetFan4Speed = ShmFanModuleData->TestFanSpeed;
|
|
|
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
|
|
|
SetFanModuleSpeed();
|
|
|
}
|