|
@@ -39,7 +39,7 @@ static uint8_t gunType[4] = {0};
|
|
|
|
|
|
|
|
|
|
|
|
-static int localversion=0;
|
|
|
+static int locallistVersion=0;
|
|
|
static char idTagAuthorization[32] = {0};
|
|
|
|
|
|
|
|
@@ -513,8 +513,8 @@ static int callback(void *data, int argc, char **argv, char **azColName){
|
|
|
static int versioncallback(void *data, int argc, char **argv, char **azColName){
|
|
|
|
|
|
|
|
|
- localversion = argv[5] ? atoi(argv[5]) : 0;
|
|
|
-
|
|
|
+ locallistVersion = (argv[5] ? atoi(argv[5]) : 0);
|
|
|
+ DEBUG_INFO("Callback query locallistVersion : %d\n", locallistVersion);
|
|
|
return 0;
|
|
|
}
|
|
|
|
|
@@ -9159,7 +9159,7 @@ void* GetDiagnosticsProcess(void* data)
|
|
|
do
|
|
|
{
|
|
|
sprintf(cmdBuf, "%s /Storage/SystemLog/*%04d*%02d*", cmdBuf, targetYear, targetMonth);
|
|
|
- sprintf(cmdBuf, "%s /Storage/OCPP/*%04d*%02d*", cmdBuf, targetYear, targetMonth);
|
|
|
+ sprintf(cmdBuf, "%s /Storage/OCPP/*%04d*%02d*SystemLog", cmdBuf, targetYear, targetMonth);
|
|
|
|
|
|
if(targetMonth+1>=13)
|
|
|
{
|
|
@@ -9174,6 +9174,7 @@ void* GetDiagnosticsProcess(void* data)
|
|
|
((targetYear <= (tmNow->tm_year+1900)) && (targetMonth <= (tmNow->tm_mon+1))));
|
|
|
|
|
|
sprintf(cmdBuf, "%s /Storage/CCS*.zip", cmdBuf);
|
|
|
+ sprintf(cmdBuf, "%s /Storage/OCPP/*.db", cmdBuf);
|
|
|
system(cmdBuf);
|
|
|
|
|
|
|
|
@@ -9185,7 +9186,7 @@ void* GetDiagnosticsProcess(void* data)
|
|
|
do
|
|
|
{
|
|
|
sprintf(cmdBuf, "%s /Storage/EventLog/*%04d*%02d*", cmdBuf, targetYear, targetMonth);
|
|
|
-
|
|
|
+ sprintf(cmdBuf, "%s /Storage/OCPP/*%04d*%02d*OcppMessageLog", cmdBuf, targetYear, targetMonth);
|
|
|
if(targetMonth+1>=13)
|
|
|
{
|
|
|
targetYear += 1;
|
|
@@ -9371,7 +9372,7 @@ int handleGetLocalListVersionRequest(char *uuid, char *payload)
|
|
|
if(strcmp((const char *)ShmOCPP16DataPH->ConfigurationTable.LocalAuthListManagementProfile[LocalAuthListEnabled].ItemData, "FALSE") == 0)
|
|
|
{
|
|
|
DEBUG_INFO("LocalAuthListEnabled is FALSE \n");
|
|
|
- localversion = -1;
|
|
|
+ locallistVersion = -1;
|
|
|
}
|
|
|
else
|
|
|
{
|
|
@@ -9380,7 +9381,7 @@ int handleGetLocalListVersionRequest(char *uuid, char *payload)
|
|
|
}
|
|
|
|
|
|
|
|
|
- ShmOCPP16DataPH->GetLocalListVersion.ResponseListVersion = localversion;
|
|
|
+ ShmOCPP16DataPH->GetLocalListVersion.ResponseListVersion = locallistVersion;
|
|
|
|
|
|
sendGetLocalListVersionConfirmation(uuid,"");
|
|
|
|
|
@@ -10565,28 +10566,11 @@ int handleSendLocalListRequest(char *uuid, char *payload)
|
|
|
{
|
|
|
mtrace();
|
|
|
int result = FAIL;
|
|
|
- int listVersionInt;
|
|
|
-
|
|
|
- char listsearch[]="listVersion";
|
|
|
- char updateTypesearch[]="updateType";
|
|
|
- char localAuthorizationListsearch[]="localAuthorizationList";
|
|
|
- char sstr[60500]={ 0 },sstrtemp[60500]={ 0 };
|
|
|
- char CardList[500][160]={0};
|
|
|
- char updateTypestr[15]={0};
|
|
|
- char idTagstr[20]={0};
|
|
|
- char parentIdTag[20]={0};
|
|
|
- char expiryDate[30]={0};
|
|
|
- char idTagstatus[16]={0};
|
|
|
- int c = 0;
|
|
|
- int i = 0;
|
|
|
- char *delim1 = "}";
|
|
|
- char * pch;
|
|
|
- char *loc;
|
|
|
-
|
|
|
char comfirmstr[20];
|
|
|
-
|
|
|
int checkState_Faulted = FALSE;
|
|
|
|
|
|
+ json_object *SendLocalList;
|
|
|
+
|
|
|
DEBUG_INFO("handleSendLocalListRequest...\n");
|
|
|
|
|
|
if(strcmp((const char *)ShmOCPP16DataPH->ConfigurationTable.LocalAuthListManagementProfile[LocalAuthListEnabled].ItemData, "FALSE") == 0)
|
|
@@ -10602,7 +10586,6 @@ int handleSendLocalListRequest(char *uuid, char *payload)
|
|
|
{
|
|
|
checkState_Faulted = TRUE;
|
|
|
}
|
|
|
-
|
|
|
}
|
|
|
|
|
|
for (int index = 0; index < CCS_QUANTITY; index++)
|
|
@@ -10611,7 +10594,6 @@ int handleSendLocalListRequest(char *uuid, char *payload)
|
|
|
{
|
|
|
checkState_Faulted = TRUE;
|
|
|
}
|
|
|
-
|
|
|
}
|
|
|
|
|
|
for (int index = 0; index < GB_QUANTITY; index++)
|
|
@@ -10622,6 +10604,15 @@ int handleSendLocalListRequest(char *uuid, char *payload)
|
|
|
}
|
|
|
}
|
|
|
|
|
|
+
|
|
|
+ for (int index = 0; index < GENERAL_GUN_QUANTITY; index++)
|
|
|
+ {
|
|
|
+ if (ShmSysConfigAndInfo->SysInfo.ConnectorInfo[index].GeneralChargingData.SystemStatus == SYS_MODE_FAULT)
|
|
|
+ {
|
|
|
+ checkState_Faulted = TRUE;
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
|
|
|
for (int index = 0; index < AC_QUANTITY; index++)
|
|
|
{
|
|
@@ -10637,240 +10628,133 @@ int handleSendLocalListRequest(char *uuid, char *payload)
|
|
|
goto end;
|
|
|
}
|
|
|
|
|
|
-
|
|
|
- strcpy(sstrtemp, stringtrimspace(payload));
|
|
|
-
|
|
|
-
|
|
|
- c = 0;
|
|
|
- loc = strstr(sstrtemp, listsearch);
|
|
|
- while ((loc[strlen("listVersion")+2+c] != ',')&&(loc[strlen("listVersion")+2+c] != '}'))
|
|
|
- {
|
|
|
- sstr[c] = loc[strlen("listVersion")+2+c];
|
|
|
- c++;
|
|
|
- }
|
|
|
- sstr[c] = '\0';
|
|
|
- listVersionInt = atoi(sstr);
|
|
|
-
|
|
|
-
|
|
|
- ShmOCPP16DataPH->SendLocalList.ListVersion = listVersionInt;
|
|
|
-
|
|
|
-
|
|
|
- loc = strstr(sstrtemp, updateTypesearch);
|
|
|
- c = 0;
|
|
|
- while (loc[3+strlen(updateTypesearch)+c] != '\"')
|
|
|
- {
|
|
|
- sstr[c] = loc[3+strlen(updateTypesearch)+c];
|
|
|
- c++;
|
|
|
- }
|
|
|
- sstr[c] = '\0';
|
|
|
- strcpy(updateTypestr, sstr);
|
|
|
- sprintf((char *)ShmOCPP16DataPH->SendLocalList.UpdateType, "%s", updateTypestr);
|
|
|
-
|
|
|
-
|
|
|
- memset(sstr ,0, ARRAY_SIZE(sstr) );
|
|
|
- loc = strstr(sstrtemp, localAuthorizationListsearch);
|
|
|
- if(loc != NULL)
|
|
|
+
|
|
|
+ SendLocalList = json_tokener_parse(payload);
|
|
|
+ if(!is_error(SendLocalList))
|
|
|
{
|
|
|
-
|
|
|
- if(strcmp(updateTypestr, UpdateTypeStr[Full]) == 0)
|
|
|
- {
|
|
|
-
|
|
|
- printf("Local list full update.\n");
|
|
|
-
|
|
|
- OCPP_getListVerion();
|
|
|
-
|
|
|
- if(listVersionInt < localversion )
|
|
|
- {
|
|
|
- strcpy(comfirmstr, UpdateStatusStr[UpdateStatus_Failed]);
|
|
|
- goto end;
|
|
|
- }
|
|
|
-
|
|
|
- OCPP_cleanLocalList();
|
|
|
+
|
|
|
+ ShmOCPP16DataPH->SendLocalList.ListVersion = json_object_get_int(json_object_object_get(SendLocalList, "listVersion"));
|
|
|
+ sprintf((char*)ShmOCPP16DataPH->SendLocalList.UpdateType, "%s", json_object_get_string(json_object_object_get(SendLocalList, "updateType")));
|
|
|
|
|
|
- }
|
|
|
- else if(strcmp(updateTypestr, UpdateTypeStr[Differential]) == 0)
|
|
|
+
|
|
|
+ if(json_object_object_get(SendLocalList, "localAuthorizationList") != NULL)
|
|
|
{
|
|
|
-
|
|
|
- printf("Local list different update.\n");
|
|
|
-
|
|
|
- OCPP_getListVerion();
|
|
|
-
|
|
|
- if(listVersionInt < localversion )
|
|
|
+
|
|
|
+ if(strcmp((char*)ShmOCPP16DataPH->SendLocalList.UpdateType, UpdateTypeStr[Full]) == 0)
|
|
|
{
|
|
|
- strcpy(comfirmstr, UpdateStatusStr[UpdateStatus_VersionMismatch]);
|
|
|
- goto end;
|
|
|
- }
|
|
|
- }
|
|
|
- else
|
|
|
- {
|
|
|
- strcpy(comfirmstr, UpdateStatusStr[UpdateStatus_NotSupported]);
|
|
|
- goto end;
|
|
|
- }
|
|
|
-
|
|
|
- c = 0;
|
|
|
- while (loc[3+strlen(localAuthorizationListsearch)+c] != ']')
|
|
|
- {
|
|
|
- sstr[c] = loc[3+strlen(localAuthorizationListsearch)+c];
|
|
|
-
|
|
|
- c++;
|
|
|
- }
|
|
|
- sstr[c] = '\0';
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
- i = 0;
|
|
|
- pch = strtok(sstr,delim1);
|
|
|
- while (pch != NULL)
|
|
|
- {
|
|
|
- strcpy(CardList[i], pch);
|
|
|
-
|
|
|
- pch = strtok (NULL, delim1);
|
|
|
- i = i + 1;
|
|
|
- }
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
- ShmOCPP16DataPH->SendLocalList.ListVersion = listVersionInt;
|
|
|
-
|
|
|
- memset(ShmOCPP16DataPH->SendLocalList.LocalAuthorizationList, 0 , sizeof(struct StructLocalAuthorizationList)* 500);
|
|
|
+
|
|
|
+ DEBUG_INFO("Local list full update.\n");
|
|
|
|
|
|
- c= 0;
|
|
|
- while(c < i)
|
|
|
- {
|
|
|
-
|
|
|
- memset(sstr ,0, ARRAY_SIZE(sstr) );
|
|
|
- loc = strstr(CardList[c], "idTag");
|
|
|
- int j = 0;
|
|
|
- while (loc[3+strlen("idTag")+j] != '\"')
|
|
|
- {
|
|
|
- sstr[j] = loc[3+strlen("idTag")+j];
|
|
|
-
|
|
|
- j++;
|
|
|
- }
|
|
|
- sstr[j] = '\0';
|
|
|
- strcpy(idTagstr, sstr);
|
|
|
-
|
|
|
+ OCPP_getListVerion();
|
|
|
|
|
|
-
|
|
|
- memset(sstr ,0, ARRAY_SIZE(sstr) );
|
|
|
- loc = strstr(CardList[c], "expiryDate");
|
|
|
- j = 0;
|
|
|
- if(loc != NULL)
|
|
|
- {
|
|
|
- while (loc[3+strlen("expiryDate")+j] != '\"')
|
|
|
+ if(ShmOCPP16DataPH->SendLocalList.ListVersion < locallistVersion)
|
|
|
{
|
|
|
- sstr[j] = loc[3+strlen("expiryDate")+j];
|
|
|
-
|
|
|
- j++;
|
|
|
+ strcpy(comfirmstr, UpdateStatusStr[UpdateStatus_Failed]);
|
|
|
+ goto end;
|
|
|
}
|
|
|
- sstr[j] = '\0';
|
|
|
- strcpy(expiryDate, sstr);
|
|
|
+
|
|
|
+ OCPP_cleanLocalList();
|
|
|
|
|
|
}
|
|
|
- else
|
|
|
+ else if(strcmp((char*)ShmOCPP16DataPH->SendLocalList.UpdateType, UpdateTypeStr[Differential]) == 0)
|
|
|
{
|
|
|
- strcpy(expiryDate, "");
|
|
|
- }
|
|
|
+
|
|
|
+ DEBUG_INFO("Local list different update.\n");
|
|
|
|
|
|
-
|
|
|
+ OCPP_getListVerion();
|
|
|
|
|
|
-
|
|
|
- memset(sstr ,0, ARRAY_SIZE(sstr) );
|
|
|
- loc = strstr(CardList[c], "parentIdTag");
|
|
|
- j = 0;
|
|
|
- if(loc != NULL)
|
|
|
- {
|
|
|
- while (loc[3+strlen("parentIdTag")+j] != '\"')
|
|
|
+ if(ShmOCPP16DataPH->SendLocalList.ListVersion < locallistVersion)
|
|
|
{
|
|
|
- sstr[j] = loc[3+strlen("parentIdTag")+j];
|
|
|
-
|
|
|
- j++;
|
|
|
+ strcpy(comfirmstr, UpdateStatusStr[UpdateStatus_VersionMismatch]);
|
|
|
+ goto end;
|
|
|
}
|
|
|
- sstr[j] = '\0';
|
|
|
- strcpy(parentIdTag, sstr);
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
- strcpy(parentIdTag, "");
|
|
|
+ strcpy(comfirmstr, UpdateStatusStr[UpdateStatus_NotSupported]);
|
|
|
+ goto end;
|
|
|
}
|
|
|
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
- memset(sstr ,0, ARRAY_SIZE(sstr) );
|
|
|
- loc = strstr(CardList[c], "status");
|
|
|
- j = 0;
|
|
|
- while (loc[3+strlen("status")+j] != '\"')
|
|
|
+ memset(ShmOCPP16DataPH->SendLocalList.LocalAuthorizationList, 0 , sizeof(struct StructLocalAuthorizationList)* 500);
|
|
|
+ for(int idx=0;idx<json_object_array_length(json_object_object_get(SendLocalList, "localAuthorizationList"));idx++)
|
|
|
{
|
|
|
- sstr[j] = loc[3+strlen("status")+j];
|
|
|
-
|
|
|
- j++;
|
|
|
- }
|
|
|
- sstr[j] = '\0';
|
|
|
- strcpy(idTagstatus, sstr);
|
|
|
+ sprintf((char*)ShmOCPP16DataPH->SendLocalList.LocalAuthorizationList[idx].IdTag, "%s", json_object_get_string(json_object_object_get(json_object_array_get_idx(json_object_object_get(SendLocalList, "localAuthorizationList"), idx), "idTag")));
|
|
|
|
|
|
-
|
|
|
+ if(json_object_object_get(json_object_array_get_idx(json_object_object_get(SendLocalList, "localAuthorizationList"), idx), "idTagInfo") != NULL)
|
|
|
+ {
|
|
|
+ sprintf((char*)ShmOCPP16DataPH->SendLocalList.LocalAuthorizationList[idx].IdTagInfo.Status, "%s", json_object_get_string(json_object_object_get(json_object_object_get(json_object_array_get_idx(json_object_object_get(SendLocalList, "localAuthorizationList"), idx), "idTagInfo"), "status")));
|
|
|
|
|
|
- OCPP_getIdTagFromLocalList(idTagstr);
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
+ if(json_object_object_get(json_object_object_get(json_object_array_get_idx(json_object_object_get(SendLocalList, "localAuthorizationList"), idx), "idTagInfo"), "expiryDate") != NULL)
|
|
|
+ sprintf((char*)ShmOCPP16DataPH->SendLocalList.LocalAuthorizationList[idx].IdTagInfo.ExpiryDate, "%s", json_object_get_string(json_object_object_get(json_object_object_get(json_object_array_get_idx(json_object_object_get(SendLocalList, "localAuthorizationList"), idx), "idTagInfo"), "expiryDate")));
|
|
|
|
|
|
- if(strcmp(updateTypestr, UpdateTypeStr[Full]) == 0)
|
|
|
- {
|
|
|
-
|
|
|
- DEBUG_INFO("Local list full update %d, %d, %s, %s, %s, %s.\n", c, listVersionInt, idTagstr, parentIdTag, expiryDate, idTagstatus);
|
|
|
-
|
|
|
- OCPP_addLocalList(listVersionInt, idTagstr, parentIdTag, expiryDate, idTagstatus);
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
+ if(json_object_object_get(json_object_object_get(json_object_array_get_idx(json_object_object_get(SendLocalList, "localAuthorizationList"), idx), "idTagInfo"), "parentIdTag") != NULL)
|
|
|
+ sprintf((char*)ShmOCPP16DataPH->SendLocalList.LocalAuthorizationList[idx].IdTagInfo.ParentIdTag, "%s", json_object_get_string(json_object_object_get(json_object_object_get(json_object_array_get_idx(json_object_object_get(SendLocalList, "localAuthorizationList"), idx), "idTagInfo"), "parentIdTag")));
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+ if(strcmp((char*)ShmOCPP16DataPH->SendLocalList.UpdateType, UpdateTypeStr[Full]) == 0)
|
|
|
+ {
|
|
|
+
|
|
|
+ DEBUG_INFO("Local list full update item: %d, listVer: %d, %s, %s, %s, %s.\n",
|
|
|
+ idx,
|
|
|
+ ShmOCPP16DataPH->SendLocalList.ListVersion,
|
|
|
+ ShmOCPP16DataPH->SendLocalList.LocalAuthorizationList[idx].IdTag,
|
|
|
+ ShmOCPP16DataPH->SendLocalList.LocalAuthorizationList[idx].IdTagInfo.ParentIdTag,
|
|
|
+ ShmOCPP16DataPH->SendLocalList.LocalAuthorizationList[idx].IdTagInfo.ExpiryDate,
|
|
|
+ ShmOCPP16DataPH->SendLocalList.LocalAuthorizationList[idx].IdTagInfo.Status);
|
|
|
+
|
|
|
+ OCPP_addLocalList(ShmOCPP16DataPH->SendLocalList.ListVersion,
|
|
|
+ (char*)ShmOCPP16DataPH->SendLocalList.LocalAuthorizationList[idx].IdTag,
|
|
|
+ (char*)ShmOCPP16DataPH->SendLocalList.LocalAuthorizationList[idx].IdTagInfo.ParentIdTag,
|
|
|
+ (char*)ShmOCPP16DataPH->SendLocalList.LocalAuthorizationList[idx].IdTagInfo.ExpiryDate,
|
|
|
+ (char*)ShmOCPP16DataPH->SendLocalList.LocalAuthorizationList[idx].IdTagInfo.Status);
|
|
|
+ }
|
|
|
+ else if(strcmp((char*)ShmOCPP16DataPH->SendLocalList.UpdateType, UpdateTypeStr[Differential]) == 0)
|
|
|
+ {
|
|
|
+ DEBUG_INFO("Local list diff update item: %d,listVer: %d, %s, %s, %s, %s.\n",
|
|
|
+ idx,
|
|
|
+ ShmOCPP16DataPH->SendLocalList.ListVersion,
|
|
|
+ ShmOCPP16DataPH->SendLocalList.LocalAuthorizationList[idx].IdTag,
|
|
|
+ ShmOCPP16DataPH->SendLocalList.LocalAuthorizationList[idx].IdTagInfo.ParentIdTag,
|
|
|
+ ShmOCPP16DataPH->SendLocalList.LocalAuthorizationList[idx].IdTagInfo.ExpiryDate,
|
|
|
+ ShmOCPP16DataPH->SendLocalList.LocalAuthorizationList[idx].IdTagInfo.Status);
|
|
|
+ OCPP_addLocalList(ShmOCPP16DataPH->SendLocalList.ListVersion,
|
|
|
+ (char*)ShmOCPP16DataPH->SendLocalList.LocalAuthorizationList[idx].IdTag,
|
|
|
+ (char*)ShmOCPP16DataPH->SendLocalList.LocalAuthorizationList[idx].IdTagInfo.ParentIdTag,
|
|
|
+ (char*)ShmOCPP16DataPH->SendLocalList.LocalAuthorizationList[idx].IdTagInfo.ExpiryDate,
|
|
|
+ (char*)ShmOCPP16DataPH->SendLocalList.LocalAuthorizationList[idx].IdTagInfo.Status);
|
|
|
+ }
|
|
|
}
|
|
|
- else if(strcmp(updateTypestr, UpdateTypeStr[Differential]) == 0)
|
|
|
+ }
|
|
|
+ else
|
|
|
+ {
|
|
|
+
|
|
|
+ if(strcmp((char*)ShmOCPP16DataPH->SendLocalList.UpdateType, UpdateTypeStr[Full]) == 0)
|
|
|
{
|
|
|
- DEBUG_INFO("Local list diff update %d, %d, %s, %s, %s, %s.\n", c, listVersionInt, idTagstr, parentIdTag, expiryDate, idTagstatus);
|
|
|
- OCPP_addLocalList(listVersionInt, idTagstr, parentIdTag, expiryDate, idTagstatus);
|
|
|
+
|
|
|
+ DEBUG_INFO("If no (empty) localAuthorizationList is given and the updateType is Full, all identifications are removed from the list. \n");
|
|
|
+ OCPP_cleanLocalList();
|
|
|
+ strcpy(comfirmstr, UpdateStatusStr[UpdateStatus_Accepted]);
|
|
|
+ goto end;
|
|
|
}
|
|
|
|
|
|
- strcpy((char *)ShmOCPP16DataPH->SendLocalList.LocalAuthorizationList[c].IdTag, idTagstr);
|
|
|
- strcpy((char *)ShmOCPP16DataPH->SendLocalList.LocalAuthorizationList[c].IdTagInfo.ExpiryDate, expiryDate);
|
|
|
- strcpy((char *)ShmOCPP16DataPH->SendLocalList.LocalAuthorizationList[c].IdTagInfo.ParentIdTag, parentIdTag);
|
|
|
- strcpy((char *)ShmOCPP16DataPH->SendLocalList.LocalAuthorizationList[c].IdTagInfo.Status, idTagstatus);
|
|
|
+ if(strcmp((char*)ShmOCPP16DataPH->SendLocalList.UpdateType, UpdateTypeStr[Differential]) == 0)
|
|
|
+ {
|
|
|
+
|
|
|
+ DEBUG_INFO("Requesting a Differential update without (empty) localAuthorizationList will have no effect on the list\n");
|
|
|
+ strcpy(comfirmstr, UpdateStatusStr[UpdateStatus_Accepted]);
|
|
|
+ goto end;
|
|
|
|
|
|
- c++;
|
|
|
- }
|
|
|
- }
|
|
|
- else
|
|
|
- {
|
|
|
-
|
|
|
- if(strcmp(updateTypestr, UpdateTypeStr[Full]) == 0)
|
|
|
- {
|
|
|
-
|
|
|
- DEBUG_INFO("If no (empty) localAuthorizationList is given and the updateType is Full, all identifications are removed from the list. \n");
|
|
|
- OCPP_cleanLocalList();
|
|
|
- strcpy(comfirmstr, UpdateStatusStr[UpdateStatus_Accepted]);
|
|
|
- goto end;
|
|
|
+ }
|
|
|
}
|
|
|
|
|
|
- if(strcmp(updateTypestr, UpdateTypeStr[Differential]) == 0)
|
|
|
- {
|
|
|
-
|
|
|
- DEBUG_INFO("Requesting a Differential update without (empty) localAuthorizationList will have no effect on the list\n");
|
|
|
- strcpy(comfirmstr, UpdateStatusStr[UpdateStatus_Accepted]);
|
|
|
- goto end;
|
|
|
-
|
|
|
- }
|
|
|
+ result = PASS;
|
|
|
}
|
|
|
-
|
|
|
strcpy(comfirmstr, UpdateStatusStr[UpdateStatus_Accepted]);
|
|
|
|
|
|
end:
|
|
|
-
|
|
|
+ json_object_put(SendLocalList);
|
|
|
sendSendLocalListConfirmation(uuid, comfirmstr);
|
|
|
-
|
|
|
|
|
|
return result;
|
|
|
}
|
|
@@ -17988,7 +17872,7 @@ void InitialSystemValue(void)
|
|
|
server_cycle_Status = atoi((char*)ShmOCPP16DataPH->ConfigurationTable.CoreProfile[MinimumStatusDuration].ItemData);
|
|
|
gunTotalNumber=0;
|
|
|
SystemInitial = 0;
|
|
|
- localversion=0;
|
|
|
+ locallistVersion=0;
|
|
|
BootNotificationInterval = 0;
|
|
|
authorizeRetryTimes = 0;
|
|
|
GunStatusInterval = 10;
|