* get ready for release OpenV2G 0.9.2

This commit is contained in:
daniel_peintner 2014-09-12 08:43:22 +00:00
parent 0a17f609fd
commit abae85ebf6
49 changed files with 44064 additions and 43899 deletions

View file

@ -1,6 +1,6 @@
------------------------------------------------------------------------- -------------------------------------------------------------------------
OpenV2G - an open source project implementing the basic functionality of the ISO IEC 15118 vehicle to grid (V2G) communication interface OpenV2G - an open source project implementing the basic functionality of the ISO IEC 15118 vehicle to grid (V2G) communication interface
Version 0.9.1, released August 28, 2014 Version 0.9.2, released September 12, 2014
http://openv2g.sourceforge.net/ http://openv2g.sourceforge.net/
Please report bugs via the SourceForge bug tracking system at http://sourceforge.net/tracker/?group_id=350113. Please report bugs via the SourceForge bug tracking system at http://sourceforge.net/tracker/?group_id=350113.
@ -21,6 +21,13 @@ GNU Lesser General Public License for more details.
You should have received a copy of the GNU Lesser General Public License You should have received a copy of the GNU Lesser General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>. along with this program. If not, see <http://www.gnu.org/licenses/>.
-------------------------------------------------------------------------
CHANGES from version 0.9.1:
-------------------------------------------------------------------------
* resolves bug with name clashes w.r.t. iso and din track
* fixes issue with test code for init handshake
* Note: OpenV2G 0.9.2 is essentially just a bug fixed version of OpenV2G 0.9.1
------------------------------------------------------------------------- -------------------------------------------------------------------------
CHANGES from version 0.9: CHANGES from version 0.9:
------------------------------------------------------------------------- -------------------------------------------------------------------------

View file

