Эх сурвалжийг харах

Merge remote-tracking branch 'origin/AW-CCS'

FolusWen 3 жил өмнө
parent
commit
0f7072059b

+ 126 - 3
EVSE/Projects/AW-CCS/Apps/LCM/Module_LcmControl.c

@@ -2,7 +2,7 @@
  * Module_LcmControl.c
  *
  * Created on : 2020-10-20
- * Update on : 2022-01-20
+ * Update on : 2022-01-25
  * Author : Folus Wen, Eason Yang
  * Version : V0.27
  *
@@ -52,6 +52,9 @@ void setUserPrice(uint8_t type);
 void setCurrentPage(uint8_t page);
 void setDefaultPrice(uint8_t type);
 void setPresentFinalCost(float cost);
+void setFinalCostTitle(uint8_t isOn);
+void setSessionFeeTitle(uint8_t isOn);
+void setParkingFeeTitle(uint8_t isOn);
 void setTextToEmpty(uint8_t gun_index);
 void setWarningStatus(uint8_t gun_index);
 void setQRCodeReceipt(uint8_t gun_index);
@@ -118,7 +121,7 @@ int Uart1Fd;
 //=======================================
 // Record version and date
 //=======================================
-char *FIRMWARE_UPDATE_IMAGE[3] = {"V0.27", "2022-01-20", "REV.03.00"};
+char *FIRMWARE_UPDATE_IMAGE[3] = {"V0.27", "2022-01-25", "REV.03.00"};
 
 //=======================================
 // Common routine
@@ -475,6 +478,11 @@ void page_charging(uint8_t gun_index, uint8_t system_mode)
 					setRunningCost(gun_index, TOTAL_COST);
 					setRunningCost(gun_index, SESSION_FEE);
 					setRunningCost(gun_index, OCCUPANCY_FEE);
+
+					// Title appear
+					setSessionFeeTitle(ON);
+					setParkingFeeTitle(ON);
+					setFinalCostTitle(ON);
 				}
 				else
 				{
@@ -492,6 +500,11 @@ void page_charging(uint8_t gun_index, uint8_t system_mode)
 					setPresentFinalCost(getPresentFinalCost(gun_index));
 					//setPresentSessionFee();
 					setPresentParkingFee();
+
+					// Title appear
+					setSessionFeeTitle(ON);
+					setParkingFeeTitle(ON);
+					setFinalCostTitle(ON);
 				}
 				else
 				{
@@ -510,6 +523,11 @@ void page_charging(uint8_t gun_index, uint8_t system_mode)
 					// User account balance disappear
 					setDisplayValue(ICON_COMPLETE_WALLET, DISAPPEAR);
 					setDisplayValue(TEXT_REMAINING_ACCOUNT_BALANCE, DISAPPEAR);
+
+					// Title disappear
+					setSessionFeeTitle(OFF);
+					setParkingFeeTitle(OFF);
+					setFinalCostTitle(OFF);
 				}
 			}
 
@@ -556,6 +574,11 @@ void page_complete(uint8_t gun_index, uint8_t system_mode)
 			setFinalCost(gun_index, OCCUPANCY_FEE);
 			setFinalCost(gun_index, ACCOUNT_BALANCE);
 			//setCurrencyAndUnitFromBackend(FINAL_COST, ACCOUNT_BALANCE, gun_index);
+
+			// Title appear
+			setSessionFeeTitle(ON);
+			setParkingFeeTitle(ON);
+			setFinalCostTitle(ON);
 		}
 		else
 		{
@@ -576,6 +599,11 @@ void page_complete(uint8_t gun_index, uint8_t system_mode)
 
 			setDisplayValue(ICON_COMPLETE_WALLET, DISAPPEAR);
 			setDisplayValue(TEXT_REMAINING_ACCOUNT_BALANCE, DISAPPEAR);
+
+			// Title appear
+			setSessionFeeTitle(ON);
+			setParkingFeeTitle(ON);
+			setFinalCostTitle(ON);
 		}
 		else
 		{
@@ -594,6 +622,11 @@ void page_complete(uint8_t gun_index, uint8_t system_mode)
 			// User account balance disappear
 			setDisplayValue(ICON_COMPLETE_WALLET, DISAPPEAR);
 			setDisplayValue(TEXT_REMAINING_ACCOUNT_BALANCE, DISAPPEAR);
+
+			// Title disappear
+			setSessionFeeTitle(OFF);
+			setParkingFeeTitle(OFF);
+			setFinalCostTitle(OFF);
 		}
 	}
 }
