|
@@ -7603,25 +7603,62 @@ int main(void)
|
|
|
if(isModeChange(gun_index))
|
|
|
{
|
|
|
setLedMotion(gun_index, LED_ACTION_STOP);
|
|
|
- sleep(6);
|
|
|
- setRelay(gun_index, OFF);
|
|
|
- setRequest(gun_index, OFF);
|
|
|
- sleep(13);
|
|
|
+ refreshStartTimer(&startTime[gun_index][TMR_IDX_RECEIPT_INFORMATION]);
|
|
|
}
|
|
|
|
|
|
- if(((ShmCharger->gun_info[gun_index].chargingMode != CHARGING_MODE_SOCKETE) && (ShmSysConfigAndInfo->SysInfo.AcChargingData[gun_index].PilotState == CP_STATE_A)) ||
|
|
|
- ((ShmCharger->gun_info[gun_index].chargingMode == CHARGING_MODE_SOCKETE) && (!ShmCharger->gun_info[gun_index].primaryMcuState.socket_e.isSocketEPinOn)) ||
|
|
|
- ocpp_get_reset_req())
|
|
|
+ // Check the connector status
|
|
|
+ if((ShmCharger->gun_info[gun_index].chargingMode == CHARGING_MODE_BS) || (ShmCharger->gun_info[gun_index].chargingMode == CHARGING_MODE_HLC))
|
|
|
{
|
|
|
- sleep(2);
|
|
|
- ShmCharger->gun_info[gun_index].rfidReq = OFF;
|
|
|
- ShmCharger->gun_info[gun_index].bleConfigData.isRequestStop = OFF;
|
|
|
- ocpp_set_remotestop(gun_index, OFF);
|
|
|
- ShmSysConfigAndInfo->SysInfo.AcChargingData[gun_index].schedule.isTriggerStop = OFF;
|
|
|
- ShmCharger->gun_info[gun_index].isGunUnpluggedBefore = NO;
|
|
|
+ if((ShmSysConfigAndInfo->SysInfo.AcChargingData[gun_index].PilotState == CP_STATE_A))
|
|
|
+ {
|
|
|
+ if(ShmCharger->gun_info[gun_index].isGunUnpluggedBefore != YES)
|
|
|
+ {
|
|
|
+ ShmCharger->gun_info[gun_index].isGunUnpluggedBefore = YES;
|
|
|
+ DEBUG_INFO("The connector was unplugged under SYS_MODE_COMPLETE. [CHARGING_MODE_BS / CHARGING_MODE_HLC]. \n");
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ else if(ShmCharger->gun_info[gun_index].chargingMode == CHARGING_MODE_SOCKETE)
|
|
|
+ {
|
|
|
+ if(ShmCharger->gun_info[gun_index].primaryMcuState.socket_e.isSocketEPinOn != ON)
|
|
|
+ {
|
|
|
+ if(ShmCharger->gun_info[gun_index].isGunUnpluggedBefore != YES)
|
|
|
+ {
|
|
|
+ ShmCharger->gun_info[gun_index].isGunUnpluggedBefore = YES;
|
|
|
+ DEBUG_INFO("The socket e was unplugged under SYS_MODE_COMPLETE. [CHARGING_MODE_SOCKETE]. \n");
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ else
|
|
|
+ {}
|
|
|
|
|
|
- DB_Insert_Record(localDb, gun_index);
|
|
|
- setChargerMode(gun_index, SYS_MODE_IDLE);
|
|
|
+ // Dispay receipt information for 15 seconds
|
|
|
+ if((getDiffSecNow(startTime[gun_index][TMR_IDX_RECEIPT_INFORMATION]) >= 15))
|
|
|
+ {
|
|
|
+ if(((ShmCharger->gun_info[gun_index].chargingMode != CHARGING_MODE_SOCKETE) && (ShmSysConfigAndInfo->SysInfo.AcChargingData[gun_index].PilotState == CP_STATE_A)) ||
|
|
|
+ ((ShmCharger->gun_info[gun_index].chargingMode == CHARGING_MODE_SOCKETE) && (!ShmCharger->gun_info[gun_index].primaryMcuState.socket_e.isSocketEPinOn)) ||
|
|
|
+ ocpp_get_reset_req() ||
|
|
|
+ (ShmCharger->gun_info[gun_index].isGunUnpluggedBefore == YES))
|
|
|
+ {
|
|
|
+ sleep(2);
|
|
|
+ ShmCharger->gun_info[gun_index].rfidReq = OFF;
|
|
|
+ ShmCharger->gun_info[gun_index].bleConfigData.isRequestStop = OFF;
|
|
|
+ ocpp_set_remotestop(gun_index, OFF);
|
|
|
+ ShmSysConfigAndInfo->SysInfo.AcChargingData[gun_index].schedule.isTriggerStop = OFF;
|
|
|
+ ShmCharger->gun_info[gun_index].isGunUnpluggedBefore = NO;
|
|
|
+
|
|
|
+ DB_Insert_Record(localDb, gun_index);
|
|
|
+ setChargerMode(gun_index, SYS_MODE_IDLE);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ else
|
|
|
+ {
|
|
|
+ // After 6 seconds Relay off & PWM off (specifcation)
|
|
|
+ if((getDiffSecNow(startTime[gun_index][TMR_IDX_RECEIPT_INFORMATION]) >= 6))
|
|
|
+ {
|
|
|
+ setRelay(gun_index, OFF);
|
|
|
+ setRequest(gun_index, OFF);
|
|
|
+ }
|
|
|
}
|
|
|
|
|
|
break;
|