Kaynağa Gözat

Merge branch 'AW-CCS' of https://git.phihong.com.tw:30000/System_Integration/CSU3_AM335x into AW-CCS

FolusWen 3 yıl önce
ebeveyn
işleme
8686bd8e69

+ 20 - 21
EVSE/Projects/AW-CCS/Apps/LCM/Module_LcmControl.c

@@ -36,7 +36,7 @@ void string2ByteArray(uint8_t *input, uint8_t *output);
 //=======================================
 uint8_t getCurrentPage();
 void setCurrentPage(uint8_t page);
-void setCurrencyFromWebsite(char *unit);
+void setCurrencyFromWebsite(uint8_t unit);
 void setWarningStatus(uint8_t gun_index);
 void setAuthorizationPage(uint8_t gun_index);
 void setPriceFromWebsite(float monry_rate);
@@ -813,7 +813,7 @@ void setBillingFromWebsite()
 		// CURRENCY UNIT ( 53 COUNTRIES )
 		if(ShmSysConfigAndInfo->SysConfig.BillingData.Currency <= 53)
 		{
-			setCurrencyFromWebsite((char *)Currency[ShmSysConfigAndInfo->SysConfig.BillingData.Currency]);
+			setCurrencyFromWebsite(ShmSysConfigAndInfo->SysConfig.BillingData.Currency);
 		}
 	}
 	else
@@ -827,19 +827,21 @@ void setBillingFromWebsite()
 //=======================================
 // Setting currency ( WEB PAGE )
 //=======================================
-void setCurrencyFromWebsite(char *unit)
+void setCurrencyFromWebsite(uint8_t unit)
 {
 	uint8_t data[16];
 	uint8_t currency[16];
 	unsigned char kWh [16];
+	uint8_t final_currency[16];
 
 	memset(data, 0x00, ARRAY_SIZE(data));
 	memset(currency, 0x00, ARRAY_SIZE(currency));
+	memset(final_currency, 0x00, ARRAY_SIZE(final_currency));
 	strcpy((char*)kWh, "/kWh");
+	memcpy((char*)currency, Currency[unit], 3);
 
-	*(unit + 3) = '\0';
-	sprintf((char *) currency, "%s%s", unit,kWh);
-	string2ByteArray(currency, data);
+	sprintf((char *)final_currency, "%s%s", currency,kWh);
+	string2ByteArray(final_currency, data);
 	lcdRegisterWrite(Uart1Fd, REG_TYPE_RAM, TEXT_CURRENCY_UNIT, data, ARRAY_SIZE(data));
 }
 
@@ -883,7 +885,7 @@ float getPresentFinalCost(uint8_t gun_index)
 
 	for(int idx=0;idx<ARRAY_SIZE(ShmCharger->gun_info[gun_index].presentChargedEnergyPeriod);idx++)
 	{
-		result += ((ShmCharger->gun_info[gun_index].presentChargedEnergyPeriod[idx]/10) * ShmSysConfigAndInfo->SysConfig.BillingData.Fee[idx]);
+		result += ((ShmCharger->gun_info[gun_index].presentChargedEnergyPeriod[idx]) * ShmSysConfigAndInfo->SysConfig.BillingData.Fee[idx]);
 	}
 
 	return result;
@@ -891,7 +893,7 @@ float getPresentFinalCost(uint8_t gun_index)
 
 //=======================================
 // Setting billing ( BACKEND )
