Browse Source

[Improve][AW-CCS][main.c]
2022-03-07 / Eason Yang
Action
1.Improve: checkChargingProfileLimit() function. log print.
2.Improve: HANDSHAKE_CP_STATE_E sleep 4 seconds.

FIle
1. main.c
Action 1
Action 2

FIRMWARE VERSION: B0.61.XX.XXXX.PX

8009 3 years ago
parent
commit
b461e0a2f5
1 changed files with 24 additions and 19 deletions
  1. 24 19
      EVSE/Projects/AW-CCS/Apps/main.c

+ 24 - 19
EVSE/Projects/AW-CCS/Apps/main.c

@@ -2508,7 +2508,8 @@ void InitEthernet()
 
 			if(ShmStatusCodeData->InfoCode.InfoEvents.bits.InternetDisconnectViaEthernet &&
 			   ((ShmSysConfigAndInfo->SysConfig.AthInterface.WifiMode == 0) || ShmStatusCodeData->InfoCode.InfoEvents.bits.InternetDisconnectViaWiFi) &&
-			   ((ShmSysConfigAndInfo->SysConfig.TelecomInterface.TelcomEnabled == 0) || ShmStatusCodeData->InfoCode.InfoEvents.bits.InternetDisconnectVia4Gi))
+			   ((ShmSysConfigAndInfo->SysConfig.TelecomInterface.TelcomEnabled == 0) || ShmStatusCodeData->InfoCode.InfoEvents.bits.InternetDisconnectVia4Gi) &&
+			   (ShmOCPP16Data->OcppConnStatus != PASS))
 			{
 				ShmSysConfigAndInfo->SysInfo.InternetConn = OFF;
 			}
