Преглед на файлове

2021-04-15 / Eason Yang
Action:
1. Added : getPresentFinalCost function.
2. Added : setPresentFinalCost function.
3. Added : change factory initial setting.

File:
1. Module_LcmControl.c
Action 1
Action 2

2. Module_FactoryConfig.c
Action 3

Version : D0.49.XX.XXXX.XX

8009 преди 4 години
родител
ревизия
06638218a3
променени са 3 файла, в които са добавени 89 реда и са изтрити 26 реда
  1. 52 9
      EVSE/Projects/AW-CCS/Apps/LCM/Module_LcmControl.c
  2. 34 17
      EVSE/Projects/AW-CCS/Apps/Module_FactoryConfig.c
  3. 3 0
      EVSE/Projects/AW-CCS/Apps/main.c

+ 52 - 9
EVSE/Projects/AW-CCS/Apps/LCM/Module_LcmControl.c

@@ -50,6 +50,8 @@ void setDisplayValue(uint16_t address, uint8_t value);
 void setGunPluginAnimation(uint8_t gun_index);
 void setBatteryAnimation(uint8_t gun_index, uint8_t system_mode);
 void setConnectionAnimation(uint8_t gun_index, uint8_t system_mode);
+void setPresentFinalCost(float cost);
+float getPresentFinalCost(uint8_t gun_index);
 
 void setUserPrice(uint8_t type);
 void setDefaultPrice(uint8_t type);
@@ -418,16 +420,25 @@ void page_complete(uint8_t gun_index, uint8_t system_mode)
 		}
 		else
 		{
-			// Disappear account balance and icon
-			setDisplayValue(ICON_WALLER_COMPLETE, DISAPPEAR);
-			setDisplayValue(TEXT_ACCOUNT_COMPLETE, DISAPPEAR);
+			if(ShmSysConfigAndInfo->SysConfig.BillingData.isBilling == ON)
+			{
+				// Appear cost and icon
+				setDisplayValue(ICON_COST_COMPLETE, APPEAR);
+				setPresentFinalCost(getPresentFinalCost(gun_index));
+			}
+			else
+			{
+				// Disappear account balance and icon
+				setDisplayValue(ICON_WALLER_COMPLETE, DISAPPEAR);
+				setDisplayValue(TEXT_ACCOUNT_COMPLETE, DISAPPEAR);
 
-			// Disappear cost and icon
-			setDisplayValue(ICON_COST_COMPLETE, DISAPPEAR);
-			setDisplayValue(TEXT_COST_COMPLETE, DISAPPEAR);
+				// Disappear cost and icon
+				setDisplayValue(ICON_COST_COMPLETE, DISAPPEAR);
+				setDisplayValue(TEXT_COST_COMPLETE, DISAPPEAR);
 
-			// Disappear balance currency unit
-			setDisplayValue(TEXT_CURRENCY_COMPLETE, DISAPPEAR);
+				// Disappear balance currency unit
+				setDisplayValue(TEXT_CURRENCY_COMPLETE, DISAPPEAR);
+			}
 		}
 
 		//DEBUG_INFO("Page complete.\n");
@@ -845,12 +856,14 @@ void setCurrencyFromWebsite(char *unit)
 {
 	uint8_t data[16];
 	uint8_t currency[16];
+	unsigned char kWh [16];
 
 	memset(data, 0x00, ARRAY_SIZE(data));
 	memset(currency, 0x00, ARRAY_SIZE(currency));
+	strcpy((char*)kWh, "/kWh");
 
 	*(unit + 3) = '\0';
-	sprintf((char *) currency, "%s", unit);
+	sprintf((char *) currency, "%s%s", unit,kWh);
 	string2ByteArray(currency, data);
 	lcdRegisterWrite(Uart1Fd, REG_TYPE_RAM, TEXT_CURRENCY_UNIT, data, ARRAY_SIZE(data));
 }
@@ -871,6 +884,36 @@ void setPriceFromWebsite(float monry_rate)
 	lcdRegisterWrite(Uart1Fd, REG_TYPE_RAM, TEXT_PRICE, data, ARRAY_SIZE(data));
 }
 
+//=======================================
+// Setting final cost
+//=======================================
+void setPresentFinalCost(float cost)
+{
+	uint8_t data[16];
+	uint8_t finalCost[16];
+
+	memset(data, 0x00, ARRAY_SIZE(data));
+	memset(finalCost, 0x00, ARRAY_SIZE(finalCost));
+	sprintf((char *)finalCost, "%.2f", cost);
+	string2ByteArray(finalCost, data);
+	lcdRegisterWrite(Uart1Fd, REG_TYPE_RAM, TEXT_COST_COMPLETE, data, ARRAY_SIZE(data));
+}
+
+//=======================================
+// Getting final cost
+//=======================================
+float getPresentFinalCost(uint8_t gun_index)
+{
+	float result = 0.0f;
+
+	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]);
+	}
+
+	return result;
+}
+
 //=======================================
 // Setting billing (Backend)
 //=======================================

