Explorar o código

2021-06-09 / Eason Yang
Action :
1. Improve : setBatteryAnimation() if the relay stop and the system mode still on charging.
2. Improve : setConnectionAnimation() if the relay stop and the system mode still on charging.

File :
1. Module_LcmControl.c
Action 1
Action 2

Version : D0.54.XX.XXXX.XX

8009 %!s(int64=3) %!d(string=hai) anos
pai
achega
1dc23c4e0e

+ 66 - 34
EVSE/Projects/AW-CCS/Apps/LCM/Module_LcmControl.c

@@ -1562,36 +1562,51 @@ void setBatteryAnimation(uint8_t gun_index, uint8_t system_mode)
 			{
 				// SET BATTERY PERCENTAGE TEXT TO DISAPPEAR
 				setDisplayValue(TEXT_PERCENTAGE, DISAPPEAR);
-
-				// SET BATTERY ANIMATION
-				if((BATTERY_LEVEL_STATUS == BATTERY_LEVEL_5))
-				{
-					setDisplayValue(ICON_BATTERY_CHARGING, BATTERY_CAPACITY_EMPTY);
-					BATTERY_LEVEL_STATUS = BATTERY_LEVEL_0;
-				}
-				else if((BATTERY_LEVEL_STATUS == BATTERY_LEVEL_0) && (DiffTimebWithNow(startTime[gun_index][TMR_IDX_BATTERY]) > (TIME_ANIMATION_BATTERY)))
-				{
-					setDisplayValue(ICON_BATTERY_CHARGING, BATTERY_CAPACITY_20);
-					BATTERY_LEVEL_STATUS = BATTERY_LEVEL_1;
-				}
-				else if((BATTERY_LEVEL_STATUS == BATTERY_LEVEL_1) && (DiffTimebWithNow(startTime[gun_index][TMR_IDX_BATTERY]) > (TIME_ANIMATION_BATTERY*2)))
-				{
-					setDisplayValue(ICON_BATTERY_CHARGING, BATTERY_CAPACITY_40);
-					BATTERY_LEVEL_STATUS = BATTERY_LEVEL_2;
-				}
-				else if((BATTERY_LEVEL_STATUS == BATTERY_LEVEL_2) && (DiffTimebWithNow(startTime[gun_index][TMR_IDX_BATTERY]) > (TIME_ANIMATION_BATTERY*3)))
-				{
-					setDisplayValue(ICON_BATTERY_CHARGING, BATTERY_CAPACITY_60);
-					BATTERY_LEVEL_STATUS = BATTERY_LEVEL_3;
-				}
-				else if((BATTERY_LEVEL_STATUS == BATTERY_LEVEL_3) && (DiffTimebWithNow(startTime[gun_index][TMR_IDX_BATTERY]) > (TIME_ANIMATION_BATTERY*4)))
+				
+				if(ShmCharger->gun_info[gun_index].primaryMcuState.relay_state == ON)
 				{
-					setDisplayValue(ICON_BATTERY_CHARGING, BATTERY_CAPACITY_80);
-					BATTERY_LEVEL_STATUS = BATTERY_LEVEL_4;
+					// SET BATTERY ANIMATION
+					if((BATTERY_LEVEL_STATUS == BATTERY_LEVEL_5))
+					{
+						setDisplayValue(ICON_BATTERY_CHARGING, BATTERY_CAPACITY_EMPTY);
+						BATTERY_LEVEL_STATUS = BATTERY_LEVEL_0;
+					}
+					else if((BATTERY_LEVEL_STATUS == BATTERY_LEVEL_0) && (DiffTimebWithNow(startTime[gun_index][TMR_IDX_BATTERY]) > (TIME_ANIMATION_BATTERY)))
+					{
+						setDisplayValue(ICON_BATTERY_CHARGING, BATTERY_CAPACITY_20);
+						BATTERY_LEVEL_STATUS = BATTERY_LEVEL_1;
+					}
+					else if((BATTERY_LEVEL_STATUS == BATTERY_LEVEL_1) && (DiffTimebWithNow(startTime[gun_index][TMR_IDX_BATTERY]) > (TIME_ANIMATION_BATTERY*2)))
+					{
+						setDisplayValue(ICON_BATTERY_CHARGING, BATTERY_CAPACITY_40);
+						BATTERY_LEVEL_STATUS = BATTERY_LEVEL_2;
+					}
+					else if((BATTERY_LEVEL_STATUS == BATTERY_LEVEL_2) && (DiffTimebWithNow(startTime[gun_index][TMR_IDX_BATTERY]) > (TIME_ANIMATION_BATTERY*3)))
+					{
+						setDisplayValue(ICON_BATTERY_CHARGING, BATTERY_CAPACITY_60);
+						BATTERY_LEVEL_STATUS = BATTERY_LEVEL_3;
+					}
+					else if((BATTERY_LEVEL_STATUS == BATTERY_LEVEL_3) && (DiffTimebWithNow(startTime[gun_index][TMR_IDX_BATTERY]) > (TIME_ANIMATION_BATTERY*4)))
+					{
+						setDisplayValue(ICON_BATTERY_CHARGING, BATTERY_CAPACITY_80);
+						BATTERY_LEVEL_STATUS = BATTERY_LEVEL_4;
+					}
+					else if((BATTERY_LEVEL_STATUS == BATTERY_LEVEL_4) &&  (DiffTimebWithNow(startTime[gun_index][TMR_IDX_BATTERY]) > (TIME_ANIMATION_BATTERY*5)))
+					{
+						setDisplayValue(ICON_BATTERY_CHARGING, BATTERY_CAPACITY_100);
+						BATTERY_LEVEL_STATUS = BATTERY_LEVEL_5;
+						ftime(&startTime[gun_index][TMR_IDX_BATTERY]);
+					}
 				}
-				else if((BATTERY_LEVEL_STATUS == BATTERY_LEVEL_4) &&  (DiffTimebWithNow(startTime[gun_index][TMR_IDX_BATTERY]) > (TIME_ANIMATION_BATTERY*5)))
+				else
 				{
-					setDisplayValue(ICON_BATTERY_CHARGING, BATTERY_CAPACITY_100);
+					// SET BATTERY ICON TO EMPTY ICON
+					setDisplayValue(ICON_BATTERY_CHARGING, BATTERY_CAPACITY_EMPTY);
+
+					// SET BATTERY PERCENTAGE TO DISAPPEAR
+					setDisplayValue(TEXT_PERCENTAGE, DISAPPEAR);
+
+					// RESET TO DEFAULT VALUE
 					BATTERY_LEVEL_STATUS = BATTERY_LEVEL_5;
 					ftime(&startTime[gun_index][TMR_IDX_BATTERY]);
 				}
@@ -1687,16 +1702,33 @@ void setConnectionAnimation(uint8_t gun_index, uint8_t system_mode)
 
 			break;
 		case SYS_MODE_CHARGING:
-			if((CONNECTION_LEVEL_STATUS == CONNECTION_LEVEL_0) && (DiffTimebWithNow(startTime[gun_index][TMR_IDX_CONNECTION]) > (TIME_ANIMATION_CONNECTION)))
+			if(ShmCharger->gun_info[gun_index].primaryMcuState.relay_state == ON)
 			{
-				setDisplayValue(ICON_CONNECTION_CHARGING, CONNECTION_ELECTRIC_MARK_1);
-				CONNECTION_LEVEL_STATUS = CONNECTION_LEVEL_1;
+				if((CONNECTION_LEVEL_STATUS == CONNECTION_LEVEL_0) && (DiffTimebWithNow(startTime[gun_index][TMR_IDX_CONNECTION]) > (TIME_ANIMATION_CONNECTION)))
+				{
+					setDisplayValue(ICON_CONNECTION_CHARGING, CONNECTION_ELECTRIC_MARK_1);
+					CONNECTION_LEVEL_STATUS = CONNECTION_LEVEL_1;
+				}
+				else if((CONNECTION_LEVEL_STATUS == CONNECTION_LEVEL_1) && (DiffTimebWithNow(startTime[gun_index][TMR_IDX_CONNECTION]) > (TIME_ANIMATION_CONNECTION*2)))
+				{
+					setDisplayValue(ICON_CONNECTION_CHARGING, CONNECTION_ELECTRIC_MARK_2);
+					CONNECTION_LEVEL_STATUS =  CONNECTION_LEVEL_0;
+					ftime(&startTime[gun_index][TMR_IDX_CONNECTION]);
+				}
 			}
-			else if((CONNECTION_LEVEL_STATUS == CONNECTION_LEVEL_1) && (DiffTimebWithNow(startTime[gun_index][TMR_IDX_CONNECTION]) > (TIME_ANIMATION_CONNECTION*2)))
+			else
 			{
-				setDisplayValue(ICON_CONNECTION_CHARGING, CONNECTION_ELECTRIC_MARK_2);
-				CONNECTION_LEVEL_STATUS =  CONNECTION_LEVEL_0;
-				ftime(&startTime[gun_index][TMR_IDX_CONNECTION]);
+				if((CONNECTION_LEVEL_STATUS == CONNECTION_LEVEL_0) && (DiffTimebWithNow(startTime[gun_index][TMR_IDX_CONNECTION]) > (TIME_ANIMATION_CONNECTION)))
+				{
+					setDisplayValue(ICON_CONNECTION_CHARGING, CONNECTION_QUESTION_MARK_1);
+					CONNECTION_LEVEL_STATUS = CONNECTION_LEVEL_1;
+				}
+				else if((CONNECTION_LEVEL_STATUS == CONNECTION_LEVEL_1) && (DiffTimebWithNow(startTime[gun_index][TMR_IDX_CONNECTION]) > (TIME_ANIMATION_CONNECTION*2)))
+				{
+					setDisplayValue(ICON_CONNECTION_CHARGING, CONNECTION_QUESTION_MARK_2);
+					CONNECTION_LEVEL_STATUS =  CONNECTION_LEVEL_0;
+					ftime(&startTime[gun_index][TMR_IDX_CONNECTION]);
+				}
 			}
 
 			break;

BIN=BIN
EVSE/Projects/AW-CCS/Images/FactoryDefaultConfig.bin


BIN=BIN
EVSE/Projects/AW-CCS/Images/ramdisk.gz