@@ -4274,7 +4275,8 @@ void checkChargingProfileLimit(uint8_t gun_index, uint8_t system_mode)
 	{
 		uint16_t targetCurrent;
 		uint16_t current_limit;
-	}previousData[3];
+		uint16_t primaryMcuCp_Pwn_Duty;
+	}previousData[4];
 
 	if(ShmSysConfigAndInfo->SysInfo.OcppRunningVer == OCPP_RUNNING_VERSION_16)
 	{
@@ -4433,12 +4435,6 @@ void checkChargingProfileLimit(uint8_t gun_index, uint8_t system_mode)
 				if((ShmCharger->gun_info[gun_index].targetCurrent != ShmCharger->gun_info[gun_index].primaryMcuCp_Pwn_Duty.max_current) ||
 				   (ShmCharger->gun_info[gun_index].primaryMcuState.current_limit != ShmCharger->gun_info[gun_index].primaryMcuCp_Pwn_Duty.max_current))
 				{
-					DEBUG_INFO("=============================================================\n");
-					DEBUG_INFO("ShmSysConfigAndInfo->SysConfig.MaxChargingCurrent: %d\n", ShmSysConfigAndInfo->SysConfig.MaxChargingCurrent);
-					DEBUG_INFO("ShmCharger->gun_info[%d].primaryMcuCp_Pwn_Duty.max_current: %d\n", gun_index, ShmCharger->gun_info[gun_index].primaryMcuCp_Pwn_Duty.max_current);
-					DEBUG_INFO("ShmCharger->gun_info[%d].targetCurrent: %d\n", gun_index, ShmCharger->gun_info[gun_index].targetCurrent);
-					DEBUG_INFO("=============================================================\n");
-					
 					if(ShmCharger->gun_info[gun_index].chargingMode == CHARGING_MODE_BS)
 					{
 						if(getDiffSecNow(startTime[gun_index][TMR_IDX_PWN_CHANGE]) > TIMEOUT_SPEC_PWN_CHANGE)
@@ -4465,12 +4461,6 @@ void checkChargingProfileLimit(uint8_t gun_index, uint8_t system_mode)
 				if((ShmCharger->gun_info[gun_index].targetCurrent != ShmCharger->gun_info[gun_index].primaryMcuCp_Pwn_Duty.max_current) ||
 				   (ShmCharger->gun_info[gun_index].primaryMcuState.current_limit != ShmCharger->gun_info[gun_index].primaryMcuCp_Pwn_Duty.max_current))
 				{
-					DEBUG_INFO("=============================================================\n");
-					DEBUG_INFO("ShmSysConfigAndInfo->SysConfig.MaxChargingCurrent: %d\n", ShmSysConfigAndInfo->SysConfig.MaxChargingCurrent);
-					DEBUG_INFO("ShmCharger->gun_info[%d].primaryMcuCp_Pwn_Duty.max_current: %d\n", gun_index, ShmCharger->gun_info[gun_index].primaryMcuCp_Pwn_Duty.max_current);
-					DEBUG_INFO("ShmCharger->gun_info[%d].targetCurrent: %d\n", gun_index, ShmCharger->gun_info[gun_index].targetCurrent);
-					DEBUG_INFO("=============================================================\n");
-					
 					if(ShmCharger->gun_info[gun_index].chargingMode == CHARGING_MODE_BS)
 					{
 						if(getDiffSecNow(startTime[gun_index][TMR_IDX_PWN_CHANGE]) > TIMEOUT_SPEC_PWN_CHANGE)
@@ -4492,16 +4482,31 @@ void checkChargingProfileLimit(uint8_t gun_index, uint8_t system_mode)
 				}
 			}
 
+			if(previousData[gun_index].primaryMcuCp_Pwn_Duty != ShmCharger->gun_info[gun_index].primaryMcuCp_Pwn_Duty.max_current)
+			{
+				DEBUG_INFO("====================================================\n");
+				DEBUG_INFO("gun-%02d primaryMcuCp_Pwn_Duty: %d\n", gun_index, ShmCharger->gun_info[gun_index].primaryMcuCp_Pwn_Duty.max_current);
+				DEBUG_INFO("====================================================\n");
+
+				previousData[gun_index].primaryMcuCp_Pwn_Duty = ShmCharger->gun_info[gun_index].primaryMcuCp_Pwn_Duty.max_current;
+			}
+
 			if(ShmCharger->gun_info[gun_index].targetCurrent != previousData[gun_index].targetCurrent)
 			{
-				DEBUG_INFO("SysConfig.MaxChargingCurrent: %d\n", ShmSysConfigAndInfo->SysConfig.MaxChargingCurrent);
-				DEBUG_INFO("gun-%02d target current: %d\n", gun_index, ShmCharger->gun_info[gun_index].targetCurrent);
+				DEBUG_INFO("====================================================\n");
+				DEBUG_INFO("MaxChargingCurrent: %d \n", ShmSysConfigAndInfo->SysConfig.MaxChargingCurrent);
+				DEBUG_INFO("gun-%02d targetCurrent: %d\n", gun_index, ShmCharger->gun_info[gun_index].targetCurrent);
+				DEBUG_INFO("====================================================\n");
+
 				previousData[gun_index].targetCurrent = ShmCharger->gun_info[gun_index].targetCurrent;
 			}
 
 			if(ShmCharger->gun_info[gun_index].primaryMcuState.current_limit != previousData[gun_index].current_limit)
 			{
+				DEBUG_INFO("====================================================\n");
 				DEBUG_INFO("gun-%02d mcu current_limit: %d\n", gun_index, ShmCharger->gun_info[gun_index].primaryMcuState.current_limit);
+				DEBUG_INFO("====================================================\n");
+
 				previousData[gun_index].current_limit = ShmCharger->gun_info[gun_index].primaryMcuState.current_limit;
 			}
 
@@ -5741,7 +5746,7 @@ int main(void)
 										ShmCharger->gun_info[gun_index].acCcsInfo.EVSENotification = NOTIFICATION_STOP;
 										DEBUG_INFO("BS/HLC %d secs handshake timeout.\n", TIMEOUT_SPEC_BS_HLC_HANDSHAKE);
 									}
-								 }
+								}
 
 								if((ShmCharger->gun_info[gun_index].acCcsInfo.ChargingPermission == OFF) && (ShmCharger->gun_info[gun_index].acCcsInfo.CpSetPWMDuty != CCS_PWM_DUTY_5))
 								{
@@ -5762,7 +5767,7 @@ int main(void)
 									refreshStartTimer(&startTime[gun_index][TMR_IDX_HANDSHAKING]);
 								}
 								#else
-								 if((16 <= ShmCharger->gun_info[gun_index].acCcsInfo.PresentMsgFlowStatus) && (ShmCharger->gun_info[gun_index].acCcsInfo.PresentMsgFlowStatus < 253))
+								if((16 <= ShmCharger->gun_info[gun_index].acCcsInfo.PresentMsgFlowStatus) && (ShmCharger->gun_info[gun_index].acCcsInfo.PresentMsgFlowStatus < 253))
 								{
 									//chang PWM duty to BS
 									if((ShmCharger->gun_info[gun_index].mcuFlag.isSetCpPwmDuty == OFF)&&(ShmCharger->gun_info[gun_index].primaryMcuCp_Pwn_Duty.max_current!=CCS_PWM_DUTY_5))
@@ -5806,7 +5811,7 @@ int main(void)
 									{
 										DEBUG_INFO("Change to CP STATE E for 4 secs.\n");
 										//CP STATE E for 4 secs
-										sleep(3);
+										sleep(4);
 									}
 
 									//restore normal CP PWM duty