+ 34 - 17
EVSE/Projects/AW-CCS/Apps/Module_FactoryConfig.c

@@ -272,17 +272,21 @@ int main(int argc, char *argv[])
 	
 	sprintf((char*)SysConfig.SystemId, "%s%s", SysConfig.ModelName, SysConfig.SerialNumber);
 	sprintf((char*)SysConfig.SystemDateTime, "%d-%d-%d %d:%d:%d", tm.tm_year + 1900, tm.tm_mon + 1, tm.tm_mday, tm.tm_hour, tm.tm_min, tm.tm_sec);
-	SysConfig.AuthorisationMode = 0;	// 0: enable, 1: disable
-	SysConfig.DefaultLanguage  = 0;		// 0:English	1:Big5				2: GB			3: JN		4: Français 	5: Italiano		6: Español		7: Deutsch		8: Nederland	9: Norsk	10: Suomalainen		11: Svenska		12: Pусский		13: ไทย
-	SysConfig.RfidCardNumEndian = 0;	// 0: Little endian		1: Big endian
+	SysConfig.AuthorisationMode = 0;		// 0: enable, 1: disable
+	SysConfig.DefaultLanguage  = 0;			// 0: English 1: Big5 2: GB 3: JN 4: Français 5: Italiano 6: Español 7: Deutsch 8: Nederland 9: Norsk 10: Suomalainen 11: Svenska 12: Pусский 13: ไทย
+	SysConfig.RfidCardNumEndian = 0;		// 0: Little endian 1: Big endian
+	SysConfig.BillingData.isBilling = 0;	// 0: not for business	1: for business
+	SysConfig.isQRCode = 1;					// for AuthorisationMode = 0; 0:false, 1:true
+	SysConfig.isRFID = 1;					// for AuthorisationMode = 0; 0:false, 1:true
+	SysConfig.isAPP = 0;					// for AuthorisationMode = 0; 0:false, 1:true
 
 	// Charging configuration
-	SysConfig.MaxChargingEnergy = 0;	// 0: No limit	Other: 1~65536 KWH
-	SysConfig.MaxChargingPower = 0;		// 0: No limit	Other: 1~65536 KW
-	SysConfig.MaxChargingCurrent = 0;	// 0: Rating value	Other: 1~Rating A
-	SysConfig.MaxChargingDuration = 0;	// 0: No limit	Other: 1~65536 Minute
-	SysConfig.PhaseLossPolicy = 0;		// 0: Charging	1: Stop charging
-	SysConfig.AcPhaseCount = 1;			// 1: One phase	3: Three phase
+	SysConfig.MaxChargingEnergy = 0;		// 0: No limit	Other: 1~65536 KWH
+	SysConfig.MaxChargingPower = 0;			// 0: No limit	Other: 1~65536 KW
+	SysConfig.MaxChargingCurrent = 0;		// 0: Rating value	Other: 1~Rating A
+	SysConfig.MaxChargingDuration = 0;		// 0: No limit	Other: 1~65536 Minute
+	SysConfig.PhaseLossPolicy = 0;			// 0: Charging	1: Stop charging
+	SysConfig.AcPhaseCount = 1;				// 1: One phase	3: Three phase
 
 	// Network configuration
 	strcpy((char*)SysConfig.FtpServer, "");
@@ -296,18 +300,30 @@ int main(int argc, char *argv[])
 	strcpy((char*)SysConfig.Eth1Interface.EthSubmaskAddress, "255.255.255.0");
 	strcpy((char*)SysConfig.Eth1Interface.EthGatewayAddress, "192.168.0.254");
 
