You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

937 lines
29 KiB

2 months ago
/******************************************************************************
*
* ASAP2 file: variants.a2l
*
******************************************************************************/
ASAP2_VERSION 1 71
/begin PROJECT ProjectName "Project Comment Goes Here"
/begin HEADER "Header Comments go here"
/end HEADER
/begin MODULE ModuleName "Module Comment Goes Here"
/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 */
};
})*;
};
};
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
};
};
"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. */
};
}; /* end of ep_parameters */
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 */
};
})*; /* end of DAQ_LIST_USB_ENDPOINT */
}; /* end of optional */
};
struct SIMULINK_Parameters {
taggedstruct {
"MODEL_NAME" char[64];
};
};
enum packet_assignment_type {
"NOT_ALLOWED" = 0,
"FIXED" = 1,
"VARIABLE_INITIALISED" = 2,
"VARIABLE" = 3
}; /* end of packet_assignment_type */
struct buffer {
uchar; /* FLX_BUF */
taggedstruct {
"MAX_FLX_LEN_BUF" taggedunion {
"FIXED" uchar; /* constant value */
"VARIABLE" uchar; /* initial value */
}; /* end of MAX_FLX_LEN_BUF */
block "LPDU_ID" taggedstruct {
"FLX_SLOT_ID" taggedunion {
"FIXED" uint;
"VARIABLE" taggedstruct {
"INITIAL_VALUE" uint;
};
}; /* end of FLX_SLOT_ID */
"OFFSET" taggedunion {
"FIXED" uchar;
"VARIABLE" taggedstruct {
"INITIAL_VALUE" uchar;
};
}; /* end of OFFSET */
"CYCLE_REPETITION" taggedunion {
"FIXED" uchar;
"VARIABLE" taggedstruct {
"INITIAL_VALUE" uchar;
};
}; /* end of CYCLE_REPETITION */
"CHANNEL" taggedunion {
"FIXED" enum {
"A" = 0,
"B" = 1
};
"VARIABLE" taggedstruct {
"INITIAL_VALUE" enum {
"A" = 0,
"B" = 1
};
};
}; /* end of CHANNEL */
}; /* end of LPDU_ID */
block "XCP_PACKET" taggedstruct {
"CMD" enum packet_assignment_type; /* end of CMD */
"RES_ERR" enum packet_assignment_type; /* end of RES_ERR */
"EV_SERV" enum packet_assignment_type; /* end of EV_SERV */
"DAQ" enum packet_assignment_type; /* end of DAQ */
"STIM" enum packet_assignment_type; /* end of STIM */
}; /* end of XCP_PACKET */
};
}; /* end of buffer */
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 {
"CANAPE_EXT" struct {
int; /* version number */
taggedstruct {
"LINK_MAP" struct {
char[256]; /* segment name */
long; /* base address of the segment */
uint; /* address extension of the segment */
uint; /* flag: address is relative to DS */
long; /* offset of the segment address */
uint; /* datatypValid */
uint; /* enum datatyp */
uint; /* bit offset of the segment */
};
"DISPLAY" struct {
long; /* display color */
double; /* minimal display value (phys)*/
double; /* maximal display value (phys)*/
};
"VIRTUAL_CONVERSION" struct {
char[256]; /* name of the conversion formula */
};
};
};
"CANAPE_MODULE" struct {
taggedstruct {
("RECORD_LAYOUT_STEPSIZE" struct {
char[256]; /* name of record layout*/
uint; /* stepsize for FNC_VALUES */
uint; /* stepsize for AXIS_PTS_X */
uint; /* stepsize for AXIS_PTS_Y */
uint; /* stepsize for AXIS_PTS_Z */
uint; /* stepsize for AXIS_PTS_4 */
uint; /* stepsize for AXIS_PTS_5 */
})*;
};
};
/*********************************************************/
/* XCP */
/*********************************************************/
"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 */
};
};
};
};
/end A2ML
/begin IF_DATA XCP
/begin PROTOCOL_LAYER
0x0100
0x03E8
0x00C8
0x0000
0x0000
0x0000
0x0000
0x0000
0xFC
0x0578
BYTE_ORDER_MSB_LAST
ADDRESS_GRANULARITY_BYTE
OPTIONAL_CMD ALLOC_ODT_ENTRY
OPTIONAL_CMD ALLOC_ODT
OPTIONAL_CMD ALLOC_DAQ
OPTIONAL_CMD FREE_DAQ
OPTIONAL_CMD GET_DAQ_RESOLUTION_INFO
OPTIONAL_CMD GET_DAQ_PROCESSOR_INFO
OPTIONAL_CMD START_STOP_SYNCH
OPTIONAL_CMD START_STOP_DAQ_LIST
OPTIONAL_CMD SET_DAQ_LIST_MODE
OPTIONAL_CMD WRITE_DAQ
OPTIONAL_CMD SET_DAQ_PTR
OPTIONAL_CMD GET_CAL_PAGE
OPTIONAL_CMD SET_CAL_PAGE
OPTIONAL_CMD COPY_CAL_PAGE
OPTIONAL_CMD SHORT_DOWNLOAD
OPTIONAL_CMD DOWNLOAD_MAX
OPTIONAL_CMD DOWNLOAD
OPTIONAL_CMD SHORT_UPLOAD
OPTIONAL_CMD UPLOAD
OPTIONAL_CMD SET_MTA
/end PROTOCOL_LAYER
/begin DAQ
DYNAMIC
0x0000
0x0080
0x00
OPTIMISATION_TYPE_DEFAULT
ADDRESS_EXTENSION_FREE
IDENTIFICATION_FIELD_TYPE_RELATIVE_WORD_ALIGNED
GRANULARITY_ODT_ENTRY_SIZE_DAQ_BYTE
0xFF
OVERLOAD_INDICATION_PID
PRESCALER_SUPPORTED
/begin STIM
GRANULARITY_ODT_ENTRY_SIZE_STIM_BYTE
0xFF
/end STIM
/begin TIMESTAMP_SUPPORTED
0x0001
SIZE_DWORD
UNIT_1US
TIMESTAMP_FIXED
/end TIMESTAMP_SUPPORTED
/begin EVENT
"1 ms"
"1 ms"
0x0000
DAQ
0xFF
0x01
0x06
0x00
/end EVENT
/end DAQ
/begin XCP_ON_UDP_IP
0x0100
0x15B3
ADDRESS "192.168.7.1"
/end XCP_ON_UDP_IP
/end IF_DATA
/begin MOD_PAR "MOD PAR Comment Goes Here"
/begin MEMORY_SEGMENT tstCom_cal_impl
"tstCom_cal_impl"
DATA
FLASH
INTERN
0x0023F020
0x948
-1 -1 -1 -1 -1 /begin IF_DATA XCP
/begin SEGMENT
0x00
0x02
0x00
0x00
0x00
/begin PAGE
0x00
ECU_ACCESS_DONT_CARE
XCP_READ_ACCESS_DONT_CARE
XCP_WRITE_ACCESS_NOT_ALLOWED
/end PAGE
/begin PAGE
0x01
ECU_ACCESS_DONT_CARE
XCP_READ_ACCESS_DONT_CARE
XCP_WRITE_ACCESS_DONT_CARE
/end PAGE
/end SEGMENT
/end IF_DATA
/end MEMORY_SEGMENT
/end MOD_PAR
/begin MOD_COMMON "Mod Common Comment Here"
BYTE_ORDER MSB_LAST
ALIGNMENT_BYTE 1
ALIGNMENT_WORD 2
ALIGNMENT_LONG 8
ALIGNMENT_FLOAT32_IEEE 4
ALIGNMENT_FLOAT64_IEEE 8
ALIGNMENT_INT64 4
/end MOD_COMMON
/begin CHARACTERISTIC PUMKF /* name */
"Pump characteristic map"
/* long identifier */
MAP /* type */
0x7140 /* address */
DAMOS_KF /* deposit */
100.0 /* maxdiff */
R_VOLTAGE /* conversion */
0.0 /* lower limit */
5000.0 /* upper limit */
MAX_REFRESH 3 15 /* 15 msec */
/begin DEPENDENT_CHARACTERISTIC
"sin(X1)"
ALPHA
/end DEPENDENT_CHARACTERISTIC
/begin VIRTUAL_CHARACTERISTIC
"sqrt(X1)"
B_AREA
/end VIRTUAL_CHARACTERISTIC
REF_MEMORY_SEGMENT Data1
/begin FUNCTION_LIST
NL_ADJUSTMENT
FL_ADJUSTMENT
SPEED_LIM
/end FUNCTION_LIST
/begin IF_DATA DIM
EXTERNAL
INDIRECT
/end IF_DATA
/begin AXIS_DESCR /* description of X-axis points */
STD_AXIS /* standard axis points */
N /* reference to input quantity */
CON_N /* conversion */
13 /* maximum number of axis points*/
0.0 /* lower limit */
5800.0 /* upper limit */
MAX_GRAD 20.0 /* X-axis: maximum gradient */
/end AXIS_DESCR
/begin AXIS_DESCR /* description of Y-axis points */
STD_AXIS /* standard axis points */
AMOUNT /* reference to input quantity */
CON_ME /* conversion */
17 /* maximum number of axis points*/
0.0 /* lower limit */
43.0 /* upper limit */
/end AXIS_DESCR
/end CHARACTERISTIC
/begin RECORD_LAYOUT DAMOS_KF
FNC_VALUES 7 SWORD COLUMN_DIR DIRECT
AXIS_PTS_X 3 SWORD INDEX_INCR DIRECT
AXIS_PTS_Y 6 UBYTE INDEX_INCR DIRECT
NO_AXIS_PTS_X 2 UBYTE
NO_AXIS_PTS_Y 5 UBYTE
SRC_ADDR_X 1 UBYTE
SRC_ADDR_Y 4 UBYTE
ALIGNMENT_BYTE 2
/end RECORD_LAYOUT
/begin COMPU_VTAB V_GEAR_BOX
//"variants of criterion ""Type of Gear Box"""
"variants of criterion Type of Gear Box"
TAB_VERB
3
17 "Limousine"
39 "Kombi"
41 "Cabrio"
DEFAULT_VALUE "unknown"
/end COMPU_VTAB
/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 S_CAR
VAR_SELECTION_CHARACTERISTIC V_CAR
/end VAR_CRITERION
/* variant criterion "Type of gear box" with two variants */
/begin VAR_CRITERION Gear
"Type of gear box"
Manual Automatic
/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
PUMKF /*define PUMKF as variant coded*/
Gear /* Gear box variants */
/begin VAR_ADDRESS
0x7140
0x7168
/end VAR_ADDRESS
/end VAR_CHARACTERISTIC
/begin VAR_CHARACTERISTIC
NLLM /*define NLLM as variant coded */
Gear Car
/* gear box including the 2 variants "Manual" and "Automatic" */
/* car body including the 3 variants "Limousine", "Kombi" and "Cabrio" */
/* four addresses corresponding to the four valid combinations */
/* of criterion 'Gear' and 'Car' (see example for VAR_CRITERION)*/
/begin VAR_ADDRESS
0x8840
0x8858
0x8870
0x8888
/end VAR_ADDRESS
/end VAR_CHARACTERISTIC
/end VARIANT_CODING
/end MODULE
/end PROJECT