|
@@ -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
|
|
|
//=======================================
|