@ -18,7 +18,7 @@
/******************************************************************* /*******************************************************************
* *
* @author Daniel.Peintner.EXT@siemens.com * @author Daniel.Peintner.EXT@siemens.com
* @version 0.9.1 * @version 0.9.2
* @contact Joerg.Heuer@siemens.com * @contact Joerg.Heuer@siemens.com
* *
* <p>Code generated by EXIdizer</p> * <p>Code generated by EXIdizer</p>
@ -45,10 +45,6 @@ void init_appHandEXIDocument(struct appHandEXIDocument* exiDoc) {
exiDoc->supportedAppProtocolRes_isUsed = 0u; exiDoc->supportedAppProtocolRes_isUsed = 0u;
} }
void init_appHandAnonType_supportedAppProtocolRes(struct appHandAnonType_supportedAppProtocolRes* appHandAnonType_supportedAppProtocolRes) {
appHandAnonType_supportedAppProtocolRes->SchemaID_isUsed = 0u;
}
void init_appHandAppProtocolType(struct appHandAppProtocolType* appHandAppProtocolType) { void init_appHandAppProtocolType(struct appHandAppProtocolType* appHandAppProtocolType) {
} }
@ -56,6 +52,10 @@ void init_appHandAnonType_supportedAppProtocolReq(struct appHandAnonType_support
appHandAnonType_supportedAppProtocolReq->AppProtocol.arrayLen = 0u; appHandAnonType_supportedAppProtocolReq->AppProtocol.arrayLen = 0u;
} }
void init_appHandAnonType_supportedAppProtocolRes(struct appHandAnonType_supportedAppProtocolRes* appHandAnonType_supportedAppProtocolRes) {
appHandAnonType_supportedAppProtocolRes->SchemaID_isUsed = 0u;
}

View file

@ -18,7 +18,7 @@
/******************************************************************* /*******************************************************************
* *
* @author Daniel.Peintner.EXT@siemens.com * @author Daniel.Peintner.EXT@siemens.com
* @version 0.9.1 * @version 0.9.2
* @contact Joerg.Heuer@siemens.com * @contact Joerg.Heuer@siemens.com
* *
* <p>Code generated by EXIdizer</p> * <p>Code generated by EXIdizer</p>
@ -50,12 +50,10 @@ extern "C" {
/* Datatype definitions and structs for given XML Schema definitions */ /* Datatype definitions and structs for given XML Schema definitions */
typedef enum { #define UNION_YES 1
responseCodeType_OK_SuccessfulNegotiation = 0, #define UNION_NO 2
responseCodeType_OK_SuccessfulNegotiationWithMinorDeviation = 1, #define SAVE_MEMORY_WITH_UNNAMED_UNION UNION_YES
responseCodeType_Failed_NoNegotiation = 2
} appHandresponseCodeType;
/* Complex type name='urn:iso:15118:2:2010:AppProtocol,AppProtocolType', base type name='anyType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='(ProtocolNamespace,VersionNumberMajor,VersionNumberMinor,SchemaID,Priority)', derivedBy='RESTRICTION'. */ /* Complex type name='urn:iso:15118:2:2010:AppProtocol,AppProtocolType', base type name='anyType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='(ProtocolNamespace,VersionNumberMajor,VersionNumberMinor,SchemaID,Priority)', derivedBy='RESTRICTION'. */
#define appHandAppProtocolType_ProtocolNamespace_CHARACTERS_SIZE 100 /* XML schema facet maxLength for urn:iso:15118:2:2010:AppProtocol,protocolNamespaceType is 100 */ #define appHandAppProtocolType_ProtocolNamespace_CHARACTERS_SIZE 100 /* XML schema facet maxLength for urn:iso:15118:2:2010:AppProtocol,protocolNamespaceType is 100 */
struct appHandAppProtocolType { struct appHandAppProtocolType {
@ -74,15 +72,11 @@ struct appHandAppProtocolType {
uint8_t Priority ; uint8_t Priority ;
}; };
/* Complex type name='urn:iso:15118:2:2010:AppProtocol,#AnonType_supportedAppProtocolReq', base type name='anyType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='(AppProtocol{1-20})', derivedBy='RESTRICTION'. */ typedef enum {
#define appHandAnonType_supportedAppProtocolReq_AppProtocol_ARRAY_SIZE 5 appHandresponseCodeType_OK_SuccessfulNegotiation = 0,
struct appHandAnonType_supportedAppProtocolReq { appHandresponseCodeType_OK_SuccessfulNegotiationWithMinorDeviation = 1,
/* element: AppProtocol, Complex type name='urn:iso:15118:2:2010:AppProtocol,AppProtocolType', base type name='anyType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='(ProtocolNamespace,VersionNumberMajor,VersionNumberMinor,SchemaID,Priority)', derivedBy='RESTRICTION'. */ appHandresponseCodeType_Failed_NoNegotiation = 2
struct { } appHandresponseCodeType;
struct appHandAppProtocolType array[appHandAnonType_supportedAppProtocolReq_AppProtocol_ARRAY_SIZE];
uint16_t arrayLen;
} AppProtocol;
};
/* Complex type name='urn:iso:15118:2:2010:AppProtocol,#AnonType_supportedAppProtocolRes', base type name='anyType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='(ResponseCode,SchemaID{0-1})', derivedBy='RESTRICTION'. */ /* Complex type name='urn:iso:15118:2:2010:AppProtocol,#AnonType_supportedAppProtocolRes', base type name='anyType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='(ResponseCode,SchemaID{0-1})', derivedBy='RESTRICTION'. */
struct appHandAnonType_supportedAppProtocolRes { struct appHandAnonType_supportedAppProtocolRes {
@ -93,21 +87,30 @@ struct appHandAnonType_supportedAppProtocolRes {
unsigned int SchemaID_isUsed:1; unsigned int SchemaID_isUsed:1;
}; };
/* Complex type name='urn:iso:15118:2:2010:AppProtocol,#AnonType_supportedAppProtocolReq', base type name='anyType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='(AppProtocol{1-20})', derivedBy='RESTRICTION'. */
#define appHandAnonType_supportedAppProtocolReq_AppProtocol_ARRAY_SIZE 5
struct appHandAnonType_supportedAppProtocolReq {
/* element: AppProtocol, Complex type name='urn:iso:15118:2:2010:AppProtocol,AppProtocolType', base type name='anyType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='(ProtocolNamespace,VersionNumberMajor,VersionNumberMinor,SchemaID,Priority)', derivedBy='RESTRICTION'. */
struct {
struct appHandAppProtocolType array[appHandAnonType_supportedAppProtocolReq_AppProtocol_ARRAY_SIZE];
uint16_t arrayLen;
} AppProtocol;
};
/* Possible root elements of EXI Document */ /* Possible root elements of EXI Document */
struct appHandEXIDocument { struct appHandEXIDocument {
#define USE_UNION_FOR_GLOBAL_ELEMENTS 1 #if SAVE_MEMORY_WITH_UNNAMED_UNION == UNION_YES
#ifdef USE_UNION_FOR_GLOBAL_ELEMENTS
union { union {
#endif #endif /* SAVE_MEMORY_WITH_UNNAMED_UNION == UNION_YES */
struct appHandAnonType_supportedAppProtocolReq supportedAppProtocolReq ; struct appHandAnonType_supportedAppProtocolReq supportedAppProtocolReq ;
struct appHandAnonType_supportedAppProtocolRes supportedAppProtocolRes ; struct appHandAnonType_supportedAppProtocolRes supportedAppProtocolRes ;
#ifdef USE_UNION_FOR_GLOBAL_ELEMENTS #if SAVE_MEMORY_WITH_UNNAMED_UNION == UNION_YES
}; };
#endif #endif /* SAVE_MEMORY_WITH_UNNAMED_UNION == UNION_YES */
unsigned int supportedAppProtocolReq_isUsed:1; unsigned int supportedAppProtocolReq_isUsed:1;
unsigned int supportedAppProtocolRes_isUsed:1; unsigned int supportedAppProtocolRes_isUsed:1;
@ -118,9 +121,9 @@ struct appHandEXIDocument {
/* Initialization methods for structs */ /* Initialization methods for structs */
void init_appHandEXIDocument(struct appHandEXIDocument* exiDoc); void init_appHandEXIDocument(struct appHandEXIDocument* exiDoc);
void init_appHandAnonType_supportedAppProtocolRes(struct appHandAnonType_supportedAppProtocolRes* appHandAnonType_supportedAppProtocolRes);
void init_appHandAppProtocolType(struct appHandAppProtocolType* appHandAppProtocolType); void init_appHandAppProtocolType(struct appHandAppProtocolType* appHandAppProtocolType);
void init_appHandAnonType_supportedAppProtocolReq(struct appHandAnonType_supportedAppProtocolReq* appHandAnonType_supportedAppProtocolReq); void init_appHandAnonType_supportedAppProtocolReq(struct appHandAnonType_supportedAppProtocolReq* appHandAnonType_supportedAppProtocolReq);
void init_appHandAnonType_supportedAppProtocolRes(struct appHandAnonType_supportedAppProtocolRes* appHandAnonType_supportedAppProtocolRes);
#ifdef __cplusplus #ifdef __cplusplus

View file

@ -18,7 +18,7 @@
/******************************************************************* /*******************************************************************
* *
* @author Daniel.Peintner.EXT@siemens.com * @author Daniel.Peintner.EXT@siemens.com
* @version 0.9.1 * @version 0.9.2
* @contact Joerg.Heuer@siemens.com * @contact Joerg.Heuer@siemens.com
* *
* <p>Code generated by EXIdizer</p> * <p>Code generated by EXIdizer</p>
@ -48,129 +48,23 @@ static uint32_t uint32;
/* Forward Declarations */ /* Forward Declarations */
static int decode_appHandAnonType_supportedAppProtocolRes(bitstream_t* stream, struct appHandAnonType_supportedAppProtocolRes* appHandAnonType_supportedAppProtocolRes);
static int decode_appHandAppProtocolType(bitstream_t* stream, struct appHandAppProtocolType* appHandAppProtocolType); static int decode_appHandAppProtocolType(bitstream_t* stream, struct appHandAppProtocolType* appHandAppProtocolType);
static int decode_appHandAnonType_supportedAppProtocolReq(bitstream_t* stream, struct appHandAnonType_supportedAppProtocolReq* appHandAnonType_supportedAppProtocolReq); static int decode_appHandAnonType_supportedAppProtocolReq(bitstream_t* stream, struct appHandAnonType_supportedAppProtocolReq* appHandAnonType_supportedAppProtocolReq);
static int decode_appHandAnonType_supportedAppProtocolRes(bitstream_t* stream, struct appHandAnonType_supportedAppProtocolRes* appHandAnonType_supportedAppProtocolRes);
/* Deviant data decoding (skip functions) */ /* Deviant data decoding (skip functions) */
/* Complex type name='urn:iso:15118:2:2010:AppProtocol,#AnonType_supportedAppProtocolRes', base type name='anyType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='(ResponseCode,SchemaID{0-1})', derivedBy='RESTRICTION'. */ /* Complex type name='urn:iso:15118:2:2010:AppProtocol,AppProtocolType', base type name='anyType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='(ProtocolNamespace,VersionNumberMajor,VersionNumberMinor,SchemaID,Priority)', derivedBy='RESTRICTION'. */
static int decode_appHandAnonType_supportedAppProtocolRes(bitstream_t* stream, struct appHandAnonType_supportedAppProtocolRes* appHandAnonType_supportedAppProtocolRes) {
int grammarID = 0;
int done = 0;
init_appHandAnonType_supportedAppProtocolRes(appHandAnonType_supportedAppProtocolRes);
while(!done) {
switch(grammarID) {
case 0:
/* FirstStartTag[START_ELEMENT(ResponseCode)] */
errn = decodeNBitUnsignedInteger(stream, 1, &eventCode);
if (errn == 0) {
switch(eventCode) {
case 0:
/* FirstStartTag[CHARACTERS[ENUMERATION]] */
errn = decodeNBitUnsignedInteger(stream, 1, &eventCode);
if(errn == 0) {
if(eventCode == 0) {
errn = decodeNBitUnsignedInteger(stream, 2, &uint32);
appHandAnonType_supportedAppProtocolRes->ResponseCode = (appHandresponseCodeType) uint32;
} else {
/* Second level event (e.g., xsi:type, xsi:nil, ...) */
errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS;
}
}
if(errn == 0) {
/* valid EE for simple element START_ELEMENT(ResponseCode) ? */
errn = decodeNBitUnsignedInteger(stream, 1, &eventCode);
if(eventCode == 0) {
grammarID = 1;
} else {
errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */
}
}
break;
default:
errn = EXI_ERROR_UNKOWN_EVENT_CODE;
break;
}
}
break;
case 1:
/* Element[START_ELEMENT(SchemaID), END_ELEMENT] */
errn = decodeNBitUnsignedInteger(stream, 2, &eventCode);
if (errn == 0) {
switch(eventCode) {
case 0:
/* FirstStartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */
errn = decodeNBitUnsignedInteger(stream, 1, &eventCode);
if(errn == 0) {
if(eventCode == 0) {
errn = decodeNBitUnsignedInteger(stream, 8, &(uint32));
appHandAnonType_supportedAppProtocolRes->SchemaID = (uint8_t)(uint32 + 0);
appHandAnonType_supportedAppProtocolRes->SchemaID_isUsed = 1u;
} else {
/* Second level event (e.g., xsi:type, xsi:nil, ...) */
errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS;
}
}
if(errn == 0) {
/* valid EE for simple element START_ELEMENT(SchemaID) ? */
errn = decodeNBitUnsignedInteger(stream, 1, &eventCode);
if(eventCode == 0) {
grammarID = 2;
} else {
errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */
}
}
break;
case 1:
done = 1;
grammarID = 3;
break;
default:
errn = EXI_ERROR_UNKOWN_EVENT_CODE;
break;
}
}
break;
case 2:
/* Element[END_ELEMENT] */
errn = decodeNBitUnsignedInteger(stream, 1, &eventCode);
if (errn == 0) {
switch(eventCode) {
case 0:
done = 1;
grammarID = 3;
break;
default:
errn = EXI_ERROR_UNKOWN_EVENT_CODE;
break;
}
}
break;
default:
errn = EXI_ERROR_UNKOWN_GRAMMAR_ID;
break;
}
if(errn) {
done = 1;
}
}
return errn;
}
/* Complex type name='urn:iso:15118:2:2010:AppProtocol,AppProtocolType', base type name='anyType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='(ProtocolNamespace,VersionNumberMajor,VersionNumberMinor,SchemaID,Priority)', derivedBy='RESTRICTION'. */
static int decode_appHandAppProtocolType(bitstream_t* stream, struct appHandAppProtocolType* appHandAppProtocolType) { static int decode_appHandAppProtocolType(bitstream_t* stream, struct appHandAppProtocolType* appHandAppProtocolType) {
int grammarID = 4; int grammarID = 0;
int done = 0; int done = 0;
init_appHandAppProtocolType(appHandAppProtocolType); init_appHandAppProtocolType(appHandAppProtocolType);
while(!done) { while(!done) {
switch(grammarID) { switch(grammarID) {
case 4: case 0:
/* FirstStartTag[START_ELEMENT(ProtocolNamespace)] */ /* FirstStartTag[START_ELEMENT(ProtocolNamespace)] */
errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); errn = decodeNBitUnsignedInteger(stream, 1, &eventCode);
if (errn == 0) { if (errn == 0) {
@ -202,7 +96,7 @@ static int decode_appHandAppProtocolType(bitstream_t* stream, struct appHandAppP
/* valid EE for simple element START_ELEMENT(ProtocolNamespace) ? */ /* valid EE for simple element START_ELEMENT(ProtocolNamespace) ? */
errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); errn = decodeNBitUnsignedInteger(stream, 1, &eventCode);
if(eventCode == 0) { if(eventCode == 0) {
grammarID = 5; grammarID = 1;
} else { } else {
errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */
} }
@ -214,7 +108,7 @@ static int decode_appHandAppProtocolType(bitstream_t* stream, struct appHandAppP
} }
} }
break; break;
case 5: case 1:
/* Element[START_ELEMENT(VersionNumberMajor)] */ /* Element[START_ELEMENT(VersionNumberMajor)] */
errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); errn = decodeNBitUnsignedInteger(stream, 1, &eventCode);
if (errn == 0) { if (errn == 0) {
@ -234,7 +128,7 @@ static int decode_appHandAppProtocolType(bitstream_t* stream, struct appHandAppP
/* valid EE for simple element START_ELEMENT(VersionNumberMajor) ? */ /* valid EE for simple element START_ELEMENT(VersionNumberMajor) ? */
errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); errn = decodeNBitUnsignedInteger(stream, 1, &eventCode);
if(eventCode == 0) { if(eventCode == 0) {
grammarID = 6; grammarID = 2;
} else { } else {
errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */
} }
@ -246,7 +140,7 @@ static int decode_appHandAppProtocolType(bitstream_t* stream, struct appHandAppP
} }
} }
break; break;
case 6: case 2:
/* Element[START_ELEMENT(VersionNumberMinor)] */ /* Element[START_ELEMENT(VersionNumberMinor)] */
errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); errn = decodeNBitUnsignedInteger(stream, 1, &eventCode);
if (errn == 0) { if (errn == 0) {
@ -266,7 +160,7 @@ static int decode_appHandAppProtocolType(bitstream_t* stream, struct appHandAppP
/* valid EE for simple element START_ELEMENT(VersionNumberMinor) ? */ /* valid EE for simple element START_ELEMENT(VersionNumberMinor) ? */
errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); errn = decodeNBitUnsignedInteger(stream, 1, &eventCode);
if(eventCode == 0) { if(eventCode == 0) {
grammarID = 7; grammarID = 3;
} else { } else {
errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */
} }
@ -278,7 +172,7 @@ static int decode_appHandAppProtocolType(bitstream_t* stream, struct appHandAppP
} }
} }
break; break;
case 7: case 3:
/* Element[START_ELEMENT(SchemaID)] */ /* Element[START_ELEMENT(SchemaID)] */
errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); errn = decodeNBitUnsignedInteger(stream, 1, &eventCode);
if (errn == 0) { if (errn == 0) {
@ -299,7 +193,7 @@ static int decode_appHandAppProtocolType(bitstream_t* stream, struct appHandAppP
/* valid EE for simple element START_ELEMENT(SchemaID) ? */ /* valid EE for simple element START_ELEMENT(SchemaID) ? */
errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); errn = decodeNBitUnsignedInteger(stream, 1, &eventCode);
if(eventCode == 0) { if(eventCode == 0) {
grammarID = 8; grammarID = 4;
} else { } else {
errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */
} }
@ -311,7 +205,7 @@ static int decode_appHandAppProtocolType(bitstream_t* stream, struct appHandAppP
} }
} }
break; break;
case 8: case 4:
/* Element[START_ELEMENT(Priority)] */ /* Element[START_ELEMENT(Priority)] */
errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); errn = decodeNBitUnsignedInteger(stream, 1, &eventCode);
if (errn == 0) { if (errn == 0) {
@ -332,7 +226,7 @@ static int decode_appHandAppProtocolType(bitstream_t* stream, struct appHandAppP
/* valid EE for simple element START_ELEMENT(Priority) ? */ /* valid EE for simple element START_ELEMENT(Priority) ? */
errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); errn = decodeNBitUnsignedInteger(stream, 1, &eventCode);
if(eventCode == 0) { if(eventCode == 0) {
grammarID = 2; grammarID = 5;
} else { } else {
errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */ errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */
} }
@ -344,14 +238,14 @@ static int decode_appHandAppProtocolType(bitstream_t* stream, struct appHandAppP
} }
} }
break; break;
case 2: case 5:
/* Element[END_ELEMENT] */ /* Element[END_ELEMENT] */
errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); errn = decodeNBitUnsignedInteger(stream, 1, &eventCode);
if (errn == 0) { if (errn == 0) {
switch(eventCode) { switch(eventCode) {
case 0: case 0:
done = 1; done = 1;
grammarID = 3; grammarID = 6;
break; break;
default: default:
errn = EXI_ERROR_UNKOWN_EVENT_CODE; errn = EXI_ERROR_UNKOWN_EVENT_CODE;
@ -372,16 +266,58 @@ static int decode_appHandAppProtocolType(bitstream_t* stream, struct appHandAppP
/* Complex type name='urn:iso:15118:2:2010:AppProtocol,#AnonType_supportedAppProtocolReq', base type name='anyType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='(AppProtocol{1-20})', derivedBy='RESTRICTION'. */ /* Complex type name='urn:iso:15118:2:2010:AppProtocol,#AnonType_supportedAppProtocolReq', base type name='anyType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='(AppProtocol{1-20})', derivedBy='RESTRICTION'. */
static int decode_appHandAnonType_supportedAppProtocolReq(bitstream_t* stream, struct appHandAnonType_supportedAppProtocolReq* appHandAnonType_supportedAppProtocolReq) { static int decode_appHandAnonType_supportedAppProtocolReq(bitstream_t* stream, struct appHandAnonType_supportedAppProtocolReq* appHandAnonType_supportedAppProtocolReq) {
int grammarID = 9; int grammarID = 7;
int done = 0; int done = 0;
init_appHandAnonType_supportedAppProtocolReq(appHandAnonType_supportedAppProtocolReq); init_appHandAnonType_supportedAppProtocolReq(appHandAnonType_supportedAppProtocolReq);
while(!done) { while(!done) {
switch(grammarID) { switch(grammarID) {
case 9: case 7:
/* FirstStartTag[START_ELEMENT(AppProtocol)] */ /* FirstStartTag[START_ELEMENT(AppProtocol)] */
errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); errn = decodeNBitUnsignedInteger(stream, 1, &eventCode);
if (errn == 0) {
switch(eventCode) {
case 0:
if (appHandAnonType_supportedAppProtocolReq->AppProtocol.arrayLen < appHandAnonType_supportedAppProtocolReq_AppProtocol_ARRAY_SIZE) {
errn = decode_appHandAppProtocolType(stream, &appHandAnonType_supportedAppProtocolReq->AppProtocol.array[appHandAnonType_supportedAppProtocolReq->AppProtocol.arrayLen++]);
} else {
errn = EXI_ERROR_OUT_OF_BOUNDS;
}
grammarID = 8;
break;
default:
errn = EXI_ERROR_UNKOWN_EVENT_CODE;
break;
}
}
break;
case 8:
/* Element[START_ELEMENT(AppProtocol), END_ELEMENT] */
errn = decodeNBitUnsignedInteger(stream, 2, &eventCode);
if (errn == 0) {
switch(eventCode) {
case 0:
if (appHandAnonType_supportedAppProtocolReq->AppProtocol.arrayLen < appHandAnonType_supportedAppProtocolReq_AppProtocol_ARRAY_SIZE) {
errn = decode_appHandAppProtocolType(stream, &appHandAnonType_supportedAppProtocolReq->AppProtocol.array[appHandAnonType_supportedAppProtocolReq->AppProtocol.arrayLen++]);
} else {
errn = EXI_ERROR_OUT_OF_BOUNDS;
}
grammarID = 9;
break;
case 1:
done = 1;
grammarID = 6;
break;
default:
errn = EXI_ERROR_UNKOWN_EVENT_CODE;
break;
}
}
break;
case 9:
/* Element[START_ELEMENT(AppProtocol), END_ELEMENT] */
errn = decodeNBitUnsignedInteger(stream, 2, &eventCode);
if (errn == 0) { if (errn == 0) {
switch(eventCode) { switch(eventCode) {
case 0: case 0:
@ -392,6 +328,10 @@ static int decode_appHandAnonType_supportedAppProtocolReq(bitstream_t* stream, s
} }
grammarID = 10; grammarID = 10;
break; break;
case 1:
done = 1;
grammarID = 6;
break;
default: default:
errn = EXI_ERROR_UNKOWN_EVENT_CODE; errn = EXI_ERROR_UNKOWN_EVENT_CODE;
break; break;
@ -413,7 +353,7 @@ static int decode_appHandAnonType_supportedAppProtocolReq(bitstream_t* stream, s
break; break;
case 1: case 1:
done = 1; done = 1;
grammarID = 3; grammarID = 6;
break; break;
default: default:
errn = EXI_ERROR_UNKOWN_EVENT_CODE; errn = EXI_ERROR_UNKOWN_EVENT_CODE;
@ -436,7 +376,7 @@ static int decode_appHandAnonType_supportedAppProtocolReq(bitstream_t* stream, s
break; break;
case 1: case 1:
done = 1; done = 1;
grammarID = 3; grammarID = 6;
break; break;
default: default:
errn = EXI_ERROR_UNKOWN_EVENT_CODE; errn = EXI_ERROR_UNKOWN_EVENT_CODE;
@ -459,7 +399,7 @@ static int decode_appHandAnonType_supportedAppProtocolReq(bitstream_t* stream, s
break; break;
case 1: case 1:
done = 1; done = 1;
grammarID = 3; grammarID = 6;
break; break;
default: default:
errn = EXI_ERROR_UNKOWN_EVENT_CODE; errn = EXI_ERROR_UNKOWN_EVENT_CODE;
@ -482,7 +422,7 @@ static int decode_appHandAnonType_supportedAppProtocolReq(bitstream_t* stream, s
break; break;
case 1: case 1:
done = 1; done = 1;
grammarID = 3; grammarID = 6;
break; break;
default: default:
errn = EXI_ERROR_UNKOWN_EVENT_CODE; errn = EXI_ERROR_UNKOWN_EVENT_CODE;
@ -505,7 +445,7 @@ static int decode_appHandAnonType_supportedAppProtocolReq(bitstream_t* stream, s
break; break;
case 1: case 1:
done = 1; done = 1;
grammarID = 3; grammarID = 6;
break; break;
default: default:
errn = EXI_ERROR_UNKOWN_EVENT_CODE; errn = EXI_ERROR_UNKOWN_EVENT_CODE;
@ -528,7 +468,7 @@ static int decode_appHandAnonType_supportedAppProtocolReq(bitstream_t* stream, s
break; break;
case 1: case 1:
done = 1; done = 1;
grammarID = 3; grammarID = 6;
break; break;
default: default:
errn = EXI_ERROR_UNKOWN_EVENT_CODE; errn = EXI_ERROR_UNKOWN_EVENT_CODE;
@ -551,7 +491,7 @@ static int decode_appHandAnonType_supportedAppProtocolReq(bitstream_t* stream, s
break; break;
case 1: case 1:
done = 1; done = 1;
grammarID = 3; grammarID = 6;
break; break;
default: default:
errn = EXI_ERROR_UNKOWN_EVENT_CODE; errn = EXI_ERROR_UNKOWN_EVENT_CODE;
@ -574,7 +514,7 @@ static int decode_appHandAnonType_supportedAppProtocolReq(bitstream_t* stream, s
break; break;
case 1: case 1:
done = 1; done = 1;
grammarID = 3; grammarID = 6;
break; break;
default: default:
errn = EXI_ERROR_UNKOWN_EVENT_CODE; errn = EXI_ERROR_UNKOWN_EVENT_CODE;
@ -597,7 +537,7 @@ static int decode_appHandAnonType_supportedAppProtocolReq(bitstream_t* stream, s
break; break;
case 1: case 1:
done = 1; done = 1;
grammarID = 3; grammarID = 6;
break; break;
default: default:
errn = EXI_ERROR_UNKOWN_EVENT_CODE; errn = EXI_ERROR_UNKOWN_EVENT_CODE;
@ -620,7 +560,7 @@ static int decode_appHandAnonType_supportedAppProtocolReq(bitstream_t* stream, s
break; break;
case 1: case 1:
done = 1; done = 1;
grammarID = 3; grammarID = 6;
break; break;
default: default:
errn = EXI_ERROR_UNKOWN_EVENT_CODE; errn = EXI_ERROR_UNKOWN_EVENT_CODE;
@ -643,7 +583,7 @@ static int decode_appHandAnonType_supportedAppProtocolReq(bitstream_t* stream, s
break; break;
case 1: case 1:
done = 1; done = 1;
grammarID = 3; grammarID = 6;
break; break;
default: default:
errn = EXI_ERROR_UNKOWN_EVENT_CODE; errn = EXI_ERROR_UNKOWN_EVENT_CODE;
@ -666,7 +606,7 @@ static int decode_appHandAnonType_supportedAppProtocolReq(bitstream_t* stream, s
break; break;
case 1: case 1:
done = 1; done = 1;
grammarID = 3; grammarID = 6;
break; break;
default: default:
errn = EXI_ERROR_UNKOWN_EVENT_CODE; errn = EXI_ERROR_UNKOWN_EVENT_CODE;
@ -689,7 +629,7 @@ static int decode_appHandAnonType_supportedAppProtocolReq(bitstream_t* stream, s
break; break;
case 1: case 1:
done = 1; done = 1;
grammarID = 3; grammarID = 6;
break; break;
default: default:
errn = EXI_ERROR_UNKOWN_EVENT_CODE; errn = EXI_ERROR_UNKOWN_EVENT_CODE;
@ -712,7 +652,7 @@ static int decode_appHandAnonType_supportedAppProtocolReq(bitstream_t* stream, s
break; break;
case 1: case 1:
done = 1; done = 1;
grammarID = 3; grammarID = 6;
break; break;
default: default:
errn = EXI_ERROR_UNKOWN_EVENT_CODE; errn = EXI_ERROR_UNKOWN_EVENT_CODE;
@ -735,7 +675,7 @@ static int decode_appHandAnonType_supportedAppProtocolReq(bitstream_t* stream, s
break; break;
case 1: case 1:
done = 1; done = 1;
grammarID = 3; grammarID = 6;
break; break;
default: default:
errn = EXI_ERROR_UNKOWN_EVENT_CODE; errn = EXI_ERROR_UNKOWN_EVENT_CODE;
@ -758,7 +698,7 @@ static int decode_appHandAnonType_supportedAppProtocolReq(bitstream_t* stream, s
break; break;
case 1: case 1:
done = 1; done = 1;
grammarID = 3; grammarID = 6;
break; break;
default: default:
errn = EXI_ERROR_UNKOWN_EVENT_CODE; errn = EXI_ERROR_UNKOWN_EVENT_CODE;
@ -777,11 +717,11 @@ static int decode_appHandAnonType_supportedAppProtocolReq(bitstream_t* stream, s
} else { } else {
errn = EXI_ERROR_OUT_OF_BOUNDS; errn = EXI_ERROR_OUT_OF_BOUNDS;
} }
grammarID = 27; grammarID = 5;
break; break;
case 1: case 1:
done = 1; done = 1;
grammarID = 3; grammarID = 6;
break; break;
default: default:
errn = EXI_ERROR_UNKOWN_EVENT_CODE; errn = EXI_ERROR_UNKOWN_EVENT_CODE;
@ -789,22 +729,67 @@ static int decode_appHandAnonType_supportedAppProtocolReq(bitstream_t* stream, s
} }
} }
break; break;
case 27: case 5:
/* Element[START_ELEMENT(AppProtocol), END_ELEMENT] */ /* Element[END_ELEMENT] */
errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); errn = decodeNBitUnsignedInteger(stream, 1, &eventCode);
if (errn == 0) { if (errn == 0) {
switch(eventCode) { switch(eventCode) {
case 0: case 0:
if (appHandAnonType_supportedAppProtocolReq->AppProtocol.arrayLen < appHandAnonType_supportedAppProtocolReq_AppProtocol_ARRAY_SIZE) {
errn = decode_appHandAppProtocolType(stream, &appHandAnonType_supportedAppProtocolReq->AppProtocol.array[appHandAnonType_supportedAppProtocolReq->AppProtocol.arrayLen++]);
} else {
errn = EXI_ERROR_OUT_OF_BOUNDS;
}
grammarID = 28;
break;
case 1:
done = 1; done = 1;
grammarID = 3; grammarID = 6;
break;
default:
errn = EXI_ERROR_UNKOWN_EVENT_CODE;
break;
}
}
break;
default:
errn = EXI_ERROR_UNKOWN_GRAMMAR_ID;
break;
}
if(errn) {
done = 1;
}
}
return errn;
}
/* Complex type name='urn:iso:15118:2:2010:AppProtocol,#AnonType_supportedAppProtocolRes', base type name='anyType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='(ResponseCode,SchemaID{0-1})', derivedBy='RESTRICTION'. */
static int decode_appHandAnonType_supportedAppProtocolRes(bitstream_t* stream, struct appHandAnonType_supportedAppProtocolRes* appHandAnonType_supportedAppProtocolRes) {
int grammarID = 27;
int done = 0;
init_appHandAnonType_supportedAppProtocolRes(appHandAnonType_supportedAppProtocolRes);
while(!done) {
switch(grammarID) {
case 27:
/* FirstStartTag[START_ELEMENT(ResponseCode)] */
errn = decodeNBitUnsignedInteger(stream, 1, &eventCode);
if (errn == 0) {
switch(eventCode) {
case 0:
/* FirstStartTag[CHARACTERS[ENUMERATION]] */
errn = decodeNBitUnsignedInteger(stream, 1, &eventCode);
if(errn == 0) {
if(eventCode == 0) {
errn = decodeNBitUnsignedInteger(stream, 2, &uint32);
appHandAnonType_supportedAppProtocolRes->ResponseCode = (appHandresponseCodeType) uint32;
} else {
/* Second level event (e.g., xsi:type, xsi:nil, ...) */
errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS;
}
}
if(errn == 0) {
/* valid EE for simple element START_ELEMENT(ResponseCode) ? */
errn = decodeNBitUnsignedInteger(stream, 1, &eventCode);
if(eventCode == 0) {
grammarID = 28;
} else {
errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */
}
}
break; break;
default: default:
errn = EXI_ERROR_UNKOWN_EVENT_CODE; errn = EXI_ERROR_UNKOWN_EVENT_CODE;
@ -813,21 +798,36 @@ static int decode_appHandAnonType_supportedAppProtocolReq(bitstream_t* stream, s
} }
break; break;
case 28: case 28:
/* Element[START_ELEMENT(AppProtocol), END_ELEMENT] */ /* Element[START_ELEMENT(SchemaID), END_ELEMENT] */
errn = decodeNBitUnsignedInteger(stream, 2, &eventCode); errn = decodeNBitUnsignedInteger(stream, 2, &eventCode);
if (errn == 0) { if (errn == 0) {
switch(eventCode) { switch(eventCode) {
case 0: case 0:
if (appHandAnonType_supportedAppProtocolReq->AppProtocol.arrayLen < appHandAnonType_supportedAppProtocolReq_AppProtocol_ARRAY_SIZE) { /* FirstStartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */
errn = decode_appHandAppProtocolType(stream, &appHandAnonType_supportedAppProtocolReq->AppProtocol.array[appHandAnonType_supportedAppProtocolReq->AppProtocol.arrayLen++]); errn = decodeNBitUnsignedInteger(stream, 1, &eventCode);
} else { if(errn == 0) {
errn = EXI_ERROR_OUT_OF_BOUNDS; if(eventCode == 0) {
errn = decodeNBitUnsignedInteger(stream, 8, &(uint32));
appHandAnonType_supportedAppProtocolRes->SchemaID = (uint8_t)(uint32 + 0);
appHandAnonType_supportedAppProtocolRes->SchemaID_isUsed = 1u;
} else {
/* Second level event (e.g., xsi:type, xsi:nil, ...) */
errn = EXI_UNSUPPORTED_EVENT_CODE_CHARACTERISTICS;
}
}
if(errn == 0) {
/* valid EE for simple element START_ELEMENT(SchemaID) ? */
errn = decodeNBitUnsignedInteger(stream, 1, &eventCode);
if(eventCode == 0) {
grammarID = 5;
} else {
errn = EXI_DEVIANT_SUPPORT_NOT_DEPLOYED; /* or also typecast and nillable */
}
} }
grammarID = 2;
break; break;
case 1: case 1:
done = 1; done = 1;
grammarID = 3; grammarID = 6;
break; break;
default: default:
errn = EXI_ERROR_UNKOWN_EVENT_CODE; errn = EXI_ERROR_UNKOWN_EVENT_CODE;
@ -835,14 +835,14 @@ static int decode_appHandAnonType_supportedAppProtocolReq(bitstream_t* stream, s
} }
} }
break; break;
case 2: case 5:
/* Element[END_ELEMENT] */ /* Element[END_ELEMENT] */
errn = decodeNBitUnsignedInteger(stream, 1, &eventCode); errn = decodeNBitUnsignedInteger(stream, 1, &eventCode);
if (errn == 0) { if (errn == 0) {
switch(eventCode) { switch(eventCode) {
case 0: case 0:
done = 1; done = 1;
grammarID = 3; grammarID = 6;
break; break;
default: default:
errn = EXI_ERROR_UNKOWN_EVENT_CODE; errn = EXI_ERROR_UNKOWN_EVENT_CODE;

View file

@ -18,7 +18,7 @@
/******************************************************************* /*******************************************************************
* *
* @author Daniel.Peintner.EXT@siemens.com * @author Daniel.Peintner.EXT@siemens.com
* @version 0.9.1 * @version 0.9.2
* @contact Joerg.Heuer@siemens.com * @contact Joerg.Heuer@siemens.com
* *
* <p>Code generated by EXIdizer</p> * <p>Code generated by EXIdizer</p>

View file

@ -18,7 +18,7 @@
/******************************************************************* /*******************************************************************
* *
* @author Daniel.Peintner.EXT@siemens.com * @author Daniel.Peintner.EXT@siemens.com
* @version 0.9.1 * @version 0.9.2
* @contact Joerg.Heuer@siemens.com * @contact Joerg.Heuer@siemens.com
* *
* <p>Code generated by EXIdizer</p> * <p>Code generated by EXIdizer</p>
@ -44,13 +44,13 @@
static int errn; static int errn;
/* Forward Declarations */ /* Forward Declarations */
static int encode_appHandAnonType_supportedAppProtocolRes(bitstream_t* stream, struct appHandAnonType_supportedAppProtocolRes* appHandAnonType_supportedAppProtocolRes);
static int encode_appHandAppProtocolType(bitstream_t* stream, struct appHandAppProtocolType* appHandAppProtocolType); static int encode_appHandAppProtocolType(bitstream_t* stream, struct appHandAppProtocolType* appHandAppProtocolType);
static int encode_appHandAnonType_supportedAppProtocolReq(bitstream_t* stream, struct appHandAnonType_supportedAppProtocolReq* appHandAnonType_supportedAppProtocolReq); static int encode_appHandAnonType_supportedAppProtocolReq(bitstream_t* stream, struct appHandAnonType_supportedAppProtocolReq* appHandAnonType_supportedAppProtocolReq);
static int encode_appHandAnonType_supportedAppProtocolRes(bitstream_t* stream, struct appHandAnonType_supportedAppProtocolRes* appHandAnonType_supportedAppProtocolRes);
/* Complex type name='urn:iso:15118:2:2010:AppProtocol,#AnonType_supportedAppProtocolRes', base type name='anyType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='(ResponseCode,SchemaID{0-1})', derivedBy='RESTRICTION'. */ /* Complex type name='urn:iso:15118:2:2010:AppProtocol,AppProtocolType', base type name='anyType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='(ProtocolNamespace,VersionNumberMajor,VersionNumberMinor,SchemaID,Priority)', derivedBy='RESTRICTION'. */
static int encode_appHandAnonType_supportedAppProtocolRes(bitstream_t* stream, struct appHandAnonType_supportedAppProtocolRes* appHandAnonType_supportedAppProtocolRes) { static int encode_appHandAppProtocolType(bitstream_t* stream, struct appHandAppProtocolType* appHandAppProtocolType) {
int grammarID = 0; int grammarID = 0;
int done = 0; int done = 0;
@ -58,79 +58,6 @@ static int encode_appHandAnonType_supportedAppProtocolRes(bitstream_t* stream, s
while(!done) { while(!done) {
switch(grammarID) { switch(grammarID) {
case 0: case 0:
/* FirstStartTag[START_ELEMENT(ResponseCode)] */
if ( 1 == 1 ) {
errn = encodeNBitUnsignedInteger(stream, 1, 0);
if(errn == 0) {
/* FirstStartTag[CHARACTERS[ENUMERATION]] */
errn = encodeNBitUnsignedInteger(stream, 1, 0);
if(errn == 0) {
errn = encodeNBitUnsignedInteger(stream, 2, appHandAnonType_supportedAppProtocolRes->ResponseCode);
/* valid EE */
errn = encodeNBitUnsignedInteger(stream, 1, 0);
}
}
grammarID = 1;
} else {
errn = EXI_ERROR_UNKOWN_EVENT;
}
break;
case 1:
/* Element[START_ELEMENT(SchemaID), END_ELEMENT] */
if ( appHandAnonType_supportedAppProtocolRes->SchemaID_isUsed == 1u ) {
errn = encodeNBitUnsignedInteger(stream, 2, 0);
if(errn == 0) {
/* FirstStartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */
errn = encodeNBitUnsignedInteger(stream, 1, 0);
if(errn == 0) {
errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(appHandAnonType_supportedAppProtocolRes->SchemaID - 0));
/* valid EE */
errn = encodeNBitUnsignedInteger(stream, 1, 0);
}
}
grammarID = 2;
} else if (1==1) {
errn = encodeNBitUnsignedInteger(stream, 2, 1);
if(errn == 0) {
done = 1;
}
grammarID = 3;
} else {
errn = EXI_ERROR_UNKOWN_EVENT;
}
break;
case 2:
/* Element[END_ELEMENT] */
if (1==1) {
errn = encodeNBitUnsignedInteger(stream, 1, 0);
if(errn == 0) {
done = 1;
}
grammarID = 3;
} else {
errn = EXI_ERROR_UNKOWN_EVENT;
}
break;
default:
errn = EXI_ERROR_UNKOWN_GRAMMAR_ID;
break;
}
if(errn) {
done = 1;
}
}
return errn;
}
/* Complex type name='urn:iso:15118:2:2010:AppProtocol,AppProtocolType', base type name='anyType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='(ProtocolNamespace,VersionNumberMajor,VersionNumberMinor,SchemaID,Priority)', derivedBy='RESTRICTION'. */
static int encode_appHandAppProtocolType(bitstream_t* stream, struct appHandAppProtocolType* appHandAppProtocolType) {
int grammarID = 4;
int done = 0;
while(!done) {
switch(grammarID) {
case 4:
/* FirstStartTag[START_ELEMENT(ProtocolNamespace)] */ /* FirstStartTag[START_ELEMENT(ProtocolNamespace)] */
if ( 1 == 1 ) { if ( 1 == 1 ) {
errn = encodeNBitUnsignedInteger(stream, 1, 0); errn = encodeNBitUnsignedInteger(stream, 1, 0);
@ -147,12 +74,12 @@ static int encode_appHandAppProtocolType(bitstream_t* stream, struct appHandAppP
errn = encodeNBitUnsignedInteger(stream, 1, 0); errn = encodeNBitUnsignedInteger(stream, 1, 0);
} }
} }
grammarID = 5; grammarID = 1;
} else { } else {
errn = EXI_ERROR_UNKOWN_EVENT; errn = EXI_ERROR_UNKOWN_EVENT;
} }
break; break;
case 5: case 1:
/* Element[START_ELEMENT(VersionNumberMajor)] */ /* Element[START_ELEMENT(VersionNumberMajor)] */
if ( 1 == 1 ) { if ( 1 == 1 ) {
errn = encodeNBitUnsignedInteger(stream, 1, 0); errn = encodeNBitUnsignedInteger(stream, 1, 0);
@ -165,12 +92,12 @@ static int encode_appHandAppProtocolType(bitstream_t* stream, struct appHandAppP
errn = encodeNBitUnsignedInteger(stream, 1, 0); errn = encodeNBitUnsignedInteger(stream, 1, 0);
} }
} }
grammarID = 6; grammarID = 2;
} else { } else {
errn = EXI_ERROR_UNKOWN_EVENT; errn = EXI_ERROR_UNKOWN_EVENT;
} }
break; break;
case 6: case 2:
/* Element[START_ELEMENT(VersionNumberMinor)] */ /* Element[START_ELEMENT(VersionNumberMinor)] */
if ( 1 == 1 ) { if ( 1 == 1 ) {
errn = encodeNBitUnsignedInteger(stream, 1, 0); errn = encodeNBitUnsignedInteger(stream, 1, 0);
@ -183,12 +110,12 @@ static int encode_appHandAppProtocolType(bitstream_t* stream, struct appHandAppP
errn = encodeNBitUnsignedInteger(stream, 1, 0); errn = encodeNBitUnsignedInteger(stream, 1, 0);
} }
} }
grammarID = 7; grammarID = 3;
} else { } else {
errn = EXI_ERROR_UNKOWN_EVENT; errn = EXI_ERROR_UNKOWN_EVENT;
} }
break; break;
case 7: case 3:
/* Element[START_ELEMENT(SchemaID)] */ /* Element[START_ELEMENT(SchemaID)] */
if ( 1 == 1 ) { if ( 1 == 1 ) {
errn = encodeNBitUnsignedInteger(stream, 1, 0); errn = encodeNBitUnsignedInteger(stream, 1, 0);
@ -201,12 +128,12 @@ static int encode_appHandAppProtocolType(bitstream_t* stream, struct appHandAppP
errn = encodeNBitUnsignedInteger(stream, 1, 0); errn = encodeNBitUnsignedInteger(stream, 1, 0);
} }
} }
grammarID = 8; grammarID = 4;
} else { } else {
errn = EXI_ERROR_UNKOWN_EVENT; errn = EXI_ERROR_UNKOWN_EVENT;
} }
break; break;
case 8: case 4:
/* Element[START_ELEMENT(Priority)] */ /* Element[START_ELEMENT(Priority)] */
if ( 1 == 1 ) { if ( 1 == 1 ) {
errn = encodeNBitUnsignedInteger(stream, 1, 0); errn = encodeNBitUnsignedInteger(stream, 1, 0);
@ -219,19 +146,19 @@ static int encode_appHandAppProtocolType(bitstream_t* stream, struct appHandAppP
errn = encodeNBitUnsignedInteger(stream, 1, 0); errn = encodeNBitUnsignedInteger(stream, 1, 0);
} }
} }
grammarID = 2; grammarID = 5;
} else { } else {
errn = EXI_ERROR_UNKOWN_EVENT; errn = EXI_ERROR_UNKOWN_EVENT;
} }
break; break;
case 2: case 5:
/* Element[END_ELEMENT] */ /* Element[END_ELEMENT] */
if (1==1) { if (1==1) {
errn = encodeNBitUnsignedInteger(stream, 1, 0); errn = encodeNBitUnsignedInteger(stream, 1, 0);
if(errn == 0) { if(errn == 0) {
done = 1; done = 1;
} }
grammarID = 3; grammarID = 6;
} else { } else {
errn = EXI_ERROR_UNKOWN_EVENT; errn = EXI_ERROR_UNKOWN_EVENT;
} }
@ -249,21 +176,57 @@ static int encode_appHandAppProtocolType(bitstream_t* stream, struct appHandAppP
/* Complex type name='urn:iso:15118:2:2010:AppProtocol,#AnonType_supportedAppProtocolReq', base type name='anyType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='(AppProtocol{1-20})', derivedBy='RESTRICTION'. */ /* Complex type name='urn:iso:15118:2:2010:AppProtocol,#AnonType_supportedAppProtocolReq', base type name='anyType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='(AppProtocol{1-20})', derivedBy='RESTRICTION'. */
static int encode_appHandAnonType_supportedAppProtocolReq(bitstream_t* stream, struct appHandAnonType_supportedAppProtocolReq* appHandAnonType_supportedAppProtocolReq) { static int encode_appHandAnonType_supportedAppProtocolReq(bitstream_t* stream, struct appHandAnonType_supportedAppProtocolReq* appHandAnonType_supportedAppProtocolReq) {
int grammarID = 9; int grammarID = 7;
int done = 0; int done = 0;
unsigned int appHandAnonType_supportedAppProtocolReq_AppProtocol_currArrayIndex = 0; unsigned int appHandAnonType_supportedAppProtocolReq_AppProtocol_currArrayIndex = 0;
while(!done) { while(!done) {
switch(grammarID) { switch(grammarID) {
case 9: case 7:
/* FirstStartTag[START_ELEMENT(AppProtocol)] */ /* FirstStartTag[START_ELEMENT(AppProtocol)] */
if (appHandAnonType_supportedAppProtocolReq_AppProtocol_currArrayIndex < appHandAnonType_supportedAppProtocolReq->AppProtocol.arrayLen ) { if (appHandAnonType_supportedAppProtocolReq_AppProtocol_currArrayIndex < appHandAnonType_supportedAppProtocolReq->AppProtocol.arrayLen ) {
errn = encodeNBitUnsignedInteger(stream, 1, 0); errn = encodeNBitUnsignedInteger(stream, 1, 0);
if(errn == 0) { if(errn == 0) {
errn = encode_appHandAppProtocolType(stream, &appHandAnonType_supportedAppProtocolReq->AppProtocol.array [appHandAnonType_supportedAppProtocolReq_AppProtocol_currArrayIndex++]); errn = encode_appHandAppProtocolType(stream, &appHandAnonType_supportedAppProtocolReq->AppProtocol.array [appHandAnonType_supportedAppProtocolReq_AppProtocol_currArrayIndex++]);
} }
grammarID = 8;
} else {
errn = EXI_ERROR_UNKOWN_EVENT;
}
break;
case 8:
/* Element[START_ELEMENT(AppProtocol), END_ELEMENT] */
if (appHandAnonType_supportedAppProtocolReq_AppProtocol_currArrayIndex < appHandAnonType_supportedAppProtocolReq->AppProtocol.arrayLen ) {
errn = encodeNBitUnsignedInteger(stream, 2, 0);
if(errn == 0) {
errn = encode_appHandAppProtocolType(stream, &appHandAnonType_supportedAppProtocolReq->AppProtocol.array [appHandAnonType_supportedAppProtocolReq_AppProtocol_currArrayIndex++]);
}
grammarID = 9;
} else if (1==1) {
errn = encodeNBitUnsignedInteger(stream, 2, 1);
if(errn == 0) {
done = 1;
}
grammarID = 6;
} else {
errn = EXI_ERROR_UNKOWN_EVENT;
}
break;
case 9:
/* Element[START_ELEMENT(AppProtocol), END_ELEMENT] */
if (appHandAnonType_supportedAppProtocolReq_AppProtocol_currArrayIndex < appHandAnonType_supportedAppProtocolReq->AppProtocol.arrayLen ) {
errn = encodeNBitUnsignedInteger(stream, 2, 0);
if(errn == 0) {
errn = encode_appHandAppProtocolType(stream, &appHandAnonType_supportedAppProtocolReq->AppProtocol.array [appHandAnonType_supportedAppProtocolReq_AppProtocol_currArrayIndex++]);
}
grammarID = 10; grammarID = 10;
} else if (1==1) {
errn = encodeNBitUnsignedInteger(stream, 2, 1);
if(errn == 0) {
done = 1;
}
grammarID = 6;
} else { } else {
errn = EXI_ERROR_UNKOWN_EVENT; errn = EXI_ERROR_UNKOWN_EVENT;
} }
@ -281,7 +244,7 @@ static int encode_appHandAnonType_supportedAppProtocolReq(bitstream_t* stream, s
if(errn == 0) { if(errn == 0) {
done = 1; done = 1;
} }
grammarID = 3; grammarID = 6;
} else { } else {
errn = EXI_ERROR_UNKOWN_EVENT; errn = EXI_ERROR_UNKOWN_EVENT;
} }
@ -299,7 +262,7 @@ static int encode_appHandAnonType_supportedAppProtocolReq(bitstream_t* stream, s
if(errn == 0) { if(errn == 0) {
done = 1; done = 1;
} }
grammarID = 3; grammarID = 6;
} else { } else {
errn = EXI_ERROR_UNKOWN_EVENT; errn = EXI_ERROR_UNKOWN_EVENT;
} }
@ -317,7 +280,7 @@ static int encode_appHandAnonType_supportedAppProtocolReq(bitstream_t* stream, s
if(errn == 0) { if(errn == 0) {
done = 1; done = 1;
} }
grammarID = 3; grammarID = 6;
} else { } else {
errn = EXI_ERROR_UNKOWN_EVENT; errn = EXI_ERROR_UNKOWN_EVENT;
} }
@ -335,7 +298,7 @@ static int encode_appHandAnonType_supportedAppProtocolReq(bitstream_t* stream, s
if(errn == 0) { if(errn == 0) {
done = 1; done = 1;
} }
grammarID = 3; grammarID = 6;
} else { } else {
errn = EXI_ERROR_UNKOWN_EVENT; errn = EXI_ERROR_UNKOWN_EVENT;
} }
@ -353,7 +316,7 @@ static int encode_appHandAnonType_supportedAppProtocolReq(bitstream_t* stream, s
if(errn == 0) { if(errn == 0) {
done = 1; done = 1;
} }
grammarID = 3; grammarID = 6;
} else { } else {
errn = EXI_ERROR_UNKOWN_EVENT; errn = EXI_ERROR_UNKOWN_EVENT;
} }
@ -371,7 +334,7 @@ static int encode_appHandAnonType_supportedAppProtocolReq(bitstream_t* stream, s
if(errn == 0) { if(errn == 0) {
done = 1; done = 1;
} }
grammarID = 3; grammarID = 6;
} else { } else {
errn = EXI_ERROR_UNKOWN_EVENT; errn = EXI_ERROR_UNKOWN_EVENT;
} }
@ -389,7 +352,7 @@ static int encode_appHandAnonType_supportedAppProtocolReq(bitstream_t* stream, s
if(errn == 0) { if(errn == 0) {
done = 1; done = 1;
} }
grammarID = 3; grammarID = 6;
} else { } else {
errn = EXI_ERROR_UNKOWN_EVENT; errn = EXI_ERROR_UNKOWN_EVENT;
} }
@ -407,7 +370,7 @@ static int encode_appHandAnonType_supportedAppProtocolReq(bitstream_t* stream, s
if(errn == 0) { if(errn == 0) {
done = 1; done = 1;
} }
grammarID = 3; grammarID = 6;
} else { } else {
errn = EXI_ERROR_UNKOWN_EVENT; errn = EXI_ERROR_UNKOWN_EVENT;
} }
@ -425,7 +388,7 @@ static int encode_appHandAnonType_supportedAppProtocolReq(bitstream_t* stream, s
if(errn == 0) { if(errn == 0) {
done = 1; done = 1;
} }
grammarID = 3; grammarID = 6;
} else { } else {
errn = EXI_ERROR_UNKOWN_EVENT; errn = EXI_ERROR_UNKOWN_EVENT;
} }
@ -443,7 +406,7 @@ static int encode_appHandAnonType_supportedAppProtocolReq(bitstream_t* stream, s
if(errn == 0) { if(errn == 0) {
done = 1; done = 1;
} }
grammarID = 3; grammarID = 6;
} else { } else {
errn = EXI_ERROR_UNKOWN_EVENT; errn = EXI_ERROR_UNKOWN_EVENT;
} }
@ -461,7 +424,7 @@ static int encode_appHandAnonType_supportedAppProtocolReq(bitstream_t* stream, s
if(errn == 0) { if(errn == 0) {
done = 1; done = 1;
} }
grammarID = 3; grammarID = 6;
} else { } else {
errn = EXI_ERROR_UNKOWN_EVENT; errn = EXI_ERROR_UNKOWN_EVENT;
} }
@ -479,7 +442,7 @@ static int encode_appHandAnonType_supportedAppProtocolReq(bitstream_t* stream, s
if(errn == 0) { if(errn == 0) {
done = 1; done = 1;
} }
grammarID = 3; grammarID = 6;
} else { } else {
errn = EXI_ERROR_UNKOWN_EVENT; errn = EXI_ERROR_UNKOWN_EVENT;
} }
@ -497,7 +460,7 @@ static int encode_appHandAnonType_supportedAppProtocolReq(bitstream_t* stream, s
if(errn == 0) { if(errn == 0) {
done = 1; done = 1;
} }
grammarID = 3; grammarID = 6;
} else { } else {
errn = EXI_ERROR_UNKOWN_EVENT; errn = EXI_ERROR_UNKOWN_EVENT;
} }
@ -515,7 +478,7 @@ static int encode_appHandAnonType_supportedAppProtocolReq(bitstream_t* stream, s
if(errn == 0) { if(errn == 0) {
done = 1; done = 1;
} }
grammarID = 3; grammarID = 6;
} else { } else {
errn = EXI_ERROR_UNKOWN_EVENT; errn = EXI_ERROR_UNKOWN_EVENT;
} }
@ -533,7 +496,7 @@ static int encode_appHandAnonType_supportedAppProtocolReq(bitstream_t* stream, s
if(errn == 0) { if(errn == 0) {
done = 1; done = 1;
} }
grammarID = 3; grammarID = 6;
} else { } else {
errn = EXI_ERROR_UNKOWN_EVENT; errn = EXI_ERROR_UNKOWN_EVENT;
} }
@ -551,7 +514,7 @@ static int encode_appHandAnonType_supportedAppProtocolReq(bitstream_t* stream, s
if(errn == 0) { if(errn == 0) {
done = 1; done = 1;
} }
grammarID = 3; grammarID = 6;
} else { } else {
errn = EXI_ERROR_UNKOWN_EVENT; errn = EXI_ERROR_UNKOWN_EVENT;
} }
@ -563,61 +526,98 @@ static int encode_appHandAnonType_supportedAppProtocolReq(bitstream_t* stream, s
if(errn == 0) { if(errn == 0) {
errn = encode_appHandAppProtocolType(stream, &appHandAnonType_supportedAppProtocolReq->AppProtocol.array [appHandAnonType_supportedAppProtocolReq_AppProtocol_currArrayIndex++]); errn = encode_appHandAppProtocolType(stream, &appHandAnonType_supportedAppProtocolReq->AppProtocol.array [appHandAnonType_supportedAppProtocolReq_AppProtocol_currArrayIndex++]);
} }
grammarID = 27; grammarID = 5;
} else if (1==1) { } else if (1==1) {
errn = encodeNBitUnsignedInteger(stream, 2, 1); errn = encodeNBitUnsignedInteger(stream, 2, 1);
if(errn == 0) { if(errn == 0) {
done = 1; done = 1;
} }
grammarID = 3; grammarID = 6;
} else { } else {
errn = EXI_ERROR_UNKOWN_EVENT; errn = EXI_ERROR_UNKOWN_EVENT;
} }
break; break;
case 27: case 5:
/* Element[START_ELEMENT(AppProtocol), END_ELEMENT] */
if (appHandAnonType_supportedAppProtocolReq_AppProtocol_currArrayIndex < appHandAnonType_supportedAppProtocolReq->AppProtocol.arrayLen ) {
errn = encodeNBitUnsignedInteger(stream, 2, 0);
if(errn == 0) {
errn = encode_appHandAppProtocolType(stream, &appHandAnonType_supportedAppProtocolReq->AppProtocol.array [appHandAnonType_supportedAppProtocolReq_AppProtocol_currArrayIndex++]);
}
grammarID = 28;
} else if (1==1) {
errn = encodeNBitUnsignedInteger(stream, 2, 1);
if(errn == 0) {
done = 1;
}
grammarID = 3;
} else {
errn = EXI_ERROR_UNKOWN_EVENT;
}
break;
case 28:
/* Element[START_ELEMENT(AppProtocol), END_ELEMENT] */
if (appHandAnonType_supportedAppProtocolReq_AppProtocol_currArrayIndex < appHandAnonType_supportedAppProtocolReq->AppProtocol.arrayLen ) {
errn = encodeNBitUnsignedInteger(stream, 2, 0);
if(errn == 0) {
errn = encode_appHandAppProtocolType(stream, &appHandAnonType_supportedAppProtocolReq->AppProtocol.array [appHandAnonType_supportedAppProtocolReq_AppProtocol_currArrayIndex++]);
}
grammarID = 2;
} else if (1==1) {
errn = encodeNBitUnsignedInteger(stream, 2, 1);
if(errn == 0) {
done = 1;
}
grammarID = 3;
} else {
errn = EXI_ERROR_UNKOWN_EVENT;
}
break;
case 2:
/* Element[END_ELEMENT] */ /* Element[END_ELEMENT] */
if (1==1) { if (1==1) {
errn = encodeNBitUnsignedInteger(stream, 1, 0); errn = encodeNBitUnsignedInteger(stream, 1, 0);
if(errn == 0) { if(errn == 0) {
done = 1; done = 1;
} }
grammarID = 3; grammarID = 6;
} else {
errn = EXI_ERROR_UNKOWN_EVENT;
}
break;
default:
errn = EXI_ERROR_UNKOWN_GRAMMAR_ID;
break;
}
if(errn) {
done = 1;
}
}
return errn;
}
/* Complex type name='urn:iso:15118:2:2010:AppProtocol,#AnonType_supportedAppProtocolRes', base type name='anyType', content type='ELEMENT', isAbstract='false', hasTypeId='false', final='0', block='0', particle='(ResponseCode,SchemaID{0-1})', derivedBy='RESTRICTION'. */
static int encode_appHandAnonType_supportedAppProtocolRes(bitstream_t* stream, struct appHandAnonType_supportedAppProtocolRes* appHandAnonType_supportedAppProtocolRes) {
int grammarID = 27;
int done = 0;
while(!done) {
switch(grammarID) {
case 27:
/* FirstStartTag[START_ELEMENT(ResponseCode)] */
if ( 1 == 1 ) {
errn = encodeNBitUnsignedInteger(stream, 1, 0);
if(errn == 0) {
/* FirstStartTag[CHARACTERS[ENUMERATION]] */
errn = encodeNBitUnsignedInteger(stream, 1, 0);
if(errn == 0) {
errn = encodeNBitUnsignedInteger(stream, 2, appHandAnonType_supportedAppProtocolRes->ResponseCode);
/* valid EE */
errn = encodeNBitUnsignedInteger(stream, 1, 0);
}
}
grammarID = 28;
} else {
errn = EXI_ERROR_UNKOWN_EVENT;
}
break;
case 28:
/* Element[START_ELEMENT(SchemaID), END_ELEMENT] */
if ( appHandAnonType_supportedAppProtocolRes->SchemaID_isUsed == 1u ) {
errn = encodeNBitUnsignedInteger(stream, 2, 0);
if(errn == 0) {
/* FirstStartTag[CHARACTERS[NBIT_UNSIGNED_INTEGER]] */
errn = encodeNBitUnsignedInteger(stream, 1, 0);
if(errn == 0) {
errn = encodeNBitUnsignedInteger(stream, 8, (uint32_t)(appHandAnonType_supportedAppProtocolRes->SchemaID - 0));
/* valid EE */
errn = encodeNBitUnsignedInteger(stream, 1, 0);
}
}
grammarID = 5;
} else if (1==1) {
errn = encodeNBitUnsignedInteger(stream, 2, 1);
if(errn == 0) {
done = 1;
}
grammarID = 6;
} else {
errn = EXI_ERROR_UNKOWN_EVENT;
}
break;
case 5:
/* Element[END_ELEMENT] */
if (1==1) {
errn = encodeNBitUnsignedInteger(stream, 1, 0);
if(errn == 0) {
done = 1;
}
grammarID = 6;
} else { } else {
errn = EXI_ERROR_UNKOWN_EVENT; errn = EXI_ERROR_UNKOWN_EVENT;
} }

View file

@ -18,7 +18,7 @@
/******************************************************************* /*******************************************************************
* *
* @author Daniel.Peintner.EXT@siemens.com * @author Daniel.Peintner.EXT@siemens.com
* @version 0.9.1 * @version 0.9.2
* @contact Joerg.Heuer@siemens.com * @contact Joerg.Heuer@siemens.com
* *
* <p>Code generated by EXIdizer</p> * <p>Code generated by EXIdizer</p>

View file

@ -18,7 +18,7 @@
/******************************************************************* /*******************************************************************
* *
* @author Daniel.Peintner.EXT@siemens.com * @author Daniel.Peintner.EXT@siemens.com
* @version 0.9.1 * @version 0.9.2
* @contact Joerg.Heuer@siemens.com * @contact Joerg.Heuer@siemens.com
* *
* <p>Code generated by EXIdizer</p> * <p>Code generated by EXIdizer</p>

View file

@ -18,7 +18,7 @@
/******************************************************************* /*******************************************************************
* *
* @author Daniel.Peintner.EXT@siemens.com * @author Daniel.Peintner.EXT@siemens.com
* @version 0.9.1 * @version 0.9.2
* @contact Joerg.Heuer@siemens.com * @contact Joerg.Heuer@siemens.com
* *
* <p>Code generated by EXIdizer</p> * <p>Code generated by EXIdizer</p>

View file

@ -18,7 +18,7 @@
/******************************************************************* /*******************************************************************
* *
* @author Daniel.Peintner.EXT@siemens.com * @author Daniel.Peintner.EXT@siemens.com
* @version 0.9.1 * @version 0.9.2
* @contact Joerg.Heuer@siemens.com * @contact Joerg.Heuer@siemens.com
* *
* <p>Code generated by EXIdizer</p> * <p>Code generated by EXIdizer</p>

View file

@ -18,7 +18,7 @@
/******************************************************************* /*******************************************************************
* *
* @author Daniel.Peintner.EXT@siemens.com * @author Daniel.Peintner.EXT@siemens.com
* @version 0.9.1 * @version 0.9.2
* @contact Joerg.Heuer@siemens.com * @contact Joerg.Heuer@siemens.com
* *
* <p>Code generated by EXIdizer</p> * <p>Code generated by EXIdizer</p>

View file

@ -18,7 +18,7 @@
/******************************************************************* /*******************************************************************
* *
* @author Daniel.Peintner.EXT@siemens.com * @author Daniel.Peintner.EXT@siemens.com
* @version 0.9.1 * @version 0.9.2
* @contact Joerg.Heuer@siemens.com * @contact Joerg.Heuer@siemens.com
* *
* <p>Code generated by EXIdizer</p> * <p>Code generated by EXIdizer</p>

View file

@ -18,7 +18,7 @@
/******************************************************************* /*******************************************************************
* *
* @author Daniel.Peintner.EXT@siemens.com * @author Daniel.Peintner.EXT@siemens.com
* @version 0.9.1 * @version 0.9.2
* @contact Joerg.Heuer@siemens.com * @contact Joerg.Heuer@siemens.com
* *
* <p>Code generated by EXIdizer</p> * <p>Code generated by EXIdizer</p>

View file

@ -18,7 +18,7 @@
/******************************************************************* /*******************************************************************
* *
* @author Daniel.Peintner.EXT@siemens.com * @author Daniel.Peintner.EXT@siemens.com
* @version 0.9.1 * @version 0.9.2
* @contact Joerg.Heuer@siemens.com * @contact Joerg.Heuer@siemens.com
* *
* <p>Code generated by EXIdizer</p> * <p>Code generated by EXIdizer</p>

View file

@ -18,7 +18,7 @@
/******************************************************************* /*******************************************************************
* *
* @author Daniel.Peintner.EXT@siemens.com * @author Daniel.Peintner.EXT@siemens.com
* @version 0.9.1 * @version 0.9.2
* @contact Joerg.Heuer@siemens.com * @contact Joerg.Heuer@siemens.com
* *
* <p>Code generated by EXIdizer</p> * <p>Code generated by EXIdizer</p>

View file

@ -18,7 +18,7 @@
/******************************************************************* /*******************************************************************
* *
* @author Daniel.Peintner.EXT@siemens.com * @author Daniel.Peintner.EXT@siemens.com
* @version 0.9.1 * @version 0.9.2
* @contact Joerg.Heuer@siemens.com * @contact Joerg.Heuer@siemens.com
* *
* <p>Code generated by EXIdizer</p> * <p>Code generated by EXIdizer</p>

View file

@ -18,7 +18,7 @@
/******************************************************************* /*******************************************************************
* *
* @author Daniel.Peintner.EXT@siemens.com * @author Daniel.Peintner.EXT@siemens.com
* @version 0.9.1 * @version 0.9.2
* @contact Joerg.Heuer@siemens.com * @contact Joerg.Heuer@siemens.com
* *
* <p>Code generated by EXIdizer</p> * <p>Code generated by EXIdizer</p>

View file

@ -18,7 +18,7 @@
/******************************************************************* /*******************************************************************
* *
* @author Daniel.Peintner.EXT@siemens.com * @author Daniel.Peintner.EXT@siemens.com
* @version 0.9.1 * @version 0.9.2
* @contact Joerg.Heuer@siemens.com * @contact Joerg.Heuer@siemens.com
* *
* <p>Code generated by EXIdizer</p> * <p>Code generated by EXIdizer</p>

View file

@ -18,7 +18,7 @@
/******************************************************************* /*******************************************************************
* *
* @author Daniel.Peintner.EXT@siemens.com * @author Daniel.Peintner.EXT@siemens.com
* @version 0.9.1 * @version 0.9.2
* @contact Joerg.Heuer@siemens.com * @contact Joerg.Heuer@siemens.com
* *
* <p>Code generated by EXIdizer</p> * <p>Code generated by EXIdizer</p>

View file

@ -18,7 +18,7 @@
/******************************************************************* /*******************************************************************
* *
* @author Daniel.Peintner.EXT@siemens.com * @author Daniel.Peintner.EXT@siemens.com
* @version 0.9.1 * @version 0.9.2
* @contact Joerg.Heuer@siemens.com * @contact Joerg.Heuer@siemens.com
* *
* <p>Code generated by EXIdizer</p> * <p>Code generated by EXIdizer</p>

View file

@ -18,7 +18,7 @@
/******************************************************************* /*******************************************************************
* *
* @author Daniel.Peintner.EXT@siemens.com * @author Daniel.Peintner.EXT@siemens.com
* @version 0.9.1 * @version 0.9.2
* @contact Joerg.Heuer@siemens.com * @contact Joerg.Heuer@siemens.com
* *
* <p>Code generated by EXIdizer</p> * <p>Code generated by EXIdizer</p>

View file

@ -18,7 +18,7 @@
/******************************************************************* /*******************************************************************
* *
* @author Daniel.Peintner.EXT@siemens.com * @author Daniel.Peintner.EXT@siemens.com
* @version 0.9.1 * @version 0.9.2
* @contact Joerg.Heuer@siemens.com * @contact Joerg.Heuer@siemens.com
* *
* <p>Code generated by EXIdizer</p> * <p>Code generated by EXIdizer</p>

View file

@ -18,7 +18,7 @@
/******************************************************************* /*******************************************************************
* *
* @author Daniel.Peintner.EXT@siemens.com * @author Daniel.Peintner.EXT@siemens.com
* @version 0.9.1 * @version 0.9.2
* @contact Joerg.Heuer@siemens.com * @contact Joerg.Heuer@siemens.com
* *
* <p>Code generated by EXIdizer</p> * <p>Code generated by EXIdizer</p>

View file

@ -18,7 +18,7 @@
/******************************************************************* /*******************************************************************
* *
* @author Daniel.Peintner.EXT@siemens.com * @author Daniel.Peintner.EXT@siemens.com
* @version 0.9.1 * @version 0.9.2
* @contact Joerg.Heuer@siemens.com * @contact Joerg.Heuer@siemens.com
* *
* <p>Code generated by EXIdizer</p> * <p>Code generated by EXIdizer</p>

View file

@ -18,7 +18,7 @@
/******************************************************************* /*******************************************************************
* *
* @author Daniel.Peintner.EXT@siemens.com * @author Daniel.Peintner.EXT@siemens.com
* @version 0.9.1 * @version 0.9.2
* @contact Joerg.Heuer@siemens.com * @contact Joerg.Heuer@siemens.com
* *
* <p>Code generated by EXIdizer</p> * <p>Code generated by EXIdizer</p>

View file

@ -18,7 +18,7 @@
/******************************************************************* /*******************************************************************
* *
* @author Daniel.Peintner.EXT@siemens.com * @author Daniel.Peintner.EXT@siemens.com
* @version 0.9.1 * @version 0.9.2
* @contact Joerg.Heuer@siemens.com * @contact Joerg.Heuer@siemens.com
* *
* <p>Code generated by EXIdizer</p> * <p>Code generated by EXIdizer</p>

View file

@ -18,7 +18,7 @@
/******************************************************************* /*******************************************************************
* *
* @author Daniel.Peintner.EXT@siemens.com * @author Daniel.Peintner.EXT@siemens.com
* @version 0.9.1 * @version 0.9.2
* @contact Joerg.Heuer@siemens.com * @contact Joerg.Heuer@siemens.com
* *
* <p>Code generated by EXIdizer</p> * <p>Code generated by EXIdizer</p>

View file

@ -18,7 +18,7 @@
/******************************************************************* /*******************************************************************
* *
* @author Daniel.Peintner.EXT@siemens.com * @author Daniel.Peintner.EXT@siemens.com
* @version 0.9.1 * @version 0.9.2
* @contact Joerg.Heuer@siemens.com * @contact Joerg.Heuer@siemens.com
* *
* <p>Code generated by EXIdizer</p> * <p>Code generated by EXIdizer</p>

View file

@ -18,7 +18,7 @@
/******************************************************************* /*******************************************************************
* *
* @author Daniel.Peintner.EXT@siemens.com * @author Daniel.Peintner.EXT@siemens.com
* @version 0.9.1 * @version 0.9.2
* @contact Joerg.Heuer@siemens.com * @contact Joerg.Heuer@siemens.com
* *
* <p>Code generated by EXIdizer</p> * <p>Code generated by EXIdizer</p>

View file

@ -18,7 +18,7 @@
/******************************************************************* /*******************************************************************
* *
* @author Daniel.Peintner.EXT@siemens.com * @author Daniel.Peintner.EXT@siemens.com
* @version 0.9.1 * @version 0.9.2
* @contact Joerg.Heuer@siemens.com * @contact Joerg.Heuer@siemens.com
* *
* <p>Code generated by EXIdizer</p> * <p>Code generated by EXIdizer</p>

View file

@ -18,7 +18,7 @@
/******************************************************************* /*******************************************************************
* *
* @author Daniel.Peintner.EXT@siemens.com * @author Daniel.Peintner.EXT@siemens.com
* @version 0.9.1 * @version 0.9.2
* @contact Joerg.Heuer@siemens.com * @contact Joerg.Heuer@siemens.com
* *
* <p>Code generated by EXIdizer</p> * <p>Code generated by EXIdizer</p>

View file

@ -18,7 +18,7 @@
/******************************************************************* /*******************************************************************
* *
* @author Daniel.Peintner.EXT@siemens.com * @author Daniel.Peintner.EXT@siemens.com
* @version 0.9.1 * @version 0.9.2
* @contact Joerg.Heuer@siemens.com * @contact Joerg.Heuer@siemens.com
* *
* <p>Code generated by EXIdizer</p> * <p>Code generated by EXIdizer</p>
@ -38,6 +38,7 @@
#ifndef EXI_v2g_DATATYPES_C #ifndef EXI_v2g_DATATYPES_C
#define EXI_v2g_DATATYPES_C #define EXI_v2g_DATATYPES_C
#if DEPLOY_ISO_CODEC == SUPPORT_YES
void init_v2gEXIDocument(struct v2gEXIDocument* exiDoc) { void init_v2gEXIDocument(struct v2gEXIDocument* exiDoc) {
@ -123,75 +124,16 @@ void init_v2gEXIDocument(struct v2gEXIDocument* exiDoc) {
exiDoc->Object_isUsed = 0u; exiDoc->Object_isUsed = 0u;
} }
void init_v2gPowerDeliveryReqType(struct v2gPowerDeliveryReqType* v2gPowerDeliveryReqType) { void init_v2gProfileEntryType(struct v2gProfileEntryType* v2gProfileEntryType) {
v2gPowerDeliveryReqType->ChargingProfile_isUsed = 0u; v2gProfileEntryType->ChargingProfileEntryMaxNumberOfPhasesInUse_isUsed = 0u;
v2gPowerDeliveryReqType->EVPowerDeliveryParameter_isUsed = 0u;
v2gPowerDeliveryReqType->DC_EVPowerDeliveryParameter_isUsed = 0u;
} }
void init_v2gCertificateUpdateReqType(struct v2gCertificateUpdateReqType* v2gCertificateUpdateReqType) { void init_v2gContractSignatureEncryptedPrivateKeyType(struct v2gContractSignatureEncryptedPrivateKeyType* v2gContractSignatureEncryptedPrivateKeyType) {
} }
void init_v2gMessageHeaderType(struct v2gMessageHeaderType* v2gMessageHeaderType) { void init_v2gServiceDiscoveryReqType(struct v2gServiceDiscoveryReqType* v2gServiceDiscoveryReqType) {
v2gMessageHeaderType->Notification_isUsed = 0u; v2gServiceDiscoveryReqType->ServiceScope_isUsed = 0u;
v2gMessageHeaderType->Signature_isUsed = 0u; v2gServiceDiscoveryReqType->ServiceCategory_isUsed = 0u;
}
void init_v2gBodyBaseType(struct v2gBodyBaseType* v2gBodyBaseType) {
}
void init_v2gWeldingDetectionResType(struct v2gWeldingDetectionResType* v2gWeldingDetectionResType) {
}
void init_v2gCostType(struct v2gCostType* v2gCostType) {
v2gCostType->amountMultiplier_isUsed = 0u;
}
void init_v2gCertificateInstallationReqType(struct v2gCertificateInstallationReqType* v2gCertificateInstallationReqType) {
}
void init_v2gEntryType(struct v2gEntryType* v2gEntryType) {
v2gEntryType->TimeInterval_isUsed = 0u;
v2gEntryType->RelativeTimeInterval_isUsed = 0u;
}
void init_v2gCanonicalizationMethodType(struct v2gCanonicalizationMethodType* v2gCanonicalizationMethodType) {
}
void init_v2gSignaturePropertiesType(struct v2gSignaturePropertiesType* v2gSignaturePropertiesType) {
v2gSignaturePropertiesType->Id_isUsed = 0u;
v2gSignaturePropertiesType->SignatureProperty.arrayLen = 0u;
}
void init_v2gPaymentServiceSelectionReqType(struct v2gPaymentServiceSelectionReqType* v2gPaymentServiceSelectionReqType) {
}
void init_v2gAuthorizationResType(struct v2gAuthorizationResType* v2gAuthorizationResType) {
}
void init_v2gConsumptionCostType(struct v2gConsumptionCostType* v2gConsumptionCostType) {
v2gConsumptionCostType->Cost.arrayLen = 0u;
}
void init_v2gCertificateInstallationResType(struct v2gCertificateInstallationResType* v2gCertificateInstallationResType) {
}
void init_v2gSessionStopResType(struct v2gSessionStopResType* v2gSessionStopResType) {
}
void init_v2gServiceListType(struct v2gServiceListType* v2gServiceListType) {
v2gServiceListType->Service.arrayLen = 0u;
}
void init_v2gEVSEChargeParameterType(struct v2gEVSEChargeParameterType* v2gEVSEChargeParameterType) {
}
void init_v2gMeteringReceiptReqType(struct v2gMeteringReceiptReqType* v2gMeteringReceiptReqType) {
v2gMeteringReceiptReqType->Id_isUsed = 0u;
v2gMeteringReceiptReqType->SAScheduleTupleID_isUsed = 0u;
}
void init_v2gX509IssuerSerialType(struct v2gX509IssuerSerialType* v2gX509IssuerSerialType) {
} }
void init_v2gSignatureType(struct v2gSignatureType* v2gSignatureType) { void init_v2gSignatureType(struct v2gSignatureType* v2gSignatureType) {
@ -200,26 +142,335 @@ void init_v2gSignatureType(struct v2gSignatureType* v2gSignatureType) {
v2gSignatureType->Object.arrayLen = 0u; v2gSignatureType->Object.arrayLen = 0u;
} }
void init_v2gEVPowerDeliveryParameterType(struct v2gEVPowerDeliveryParameterType* v2gEVPowerDeliveryParameterType) { void init_v2gNotificationType(struct v2gNotificationType* v2gNotificationType) {
v2gNotificationType->FaultMsg_isUsed = 0u;
} }
void init_v2gAC_EVSEChargeParameterType(struct v2gAC_EVSEChargeParameterType* v2gAC_EVSEChargeParameterType) { void init_v2gAC_EVSEChargeParameterType(struct v2gAC_EVSEChargeParameterType* v2gAC_EVSEChargeParameterType) {
} }
void init_v2gSAScheduleListType(struct v2gSAScheduleListType* v2gSAScheduleListType) { void init_v2gX509IssuerSerialType(struct v2gX509IssuerSerialType* v2gX509IssuerSerialType) {
v2gSAScheduleListType->SAScheduleTuple.arrayLen = 0u;
} }
void init_v2gDC_EVPowerDeliveryParameterType(struct v2gDC_EVPowerDeliveryParameterType* v2gDC_EVPowerDeliveryParameterType) { void init_v2gSignaturePropertyType(struct v2gSignaturePropertyType* v2gSignaturePropertyType) {
v2gDC_EVPowerDeliveryParameterType->BulkChargingComplete_isUsed = 0u; v2gSignaturePropertyType->Id_isUsed = 0u;
}
void init_v2gReferenceType(struct v2gReferenceType* v2gReferenceType) {
v2gReferenceType->Id_isUsed = 0u;
v2gReferenceType->URI_isUsed = 0u;
v2gReferenceType->Type_isUsed = 0u;
v2gReferenceType->Transforms_isUsed = 0u;
}
void init_v2gManifestType(struct v2gManifestType* v2gManifestType) {
v2gManifestType->Id_isUsed = 0u;
v2gManifestType->Reference.arrayLen = 0u;
}
void init_v2gSelectedServiceType(struct v2gSelectedServiceType* v2gSelectedServiceType) {
v2gSelectedServiceType->ParameterSetID_isUsed = 0u;
}
void init_v2gEVChargeParameterType(struct v2gEVChargeParameterType* v2gEVChargeParameterType) {
v2gEVChargeParameterType->DepartureTime_isUsed = 0u;
}
void init_v2gEVSEChargeParameterType(struct v2gEVSEChargeParameterType* v2gEVSEChargeParameterType) {
}
void init_v2gChargingStatusResType(struct v2gChargingStatusResType* v2gChargingStatusResType) {
v2gChargingStatusResType->EVSEMaxCurrent_isUsed = 0u;
v2gChargingStatusResType->MeterInfo_isUsed = 0u;
v2gChargingStatusResType->ReceiptRequired_isUsed = 0u;
}
void init_v2gEVSEStatusType(struct v2gEVSEStatusType* v2gEVSEStatusType) {
}
void init_v2gMeteringReceiptReqType(struct v2gMeteringReceiptReqType* v2gMeteringReceiptReqType) {
v2gMeteringReceiptReqType->Id_isUsed = 0u;
v2gMeteringReceiptReqType->SAScheduleTupleID_isUsed = 0u;
}
void init_v2gDC_EVSEChargeParameterType(struct v2gDC_EVSEChargeParameterType* v2gDC_EVSEChargeParameterType) {
v2gDC_EVSEChargeParameterType->EVSECurrentRegulationTolerance_isUsed = 0u;
v2gDC_EVSEChargeParameterType->EVSEEnergyToBeDelivered_isUsed = 0u;
}
void init_v2gServiceDetailResType(struct v2gServiceDetailResType* v2gServiceDetailResType) {
v2gServiceDetailResType->ServiceParameterList_isUsed = 0u;
}
void init_v2gCertificateChainType(struct v2gCertificateChainType* v2gCertificateChainType) {
v2gCertificateChainType->Id_isUsed = 0u;
v2gCertificateChainType->SubCertificates_isUsed = 0u;
}
void init_v2gCanonicalizationMethodType(struct v2gCanonicalizationMethodType* v2gCanonicalizationMethodType) {
}
void init_v2gMeteringReceiptResType(struct v2gMeteringReceiptResType* v2gMeteringReceiptResType) {
v2gMeteringReceiptResType->EVSEStatus_isUsed = 0u;
v2gMeteringReceiptResType->AC_EVSEStatus_isUsed = 0u;
v2gMeteringReceiptResType->DC_EVSEStatus_isUsed = 0u;
}
void init_v2gPowerDeliveryReqType(struct v2gPowerDeliveryReqType* v2gPowerDeliveryReqType) {
v2gPowerDeliveryReqType->ChargingProfile_isUsed = 0u;
v2gPowerDeliveryReqType->EVPowerDeliveryParameter_isUsed = 0u;
v2gPowerDeliveryReqType->DC_EVPowerDeliveryParameter_isUsed = 0u;
}
void init_v2gPMaxScheduleType(struct v2gPMaxScheduleType* v2gPMaxScheduleType) {
v2gPMaxScheduleType->PMaxScheduleEntry.arrayLen = 0u;
}
void init_v2gSessionStopReqType(struct v2gSessionStopReqType* v2gSessionStopReqType) {
}
void init_v2gChargeServiceType(struct v2gChargeServiceType* v2gChargeServiceType) {
v2gChargeServiceType->ServiceName_isUsed = 0u;
v2gChargeServiceType->ServiceScope_isUsed = 0u;
}
void init_v2gParameterType(struct v2gParameterType* v2gParameterType) {
v2gParameterType->boolValue_isUsed = 0u;
v2gParameterType->byteValue_isUsed = 0u;
v2gParameterType->shortValue_isUsed = 0u;
v2gParameterType->intValue_isUsed = 0u;
v2gParameterType->physicalValue_isUsed = 0u;
v2gParameterType->stringValue_isUsed = 0u;
}
void init_v2gSASchedulesType(struct v2gSASchedulesType* v2gSASchedulesType) {
}
void init_v2gPaymentServiceSelectionResType(struct v2gPaymentServiceSelectionResType* v2gPaymentServiceSelectionResType) {
}
void init_v2gKeyValueType(struct v2gKeyValueType* v2gKeyValueType) {
v2gKeyValueType->DSAKeyValue_isUsed = 0u;
v2gKeyValueType->RSAKeyValue_isUsed = 0u;
}
void init_v2gSessionSetupResType(struct v2gSessionSetupResType* v2gSessionSetupResType) {
v2gSessionSetupResType->EVSETimeStamp_isUsed = 0u;
}
void init_v2gAuthorizationResType(struct v2gAuthorizationResType* v2gAuthorizationResType) {
}
void init_v2gX509DataType(struct v2gX509DataType* v2gX509DataType) {
v2gX509DataType->X509IssuerSerial.arrayLen = 0u;
v2gX509DataType->X509SKI.arrayLen = 0u;
v2gX509DataType->X509SubjectName.arrayLen = 0u;
v2gX509DataType->X509Certificate.arrayLen = 0u;
v2gX509DataType->X509CRL.arrayLen = 0u;
}
void init_v2gCertificateUpdateReqType(struct v2gCertificateUpdateReqType* v2gCertificateUpdateReqType) {
}
void init_v2gPaymentOptionListType(struct v2gPaymentOptionListType* v2gPaymentOptionListType) {
v2gPaymentOptionListType->PaymentOption.arrayLen = 0u;
}
void init_v2gSignatureMethodType(struct v2gSignatureMethodType* v2gSignatureMethodType) {
v2gSignatureMethodType->HMACOutputLength_isUsed = 0u;
}
void init_v2gChargeParameterDiscoveryReqType(struct v2gChargeParameterDiscoveryReqType* v2gChargeParameterDiscoveryReqType) {
v2gChargeParameterDiscoveryReqType->MaxEntriesSAScheduleTuple_isUsed = 0u;
v2gChargeParameterDiscoveryReqType->EVChargeParameter_isUsed = 0u;
v2gChargeParameterDiscoveryReqType->AC_EVChargeParameter_isUsed = 0u;
v2gChargeParameterDiscoveryReqType->DC_EVChargeParameter_isUsed = 0u;
}
void init_v2gEVPowerDeliveryParameterType(struct v2gEVPowerDeliveryParameterType* v2gEVPowerDeliveryParameterType) {
}
void init_v2gCertificateInstallationResType(struct v2gCertificateInstallationResType* v2gCertificateInstallationResType) {
}
void init_v2gListOfRootCertificateIDsType(struct v2gListOfRootCertificateIDsType* v2gListOfRootCertificateIDsType) {
v2gListOfRootCertificateIDsType->RootCertificateID.arrayLen = 0u;
}
void init_v2gDC_EVStatusType(struct v2gDC_EVStatusType* v2gDC_EVStatusType) {
}
void init_v2gCurrentDemandReqType(struct v2gCurrentDemandReqType* v2gCurrentDemandReqType) {
v2gCurrentDemandReqType->EVMaximumVoltageLimit_isUsed = 0u;
v2gCurrentDemandReqType->EVMaximumCurrentLimit_isUsed = 0u;
v2gCurrentDemandReqType->EVMaximumPowerLimit_isUsed = 0u;
v2gCurrentDemandReqType->BulkChargingComplete_isUsed = 0u;
v2gCurrentDemandReqType->RemainingTimeToFullSoC_isUsed = 0u;
v2gCurrentDemandReqType->RemainingTimeToBulkSoC_isUsed = 0u;
}
void init_v2gServiceType(struct v2gServiceType* v2gServiceType) {
v2gServiceType->ServiceName_isUsed = 0u;
v2gServiceType->ServiceScope_isUsed = 0u;
}
void init_v2gSessionStopResType(struct v2gSessionStopResType* v2gSessionStopResType) {
}
void init_v2gConsumptionCostType(struct v2gConsumptionCostType* v2gConsumptionCostType) {
v2gConsumptionCostType->Cost.arrayLen = 0u;
}
void init_v2gChargingStatusReqType(struct v2gChargingStatusReqType* v2gChargingStatusReqType) {
}
void init_v2gPreChargeReqType(struct v2gPreChargeReqType* v2gPreChargeReqType) {
}
void init_v2gWeldingDetectionReqType(struct v2gWeldingDetectionReqType* v2gWeldingDetectionReqType) {
}
void init_v2gSignaturePropertiesType(struct v2gSignaturePropertiesType* v2gSignaturePropertiesType) {
v2gSignaturePropertiesType->Id_isUsed = 0u;
v2gSignaturePropertiesType->SignatureProperty.arrayLen = 0u;
}
void init_v2gSelectedServiceListType(struct v2gSelectedServiceListType* v2gSelectedServiceListType) {
v2gSelectedServiceListType->SelectedService.arrayLen = 0u;
} }
void init_v2gServiceDiscoveryResType(struct v2gServiceDiscoveryResType* v2gServiceDiscoveryResType) { void init_v2gServiceDiscoveryResType(struct v2gServiceDiscoveryResType* v2gServiceDiscoveryResType) {
v2gServiceDiscoveryResType->ServiceList_isUsed = 0u; v2gServiceDiscoveryResType->ServiceList_isUsed = 0u;
} }
void init_v2gServiceParameterListType(struct v2gServiceParameterListType* v2gServiceParameterListType) { void init_v2gEMAIDType(struct v2gEMAIDType* v2gEMAIDType) {
v2gServiceParameterListType->ParameterSet.arrayLen = 0u; }
void init_v2gIntervalType(struct v2gIntervalType* v2gIntervalType) {
}
void init_v2gSignedInfoType(struct v2gSignedInfoType* v2gSignedInfoType) {
v2gSignedInfoType->Id_isUsed = 0u;
v2gSignedInfoType->Reference.arrayLen = 0u;
}
void init_v2gCableCheckReqType(struct v2gCableCheckReqType* v2gCableCheckReqType) {
}
void init_v2gServiceListType(struct v2gServiceListType* v2gServiceListType) {
v2gServiceListType->Service.arrayLen = 0u;
}
void init_v2gAC_EVSEStatusType(struct v2gAC_EVSEStatusType* v2gAC_EVSEStatusType) {
}
void init_v2gDC_EVSEStatusType(struct v2gDC_EVSEStatusType* v2gDC_EVSEStatusType) {
v2gDC_EVSEStatusType->EVSEIsolationStatus_isUsed = 0u;
}
void init_v2gSPKIDataType(struct v2gSPKIDataType* v2gSPKIDataType) {
v2gSPKIDataType->SPKISexp.arrayLen = 0u;
}
void init_v2gCurrentDemandResType(struct v2gCurrentDemandResType* v2gCurrentDemandResType) {
v2gCurrentDemandResType->EVSEMaximumVoltageLimit_isUsed = 0u;
v2gCurrentDemandResType->EVSEMaximumCurrentLimit_isUsed = 0u;
v2gCurrentDemandResType->EVSEMaximumPowerLimit_isUsed = 0u;
v2gCurrentDemandResType->MeterInfo_isUsed = 0u;
v2gCurrentDemandResType->ReceiptRequired_isUsed = 0u;
}
void init_v2gKeyInfoType(struct v2gKeyInfoType* v2gKeyInfoType) {
v2gKeyInfoType->Id_isUsed = 0u;
v2gKeyInfoType->KeyName.arrayLen = 0u;
v2gKeyInfoType->KeyValue.arrayLen = 0u;
v2gKeyInfoType->RetrievalMethod.arrayLen = 0u;
v2gKeyInfoType->X509Data.arrayLen = 0u;
v2gKeyInfoType->PGPData.arrayLen = 0u;
v2gKeyInfoType->SPKIData.arrayLen = 0u;
v2gKeyInfoType->MgmtData.arrayLen = 0u;
}
void init_v2gObjectType(struct v2gObjectType* v2gObjectType) {
v2gObjectType->Id_isUsed = 0u;
v2gObjectType->MimeType_isUsed = 0u;
v2gObjectType->Encoding_isUsed = 0u;
}
void init_v2gSAScheduleTupleType(struct v2gSAScheduleTupleType* v2gSAScheduleTupleType) {
v2gSAScheduleTupleType->SalesTariff_isUsed = 0u;
}
void init_v2gSignatureValueType(struct v2gSignatureValueType* v2gSignatureValueType) {
v2gSignatureValueType->Id_isUsed = 0u;
}
void init_v2gPowerDeliveryResType(struct v2gPowerDeliveryResType* v2gPowerDeliveryResType) {
v2gPowerDeliveryResType->EVSEStatus_isUsed = 0u;
v2gPowerDeliveryResType->AC_EVSEStatus_isUsed = 0u;
v2gPowerDeliveryResType->DC_EVSEStatus_isUsed = 0u;
}
void init_v2gSubCertificatesType(struct v2gSubCertificatesType* v2gSubCertificatesType) {
v2gSubCertificatesType->Certificate.arrayLen = 0u;
}
void init_v2gAuthorizationReqType(struct v2gAuthorizationReqType* v2gAuthorizationReqType) {
v2gAuthorizationReqType->Id_isUsed = 0u;
v2gAuthorizationReqType->GenChallenge_isUsed = 0u;
}
void init_v2gChargingProfileType(struct v2gChargingProfileType* v2gChargingProfileType) {
v2gChargingProfileType->ProfileEntry.arrayLen = 0u;
}
void init_v2gEntryType(struct v2gEntryType* v2gEntryType) {
v2gEntryType->TimeInterval_isUsed = 0u;
v2gEntryType->RelativeTimeInterval_isUsed = 0u;
}
void init_v2gCableCheckResType(struct v2gCableCheckResType* v2gCableCheckResType) {
}
void init_v2gSupportedEnergyTransferModeType(struct v2gSupportedEnergyTransferModeType* v2gSupportedEnergyTransferModeType) {
v2gSupportedEnergyTransferModeType->EnergyTransferMode.arrayLen = 0u;
}
void init_v2gPhysicalValueType(struct v2gPhysicalValueType* v2gPhysicalValueType) {
}
void init_v2gChargeParameterDiscoveryResType(struct v2gChargeParameterDiscoveryResType* v2gChargeParameterDiscoveryResType) {
v2gChargeParameterDiscoveryResType->SASchedules_isUsed = 0u;
v2gChargeParameterDiscoveryResType->SAScheduleList_isUsed = 0u;
v2gChargeParameterDiscoveryResType->EVSEChargeParameter_isUsed = 0u;
v2gChargeParameterDiscoveryResType->AC_EVSEChargeParameter_isUsed = 0u;
v2gChargeParameterDiscoveryResType->DC_EVSEChargeParameter_isUsed = 0u;
}
void init_v2gParameterSetType(struct v2gParameterSetType* v2gParameterSetType) {
v2gParameterSetType->Parameter.arrayLen = 0u;
}
void init_v2gPaymentDetailsReqType(struct v2gPaymentDetailsReqType* v2gPaymentDetailsReqType) {
}
void init_v2gMeterInfoType(struct v2gMeterInfoType* v2gMeterInfoType) {
v2gMeterInfoType->MeterReading_isUsed = 0u;
v2gMeterInfoType->SigMeterReading_isUsed = 0u;
v2gMeterInfoType->MeterStatus_isUsed = 0u;
v2gMeterInfoType->TMeter_isUsed = 0u;
}
void init_v2gPaymentServiceSelectionReqType(struct v2gPaymentServiceSelectionReqType* v2gPaymentServiceSelectionReqType) {
}
void init_v2gRetrievalMethodType(struct v2gRetrievalMethodType* v2gRetrievalMethodType) {
v2gRetrievalMethodType->URI_isUsed = 0u;
v2gRetrievalMethodType->Type_isUsed = 0u;
v2gRetrievalMethodType->Transforms_isUsed = 0u;
}
void init_v2gSessionSetupReqType(struct v2gSessionSetupReqType* v2gSessionSetupReqType) {
} }
void init_v2gDC_EVChargeParameterType(struct v2gDC_EVChargeParameterType* v2gDC_EVChargeParameterType) { void init_v2gDC_EVChargeParameterType(struct v2gDC_EVChargeParameterType* v2gDC_EVChargeParameterType) {
@ -231,13 +482,39 @@ void init_v2gDC_EVChargeParameterType(struct v2gDC_EVChargeParameterType* v2gDC_
v2gDC_EVChargeParameterType->BulkSOC_isUsed = 0u; v2gDC_EVChargeParameterType->BulkSOC_isUsed = 0u;
} }
void init_v2gServiceDiscoveryReqType(struct v2gServiceDiscoveryReqType* v2gServiceDiscoveryReqType) { void init_v2gAnonType_V2G_Message(struct v2gAnonType_V2G_Message* v2gAnonType_V2G_Message) {
v2gServiceDiscoveryReqType->ServiceScope_isUsed = 0u;
v2gServiceDiscoveryReqType->ServiceCategory_isUsed = 0u;
} }
void init_v2gSignatureValueType(struct v2gSignatureValueType* v2gSignatureValueType) { void init_v2gDC_EVPowerDeliveryParameterType(struct v2gDC_EVPowerDeliveryParameterType* v2gDC_EVPowerDeliveryParameterType) {
v2gSignatureValueType->Id_isUsed = 0u; v2gDC_EVPowerDeliveryParameterType->BulkChargingComplete_isUsed = 0u;
}
void init_v2gRelativeTimeIntervalType(struct v2gRelativeTimeIntervalType* v2gRelativeTimeIntervalType) {
v2gRelativeTimeIntervalType->duration_isUsed = 0u;
}
void init_v2gRSAKeyValueType(struct v2gRSAKeyValueType* v2gRSAKeyValueType) {
}
void init_v2gPGPDataType(struct v2gPGPDataType* v2gPGPDataType) {
v2gPGPDataType->PGPKeyID_isUsed = 0u;
v2gPGPDataType->PGPKeyPacket_isUsed = 0u;
}
void init_v2gCertificateUpdateResType(struct v2gCertificateUpdateResType* v2gCertificateUpdateResType) {
v2gCertificateUpdateResType->RetryCounter_isUsed = 0u;
}
void init_v2gPaymentDetailsResType(struct v2gPaymentDetailsResType* v2gPaymentDetailsResType) {
}
void init_v2gDSAKeyValueType(struct v2gDSAKeyValueType* v2gDSAKeyValueType) {
v2gDSAKeyValueType->P_isUsed = 0u;
v2gDSAKeyValueType->Q_isUsed = 0u;
v2gDSAKeyValueType->G_isUsed = 0u;
v2gDSAKeyValueType->J_isUsed = 0u;
v2gDSAKeyValueType->Seed_isUsed = 0u;
v2gDSAKeyValueType->PgenCounter_isUsed = 0u;
} }
void init_v2gBodyType(struct v2gBodyType* v2gBodyType) { void init_v2gBodyType(struct v2gBodyType* v2gBodyType) {
@ -278,292 +555,49 @@ void init_v2gBodyType(struct v2gBodyType* v2gBodyType) {
v2gBodyType->WeldingDetectionRes_isUsed = 0u; v2gBodyType->WeldingDetectionRes_isUsed = 0u;
} }
void init_v2gPaymentDetailsResType(struct v2gPaymentDetailsResType* v2gPaymentDetailsResType) { void init_v2gCertificateInstallationReqType(struct v2gCertificateInstallationReqType* v2gCertificateInstallationReqType) {
} }
void init_v2gMeteringReceiptResType(struct v2gMeteringReceiptResType* v2gMeteringReceiptResType) { void init_v2gServiceParameterListType(struct v2gServiceParameterListType* v2gServiceParameterListType) {
v2gMeteringReceiptResType->EVSEStatus_isUsed = 0u; v2gServiceParameterListType->ParameterSet.arrayLen = 0u;
v2gMeteringReceiptResType->AC_EVSEStatus_isUsed = 0u;
v2gMeteringReceiptResType->DC_EVSEStatus_isUsed = 0u;
}
void init_v2gRSAKeyValueType(struct v2gRSAKeyValueType* v2gRSAKeyValueType) {
}
void init_v2gSessionSetupReqType(struct v2gSessionSetupReqType* v2gSessionSetupReqType) {
}
void init_v2gSignedInfoType(struct v2gSignedInfoType* v2gSignedInfoType) {
v2gSignedInfoType->Id_isUsed = 0u;
v2gSignedInfoType->Reference.arrayLen = 0u;
}
void init_v2gAuthorizationReqType(struct v2gAuthorizationReqType* v2gAuthorizationReqType) {
v2gAuthorizationReqType->Id_isUsed = 0u;
v2gAuthorizationReqType->GenChallenge_isUsed = 0u;
}
void init_v2gChargingProfileType(struct v2gChargingProfileType* v2gChargingProfileType) {
v2gChargingProfileType->ProfileEntry.arrayLen = 0u;
}
void init_v2gDiffieHellmanPublickeyType(struct v2gDiffieHellmanPublickeyType* v2gDiffieHellmanPublickeyType) {
}
void init_v2gSelectedServiceType(struct v2gSelectedServiceType* v2gSelectedServiceType) {
v2gSelectedServiceType->ParameterSetID_isUsed = 0u;
}
void init_v2gSubCertificatesType(struct v2gSubCertificatesType* v2gSubCertificatesType) {
v2gSubCertificatesType->Certificate.arrayLen = 0u;
}
void init_v2gCertificateChainType(struct v2gCertificateChainType* v2gCertificateChainType) {
v2gCertificateChainType->Id_isUsed = 0u;
v2gCertificateChainType->SubCertificates_isUsed = 0u;
}
void init_v2gSupportedEnergyTransferModeType(struct v2gSupportedEnergyTransferModeType* v2gSupportedEnergyTransferModeType) {
v2gSupportedEnergyTransferModeType->EnergyTransferMode.arrayLen = 0u;
}
void init_v2gCurrentDemandReqType(struct v2gCurrentDemandReqType* v2gCurrentDemandReqType) {
v2gCurrentDemandReqType->EVMaximumVoltageLimit_isUsed = 0u;
v2gCurrentDemandReqType->EVMaximumCurrentLimit_isUsed = 0u;
v2gCurrentDemandReqType->EVMaximumPowerLimit_isUsed = 0u;
v2gCurrentDemandReqType->BulkChargingComplete_isUsed = 0u;
v2gCurrentDemandReqType->RemainingTimeToFullSoC_isUsed = 0u;
v2gCurrentDemandReqType->RemainingTimeToBulkSoC_isUsed = 0u;
}
void init_v2gSalesTariffType(struct v2gSalesTariffType* v2gSalesTariffType) {
v2gSalesTariffType->Id_isUsed = 0u;
v2gSalesTariffType->SalesTariffDescription_isUsed = 0u;
v2gSalesTariffType->NumEPriceLevels_isUsed = 0u;
v2gSalesTariffType->SalesTariffEntry.arrayLen = 0u;
}
void init_v2gEMAIDType(struct v2gEMAIDType* v2gEMAIDType) {
}
void init_v2gCableCheckReqType(struct v2gCableCheckReqType* v2gCableCheckReqType) {
}
void init_v2gPreChargeResType(struct v2gPreChargeResType* v2gPreChargeResType) {
} }
void init_v2gEVStatusType(struct v2gEVStatusType* v2gEVStatusType) { void init_v2gEVStatusType(struct v2gEVStatusType* v2gEVStatusType) {
} }
void init_v2gPhysicalValueType(struct v2gPhysicalValueType* v2gPhysicalValueType) { void init_v2gSAScheduleListType(struct v2gSAScheduleListType* v2gSAScheduleListType) {
} v2gSAScheduleListType->SAScheduleTuple.arrayLen = 0u;
void init_v2gContractSignatureEncryptedPrivateKeyType(struct v2gContractSignatureEncryptedPrivateKeyType* v2gContractSignatureEncryptedPrivateKeyType) {
}
void init_v2gPMaxScheduleType(struct v2gPMaxScheduleType* v2gPMaxScheduleType) {
v2gPMaxScheduleType->PMaxScheduleEntry.arrayLen = 0u;
}
void init_v2gNotificationType(struct v2gNotificationType* v2gNotificationType) {
v2gNotificationType->FaultMsg_isUsed = 0u;
}
void init_v2gChargingStatusReqType(struct v2gChargingStatusReqType* v2gChargingStatusReqType) {
}
void init_v2gChargeServiceType(struct v2gChargeServiceType* v2gChargeServiceType) {
v2gChargeServiceType->ServiceName_isUsed = 0u;
v2gChargeServiceType->ServiceScope_isUsed = 0u;
}
void init_v2gPowerDeliveryResType(struct v2gPowerDeliveryResType* v2gPowerDeliveryResType) {
v2gPowerDeliveryResType->EVSEStatus_isUsed = 0u;
v2gPowerDeliveryResType->AC_EVSEStatus_isUsed = 0u;
v2gPowerDeliveryResType->DC_EVSEStatus_isUsed = 0u;
}
void init_v2gEVSEStatusType(struct v2gEVSEStatusType* v2gEVSEStatusType) {
}
void init_v2gX509DataType(struct v2gX509DataType* v2gX509DataType) {
v2gX509DataType->X509IssuerSerial.arrayLen = 0u;
v2gX509DataType->X509SKI.arrayLen = 0u;
v2gX509DataType->X509SubjectName.arrayLen = 0u;
v2gX509DataType->X509Certificate.arrayLen = 0u;
v2gX509DataType->X509CRL.arrayLen = 0u;
}
void init_v2gPreChargeReqType(struct v2gPreChargeReqType* v2gPreChargeReqType) {
} }
void init_v2gDigestMethodType(struct v2gDigestMethodType* v2gDigestMethodType) { void init_v2gDigestMethodType(struct v2gDigestMethodType* v2gDigestMethodType) {
} }
void init_v2gPGPDataType(struct v2gPGPDataType* v2gPGPDataType) { void init_v2gCostType(struct v2gCostType* v2gCostType) {
v2gPGPDataType->PGPKeyID_isUsed = 0u; v2gCostType->amountMultiplier_isUsed = 0u;
v2gPGPDataType->PGPKeyPacket_isUsed = 0u;
} }
void init_v2gSASchedulesType(struct v2gSASchedulesType* v2gSASchedulesType) { void init_v2gMessageHeaderType(struct v2gMessageHeaderType* v2gMessageHeaderType) {
} v2gMessageHeaderType->Notification_isUsed = 0u;
v2gMessageHeaderType->Signature_isUsed = 0u;
void init_v2gTransformType(struct v2gTransformType* v2gTransformType) {
v2gTransformType->XPath.arrayLen = 0u;
}
void init_v2gPaymentDetailsReqType(struct v2gPaymentDetailsReqType* v2gPaymentDetailsReqType) {
}
void init_v2gDC_EVStatusType(struct v2gDC_EVStatusType* v2gDC_EVStatusType) {
}
void init_v2gPaymentServiceSelectionResType(struct v2gPaymentServiceSelectionResType* v2gPaymentServiceSelectionResType) {
}
void init_v2gDC_EVSEChargeParameterType(struct v2gDC_EVSEChargeParameterType* v2gDC_EVSEChargeParameterType) {
v2gDC_EVSEChargeParameterType->EVSECurrentRegulationTolerance_isUsed = 0u;
v2gDC_EVSEChargeParameterType->EVSEEnergyToBeDelivered_isUsed = 0u;
}
void init_v2gChargingStatusResType(struct v2gChargingStatusResType* v2gChargingStatusResType) {
v2gChargingStatusResType->EVSEMaxCurrent_isUsed = 0u;
v2gChargingStatusResType->MeterInfo_isUsed = 0u;
v2gChargingStatusResType->ReceiptRequired_isUsed = 0u;
}
void init_v2gObjectType(struct v2gObjectType* v2gObjectType) {
v2gObjectType->Id_isUsed = 0u;
v2gObjectType->MimeType_isUsed = 0u;
v2gObjectType->Encoding_isUsed = 0u;
}
void init_v2gPaymentOptionListType(struct v2gPaymentOptionListType* v2gPaymentOptionListType) {
v2gPaymentOptionListType->PaymentOption.arrayLen = 0u;
}
void init_v2gParameterSetType(struct v2gParameterSetType* v2gParameterSetType) {
v2gParameterSetType->Parameter.arrayLen = 0u;
}
void init_v2gAC_EVChargeParameterType(struct v2gAC_EVChargeParameterType* v2gAC_EVChargeParameterType) {
v2gAC_EVChargeParameterType->DepartureTime_isUsed = 0u;
}
void init_v2gManifestType(struct v2gManifestType* v2gManifestType) {
v2gManifestType->Id_isUsed = 0u;
v2gManifestType->Reference.arrayLen = 0u;
}
void init_v2gServiceDetailResType(struct v2gServiceDetailResType* v2gServiceDetailResType) {
v2gServiceDetailResType->ServiceParameterList_isUsed = 0u;
}
void init_v2gListOfRootCertificateIDsType(struct v2gListOfRootCertificateIDsType* v2gListOfRootCertificateIDsType) {
v2gListOfRootCertificateIDsType->RootCertificateID.arrayLen = 0u;
}
void init_v2gServiceType(struct v2gServiceType* v2gServiceType) {
v2gServiceType->ServiceName_isUsed = 0u;
v2gServiceType->ServiceScope_isUsed = 0u;
}
void init_v2gParameterType(struct v2gParameterType* v2gParameterType) {
v2gParameterType->boolValue_isUsed = 0u;
v2gParameterType->byteValue_isUsed = 0u;
v2gParameterType->shortValue_isUsed = 0u;
v2gParameterType->intValue_isUsed = 0u;
v2gParameterType->physicalValue_isUsed = 0u;
v2gParameterType->stringValue_isUsed = 0u;
}
void init_v2gDSAKeyValueType(struct v2gDSAKeyValueType* v2gDSAKeyValueType) {
v2gDSAKeyValueType->P_isUsed = 0u;
v2gDSAKeyValueType->Q_isUsed = 0u;
v2gDSAKeyValueType->G_isUsed = 0u;
v2gDSAKeyValueType->J_isUsed = 0u;
v2gDSAKeyValueType->Seed_isUsed = 0u;
v2gDSAKeyValueType->PgenCounter_isUsed = 0u;
}
void init_v2gAnonType_V2G_Message(struct v2gAnonType_V2G_Message* v2gAnonType_V2G_Message) {
}
void init_v2gEVChargeParameterType(struct v2gEVChargeParameterType* v2gEVChargeParameterType) {
v2gEVChargeParameterType->DepartureTime_isUsed = 0u;
}
void init_v2gProfileEntryType(struct v2gProfileEntryType* v2gProfileEntryType) {
v2gProfileEntryType->ChargingProfileEntryMaxNumberOfPhasesInUse_isUsed = 0u;
}
void init_v2gSignaturePropertyType(struct v2gSignaturePropertyType* v2gSignaturePropertyType) {
v2gSignaturePropertyType->Id_isUsed = 0u;
}
void init_v2gPMaxScheduleEntryType(struct v2gPMaxScheduleEntryType* v2gPMaxScheduleEntryType) {
v2gPMaxScheduleEntryType->TimeInterval_isUsed = 0u;
v2gPMaxScheduleEntryType->RelativeTimeInterval_isUsed = 0u;
}
void init_v2gKeyValueType(struct v2gKeyValueType* v2gKeyValueType) {
v2gKeyValueType->DSAKeyValue_isUsed = 0u;
v2gKeyValueType->RSAKeyValue_isUsed = 0u;
}
void init_v2gRetrievalMethodType(struct v2gRetrievalMethodType* v2gRetrievalMethodType) {
v2gRetrievalMethodType->URI_isUsed = 0u;
v2gRetrievalMethodType->Type_isUsed = 0u;
v2gRetrievalMethodType->Transforms_isUsed = 0u;
}
void init_v2gSessionStopReqType(struct v2gSessionStopReqType* v2gSessionStopReqType) {
} }
void init_v2gServiceDetailReqType(struct v2gServiceDetailReqType* v2gServiceDetailReqType) { void init_v2gServiceDetailReqType(struct v2gServiceDetailReqType* v2gServiceDetailReqType) {
} }
void init_v2gKeyInfoType(struct v2gKeyInfoType* v2gKeyInfoType) {
v2gKeyInfoType->Id_isUsed = 0u;
v2gKeyInfoType->KeyName.arrayLen = 0u;
v2gKeyInfoType->KeyValue.arrayLen = 0u;
v2gKeyInfoType->RetrievalMethod.arrayLen = 0u;
v2gKeyInfoType->X509Data.arrayLen = 0u;
v2gKeyInfoType->PGPData.arrayLen = 0u;
v2gKeyInfoType->SPKIData.arrayLen = 0u;
v2gKeyInfoType->MgmtData.arrayLen = 0u;
}
void init_v2gAC_EVSEStatusType(struct v2gAC_EVSEStatusType* v2gAC_EVSEStatusType) {
}
void init_v2gSelectedServiceListType(struct v2gSelectedServiceListType* v2gSelectedServiceListType) {
v2gSelectedServiceListType->SelectedService.arrayLen = 0u;
}
void init_v2gMeterInfoType(struct v2gMeterInfoType* v2gMeterInfoType) {
v2gMeterInfoType->MeterReading_isUsed = 0u;
v2gMeterInfoType->SigMeterReading_isUsed = 0u;
v2gMeterInfoType->MeterStatus_isUsed = 0u;
v2gMeterInfoType->TMeter_isUsed = 0u;
}
void init_v2gSPKIDataType(struct v2gSPKIDataType* v2gSPKIDataType) {
v2gSPKIDataType->SPKISexp.arrayLen = 0u;
}
void init_v2gChargeParameterDiscoveryResType(struct v2gChargeParameterDiscoveryResType* v2gChargeParameterDiscoveryResType) {
v2gChargeParameterDiscoveryResType->SASchedules_isUsed = 0u;
v2gChargeParameterDiscoveryResType->SAScheduleList_isUsed = 0u;
v2gChargeParameterDiscoveryResType->EVSEChargeParameter_isUsed = 0u;
v2gChargeParameterDiscoveryResType->AC_EVSEChargeParameter_isUsed = 0u;
v2gChargeParameterDiscoveryResType->DC_EVSEChargeParameter_isUsed = 0u;
}
void init_v2gTransformsType(struct v2gTransformsType* v2gTransformsType) { void init_v2gTransformsType(struct v2gTransformsType* v2gTransformsType) {
v2gTransformsType->Transform.arrayLen = 0u; v2gTransformsType->Transform.arrayLen = 0u;
} }
void init_v2gWeldingDetectionResType(struct v2gWeldingDetectionResType* v2gWeldingDetectionResType) {
}
void init_v2gPreChargeResType(struct v2gPreChargeResType* v2gPreChargeResType) {
}
void init_v2gAC_EVChargeParameterType(struct v2gAC_EVChargeParameterType* v2gAC_EVChargeParameterType) {
v2gAC_EVChargeParameterType->DepartureTime_isUsed = 0u;
}
void init_v2gSalesTariffEntryType(struct v2gSalesTariffEntryType* v2gSalesTariffEntryType) { void init_v2gSalesTariffEntryType(struct v2gSalesTariffEntryType* v2gSalesTariffEntryType) {
v2gSalesTariffEntryType->TimeInterval_isUsed = 0u; v2gSalesTariffEntryType->TimeInterval_isUsed = 0u;
v2gSalesTariffEntryType->RelativeTimeInterval_isUsed = 0u; v2gSalesTariffEntryType->RelativeTimeInterval_isUsed = 0u;
@ -571,64 +605,31 @@ void init_v2gSalesTariffEntryType(struct v2gSalesTariffEntryType* v2gSalesTariff
v2gSalesTariffEntryType->ConsumptionCost.arrayLen = 0u; v2gSalesTariffEntryType->ConsumptionCost.arrayLen = 0u;
} }
void init_v2gWeldingDetectionReqType(struct v2gWeldingDetectionReqType* v2gWeldingDetectionReqType) { void init_v2gPMaxScheduleEntryType(struct v2gPMaxScheduleEntryType* v2gPMaxScheduleEntryType) {
v2gPMaxScheduleEntryType->TimeInterval_isUsed = 0u;
v2gPMaxScheduleEntryType->RelativeTimeInterval_isUsed = 0u;
} }
void init_v2gSessionSetupResType(struct v2gSessionSetupResType* v2gSessionSetupResType) { void init_v2gBodyBaseType(struct v2gBodyBaseType* v2gBodyBaseType) {
v2gSessionSetupResType->EVSETimeStamp_isUsed = 0u;
} }
void init_v2gSignatureMethodType(struct v2gSignatureMethodType* v2gSignatureMethodType) { void init_v2gSalesTariffType(struct v2gSalesTariffType* v2gSalesTariffType) {
v2gSignatureMethodType->HMACOutputLength_isUsed = 0u; v2gSalesTariffType->Id_isUsed = 0u;
v2gSalesTariffType->SalesTariffDescription_isUsed = 0u;
v2gSalesTariffType->NumEPriceLevels_isUsed = 0u;
v2gSalesTariffType->SalesTariffEntry.arrayLen = 0u;
} }
void init_v2gCurrentDemandResType(struct v2gCurrentDemandResType* v2gCurrentDemandResType) { void init_v2gTransformType(struct v2gTransformType* v2gTransformType) {
v2gCurrentDemandResType->EVSEMaximumVoltageLimit_isUsed = 0u; v2gTransformType->XPath.arrayLen = 0u;
v2gCurrentDemandResType->EVSEMaximumCurrentLimit_isUsed = 0u;
v2gCurrentDemandResType->EVSEMaximumPowerLimit_isUsed = 0u;
v2gCurrentDemandResType->MeterInfo_isUsed = 0u;
v2gCurrentDemandResType->ReceiptRequired_isUsed = 0u;
} }
void init_v2gChargeParameterDiscoveryReqType(struct v2gChargeParameterDiscoveryReqType* v2gChargeParameterDiscoveryReqType) { void init_v2gDiffieHellmanPublickeyType(struct v2gDiffieHellmanPublickeyType* v2gDiffieHellmanPublickeyType) {
v2gChargeParameterDiscoveryReqType->MaxEntriesSAScheduleTuple_isUsed = 0u;
v2gChargeParameterDiscoveryReqType->EVChargeParameter_isUsed = 0u;
v2gChargeParameterDiscoveryReqType->AC_EVChargeParameter_isUsed = 0u;
v2gChargeParameterDiscoveryReqType->DC_EVChargeParameter_isUsed = 0u;
}
void init_v2gCableCheckResType(struct v2gCableCheckResType* v2gCableCheckResType) {
}
void init_v2gRelativeTimeIntervalType(struct v2gRelativeTimeIntervalType* v2gRelativeTimeIntervalType) {
v2gRelativeTimeIntervalType->duration_isUsed = 0u;
}
void init_v2gSAScheduleTupleType(struct v2gSAScheduleTupleType* v2gSAScheduleTupleType) {
v2gSAScheduleTupleType->SalesTariff_isUsed = 0u;
}
void init_v2gDC_EVSEStatusType(struct v2gDC_EVSEStatusType* v2gDC_EVSEStatusType) {
v2gDC_EVSEStatusType->EVSEIsolationStatus_isUsed = 0u;
}
void init_v2gIntervalType(struct v2gIntervalType* v2gIntervalType) {
}
void init_v2gReferenceType(struct v2gReferenceType* v2gReferenceType) {
v2gReferenceType->Id_isUsed = 0u;
v2gReferenceType->URI_isUsed = 0u;
v2gReferenceType->Type_isUsed = 0u;
v2gReferenceType->Transforms_isUsed = 0u;
}
void init_v2gCertificateUpdateResType(struct v2gCertificateUpdateResType* v2gCertificateUpdateResType) {
v2gCertificateUpdateResType->RetryCounter_isUsed = 0u;
} }
#endif /* DEPLOY_ISO_CODEC */
#endif #endif

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

View file

@ -18,7 +18,7 @@
/******************************************************************* /*******************************************************************
* *
* @author Daniel.Peintner.EXT@siemens.com * @author Daniel.Peintner.EXT@siemens.com
* @version 0.9.1 * @version 0.9.2
* @contact Joerg.Heuer@siemens.com * @contact Joerg.Heuer@siemens.com
* *
* <p>Code generated by EXIdizer</p> * <p>Code generated by EXIdizer</p>
@ -42,6 +42,7 @@
extern "C" { extern "C" {
#endif #endif
#if DEPLOY_ISO_CODEC == SUPPORT_YES
#include <stdint.h> #include <stdint.h>
@ -50,6 +51,8 @@ extern "C" {
int decode_v2gExiDocument(bitstream_t* stream, struct v2gEXIDocument* exiDoc); int decode_v2gExiDocument(bitstream_t* stream, struct v2gEXIDocument* exiDoc);
#endif /* DEPLOY_ISO_CODEC */
#ifdef __cplusplus #ifdef __cplusplus
} }
#endif #endif

File diff suppressed because it is too large Load diff

View file

@ -18,7 +18,7 @@
/******************************************************************* /*******************************************************************
* *
* @author Daniel.Peintner.EXT@siemens.com * @author Daniel.Peintner.EXT@siemens.com
* @version 0.9.1 * @version 0.9.2
* @contact Joerg.Heuer@siemens.com * @contact Joerg.Heuer@siemens.com
* *
* <p>Code generated by EXIdizer</p> * <p>Code generated by EXIdizer</p>
@ -42,6 +42,8 @@
extern "C" { extern "C" {
#endif #endif
#if DEPLOY_ISO_CODEC == SUPPORT_YES
#include <stdint.h> #include <stdint.h>
#include "EXITypes.h" #include "EXITypes.h"
@ -50,6 +52,7 @@ extern "C" {
int encode_v2gExiDocument(bitstream_t* stream, struct v2gEXIDocument* exiDoc); int encode_v2gExiDocument(bitstream_t* stream, struct v2gEXIDocument* exiDoc);
#endif /* DEPLOY_ISO_CODEC */
#ifdef __cplusplus #ifdef __cplusplus
} }

View file

@ -18,7 +18,7 @@
/******************************************************************* /*******************************************************************
* *
* @author Daniel.Peintner.EXT@siemens.com * @author Daniel.Peintner.EXT@siemens.com
* @version 0.9.1 * @version 0.9.2
* @contact Joerg.Heuer@siemens.com * @contact Joerg.Heuer@siemens.com
* *
* <p>Code generated by EXIdizer</p> * <p>Code generated by EXIdizer</p>
@ -27,18 +27,19 @@
* *
********************************************************************/ ********************************************************************/
#include <stdint.h> #include <stdint.h>
#include "dinEXIDatatypes.h" #include "dinEXIDatatypes.h"
#include "EXITypes.h" #include "EXITypes.h"
#ifndef EXI_din_DATATYPES_C #ifndef EXI_din_DATATYPES_C
#define EXI_din_DATATYPES_C #define EXI_din_DATATYPES_C
#if DEPLOY_DIN_CODEC == SUPPORT_YES #if DEPLOY_DIN_CODEC == SUPPORT_YES
void init_dinEXIDocument(struct dinEXIDocument* exiDoc) { void init_dinEXIDocument(struct dinEXIDocument* exiDoc) {
exiDoc->BodyElement_isUsed = 0u; exiDoc->BodyElement_isUsed = 0u;
@ -124,28 +125,172 @@ void init_dinEXIDocument(struct dinEXIDocument* exiDoc) {
exiDoc->ServiceDetailRes_isUsed = 0u; exiDoc->ServiceDetailRes_isUsed = 0u;
} }
void init_dinPreChargeReqType(struct dinPreChargeReqType* dinPreChargeReqType) { void init_dinPreChargeResType(struct dinPreChargeResType* dinPreChargeResType) {
} }
void init_dinNotificationType(struct dinNotificationType* dinNotificationType) { void init_dinMessageHeaderType(struct dinMessageHeaderType* dinMessageHeaderType) {
dinNotificationType->FaultMsg_isUsed = 0u; dinMessageHeaderType->Notification_isUsed = 0u;
dinMessageHeaderType->Signature_isUsed = 0u;
} }
void init_dinServiceTagType(struct dinServiceTagType* dinServiceTagType) { void init_dinServiceDetailReqType(struct dinServiceDetailReqType* dinServiceDetailReqType) {
dinServiceTagType->ServiceName_isUsed = 0u; }
dinServiceTagType->ServiceScope_isUsed = 0u;
void init_dinEVSEChargeParameterType(struct dinEVSEChargeParameterType* dinEVSEChargeParameterType) {
}
void init_dinRetrievalMethodType(struct dinRetrievalMethodType* dinRetrievalMethodType) {
dinRetrievalMethodType->URI_isUsed = 0u;
dinRetrievalMethodType->Type_isUsed = 0u;
dinRetrievalMethodType->Transforms_isUsed = 0u;
}
void init_dinSessionSetupResType(struct dinSessionSetupResType* dinSessionSetupResType) {
dinSessionSetupResType->DateTimeNow_isUsed = 0u;
}
void init_dinRSAKeyValueType(struct dinRSAKeyValueType* dinRSAKeyValueType) {
}
void init_dinCertificateInstallationResType(struct dinCertificateInstallationResType* dinCertificateInstallationResType) {
}
void init_dinDC_EVChargeParameterType(struct dinDC_EVChargeParameterType* dinDC_EVChargeParameterType) {
dinDC_EVChargeParameterType->EVMaximumPowerLimit_isUsed = 0u;
dinDC_EVChargeParameterType->EVEnergyCapacity_isUsed = 0u;
dinDC_EVChargeParameterType->EVEnergyRequest_isUsed = 0u;
dinDC_EVChargeParameterType->FullSOC_isUsed = 0u;
dinDC_EVChargeParameterType->BulkSOC_isUsed = 0u;
}
void init_dinSPKIDataType(struct dinSPKIDataType* dinSPKIDataType) {
dinSPKIDataType->SPKISexp.arrayLen = 0u;
}
void init_dinChargeParameterDiscoveryReqType(struct dinChargeParameterDiscoveryReqType* dinChargeParameterDiscoveryReqType) {
dinChargeParameterDiscoveryReqType->EVChargeParameter_isUsed = 0u;
dinChargeParameterDiscoveryReqType->AC_EVChargeParameter_isUsed = 0u;
dinChargeParameterDiscoveryReqType->DC_EVChargeParameter_isUsed = 0u;
}
void init_dinBodyBaseType(struct dinBodyBaseType* dinBodyBaseType) {
}
void init_dinProfileEntryType(struct dinProfileEntryType* dinProfileEntryType) {
}
void init_dinCertificateInstallationReqType(struct dinCertificateInstallationReqType* dinCertificateInstallationReqType) {
dinCertificateInstallationReqType->Id_isUsed = 0u;
}
void init_dinSignatureMethodType(struct dinSignatureMethodType* dinSignatureMethodType) {
dinSignatureMethodType->HMACOutputLength_isUsed = 0u;
}
void init_dinIntervalType(struct dinIntervalType* dinIntervalType) {
}
void init_dinSelectedServiceListType(struct dinSelectedServiceListType* dinSelectedServiceListType) {
dinSelectedServiceListType->SelectedService.arrayLen = 0u;
}
void init_dinCableCheckReqType(struct dinCableCheckReqType* dinCableCheckReqType) {
}
void init_dinServicePaymentSelectionResType(struct dinServicePaymentSelectionResType* dinServicePaymentSelectionResType) {
}
void init_dinChargeParameterDiscoveryResType(struct dinChargeParameterDiscoveryResType* dinChargeParameterDiscoveryResType) {
dinChargeParameterDiscoveryResType->SASchedules_isUsed = 0u;
dinChargeParameterDiscoveryResType->SAScheduleList_isUsed = 0u;
dinChargeParameterDiscoveryResType->EVSEChargeParameter_isUsed = 0u;
dinChargeParameterDiscoveryResType->AC_EVSEChargeParameter_isUsed = 0u;
dinChargeParameterDiscoveryResType->DC_EVSEChargeParameter_isUsed = 0u;
}
void init_dinX509IssuerSerialType(struct dinX509IssuerSerialType* dinX509IssuerSerialType) {
}
void init_dinCableCheckResType(struct dinCableCheckResType* dinCableCheckResType) {
}
void init_dinMeterInfoType(struct dinMeterInfoType* dinMeterInfoType) {
dinMeterInfoType->MeterReading_isUsed = 0u;
dinMeterInfoType->SigMeterReading_isUsed = 0u;
dinMeterInfoType->MeterStatus_isUsed = 0u;
dinMeterInfoType->TMeter_isUsed = 0u;
}
void init_dinCurrentDemandResType(struct dinCurrentDemandResType* dinCurrentDemandResType) {
dinCurrentDemandResType->EVSEMaximumVoltageLimit_isUsed = 0u;
dinCurrentDemandResType->EVSEMaximumCurrentLimit_isUsed = 0u;
dinCurrentDemandResType->EVSEMaximumPowerLimit_isUsed = 0u;
}
void init_dinParameterSetType(struct dinParameterSetType* dinParameterSetType) {
dinParameterSetType->Parameter.arrayLen = 0u;
}
void init_dinSubCertificatesType(struct dinSubCertificatesType* dinSubCertificatesType) {
dinSubCertificatesType->Certificate.arrayLen = 0u;
}
void init_dinEVSEStatusType(struct dinEVSEStatusType* dinEVSEStatusType) {
}
void init_dinAC_EVSEStatusType(struct dinAC_EVSEStatusType* dinAC_EVSEStatusType) {
}
void init_dinEntryType(struct dinEntryType* dinEntryType) {
dinEntryType->TimeInterval_isUsed = 0u;
dinEntryType->RelativeTimeInterval_isUsed = 0u;
}
void init_dinPowerDeliveryReqType(struct dinPowerDeliveryReqType* dinPowerDeliveryReqType) {
dinPowerDeliveryReqType->ChargingProfile_isUsed = 0u;
dinPowerDeliveryReqType->EVPowerDeliveryParameter_isUsed = 0u;
dinPowerDeliveryReqType->DC_EVPowerDeliveryParameter_isUsed = 0u;
} }
void init_dinCostType(struct dinCostType* dinCostType) { void init_dinCostType(struct dinCostType* dinCostType) {
dinCostType->amountMultiplier_isUsed = 0u; dinCostType->amountMultiplier_isUsed = 0u;
} }
void init_dinX509DataType(struct dinX509DataType* dinX509DataType) { void init_dinWeldingDetectionReqType(struct dinWeldingDetectionReqType* dinWeldingDetectionReqType) {
dinX509DataType->X509IssuerSerial.arrayLen = 0u; }
dinX509DataType->X509SKI.arrayLen = 0u;
dinX509DataType->X509SubjectName.arrayLen = 0u; void init_dinServiceDiscoveryResType(struct dinServiceDiscoveryResType* dinServiceDiscoveryResType) {
dinX509DataType->X509Certificate.arrayLen = 0u; dinServiceDiscoveryResType->ServiceList_isUsed = 0u;
dinX509DataType->X509CRL.arrayLen = 0u; }
void init_dinPaymentOptionsType(struct dinPaymentOptionsType* dinPaymentOptionsType) {
dinPaymentOptionsType->PaymentOption.arrayLen = 0u;
}
void init_dinPGPDataType(struct dinPGPDataType* dinPGPDataType) {
dinPGPDataType->PGPKeyID_isUsed = 0u;
dinPGPDataType->PGPKeyPacket_isUsed = 0u;
}
void init_dinChargingProfileType(struct dinChargingProfileType* dinChargingProfileType) {
dinChargingProfileType->ProfileEntry.arrayLen = 0u;
}
void init_dinCurrentDemandReqType(struct dinCurrentDemandReqType* dinCurrentDemandReqType) {
dinCurrentDemandReqType->EVMaximumVoltageLimit_isUsed = 0u;
dinCurrentDemandReqType->EVMaximumCurrentLimit_isUsed = 0u;
dinCurrentDemandReqType->EVMaximumPowerLimit_isUsed = 0u;
dinCurrentDemandReqType->BulkChargingComplete_isUsed = 0u;
dinCurrentDemandReqType->RemainingTimeToFullSoC_isUsed = 0u;
dinCurrentDemandReqType->RemainingTimeToBulkSoC_isUsed = 0u;
}
void init_dinSignedInfoType(struct dinSignedInfoType* dinSignedInfoType) {
dinSignedInfoType->Id_isUsed = 0u;
dinSignedInfoType->Reference.arrayLen = 0u;
}
void init_dinServiceType(struct dinServiceType* dinServiceType) {
} }
void init_dinBodyType(struct dinBodyType* dinBodyType) { void init_dinBodyType(struct dinBodyType* dinBodyType) {
@ -186,33 +331,71 @@ void init_dinBodyType(struct dinBodyType* dinBodyType) {
dinBodyType->WeldingDetectionRes_isUsed = 0u; dinBodyType->WeldingDetectionRes_isUsed = 0u;
} }
void init_dinRetrievalMethodType(struct dinRetrievalMethodType* dinRetrievalMethodType) {
dinRetrievalMethodType->URI_isUsed = 0u;
dinRetrievalMethodType->Type_isUsed = 0u;
dinRetrievalMethodType->Transforms_isUsed = 0u;
}
void init_dinCertificateInstallationReqType(struct dinCertificateInstallationReqType* dinCertificateInstallationReqType) {
dinCertificateInstallationReqType->Id_isUsed = 0u;
}
void init_dinAC_EVChargeParameterType(struct dinAC_EVChargeParameterType* dinAC_EVChargeParameterType) { void init_dinAC_EVChargeParameterType(struct dinAC_EVChargeParameterType* dinAC_EVChargeParameterType) {
} }
void init_dinObjectType(struct dinObjectType* dinObjectType) { void init_dinSAScheduleTupleType(struct dinSAScheduleTupleType* dinSAScheduleTupleType) {
dinObjectType->Id_isUsed = 0u; dinSAScheduleTupleType->SalesTariff_isUsed = 0u;
dinObjectType->MimeType_isUsed = 0u; }
dinObjectType->Encoding_isUsed = 0u;
void init_dinSAScheduleListType(struct dinSAScheduleListType* dinSAScheduleListType) {
dinSAScheduleListType->SAScheduleTuple.arrayLen = 0u;
}
void init_dinServicePaymentSelectionReqType(struct dinServicePaymentSelectionReqType* dinServicePaymentSelectionReqType) {
}
void init_dinPMaxScheduleType(struct dinPMaxScheduleType* dinPMaxScheduleType) {
dinPMaxScheduleType->PMaxScheduleEntry.arrayLen = 0u;
}
void init_dinListOfRootCertificateIDsType(struct dinListOfRootCertificateIDsType* dinListOfRootCertificateIDsType) {
dinListOfRootCertificateIDsType->RootCertificateID.arrayLen = 0u;
}
void init_dinCanonicalizationMethodType(struct dinCanonicalizationMethodType* dinCanonicalizationMethodType) {
}
void init_dinTransformType(struct dinTransformType* dinTransformType) {
dinTransformType->XPath.arrayLen = 0u;
}
void init_dinKeyInfoType(struct dinKeyInfoType* dinKeyInfoType) {
dinKeyInfoType->Id_isUsed = 0u;
dinKeyInfoType->KeyName.arrayLen = 0u;
dinKeyInfoType->KeyValue.arrayLen = 0u;
dinKeyInfoType->RetrievalMethod.arrayLen = 0u;
dinKeyInfoType->X509Data.arrayLen = 0u;
dinKeyInfoType->PGPData.arrayLen = 0u;
dinKeyInfoType->SPKIData.arrayLen = 0u;
dinKeyInfoType->MgmtData.arrayLen = 0u;
} }
void init_dinContractAuthenticationResType(struct dinContractAuthenticationResType* dinContractAuthenticationResType) { void init_dinContractAuthenticationResType(struct dinContractAuthenticationResType* dinContractAuthenticationResType) {
} }
void init_dinChargingProfileType(struct dinChargingProfileType* dinChargingProfileType) { void init_dinServiceChargeType(struct dinServiceChargeType* dinServiceChargeType) {
dinChargingProfileType->ProfileEntry.arrayLen = 0u;
} }
void init_dinCertificateUpdateResType(struct dinCertificateUpdateResType* dinCertificateUpdateResType) { void init_dinServiceParameterListType(struct dinServiceParameterListType* dinServiceParameterListType) {
dinServiceParameterListType->ParameterSet.arrayLen = 0u;
}
void init_dinSignatureType(struct dinSignatureType* dinSignatureType) {
dinSignatureType->Id_isUsed = 0u;
dinSignatureType->KeyInfo_isUsed = 0u;
dinSignatureType->Object.arrayLen = 0u;
}
void init_dinMeteringReceiptResType(struct dinMeteringReceiptResType* dinMeteringReceiptResType) {
}
void init_dinX509DataType(struct dinX509DataType* dinX509DataType) {
dinX509DataType->X509IssuerSerial.arrayLen = 0u;
dinX509DataType->X509SKI.arrayLen = 0u;
dinX509DataType->X509SubjectName.arrayLen = 0u;
dinX509DataType->X509Certificate.arrayLen = 0u;
dinX509DataType->X509CRL.arrayLen = 0u;
} }
void init_dinReferenceType(struct dinReferenceType* dinReferenceType) { void init_dinReferenceType(struct dinReferenceType* dinReferenceType) {
@ -222,38 +405,24 @@ void init_dinReferenceType(struct dinReferenceType* dinReferenceType) {
dinReferenceType->Transforms_isUsed = 0u; dinReferenceType->Transforms_isUsed = 0u;
} }
void init_dinPMaxScheduleEntryType(struct dinPMaxScheduleEntryType* dinPMaxScheduleEntryType) { void init_dinPhysicalValueType(struct dinPhysicalValueType* dinPhysicalValueType) {
dinPMaxScheduleEntryType->TimeInterval_isUsed = 0u; dinPhysicalValueType->Unit_isUsed = 0u;
dinPMaxScheduleEntryType->RelativeTimeInterval_isUsed = 0u;
} }
void init_dinServicePaymentSelectionReqType(struct dinServicePaymentSelectionReqType* dinServicePaymentSelectionReqType) { void init_dinRelativeTimeIntervalType(struct dinRelativeTimeIntervalType* dinRelativeTimeIntervalType) {
dinRelativeTimeIntervalType->duration_isUsed = 0u;
} }
void init_dinCertificateInstallationResType(struct dinCertificateInstallationResType* dinCertificateInstallationResType) { void init_dinSalesTariffType(struct dinSalesTariffType* dinSalesTariffType) {
dinSalesTariffType->SalesTariffDescription_isUsed = 0u;
dinSalesTariffType->SalesTariffEntry.arrayLen = 0u;
} }
void init_dinSelectedServiceType(struct dinSelectedServiceType* dinSelectedServiceType) { void init_dinSignatureValueType(struct dinSignatureValueType* dinSignatureValueType) {
dinSelectedServiceType->ParameterSetID_isUsed = 0u; dinSignatureValueType->Id_isUsed = 0u;
} }
void init_dinDC_EVStatusType(struct dinDC_EVStatusType* dinDC_EVStatusType) { void init_dinEVStatusType(struct dinEVStatusType* dinEVStatusType) {
dinDC_EVStatusType->EVCabinConditioning_isUsed = 0u;
dinDC_EVStatusType->EVRESSConditioning_isUsed = 0u;
}
void init_dinPGPDataType(struct dinPGPDataType* dinPGPDataType) {
dinPGPDataType->PGPKeyID_isUsed = 0u;
dinPGPDataType->PGPKeyPacket_isUsed = 0u;
}
void init_dinCurrentDemandResType(struct dinCurrentDemandResType* dinCurrentDemandResType) {
dinCurrentDemandResType->EVSEMaximumVoltageLimit_isUsed = 0u;
dinCurrentDemandResType->EVSEMaximumCurrentLimit_isUsed = 0u;
dinCurrentDemandResType->EVSEMaximumPowerLimit_isUsed = 0u;
}
void init_dinCableCheckReqType(struct dinCableCheckReqType* dinCableCheckReqType) {
} }
void init_dinChargingStatusResType(struct dinChargingStatusResType* dinChargingStatusResType) { void init_dinChargingStatusResType(struct dinChargingStatusResType* dinChargingStatusResType) {
@ -261,128 +430,24 @@ void init_dinChargingStatusResType(struct dinChargingStatusResType* dinChargingS
dinChargingStatusResType->MeterInfo_isUsed = 0u; dinChargingStatusResType->MeterInfo_isUsed = 0u;
} }
void init_dinWeldingDetectionReqType(struct dinWeldingDetectionReqType* dinWeldingDetectionReqType) { void init_dinManifestType(struct dinManifestType* dinManifestType) {
dinManifestType->Id_isUsed = 0u;
dinManifestType->Reference.arrayLen = 0u;
} }
void init_dinServiceParameterListType(struct dinServiceParameterListType* dinServiceParameterListType) { void init_dinSASchedulesType(struct dinSASchedulesType* dinSASchedulesType) {
dinServiceParameterListType->ParameterSet.arrayLen = 0u;
} }
void init_dinCertificateChainType(struct dinCertificateChainType* dinCertificateChainType) { void init_dinPMaxScheduleEntryType(struct dinPMaxScheduleEntryType* dinPMaxScheduleEntryType) {
dinCertificateChainType->SubCertificates_isUsed = 0u; dinPMaxScheduleEntryType->TimeInterval_isUsed = 0u;
} dinPMaxScheduleEntryType->RelativeTimeInterval_isUsed = 0u;
void init_dinPowerDeliveryResType(struct dinPowerDeliveryResType* dinPowerDeliveryResType) {
dinPowerDeliveryResType->EVSEStatus_isUsed = 0u;
dinPowerDeliveryResType->AC_EVSEStatus_isUsed = 0u;
dinPowerDeliveryResType->DC_EVSEStatus_isUsed = 0u;
}
void init_dinAC_EVSEChargeParameterType(struct dinAC_EVSEChargeParameterType* dinAC_EVSEChargeParameterType) {
}
void init_dinAnonType_V2G_Message(struct dinAnonType_V2G_Message* dinAnonType_V2G_Message) {
}
void init_dinConsumptionCostType(struct dinConsumptionCostType* dinConsumptionCostType) {
dinConsumptionCostType->Cost.arrayLen = 0u;
} }
void init_dinDC_EVSEStatusType(struct dinDC_EVSEStatusType* dinDC_EVSEStatusType) { void init_dinDC_EVSEStatusType(struct dinDC_EVSEStatusType* dinDC_EVSEStatusType) {
dinDC_EVSEStatusType->EVSEIsolationStatus_isUsed = 0u; dinDC_EVSEStatusType->EVSEIsolationStatus_isUsed = 0u;
} }
void init_dinWeldingDetectionResType(struct dinWeldingDetectionResType* dinWeldingDetectionResType) { void init_dinPreChargeReqType(struct dinPreChargeReqType* dinPreChargeReqType) {
}
void init_dinSessionSetupReqType(struct dinSessionSetupReqType* dinSessionSetupReqType) {
}
void init_dinSessionSetupResType(struct dinSessionSetupResType* dinSessionSetupResType) {
dinSessionSetupResType->DateTimeNow_isUsed = 0u;
}
void init_dinServiceDetailResType(struct dinServiceDetailResType* dinServiceDetailResType) {
dinServiceDetailResType->ServiceParameterList_isUsed = 0u;
}
void init_dinSPKIDataType(struct dinSPKIDataType* dinSPKIDataType) {
dinSPKIDataType->SPKISexp.arrayLen = 0u;
}
void init_dinPowerDeliveryReqType(struct dinPowerDeliveryReqType* dinPowerDeliveryReqType) {
dinPowerDeliveryReqType->ChargingProfile_isUsed = 0u;
dinPowerDeliveryReqType->EVPowerDeliveryParameter_isUsed = 0u;
dinPowerDeliveryReqType->DC_EVPowerDeliveryParameter_isUsed = 0u;
}
void init_dinPreChargeResType(struct dinPreChargeResType* dinPreChargeResType) {
}
void init_dinCanonicalizationMethodType(struct dinCanonicalizationMethodType* dinCanonicalizationMethodType) {
}
void init_dinServiceChargeType(struct dinServiceChargeType* dinServiceChargeType) {
}
void init_dinEVChargeParameterType(struct dinEVChargeParameterType* dinEVChargeParameterType) {
}
void init_dinSAScheduleListType(struct dinSAScheduleListType* dinSAScheduleListType) {
dinSAScheduleListType->SAScheduleTuple.arrayLen = 0u;
}
void init_dinSASchedulesType(struct dinSASchedulesType* dinSASchedulesType) {
}
void init_dinPhysicalValueType(struct dinPhysicalValueType* dinPhysicalValueType) {
dinPhysicalValueType->Unit_isUsed = 0u;
}
void init_dinSAScheduleTupleType(struct dinSAScheduleTupleType* dinSAScheduleTupleType) {
dinSAScheduleTupleType->SalesTariff_isUsed = 0u;
}
void init_dinCertificateUpdateReqType(struct dinCertificateUpdateReqType* dinCertificateUpdateReqType) {
dinCertificateUpdateReqType->Id_isUsed = 0u;
}
void init_dinSignatureMethodType(struct dinSignatureMethodType* dinSignatureMethodType) {
dinSignatureMethodType->HMACOutputLength_isUsed = 0u;
}
void init_dinDigestMethodType(struct dinDigestMethodType* dinDigestMethodType) {
}
void init_dinKeyValueType(struct dinKeyValueType* dinKeyValueType) {
dinKeyValueType->DSAKeyValue_isUsed = 0u;
dinKeyValueType->RSAKeyValue_isUsed = 0u;
}
void init_dinContractAuthenticationReqType(struct dinContractAuthenticationReqType* dinContractAuthenticationReqType) {
dinContractAuthenticationReqType->Id_isUsed = 0u;
dinContractAuthenticationReqType->GenChallenge_isUsed = 0u;
}
void init_dinServiceDiscoveryReqType(struct dinServiceDiscoveryReqType* dinServiceDiscoveryReqType) {
dinServiceDiscoveryReqType->ServiceScope_isUsed = 0u;
dinServiceDiscoveryReqType->ServiceCategory_isUsed = 0u;
}
void init_dinServiceDetailReqType(struct dinServiceDetailReqType* dinServiceDetailReqType) {
}
void init_dinSignedInfoType(struct dinSignedInfoType* dinSignedInfoType) {
dinSignedInfoType->Id_isUsed = 0u;
dinSignedInfoType->Reference.arrayLen = 0u;
}
void init_dinMeteringReceiptReqType(struct dinMeteringReceiptReqType* dinMeteringReceiptReqType) {
dinMeteringReceiptReqType->Id_isUsed = 0u;
dinMeteringReceiptReqType->SAScheduleTupleID_isUsed = 0u;
}
void init_dinX509IssuerSerialType(struct dinX509IssuerSerialType* dinX509IssuerSerialType) {
} }
void init_dinTransformsType(struct dinTransformsType* dinTransformsType) { void init_dinTransformsType(struct dinTransformsType* dinTransformsType) {
@ -398,45 +463,58 @@ void init_dinParameterType(struct dinParameterType* dinParameterType) {
dinParameterType->stringValue_isUsed = 0u; dinParameterType->stringValue_isUsed = 0u;
} }
void init_dinIntervalType(struct dinIntervalType* dinIntervalType) { void init_dinPaymentDetailsResType(struct dinPaymentDetailsResType* dinPaymentDetailsResType) {
} }
void init_dinRelativeTimeIntervalType(struct dinRelativeTimeIntervalType* dinRelativeTimeIntervalType) { void init_dinPowerDeliveryResType(struct dinPowerDeliveryResType* dinPowerDeliveryResType) {
dinRelativeTimeIntervalType->duration_isUsed = 0u; dinPowerDeliveryResType->EVSEStatus_isUsed = 0u;
dinPowerDeliveryResType->AC_EVSEStatus_isUsed = 0u;
dinPowerDeliveryResType->DC_EVSEStatus_isUsed = 0u;
} }
void init_dinKeyInfoType(struct dinKeyInfoType* dinKeyInfoType) { void init_dinCertificateChainType(struct dinCertificateChainType* dinCertificateChainType) {
dinKeyInfoType->Id_isUsed = 0u; dinCertificateChainType->SubCertificates_isUsed = 0u;
dinKeyInfoType->KeyName.arrayLen = 0u;
dinKeyInfoType->KeyValue.arrayLen = 0u;
dinKeyInfoType->RetrievalMethod.arrayLen = 0u;
dinKeyInfoType->X509Data.arrayLen = 0u;
dinKeyInfoType->PGPData.arrayLen = 0u;
dinKeyInfoType->SPKIData.arrayLen = 0u;
dinKeyInfoType->MgmtData.arrayLen = 0u;
} }
void init_dinEntryType(struct dinEntryType* dinEntryType) { void init_dinDC_EVStatusType(struct dinDC_EVStatusType* dinDC_EVStatusType) {
dinEntryType->TimeInterval_isUsed = 0u; dinDC_EVStatusType->EVCabinConditioning_isUsed = 0u;
dinEntryType->RelativeTimeInterval_isUsed = 0u; dinDC_EVStatusType->EVRESSConditioning_isUsed = 0u;
} }
void init_dinEVStatusType(struct dinEVStatusType* dinEVStatusType) { void init_dinSelectedServiceType(struct dinSelectedServiceType* dinSelectedServiceType) {
dinSelectedServiceType->ParameterSetID_isUsed = 0u;
} }
void init_dinChargingStatusReqType(struct dinChargingStatusReqType* dinChargingStatusReqType) { void init_dinServiceTagType(struct dinServiceTagType* dinServiceTagType) {
dinServiceTagType->ServiceName_isUsed = 0u;
dinServiceTagType->ServiceScope_isUsed = 0u;
} }
void init_dinChargeParameterDiscoveryResType(struct dinChargeParameterDiscoveryResType* dinChargeParameterDiscoveryResType) { void init_dinContractAuthenticationReqType(struct dinContractAuthenticationReqType* dinContractAuthenticationReqType) {
dinChargeParameterDiscoveryResType->SASchedules_isUsed = 0u; dinContractAuthenticationReqType->Id_isUsed = 0u;
dinChargeParameterDiscoveryResType->SAScheduleList_isUsed = 0u; dinContractAuthenticationReqType->GenChallenge_isUsed = 0u;
dinChargeParameterDiscoveryResType->EVSEChargeParameter_isUsed = 0u;
dinChargeParameterDiscoveryResType->AC_EVSEChargeParameter_isUsed = 0u;
dinChargeParameterDiscoveryResType->DC_EVSEChargeParameter_isUsed = 0u;
} }
void init_dinPMaxScheduleType(struct dinPMaxScheduleType* dinPMaxScheduleType) { void init_dinDC_EVPowerDeliveryParameterType(struct dinDC_EVPowerDeliveryParameterType* dinDC_EVPowerDeliveryParameterType) {
dinPMaxScheduleType->PMaxScheduleEntry.arrayLen = 0u; dinDC_EVPowerDeliveryParameterType->BulkChargingComplete_isUsed = 0u;
}
void init_dinServiceDiscoveryReqType(struct dinServiceDiscoveryReqType* dinServiceDiscoveryReqType) {
dinServiceDiscoveryReqType->ServiceScope_isUsed = 0u;
dinServiceDiscoveryReqType->ServiceCategory_isUsed = 0u;
}
void init_dinSessionStopType(struct dinSessionStopType* dinSessionStopType) {
}
void init_dinServiceTagListType(struct dinServiceTagListType* dinServiceTagListType) {
dinServiceTagListType->Service.arrayLen = 0u;
}
void init_dinWeldingDetectionResType(struct dinWeldingDetectionResType* dinWeldingDetectionResType) {
}
void init_dinAnonType_V2G_Message(struct dinAnonType_V2G_Message* dinAnonType_V2G_Message) {
} }
void init_dinDC_EVSEChargeParameterType(struct dinDC_EVSEChargeParameterType* dinDC_EVSEChargeParameterType) { void init_dinDC_EVSEChargeParameterType(struct dinDC_EVSEChargeParameterType* dinDC_EVSEChargeParameterType) {
@ -445,119 +523,33 @@ void init_dinDC_EVSEChargeParameterType(struct dinDC_EVSEChargeParameterType* di
dinDC_EVSEChargeParameterType->EVSEEnergyToBeDelivered_isUsed = 0u; dinDC_EVSEChargeParameterType->EVSEEnergyToBeDelivered_isUsed = 0u;
} }
void init_dinCableCheckResType(struct dinCableCheckResType* dinCableCheckResType) { void init_dinSalesTariffEntryType(struct dinSalesTariffEntryType* dinSalesTariffEntryType) {
dinSalesTariffEntryType->TimeInterval_isUsed = 0u;
dinSalesTariffEntryType->RelativeTimeInterval_isUsed = 0u;
dinSalesTariffEntryType->ConsumptionCost.arrayLen = 0u;
} }
void init_dinTransformType(struct dinTransformType* dinTransformType) { void init_dinEVChargeParameterType(struct dinEVChargeParameterType* dinEVChargeParameterType) {
dinTransformType->XPath.arrayLen = 0u;
}
void init_dinParameterSetType(struct dinParameterSetType* dinParameterSetType) {
dinParameterSetType->Parameter.arrayLen = 0u;
}
void init_dinSubCertificatesType(struct dinSubCertificatesType* dinSubCertificatesType) {
dinSubCertificatesType->Certificate.arrayLen = 0u;
}
void init_dinDC_EVPowerDeliveryParameterType(struct dinDC_EVPowerDeliveryParameterType* dinDC_EVPowerDeliveryParameterType) {
dinDC_EVPowerDeliveryParameterType->BulkChargingComplete_isUsed = 0u;
} }
void init_dinPaymentDetailsReqType(struct dinPaymentDetailsReqType* dinPaymentDetailsReqType) { void init_dinPaymentDetailsReqType(struct dinPaymentDetailsReqType* dinPaymentDetailsReqType) {
} }
void init_dinDC_EVChargeParameterType(struct dinDC_EVChargeParameterType* dinDC_EVChargeParameterType) { void init_dinSessionSetupReqType(struct dinSessionSetupReqType* dinSessionSetupReqType) {
dinDC_EVChargeParameterType->EVMaximumPowerLimit_isUsed = 0u;
dinDC_EVChargeParameterType->EVEnergyCapacity_isUsed = 0u;
dinDC_EVChargeParameterType->EVEnergyRequest_isUsed = 0u;
dinDC_EVChargeParameterType->FullSOC_isUsed = 0u;
dinDC_EVChargeParameterType->BulkSOC_isUsed = 0u;
} }
void init_dinSelectedServiceListType(struct dinSelectedServiceListType* dinSelectedServiceListType) { void init_dinChargingStatusReqType(struct dinChargingStatusReqType* dinChargingStatusReqType) {
dinSelectedServiceListType->SelectedService.arrayLen = 0u;
} }
void init_dinServiceDiscoveryResType(struct dinServiceDiscoveryResType* dinServiceDiscoveryResType) { void init_dinSignaturePropertyType(struct dinSignaturePropertyType* dinSignaturePropertyType) {
dinServiceDiscoveryResType->ServiceList_isUsed = 0u; dinSignaturePropertyType->Id_isUsed = 0u;
} }
void init_dinPaymentDetailsResType(struct dinPaymentDetailsResType* dinPaymentDetailsResType) { void init_dinCertificateUpdateResType(struct dinCertificateUpdateResType* dinCertificateUpdateResType) {
} }
void init_dinServiceType(struct dinServiceType* dinServiceType) { void init_dinServiceDetailResType(struct dinServiceDetailResType* dinServiceDetailResType) {
} dinServiceDetailResType->ServiceParameterList_isUsed = 0u;
void init_dinEVPowerDeliveryParameterType(struct dinEVPowerDeliveryParameterType* dinEVPowerDeliveryParameterType) {
}
void init_dinBodyBaseType(struct dinBodyBaseType* dinBodyBaseType) {
}
void init_dinCurrentDemandReqType(struct dinCurrentDemandReqType* dinCurrentDemandReqType) {
dinCurrentDemandReqType->EVMaximumVoltageLimit_isUsed = 0u;
dinCurrentDemandReqType->EVMaximumCurrentLimit_isUsed = 0u;
dinCurrentDemandReqType->EVMaximumPowerLimit_isUsed = 0u;
dinCurrentDemandReqType->BulkChargingComplete_isUsed = 0u;
dinCurrentDemandReqType->RemainingTimeToFullSoC_isUsed = 0u;
dinCurrentDemandReqType->RemainingTimeToBulkSoC_isUsed = 0u;
}
void init_dinMeteringReceiptResType(struct dinMeteringReceiptResType* dinMeteringReceiptResType) {
}
void init_dinPaymentOptionsType(struct dinPaymentOptionsType* dinPaymentOptionsType) {
dinPaymentOptionsType->PaymentOption.arrayLen = 0u;
}
void init_dinMessageHeaderType(struct dinMessageHeaderType* dinMessageHeaderType) {
dinMessageHeaderType->Notification_isUsed = 0u;
dinMessageHeaderType->Signature_isUsed = 0u;
}
void init_dinAC_EVSEStatusType(struct dinAC_EVSEStatusType* dinAC_EVSEStatusType) {
}
void init_dinSalesTariffType(struct dinSalesTariffType* dinSalesTariffType) {
dinSalesTariffType->SalesTariffDescription_isUsed = 0u;
dinSalesTariffType->SalesTariffEntry.arrayLen = 0u;
}
void init_dinChargeParameterDiscoveryReqType(struct dinChargeParameterDiscoveryReqType* dinChargeParameterDiscoveryReqType) {
dinChargeParameterDiscoveryReqType->EVChargeParameter_isUsed = 0u;
dinChargeParameterDiscoveryReqType->AC_EVChargeParameter_isUsed = 0u;
dinChargeParameterDiscoveryReqType->DC_EVChargeParameter_isUsed = 0u;
}
void init_dinServicePaymentSelectionResType(struct dinServicePaymentSelectionResType* dinServicePaymentSelectionResType) {
}
void init_dinEVSEStatusType(struct dinEVSEStatusType* dinEVSEStatusType) {
}
void init_dinManifestType(struct dinManifestType* dinManifestType) {
dinManifestType->Id_isUsed = 0u;
dinManifestType->Reference.arrayLen = 0u;
}
void init_dinListOfRootCertificateIDsType(struct dinListOfRootCertificateIDsType* dinListOfRootCertificateIDsType) {
dinListOfRootCertificateIDsType->RootCertificateID.arrayLen = 0u;
}
void init_dinServiceTagListType(struct dinServiceTagListType* dinServiceTagListType) {
dinServiceTagListType->Service.arrayLen = 0u;
}
void init_dinRSAKeyValueType(struct dinRSAKeyValueType* dinRSAKeyValueType) {
}
void init_dinEVSEChargeParameterType(struct dinEVSEChargeParameterType* dinEVSEChargeParameterType) {
}
void init_dinSignaturePropertiesType(struct dinSignaturePropertiesType* dinSignaturePropertiesType) {
dinSignaturePropertiesType->Id_isUsed = 0u;
dinSignaturePropertiesType->SignatureProperty.arrayLen = 0u;
} }
void init_dinDSAKeyValueType(struct dinDSAKeyValueType* dinDSAKeyValueType) { void init_dinDSAKeyValueType(struct dinDSAKeyValueType* dinDSAKeyValueType) {
@ -569,45 +561,54 @@ void init_dinDSAKeyValueType(struct dinDSAKeyValueType* dinDSAKeyValueType) {
dinDSAKeyValueType->PgenCounter_isUsed = 0u; dinDSAKeyValueType->PgenCounter_isUsed = 0u;
} }
void init_dinProfileEntryType(struct dinProfileEntryType* dinProfileEntryType) { void init_dinAC_EVSEChargeParameterType(struct dinAC_EVSEChargeParameterType* dinAC_EVSEChargeParameterType) {
} }
void init_dinSignatureValueType(struct dinSignatureValueType* dinSignatureValueType) { void init_dinObjectType(struct dinObjectType* dinObjectType) {
dinSignatureValueType->Id_isUsed = 0u; dinObjectType->Id_isUsed = 0u;
dinObjectType->MimeType_isUsed = 0u;
dinObjectType->Encoding_isUsed = 0u;
}
void init_dinKeyValueType(struct dinKeyValueType* dinKeyValueType) {
dinKeyValueType->DSAKeyValue_isUsed = 0u;
dinKeyValueType->RSAKeyValue_isUsed = 0u;
}
void init_dinEVPowerDeliveryParameterType(struct dinEVPowerDeliveryParameterType* dinEVPowerDeliveryParameterType) {
}
void init_dinDigestMethodType(struct dinDigestMethodType* dinDigestMethodType) {
}
void init_dinCertificateUpdateReqType(struct dinCertificateUpdateReqType* dinCertificateUpdateReqType) {
dinCertificateUpdateReqType->Id_isUsed = 0u;
}
void init_dinMeteringReceiptReqType(struct dinMeteringReceiptReqType* dinMeteringReceiptReqType) {
dinMeteringReceiptReqType->Id_isUsed = 0u;
dinMeteringReceiptReqType->SAScheduleTupleID_isUsed = 0u;
}
void init_dinConsumptionCostType(struct dinConsumptionCostType* dinConsumptionCostType) {
dinConsumptionCostType->Cost.arrayLen = 0u;
} }
void init_dinSessionStopResType(struct dinSessionStopResType* dinSessionStopResType) { void init_dinSessionStopResType(struct dinSessionStopResType* dinSessionStopResType) {
} }
void init_dinMeterInfoType(struct dinMeterInfoType* dinMeterInfoType) { void init_dinSignaturePropertiesType(struct dinSignaturePropertiesType* dinSignaturePropertiesType) {
dinMeterInfoType->MeterReading_isUsed = 0u; dinSignaturePropertiesType->Id_isUsed = 0u;
dinMeterInfoType->SigMeterReading_isUsed = 0u; dinSignaturePropertiesType->SignatureProperty.arrayLen = 0u;
dinMeterInfoType->MeterStatus_isUsed = 0u;
dinMeterInfoType->TMeter_isUsed = 0u;
} }
void init_dinSalesTariffEntryType(struct dinSalesTariffEntryType* dinSalesTariffEntryType) { void init_dinNotificationType(struct dinNotificationType* dinNotificationType) {
dinSalesTariffEntryType->TimeInterval_isUsed = 0u; dinNotificationType->FaultMsg_isUsed = 0u;
dinSalesTariffEntryType->RelativeTimeInterval_isUsed = 0u;
dinSalesTariffEntryType->ConsumptionCost.arrayLen = 0u;
} }
void init_dinSessionStopType(struct dinSessionStopType* dinSessionStopType) {
}
#endif /* DEPLOY_DIN_CODEC */
void init_dinSignaturePropertyType(struct dinSignaturePropertyType* dinSignaturePropertyType) {
dinSignaturePropertyType->Id_isUsed = 0u; #endif
}
void init_dinSignatureType(struct dinSignatureType* dinSignatureType) {
dinSignatureType->Id_isUsed = 0u;
dinSignatureType->KeyInfo_isUsed = 0u;
dinSignatureType->Object.arrayLen = 0u;
}
#endif /* DEPLOY_DIN_CODEC */
#endif

File diff suppressed because it is too large Load diff

File diff suppressed because one or more lines are too long

View file

@ -18,7 +18,7 @@
/******************************************************************* /*******************************************************************
* *
* @author Daniel.Peintner.EXT@siemens.com * @author Daniel.Peintner.EXT@siemens.com
* @version 0.9.1 * @version 0.9.2
* @contact Joerg.Heuer@siemens.com * @contact Joerg.Heuer@siemens.com
* *
* <p>Code generated by EXIdizer</p> * <p>Code generated by EXIdizer</p>
@ -41,19 +41,17 @@
#ifdef __cplusplus #ifdef __cplusplus
extern "C" { extern "C" {
#endif #endif
#if DEPLOY_DIN_CODEC == SUPPORT_YES
#include "dinEXIDatatypes.h"
#if DEPLOY_DIN_CODEC == SUPPORT_YES
#include <stdint.h> #include <stdint.h>
#include "EXITypes.h" #include "EXITypes.h"
#include "dinEXIDatatypes.h"
int decode_dinExiDocument(bitstream_t* stream, struct dinEXIDocument* exiDoc); int decode_dinExiDocument(bitstream_t* stream, struct dinEXIDocument* exiDoc);
#endif /* DEPLOY_DIN_CODEC */ #endif /* DEPLOY_DIN_CODEC */
#ifdef __cplusplus #ifdef __cplusplus
} }

File diff suppressed because one or more lines are too long

View file

@ -18,7 +18,7 @@
/******************************************************************* /*******************************************************************
* *
* @author Daniel.Peintner.EXT@siemens.com * @author Daniel.Peintner.EXT@siemens.com
* @version 0.9.1 * @version 0.9.2
* @contact Joerg.Heuer@siemens.com * @contact Joerg.Heuer@siemens.com
* *
* <p>Code generated by EXIdizer</p> * <p>Code generated by EXIdizer</p>
@ -41,19 +41,17 @@
#ifdef __cplusplus #ifdef __cplusplus
extern "C" { extern "C" {
#endif #endif
#if DEPLOY_DIN_CODEC == SUPPORT_YES
#include "dinEXIDatatypes.h"
#if DEPLOY_DIN_CODEC == SUPPORT_YES
#include <stdint.h> #include <stdint.h>
#include "EXITypes.h" #include "EXITypes.h"
#include "dinEXIDatatypes.h"
int encode_dinExiDocument(bitstream_t* stream, struct dinEXIDocument* exiDoc); int encode_dinExiDocument(bitstream_t* stream, struct dinEXIDocument* exiDoc);
#endif /* DEPLOY_DIN_CODEC */ #endif /* DEPLOY_DIN_CODEC */
#ifdef __cplusplus #ifdef __cplusplus

View file

@ -19,7 +19,7 @@
* *
* @author Daniel.Peintner.EXT@siemens.com * @author Daniel.Peintner.EXT@siemens.com
* @author Sebastian.Kaebisch@siemens.com * @author Sebastian.Kaebisch@siemens.com
* @version 0.9.1 * @version 0.9.2
* @contact Joerg.Heuer@siemens.com * @contact Joerg.Heuer@siemens.com
* *
* <p>Switch for sample programs: EXI codec only or for entire V2G example</p> * <p>Switch for sample programs: EXI codec only or for entire V2G example</p>

View file

@ -19,7 +19,7 @@
* *
* @author Daniel.Peintner.EXT@siemens.com * @author Daniel.Peintner.EXT@siemens.com
* @author Sebastian.Kaebisch@siemens.com * @author Sebastian.Kaebisch@siemens.com
* @version 0.9.1 * @version 0.9.2
* @contact Joerg.Heuer@siemens.com * @contact Joerg.Heuer@siemens.com
* *
* *

View file

@ -18,7 +18,7 @@
/******************************************************************* /*******************************************************************
* *
* @author Daniel.Peintner.EXT@siemens.com * @author Daniel.Peintner.EXT@siemens.com
* @version 0.9.1 * @version 0.9.2
* @contact Joerg.Heuer@siemens.com * @contact Joerg.Heuer@siemens.com
* *
* <p>Code generated by EXIdizer</p> * <p>Code generated by EXIdizer</p>

View file

@ -19,7 +19,7 @@
* *
* @author Daniel.Peintner.EXT@siemens.com * @author Daniel.Peintner.EXT@siemens.com
* @author Sebastian.Kaebisch@siemens.com * @author Sebastian.Kaebisch@siemens.com
* @version 0.9.1 * @version 0.9.2
* @contact Joerg.Heuer@siemens.com * @contact Joerg.Heuer@siemens.com
* *
* *
@ -37,6 +37,12 @@
#include "appHandEXIDatatypesEncoder.h" #include "appHandEXIDatatypesEncoder.h"
#include "appHandEXIDatatypesDecoder.h" #include "appHandEXIDatatypesDecoder.h"
#if DEPLOY_DIN_CODEC == SUPPORT_YES
#include "dinEXIDatatypes.h"
#include "dinEXIDatatypesEncoder.h"
#include "dinEXIDatatypesDecoder.h"
#endif /* DEPLOY_DIN_CODEC == SUPPORT_YES */
#include "v2gEXIDatatypes.h" #include "v2gEXIDatatypes.h"
#include "v2gEXIDatatypesEncoder.h" #include "v2gEXIDatatypesEncoder.h"
#include "v2gEXIDatatypesDecoder.h" #include "v2gEXIDatatypesDecoder.h"
@ -99,7 +105,7 @@ static void printDCEVSEStatus(struct v2gDC_EVSEStatusType* status)
} }
printf("\t\tEVSEStatusCode=%d\n", status->EVSEStatusCode); printf("\t\tEVSEStatusCode=%d\n", status->EVSEStatusCode);
if(status->EVSENotification==EVSENotificationType_None) { if(status->EVSENotification==v2gEVSENotificationType_None) {
printf("\t\tEVSENotification=None_EVSENotificationType\n"); printf("\t\tEVSENotification=None_EVSENotificationType\n");
} }
printf("\t\tNotificationMaxDelay=%d\n",status->NotificationMaxDelay); printf("\t\tNotificationMaxDelay=%d\n",status->NotificationMaxDelay);
@ -182,8 +188,9 @@ static int appHandshakeHandler(bitstream_t* iStream, bitstream_t* oStream) {
/* prepare response handshake response: /* prepare response handshake response:
* it is assumed, we support the 15118 1.0 version :-) */ * it is assumed, we support the 15118 1.0 version :-) */
init_appHandEXIDocument(&appHandResp);
appHandResp.supportedAppProtocolRes_isUsed = 1u; appHandResp.supportedAppProtocolRes_isUsed = 1u;
appHandResp.supportedAppProtocolRes.ResponseCode = responseCodeType_OK_SuccessfulNegotiation; appHandResp.supportedAppProtocolRes.ResponseCode = appHandresponseCodeType_OK_SuccessfulNegotiation;
appHandResp.supportedAppProtocolRes.SchemaID = exiDoc.supportedAppProtocolReq.AppProtocol.array[0].SchemaID; /* signal the protocol by the provided schema id*/ appHandResp.supportedAppProtocolRes.SchemaID = exiDoc.supportedAppProtocolReq.AppProtocol.array[0].SchemaID; /* signal the protocol by the provided schema id*/
appHandResp.supportedAppProtocolRes.SchemaID_isUsed = 1u; appHandResp.supportedAppProtocolRes.SchemaID_isUsed = 1u;
@ -263,7 +270,7 @@ static int appHandshake()
if(decode_appHandExiDocument(&stream2, &handshakeResp) == 0) { if(decode_appHandExiDocument(&stream2, &handshakeResp) == 0) {
printf("EV side: Response of the EVSE \n"); printf("EV side: Response of the EVSE \n");
if(handshakeResp.supportedAppProtocolRes.ResponseCode == responseCodeType_OK_SuccessfulNegotiation) { if(handshakeResp.supportedAppProtocolRes.ResponseCode == appHandresponseCodeType_OK_SuccessfulNegotiation) {
printf("\t\tResponseCode=OK_SuccessfulNegotiation\n"); printf("\t\tResponseCode=OK_SuccessfulNegotiation\n");
printf("\t\tSchemaID=%d\n",handshakeResp.supportedAppProtocolRes.SchemaID); printf("\t\tSchemaID=%d\n",handshakeResp.supportedAppProtocolRes.SchemaID);
} }
@ -307,7 +314,7 @@ static int sessionSetup(struct v2gEXIDocument* exiIn, struct v2gEXIDocument* exi
init_v2gBodyType(&exiOut->V2G_Message.Body); init_v2gBodyType(&exiOut->V2G_Message.Body);
exiOut->V2G_Message.Body.SessionSetupRes_isUsed = 1u; exiOut->V2G_Message.Body.SessionSetupRes_isUsed = 1u;
init_v2gSessionSetupResType(&exiOut->V2G_Message.Body.SessionSetupRes); init_v2gSessionSetupResType(&exiOut->V2G_Message.Body.SessionSetupRes);
exiOut->V2G_Message.Body.SessionSetupRes.ResponseCode = responseCodeType_OK; exiOut->V2G_Message.Body.SessionSetupRes.ResponseCode = v2gresponseCodeType_OK;
exiOut->V2G_Message.Body.SessionSetupRes.EVSEID.characters[0] = 0; exiOut->V2G_Message.Body.SessionSetupRes.EVSEID.characters[0] = 0;
exiOut->V2G_Message.Body.SessionSetupRes.EVSEID.characters[1] = 20; exiOut->V2G_Message.Body.SessionSetupRes.EVSEID.characters[1] = 20;
exiOut->V2G_Message.Body.SessionSetupRes.EVSEID.charactersLen = 2; exiOut->V2G_Message.Body.SessionSetupRes.EVSEID.charactersLen = 2;
@ -333,7 +340,7 @@ static int serviceDiscovery(struct v2gEXIDocument* exiIn, struct v2gEXIDocument*
exiOut->V2G_Message.Body.ServiceDiscoveryRes.ServiceList_isUsed = 0u; /* we do not provide VAS */ exiOut->V2G_Message.Body.ServiceDiscoveryRes.ServiceList_isUsed = 0u; /* we do not provide VAS */
exiOut->V2G_Message.Body.ServiceDiscoveryRes.ResponseCode = responseCodeType_OK; exiOut->V2G_Message.Body.ServiceDiscoveryRes.ResponseCode = v2gresponseCodeType_OK;
/* result->ChargeService.SupportedEnergyTransferMode = AC_single_phase_core_EnergyTransferModeType; */ /* result->ChargeService.SupportedEnergyTransferMode = AC_single_phase_core_EnergyTransferModeType; */
@ -348,21 +355,21 @@ static int serviceDiscovery(struct v2gEXIDocument* exiIn, struct v2gEXIDocument*
exiOut->V2G_Message.Body.ServiceDiscoveryRes.ChargeService.ServiceName.charactersLen = 5; exiOut->V2G_Message.Body.ServiceDiscoveryRes.ChargeService.ServiceName.charactersLen = 5;
exiOut->V2G_Message.Body.ServiceDiscoveryRes.ChargeService.ServiceScope_isUsed = 1u; exiOut->V2G_Message.Body.ServiceDiscoveryRes.ChargeService.ServiceScope_isUsed = 1u;
exiOut->V2G_Message.Body.ServiceDiscoveryRes.ChargeService.FreeService = 1; exiOut->V2G_Message.Body.ServiceDiscoveryRes.ChargeService.FreeService = 1;
exiOut->V2G_Message.Body.ServiceDiscoveryRes.ChargeService.ServiceCategory = serviceCategoryType_EVCharging; exiOut->V2G_Message.Body.ServiceDiscoveryRes.ChargeService.ServiceCategory = v2gserviceCategoryType_EVCharging;
exiOut->V2G_Message.Body.ServiceDiscoveryRes.ChargeService.ServiceScope_isUsed = 1u; exiOut->V2G_Message.Body.ServiceDiscoveryRes.ChargeService.ServiceScope_isUsed = 1u;
exiOut->V2G_Message.Body.ServiceDiscoveryRes.ChargeService.ServiceScope.characters[0] = 100; exiOut->V2G_Message.Body.ServiceDiscoveryRes.ChargeService.ServiceScope.characters[0] = 100;
exiOut->V2G_Message.Body.ServiceDiscoveryRes.ChargeService.ServiceScope.characters[1] = '\0'; exiOut->V2G_Message.Body.ServiceDiscoveryRes.ChargeService.ServiceScope.characters[1] = '\0';
exiOut->V2G_Message.Body.ServiceDiscoveryRes.ChargeService.ServiceScope.charactersLen = 1; exiOut->V2G_Message.Body.ServiceDiscoveryRes.ChargeService.ServiceScope.charactersLen = 1;
exiOut->V2G_Message.Body.ServiceDiscoveryRes.ChargeService.SupportedEnergyTransferMode.EnergyTransferMode.array[0] = EnergyTransferModeType_DC_combo_core; exiOut->V2G_Message.Body.ServiceDiscoveryRes.ChargeService.SupportedEnergyTransferMode.EnergyTransferMode.array[0] = v2gEnergyTransferModeType_DC_combo_core;
exiOut->V2G_Message.Body.ServiceDiscoveryRes.ChargeService.SupportedEnergyTransferMode.EnergyTransferMode.array[1] = EnergyTransferModeType_AC_single_phase_core; exiOut->V2G_Message.Body.ServiceDiscoveryRes.ChargeService.SupportedEnergyTransferMode.EnergyTransferMode.array[1] = v2gEnergyTransferModeType_AC_single_phase_core;
exiOut->V2G_Message.Body.ServiceDiscoveryRes.ChargeService.SupportedEnergyTransferMode.EnergyTransferMode.arrayLen = 2; exiOut->V2G_Message.Body.ServiceDiscoveryRes.ChargeService.SupportedEnergyTransferMode.EnergyTransferMode.arrayLen = 2;
exiOut->V2G_Message.Body.ServiceDiscoveryRes.PaymentOptionList.PaymentOption.array[0] = paymentOptionType_ExternalPayment; /* EVSE handles the payment */ exiOut->V2G_Message.Body.ServiceDiscoveryRes.PaymentOptionList.PaymentOption.array[0] = v2gpaymentOptionType_ExternalPayment; /* EVSE handles the payment */
exiOut->V2G_Message.Body.ServiceDiscoveryRes.PaymentOptionList.PaymentOption.array[1] = paymentOptionType_Contract; exiOut->V2G_Message.Body.ServiceDiscoveryRes.PaymentOptionList.PaymentOption.array[1] = v2gpaymentOptionType_Contract;
exiOut->V2G_Message.Body.ServiceDiscoveryRes.PaymentOptionList.PaymentOption.arrayLen = 2; exiOut->V2G_Message.Body.ServiceDiscoveryRes.PaymentOptionList.PaymentOption.arrayLen = 2;
if(exiIn->V2G_Message.Body.ServiceDiscoveryReq.ServiceCategory==serviceCategoryType_Internet || exiIn->V2G_Message.Body.ServiceDiscoveryReq.ServiceCategory==serviceCategoryType_OtherCustom || exiIn->V2G_Message.Body.ServiceDiscoveryReq.ServiceCategory_isUsed == 0u) { if(exiIn->V2G_Message.Body.ServiceDiscoveryReq.ServiceCategory==v2gserviceCategoryType_Internet || exiIn->V2G_Message.Body.ServiceDiscoveryReq.ServiceCategory==v2gserviceCategoryType_OtherCustom || exiIn->V2G_Message.Body.ServiceDiscoveryReq.ServiceCategory_isUsed == 0u) {
exiOut->V2G_Message.Body.ServiceDiscoveryRes.ServiceList.Service.arrayLen = 2; exiOut->V2G_Message.Body.ServiceDiscoveryRes.ServiceList.Service.arrayLen = 2;
exiOut->V2G_Message.Body.ServiceDiscoveryRes.ServiceList.Service.array[0].FreeService=1; exiOut->V2G_Message.Body.ServiceDiscoveryRes.ServiceList.Service.array[0].FreeService=1;
@ -372,7 +379,7 @@ static int serviceDiscovery(struct v2gEXIDocument* exiIn, struct v2gEXIDocument*
exiOut->V2G_Message.Body.ServiceDiscoveryRes.ServiceList.Service.array[0].ServiceName.characters[1]='W'; exiOut->V2G_Message.Body.ServiceDiscoveryRes.ServiceList.Service.array[0].ServiceName.characters[1]='W';
exiOut->V2G_Message.Body.ServiceDiscoveryRes.ServiceList.Service.array[0].ServiceName.characters[2]='W'; exiOut->V2G_Message.Body.ServiceDiscoveryRes.ServiceList.Service.array[0].ServiceName.characters[2]='W';
exiOut->V2G_Message.Body.ServiceDiscoveryRes.ServiceList.Service.array[0].ServiceName.charactersLen = 3; exiOut->V2G_Message.Body.ServiceDiscoveryRes.ServiceList.Service.array[0].ServiceName.charactersLen = 3;
exiOut->V2G_Message.Body.ServiceDiscoveryRes.ServiceList.Service.array[0].ServiceCategory= serviceCategoryType_Internet; exiOut->V2G_Message.Body.ServiceDiscoveryRes.ServiceList.Service.array[0].ServiceCategory= v2gserviceCategoryType_Internet;
exiOut->V2G_Message.Body.ServiceDiscoveryRes.ServiceList.Service.array[0].ServiceScope_isUsed = 0u; exiOut->V2G_Message.Body.ServiceDiscoveryRes.ServiceList.Service.array[0].ServiceScope_isUsed = 0u;
exiOut->V2G_Message.Body.ServiceDiscoveryRes.ServiceList.Service.array[1].FreeService=0; exiOut->V2G_Message.Body.ServiceDiscoveryRes.ServiceList.Service.array[1].FreeService=0;
@ -384,7 +391,7 @@ static int serviceDiscovery(struct v2gEXIDocument* exiIn, struct v2gEXIDocument*
exiOut->V2G_Message.Body.ServiceDiscoveryRes.ServiceList.Service.array[1].ServiceName.characters[3]='P'; exiOut->V2G_Message.Body.ServiceDiscoveryRes.ServiceList.Service.array[1].ServiceName.characters[3]='P';
exiOut->V2G_Message.Body.ServiceDiscoveryRes.ServiceList.Service.array[1].ServiceName.characters[4]='S'; exiOut->V2G_Message.Body.ServiceDiscoveryRes.ServiceList.Service.array[1].ServiceName.characters[4]='S';
exiOut->V2G_Message.Body.ServiceDiscoveryRes.ServiceList.Service.array[1].ServiceName.charactersLen = 5; exiOut->V2G_Message.Body.ServiceDiscoveryRes.ServiceList.Service.array[1].ServiceName.charactersLen = 5;
exiOut->V2G_Message.Body.ServiceDiscoveryRes.ServiceList.Service.array[1].ServiceCategory=serviceCategoryType_Internet; exiOut->V2G_Message.Body.ServiceDiscoveryRes.ServiceList.Service.array[1].ServiceCategory=v2gserviceCategoryType_Internet;
exiOut->V2G_Message.Body.ServiceDiscoveryRes.ServiceList.Service.array[1].ServiceScope_isUsed = 0u; exiOut->V2G_Message.Body.ServiceDiscoveryRes.ServiceList.Service.array[1].ServiceScope_isUsed = 0u;
exiOut->V2G_Message.Body.ServiceDiscoveryRes.ServiceList_isUsed = 1u; exiOut->V2G_Message.Body.ServiceDiscoveryRes.ServiceList_isUsed = 1u;
@ -457,10 +464,10 @@ static int serviceDetail(struct v2gEXIDocument* exiIn, struct v2gEXIDocument* ex
exiOut->V2G_Message.Body.ServiceDetailRes.ServiceParameterList.ParameterSet.array[1].Parameter.array[0].Name.characters[6] = 'l'; exiOut->V2G_Message.Body.ServiceDetailRes.ServiceParameterList.ParameterSet.array[1].Parameter.array[0].Name.characters[6] = 'l';
exiOut->V2G_Message.Body.ServiceDetailRes.ServiceParameterList.ParameterSet.array[1].Parameter.array[0].physicalValue_isUsed = 1u; exiOut->V2G_Message.Body.ServiceDetailRes.ServiceParameterList.ParameterSet.array[1].Parameter.array[0].physicalValue_isUsed = 1u;
exiOut->V2G_Message.Body.ServiceDetailRes.ServiceParameterList.ParameterSet.array[1].Parameter.array[0].physicalValue.Value = 1234; exiOut->V2G_Message.Body.ServiceDetailRes.ServiceParameterList.ParameterSet.array[1].Parameter.array[0].physicalValue.Value = 1234;
exiOut->V2G_Message.Body.ServiceDetailRes.ServiceParameterList.ParameterSet.array[1].Parameter.array[0].physicalValue.Unit = unitSymbolType_m; exiOut->V2G_Message.Body.ServiceDetailRes.ServiceParameterList.ParameterSet.array[1].Parameter.array[0].physicalValue.Unit = v2gunitSymbolType_m;
exiOut->V2G_Message.Body.ServiceDetailRes.ServiceParameterList.ParameterSet.array[1].Parameter.array[0].physicalValue.Multiplier = 0; exiOut->V2G_Message.Body.ServiceDetailRes.ServiceParameterList.ParameterSet.array[1].Parameter.array[0].physicalValue.Multiplier = 0;
exiOut->V2G_Message.Body.ServiceDetailRes.ResponseCode = responseCodeType_OK; exiOut->V2G_Message.Body.ServiceDetailRes.ResponseCode = v2gresponseCodeType_OK;
return 0; return 0;
} }
@ -474,7 +481,7 @@ static int paymentServiceSelection(struct v2gEXIDocument* exiIn, struct v2gEXIDo
printf("\tHeader SessionID="); printf("\tHeader SessionID=");
printBinaryArray(exiIn->V2G_Message.Header.SessionID.bytes, exiIn->V2G_Message.Header.SessionID.bytesLen); printBinaryArray(exiIn->V2G_Message.Header.SessionID.bytes, exiIn->V2G_Message.Header.SessionID.bytesLen);
if(exiIn->V2G_Message.Body.PaymentServiceSelectionReq.SelectedPaymentOption == paymentOptionType_ExternalPayment) { if(exiIn->V2G_Message.Body.PaymentServiceSelectionReq.SelectedPaymentOption == v2gpaymentOptionType_ExternalPayment) {
printf("\t\t SelectedPaymentOption=ExternalPayment\n"); printf("\t\t SelectedPaymentOption=ExternalPayment\n");
} }
@ -492,7 +499,7 @@ static int paymentServiceSelection(struct v2gEXIDocument* exiIn, struct v2gEXIDo
exiOut->V2G_Message.Body.PaymentServiceSelectionRes_isUsed= 1u; exiOut->V2G_Message.Body.PaymentServiceSelectionRes_isUsed= 1u;
init_v2gPaymentServiceSelectionResType(&exiOut->V2G_Message.Body.PaymentServiceSelectionRes); init_v2gPaymentServiceSelectionResType(&exiOut->V2G_Message.Body.PaymentServiceSelectionRes);
exiOut->V2G_Message.Body.ServiceDetailRes.ResponseCode = responseCodeType_OK; exiOut->V2G_Message.Body.ServiceDetailRes.ResponseCode = v2gresponseCodeType_OK;
return 0; return 0;
} }
@ -514,7 +521,7 @@ static int paymentDetails(struct v2gEXIDocument* exiIn, struct v2gEXIDocument* e
init_v2gBodyType(&exiOut->V2G_Message.Body); init_v2gBodyType(&exiOut->V2G_Message.Body);
exiOut->V2G_Message.Body.PaymentDetailsRes_isUsed = 1u; exiOut->V2G_Message.Body.PaymentDetailsRes_isUsed = 1u;
exiOut->V2G_Message.Body.PaymentDetailsRes.ResponseCode = responseCodeType_OK; exiOut->V2G_Message.Body.PaymentDetailsRes.ResponseCode = v2gresponseCodeType_OK;
exiOut->V2G_Message.Body.PaymentDetailsRes.GenChallenge.bytesLen = 1; exiOut->V2G_Message.Body.PaymentDetailsRes.GenChallenge.bytesLen = 1;
exiOut->V2G_Message.Body.PaymentDetailsRes.GenChallenge.bytes[0] = 1; exiOut->V2G_Message.Body.PaymentDetailsRes.GenChallenge.bytes[0] = 1;
exiOut->V2G_Message.Body.PaymentDetailsRes.EVSETimeStamp = 123456; exiOut->V2G_Message.Body.PaymentDetailsRes.EVSETimeStamp = 123456;
@ -541,8 +548,8 @@ static int authorization(struct v2gEXIDocument* exiIn, struct v2gEXIDocument* ex
init_v2gBodyType(&exiOut->V2G_Message.Body); init_v2gBodyType(&exiOut->V2G_Message.Body);
exiOut->V2G_Message.Body.AuthorizationRes_isUsed = 1u; exiOut->V2G_Message.Body.AuthorizationRes_isUsed = 1u;
exiOut->V2G_Message.Body.AuthorizationRes.ResponseCode = responseCodeType_OK; exiOut->V2G_Message.Body.AuthorizationRes.ResponseCode = v2gresponseCodeType_OK;
exiOut->V2G_Message.Body.AuthorizationRes.EVSEProcessing = EVSEProcessingType_Finished; exiOut->V2G_Message.Body.AuthorizationRes.EVSEProcessing = v2gEVSEProcessingType_Finished;
return 0; return 0;
} }
@ -555,7 +562,7 @@ static int chargeParameterDiscovery(struct v2gEXIDocument* exiIn, struct v2gEXID
printf("\t\t EVRequestedEnergyTransferType=%d\n", exiIn->V2G_Message.Body.ChargeParameterDiscoveryReq.RequestedEnergyTransferMode); printf("\t\t EVRequestedEnergyTransferType=%d\n", exiIn->V2G_Message.Body.ChargeParameterDiscoveryReq.RequestedEnergyTransferMode);
/* check,if DC or AC is requested */ /* check,if DC or AC is requested */
if(exiIn->V2G_Message.Body.ChargeParameterDiscoveryReq.RequestedEnergyTransferMode == EnergyTransferModeType_DC_core || exiIn->V2G_Message.Body.ChargeParameterDiscoveryReq.DC_EVChargeParameter_isUsed == 1) { if(exiIn->V2G_Message.Body.ChargeParameterDiscoveryReq.RequestedEnergyTransferMode == v2gEnergyTransferModeType_DC_core || exiIn->V2G_Message.Body.ChargeParameterDiscoveryReq.DC_EVChargeParameter_isUsed == 1) {
printf("\t\t MaxEntriesSAScheduleTuple=%d\n", exiIn->V2G_Message.Body.ChargeParameterDiscoveryReq.MaxEntriesSAScheduleTuple); printf("\t\t MaxEntriesSAScheduleTuple=%d\n", exiIn->V2G_Message.Body.ChargeParameterDiscoveryReq.MaxEntriesSAScheduleTuple);
printf("\t\t EVStatus:\n"); printf("\t\t EVStatus:\n");
printf("\t\t\t EVReady=%d\n", exiIn->V2G_Message.Body.ChargeParameterDiscoveryReq.DC_EVChargeParameter.DC_EVStatus.EVReady); printf("\t\t\t EVReady=%d\n", exiIn->V2G_Message.Body.ChargeParameterDiscoveryReq.DC_EVChargeParameter.DC_EVStatus.EVReady);
@ -578,50 +585,50 @@ static int chargeParameterDiscovery(struct v2gEXIDocument* exiIn, struct v2gEXID
exiOut->V2G_Message.Body.ChargeParameterDiscoveryRes_isUsed = 1u; exiOut->V2G_Message.Body.ChargeParameterDiscoveryRes_isUsed = 1u;
exiOut->V2G_Message.Body.ChargeParameterDiscoveryRes.ResponseCode = responseCodeType_OK; exiOut->V2G_Message.Body.ChargeParameterDiscoveryRes.ResponseCode = v2gresponseCodeType_OK;
exiOut->V2G_Message.Body.ChargeParameterDiscoveryRes.EVSEProcessing = EVSEProcessingType_Finished; exiOut->V2G_Message.Body.ChargeParameterDiscoveryRes.EVSEProcessing = v2gEVSEProcessingType_Finished;
exiOut->V2G_Message.Body.ChargeParameterDiscoveryRes.DC_EVSEChargeParameter_isUsed = 1u; exiOut->V2G_Message.Body.ChargeParameterDiscoveryRes.DC_EVSEChargeParameter_isUsed = 1u;
exiOut->V2G_Message.Body.ChargeParameterDiscoveryRes.AC_EVSEChargeParameter_isUsed = 0u; exiOut->V2G_Message.Body.ChargeParameterDiscoveryRes.AC_EVSEChargeParameter_isUsed = 0u;
exiOut->V2G_Message.Body.ChargeParameterDiscoveryRes.DC_EVSEChargeParameter.DC_EVSEStatus.EVSEStatusCode = DC_EVSEStatusCodeType_EVSE_Ready; exiOut->V2G_Message.Body.ChargeParameterDiscoveryRes.DC_EVSEChargeParameter.DC_EVSEStatus.EVSEStatusCode = v2gDC_EVSEStatusCodeType_EVSE_Ready;
exiOut->V2G_Message.Body.ChargeParameterDiscoveryRes.DC_EVSEChargeParameter.DC_EVSEStatus.EVSEIsolationStatus = isolationLevelType_Valid; exiOut->V2G_Message.Body.ChargeParameterDiscoveryRes.DC_EVSEChargeParameter.DC_EVSEStatus.EVSEIsolationStatus = v2gisolationLevelType_Valid;
exiOut->V2G_Message.Body.ChargeParameterDiscoveryRes.DC_EVSEChargeParameter.DC_EVSEStatus.EVSEIsolationStatus_isUsed = 1; exiOut->V2G_Message.Body.ChargeParameterDiscoveryRes.DC_EVSEChargeParameter.DC_EVSEStatus.EVSEIsolationStatus_isUsed = 1;
exiOut->V2G_Message.Body.ChargeParameterDiscoveryRes.DC_EVSEChargeParameter.DC_EVSEStatus.EVSENotification = EVSENotificationType_None; exiOut->V2G_Message.Body.ChargeParameterDiscoveryRes.DC_EVSEChargeParameter.DC_EVSEStatus.EVSENotification = v2gEVSENotificationType_None;
exiOut->V2G_Message.Body.ChargeParameterDiscoveryRes.DC_EVSEChargeParameter.DC_EVSEStatus.NotificationMaxDelay = 10; exiOut->V2G_Message.Body.ChargeParameterDiscoveryRes.DC_EVSEChargeParameter.DC_EVSEStatus.NotificationMaxDelay = 10;
exiOut->V2G_Message.Body.ChargeParameterDiscoveryRes.DC_EVSEChargeParameter.EVSEMinimumCurrentLimit.Multiplier = 0; exiOut->V2G_Message.Body.ChargeParameterDiscoveryRes.DC_EVSEChargeParameter.EVSEMinimumCurrentLimit.Multiplier = 0;
exiOut->V2G_Message.Body.ChargeParameterDiscoveryRes.DC_EVSEChargeParameter.EVSEMinimumCurrentLimit.Unit = unitSymbolType_A; exiOut->V2G_Message.Body.ChargeParameterDiscoveryRes.DC_EVSEChargeParameter.EVSEMinimumCurrentLimit.Unit = v2gunitSymbolType_A;
exiOut->V2G_Message.Body.ChargeParameterDiscoveryRes.DC_EVSEChargeParameter.EVSEMinimumCurrentLimit.Value = 50; exiOut->V2G_Message.Body.ChargeParameterDiscoveryRes.DC_EVSEChargeParameter.EVSEMinimumCurrentLimit.Value = 50;
exiOut->V2G_Message.Body.ChargeParameterDiscoveryRes.DC_EVSEChargeParameter.EVSEMaximumPowerLimit.Multiplier = 0; exiOut->V2G_Message.Body.ChargeParameterDiscoveryRes.DC_EVSEChargeParameter.EVSEMaximumPowerLimit.Multiplier = 0;
exiOut->V2G_Message.Body.ChargeParameterDiscoveryRes.DC_EVSEChargeParameter.EVSEMaximumPowerLimit.Unit = unitSymbolType_W; exiOut->V2G_Message.Body.ChargeParameterDiscoveryRes.DC_EVSEChargeParameter.EVSEMaximumPowerLimit.Unit = v2gunitSymbolType_W;
exiOut->V2G_Message.Body.ChargeParameterDiscoveryRes.DC_EVSEChargeParameter.EVSEMaximumPowerLimit.Value = 20000; exiOut->V2G_Message.Body.ChargeParameterDiscoveryRes.DC_EVSEChargeParameter.EVSEMaximumPowerLimit.Value = 20000;
exiOut->V2G_Message.Body.ChargeParameterDiscoveryRes.DC_EVSEChargeParameter.EVSEMaximumVoltageLimit.Multiplier = 0; exiOut->V2G_Message.Body.ChargeParameterDiscoveryRes.DC_EVSEChargeParameter.EVSEMaximumVoltageLimit.Multiplier = 0;
exiOut->V2G_Message.Body.ChargeParameterDiscoveryRes.DC_EVSEChargeParameter.EVSEMaximumVoltageLimit.Unit = unitSymbolType_V; exiOut->V2G_Message.Body.ChargeParameterDiscoveryRes.DC_EVSEChargeParameter.EVSEMaximumVoltageLimit.Unit = v2gunitSymbolType_V;
exiOut->V2G_Message.Body.ChargeParameterDiscoveryRes.DC_EVSEChargeParameter.EVSEMaximumVoltageLimit.Value = 400; exiOut->V2G_Message.Body.ChargeParameterDiscoveryRes.DC_EVSEChargeParameter.EVSEMaximumVoltageLimit.Value = 400;
exiOut->V2G_Message.Body.ChargeParameterDiscoveryRes.DC_EVSEChargeParameter.EVSEMinimumCurrentLimit.Multiplier = 0; exiOut->V2G_Message.Body.ChargeParameterDiscoveryRes.DC_EVSEChargeParameter.EVSEMinimumCurrentLimit.Multiplier = 0;
exiOut->V2G_Message.Body.ChargeParameterDiscoveryRes.DC_EVSEChargeParameter.EVSEMinimumCurrentLimit.Unit = unitSymbolType_A; exiOut->V2G_Message.Body.ChargeParameterDiscoveryRes.DC_EVSEChargeParameter.EVSEMinimumCurrentLimit.Unit = v2gunitSymbolType_A;
exiOut->V2G_Message.Body.ChargeParameterDiscoveryRes.DC_EVSEChargeParameter.EVSEMinimumCurrentLimit.Value = 5; exiOut->V2G_Message.Body.ChargeParameterDiscoveryRes.DC_EVSEChargeParameter.EVSEMinimumCurrentLimit.Value = 5;
exiOut->V2G_Message.Body.ChargeParameterDiscoveryRes.DC_EVSEChargeParameter.EVSEMinimumVoltageLimit.Multiplier = 0; exiOut->V2G_Message.Body.ChargeParameterDiscoveryRes.DC_EVSEChargeParameter.EVSEMinimumVoltageLimit.Multiplier = 0;
exiOut->V2G_Message.Body.ChargeParameterDiscoveryRes.DC_EVSEChargeParameter.EVSEMinimumVoltageLimit.Unit = unitSymbolType_V; exiOut->V2G_Message.Body.ChargeParameterDiscoveryRes.DC_EVSEChargeParameter.EVSEMinimumVoltageLimit.Unit = v2gunitSymbolType_V;
exiOut->V2G_Message.Body.ChargeParameterDiscoveryRes.DC_EVSEChargeParameter.EVSEMinimumVoltageLimit.Value = 200; exiOut->V2G_Message.Body.ChargeParameterDiscoveryRes.DC_EVSEChargeParameter.EVSEMinimumVoltageLimit.Value = 200;
exiOut->V2G_Message.Body.ChargeParameterDiscoveryRes.DC_EVSEChargeParameter.EVSECurrentRegulationTolerance.Multiplier = 0; exiOut->V2G_Message.Body.ChargeParameterDiscoveryRes.DC_EVSEChargeParameter.EVSECurrentRegulationTolerance.Multiplier = 0;
exiOut->V2G_Message.Body.ChargeParameterDiscoveryRes.DC_EVSEChargeParameter.EVSECurrentRegulationTolerance.Unit = unitSymbolType_A; exiOut->V2G_Message.Body.ChargeParameterDiscoveryRes.DC_EVSEChargeParameter.EVSECurrentRegulationTolerance.Unit = v2gunitSymbolType_A;
exiOut->V2G_Message.Body.ChargeParameterDiscoveryRes.DC_EVSEChargeParameter.EVSECurrentRegulationTolerance.Value = 2; exiOut->V2G_Message.Body.ChargeParameterDiscoveryRes.DC_EVSEChargeParameter.EVSECurrentRegulationTolerance.Value = 2;
exiOut->V2G_Message.Body.ChargeParameterDiscoveryRes.DC_EVSEChargeParameter.EVSECurrentRegulationTolerance_isUsed = 1u; exiOut->V2G_Message.Body.ChargeParameterDiscoveryRes.DC_EVSEChargeParameter.EVSECurrentRegulationTolerance_isUsed = 1u;
exiOut->V2G_Message.Body.ChargeParameterDiscoveryRes.DC_EVSEChargeParameter.EVSEPeakCurrentRipple.Multiplier = 0; exiOut->V2G_Message.Body.ChargeParameterDiscoveryRes.DC_EVSEChargeParameter.EVSEPeakCurrentRipple.Multiplier = 0;
exiOut->V2G_Message.Body.ChargeParameterDiscoveryRes.DC_EVSEChargeParameter.EVSEPeakCurrentRipple.Unit = unitSymbolType_A; exiOut->V2G_Message.Body.ChargeParameterDiscoveryRes.DC_EVSEChargeParameter.EVSEPeakCurrentRipple.Unit = v2gunitSymbolType_A;
exiOut->V2G_Message.Body.ChargeParameterDiscoveryRes.DC_EVSEChargeParameter.EVSEPeakCurrentRipple.Value = 1; exiOut->V2G_Message.Body.ChargeParameterDiscoveryRes.DC_EVSEChargeParameter.EVSEPeakCurrentRipple.Value = 1;
exiOut->V2G_Message.Body.ChargeParameterDiscoveryRes.DC_EVSEChargeParameter.EVSEEnergyToBeDelivered.Multiplier = 0; exiOut->V2G_Message.Body.ChargeParameterDiscoveryRes.DC_EVSEChargeParameter.EVSEEnergyToBeDelivered.Multiplier = 0;
exiOut->V2G_Message.Body.ChargeParameterDiscoveryRes.DC_EVSEChargeParameter.EVSEEnergyToBeDelivered.Unit = unitSymbolType_W; exiOut->V2G_Message.Body.ChargeParameterDiscoveryRes.DC_EVSEChargeParameter.EVSEEnergyToBeDelivered.Unit = v2gunitSymbolType_W;
exiOut->V2G_Message.Body.ChargeParameterDiscoveryRes.DC_EVSEChargeParameter.EVSEEnergyToBeDelivered.Value = 5000; exiOut->V2G_Message.Body.ChargeParameterDiscoveryRes.DC_EVSEChargeParameter.EVSEEnergyToBeDelivered.Value = 5000;
exiOut->V2G_Message.Body.ChargeParameterDiscoveryRes.DC_EVSEChargeParameter.EVSEEnergyToBeDelivered_isUsed = 1u; exiOut->V2G_Message.Body.ChargeParameterDiscoveryRes.DC_EVSEChargeParameter.EVSEEnergyToBeDelivered_isUsed = 1u;
@ -634,14 +641,14 @@ static int chargeParameterDiscovery(struct v2gEXIDocument* exiIn, struct v2gEXID
exiOut->V2G_Message.Body.ChargeParameterDiscoveryRes.SAScheduleList.SAScheduleTuple.arrayLen = 2; exiOut->V2G_Message.Body.ChargeParameterDiscoveryRes.SAScheduleList.SAScheduleTuple.arrayLen = 2;
/* set up two PMax entries: #1 */ /* set up two PMax entries: #1 */
exiOut->V2G_Message.Body.ChargeParameterDiscoveryRes.SAScheduleList.SAScheduleTuple.array[0].PMaxSchedule.PMaxScheduleEntry.array[0].PMax.Value=20000; exiOut->V2G_Message.Body.ChargeParameterDiscoveryRes.SAScheduleList.SAScheduleTuple.array[0].PMaxSchedule.PMaxScheduleEntry.array[0].PMax.Value=20000;
exiOut->V2G_Message.Body.ChargeParameterDiscoveryRes.SAScheduleList.SAScheduleTuple.array[0].PMaxSchedule.PMaxScheduleEntry.array[0].PMax.Unit = unitSymbolType_W; exiOut->V2G_Message.Body.ChargeParameterDiscoveryRes.SAScheduleList.SAScheduleTuple.array[0].PMaxSchedule.PMaxScheduleEntry.array[0].PMax.Unit = v2gunitSymbolType_W;
exiOut->V2G_Message.Body.ChargeParameterDiscoveryRes.SAScheduleList.SAScheduleTuple.array[0].PMaxSchedule.PMaxScheduleEntry.array[0].PMax.Multiplier =0; exiOut->V2G_Message.Body.ChargeParameterDiscoveryRes.SAScheduleList.SAScheduleTuple.array[0].PMaxSchedule.PMaxScheduleEntry.array[0].PMax.Multiplier =0;
exiOut->V2G_Message.Body.ChargeParameterDiscoveryRes.SAScheduleList.SAScheduleTuple.array[0].PMaxSchedule.PMaxScheduleEntry.array[0].RelativeTimeInterval_isUsed = 1u; exiOut->V2G_Message.Body.ChargeParameterDiscoveryRes.SAScheduleList.SAScheduleTuple.array[0].PMaxSchedule.PMaxScheduleEntry.array[0].RelativeTimeInterval_isUsed = 1u;
exiOut->V2G_Message.Body.ChargeParameterDiscoveryRes.SAScheduleList.SAScheduleTuple.array[0].PMaxSchedule.PMaxScheduleEntry.array[0].RelativeTimeInterval.start=0; exiOut->V2G_Message.Body.ChargeParameterDiscoveryRes.SAScheduleList.SAScheduleTuple.array[0].PMaxSchedule.PMaxScheduleEntry.array[0].RelativeTimeInterval.start=0;
exiOut->V2G_Message.Body.ChargeParameterDiscoveryRes.SAScheduleList.SAScheduleTuple.array[0].PMaxSchedule.PMaxScheduleEntry.array[0].RelativeTimeInterval.duration_isUsed = 0; exiOut->V2G_Message.Body.ChargeParameterDiscoveryRes.SAScheduleList.SAScheduleTuple.array[0].PMaxSchedule.PMaxScheduleEntry.array[0].RelativeTimeInterval.duration_isUsed = 0;
exiOut->V2G_Message.Body.ChargeParameterDiscoveryRes.SAScheduleList.SAScheduleTuple.array[0].PMaxSchedule.PMaxScheduleEntry.array[1].PMax.Value=0; exiOut->V2G_Message.Body.ChargeParameterDiscoveryRes.SAScheduleList.SAScheduleTuple.array[0].PMaxSchedule.PMaxScheduleEntry.array[1].PMax.Value=0;
exiOut->V2G_Message.Body.ChargeParameterDiscoveryRes.SAScheduleList.SAScheduleTuple.array[0].PMaxSchedule.PMaxScheduleEntry.array[1].PMax.Unit = unitSymbolType_W; exiOut->V2G_Message.Body.ChargeParameterDiscoveryRes.SAScheduleList.SAScheduleTuple.array[0].PMaxSchedule.PMaxScheduleEntry.array[1].PMax.Unit = v2gunitSymbolType_W;
exiOut->V2G_Message.Body.ChargeParameterDiscoveryRes.SAScheduleList.SAScheduleTuple.array[0].PMaxSchedule.PMaxScheduleEntry.array[1].PMax.Multiplier =0; exiOut->V2G_Message.Body.ChargeParameterDiscoveryRes.SAScheduleList.SAScheduleTuple.array[0].PMaxSchedule.PMaxScheduleEntry.array[1].PMax.Multiplier =0;
exiOut->V2G_Message.Body.ChargeParameterDiscoveryRes.SAScheduleList.SAScheduleTuple.array[0].PMaxSchedule.PMaxScheduleEntry.array[1].RelativeTimeInterval_isUsed = 1u; exiOut->V2G_Message.Body.ChargeParameterDiscoveryRes.SAScheduleList.SAScheduleTuple.array[0].PMaxSchedule.PMaxScheduleEntry.array[1].RelativeTimeInterval_isUsed = 1u;
exiOut->V2G_Message.Body.ChargeParameterDiscoveryRes.SAScheduleList.SAScheduleTuple.array[0].PMaxSchedule.PMaxScheduleEntry.array[1].RelativeTimeInterval.start=1200; /* 20 min */ exiOut->V2G_Message.Body.ChargeParameterDiscoveryRes.SAScheduleList.SAScheduleTuple.array[0].PMaxSchedule.PMaxScheduleEntry.array[1].RelativeTimeInterval.start=1200; /* 20 min */
@ -653,14 +660,14 @@ static int chargeParameterDiscovery(struct v2gEXIDocument* exiIn, struct v2gEXID
/* #2 */ /* #2 */
exiOut->V2G_Message.Body.ChargeParameterDiscoveryRes.SAScheduleList.SAScheduleTuple.array[1].SAScheduleTupleID = 15; exiOut->V2G_Message.Body.ChargeParameterDiscoveryRes.SAScheduleList.SAScheduleTuple.array[1].SAScheduleTupleID = 15;
exiOut->V2G_Message.Body.ChargeParameterDiscoveryRes.SAScheduleList.SAScheduleTuple.array[1].PMaxSchedule.PMaxScheduleEntry.array[0].PMax.Value = 10000; exiOut->V2G_Message.Body.ChargeParameterDiscoveryRes.SAScheduleList.SAScheduleTuple.array[1].PMaxSchedule.PMaxScheduleEntry.array[0].PMax.Value = 10000;
exiOut->V2G_Message.Body.ChargeParameterDiscoveryRes.SAScheduleList.SAScheduleTuple.array[1].PMaxSchedule.PMaxScheduleEntry.array[0].PMax.Unit = unitSymbolType_W; exiOut->V2G_Message.Body.ChargeParameterDiscoveryRes.SAScheduleList.SAScheduleTuple.array[1].PMaxSchedule.PMaxScheduleEntry.array[0].PMax.Unit = v2gunitSymbolType_W;
exiOut->V2G_Message.Body.ChargeParameterDiscoveryRes.SAScheduleList.SAScheduleTuple.array[1].PMaxSchedule.PMaxScheduleEntry.array[0].PMax.Multiplier =0; exiOut->V2G_Message.Body.ChargeParameterDiscoveryRes.SAScheduleList.SAScheduleTuple.array[1].PMaxSchedule.PMaxScheduleEntry.array[0].PMax.Multiplier =0;
exiOut->V2G_Message.Body.ChargeParameterDiscoveryRes.SAScheduleList.SAScheduleTuple.array[1].PMaxSchedule.PMaxScheduleEntry.array[0].RelativeTimeInterval.start=0; exiOut->V2G_Message.Body.ChargeParameterDiscoveryRes.SAScheduleList.SAScheduleTuple.array[1].PMaxSchedule.PMaxScheduleEntry.array[0].RelativeTimeInterval.start=0;
exiOut->V2G_Message.Body.ChargeParameterDiscoveryRes.SAScheduleList.SAScheduleTuple.array[1].PMaxSchedule.PMaxScheduleEntry.array[0].RelativeTimeInterval_isUsed = 1; exiOut->V2G_Message.Body.ChargeParameterDiscoveryRes.SAScheduleList.SAScheduleTuple.array[1].PMaxSchedule.PMaxScheduleEntry.array[0].RelativeTimeInterval_isUsed = 1;
exiOut->V2G_Message.Body.ChargeParameterDiscoveryRes.SAScheduleList.SAScheduleTuple.array[1].PMaxSchedule.PMaxScheduleEntry.array[0].RelativeTimeInterval.duration_isUsed = 0u; exiOut->V2G_Message.Body.ChargeParameterDiscoveryRes.SAScheduleList.SAScheduleTuple.array[1].PMaxSchedule.PMaxScheduleEntry.array[0].RelativeTimeInterval.duration_isUsed = 0u;
exiOut->V2G_Message.Body.ChargeParameterDiscoveryRes.SAScheduleList.SAScheduleTuple.array[1].PMaxSchedule.PMaxScheduleEntry.array[1].PMax.Value=0; exiOut->V2G_Message.Body.ChargeParameterDiscoveryRes.SAScheduleList.SAScheduleTuple.array[1].PMaxSchedule.PMaxScheduleEntry.array[1].PMax.Value=0;
exiOut->V2G_Message.Body.ChargeParameterDiscoveryRes.SAScheduleList.SAScheduleTuple.array[1].PMaxSchedule.PMaxScheduleEntry.array[1].PMax.Unit = unitSymbolType_W; exiOut->V2G_Message.Body.ChargeParameterDiscoveryRes.SAScheduleList.SAScheduleTuple.array[1].PMaxSchedule.PMaxScheduleEntry.array[1].PMax.Unit = v2gunitSymbolType_W;
exiOut->V2G_Message.Body.ChargeParameterDiscoveryRes.SAScheduleList.SAScheduleTuple.array[1].PMaxSchedule.PMaxScheduleEntry.array[1].PMax.Multiplier =1; exiOut->V2G_Message.Body.ChargeParameterDiscoveryRes.SAScheduleList.SAScheduleTuple.array[1].PMaxSchedule.PMaxScheduleEntry.array[1].PMax.Multiplier =1;
exiOut->V2G_Message.Body.ChargeParameterDiscoveryRes.SAScheduleList.SAScheduleTuple.array[1].PMaxSchedule.PMaxScheduleEntry.array[1].RelativeTimeInterval.start=1800; /* 30 min */ exiOut->V2G_Message.Body.ChargeParameterDiscoveryRes.SAScheduleList.SAScheduleTuple.array[1].PMaxSchedule.PMaxScheduleEntry.array[1].RelativeTimeInterval.start=1800; /* 30 min */
exiOut->V2G_Message.Body.ChargeParameterDiscoveryRes.SAScheduleList.SAScheduleTuple.array[1].PMaxSchedule.PMaxScheduleEntry.array[1].RelativeTimeInterval_isUsed = 1u; exiOut->V2G_Message.Body.ChargeParameterDiscoveryRes.SAScheduleList.SAScheduleTuple.array[1].PMaxSchedule.PMaxScheduleEntry.array[1].RelativeTimeInterval_isUsed = 1u;
@ -687,8 +694,8 @@ static int chargeParameterDiscovery(struct v2gEXIDocument* exiIn, struct v2gEXID
exiOut->V2G_Message.Body.ChargeParameterDiscoveryRes_isUsed = 1u; exiOut->V2G_Message.Body.ChargeParameterDiscoveryRes_isUsed = 1u;
exiOut->V2G_Message.Body.ChargeParameterDiscoveryRes.ResponseCode = responseCodeType_OK; exiOut->V2G_Message.Body.ChargeParameterDiscoveryRes.ResponseCode = v2gresponseCodeType_OK;
exiOut->V2G_Message.Body.ChargeParameterDiscoveryRes.EVSEProcessing = EVSEProcessingType_Finished; exiOut->V2G_Message.Body.ChargeParameterDiscoveryRes.EVSEProcessing = v2gEVSEProcessingType_Finished;
exiOut->V2G_Message.Body.ChargeParameterDiscoveryRes.AC_EVSEChargeParameter_isUsed = 1u; exiOut->V2G_Message.Body.ChargeParameterDiscoveryRes.AC_EVSEChargeParameter_isUsed = 1u;
@ -696,15 +703,15 @@ static int chargeParameterDiscovery(struct v2gEXIDocument* exiIn, struct v2gEXID
exiOut->V2G_Message.Body.ChargeParameterDiscoveryRes.AC_EVSEChargeParameter.AC_EVSEStatus.RCD =1; exiOut->V2G_Message.Body.ChargeParameterDiscoveryRes.AC_EVSEChargeParameter.AC_EVSEStatus.RCD =1;
exiOut->V2G_Message.Body.ChargeParameterDiscoveryRes.AC_EVSEChargeParameter.AC_EVSEStatus.EVSENotification = EVSENotificationType_None; exiOut->V2G_Message.Body.ChargeParameterDiscoveryRes.AC_EVSEChargeParameter.AC_EVSEStatus.EVSENotification = v2gEVSENotificationType_None;
exiOut->V2G_Message.Body.ChargeParameterDiscoveryRes.AC_EVSEChargeParameter.AC_EVSEStatus.NotificationMaxDelay=123; exiOut->V2G_Message.Body.ChargeParameterDiscoveryRes.AC_EVSEChargeParameter.AC_EVSEStatus.NotificationMaxDelay=123;
exiOut->V2G_Message.Body.ChargeParameterDiscoveryRes.AC_EVSEChargeParameter.EVSEMaxCurrent.Multiplier = 0; exiOut->V2G_Message.Body.ChargeParameterDiscoveryRes.AC_EVSEChargeParameter.EVSEMaxCurrent.Multiplier = 0;
exiOut->V2G_Message.Body.ChargeParameterDiscoveryRes.AC_EVSEChargeParameter.EVSEMaxCurrent.Unit = unitSymbolType_A; exiOut->V2G_Message.Body.ChargeParameterDiscoveryRes.AC_EVSEChargeParameter.EVSEMaxCurrent.Unit = v2gunitSymbolType_A;
exiOut->V2G_Message.Body.ChargeParameterDiscoveryRes.AC_EVSEChargeParameter.EVSEMaxCurrent.Value = 100; exiOut->V2G_Message.Body.ChargeParameterDiscoveryRes.AC_EVSEChargeParameter.EVSEMaxCurrent.Value = 100;
exiOut->V2G_Message.Body.ChargeParameterDiscoveryRes.AC_EVSEChargeParameter.EVSENominalVoltage.Multiplier = 0; exiOut->V2G_Message.Body.ChargeParameterDiscoveryRes.AC_EVSEChargeParameter.EVSENominalVoltage.Multiplier = 0;
exiOut->V2G_Message.Body.ChargeParameterDiscoveryRes.AC_EVSEChargeParameter.EVSENominalVoltage.Unit = unitSymbolType_V; exiOut->V2G_Message.Body.ChargeParameterDiscoveryRes.AC_EVSEChargeParameter.EVSENominalVoltage.Unit = v2gunitSymbolType_V;
exiOut->V2G_Message.Body.ChargeParameterDiscoveryRes.AC_EVSEChargeParameter.EVSENominalVoltage.Value = 300; exiOut->V2G_Message.Body.ChargeParameterDiscoveryRes.AC_EVSEChargeParameter.EVSENominalVoltage.Value = 300;
exiOut->V2G_Message.Body.ChargeParameterDiscoveryRes.EVSEProcessing = 1; exiOut->V2G_Message.Body.ChargeParameterDiscoveryRes.EVSEProcessing = 1;
@ -717,14 +724,14 @@ static int chargeParameterDiscovery(struct v2gEXIDocument* exiIn, struct v2gEXID
/* set up two PMax entries: #1 */ /* set up two PMax entries: #1 */
exiOut->V2G_Message.Body.ChargeParameterDiscoveryRes.SAScheduleList.SAScheduleTuple.array[0].PMaxSchedule.PMaxScheduleEntry.array[0].PMax.Value=20000; exiOut->V2G_Message.Body.ChargeParameterDiscoveryRes.SAScheduleList.SAScheduleTuple.array[0].PMaxSchedule.PMaxScheduleEntry.array[0].PMax.Value=20000;
exiOut->V2G_Message.Body.ChargeParameterDiscoveryRes.SAScheduleList.SAScheduleTuple.array[0].PMaxSchedule.PMaxScheduleEntry.array[0].PMax.Unit = unitSymbolType_W; exiOut->V2G_Message.Body.ChargeParameterDiscoveryRes.SAScheduleList.SAScheduleTuple.array[0].PMaxSchedule.PMaxScheduleEntry.array[0].PMax.Unit = v2gunitSymbolType_W;
exiOut->V2G_Message.Body.ChargeParameterDiscoveryRes.SAScheduleList.SAScheduleTuple.array[0].PMaxSchedule.PMaxScheduleEntry.array[0].PMax.Multiplier =0; exiOut->V2G_Message.Body.ChargeParameterDiscoveryRes.SAScheduleList.SAScheduleTuple.array[0].PMaxSchedule.PMaxScheduleEntry.array[0].PMax.Multiplier =0;
exiOut->V2G_Message.Body.ChargeParameterDiscoveryRes.SAScheduleList.SAScheduleTuple.array[0].PMaxSchedule.PMaxScheduleEntry.array[0].RelativeTimeInterval.start=0; exiOut->V2G_Message.Body.ChargeParameterDiscoveryRes.SAScheduleList.SAScheduleTuple.array[0].PMaxSchedule.PMaxScheduleEntry.array[0].RelativeTimeInterval.start=0;
exiOut->V2G_Message.Body.ChargeParameterDiscoveryRes.SAScheduleList.SAScheduleTuple.array[0].PMaxSchedule.PMaxScheduleEntry.array[0].RelativeTimeInterval_isUsed = 1u; exiOut->V2G_Message.Body.ChargeParameterDiscoveryRes.SAScheduleList.SAScheduleTuple.array[0].PMaxSchedule.PMaxScheduleEntry.array[0].RelativeTimeInterval_isUsed = 1u;
exiOut->V2G_Message.Body.ChargeParameterDiscoveryRes.SAScheduleList.SAScheduleTuple.array[0].PMaxSchedule.PMaxScheduleEntry.array[0].RelativeTimeInterval.duration_isUsed =0; exiOut->V2G_Message.Body.ChargeParameterDiscoveryRes.SAScheduleList.SAScheduleTuple.array[0].PMaxSchedule.PMaxScheduleEntry.array[0].RelativeTimeInterval.duration_isUsed =0;
exiOut->V2G_Message.Body.ChargeParameterDiscoveryRes.SAScheduleList.SAScheduleTuple.array[0].PMaxSchedule.PMaxScheduleEntry.array[1].PMax.Value=0; exiOut->V2G_Message.Body.ChargeParameterDiscoveryRes.SAScheduleList.SAScheduleTuple.array[0].PMaxSchedule.PMaxScheduleEntry.array[1].PMax.Value=0;
exiOut->V2G_Message.Body.ChargeParameterDiscoveryRes.SAScheduleList.SAScheduleTuple.array[0].PMaxSchedule.PMaxScheduleEntry.array[1].PMax.Unit = unitSymbolType_W; exiOut->V2G_Message.Body.ChargeParameterDiscoveryRes.SAScheduleList.SAScheduleTuple.array[0].PMaxSchedule.PMaxScheduleEntry.array[1].PMax.Unit = v2gunitSymbolType_W;
exiOut->V2G_Message.Body.ChargeParameterDiscoveryRes.SAScheduleList.SAScheduleTuple.array[0].PMaxSchedule.PMaxScheduleEntry.array[1].PMax.Multiplier =0; exiOut->V2G_Message.Body.ChargeParameterDiscoveryRes.SAScheduleList.SAScheduleTuple.array[0].PMaxSchedule.PMaxScheduleEntry.array[1].PMax.Multiplier =0;
exiOut->V2G_Message.Body.ChargeParameterDiscoveryRes.SAScheduleList.SAScheduleTuple.array[0].PMaxSchedule.PMaxScheduleEntry.array[1].RelativeTimeInterval.start=1200; /* 20 min */ exiOut->V2G_Message.Body.ChargeParameterDiscoveryRes.SAScheduleList.SAScheduleTuple.array[0].PMaxSchedule.PMaxScheduleEntry.array[1].RelativeTimeInterval.start=1200; /* 20 min */
exiOut->V2G_Message.Body.ChargeParameterDiscoveryRes.SAScheduleList.SAScheduleTuple.array[0].PMaxSchedule.PMaxScheduleEntry.array[1].RelativeTimeInterval_isUsed = 1u; exiOut->V2G_Message.Body.ChargeParameterDiscoveryRes.SAScheduleList.SAScheduleTuple.array[0].PMaxSchedule.PMaxScheduleEntry.array[1].RelativeTimeInterval_isUsed = 1u;
@ -757,7 +764,7 @@ static int chargeParameterDiscovery(struct v2gEXIDocument* exiIn, struct v2gEXID
exiOut->V2G_Message.Body.ChargeParameterDiscoveryRes.SAScheduleList.SAScheduleTuple.array[1].SalesTariff.SalesTariffEntry.array[1].ConsumptionCost.array[0].Cost.array[0].amount=10; exiOut->V2G_Message.Body.ChargeParameterDiscoveryRes.SAScheduleList.SAScheduleTuple.array[1].SalesTariff.SalesTariffEntry.array[1].ConsumptionCost.array[0].Cost.array[0].amount=10;
exiOut->V2G_Message.Body.ChargeParameterDiscoveryRes.SAScheduleList.SAScheduleTuple.array[1].SalesTariff.SalesTariffEntry.array[1].ConsumptionCost.array[0].Cost.array[0].amountMultiplier=1; exiOut->V2G_Message.Body.ChargeParameterDiscoveryRes.SAScheduleList.SAScheduleTuple.array[1].SalesTariff.SalesTariffEntry.array[1].ConsumptionCost.array[0].Cost.array[0].amountMultiplier=1;
exiOut->V2G_Message.Body.ChargeParameterDiscoveryRes.SAScheduleList.SAScheduleTuple.array[1].SalesTariff.SalesTariffEntry.array[1].ConsumptionCost.array[0].Cost.array[0].amountMultiplier_isUsed =1; exiOut->V2G_Message.Body.ChargeParameterDiscoveryRes.SAScheduleList.SAScheduleTuple.array[1].SalesTariff.SalesTariffEntry.array[1].ConsumptionCost.array[0].Cost.array[0].amountMultiplier_isUsed =1;
exiOut->V2G_Message.Body.ChargeParameterDiscoveryRes.SAScheduleList.SAScheduleTuple.array[1].SalesTariff.SalesTariffEntry.array[1].ConsumptionCost.array[0].Cost.array[0].costKind= costKindType_RenewableGenerationPercentage; exiOut->V2G_Message.Body.ChargeParameterDiscoveryRes.SAScheduleList.SAScheduleTuple.array[1].SalesTariff.SalesTariffEntry.array[1].ConsumptionCost.array[0].Cost.array[0].costKind= v2gcostKindType_RenewableGenerationPercentage;
exiOut->V2G_Message.Body.ChargeParameterDiscoveryRes.SAScheduleList.SAScheduleTuple.array[1].SalesTariff.SalesTariffEntry.array[1].ConsumptionCost.array[0].startValue.Value=123; exiOut->V2G_Message.Body.ChargeParameterDiscoveryRes.SAScheduleList.SAScheduleTuple.array[1].SalesTariff.SalesTariffEntry.array[1].ConsumptionCost.array[0].startValue.Value=123;
exiOut->V2G_Message.Body.ChargeParameterDiscoveryRes.SAScheduleList.SAScheduleTuple.array[1].SalesTariff.SalesTariffEntry.array[1].ConsumptionCost.array[0].Cost.arrayLen = 1; exiOut->V2G_Message.Body.ChargeParameterDiscoveryRes.SAScheduleList.SAScheduleTuple.array[1].SalesTariff.SalesTariffEntry.array[1].ConsumptionCost.array[0].Cost.arrayLen = 1;
exiOut->V2G_Message.Body.ChargeParameterDiscoveryRes.SAScheduleList.SAScheduleTuple.array[1].SalesTariff.SalesTariffEntry.array[1].EPriceLevel_isUsed =1; exiOut->V2G_Message.Body.ChargeParameterDiscoveryRes.SAScheduleList.SAScheduleTuple.array[1].SalesTariff.SalesTariffEntry.array[1].EPriceLevel_isUsed =1;
@ -815,11 +822,11 @@ static int powerDelivery(struct v2gEXIDocument* exiIn, struct v2gEXIDocument* ex
} }
} }
exiOut->V2G_Message.Body.PowerDeliveryRes.ResponseCode = responseCodeType_OK; exiOut->V2G_Message.Body.PowerDeliveryRes.ResponseCode = v2gresponseCodeType_OK;
exiOut->V2G_Message.Body.PowerDeliveryRes.DC_EVSEStatus.EVSEIsolationStatus =0; exiOut->V2G_Message.Body.PowerDeliveryRes.DC_EVSEStatus.EVSEIsolationStatus =0;
exiOut->V2G_Message.Body.PowerDeliveryRes.DC_EVSEStatus.EVSEIsolationStatus_isUsed = 1; exiOut->V2G_Message.Body.PowerDeliveryRes.DC_EVSEStatus.EVSEIsolationStatus_isUsed = 1;
exiOut->V2G_Message.Body.PowerDeliveryRes.DC_EVSEStatus.EVSEStatusCode = DC_EVSEStatusCodeType_EVSE_Ready; exiOut->V2G_Message.Body.PowerDeliveryRes.DC_EVSEStatus.EVSEStatusCode = v2gDC_EVSEStatusCodeType_EVSE_Ready;
exiOut->V2G_Message.Body.PowerDeliveryRes.DC_EVSEStatus.EVSENotification = EVSENotificationType_None; exiOut->V2G_Message.Body.PowerDeliveryRes.DC_EVSEStatus.EVSENotification = v2gEVSENotificationType_None;
exiOut->V2G_Message.Body.PowerDeliveryRes.DC_EVSEStatus.NotificationMaxDelay = 123; exiOut->V2G_Message.Body.PowerDeliveryRes.DC_EVSEStatus.NotificationMaxDelay = 123;
exiOut->V2G_Message.Body.PowerDeliveryRes.DC_EVSEStatus_isUsed = 1; exiOut->V2G_Message.Body.PowerDeliveryRes.DC_EVSEStatus_isUsed = 1;
@ -827,7 +834,7 @@ static int powerDelivery(struct v2gEXIDocument* exiIn, struct v2gEXIDocument* ex
} else { } else {
exiOut->V2G_Message.Body.PowerDeliveryRes.ResponseCode = responseCodeType_OK; exiOut->V2G_Message.Body.PowerDeliveryRes.ResponseCode = v2gresponseCodeType_OK;
exiOut->V2G_Message.Body.PowerDeliveryRes.AC_EVSEStatus.RCD=0; exiOut->V2G_Message.Body.PowerDeliveryRes.AC_EVSEStatus.RCD=0;
exiOut->V2G_Message.Body.PowerDeliveryRes.AC_EVSEStatus.EVSENotification=3; exiOut->V2G_Message.Body.PowerDeliveryRes.AC_EVSEStatus.EVSENotification=3;
exiOut->V2G_Message.Body.PowerDeliveryRes.AC_EVSEStatus.NotificationMaxDelay=12; exiOut->V2G_Message.Body.PowerDeliveryRes.AC_EVSEStatus.NotificationMaxDelay=12;
@ -849,17 +856,17 @@ static int chargingStatus(struct v2gEXIDocument* exiIn, struct v2gEXIDocument* e
init_v2gBodyType(&exiOut->V2G_Message.Body); init_v2gBodyType(&exiOut->V2G_Message.Body);
exiOut->V2G_Message.Body.ChargingStatusRes_isUsed = 1u; exiOut->V2G_Message.Body.ChargingStatusRes_isUsed = 1u;
exiOut->V2G_Message.Body.ChargingStatusRes.ResponseCode = responseCodeType_OK; exiOut->V2G_Message.Body.ChargingStatusRes.ResponseCode = v2gresponseCodeType_OK;
exiOut->V2G_Message.Body.ChargingStatusRes.EVSEID.characters[0]=12; exiOut->V2G_Message.Body.ChargingStatusRes.EVSEID.characters[0]=12;
exiOut->V2G_Message.Body.ChargingStatusRes.EVSEID.charactersLen =1; exiOut->V2G_Message.Body.ChargingStatusRes.EVSEID.charactersLen =1;
exiOut->V2G_Message.Body.ChargingStatusRes.AC_EVSEStatus.RCD=1; exiOut->V2G_Message.Body.ChargingStatusRes.AC_EVSEStatus.RCD=1;
exiOut->V2G_Message.Body.ChargingStatusRes.AC_EVSEStatus.EVSENotification = EVSENotificationType_None; exiOut->V2G_Message.Body.ChargingStatusRes.AC_EVSEStatus.EVSENotification = v2gEVSENotificationType_None;
exiOut->V2G_Message.Body.ChargingStatusRes.AC_EVSEStatus.NotificationMaxDelay=123; exiOut->V2G_Message.Body.ChargingStatusRes.AC_EVSEStatus.NotificationMaxDelay=123;
exiOut->V2G_Message.Body.ChargingStatusRes.ReceiptRequired=1; exiOut->V2G_Message.Body.ChargingStatusRes.ReceiptRequired=1;
exiOut->V2G_Message.Body.ChargingStatusRes.ReceiptRequired_isUsed =1; exiOut->V2G_Message.Body.ChargingStatusRes.ReceiptRequired_isUsed =1;
exiOut->V2G_Message.Body.ChargingStatusRes.EVSEMaxCurrent.Multiplier = 2; exiOut->V2G_Message.Body.ChargingStatusRes.EVSEMaxCurrent.Multiplier = 2;
exiOut->V2G_Message.Body.ChargingStatusRes.EVSEMaxCurrent.Unit = unitSymbolType_A; exiOut->V2G_Message.Body.ChargingStatusRes.EVSEMaxCurrent.Unit = v2gunitSymbolType_A;
exiOut->V2G_Message.Body.ChargingStatusRes.EVSEMaxCurrent.Value = 400; exiOut->V2G_Message.Body.ChargingStatusRes.EVSEMaxCurrent.Value = 400;
exiOut->V2G_Message.Body.ChargingStatusRes.EVSEMaxCurrent_isUsed =1; exiOut->V2G_Message.Body.ChargingStatusRes.EVSEMaxCurrent_isUsed =1;
@ -902,10 +909,10 @@ static int meteringReceipt(struct v2gEXIDocument* exiIn, struct v2gEXIDocument*
init_v2gBodyType(&exiOut->V2G_Message.Body); init_v2gBodyType(&exiOut->V2G_Message.Body);
exiOut->V2G_Message.Body.MeteringReceiptRes_isUsed = 1u; exiOut->V2G_Message.Body.MeteringReceiptRes_isUsed = 1u;
exiOut->V2G_Message.Body.MeteringReceiptRes.ResponseCode = responseCodeType_OK; exiOut->V2G_Message.Body.MeteringReceiptRes.ResponseCode = v2gresponseCodeType_OK;
exiOut->V2G_Message.Body.MeteringReceiptRes.AC_EVSEStatus.RCD=1; exiOut->V2G_Message.Body.MeteringReceiptRes.AC_EVSEStatus.RCD=1;
exiOut->V2G_Message.Body.MeteringReceiptRes.AC_EVSEStatus.EVSENotification= EVSENotificationType_None; exiOut->V2G_Message.Body.MeteringReceiptRes.AC_EVSEStatus.EVSENotification= v2gEVSENotificationType_None;
exiOut->V2G_Message.Body.MeteringReceiptRes.AC_EVSEStatus.NotificationMaxDelay=123; exiOut->V2G_Message.Body.MeteringReceiptRes.AC_EVSEStatus.NotificationMaxDelay=123;
return 0; return 0;
@ -924,7 +931,7 @@ static int sessionStop(struct v2gEXIDocument* exiIn, struct v2gEXIDocument* exiO
init_v2gBodyType(&exiOut->V2G_Message.Body); init_v2gBodyType(&exiOut->V2G_Message.Body);
exiOut->V2G_Message.Body.SessionStopRes_isUsed = 1u; exiOut->V2G_Message.Body.SessionStopRes_isUsed = 1u;
exiOut->V2G_Message.Body.SessionStopRes.ResponseCode = responseCodeType_OK; exiOut->V2G_Message.Body.SessionStopRes.ResponseCode = v2gresponseCodeType_OK;
return 0; return 0;
} }
@ -944,13 +951,13 @@ static int cableCheck(struct v2gEXIDocument* exiIn, struct v2gEXIDocument* exiOu
init_v2gBodyType(&exiOut->V2G_Message.Body); init_v2gBodyType(&exiOut->V2G_Message.Body);
exiOut->V2G_Message.Body.CableCheckRes_isUsed = 1u; exiOut->V2G_Message.Body.CableCheckRes_isUsed = 1u;
exiOut->V2G_Message.Body.CableCheckRes.ResponseCode = responseCodeType_OK; exiOut->V2G_Message.Body.CableCheckRes.ResponseCode = v2gresponseCodeType_OK;
exiOut->V2G_Message.Body.CableCheckRes.EVSEProcessing = EVSEProcessingType_Finished; exiOut->V2G_Message.Body.CableCheckRes.EVSEProcessing = v2gEVSEProcessingType_Finished;
exiOut->V2G_Message.Body.CableCheckRes.DC_EVSEStatus.EVSEIsolationStatus= isolationLevelType_Valid; exiOut->V2G_Message.Body.CableCheckRes.DC_EVSEStatus.EVSEIsolationStatus= v2gisolationLevelType_Valid;
exiOut->V2G_Message.Body.CableCheckRes.DC_EVSEStatus.EVSEIsolationStatus_isUsed = 1u; exiOut->V2G_Message.Body.CableCheckRes.DC_EVSEStatus.EVSEIsolationStatus_isUsed = 1u;
exiOut->V2G_Message.Body.CableCheckRes.DC_EVSEStatus.EVSEStatusCode = DC_EVSEStatusCodeType_EVSE_Ready; exiOut->V2G_Message.Body.CableCheckRes.DC_EVSEStatus.EVSEStatusCode = v2gDC_EVSEStatusCodeType_EVSE_Ready;
exiOut->V2G_Message.Body.CableCheckRes.DC_EVSEStatus.EVSENotification= EVSENotificationType_None; exiOut->V2G_Message.Body.CableCheckRes.DC_EVSEStatus.EVSENotification= v2gEVSENotificationType_None;
exiOut->V2G_Message.Body.CableCheckRes.DC_EVSEStatus.NotificationMaxDelay = 1234; exiOut->V2G_Message.Body.CableCheckRes.DC_EVSEStatus.NotificationMaxDelay = 1234;
return 0; return 0;
@ -974,17 +981,17 @@ static int preCharge(struct v2gEXIDocument* exiIn, struct v2gEXIDocument* exiOut
init_v2gBodyType(&exiOut->V2G_Message.Body); init_v2gBodyType(&exiOut->V2G_Message.Body);
exiOut->V2G_Message.Body.PreChargeRes_isUsed = 1u; exiOut->V2G_Message.Body.PreChargeRes_isUsed = 1u;
exiOut->V2G_Message.Body.PreChargeRes.ResponseCode = responseCodeType_OK; exiOut->V2G_Message.Body.PreChargeRes.ResponseCode = v2gresponseCodeType_OK;
exiOut->V2G_Message.Body.PreChargeRes.DC_EVSEStatus.EVSEIsolationStatus= isolationLevelType_Valid; exiOut->V2G_Message.Body.PreChargeRes.DC_EVSEStatus.EVSEIsolationStatus= v2gisolationLevelType_Valid;
exiOut->V2G_Message.Body.PreChargeRes.DC_EVSEStatus.EVSEIsolationStatus_isUsed = 1u; exiOut->V2G_Message.Body.PreChargeRes.DC_EVSEStatus.EVSEIsolationStatus_isUsed = 1u;
exiOut->V2G_Message.Body.PreChargeRes.DC_EVSEStatus.EVSEStatusCode = DC_EVSEStatusCodeType_EVSE_Ready; exiOut->V2G_Message.Body.PreChargeRes.DC_EVSEStatus.EVSEStatusCode = v2gDC_EVSEStatusCodeType_EVSE_Ready;
exiOut->V2G_Message.Body.PreChargeRes.DC_EVSEStatus.EVSENotification = EVSENotificationType_None; exiOut->V2G_Message.Body.PreChargeRes.DC_EVSEStatus.EVSENotification = v2gEVSENotificationType_None;
exiOut->V2G_Message.Body.PreChargeRes.DC_EVSEStatus.NotificationMaxDelay= 1234; exiOut->V2G_Message.Body.PreChargeRes.DC_EVSEStatus.NotificationMaxDelay= 1234;
exiOut->V2G_Message.Body.PreChargeRes.EVSEPresentVoltage.Multiplier = 0; exiOut->V2G_Message.Body.PreChargeRes.EVSEPresentVoltage.Multiplier = 0;
exiOut->V2G_Message.Body.PreChargeRes.EVSEPresentVoltage.Unit = unitSymbolType_V; exiOut->V2G_Message.Body.PreChargeRes.EVSEPresentVoltage.Unit = v2gunitSymbolType_V;
exiOut->V2G_Message.Body.PreChargeRes.EVSEPresentVoltage.Value= 100; exiOut->V2G_Message.Body.PreChargeRes.EVSEPresentVoltage.Value= 100;
return 0; return 0;
@ -1017,21 +1024,21 @@ static int currentDemand(struct v2gEXIDocument* exiIn, struct v2gEXIDocument* ex
init_v2gBodyType(&exiOut->V2G_Message.Body); init_v2gBodyType(&exiOut->V2G_Message.Body);
exiOut->V2G_Message.Body.CurrentDemandRes_isUsed = 1u; exiOut->V2G_Message.Body.CurrentDemandRes_isUsed = 1u;
exiOut->V2G_Message.Body.CurrentDemandRes.ResponseCode = responseCodeType_OK; exiOut->V2G_Message.Body.CurrentDemandRes.ResponseCode = v2gresponseCodeType_OK;
exiOut->V2G_Message.Body.CurrentDemandRes.DC_EVSEStatus.EVSEIsolationStatus= isolationLevelType_Valid; exiOut->V2G_Message.Body.CurrentDemandRes.DC_EVSEStatus.EVSEIsolationStatus= v2gisolationLevelType_Valid;
exiOut->V2G_Message.Body.CurrentDemandRes.DC_EVSEStatus.EVSEIsolationStatus_isUsed = 1; exiOut->V2G_Message.Body.CurrentDemandRes.DC_EVSEStatus.EVSEIsolationStatus_isUsed = 1;
exiOut->V2G_Message.Body.CurrentDemandRes.DC_EVSEStatus.EVSEStatusCode = DC_EVSEStatusCodeType_EVSE_Ready; exiOut->V2G_Message.Body.CurrentDemandRes.DC_EVSEStatus.EVSEStatusCode = v2gDC_EVSEStatusCodeType_EVSE_Ready;
exiOut->V2G_Message.Body.CurrentDemandRes.DC_EVSEStatus.EVSENotification= EVSENotificationType_None; exiOut->V2G_Message.Body.CurrentDemandRes.DC_EVSEStatus.EVSENotification= v2gEVSENotificationType_None;
exiOut->V2G_Message.Body.CurrentDemandRes.DC_EVSEStatus.NotificationMaxDelay=1234; exiOut->V2G_Message.Body.CurrentDemandRes.DC_EVSEStatus.NotificationMaxDelay=1234;
exiOut->V2G_Message.Body.CurrentDemandRes.EVSEPresentVoltage.Multiplier = 0; exiOut->V2G_Message.Body.CurrentDemandRes.EVSEPresentVoltage.Multiplier = 0;
exiOut->V2G_Message.Body.CurrentDemandRes.EVSEPresentVoltage.Unit = unitSymbolType_V; exiOut->V2G_Message.Body.CurrentDemandRes.EVSEPresentVoltage.Unit = v2gunitSymbolType_V;
exiOut->V2G_Message.Body.CurrentDemandRes.EVSEPresentVoltage.Value = 400; exiOut->V2G_Message.Body.CurrentDemandRes.EVSEPresentVoltage.Value = 400;
exiOut->V2G_Message.Body.CurrentDemandRes.EVSEPresentCurrent.Multiplier = 0; exiOut->V2G_Message.Body.CurrentDemandRes.EVSEPresentCurrent.Multiplier = 0;
exiOut->V2G_Message.Body.CurrentDemandRes.EVSEPresentCurrent.Unit = unitSymbolType_A; exiOut->V2G_Message.Body.CurrentDemandRes.EVSEPresentCurrent.Unit = v2gunitSymbolType_A;
exiOut->V2G_Message.Body.CurrentDemandRes.EVSEPresentCurrent.Value = 45; exiOut->V2G_Message.Body.CurrentDemandRes.EVSEPresentCurrent.Value = 45;
exiOut->V2G_Message.Body.CurrentDemandRes.EVSECurrentLimitAchieved=0; exiOut->V2G_Message.Body.CurrentDemandRes.EVSECurrentLimitAchieved=0;
@ -1039,17 +1046,17 @@ static int currentDemand(struct v2gEXIDocument* exiIn, struct v2gEXIDocument* ex
exiOut->V2G_Message.Body.CurrentDemandRes.EVSEPowerLimitAchieved=0; exiOut->V2G_Message.Body.CurrentDemandRes.EVSEPowerLimitAchieved=0;
exiOut->V2G_Message.Body.CurrentDemandRes.EVSEMaximumVoltageLimit.Multiplier = 0; exiOut->V2G_Message.Body.CurrentDemandRes.EVSEMaximumVoltageLimit.Multiplier = 0;
exiOut->V2G_Message.Body.CurrentDemandRes.EVSEMaximumVoltageLimit.Unit = unitSymbolType_V; exiOut->V2G_Message.Body.CurrentDemandRes.EVSEMaximumVoltageLimit.Unit = v2gunitSymbolType_V;
exiOut->V2G_Message.Body.CurrentDemandRes.EVSEMaximumVoltageLimit.Value = 400; exiOut->V2G_Message.Body.CurrentDemandRes.EVSEMaximumVoltageLimit.Value = 400;
exiOut->V2G_Message.Body.CurrentDemandRes.EVSEMaximumVoltageLimit_isUsed = 1u; exiOut->V2G_Message.Body.CurrentDemandRes.EVSEMaximumVoltageLimit_isUsed = 1u;
exiOut->V2G_Message.Body.CurrentDemandRes.EVSEMaximumCurrentLimit.Multiplier = 0; exiOut->V2G_Message.Body.CurrentDemandRes.EVSEMaximumCurrentLimit.Multiplier = 0;
exiOut->V2G_Message.Body.CurrentDemandRes.EVSEMaximumCurrentLimit.Unit = unitSymbolType_A; exiOut->V2G_Message.Body.CurrentDemandRes.EVSEMaximumCurrentLimit.Unit = v2gunitSymbolType_A;
exiOut->V2G_Message.Body.CurrentDemandRes.EVSEMaximumCurrentLimit.Value = 50; exiOut->V2G_Message.Body.CurrentDemandRes.EVSEMaximumCurrentLimit.Value = 50;
exiOut->V2G_Message.Body.CurrentDemandRes.EVSEMaximumCurrentLimit_isUsed = 1u; exiOut->V2G_Message.Body.CurrentDemandRes.EVSEMaximumCurrentLimit_isUsed = 1u;
exiOut->V2G_Message.Body.CurrentDemandRes.EVSEMaximumPowerLimit.Multiplier = 0; exiOut->V2G_Message.Body.CurrentDemandRes.EVSEMaximumPowerLimit.Multiplier = 0;
exiOut->V2G_Message.Body.CurrentDemandRes.EVSEMaximumPowerLimit.Unit = unitSymbolType_W; exiOut->V2G_Message.Body.CurrentDemandRes.EVSEMaximumPowerLimit.Unit = v2gunitSymbolType_W;
exiOut->V2G_Message.Body.CurrentDemandRes.EVSEMaximumPowerLimit.Value = 20000; exiOut->V2G_Message.Body.CurrentDemandRes.EVSEMaximumPowerLimit.Value = 20000;
exiOut->V2G_Message.Body.CurrentDemandRes.EVSEMaximumPowerLimit_isUsed = 1u; exiOut->V2G_Message.Body.CurrentDemandRes.EVSEMaximumPowerLimit_isUsed = 1u;
@ -1093,15 +1100,15 @@ static int weldingDetection(struct v2gEXIDocument* exiIn, struct v2gEXIDocument*
init_v2gBodyType(&exiOut->V2G_Message.Body); init_v2gBodyType(&exiOut->V2G_Message.Body);
exiOut->V2G_Message.Body.WeldingDetectionRes_isUsed = 1u; exiOut->V2G_Message.Body.WeldingDetectionRes_isUsed = 1u;
exiOut->V2G_Message.Body.WeldingDetectionRes.ResponseCode = responseCodeType_OK; exiOut->V2G_Message.Body.WeldingDetectionRes.ResponseCode = v2gresponseCodeType_OK;
exiOut->V2G_Message.Body.WeldingDetectionRes.DC_EVSEStatus.EVSEIsolationStatus= isolationLevelType_Valid; exiOut->V2G_Message.Body.WeldingDetectionRes.DC_EVSEStatus.EVSEIsolationStatus= v2gisolationLevelType_Valid;
exiOut->V2G_Message.Body.WeldingDetectionRes.DC_EVSEStatus.EVSEIsolationStatus_isUsed = 1; exiOut->V2G_Message.Body.WeldingDetectionRes.DC_EVSEStatus.EVSEIsolationStatus_isUsed = 1;
exiOut->V2G_Message.Body.WeldingDetectionRes.DC_EVSEStatus.EVSEStatusCode = DC_EVSEStatusCodeType_EVSE_Ready; exiOut->V2G_Message.Body.WeldingDetectionRes.DC_EVSEStatus.EVSEStatusCode = v2gDC_EVSEStatusCodeType_EVSE_Ready;
exiOut->V2G_Message.Body.WeldingDetectionRes.DC_EVSEStatus.EVSENotification= EVSENotificationType_None; exiOut->V2G_Message.Body.WeldingDetectionRes.DC_EVSEStatus.EVSENotification= v2gEVSENotificationType_None;
exiOut->V2G_Message.Body.WeldingDetectionRes.DC_EVSEStatus.NotificationMaxDelay=123; exiOut->V2G_Message.Body.WeldingDetectionRes.DC_EVSEStatus.NotificationMaxDelay=123;
exiOut->V2G_Message.Body.WeldingDetectionRes.EVSEPresentVoltage.Value = 1234; exiOut->V2G_Message.Body.WeldingDetectionRes.EVSEPresentVoltage.Value = 1234;
exiOut->V2G_Message.Body.WeldingDetectionRes.EVSEPresentVoltage.Unit = unitSymbolType_V; exiOut->V2G_Message.Body.WeldingDetectionRes.EVSEPresentVoltage.Unit = v2gunitSymbolType_V;
exiOut->V2G_Message.Body.WeldingDetectionRes.EVSEPresentVoltage.Multiplier = 0; exiOut->V2G_Message.Body.WeldingDetectionRes.EVSEPresentVoltage.Multiplier = 0;
return 0; return 0;
@ -1270,7 +1277,7 @@ static int ac_charging()
init_v2gServiceDiscoveryReqType(&exiIn.V2G_Message.Body.ServiceDiscoveryReq); init_v2gServiceDiscoveryReqType(&exiIn.V2G_Message.Body.ServiceDiscoveryReq);
exiIn.V2G_Message.Body.ServiceDiscoveryReq.ServiceCategory_isUsed = 1u; exiIn.V2G_Message.Body.ServiceDiscoveryReq.ServiceCategory_isUsed = 1u;
exiIn.V2G_Message.Body.ServiceDiscoveryReq.ServiceCategory = serviceCategoryType_Internet; exiIn.V2G_Message.Body.ServiceDiscoveryReq.ServiceCategory = v2gserviceCategoryType_Internet;
exiIn.V2G_Message.Body.ServiceDiscoveryReq.ServiceScope_isUsed = 0u; exiIn.V2G_Message.Body.ServiceDiscoveryReq.ServiceScope_isUsed = 0u;
printf("EV side: call EVSE serviceDiscovery"); printf("EV side: call EVSE serviceDiscovery");
@ -1289,16 +1296,16 @@ static int ac_charging()
printf("\t ServiceID=%d\n", exiOut.V2G_Message.Body.ServiceDiscoveryRes.ChargeService.ServiceID); printf("\t ServiceID=%d\n", exiOut.V2G_Message.Body.ServiceDiscoveryRes.ChargeService.ServiceID);
printf("\t ServiceName="); printf("\t ServiceName=");
printASCIIString(serviceDiscoveryRes.ChargeService.ServiceName.characters, serviceDiscoveryRes.ChargeService.ServiceName.charactersLen); printASCIIString(serviceDiscoveryRes.ChargeService.ServiceName.characters, serviceDiscoveryRes.ChargeService.ServiceName.charactersLen);
if(serviceDiscoveryRes.PaymentOptionList.PaymentOption.array[1] == paymentOptionType_Contract) { if(serviceDiscoveryRes.PaymentOptionList.PaymentOption.array[1] == v2gpaymentOptionType_Contract) {
printf("\t PaymentOption=Contract_paymentOptionType\n"); printf("\t PaymentOption=Contract_paymentOptionType\n");
} }
if(serviceDiscoveryRes.ChargeService.FreeService==1) { if(serviceDiscoveryRes.ChargeService.FreeService==1) {
printf("\t ChargeService.FreeService=True\n"); printf("\t ChargeService.FreeService=True\n");
} }
if(serviceDiscoveryRes.ChargeService.SupportedEnergyTransferMode.EnergyTransferMode.array[0] == EnergyTransferModeType_DC_combo_core) { if(serviceDiscoveryRes.ChargeService.SupportedEnergyTransferMode.EnergyTransferMode.array[0] == v2gEnergyTransferModeType_DC_combo_core) {
printf("\t EnergyTransferMode=AC_single_DC_core\n"); printf("\t EnergyTransferMode=AC_single_DC_core\n");
} }
if(serviceDiscoveryRes.ChargeService.SupportedEnergyTransferMode.EnergyTransferMode.array[1] == EnergyTransferModeType_AC_single_phase_core) { if(serviceDiscoveryRes.ChargeService.SupportedEnergyTransferMode.EnergyTransferMode.array[1] == v2gEnergyTransferModeType_AC_single_phase_core) {
printf("\t EnergyTransferMode=AC_single_phase_core_EnergyTransferModeType\n"); printf("\t EnergyTransferMode=AC_single_phase_core_EnergyTransferModeType\n");
} }
printf("\t Value added service list:\n"); printf("\t Value added service list:\n");
@ -1307,7 +1314,7 @@ static int ac_charging()
printf("\n\t\t ServiceID=%d\n", serviceDiscoveryRes.ServiceList.Service.array[i].ServiceID); printf("\n\t\t ServiceID=%d\n", serviceDiscoveryRes.ServiceList.Service.array[i].ServiceID);
printf("\t\t ServiceName="); printf("\t\t ServiceName=");
printASCIIString(serviceDiscoveryRes.ServiceList.Service.array[i].ServiceName.characters, exiOut.V2G_Message.Body.ServiceDiscoveryRes.ServiceList.Service.array[i].ServiceName.charactersLen ); printASCIIString(serviceDiscoveryRes.ServiceList.Service.array[i].ServiceName.characters, exiOut.V2G_Message.Body.ServiceDiscoveryRes.ServiceList.Service.array[i].ServiceName.charactersLen );
if(serviceDiscoveryRes.ServiceList.Service.array[i].ServiceCategory == serviceCategoryType_Internet) { if(serviceDiscoveryRes.ServiceList.Service.array[i].ServiceCategory == v2gserviceCategoryType_Internet) {
printf("\t\t ServiceCategory=Internet\n"); printf("\t\t ServiceCategory=Internet\n");
} }
if(serviceDiscoveryRes.ServiceList.Service.array[i].FreeService==1) { if(serviceDiscoveryRes.ServiceList.Service.array[i].FreeService==1) {
@ -1386,7 +1393,7 @@ static int ac_charging()
init_v2gPaymentServiceSelectionReqType(&exiIn.V2G_Message.Body.PaymentServiceSelectionReq); init_v2gPaymentServiceSelectionReqType(&exiIn.V2G_Message.Body.PaymentServiceSelectionReq);
exiIn.V2G_Message.Body.PaymentServiceSelectionReq.SelectedPaymentOption = paymentOptionType_ExternalPayment; exiIn.V2G_Message.Body.PaymentServiceSelectionReq.SelectedPaymentOption = v2gpaymentOptionType_ExternalPayment;
exiIn.V2G_Message.Body.PaymentServiceSelectionReq.SelectedServiceList.SelectedService.arrayLen = 2; exiIn.V2G_Message.Body.PaymentServiceSelectionReq.SelectedServiceList.SelectedService.arrayLen = 2;
exiIn.V2G_Message.Body.PaymentServiceSelectionReq.SelectedServiceList.SelectedService.array[0].ServiceID = serviceDiscoveryRes.ChargeService.ServiceID; /* charge server ID */ exiIn.V2G_Message.Body.PaymentServiceSelectionReq.SelectedServiceList.SelectedService.array[0].ServiceID = serviceDiscoveryRes.ChargeService.ServiceID; /* charge server ID */
exiIn.V2G_Message.Body.PaymentServiceSelectionReq.SelectedServiceList.SelectedService.array[0].ParameterSetID_isUsed = 0u; /* is not used */ exiIn.V2G_Message.Body.PaymentServiceSelectionReq.SelectedServiceList.SelectedService.array[0].ParameterSetID_isUsed = 0u; /* is not used */
@ -1504,7 +1511,7 @@ static int ac_charging()
printBinaryArray(exiOut.V2G_Message.Header.SessionID.bytes, exiOut.V2G_Message.Header.SessionID.bytesLen); printBinaryArray(exiOut.V2G_Message.Header.SessionID.bytes, exiOut.V2G_Message.Header.SessionID.bytesLen);
printf("\t ResponseCode=%d\n", exiOut.V2G_Message.Body.AuthorizationRes.ResponseCode); printf("\t ResponseCode=%d\n", exiOut.V2G_Message.Body.AuthorizationRes.ResponseCode);
if(exiOut.V2G_Message.Body.AuthorizationRes.EVSEProcessing == EVSEProcessingType_Finished) { if(exiOut.V2G_Message.Body.AuthorizationRes.EVSEProcessing == v2gEVSEProcessingType_Finished) {
printf("\t EVSEProcessing=Finished\n"); printf("\t EVSEProcessing=Finished\n");
} }
} else { } else {
@ -1525,26 +1532,26 @@ static int ac_charging()
init_v2gChargeParameterDiscoveryReqType(&exiIn.V2G_Message.Body.ChargeParameterDiscoveryReq); init_v2gChargeParameterDiscoveryReqType(&exiIn.V2G_Message.Body.ChargeParameterDiscoveryReq);
/* we use here AC based charging parameters */ /* we use here AC based charging parameters */
exiIn.V2G_Message.Body.ChargeParameterDiscoveryReq.RequestedEnergyTransferMode = EnergyTransferModeType_AC_single_phase_core; exiIn.V2G_Message.Body.ChargeParameterDiscoveryReq.RequestedEnergyTransferMode = v2gEnergyTransferModeType_AC_single_phase_core;
exiIn.V2G_Message.Body.ChargeParameterDiscoveryReq.MaxEntriesSAScheduleTuple = 1234; exiIn.V2G_Message.Body.ChargeParameterDiscoveryReq.MaxEntriesSAScheduleTuple = 1234;
exiIn.V2G_Message.Body.ChargeParameterDiscoveryReq.AC_EVChargeParameter_isUsed = 1u; exiIn.V2G_Message.Body.ChargeParameterDiscoveryReq.AC_EVChargeParameter_isUsed = 1u;
exiIn.V2G_Message.Body.ChargeParameterDiscoveryReq.AC_EVChargeParameter.DepartureTime = 12345; exiIn.V2G_Message.Body.ChargeParameterDiscoveryReq.AC_EVChargeParameter.DepartureTime = 12345;
exiIn.V2G_Message.Body.ChargeParameterDiscoveryReq.AC_EVChargeParameter.EAmount.Multiplier = 0; exiIn.V2G_Message.Body.ChargeParameterDiscoveryReq.AC_EVChargeParameter.EAmount.Multiplier = 0;
exiIn.V2G_Message.Body.ChargeParameterDiscoveryReq.AC_EVChargeParameter.EAmount.Unit = unitSymbolType_W; exiIn.V2G_Message.Body.ChargeParameterDiscoveryReq.AC_EVChargeParameter.EAmount.Unit = v2gunitSymbolType_W;
exiIn.V2G_Message.Body.ChargeParameterDiscoveryReq.AC_EVChargeParameter.EAmount.Value = 100; exiIn.V2G_Message.Body.ChargeParameterDiscoveryReq.AC_EVChargeParameter.EAmount.Value = 100;
exiIn.V2G_Message.Body.ChargeParameterDiscoveryReq.AC_EVChargeParameter.EVMaxCurrent.Multiplier = 0; exiIn.V2G_Message.Body.ChargeParameterDiscoveryReq.AC_EVChargeParameter.EVMaxCurrent.Multiplier = 0;
exiIn.V2G_Message.Body.ChargeParameterDiscoveryReq.AC_EVChargeParameter.EVMaxCurrent.Unit = unitSymbolType_A; exiIn.V2G_Message.Body.ChargeParameterDiscoveryReq.AC_EVChargeParameter.EVMaxCurrent.Unit = v2gunitSymbolType_A;
exiIn.V2G_Message.Body.ChargeParameterDiscoveryReq.AC_EVChargeParameter.EVMaxCurrent.Value = 200; exiIn.V2G_Message.Body.ChargeParameterDiscoveryReq.AC_EVChargeParameter.EVMaxCurrent.Value = 200;
exiIn.V2G_Message.Body.ChargeParameterDiscoveryReq.AC_EVChargeParameter.EVMaxVoltage.Multiplier = 0; exiIn.V2G_Message.Body.ChargeParameterDiscoveryReq.AC_EVChargeParameter.EVMaxVoltage.Multiplier = 0;
exiIn.V2G_Message.Body.ChargeParameterDiscoveryReq.AC_EVChargeParameter.EVMaxVoltage.Unit = unitSymbolType_V; exiIn.V2G_Message.Body.ChargeParameterDiscoveryReq.AC_EVChargeParameter.EVMaxVoltage.Unit = v2gunitSymbolType_V;
exiIn.V2G_Message.Body.ChargeParameterDiscoveryReq.AC_EVChargeParameter.EVMaxVoltage.Value = 400; exiIn.V2G_Message.Body.ChargeParameterDiscoveryReq.AC_EVChargeParameter.EVMaxVoltage.Value = 400;
exiIn.V2G_Message.Body.ChargeParameterDiscoveryReq.AC_EVChargeParameter.EVMinCurrent.Multiplier = 0; exiIn.V2G_Message.Body.ChargeParameterDiscoveryReq.AC_EVChargeParameter.EVMinCurrent.Multiplier = 0;
exiIn.V2G_Message.Body.ChargeParameterDiscoveryReq.AC_EVChargeParameter.EVMinCurrent.Unit = unitSymbolType_A; exiIn.V2G_Message.Body.ChargeParameterDiscoveryReq.AC_EVChargeParameter.EVMinCurrent.Unit = v2gunitSymbolType_A;
exiIn.V2G_Message.Body.ChargeParameterDiscoveryReq.AC_EVChargeParameter.EVMinCurrent.Value = 500; exiIn.V2G_Message.Body.ChargeParameterDiscoveryReq.AC_EVChargeParameter.EVMinCurrent.Value = 500;
printf("EV side: call EVSE chargeParameterDiscovery"); printf("EV side: call EVSE chargeParameterDiscovery");
@ -1585,7 +1592,7 @@ static int ac_charging()
exiIn.V2G_Message.Body.PowerDeliveryReq.ChargingProfile_isUsed = 0; exiIn.V2G_Message.Body.PowerDeliveryReq.ChargingProfile_isUsed = 0;
exiIn.V2G_Message.Body.PowerDeliveryReq.DC_EVPowerDeliveryParameter_isUsed = 0; /* only used for DC charging */ exiIn.V2G_Message.Body.PowerDeliveryReq.DC_EVPowerDeliveryParameter_isUsed = 0; /* only used for DC charging */
exiIn.V2G_Message.Body.PowerDeliveryReq.ChargeProgress = chargeProgressType_Start; exiIn.V2G_Message.Body.PowerDeliveryReq.ChargeProgress = v2gchargeProgressType_Start;
exiIn.V2G_Message.Body.PowerDeliveryReq.SAScheduleTupleID = exiOut.V2G_Message.Body.ChargeParameterDiscoveryRes.SAScheduleList.SAScheduleTuple.array[0].SAScheduleTupleID; exiIn.V2G_Message.Body.PowerDeliveryReq.SAScheduleTupleID = exiOut.V2G_Message.Body.ChargeParameterDiscoveryRes.SAScheduleList.SAScheduleTuple.array[0].SAScheduleTupleID;
printf("EV side: call EVSE powerDelivery \n"); printf("EV side: call EVSE powerDelivery \n");
@ -1823,7 +1830,7 @@ static int dc_charging() {
init_v2gServiceDiscoveryReqType(&exiIn.V2G_Message.Body.ServiceDiscoveryReq); init_v2gServiceDiscoveryReqType(&exiIn.V2G_Message.Body.ServiceDiscoveryReq);
exiIn.V2G_Message.Body.ServiceDiscoveryReq.ServiceCategory_isUsed = 1u; exiIn.V2G_Message.Body.ServiceDiscoveryReq.ServiceCategory_isUsed = 1u;
exiIn.V2G_Message.Body.ServiceDiscoveryReq.ServiceCategory = serviceCategoryType_EVCharging; exiIn.V2G_Message.Body.ServiceDiscoveryReq.ServiceCategory = v2gserviceCategoryType_EVCharging;
printf("EV side: call EVSE serviceDiscovery"); printf("EV side: call EVSE serviceDiscovery");
@ -1864,7 +1871,7 @@ static int dc_charging() {
init_v2gPaymentServiceSelectionReqType(&exiIn.V2G_Message.Body.PaymentServiceSelectionReq); init_v2gPaymentServiceSelectionReqType(&exiIn.V2G_Message.Body.PaymentServiceSelectionReq);
exiIn.V2G_Message.Body.PaymentServiceSelectionReq.SelectedPaymentOption = paymentOptionType_ExternalPayment; exiIn.V2G_Message.Body.PaymentServiceSelectionReq.SelectedPaymentOption = v2gpaymentOptionType_ExternalPayment;
exiIn.V2G_Message.Body.PaymentServiceSelectionReq.SelectedServiceList.SelectedService.arrayLen = 1; /* only one service was selected */ exiIn.V2G_Message.Body.PaymentServiceSelectionReq.SelectedServiceList.SelectedService.arrayLen = 1; /* only one service was selected */
exiIn.V2G_Message.Body.PaymentServiceSelectionReq.SelectedServiceList.SelectedService.array[0].ServiceID = serviceDiscoveryRes.ChargeService.ServiceID; /* charge server ID */ exiIn.V2G_Message.Body.PaymentServiceSelectionReq.SelectedServiceList.SelectedService.array[0].ServiceID = serviceDiscoveryRes.ChargeService.ServiceID; /* charge server ID */
exiIn.V2G_Message.Body.PaymentServiceSelectionReq.SelectedServiceList.SelectedService.array[0].ParameterSetID_isUsed = 0u; /* is not used */ exiIn.V2G_Message.Body.PaymentServiceSelectionReq.SelectedServiceList.SelectedService.array[0].ParameterSetID_isUsed = 0u; /* is not used */
@ -1916,7 +1923,7 @@ static int dc_charging() {
printBinaryArray(exiOut.V2G_Message.Header.SessionID.bytes, exiOut.V2G_Message.Header.SessionID.bytesLen); printBinaryArray(exiOut.V2G_Message.Header.SessionID.bytes, exiOut.V2G_Message.Header.SessionID.bytesLen);
printf("\t ResponseCode=%d\n", exiOut.V2G_Message.Body.AuthorizationRes.ResponseCode); printf("\t ResponseCode=%d\n", exiOut.V2G_Message.Body.AuthorizationRes.ResponseCode);
if(exiOut.V2G_Message.Body.AuthorizationRes.EVSEProcessing == EVSEProcessingType_Finished) { if(exiOut.V2G_Message.Body.AuthorizationRes.EVSEProcessing == v2gEVSEProcessingType_Finished) {
printf("\t EVSEProcessing=Finished\n"); printf("\t EVSEProcessing=Finished\n");
} }
} else { } else {
@ -1940,32 +1947,32 @@ static int dc_charging() {
exiIn.V2G_Message.Body.ChargeParameterDiscoveryReq.DC_EVChargeParameter_isUsed = 1u; exiIn.V2G_Message.Body.ChargeParameterDiscoveryReq.DC_EVChargeParameter_isUsed = 1u;
exiIn.V2G_Message.Body.ChargeParameterDiscoveryReq.DC_EVChargeParameter.DC_EVStatus.EVRESSSOC = 89; exiIn.V2G_Message.Body.ChargeParameterDiscoveryReq.DC_EVChargeParameter.DC_EVStatus.EVRESSSOC = 89;
exiIn.V2G_Message.Body.ChargeParameterDiscoveryReq.DC_EVChargeParameter.DC_EVStatus.EVReady = 1; exiIn.V2G_Message.Body.ChargeParameterDiscoveryReq.DC_EVChargeParameter.DC_EVStatus.EVReady = 1;
exiIn.V2G_Message.Body.ChargeParameterDiscoveryReq.DC_EVChargeParameter.DC_EVStatus.EVErrorCode = DC_EVErrorCodeType_NO_ERROR; exiIn.V2G_Message.Body.ChargeParameterDiscoveryReq.DC_EVChargeParameter.DC_EVStatus.EVErrorCode = v2gDC_EVErrorCodeType_NO_ERROR;
exiIn.V2G_Message.Body.ChargeParameterDiscoveryReq.DC_EVChargeParameter.DepartureTime_isUsed = 1u; exiIn.V2G_Message.Body.ChargeParameterDiscoveryReq.DC_EVChargeParameter.DepartureTime_isUsed = 1u;
exiIn.V2G_Message.Body.ChargeParameterDiscoveryReq.DC_EVChargeParameter.DepartureTime = 123456789; exiIn.V2G_Message.Body.ChargeParameterDiscoveryReq.DC_EVChargeParameter.DepartureTime = 123456789;
exiIn.V2G_Message.Body.ChargeParameterDiscoveryReq.DC_EVChargeParameter.EVMaximumCurrentLimit.Multiplier = 0; exiIn.V2G_Message.Body.ChargeParameterDiscoveryReq.DC_EVChargeParameter.EVMaximumCurrentLimit.Multiplier = 0;
exiIn.V2G_Message.Body.ChargeParameterDiscoveryReq.DC_EVChargeParameter.EVMaximumCurrentLimit.Unit = unitSymbolType_A; exiIn.V2G_Message.Body.ChargeParameterDiscoveryReq.DC_EVChargeParameter.EVMaximumCurrentLimit.Unit = v2gunitSymbolType_A;
exiIn.V2G_Message.Body.ChargeParameterDiscoveryReq.DC_EVChargeParameter.EVMaximumCurrentLimit.Value = 60; exiIn.V2G_Message.Body.ChargeParameterDiscoveryReq.DC_EVChargeParameter.EVMaximumCurrentLimit.Value = 60;
exiIn.V2G_Message.Body.ChargeParameterDiscoveryReq.DC_EVChargeParameter.EVMaximumPowerLimit_isUsed = 1u; exiIn.V2G_Message.Body.ChargeParameterDiscoveryReq.DC_EVChargeParameter.EVMaximumPowerLimit_isUsed = 1u;
exiIn.V2G_Message.Body.ChargeParameterDiscoveryReq.DC_EVChargeParameter.EVMaximumPowerLimit.Multiplier = 0; exiIn.V2G_Message.Body.ChargeParameterDiscoveryReq.DC_EVChargeParameter.EVMaximumPowerLimit.Multiplier = 0;
exiIn.V2G_Message.Body.ChargeParameterDiscoveryReq.DC_EVChargeParameter.EVMaximumPowerLimit.Unit = unitSymbolType_W; exiIn.V2G_Message.Body.ChargeParameterDiscoveryReq.DC_EVChargeParameter.EVMaximumPowerLimit.Unit = v2gunitSymbolType_W;
exiIn.V2G_Message.Body.ChargeParameterDiscoveryReq.DC_EVChargeParameter.EVMaximumPowerLimit.Value = 20000; exiIn.V2G_Message.Body.ChargeParameterDiscoveryReq.DC_EVChargeParameter.EVMaximumPowerLimit.Value = 20000;
exiIn.V2G_Message.Body.ChargeParameterDiscoveryReq.DC_EVChargeParameter.EVMaximumVoltageLimit.Multiplier = 0; exiIn.V2G_Message.Body.ChargeParameterDiscoveryReq.DC_EVChargeParameter.EVMaximumVoltageLimit.Multiplier = 0;
exiIn.V2G_Message.Body.ChargeParameterDiscoveryReq.DC_EVChargeParameter.EVMaximumVoltageLimit.Unit = unitSymbolType_V; exiIn.V2G_Message.Body.ChargeParameterDiscoveryReq.DC_EVChargeParameter.EVMaximumVoltageLimit.Unit = v2gunitSymbolType_V;
exiIn.V2G_Message.Body.ChargeParameterDiscoveryReq.DC_EVChargeParameter.EVMaximumVoltageLimit.Value = 420; exiIn.V2G_Message.Body.ChargeParameterDiscoveryReq.DC_EVChargeParameter.EVMaximumVoltageLimit.Value = 420;
exiIn.V2G_Message.Body.ChargeParameterDiscoveryReq.DC_EVChargeParameter.EVEnergyCapacity_isUsed = 1u; exiIn.V2G_Message.Body.ChargeParameterDiscoveryReq.DC_EVChargeParameter.EVEnergyCapacity_isUsed = 1u;
exiIn.V2G_Message.Body.ChargeParameterDiscoveryReq.DC_EVChargeParameter.EVEnergyCapacity.Multiplier = 0; exiIn.V2G_Message.Body.ChargeParameterDiscoveryReq.DC_EVChargeParameter.EVEnergyCapacity.Multiplier = 0;
exiIn.V2G_Message.Body.ChargeParameterDiscoveryReq.DC_EVChargeParameter.EVEnergyCapacity.Unit = unitSymbolType_W; exiIn.V2G_Message.Body.ChargeParameterDiscoveryReq.DC_EVChargeParameter.EVEnergyCapacity.Unit = v2gunitSymbolType_W;
exiIn.V2G_Message.Body.ChargeParameterDiscoveryReq.DC_EVChargeParameter.EVEnergyCapacity.Value = 15000; exiIn.V2G_Message.Body.ChargeParameterDiscoveryReq.DC_EVChargeParameter.EVEnergyCapacity.Value = 15000;
exiIn.V2G_Message.Body.ChargeParameterDiscoveryReq.DC_EVChargeParameter.EVEnergyRequest_isUsed = 1u; exiIn.V2G_Message.Body.ChargeParameterDiscoveryReq.DC_EVChargeParameter.EVEnergyRequest_isUsed = 1u;
exiIn.V2G_Message.Body.ChargeParameterDiscoveryReq.DC_EVChargeParameter.EVEnergyRequest.Multiplier = 0; exiIn.V2G_Message.Body.ChargeParameterDiscoveryReq.DC_EVChargeParameter.EVEnergyRequest.Multiplier = 0;
exiIn.V2G_Message.Body.ChargeParameterDiscoveryReq.DC_EVChargeParameter.EVEnergyRequest.Unit = unitSymbolType_W; exiIn.V2G_Message.Body.ChargeParameterDiscoveryReq.DC_EVChargeParameter.EVEnergyRequest.Unit = v2gunitSymbolType_W;
exiIn.V2G_Message.Body.ChargeParameterDiscoveryReq.DC_EVChargeParameter.EVEnergyRequest.Value = 5000; exiIn.V2G_Message.Body.ChargeParameterDiscoveryReq.DC_EVChargeParameter.EVEnergyRequest.Value = 5000;
@ -1976,7 +1983,7 @@ static int dc_charging() {
exiIn.V2G_Message.Body.ChargeParameterDiscoveryReq.DC_EVChargeParameter.BulkSOC = 80; exiIn.V2G_Message.Body.ChargeParameterDiscoveryReq.DC_EVChargeParameter.BulkSOC = 80;
exiIn.V2G_Message.Body.ChargeParameterDiscoveryReq.RequestedEnergyTransferMode = EnergyTransferModeType_DC_core; exiIn.V2G_Message.Body.ChargeParameterDiscoveryReq.RequestedEnergyTransferMode = v2gEnergyTransferModeType_DC_core;
exiIn.V2G_Message.Body.ChargeParameterDiscoveryReq.DC_EVChargeParameter_isUsed = 1u; exiIn.V2G_Message.Body.ChargeParameterDiscoveryReq.DC_EVChargeParameter_isUsed = 1u;
@ -2057,7 +2064,7 @@ static int dc_charging() {
printBinaryArray(exiOut.V2G_Message.Header.SessionID.bytes, exiOut.V2G_Message.Header.SessionID.bytesLen); printBinaryArray(exiOut.V2G_Message.Header.SessionID.bytes, exiOut.V2G_Message.Header.SessionID.bytesLen);
printf("\t ResponseCode=%d\n", exiOut.V2G_Message.Body.CableCheckRes.ResponseCode); printf("\t ResponseCode=%d\n", exiOut.V2G_Message.Body.CableCheckRes.ResponseCode);
if(exiOut.V2G_Message.Body.CableCheckRes.EVSEProcessing==EVSEProcessingType_Finished) { if(exiOut.V2G_Message.Body.CableCheckRes.EVSEProcessing==v2gEVSEProcessingType_Finished) {
printf("\tEVSEProcessing=Finished\n"); printf("\tEVSEProcessing=Finished\n");
} }
@ -2084,11 +2091,11 @@ static int dc_charging() {
exiIn.V2G_Message.Body.PreChargeReq.DC_EVStatus.EVRESSSOC = 12; exiIn.V2G_Message.Body.PreChargeReq.DC_EVStatus.EVRESSSOC = 12;
exiIn.V2G_Message.Body.PreChargeReq.EVTargetCurrent.Multiplier = 0; exiIn.V2G_Message.Body.PreChargeReq.EVTargetCurrent.Multiplier = 0;
exiIn.V2G_Message.Body.PreChargeReq.EVTargetCurrent.Unit = unitSymbolType_A; exiIn.V2G_Message.Body.PreChargeReq.EVTargetCurrent.Unit = v2gunitSymbolType_A;
exiIn.V2G_Message.Body.PreChargeReq.EVTargetCurrent.Value = 100; exiIn.V2G_Message.Body.PreChargeReq.EVTargetCurrent.Value = 100;
exiIn.V2G_Message.Body.PreChargeReq.EVTargetVoltage.Multiplier = 0; exiIn.V2G_Message.Body.PreChargeReq.EVTargetVoltage.Multiplier = 0;
exiIn.V2G_Message.Body.PreChargeReq.EVTargetVoltage.Unit = unitSymbolType_V; exiIn.V2G_Message.Body.PreChargeReq.EVTargetVoltage.Unit = v2gunitSymbolType_V;
exiIn.V2G_Message.Body.PreChargeReq.EVTargetVoltage.Value = 200; exiIn.V2G_Message.Body.PreChargeReq.EVTargetVoltage.Value = 200;
printf("EV side: call EVSE preCharge \n"); printf("EV side: call EVSE preCharge \n");
@ -2130,7 +2137,7 @@ static int dc_charging() {
exiIn.V2G_Message.Body.PowerDeliveryReq.DC_EVPowerDeliveryParameter.ChargingComplete = 1; exiIn.V2G_Message.Body.PowerDeliveryReq.DC_EVPowerDeliveryParameter.ChargingComplete = 1;
exiIn.V2G_Message.Body.PowerDeliveryReq.DC_EVPowerDeliveryParameter_isUsed = 1u; /* DC parameters are send */ exiIn.V2G_Message.Body.PowerDeliveryReq.DC_EVPowerDeliveryParameter_isUsed = 1u; /* DC parameters are send */
exiIn.V2G_Message.Body.PowerDeliveryReq.ChargeProgress = chargeProgressType_Start; exiIn.V2G_Message.Body.PowerDeliveryReq.ChargeProgress = v2gchargeProgressType_Start;
/* we are using a charging profile */ /* we are using a charging profile */
@ -2141,13 +2148,13 @@ static int dc_charging() {
/* set up 3 entries */ /* set up 3 entries */
exiIn.V2G_Message.Body.PowerDeliveryReq.ChargingProfile.ProfileEntry.arrayLen=3; exiIn.V2G_Message.Body.PowerDeliveryReq.ChargingProfile.ProfileEntry.arrayLen=3;
exiIn.V2G_Message.Body.PowerDeliveryReq.ChargingProfile.ProfileEntry.array[0].ChargingProfileEntryMaxPower.Value=0; exiIn.V2G_Message.Body.PowerDeliveryReq.ChargingProfile.ProfileEntry.array[0].ChargingProfileEntryMaxPower.Value=0;
exiIn.V2G_Message.Body.PowerDeliveryReq.ChargingProfile.ProfileEntry.array[0].ChargingProfileEntryMaxPower.Unit = unitSymbolType_W; exiIn.V2G_Message.Body.PowerDeliveryReq.ChargingProfile.ProfileEntry.array[0].ChargingProfileEntryMaxPower.Unit = v2gunitSymbolType_W;
exiIn.V2G_Message.Body.PowerDeliveryReq.ChargingProfile.ProfileEntry.array[0].ChargingProfileEntryMaxPower.Multiplier=2; exiIn.V2G_Message.Body.PowerDeliveryReq.ChargingProfile.ProfileEntry.array[0].ChargingProfileEntryMaxPower.Multiplier=2;
exiIn.V2G_Message.Body.PowerDeliveryReq.ChargingProfile.ProfileEntry.array[0].ChargingProfileEntryStart=0; exiIn.V2G_Message.Body.PowerDeliveryReq.ChargingProfile.ProfileEntry.array[0].ChargingProfileEntryStart=0;
exiIn.V2G_Message.Body.PowerDeliveryReq.ChargingProfile.ProfileEntry.array[0].ChargingProfileEntryMaxNumberOfPhasesInUse=1; exiIn.V2G_Message.Body.PowerDeliveryReq.ChargingProfile.ProfileEntry.array[0].ChargingProfileEntryMaxNumberOfPhasesInUse=1;
exiIn.V2G_Message.Body.PowerDeliveryReq.ChargingProfile.ProfileEntry.array[0].ChargingProfileEntryMaxNumberOfPhasesInUse_isUsed=1; exiIn.V2G_Message.Body.PowerDeliveryReq.ChargingProfile.ProfileEntry.array[0].ChargingProfileEntryMaxNumberOfPhasesInUse_isUsed=1;
exiIn.V2G_Message.Body.PowerDeliveryReq.ChargingProfile.ProfileEntry.array[1].ChargingProfileEntryMaxPower.Value=20000; exiIn.V2G_Message.Body.PowerDeliveryReq.ChargingProfile.ProfileEntry.array[1].ChargingProfileEntryMaxPower.Value=20000;
exiIn.V2G_Message.Body.PowerDeliveryReq.ChargingProfile.ProfileEntry.array[1].ChargingProfileEntryMaxPower.Unit = unitSymbolType_W; exiIn.V2G_Message.Body.PowerDeliveryReq.ChargingProfile.ProfileEntry.array[1].ChargingProfileEntryMaxPower.Unit = v2gunitSymbolType_W;
exiIn.V2G_Message.Body.PowerDeliveryReq.ChargingProfile.ProfileEntry.array[1].ChargingProfileEntryMaxPower.Multiplier = 1; exiIn.V2G_Message.Body.PowerDeliveryReq.ChargingProfile.ProfileEntry.array[1].ChargingProfileEntryMaxPower.Multiplier = 1;
exiIn.V2G_Message.Body.PowerDeliveryReq.ChargingProfile.ProfileEntry.array[1].ChargingProfileEntryMaxNumberOfPhasesInUse=3; exiIn.V2G_Message.Body.PowerDeliveryReq.ChargingProfile.ProfileEntry.array[1].ChargingProfileEntryMaxNumberOfPhasesInUse=3;
exiIn.V2G_Message.Body.PowerDeliveryReq.ChargingProfile.ProfileEntry.array[1].ChargingProfileEntryMaxNumberOfPhasesInUse_isUsed=1; exiIn.V2G_Message.Body.PowerDeliveryReq.ChargingProfile.ProfileEntry.array[1].ChargingProfileEntryMaxNumberOfPhasesInUse_isUsed=1;
@ -2195,21 +2202,21 @@ static int dc_charging() {
exiIn.V2G_Message.Body.CurrentDemandReq.DC_EVStatus.EVErrorCode = 1; exiIn.V2G_Message.Body.CurrentDemandReq.DC_EVStatus.EVErrorCode = 1;
exiIn.V2G_Message.Body.CurrentDemandReq.EVTargetVoltage.Multiplier = 0; exiIn.V2G_Message.Body.CurrentDemandReq.EVTargetVoltage.Multiplier = 0;
exiIn.V2G_Message.Body.CurrentDemandReq.EVTargetVoltage.Unit = unitSymbolType_A; exiIn.V2G_Message.Body.CurrentDemandReq.EVTargetVoltage.Unit = v2gunitSymbolType_A;
exiIn.V2G_Message.Body.CurrentDemandReq.EVTargetVoltage.Value = 100; exiIn.V2G_Message.Body.CurrentDemandReq.EVTargetVoltage.Value = 100;
exiIn.V2G_Message.Body.CurrentDemandReq.EVMaximumVoltageLimit.Multiplier = 0; exiIn.V2G_Message.Body.CurrentDemandReq.EVMaximumVoltageLimit.Multiplier = 0;
exiIn.V2G_Message.Body.CurrentDemandReq.EVMaximumVoltageLimit.Unit = unitSymbolType_V; exiIn.V2G_Message.Body.CurrentDemandReq.EVMaximumVoltageLimit.Unit = v2gunitSymbolType_V;
exiIn.V2G_Message.Body.CurrentDemandReq.EVMaximumVoltageLimit.Value = 420; exiIn.V2G_Message.Body.CurrentDemandReq.EVMaximumVoltageLimit.Value = 420;
exiIn.V2G_Message.Body.CurrentDemandReq.EVMaximumVoltageLimit_isUsed = 1u; exiIn.V2G_Message.Body.CurrentDemandReq.EVMaximumVoltageLimit_isUsed = 1u;
exiIn.V2G_Message.Body.CurrentDemandReq.EVMaximumPowerLimit.Multiplier = 0; exiIn.V2G_Message.Body.CurrentDemandReq.EVMaximumPowerLimit.Multiplier = 0;
exiIn.V2G_Message.Body.CurrentDemandReq.EVMaximumPowerLimit.Unit = unitSymbolType_W; exiIn.V2G_Message.Body.CurrentDemandReq.EVMaximumPowerLimit.Unit = v2gunitSymbolType_W;
exiIn.V2G_Message.Body.CurrentDemandReq.EVMaximumPowerLimit.Value = 20000; exiIn.V2G_Message.Body.CurrentDemandReq.EVMaximumPowerLimit.Value = 20000;
exiIn.V2G_Message.Body.CurrentDemandReq.EVMaximumPowerLimit_isUsed = 1u; exiIn.V2G_Message.Body.CurrentDemandReq.EVMaximumPowerLimit_isUsed = 1u;
exiIn.V2G_Message.Body.CurrentDemandReq.EVMaximumCurrentLimit.Multiplier = 0; exiIn.V2G_Message.Body.CurrentDemandReq.EVMaximumCurrentLimit.Multiplier = 0;
exiIn.V2G_Message.Body.CurrentDemandReq.EVMaximumCurrentLimit.Unit = unitSymbolType_A; exiIn.V2G_Message.Body.CurrentDemandReq.EVMaximumCurrentLimit.Unit = v2gunitSymbolType_A;
exiIn.V2G_Message.Body.CurrentDemandReq.EVMaximumCurrentLimit.Value = 60; exiIn.V2G_Message.Body.CurrentDemandReq.EVMaximumCurrentLimit.Value = 60;
exiIn.V2G_Message.Body.CurrentDemandReq.EVMaximumCurrentLimit_isUsed = 1u; exiIn.V2G_Message.Body.CurrentDemandReq.EVMaximumCurrentLimit_isUsed = 1u;
@ -2219,18 +2226,18 @@ static int dc_charging() {
exiIn.V2G_Message.Body.CurrentDemandReq.ChargingComplete = 1; exiIn.V2G_Message.Body.CurrentDemandReq.ChargingComplete = 1;
exiIn.V2G_Message.Body.CurrentDemandReq.RemainingTimeToFullSoC.Multiplier = 0; exiIn.V2G_Message.Body.CurrentDemandReq.RemainingTimeToFullSoC.Multiplier = 0;
exiIn.V2G_Message.Body.CurrentDemandReq.RemainingTimeToFullSoC.Unit = unitSymbolType_s; exiIn.V2G_Message.Body.CurrentDemandReq.RemainingTimeToFullSoC.Unit = v2gunitSymbolType_s;
exiIn.V2G_Message.Body.CurrentDemandReq.RemainingTimeToFullSoC.Value = 300; /* 5 min*/ exiIn.V2G_Message.Body.CurrentDemandReq.RemainingTimeToFullSoC.Value = 300; /* 5 min*/
exiIn.V2G_Message.Body.CurrentDemandReq.RemainingTimeToFullSoC_isUsed = 1u; exiIn.V2G_Message.Body.CurrentDemandReq.RemainingTimeToFullSoC_isUsed = 1u;
exiIn.V2G_Message.Body.CurrentDemandReq.RemainingTimeToBulkSoC.Multiplier = 0; exiIn.V2G_Message.Body.CurrentDemandReq.RemainingTimeToBulkSoC.Multiplier = 0;
exiIn.V2G_Message.Body.CurrentDemandReq.RemainingTimeToBulkSoC.Unit = unitSymbolType_s; exiIn.V2G_Message.Body.CurrentDemandReq.RemainingTimeToBulkSoC.Unit = v2gunitSymbolType_s;
exiIn.V2G_Message.Body.CurrentDemandReq.RemainingTimeToBulkSoC.Value = 120; /* 3 min */ exiIn.V2G_Message.Body.CurrentDemandReq.RemainingTimeToBulkSoC.Value = 120; /* 3 min */
exiIn.V2G_Message.Body.CurrentDemandReq.RemainingTimeToBulkSoC_isUsed = 1u; exiIn.V2G_Message.Body.CurrentDemandReq.RemainingTimeToBulkSoC_isUsed = 1u;
exiIn.V2G_Message.Body.CurrentDemandReq.EVTargetVoltage.Multiplier = 0; exiIn.V2G_Message.Body.CurrentDemandReq.EVTargetVoltage.Multiplier = 0;
exiIn.V2G_Message.Body.CurrentDemandReq.EVTargetVoltage.Unit = unitSymbolType_V; exiIn.V2G_Message.Body.CurrentDemandReq.EVTargetVoltage.Unit = v2gunitSymbolType_V;
exiIn.V2G_Message.Body.CurrentDemandReq.EVTargetVoltage.Value = 400; exiIn.V2G_Message.Body.CurrentDemandReq.EVTargetVoltage.Value = 400;
@ -2309,11 +2316,120 @@ static int dc_charging() {
} }
#if DEPLOY_DIN_CODEC == SUPPORT_YES
static int din_test() {
int errn = 0;
struct dinEXIDocument exiDin1;
struct dinEXIDocument exiDin2;
bitstream_t stream1;
bitstream_t stream2;
uint16_t pos1 = 0;
uint16_t pos2 = 0;
stream1.size = BUFFER_SIZE;
stream1.data = buffer1;
stream1.pos = &pos1;
stream2.size = BUFFER_SIZE;
stream2.data = buffer2;
stream2.pos = &pos2;
/* SetupSessionReq */
/* BMW: 80 9A 00 11 D0 20 00 03 C1 FC 30 00 43 F8 00 */
buffer1[0] = 0x80;
buffer1[1] = 0x9A;
buffer1[2] = 0x00;
buffer1[3] = 0x11;
buffer1[4] = 0xD0;
buffer1[5] = 0x20;
buffer1[6] = 0x00;
buffer1[7] = 0x03;
buffer1[8] = 0xC1;
buffer1[9] = 0xFC;
buffer1[10] = 0x30;
buffer1[11] = 0x00;
buffer1[12] = 0x43;
buffer1[13] = 0xF8;
buffer1[14] = 0x00;
errn = decode_dinExiDocument(&stream1, &exiDin1);
if(errn != 0) {
printf("\n\nDIN test error %d!\n", errn);
return errn;
} else if (pos1 != 15) {
printf("\n\nDIN warning. not all bytes read!\n");
errn = -1;
return errn;
}
/* SetupSessionReq */
/* Chevy: 80 9A 02 00 00 00 00 00 00 00 00 11 D0 18 00 60 8C 44 09 94 00 */
buffer2[0] = 0x80;
buffer2[1] = 0x9A;
buffer2[2] = 0x02;
buffer2[3] = 0x00;
buffer2[4] = 0x00;
buffer2[5] = 0x00;
buffer2[6] = 0x00;
buffer2[7] = 0x00;
buffer2[8] = 0x00;
buffer2[9] = 0x00;
buffer2[10] = 0x00;
buffer2[11] = 0x11;
buffer2[12] = 0xD0;
buffer2[13] = 0x18;
buffer2[14] = 0x00;
buffer2[15] = 0x60;
buffer2[16] = 0x8C;
buffer2[17] = 0x44;
buffer2[18] = 0x09;
buffer2[19] = 0x94;
buffer2[20] = 0x00;
errn = decode_dinExiDocument(&stream2, &exiDin2);
if(errn != 0) {
printf("\n\nDIN test error %d!\n", errn);
return errn;
} else if (pos2 != 21) {
printf("\n\nDIN warning. not all bytes read!\n");
errn = -1;
return errn;
}
if(errn == 0) {
printf("DIN test passed\n");
} else {
printf("DIN test error %d!\n", errn);
}
return errn;
}
#endif /* DEPLOY_DIN_CODEC == SUPPORT_YES */
#define ASK_FOR_USER_INPUT 0 #define ASK_FOR_USER_INPUT 0
int main_example(int argc, char *argv[]) { int main_example(int argc, char *argv[]) {
int errn = 0; int errn = 0;
#if DEPLOY_DIN_CODEC == SUPPORT_YES
printf("+++ Start simple DIN test +++\n");
errn = din_test();
printf("+++ Terminate simple DIN test +++\n\n");
if(errn != 0) {
printf("\nDIN test error %d!\n", errn);
return errn;
}
#endif /* DEPLOY_DIN_CODEC == SUPPORT_YES */
printf("+++ Start application handshake protocol example +++\n\n"); printf("+++ Start application handshake protocol example +++\n\n");
errn = appHandshake(); errn = appHandshake();
printf("+++ Terminate application handshake protocol example +++\n\n"); printf("+++ Terminate application handshake protocol example +++\n\n");

View file

@ -20,7 +20,7 @@
* *
* @author Sebastian.Kaebisch@siemens.com * @author Sebastian.Kaebisch@siemens.com
* @author Daniel.Peintner.EXT@siemens.com * @author Daniel.Peintner.EXT@siemens.com
* @version 0.9.1 * @version 0.9.2
* @contact Joerg.Heuer@siemens.com * @contact Joerg.Heuer@siemens.com
* *
********************************************************************/ ********************************************************************/

View file

@ -19,7 +19,7 @@
/******************************************************************* /*******************************************************************
* *
* @author Sebastian.Kaebisch@siemens.com * @author Sebastian.Kaebisch@siemens.com
* @version 0.9.1 * @version 0.9.2
* @contact Joerg.Heuer@siemens.com * @contact Joerg.Heuer@siemens.com
* *
********************************************************************/ ********************************************************************/