|
|
|
|
/*
|
|
|
|
|
Written by ASAP2 Library v7.0.5
|
|
|
|
|
8/6/2017 12:21 PM
|
|
|
|
|
Original file: ASAP2Example.a2l
|
|
|
|
|
*/
|
|
|
|
|
|
|
|
|
|
ASAP2_VERSION 1 71
|
|
|
|
|
|
|
|
|
|
/begin PROJECT Example "Example project"
|
|
|
|
|
|
|
|
|
|
/begin HEADER
|
|
|
|
|
"General project description"
|
|
|
|
|
VERSION "0815"
|
|
|
|
|
PROJECT_NO _0815
|
|
|
|
|
/end HEADER
|
|
|
|
|
|
|
|
|
|
/begin MODULE Module
|
|
|
|
|
"Module description with escaped quotes"
|
|
|
|
|
|
|
|
|
|
/begin A2ML
|
|
|
|
|
struct Protocol_Layer {
|
|
|
|
|
uint; /* XCP protocol layer version, current 0x100 */
|
|
|
|
|
uint; /* T1 [ms] */
|
|
|
|
|
uint; /* T2 [ms] */
|
|
|
|
|
uint; /* T3 [ms] */
|
|
|
|
|
uint; /* T4 [ms] */
|
|
|
|
|
uint; /* T5 [ms] */
|
|
|
|
|
uint; /* T6 [ms] */
|
|
|
|
|
uint; /* T7 [ms] */
|
|
|
|
|
uchar; /* MAX_CTO */
|
|
|
|
|
uint; /* MAX_DTO */
|
|
|
|
|
enum {
|
|
|
|
|
"BYTE_ORDER_MSB_LAST" = 0,
|
|
|
|
|
"BYTE_ORDER_MSB_FIRST" = 1
|
|
|
|
|
};
|
|
|
|
|
enum {
|
|
|
|
|
"ADDRESS_GRANULARITY_BYTE" = 1,
|
|
|
|
|
"ADDRESS_GRANULARITY_WORD" = 2,
|
|
|
|
|
"ADDRESS_GRANULARITY_DWORD" = 4
|
|
|
|
|
};
|
|
|
|
|
taggedstruct {
|
|
|
|
|
("OPTIONAL_CMD" enum {
|
|
|
|
|
"GET_COMM_MODE_INFO" = 251,
|
|
|
|
|
"GET_ID" = 250,
|
|
|
|
|
"SET_REQUEST" = 249,
|
|
|
|
|
"GET_SEED" = 248,
|
|
|
|
|
"UNLOCK" = 247,
|
|
|
|
|
"SET_MTA" = 246,
|
|
|
|
|
"UPLOAD" = 245,
|
|
|
|
|
"SHORT_UPLOAD" = 244,
|
|
|
|
|
"BUILD_CHECKSUM" = 243,
|
|
|
|
|
"TRANSPORT_LAYER_CMD" = 242,
|
|
|
|
|
"USER_CMD" = 241,
|
|
|
|
|
"DOWNLOAD" = 240,
|
|
|
|
|
"DOWNLOAD_NEXT" = 239,
|
|
|
|
|
"DOWNLOAD_MAX" = 238,
|
|
|
|
|
"SHORT_DOWNLOAD" = 237,
|
|
|
|
|
"MODIFY_BITS" = 236,
|
|
|
|
|
"SET_CAL_PAGE" = 235,
|
|
|
|
|
"GET_CAL_PAGE" = 234,
|
|
|
|
|
"GET_PAG_PROCESSOR_INFO" = 233,
|
|
|
|
|
"GET_SEGMENT_INFO" = 232,
|
|
|
|
|
"GET_PAGE_INFO" = 231,
|
|
|
|
|
"SET_SEGMENT_MODE" = 230,
|
|
|
|
|
"GET_SEGMENT_MODE" = 229,
|
|
|
|
|
"COPY_CAL_PAGE" = 228,
|
|
|
|
|
"CLEAR_DAQ_LIST" = 227,
|
|
|
|
|
"SET_DAQ_PTR" = 226,
|
|
|
|
|
"WRITE_DAQ" = 225,
|
|
|
|
|
"SET_DAQ_LIST_MODE" = 224,
|
|
|
|
|
"GET_DAQ_LIST_MODE" = 223,
|
|
|
|
|
"START_STOP_DAQ_LIST" = 222,
|
|
|
|
|
"START_STOP_SYNCH" = 221,
|
|
|
|
|
"GET_DAQ_CLOCK" = 220,
|
|
|
|
|
"READ_DAQ" = 219,
|
|
|
|
|
"GET_DAQ_PROCESSOR_INFO" = 218,
|
|
|
|
|
"GET_DAQ_RESOLUTION_INFO" = 217,
|
|
|
|
|
"GET_DAQ_LIST_INFO" = 216,
|
|
|
|
|
"GET_DAQ_EVENT_INFO" = 215,
|
|
|
|
|
"FREE_DAQ" = 214,
|
|
|
|
|
"ALLOC_DAQ" = 213,
|
|
|
|
|
"ALLOC_ODT" = 212,
|
|
|
|
|
"ALLOC_ODT_ENTRY" = 211,
|
|
|
|
|
"PROGRAM_START" = 210,
|
|
|
|
|
"PROGRAM_CLEAR" = 209,
|
|
|
|
|
"PROGRAM" = 208,
|
|
|
|
|
"PROGRAM_RESET" = 207,
|
|
|
|
|
"GET_PGM_PROCESSOR_INFO" = 206,
|
|
|
|
|
"GET_SECTOR_INFO" = 205,
|
|
|
|
|
"PROGRAM_PREPARE" = 204,
|
|
|
|
|
"PROGRAM_FORMAT" = 203,
|
|
|
|
|
"PROGRAM_NEXT" = 202,
|
|
|
|
|
"PROGRAM_MAX" = 201,
|
|
|
|
|
"PROGRAM_VERIFY" = 200
|
|
|
|
|
})*;
|
|
|
|
|
"COMMUNICATION_MODE_SUPPORTED" taggedunion {
|
|
|
|
|
"BLOCK" taggedstruct {
|
|
|
|
|
"SLAVE" ;
|
|
|
|
|
"MASTER" struct {
|
|
|
|
|
uchar; /* MAX_BS */
|
|
|
|
|
uchar; /* MIN_ST */
|
|
|
|
|
};
|
|
|
|
|
};
|
|
|
|
|
"INTERLEAVED" uchar; /* QUEUE_SIZE */
|
|
|
|
|
};
|
|
|
|
|
"SEED_AND_KEY_EXTERNAL_FUNCTION" char[256]; /* Name of the Seed&Key function */
|
|
|
|
|
};
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
struct Daq {
|
|
|
|
|
enum {
|
|
|
|
|
"STATIC" = 0,
|
|
|
|
|
"DYNAMIC" = 1
|
|
|
|
|
};
|
|
|
|
|
uint; /* MAX_DAQ */
|
|
|
|
|
uint; /* MAX_EVENT_CHANNEL */
|
|
|
|
|
uchar; /* MIN_DAQ */
|
|
|
|
|
enum {
|
|
|
|
|
"OPTIMISATION_TYPE_DEFAULT" = 0,
|
|
|
|
|
"OPTIMISATION_TYPE_ODT_TYPE_16" = 1,
|
|
|
|
|
"OPTIMISATION_TYPE_ODT_TYPE_32" = 2,
|
|
|
|
|
"OPTIMISATION_TYPE_ODT_TYPE_64" = 3,
|
|
|
|
|
"OPTIMISATION_TYPE_ODT_TYPE_ALIGNMENT" = 4,
|
|
|
|
|
"OPTIMISATION_TYPE_MAX_ENTRY_SIZE" = 5
|
|
|
|
|
};
|
|
|
|
|
enum {
|
|
|
|
|
"ADDRESS_EXTENSION_FREE" = 0,
|
|
|
|
|
"ADDRESS_EXTENSION_ODT" = 1,
|
|
|
|
|
"ADDRESS_EXTENSION_DAQ" = 3
|
|
|
|
|
};
|
|
|
|
|
enum {
|
|
|
|
|
"IDENTIFICATION_FIELD_TYPE_ABSOLUTE" = 0,
|
|
|
|
|
"IDENTIFICATION_FIELD_TYPE_RELATIVE_BYTE" = 1,
|
|
|
|
|
"IDENTIFICATION_FIELD_TYPE_RELATIVE_WORD" = 2,
|
|
|
|
|
"IDENTIFICATION_FIELD_TYPE_RELATIVE_WORD_ALIGNED" = 3
|
|
|
|
|
};
|
|
|
|
|
enum {
|
|
|
|
|
"GRANULARITY_ODT_ENTRY_SIZE_DAQ_BYTE" = 1,
|
|
|
|
|
"GRANULARITY_ODT_ENTRY_SIZE_DAQ_WORD" = 2,
|
|
|
|
|
"GRANULARITY_ODT_ENTRY_SIZE_DAQ_DWORD" = 4,
|
|
|
|
|
"GRANULARITY_ODT_ENTRY_SIZE_DAQ_DLONG" = 8
|
|
|
|
|
};
|
|
|
|
|
uchar; /* MAX_ODT_ENTRY_SIZE_DAQ */
|
|
|
|
|
enum {
|
|
|
|
|
"NO_OVERLOAD_INDICATION" = 0,
|
|
|
|
|
"OVERLOAD_INDICATION_PID" = 1,
|
|
|
|
|
"OVERLOAD_INDICATION_EVENT" = 2
|
|
|
|
|
};
|
|
|
|
|
taggedstruct {
|
|
|
|
|
"PRESCALER_SUPPORTED" ;
|
|
|
|
|
"RESUME_SUPPORTED" ;
|
|
|
|
|
block "STIM" struct {
|
|
|
|
|
enum {
|
|
|
|
|
"GRANULARITY_ODT_ENTRY_SIZE_STIM_BYTE" = 1,
|
|
|
|
|
"GRANULARITY_ODT_ENTRY_SIZE_STIM_WORD" = 2,
|
|
|
|
|
"GRANULARITY_ODT_ENTRY_SIZE_STIM_DWORD" = 4,
|
|
|
|
|
"GRANULARITY_ODT_ENTRY_SIZE_STIM_DLONG" = 8
|
|
|
|
|
};
|
|
|
|
|
uchar; /* MAX_ODT_ENTRY_SIZE_STIM */
|
|
|
|
|
taggedstruct {
|
|
|
|
|
"BIT_STIM_SUPPORTED" ;
|
|
|
|
|
};
|
|
|
|
|
};
|
|
|
|
|
block "TIMESTAMP_SUPPORTED" struct {
|
|
|
|
|
uint; /* TIMESTAMP_TICKS */
|
|
|
|
|
enum {
|
|
|
|
|
"NO_TIME_STAMP" = 0,
|
|
|
|
|
"SIZE_BYTE" = 1,
|
|
|
|
|
"SIZE_WORD" = 2,
|
|
|
|
|
"SIZE_DWORD" = 4
|
|
|
|
|
};
|
|
|
|
|
enum {
|
|
|
|
|
"UNIT_1NS" = 0,
|
|
|
|
|
"UNIT_10NS" = 1,
|
|
|
|
|
"UNIT_100NS" = 2,
|
|
|
|
|
"UNIT_1US" = 3,
|
|
|
|
|
"UNIT_10US" = 4,
|
|
|
|
|
"UNIT_100US" = 5,
|
|
|
|
|
"UNIT_1MS" = 6,
|
|
|
|
|
"UNIT_10MS" = 7,
|
|
|
|
|
"UNIT_100MS" = 8,
|
|
|
|
|
"UNIT_1S" = 9
|
|
|
|
|
};
|
|
|
|
|
taggedstruct {
|
|
|
|
|
"TIMESTAMP_FIXED" ;
|
|
|
|
|
};
|
|
|
|
|
};
|
|
|
|
|
"PID_OFF_SUPPORTED" ;
|
|
|
|
|
(block "DAQ_LIST" struct {
|
|
|
|
|
uint; /* DAQ_LIST_NUMBER */
|
|
|
|
|
taggedstruct {
|
|
|
|
|
"DAQ_LIST_TYPE" enum {
|
|
|
|
|
"DAQ" = 1,
|
|
|
|
|
"STIM" = 2,
|
|
|
|
|
"DAQ_STIM" = 3
|
|
|
|
|
};
|
|
|
|
|
"MAX_ODT" uchar;
|
|
|
|
|
"MAX_ODT_ENTRIES" uchar;
|
|
|
|
|
"FIRST_PID" uchar;
|
|
|
|
|
"EVENT_FIXED" uint;
|
|
|
|
|
block "PREDEFINED" taggedstruct {
|
|
|
|
|
(block "ODT" struct {
|
|
|
|
|
uchar; /* ODT number */
|
|
|
|
|
taggedstruct {
|
|
|
|
|
("ODT_ENTRY" struct {
|
|
|
|
|
uchar; /* ODT_ENTRY number */
|
|
|
|
|
ulong; /* address of element */
|
|
|
|
|
uchar; /* address extension of element */
|
|
|
|
|
uchar; /* size of element [AG] */
|
|
|
|
|
uchar; /* BIT_OFFSET */
|
|
|
|
|
})*;
|
|
|
|
|
};
|
|
|
|
|
})*;
|
|
|
|
|
};
|
|
|
|
|
};
|
|
|
|
|
})*;
|
|
|
|
|
(block "EVENT" struct {
|
|
|
|
|
char[101]; /* EVENT_CHANNEL_NAME */
|
|
|
|
|
char[9]; /* EVENT_CHANNEL_SHORT_NAME */
|
|
|
|
|
uint; /* EVENT_CHANNEL_NUMBER */
|
|
|
|
|
enum {
|
|
|
|
|
"DAQ" = 1,
|
|
|
|
|
"STIM" = 2,
|
|
|
|
|
"DAQ_STIM" = 3
|
|
|
|
|
};
|
|
|
|
|
uchar; /* MAX_DAQ_LIST */
|
|
|
|
|
uchar; /* TIME_CYCLE */
|
|
|
|
|
uchar; /* TIME_UNIT */
|
|
|
|
|
uchar; /* PRIORITY */
|
|
|
|
|
})*;
|
|
|
|
|
};
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
taggedunion Daq_Event {
|
|
|
|
|
"FIXED_EVENT_LIST" taggedstruct {
|
|
|
|
|
("EVENT" uint)*;
|
|
|
|
|
};
|
|
|
|
|
"VARIABLE" taggedstruct {
|
|
|
|
|
block "AVAILABLE_EVENT_LIST" taggedstruct {
|
|
|
|
|
("EVENT" uint)*;
|
|
|
|
|
};
|
|
|
|
|
block "DEFAULT_EVENT_LIST" taggedstruct {
|
|
|
|
|
("EVENT" uint)*;
|
|
|
|
|
};
|
|
|
|
|
};
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
struct Pag {
|
|
|
|
|
uchar; /* MAX_SEGMENTS */
|
|
|
|
|
taggedstruct {
|
|
|
|
|
"FREEZE_SUPPORTED" ;
|
|
|
|
|
};
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
struct Pgm {
|
|
|
|
|
enum {
|
|
|
|
|
"PGM_MODE_ABSOLUTE" = 1,
|
|
|
|
|
"PGM_MODE_FUNCTIONAL" = 2,
|
|
|
|
|
"PGM_MODE_ABSOLUTE_AND_FUNCTIONAL" = 3
|
|
|
|
|
};
|
|
|
|
|
uchar; /* MAX_SECTORS */
|
|
|
|
|
uchar; /* MAX_CTO_PGM */
|
|
|
|
|
taggedstruct {
|
|
|
|
|
(block "SECTOR" struct {
|
|
|
|
|
char[101]; /* SECTOR_NAME */
|
|
|
|
|
uchar; /* SECTOR_NUMBER */
|
|
|
|
|
ulong; /* Address */
|
|
|
|
|
ulong; /* Length */
|
|
|
|
|
uchar; /* CLEAR_SEQUENCE_NUMBER */
|
|
|
|
|
uchar; /* PROGRAM_SEQUENCE_NUMBER */
|
|
|
|
|
uchar; /* PROGRAM_METHOD */
|
|
|
|
|
})*;
|
|
|
|
|
"COMMUNICATION_MODE_SUPPORTED" taggedunion {
|
|
|
|
|
"BLOCK" taggedstruct {
|
|
|
|
|
"SLAVE" ;
|
|
|
|
|
"MASTER" struct {
|
|
|
|
|
uchar; /* MAX_BS_PGM */
|
|
|
|
|
uchar; /* MIN_ST_PGM */
|
|
|
|
|
};
|
|
|
|
|
};
|
|
|
|
|
"INTERLEAVED" uchar; /* QUEUE_SIZE_PGM */
|
|
|
|
|
};
|
|
|
|
|
};
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
struct Segment {
|
|
|
|
|
uchar; /* SEGMENT_NUMBER */
|
|
|
|
|
uchar; /* number of pages */
|
|
|
|
|
uchar; /* ADDRESS_EXTENSION */
|
|
|
|
|
uchar; /* COMPRESSION_METHOD */
|
|
|
|
|
uchar; /* ENCRYPTION_METHOD */
|
|
|
|
|
taggedstruct {
|
|
|
|
|
block "CHECKSUM" struct {
|
|
|
|
|
enum {
|
|
|
|
|
"XCP_ADD_11" = 1,
|
|
|
|
|
"XCP_ADD_12" = 2,
|
|
|
|
|
"XCP_ADD_14" = 3,
|
|
|
|
|
"XCP_ADD_22" = 4,
|
|
|
|
|
"XCP_ADD_24" = 5,
|
|
|
|
|
"XCP_ADD_44" = 6,
|
|
|
|
|
"XCP_CRC_16" = 7,
|
|
|
|
|
"XCP_CRC_16_CITT" = 8,
|
|
|
|
|
"XCP_CRC_32" = 9,
|
|
|
|
|
"XCP_USER_DEFINED" = 255
|
|
|
|
|
};
|
|
|
|
|
taggedstruct {
|
|
|
|
|
"MAX_BLOCK_SIZE" ulong;
|
|
|
|
|
"EXTERNAL_FUNCTION" char[256]; /* Name of the Checksum.DLL */
|
|
|
|
|
};
|
|
|
|
|
};
|
|
|
|
|
(block "PAGE" struct {
|
|
|
|
|
uchar; /* PAGE_NUMBER */
|
|
|
|
|
enum {
|
|
|
|
|
"ECU_ACCESS_NOT_ALLOWED" = 0,
|
|
|
|
|
"ECU_ACCESS_WITHOUT_XCP_ONLY" = 1,
|
|
|
|
|
"ECU_ACCESS_WITH_XCP_ONLY" = 2,
|
|
|
|
|
"ECU_ACCESS_DONT_CARE" = 3
|
|
|
|
|
};
|
|
|
|
|
enum {
|
|
|
|
|
"XCP_READ_ACCESS_NOT_ALLOWED" = 0,
|
|
|
|
|
"XCP_READ_ACCESS_WITHOUT_ECU_ONLY" = 1,
|
|
|
|
|
"XCP_READ_ACCESS_WITH_ECU_ONLY" = 2,
|
|
|
|
|
"XCP_READ_ACCESS_DONT_CARE" = 3
|
|
|
|
|
};
|
|
|
|
|
enum {
|
|
|
|
|
"XCP_WRITE_ACCESS_NOT_ALLOWED" = 0,
|
|
|
|
|
"XCP_WRITE_ACCESS_WITHOUT_ECU_ONLY" = 1,
|
|
|
|
|
"XCP_WRITE_ACCESS_WITH_ECU_ONLY" = 2,
|
|
|
|
|
"XCP_WRITE_ACCESS_DONT_CARE" = 3
|
|
|
|
|
};
|
|
|
|
|
taggedstruct {
|
|
|
|
|
"INIT_SEGMENT" uchar; /* references segment that initialises this page */
|
|
|
|
|
};
|
|
|
|
|
})*;
|
|
|
|
|
(block "ADDRESS_MAPPING" struct {
|
|
|
|
|
ulong; /* source address */
|
|
|
|
|
ulong; /* destination address */
|
|
|
|
|
ulong; /* length */
|
|
|
|
|
})*;
|
|
|
|
|
"PGM_VERIFY" ulong; /* verification value for PGM */
|
|
|
|
|
};
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
taggedstruct Common_Parameters {
|
|
|
|
|
block "PROTOCOL_LAYER" struct Protocol_Layer;
|
|
|
|
|
block "SEGMENT" struct Segment;
|
|
|
|
|
block "DAQ" struct Daq;
|
|
|
|
|
block "PAG" struct Pag;
|
|
|
|
|
block "PGM" struct Pgm;
|
|
|
|
|
block "DAQ_EVENT" taggedunion Daq_Event;
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
struct CAN_Parameters {
|
|
|
|
|
uint; /* XCP on CAN version, currentl 0x0100 */
|
|
|
|
|
taggedstruct {
|
|
|
|
|
"CAN_ID_BROADCAST" ulong; /* Auto-detection CAN-ID */
|
|
|
|
|
"CAN_ID_MASTER" ulong; /* CMD/STIM CAN-ID */
|
|
|
|
|
"CAN_ID_SLAVE" ulong; /* RES/ERR/EV/SERV/DAQ CAN-ID */
|
|
|
|
|
"BAUDRATE" ulong; /* Baudrate in Hz */
|
|
|
|
|
"SAMPLE_POINT" uchar; /* Sample point in % of bit time */
|
|
|
|
|
"SAMPLE_RATE" enum {
|
|
|
|
|
"SINGLE" = 1,
|
|
|
|
|
"TRIPLE" = 3
|
|
|
|
|
};
|
|
|
|
|
"BTL_CYCLES" uchar; /* slots per bit time */
|
|
|
|
|
"SJW" uchar;
|
|
|
|
|
"SYNC_EDGE" enum {
|
|
|
|
|
"SINGLE" = 1,
|
|
|
|
|
"DUAL" = 2
|
|
|
|
|
};
|
|
|
|
|
"MAX_DLC_REQUIRED" ; /* master to slave frames */
|
|
|
|
|
(block "DAQ_LIST_CAN_ID" struct {
|
|
|
|
|
uint; /* reference to DAQ_LIST_NUMBER */
|
|
|
|
|
taggedstruct {
|
|
|
|
|
"VARIABLE" ;
|
|
|
|
|
"FIXED" ulong; /* this DAQ_LIST always on this CAN_ID */
|
|
|
|
|
};
|
|
|
|
|
})*;
|
|
|
|
|
(block "EVENT_CAN_ID_LIST" struct { /* At IF_DATA DAQ */
|
|
|
|
|
uint; /* reference to EVENT_NUMBER */
|
|
|
|
|
taggedstruct { /* exclusive tags */
|
|
|
|
|
("FIXED" ulong)*; /* this Event always on this ID */
|
|
|
|
|
};
|
|
|
|
|
})*;
|
|
|
|
|
block "CAN_FD" struct { /* The CAN_FD block definition indicates the use of CAN-FD frames */
|
|
|
|
|
taggedstruct {
|
|
|
|
|
"MAX_DLC" uint; /* 8, 12, 16, 20, 24, 32, 48 or 64 */
|
|
|
|
|
"CAN_FD_DATA_TRANSFER_BAUDRATE" ulong; /* BAUDRATE [Hz] */
|
|
|
|
|
"SAMPLE_POINT" uchar; /* sample point receiver [% complete bit time] */
|
|
|
|
|
"BTL_CYCLES" uchar; /* BTL_CYCLES [slots per bit time] */
|
|
|
|
|
"SJW" uchar; /* length synchr. segment [BTL_CYCLES] */
|
|
|
|
|
"SYNC_EDGE" enum {
|
|
|
|
|
"SINGLE" = 1, /* on falling edge only */
|
|
|
|
|
"DUAL" = 2 /* on falling and rising edge */
|
|
|
|
|
};
|
|
|
|
|
"MAX_DLC_REQUIRED"; /* master to slave frames always to have DLC = MAX_DLC_for CAN-FD */
|
|
|
|
|
"SECONDARY_SAMPLE_POINT" uchar; /* sender sample point [% complete bit time] */
|
|
|
|
|
"TRANSCEIVER_DELAY_COMPENSATION" enum {
|
|
|
|
|
"OFF" = 0,
|
|
|
|
|
"ON" = 1
|
|
|
|
|
};
|
|
|
|
|
};
|
|
|
|
|
};
|
|
|
|
|
};
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
struct SxI_Parameters {
|
|
|
|
|
uint; /* XCP on SxI version, currently 0x0100 */
|
|
|
|
|
ulong; /* BAUDRATE [Hz] */
|
|
|
|
|
taggedstruct {
|
|
|
|
|
"ASYNCH_FULL_DUPLEX_MODE" struct {
|
|
|
|
|
enum {
|
|
|
|
|
"PARITY_NONE" = 0,
|
|
|
|
|
"PARITY_ODD" = 1,
|
|
|
|
|
"PARITY_EVEN" = 2
|
|
|
|
|
};
|
|
|
|
|
enum {
|
|
|
|
|
"ONE_STOP_BIT" = 1,
|
|
|
|
|
"TWO_STOP_BITS" = 2
|
|
|
|
|
};
|
|
|
|
|
taggedstruct {
|
|
|
|
|
block "FRAMING" struct {
|
|
|
|
|
uchar; /* SYNC */
|
|
|
|
|
uchar; /* ESC */
|
|
|
|
|
};
|
|
|
|
|
};
|
|
|
|
|
};
|
|
|
|
|
"SYNCH_FULL_DUPLEX_MODE_BYTE" ;
|
|
|
|
|
"SYNCH_FULL_DUPLEX_MODE_WORD" ;
|
|
|
|
|
"SYNCH_FULL_DUPLEX_MODE_DWORD" ;
|
|
|
|
|
"SYNCH_MASTER_SLAVE_MODE_BYTE" ;
|
|
|
|
|
"SYNCH_MASTER_SLAVE_MODE_WORD" ;
|
|
|
|
|
"SYNCH_MASTER_SLAVE_MODE_DWORD" ;
|
|
|
|
|
};
|
|
|
|
|
enum {
|
|
|
|
|
"HEADER_LEN_BYTE" = 0,
|
|
|
|
|
"HEADER_LEN_CTR_BYTE" = 1,
|
|
|
|
|
"HEADER_LEN_FILL_BYTE" = 2,
|
|
|
|
|
"HEADER_LEN_WORD" = 3,
|
|
|
|
|
"HEADER_LEN_CTR_WORD" = 4,
|
|
|
|
|
"HEADER_LEN_FILL_WORD" = 5
|
|
|
|
|
};
|
|
|
|
|
enum {
|
|
|
|
|
"NO_CHECKSUM" = 0,
|
|
|
|
|
"CHECKSUM_BYTE" = 1,
|
|
|
|
|
"CHECKSUM_WORD" = 2
|
|
|
|
|
};
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
struct TCP_IP_Parameters {
|
|
|
|
|
uint; /* XCP on TCP_IP version, currently 0x0100 */
|
|
|
|
|
uint; /* PORT */
|
|
|
|
|
taggedunion {
|
|
|
|
|
"HOST_NAME" char[256];
|
|
|
|
|
"ADDRESS" char[15];
|
|
|
|
|
};
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
struct UDP_Parameters {
|
|
|
|
|
uint; /* XCP on UDP version, currently 0x0100 */
|
|
|
|
|
uint; /* PORT */
|
|
|
|
|
taggedunion {
|
|
|
|
|
"HOST_NAME" char[256];
|
|
|
|
|
"ADDRESS" char[15];
|
|
|
|
|
};
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
struct ep_parameters {
|
|
|
|
|
uchar; /* ENDPOINT_NUMBER, not endpoint address */
|
|
|
|
|
enum {
|
|
|
|
|
"BULK_TRANSFER" = 2,
|
|
|
|
|
"INTERRUPT_TRANSFER" = 3
|
|
|
|
|
};
|
|
|
|
|
uint; /* wMaxPacketSize: Maximum packet size of endpoint in bytes */
|
|
|
|
|
uchar; /* bInterval: polling of endpoint */
|
|
|
|
|
enum {
|
|
|
|
|
"MESSAGE_PACKING_SINGLE" = 0,
|
|
|
|
|
"MESSAGE_PACKING_MULTIPLE" = 1,
|
|
|
|
|
"MESSAGE_PACKING_STREAMING" = 2
|
|
|
|
|
};
|
|
|
|
|
enum {
|
|
|
|
|
"ALIGNMENT_8_BIT" = 0,
|
|
|
|
|
"ALIGNMENT_16_BIT" = 1,
|
|
|
|
|
"ALIGNMENT_32_BIT" = 2,
|
|
|
|
|
"ALIGNMENT_64_BIT" = 3
|
|
|
|
|
};
|
|
|
|
|
taggedstruct {
|
|
|
|
|
"RECOMMENDED_HOST_BUFSIZE" uint; /* Recommended size for the host buffer size. The size is defined as multiple of wMaxPacketSize. */
|
|
|
|
|
};
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
struct USB_Parameters {
|
|
|
|
|
uint; /* XCP on USB version e.g. "1.0" = 0x0100 */
|
|
|
|
|
uint; /* Vendor ID */
|
|
|
|
|
uint; /* Product ID */
|
|
|
|
|
uchar; /* Number of interface */
|
|
|
|
|
enum {
|
|
|
|
|
"HEADER_LEN_BYTE" = 0,
|
|
|
|
|
"HEADER_LEN_CTR_BYTE" = 1,
|
|
|
|
|
"HEADER_LEN_FILL_BYTE" = 2,
|
|
|
|
|
"HEADER_LEN_WORD" = 3,
|
|
|
|
|
"HEADER_LEN_CTR_WORD" = 4,
|
|
|
|
|
"HEADER_LEN_FILL_WORD" = 5
|
|
|
|
|
};
|
|
|
|
|
taggedunion {
|
|
|
|
|
block "OUT_EP_CMD_STIM" struct ep_parameters;
|
|
|
|
|
};
|
|
|
|
|
taggedunion {
|
|
|
|
|
block "IN_EP_RESERR_DAQ_EVSERV" struct ep_parameters;
|
|
|
|
|
};
|
|
|
|
|
taggedstruct {
|
|
|
|
|
"ALTERNATE_SETTING_NO" uchar; /* Number of alternate setting */
|
|
|
|
|
"INTERFACE_STRING_DESCRIPTOR" char[101];
|
|
|
|
|
(block "OUT_EP_ONLY_STIM" struct ep_parameters)*;
|
|
|
|
|
(block "IN_EP_ONLY_DAQ" struct ep_parameters)*;
|
|
|
|
|
block "IN_EP_ONLY_EVSERV" struct ep_parameters;
|
|
|
|
|
(block "DAQ_LIST_USB_ENDPOINT" struct {
|
|
|
|
|
uint; /* reference to DAQ_LIST_NUMBER */
|
|
|
|
|
taggedstruct {
|
|
|
|
|
"FIXED_IN" uchar; /* this DAQ list always ENDPOINT_NUMBER, not endpoint address */
|
|
|
|
|
"FIXED_OUT" uchar; /* this STIM list always ENDPOINT_NUMBER, not endpoint address */
|
|
|
|
|
};
|
|
|
|
|
})*;
|
|
|
|
|
};
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
enum packet_assignment_type {
|
|
|
|
|
"NOT_ALLOWED" = 0,
|
|
|
|
|
"FIXED" = 1,
|
|
|
|
|
"VARIABLE_INITIALISED" = 2,
|
|
|
|
|
"VARIABLE" = 3
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
struct buffer {
|
|
|
|
|
uchar; /* FLX_BUF */
|
|
|
|
|
taggedstruct {
|
|
|
|
|
"MAX_FLX_LEN_BUF" taggedunion {
|
|
|
|
|
"FIXED" uchar; /* constant value */
|
|
|
|
|
"VARIABLE" uchar; /* initial value */
|
|
|
|
|
};
|
|
|
|
|
block "LPDU_ID" taggedstruct {
|
|
|
|
|
"FLX_SLOT_ID" taggedunion {
|
|
|
|
|
"FIXED" uint;
|
|
|
|
|
"VARIABLE" taggedstruct {
|
|
|
|
|
"INITIAL_VALUE" uint;
|
|
|
|
|
};
|
|
|
|
|
};
|
|
|
|
|
"OFFSET" taggedunion {
|
|
|
|
|
"FIXED" uchar;
|
|
|
|
|
"VARIABLE" taggedstruct {
|
|
|
|
|
"INITIAL_VALUE" uchar;
|
|
|
|
|
};
|
|
|
|
|
};
|
|
|
|
|
"CYCLE_REPETITION" taggedunion {
|
|
|
|
|
"FIXED" uchar;
|
|
|
|
|
"VARIABLE" taggedstruct {
|
|
|
|
|
"INITIAL_VALUE" uchar;
|
|
|
|
|
};
|
|
|
|
|
};
|
|
|
|
|
"CHANNEL" taggedunion {
|
|
|
|
|
"FIXED" enum {
|
|
|
|
|
"A" = 0,
|
|
|
|
|
"B" = 1
|
|
|
|
|
};
|
|
|
|
|
"VARIABLE" taggedstruct {
|
|
|
|
|
"INITIAL_VALUE" enum {
|
|
|
|
|
"A" = 0,
|
|
|
|
|
"B" = 1
|
|
|
|
|
};
|
|
|
|
|
};
|
|
|
|
|
};
|
|
|
|
|
};
|
|
|
|
|
block "XCP_PACKET" taggedstruct {
|
|
|
|
|
"CMD" enum packet_assignment_type;
|
|
|
|
|
"RES_ERR" enum packet_assignment_type;
|
|
|
|
|
"EV_SERV" enum packet_assignment_type;
|
|
|
|
|
"DAQ" enum packet_assignment_type;
|
|
|
|
|
"STIM" enum packet_assignment_type;
|
|
|
|
|
};
|
|
|
|
|
};
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
struct FLX_Parameters {
|
|
|
|
|
uint; /* XCP on FlexRay version e.g. "1.0" = 0x0100 */
|
|
|
|
|
uint; /* T1_FLX [ms] */
|
|
|
|
|
char[256]; /* FIBEX-file including CHI information including extension without path */
|
|
|
|
|
char[256]; /* Cluster-ID */
|
|
|
|
|
uchar; /* NAX */
|
|
|
|
|
enum {
|
|
|
|
|
"HEADER_NAX" = 0,
|
|
|
|
|
"HEADER_NAX_FILL" = 1,
|
|
|
|
|
"HEADER_NAX_CTR" = 2,
|
|
|
|
|
"HEADER_NAX_FILL3" = 3,
|
|
|
|
|
"HEADER_NAX_CTR_FILL2" = 4,
|
|
|
|
|
"HEADER_NAX_LEN" = 5,
|
|
|
|
|
"HEADER_NAX_CTR_LEN" = 6,
|
|
|
|
|
"HEADER_NAX_FILL2_LEN" = 7,
|
|
|
|
|
"HEADER_NAX_CTR_FILL_LEN" = 8
|
|
|
|
|
};
|
|
|
|
|
enum {
|
|
|
|
|
"PACKET_ALIGNMENT_8" = 0,
|
|
|
|
|
"PACKET_ALIGNMENT_16" = 1,
|
|
|
|
|
"PACKET_ALIGNMENT_32" = 2
|
|
|
|
|
};
|
|
|
|
|
taggedunion {
|
|
|
|
|
block "INITIAL_CMD_BUFFER" struct buffer;
|
|
|
|
|
};
|
|
|
|
|
taggedunion {
|
|
|
|
|
block "INITIAL_RES_ERR_BUFFER" struct buffer;
|
|
|
|
|
};
|
|
|
|
|
taggedstruct {
|
|
|
|
|
(block "POOL_BUFFER" struct buffer)*;
|
|
|
|
|
};
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
block "IF_DATA" taggedunion if_data {
|
|
|
|
|
"XCP" struct {
|
|
|
|
|
taggedstruct Common_Parameters; /* default parameters */
|
|
|
|
|
taggedstruct {
|
|
|
|
|
block "XCP_ON_CAN" struct {
|
|
|
|
|
struct CAN_Parameters; /* specific for CAN */
|
|
|
|
|
taggedstruct Common_Parameters; /* overruling of default */
|
|
|
|
|
};
|
|
|
|
|
block "XCP_ON_SxI" struct {
|
|
|
|
|
struct SxI_Parameters; /* specific for SxI */
|
|
|
|
|
taggedstruct Common_Parameters; /* overruling of default */
|
|
|
|
|
};
|
|
|
|
|
block "XCP_ON_TCP_IP" struct {
|
|
|
|
|
struct TCP_IP_Parameters; /* specific for TCP_IP */
|
|
|
|
|
taggedstruct Common_Parameters; /* overruling of default */
|
|
|
|
|
};
|
|
|
|
|
block "XCP_ON_UDP_IP" struct {
|
|
|
|
|
struct UDP_Parameters; /* specific for UDP */
|
|
|
|
|
taggedstruct Common_Parameters; /* overruling of default */
|
|
|
|
|
};
|
|
|
|
|
block "XCP_ON_USB" struct {
|
|
|
|
|
struct USB_Parameters; /* specific for USB */
|
|
|
|
|
taggedstruct Common_Parameters; /* overruling of default */
|
|
|
|
|
};
|
|
|
|
|
block "XCP_ON_FLX" struct {
|
|
|
|
|
struct FLX_Parameters; /* specific for FlexRay */
|
|
|
|
|
taggedstruct Common_Parameters; /* overruling of default */
|
|
|
|
|
};
|
|
|
|
|
};
|
|
|
|
|
};
|
|
|
|
|
"ASAP1B_CCP" taggedstruct {
|
|
|
|
|
(block "SOURCE" struct {
|
|
|
|
|
struct {
|
|
|
|
|
char[101]; /* Name of the DAQ list (data acquisition list), measurement source */
|
|
|
|
|
int; /* Period definition : Basic scaling unit in CSE */
|
|
|
|
|
long; /* Period definition : Rate in Scaling Units */
|
|
|
|
|
};
|
|
|
|
|
taggedstruct {
|
|
|
|
|
"DISPLAY_IDENTIFIER" char[32]; /* display identifier of DAQ list*/
|
|
|
|
|
block "QP_BLOB" struct {
|
|
|
|
|
uint; /* Number of the DAQ list 0..n */
|
|
|
|
|
taggedstruct {
|
|
|
|
|
"LENGTH" uint; /* Length of the DAQ list, maximum number of the useable ODTs */
|
|
|
|
|
"CAN_ID_VARIABLE" ; /* CAN-Message-ID is variable */
|
|
|
|
|
"CAN_ID_FIXED" ulong; /* CAN-Message-ID of the DTOs if fixed */
|
|
|
|
|
("RASTER" uchar)*; /* Supported CCP Event Channel Names of this DAQ List */
|
|
|
|
|
("EXCLUSIVE" int)*; /* Exclusion of other DAQ-Lists */
|
|
|
|
|
"REDUCTION_ALLOWED" ; /* Data reduction possible */
|
|
|
|
|
"FIRST_PID" uchar; /* First Packet ID (PID) of this DAQ List */
|
|
|
|
|
};
|
|
|
|
|
};
|
|
|
|
|
}; /* optional parameters for this DAQ list */
|
|
|
|
|
})*; /* DAQ list description*/
|
|
|
|
|
(block "RASTER" struct {
|
|
|
|
|
char[101]; /* CCP Event Channel Name */
|
|
|
|
|
char[9]; /* Short Display Name of the Event Channel Name */
|
|
|
|
|
uchar; /* Event Channel No., used for CCP START_STOP) */
|
|
|
|
|
int; /* Period definition : basic scaling unit in CSE as defined in ASAP1b */
|
|
|
|
|
long; /* ECU sample rate of the event channel */
|
|
|
|
|
taggedstruct {
|
|
|
|
|
("EXCLUSIVE" uchar)*; /* Exclusion of other CCP Event Channels */
|
|
|
|
|
}; /* optional parameters*/
|
|
|
|
|
})*; /* Event channel description*/
|
|
|
|
|
(block "EVENT_GROUP" struct {
|
|
|
|
|
char[101]; /* Event group name */
|
|
|
|
|
char[9]; /* Short name for the event group */
|
|
|
|
|
taggedstruct {
|
|
|
|
|
("RASTER" uchar)*; /* event channel number*/
|
|
|
|
|
}; /* list of all event channels beloging to the group*/
|
|
|
|
|
})*; /* Group several event channels to form one combined event*/
|
|
|
|
|
block "SEED_KEY" struct {
|
|
|
|
|
char[256]; /* Name of the Seed&Key DLL for CAL Priviledge, including file-Extension without path */
|
|
|
|
|
char[256]; /* Name of the Seed&Key DLL for DAQ Priviledge, including file-Extension without path */
|
|
|
|
|
char[256]; /* Name of the Seed&Key DLL for PGM Priviledge, including file-Extension without path */
|
|
|
|
|
}; /* Description of the authentification process*/
|
|
|
|
|
block "CHECKSUM" struct {
|
|
|
|
|
char[256]; /* Name of the Checksum DLL representing the ECU Algorithm, including file-Extension without path */
|
|
|
|
|
}; /* Description of the checksum calculation process*/
|
|
|
|
|
block "TP_BLOB" struct {
|
|
|
|
|
uint; /* CCP Version, High Byte: Version, Low Byte : subversion (dec.) */
|
|
|
|
|
uint; /* Blob-Version, High Byte: Version, Low Byte : subversion (dec.) */
|
|
|
|
|
ulong; /* CAN-Message ID for 'Transmitting to ECU (CRM)' */
|
|
|
|
|
ulong; /* CAN-Message ID for 'Receiving from ECU (DTM)' */
|
|
|
|
|
uint; /* Logical CCP-Address of the (station address) */
|
|
|
|
|
uint; /* Byte order of Multiple-byte-items 1 = high Byte first, 2 = low byte first */
|
|
|
|
|
taggedstruct {
|
|
|
|
|
block "CAN_PARAM" struct {
|
|
|
|
|
uint; /* Quartz freq. of the elec. control unit */
|
|
|
|
|
uchar; /* BTR0: Bit timing register */
|
|
|
|
|
uchar; /* BTR1: Bit timing register */
|
|
|
|
|
}; /* CAN parameters*/
|
|
|
|
|
"BAUDRATE" ulong; /* Baud rate in Hz. */
|
|
|
|
|
"SAMPLE_POINT" uchar; /* sampling point of time in percent */
|
|
|
|
|
"SAMPLE_RATE" uchar; /* number of samples per Bit (1 oder 3) */
|
|
|
|
|
"BTL_CYCLES" uchar; /* number of BTL-cycles */
|
|
|
|
|
"SJW" uchar; /* SJW-parameter in BTL-cycles */
|
|
|
|
|
"SYNC_EDGE" enum {
|
|
|
|
|
"SINGLE" = 0,
|
|
|
|
|
"DUAL" = 1
|
|
|
|
|
}; /* Synchronisation (SINGLE: on falling edge only, DUAL: on falling and rising edge)*/
|
|
|
|
|
"DAQ_MODE" enum {
|
|
|
|
|
"ALTERNATING" = 0,
|
|
|
|
|
"BURST" = 1
|
|
|
|
|
}; /* mode of cylcic data acquisition (ALTERNATING: ECU is sending one ODT per cycle, BURST: ECU is sending a complete DAQ)*/
|
|
|
|
|
"BYTES_ONLY" ; /* ECU supports max. elements of one Byte size otherwise ECU supports different dataTypes */
|
|
|
|
|
"RESUME_SUPPORTED" ; /* ECU supports the Resume function */
|
|
|
|
|
"STORE_SUPPORTED" ; /* ECU supports the Store function */
|
|
|
|
|
"CONSISTENCY" enum {
|
|
|
|
|
"DAQ" = 0,
|
|
|
|
|
"ODT" = 1
|
|
|
|
|
}; /* guaranteed consistency (DAQ: consistency of a complete DAQ is guaranteed, ODT: consistency of a complete ODT is guaranteed)*/
|
|
|
|
|
"ADDRESS_EXTENSION" enum {
|
|
|
|
|
"DAQ" = 0,
|
|
|
|
|
"ODT" = 1
|
|
|
|
|
}; /* ECU supported address extension (DAQ: only one address extension within a DAQ, ODT: only one address extension within an ODT)*/
|
|
|
|
|
block "CHECKSUM_PARAM" struct {
|
|
|
|
|
uint; /* checksum calculation procedure standard types not yet defined, if greater of equal 1000 : manufacturer specific */
|
|
|
|
|
ulong; /* Maximum block length used by an ASAP1a-CCP command, for checksum calculation procedure */
|
|
|
|
|
taggedstruct {
|
|
|
|
|
"CHECKSUM_CALCULATION" enum {
|
|
|
|
|
"ACTIVE_PAGE" = 0,
|
|
|
|
|
"BIT_OR_WITH_OPT_PAGE" = 1
|
|
|
|
|
}; /* checksum calculation method*/
|
|
|
|
|
}; /* optional*/
|
|
|
|
|
}; /* checksum parameters */
|
|
|
|
|
(block "DEFINED_PAGES" struct {
|
|
|
|
|
struct {
|
|
|
|
|
uint; /* logical number of the memory page (1,2,..) */
|
|
|
|
|
char[101]; /* name of the memory page */
|
|
|
|
|
uint; /* adress-Extension of the memory page (only Low Byte significant) */
|
|
|
|
|
ulong; /* base address of the memory page */
|
|
|
|
|
ulong; /* length of the memory page in Bytes */
|
|
|
|
|
}; /* fixed parameters*/
|
|
|
|
|
taggedstruct {
|
|
|
|
|
"RAM" ; /* memory page in RAM */
|
|
|
|
|
"ROM" ; /* memory page in ROM */
|
|
|
|
|
"FLASH" ; /* memory page in FLASH */
|
|
|
|
|
"EEPROM" ; /* memory page in EEPROM */
|
|
|
|
|
"RAM_INIT_BY_ECU" ; /* memory page is initialised by ECU start-up */
|
|
|
|
|
"RAM_INIT_BY_TOOL" ; /* RAM- memory page is initialised by the MCS */
|
|
|
|
|
"AUTO_FLASH_BACK" ; /* RAM memory page is automatically flashed back */
|
|
|
|
|
"FLASH_BACK" ; /* feature available to flash back the RAM memory page */
|
|
|
|
|
"DEFAULT" ; /* memory page is standard (fallback mode) */
|
|
|
|
|
}; /* optional parameters */
|
|
|
|
|
})*; /* memory page description */
|
|
|
|
|
("OPTIONAL_CMD" uint)*; /* CCP-Code of the optional command available */
|
|
|
|
|
}; /* optional parameters */
|
|
|
|
|
};
|
|
|
|
|
("ADDR_MAPPING" struct {
|
|
|
|
|
ulong; /* base address of the memory segment to be mapped*/
|
|
|
|
|
ulong; /* address to which the base address is to be mapped*/
|
|
|
|
|
ulong; /* length of the segment to be mapped*/
|
|
|
|
|
})*; /* address mapping for memory segment*/
|
|
|
|
|
"DP_BLOB" struct {
|
|
|
|
|
uint; /* address extension of the calibration data (only low byte significant) */
|
|
|
|
|
ulong; /* base address of the calibration data */
|
|
|
|
|
ulong; /* number of Bytes belonging to the calibration data */
|
|
|
|
|
}; /* address information for calibration objects and memory segments*/
|
|
|
|
|
"KP_BLOB" struct {
|
|
|
|
|
uint; /* address extension of the online data (only Low Byte significant) */
|
|
|
|
|
ulong; /* base address of the online data */
|
|
|
|
|
ulong; /* number of bytes belonging to the online data (1,2 or 4) */
|
|
|
|
|
taggedstruct {
|
|
|
|
|
("RASTER" uchar)*; /* event channel number*/
|
|
|
|
|
};
|
|
|
|
|
}; /* address information for measure objects (online data)*/
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
"CANAPE_EXT" struct {
|
|
|
|
|
int;
|
|
|
|
|
taggedstruct {
|
|
|
|
|
"LINK_MAP" struct {
|
|
|
|
|
char[256];
|
|
|
|
|
long;
|
|
|
|
|
uint;
|
|
|
|
|
uint;
|
|
|
|
|
long;
|
|
|
|
|
uint;
|
|
|
|
|
uint;
|
|
|
|
|
uint;
|
|
|
|
|
};
|
|
|
|
|
"DISPLAY" struct { long; double; double; };
|
|
|
|
|
"VIRTUAL_CONVERSION" struct { char[256]; };
|
|
|
|
|
};
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
"CANAPE_ADDRESS_UPDATE" taggedstruct {
|
|
|
|
|
// to be used in MODULE
|
|
|
|
|
// to get start address of EPK
|
|
|
|
|
("EPK_ADDRESS" struct {
|
|
|
|
|
char[1024]; // name of the corresponding symbol in MAP file
|
|
|
|
|
long; // optional address offset
|
|
|
|
|
})*;
|
|
|
|
|
// to be used in MODULE
|
|
|
|
|
// to get start address of EPK
|
|
|
|
|
"ECU_CALIBRATION_OFFSET" struct {
|
|
|
|
|
char[1024]; // name of the corresponding symbol in MAP file
|
|
|
|
|
long; // optional address offset
|
|
|
|
|
};
|
|
|
|
|
// to be used in MODULE
|
|
|
|
|
// to get start address and size of pointer tables
|
|
|
|
|
(block "CALIBRATION_METHOD" taggedunion {
|
|
|
|
|
"AUTOSAR_SINGLE_POINTERED" struct {
|
|
|
|
|
char[1024]; // MAP symbol name for pointer table in RAM
|
|
|
|
|
long; // optional address offset
|
|
|
|
|
taggedstruct {
|
|
|
|
|
"ORIGINAL_POINTER_TABLE" struct {
|
|
|
|
|
char[1024]; // MAP symbol name for pointer table in FLASH
|
|
|
|
|
long; // optional address offset
|
|
|
|
|
};
|
|
|
|
|
};
|
|
|
|
|
};
|
|
|
|
|
"InCircuit2" struct {
|
|
|
|
|
char[1024]; // MAP symbol name for pointer table in RAM
|
|
|
|
|
long; // optional address offset
|
|
|
|
|
taggedstruct {
|
|
|
|
|
"ORIGINAL_POINTER_TABLE" struct {
|
|
|
|
|
char[1024]; // MAP symbol name for pointer table in FLASH
|
|
|
|
|
long; // optional address offset
|
|
|
|
|
};
|
|
|
|
|
"FLASH_SECTION" struct {
|
|
|
|
|
ulong; // start address of flash section
|
|
|
|
|
ulong; // length of flash section
|
|
|
|
|
}
|
|
|
|
|
};
|
|
|
|
|
};
|
|
|
|
|
})*;
|
|
|
|
|
// to be used in MEMORY_SEGMENT
|
|
|
|
|
// to get start address and size of the segment and mapped ranges for XCP
|
|
|
|
|
block "MAP_SYMBOL" taggedstruct {
|
|
|
|
|
"FIRST" struct {
|
|
|
|
|
char[1024]; // symbol name of the corresponding segment in MAP file
|
|
|
|
|
long; // offset;
|
|
|
|
|
};
|
|
|
|
|
"LAST" struct {
|
|
|
|
|
char[1024]; // symbol name of the corresponding segment in MAP file
|
|
|
|
|
long; // offset;
|
|
|
|
|
};
|
|
|
|
|
("ADDRESS_MAPPING_XCP" struct {
|
|
|
|
|
char[1024]; // symbol name of source range in MAP file
|
|
|
|
|
char[1024]; // symbol name of destination range in MAP file
|
|
|
|
|
})*;
|
|
|
|
|
};
|
|
|
|
|
// to be used in MODULE
|
|
|
|
|
// workaround to avoid direct usage in MEMORY_SEGMENT (see above)
|
|
|
|
|
// (INCA cannot read ASAP2 files with unknown IF_DATA in MEMORY_SEGMENTs)
|
|
|
|
|
// !! name of the memory segment must be unique !!
|
|
|
|
|
(block "MEMORY_SEGMENT" struct {
|
|
|
|
|
char[1024]; // name of the memory segment
|
|
|
|
|
taggedstruct {
|
|
|
|
|
"FIRST" struct {
|
|
|
|
|
char[1024]; // symbol name of the corresponding segment in MAP file
|
|
|
|
|
long; // offset;
|
|
|
|
|
};
|
|
|
|
|
"LAST" struct {
|
|
|
|
|
char[1024]; // symbol name of the corresponding segment in MAP file
|
|
|
|
|
long; // offset;
|
|
|
|
|
};
|
|
|
|
|
("ADDRESS_MAPPING_XCP" struct {
|
|
|
|
|
char[1024]; // symbol name of source range in MAP file
|
|
|
|
|
char[1024]; // symbol name of destination range in MAP file
|
|
|
|
|
})*;
|
|
|
|
|
};
|
|
|
|
|
})*;
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
};
|
|
|
|
|
/end A2ML
|
|
|
|
|
|
|
|
|
|
/begin MOD_PAR
|
|
|
|
|
"Module parameter description"
|
|
|
|
|
VERSION "Test version 01.01.2013"
|
|
|
|
|
SUPPLIER "jnsoft"
|
|
|
|
|
CUSTOMER "Customer"
|
|
|
|
|
CUSTOMER_NO "1234"
|
|
|
|
|
USER "joe nachbaur"
|
|
|
|
|
PHONE_NO "+49 171 1234567890"
|
|
|
|
|
ECU "Engine control"
|
|
|
|
|
CPU_TYPE "Intel x"
|
|
|
|
|
EPK "EPROM identifier test"
|
|
|
|
|
ADDR_EPK 0x0
|
|
|
|
|
NO_OF_INTERFACES 1
|
|
|
|
|
SYSTEM_CONSTANT "CONST_PI" "3.14159"
|
|
|
|
|
SYSTEM_CONSTANT "CONST_PI_2" "$(CONST_PI)/2"
|
|
|
|
|
SYSTEM_CONSTANT "CONST_PI_REF_2" "$(CONST_PI_2)/2"
|
|
|
|
|
SYSTEM_CONSTANT "CONST_SIN_PI_2" "sin($(CONST_PI_REF_2))"
|
|
|
|
|
SYSTEM_CONSTANT "CONST_SIN_COS_PI" "1.24242 * (sin ( $(CONST_PI) ) + cos ( $(CONST_PI) ))"
|
|
|
|
|
SYSTEM_CONSTANT "Simple text" "test text test"
|
|
|
|
|
|
|
|
|
|
/begin MEMORY_SEGMENT CALIBRATIONRAM1
|
|
|
|
|
"Calibration RAM segment 1"
|
|
|
|
|
DATA FLASH INTERN 0x0 0x8000 -1 -1 -1 -1 -1
|
|
|
|
|
/begin IF_DATA XCP
|
|
|
|
|
/begin SEGMENT
|
|
|
|
|
0x0
|
|
|
|
|
0x2
|
|
|
|
|
0x0
|
|
|
|
|
0x0
|
|
|
|
|
0x0
|
|
|
|
|
/begin CHECKSUM
|
|
|
|
|
XCP_ADD_12
|
|
|
|
|
/end CHECKSUM
|
|
|
|
|
/begin PAGE
|
|
|
|
|
0x0
|
|
|
|
|
ECU_ACCESS_WITH_XCP_ONLY
|
|
|
|
|
XCP_READ_ACCESS_WITH_ECU_ONLY
|
|
|
|
|
XCP_WRITE_ACCESS_NOT_ALLOWED
|
|
|
|
|
/end PAGE
|
|
|
|
|
/begin PAGE
|
|
|
|
|
0x1
|
|
|
|
|
ECU_ACCESS_WITH_XCP_ONLY
|
|
|
|
|
XCP_READ_ACCESS_WITH_ECU_ONLY
|
|
|
|
|
XCP_WRITE_ACCESS_WITH_ECU_ONLY
|
|
|
|
|
/end PAGE
|
|
|
|
|
// /begin ADDRESS_MAPPING 0x0 0x8000 0x8000 /end ADDRESS_MAPPING
|
|
|
|
|
/end SEGMENT
|
|
|
|
|
/end IF_DATA
|
|
|
|
|
/begin IF_DATA CANAPE_ADDRESS_UPDATE
|
|
|
|
|
/begin MAP_SYMBOL
|
|
|
|
|
FIRST
|
|
|
|
|
"ReferencePage"
|
|
|
|
|
0
|
|
|
|
|
LAST
|
|
|
|
|
"ReferencePage"
|
|
|
|
|
0
|
|
|
|
|
ADDRESS_MAPPING_XCP
|
|
|
|
|
"ReferencePage"
|
|
|
|
|
"WorkingPage"
|
|
|
|
|
/end MAP_SYMBOL
|
|
|
|
|
/end IF_DATA
|
|
|
|
|
/end MEMORY_SEGMENT
|
|
|
|
|
|
|
|
|
|
/begin MEMORY_SEGMENT CALIBRATIONRAM2
|
|
|
|
|
"Calibration RAM segment 2"
|
|
|
|
|
DATA FLASH INTERN 0x8000 0x1000 -1 -1 -1 -1 -1
|
|
|
|
|
/begin IF_DATA XCP
|
|
|
|
|
/begin SEGMENT
|
|
|
|
|
0x1
|
|
|
|
|
0x2
|
|
|
|
|
0x0
|
|
|
|
|
0x0
|
|
|
|
|
0x0
|
|
|
|
|
/begin CHECKSUM
|
|
|
|
|
XCP_ADD_12
|
|
|
|
|
/end CHECKSUM
|
|
|
|
|
/begin PAGE
|
|
|
|
|
0x0
|
|
|
|
|
ECU_ACCESS_WITH_XCP_ONLY
|
|
|
|
|
XCP_READ_ACCESS_WITH_ECU_ONLY
|
|
|
|
|
XCP_WRITE_ACCESS_NOT_ALLOWED
|
|
|
|
|
/end PAGE
|
|
|
|
|
/begin PAGE
|
|
|
|
|
0x1
|
|
|
|
|
ECU_ACCESS_WITH_XCP_ONLY
|
|
|
|
|
XCP_READ_ACCESS_WITH_ECU_ONLY
|
|
|
|
|
XCP_WRITE_ACCESS_WITH_ECU_ONLY
|
|
|
|
|
/end PAGE
|
|
|
|
|
// /begin ADDRESS_MAPPING 0x0 0x8000 0x8000 /end ADDRESS_MAPPING
|
|
|
|
|
/end SEGMENT
|
|
|
|
|
/end IF_DATA
|
|
|
|
|
/end MEMORY_SEGMENT
|
|
|
|
|
/end MOD_PAR
|
|
|
|
|
|
|
|
|
|
/begin IF_DATA CANAPE_ADDRESS_UPDATE
|
|
|
|
|
EPK_ADDRESS
|
|
|
|
|
"EpromIdentifier"
|
|
|
|
|
0
|
|
|
|
|
/begin CALIBRATION_METHOD AUTOSAR_SINGLE_POINTERED
|
|
|
|
|
"Pointer_Table_Work_RAM"
|
|
|
|
|
0
|
|
|
|
|
ORIGINAL_POINTER_TABLE
|
|
|
|
|
"Pointer_Table_Base"
|
|
|
|
|
0
|
|
|
|
|
/end CALIBRATION_METHOD
|
|
|
|
|
/begin CALIBRATION_METHOD InCircuit2
|
|
|
|
|
"Pointer_Table_Work_FLASH"
|
|
|
|
|
0
|
|
|
|
|
ORIGINAL_POINTER_TABLE
|
|
|
|
|
"Pointer_Table_Base"
|
|
|
|
|
0
|
|
|
|
|
FLASH_SECTION
|
|
|
|
|
0
|
|
|
|
|
0x10000
|
|
|
|
|
/end CALIBRATION_METHOD
|
|
|
|
|
/begin MEMORY_SEGMENT
|
|
|
|
|
"CALRAM"
|
|
|
|
|
FIRST
|
|
|
|
|
"CALRAM_START"
|
|
|
|
|
0
|
|
|
|
|
LAST
|
|
|
|
|
"CALRAM_LAST"
|
|
|
|
|
0
|
|
|
|
|
/end MEMORY_SEGMENT
|
|
|
|
|
/end IF_DATA
|
|
|
|
|
|
|
|
|
|
/begin IF_DATA ASAP1B_CCP
|
|
|
|
|
/begin SOURCE
|
|
|
|
|
"1 ms"
|
|
|
|
|
3
|
|
|
|
|
1
|
|
|
|
|
/begin QP_BLOB
|
|
|
|
|
1
|
|
|
|
|
LENGTH 10
|
|
|
|
|
CAN_ID_FIXED 0x710
|
|
|
|
|
RASTER 0
|
|
|
|
|
/end QP_BLOB
|
|
|
|
|
/end SOURCE
|
|
|
|
|
/begin SOURCE
|
|
|
|
|
"10 ms"
|
|
|
|
|
4
|
|
|
|
|
1
|
|
|
|
|
/begin QP_BLOB
|
|
|
|
|
2
|
|
|
|
|
LENGTH 10
|
|
|
|
|
CAN_ID_FIXED 0x720
|
|
|
|
|
RASTER 1
|
|
|
|
|
/end QP_BLOB
|
|
|
|
|
/end SOURCE
|
|
|
|
|
/begin SOURCE
|
|
|
|
|
"100"
|
|
|
|
|
5
|
|
|
|
|
1
|
|
|
|
|
/begin QP_BLOB
|
|
|
|
|
3
|
|
|
|
|
LENGTH 100
|
|
|
|
|
CAN_ID_FIXED 0x728
|
|
|
|
|
RASTER 2
|
|
|
|
|
/end QP_BLOB
|
|
|
|
|
/end SOURCE
|
|
|
|
|
/begin RASTER
|
|
|
|
|
"1 ms"
|
|
|
|
|
"1_ms"
|
|
|
|
|
0
|
|
|
|
|
3
|
|
|
|
|
1
|
|
|
|
|
/end RASTER
|
|
|
|
|
/begin RASTER
|
|
|
|
|
"10 ms"
|
|
|
|
|
"10_ms"
|
|
|
|
|
1
|
|
|
|
|
4
|
|
|
|
|
1
|
|
|
|
|
/end RASTER
|
|
|
|
|
/begin RASTER
|
|
|
|
|
"100 ms"
|
|
|
|
|
"100_ms"
|
|
|
|
|
2
|
|
|
|
|
5
|
|
|
|
|
1
|
|
|
|
|
/end RASTER
|
|
|
|
|
/begin SEED_KEY
|
|
|
|
|
/* seed&key dll for CAL privilege */ ""
|
|
|
|
|
/* seed&key dll for DAQ privilege */ ""
|
|
|
|
|
/* seed&key dll for PGM privilege */ ""
|
|
|
|
|
/end SEED_KEY
|
|
|
|
|
/begin TP_BLOB
|
|
|
|
|
/* CCP version */ 0x201
|
|
|
|
|
/* Blob version */ 0x202
|
|
|
|
|
/* CAN msg ID - recv */ 0x7ef
|
|
|
|
|
/* CAN msg ID - send */ 0x7ee
|
|
|
|
|
/* station address */ 0x1234
|
|
|
|
|
/* byte order */ 2
|
|
|
|
|
BAUDRATE 1000000
|
|
|
|
|
DAQ_MODE BURST
|
|
|
|
|
CONSISTENCY DAQ
|
|
|
|
|
/begin CHECKSUM_PARAM
|
|
|
|
|
/* algorithm */ 0x8001 /* M_16_BIT_BY_ADD8 */
|
|
|
|
|
/* limit */ 0xFFFFFFFF
|
|
|
|
|
CHECKSUM_CALCULATION BIT_OR_WITH_OPT_PAGE
|
|
|
|
|
/end CHECKSUM_PARAM
|
|
|
|
|
/begin DEFINED_PAGES
|
|
|
|
|
1
|
|
|
|
|
"reference page"
|
|
|
|
|
/* address ext. */ 0x00
|
|
|
|
|
/* base address */ 0x0
|
|
|
|
|
/* page length */ 0x8000
|
|
|
|
|
FLASH
|
|
|
|
|
/end DEFINED_PAGES
|
|
|
|
|
/begin DEFINED_PAGES
|
|
|
|
|
2
|
|
|
|
|
"working page"
|
|
|
|
|
/* address ext. */ 0x00
|
|
|
|
|
/* base address */ 0x00008000
|
|
|
|
|
/* page length */ 0x8000
|
|
|
|
|
RAM
|
|
|
|
|
FLASH_BACK
|
|
|
|
|
RAM_INIT_BY_ECU
|
|
|
|
|
/end DEFINED_PAGES
|
|
|
|
|
OPTIONAL_CMD 0x12 /* GET_SEED */
|
|
|
|
|
OPTIONAL_CMD 0x13 /* UNLOCK */
|
|
|
|
|
OPTIONAL_CMD 0x23 /* DNLOAD_6 */
|
|
|
|
|
OPTIONAL_CMD 0x0F /* SHORT_UP */
|
|
|
|
|
OPTIONAL_CMD 0x11 /* SELECT_CAL_PAGE */
|
|
|
|
|
OPTIONAL_CMD 0x0C /* SET_S_STATUS */
|
|
|
|
|
OPTIONAL_CMD 0x0D /* GET_S_STATUS */
|
|
|
|
|
OPTIONAL_CMD 0x0E /* BUILD_CHKSUM */
|
|
|
|
|
OPTIONAL_CMD 0x10 /* CLEAR_MEMORY */
|
|
|
|
|
OPTIONAL_CMD 0x18 /* PROGRAM */
|
|
|
|
|
OPTIONAL_CMD 0x22 /* PROGRAM_6 */
|
|
|
|
|
OPTIONAL_CMD 0x19 /* MOVE */
|
|
|
|
|
OPTIONAL_CMD 0x05 /* TEST */
|
|
|
|
|
OPTIONAL_CMD 0x09 /* GET_ACTIVE_CAL_PAGE */
|
|
|
|
|
OPTIONAL_CMD 0x08 /* START_STOP_ALL */
|
|
|
|
|
OPTIONAL_CMD 0x20 /* DIAG_SERVICE */
|
|
|
|
|
/end TP_BLOB
|
|
|
|
|
/end IF_DATA
|
|
|
|
|
|
|
|
|
|
/begin IF_DATA XCP
|
|
|
|
|
/begin PROTOCOL_LAYER
|
|
|
|
|
0x100
|
|
|
|
|
100 1000 1000 1000 1000 0 0
|
|
|
|
|
0xFF
|
|
|
|
|
0x400
|
|
|
|
|
BYTE_ORDER_MSB_LAST
|
|
|
|
|
ADDRESS_GRANULARITY_BYTE
|
|
|
|
|
OPTIONAL_CMD PROGRAM_PREPARE
|
|
|
|
|
OPTIONAL_CMD GET_DAQ_RESOLUTION_INFO
|
|
|
|
|
OPTIONAL_CMD GET_DAQ_PROCESSOR_INFO
|
|
|
|
|
OPTIONAL_CMD GET_DAQ_CLOCK
|
|
|
|
|
OPTIONAL_CMD GET_DAQ_LIST_MODE
|
|
|
|
|
OPTIONAL_CMD WRITE_DAQ_MULTIPLE
|
|
|
|
|
OPTIONAL_CMD COPY_CAL_PAGE
|
|
|
|
|
OPTIONAL_CMD GET_CAL_PAGE
|
|
|
|
|
OPTIONAL_CMD SET_CAL_PAGE
|
|
|
|
|
OPTIONAL_CMD GET_PAG_PROCESSOR_INFO
|
|
|
|
|
OPTIONAL_CMD SHORT_DOWNLOAD
|
|
|
|
|
OPTIONAL_CMD DOWNLOAD_NEXT
|
|
|
|
|
OPTIONAL_CMD DOWNLOAD_MAX
|
|
|
|
|
OPTIONAL_CMD PROGRAM_NEXT
|
|
|
|
|
OPTIONAL_CMD PROGRAM_MAX
|
|
|
|
|
OPTIONAL_CMD BUILD_CHECKSUM
|
|
|
|
|
OPTIONAL_CMD SHORT_UPLOAD
|
|
|
|
|
OPTIONAL_CMD UPLOAD
|
|
|
|
|
OPTIONAL_CMD SET_MTA
|
|
|
|
|
OPTIONAL_CMD GET_SEED
|
|
|
|
|
OPTIONAL_CMD UNLOCK
|
|
|
|
|
OPTIONAL_CMD GET_ID
|
|
|
|
|
COMMUNICATION_MODE_SUPPORTED BLOCK SLAVE MASTER 0x2A 0x00
|
|
|
|
|
/* SEED_AND_KEY_EXTERNAL_FUNCTION "C:\somewhere.dll" */
|
|
|
|
|
/end PROTOCOL_LAYER
|
|
|
|
|
/begin DAQ
|
|
|
|
|
DYNAMIC
|
|
|
|
|
0x4
|
|
|
|
|
0x4
|
|
|
|
|
0x0
|
|
|
|
|
OPTIMISATION_TYPE_DEFAULT
|
|
|
|
|
ADDRESS_EXTENSION_FREE
|
|
|
|
|
IDENTIFICATION_FIELD_TYPE_RELATIVE_BYTE
|
|
|
|
|
GRANULARITY_ODT_ENTRY_SIZE_DAQ_BYTE
|
|
|
|
|
0xF8
|
|
|
|
|
OVERLOAD_INDICATION_PID
|
|
|
|
|
/begin STIM
|
|
|
|
|
GRANULARITY_ODT_ENTRY_SIZE_STIM_BYTE
|
|
|
|
|
0xF8
|
|
|
|
|
/end STIM
|
|
|
|
|
/begin TIMESTAMP_SUPPORTED
|
|
|
|
|
0x1
|
|
|
|
|
SIZE_DWORD
|
|
|
|
|
UNIT_10US
|
|
|
|
|
/end TIMESTAMP_SUPPORTED
|
|
|
|
|
/begin DAQ_LIST
|
|
|
|
|
0
|
|
|
|
|
DAQ_LIST_TYPE DAQ
|
|
|
|
|
MAX_ODT 2
|
|
|
|
|
MAX_ODT_ENTRIES 2
|
|
|
|
|
EVENT_FIXED 0
|
|
|
|
|
|
|
|
|
|
/begin PREDEFINED
|
|
|
|
|
/begin ODT 0
|
|
|
|
|
ODT_ENTRY 0 0x4000 0x00 0x01 0xFF
|
|
|
|
|
ODT_ENTRY 1 0x4001 0x00 0x01 0xFF
|
|
|
|
|
/end ODT
|
|
|
|
|
/end PREDEFINED
|
|
|
|
|
|
|
|
|
|
/end DAQ_LIST
|
|
|
|
|
/begin DAQ_LIST
|
|
|
|
|
1
|
|
|
|
|
DAQ_LIST_TYPE DAQ
|
|
|
|
|
MAX_ODT 2
|
|
|
|
|
MAX_ODT_ENTRIES 5
|
|
|
|
|
EVENT_FIXED 1
|
|
|
|
|
/end DAQ_LIST
|
|
|
|
|
/begin EVENT
|
|
|
|
|
"100 ms"
|
|
|
|
|
"100 ms"
|
|
|
|
|
0
|
|
|
|
|
DAQ
|
|
|
|
|
1
|
|
|
|
|
100
|
|
|
|
|
6
|
|
|
|
|
0
|
|
|
|
|
/end EVENT
|
|
|
|
|
/begin EVENT
|
|
|
|
|
"10 ms"
|
|
|
|
|
"10 ms"
|
|
|
|
|
1
|
|
|
|
|
DAQ
|
|
|
|
|
1
|
|
|
|
|
10
|
|
|
|
|
6
|
|
|
|
|
0
|
|
|
|
|
/end EVENT
|
|
|
|
|
/begin EVENT
|
|
|
|
|
"1 ms"
|
|
|
|
|
"1 ms"
|
|
|
|
|
2
|
|
|
|
|
DAQ
|
|
|
|
|
1
|
|
|
|
|
1
|
|
|
|
|
6
|
|
|
|
|
0
|
|
|
|
|
/end EVENT
|
|
|
|
|
/begin EVENT
|
|
|
|
|
"free"
|
|
|
|
|
"free"
|
|
|
|
|
3
|
|
|
|
|
DAQ
|
|
|
|
|
1
|
|
|
|
|
0
|
|
|
|
|
0
|
|
|
|
|
0
|
|
|
|
|
/end EVENT
|
|
|
|
|
/end DAQ
|
|
|
|
|
/begin PAG
|
|
|
|
|
0x1
|
|
|
|
|
FREEZE_SUPPORTED
|
|
|
|
|
/end PAG
|
|
|
|
|
/begin PGM
|
|
|
|
|
PGM_MODE_ABSOLUTE
|
|
|
|
|
0x14 0xff
|
|
|
|
|
COMMUNICATION_MODE_SUPPORTED BLOCK SLAVE MASTER 0x2A 0x00
|
|
|
|
|
/begin SECTOR
|
|
|
|
|
"Sector"
|
|
|
|
|
0x0 0xA0000000 0x20000
|
|
|
|
|
0x0 0x0 0x0
|
|
|
|
|
/end SECTOR
|
|
|
|
|
/begin SECTOR
|
|
|
|
|
"Sector"
|
|
|
|
|
0x1 0xA0020000 0x20000
|
|
|
|
|
0x0 0x0 0x0
|
|
|
|
|
/end SECTOR
|
|
|
|
|
/begin SECTOR
|
|
|
|
|
"Sector"
|
|
|
|
|
0x2 0xA0040000 0x40000
|
|
|
|
|
0x0 0x0 0x0
|
|
|
|
|
/end SECTOR
|
|
|
|
|
/begin SECTOR
|
|
|
|
|
"Sector"
|
|
|
|
|
0x3 0xA0080000 0x40000
|
|
|
|
|
0x0 0x0 0x0
|
|
|
|
|
/end SECTOR
|
|
|
|
|
/begin SECTOR
|
|
|
|
|
"Sector"
|
|
|
|
|
0x4 0xA00C0000 0x40000
|
|
|
|
|
0x0 0x0 0x0
|
|
|
|
|
/end SECTOR
|
|
|
|
|
/begin SECTOR
|
|
|
|
|
"Sector"
|
|
|
|
|
0x5 0xA0100000 0x40000
|
|
|
|
|
0x0 0x0 0x0
|
|
|
|
|
/end SECTOR
|
|
|
|
|
/begin SECTOR
|
|
|
|
|
"Sector"
|
|
|
|
|
0x6 0xA0140000 0x40000
|
|
|
|
|
0x0 0x0 0x0
|
|
|
|
|
/end SECTOR
|
|
|
|
|
/begin SECTOR
|
|
|
|
|
"Sector"
|
|
|
|
|
0x7 0xA0180000 0x40000
|
|
|
|
|
0x0 0x0 0x0
|
|
|
|
|
/end SECTOR
|
|
|
|
|
/begin SECTOR
|
|
|
|
|
"Sector"
|
|
|
|
|
0x8 0xA01C0000 0x40000
|
|
|
|
|
0x0 0x0 0x0
|
|
|
|
|
/end SECTOR
|
|
|
|
|
/begin SECTOR
|
|
|
|
|
"Sector"
|
|
|
|
|
0x9 0xA01C0000 0x40000
|
|
|
|
|
0x0 0x0 0x0
|
|
|
|
|
/end SECTOR
|
|
|
|
|
/begin SECTOR
|
|
|
|
|
"Sector"
|
|
|
|
|
0xA 0xA0200000 0x10000
|
|
|
|
|
0x0 0x0 0x0
|
|
|
|
|
/end SECTOR
|
|
|
|
|
/begin SECTOR
|
|
|
|
|
"Sector"
|
|
|
|
|
0xB 0xA0210000 0x10000
|
|
|
|
|
0x0 0x0 0x0
|
|
|
|
|
/end SECTOR
|
|
|
|
|
/begin SECTOR
|
|
|
|
|
"Sector"
|
|
|
|
|
0xC 0xA0220000 0x20000
|
|
|
|
|
0x0 0x0 0x0
|
|
|
|
|
/end SECTOR
|
|
|
|
|
/begin SECTOR
|
|
|
|
|
"Sector"
|
|
|
|
|
0xD 0xA0240000 0x40000
|
|
|
|
|
0x0 0x0 0x0
|
|
|
|
|
/end SECTOR
|
|
|
|
|
/begin SECTOR
|
|
|
|
|
"Sector"
|
|
|
|
|
0xE 0xA0280000 0x40000
|
|
|
|
|
0x0 0x0 0x0
|
|
|
|
|
/end SECTOR
|
|
|
|
|
/begin SECTOR
|
|
|
|
|
"Sector"
|
|
|
|
|
0xF 0xA02C0000 0x40000
|
|
|
|
|
0x0 0x0 0x0
|
|
|
|
|
/end SECTOR
|
|
|
|
|
/begin SECTOR
|
|
|
|
|
"Sector"
|
|
|
|
|
0x10 0xA0300000 0x40000
|
|
|
|
|
0x0 0x0 0x0
|
|
|
|
|
/end SECTOR
|
|
|
|
|
/begin SECTOR
|
|
|
|
|
"Sector"
|
|
|
|
|
0x11 0xA0340000 0x40000
|
|
|
|
|
0x0 0x0 0x0
|
|
|
|
|
/end SECTOR
|
|
|
|
|
/begin SECTOR
|
|
|
|
|
"Sector"
|
|
|
|
|
0x12 0xA0380000 0x40000
|
|
|
|
|
0x0 0x0 0x0
|
|
|
|
|
/end SECTOR
|
|
|
|
|
/begin SECTOR
|
|
|
|
|
"Sector"
|
|
|
|
|
0x13 0xA03C0000 0x40000
|
|
|
|
|
0x0 0x0 0x0
|
|
|
|
|
/end SECTOR
|
|
|
|
|
/end PGM
|
|
|
|
|
/begin XCP_ON_TCP_IP
|
|
|
|
|
0x100
|
|
|
|
|
1800
|
|
|
|
|
ADDRESS "192.168.0.2"
|
|
|
|
|
/end XCP_ON_TCP_IP
|
|
|
|
|
/begin XCP_ON_UDP_IP
|
|
|
|
|
0x100
|
|
|
|
|
21000
|
|
|
|
|
ADDRESS "192.168.0.2"
|
|
|
|
|
/end XCP_ON_UDP_IP
|
|
|
|
|
|
|
|
|
|
/begin XCP_ON_SxI
|
|
|
|
|
0x0104
|
|
|
|
|
115200
|
|
|
|
|
ASYNCH_FULL_DUPLEX_MODE PARITY_NONE ONE_STOP_BIT
|
|
|
|
|
/begin FRAMING
|
|
|
|
|
0x01 0x27
|
|
|
|
|
/end FRAMING
|
|
|
|
|
SYNCH_FULL_DUPLEX_MODE_DWORD
|
|
|
|
|
SYNCH_MASTER_SLAVE_MODE_DWORD
|
|
|
|
|
HEADER_LEN_FILL_WORD
|
|
|
|
|
CHECKSUM_WORD
|
|
|
|
|
/end XCP_ON_SxI
|
|
|
|
|
|
|
|
|
|
/begin XCP_ON_CAN
|
|
|
|
|
0x100
|
|
|
|
|
CAN_ID_MASTER 0xDBFFB610
|
|
|
|
|
CAN_ID_SLAVE 0xDBFFB611
|
|
|
|
|
// CAN_ID_BROADCAST 0x100
|
|
|
|
|
BAUDRATE 1000000
|
|
|
|
|
SAMPLE_POINT 75
|
|
|
|
|
SAMPLE_RATE SINGLE
|
|
|
|
|
BTL_CYCLES 8
|
|
|
|
|
SJW 0x2
|
|
|
|
|
MAX_DLC_REQUIRED
|
|
|
|
|
SYNC_EDGE SINGLE
|
|
|
|
|
/begin DAQ_LIST_CAN_ID
|
|
|
|
|
0
|
|
|
|
|
FIXED 0x80000310
|
|
|
|
|
/end DAQ_LIST_CAN_ID
|
|
|
|
|
/begin DAQ_LIST_CAN_ID
|
|
|
|
|
1
|
|
|
|
|
FIXED 0x80000320
|
|
|
|
|
/end DAQ_LIST_CAN_ID
|
|
|
|
|
/begin DAQ_LIST_CAN_ID
|
|
|
|
|
2
|
|
|
|
|
FIXED 0x80000330
|
|
|
|
|
/end DAQ_LIST_CAN_ID
|
|
|
|
|
/begin DAQ_LIST_CAN_ID
|
|
|
|
|
3
|
|
|
|
|
FIXED 0x80000340
|
|
|
|
|
/end DAQ_LIST_CAN_ID
|
|
|
|
|
/begin EVENT_CAN_ID_LIST
|
|
|
|
|
0x00
|
|
|
|
|
FIXED 0x00000778
|
|
|
|
|
/end EVENT_CAN_ID_LIST
|
|
|
|
|
/begin EVENT_CAN_ID_LIST
|
|
|
|
|
0x01
|
|
|
|
|
FIXED 0x00000779
|
|
|
|
|
/end EVENT_CAN_ID_LIST
|
|
|
|
|
/begin EVENT_CAN_ID_LIST
|
|
|
|
|
0x02
|
|
|
|
|
FIXED 0x0000077A
|
|
|
|
|
/end EVENT_CAN_ID_LIST
|
|
|
|
|
/begin EVENT_CAN_ID_LIST
|
|
|
|
|
0x03
|
|
|
|
|
FIXED 0x0000077B FIXED 0x077C
|
|
|
|
|
/end EVENT_CAN_ID_LIST
|
|
|
|
|
/begin PROTOCOL_LAYER
|
|
|
|
|
0x100
|
|
|
|
|
100 1000 1000 1000 1000 0 0
|
|
|
|
|
0x08
|
|
|
|
|
0x08
|
|
|
|
|
/end PROTOCOL_LAYER
|
|
|
|
|
/*
|
|
|
|
|
/begin CAN_FD
|
|
|
|
|
MAX_DLC 64
|
|
|
|
|
CAN_FD_DATA_TRANSFER_BAUDRATE 4000000
|
|
|
|
|
MAX_DLC_REQUIRED
|
|
|
|
|
/end CAN_FD
|
|
|
|
|
*/
|
|
|
|
|
/end XCP_ON_CAN
|
|
|
|
|
/begin XCP_ON_USB
|
|
|
|
|
0x100
|
|
|
|
|
0x108C
|
|
|
|
|
0xEDC
|
|
|
|
|
2
|
|
|
|
|
HEADER_LEN_FILL_WORD
|
|
|
|
|
/begin OUT_EP_CMD_STIM
|
|
|
|
|
0x1
|
|
|
|
|
BULK_TRANSFER
|
|
|
|
|
0x40
|
|
|
|
|
0
|
|
|
|
|
MESSAGE_PACKING_SINGLE
|
|
|
|
|
ALIGNMENT_32_BIT
|
|
|
|
|
/end OUT_EP_CMD_STIM
|
|
|
|
|
/begin IN_EP_RESERR_DAQ_EVSERV
|
|
|
|
|
0x1
|
|
|
|
|
BULK_TRANSFER
|
|
|
|
|
0x40
|
|
|
|
|
0
|
|
|
|
|
MESSAGE_PACKING_SINGLE
|
|
|
|
|
ALIGNMENT_32_BIT
|
|
|
|
|
/end IN_EP_RESERR_DAQ_EVSERV
|
|
|
|
|
/begin OUT_EP_ONLY_STIM
|
|
|
|
|
0x2
|
|
|
|
|
BULK_TRANSFER
|
|
|
|
|
0x40
|
|
|
|
|
0
|
|
|
|
|
MESSAGE_PACKING_MULTIPLE
|
|
|
|
|
ALIGNMENT_32_BIT
|
|
|
|
|
/end OUT_EP_ONLY_STIM
|
|
|
|
|
/begin IN_EP_ONLY_DAQ
|
|
|
|
|
0x2
|
|
|
|
|
BULK_TRANSFER
|
|
|
|
|
0x40
|
|
|
|
|
0
|
|
|
|
|
MESSAGE_PACKING_STREAMING
|
|
|
|
|
ALIGNMENT_32_BIT
|
|
|
|
|
/end IN_EP_ONLY_DAQ
|
|
|
|
|
/begin IN_EP_ONLY_EVSERV
|
|
|
|
|
0x3
|
|
|
|
|
INTERRUPT_TRANSFER
|
|
|
|
|
0x40
|
|
|
|
|
16
|
|
|
|
|
MESSAGE_PACKING_SINGLE
|
|
|
|
|
ALIGNMENT_32_BIT
|
|
|
|
|
/end IN_EP_ONLY_EVSERV
|
|
|
|
|
/begin DAQ_LIST_USB_ENDPOINT
|
|
|
|
|
0x0
|
|
|
|
|
/end DAQ_LIST_USB_ENDPOINT
|
|
|
|
|
/begin DAQ_LIST_USB_ENDPOINT
|
|
|
|
|
0x1
|
|
|
|
|
/end DAQ_LIST_USB_ENDPOINT
|
|
|
|
|
/begin DAQ_LIST_USB_ENDPOINT
|
|
|
|
|
0x2
|
|
|
|
|
/end DAQ_LIST_USB_ENDPOINT
|
|
|
|
|
/end XCP_ON_USB
|
|
|
|
|
/end IF_DATA
|
|
|
|
|
|
|
|
|
|
/begin MOD_COMMON
|
|
|
|
|
"Characteristic maps always deposited in same mode"
|
|
|
|
|
BYTE_ORDER MSB_LAST
|
|
|
|
|
DEPOSIT ABSOLUTE
|
|
|
|
|
DATA_SIZE 16
|
|
|
|
|
ALIGNMENT_BYTE 1
|
|
|
|
|
ALIGNMENT_WORD 2
|
|
|
|
|
ALIGNMENT_LONG 4
|
|
|
|
|
ALIGNMENT_FLOAT32_IEEE 4
|
|
|
|
|
ALIGNMENT_FLOAT64_IEEE 4
|
|
|
|
|
ALIGNMENT_INT64 8
|
|
|
|
|
/end MOD_COMMON
|
|
|
|
|
|
|
|
|
|
/begin CHARACTERISTIC SINGLE_BIG_VALUE
|
|
|
|
|
"SINGLE_BIG_VALUE description"
|
|
|
|
|
VALUE
|
|
|
|
|
0x1004
|
|
|
|
|
_LONG
|
|
|
|
|
0
|
|
|
|
|
BIGVALUES
|
|
|
|
|
0 100000
|
|
|
|
|
PHYS_UNIT "m/s"
|
|
|
|
|
/begin ANNOTATION
|
|
|
|
|
ANNOTATION_ORIGIN "SINGLE_BIG_VALUE annotation origin"
|
|
|
|
|
ANNOTATION_LABEL "SINGLE_BIG_VALUE annotation label"
|
|
|
|
|
/begin ANNOTATION_TEXT
|
|
|
|
|
"SINGLE_BIG_VALUE annotation text"
|
|
|
|
|
/end ANNOTATION_TEXT
|
|
|
|
|
/end ANNOTATION
|
|
|
|
|
SYMBOL_LINK "Link_To_Variable" 0
|
|
|
|
|
MODEL_LINK "system/sub-system/object.name"
|
|
|
|
|
/end CHARACTERISTIC
|
|
|
|
|
|
|
|
|
|
/begin CHARACTERISTIC SINGLE_VALUE_LINEAR
|
|
|
|
|
"SINGLE_VALUE_LINEAR description"
|
|
|
|
|
VALUE
|
|
|
|
|
0x800
|
|
|
|
|
_UBYTE
|
|
|
|
|
0
|
|
|
|
|
LINEAR
|
|
|
|
|
0 1000
|
|
|
|
|
/end CHARACTERISTIC
|
|
|
|
|
|
|
|
|
|
/begin CHARACTERISTIC SINGLE_VALUE
|
|
|
|
|
"SINGLE_VALUE description"
|
|
|
|
|
VALUE
|
|
|
|
|
0x1000
|
|
|
|
|
_LONG
|
|
|
|
|
0
|
|
|
|
|
SMALLVALUES
|
|
|
|
|
0.2 0.8
|
|
|
|
|
FORMAT "%8.4"
|
|
|
|
|
PHYS_UNIT "m/s"
|
|
|
|
|
EXTENDED_LIMITS 0 1
|
|
|
|
|
/end CHARACTERISTIC
|
|
|
|
|
|
|
|
|
|
/begin CHARACTERISTIC SINGLE_VALUE_ADAPTIVE
|
|
|
|
|
"SINGLE_VALUE adaptive description"
|
|
|
|
|
VALUE
|
|
|
|
|
0x1000
|
|
|
|
|
_LONG
|
|
|
|
|
0
|
|
|
|
|
SMALLVALUES
|
|
|
|
|
0.2 0.8
|
|
|
|
|
MAX_REFRESH 6 30
|
|
|
|
|
FORMAT "%8.4"
|
|
|
|
|
PHYS_UNIT "m/s"
|
|
|
|
|
READ_ONLY
|
|
|
|
|
EXTENDED_LIMITS 0 1
|
|
|
|
|
/end CHARACTERISTIC
|
|
|
|
|
|
|
|
|
|
/begin CHARACTERISTIC SINGLE_VERBAL
|
|
|
|
|
"SINGLE_VERBAL description"
|
|
|
|
|
VALUE
|
|
|
|
|
0x32
|
|
|
|
|
_UBYTE
|
|
|
|
|
0
|
|
|
|
|
VERBAL
|
|
|
|
|
0 255
|
|
|
|
|
/end CHARACTERISTIC
|
|
|
|
|
|
|
|
|
|
/begin CHARACTERISTIC SINGLE_VERBAL_RANGE
|
|
|
|
|
"SINGLE_VERBAL_RANGE description"
|
|
|
|
|
VALUE
|
|
|
|
|
0x33
|
|
|
|
|
_UBYTE
|
|
|
|
|
0
|
|
|
|
|
RANGE_BYTE
|
|
|
|
|
0 255
|
|
|
|
|
/end CHARACTERISTIC
|
|
|
|
|
|
|
|
|
|
/begin CHARACTERISTIC EPKID
|
|
|
|
|
"EEPROM identifier"
|
|
|
|
|
ASCII
|
|
|
|
|
0x0
|
|
|
|
|
_UBYTE
|
|
|
|
|
0
|
|
|
|
|
IDENTITY
|
|
|
|
|
0 255
|
|
|
|
|
NUMBER 32
|
|
|
|
|
ENCODING UTF8
|
|
|
|
|
/begin IF_DATA ASAP1B_CCP DP_BLOB 0x00 0x00 32 /end IF_DATA
|
|
|
|
|
/end CHARACTERISTIC
|
|
|
|
|
|
|
|
|
|
/begin CHARACTERISTIC VAL_BLK_NUMERIC
|
|
|
|
|
"VAL_BLK_NUMERIC description"
|
|
|
|
|
VAL_BLK
|
|
|
|
|
0x33
|
|
|
|
|
_UBYTE
|
|
|
|
|
0
|
|
|
|
|
IDENTITY
|
|
|
|
|
0 255
|
|
|
|
|
NUMBER 31
|
|
|
|
|
/end CHARACTERISTIC
|
|
|
|
|
|
|
|
|
|
/begin CHARACTERISTIC VAL_BLK_VERBAL
|
|
|
|
|
"VAL_BLK_VERBAL description"
|
|
|
|
|
VAL_BLK
|
|
|
|
|
0x33
|
|
|
|
|
_UBYTE
|
|
|
|
|
0
|
|
|
|
|
VERBAL
|
|
|
|
|
0 255
|
|
|
|
|
NUMBER 31
|
|
|
|
|
/end CHARACTERISTIC
|
|
|
|
|
|
|
|
|
|
/begin RECORD_LAYOUT RL_DEMO_CURVE_AXIS
|
|
|
|
|
NO_AXIS_PTS_X 1 UWORD
|
|
|
|
|
AXIS_PTS_X 2 UWORD INDEX_INCR DIRECT
|
|
|
|
|
/end RECORD_LAYOUT
|
|
|
|
|
|
|
|
|
|
/begin AXIS_PTS
|
|
|
|
|
DEMO_CURVE_AXIS
|
|
|
|
|
"DEMO_CURVE_AXIS Description"
|
|
|
|
|
0x300
|
|
|
|
|
NO_INPUT_QUANTITY
|
|
|
|
|
RL_DEMO_CURVE_AXIS
|
|
|
|
|
1
|
|
|
|
|
IDENTITY
|
|
|
|
|
7
|
|
|
|
|
0
|
|
|
|
|
6553.5
|
|
|
|
|
DEPOSIT ABSOLUTE
|
|
|
|
|
/end AXIS_PTS
|
|
|
|
|
|
|
|
|
|
/begin RECORD_LAYOUT RL_DEMO_CURVE_REF_AXIS
|
|
|
|
|
FNC_VALUES 1 UWORD COLUMN_DIR DIRECT
|
|
|
|
|
/end RECORD_LAYOUT
|
|
|
|
|
|
|
|
|
|
/begin CHARACTERISTIC DEMO_CURVE_REF_AXIS
|
|
|
|
|
"DEMO_CURVE_REF_AXIS Description"
|
|
|
|
|
CURVE
|
|
|
|
|
0x200
|
|
|
|
|
RL_DEMO_CURVE_REF_AXIS
|
|
|
|
|
1
|
|
|
|
|
IDENTITY
|
|
|
|
|
0
|
|
|
|
|
1000
|
|
|
|
|
FORMAT "%10.4"
|
|
|
|
|
/begin AXIS_DESCR
|
|
|
|
|
COM_AXIS
|
|
|
|
|
NO_INPUT_QUANTITY
|
|
|
|
|
IDENTITY
|
|
|
|
|
7
|
|
|
|
|
0
|
|
|
|
|
6553.5
|
|
|
|
|
AXIS_PTS_REF DEMO_CURVE_AXIS
|
|
|
|
|
/end AXIS_DESCR
|
|
|
|
|
/end CHARACTERISTIC
|
|
|
|
|
|
|
|
|
|
/begin CHARACTERISTIC DEMO_CURVE
|
|
|
|
|
"CURVE description"
|
|
|
|
|
CURVE
|
|
|
|
|
0x64
|
|
|
|
|
CURVE_LAYOUT
|
|
|
|
|
0
|
|
|
|
|
IDENTITY
|
|
|
|
|
0 100
|
|
|
|
|
EXTENDED_LIMITS 0 255
|
|
|
|
|
/begin AXIS_DESCR
|
|
|
|
|
FIX_AXIS
|
|
|
|
|
revolution
|
|
|
|
|
NO_COMPU_METHOD
|
|
|
|
|
11
|
|
|
|
|
0 20000
|
|
|
|
|
FORMAT "%4.0"
|
|
|
|
|
PHYS_UNIT "rpm"
|
|
|
|
|
FIX_AXIS_PAR_DIST 0 2000 11
|
|
|
|
|
/end AXIS_DESCR
|
|
|
|
|
/begin ANNOTATION
|
|
|
|
|
ANNOTATION_LABEL "Calibration Note"
|
|
|
|
|
/begin ANNOTATION_TEXT
|
|
|
|
|
"Calibration Text"
|
|
|
|
|
/end ANNOTATION_TEXT
|
|
|
|
|
/end ANNOTATION
|
|
|
|
|
/end CHARACTERISTIC
|
|
|
|
|
|
|
|
|
|
/begin CHARACTERISTIC DEMO_MAP
|
|
|
|
|
"MAP description"
|
|
|
|
|
MAP
|
|
|
|
|
0x7C
|
|
|
|
|
MAP_LAYOUT
|
|
|
|
|
0
|
|
|
|
|
IDENTITY
|
|
|
|
|
0 100
|
|
|
|
|
EXTENDED_LIMITS 0 255
|
|
|
|
|
/begin AXIS_DESCR
|
|
|
|
|
FIX_AXIS
|
|
|
|
|
revolution
|
|
|
|
|
NO_COMPU_METHOD
|
|
|
|
|
11
|
|
|
|
|
0 20000
|
|
|
|
|
FORMAT "%4.0"
|
|
|
|
|
PHYS_UNIT "rpm"
|
|
|
|
|
FIX_AXIS_PAR_DIST 0 2000 11
|
|
|
|
|
/end AXIS_DESCR
|
|
|
|
|
/begin AXIS_DESCR
|
|
|
|
|
FIX_AXIS
|
|
|
|
|
speed
|
|
|
|
|
NO_COMPU_METHOD
|
|
|
|
|
11
|
|
|
|
|
0 360
|
|
|
|
|
FORMAT "%8.2"
|
|
|
|
|
PHYS_UNIT "mph"
|
|
|
|
|
FIX_AXIS_PAR_DIST 0 36 11
|
|
|
|
|
/end AXIS_DESCR
|
|
|
|
|
/begin ANNOTATION
|
|
|
|
|
ANNOTATION_LABEL "Calibration Note"
|
|
|
|
|
/begin ANNOTATION_TEXT
|
|
|
|
|
"Calibration Text"
|
|
|
|
|
/end ANNOTATION_TEXT
|
|
|
|
|
/end ANNOTATION
|
|
|
|
|
/end CHARACTERISTIC
|
|
|
|
|
|
|
|
|
|
/begin MEASUREMENT bit1_2_3
|
|
|
|
|
"bit1&2&3 description"
|
|
|
|
|
UBYTE
|
|
|
|
|
VERBAL
|
|
|
|
|
0 0
|
|
|
|
|
0 100
|
|
|
|
|
ECU_ADDRESS 0xC00000
|
|
|
|
|
BIT_MASK 0x7
|
|
|
|
|
|
|
|
|
|
/begin IF_DATA XCP
|
|
|
|
|
/begin DAQ_EVENT
|
|
|
|
|
DEFAULT_EVENT_LIST EVENT 0001
|
|
|
|
|
/end DAQ_EVENT
|
|
|
|
|
/end IF_DATA
|
|
|
|
|
/begin IF_DATA XCPplus 0x0103 /* IF_DATA XCP version */
|
|
|
|
|
/begin DAQ_EVENT VARIABLE
|
|
|
|
|
/begin AVAILABLE_EVENT_LIST
|
|
|
|
|
EVENT 0001 EVENT 0002
|
|
|
|
|
/end AVAILABLE_EVENT_LIST
|
|
|
|
|
/begin DEFAULT_EVENT_LIST
|
|
|
|
|
EVENT 0001
|
|
|
|
|
/end DEFAULT_EVENT_LIST
|
|
|
|
|
/begin CONSISTENCY_EVENT_LIST
|
|
|
|
|
EVENT 0001
|
|
|
|
|
/end CONSISTENCY_EVENT_LIST
|
|
|
|
|
/end DAQ_EVENT
|
|
|
|
|
/end IF_DATA
|
|
|
|
|
|
|
|
|
|
/begin IF_DATA ASAP1B_CCP KP_BLOB 0x00 0xC35E 0x1 RASTER 1 /end IF_DATA
|
|
|
|
|
/end MEASUREMENT
|
|
|
|
|
|
|
|
|
|
/begin MEASUREMENT byte_10_array
|
|
|
|
|
"single byte measurement value array (10x1)
|
|
|
|
|
ARRAY_SIZE=10"
|
|
|
|
|
SBYTE
|
|
|
|
|
IDENTITY_SMALL
|
|
|
|
|
0 0
|
|
|
|
|
-1.26 1.26
|
|
|
|
|
ECU_ADDRESS 0xC00001
|
|
|
|
|
MATRIX_DIM 10 1 1
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/begin IF_DATA XCPplus 0x0103 /* IF_DATA XCP version */
|
|
|
|
|
/begin DAQ_EVENT FIXED_EVENT_LIST
|
|
|
|
|
EVENT 0001 EVENT 0002
|
|
|
|
|
/end DAQ_EVENT
|
|
|
|
|
/end IF_DATA
|
|
|
|
|
|
|
|
|
|
/end MEASUREMENT
|
|
|
|
|
|
|
|
|
|
/begin MEASUREMENT Float32_8x4_array
|
|
|
|
|
"float measurement value array (8x4)
|
|
|
|
|
MATRIX_DIM = 8 4 1"
|
|
|
|
|
FLOAT32_IEEE
|
|
|
|
|
IDENTITY
|
|
|
|
|
0 0
|
|
|
|
|
-.08 .08
|
|
|
|
|
ECU_ADDRESS 0xC0000B
|
|
|
|
|
MATRIX_DIM 8 4
|
|
|
|
|
/end MEASUREMENT
|
|
|
|
|
|
|
|
|
|
/begin MEASUREMENT revolution
|
|
|
|
|
"revolution description"
|
|
|
|
|
SWORD
|
|
|
|
|
IDENTITY
|
|
|
|
|
0 0
|
|
|
|
|
0 20000
|
|
|
|
|
PHYS_UNIT "rpm"
|
|
|
|
|
ECU_ADDRESS 0xC01000
|
|
|
|
|
/end MEASUREMENT
|
|
|
|
|
|
|
|
|
|
/begin MEASUREMENT speed
|
|
|
|
|
"Measures and computes values defined by a 1:1 conversion"
|
|
|
|
|
FLOAT32_IEEE
|
|
|
|
|
IDENTITY
|
|
|
|
|
0 0
|
|
|
|
|
0 360
|
|
|
|
|
PHYS_UNIT "mph"
|
|
|
|
|
ECU_ADDRESS 0xC00200
|
|
|
|
|
/end MEASUREMENT
|
|
|
|
|
|
|
|
|
|
/begin MEASUREMENT speed_by_formula
|
|
|
|
|
"Measures and computes values defined by a C-style formula"
|
|
|
|
|
SWORD
|
|
|
|
|
C_STYLE_FORMULA
|
|
|
|
|
0 0
|
|
|
|
|
-1000 1000
|
|
|
|
|
ECU_ADDRESS 0xC00204
|
|
|
|
|
/end MEASUREMENT
|
|
|
|
|
|
|
|
|
|
/begin MEASUREMENT speed_by_interpolation
|
|
|
|
|
"Measures and computes values defined by a data table"
|
|
|
|
|
UBYTE
|
|
|
|
|
INTERPOLATION
|
|
|
|
|
0 0
|
|
|
|
|
0 360
|
|
|
|
|
ECU_ADDRESS 0xC00206
|
|
|
|
|
/end MEASUREMENT
|
|
|
|
|
|
|
|
|
|
/begin FUNCTION FUNC_ASCIIs
|
|
|
|
|
"ASCII Values description"
|
|
|
|
|
/begin DEF_CHARACTERISTIC
|
|
|
|
|
EPKID
|
|
|
|
|
/end DEF_CHARACTERISTIC
|
|
|
|
|
/begin AR_COMPONENT
|
|
|
|
|
"AR COMPONENT Type"
|
|
|
|
|
AR_PROTOTYPE_OF GROUP_ASCIIs
|
|
|
|
|
/end AR_COMPONENT
|
|
|
|
|
/end FUNCTION
|
|
|
|
|
|
|
|
|
|
/begin GROUP GROUP_ASCIIs
|
|
|
|
|
"ASCII group description"
|
|
|
|
|
/begin REF_CHARACTERISTIC
|
|
|
|
|
EPKID
|
|
|
|
|
/end REF_CHARACTERISTIC
|
|
|
|
|
/end GROUP
|
|
|
|
|
|
|
|
|
|
/begin FUNCTION FUNC_CURVEs
|
|
|
|
|
"CURVEs description"
|
|
|
|
|
/begin DEF_CHARACTERISTIC
|
|
|
|
|
DEMO_CURVE
|
|
|
|
|
/end DEF_CHARACTERISTIC
|
|
|
|
|
/begin REF_CHARACTERISTIC
|
|
|
|
|
DEMO_CURVE_REF_AXIS
|
|
|
|
|
/end REF_CHARACTERISTIC
|
|
|
|
|
/end FUNCTION
|
|
|
|
|
|
|
|
|
|
/begin FUNCTION FUNC_MAPs
|
|
|
|
|
"MAPs description"
|
|
|
|
|
/begin DEF_CHARACTERISTIC
|
|
|
|
|
DEMO_MAP
|
|
|
|
|
/end DEF_CHARACTERISTIC
|
|
|
|
|
/end FUNCTION
|
|
|
|
|
|
|
|
|
|
/begin FUNCTION FUNC_MEASUREMENTs
|
|
|
|
|
"MEASUREMENTs description"
|
|
|
|
|
/begin OUT_MEASUREMENT
|
|
|
|
|
bit1_2_3 revolution speed_by_interpolation speed_by_formula byte_10_array
|
|
|
|
|
Float32_8x4_array speed
|
|
|
|
|
/end OUT_MEASUREMENT
|
|
|
|
|
/end FUNCTION
|
|
|
|
|
|
|
|
|
|
/begin FUNCTION FUNC_VAL_BLKs
|
|
|
|
|
"Value Blocks description"
|
|
|
|
|
/begin DEF_CHARACTERISTIC
|
|
|
|
|
VAL_BLK_NUMERIC VAL_BLK_VERBAL
|
|
|
|
|
/end DEF_CHARACTERISTIC
|
|
|
|
|
/end FUNCTION
|
|
|
|
|
|
|
|
|
|
/begin FUNCTION FUNC_VALUESs
|
|
|
|
|
"VALUESs description"
|
|
|
|
|
/begin DEF_CHARACTERISTIC
|
|
|
|
|
SINGLE_VALUE SINGLE_VALUE_LINEAR SINGLE_VALUE_ADAPTIVE SINGLE_BIG_VALUE SINGLE_VERBAL SINGLE_VERBAL_RANGE
|
|
|
|
|
/end DEF_CHARACTERISTIC
|
|
|
|
|
/end FUNCTION
|
|
|
|
|
|
|
|
|
|
/begin COMPU_METHOD BIGVALUES
|
|
|
|
|
"BIGVALUES description"
|
|
|
|
|
RAT_FUNC
|
|
|
|
|
"%.0" "---"
|
|
|
|
|
COEFFS 0 1 0 0 0 1
|
|
|
|
|
/end COMPU_METHOD
|
|
|
|
|
|
|
|
|
|
/begin COMPU_METHOD C_STYLE_FORMULA
|
|
|
|
|
"Defines a C-Style formula to convert between
|
|
|
|
|
raw and physical values.
|
|
|
|
|
For simulator support, the inverse formula
|
|
|
|
|
must be defined, too."
|
|
|
|
|
FORM
|
|
|
|
|
"%8.1" "km/h"
|
|
|
|
|
/begin FORMULA
|
|
|
|
|
"X*20"
|
|
|
|
|
FORMULA_INV "X/20"
|
|
|
|
|
/end FORMULA
|
|
|
|
|
/end COMPU_METHOD
|
|
|
|
|
|
|
|
|
|
/begin COMPU_METHOD IDENTITY
|
|
|
|
|
"IDENTITY description"
|
|
|
|
|
RAT_FUNC
|
|
|
|
|
"%4.2" "---"
|
|
|
|
|
COEFFS 0 1 0 0 0 1
|
|
|
|
|
/end COMPU_METHOD
|
|
|
|
|
|
|
|
|
|
/begin COMPU_METHOD IDENTITY_SMALL
|
|
|
|
|
"IDENTITY description"
|
|
|
|
|
RAT_FUNC
|
|
|
|
|
"%4.2" "---"
|
|
|
|
|
COEFFS 0 100 0 0 0 1
|
|
|
|
|
/end COMPU_METHOD
|
|
|
|
|
|
|
|
|
|
/begin COMPU_METHOD INTERPOLATION
|
|
|
|
|
"INTERPOLATION description"
|
|
|
|
|
TAB_INTP
|
|
|
|
|
"%8.1" "mph"
|
|
|
|
|
COMPU_TAB_REF INTERPOLATION_TABLE_0_360
|
|
|
|
|
/end COMPU_METHOD
|
|
|
|
|
|
|
|
|
|
/begin COMPU_METHOD NO_INTERPOLATION
|
|
|
|
|
"NO_INTERPOLATION description"
|
|
|
|
|
TAB_NOINTP
|
|
|
|
|
"%8.1" ""
|
|
|
|
|
COMPU_TAB_REF NO_INTERPOLATION_TABLE
|
|
|
|
|
/end COMPU_METHOD
|
|
|
|
|
|
|
|
|
|
/begin COMPU_METHOD SMALLVALUES
|
|
|
|
|
"SMALLVALUES description"
|
|
|
|
|
RAT_FUNC
|
|
|
|
|
"%8.5" "---"
|
|
|
|
|
COEFFS 0 10000 0 0 0 1
|
|
|
|
|
/end COMPU_METHOD
|
|
|
|
|
|
|
|
|
|
/begin COMPU_METHOD LINEAR
|
|
|
|
|
"Linear coeffs description"
|
|
|
|
|
LINEAR
|
|
|
|
|
"%8.2" "mm"
|
|
|
|
|
COEFFS_LINEAR 1.25 1
|
|
|
|
|
/end COMPU_METHOD
|
|
|
|
|
|
|
|
|
|
/begin COMPU_METHOD VERBAL
|
|
|
|
|
"VERBAL description"
|
|
|
|
|
TAB_VERB
|
|
|
|
|
"" ""
|
|
|
|
|
COMPU_TAB_REF VERBAL_TABLE
|
|
|
|
|
/end COMPU_METHOD
|
|
|
|
|
|
|
|
|
|
/begin COMPU_METHOD VERBAL_BOOL
|
|
|
|
|
"VERBAL_BOOL description"
|
|
|
|
|
TAB_VERB
|
|
|
|
|
"" ""
|
|
|
|
|
COMPU_TAB_REF VERBAL_BOOL_TABLE
|
|
|
|
|
/end COMPU_METHOD
|
|
|
|
|
|
|
|
|
|
/begin COMPU_VTAB VERBAL_BOOL_TABLE
|
|
|
|
|
"VERBAL_BOOL_TABLE description"
|
|
|
|
|
TAB_VERB
|
|
|
|
|
2
|
|
|
|
|
0 "FALSE"
|
|
|
|
|
1 "TRUE"
|
|
|
|
|
DEFAULT_VALUE "Not set"
|
|
|
|
|
/end COMPU_VTAB
|
|
|
|
|
|
|
|
|
|
/begin COMPU_METHOD RANGE_BYTE
|
|
|
|
|
"RANGE_BYTE description"
|
|
|
|
|
TAB_VERB
|
|
|
|
|
"" ""
|
|
|
|
|
COMPU_TAB_REF VTAB_RANGE_TABLE
|
|
|
|
|
/end COMPU_METHOD
|
|
|
|
|
|
|
|
|
|
/begin COMPU_VTAB_RANGE VTAB_RANGE_TABLE
|
|
|
|
|
"VTAB_RANGE_TABLE description"
|
|
|
|
|
2
|
|
|
|
|
0.0 0.9 "< 1"
|
|
|
|
|
1.0 255 ">= 1"
|
|
|
|
|
DEFAULT_VALUE "Not set"
|
|
|
|
|
/end COMPU_VTAB_RANGE
|
|
|
|
|
|
|
|
|
|
/begin COMPU_VTAB VERBAL_TABLE
|
|
|
|
|
"VERBAL_TABLE description"
|
|
|
|
|
TAB_VERB
|
|
|
|
|
7
|
|
|
|
|
1 "Bit1 set"
|
|
|
|
|
2 "Bit2 set"
|
|
|
|
|
3 "Bit1&2 set"
|
|
|
|
|
4 "Bit3 set"
|
|
|
|
|
5 "Bit1&3 set"
|
|
|
|
|
6 "Bit2&3 set"
|
|
|
|
|
7 "Bit1&2&3 set"
|
|
|
|
|
DEFAULT_VALUE "Not set"
|
|
|
|
|
/end COMPU_VTAB
|
|
|
|
|
|
|
|
|
|
/begin RECORD_LAYOUT _LONG
|
|
|
|
|
FNC_VALUES 1 SLONG COLUMN_DIR DIRECT
|
|
|
|
|
/end RECORD_LAYOUT
|
|
|
|
|
|
|
|
|
|
/begin RECORD_LAYOUT _UBYTE
|
|
|
|
|
FNC_VALUES 1 UBYTE COLUMN_DIR DIRECT
|
|
|
|
|
/end RECORD_LAYOUT
|
|
|
|
|
|
|
|
|
|
/begin RECORD_LAYOUT CURVE_LAYOUT
|
|
|
|
|
FNC_VALUES 1 UWORD COLUMN_DIR DIRECT
|
|
|
|
|
/end RECORD_LAYOUT
|
|
|
|
|
|
|
|
|
|
/begin RECORD_LAYOUT MAP_LAYOUT
|
|
|
|
|
FNC_VALUES 1 SWORD COLUMN_DIR DIRECT
|
|
|
|
|
/end RECORD_LAYOUT
|
|
|
|
|
|
|
|
|
|
/begin COMPU_TAB INTERPOLATION_TABLE_0_360
|
|
|
|
|
"INTERPOLATION_TABLE description"
|
|
|
|
|
TAB_INTP
|
|
|
|
|
5
|
|
|
|
|
0 0
|
|
|
|
|
64 90
|
|
|
|
|
128 180
|
|
|
|
|
192 270
|
|
|
|
|
255 360
|
|
|
|
|
DEFAULT_VALUE_NUMERIC 180
|
|
|
|
|
/end COMPU_TAB
|
|
|
|
|
|
|
|
|
|
/begin COMPU_TAB NO_INTERPOLATION_TABLE
|
|
|
|
|
"NO_INTERPOLATION_TABLE description"
|
|
|
|
|
TAB_NOINTP
|
|
|
|
|
9
|
|
|
|
|
0 0
|
|
|
|
|
32 45
|
|
|
|
|
64 90
|
|
|
|
|
96 120
|
|
|
|
|
128 180
|
|
|
|
|
160 210
|
|
|
|
|
192 270
|
|
|
|
|
224 300
|
|
|
|
|
255 360
|
|
|
|
|
DEFAULT_VALUE_NUMERIC 180
|
|
|
|
|
/end COMPU_TAB
|
|
|
|
|
|
|
|
|
|
/begin UNIT
|
|
|
|
|
metres_per_second
|
|
|
|
|
"extended SI unit for velocity"
|
|
|
|
|
"m/s"
|
|
|
|
|
EXTENDED_SI
|
|
|
|
|
SI_EXPONENTS 1 0 -1 0 0 0 0 /* [m] * [s] -1 */
|
|
|
|
|
/end UNIT
|
|
|
|
|
/begin UNIT
|
|
|
|
|
kms_per_hour
|
|
|
|
|
"derived unit for velocity: kilometres per hour"
|
|
|
|
|
"km/h"
|
|
|
|
|
DERIVED
|
|
|
|
|
REF_UNIT metres_per_second
|
|
|
|
|
UNIT_CONVERSION 3.6 0.0 /* y [km/h] = (60*60/1000) * x [m/s] + 0.0 */
|
|
|
|
|
/end UNIT
|
|
|
|
|
/begin UNIT
|
|
|
|
|
miles_per_hour
|
|
|
|
|
"derived unit for velocity: miles per hour"
|
|
|
|
|
"mph"
|
|
|
|
|
DERIVED
|
|
|
|
|
REF_UNIT metres_per_second
|
|
|
|
|
UNIT_CONVERSION 2.237 0.0 /* y [mph] = (60*60/1609) * x [m/s] + 0.0 */
|
|
|
|
|
/end UNIT
|
|
|
|
|
|
|
|
|
|
/begin VARIANT_CODING
|
|
|
|
|
VAR_SEPARATOR "." /* PUMKF.1 */
|
|
|
|
|
VAR_NAMING NUMERIC
|
|
|
|
|
|
|
|
|
|
/* variant criterion "Car body" with three variants * /
|
|
|
|
|
/begin VAR_CRITERION Car
|
|
|
|
|
"Car body"
|
|
|
|
|
Limousine Kombi_Cabrio
|
|
|
|
|
VAR_MEASUREMENT bit1_2_3
|
|
|
|
|
/end VAR_CRITERION
|
|
|
|
|
*/
|
|
|
|
|
/* variant criterion "Type of gear box" with two variants * /
|
|
|
|
|
/begin VAR_CRITERION Gear
|
|
|
|
|
"Type of gear box"
|
|
|
|
|
Manual Automatic
|
|
|
|
|
VAR_SELECTION_CHARACTERISTIC EPKID
|
|
|
|
|
/end VAR_CRITERION
|
|
|
|
|
*/
|
|
|
|
|
/begin VAR_FORBIDDEN_COMB /* forbidden: Limousine-Manual*/
|
|
|
|
|
Car Limousine
|
|
|
|
|
Gear Manual
|
|
|
|
|
/end VAR_FORBIDDEN_COMB
|
|
|
|
|
|
|
|
|
|
/begin VAR_FORBIDDEN_COMB /* forbidden: Cabrio-Automatic*/
|
|
|
|
|
Car Cabrio
|
|
|
|
|
Gear Automatic
|
|
|
|
|
/end VAR_FORBIDDEN_COMB
|
|
|
|
|
|
|
|
|
|
/begin VAR_CHARACTERISTIC
|
|
|
|
|
DEMO_CURVE /*define DEMO_CURVE as variant coded*/
|
|
|
|
|
Gear /* Gear box variants */
|
|
|
|
|
/begin VAR_ADDRESS
|
|
|
|
|
0x7140
|
|
|
|
|
0x7168
|
|
|
|
|
/end VAR_ADDRESS
|
|
|
|
|
/end VAR_CHARACTERISTIC
|
|
|
|
|
|
|
|
|
|
/begin VAR_CHARACTERISTIC
|
|
|
|
|
DEMO_MAP /*define DEMO_MAP as variant coded */
|
|
|
|
|
Gear Car /*car body and gear box variants*/
|
|
|
|
|
/begin VAR_ADDRESS
|
|
|
|
|
0x7840
|
|
|
|
|
0x7858
|
|
|
|
|
0x7870
|
|
|
|
|
0x7888
|
|
|
|
|
/end VAR_ADDRESS
|
|
|
|
|
/end VAR_CHARACTERISTIC
|
|
|
|
|
/end VARIANT_CODING
|
|
|
|
|
|
|
|
|
|
/begin BLOB DEMO_BLOB
|
|
|
|
|
"binary blob for FIM matrix"
|
|
|
|
|
0x6000
|
|
|
|
|
0x400
|
|
|
|
|
/end BLOB
|
|
|
|
|
|
|
|
|
|
/begin TYPEDEF_BLOB TD_BLOB
|
|
|
|
|
"binary blob"
|
|
|
|
|
0x400
|
|
|
|
|
/end TYPEDEF_BLOB
|
|
|
|
|
|
|
|
|
|
/begin INSTANCE INSTANCE_BLOB
|
|
|
|
|
"blob for FIM matrix"
|
|
|
|
|
TD_BLOB
|
|
|
|
|
0x5000
|
|
|
|
|
/end INSTANCE
|
|
|
|
|
|
|
|
|
|
/begin TYPEDEF_CHARACTERISTIC TD_CHARACTERISTIC
|
|
|
|
|
""
|
|
|
|
|
VALUE
|
|
|
|
|
_LONG
|
|
|
|
|
100
|
|
|
|
|
NO_COMPU_METHOD
|
|
|
|
|
-100 655
|
|
|
|
|
/end TYPEDEF_CHARACTERISTIC
|
|
|
|
|
/*
|
|
|
|
|
/begin TYPEDEF_STRUCTURE TD_STRUCTURE
|
|
|
|
|
"binary structure"
|
|
|
|
|
0x400
|
|
|
|
|
/begin STRUCTURE_COMPONENT MemberA
|
|
|
|
|
TD_CHARACTERISTIC
|
|
|
|
|
0x0
|
|
|
|
|
/end STRUCTURE_COMPONENT
|
|
|
|
|
/begin STRUCTURE_COMPONENT MemberB
|
|
|
|
|
TD_CHARACTERISTIC
|
|
|
|
|
0x22
|
|
|
|
|
MATRIX_DIM 10
|
|
|
|
|
/end STRUCTURE_COMPONENT
|
|
|
|
|
/end TYPEDEF_STRUCTURE
|
|
|
|
|
*/
|
|
|
|
|
/begin TYPEDEF_MEASUREMENT TD_MEASUREMENT
|
|
|
|
|
"register content"
|
|
|
|
|
SWORD
|
|
|
|
|
IDENTITY
|
|
|
|
|
1 0
|
|
|
|
|
-200 200
|
|
|
|
|
/end TYPEDEF_MEASUREMENT
|
|
|
|
|
|
|
|
|
|
/begin INSTANCE instance_measurement
|
|
|
|
|
""
|
|
|
|
|
TD_MEASUREMENT
|
|
|
|
|
0x94
|
|
|
|
|
/begin OVERWRITE THIS
|
|
|
|
|
0
|
|
|
|
|
CONVERSION IDENTITY_SMALL
|
|
|
|
|
/end OVERWRITE
|
|
|
|
|
/end INSTANCE
|
|
|
|
|
|
|
|
|
|
/begin TYPEDEF_AXIS TD_AXIS
|
|
|
|
|
"axis points for speed"
|
|
|
|
|
revolution
|
|
|
|
|
RL_DEMO_CURVE_AXIS
|
|
|
|
|
100
|
|
|
|
|
IDENTITY
|
|
|
|
|
21
|
|
|
|
|
0 5800
|
|
|
|
|
/end TYPEDEF_AXIS
|
|
|
|
|
|
|
|
|
|
/begin INSTANCE INSTANCE_AXIS
|
|
|
|
|
""
|
|
|
|
|
TD_AXIS
|
|
|
|
|
0x4000
|
|
|
|
|
/end INSTANCE
|
|
|
|
|
|
|
|
|
|
/begin INSTANCE INSTANCE_CHARACTERISTIC
|
|
|
|
|
"delay time for filtering"
|
|
|
|
|
TD_CHARACTERISTIC
|
|
|
|
|
0x4080
|
|
|
|
|
MATRIX_DIM 5
|
|
|
|
|
/end INSTANCE
|
|
|
|
|
|
|
|
|
|
/begin TRANSFORMER Transformer
|
|
|
|
|
"1.0.0.0"
|
|
|
|
|
"transformer32.dll"
|
|
|
|
|
"transformer64.dll"
|
|
|
|
|
25000
|
|
|
|
|
ON_USER_REQUEST
|
|
|
|
|
TransformerReverse
|
|
|
|
|
/begin TRANSFORMER_IN_OBJECTS
|
|
|
|
|
DEMO_CURVE
|
|
|
|
|
/end TRANSFORMER_IN_OBJECTS
|
|
|
|
|
/begin TRANSFORMER_OUT_OBJECTS
|
|
|
|
|
DEMO_BLOB
|
|
|
|
|
/end TRANSFORMER_OUT_OBJECTS
|
|
|
|
|
/end TRANSFORMER
|
|
|
|
|
|
|
|
|
|
/begin TRANSFORMER TransformerReverse
|
|
|
|
|
"1.0.0.0"
|
|
|
|
|
"TransformerReverse32.dll"
|
|
|
|
|
""
|
|
|
|
|
20000
|
|
|
|
|
ON_CHANGE
|
|
|
|
|
Transformer
|
|
|
|
|
/begin TRANSFORMER_IN_OBJECTS
|
|
|
|
|
DEMO_BLOB
|
|
|
|
|
/end TRANSFORMER_IN_OBJECTS
|
|
|
|
|
/begin TRANSFORMER_OUT_OBJECTS
|
|
|
|
|
DEMO_CURVE
|
|
|
|
|
/end TRANSFORMER_OUT_OBJECTS
|
|
|
|
|
/end TRANSFORMER
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/end MODULE
|
|
|
|
|
/end PROJECT
|