|
@@ -250,8 +250,9 @@ void Set_Ocpp_DonateInvoice(unsigned char donate);
|
|
|
bool Is_Ocpp_ReportCreditDeductReq(void);
|
|
|
void Set_Ocpp_ReportCreditDeductReq(void);
|
|
|
void Clean_Ocpp_TcciSerialNo(int gun_index);
|
|
|
-void Set_Ocpp_TcciReaderStatus(int gun_index, int status, char *cardNo);
|
|
|
+bool Set_Ocpp_TcciReaderStatus(int gun_index, DeductResultInfoData *ReaderStatus);
|
|
|
void Set_Ocpp_TcciReaderStatusReq(int gun_index);
|
|
|
+bool Is_Ocpp_TcciReaderStatusReq(int gun_index);
|
|
|
void Set_Ocpp_StartTransactionId(int gun_index, char *id);
|
|
|
void Set_Ocpp_StartTransactionReq(int gun_index);
|
|
|
bool Is_Ocpp_StartTransactionConf(int gun_index);
|
|
@@ -320,6 +321,9 @@ void Set_Deduct_TransactionId(int gunIndex, int transaction);
|
|
|
void Clean_DeductInfo(int gunIndex);
|
|
|
bool Is_DeductResultReq(int gunIndex);
|
|
|
|
|
|
+bool Is_ReaderStatusReq(int gunIndex);
|
|
|
+void Clean_ReaderStatusInfo(int gunIndex);
|
|
|
+
|
|
|
void Set_UserTransactionId(int gunIndex, int transaction);
|
|
|
void Set_UserPrice(int gunIndex, float price);
|
|
|
void Set_UserTotalCost(int gunIndex, float cost);
|
|
@@ -365,7 +369,6 @@ float _lastProfileCurrent[CONNECTOR_QUANTITY];
|
|
|
float _lastMaxProfilePower;
|
|
|
|
|
|
struct StructStatusNotification _BackupStatusNotification[CONNECTOR_QUANTITY];
|
|
|
-DeductResultInfoData _BackupDeductResult[CONNECTOR_QUANTITY];
|
|
|
|
|
|
bool _NeedReset4gWifi;
|
|
|
struct timespec _4gWifiReset_time;
|
|
@@ -383,9 +386,13 @@ bool isModelNameMatch = true;
|
|
|
|
|
|
//int rfidFd = -1;
|
|
|
//char* rfidPortName = "/dev/ttyS2";
|
|
|
+#if ENABLE_PCBA_TEST == 0
|
|
|
char* fwVersion = "V1.10.00.0000.00";
|
|
|
-char* subVersion = "03";
|
|
|
-
|
|
|
+char* subVersion = "04";
|
|
|
+#else
|
|
|
+char* fwVersion = "PCBA.00.04";
|
|
|
+char* subVersion = "00";
|
|
|
+#endif
|
|
|
sqlite3 *localDb;
|
|
|
bool isDb_ready;
|
|
|
|
|
@@ -1830,7 +1837,7 @@ void GetFirmwareVersion()
|
|
|
{
|
|
|
// Get CSU root file system version
|
|
|
sprintf((char*)ShmSysConfigAndInfo->SysInfo.CsuRootFsFwRev, fwVersion);
|
|
|
-
|
|
|
+#if ENABLE_PCBA_TEST == 0
|
|
|
byte count = 0, chademo = 0, ccs = 0, gb = 0;
|
|
|
for(uint8_t idx=0;idx<3;idx++)
|
|
|
{
|
|
@@ -1906,6 +1913,7 @@ void GetFirmwareVersion()
|
|
|
ShmSysConfigAndInfo->SysInfo.ChargerType = _CHARGER_TYPE_IEC;
|
|
|
else if (strcmp(_buf, "WU") == EQUAL)
|
|
|
ShmSysConfigAndInfo->SysInfo.ChargerType = _CHARGER_TYPE_UL;
|
|
|
+#endif
|
|
|
}
|
|
|
|
|
|
void InitialShareMemoryInfo()
|
|
@@ -2021,7 +2029,6 @@ void InitialShareMemoryInfo()
|
|
|
for(int i = 0; i < CONNECTOR_QUANTITY; i++)
|
|
|
{
|
|
|
memset((char *)&_BackupStatusNotification[i], 0, sizeof(struct StructStatusNotification));
|
|
|
- memset((char *)&_BackupDeductResult[i], 0, sizeof(DeductResultInfoData));
|
|
|
}
|
|
|
}
|
|
|
|
|
@@ -3808,22 +3815,24 @@ void Set_Ocpp_DonateInvoice(unsigned char donate)
|
|
|
}
|
|
|
}
|
|
|
|
|
|
-void Set_Ocpp_DeductInfo(DeductResultInfoData *deductInfo)
|
|
|
+bool Set_Ocpp_DeductInfo(DeductResultInfoData *deductInfo)
|
|
|
{
|
|
|
if(ShmSysConfigAndInfo->SysInfo.OcppRunningVer == OCPP_RUNNING_VERSION_16)
|
|
|
{
|
|
|
ShmOCPP16Data->TcciCustomData.DeductInfo.txId = deductInfo->TransactionId;
|
|
|
- memcpy((char *)&ShmOCPP16Data->TcciCustomData.DeductInfo.creditNo, (char *)deductInfo->creditNo, strlen((char *)deductInfo->creditNo));
|
|
|
- strcpy((char *)&ShmOCPP16Data->TcciCustomData.DeductInfo.vemData, "");
|
|
|
+ memcpy((char *)&ShmOCPP16Data->TcciCustomData.DeductInfo.creditNo, (char *)deductInfo->creditNo, sizeof(deductInfo->creditNo));
|
|
|
+ memcpy((char *)&ShmOCPP16Data->TcciCustomData.DeductInfo.vemData, deductInfo->VemData, sizeof(deductInfo->VemData));
|
|
|
ShmOCPP16Data->TcciCustomData.DeductInfo.amount = ((double)deductInfo->DeductAmount / 100);
|
|
|
- strcpy((char *)&ShmOCPP16Data->TcciCustomData.DeductInfo.approvalNo, deductInfo->ApprovalNumber);
|
|
|
+ memcpy((char *)&ShmOCPP16Data->TcciCustomData.DeductInfo.approvalNo, deductInfo->ApprovalNumber, sizeof(deductInfo->ApprovalNumber));
|
|
|
ShmOCPP16Data->TcciCustomData.DeductInfo.deductResult = deductInfo->DeductResult;
|
|
|
ShmOCPP16Data->TcciCustomData.DeductInfo.isDonateInvoice = deductInfo->IsDonateInvoice ? YES : NO;
|
|
|
+ return true;
|
|
|
}
|
|
|
if(ShmSysConfigAndInfo->SysInfo.OcppRunningVer == OCPP_RUNNING_VERSION_20)
|
|
|
{
|
|
|
|
|
|
}
|
|
|
+ return false;
|
|
|
}
|
|
|
|
|
|
bool Is_Ocpp_ReportCreditDeductReq(void)
|
|
@@ -3869,17 +3878,35 @@ void Clean_Ocpp_TcciSerialNo(int gun_index)
|
|
|
//===============================================
|
|
|
// Ocpp Tcci ReaderStatus
|
|
|
//===============================================
|
|
|
-void Set_Ocpp_TcciReaderStatus(int gun_index, int status, char *cardNo)
|
|
|
+bool Set_Ocpp_TcciReaderStatus(int gun_index, DeductResultInfoData *ReaderStatus)
|
|
|
{
|
|
|
if(ShmSysConfigAndInfo->SysInfo.OcppRunningVer == OCPP_RUNNING_VERSION_16)
|
|
|
{
|
|
|
- ShmOCPP16Data->TcciCustomData.ReaderStatus[gun_index].readerStatus = status;
|
|
|
- strcpy((char *)&ShmOCPP16Data->TcciCustomData.ReaderStatus[gun_index].creditNo, cardNo);
|
|
|
+ if(ReaderStatus->DeductResult == _Deduct_Cancel || ReaderStatus->DeductResult == _Deduct_PreAuth || ReaderStatus->DeductResult == _Deduct_Pass)
|
|
|
+ {
|
|
|
+ switch(ReaderStatus->DeductResult)
|
|
|
+ {
|
|
|
+ case _Deduct_Pass:
|
|
|
+ ShmOCPP16Data->TcciCustomData.ReaderStatus[gun_index].readerStatus = 1;
|
|
|
+ break;
|
|
|
+ case _Deduct_Cancel:
|
|
|
+ ShmOCPP16Data->TcciCustomData.ReaderStatus[gun_index].readerStatus = 2;
|
|
|
+ break;
|
|
|
+ case _Deduct_PreAuth:
|
|
|
+ ShmOCPP16Data->TcciCustomData.ReaderStatus[gun_index].readerStatus = 0;
|
|
|
+ break;
|
|
|
+ }
|
|
|
+
|
|
|
+ memcpy((char *)&ShmOCPP16Data->TcciCustomData.ReaderStatus[gun_index].creditNo, ReaderStatus->creditNo, sizeof(ReaderStatus->creditNo));
|
|
|
+ memcpy((char *)&ShmOCPP16Data->TcciCustomData.VEMData[gun_index], ReaderStatus->VemData, sizeof(ReaderStatus->VemData));
|
|
|
+ return true;
|
|
|
+ }
|
|
|
}
|
|
|
if(ShmSysConfigAndInfo->SysInfo.OcppRunningVer == OCPP_RUNNING_VERSION_20)
|
|
|
{
|
|
|
|
|
|
}
|
|
|
+ return false;
|
|
|
}
|
|
|
|
|
|
void Set_Ocpp_TcciReaderStatusReq(int gun_index)
|
|
@@ -3894,6 +3921,19 @@ void Set_Ocpp_TcciReaderStatusReq(int gun_index)
|
|
|
}
|
|
|
}
|
|
|
|
|
|
+bool Is_Ocpp_TcciReaderStatusReq(int gun_index)
|
|
|
+{
|
|
|
+ if(ShmSysConfigAndInfo->SysInfo.OcppRunningVer == OCPP_RUNNING_VERSION_16)
|
|
|
+ {
|
|
|
+ return ShmOCPP16Data->TcciCustomData.ReaderStatus[gun_index].ReportReaderStatusReq ? true : false;
|
|
|
+ }
|
|
|
+ if(ShmSysConfigAndInfo->SysInfo.OcppRunningVer == OCPP_RUNNING_VERSION_20)
|
|
|
+ {
|
|
|
+ return false;
|
|
|
+ }
|
|
|
+ return false;
|
|
|
+}
|
|
|
+
|
|
|
//===============================================
|
|
|
// Ocpp Start Transaction
|
|
|
//===============================================
|
|
@@ -4832,6 +4872,19 @@ bool Is_DeductResultReq(int gunIndex)
|
|
|
return ShmChargerInfo->DeductResultReq[gunIndex].DeductReq ? true : false;
|
|
|
}
|
|
|
|
|
|
+//===============================================
|
|
|
+// ReaderStatus
|
|
|
+//===============================================
|
|
|
+bool Is_ReaderStatusReq(int gunIndex)
|
|
|
+{
|
|
|
+ return ShmChargerInfo->ReaderStatus[gunIndex].ReaderStatusReq ? true : false;
|
|
|
+}
|
|
|
+
|
|
|
+void Clean_ReaderStatusInfo(int gunIndex)
|
|
|
+{
|
|
|
+ memset(&ShmChargerInfo->ReaderStatus[gunIndex], 0x00, sizeof(DeductResultInfoData));
|
|
|
+}
|
|
|
+
|
|
|
//===============================================
|
|
|
// TransactionInfoData
|
|
|
//===============================================
|
|
@@ -6605,61 +6658,166 @@ void CheckWeatherInfo(void)
|
|
|
}
|
|
|
}
|
|
|
|
|
|
+bool _WriteDeductBusy[CONNECTOR_QUANTITY] = {0};
|
|
|
void CheckDeductResultRequest(void)
|
|
|
{
|
|
|
+ char *str_ReaderStatus[] = {STR_DEDUCT_FAIL, STR_DEDUCT_PASS, STR_DEDUCT_CANCEL, STR_DEDUCT_PREAUTH};
|
|
|
+ char cardNo[21];
|
|
|
+ char appNo[10];
|
|
|
+
|
|
|
for(int i = 0; i < CONNECTOR_QUANTITY; i++)
|
|
|
{
|
|
|
if(Is_DeductResultReq(i))
|
|
|
{
|
|
|
- LOG_INFO("Gun %d Need to Report Deduct Info", i + 1);
|
|
|
- memcpy((char *)&_BackupDeductResult[i], (char *)&ShmChargerInfo->DeductResultReq[i], sizeof(DeductResultInfoData));
|
|
|
-
|
|
|
- Clean_DeductInfo(i);
|
|
|
+ if(!_WriteDeductBusy[i])
|
|
|
+ {
|
|
|
+ if(!Is_Ocpp_ReportCreditDeductReq() && ShmSysConfigAndInfo->SysInfo.OcppConnStatus)
|
|
|
+ {
|
|
|
+ _WriteDeductBusy[i] = true;
|
|
|
+ //Set_Ocpp_DeductTransaction(_BackupDeductResult[i].TransactionId);
|
|
|
+ //Set_Ocpp_DeductCreditNo((char *)&_BackupDeductResult[i].creditNo);
|
|
|
+ //Set_Ocpp_DeductVemData("");
|
|
|
+ //Set_Ocpp_DeductAmount(((double)_BackupDeductResult[i].DeductAmount / 100));
|
|
|
+ //Set_Ocpp_DeductResult(_BackupDeductResult[i].DeductResult);
|
|
|
+ //Set_Ocpp_DonateInvoice(_BackupDeductResult[i].IsDonateInvoice);
|
|
|
+ if(Set_Ocpp_DeductInfo(&ShmChargerInfo->DeductResultReq[i]))
|
|
|
+ {
|
|
|
+ memset(cardNo, 0x00, sizeof(cardNo));
|
|
|
+ memcpy(cardNo, (char *)&ShmChargerInfo->DeductResultReq[i].creditNo[0], sizeof(ShmChargerInfo->DeductResultReq[i].creditNo));
|
|
|
+ memset(appNo, 0x00, sizeof(appNo));
|
|
|
+ memcpy(appNo, (char *)&ShmChargerInfo->DeductResultReq[i].ApprovalNumber[0], sizeof(ShmChargerInfo->DeductResultReq[i].ApprovalNumber));
|
|
|
+
|
|
|
+ Set_Ocpp_ReportCreditDeductReq();
|
|
|
+ LOG_INFO("DeductReport Gun %d TxId: %d, UserId: %s, ApprovalNo: [%s], Amount: %d.%02d, [%s], Donate: %s",
|
|
|
+ i + 1,
|
|
|
+ ShmChargerInfo->DeductResultReq[i].TransactionId,
|
|
|
+ cardNo,
|
|
|
+ appNo,
|
|
|
+ (ShmChargerInfo->DeductResultReq[i].DeductAmount / 100),
|
|
|
+ (ShmChargerInfo->DeductResultReq[i].DeductAmount % 100),
|
|
|
+ str_ReaderStatus[ShmChargerInfo->DeductResultReq[i].DeductResult],
|
|
|
+ ShmChargerInfo->DeductResultReq[i].IsDonateInvoice ? "Yes" : "No");
|
|
|
+
|
|
|
+ if(ShmChargerInfo->DeductResultReq[i].DeductResult == _Deduct_Pass)
|
|
|
+ {
|
|
|
+ memcpy(&ShmChargerInfo->ReaderStatus[i], &ShmChargerInfo->DeductResultReq[i], sizeof(DeductResultInfoData));
|
|
|
+ ShmChargerInfo->ReaderStatus[i].ReaderStatusReq = YES;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ else
|
|
|
+ {
|
|
|
+ if(!Is_Ocpp_ReportCreditDeductReq())
|
|
|
+ {
|
|
|
+ Clean_DeductInfo(i);
|
|
|
+ _WriteDeductBusy[i] = false;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ else
|
|
|
+ {
|
|
|
+ _WriteDeductBusy[i] = false;
|
|
|
}
|
|
|
+ }
|
|
|
+}
|
|
|
|
|
|
- if(_BackupDeductResult[i].DeductReq && ShmSysConfigAndInfo->SysInfo.OcppConnStatus)
|
|
|
+bool _WriteReDeductBusy = false;
|
|
|
+void CheckReDeductRequest(void)
|
|
|
+{
|
|
|
+ char *str_ReaderStatus[] = {STR_DEDUCT_FAIL, STR_DEDUCT_PASS, STR_DEDUCT_CANCEL, STR_DEDUCT_PREAUTH};
|
|
|
+ char cardNo[21];
|
|
|
+ char appNo[10];
|
|
|
+
|
|
|
+ if(ShmChargerInfo->ReDeductReq.DeductReq)
|
|
|
+ {
|
|
|
+ if(!_WriteReDeductBusy)
|
|
|
+ {
|
|
|
+ if(!Is_Ocpp_ReportCreditDeductReq() && ShmSysConfigAndInfo->SysInfo.OcppConnStatus)
|
|
|
+ {
|
|
|
+ _WriteReDeductBusy = true;
|
|
|
+ if(Set_Ocpp_DeductInfo(&ShmChargerInfo->ReDeductReq))
|
|
|
+ {
|
|
|
+ memset(cardNo, 0x00, sizeof(cardNo));
|
|
|
+ memcpy(cardNo, (char *)&ShmChargerInfo->ReDeductReq.creditNo[0], sizeof(ShmChargerInfo->ReDeductReq.creditNo));
|
|
|
+ memset(appNo, 0x00, sizeof(appNo));
|
|
|
+ memcpy(appNo, (char *)&ShmChargerInfo->ReDeductReq.ApprovalNumber[0], sizeof(ShmChargerInfo->ReDeductReq.ApprovalNumber));
|
|
|
+
|
|
|
+ Set_Ocpp_ReportCreditDeductReq();
|
|
|
+ LOG_INFO("ReDeductReport TxId: %d, UserId: %s, ApprovalNo: [%s], Amount: %d.%02d, [%s], Donate: %s",
|
|
|
+ ShmChargerInfo->ReDeductReq.TransactionId,
|
|
|
+ cardNo,
|
|
|
+ appNo,
|
|
|
+ (ShmChargerInfo->ReDeductReq.DeductAmount / 100),
|
|
|
+ (ShmChargerInfo->ReDeductReq.DeductAmount % 100),
|
|
|
+ str_ReaderStatus[ShmChargerInfo->ReDeductReq.DeductResult],
|
|
|
+ ShmChargerInfo->ReDeductReq.IsDonateInvoice ? "Yes" : "No");
|
|
|
+
|
|
|
+ if(ShmChargerInfo->ReDeductReq.DeductResult == _Deduct_Pass && ShmChargerInfo->ReDeductReq.ConnectorId != 0xFF)
|
|
|
+ {
|
|
|
+ int gunIndex = ShmChargerInfo->ReDeductReq.ConnectorId - 1;
|
|
|
+ memcpy(&ShmChargerInfo->ReaderStatus[gunIndex], &ShmChargerInfo->ReDeductReq, sizeof(DeductResultInfoData));
|
|
|
+ ShmChargerInfo->ReaderStatus[gunIndex].ReaderStatusReq = YES;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ else
|
|
|
{
|
|
|
if(!Is_Ocpp_ReportCreditDeductReq())
|
|
|
{
|
|
|
- //Set_Ocpp_DeductTransaction(_BackupDeductResult[i].TransactionId);
|
|
|
- //Set_Ocpp_DeductCreditNo((char *)&_BackupDeductResult[i].creditNo);
|
|
|
- //Set_Ocpp_DeductVemData("");
|
|
|
- //Set_Ocpp_DeductAmount(((double)_BackupDeductResult[i].DeductAmount / 100));
|
|
|
- //Set_Ocpp_DeductResult(_BackupDeductResult[i].DeductResult);
|
|
|
- //Set_Ocpp_DonateInvoice(_BackupDeductResult[i].IsDonateInvoice);
|
|
|
- Set_Ocpp_DeductInfo(&_BackupDeductResult[i]);
|
|
|
- Set_Ocpp_ReportCreditDeductReq();
|
|
|
- LOG_INFO("Gun %d Report Deduct Info: Transaction: %d, UserId: %s, Amount: %d.%02d, Result: %s, Donate: %s",
|
|
|
- i + 1,
|
|
|
- _BackupDeductResult[i].TransactionId,
|
|
|
- (char *)&_BackupDeductResult[i].creditNo,
|
|
|
- (_BackupDeductResult[i].DeductAmount / 100),
|
|
|
- (_BackupDeductResult[i].DeductAmount % 100),
|
|
|
- _BackupDeductResult[i].DeductResult ? "Pass" : "Fail",
|
|
|
- _BackupDeductResult[i].IsDonateInvoice ? "Yes" : "No");
|
|
|
-
|
|
|
- memset((char *)&_BackupDeductResult[i], 0, sizeof(DeductResultInfoData));
|
|
|
+ memset(&ShmChargerInfo->ReDeductReq, 0x00, sizeof(DeductResultInfoData));
|
|
|
+ _WriteReDeductBusy = false;
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
+ else
|
|
|
+ {
|
|
|
+ _WriteReDeductBusy = false;
|
|
|
+ }
|
|
|
}
|
|
|
|
|
|
-void CheckReDeductRequest(void)
|
|
|
+bool _WriteReaderStatusBusy[CONNECTOR_QUANTITY] = {0};
|
|
|
+void CheckReaderStatusRequest(void)
|
|
|
{
|
|
|
- if(ShmChargerInfo->ReDeductReq.DeductReq)
|
|
|
+ char *str_ReaderStatus[] = {STR_DEDUCT_FAIL, STR_DEDUCT_PASS, STR_DEDUCT_CANCEL, STR_DEDUCT_PREAUTH};
|
|
|
+ char cardNo[21];
|
|
|
+ char appNo[10];
|
|
|
+
|
|
|
+ for(int i = 0; i < CONNECTOR_QUANTITY; i++)
|
|
|
{
|
|
|
- if(!Is_Ocpp_ReportCreditDeductReq() && ShmSysConfigAndInfo->SysInfo.OcppConnStatus)
|
|
|
+ if(Is_ReaderStatusReq(i))
|
|
|
+ {
|
|
|
+ if(!_WriteReaderStatusBusy[i])
|
|
|
+ {
|
|
|
+ if(!Is_Ocpp_TcciReaderStatusReq(i) && ShmSysConfigAndInfo->SysInfo.OcppConnStatus)
|
|
|
+ {
|
|
|
+ _WriteReaderStatusBusy[i] = true;
|
|
|
+ if(Set_Ocpp_TcciReaderStatus(i, &ShmChargerInfo->ReaderStatus[i]))
|
|
|
+ {
|
|
|
+ memset(cardNo, 0x00, sizeof(cardNo));
|
|
|
+ memcpy(cardNo, (char *)&ShmChargerInfo->ReaderStatus[i].creditNo[0], sizeof(ShmChargerInfo->ReaderStatus[i].creditNo));
|
|
|
+ memset(appNo, 0x00, sizeof(appNo));
|
|
|
+ memcpy(appNo, (char *)&ShmChargerInfo->ReaderStatus[i].ApprovalNumber[0], sizeof(ShmChargerInfo->ReaderStatus[i].ApprovalNumber));
|
|
|
+
|
|
|
+ Set_Ocpp_TcciReaderStatusReq(i);
|
|
|
+ LOG_INFO("StatusReport Gun %d: [%s], CreditNo: [%s], ApprovalNo: [%s]",
|
|
|
+ i + 1, str_ReaderStatus[ShmChargerInfo->ReaderStatus[i].DeductResult], cardNo, appNo);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ else
|
|
|
+ {
|
|
|
+ if(!Is_Ocpp_TcciReaderStatusReq(i))
|
|
|
+ {
|
|
|
+ Clean_ReaderStatusInfo(i);
|
|
|
+ _WriteReaderStatusBusy[i] = false;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ else
|
|
|
{
|
|
|
- Set_Ocpp_DeductInfo(&ShmChargerInfo->ReDeductReq);
|
|
|
- Set_Ocpp_ReportCreditDeductReq();
|
|
|
- LOG_INFO("Dispenser Report ReDeduct Info: Transaction: %d, UserId: %s, Amount: %d.%02d, Result: %s, Donate: %s",
|
|
|
- ShmChargerInfo->ReDeductReq.TransactionId,
|
|
|
- (char *)&ShmChargerInfo->ReDeductReq.creditNo,
|
|
|
- (ShmChargerInfo->ReDeductReq.DeductAmount / 100),
|
|
|
- (ShmChargerInfo->ReDeductReq.DeductAmount % 100),
|
|
|
- ShmChargerInfo->ReDeductReq.DeductResult ? "Pass" : "Fail",
|
|
|
- ShmChargerInfo->ReDeductReq.IsDonateInvoice ? "Yes" : "No");
|
|
|
- memset(&ShmChargerInfo->ReDeductReq, 0x00, sizeof(DeductResultInfoData));
|
|
|
+ _WriteReaderStatusBusy[i] = false;
|
|
|
}
|
|
|
}
|
|
|
}
|
|
@@ -6756,6 +6914,7 @@ void CheckOcppStatus()
|
|
|
CheckWeatherInfo();
|
|
|
CheckDeductResultRequest();
|
|
|
CheckReDeductRequest();
|
|
|
+ CheckReaderStatusRequest();
|
|
|
}
|
|
|
|
|
|
void CheckoutStartChargingSoc(byte gunIndex, bool force)
|
|
@@ -6776,7 +6935,7 @@ void OcppStartTransaction(byte gunIndex)
|
|
|
// clean deduct info
|
|
|
Clean_DeductInfo(gunIndex);
|
|
|
// set deduct user id
|
|
|
- Set_Deduct_UserId(gunIndex, (char *)&chargingInfo[gunIndex]->StartUserId);
|
|
|
+ //Set_Deduct_UserId(gunIndex, (char *)&chargingInfo[gunIndex]->StartUserId);
|
|
|
|
|
|
Set_Ocpp_StartTransactionId(gunIndex, (char *)chargingInfo[gunIndex]->StartUserId);
|
|
|
|