|
@@ -2780,15 +2780,26 @@ static void systemStatusProcess(int fd, uint8_t totalGun, uint8_t plugNum, uint8
|
|
|
case S_ALARM:
|
|
|
case S_AUTHORIZING:
|
|
|
|
|
|
- if(pDcChargingInfo->SystemStatus == S_ALARM &&
|
|
|
- strlen((char*)ShmDcCommonData->pGunInfo[plugNum].ChargeStopTime) <= 1) {
|
|
|
+ if(pDcChargingInfo->SystemStatus == S_ALARM) {
|
|
|
+ if (strlen((char*)ShmDcCommonData->pGunInfo[plugNum].ChargeStopTime) <= 1) {
|
|
|
+ ftime(&AuthNowTime);
|
|
|
+ if (DiffTimeb(gRegTimeUp[plugNum][REG_READ_CHARGING_TIMESTAMP], AuthNowTime) > LOOP_RETRY_TIME ||
|
|
|
+ DiffTimeb(gRegTimeUp[plugNum][REG_READ_CHARGING_TIMESTAMP], AuthNowTime) < 0
|
|
|
+ ) {
|
|
|
+ readChargingTimeStamp(fd, gunID);
|
|
|
+ ftime(&gRegTimeUp[plugNum][REG_READ_CHARGING_TIMESTAMP]);
|
|
|
+ }
|
|
|
+ }
|
|
|
ftime(&AuthNowTime);
|
|
|
- if (DiffTimeb(gRegTimeUp[plugNum][REG_READ_CHARGING_TIMESTAMP], AuthNowTime) > LOOP_RETRY_TIME ||
|
|
|
- DiffTimeb(gRegTimeUp[plugNum][REG_READ_CHARGING_TIMESTAMP], AuthNowTime) < 0
|
|
|
+ if (DiffTimeb(gRegTimeUp[plugNum][REG_PRESENT_CHARGING_INFO], AuthNowTime) > LOOP_RETRY_TIME ||
|
|
|
+ DiffTimeb(gRegTimeUp[plugNum][REG_PRESENT_CHARGING_INFO], AuthNowTime) < 0
|
|
|
) {
|
|
|
- readChargingTimeStamp(fd, gunID);
|
|
|
- ftime(&gRegTimeUp[plugNum][REG_READ_CHARGING_TIMESTAMP]);
|
|
|
+ writePresentChargingInfo(fd, plugNum, gunID);
|
|
|
+ if (pDcChargingInfo->PantographFlag)
|
|
|
+ writeGroundFaultDetection(fd, 0, gunID);
|
|
|
+ ftime(&gRegTimeUp[plugNum][REG_PRESENT_CHARGING_INFO]);
|
|
|
}
|
|
|
+
|
|
|
}
|
|
|
|
|
|
checkAuthorProcess(fd, plugNum);
|
|
@@ -2997,6 +3008,15 @@ static void systemStatusProcess(int fd, uint8_t totalGun, uint8_t plugNum, uint8
|
|
|
writeGroundFaultDetection(fd, 0, gunID);
|
|
|
ftime(&gRegTimeUp[plugNum][REG_CHARGING_CAP]);
|
|
|
}
|
|
|
+
|
|
|
+ ftime(&AuthNowTime);
|
|
|
+ if (DiffTimeb(gRegTimeUp[plugNum][REG_PRESENT_CHARGING_INFO], AuthNowTime) > LOOP_RETRY_TIME ||
|
|
|
+ DiffTimeb(gRegTimeUp[plugNum][REG_PRESENT_CHARGING_INFO], AuthNowTime) < 0
|
|
|
+ ) {
|
|
|
+ writePresentChargingInfo(fd, plugNum, gunID);
|
|
|
+ ftime(&gRegTimeUp[plugNum][REG_PRESENT_CHARGING_INFO]);
|
|
|
+ }
|
|
|
+
|
|
|
// 獲得Charging時間
|
|
|
if (strlen((char*)ShmDcCommonData->pGunInfo[plugNum].ChargeStopTime) <= 1) {
|
|
|
ftime(&AuthNowTime);
|