@@ -619,6 +652,11 @@ void page_terminating(uint8_t gun_index, uint8_t system_mode)
 				setRunningCost(gun_index, TOTAL_COST);
 				setRunningCost(gun_index, SESSION_FEE);
 				setRunningCost(gun_index, OCCUPANCY_FEE);
+
+				// Title appear
+				setSessionFeeTitle(ON);
+				setParkingFeeTitle(ON);
+				setFinalCostTitle(ON);
 			}
 			else
 			{
@@ -636,6 +674,11 @@ void page_terminating(uint8_t gun_index, uint8_t system_mode)
 				setPresentFinalCost(getPresentFinalCost(gun_index));
 				//setPresentSessionFee();
 				setPresentParkingFee();
+
+				// Title appear
+				setSessionFeeTitle(ON);
+				setParkingFeeTitle(ON);
+				setFinalCostTitle(ON);
 			}
 			else
 			{
@@ -654,6 +697,11 @@ void page_terminating(uint8_t gun_index, uint8_t system_mode)
 				// User account balance disappear
 				setDisplayValue(ICON_COMPLETE_WALLET, DISAPPEAR);
 				setDisplayValue(TEXT_REMAINING_ACCOUNT_BALANCE, DISAPPEAR);
+
+				// Title disappear
+				setSessionFeeTitle(OFF);
+				setParkingFeeTitle(OFF);
+				setFinalCostTitle(OFF);
 			}
 		}
 	}
@@ -2209,7 +2257,7 @@ void setPresentChargedEnergy(uint8_t gun_index, uint8_t system_mode)
 		case SYS_MODE_TERMINATING:
 		case SYS_MODE_COMPLETE:
 		default:
-			sprintf((char *)energy, "%.3f0 kWh", ShmSysConfigAndInfo->SysInfo.AcChargingData[gun_index].PresentChargedEnergy);
+			sprintf((char *)energy, "%.4f kWh", ShmSysConfigAndInfo->SysInfo.AcChargingData[gun_index].PresentChargedEnergy);
 			string2ByteArray(energy, data);
 			lcdRegisterWrite(Uart1Fd, REG_TYPE_RAM, TEXT_CHARGING_ENERGY, data, ARRAY_SIZE(data));
 			break;
@@ -2421,6 +2469,81 @@ void setMarqueeControl(uint16_t address, uint8_t gun_index, uint8_t type)
 	}
 }
 
+//=======================================
+// Setting session fee title
+//=======================================
+void setSessionFeeTitle(uint8_t isOn)
+{
+	uint8_t data[32];
+	uint8_t text[32];
+
+	memset(data, 0x00, ARRAY_SIZE(data));
+	memset(text, 0x00, ARRAY_SIZE(text));
+	
+	if(isOn == ON)
+	{
+		strcpy((char*)text, "(Energy Cost)");
+		string2ByteArray(text, data);
+	}
+	else
+	{
+		strcpy((char*)text, "                ");
+		string2ByteArray(text, data);
+	}
+	
+	lcdRegisterWrite(Uart1Fd, REG_TYPE_RAM, TEXT_CHARGING_TITLE_SESSION_FEE, data, ARRAY_SIZE(data));
+}
+
+//=======================================
+// Setting parking fee title
+//=======================================
+void setParkingFeeTitle(uint8_t isOn)
+{
+	uint8_t data[32];
+	uint8_t text[32];
+
+	memset(data, 0x00, ARRAY_SIZE(data));
+	memset(text, 0x00, ARRAY_SIZE(text));
+	
+	if(isOn == ON)
+	{
+		strcpy((char*)text, "(Parking Fee)");
+		string2ByteArray(text, data);
+	}
+	else
+	{
+		strcpy((char*)text, "                ");
+		string2ByteArray(text, data);
+	}
+	
+	lcdRegisterWrite(Uart1Fd, REG_TYPE_RAM, TEXT_CHARGING_TITLE_PARKING_FEE, data, ARRAY_SIZE(data));
+}
+
+//=======================================
+// Setting final cost title
+//=======================================
+void setFinalCostTitle(uint8_t isOn)
+{
+	uint8_t data[32];
+	uint8_t text[32];
+
+	memset(data, 0x00, ARRAY_SIZE(data));
+	memset(text, 0x00, ARRAY_SIZE(text));
+	
+	if(isOn == ON)
+	{
+		strcpy((char*)text, "(Total Cost)");
+		string2ByteArray(text, data);
+	}
+	else
+	{
+		strcpy((char*)text, "                ");
+		string2ByteArray(text, data);
+	}
+	
+	lcdRegisterWrite(Uart1Fd, REG_TYPE_RAM, TEXT_CHARGING_TITLE_FINAL_COST, data, ARRAY_SIZE(data));
+}
+
 //=======================================
 // Initial all share memory
 //=======================================

