Selaa lähdekoodia

2022-01-25 / Eason Yang
Action
1. Added: setFinalCostTitle() function. for setting title.
2. Added: setSessionFeeTitle() function. for setting title.
3. Added: setParkingFeeTitle() function. for setting title.
4. Added: Text title address.

File
1. Module_LcmControl.c
Action 1
Action 2
Action 3

2. lcmComm_dgus.h
Action 4

LCM VERSION: V0.27

8009 3 vuotta sitten
vanhempi
commit
8ae8b3569f

+ 123 - 0
EVSE/Projects/AW-CCS/Apps/LCM/Module_LcmControl.c

@@ -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);
@@ -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);
 			}
 		}
 	}
@@ -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