|
@@ -83,7 +83,7 @@ unsigned char V2GTP_Tx_buf[V2GTP_MSG_TX_BUFFER_SIZE]; //(64*1024) //65,536 =
|
|
|
bitstream_t iStream; //for V2GTP Message
|
|
|
struct appHandEXIDocument exiDoc; //for decoded V2GTP messages, i.e. EXI DOC (XML)
|
|
|
|
|
|
-unsigned char buf_log_exi_api[256];
|
|
|
+
|
|
|
|
|
|
/**
|
|
|
*
|
|
@@ -108,10 +108,10 @@ int StoreLogV2GMsg(const char *fmt, ...)
|
|
|
tm=localtime(&CurrentTime);
|
|
|
gettimeofday(&tv, NULL); // get microseconds, 10^-6
|
|
|
|
|
|
- sprintf(Buf,"echo -n \"[%04d.%02d.%02d %02d:%02d:%02d.%06ld]%s\" >> /Storage/SystemLog/[%04d.%02d]CCS_V2G",
|
|
|
- tm->tm_year+1900,tm->tm_mon+1,tm->tm_mday,tm->tm_hour,tm->tm_min,tm->tm_sec,tv.tv_usec,
|
|
|
- buffer,
|
|
|
- tm->tm_year+1900,tm->tm_mon+1);
|
|
|
+ sprintf(Buf,"echo -n \"[%04d.%02d.%02d %02d:%02d:%02d.%03ld]%s\" >> /Storage/SystemLog/[%04d.%02d]CCS_V2G",
|
|
|
+ tm->tm_year+1900,tm->tm_mon+1,tm->tm_mday,tm->tm_hour,tm->tm_min,tm->tm_sec,(tv.tv_usec/1000),
|
|
|
+ buffer,
|
|
|
+ tm->tm_year+1900,tm->tm_mon+1);
|
|
|
|
|
|
|
|
|
system((const char*)Buf);
|
|
@@ -251,7 +251,7 @@ int Check_V2G_Rx_Msg_Name_din(struct dinEXIDocument *exi_doc_DIN)
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
- DEBUG_PRINTF_EXI_ENGINE_DETAIL("[ERROR] unidentified V2G_Rx_Msg\n");
|
|
|
+ DEBUG_PRINTF_EXI_ENGINE_DETAIL("[Error]unidentified V2G_Rx_Msg\n");
|
|
|
errn = -1;
|
|
|
}
|
|
|
|
|
@@ -377,7 +377,7 @@ int Check_V2G_Rx_Msg_Name_iso1(struct iso1EXIDocument *exi_doc_ISO1)
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
- DEBUG_PRINTF_EXI_ENGINE_DETAIL("[ERROR] unexpected CCS_ENERGY_TRANSFER_MODE(%d)\n", CCS_ENERGY_TRANSFER_MODE);
|
|
|
+ DEBUG_PRINTF_EXI_ENGINE_DETAIL("[Error]unexpected CCS_ENERGY_TRANSFER_MODE(%d)\n", CCS_ENERGY_TRANSFER_MODE);
|
|
|
errn = -2;
|
|
|
}
|
|
|
}
|
|
@@ -413,7 +413,7 @@ int Check_V2G_Rx_Msg_Name_iso1(struct iso1EXIDocument *exi_doc_ISO1)
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
- DEBUG_PRINTF_EXI_ENGINE_DETAIL("[ERROR] unidentified V2G_Rx_Msg\n");
|
|
|
+ DEBUG_PRINTF_EXI_ENGINE_DETAIL("[Error]unidentified V2G_Rx_Msg\n");
|
|
|
errn = -1;
|
|
|
}
|
|
|
|
|
@@ -617,7 +617,7 @@ int Check_V2G_Rx_Msg_Name_iso2(struct iso2EXIDocument *exi_doc_ISO2)
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
- DEBUG_PRINTF_EXI_ENGINE_DETAIL("[ERROR] unexpected CCS_ENERGY_TRANSFER_MODE(%d)\n", CCS_ENERGY_TRANSFER_MODE);
|
|
|
+ DEBUG_PRINTF_EXI_ENGINE_DETAIL("[Error]unexpected CCS_ENERGY_TRANSFER_MODE(%d)\n", CCS_ENERGY_TRANSFER_MODE);
|
|
|
errn = -2;
|
|
|
}
|
|
|
}
|
|
@@ -653,7 +653,7 @@ int Check_V2G_Rx_Msg_Name_iso2(struct iso2EXIDocument *exi_doc_ISO2)
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
- DEBUG_PRINTF_EXI_ENGINE_DETAIL("[ERROR] unidentified V2G_Rx_Msg\n");
|
|
|
+ DEBUG_PRINTF_EXI_ENGINE_DETAIL("[Error]unidentified V2G_Rx_Msg\n");
|
|
|
errn = -1;
|
|
|
}
|
|
|
|
|
@@ -3206,8 +3206,8 @@ void PRINT_XML_DOC_supportedAppProtocolReq(struct appHandEXIDocument *exi_doc)
|
|
|
exi_doc->supportedAppProtocolReq.AppProtocol.array[i].ProtocolNamespace.charactersLen);
|
|
|
|
|
|
DEBUG_PRINTF_EXI_ENGINE_DETAIL("Version= %d.%d\n",
|
|
|
- exi_doc->supportedAppProtocolReq.AppProtocol.array[i].VersionNumberMajor,
|
|
|
- exi_doc->supportedAppProtocolReq.AppProtocol.array[i].VersionNumberMinor);
|
|
|
+ exi_doc->supportedAppProtocolReq.AppProtocol.array[i].VersionNumberMajor,
|
|
|
+ exi_doc->supportedAppProtocolReq.AppProtocol.array[i].VersionNumberMinor);
|
|
|
|
|
|
DEBUG_PRINTF_EXI_ENGINE_DETAIL("SchemaID: %d\n", exi_doc->supportedAppProtocolReq.AppProtocol.array[i].SchemaID);
|
|
|
DEBUG_PRINTF_EXI_ENGINE_DETAIL("Priority: %d\n", exi_doc->supportedAppProtocolReq.AppProtocol.array[i].Priority);
|
|
@@ -3226,7 +3226,7 @@ void PRINT_XML_DOC_DIN_SessionSetupReq(struct dinEXIDocument *exi_doc_DIN)
|
|
|
{
|
|
|
int i = 0;
|
|
|
unsigned char buffer[1024]={0};
|
|
|
- DEBUG_PRINTF_EXI_ENGINE_DETAIL(" [START] Parsing SessionSetupReq\n");
|
|
|
+ DEBUG_PRINTF_EXI_ENGINE_DETAIL("[START] Parsing SessionSetupReq\n");
|
|
|
|
|
|
//===== [Header] SessionID =====
|
|
|
PRINT_V2G_MSG_din_Header(exi_doc_DIN);
|
|
@@ -3251,7 +3251,7 @@ void PRINT_XML_DOC_ISO1_SessionSetupReq(struct iso1EXIDocument *exi_doc_ISO1)
|
|
|
{
|
|
|
int i = 0;
|
|
|
unsigned char buffer[1024]={0};
|
|
|
- DEBUG_PRINTF_EXI_ENGINE_DETAIL(" [START] Parsing SessionSetupReq\n");
|
|
|
+ DEBUG_PRINTF_EXI_ENGINE_DETAIL("[START] Parsing SessionSetupReq\n");
|
|
|
|
|
|
//===== [Header] SessionID =====
|
|
|
PRINT_V2G_MSG_iso1_Header(exi_doc_ISO1);
|
|
@@ -3276,11 +3276,10 @@ void PRINT_XML_DOC_ISO2_SessionSetupReq(struct iso2EXIDocument *exi_doc_ISO2)
|
|
|
{
|
|
|
int i = 0;
|
|
|
unsigned char buffer[1024]={0};
|
|
|
- DEBUG_PRINTF_EXI_ENGINE_DETAIL(" [START] Parsing SessionSetupReq\n");
|
|
|
+ DEBUG_PRINTF_EXI_ENGINE_DETAIL("[START] Parsing SessionSetupReq\n");
|
|
|
|
|
|
//===== [Header] SessionID =====
|
|
|
PRINT_V2G_MSG_iso2_Header(exi_doc_ISO2);
|
|
|
- DEBUG_PRINTF_EXI_ENGINE_DETAIL("\n\t\tEVCCID (%d Bytes) = ", exi_doc_ISO2->V2G_Message.Body.SessionSetupReq.EVCCID.bytesLen);
|
|
|
for (i = 0; i < exi_doc_ISO2->V2G_Message.Body.SessionSetupReq.EVCCID.bytesLen; i++)
|
|
|
{
|
|
|
sprintf((char*)buffer, "%s%02X ", buffer, exi_doc_ISO2->V2G_Message.Body.SessionSetupReq.EVCCID.bytes[i]);
|
|
@@ -3448,7 +3447,7 @@ void PRINT_XML_DOC_DIN_ServiceAndPaymentSelectionReq(struct dinEXIDocument *exi_
|
|
|
}
|
|
|
default:
|
|
|
{
|
|
|
- DEBUG_PRINTF_EXI_ENGINE_DETAIL("SelectedPaymentOption: %d ([ERROR] Unexpected SelectedPaymentOption)\n", opt);
|
|
|
+ DEBUG_PRINTF_EXI_ENGINE_DETAIL("SelectedPaymentOption: %d ([Error]Unexpected SelectedPaymentOption)\n", opt);
|
|
|
break;
|
|
|
}
|
|
|
}
|
|
@@ -3458,11 +3457,11 @@ void PRINT_XML_DOC_DIN_ServiceAndPaymentSelectionReq(struct dinEXIDocument *exi_
|
|
|
for (i = 0; i< leng; i++)
|
|
|
{
|
|
|
DEBUG_PRINTF_EXI_ENGINE_DETAIL("SelectedServiceList (%d items): [%d-th](ServiceID, ParameterSetID, ParameterSetID_isUsed) = {%d, %d, %d}\n",
|
|
|
- leng,
|
|
|
- (i+1),
|
|
|
- exi_doc_DIN->V2G_Message.Body.ServicePaymentSelectionReq.SelectedServiceList.SelectedService.array[i].ServiceID,
|
|
|
- exi_doc_DIN->V2G_Message.Body.ServicePaymentSelectionReq.SelectedServiceList.SelectedService.array[i].ParameterSetID,
|
|
|
- exi_doc_DIN->V2G_Message.Body.ServicePaymentSelectionReq.SelectedServiceList.SelectedService.array[i].ParameterSetID_isUsed);
|
|
|
+ leng,
|
|
|
+ (i+1),
|
|
|
+ exi_doc_DIN->V2G_Message.Body.ServicePaymentSelectionReq.SelectedServiceList.SelectedService.array[i].ServiceID,
|
|
|
+ exi_doc_DIN->V2G_Message.Body.ServicePaymentSelectionReq.SelectedServiceList.SelectedService.array[i].ParameterSetID,
|
|
|
+ exi_doc_DIN->V2G_Message.Body.ServicePaymentSelectionReq.SelectedServiceList.SelectedService.array[i].ParameterSetID_isUsed);
|
|
|
}
|
|
|
DEBUG_PRINTF_EXI_ENGINE_DETAIL("[END] Parsing ServicePaymentSelectionReq\n");
|
|
|
}
|
|
@@ -3513,13 +3512,13 @@ void PRINT_XML_DOC_ISO1_ServiceAndPaymentSelectionReq(struct iso1EXIDocument *ex
|
|
|
for (i = 0; i< leng; i++)
|
|
|
{
|
|
|
DEBUG_PRINTF_EXI_ENGINE_DETAIL("SelectedServiceList (%d items): [%d-th](ServiceID, ParameterSetID, ParameterSetID_isUsed) = {%d, %d, %d}\n",
|
|
|
- leng,
|
|
|
- (i+1),
|
|
|
- exi_doc_ISO1->V2G_Message.Body.PaymentServiceSelectionReq.SelectedServiceList.SelectedService.array[i].ServiceID,
|
|
|
- exi_doc_ISO1->V2G_Message.Body.PaymentServiceSelectionReq.SelectedServiceList.SelectedService.array[i].ParameterSetID,
|
|
|
- exi_doc_ISO1->V2G_Message.Body.PaymentServiceSelectionReq.SelectedServiceList.SelectedService.array[i].ParameterSetID_isUsed);
|
|
|
+ leng,
|
|
|
+ (i+1),
|
|
|
+ exi_doc_ISO1->V2G_Message.Body.PaymentServiceSelectionReq.SelectedServiceList.SelectedService.array[i].ServiceID,
|
|
|
+ exi_doc_ISO1->V2G_Message.Body.PaymentServiceSelectionReq.SelectedServiceList.SelectedService.array[i].ParameterSetID,
|
|
|
+ exi_doc_ISO1->V2G_Message.Body.PaymentServiceSelectionReq.SelectedServiceList.SelectedService.array[i].ParameterSetID_isUsed);
|
|
|
}
|
|
|
- DEBUG_PRINTF_EXI_ENGINE_DETAIL(" [END] Parsing PaymentServiceSelectionReq\n");
|
|
|
+ DEBUG_PRINTF_EXI_ENGINE_DETAIL("[END] Parsing PaymentServiceSelectionReq\n");
|
|
|
}
|
|
|
|
|
|
/*===========================================================================
|
|
@@ -3535,7 +3534,7 @@ void PRINT_XML_DOC_DIN_ContractAuthenticationReq(struct dinEXIDocument *exi_doc_
|
|
|
//int i = 0;
|
|
|
static int cnt = 0;
|
|
|
cnt++;
|
|
|
- DEBUG_PRINTF_EXI_ENGINE_DETAIL(" [START] Parsing ContractAuthenticationReq (%d-th)\n", cnt);
|
|
|
+ DEBUG_PRINTF_EXI_ENGINE_DETAIL("[START] Parsing ContractAuthenticationReq (%d-th)\n", cnt);
|
|
|
|
|
|
//===== [Header] SessionID =====
|
|
|
PRINT_V2G_MSG_din_Header(exi_doc_DIN);
|
|
@@ -3543,14 +3542,12 @@ void PRINT_XML_DOC_DIN_ContractAuthenticationReq(struct dinEXIDocument *exi_doc_
|
|
|
|
|
|
//[BODY(1/2)] Id
|
|
|
//[Joseph, To-Do, not full implemented, yet]
|
|
|
- DEBUG_PRINTF_EXI_ENGINE_DETAIL("Id_isUsed: %d\n",
|
|
|
- exi_doc_DIN->V2G_Message.Body.ContractAuthenticationReq.Id_isUsed);
|
|
|
+ DEBUG_PRINTF_EXI_ENGINE_DETAIL("Id_isUsed: %d\n", exi_doc_DIN->V2G_Message.Body.ContractAuthenticationReq.Id_isUsed);
|
|
|
|
|
|
|
|
|
//[BODY(2/2)] GenChallenge
|
|
|
//[Joseph, To-Do, not full implemented, yet]
|
|
|
- DEBUG_PRINTF_EXI_ENGINE_DETAIL("GenChallenge_isUsed: %d\n",
|
|
|
- exi_doc_DIN->V2G_Message.Body.ContractAuthenticationReq.GenChallenge_isUsed);
|
|
|
+ DEBUG_PRINTF_EXI_ENGINE_DETAIL("GenChallenge_isUsed: %d\n", exi_doc_DIN->V2G_Message.Body.ContractAuthenticationReq.GenChallenge_isUsed);
|
|
|
|
|
|
DEBUG_PRINTF_EXI_ENGINE_DETAIL("[END] Parsing ContractAuthenticationReq (%d-th)\n", cnt);
|
|
|
}
|
|
@@ -3576,14 +3573,12 @@ void PRINT_XML_DOC_ISO1_AuthorizationReq(struct iso1EXIDocument *exi_doc_ISO1)
|
|
|
|
|
|
//[BODY(1/2)] Id
|
|
|
//[Joseph, To-Do, not full implemented, yet]
|
|
|
- DEBUG_PRINTF_EXI_ENGINE_DETAIL("Id_isUsed: %d\n",
|
|
|
- exi_doc_ISO1->V2G_Message.Body.AuthorizationReq.Id_isUsed);
|
|
|
+ DEBUG_PRINTF_EXI_ENGINE_DETAIL("Id_isUsed: %d\n", exi_doc_ISO1->V2G_Message.Body.AuthorizationReq.Id_isUsed);
|
|
|
|
|
|
|
|
|
//[BODY(2/2)] GenChallenge
|
|
|
//[Joseph, To-Do, not full implemented, yet]
|
|
|
- DEBUG_PRINTF_EXI_ENGINE_DETAIL("GenChallenge_isUsed: %d\n",
|
|
|
- exi_doc_ISO1->V2G_Message.Body.AuthorizationReq.GenChallenge_isUsed);
|
|
|
+ DEBUG_PRINTF_EXI_ENGINE_DETAIL("GenChallenge_isUsed: %d\n", exi_doc_ISO1->V2G_Message.Body.AuthorizationReq.GenChallenge_isUsed);
|
|
|
|
|
|
DEBUG_PRINTF_EXI_ENGINE_DETAIL("[END] Parsing AuthorizationReq (%d-th)\n", cnt);
|
|
|
}
|
|
@@ -3655,41 +3650,67 @@ void PRINT_XML_DOC_DIN_ChargeParameterDiscoveryReq(struct dinEXIDocument *exi_do
|
|
|
struct dinPhysicalValueType *obj;
|
|
|
DEBUG_PRINTF_EXI_ENGINE_DETAIL("DC_EVChargeParameter_isUsed: %d\n", exi_doc_DIN->V2G_Message.Body.ChargeParameterDiscoveryReq.DC_EVChargeParameter_isUsed);
|
|
|
|
|
|
- //DC_EVStatus
|
|
|
- struct dinDC_EVStatusType *status;
|
|
|
- status = &exi_doc_DIN->V2G_Message.Body.ChargeParameterDiscoveryReq.DC_EVChargeParameter.DC_EVStatus;
|
|
|
- PRINT_dinDC_EVStatusType(status);
|
|
|
-
|
|
|
- //EVMaximumCurrentLimit
|
|
|
- obj = &exi_doc_DIN->V2G_Message.Body.ChargeParameterDiscoveryReq.DC_EVChargeParameter.EVMaximumCurrentLimit;
|
|
|
- DEBUG_PRINTF_EXI_ENGINE_DETAIL("EVMaximumCurrentLimit: %d (DEC)\n", GetValue_dinPhysicalValueType(obj));
|
|
|
- PRINT_dinPhysicalValueType_UNIT(obj);
|
|
|
-
|
|
|
- //EVMaximumPowerLimit
|
|
|
- obj = &exi_doc_DIN->V2G_Message.Body.ChargeParameterDiscoveryReq.DC_EVChargeParameter.EVMaximumPowerLimit;
|
|
|
- DEBUG_PRINTF_EXI_ENGINE_DETAIL("EVMaximumPowerLimit: %d (DEC)\n", GetValue_dinPhysicalValueType(obj));
|
|
|
- PRINT_dinPhysicalValueType_UNIT(obj);
|
|
|
-
|
|
|
- //EVMaximumVoltageLimit
|
|
|
- obj = &exi_doc_DIN->V2G_Message.Body.ChargeParameterDiscoveryReq.DC_EVChargeParameter.EVMaximumVoltageLimit;
|
|
|
- DEBUG_PRINTF_EXI_ENGINE_DETAIL("EVMaximumVoltageLimit: %d (DEC)\n", GetValue_dinPhysicalValueType(obj));
|
|
|
- PRINT_dinPhysicalValueType_UNIT(obj);
|
|
|
-
|
|
|
- //EVEnergyCapacity
|
|
|
- obj = &exi_doc_DIN->V2G_Message.Body.ChargeParameterDiscoveryReq.DC_EVChargeParameter.EVEnergyCapacity;
|
|
|
- DEBUG_PRINTF_EXI_ENGINE_DETAIL("EVEnergyCapacity: %d (DEC)\n", GetValue_dinPhysicalValueType(obj));
|
|
|
- PRINT_dinPhysicalValueType_UNIT(obj);
|
|
|
-
|
|
|
- //EVEnergyRequest
|
|
|
- obj = &exi_doc_DIN->V2G_Message.Body.ChargeParameterDiscoveryReq.DC_EVChargeParameter.EVEnergyRequest;
|
|
|
- DEBUG_PRINTF_EXI_ENGINE_DETAIL("EVEnergyRequest: %d (DEC)\n", GetValue_dinPhysicalValueType(obj));
|
|
|
- PRINT_dinPhysicalValueType_UNIT(obj);
|
|
|
-
|
|
|
- //FullSOC
|
|
|
- DEBUG_PRINTF_EXI_ENGINE_DETAIL("FullSOC: %d \% (DEC)\n", exi_doc_DIN->V2G_Message.Body.ChargeParameterDiscoveryReq.DC_EVChargeParameter.FullSOC);
|
|
|
+ if(exi_doc_DIN->V2G_Message.Body.ChargeParameterDiscoveryReq.AC_EVChargeParameter_isUsed)
|
|
|
+ {
|
|
|
+ //EVMaxCurrent
|
|
|
+ obj = &exi_doc_DIN->V2G_Message.Body.ChargeParameterDiscoveryReq.AC_EVChargeParameter.EVMaxCurrent;
|
|
|
+ DEBUG_PRINTF_EXI_ENGINE_DETAIL("EVMaxCurrent: %d (DEC)\n", GetValue_dinPhysicalValueType(obj));
|
|
|
+ PRINT_dinPhysicalValueType_UNIT(obj);
|
|
|
+
|
|
|
+ //EVMinCurrent
|
|
|
+ obj = &exi_doc_DIN->V2G_Message.Body.ChargeParameterDiscoveryReq.AC_EVChargeParameter.EVMinCurrent;
|
|
|
+ DEBUG_PRINTF_EXI_ENGINE_DETAIL("EVMinCurrent: %d (DEC)\n", GetValue_dinPhysicalValueType(obj));
|
|
|
+ PRINT_dinPhysicalValueType_UNIT(obj);
|
|
|
+
|
|
|
+ //EVMaxVoltage
|
|
|
+ obj = &exi_doc_DIN->V2G_Message.Body.ChargeParameterDiscoveryReq.AC_EVChargeParameter.EVMaxVoltage;
|
|
|
+ DEBUG_PRINTF_EXI_ENGINE_DETAIL("EVMaxVoltage: %d (DEC)\n", GetValue_dinPhysicalValueType(obj));
|
|
|
+ PRINT_dinPhysicalValueType_UNIT(obj);
|
|
|
+
|
|
|
+ //EAmount
|
|
|
+ obj = &exi_doc_DIN->V2G_Message.Body.ChargeParameterDiscoveryReq.AC_EVChargeParameter.EAmount;
|
|
|
+ DEBUG_PRINTF_EXI_ENGINE_DETAIL("EAmount: %d (DEC)\n", GetValue_dinPhysicalValueType(obj));
|
|
|
+ PRINT_dinPhysicalValueType_UNIT(obj);
|
|
|
+ }
|
|
|
|
|
|
- //BulkSOC
|
|
|
- DEBUG_PRINTF_EXI_ENGINE_DETAIL("BulkSOC: %d \% (DEC)\n", exi_doc_DIN->V2G_Message.Body.ChargeParameterDiscoveryReq.DC_EVChargeParameter.BulkSOC);
|
|
|
+ if(exi_doc_DIN->V2G_Message.Body.ChargeParameterDiscoveryReq.DC_EVChargeParameter_isUsed)
|
|
|
+ {
|
|
|
+ //DC_EVStatus
|
|
|
+ struct dinDC_EVStatusType *status;
|
|
|
+ status = &exi_doc_DIN->V2G_Message.Body.ChargeParameterDiscoveryReq.DC_EVChargeParameter.DC_EVStatus;
|
|
|
+ PRINT_dinDC_EVStatusType(status);
|
|
|
+
|
|
|
+ //EVMaximumCurrentLimit
|
|
|
+ obj = &exi_doc_DIN->V2G_Message.Body.ChargeParameterDiscoveryReq.DC_EVChargeParameter.EVMaximumCurrentLimit;
|
|
|
+ DEBUG_PRINTF_EXI_ENGINE_DETAIL("EVMaximumCurrentLimit: %d (DEC)\n", GetValue_dinPhysicalValueType(obj));
|
|
|
+ PRINT_dinPhysicalValueType_UNIT(obj);
|
|
|
+
|
|
|
+ //EVMaximumPowerLimit
|
|
|
+ obj = &exi_doc_DIN->V2G_Message.Body.ChargeParameterDiscoveryReq.DC_EVChargeParameter.EVMaximumPowerLimit;
|
|
|
+ DEBUG_PRINTF_EXI_ENGINE_DETAIL("EVMaximumPowerLimit: %d (DEC)\n", GetValue_dinPhysicalValueType(obj));
|
|
|
+ PRINT_dinPhysicalValueType_UNIT(obj);
|
|
|
+
|
|
|
+ //EVMaximumVoltageLimit
|
|
|
+ obj = &exi_doc_DIN->V2G_Message.Body.ChargeParameterDiscoveryReq.DC_EVChargeParameter.EVMaximumVoltageLimit;
|
|
|
+ DEBUG_PRINTF_EXI_ENGINE_DETAIL("EVMaximumVoltageLimit: %d (DEC)\n", GetValue_dinPhysicalValueType(obj));
|
|
|
+ PRINT_dinPhysicalValueType_UNIT(obj);
|
|
|
+
|
|
|
+ //EVEnergyCapacity
|
|
|
+ obj = &exi_doc_DIN->V2G_Message.Body.ChargeParameterDiscoveryReq.DC_EVChargeParameter.EVEnergyCapacity;
|
|
|
+ DEBUG_PRINTF_EXI_ENGINE_DETAIL("EVEnergyCapacity: %d (DEC)\n", GetValue_dinPhysicalValueType(obj));
|
|
|
+ PRINT_dinPhysicalValueType_UNIT(obj);
|
|
|
+
|
|
|
+ //EVEnergyRequest
|
|
|
+ obj = &exi_doc_DIN->V2G_Message.Body.ChargeParameterDiscoveryReq.DC_EVChargeParameter.EVEnergyRequest;
|
|
|
+ DEBUG_PRINTF_EXI_ENGINE_DETAIL("EVEnergyRequest: %d (DEC)\n", GetValue_dinPhysicalValueType(obj));
|
|
|
+ PRINT_dinPhysicalValueType_UNIT(obj);
|
|
|
+
|
|
|
+ //FullSOC
|
|
|
+ DEBUG_PRINTF_EXI_ENGINE_DETAIL("FullSOC: %d \% (DEC)\n", exi_doc_DIN->V2G_Message.Body.ChargeParameterDiscoveryReq.DC_EVChargeParameter.FullSOC);
|
|
|
+
|
|
|
+ //BulkSOC
|
|
|
+ DEBUG_PRINTF_EXI_ENGINE_DETAIL("BulkSOC: %d \% (DEC)\n", exi_doc_DIN->V2G_Message.Body.ChargeParameterDiscoveryReq.DC_EVChargeParameter.BulkSOC);
|
|
|
+ }
|
|
|
|
|
|
DEBUG_PRINTF_EXI_ENGINE_DETAIL("[END] Parsing ChargeParameterDiscoveryReq (%d-th)\n", cnt);
|
|
|
}
|
|
@@ -3760,41 +3781,68 @@ void PRINT_XML_DOC_ISO1_ChargeParameterDiscoveryReq(struct iso1EXIDocument *exi_
|
|
|
struct iso1PhysicalValueType *obj;
|
|
|
DEBUG_PRINTF_EXI_ENGINE_DETAIL("DC_EVChargeParameter_isUsed: %d\n", exi_doc_ISO1->V2G_Message.Body.ChargeParameterDiscoveryReq.DC_EVChargeParameter_isUsed);
|
|
|
|
|
|
- //DC_EVStatus
|
|
|
- struct iso1DC_EVStatusType *status;
|
|
|
- status = &exi_doc_ISO1->V2G_Message.Body.ChargeParameterDiscoveryReq.DC_EVChargeParameter.DC_EVStatus;
|
|
|
- if(exi_doc_ISO1->V2G_Message.Body.ChargeParameterDiscoveryReq.DC_EVChargeParameter_isUsed)PRINT_iso1DC_EVStatusType(status);
|
|
|
-
|
|
|
- //EVMaximumCurrentLimit
|
|
|
- obj = &exi_doc_ISO1->V2G_Message.Body.ChargeParameterDiscoveryReq.DC_EVChargeParameter.EVMaximumCurrentLimit;
|
|
|
- DEBUG_PRINTF_EXI_ENGINE_DETAIL("EVMaximumCurrentLimit: %d (DEC)\n", GetValue_iso1PhysicalValueType(obj));
|
|
|
- PRINT_iso1PhysicalValueType_UNIT(obj);
|
|
|
-
|
|
|
- //EVMaximumPowerLimit
|
|
|
- obj = &exi_doc_ISO1->V2G_Message.Body.ChargeParameterDiscoveryReq.DC_EVChargeParameter.EVMaximumPowerLimit;
|
|
|
- DEBUG_PRINTF_EXI_ENGINE_DETAIL("EVMaximumPowerLimit: %d (DEC)\n", GetValue_iso1PhysicalValueType(obj));
|
|
|
- PRINT_iso1PhysicalValueType_UNIT(obj);
|
|
|
-
|
|
|
- //EVMaximumVoltageLimit
|
|
|
- obj = &exi_doc_ISO1->V2G_Message.Body.ChargeParameterDiscoveryReq.DC_EVChargeParameter.EVMaximumVoltageLimit;
|
|
|
- DEBUG_PRINTF_EXI_ENGINE_DETAIL("EVMaximumVoltageLimit: %d (DEC)\n", GetValue_iso1PhysicalValueType(obj));
|
|
|
- PRINT_iso1PhysicalValueType_UNIT(obj);
|
|
|
|
|
|
- //EVEnergyCapacity
|
|
|
- obj = &exi_doc_ISO1->V2G_Message.Body.ChargeParameterDiscoveryReq.DC_EVChargeParameter.EVEnergyCapacity;
|
|
|
- DEBUG_PRINTF_EXI_ENGINE_DETAIL("EVEnergyCapacity: %d (DEC)\n", GetValue_iso1PhysicalValueType(obj));
|
|
|
- PRINT_iso1PhysicalValueType_UNIT(obj);
|
|
|
-
|
|
|
- //EVEnergyRequest
|
|
|
- obj = &exi_doc_ISO1->V2G_Message.Body.ChargeParameterDiscoveryReq.DC_EVChargeParameter.EVEnergyRequest;
|
|
|
- DEBUG_PRINTF_EXI_ENGINE_DETAIL("EVEnergyRequest: %d (DEC)\n", GetValue_iso1PhysicalValueType(obj));
|
|
|
- PRINT_iso1PhysicalValueType_UNIT(obj);
|
|
|
-
|
|
|
- //FullSOC
|
|
|
- DEBUG_PRINTF_EXI_ENGINE_DETAIL("FullSOC: %d \% (DEC)\n", exi_doc_ISO1->V2G_Message.Body.ChargeParameterDiscoveryReq.DC_EVChargeParameter.FullSOC);
|
|
|
+ if(exi_doc_ISO1->V2G_Message.Body.ChargeParameterDiscoveryReq.AC_EVChargeParameter_isUsed)
|
|
|
+ {
|
|
|
+ //EVMaxCurrent
|
|
|
+ obj = &exi_doc_ISO1->V2G_Message.Body.ChargeParameterDiscoveryReq.AC_EVChargeParameter.EVMaxCurrent;
|
|
|
+ DEBUG_PRINTF_EXI_ENGINE_DETAIL("EVMaxCurrent: %d (DEC)\n", GetValue_iso1PhysicalValueType(obj));
|
|
|
+ PRINT_iso1PhysicalValueType_UNIT(obj);
|
|
|
+
|
|
|
+ //EVMinCurrent
|
|
|
+ obj = &exi_doc_ISO1->V2G_Message.Body.ChargeParameterDiscoveryReq.AC_EVChargeParameter.EVMinCurrent;
|
|
|
+ DEBUG_PRINTF_EXI_ENGINE_DETAIL("EVMinCurrent: %d (DEC)\n", GetValue_iso1PhysicalValueType(obj));
|
|
|
+ PRINT_iso1PhysicalValueType_UNIT(obj);
|
|
|
+
|
|
|
+ //EVMaxVoltage
|
|
|
+ obj = &exi_doc_ISO1->V2G_Message.Body.ChargeParameterDiscoveryReq.AC_EVChargeParameter.EVMaxVoltage;
|
|
|
+ DEBUG_PRINTF_EXI_ENGINE_DETAIL("EVMaxVoltage: %d (DEC)\n", GetValue_iso1PhysicalValueType(obj));
|
|
|
+ PRINT_iso1PhysicalValueType_UNIT(obj);
|
|
|
+
|
|
|
+ //EAmount
|
|
|
+ obj = &exi_doc_ISO1->V2G_Message.Body.ChargeParameterDiscoveryReq.AC_EVChargeParameter.EAmount;
|
|
|
+ DEBUG_PRINTF_EXI_ENGINE_DETAIL("EAmount: %d (DEC)\n", GetValue_iso1PhysicalValueType(obj));
|
|
|
+ PRINT_iso1PhysicalValueType_UNIT(obj);
|
|
|
+ }
|
|
|
|
|
|
- //BulkSOC
|
|
|
- DEBUG_PRINTF_EXI_ENGINE_DETAIL("BulkSOC: %d \% (DEC)\n", exi_doc_ISO1->V2G_Message.Body.ChargeParameterDiscoveryReq.DC_EVChargeParameter.BulkSOC);
|
|
|
+ if(exi_doc_ISO1->V2G_Message.Body.ChargeParameterDiscoveryReq.DC_EVChargeParameter_isUsed)
|
|
|
+ {
|
|
|
+ //DC_EVStatus
|
|
|
+ struct iso1DC_EVStatusType *status;
|
|
|
+ status = &exi_doc_ISO1->V2G_Message.Body.ChargeParameterDiscoveryReq.DC_EVChargeParameter.DC_EVStatus;
|
|
|
+ if(exi_doc_ISO1->V2G_Message.Body.ChargeParameterDiscoveryReq.DC_EVChargeParameter_isUsed)PRINT_iso1DC_EVStatusType(status);
|
|
|
+
|
|
|
+ //EVMaximumCurrentLimit
|
|
|
+ obj = &exi_doc_ISO1->V2G_Message.Body.ChargeParameterDiscoveryReq.DC_EVChargeParameter.EVMaximumCurrentLimit;
|
|
|
+ DEBUG_PRINTF_EXI_ENGINE_DETAIL("EVMaximumCurrentLimit: %d (DEC)\n", GetValue_iso1PhysicalValueType(obj));
|
|
|
+ PRINT_iso1PhysicalValueType_UNIT(obj);
|
|
|
+
|
|
|
+ //EVMaximumPowerLimit
|
|
|
+ obj = &exi_doc_ISO1->V2G_Message.Body.ChargeParameterDiscoveryReq.DC_EVChargeParameter.EVMaximumPowerLimit;
|
|
|
+ DEBUG_PRINTF_EXI_ENGINE_DETAIL("EVMaximumPowerLimit: %d (DEC)\n", GetValue_iso1PhysicalValueType(obj));
|
|
|
+ PRINT_iso1PhysicalValueType_UNIT(obj);
|
|
|
+
|
|
|
+ //EVMaximumVoltageLimit
|
|
|
+ obj = &exi_doc_ISO1->V2G_Message.Body.ChargeParameterDiscoveryReq.DC_EVChargeParameter.EVMaximumVoltageLimit;
|
|
|
+ DEBUG_PRINTF_EXI_ENGINE_DETAIL("EVMaximumVoltageLimit: %d (DEC)\n", GetValue_iso1PhysicalValueType(obj));
|
|
|
+ PRINT_iso1PhysicalValueType_UNIT(obj);
|
|
|
+
|
|
|
+ //EVEnergyCapacity
|
|
|
+ obj = &exi_doc_ISO1->V2G_Message.Body.ChargeParameterDiscoveryReq.DC_EVChargeParameter.EVEnergyCapacity;
|
|
|
+ DEBUG_PRINTF_EXI_ENGINE_DETAIL("EVEnergyCapacity: %d (DEC)\n", GetValue_iso1PhysicalValueType(obj));
|
|
|
+ PRINT_iso1PhysicalValueType_UNIT(obj);
|
|
|
+
|
|
|
+ //EVEnergyRequest
|
|
|
+ obj = &exi_doc_ISO1->V2G_Message.Body.ChargeParameterDiscoveryReq.DC_EVChargeParameter.EVEnergyRequest;
|
|
|
+ DEBUG_PRINTF_EXI_ENGINE_DETAIL("EVEnergyRequest: %d (DEC)\n", GetValue_iso1PhysicalValueType(obj));
|
|
|
+ PRINT_iso1PhysicalValueType_UNIT(obj);
|
|
|
+
|
|
|
+ //FullSOC
|
|
|
+ DEBUG_PRINTF_EXI_ENGINE_DETAIL("FullSOC: %d \% (DEC)\n", exi_doc_ISO1->V2G_Message.Body.ChargeParameterDiscoveryReq.DC_EVChargeParameter.FullSOC);
|
|
|
+
|
|
|
+ //BulkSOC
|
|
|
+ DEBUG_PRINTF_EXI_ENGINE_DETAIL("BulkSOC: %d \% (DEC)\n", exi_doc_ISO1->V2G_Message.Body.ChargeParameterDiscoveryReq.DC_EVChargeParameter.BulkSOC);
|
|
|
+ }
|
|
|
|
|
|
DEBUG_PRINTF_EXI_ENGINE_DETAIL("[END] Parsing ChargeParameterDiscoveryReq (%d-th)\n", cnt);
|
|
|
}
|
|
@@ -3901,7 +3949,7 @@ void PRINT_XML_DOC_ISO1_PreChargeReq(struct iso1EXIDocument *exi_doc_ISO1)
|
|
|
//int i = 0;
|
|
|
static int cnt = 0;
|
|
|
cnt++;
|
|
|
- DEBUG_PRINTF_EXI_ENGINE_DETAIL(" [START] Parsing PreChargeReq (%d-th)\n", cnt);
|
|
|
+ DEBUG_PRINTF_EXI_ENGINE_DETAIL("[START] Parsing PreChargeReq (%d-th)\n", cnt);
|
|
|
|
|
|
//===== [Header] SessionID =====
|
|
|
PRINT_V2G_MSG_iso1_Header(exi_doc_ISO1);
|
|
@@ -3944,36 +3992,32 @@ void PRINT_XML_DOC_DIN_PowerDeliveryReq(struct dinEXIDocument *exi_doc_DIN)
|
|
|
PRINT_V2G_MSG_din_Header(exi_doc_DIN);
|
|
|
|
|
|
//===== [BODY (1/3)] ReadyToChargeState =====
|
|
|
- DEBUG_PRINTF_EXI_ENGINE_DETAIL("ReadyToChargeState: %d (DEC)\n",
|
|
|
- exi_doc_DIN->V2G_Message.Body.PowerDeliveryReq.ReadyToChargeState);
|
|
|
+ DEBUG_PRINTF_EXI_ENGINE_DETAIL("ReadyToChargeState: %d (DEC)\n", exi_doc_DIN->V2G_Message.Body.PowerDeliveryReq.ReadyToChargeState);
|
|
|
|
|
|
|
|
|
//===== [BODY (2/3)] ChargingProfile =====
|
|
|
- DEBUG_PRINTF_EXI_ENGINE_DETAIL("ChargingProfile_isUsed: %d (DEC)\n",
|
|
|
- exi_doc_DIN->V2G_Message.Body.PowerDeliveryReq.ChargingProfile_isUsed);
|
|
|
+ DEBUG_PRINTF_EXI_ENGINE_DETAIL("ChargingProfile_isUsed: %d (DEC)\n", exi_doc_DIN->V2G_Message.Body.PowerDeliveryReq.ChargingProfile_isUsed);
|
|
|
|
|
|
|
|
|
//===== [BODY (3/3)] DC_EVPowerDeliveryParameter =====
|
|
|
- DEBUG_PRINTF_EXI_ENGINE_DETAIL("DC_EVPowerDeliveryParameter_isUsed: %d (DEC)\n",
|
|
|
- exi_doc_DIN->V2G_Message.Body.PowerDeliveryReq.DC_EVPowerDeliveryParameter_isUsed);
|
|
|
+ DEBUG_PRINTF_EXI_ENGINE_DETAIL("DC_EVPowerDeliveryParameter_isUsed: %d (DEC)\n", exi_doc_DIN->V2G_Message.Body.PowerDeliveryReq.DC_EVPowerDeliveryParameter_isUsed);
|
|
|
|
|
|
- //DC_EVStatus
|
|
|
- struct dinDC_EVStatusType *status;
|
|
|
- status = &exi_doc_DIN->V2G_Message.Body.PowerDeliveryReq.DC_EVPowerDeliveryParameter.DC_EVStatus;
|
|
|
- PRINT_dinDC_EVStatusType(status);
|
|
|
-
|
|
|
- //BulkChargingComplete
|
|
|
- DEBUG_PRINTF_EXI_ENGINE_DETAIL("BulkChargingComplete: %d (DEC)\n",
|
|
|
- exi_doc_DIN->V2G_Message.Body.PowerDeliveryReq.DC_EVPowerDeliveryParameter.BulkChargingComplete);
|
|
|
+ if(exi_doc_DIN->V2G_Message.Body.PowerDeliveryReq.DC_EVPowerDeliveryParameter_isUsed)
|
|
|
+ {
|
|
|
+ //DC_EVStatus
|
|
|
+ struct dinDC_EVStatusType *status;
|
|
|
+ status = &exi_doc_DIN->V2G_Message.Body.PowerDeliveryReq.DC_EVPowerDeliveryParameter.DC_EVStatus;
|
|
|
+ PRINT_dinDC_EVStatusType(status);
|
|
|
|
|
|
- //BulkChargingComplete_isUsed
|
|
|
- DEBUG_PRINTF_EXI_ENGINE_DETAIL("BulkChargingComplete_isUsed: %d (DEC)\n",
|
|
|
- exi_doc_DIN->V2G_Message.Body.PowerDeliveryReq.DC_EVPowerDeliveryParameter.BulkChargingComplete_isUsed);
|
|
|
+ //BulkChargingComplete
|
|
|
+ DEBUG_PRINTF_EXI_ENGINE_DETAIL("BulkChargingComplete: %d (DEC)\n", exi_doc_DIN->V2G_Message.Body.PowerDeliveryReq.DC_EVPowerDeliveryParameter.BulkChargingComplete);
|
|
|
|
|
|
- //ChargingComplete
|
|
|
- DEBUG_PRINTF_EXI_ENGINE_DETAIL("ChargingComplete: %d (DEC)\n",
|
|
|
- exi_doc_DIN->V2G_Message.Body.PowerDeliveryReq.DC_EVPowerDeliveryParameter.ChargingComplete);
|
|
|
+ //BulkChargingComplete_isUsed
|
|
|
+ DEBUG_PRINTF_EXI_ENGINE_DETAIL("BulkChargingComplete_isUsed: %d (DEC)\n", exi_doc_DIN->V2G_Message.Body.PowerDeliveryReq.DC_EVPowerDeliveryParameter.BulkChargingComplete_isUsed);
|
|
|
|
|
|
+ //ChargingComplete
|
|
|
+ DEBUG_PRINTF_EXI_ENGINE_DETAIL("ChargingComplete: %d (DEC)\n", exi_doc_DIN->V2G_Message.Body.PowerDeliveryReq.DC_EVPowerDeliveryParameter.ChargingComplete);
|
|
|
+ }
|
|
|
|
|
|
DEBUG_PRINTF_EXI_ENGINE_DETAIL("[END] Parsing PowerDeliveryReq (%d-th)\n", cnt);
|
|
|
}
|
|
@@ -3991,45 +4035,42 @@ void PRINT_XML_DOC_ISO1_PowerDeliveryReq(struct iso1EXIDocument *exi_doc_ISO1)
|
|
|
//int i = 0;
|
|
|
static int cnt = 0;
|
|
|
cnt++;
|
|
|
- DEBUG_PRINTF_EXI_ENGINE_DETAIL(" [START] Parsing PowerDeliveryReq (%d-th)\n", cnt);
|
|
|
+ DEBUG_PRINTF_EXI_ENGINE_DETAIL("[START] Parsing PowerDeliveryReq (%d-th)\n", cnt);
|
|
|
|
|
|
//===== [Header] SessionID =====
|
|
|
PRINT_V2G_MSG_iso1_Header(exi_doc_ISO1);
|
|
|
|
|
|
|
|
|
//===== [BODY (1/3)] ChargeProgress =====
|
|
|
- DEBUG_PRINTF_EXI_ENGINE_DETAIL("ChargeProgress: %d (DEC, 0:start, 1:stop, 2:re-negotiate)\n",
|
|
|
- exi_doc_ISO1->V2G_Message.Body.PowerDeliveryReq.ChargeProgress);
|
|
|
+ DEBUG_PRINTF_EXI_ENGINE_DETAIL("ChargeProgress: %d (DEC, 0:start, 1:stop, 2:re-negotiate)\n", exi_doc_ISO1->V2G_Message.Body.PowerDeliveryReq.ChargeProgress);
|
|
|
//iso1chargeProgressType_Start = 0,
|
|
|
//iso1chargeProgressType_Stop = 1,
|
|
|
//iso1chargeProgressType_Renegotiate = 2
|
|
|
|
|
|
|
|
|
//===== [BODY (2/3)] ChargingProfile =====
|
|
|
- DEBUG_PRINTF_EXI_ENGINE_DETAIL("ChargingProfile_isUsed = %d (DEC)\n",
|
|
|
- exi_doc_ISO1->V2G_Message.Body.PowerDeliveryReq.ChargingProfile_isUsed);
|
|
|
+ DEBUG_PRINTF_EXI_ENGINE_DETAIL("ChargingProfile_isUsed = %d (DEC)\n", exi_doc_ISO1->V2G_Message.Body.PowerDeliveryReq.ChargingProfile_isUsed);
|
|
|
|
|
|
|
|
|
//===== [BODY (3/3)] DC_EVPowerDeliveryParameter =====
|
|
|
- DEBUG_PRINTF_EXI_ENGINE_DETAIL("DC_EVPowerDeliveryParameter_isUsed = %d (DEC)\n",
|
|
|
- exi_doc_ISO1->V2G_Message.Body.PowerDeliveryReq.DC_EVPowerDeliveryParameter_isUsed);
|
|
|
+ DEBUG_PRINTF_EXI_ENGINE_DETAIL("DC_EVPowerDeliveryParameter_isUsed = %d (DEC)\n", exi_doc_ISO1->V2G_Message.Body.PowerDeliveryReq.DC_EVPowerDeliveryParameter_isUsed);
|
|
|
|
|
|
- //DC_EVStatus
|
|
|
- struct iso1DC_EVStatusType *status;
|
|
|
- status = &exi_doc_ISO1->V2G_Message.Body.PowerDeliveryReq.DC_EVPowerDeliveryParameter.DC_EVStatus;
|
|
|
- if(exi_doc_ISO1->V2G_Message.Body.PowerDeliveryReq.DC_EVPowerDeliveryParameter_isUsed)PRINT_iso1DC_EVStatusType(status);
|
|
|
+ if(exi_doc_ISO1->V2G_Message.Body.PowerDeliveryReq.DC_EVPowerDeliveryParameter_isUsed)
|
|
|
+ {
|
|
|
+ //DC_EVStatus
|
|
|
+ struct iso1DC_EVStatusType *status;
|
|
|
+ status = &exi_doc_ISO1->V2G_Message.Body.PowerDeliveryReq.DC_EVPowerDeliveryParameter.DC_EVStatus;
|
|
|
+ PRINT_iso1DC_EVStatusType(status);
|
|
|
|
|
|
- //BulkChargingComplete
|
|
|
- DEBUG_PRINTF_EXI_ENGINE_DETAIL("BulkChargingComplete = %d (DEC)\n",
|
|
|
- exi_doc_ISO1->V2G_Message.Body.PowerDeliveryReq.DC_EVPowerDeliveryParameter.BulkChargingComplete);
|
|
|
+ //BulkChargingComplete
|
|
|
+ DEBUG_PRINTF_EXI_ENGINE_DETAIL("BulkChargingComplete = %d (DEC)\n", exi_doc_ISO1->V2G_Message.Body.PowerDeliveryReq.DC_EVPowerDeliveryParameter.BulkChargingComplete);
|
|
|
|
|
|
- //BulkChargingComplete_isUsed
|
|
|
- DEBUG_PRINTF_EXI_ENGINE_DETAIL("BulkChargingComplete_isUsed = %d (DEC)\n",
|
|
|
- exi_doc_ISO1->V2G_Message.Body.PowerDeliveryReq.DC_EVPowerDeliveryParameter.BulkChargingComplete_isUsed);
|
|
|
+ //BulkChargingComplete_isUsed
|
|
|
+ DEBUG_PRINTF_EXI_ENGINE_DETAIL("BulkChargingComplete_isUsed = %d (DEC)\n", exi_doc_ISO1->V2G_Message.Body.PowerDeliveryReq.DC_EVPowerDeliveryParameter.BulkChargingComplete_isUsed);
|
|
|
|
|
|
- //ChargingComplete
|
|
|
- DEBUG_PRINTF_EXI_ENGINE_DETAIL("ChargingComplete = %d (DEC)\n",
|
|
|
- exi_doc_ISO1->V2G_Message.Body.PowerDeliveryReq.DC_EVPowerDeliveryParameter.ChargingComplete);
|
|
|
+ //ChargingComplete
|
|
|
+ DEBUG_PRINTF_EXI_ENGINE_DETAIL("ChargingComplete = %d (DEC)\n", exi_doc_ISO1->V2G_Message.Body.PowerDeliveryReq.DC_EVPowerDeliveryParameter.ChargingComplete);
|
|
|
+ }
|
|
|
|
|
|
|
|
|
DEBUG_PRINTF_EXI_ENGINE_DETAIL("[END] Parsing PowerDeliveryReq (%d-th)\n", cnt);
|
|
@@ -4151,36 +4192,37 @@ void PRINT_XML_DOC_ISO1_CurrentDemandReq(struct iso1EXIDocument *exi_doc_ISO1)
|
|
|
DEBUG_PRINTF_EXI_ENGINE_DETAIL("EVTargetCurrent: %d (DEC)\n", GetValue_iso1PhysicalValueType(obj));
|
|
|
PRINT_iso1PhysicalValueType_UNIT(obj);
|
|
|
|
|
|
-
|
|
|
//===== [BODY (3/10)] EVMaximumVoltageLimit =====
|
|
|
DEBUG_PRINTF_EXI_ENGINE_DETAIL("DC_EVChargeParameter_isUsed: %d\n", exi_doc_ISO1->V2G_Message.Body.CurrentDemandReq.EVMaximumVoltageLimit_isUsed);
|
|
|
-
|
|
|
- obj = &exi_doc_ISO1->V2G_Message.Body.CurrentDemandReq.EVMaximumVoltageLimit;
|
|
|
- DEBUG_PRINTF_EXI_ENGINE_DETAIL("EVMaximumVoltageLimit: %d (DEC)\n", GetValue_iso1PhysicalValueType(obj));
|
|
|
- PRINT_iso1PhysicalValueType_UNIT(obj);
|
|
|
-
|
|
|
-
|
|
|
+ if(exi_doc_ISO1->V2G_Message.Body.CurrentDemandReq.EVMaximumVoltageLimit_isUsed)
|
|
|
+ {
|
|
|
+ obj = &exi_doc_ISO1->V2G_Message.Body.CurrentDemandReq.EVMaximumVoltageLimit;
|
|
|
+ DEBUG_PRINTF_EXI_ENGINE_DETAIL("EVMaximumVoltageLimit: %d (DEC)\n", GetValue_iso1PhysicalValueType(obj));
|
|
|
+ PRINT_iso1PhysicalValueType_UNIT(obj);
|
|
|
+ }
|
|
|
|
|
|
//===== [BODY (4/10)] EVMaximumCurrentLimit =====
|
|
|
- DEBUG_PRINTF_EXI_ENGINE_DETAIL("DC_EVChargeParameter_isUsed: %d\n",
|
|
|
- exi_doc_ISO1->V2G_Message.Body.CurrentDemandReq.EVMaximumCurrentLimit_isUsed);
|
|
|
-
|
|
|
- obj = &exi_doc_ISO1->V2G_Message.Body.CurrentDemandReq.EVMaximumCurrentLimit;
|
|
|
- DEBUG_PRINTF_EXI_ENGINE_DETAIL("EVMaximumCurrentLimit: %d (DEC)\n", GetValue_iso1PhysicalValueType(obj));
|
|
|
- PRINT_iso1PhysicalValueType_UNIT(obj);
|
|
|
-
|
|
|
+ DEBUG_PRINTF_EXI_ENGINE_DETAIL("DC_EVChargeParameter_isUsed: %d\n", exi_doc_ISO1->V2G_Message.Body.CurrentDemandReq.EVMaximumCurrentLimit_isUsed);
|
|
|
+ if(exi_doc_ISO1->V2G_Message.Body.CurrentDemandReq.EVMaximumCurrentLimit_isUsed)
|
|
|
+ {
|
|
|
+ obj = &exi_doc_ISO1->V2G_Message.Body.CurrentDemandReq.EVMaximumCurrentLimit;
|
|
|
+ DEBUG_PRINTF_EXI_ENGINE_DETAIL("EVMaximumCurrentLimit: %d (DEC)\n", GetValue_iso1PhysicalValueType(obj));
|
|
|
+ PRINT_iso1PhysicalValueType_UNIT(obj);
|
|
|
+ }
|
|
|
|
|
|
//===== [BODY (5/10)] EVMaximumPowerLimit =====
|
|
|
DEBUG_PRINTF_EXI_ENGINE_DETAIL("DC_EVChargeParameter_isUsed: %d\n", exi_doc_ISO1->V2G_Message.Body.CurrentDemandReq.EVMaximumPowerLimit_isUsed);
|
|
|
-
|
|
|
- obj = &exi_doc_ISO1->V2G_Message.Body.CurrentDemandReq.EVMaximumPowerLimit;
|
|
|
- DEBUG_PRINTF_EXI_ENGINE_DETAIL("EVMaximumPowerLimit: %d (DEC)\n", GetValue_iso1PhysicalValueType(obj));
|
|
|
- PRINT_iso1PhysicalValueType_UNIT(obj);
|
|
|
-
|
|
|
+ if(exi_doc_ISO1->V2G_Message.Body.CurrentDemandReq.EVMaximumPowerLimit_isUsed)
|
|
|
+ {
|
|
|
+ obj = &exi_doc_ISO1->V2G_Message.Body.CurrentDemandReq.EVMaximumPowerLimit;
|
|
|
+ DEBUG_PRINTF_EXI_ENGINE_DETAIL("EVMaximumPowerLimit: %d (DEC)\n", GetValue_iso1PhysicalValueType(obj));
|
|
|
+ PRINT_iso1PhysicalValueType_UNIT(obj);
|
|
|
+ }
|
|
|
|
|
|
//===== [BODY (6/10)] BulkChargingComplete =====
|
|
|
DEBUG_PRINTF_EXI_ENGINE_DETAIL("BulkChargingComplete_isUsed: %d\n", exi_doc_ISO1->V2G_Message.Body.CurrentDemandReq.BulkChargingComplete_isUsed);
|
|
|
- DEBUG_PRINTF_EXI_ENGINE_DETAIL("BulkChargingComplete: %d\n", exi_doc_ISO1->V2G_Message.Body.CurrentDemandReq.BulkChargingComplete);
|
|
|
+ if(exi_doc_ISO1->V2G_Message.Body.CurrentDemandReq.BulkChargingComplete_isUsed)
|
|
|
+ DEBUG_PRINTF_EXI_ENGINE_DETAIL("BulkChargingComplete: %d\n", exi_doc_ISO1->V2G_Message.Body.CurrentDemandReq.BulkChargingComplete);
|
|
|
|
|
|
|
|
|
//===== [BODY (7/10)] ChargingComplete =====
|
|
@@ -4189,19 +4231,22 @@ void PRINT_XML_DOC_ISO1_CurrentDemandReq(struct iso1EXIDocument *exi_doc_ISO1)
|
|
|
|
|
|
//===== [BODY (8/10)] RemainingTimeToFullSoC =====
|
|
|
DEBUG_PRINTF_EXI_ENGINE_DETAIL("DC_EVChargeParameter_isUsed: %d\n", exi_doc_ISO1->V2G_Message.Body.CurrentDemandReq.RemainingTimeToFullSoC_isUsed);
|
|
|
-
|
|
|
- obj = &exi_doc_ISO1->V2G_Message.Body.CurrentDemandReq.RemainingTimeToFullSoC;
|
|
|
- DEBUG_PRINTF_EXI_ENGINE_DETAIL("RemainingTimeToFullSoC: %d (DEC)\n", GetValue_iso1PhysicalValueType(obj));
|
|
|
- PRINT_iso1PhysicalValueType_UNIT(obj);
|
|
|
+ if(exi_doc_ISO1->V2G_Message.Body.CurrentDemandReq.RemainingTimeToFullSoC_isUsed)
|
|
|
+ {
|
|
|
+ obj = &exi_doc_ISO1->V2G_Message.Body.CurrentDemandReq.RemainingTimeToFullSoC;
|
|
|
+ DEBUG_PRINTF_EXI_ENGINE_DETAIL("RemainingTimeToFullSoC: %d (DEC)\n", GetValue_iso1PhysicalValueType(obj));
|
|
|
+ PRINT_iso1PhysicalValueType_UNIT(obj);
|
|
|
+ }
|
|
|
|
|
|
|
|
|
//===== [BODY (9/10)] RemainingTimeToBulkSoC =====
|
|
|
DEBUG_PRINTF_EXI_ENGINE_DETAIL("DC_EVChargeParameter_isUsed: %d\n", exi_doc_ISO1->V2G_Message.Body.CurrentDemandReq.RemainingTimeToBulkSoC_isUsed);
|
|
|
-
|
|
|
- obj = &exi_doc_ISO1->V2G_Message.Body.CurrentDemandReq.RemainingTimeToBulkSoC;
|
|
|
- DEBUG_PRINTF_EXI_ENGINE_DETAIL("RemainingTimeToBulkSoC: %d (DEC)\n", GetValue_iso1PhysicalValueType(obj));
|
|
|
- PRINT_iso1PhysicalValueType_UNIT(obj);
|
|
|
-
|
|
|
+ if(exi_doc_ISO1->V2G_Message.Body.CurrentDemandReq.RemainingTimeToBulkSoC_isUsed)
|
|
|
+ {
|
|
|
+ obj = &exi_doc_ISO1->V2G_Message.Body.CurrentDemandReq.RemainingTimeToBulkSoC;
|
|
|
+ DEBUG_PRINTF_EXI_ENGINE_DETAIL("RemainingTimeToBulkSoC: %d (DEC)\n", GetValue_iso1PhysicalValueType(obj));
|
|
|
+ PRINT_iso1PhysicalValueType_UNIT(obj);
|
|
|
+ }
|
|
|
|
|
|
//===== [BODY (10/10)] EVTargetVoltage =====
|
|
|
obj = &exi_doc_ISO1->V2G_Message.Body.CurrentDemandReq.EVTargetVoltage;
|
|
@@ -4223,14 +4268,13 @@ void PRINT_XML_DOC_ISO1_ChargingStatusReq(struct iso1EXIDocument *exi_doc_ISO1)
|
|
|
{
|
|
|
static int cnt = 0;
|
|
|
cnt++;
|
|
|
- DEBUG_PRINTF_EXI_ENGINE_DETAIL(" [START] Parsing ChargingStatusReq (%d-th)\n", cnt);
|
|
|
+ DEBUG_PRINTF_EXI_ENGINE_DETAIL("[START] Parsing ChargingStatusReq (%d-th)\n", cnt);
|
|
|
|
|
|
//===== [Header] SessionID =====
|
|
|
PRINT_V2G_MSG_iso1_Header(exi_doc_ISO1);
|
|
|
|
|
|
//===== [BODY (0/0)] =====
|
|
|
//ISO1: no content
|
|
|
- DEBUG_PRINTF_EXI_ENGINE_DETAIL("no content (ISO1)\n");
|
|
|
|
|
|
DEBUG_PRINTF_EXI_ENGINE_DETAIL("[END] Parsing ChargingStatusReq (%d-th)\n", cnt);
|
|
|
}
|
|
@@ -4346,7 +4390,7 @@ GLOBAL VARIABLES:
|
|
|
=============================================================================*/
|
|
|
void PRINT_V2GTP_STREAM(bitstream_t *stream)
|
|
|
{
|
|
|
- #if (DEBUG_PRINTF_EXI_ENGINE_SHOW == ENABLE)
|
|
|
+#if (DEBUG_PRINTF_EXI_ENGINE_SHOW == ENABLE)
|
|
|
int i = 0;
|
|
|
unsigned char buffer[1024] = {0};
|
|
|
|
|
@@ -4356,10 +4400,9 @@ void PRINT_V2GTP_STREAM(bitstream_t *stream)
|
|
|
{
|
|
|
sprintf((char*)buffer, "%s%02x ", buffer, stream->data[i]);
|
|
|
}
|
|
|
- DEBUG_PRINTF_EXI_ENGINE_DETAIL("HEADER (HEX): %s\n", buffer);
|
|
|
- //DEBUG_PRINTF_EXI_ENGINE_DETAIL("EXI (HEX): \n");
|
|
|
+ DEBUG_PRINTF_EXI_ENGINE_DETAIL("DATA (HEX): %s\n", buffer);
|
|
|
|
|
|
- #endif
|
|
|
+#endif
|
|
|
}
|
|
|
|
|
|
|
|
@@ -4404,7 +4447,7 @@ int API_V2GMSG_EXI_Decoder_AppProtocol(unsigned char *V2GTP_msg, unsigned int V2
|
|
|
//TC_SECC_VTB_V2GTPSessionSetup_004
|
|
|
if (payloadLengthDec == 0)
|
|
|
{
|
|
|
- DEBUG_PRINTF_EXI_ENGINE_DETAIL("[ERROR][API_V2GMSG_EXI_Decoder_AppProtocol]payloadLengthDec = 0\n");
|
|
|
+ DEBUG_PRINTF_EXI_ENGINE_DETAIL("[ERROR]payloadLengthDec = 0\n");
|
|
|
errn = -1;
|
|
|
}
|
|
|
|
|
@@ -4423,7 +4466,7 @@ int API_V2GMSG_EXI_Decoder_AppProtocol(unsigned char *V2GTP_msg, unsigned int V2
|
|
|
else
|
|
|
{
|
|
|
/* an error occured */
|
|
|
- DEBUG_PRINTF_EXI_ENGINE_DETAIL("[ERROR][API_V2GMSG_EXI_Decoder_AppProtocol]decode_appHandExiDocument()\n");
|
|
|
+ DEBUG_PRINTF_EXI_ENGINE_DETAIL("[ERROR]decode_appHandExiDocument() fail\n");
|
|
|
errn = -1;
|
|
|
}
|
|
|
}
|
|
@@ -4458,8 +4501,7 @@ int API_V2GMSG_EXI_Encoder_AppProtocol(struct appHandEXIDocument *exi_doc, bitst
|
|
|
{
|
|
|
sprintf((char*)buffer, "%s%02x ", buffer, exi_packet->data[i]);
|
|
|
}
|
|
|
- DEBUG_PRINTF_EXI_ENGINE_DETAIL("HEADER (HEX): %s\n", buffer);
|
|
|
- DEBUG_PRINTF_EXI_ENGINE_DETAIL("EXI (HEX): \n");
|
|
|
+ DEBUG_PRINTF_EXI_ENGINE_DETAIL("DATA (HEX): %s\n", buffer);
|
|
|
DEBUG_PRINTF_EXI_ENGINE_DETAIL("----- supportedAppProtocolRes [END] -----\n");
|
|
|
|
|
|
return errn;
|
|
@@ -4497,7 +4539,7 @@ int API_V2GMSG_EXI_Decoder_DIN(unsigned char *V2GTP_msg, unsigned int V2GTP_msg_
|
|
|
//TC_SECC_VTB_V2GTPSessionSetup_004
|
|
|
if (payloadLengthDec == 0)
|
|
|
{
|
|
|
- DEBUG_PRINTF_EXI_ENGINE_DETAIL("[Error] payloadLengthDec = 0\n");
|
|
|
+ DEBUG_PRINTF_EXI_ENGINE_DETAIL("[Error]payloadLengthDec = 0\n");
|
|
|
errn = -1;
|
|
|
}
|
|
|
|
|
@@ -4515,18 +4557,18 @@ int API_V2GMSG_EXI_Decoder_DIN(unsigned char *V2GTP_msg, unsigned int V2GTP_msg_
|
|
|
errn = Check_V2G_Rx_Msg_Name_din(exi_doc_DIN);
|
|
|
if (errn < 0)
|
|
|
{
|
|
|
- DEBUG_PRINTF_EXI_ENGINE_DETAIL("[ERROR] Check_V2G_Rx_Msg_Name_din: fail\n");
|
|
|
+ DEBUG_PRINTF_EXI_ENGINE_DETAIL("[ERROR]Check_V2G_Rx_Msg_Name_din: fail\n");
|
|
|
}
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
- DEBUG_PRINTF_EXI_ENGINE_DETAIL("[ERROR] decode_dinExiDocument: %d (DEC)\n", errn);
|
|
|
+ DEBUG_PRINTF_EXI_ENGINE_DETAIL("[ERROR]decode_dinExiDocument: %d (DEC)\n", errn);
|
|
|
errn = -1;
|
|
|
}
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
- DEBUG_PRINTF_EXI_ENGINE_DETAIL("[ERROR][API_V2GMSG_EXI_Decoder_DIN] read_v2gtpHeader: %d (DEC)\n", errn);
|
|
|
+ DEBUG_PRINTF_EXI_ENGINE_DETAIL("[ERROR]read_v2gtpHeader: %d (DEC)\n", errn);
|
|
|
}
|
|
|
return errn;
|
|
|
}
|
|
@@ -4562,7 +4604,7 @@ int API_V2GMSG_EXI_Decoder_ISO1(unsigned char *V2GTP_msg, unsigned int V2GTP_msg
|
|
|
//TC_SECC_VTB_V2GTPSessionSetup_004
|
|
|
if (payloadLengthDec == 0)
|
|
|
{
|
|
|
- DEBUG_PRINTF_EXI_ENGINE_DETAIL("[Error] payloadLengthDec = 0\n");
|
|
|
+ DEBUG_PRINTF_EXI_ENGINE_DETAIL("[Error]payloadLengthDec = 0\n");
|
|
|
errn = -1;
|
|
|
}
|
|
|
|
|
@@ -4580,18 +4622,18 @@ int API_V2GMSG_EXI_Decoder_ISO1(unsigned char *V2GTP_msg, unsigned int V2GTP_msg
|
|
|
errn = Check_V2G_Rx_Msg_Name_iso1(exi_doc_ISO1);
|
|
|
if (errn < 0)
|
|
|
{
|
|
|
- DEBUG_PRINTF_EXI_ENGINE_DETAIL("[ERROR] Check_V2G_Rx_Msg_Name_din: fail\n");
|
|
|
+ DEBUG_PRINTF_EXI_ENGINE_DETAIL("[ERROR]Check_V2G_Rx_Msg_Name_din: fail\n");
|
|
|
}
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
- DEBUG_PRINTF_EXI_ENGINE_DETAIL("[ERROR] decode_iso1ExiDocument: %d (DEC)\n", errn);
|
|
|
+ DEBUG_PRINTF_EXI_ENGINE_DETAIL("[ERROR]decode_iso1ExiDocument: %d (DEC)\n", errn);
|
|
|
errn = -1;
|
|
|
}
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
- DEBUG_PRINTF_EXI_ENGINE_DETAIL("[ERROR] read_v2gtpHeader: %d (DEC)\n", errn);
|
|
|
+ DEBUG_PRINTF_EXI_ENGINE_DETAIL("[ERROR]read_v2gtpHeader: %d (DEC)\n", errn);
|
|
|
}
|
|
|
return errn;
|
|
|
}
|
|
@@ -4627,7 +4669,7 @@ int API_V2GMSG_EXI_Decoder_ISO2(unsigned char *V2GTP_msg, unsigned int V2GTP_msg
|
|
|
//TC_SECC_VTB_V2GTPSessionSetup_004
|
|
|
if (payloadLengthDec == 0)
|
|
|
{
|
|
|
- DEBUG_PRINTF_EXI_ENGINE_DETAIL("[Error] payloadLengthDec = 0\n");
|
|
|
+ DEBUG_PRINTF_EXI_ENGINE_DETAIL("[Error]payloadLengthDec = 0\n");
|
|
|
errn = -1;
|
|
|
}
|
|
|
|
|
@@ -4645,17 +4687,17 @@ int API_V2GMSG_EXI_Decoder_ISO2(unsigned char *V2GTP_msg, unsigned int V2GTP_msg
|
|
|
errn = Check_V2G_Rx_Msg_Name_iso2(exi_doc_ISO2);
|
|
|
if (errn < 0)
|
|
|
{
|
|
|
- DEBUG_PRINTF_EXI_ENGINE_DETAIL("[ERROR] Check_V2G_Rx_Msg_Name_din: fail\n");
|
|
|
+ DEBUG_PRINTF_EXI_ENGINE_DETAIL("[Error]Check_V2G_Rx_Msg_Name_din: fail\n");
|
|
|
}
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
- DEBUG_PRINTF_EXI_ENGINE_DETAIL("[ERROR] decode_iso2ExiDocument: %d (DEC)\n", errn);
|
|
|
+ DEBUG_PRINTF_EXI_ENGINE_DETAIL("[Error]decode_iso2ExiDocument: %d (DEC)\n", errn);
|
|
|
}
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
- DEBUG_PRINTF_EXI_ENGINE_DETAIL("[ERROR] read_v2gtpHeader: %d (DEC)\n", errn);
|
|
|
+ DEBUG_PRINTF_EXI_ENGINE_DETAIL("[Error]read_v2gtpHeader: %d (DEC)\n", errn);
|
|
|
}
|
|
|
return errn;
|
|
|
}
|