+ 20 - 5
EVSE/Projects/AW-CCS/Apps/LCM/lcmComm_dgus.h

@@ -229,12 +229,27 @@
 #define TEXT_USER_ACCOUNT_BALANCE			0x2178	// size 16
 #define TEXT_USER_CURRENCY					0x2188	// size 16
 #define Reserve8							0x2198	// size 16
-#define Reserve9							0x21A8	// siez 16
+#define Reserve9							0x21A8	// size 16
 #define TEXT_POWER_CONSUMPTION				0x21B8	// size 32
-#define TEXT_PREPARING_SESSION_FEE			0x21D8	// size 16 // NEW
-#define TEXT_PREPARING_PARKING_FEE			0x21E8	// size 16 // NEW
-#define TEXT_PRECHARGING_SESSION_FEE		0x21F8	// size 16 // NEW
-#define TEXT_PRECHARGING_PARKING_FEE		0x2208	// size 16 // NEW
+#define TEXT_PREPARING_SESSION_FEE			0x21D8	// size 16	// NEW
+#define TEXT_PREPARING_PARKING_FEE			0x21E8	// size 16	// NEW
+#define TEXT_PRECHARGING_SESSION_FEE		0x21F8	// size 16	// NEW
+#define TEXT_PRECHARGING_PARKING_FEE		0x2208	// size 16	// NEW
+#define TEXT_CHARGING_TITLE_TIME			0x2218	// size 32	// NEW
+#define TEXT_CHARGING_TITLE_ENERGY			0x2238	// size 32	// NEW
+#define TEXT_CHARGING_TITLE_SESSION_FEE		0x2258	// size 32	// NEW
+#define TEXT_CHARGING_TITLE_PARKING_FEE		0x2278	// size 32	// NEW
+#define TEXT_CHARGING_TITLE_FINAL_COST		0x2298	// size 32	// NEW
+#define TEXT_PREPARING_TITLE_TIME			0x22B8	// size 32	// NEW
+#define	TEXT_PREPARING_TITLE_ENERGY			0x22D8	// size 32	// NEW
+#define	TEXT_PREPARING_TITLE_SESSION_FEE	0x22F8	// size 32	// NEW
+#define	TEXT_PREPARING_TITLE_PARKING_FEE	0X2318	// size 32	// NEW
+#define	TEXT_PREPARING_TITLE_FINAL_COST		0x2338	// size 32	// NEW
+#define TEXT_PRECHARGING_TITLE_TIME			0x2358	// size 32	// NEW
+#define TEXT_PRECHARGING_TITLE_ENERGY		0x2378	// size 32	// NEW
+#define TEXT_PRECHARGING_TITLE_SESSION_FEE	0x2398	// size 32	// NEW
+#define TEXT_PRECHARGING_TITLE_PARKING_FEE	0x23B8	// size 32	// NEW
+#define TEXT_PRECHARGING_TITLE_FINAL_COST	0x23D8	// size 32	// NEW
 
 #define TEXT_RTC							0X2500	// size 32
 

+ 1 - 1
EVSE/Projects/AW-CCS/Apps/main.c

@@ -2900,7 +2900,7 @@ float presentChargedEnergyTotal(unsigned char gun_index)
 	for(int idx=0;idx<ARRAY_SIZE(ShmSysConfigAndInfo->SysInfo.AcChargingData[gun_index].presentChargedEnergyPeriod);idx++)
 	{
 		//result += ShmSysConfigAndInfo->SysInfo.AcChargingData[gun_index].presentChargedEnergyPeriod[idx];
-		result += (((int)(ShmSysConfigAndInfo->SysInfo.AcChargingData[gun_index].presentChargedEnergyPeriod[idx]*1000))/(float)1000);
+		result += (((int)(ShmSysConfigAndInfo->SysInfo.AcChargingData[gun_index].presentChargedEnergyPeriod[idx]*10000))/(float)10000);
 	}
 
 	return result;