|
@@ -22,7 +22,7 @@
|
|
|
#define TIMEOUT_SPEC_HANDSHAKING 180
|
|
|
#define TIMEOUT_SPEC_AUTH 15
|
|
|
#define TIMEOUT_SPEC_HANDSHAKING_LED 185
|
|
|
-#define TIMEOUT_SPEC_LOGPPRINTOUT 30
|
|
|
+#define TIMEOUT_SPEC_REFRESH_CHARGING_INFO 30
|
|
|
#define TIMEOUT_SPEC_PROFILE_PREPARE 60
|
|
|
#define TIMEOUT_SPEC_BS_HLC_HANDSHAKE 60
|
|
|
#define TIMEOUT_SPEC_EV_READY 30
|
|
@@ -4293,28 +4293,18 @@ void checkAvailability(uint8_t gun_index)
|
|
|
|
|
|
void checkChargingProfileLimit(uint8_t gun_index)
|
|
|
{
|
|
|
+ static struct PreviousData
|
|
|
+ {
|
|
|
+ uint16_t targetCurrent;
|
|
|
+ uint16_t current_limit;
|
|
|
+ }previousData[3];
|
|
|
+
|
|
|
if(ShmSysConfigAndInfo->SysInfo.OcppRunningVer == OCPP_RUNNING_VERSION_16)
|
|
|
{
|
|
|
if((ocpp_get_smartcharging_profileId(gun_index) > 0) &&
|
|
|
(ocpp_get_profile_req(gun_index) != ON) &&
|
|
|
(((strlen((char*)ShmOCPP16Data->SmartChargingProfile[gun_index].ValidFrom)>0) && (strlen((char*)ShmOCPP16Data->SmartChargingProfile[gun_index].ValidTo)>0)) ? isProfileValid(gun_index) : ON))
|
|
|
{
|
|
|
- // Debug information
|
|
|
- if(getDiffSecNow(startTime[gun_index][TMR_IDX_LOGPPRINTOUT]) > TIMEOUT_SPEC_LOGPPRINTOUT)
|
|
|
- {
|
|
|
- DEBUG_INFO("===============================================================\n");
|
|
|
- DEBUG_INFO("Profile ID found: %d\n", ShmOCPP16Data->SmartChargingProfile[gun_index].ChargingProfileId);
|
|
|
- DEBUG_INFO("Valid from: %s\n", ShmOCPP16Data->SmartChargingProfile[gun_index].ValidFrom);
|
|
|
- DEBUG_INFO("Valid to: %s\n", ShmOCPP16Data->SmartChargingProfile[gun_index].ValidTo);
|
|
|
- DEBUG_INFO("Start schedule: %s\n", ShmOCPP16Data->SmartChargingProfile[gun_index].ChargingSchedule.StartSchedule);
|
|
|
- DEBUG_INFO("Profile kind: %s\n", ShmOCPP16Data->SmartChargingProfile[gun_index].ChargingProfileKind);
|
|
|
- DEBUG_INFO("RecurrencyKind: %s\n", ShmOCPP16Data->SmartChargingProfile[gun_index].RecurrencyKind);
|
|
|
- DEBUG_INFO("Profile purpose: %s\n", ShmOCPP16Data->SmartChargingProfile[gun_index].ChargingProfilePurpose);
|
|
|
- DEBUG_INFO("Transaction ID: %d\n", ShmOCPP16Data->SmartChargingProfile[gun_index].TransactionId);
|
|
|
- DEBUG_INFO("ChargingRateUnit: %s\n", ShmOCPP16Data->SmartChargingProfile[gun_index].ChargingSchedule.ChargingRateUnit);
|
|
|
- DEBUG_INFO("===============================================================\n");
|
|
|
- }
|
|
|
-
|
|
|
// Checking profile kind
|
|
|
if((mystrcmp((char*)ShmOCPP16Data->SmartChargingProfile[gun_index].ChargingProfileKind, "Absolute") == PASS))
|
|
|
{
|
|
@@ -4349,22 +4339,6 @@ void checkChargingProfileLimit(uint8_t gun_index)
|
|
|
(ocpp_get_profile_req(gun_index) != ON) &&
|
|
|
(((strlen((char*)ShmOCPP20Data->SmartChargingProfile[gun_index].validFrom)>0) && (strlen((char*)ShmOCPP20Data->SmartChargingProfile[gun_index].validTo)>0)) ? isProfileValid(gun_index) : ON))
|
|
|
{
|
|
|
- // Debug information
|
|
|
- if(getDiffSecNow(startTime[gun_index][TMR_IDX_LOGPPRINTOUT]) > TIMEOUT_SPEC_LOGPPRINTOUT)
|
|
|
- {
|
|
|
- DEBUG_INFO("===============================================================\n");
|
|
|
- DEBUG_INFO("Profile ID found: %d\n", ShmOCPP20Data->SmartChargingProfile[gun_index].id);
|
|
|
- DEBUG_INFO("Valid from: %s\n", ShmOCPP20Data->SmartChargingProfile[gun_index].validFrom);
|
|
|
- DEBUG_INFO("Valid to: %s\n", ShmOCPP20Data->SmartChargingProfile[gun_index].validTo);
|
|
|
- DEBUG_INFO("Start schedule: %s\n", ShmOCPP20Data->SmartChargingProfile[gun_index].chargingSchedule[0].startSchedule);
|
|
|
- DEBUG_INFO("Profile kind: %s\n", ShmOCPP20Data->SmartChargingProfile[gun_index].chargingProfileKind);
|
|
|
- DEBUG_INFO("RecurrencyKind: %s\n", ShmOCPP20Data->SmartChargingProfile[gun_index].recurrencyKind);
|
|
|
- DEBUG_INFO("Profile purpose: %s\n", ShmOCPP20Data->SmartChargingProfile[gun_index].chargingProfilePurpose);
|
|
|
- DEBUG_INFO("Transaction ID: %d\n", ShmOCPP20Data->SmartChargingProfile[gun_index].transactionId);
|
|
|
- DEBUG_INFO("ChargingRateUnit: %s\n", ShmOCPP20Data->SmartChargingProfile[gun_index].chargingSchedule[0].chargingRateUnit);
|
|
|
- DEBUG_INFO("===============================================================\n");
|
|
|
- }
|
|
|
-
|
|
|
// Checking profile kind
|
|
|
if((mystrcmp((char*)ShmOCPP20Data->SmartChargingProfile[gun_index].chargingProfileKind, "Absolute") == PASS))
|
|
|
{
|
|
@@ -4380,7 +4354,7 @@ void checkChargingProfileLimit(uint8_t gun_index)
|
|
|
)
|
|
|
{
|
|
|
ShmCharger->gun_info[gun_index].targetCurrent = (mystrcmp((char*)ShmOCPP20Data->SmartChargingProfile[gun_index].chargingSchedule[0].chargingRateUnit,"W")==PASS?ShmOCPP20Data->SmartChargingProfile[gun_index].chargingSchedule[0].chargingSchedulePeriod[idx_period].limit/(220*ShmOCPP20Data->SmartChargingProfile[gun_index].chargingSchedule[0].chargingSchedulePeriod[idx_period].numberPhases):ShmOCPP20Data->SmartChargingProfile[gun_index].chargingSchedule[0].chargingSchedulePeriod[idx_period].limit);
|
|
|
- DEBUG_INFO("ShmCharger->gun_info[%d].targetCurrent on period[%d]: %d\n", gun_index, idx_period, ShmCharger->gun_info[gun_index].targetCurrent);
|
|
|
+ //DEBUG_INFO("ShmCharger->gun_info[%d].targetCurrent on period[%d]: %d\n", gun_index, idx_period, ShmCharger->gun_info[gun_index].targetCurrent);
|
|
|
}
|
|
|
else
|
|
|
break;
|
|
@@ -4393,6 +4367,30 @@ void checkChargingProfileLimit(uint8_t gun_index)
|
|
|
ShmCharger->gun_info[gun_index].targetCurrent = ShmCharger->gun_info[gun_index].primaryMcuState.rating_current;
|
|
|
}
|
|
|
}
|
|
|
+
|
|
|
+ if(ShmSysConfigAndInfo->SysConfig.MaxChargingCurrent == 0)
|
|
|
+ {
|
|
|
+ ShmCharger->gun_info[gun_index].targetCurrent = ((ShmCharger->gun_info[gun_index].targetCurrent > ShmCharger->gun_info[gun_index].primaryMcuState.rating_current)?ShmCharger->gun_info[gun_index].primaryMcuState.rating_current:ShmCharger->gun_info[gun_index].targetCurrent);
|
|
|
+ ShmCharger->gun_info[gun_index].targetCurrent = ((1 <= ShmCharger->gun_info[gun_index].targetCurrent) && (ShmCharger->gun_info[gun_index].targetCurrent <= 5)?6:ShmCharger->gun_info[gun_index].targetCurrent);
|
|
|
+ }
|
|
|
+ else
|
|
|
+ {
|
|
|
+ ShmCharger->gun_info[gun_index].targetCurrent = ((ShmCharger->gun_info[gun_index].targetCurrent > ShmSysConfigAndInfo->SysConfig.MaxChargingCurrent)?ShmSysConfigAndInfo->SysConfig.MaxChargingCurrent:ShmCharger->gun_info[gun_index].targetCurrent);
|
|
|
+ ShmCharger->gun_info[gun_index].targetCurrent = ((1 <= ShmCharger->gun_info[gun_index].targetCurrent) && (ShmCharger->gun_info[gun_index].targetCurrent <= 5)?6:ShmCharger->gun_info[gun_index].targetCurrent);
|
|
|
+ }
|
|
|
+
|
|
|
+ if(ShmCharger->gun_info[gun_index].targetCurrent != previousData[gun_index].targetCurrent)
|
|
|
+ {
|
|
|
+ DEBUG_INFO("SysConfig.MaxChargingCurrent: %d\n", ShmSysConfigAndInfo->SysConfig.MaxChargingCurrent);
|
|
|
+ DEBUG_INFO("gun-%02d target current: %d\n", gun_index, ShmCharger->gun_info[gun_index].targetCurrent);
|
|
|
+ previousData[gun_index].targetCurrent = ShmCharger->gun_info[gun_index].targetCurrent;
|
|
|
+ }
|
|
|
+
|
|
|
+ if(ShmCharger->gun_info[gun_index].primaryMcuState.current_limit != previousData[gun_index].current_limit)
|
|
|
+ {
|
|
|
+ DEBUG_INFO("gun-%02d mcu current_limit: %d\n", gun_index, ShmCharger->gun_info[gun_index].primaryMcuState.current_limit);
|
|
|
+ previousData[gun_index].current_limit = ShmCharger->gun_info[gun_index].primaryMcuState.current_limit;
|
|
|
+ }
|
|
|
}
|
|
|
|
|
|
void checkStopReason(uint8_t gun_index)
|
|
@@ -4686,7 +4684,7 @@ void checkRfidAuthrize()
|
|
|
ShmCharger->isAuthrizing = TRUE;
|
|
|
ShmCharger->isGetAuthResult = FALSE;
|
|
|
isCheckdResult = FALSE;
|
|
|
- sleep(1);
|
|
|
+ //sleep(1);
|
|
|
}
|
|
|
}
|
|
|
}
|
|
@@ -5214,9 +5212,6 @@ int main(void)
|
|
|
DEBUG_INFO("Wifi password: %s\n", ShmSysConfigAndInfo->SysConfig.AthInterface.WifiPassword);
|
|
|
DEBUG_INFO("==========================================\n");
|
|
|
|
|
|
- // Set max current to rating current
|
|
|
- ShmCharger->gun_info[gun_index].primaryMcuCp_Pwn_Duty.max_current = ShmCharger->gun_info[gun_index].primaryMcuState.rating_current;
|
|
|
-
|
|
|
// Default Ethernet / Wifi / 4G to 1:disconnected
|
|
|
switch(ShmSysConfigAndInfo->SysConfig.ModelName[10])
|
|
|
{
|
|
@@ -5397,14 +5392,6 @@ int main(void)
|
|
|
ocpp_set_profile_req(gun_index, ON);
|
|
|
sleep(1);
|
|
|
checkChargingProfileLimit(gun_index);
|
|
|
- if(ShmSysConfigAndInfo->SysConfig.MaxChargingCurrent == 0)
|
|
|
- {
|
|
|
- ShmCharger->gun_info[gun_index].targetCurrent = ((ShmCharger->gun_info[gun_index].targetCurrent > ShmCharger->gun_info[gun_index].primaryMcuState.rating_current)?ShmCharger->gun_info[gun_index].primaryMcuState.rating_current:ShmCharger->gun_info[gun_index].targetCurrent);
|
|
|
- }
|
|
|
- else
|
|
|
- {
|
|
|
- ShmCharger->gun_info[gun_index].targetCurrent = ((ShmCharger->gun_info[gun_index].targetCurrent > ShmSysConfigAndInfo->SysConfig.MaxChargingCurrent)?ShmSysConfigAndInfo->SysConfig.MaxChargingCurrent:ShmCharger->gun_info[gun_index].targetCurrent);
|
|
|
- }
|
|
|
|
|
|
setChargerMode(gun_index, SYS_MODE_AUTHORIZING);
|
|
|
}
|
|
@@ -5535,34 +5522,19 @@ int main(void)
|
|
|
ocpp_set_profile_req(gun_index, ON);
|
|
|
sleep(1);
|
|
|
checkChargingProfileLimit(gun_index);
|
|
|
- if(ShmSysConfigAndInfo->SysConfig.MaxChargingCurrent == 0)
|
|
|
- {
|
|
|
- ShmCharger->gun_info[gun_index].targetCurrent = ((ShmCharger->gun_info[gun_index].targetCurrent > ShmCharger->gun_info[gun_index].primaryMcuState.rating_current)?ShmCharger->gun_info[gun_index].primaryMcuState.rating_current:ShmCharger->gun_info[gun_index].targetCurrent);
|
|
|
- ShmCharger->gun_info[gun_index].primaryMcuCp_Pwn_Duty.max_current = ((ShmCharger->gun_info[gun_index].targetCurrent > ShmCharger->gun_info[gun_index].primaryMcuState.rating_current)?ShmCharger->gun_info[gun_index].primaryMcuState.rating_current:ShmCharger->gun_info[gun_index].targetCurrent);
|
|
|
- }
|
|
|
- else
|
|
|
- {
|
|
|
- ShmCharger->gun_info[gun_index].targetCurrent = ((ShmCharger->gun_info[gun_index].targetCurrent > ShmSysConfigAndInfo->SysConfig.MaxChargingCurrent)?ShmSysConfigAndInfo->SysConfig.MaxChargingCurrent:ShmCharger->gun_info[gun_index].targetCurrent);
|
|
|
- ShmCharger->gun_info[gun_index].primaryMcuCp_Pwn_Duty.max_current = ((ShmCharger->gun_info[gun_index].targetCurrent > ShmSysConfigAndInfo->SysConfig.MaxChargingCurrent)?ShmSysConfigAndInfo->SysConfig.MaxChargingCurrent:ShmCharger->gun_info[gun_index].targetCurrent);
|
|
|
- }
|
|
|
|
|
|
refreshStartTimer(&startTime[gun_index][TMR_IDX_BS_HLC_HANDSHAKE]);
|
|
|
}
|
|
|
break;
|
|
|
case HANDSHAKE_SET_MAX_CURRENT:
|
|
|
- //if(ShmCharger->gun_info[gun_index].mcuFlag.isSetCpPwmDuty == OFF)
|
|
|
- {
|
|
|
- DEBUG_INFO("Enter BS Mode charging.\n");
|
|
|
- //for EV READY 30 secs didn't start charging to STATE E
|
|
|
- refreshStartTimer(&startTime[gun_index][TMR_IDX_HANDSHAKING]);
|
|
|
- }
|
|
|
- break;
|
|
|
case HANDSHAKE_BS_MODE:
|
|
|
+ DEBUG_INFO("Enter BS Mode charging.\n");
|
|
|
refreshStartTimer(&startTime[gun_index][TMR_IDX_HANDSHAKING]);
|
|
|
+ checkChargingProfileLimit(gun_index);
|
|
|
if(ShmSysConfigAndInfo->SysInfo.AcChargingData[gun_index].PilotState == CP_STATE_C)
|
|
|
setRelay(gun_index,ON);
|
|
|
|
|
|
- if((ShmCharger->gun_info[gun_index].primaryMcuState.relay_state == ON))
|
|
|
+ if((ShmCharger->gun_info[gun_index].primaryMcuState.relay_state == ON) || (ShmCharger->gun_info[gun_index].targetCurrent == 0))
|
|
|
{
|
|
|
ocpp_set_unlocker_req(gun_index, OFF);
|
|
|
presentChargedEnergyClear(gun_index);
|
|
@@ -5663,12 +5635,14 @@ int main(void)
|
|
|
if((ShmSysConfigAndInfo->SysInfo.AcChargingData[gun_index].PilotState == CP_STATE_A) && (ShmCharger->gun_info[gun_index].isGunPlugged == YES))
|
|
|
{
|
|
|
DEBUG_INFO("Charging gun is plugged before.\n");
|
|
|
+ setChargerMode(gun_index, SYS_MODE_IDLE);
|
|
|
}
|
|
|
|
|
|
// Use RFID card to stop handshaking
|
|
|
if((ShmCharger->gun_info[gun_index].rfidReq == ON) && isMatchPresentUser(gun_index))
|
|
|
{
|
|
|
DEBUG_INFO("Use RFID card to stop handshaking.\n");
|
|
|
+ setChargerMode(gun_index, SYS_MODE_IDLE);
|
|
|
}
|
|
|
else
|
|
|
{
|
|
@@ -5693,7 +5667,7 @@ int main(void)
|
|
|
{
|
|
|
ShmCharger->gun_info[gun_index].rfidReq = OFF;
|
|
|
//ftime(&startChargingTime[gun_index]);
|
|
|
- refreshStartTimer(&startTime[gun_index][TMR_IDX_LOGPPRINTOUT]);
|
|
|
+ refreshStartTimer(&startTime[gun_index][TMR_IDX_REFRESH_CHARGING_INFO]);
|
|
|
refreshStartTimer(&startTime[gun_index][TMR_IDX_PROFILE_PREPARE]);
|
|
|
refreshStartTimer(&startTime[gun_index][TMR_IDX_PWN_CHANGE]);
|
|
|
ocpp_set_auth_req(OFF);
|
|
@@ -5784,70 +5758,6 @@ int main(void)
|
|
|
}
|
|
|
}
|
|
|
|
|
|
- // Determine max charging current to MCU
|
|
|
- if(ShmSysConfigAndInfo->SysConfig.MaxChargingCurrent == 0)
|
|
|
- {
|
|
|
- ShmCharger->gun_info[gun_index].targetCurrent = ((ShmCharger->gun_info[gun_index].targetCurrent > ShmCharger->gun_info[gun_index].primaryMcuState.rating_current)?ShmCharger->gun_info[gun_index].primaryMcuState.rating_current:ShmCharger->gun_info[gun_index].targetCurrent);
|
|
|
- if((ShmCharger->gun_info[gun_index].targetCurrent != ShmCharger->gun_info[gun_index].primaryMcuCp_Pwn_Duty.max_current) ||
|
|
|
- (ShmCharger->gun_info[gun_index].primaryMcuState.current_limit != ShmCharger->gun_info[gun_index].primaryMcuCp_Pwn_Duty.max_current))
|
|
|
- {
|
|
|
- if(ShmCharger->gun_info[gun_index].chargingMode == CHARGING_MODE_BS)
|
|
|
- {
|
|
|
- if(getDiffSecNow(startTime[gun_index][TMR_IDX_PWN_CHANGE]) > TIMEOUT_SPEC_PWN_CHANGE)
|
|
|
- {
|
|
|
- if((6 <= ShmCharger->gun_info[gun_index].targetCurrent))
|
|
|
- {
|
|
|
- ShmCharger->gun_info[gun_index].primaryMcuCp_Pwn_Duty.max_current = ((ShmCharger->gun_info[gun_index].targetCurrent > ShmCharger->gun_info[gun_index].primaryMcuState.rating_current)?ShmCharger->gun_info[gun_index].primaryMcuState.rating_current:ShmCharger->gun_info[gun_index].targetCurrent);
|
|
|
- }
|
|
|
- else if((1 <= ShmCharger->gun_info[gun_index].targetCurrent) && (ShmCharger->gun_info[gun_index].targetCurrent < 6))
|
|
|
- {
|
|
|
- ShmCharger->gun_info[gun_index].primaryMcuCp_Pwn_Duty.max_current = 6;
|
|
|
- }
|
|
|
- else
|
|
|
- {
|
|
|
- ShmCharger->gun_info[gun_index].primaryMcuCp_Pwn_Duty.max_current = 100;
|
|
|
- }
|
|
|
- refreshStartTimer(&startTime[gun_index][TMR_IDX_PWN_CHANGE]);
|
|
|
- }
|
|
|
- }
|
|
|
- else if(ShmCharger->gun_info[gun_index].chargingMode == CHARGING_MODE_HLC)
|
|
|
- {
|
|
|
- ShmCharger->gun_info[gun_index].acCcsInfo.EVSEMaxCurrent = (float)((ShmCharger->gun_info[gun_index].targetCurrent > ShmCharger->gun_info[gun_index].primaryMcuState.rating_current)?ShmCharger->gun_info[gun_index].primaryMcuState.rating_current:ShmCharger->gun_info[gun_index].targetCurrent);
|
|
|
- }
|
|
|
- }
|
|
|
- }
|
|
|
- else
|
|
|
- {
|
|
|
- ShmCharger->gun_info[gun_index].targetCurrent = ((ShmCharger->gun_info[gun_index].targetCurrent > ShmSysConfigAndInfo->SysConfig.MaxChargingCurrent)?ShmSysConfigAndInfo->SysConfig.MaxChargingCurrent:ShmCharger->gun_info[gun_index].targetCurrent);
|
|
|
- if((ShmCharger->gun_info[gun_index].targetCurrent != ShmCharger->gun_info[gun_index].primaryMcuCp_Pwn_Duty.max_current) ||
|
|
|
- (ShmCharger->gun_info[gun_index].primaryMcuState.current_limit != ShmCharger->gun_info[gun_index].primaryMcuCp_Pwn_Duty.max_current))
|
|
|
- {
|
|
|
- if(ShmCharger->gun_info[gun_index].chargingMode == CHARGING_MODE_BS)
|
|
|
- {
|
|
|
- if(getDiffSecNow(startTime[gun_index][TMR_IDX_PWN_CHANGE]) > TIMEOUT_SPEC_PWN_CHANGE)
|
|
|
- {
|
|
|
- if((6 <= ShmCharger->gun_info[gun_index].targetCurrent))
|
|
|
- {
|
|
|
- ShmCharger->gun_info[gun_index].primaryMcuCp_Pwn_Duty.max_current = ((ShmCharger->gun_info[gun_index].targetCurrent > ShmSysConfigAndInfo->SysConfig.MaxChargingCurrent)?ShmSysConfigAndInfo->SysConfig.MaxChargingCurrent:ShmCharger->gun_info[gun_index].targetCurrent);
|
|
|
- }
|
|
|
- else if((1 <= ShmCharger->gun_info[gun_index].targetCurrent) && (ShmCharger->gun_info[gun_index].targetCurrent < 6))
|
|
|
- {
|
|
|
- ShmCharger->gun_info[gun_index].primaryMcuCp_Pwn_Duty.max_current = 6;
|
|
|
- }
|
|
|
- else
|
|
|
- {
|
|
|
- ShmCharger->gun_info[gun_index].primaryMcuCp_Pwn_Duty.max_current = 100;
|
|
|
- }
|
|
|
- refreshStartTimer(&startTime[gun_index][TMR_IDX_PWN_CHANGE]);
|
|
|
- }
|
|
|
- }
|
|
|
- else if(ShmCharger->gun_info[gun_index].chargingMode == CHARGING_MODE_HLC)
|
|
|
- {
|
|
|
- ShmCharger->gun_info[gun_index].acCcsInfo.EVSEMaxCurrent = (float)((ShmCharger->gun_info[gun_index].targetCurrent > ShmSysConfigAndInfo->SysConfig.MaxChargingCurrent)?ShmSysConfigAndInfo->SysConfig.MaxChargingCurrent:ShmCharger->gun_info[gun_index].targetCurrent);
|
|
|
- }
|
|
|
- }
|
|
|
- }
|
|
|
-
|
|
|
// Charging session local limit condition check
|
|
|
if(ocpp_get_connection_status())
|
|
|
{
|
|
@@ -5958,17 +5868,11 @@ int main(void)
|
|
|
}
|
|
|
|
|
|
// Debug information
|
|
|
- if(getDiffSecNow(startTime[gun_index][TMR_IDX_LOGPPRINTOUT]) > TIMEOUT_SPEC_LOGPPRINTOUT)
|
|
|
+ if(getDiffSecNow(startTime[gun_index][TMR_IDX_REFRESH_CHARGING_INFO]) > TIMEOUT_SPEC_REFRESH_CHARGING_INFO)
|
|
|
{
|
|
|
- DEBUG_INFO("==============================================================\n");
|
|
|
- DEBUG_INFO("ShmSysConfigAndInfo->SysConfig.MaxChargingCurrent: %d \n", ShmSysConfigAndInfo->SysConfig.MaxChargingCurrent);
|
|
|
- DEBUG_INFO("ShmCharger->gun_info[%d].primaryMcuCp_Pwn_Duty.max_current: %d\n", gun_index, ShmCharger->gun_info[gun_index].primaryMcuCp_Pwn_Duty.max_current);
|
|
|
- DEBUG_INFO("ShmCharger->gun_info[%d].targetCurrent: %d\n", gun_index, ShmCharger->gun_info[gun_index].targetCurrent);
|
|
|
- DEBUG_INFO("==============================================================\n");
|
|
|
- refreshStartTimer(&startTime[gun_index][TMR_IDX_LOGPPRINTOUT]);
|
|
|
-
|
|
|
getDateTimeString((char*)ShmSysConfigAndInfo->SysInfo.AcChargingData[gun_index].StopDateTime);
|
|
|
DB_Update_Record_Buf(localDb, gun_index);
|
|
|
+ refreshStartTimer(&startTime[gun_index][TMR_IDX_REFRESH_CHARGING_INFO]);
|
|
|
}
|
|
|
}
|
|
|
|
|
@@ -6013,7 +5917,6 @@ int main(void)
|
|
|
|
|
|
if(ShmCharger->gun_info[gun_index].chargingMode == CHARGING_MODE_BS)
|
|
|
{
|
|
|
- ShmCharger->gun_info[gun_index].primaryMcuCp_Pwn_Duty.max_current = CCS_PWM_DUTY_100;
|
|
|
sleep(1);
|
|
|
checkStopReason(gun_index);
|
|
|
setChargerMode(gun_index, SYS_MODE_COMPLETE);
|
|
@@ -6057,27 +5960,6 @@ int main(void)
|
|
|
// Checking profile id > 0 and current time is between charging profile validFrom & validTo
|
|
|
checkChargingProfileLimit(gun_index);
|
|
|
|
|
|
- // Determine max charging current to MCU
|
|
|
- if(ShmSysConfigAndInfo->SysConfig.MaxChargingCurrent == 0)
|
|
|
- {
|
|
|
- ShmCharger->gun_info[gun_index].targetCurrent = ((ShmCharger->gun_info[gun_index].targetCurrent > ShmCharger->gun_info[gun_index].primaryMcuState.rating_current)?ShmCharger->gun_info[gun_index].primaryMcuState.rating_current:ShmCharger->gun_info[gun_index].targetCurrent);
|
|
|
- }
|
|
|
- else
|
|
|
- {
|
|
|
- ShmCharger->gun_info[gun_index].targetCurrent = ((ShmCharger->gun_info[gun_index].targetCurrent > ShmSysConfigAndInfo->SysConfig.MaxChargingCurrent)?ShmSysConfigAndInfo->SysConfig.MaxChargingCurrent:ShmCharger->gun_info[gun_index].targetCurrent);
|
|
|
- }
|
|
|
-
|
|
|
- // Debug information
|
|
|
- if(getDiffSecNow(startTime[gun_index][TMR_IDX_LOGPPRINTOUT]) > TIMEOUT_SPEC_LOGPPRINTOUT)
|
|
|
- {
|
|
|
- DEBUG_INFO("=============================================================\n");
|
|
|
- DEBUG_INFO("ShmSysConfigAndInfo->SysConfig.MaxChargingCurrent: %d\n", ShmSysConfigAndInfo->SysConfig.MaxChargingCurrent);
|
|
|
- DEBUG_INFO("ShmCharger->gun_info[%d].primaryMcuCp_Pwn_Duty.max_current: %d\n", gun_index, ShmCharger->gun_info[gun_index].primaryMcuCp_Pwn_Duty.max_current);
|
|
|
- DEBUG_INFO("ShmCharger->gun_info[%d].targetCurrent: %d\n", gun_index, ShmCharger->gun_info[gun_index].targetCurrent);
|
|
|
- DEBUG_INFO("=============================================================\n");
|
|
|
- refreshStartTimer(&startTime[gun_index][TMR_IDX_LOGPPRINTOUT]);
|
|
|
- }
|
|
|
-
|
|
|
if(!ocpp_get_auth_result(YES, gun_index))
|
|
|
ShmCharger->gun_info[gun_index].rfidReq = OFF;
|
|
|
|