-	SysConfig.AthInterface.WifiMode = 2;		// 0: Disable	1: Infrastructure client	2: Infrastructure server	3: Ad-Hoc
-	SysConfig.AthInterface.WifiRssi = 0;		// Wifi rssi value
-	SysConfig.AthInterface.WifiDhcpServer = 0;	// 0: Enable	1: Disable
-	SysConfig.AthInterface.WifiDhcpClient = 0;	// 0: Enable	1: Disable
-
-	strcpy((char*)SysConfig.TelecomInterface.TelcomApn, "");
-	SysConfig.TelecomInterface.TelcomSimStatus = 0;	// SIM card status
-	SysConfig.TelecomInterface.TelcomModemMode = 0;	//0: No services	1: CDMA		2: GSM/GPRS	3: WCDMA	4: GSM/WCDMA	5: TD_SCDMA		6: Unknown
+	// Wifi configuration
+	SysConfig.AthInterface.WifiMode = 2;								// 0: Disable 1: Infrastructure client 2: Infrastructure server	3: Ad-Hoc
+	SysConfig.AthInterface.WifiRssi = 0;								// Wifi rssi value
+	strcpy((char *) SysConfig.AthInterface.WifiSsid, "");				// default: Null
+	strcpy((char *) SysConfig.AthInterface.WifiPassword, "");			// default: Null
+	SysConfig.AthInterface.WifiDhcpServer = 0;							// 0: Enable 1: Disable
+	SysConfig.AthInterface.WifiDhcpClient = 0;							// 0: Enable 1: Disable
+
+	// Telecom configuration
+	strcpy((char*)SysConfig.TelecomInterface.TelcomApn, "");			// default: Null
+	SysConfig.TelecomInterface.TelcomEnabled = 1; 						// 0: disable, 1: enable
+	SysConfig.TelecomInterface.TelcomRssi = 0;							// default: 0
+	SysConfig.TelecomInterface.TelcomSimStatus = 0;						// SIM card status
+	SysConfig.TelecomInterface.TelcomModemMode = 0;						// 0: No services 1: CDMA 2: GSM/GPRS 3: WCDMA 4: GSM/WCDMA 5: TD_SCDMA 6: Unknown
+	strcpy((char *) SysConfig.TelecomInterface.TelcomChapPapId, "");	// default: Null
+	strcpy((char *) SysConfig.TelecomInterface.TelcomChapPapPwd, "");	// default: Null
+	strcpy((char *) SysConfig.TelecomInterface.TelcomModemImei, "");	// default: Null
+	strcpy((char *) SysConfig.TelecomInterface.TelcomSimImsi, "");		// default: Null
+	strcpy((char *) SysConfig.TelecomInterface.TelcomSimIccid, "");		// default: Null
 
 	// Backend configuration
 	strcpy((char*)SysConfig.OcppServerURL, "");
 	sprintf((char*)SysConfig.ChargeBoxId, "%s%s", SysConfig.ModelName, SysConfig.SerialNumber);
+	strcpy((char *)SysConfig.chargePointVendor, "");	// default: Null
 	SysConfig.BackendConnTimeout=300; 		// 300 seconds
 	SysConfig.OfflinePolicy = 2;			// 0: local list, 1: Phihong RFID tag, 2: free charging, 3: no charging
 	SysConfig.OfflineMaxChargeEnergy = 0;	// 0: Same as MaxChargeEnergy	Other: 1~65535KWH
@@ -319,6 +335,7 @@ int main(int argc, char *argv[])
 	{
 		strcpy((char*)SysConfig.OcppServerURL, "");
 		sprintf((char*)SysConfig.ChargeBoxId, "%s%s", SysConfig.ModelName, SysConfig.SerialNumber);
+		strcpy((char *)SysConfig.chargePointVendor, "");
 	}
 	else
 	{

+ 3 - 0
EVSE/Projects/AW-CCS/Apps/main.c

@@ -4177,6 +4177,7 @@ int main(void)
 							case START_METHOD_RFID:
 
 								ShmCharger->gun_info[gun_index].resultAuthorization = UNKNOW_RFID;
+								sleep(1);
 
 								if((ocpp_get_auth_conf()) ||
 								   (!ocpp_get_connection_status() && ((ShmSysConfigAndInfo->SysConfig.OfflinePolicy == OFF_POLICY_FREE) || (ShmSysConfigAndInfo->SysConfig.OfflinePolicy == OFF_POLICY_NOCHARGE))) ||
@@ -4719,6 +4720,7 @@ int main(void)
 								else
 								{
 									ShmCharger->gun_info[gun_index].resultAuthorization = UNKNOW_RFID;
+									sleep(1);
 
 									if(ocpp_get_auth_conf() ||
 									  (ShmSysConfigAndInfo->SysConfig.AuthorisationMode == AUTH_MODE_DISABLE) ||
@@ -5163,6 +5165,7 @@ int main(void)
 								else
 								{
 									ShmCharger->gun_info[gun_index].resultAuthorization = UNKNOW_RFID;
+									sleep(1);
 
 									if(ocpp_get_auth_conf() ||
 									  (ShmSysConfigAndInfo->SysConfig.AuthorisationMode == AUTH_MODE_DISABLE) ||