-//=======================================
+//=======================================-
 void setBillingFromBackend(uint8_t gun_index, uint8_t system_mode)
 {
 	if((system("pidof -s OcppBackend > /dev/null") != 0))
@@ -973,7 +975,6 @@ void setBillingFromBackend(uint8_t gun_index, uint8_t system_mode)
 void setUserPrice(uint8_t type)
 {
 	uint8_t length;
-	uint8_t Split_String_Count;
 	uint8_t output_data[32];
 	char input_data[32];
 	char tmp[256];
@@ -996,7 +997,7 @@ void setUserPrice(uint8_t type)
 
 				// APPEAR PRICE TEXT
 				strcpy((char*)tmp,(char *)ShmOCPP16Data->Cost.SetUserPrice.price);
-				Split_String_Count = split((char**)splitString, tmp, Symbol);
+				split((char**)splitString, tmp, Symbol);
 				memcpy(input_data, splitString[1], strlen(splitString[1]));
 				length = strlen(input_data);
 				trim_string(input_data,length);
@@ -1020,7 +1021,7 @@ void setUserPrice(uint8_t type)
 
 				// APPEAR ACCOUNT BALANCE TEXT
 				strcpy((char*)tmp,(char *)ShmOCPP16Data->Cost.SetUserPrice.price);
-				Split_String_Count = split((char**)splitString, tmp, Symbol);
+				split((char**)splitString, tmp, Symbol);
 				memcpy(input_data, splitString[3], strlen(splitString[3]));
 				length = strlen(input_data);
 				trim_string(input_data,length);
@@ -1045,7 +1046,6 @@ void setUserPrice(uint8_t type)
 void setDefaultPrice(uint8_t type)
 {
 	uint8_t length;
-	uint8_t Split_String_Count;
 	uint8_t output_data[32];
 	char input_data[32];
 	char tmp[256];
@@ -1068,7 +1068,7 @@ void setDefaultPrice(uint8_t type)
 
 				// APPEAR PRICE TEXT
 				strcpy((char*)tmp,(char *)ShmOCPP16Data->ConfigurationTable.CoreProfile[DefaultPrice].ItemData);
-				Split_String_Count = split((char**)splitString, tmp, Symbol);
+				split((char**)splitString, tmp, Symbol);
 				memcpy(input_data, splitString[1], strlen(splitString[1]));
 				length = strlen(input_data);
 				trim_string(input_data,length);
@@ -1094,7 +1094,6 @@ void setDefaultPrice(uint8_t type)
 void setFinalCost(uint8_t gun_index, uint8_t type)
 {
 	uint8_t length;
-	uint8_t Split_String_Count;
 	uint8_t output_data[32];
 	char input_data[32];
 	char tmp[256];
@@ -1121,7 +1120,7 @@ void setFinalCost(uint8_t gun_index, uint8_t type)
 
 				// APPEAR COST TEXT
 				strcpy((char*)tmp,(char*)ShmOCPP16Data->Cost.FinalCost[gun_index].description);
-				Split_String_Count = split((char**)splitString, tmp, Symbol);
+				split((char**)splitString, tmp, Symbol);
 				memcpy(input_data, splitString[3], strlen(splitString[3]));
 				length = strlen(input_data);
 				trim_string(input_data,length);
@@ -1144,7 +1143,7 @@ void setFinalCost(uint8_t gun_index, uint8_t type)
 
 				// APPEAR BALANCE TEXT
 				strcpy((char*)tmp,(char*)ShmOCPP16Data->Cost.FinalCost[gun_index].description);
-				Split_String_Count = split((char**)splitString, tmp, Symbol);
+				split((char**)splitString, tmp, Symbol);
 				memcpy(input_data, splitString[4], strlen(splitString[4]));
 				length = strlen(input_data);
 				trim_string(input_data,length);
@@ -1176,7 +1175,6 @@ void setFinalCost(uint8_t gun_index, uint8_t type)
 void setCurrencyAndUnitFromBackend(uint8_t type_price ,uint8_t type_currency_unit,uint8_t gun_index)
 {
 	uint8_t length;
-	uint8_t Split_String_Count;
 	uint8_t output_data[32];
 	char input_data[32];
 	char tmp[256];
@@ -1197,7 +1195,7 @@ void setCurrencyAndUnitFromBackend(uint8_t type_price ,uint8_t type_currency_uni
 				if(strstr((char *)ShmOCPP16Data->ConfigurationTable.CoreProfile[DefaultPrice].ItemData, "Current Rate:") > 0)
 				{
 					strcpy((char*)tmp,(char *)ShmOCPP16Data->ConfigurationTable.CoreProfile[DefaultPrice].ItemData);
-					Split_String_Count = split((char**)splitString, tmp, Symbol);
+					split((char**)splitString, tmp, Symbol);
 					memcpy(input_data, splitString[1], strlen(splitString[1]));
 					length = strlen(input_data);
 					memcpy(output_data , input_data+(length-7), 7);
@@ -1224,7 +1222,7 @@ void setCurrencyAndUnitFromBackend(uint8_t type_price ,uint8_t type_currency_uni
 				if(strstr((char *)ShmOCPP16Data->Cost.SetUserPrice.price, "Current Rate:") > 0)
 				{
 					strcpy((char*)tmp,(char *)ShmOCPP16Data->Cost.SetUserPrice.price);
-					Split_String_Count = split((char**)splitString, tmp, Symbol);
+					split((char**)splitString, tmp, Symbol);
 					memcpy(input_data, splitString[1], strlen(splitString[1]));
 					length = strlen(input_data);
 					memcpy(output_data , input_data+(length-7), 7);
@@ -1259,7 +1257,7 @@ void setCurrencyAndUnitFromBackend(uint8_t type_price ,uint8_t type_currency_uni
 				if((strstr((char*)ShmOCPP16Data->Cost.FinalCost[gun_index].description, "Account Balance:") > 0))
 				{
 					strcpy((char*)tmp,(char*)ShmOCPP16Data->Cost.FinalCost[gun_index].description);
-					Split_String_Count = split((char**)splitString, tmp, Symbol);
+					split((char**)splitString, tmp, Symbol);
 					memcpy(input_data, splitString[4], strlen(splitString[4]));
 					length = strlen(input_data);
 					memcpy(output_data , input_data+(length-3), 3);
@@ -2128,7 +2126,8 @@ int main(void)
 					page_update();
 					break;
 				case SYS_MODE_RESERVATION:
-					page_reservation();
+					//page_reservation();
+					page_idle(ShmCharger->gun_selectd, ShmSysConfigAndInfo->SysInfo.AcChargingData[ShmCharger->gun_selectd].SystemStatus);
 					break;
 				case SYS_MODE_BOOKING:
 					page_booking();

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

@@ -178,6 +178,9 @@
 #define ICON_COST_COMPLETE					0X101B
 #define ICON_ENERGY_COMPLETE				0X101C
 #define ICON_BALANCE_WALLET					0x101D
+#define ICON_DEFAULT_START_PRICE			0x101E
+#define ICON_DEFAULT_ENERGY					0x101F
+
 #define ICON_LOGO							0x1500
 #define ICON_LOGO_CHARGING					0x1501
 
@@ -201,6 +204,8 @@
 #define TEXT_BALANCE						0x20B8 // size 16
 #define TEXT_PERCENTAGE						0x20C8 // size 6
 #define TEXT_CURRENCY_COMPLETE				0x20CE // size 16
+#define TEXT_DEFUALT_START_PRICE			0x20DE // size 16
+#define TEXT_DEFAULT_ENERGY					0x20EE // size 16
 
 #define TEXT_RTC							0X2500 // size 32