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.
4132 lines
154 KiB
4132 lines
154 KiB
|
2 months ago
|
ASAP2_VERSION 1 61
|
||
|
|
/begin PROJECT ASAP2_Example ""
|
||
|
|
|
||
|
|
/begin HEADER "ASAP2 Example File"
|
||
|
|
VERSION "V1.61"
|
||
|
|
PROJECT_NO MCD_P12_08
|
||
|
|
/end HEADER
|
||
|
|
|
||
|
|
/begin MODULE Example ""
|
||
|
|
|
||
|
|
/begin A2ML
|
||
|
|
|
||
|
|
block "IF_DATA" taggedunion if_data {
|
||
|
|
|
||
|
|
|
||
|
|
/* ============================================================================================== */
|
||
|
|
/* */
|
||
|
|
/* ASAM XCP AML */
|
||
|
|
/* */
|
||
|
|
/* ============================================================================================== */
|
||
|
|
|
||
|
|
"XCP" struct {
|
||
|
|
taggedstruct {
|
||
|
|
block "PROTOCOL_LAYER" struct {
|
||
|
|
uint;
|
||
|
|
uint;
|
||
|
|
uint;
|
||
|
|
uint;
|
||
|
|
uint;
|
||
|
|
uint;
|
||
|
|
uint;
|
||
|
|
uint;
|
||
|
|
uchar;
|
||
|
|
uint;
|
||
|
|
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;
|
||
|
|
uchar;
|
||
|
|
};
|
||
|
|
};
|
||
|
|
"INTERLEAVED" uchar;
|
||
|
|
};
|
||
|
|
"SEED_AND_KEY_EXTERNAL_FUNCTION" char[256];
|
||
|
|
};
|
||
|
|
};
|
||
|
|
block "SEGMENT" struct {
|
||
|
|
uchar;
|
||
|
|
uchar;
|
||
|
|
uchar;
|
||
|
|
uchar;
|
||
|
|
uchar;
|
||
|
|
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];
|
||
|
|
};
|
||
|
|
};
|
||
|
|
(block "PAGE" struct {
|
||
|
|
uchar;
|
||
|
|
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;
|
||
|
|
};
|
||
|
|
})*;
|
||
|
|
(block "ADDRESS_MAPPING" struct {
|
||
|
|
ulong;
|
||
|
|
ulong;
|
||
|
|
ulong;
|
||
|
|
})*;
|
||
|
|
"PGM_VERIFY" ulong;
|
||
|
|
};
|
||
|
|
};
|
||
|
|
block "DAQ" struct {
|
||
|
|
enum {
|
||
|
|
"STATIC" = 0,
|
||
|
|
"DYNAMIC" = 1
|
||
|
|
};
|
||
|
|
uint;
|
||
|
|
uint;
|
||
|
|
uchar;
|
||
|
|
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;
|
||
|
|
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;
|
||
|
|
taggedstruct {
|
||
|
|
"BIT_STIM_SUPPORTED" ;
|
||
|
|
};
|
||
|
|
};
|
||
|
|
block "TIMESTAMP_SUPPORTED" struct {
|
||
|
|
uint;
|
||
|
|
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;
|
||
|
|
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;
|
||
|
|
taggedstruct {
|
||
|
|
("ODT_ENTRY" struct {
|
||
|
|
uchar;
|
||
|
|
ulong;
|
||
|
|
uchar;
|
||
|
|
uchar;
|
||
|
|
uchar;
|
||
|
|
})*;
|
||
|
|
};
|
||
|
|
})*;
|
||
|
|
};
|
||
|
|
};
|
||
|
|
})*;
|
||
|
|
(block "EVENT" struct {
|
||
|
|
char[101];
|
||
|
|
char[9];
|
||
|
|
uint;
|
||
|
|
enum {
|
||
|
|
"DAQ" = 1,
|
||
|
|
"STIM" = 2,
|
||
|
|
"DAQ_STIM" = 3
|
||
|
|
};
|
||
|
|
uchar;
|
||
|
|
uchar;
|
||
|
|
uchar;
|
||
|
|
uchar;
|
||
|
|
})*;
|
||
|
|
};
|
||
|
|
};
|
||
|
|
block "PAG" struct {
|
||
|
|
uchar;
|
||
|
|
taggedstruct {
|
||
|
|
"FREEZE_SUPPORTED" ;
|
||
|
|
};
|
||
|
|
};
|
||
|
|
block "PGM" struct {
|
||
|
|
enum {
|
||
|
|
"PGM_MODE_ABSOLUTE" = 1,
|
||
|
|
"PGM_MODE_FUNCTIONAL" = 2,
|
||
|
|
"PGM_MODE_ABSOLUTE_AND_FUNCTIONAL" = 3
|
||
|
|
};
|
||
|
|
uchar;
|
||
|
|
uchar;
|
||
|
|
taggedstruct {
|
||
|
|
(block "SECTOR" struct {
|
||
|
|
char[101];
|
||
|
|
uchar;
|
||
|
|
ulong;
|
||
|
|
ulong;
|
||
|
|
uchar;
|
||
|
|
uchar;
|
||
|
|
uchar;
|
||
|
|
})*;
|
||
|
|
"COMMUNICATION_MODE_SUPPORTED" taggedunion {
|
||
|
|
"BLOCK" taggedstruct {
|
||
|
|
"SLAVE" ;
|
||
|
|
"MASTER" struct {
|
||
|
|
uchar;
|
||
|
|
uchar;
|
||
|
|
};
|
||
|
|
};
|
||
|
|
"INTERLEAVED" uchar;
|
||
|
|
};
|
||
|
|
};
|
||
|
|
};
|
||
|
|
block "DAQ_EVENT" taggedunion {
|
||
|
|
"FIXED_EVENT_LIST" taggedstruct {
|
||
|
|
("EVENT" uint)*;
|
||
|
|
};
|
||
|
|
"VARIABLE" taggedstruct {
|
||
|
|
block "AVAILABLE_EVENT_LIST" taggedstruct {
|
||
|
|
("EVENT" uint)*;
|
||
|
|
};
|
||
|
|
block "DEFAULT_EVENT_LIST" taggedstruct {
|
||
|
|
("EVENT" uint)*;
|
||
|
|
};
|
||
|
|
};
|
||
|
|
};
|
||
|
|
block "XCP_ON_CAN" struct {
|
||
|
|
uint;
|
||
|
|
taggedstruct {
|
||
|
|
"CAN_ID_BROADCAST" ulong;
|
||
|
|
"CAN_ID_MASTER" ulong;
|
||
|
|
"CAN_ID_SLAVE" ulong;
|
||
|
|
"BAUDRATE" ulong;
|
||
|
|
"SAMPLE_POINT" uchar;
|
||
|
|
"SAMPLE_RATE" enum {
|
||
|
|
"SINGLE" = 1,
|
||
|
|
"TRIPLE" = 3
|
||
|
|
};
|
||
|
|
"BTL_CYCLES" uchar;
|
||
|
|
"SJW" uchar;
|
||
|
|
"SYNC_EDGE" enum {
|
||
|
|
"SINGLE" = 1,
|
||
|
|
"DUAL" = 2
|
||
|
|
};
|
||
|
|
"MAX_DLC_REQUIRED" ;
|
||
|
|
(block "DAQ_LIST_CAN_ID" struct {
|
||
|
|
uint;
|
||
|
|
taggedstruct {
|
||
|
|
"VARIABLE" ;
|
||
|
|
"FIXED" ulong;
|
||
|
|
};
|
||
|
|
})*;
|
||
|
|
block "PROTOCOL_LAYER" struct {
|
||
|
|
uint;
|
||
|
|
uint;
|
||
|
|
uint;
|
||
|
|
uint;
|
||
|
|
uint;
|
||
|
|
uint;
|
||
|
|
uint;
|
||
|
|
uint;
|
||
|
|
uchar;
|
||
|
|
uint;
|
||
|
|
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;
|
||
|
|
uchar;
|
||
|
|
};
|
||
|
|
};
|
||
|
|
"INTERLEAVED" uchar;
|
||
|
|
};
|
||
|
|
"SEED_AND_KEY_EXTERNAL_FUNCTION" char[256];
|
||
|
|
};
|
||
|
|
};
|
||
|
|
block "SEGMENT" struct {
|
||
|
|
uchar;
|
||
|
|
uchar;
|
||
|
|
uchar;
|
||
|
|
uchar;
|
||
|
|
uchar;
|
||
|
|
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];
|
||
|
|
};
|
||
|
|
};
|
||
|
|
(block "PAGE" struct {
|
||
|
|
uchar;
|
||
|
|
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;
|
||
|
|
};
|
||
|
|
})*;
|
||
|
|
(block "ADDRESS_MAPPING" struct {
|
||
|
|
ulong;
|
||
|
|
ulong;
|
||
|
|
ulong;
|
||
|
|
})*;
|
||
|
|
"PGM_VERIFY" ulong;
|
||
|
|
};
|
||
|
|
};
|
||
|
|
block "DAQ" struct {
|
||
|
|
enum {
|
||
|
|
"STATIC" = 0,
|
||
|
|
"DYNAMIC" = 1
|
||
|
|
};
|
||
|
|
uint;
|
||
|
|
uint;
|
||
|
|
uchar;
|
||
|
|
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;
|
||
|
|
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;
|
||
|
|
taggedstruct {
|
||
|
|
"BIT_STIM_SUPPORTED" ;
|
||
|
|
};
|
||
|
|
};
|
||
|
|
block "TIMESTAMP_SUPPORTED" struct {
|
||
|
|
uint;
|
||
|
|
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;
|
||
|
|
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;
|
||
|
|
taggedstruct {
|
||
|
|
("ODT_ENTRY" struct {
|
||
|
|
uchar;
|
||
|
|
ulong;
|
||
|
|
uchar;
|
||
|
|
uchar;
|
||
|
|
uchar;
|
||
|
|
})*;
|
||
|
|
};
|
||
|
|
})*;
|
||
|
|
};
|
||
|
|
};
|
||
|
|
})*;
|
||
|
|
(block "EVENT" struct {
|
||
|
|
char[101];
|
||
|
|
char[9];
|
||
|
|
uint;
|
||
|
|
enum {
|
||
|
|
"DAQ" = 1,
|
||
|
|
"STIM" = 2,
|
||
|
|
"DAQ_STIM" = 3
|
||
|
|
};
|
||
|
|
uchar;
|
||
|
|
uchar;
|
||
|
|
uchar;
|
||
|
|
uchar;
|
||
|
|
})*;
|
||
|
|
};
|
||
|
|
};
|
||
|
|
block "PAG" struct {
|
||
|
|
uchar;
|
||
|
|
taggedstruct {
|
||
|
|
"FREEZE_SUPPORTED" ;
|
||
|
|
};
|
||
|
|
};
|
||
|
|
block "PGM" struct {
|
||
|
|
enum {
|
||
|
|
"PGM_MODE_ABSOLUTE" = 1,
|
||
|
|
"PGM_MODE_FUNCTIONAL" = 2,
|
||
|
|
"PGM_MODE_ABSOLUTE_AND_FUNCTIONAL" = 3
|
||
|
|
};
|
||
|
|
uchar;
|
||
|
|
uchar;
|
||
|
|
taggedstruct {
|
||
|
|
(block "SECTOR" struct {
|
||
|
|
char[101];
|
||
|
|
uchar;
|
||
|
|
ulong;
|
||
|
|
ulong;
|
||
|
|
uchar;
|
||
|
|
uchar;
|
||
|
|
uchar;
|
||
|
|
})*;
|
||
|
|
"COMMUNICATION_MODE_SUPPORTED" taggedunion {
|
||
|
|
"BLOCK" taggedstruct {
|
||
|
|
"SLAVE" ;
|
||
|
|
"MASTER" struct {
|
||
|
|
uchar;
|
||
|
|
uchar;
|
||
|
|
};
|
||
|
|
};
|
||
|
|
"INTERLEAVED" uchar;
|
||
|
|
};
|
||
|
|
};
|
||
|
|
};
|
||
|
|
block "DAQ_EVENT" taggedunion {
|
||
|
|
"FIXED_EVENT_LIST" taggedstruct {
|
||
|
|
("EVENT" uint)*;
|
||
|
|
};
|
||
|
|
"VARIABLE" taggedstruct {
|
||
|
|
block "AVAILABLE_EVENT_LIST" taggedstruct {
|
||
|
|
("EVENT" uint)*;
|
||
|
|
};
|
||
|
|
block "DEFAULT_EVENT_LIST" taggedstruct {
|
||
|
|
("EVENT" uint)*;
|
||
|
|
};
|
||
|
|
};
|
||
|
|
};
|
||
|
|
};
|
||
|
|
};
|
||
|
|
block "XCP_ON_SxI" struct {
|
||
|
|
uint;
|
||
|
|
ulong;
|
||
|
|
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_WORD" = 2,
|
||
|
|
"HEADER_LEN_CTR_WORD" = 3
|
||
|
|
};
|
||
|
|
enum {
|
||
|
|
"NO_CHECKSUM" = 0,
|
||
|
|
"CHECKSUM_BYTE" = 1,
|
||
|
|
"CHECKSUM_WORD" = 2
|
||
|
|
};
|
||
|
|
taggedstruct {
|
||
|
|
block "PROTOCOL_LAYER" struct {
|
||
|
|
uint;
|
||
|
|
uint;
|
||
|
|
uint;
|
||
|
|
uint;
|
||
|
|
uint;
|
||
|
|
uint;
|
||
|
|
uint;
|
||
|
|
uint;
|
||
|
|
uchar;
|
||
|
|
uint;
|
||
|
|
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;
|
||
|
|
uchar;
|
||
|
|
};
|
||
|
|
};
|
||
|
|
"INTERLEAVED" uchar;
|
||
|
|
};
|
||
|
|
"SEED_AND_KEY_EXTERNAL_FUNCTION" char[256];
|
||
|
|
};
|
||
|
|
};
|
||
|
|
block "SEGMENT" struct {
|
||
|
|
uchar;
|
||
|
|
uchar;
|
||
|
|
uchar;
|
||
|
|
uchar;
|
||
|
|
uchar;
|
||
|
|
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];
|
||
|
|
};
|
||
|
|
};
|
||
|
|
(block "PAGE" struct {
|
||
|
|
uchar;
|
||
|
|
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;
|
||
|
|
};
|
||
|
|
})*;
|
||
|
|
(block "ADDRESS_MAPPING" struct {
|
||
|
|
ulong;
|
||
|
|
ulong;
|
||
|
|
ulong;
|
||
|
|
})*;
|
||
|
|
"PGM_VERIFY" ulong;
|
||
|
|
};
|
||
|
|
};
|
||
|
|
block "DAQ" struct {
|
||
|
|
enum {
|
||
|
|
"STATIC" = 0,
|
||
|
|
"DYNAMIC" = 1
|
||
|
|
};
|
||
|
|
uint;
|
||
|
|
uint;
|
||
|
|
uchar;
|
||
|
|
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;
|
||
|
|
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;
|
||
|
|
taggedstruct {
|
||
|
|
"BIT_STIM_SUPPORTED" ;
|
||
|
|
};
|
||
|
|
};
|
||
|
|
block "TIMESTAMP_SUPPORTED" struct {
|
||
|
|
uint;
|
||
|
|
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;
|
||
|
|
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;
|
||
|
|
taggedstruct {
|
||
|
|
("ODT_ENTRY" struct {
|
||
|
|
uchar;
|
||
|
|
ulong;
|
||
|
|
uchar;
|
||
|
|
uchar;
|
||
|
|
uchar;
|
||
|
|
})*;
|
||
|
|
};
|
||
|
|
})*;
|
||
|
|
};
|
||
|
|
};
|
||
|
|
})*;
|
||
|
|
(block "EVENT" struct {
|
||
|
|
char[101];
|
||
|
|
char[9];
|
||
|
|
uint;
|
||
|
|
enum {
|
||
|
|
"DAQ" = 1,
|
||
|
|
"STIM" = 2,
|
||
|
|
"DAQ_STIM" = 3
|
||
|
|
};
|
||
|
|
uchar;
|
||
|
|
uchar;
|
||
|
|
uchar;
|
||
|
|
uchar;
|
||
|
|
})*;
|
||
|
|
};
|
||
|
|
};
|
||
|
|
block "PAG" struct {
|
||
|
|
uchar;
|
||
|
|
taggedstruct {
|
||
|
|
"FREEZE_SUPPORTED" ;
|
||
|
|
};
|
||
|
|
};
|
||
|
|
block "PGM" struct {
|
||
|
|
enum {
|
||
|
|
"PGM_MODE_ABSOLUTE" = 1,
|
||
|
|
"PGM_MODE_FUNCTIONAL" = 2,
|
||
|
|
"PGM_MODE_ABSOLUTE_AND_FUNCTIONAL" = 3
|
||
|
|
};
|
||
|
|
uchar;
|
||
|
|
uchar;
|
||
|
|
taggedstruct {
|
||
|
|
(block "SECTOR" struct {
|
||
|
|
char[101];
|
||
|
|
uchar;
|
||
|
|
ulong;
|
||
|
|
ulong;
|
||
|
|
uchar;
|
||
|
|
uchar;
|
||
|
|
uchar;
|
||
|
|
})*;
|
||
|
|
"COMMUNICATION_MODE_SUPPORTED" taggedunion {
|
||
|
|
"BLOCK" taggedstruct {
|
||
|
|
"SLAVE" ;
|
||
|
|
"MASTER" struct {
|
||
|
|
uchar;
|
||
|
|
uchar;
|
||
|
|
};
|
||
|
|
};
|
||
|
|
"INTERLEAVED" uchar;
|
||
|
|
};
|
||
|
|
};
|
||
|
|
};
|
||
|
|
block "DAQ_EVENT" taggedunion {
|
||
|
|
"FIXED_EVENT_LIST" taggedstruct {
|
||
|
|
("EVENT" uint)*;
|
||
|
|
};
|
||
|
|
"VARIABLE" taggedstruct {
|
||
|
|
block "AVAILABLE_EVENT_LIST" taggedstruct {
|
||
|
|
("EVENT" uint)*;
|
||
|
|
};
|
||
|
|
block "DEFAULT_EVENT_LIST" taggedstruct {
|
||
|
|
("EVENT" uint)*;
|
||
|
|
};
|
||
|
|
};
|
||
|
|
};
|
||
|
|
};
|
||
|
|
};
|
||
|
|
block "XCP_ON_TCP_IP" struct {
|
||
|
|
uint;
|
||
|
|
uint;
|
||
|
|
taggedunion {
|
||
|
|
"HOST_NAME" char[256];
|
||
|
|
"ADDRESS" char[15];
|
||
|
|
};
|
||
|
|
taggedstruct {
|
||
|
|
block "PROTOCOL_LAYER" struct {
|
||
|
|
uint;
|
||
|
|
uint;
|
||
|
|
uint;
|
||
|
|
uint;
|
||
|
|
uint;
|
||
|
|
uint;
|
||
|
|
uint;
|
||
|
|
uint;
|
||
|
|
uchar;
|
||
|
|
uint;
|
||
|
|
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;
|
||
|
|
uchar;
|
||
|
|
};
|
||
|
|
};
|
||
|
|
"INTERLEAVED" uchar;
|
||
|
|
};
|
||
|
|
"SEED_AND_KEY_EXTERNAL_FUNCTION" char[256];
|
||
|
|
};
|
||
|
|
};
|
||
|
|
block "SEGMENT" struct {
|
||
|
|
uchar;
|
||
|
|
uchar;
|
||
|
|
uchar;
|
||
|
|
uchar;
|
||
|
|
uchar;
|
||
|
|
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];
|
||
|
|
};
|
||
|
|
};
|
||
|
|
(block "PAGE" struct {
|
||
|
|
uchar;
|
||
|
|
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;
|
||
|
|
};
|
||
|
|
})*;
|
||
|
|
(block "ADDRESS_MAPPING" struct {
|
||
|
|
ulong;
|
||
|
|
ulong;
|
||
|
|
ulong;
|
||
|
|
})*;
|
||
|
|
"PGM_VERIFY" ulong;
|
||
|
|
};
|
||
|
|
};
|
||
|
|
block "DAQ" struct {
|
||
|
|
enum {
|
||
|
|
"STATIC" = 0,
|
||
|
|
"DYNAMIC" = 1
|
||
|
|
};
|
||
|
|
uint;
|
||
|
|
uint;
|
||
|
|
uchar;
|
||
|
|
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;
|
||
|
|
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;
|
||
|
|
taggedstruct {
|
||
|
|
"BIT_STIM_SUPPORTED" ;
|
||
|
|
};
|
||
|
|
};
|
||
|
|
block "TIMESTAMP_SUPPORTED" struct {
|
||
|
|
uint;
|
||
|
|
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;
|
||
|
|
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;
|
||
|
|
taggedstruct {
|
||
|
|
("ODT_ENTRY" struct {
|
||
|
|
uchar;
|
||
|
|
ulong;
|
||
|
|
uchar;
|
||
|
|
uchar;
|
||
|
|
uchar;
|
||
|
|
})*;
|
||
|
|
};
|
||
|
|
})*;
|
||
|
|
};
|
||
|
|
};
|
||
|
|
})*;
|
||
|
|
(block "EVENT" struct {
|
||
|
|
char[101];
|
||
|
|
char[9];
|
||
|
|
uint;
|
||
|
|
enum {
|
||
|
|
"DAQ" = 1,
|
||
|
|
"STIM" = 2,
|
||
|
|
"DAQ_STIM" = 3
|
||
|
|
};
|
||
|
|
uchar;
|
||
|
|
uchar;
|
||
|
|
uchar;
|
||
|
|
uchar;
|
||
|
|
})*;
|
||
|
|
};
|
||
|
|
};
|
||
|
|
block "PAG" struct {
|
||
|
|
uchar;
|
||
|
|
taggedstruct {
|
||
|
|
"FREEZE_SUPPORTED" ;
|
||
|
|
};
|
||
|
|
};
|
||
|
|
block "PGM" struct {
|
||
|
|
enum {
|
||
|
|
"PGM_MODE_ABSOLUTE" = 1,
|
||
|
|
"PGM_MODE_FUNCTIONAL" = 2,
|
||
|
|
"PGM_MODE_ABSOLUTE_AND_FUNCTIONAL" = 3
|
||
|
|
};
|
||
|
|
uchar;
|
||
|
|
uchar;
|
||
|
|
taggedstruct {
|
||
|
|
(block "SECTOR" struct {
|
||
|
|
char[101];
|
||
|
|
uchar;
|
||
|
|
ulong;
|
||
|
|
ulong;
|
||
|
|
uchar;
|
||
|
|
uchar;
|
||
|
|
uchar;
|
||
|
|
})*;
|
||
|
|
"COMMUNICATION_MODE_SUPPORTED" taggedunion {
|
||
|
|
"BLOCK" taggedstruct {
|
||
|
|
"SLAVE" ;
|
||
|
|
"MASTER" struct {
|
||
|
|
uchar;
|
||
|
|
uchar;
|
||
|
|
};
|
||
|
|
};
|
||
|
|
"INTERLEAVED" uchar;
|
||
|
|
};
|
||
|
|
};
|
||
|
|
};
|
||
|
|
block "DAQ_EVENT" taggedunion {
|
||
|
|
"FIXED_EVENT_LIST" taggedstruct {
|
||
|
|
("EVENT" uint)*;
|
||
|
|
};
|
||
|
|
"VARIABLE" taggedstruct {
|
||
|
|
block "AVAILABLE_EVENT_LIST" taggedstruct {
|
||
|
|
("EVENT" uint)*;
|
||
|
|
};
|
||
|
|
block "DEFAULT_EVENT_LIST" taggedstruct {
|
||
|
|
("EVENT" uint)*;
|
||
|
|
};
|
||
|
|
};
|
||
|
|
};
|
||
|
|
};
|
||
|
|
};
|
||
|
|
block "XCP_ON_UDP_IP" struct {
|
||
|
|
uint;
|
||
|
|
uint;
|
||
|
|
taggedunion {
|
||
|
|
"HOST_NAME" char[256];
|
||
|
|
"ADDRESS" char[15];
|
||
|
|
};
|
||
|
|
taggedstruct {
|
||
|
|
block "PROTOCOL_LAYER" struct {
|
||
|
|
uint;
|
||
|
|
uint;
|
||
|
|
uint;
|
||
|
|
uint;
|
||
|
|
uint;
|
||
|
|
uint;
|
||
|
|
uint;
|
||
|
|
uint;
|
||
|
|
uchar;
|
||
|
|
uint;
|
||
|
|
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;
|
||
|
|
uchar;
|
||
|
|
};
|
||
|
|
};
|
||
|
|
"INTERLEAVED" uchar;
|
||
|
|
};
|
||
|
|
"SEED_AND_KEY_EXTERNAL_FUNCTION" char[256];
|
||
|
|
};
|
||
|
|
};
|
||
|
|
block "SEGMENT" struct {
|
||
|
|
uchar;
|
||
|
|
uchar;
|
||
|
|
uchar;
|
||
|
|
uchar;
|
||
|
|
uchar;
|
||
|
|
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];
|
||
|
|
};
|
||
|
|
};
|
||
|
|
(block "PAGE" struct {
|
||
|
|
uchar;
|
||
|
|
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;
|
||
|
|
};
|
||
|
|
})*;
|
||
|
|
(block "ADDRESS_MAPPING" struct {
|
||
|
|
ulong;
|
||
|
|
ulong;
|
||
|
|
ulong;
|
||
|
|
})*;
|
||
|
|
"PGM_VERIFY" ulong;
|
||
|
|
};
|
||
|
|
};
|
||
|
|
block "DAQ" struct {
|
||
|
|
enum {
|
||
|
|
"STATIC" = 0,
|
||
|
|
"DYNAMIC" = 1
|
||
|
|
};
|
||
|
|
uint;
|
||
|
|
uint;
|
||
|
|
uchar;
|
||
|
|
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;
|
||
|
|
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;
|
||
|
|
taggedstruct {
|
||
|
|
"BIT_STIM_SUPPORTED" ;
|
||
|
|
};
|
||
|
|
};
|
||
|
|
block "TIMESTAMP_SUPPORTED" struct {
|
||
|
|
uint;
|
||
|
|
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;
|
||
|
|
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;
|
||
|
|
taggedstruct {
|
||
|
|
("ODT_ENTRY" struct {
|
||
|
|
uchar;
|
||
|
|
ulong;
|
||
|
|
uchar;
|
||
|
|
uchar;
|
||
|
|
uchar;
|
||
|
|
})*;
|
||
|
|
};
|
||
|
|
})*;
|
||
|
|
};
|
||
|
|
};
|
||
|
|
})*;
|
||
|
|
(block "EVENT" struct {
|
||
|
|
char[101];
|
||
|
|
char[9];
|
||
|
|
uint;
|
||
|
|
enum {
|
||
|
|
"DAQ" = 1,
|
||
|
|
"STIM" = 2,
|
||
|
|
"DAQ_STIM" = 3
|
||
|
|
};
|
||
|
|
uchar;
|
||
|
|
uchar;
|
||
|
|
uchar;
|
||
|
|
uchar;
|
||
|
|
})*;
|
||
|
|
};
|
||
|
|
};
|
||
|
|
block "PAG" struct {
|
||
|
|
uchar;
|
||
|
|
taggedstruct {
|
||
|
|
"FREEZE_SUPPORTED" ;
|
||
|
|
};
|
||
|
|
};
|
||
|
|
block "PGM" struct {
|
||
|
|
enum {
|
||
|
|
"PGM_MODE_ABSOLUTE" = 1,
|
||
|
|
"PGM_MODE_FUNCTIONAL" = 2,
|
||
|
|
"PGM_MODE_ABSOLUTE_AND_FUNCTIONAL" = 3
|
||
|
|
};
|
||
|
|
uchar;
|
||
|
|
uchar;
|
||
|
|
taggedstruct {
|
||
|
|
(block "SECTOR" struct {
|
||
|
|
char[101];
|
||
|
|
uchar;
|
||
|
|
ulong;
|
||
|
|
ulong;
|
||
|
|
uchar;
|
||
|
|
uchar;
|
||
|
|
uchar;
|
||
|
|
})*;
|
||
|
|
"COMMUNICATION_MODE_SUPPORTED" taggedunion {
|
||
|
|
"BLOCK" taggedstruct {
|
||
|
|
"SLAVE" ;
|
||
|
|
"MASTER" struct {
|
||
|
|
uchar;
|
||
|
|
uchar;
|
||
|
|
};
|
||
|
|
};
|
||
|
|
"INTERLEAVED" uchar;
|
||
|
|
};
|
||
|
|
};
|
||
|
|
};
|
||
|
|
block "DAQ_EVENT" taggedunion {
|
||
|
|
"FIXED_EVENT_LIST" taggedstruct {
|
||
|
|
("EVENT" uint)*;
|
||
|
|
};
|
||
|
|
"VARIABLE" taggedstruct {
|
||
|
|
block "AVAILABLE_EVENT_LIST" taggedstruct {
|
||
|
|
("EVENT" uint)*;
|
||
|
|
};
|
||
|
|
block "DEFAULT_EVENT_LIST" taggedstruct {
|
||
|
|
("EVENT" uint)*;
|
||
|
|
};
|
||
|
|
};
|
||
|
|
};
|
||
|
|
};
|
||
|
|
};
|
||
|
|
block "XCP_ON_USB" struct {
|
||
|
|
uint;
|
||
|
|
uint;
|
||
|
|
uint;
|
||
|
|
uchar;
|
||
|
|
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 {
|
||
|
|
uchar;
|
||
|
|
enum {
|
||
|
|
"BULK_TRANSFER" = 2,
|
||
|
|
"INTERRUPT_TRANSFER" = 3
|
||
|
|
};
|
||
|
|
uint;
|
||
|
|
uchar;
|
||
|
|
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;
|
||
|
|
};
|
||
|
|
};
|
||
|
|
};
|
||
|
|
taggedunion {
|
||
|
|
block "IN_EP_RESERR_DAQ_EVSERV" struct {
|
||
|
|
uchar;
|
||
|
|
enum {
|
||
|
|
"BULK_TRANSFER" = 2,
|
||
|
|
"INTERRUPT_TRANSFER" = 3
|
||
|
|
};
|
||
|
|
uint;
|
||
|
|
uchar;
|
||
|
|
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;
|
||
|
|
};
|
||
|
|
};
|
||
|
|
};
|
||
|
|
taggedstruct {
|
||
|
|
"ALTERNATE_SETTING_NO" uchar;
|
||
|
|
"INTERFACE_STRING_DESCRIPTOR" char[101];
|
||
|
|
(block "OUT_EP_ONLY_STIM" struct {
|
||
|
|
uchar;
|
||
|
|
enum {
|
||
|
|
"BULK_TRANSFER" = 2,
|
||
|
|
"INTERRUPT_TRANSFER" = 3
|
||
|
|
};
|
||
|
|
uint;
|
||
|
|
uchar;
|
||
|
|
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;
|
||
|
|
};
|
||
|
|
})*;
|
||
|
|
(block "IN_EP_ONLY_DAQ" struct {
|
||
|
|
uchar;
|
||
|
|
enum {
|
||
|
|
"BULK_TRANSFER" = 2,
|
||
|
|
"INTERRUPT_TRANSFER" = 3
|
||
|
|
};
|
||
|
|
uint;
|
||
|
|
uchar;
|
||
|
|
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;
|
||
|
|
};
|
||
|
|
})*;
|
||
|
|
block "IN_EP_ONLY_EVSERV" struct {
|
||
|
|
uchar;
|
||
|
|
enum {
|
||
|
|
"BULK_TRANSFER" = 2,
|
||
|
|
"INTERRUPT_TRANSFER" = 3
|
||
|
|
};
|
||
|
|
uint;
|
||
|
|
uchar;
|
||
|
|
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;
|
||
|
|
};
|
||
|
|
};
|
||
|
|
(block "DAQ_LIST_USB_ENDPOINT" struct {
|
||
|
|
uint;
|
||
|
|
taggedstruct {
|
||
|
|
"FIXED_IN" uchar;
|
||
|
|
"FIXED_OUT" uchar;
|
||
|
|
};
|
||
|
|
})*;
|
||
|
|
block "PROTOCOL_LAYER" struct {
|
||
|
|
uint;
|
||
|
|
uint;
|
||
|
|
uint;
|
||
|
|
uint;
|
||
|
|
uint;
|
||
|
|
uint;
|
||
|
|
uint;
|
||
|
|
uint;
|
||
|
|
uchar;
|
||
|
|
uint;
|
||
|
|
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;
|
||
|
|
uchar;
|
||
|
|
};
|
||
|
|
};
|
||
|
|
"INTERLEAVED" uchar;
|
||
|
|
};
|
||
|
|
"SEED_AND_KEY_EXTERNAL_FUNCTION" char[256];
|
||
|
|
};
|
||
|
|
};
|
||
|
|
block "SEGMENT" struct {
|
||
|
|
uchar;
|
||
|
|
uchar;
|
||
|
|
uchar;
|
||
|
|
uchar;
|
||
|
|
uchar;
|
||
|
|
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];
|
||
|
|
};
|
||
|
|
};
|
||
|
|
(block "PAGE" struct {
|
||
|
|
uchar;
|
||
|
|
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;
|
||
|
|
};
|
||
|
|
})*;
|
||
|
|
(block "ADDRESS_MAPPING" struct {
|
||
|
|
ulong;
|
||
|
|
ulong;
|
||
|
|
ulong;
|
||
|
|
})*;
|
||
|
|
"PGM_VERIFY" ulong;
|
||
|
|
};
|
||
|
|
};
|
||
|
|
block "DAQ" struct {
|
||
|
|
enum {
|
||
|
|
"STATIC" = 0,
|
||
|
|
"DYNAMIC" = 1
|
||
|
|
};
|
||
|
|
uint;
|
||
|
|
uint;
|
||
|
|
uchar;
|
||
|
|
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;
|
||
|
|
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;
|
||
|
|
taggedstruct {
|
||
|
|
"BIT_STIM_SUPPORTED" ;
|
||
|
|
};
|
||
|
|
};
|
||
|
|
block "TIMESTAMP_SUPPORTED" struct {
|
||
|
|
uint;
|
||
|
|
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;
|
||
|
|
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;
|
||
|
|
taggedstruct {
|
||
|
|
("ODT_ENTRY" struct {
|
||
|
|
uchar;
|
||
|
|
ulong;
|
||
|
|
uchar;
|
||
|
|
uchar;
|
||
|
|
uchar;
|
||
|
|
})*;
|
||
|
|
};
|
||
|
|
})*;
|
||
|
|
};
|
||
|
|
};
|
||
|
|
})*;
|
||
|
|
(block "EVENT" struct {
|
||
|
|
char[101];
|
||
|
|
char[9];
|
||
|
|
uint;
|
||
|
|
enum {
|
||
|
|
"DAQ" = 1,
|
||
|
|
"STIM" = 2,
|
||
|
|
"DAQ_STIM" = 3
|
||
|
|
};
|
||
|
|
uchar;
|
||
|
|
uchar;
|
||
|
|
uchar;
|
||
|
|
uchar;
|
||
|
|
})*;
|
||
|
|
};
|
||
|
|
};
|
||
|
|
block "PAG" struct {
|
||
|
|
uchar;
|
||
|
|
taggedstruct {
|
||
|
|
"FREEZE_SUPPORTED" ;
|
||
|
|
};
|
||
|
|
};
|
||
|
|
block "PGM" struct {
|
||
|
|
enum {
|
||
|
|
"PGM_MODE_ABSOLUTE" = 1,
|
||
|
|
"PGM_MODE_FUNCTIONAL" = 2,
|
||
|
|
"PGM_MODE_ABSOLUTE_AND_FUNCTIONAL" = 3
|
||
|
|
};
|
||
|
|
uchar;
|
||
|
|
uchar;
|
||
|
|
taggedstruct {
|
||
|
|
(block "SECTOR" struct {
|
||
|
|
char[101];
|
||
|
|
uchar;
|
||
|
|
ulong;
|
||
|
|
ulong;
|
||
|
|
uchar;
|
||
|
|
uchar;
|
||
|
|
uchar;
|
||
|
|
})*;
|
||
|
|
"COMMUNICATION_MODE_SUPPORTED" taggedunion {
|
||
|
|
"BLOCK" taggedstruct {
|
||
|
|
"SLAVE" ;
|
||
|
|
"MASTER" struct {
|
||
|
|
uchar;
|
||
|
|
uchar;
|
||
|
|
};
|
||
|
|
};
|
||
|
|
"INTERLEAVED" uchar;
|
||
|
|
};
|
||
|
|
};
|
||
|
|
};
|
||
|
|
block "DAQ_EVENT" taggedunion {
|
||
|
|
"FIXED_EVENT_LIST" taggedstruct {
|
||
|
|
("EVENT" uint)*;
|
||
|
|
};
|
||
|
|
"VARIABLE" taggedstruct {
|
||
|
|
block "AVAILABLE_EVENT_LIST" taggedstruct {
|
||
|
|
("EVENT" uint)*;
|
||
|
|
};
|
||
|
|
block "DEFAULT_EVENT_LIST" taggedstruct {
|
||
|
|
("EVENT" uint)*;
|
||
|
|
};
|
||
|
|
};
|
||
|
|
};
|
||
|
|
};
|
||
|
|
};
|
||
|
|
};
|
||
|
|
};
|
||
|
|
|
||
|
|
|
||
|
|
};
|
||
|
|
/end A2ML
|
||
|
|
|
||
|
|
|
||
|
|
|
||
|
|
/* ============================================================================================== */
|
||
|
|
/* */
|
||
|
|
/* Common parameters valid for the whole ASAP2 file */
|
||
|
|
/* */
|
||
|
|
/* ============================================================================================== */
|
||
|
|
|
||
|
|
|
||
|
|
/begin MOD_COMMON ""
|
||
|
|
DEPOSIT ABSOLUTE
|
||
|
|
BYTE_ORDER MSB_LAST
|
||
|
|
ALIGNMENT_BYTE 1
|
||
|
|
ALIGNMENT_WORD 2
|
||
|
|
ALIGNMENT_LONG 4
|
||
|
|
ALIGNMENT_FLOAT32_IEEE 4
|
||
|
|
ALIGNMENT_FLOAT64_IEEE 4
|
||
|
|
/end MOD_COMMON
|
||
|
|
|
||
|
|
|
||
|
|
/* ============================================================================================== */
|
||
|
|
/* */
|
||
|
|
/* XCP Interface description */
|
||
|
|
/* */
|
||
|
|
/* ============================================================================================== */
|
||
|
|
|
||
|
|
|
||
|
|
/begin IF_DATA XCP
|
||
|
|
/begin PROTOCOL_LAYER
|
||
|
|
0x100 0x20 0x20 0x20 0x20 0x20 0x20 0x20 0x8 0x8 BYTE_ORDER_MSB_LAST ADDRESS_GRANULARITY_BYTE
|
||
|
|
OPTIONAL_CMD SET_REQUEST
|
||
|
|
OPTIONAL_CMD GET_SEED
|
||
|
|
OPTIONAL_CMD UNLOCK
|
||
|
|
OPTIONAL_CMD SET_MTA
|
||
|
|
OPTIONAL_CMD SHORT_DOWNLOAD
|
||
|
|
OPTIONAL_CMD PROGRAM_START
|
||
|
|
OPTIONAL_CMD PROGRAM_CLEAR
|
||
|
|
OPTIONAL_CMD PROGRAM
|
||
|
|
OPTIONAL_CMD PROGRAM_RESET
|
||
|
|
OPTIONAL_CMD GET_PGM_PROCESSOR_INFO
|
||
|
|
OPTIONAL_CMD GET_SECTOR_INFO
|
||
|
|
OPTIONAL_CMD PROGRAM_PREPARE
|
||
|
|
OPTIONAL_CMD PROGRAM_NEXT
|
||
|
|
OPTIONAL_CMD PROGRAM_MAX
|
||
|
|
OPTIONAL_CMD PROGRAM_VERIFY
|
||
|
|
OPTIONAL_CMD TRANSPORT_LAYER_CMD
|
||
|
|
OPTIONAL_CMD GET_ID
|
||
|
|
OPTIONAL_CMD UPLOAD
|
||
|
|
OPTIONAL_CMD SHORT_UPLOAD
|
||
|
|
OPTIONAL_CMD BUILD_CHECKSUM
|
||
|
|
OPTIONAL_CMD DOWNLOAD_NEXT
|
||
|
|
OPTIONAL_CMD SET_CAL_PAGE
|
||
|
|
OPTIONAL_CMD GET_CAL_PAGE
|
||
|
|
OPTIONAL_CMD CLEAR_DAQ_LIST
|
||
|
|
OPTIONAL_CMD SET_DAQ_PTR
|
||
|
|
OPTIONAL_CMD WRITE_DAQ
|
||
|
|
OPTIONAL_CMD SET_DAQ_LIST_MODE
|
||
|
|
OPTIONAL_CMD GET_DAQ_LIST_MODE
|
||
|
|
OPTIONAL_CMD START_STOP_DAQ_LIST
|
||
|
|
OPTIONAL_CMD FREE_DAQ
|
||
|
|
OPTIONAL_CMD ALLOC_DAQ
|
||
|
|
OPTIONAL_CMD ALLOC_ODT
|
||
|
|
OPTIONAL_CMD ALLOC_ODT_ENTRY
|
||
|
|
OPTIONAL_CMD START_STOP_SYNCH
|
||
|
|
OPTIONAL_CMD DOWNLOAD
|
||
|
|
OPTIONAL_CMD MODIFY_BITS
|
||
|
|
OPTIONAL_CMD GET_PAG_PROCESSOR_INFO
|
||
|
|
OPTIONAL_CMD GET_SEGMENT_INFO
|
||
|
|
OPTIONAL_CMD GET_PAGE_INFO
|
||
|
|
OPTIONAL_CMD SET_SEGMENT_MODE
|
||
|
|
OPTIONAL_CMD GET_SEGMENT_MODE
|
||
|
|
OPTIONAL_CMD COPY_CAL_PAGE
|
||
|
|
OPTIONAL_CMD GET_DAQ_CLOCK
|
||
|
|
OPTIONAL_CMD READ_DAQ
|
||
|
|
OPTIONAL_CMD GET_DAQ_LIST_MODE
|
||
|
|
OPTIONAL_CMD DOWNLOAD_MAX
|
||
|
|
COMMUNICATION_MODE_SUPPORTED
|
||
|
|
BLOCK
|
||
|
|
SLAVE
|
||
|
|
MASTER 0x14 0x5
|
||
|
|
/end PROTOCOL_LAYER
|
||
|
|
/begin DAQ
|
||
|
|
STATIC 0x3 0x2 0x0 OPTIMISATION_TYPE_DEFAULT ADDRESS_EXTENSION_DAQ IDENTIFICATION_FIELD_TYPE_ABSOLUTE GRANULARITY_ODT_ENTRY_SIZE_DAQ_BYTE 0x4 OVERLOAD_INDICATION_EVENT
|
||
|
|
PRESCALER_SUPPORTED
|
||
|
|
/begin TIMESTAMP_SUPPORTED
|
||
|
|
0x1 SIZE_DWORD UNIT_1US
|
||
|
|
/end TIMESTAMP_SUPPORTED
|
||
|
|
/begin DAQ_LIST
|
||
|
|
0x0
|
||
|
|
DAQ_LIST_TYPE DAQ
|
||
|
|
MAX_ODT 0x5
|
||
|
|
MAX_ODT_ENTRIES 0x7
|
||
|
|
/end DAQ_LIST
|
||
|
|
/begin DAQ_LIST
|
||
|
|
0x1
|
||
|
|
DAQ_LIST_TYPE DAQ
|
||
|
|
MAX_ODT 0x4
|
||
|
|
MAX_ODT_ENTRIES 0x7
|
||
|
|
/end DAQ_LIST
|
||
|
|
/begin DAQ_LIST
|
||
|
|
0x2
|
||
|
|
DAQ_LIST_TYPE DAQ
|
||
|
|
MAX_ODT 0x3
|
||
|
|
MAX_ODT_ENTRIES 0x7
|
||
|
|
/end DAQ_LIST
|
||
|
|
/begin EVENT
|
||
|
|
"5ms" "5ms" 0x0 DAQ 0xFF 0x5 0x6 0xFF
|
||
|
|
/end EVENT
|
||
|
|
/begin EVENT
|
||
|
|
"extEvent" "extEvent" 0x1 DAQ 0xFF 0x1 0x9 0xFF
|
||
|
|
/end EVENT
|
||
|
|
/end DAQ
|
||
|
|
/begin XCP_ON_CAN
|
||
|
|
0x100
|
||
|
|
CAN_ID_BROADCAST 0x52
|
||
|
|
CAN_ID_MASTER 0x51
|
||
|
|
CAN_ID_SLAVE 0x50
|
||
|
|
BAUDRATE 0x7A120
|
||
|
|
/end XCP_ON_CAN
|
||
|
|
/end IF_DATA
|
||
|
|
|
||
|
|
|
||
|
|
|
||
|
|
/* ============================================================================================== */
|
||
|
|
/* */
|
||
|
|
/* MOD_PAR with the memory segment descriptions */
|
||
|
|
/* */
|
||
|
|
/* ============================================================================================== */
|
||
|
|
|
||
|
|
|
||
|
|
/begin MOD_PAR ""
|
||
|
|
NO_OF_INTERFACES 1
|
||
|
|
|
||
|
|
/begin MEMORY_SEGMENT ECU_Code
|
||
|
|
"Memory segment for code part of the ECU"
|
||
|
|
DATA FLASH EXTERN 0x16000 0x86C -1 -1 -1 -1 -1
|
||
|
|
/begin IF_DATA XCP
|
||
|
|
/begin SEGMENT
|
||
|
|
0x0 0x2 0x0 0x0 0x0
|
||
|
|
/begin PAGE
|
||
|
|
0x0 ECU_ACCESS_DONT_CARE XCP_READ_ACCESS_WITH_ECU_ONLY XCP_WRITE_ACCESS_NOT_ALLOWED
|
||
|
|
/end PAGE
|
||
|
|
/begin PAGE
|
||
|
|
0x1 ECU_ACCESS_DONT_CARE XCP_READ_ACCESS_WITH_ECU_ONLY XCP_WRITE_ACCESS_WITH_ECU_ONLY
|
||
|
|
/end PAGE
|
||
|
|
/end SEGMENT
|
||
|
|
/end IF_DATA
|
||
|
|
/end MEMORY_SEGMENT
|
||
|
|
|
||
|
|
/begin MEMORY_SEGMENT ECU_Data
|
||
|
|
"Memory segment for parameters"
|
||
|
|
DATA FLASH EXTERN 0x810000 0x10000 -1 -1 -1 -1 -1
|
||
|
|
/end MEMORY_SEGMENT
|
||
|
|
|
||
|
|
SYSTEM_CONSTANT "System_Constant_1" "-3.45"
|
||
|
|
SYSTEM_CONSTANT "System_Constant_2" "5.67"
|
||
|
|
SYSTEM_CONSTANT "System_Constant_3" "Text in System Constant"
|
||
|
|
|
||
|
|
/end MOD_PAR
|
||
|
|
|
||
|
|
|
||
|
|
/* ============================================================================================== */
|
||
|
|
/* */
|
||
|
|
/* Computation Methods used to convert the ECU internal values to the physical values */
|
||
|
|
/* */
|
||
|
|
/* the types IDENTICAL, LINEAR and RAT_FUNC should be used as standard */
|
||
|
|
/* */
|
||
|
|
/* ============================================================================================== */
|
||
|
|
|
||
|
|
|
||
|
|
/begin COMPU_METHOD tstCom_CM_double
|
||
|
|
"conversion that delivers always phys = int"
|
||
|
|
IDENTICAL "%3.0" "hours"
|
||
|
|
/end COMPU_METHOD
|
||
|
|
|
||
|
|
/begin COMPU_METHOD CM.IDENTICAL
|
||
|
|
"conversion that delivers always phys = int"
|
||
|
|
IDENTICAL "%3.0" "hours"
|
||
|
|
/end COMPU_METHOD
|
||
|
|
|
||
|
|
/begin COMPU_METHOD CM.LINEAR.IDENT
|
||
|
|
"Linear function with parameter set for phys = f(int) = 1*int + 0"
|
||
|
|
LINEAR "%3.1" "m/s"
|
||
|
|
COEFFS_LINEAR 1 0
|
||
|
|
/end COMPU_METHOD
|
||
|
|
|
||
|
|
/begin COMPU_METHOD CM.LINEAR.MUL_2
|
||
|
|
"Linear function with parameter set for phys = f(int) = 2*int + 0"
|
||
|
|
LINEAR "%3.1" "m/s"
|
||
|
|
COEFFS_LINEAR 2 0
|
||
|
|
/end COMPU_METHOD
|
||
|
|
|
||
|
|
/begin COMPU_METHOD CM.RAT_FUNC.IDENT
|
||
|
|
"rational function with parameter set for int = f(phys) = phys"
|
||
|
|
RAT_FUNC "%3.1" "m/s"
|
||
|
|
COEFFS 0 1 0 0 0 1
|
||
|
|
/end COMPU_METHOD
|
||
|
|
|
||
|
|
/begin COMPU_METHOD CM.RAT_FUNC.DIV_10
|
||
|
|
"rational function with parameter set for impl = f(phys) = phys * 10"
|
||
|
|
RAT_FUNC "%3.1" "km/h"
|
||
|
|
COEFFS 0 10 0 0 0 1
|
||
|
|
/end COMPU_METHOD
|
||
|
|
|
||
|
|
/begin COMPU_METHOD CM.RAT_FUNC.DIV_81_9175
|
||
|
|
"rational function with parameter set for impl = f(phys) = phys * 81.9175"
|
||
|
|
RAT_FUNC "%8.4" "grad C"
|
||
|
|
COEFFS 0 81.9175 0 0 0 1
|
||
|
|
/end COMPU_METHOD
|
||
|
|
|
||
|
|
|
||
|
|
/* ============================================================================================== */
|
||
|
|
/* */
|
||
|
|
/* type FORM should only be used if the computation is complex and not feasible by RAT_FUNC */
|
||
|
|
/* */
|
||
|
|
/* Note: */
|
||
|
|
/* FORM is neccessary for VIRTUAL measuerments */
|
||
|
|
/* */
|
||
|
|
/* ============================================================================================== */
|
||
|
|
|
||
|
|
/begin COMPU_METHOD CM.FORM.X_PLUS_4
|
||
|
|
""
|
||
|
|
FORM
|
||
|
|
"%6.1"
|
||
|
|
"rpm"
|
||
|
|
/begin FORMULA
|
||
|
|
"X1+4"
|
||
|
|
FORMULA_INV "X1-4"
|
||
|
|
/end FORMULA
|
||
|
|
/end COMPU_METHOD
|
||
|
|
|
||
|
|
|
||
|
|
/begin COMPU_METHOD CM.VIRTUAL.EXTERNAL_VALUE
|
||
|
|
""
|
||
|
|
FORM
|
||
|
|
"%6.1"
|
||
|
|
"rpm"
|
||
|
|
/begin FORMULA
|
||
|
|
"4*X1" /* FORMULA_INV not needed here */
|
||
|
|
/end FORMULA
|
||
|
|
/end COMPU_METHOD
|
||
|
|
|
||
|
|
|
||
|
|
/* ============================================================================================== */
|
||
|
|
/* */
|
||
|
|
/* type TAB_INTP and TAB_NOINTP should only be used if the computation is complex and not */
|
||
|
|
/* feasible by RAT_FUNC */
|
||
|
|
/* */
|
||
|
|
/* ============================================================================================== */
|
||
|
|
|
||
|
|
/begin COMPU_METHOD CM.TAB_INTP.DEFAULT_VALUE
|
||
|
|
""
|
||
|
|
TAB_INTP "%8.4" "U/ min "
|
||
|
|
COMPU_TAB_REF CM.TAB_INTP.DEFAULT_VALUE.REF
|
||
|
|
/end COMPU_METHOD
|
||
|
|
|
||
|
|
/begin COMPU_TAB CM.TAB_INTP.DEFAULT_VALUE.REF
|
||
|
|
""
|
||
|
|
TAB_INTP
|
||
|
|
12
|
||
|
|
-3 98
|
||
|
|
-1 99
|
||
|
|
0 100
|
||
|
|
2 102
|
||
|
|
4 104
|
||
|
|
5 105
|
||
|
|
6 106
|
||
|
|
7 107
|
||
|
|
8 108
|
||
|
|
9 109
|
||
|
|
10 110
|
||
|
|
13 111
|
||
|
|
DEFAULT_VALUE_NUMERIC 300.56 /* DEFAULT_VALUE_NUMERIC should be used here as the normal output is numeric */
|
||
|
|
/end COMPU_TAB
|
||
|
|
|
||
|
|
/begin COMPU_METHOD CM.TAB_INTP.NO_DEFAULT_VALUE
|
||
|
|
""
|
||
|
|
TAB_INTP "%8.4" "U/ min "
|
||
|
|
COMPU_TAB_REF CM.TAB_INTP.NO_DEFAULT_VALUE.REF
|
||
|
|
/end COMPU_METHOD
|
||
|
|
|
||
|
|
/begin COMPU_TAB CM.TAB_INTP.NO_DEFAULT_VALUE.REF
|
||
|
|
""
|
||
|
|
TAB_INTP
|
||
|
|
12
|
||
|
|
-3 98
|
||
|
|
-1 99
|
||
|
|
0 100
|
||
|
|
2 102
|
||
|
|
4 104
|
||
|
|
5 105
|
||
|
|
6 106
|
||
|
|
7 107
|
||
|
|
8 108
|
||
|
|
9 109
|
||
|
|
10 110
|
||
|
|
13 111
|
||
|
|
/end COMPU_TAB
|
||
|
|
|
||
|
|
|
||
|
|
/begin COMPU_METHOD CM.TAB_NOINTP.DEFAULT_VALUE
|
||
|
|
""
|
||
|
|
TAB_INTP "%8.4" "U/ min "
|
||
|
|
COMPU_TAB_REF CM.TAB_NOINTP.DEFAULT_VALUE.REF
|
||
|
|
/end COMPU_METHOD
|
||
|
|
|
||
|
|
/begin COMPU_TAB CM.TAB_NOINTP.DEFAULT_VALUE.REF
|
||
|
|
""
|
||
|
|
TAB_NOINTP
|
||
|
|
12
|
||
|
|
-3 98
|
||
|
|
-1 99
|
||
|
|
0 100
|
||
|
|
2 102
|
||
|
|
4 104
|
||
|
|
5 105
|
||
|
|
6 106
|
||
|
|
7 107
|
||
|
|
8 108
|
||
|
|
9 109
|
||
|
|
10 110
|
||
|
|
13 111
|
||
|
|
DEFAULT_VALUE_NUMERIC 300.56 /* DEFAULT_VALUE_NUMERIC should be used here as the normal output is numeric */
|
||
|
|
/end COMPU_TAB
|
||
|
|
|
||
|
|
/begin COMPU_METHOD CM.TAB_NOINTP.NO_DEFAULT_VALUE
|
||
|
|
""
|
||
|
|
TAB_INTP "%8.4" "U/ min "
|
||
|
|
COMPU_TAB_REF CM.TAB_NOINTP.NO_DEFAULT_VALUE.REF
|
||
|
|
/end COMPU_METHOD
|
||
|
|
|
||
|
|
/begin COMPU_TAB CM.TAB_NOINTP.NO_DEFAULT_VALUE.REF
|
||
|
|
""
|
||
|
|
TAB_NOINTP
|
||
|
|
12
|
||
|
|
-3 98
|
||
|
|
-1 99
|
||
|
|
0 100
|
||
|
|
2 102
|
||
|
|
4 104
|
||
|
|
5 105
|
||
|
|
6 106
|
||
|
|
7 107
|
||
|
|
8 108
|
||
|
|
9 109
|
||
|
|
10 110
|
||
|
|
13 111
|
||
|
|
/end COMPU_TAB
|
||
|
|
|
||
|
|
|
||
|
|
/* ============================================================================================== */
|
||
|
|
/* */
|
||
|
|
/* type TAB_VERB and TAB_VERB_RANGE allow to convert to text */
|
||
|
|
/* */
|
||
|
|
/* Note: */
|
||
|
|
/* Testbench with ASAP3 do not support text. It is common use that the MCD tools transfer the */
|
||
|
|
/* internal value instead */
|
||
|
|
/* */
|
||
|
|
/* ============================================================================================== */
|
||
|
|
|
||
|
|
/begin COMPU_METHOD CM.TAB_VERB.DEFAULT_VALUE
|
||
|
|
"Verbal conversion with default value"
|
||
|
|
TAB_VERB "%12.0" ""
|
||
|
|
COMPU_TAB_REF CM.TAB_VERB.DEFAULT_VALUE.REF
|
||
|
|
/end COMPU_METHOD
|
||
|
|
/begin COMPU_VTAB CM.TAB_VERB.DEFAULT_VALUE.REF
|
||
|
|
"List of text strings and relation to impl value"
|
||
|
|
TAB_VERB 3
|
||
|
|
1 "SawTooth"
|
||
|
|
2 "Square"
|
||
|
|
3 "Sinus"
|
||
|
|
DEFAULT_VALUE "unknown signal type"
|
||
|
|
/end COMPU_VTAB
|
||
|
|
|
||
|
|
/begin COMPU_METHOD CM.TAB_VERB.NO_DEFAULT_VALUE
|
||
|
|
"Verbal conversion without default value"
|
||
|
|
TAB_VERB "%12.0" ""
|
||
|
|
COMPU_TAB_REF CM.TAB_VERB.NO_DEFAULT_VALUE.REF
|
||
|
|
/end COMPU_METHOD
|
||
|
|
/begin COMPU_VTAB CM.TAB_VERB.NO_DEFAULT_VALUE.REF
|
||
|
|
"List of text strings and relation to impl value"
|
||
|
|
TAB_VERB 6
|
||
|
|
2 "red"
|
||
|
|
3 "orange"
|
||
|
|
4 "yellow"
|
||
|
|
5 "green"
|
||
|
|
6 "blue"
|
||
|
|
7 "violet"
|
||
|
|
/end COMPU_VTAB
|
||
|
|
|
||
|
|
|
||
|
|
/begin COMPU_METHOD CM.VTAB_RANGE.DEFAULT_VALUE
|
||
|
|
"verbal range with default value"
|
||
|
|
TAB_VERB
|
||
|
|
"%4.2"
|
||
|
|
""
|
||
|
|
COMPU_TAB_REF CM.VTAB_RANGE.DEFAULT_VALUE.REF
|
||
|
|
/end COMPU_METHOD
|
||
|
|
|
||
|
|
/begin COMPU_VTAB_RANGE CM.VTAB_RANGE.DEFAULT_VALUE.REF
|
||
|
|
""
|
||
|
|
11
|
||
|
|
0 1 "Zero_to_one"
|
||
|
|
2 3 "two_to_three"
|
||
|
|
4 7 "four_to_seven"
|
||
|
|
14 17 "fourteen_to_seventeen"
|
||
|
|
18 99 "eigteen_to_ninetynine"
|
||
|
|
100 100 "hundred"
|
||
|
|
101 101 "hundredone"
|
||
|
|
102 102 "hundredtwo"
|
||
|
|
103 103 "hundredthree"
|
||
|
|
104 104 "hundredfour"
|
||
|
|
105 105 "hundredfive"
|
||
|
|
DEFAULT_VALUE "out of range value"
|
||
|
|
/end COMPU_VTAB_RANGE
|
||
|
|
|
||
|
|
/begin COMPU_METHOD CM.VTAB_RANGE.NO_DEFAULT_VALUE
|
||
|
|
"verbal range without default value"
|
||
|
|
TAB_VERB
|
||
|
|
"%4.2"
|
||
|
|
""
|
||
|
|
COMPU_TAB_REF CM.VTAB_RANGE.NO_DEFAULT_VALUE.REF
|
||
|
|
/end COMPU_METHOD
|
||
|
|
|
||
|
|
/begin COMPU_VTAB_RANGE CM.VTAB_RANGE.NO_DEFAULT_VALUE.REF
|
||
|
|
""
|
||
|
|
11
|
||
|
|
0 1 "Zero_to_one"
|
||
|
|
2 3 "two_to_three"
|
||
|
|
4 7 "four_to_seven"
|
||
|
|
14 17 "fourteen_to_seventeen"
|
||
|
|
18 99 "eigteen_to_ninetynine"
|
||
|
|
100 100 "hundred"
|
||
|
|
101 101 "hundredone"
|
||
|
|
102 102 "hundredtwo"
|
||
|
|
103 103 "hundredthree"
|
||
|
|
104 104 "hundredfour"
|
||
|
|
105 105 "hundredfive"
|
||
|
|
/end COMPU_VTAB_RANGE
|
||
|
|
|
||
|
|
|
||
|
|
/* ============================================================================================== */
|
||
|
|
/* */
|
||
|
|
/* Measurements */
|
||
|
|
/* */
|
||
|
|
/* Note: */
|
||
|
|
/* In this example the values for Resolution and Accuracy are set to "0" as they are normally */
|
||
|
|
/* not evaluated by measurement and calibration tools */
|
||
|
|
/* It is allowed to use the same address for multiple measurements. By this it is possible */
|
||
|
|
/* to use different bitmasks / computation methods for the same int value */
|
||
|
|
/* */
|
||
|
|
/* Note: */
|
||
|
|
/* There is for each data type one example */
|
||
|
|
/* With one data type (UBYTE) there is for each computation method an example */
|
||
|
|
/* */
|
||
|
|
/* ============================================================================================== */
|
||
|
|
|
||
|
|
|
||
|
|
/begin MEASUREMENT ASAM.M.SCALAR.UBYTE.IDENTICAL
|
||
|
|
"Scalar measurement"
|
||
|
|
UBYTE CM.IDENTICAL 0 0 0 255
|
||
|
|
ECU_ADDRESS 0x13A00
|
||
|
|
FORMAT "%5.0" /* Note: Overwrites the format stated in the computation method */
|
||
|
|
DISPLAY_IDENTIFIER DI.ASAM.M.SCALAR.UBYTE.IDENTICAL /* optional display identifier */
|
||
|
|
/end MEASUREMENT
|
||
|
|
|
||
|
|
/begin MEASUREMENT ASAM.M.SCALAR.UBYTE.TAB_VERB_DEFAULT_VALUE
|
||
|
|
"Scalar measurement with verbal conversion and default value"
|
||
|
|
UBYTE CM.TAB_VERB.DEFAULT_VALUE 0 0 0 255
|
||
|
|
ECU_ADDRESS 0x13A00 /* same address as SAM.SCALAR.UBYTE.IDENTICAL -> same int value but different phys value */
|
||
|
|
/end MEASUREMENT
|
||
|
|
|
||
|
|
/begin MEASUREMENT ASAM.M.SCALAR.UBYTE.TAB_VERB_NO_DEFAULT_VALUE
|
||
|
|
"Scalar measurement with verbal conversion"
|
||
|
|
UBYTE CM.TAB_VERB.NO_DEFAULT_VALUE 0 0 0 255
|
||
|
|
ECU_ADDRESS 0x13A00 /* same address as SAM.SCALAR.UBYTE.IDENTICAL -> same int value but different phys value */
|
||
|
|
/end MEASUREMENT
|
||
|
|
|
||
|
|
/begin MEASUREMENT ASAM.M.SCALAR.UBYTE.VTAB_RANGE_DEFAULT_VALUE
|
||
|
|
"Scalar measurement with verbal conversion and default value"
|
||
|
|
UBYTE CM.VTAB_RANGE.DEFAULT_VALUE 0 0 0 255
|
||
|
|
ECU_ADDRESS 0x13A00 /* same address as SAM.SCALAR.UBYTE.IDENTICAL -> same int value but different phys value */
|
||
|
|
/end MEASUREMENT
|
||
|
|
|
||
|
|
/begin MEASUREMENT ASAM.M.SCALAR.UBYTE.VTAB_RANGE_NO_DEFAULT_VALUE
|
||
|
|
"Scalar measurement with verbal conversion and default value"
|
||
|
|
UBYTE CM.VTAB_RANGE.NO_DEFAULT_VALUE 0 0 0 101 /* the limits should not exceed the limits of the computation method ! otherwise the physical representation could be misleading */
|
||
|
|
ECU_ADDRESS 0x13A00 /* same address as SAM.SCALAR.UBYTE.IDENTICAL -> same int value but different phys value */
|
||
|
|
/end MEASUREMENT
|
||
|
|
|
||
|
|
/begin MEASUREMENT ASAM.M.SCALAR.UBYTE.TAB_INTP_DEFAULT_VALUE
|
||
|
|
"Scalar measurement with verbal conversion and default value"
|
||
|
|
UBYTE CM.TAB_INTP.DEFAULT_VALUE 0 0 0 255
|
||
|
|
ECU_ADDRESS 0x13A00 /* same address as SAM.SCALAR.UBYTE.IDENTICAL -> same int value but different phys value */
|
||
|
|
/end MEASUREMENT
|
||
|
|
|
||
|
|
/begin MEASUREMENT ASAM.M.SCALAR.UBYTE.TAB_INTP_NO_DEFAULT_VALUE
|
||
|
|
"Scalar measurement with verbal conversion and default value"
|
||
|
|
UBYTE CM.TAB_INTP.NO_DEFAULT_VALUE 0 0 0 13 /* the limits should not exceed the limits of the computation method ! otherwise the physical representation could be misleading */
|
||
|
|
ECU_ADDRESS 0x13A00 /* same address as SAM.SCALAR.UBYTE.IDENTICAL -> same int value but different phys value */
|
||
|
|
/end MEASUREMENT
|
||
|
|
|
||
|
|
/begin MEASUREMENT ASAM.M.SCALAR.UBYTE.TAB_NOINTP_DEFAULT_VALUE
|
||
|
|
"Scalar measurement with verbal conversion and default value"
|
||
|
|
UBYTE CM.TAB_NOINTP.DEFAULT_VALUE 0 0 0 255
|
||
|
|
ECU_ADDRESS 0x13A00 /* same address as SAM.SCALAR.UBYTE.IDENTICAL -> same int value but different phys value */
|
||
|
|
/end MEASUREMENT
|
||
|
|
|
||
|
|
/begin MEASUREMENT ASAM.M.SCALAR.UBYTE.TAB_NOINTP_NO_DEFAULT_VALUE
|
||
|
|
"Scalar measurement with verbal conversion and default value"
|
||
|
|
UBYTE CM.TAB_NOINTP.NO_DEFAULT_VALUE 0 0 0 13 /* the limits should not exceed the limits of the computation method ! otherwise the physical representation could be misleading */
|
||
|
|
ECU_ADDRESS 0x13A00 /* same address as SAM.SCALAR.UBYTE.IDENTICAL -> same int value but different phys value */
|
||
|
|
/end MEASUREMENT
|
||
|
|
|
||
|
|
/begin MEASUREMENT ASAM.M.SCALAR.UBYTE.FORM_X_PLUS_4
|
||
|
|
"Scalar measurement"
|
||
|
|
UBYTE CM.FORM.X_PLUS_4 0 0 4 259
|
||
|
|
ECU_ADDRESS 0x13A00
|
||
|
|
FORMAT "%5.0" /* Note: Overwrites the format stated in the computation method */
|
||
|
|
/end MEASUREMENT
|
||
|
|
|
||
|
|
/begin MEASUREMENT ASAM.M.SCALAR.SBYTE.IDENTICAL
|
||
|
|
"Scalar measurement"
|
||
|
|
SBYTE CM.IDENTICAL 0 0 -128 127
|
||
|
|
ECU_ADDRESS 0x13A01
|
||
|
|
FORMAT "%5.0"
|
||
|
|
/end MEASUREMENT
|
||
|
|
|
||
|
|
/begin MEASUREMENT ASAM.M.SCALAR.SBYTE.LINEAR_MUL_2
|
||
|
|
"Scalar measurement"
|
||
|
|
SBYTE CM.LINEAR.MUL_2 0 0 -256 254
|
||
|
|
ECU_ADDRESS 0x13A01 /* same address as ASAM.M.SCALAR.SBYTE.IDENTICAL -> same int value but different phys value */
|
||
|
|
FORMAT "%5.0"
|
||
|
|
/end MEASUREMENT
|
||
|
|
|
||
|
|
/begin MEASUREMENT ASAM.M.SCALAR.UWORD.IDENTICAL
|
||
|
|
"Scalar measurement"
|
||
|
|
UWORD CM.IDENTICAL 0 0 0 65535
|
||
|
|
ECU_ADDRESS 0x13A02
|
||
|
|
FORMAT "%5.0"
|
||
|
|
/end MEASUREMENT
|
||
|
|
|
||
|
|
/begin MEASUREMENT ASAM.M.SCALAR.SWORD.IDENTICAL
|
||
|
|
"Scalar measurement"
|
||
|
|
SWORD CM.IDENTICAL 0 0 -32268 32267
|
||
|
|
ECU_ADDRESS 0x13A04
|
||
|
|
FORMAT "%5.0"
|
||
|
|
/end MEASUREMENT
|
||
|
|
|
||
|
|
/begin MEASUREMENT ASAM.M.SCALAR.ULONG.IDENTICAL
|
||
|
|
"Scalar measurement"
|
||
|
|
ULONG CM.IDENTICAL 0 0 0 4294967295
|
||
|
|
ECU_ADDRESS 0x13A08
|
||
|
|
FORMAT "%5.0"
|
||
|
|
/end MEASUREMENT
|
||
|
|
|
||
|
|
/begin MEASUREMENT ASAM.M.SCALAR.SLONG.IDENTICAL
|
||
|
|
"Scalar measurement"
|
||
|
|
SLONG CM.IDENTICAL 0 0 -2147483648 2147483647
|
||
|
|
ECU_ADDRESS 0x13A0C
|
||
|
|
FORMAT "%5.0"
|
||
|
|
/end MEASUREMENT
|
||
|
|
|
||
|
|
/begin MEASUREMENT ASAM.M.SCALAR.FLOAT32.IDENTICAL
|
||
|
|
"Scalar measurement"
|
||
|
|
FLOAT32_IEEE CM.IDENTICAL 0 0 -1e24 1e24
|
||
|
|
ECU_ADDRESS 0x13A10
|
||
|
|
FORMAT "%8.4"
|
||
|
|
/end MEASUREMENT
|
||
|
|
|
||
|
|
/begin MEASUREMENT ASAM.M.SCALAR.FLOAT64.IDENTICAL
|
||
|
|
"Scalar measurement"
|
||
|
|
FLOAT64_IEEE CM.IDENTICAL 0 0 -1e308 1e308
|
||
|
|
ECU_ADDRESS 0x13A14
|
||
|
|
FORMAT "%8.4"
|
||
|
|
/end MEASUREMENT
|
||
|
|
|
||
|
|
/begin MEASUREMENT ASAM.M.SCALAR.UWORD.IDENTICAL.BITMASK_0FF0
|
||
|
|
"Scalar measurement with Bitmask for a bit-area"
|
||
|
|
UWORD CM.IDENTICAL 0 0 0 255
|
||
|
|
BIT_MASK 0x0FF0
|
||
|
|
ECU_ADDRESS 0x13A20
|
||
|
|
FORMAT "%5.0"
|
||
|
|
/end MEASUREMENT
|
||
|
|
|
||
|
|
/begin MEASUREMENT ASAM.M.SCALAR.UWORD.IDENTICAL.BITMASK_0008
|
||
|
|
"Scalar measurement with Bitmask for a single bit"
|
||
|
|
UWORD CM.IDENTICAL 0 0 0 1
|
||
|
|
BIT_MASK 0x0008
|
||
|
|
ECU_ADDRESS 0x13A20
|
||
|
|
FORMAT "%5.0"
|
||
|
|
/end MEASUREMENT
|
||
|
|
|
||
|
|
|
||
|
|
/begin MEASUREMENT ASAM.M.ARRAY_SIZE_16.UBYTE.IDENTICAL
|
||
|
|
"Scalar measurement"
|
||
|
|
UBYTE CM.IDENTICAL 0 0 0 255
|
||
|
|
ECU_ADDRESS 0x13A30
|
||
|
|
FORMAT "%5.0"
|
||
|
|
ARRAY_SIZE 16 /* Note: ARRAY_SIZE allows only 1 dimension. For more dimensions use MATRIX_DIM */
|
||
|
|
/end MEASUREMENT
|
||
|
|
|
||
|
|
|
||
|
|
/begin MEASUREMENT ASAM.M.MATRIX_DIM_16_1_1.UBYTE.IDENTICAL
|
||
|
|
"Scalar measurement"
|
||
|
|
UBYTE CM.IDENTICAL 0 0 0 255
|
||
|
|
ECU_ADDRESS 0x13A30
|
||
|
|
FORMAT "%5.0"
|
||
|
|
MATRIX_DIM 16 1 1
|
||
|
|
/end MEASUREMENT
|
||
|
|
|
||
|
|
/begin MEASUREMENT ASAM.M.MATRIX_DIM_8_2_1.UBYTE.IDENTICAL
|
||
|
|
"Scalar measurement"
|
||
|
|
UBYTE CM.IDENTICAL 0 0 0 255
|
||
|
|
ECU_ADDRESS 0x13A30
|
||
|
|
FORMAT "%5.0"
|
||
|
|
MATRIX_DIM 8 2 1
|
||
|
|
/end MEASUREMENT
|
||
|
|
|
||
|
|
/begin MEASUREMENT ASAM.M.MATRIX_DIM_8_4_2.UBYTE.IDENTICAL
|
||
|
|
"Scalar measurement"
|
||
|
|
UBYTE CM.IDENTICAL 0 0 0 255
|
||
|
|
ECU_ADDRESS 0x13A30
|
||
|
|
FORMAT "%5.0"
|
||
|
|
MATRIX_DIM 8 4 2
|
||
|
|
/end MEASUREMENT
|
||
|
|
|
||
|
|
|
||
|
|
/begin MEASUREMENT ASAM.M.VIRTUAL.SCALAR.SWORD.PHYSICAL
|
||
|
|
"Virtual measurement with 2 * ASAM.M.SCALAR.SBYTE.LINEAR_MUL_2 as input (based on the phys value of ASAM.M.SCALAR.SBYTE.LINEAR_MUL_2"
|
||
|
|
SWORD
|
||
|
|
CM.VIRTUAL.EXTERNAL_VALUE /* computation method defines how the virtual measurement is calculated out of the input measurement */
|
||
|
|
0 0 -32768 32767
|
||
|
|
ECU_ADDRESS 0x0 /* no real address, measurement value is calculated by the MCD tool */
|
||
|
|
/begin VIRTUAL
|
||
|
|
ASAM.M.SCALAR.SBYTE.LINEAR_MUL_2 /* defines the input used for the computation metthod */
|
||
|
|
/end VIRTUAL
|
||
|
|
/end MEASUREMENT
|
||
|
|
|
||
|
|
|
||
|
|
|
||
|
|
|
||
|
|
/* ============================================================================================== */
|
||
|
|
/* */
|
||
|
|
/* Record Layouts for Characteristics (Parameters) */
|
||
|
|
/* */
|
||
|
|
/* ============================================================================================== */
|
||
|
|
|
||
|
|
|
||
|
|
/begin RECORD_LAYOUT Scalar_FLOAT64_IEEE
|
||
|
|
FNC_VALUES 1 FLOAT64 ROW_DIR DIRECT
|
||
|
|
/end RECORD_LAYOUT
|
||
|
|
|
||
|
|
/begin RECORD_LAYOUT RL.FNC.UBYTE.ROW_DIR
|
||
|
|
FNC_VALUES 1 UBYTE ROW_DIR DIRECT
|
||
|
|
/end RECORD_LAYOUT
|
||
|
|
|
||
|
|
/begin RECORD_LAYOUT RL.FNC.SBYTE.ROW_DIR
|
||
|
|
FNC_VALUES 1 SBYTE ROW_DIR DIRECT
|
||
|
|
/end RECORD_LAYOUT
|
||
|
|
|
||
|
|
/begin RECORD_LAYOUT RL.FNC.UWORD.ROW_DIR
|
||
|
|
FNC_VALUES 1 UWORD ROW_DIR DIRECT
|
||
|
|
/end RECORD_LAYOUT
|
||
|
|
|
||
|
|
/begin RECORD_LAYOUT RL.FNC.SWORD.ROW_DIR
|
||
|
|
FNC_VALUES 1 SWORD ROW_DIR DIRECT
|
||
|
|
/end RECORD_LAYOUT
|
||
|
|
|
||
|
|
/begin RECORD_LAYOUT RL.FNC.ULONG.ROW_DIR
|
||
|
|
FNC_VALUES 1 ULONG ROW_DIR DIRECT
|
||
|
|
/end RECORD_LAYOUT
|
||
|
|
|
||
|
|
/begin RECORD_LAYOUT RL.FNC.SLONG.ROW_DIR
|
||
|
|
FNC_VALUES 1 SLONG ROW_DIR DIRECT
|
||
|
|
/end RECORD_LAYOUT
|
||
|
|
|
||
|
|
/begin RECORD_LAYOUT RL.FNC.FLOAT32_IEEE.ROW_DIR
|
||
|
|
FNC_VALUES 1 FLOAT32_IEEE ROW_DIR DIRECT
|
||
|
|
/end RECORD_LAYOUT
|
||
|
|
|
||
|
|
/begin RECORD_LAYOUT RL.FNC.FLOAT64_IEEE.ROW_DIR
|
||
|
|
FNC_VALUES 1 FLOAT64_IEEE ROW_DIR DIRECT
|
||
|
|
/end RECORD_LAYOUT
|
||
|
|
|
||
|
|
/begin RECORD_LAYOUT RL.FNC.UBYTE.COLUMN_DIR
|
||
|
|
FNC_VALUES 1 UBYTE COLUMN_DIR DIRECT
|
||
|
|
/end RECORD_LAYOUT
|
||
|
|
|
||
|
|
/begin RECORD_LAYOUT RL.FNC.SBYTE.COLUMN_DIR
|
||
|
|
FNC_VALUES 1 SBYTE COLUMN_DIR DIRECT
|
||
|
|
/end RECORD_LAYOUT
|
||
|
|
|
||
|
|
/begin RECORD_LAYOUT RL.FNC.UWORD.COLUMN_DIR
|
||
|
|
FNC_VALUES 1 UWORD COLUMN_DIR DIRECT
|
||
|
|
/end RECORD_LAYOUT
|
||
|
|
|
||
|
|
/begin RECORD_LAYOUT RL.FNC.SWORD.COLUMN_DIR
|
||
|
|
FNC_VALUES 1 SWORD COLUMN_DIR DIRECT
|
||
|
|
/end RECORD_LAYOUT
|
||
|
|
|
||
|
|
/begin RECORD_LAYOUT RL.FNC.ULONG.COLUMN_DIR
|
||
|
|
FNC_VALUES 1 ULONG COLUMN_DIR DIRECT
|
||
|
|
/end RECORD_LAYOUT
|
||
|
|
|
||
|
|
/begin RECORD_LAYOUT RL.FNC.SLONG.COLUMN_DIR
|
||
|
|
FNC_VALUES 1 SLONG COLUMN_DIR DIRECT
|
||
|
|
/end RECORD_LAYOUT
|
||
|
|
|
||
|
|
/begin RECORD_LAYOUT RL.FNC.FLOAT32_IEEE.COLUMN_DIR
|
||
|
|
FNC_VALUES 1 FLOAT32_IEEE COLUMN_DIR DIRECT
|
||
|
|
/end RECORD_LAYOUT
|
||
|
|
|
||
|
|
/begin RECORD_LAYOUT RL.FNC.FLOAT64_IEEE.COLUMN_DIR
|
||
|
|
FNC_VALUES 1 FLOAT64_IEEE COLUMN_DIR DIRECT
|
||
|
|
/end RECORD_LAYOUT
|
||
|
|
|
||
|
|
|
||
|
|
/begin RECORD_LAYOUT RL.AXIS.UBYTE
|
||
|
|
AXIS_PTS_X 1 UBYTE INDEX_INCR DIRECT
|
||
|
|
/end RECORD_LAYOUT
|
||
|
|
|
||
|
|
/begin RECORD_LAYOUT RL.AXIS.UWORD
|
||
|
|
AXIS_PTS_X 1 UWORD INDEX_INCR DIRECT
|
||
|
|
/end RECORD_LAYOUT
|
||
|
|
|
||
|
|
|
||
|
|
/begin RECORD_LAYOUT RL.CURVE.SWORD.SBYTE.DECR
|
||
|
|
NO_AXIS_PTS_X 1 UBYTE /* current number of axis points */
|
||
|
|
AXIS_PTS_X 2 SBYTE INDEX_DECR DIRECT
|
||
|
|
FNC_VALUES 3 SWORD ROW_DIR DIRECT
|
||
|
|
/end RECORD_LAYOUT
|
||
|
|
|
||
|
|
/begin RECORD_LAYOUT RL.CURVE.SWORD.SBYTE.INCR
|
||
|
|
NO_AXIS_PTS_X 1 UBYTE /* current number of axis points */
|
||
|
|
AXIS_PTS_X 2 SBYTE INDEX_INCR DIRECT
|
||
|
|
FNC_VALUES 3 SWORD ROW_DIR DIRECT
|
||
|
|
/end RECORD_LAYOUT
|
||
|
|
|
||
|
|
/begin RECORD_LAYOUT RL.AXIS_PTS.SBYTE.DECR
|
||
|
|
NO_AXIS_PTS_X 1 UBYTE /* current number of axis points */
|
||
|
|
AXIS_PTS_X 2 SBYTE INDEX_DECR DIRECT
|
||
|
|
/end RECORD_LAYOUT
|
||
|
|
|
||
|
|
/begin RECORD_LAYOUT RL.AXIS_PTS.RES_AXIS
|
||
|
|
NO_RESCALE_X 1 UBYTE
|
||
|
|
RESERVED 2 BYTE /* to adapt the start of the rescale pairs to an even address */
|
||
|
|
AXIS_RESCALE_X 3 UBYTE 5 INDEX_INCR DIRECT
|
||
|
|
/end RECORD_LAYOUT
|
||
|
|
|
||
|
|
/begin RECORD_LAYOUT RL.MAP.SWORD.SBYTE.SBYTE.INCR
|
||
|
|
NO_AXIS_PTS_X 1 UBYTE /* current number of axis points */
|
||
|
|
NO_AXIS_PTS_Y 2 UBYTE /* current number of axis points */
|
||
|
|
AXIS_PTS_X 3 SBYTE INDEX_INCR DIRECT
|
||
|
|
AXIS_PTS_Y 4 SBYTE INDEX_INCR DIRECT
|
||
|
|
FNC_VALUES 5 SWORD ROW_DIR DIRECT
|
||
|
|
/end RECORD_LAYOUT
|
||
|
|
|
||
|
|
/begin RECORD_LAYOUT RL.CUBOID.SWORD.SBYTE.DECR
|
||
|
|
NO_AXIS_PTS_Z 1 UBYTE /* current number of axis points */
|
||
|
|
AXIS_PTS_Z 2 SBYTE INDEX_DECR DIRECT
|
||
|
|
FNC_VALUES 3 SWORD ROW_DIR DIRECT
|
||
|
|
/end RECORD_LAYOUT
|
||
|
|
|
||
|
|
|
||
|
|
/* ============================================================================================== */
|
||
|
|
/* */
|
||
|
|
/* Scalar Characteristics (Parameters) */
|
||
|
|
/* */
|
||
|
|
/* Note: */
|
||
|
|
/* MAX_DIF is always set to 0 as it is normally not evaluated by measurement and calibration tools */
|
||
|
|
/* */
|
||
|
|
/* Note: */
|
||
|
|
/* There is for each data type one example */
|
||
|
|
/* With one data type (SWORD) there is for each computation method an example */
|
||
|
|
/* */
|
||
|
|
/* ============================================================================================== */
|
||
|
|
|
||
|
|
////////////////////////////
|
||
|
|
|
||
|
|
|
||
|
|
/begin CHARACTERISTIC
|
||
|
|
tstCom_cal_impl.Analoginput_P11
|
||
|
|
""
|
||
|
|
VAL_BLK
|
||
|
|
0x0023F7D0
|
||
|
|
Scalar_FLOAT64_IEEE
|
||
|
|
0
|
||
|
|
tstCom_CM_double
|
||
|
|
-1.7E+308
|
||
|
|
1.7E+308
|
||
|
|
/end CHARACTERISTIC
|
||
|
|
|
||
|
|
/begin CHARACTERISTIC
|
||
|
|
tstCom_cal_impl.Analoginput_P12
|
||
|
|
""
|
||
|
|
VALUE
|
||
|
|
0x0023F800
|
||
|
|
Scalar_FLOAT64_IEEE 0
|
||
|
|
tstCom_CM_double
|
||
|
|
-1.7E+308
|
||
|
|
1.7E+308
|
||
|
|
/end CHARACTERISTIC
|
||
|
|
|
||
|
|
/begin CHARACTERISTIC tstCom_cal_impl.Analoginput_P2 ""
|
||
|
|
VALUE 0x0023F5D0 Scalar_FLOAT64_IEEE 0 tstCom_CM_double -1.7E+308 1.7E+308
|
||
|
|
/end CHARACTERISTIC
|
||
|
|
|
||
|
|
/begin CHARACTERISTIC tstCom_cal_impl.Analoginput_P3 ""
|
||
|
|
VALUE 0x0023F5E8 Scalar_FLOAT64_IEEE 0 tstCom_CM_double -1.7E+308 1.7E+308
|
||
|
|
/end CHARACTERISTIC
|
||
|
|
////////////////////////////
|
||
|
|
|
||
|
|
|
||
|
|
/begin CHARACTERISTIC ASAM.C.SCALAR.UBYTE.IDENTICAL
|
||
|
|
"Scalar FW U16 and CDF20 as name"
|
||
|
|
VALUE
|
||
|
|
0x810000
|
||
|
|
RL.FNC.UBYTE.ROW_DIR /* ROW_DIR / COLUMN_DIR is here exchangeable as only one value is stored */
|
||
|
|
0
|
||
|
|
CM.IDENTICAL
|
||
|
|
10 200
|
||
|
|
EXTENDED_LIMITS 0 256
|
||
|
|
DISPLAY_IDENTIFIER DI.ASAM.C.SCALAR.UBYTE
|
||
|
|
/end CHARACTERISTIC
|
||
|
|
|
||
|
|
/begin CHARACTERISTIC ASAM.C.SCALAR.SBYTE.IDENTICAL
|
||
|
|
"Scalar SBYTE"
|
||
|
|
VALUE
|
||
|
|
0x810001
|
||
|
|
RL.FNC.SBYTE.ROW_DIR /* ROW_DIR / COLUMN_DIR is here exchangeable as only one value is stored */
|
||
|
|
0
|
||
|
|
CM.IDENTICAL
|
||
|
|
-100 100
|
||
|
|
EXTENDED_LIMITS -128 127
|
||
|
|
FORMAT "%6.1" /* overwrites the format given in the computation method */
|
||
|
|
DISPLAY_IDENTIFIER DI.ASAM.C.SCALAR.SBYTE.IDENTICAL
|
||
|
|
/end CHARACTERISTIC
|
||
|
|
|
||
|
|
/begin CHARACTERISTIC ASAM.C.SCALAR.UWORD.IDENTICAL
|
||
|
|
"Scalar UWORD"
|
||
|
|
VALUE
|
||
|
|
0x810002
|
||
|
|
RL.FNC.UWORD.ROW_DIR /* ROW_DIR / COLUMN_DIR is here exchangeable as only one value is stored */
|
||
|
|
0
|
||
|
|
CM.IDENTICAL
|
||
|
|
0 65535
|
||
|
|
EXTENDED_LIMITS 0 65535
|
||
|
|
BIT_MASK 0xFFFF
|
||
|
|
FORMAT "%5.0"
|
||
|
|
DISPLAY_IDENTIFIER DI.ASAM.C.SCALAR.UWORD.IDENTICAL
|
||
|
|
/begin ANNOTATION
|
||
|
|
ANNOTATION_LABEL "ASAM Workinggroup"
|
||
|
|
ANNOTATION_ORIGIN ""
|
||
|
|
/begin ANNOTATION_TEXT
|
||
|
|
"Test the A2L annotation"
|
||
|
|
/end ANNOTATION_TEXT
|
||
|
|
/end ANNOTATION
|
||
|
|
/end CHARACTERISTIC
|
||
|
|
|
||
|
|
/begin CHARACTERISTIC ASAM.C.SCALAR.UWORD.IDENTICAL.BITMASK_0FF0
|
||
|
|
"Scalar UWORD"
|
||
|
|
VALUE
|
||
|
|
0x810002
|
||
|
|
RL.FNC.UWORD.ROW_DIR /* ROW_DIR / COLUMN_DIR is here exchangeable as only one value is stored */
|
||
|
|
0
|
||
|
|
CM.IDENTICAL
|
||
|
|
0 255
|
||
|
|
EXTENDED_LIMITS 0 65535
|
||
|
|
BIT_MASK 0x0FF0
|
||
|
|
FORMAT "%5.0"
|
||
|
|
DISPLAY_IDENTIFIER DI.ASAM.C.SCALAR.UWORD.IDENTICAL.BITMASK_0FF0
|
||
|
|
/end CHARACTERISTIC
|
||
|
|
|
||
|
|
/begin CHARACTERISTIC ASAM.C.SCALAR.UWORD.IDENTICAL.BITMASK_0001
|
||
|
|
"Scalar UWORD"
|
||
|
|
VALUE
|
||
|
|
0x810002
|
||
|
|
RL.FNC.UWORD.ROW_DIR /* ROW_DIR / COLUMN_DIR is here exchangeable as only one value is stored */
|
||
|
|
0
|
||
|
|
CM.IDENTICAL
|
||
|
|
0 1
|
||
|
|
EXTENDED_LIMITS 0 65535
|
||
|
|
BIT_MASK 0x0001
|
||
|
|
FORMAT "%5.0"
|
||
|
|
DISPLAY_IDENTIFIER DI.ASAM.C.SCALAR.UWORD.IDENTICAL.BITMASK_0001
|
||
|
|
/end CHARACTERISTIC
|
||
|
|
|
||
|
|
/begin CHARACTERISTIC ASAM.C.SCALAR.UWORD.IDENTICAL.BITMASK_0010
|
||
|
|
"Scalar UWORD"
|
||
|
|
VALUE
|
||
|
|
0x810002
|
||
|
|
RL.FNC.UWORD.ROW_DIR /* ROW_DIR / COLUMN_DIR is here exchangeable as only one value is stored */
|
||
|
|
0
|
||
|
|
CM.IDENTICAL
|
||
|
|
0 1
|
||
|
|
EXTENDED_LIMITS 0 65535
|
||
|
|
BIT_MASK 0x0010
|
||
|
|
FORMAT "%5.0"
|
||
|
|
DISPLAY_IDENTIFIER DI.ASAM.C.SCALAR.UWORD.IDENTICAL.BITMASK_0010
|
||
|
|
/end CHARACTERISTIC
|
||
|
|
|
||
|
|
/begin CHARACTERISTIC ASAM.C.SCALAR.SWORD.IDENTICAL
|
||
|
|
"Scalar SWORD"
|
||
|
|
VALUE
|
||
|
|
0x810004
|
||
|
|
RL.FNC.SWORD.ROW_DIR /* ROW_DIR / COLUMN_DIR is here exchangeable as only one value is stored */
|
||
|
|
0
|
||
|
|
CM.IDENTICAL
|
||
|
|
-10000 20000
|
||
|
|
EXTENDED_LIMITS -32268 32267
|
||
|
|
DISPLAY_IDENTIFIER DI.ASAM.C.SCALAR.SWORD.IDENTICAL
|
||
|
|
/end CHARACTERISTIC
|
||
|
|
|
||
|
|
/begin CHARACTERISTIC ASAM.C.SCALAR.SWORD.LINEAR_MUL_2
|
||
|
|
"Scalar SWORD"
|
||
|
|
VALUE
|
||
|
|
0x810004
|
||
|
|
RL.FNC.SWORD.ROW_DIR /* ROW_DIR / COLUMN_DIR is here exchangeable as only one value is stored */
|
||
|
|
0
|
||
|
|
CM.LINEAR.MUL_2
|
||
|
|
-10000 20000
|
||
|
|
EXTENDED_LIMITS -32268 32267
|
||
|
|
DISPLAY_IDENTIFIER DI.ASAM.C.SCALAR.SWORD.LINEAR_MUL_2
|
||
|
|
/end CHARACTERISTIC
|
||
|
|
|
||
|
|
/begin CHARACTERISTIC ASAM.C.SCALAR.SWORD.RAT_FUNC_DIV_10
|
||
|
|
"Scalar SWORD"
|
||
|
|
VALUE
|
||
|
|
0x810004
|
||
|
|
RL.FNC.SWORD.ROW_DIR /* ROW_DIR / COLUMN_DIR is here exchangeable as only one value is stored */
|
||
|
|
0
|
||
|
|
CM.RAT_FUNC.DIV_10
|
||
|
|
-10000 20000
|
||
|
|
EXTENDED_LIMITS -32268 32267
|
||
|
|
DISPLAY_IDENTIFIER DI.ASAM.C.SCALAR.SWORD.RAT_FUNC_DIV_10
|
||
|
|
/end CHARACTERISTIC
|
||
|
|
|
||
|
|
/begin CHARACTERISTIC ASAM.C.SCALAR.SWORD.FORM_X_PLUS_4
|
||
|
|
"Scalar SWORD"
|
||
|
|
VALUE
|
||
|
|
0x810004
|
||
|
|
RL.FNC.SWORD.ROW_DIR /* ROW_DIR / COLUMN_DIR is here exchangeable as only one value is stored */
|
||
|
|
0
|
||
|
|
CM.FORM.X_PLUS_4
|
||
|
|
-10000 20000
|
||
|
|
EXTENDED_LIMITS -32268 32267
|
||
|
|
DISPLAY_IDENTIFIER DI.ASAM.C.SCALAR.SWORD.FORM_X_PLUS_4
|
||
|
|
/end CHARACTERISTIC
|
||
|
|
|
||
|
|
/begin CHARACTERISTIC ASAM.C.SCALAR.SWORD.TAB_INTP_DEFAULT_VALUE
|
||
|
|
"Scalar SWORD"
|
||
|
|
VALUE
|
||
|
|
0x810004
|
||
|
|
RL.FNC.SWORD.ROW_DIR /* ROW_DIR / COLUMN_DIR is here exchangeable as only one value is stored */
|
||
|
|
0
|
||
|
|
CM.TAB_INTP.DEFAULT_VALUE
|
||
|
|
-10000 20000
|
||
|
|
EXTENDED_LIMITS -32268 32267
|
||
|
|
DISPLAY_IDENTIFIER DI.ASAM.C.SCALAR.SWORD.TAB_INTP_DEFAULT_VALUE
|
||
|
|
/end CHARACTERISTIC
|
||
|
|
|
||
|
|
/begin CHARACTERISTIC ASAM.C.SCALAR.SWORD.TAB_INTP_NO_DEFAULT_VALUE
|
||
|
|
"Scalar SWORD"
|
||
|
|
VALUE
|
||
|
|
0x810004
|
||
|
|
RL.FNC.SWORD.ROW_DIR /* ROW_DIR / COLUMN_DIR is here exchangeable as only one value is stored */
|
||
|
|
0
|
||
|
|
CM.TAB_INTP.NO_DEFAULT_VALUE
|
||
|
|
-10000 20000
|
||
|
|
EXTENDED_LIMITS -32268 32267
|
||
|
|
DISPLAY_IDENTIFIER DI.ASAM.C.SCALAR.SWORD.TAB_INTP_NO_DEFAULT_VALUE
|
||
|
|
/end CHARACTERISTIC
|
||
|
|
|
||
|
|
/begin CHARACTERISTIC ASAM.C.SCALAR.SWORD.TAB_NOINTP_DEFAULT_VALUE
|
||
|
|
"Scalar SWORD"
|
||
|
|
VALUE
|
||
|
|
0x810004
|
||
|
|
RL.FNC.SWORD.ROW_DIR /* ROW_DIR / COLUMN_DIR is here exchangeable as only one value is stored */
|
||
|
|
0
|
||
|
|
CM.TAB_NOINTP.DEFAULT_VALUE
|
||
|
|
-10000 20000
|
||
|
|
EXTENDED_LIMITS -32268 32267
|
||
|
|
DISPLAY_IDENTIFIER DI.ASAM.C.SCALAR.SWORD.TAB_NOINTP_DEFAULT_VALUE
|
||
|
|
/end CHARACTERISTIC
|
||
|
|
|
||
|
|
/begin CHARACTERISTIC ASAM.C.SCALAR.SWORD.TAB_NOINTP_NO_DEFAULT_VALUE
|
||
|
|
"Scalar SWORD"
|
||
|
|
VALUE
|
||
|
|
0x810004
|
||
|
|
RL.FNC.SWORD.ROW_DIR /* ROW_DIR / COLUMN_DIR is here exchangeable as only one value is stored */
|
||
|
|
0
|
||
|
|
CM.TAB_NOINTP.NO_DEFAULT_VALUE
|
||
|
|
-10000 20000
|
||
|
|
EXTENDED_LIMITS -32268 32267
|
||
|
|
DISPLAY_IDENTIFIER DI.ASAM.C.SCALAR.SWORD.TAB_NOINTP_NO_DEFAULT_VALUE
|
||
|
|
/end CHARACTERISTIC
|
||
|
|
|
||
|
|
/begin CHARACTERISTIC ASAM.C.SCALAR.SWORD.TAB_VERB_DEFAULT_VALUE
|
||
|
|
"Scalar SWORD"
|
||
|
|
VALUE
|
||
|
|
0x810004
|
||
|
|
RL.FNC.SWORD.ROW_DIR /* ROW_DIR / COLUMN_DIR is here exchangeable as only one value is stored */
|
||
|
|
0
|
||
|
|
CM.TAB_VERB.DEFAULT_VALUE
|
||
|
|
-10000 20000
|
||
|
|
EXTENDED_LIMITS -32268 32267
|
||
|
|
DISPLAY_IDENTIFIER DI.ASAM.C.SCALAR.SWORD.TAB_VERB_DEFAULT_VALUE
|
||
|
|
/end CHARACTERISTIC
|
||
|
|
|
||
|
|
/begin CHARACTERISTIC ASAM.C.SCALAR.SWORD.TAB_VERB_NO_DEFAULT_VALUE
|
||
|
|
"Scalar SWORD"
|
||
|
|
VALUE
|
||
|
|
0x810004
|
||
|
|
RL.FNC.SWORD.ROW_DIR /* ROW_DIR / COLUMN_DIR is here exchangeable as only one value is stored */
|
||
|
|
0
|
||
|
|
CM.TAB_VERB.NO_DEFAULT_VALUE
|
||
|
|
-10000 20000
|
||
|
|
EXTENDED_LIMITS -32268 32267
|
||
|
|
DISPLAY_IDENTIFIER DI.ASAM.C.SCALAR.SWORD.TAB_VERB_NO_DEFAULT_VALUE
|
||
|
|
/end CHARACTERISTIC
|
||
|
|
|
||
|
|
/begin CHARACTERISTIC ASAM.C.SCALAR.SWORD.VTAB_RANGE_DEFAULT_VALUE
|
||
|
|
"Scalar SWORD"
|
||
|
|
VALUE
|
||
|
|
0x810004
|
||
|
|
RL.FNC.SWORD.ROW_DIR /* ROW_DIR / COLUMN_DIR is here exchangeable as only one value is stored */
|
||
|
|
0
|
||
|
|
CM.VTAB_RANGE.DEFAULT_VALUE
|
||
|
|
-10000 20000
|
||
|
|
EXTENDED_LIMITS -32268 32267
|
||
|
|
DISPLAY_IDENTIFIER DI.ASAM.C.SCALAR.SWORD.VTAB_RANGE_DEFAULT_VALUE
|
||
|
|
/end CHARACTERISTIC
|
||
|
|
|
||
|
|
/begin CHARACTERISTIC ASAM.C.SCALAR.SWORD.VTAB_RANGE_NO_DEFAULT_VALUE
|
||
|
|
"Scalar SWORD"
|
||
|
|
VALUE
|
||
|
|
0x810004
|
||
|
|
RL.FNC.SWORD.ROW_DIR /* ROW_DIR / COLUMN_DIR is here exchangeable as only one value is stored */
|
||
|
|
0
|
||
|
|
CM.VTAB_RANGE.NO_DEFAULT_VALUE
|
||
|
|
-10000 20000
|
||
|
|
EXTENDED_LIMITS -32268 32267
|
||
|
|
DISPLAY_IDENTIFIER DI.ASAM.C.SCALAR.SWORD.VTAB_RANGE_NO_DEFAULT_VALUE
|
||
|
|
/end CHARACTERISTIC
|
||
|
|
|
||
|
|
/begin CHARACTERISTIC ASAM.C.SCALAR.SWORD.RAT_FUNC_DIV_81_9175
|
||
|
|
"Scalar SWORD"
|
||
|
|
VALUE
|
||
|
|
0x810004
|
||
|
|
RL.FNC.SWORD.ROW_DIR /* ROW_DIR / COLUMN_DIR is here exchangeable as only one value is stored */
|
||
|
|
0
|
||
|
|
CM.RAT_FUNC.DIV_81_9175
|
||
|
|
-10000 20000
|
||
|
|
EXTENDED_LIMITS -32268 32267
|
||
|
|
DISPLAY_IDENTIFIER DI.ASAM.C.SCALAR.SWORD
|
||
|
|
/end CHARACTERISTIC
|
||
|
|
|
||
|
|
/begin CHARACTERISTIC ASAM.C.SCALAR.ULONG.IDENTICAL
|
||
|
|
"Scalar ULONG"
|
||
|
|
VALUE
|
||
|
|
0x810008
|
||
|
|
RL.FNC.ULONG.ROW_DIR /* ROW_DIR / COLUMN_DIR is here exchangeable as only one value is stored */
|
||
|
|
0
|
||
|
|
CM.IDENTICAL
|
||
|
|
-1000000 2000000
|
||
|
|
EXTENDED_LIMITS -10000000 20000000
|
||
|
|
DISPLAY_IDENTIFIER DI.ASAM.C.SCALAR.ULONG.IDENTICAL
|
||
|
|
/end CHARACTERISTIC
|
||
|
|
|
||
|
|
/begin CHARACTERISTIC ASAM.C.SCALAR.SLONG.IDENTICAL
|
||
|
|
"Scalar SLONG"
|
||
|
|
VALUE
|
||
|
|
0x81000C
|
||
|
|
RL.FNC.SLONG.ROW_DIR /* ROW_DIR / COLUMN_DIR is here exchangeable as only one value is stored */
|
||
|
|
0
|
||
|
|
CM.IDENTICAL
|
||
|
|
-1000000 2000000
|
||
|
|
EXTENDED_LIMITS -10000000 20000000
|
||
|
|
DISPLAY_IDENTIFIER DI.ASAM.C.SCALAR.SLONG.IDENTICAL
|
||
|
|
/end CHARACTERISTIC
|
||
|
|
|
||
|
|
/begin CHARACTERISTIC ASAM.C.SCALAR.FLOAT32_IEEE.IDENTICAL
|
||
|
|
"Scalar FLOAT32_IEEE"
|
||
|
|
VALUE
|
||
|
|
0x810010
|
||
|
|
RL.FNC.FLOAT32_IEEE.ROW_DIR /* ROW_DIR / COLUMN_DIR is here exchangeable as only one value is stored */
|
||
|
|
0
|
||
|
|
CM.IDENTICAL
|
||
|
|
10 200
|
||
|
|
EXTENDED_LIMITS 0 256
|
||
|
|
DISPLAY_IDENTIFIER DI.ASAM.C.SCALAR.FLOAT32_IEEE.IDENTICAL
|
||
|
|
/end CHARACTERISTIC
|
||
|
|
|
||
|
|
/begin CHARACTERISTIC ASAM.C.SCALAR.FLOAT64_IEEE.IDENTICAL
|
||
|
|
"Scalar FLOAT64_IEEE"
|
||
|
|
VALUE
|
||
|
|
0x810010
|
||
|
|
RL.FNC.FLOAT64_IEEE.ROW_DIR /* ROW_DIR / COLUMN_DIR is here exchangeable as only one value is stored */
|
||
|
|
0
|
||
|
|
CM.IDENTICAL
|
||
|
|
-100 200
|
||
|
|
EXTENDED_LIMITS -10000.0 20000.0
|
||
|
|
DISPLAY_IDENTIFIER DI.ASAM.C.SCALAR.FLOAT64_IEEE.IDENTICAL
|
||
|
|
/end CHARACTERISTIC
|
||
|
|
|
||
|
|
|
||
|
|
/* ============================================================================================== */
|
||
|
|
/* */
|
||
|
|
/* Array Characteristics (Parameters) */
|
||
|
|
/* */
|
||
|
|
/* Note: */
|
||
|
|
/* All examples are based on SWORD. For other data types see scalare parameters */
|
||
|
|
/* */
|
||
|
|
/* Note: */
|
||
|
|
/* For curve are examples for all kind of axis available */
|
||
|
|
/* For map, cuboid are examples with mixed axis types available */
|
||
|
|
/* */
|
||
|
|
/* ============================================================================================== */
|
||
|
|
|
||
|
|
|
||
|
|
|
||
|
|
/begin CHARACTERISTIC ASAM.C.ARRAY.SWORD.MATRIX_DIM_3_4.ROW_DIR
|
||
|
|
"Array 3x4 of SWORD"
|
||
|
|
VAL_BLK
|
||
|
|
0x810100
|
||
|
|
RL.FNC.SWORD.ROW_DIR
|
||
|
|
0
|
||
|
|
CM.IDENTICAL
|
||
|
|
-400 400
|
||
|
|
EXTENDED_LIMITS -1000 1000
|
||
|
|
MATRIX_DIM 3 4 1
|
||
|
|
FORMAT "%8.4"
|
||
|
|
DISPLAY_IDENTIFIER DI.ASAM.C.ARRAY.SWORD.MATRIX_DIM_3_4.ROW_DIR
|
||
|
|
/end CHARACTERISTIC
|
||
|
|
|
||
|
|
/begin CHARACTERISTIC ASAM.C.ARRAY.SWORD.MATRIX_DIM_3_4.COLUMN_DIR
|
||
|
|
"Array 3x4 of SWORD"
|
||
|
|
VAL_BLK
|
||
|
|
0x810120
|
||
|
|
RL.FNC.SWORD.COLUMN_DIR
|
||
|
|
0
|
||
|
|
CM.IDENTICAL
|
||
|
|
-400 400
|
||
|
|
EXTENDED_LIMITS -1000 1000
|
||
|
|
MATRIX_DIM 3 4 1
|
||
|
|
FORMAT "%8.4"
|
||
|
|
DISPLAY_IDENTIFIER DI.ASAM.C.ARRAY.SWORD.MATRIX_DIM_3_4.COLUMN_DIR
|
||
|
|
/end CHARACTERISTIC
|
||
|
|
|
||
|
|
/begin CHARACTERISTIC ASAM.C.ARRAY.SWORD.MATRIX_DIM_6.ROW_DIR
|
||
|
|
"Array 6 of SWORD"
|
||
|
|
VAL_BLK
|
||
|
|
0x810140
|
||
|
|
RL.FNC.SWORD.ROW_DIR /* COLUMN_DIR results here in the same memory usage as only one dimension is used */
|
||
|
|
0
|
||
|
|
CM.IDENTICAL
|
||
|
|
-400 400
|
||
|
|
EXTENDED_LIMITS -1000 1000
|
||
|
|
MATRIX_DIM 6 1 1
|
||
|
|
FORMAT "%8.4"
|
||
|
|
DISPLAY_IDENTIFIER DI.ASAM.C.ARRAY.SWORD.MATRIX_DIM_6.ROW_DIR
|
||
|
|
/end CHARACTERISTIC
|
||
|
|
|
||
|
|
|
||
|
|
/* ============================================================================================== */
|
||
|
|
/* */
|
||
|
|
/* ASCII Characteristics (Parameters) */
|
||
|
|
/* */
|
||
|
|
/* Note: */
|
||
|
|
/* All examples are based on UBYTE. This is necessary for ASCII */
|
||
|
|
/* */
|
||
|
|
/* Note: */
|
||
|
|
/* NUMBER shall state the maximum (fixed) size of memory available on the ECU */
|
||
|
|
/* The string representation in the MCD tool is normally 0-terminated. There the string may be */
|
||
|
|
/* limited earlier */
|
||
|
|
/* */
|
||
|
|
/* ============================================================================================== */
|
||
|
|
|
||
|
|
/begin CHARACTERISTIC
|
||
|
|
ASAM.C.ASCII.UBYTE.NUMBER_42
|
||
|
|
"ASCII string"
|
||
|
|
ASCII
|
||
|
|
0x810200
|
||
|
|
RL.FNC.UBYTE.ROW_DIR
|
||
|
|
0
|
||
|
|
CM.IDENTICAL
|
||
|
|
0 255
|
||
|
|
NUMBER 42
|
||
|
|
DISPLAY_IDENTIFIER DI.ASAM.C.ASCII.UBYTE.NUMBER_42
|
||
|
|
/end CHARACTERISTIC
|
||
|
|
|
||
|
|
|
||
|
|
/* ============================================================================================== */
|
||
|
|
/* */
|
||
|
|
/* Curve, Map, Quboid Characteristics (Parameters) */
|
||
|
|
/* */
|
||
|
|
/* Note: */
|
||
|
|
/* All examples are based on SWORD. For other data types see scalare parameters */
|
||
|
|
/* */
|
||
|
|
/* Note: */
|
||
|
|
/* For curve are examples for all kind of axis available */
|
||
|
|
/* For map, cuboid are examples with mixed axis types available */
|
||
|
|
/* */
|
||
|
|
/* ============================================================================================== */
|
||
|
|
|
||
|
|
/begin CHARACTERISTIC ASAM.C.CURVE.STD_AXIS
|
||
|
|
"Curve with standard axis"
|
||
|
|
CURVE
|
||
|
|
0x810300 /* memory needed: 1x Byte for no of axis points, 8x Byte for axis points + 8x word for output values */
|
||
|
|
RL.CURVE.SWORD.SBYTE.DECR /* Record layout that covers axis and FNC values */
|
||
|
|
0
|
||
|
|
CM.IDENTICAL
|
||
|
|
-32268 32267
|
||
|
|
/begin AXIS_DESCR
|
||
|
|
STD_AXIS
|
||
|
|
ASAM.M.SCALAR.SBYTE.IDENTICAL
|
||
|
|
CM.IDENTICAL /* shall be the same computation as used with the input quantity */
|
||
|
|
8
|
||
|
|
-128 127
|
||
|
|
/end AXIS_DESCR
|
||
|
|
FORMAT "%8.3"
|
||
|
|
DISPLAY_IDENTIFIER DI.ASAM.C.CURVE.STD_AXIS
|
||
|
|
/end CHARACTERISTIC
|
||
|
|
|
||
|
|
/begin CHARACTERISTIC ASAM.C.CURVE.COM_AXIS
|
||
|
|
"Curve with common axis"
|
||
|
|
CURVE
|
||
|
|
0x810320
|
||
|
|
RL.FNC.SWORD.ROW_DIR /* Record layout that covers FNC values */
|
||
|
|
0
|
||
|
|
CM.IDENTICAL
|
||
|
|
-32268 32267
|
||
|
|
/begin AXIS_DESCR
|
||
|
|
COM_AXIS
|
||
|
|
ASAM.M.SCALAR.SBYTE.IDENTICAL
|
||
|
|
CM.IDENTICAL /* shall be the same computation as used with the input quantity */
|
||
|
|
8 /* will be overwritten by max number of axis points of AXIS_PTS */
|
||
|
|
-128 127
|
||
|
|
AXIS_PTS_REF ASAM.C.AXIS_PTS.UBYTE_8
|
||
|
|
/end AXIS_DESCR
|
||
|
|
DISPLAY_IDENTIFIER DI.ASAM.C.CURVE.COM_AXIS
|
||
|
|
/end CHARACTERISTIC
|
||
|
|
|
||
|
|
/begin AXIS_PTS ASAM.C.AXIS_PTS.UBYTE_8
|
||
|
|
"Common axis for "
|
||
|
|
0x810340
|
||
|
|
ASAM.M.SCALAR.SBYTE.IDENTICAL /* will be overwritten by input quantity of AXIS_DESCR */
|
||
|
|
RL.AXIS_PTS.SBYTE.DECR /* Record layout that covers axis values */
|
||
|
|
0
|
||
|
|
CM.IDENTICAL /* will be overwritten by computation method of AXIS_DESCR */
|
||
|
|
8
|
||
|
|
-128 127
|
||
|
|
DISPLAY_IDENTIFIER DI.ASAM.C.AXIS_PTS.UBYTE_8
|
||
|
|
/end AXIS_PTS
|
||
|
|
|
||
|
|
/begin CHARACTERISTIC ASAM.C.CURVE.FIX_AXIS.PAR_DIST
|
||
|
|
"Curve with fix axis and FIX_AXIS_PAR_DIST"
|
||
|
|
CURVE
|
||
|
|
0x810350
|
||
|
|
RL.FNC.SWORD.ROW_DIR /* Record layout that covers FNC values */
|
||
|
|
0
|
||
|
|
CM.IDENTICAL
|
||
|
|
-32268 32267
|
||
|
|
/begin AXIS_DESCR
|
||
|
|
FIX_AXIS
|
||
|
|
ASAM.M.SCALAR.SBYTE.IDENTICAL
|
||
|
|
CM.IDENTICAL /* shall be the same computation as used with the input quantity */
|
||
|
|
6
|
||
|
|
-128 127
|
||
|
|
FIX_AXIS_PAR_DIST 1 1 6
|
||
|
|
/end AXIS_DESCR
|
||
|
|
DISPLAY_IDENTIFIER DI.ASAM.C.CURVE.FIX_AXIS.PAR_DIST
|
||
|
|
/end CHARACTERISTIC
|
||
|
|
|
||
|
|
/begin CHARACTERISTIC ASAM.C.CURVE.FIX_AXIS.PAR
|
||
|
|
"Curve with fix axis and FIX_AXIS_PAR"
|
||
|
|
CURVE
|
||
|
|
0x810360
|
||
|
|
RL.FNC.SWORD.ROW_DIR /* Record layout that covers FNC values */
|
||
|
|
0
|
||
|
|
CM.IDENTICAL
|
||
|
|
-32268 32267
|
||
|
|
/begin AXIS_DESCR
|
||
|
|
FIX_AXIS
|
||
|
|
ASAM.M.SCALAR.SBYTE.IDENTICAL
|
||
|
|
CM.IDENTICAL /* shall be the same computation as used with the input quantity */
|
||
|
|
6
|
||
|
|
-128 127
|
||
|
|
FIX_AXIS_PAR_DIST 0 4 6
|
||
|
|
/end AXIS_DESCR
|
||
|
|
DISPLAY_IDENTIFIER DI.ASAM.C.CURVE.FIX_AXIS.PAR
|
||
|
|
/end CHARACTERISTIC
|
||
|
|
|
||
|
|
/begin CHARACTERISTIC ASAM.C.CURVE.FIX_AXIS.PAR_LIST
|
||
|
|
"Curve with fix axis and FIX_AXIS_PAR_LIST"
|
||
|
|
CURVE
|
||
|
|
0x810370
|
||
|
|
RL.FNC.SWORD.ROW_DIR /* Record layout that covers FNC values */
|
||
|
|
0
|
||
|
|
CM.IDENTICAL
|
||
|
|
-32268 32267
|
||
|
|
/begin AXIS_DESCR
|
||
|
|
FIX_AXIS
|
||
|
|
ASAM.M.SCALAR.SBYTE.IDENTICAL
|
||
|
|
CM.IDENTICAL /* shall be the same computation as used with the input quantity */
|
||
|
|
6 /* shall match the number of axis points listed in FIX_AXIS_PAR_LIST */
|
||
|
|
-128 127
|
||
|
|
/begin FIX_AXIS_PAR_LIST
|
||
|
|
-1 4 6 8 9 10
|
||
|
|
/end FIX_AXIS_PAR_LIST
|
||
|
|
/end AXIS_DESCR
|
||
|
|
DISPLAY_IDENTIFIER DI.ASAM.C.CURVE.FIX_AXIS.PAR_LIST
|
||
|
|
/end CHARACTERISTIC
|
||
|
|
|
||
|
|
/begin CHARACTERISTIC ASAM.C.CURVE.CURVE_AXIS
|
||
|
|
"Curve with curve axis"
|
||
|
|
CURVE
|
||
|
|
0x810380
|
||
|
|
RL.FNC.SWORD.ROW_DIR /* Record layout that covers FNC values */
|
||
|
|
0
|
||
|
|
CM.IDENTICAL
|
||
|
|
-32268 32267
|
||
|
|
/begin AXIS_DESCR
|
||
|
|
CURVE_AXIS
|
||
|
|
ASAM.M.SCALAR.SBYTE.IDENTICAL
|
||
|
|
NO_COMPU_METHOD /* CURVE_AXIS have no input conversion */
|
||
|
|
8 /* will be overwritten by max number of axis points of AXIS_PTS */
|
||
|
|
-128 127
|
||
|
|
CURVE_AXIS_REF ASAM.C.CURVE_AXIS
|
||
|
|
/end AXIS_DESCR
|
||
|
|
DISPLAY_IDENTIFIER DI.ASAM.C.CURVE.COM_AXIS
|
||
|
|
/end CHARACTERISTIC
|
||
|
|
|
||
|
|
/begin CHARACTERISTIC ASAM.C.CURVE_AXIS
|
||
|
|
"Curve used as axis"
|
||
|
|
CURVE
|
||
|
|
0x810390
|
||
|
|
RL.CURVE.SWORD.SBYTE.INCR /* Record layout that covers axis and FNC values */
|
||
|
|
0
|
||
|
|
CM.IDENTICAL
|
||
|
|
-32268 32267
|
||
|
|
/begin AXIS_DESCR
|
||
|
|
STD_AXIS
|
||
|
|
ASAM.M.SCALAR.SBYTE.IDENTICAL
|
||
|
|
CM.IDENTICAL /* shall be the same computation as used with the input quantity */
|
||
|
|
8
|
||
|
|
-128 127
|
||
|
|
/end AXIS_DESCR
|
||
|
|
DISPLAY_IDENTIFIER DI.ASAM.C.CURVE_AXIS
|
||
|
|
/end CHARACTERISTIC
|
||
|
|
|
||
|
|
/begin CHARACTERISTIC ASAM.C.CURVE.RES_AXIS
|
||
|
|
"Curve with rescale axis"
|
||
|
|
CURVE
|
||
|
|
0x8103A0
|
||
|
|
RL.FNC.SWORD.ROW_DIR /* Record layout that covers FNC values */
|
||
|
|
0
|
||
|
|
CM.IDENTICAL
|
||
|
|
-32268 32267
|
||
|
|
/begin AXIS_DESCR
|
||
|
|
RES_AXIS
|
||
|
|
ASAM.M.SCALAR.SBYTE.IDENTICAL
|
||
|
|
CM.IDENTICAL /* shall be the same computation as used with the input quantity */
|
||
|
|
9 /* will be overwritten by number of rescale pairs */
|
||
|
|
0 255
|
||
|
|
AXIS_PTS_REF ASAM.C.AXIS_PTS.RESCALE
|
||
|
|
/end AXIS_DESCR
|
||
|
|
DISPLAY_IDENTIFIER DI.ASAM.C.CURVE.RES_AXIS
|
||
|
|
/end CHARACTERISTIC
|
||
|
|
|
||
|
|
/begin AXIS_PTS ASAM.C.AXIS_PTS.RESCALE
|
||
|
|
"Rescale Axis"
|
||
|
|
0x8103B0
|
||
|
|
ASAM.M.SCALAR.SBYTE.IDENTICAL
|
||
|
|
RL.AXIS_PTS.RES_AXIS
|
||
|
|
0
|
||
|
|
CM.IDENTICAL
|
||
|
|
5
|
||
|
|
0 255
|
||
|
|
DISPLAY_IDENTIFIER DI_0x83BA20.VTAB.RE_AXIS.X_RE_AXIS_xU8
|
||
|
|
/end AXIS_PTS
|
||
|
|
|
||
|
|
/begin CHARACTERISTIC ASAM.C.CURVE.STD_AXIS.MONOTONY_STRICT_INCREASE
|
||
|
|
"Curve with standard axis"
|
||
|
|
CURVE
|
||
|
|
0x810800
|
||
|
|
RL.CURVE.SWORD.SBYTE.DECR /* Record layout that covers axis and FNC values */
|
||
|
|
0
|
||
|
|
CM.IDENTICAL
|
||
|
|
-32268 32267
|
||
|
|
/begin AXIS_DESCR
|
||
|
|
STD_AXIS
|
||
|
|
ASAM.M.SCALAR.SBYTE.IDENTICAL
|
||
|
|
CM.IDENTICAL /* shall be the same computation as used with the input quantity */
|
||
|
|
8
|
||
|
|
-128 127
|
||
|
|
MONOTONY STRICT_INCREASE /* allows only axis values strictly increasing */
|
||
|
|
/end AXIS_DESCR
|
||
|
|
FORMAT "%8.3"
|
||
|
|
DISPLAY_IDENTIFIER DI.ASAM.C.CURVE.STD_AXIS.MONOTONY_STRICT_INCREASE
|
||
|
|
/end CHARACTERISTIC
|
||
|
|
|
||
|
|
/begin CHARACTERISTIC ASAM.C.CURVE.STD_AXIS.MONOTONY_STRICT_DECREASE
|
||
|
|
"Curve with standard axis"
|
||
|
|
CURVE
|
||
|
|
0x810820
|
||
|
|
RL.CURVE.SWORD.SBYTE.DECR /* Record layout that covers axis and FNC values */
|
||
|
|
0
|
||
|
|
CM.IDENTICAL
|
||
|
|
-32268 32267
|
||
|
|
/begin AXIS_DESCR
|
||
|
|
STD_AXIS
|
||
|
|
ASAM.M.SCALAR.SBYTE.IDENTICAL
|
||
|
|
CM.IDENTICAL /* shall be the same computation as used with the input quantity */
|
||
|
|
8
|
||
|
|
-128 127
|
||
|
|
MONOTONY STRICT_DECREASE /* allows only axis values strictly decreasing */
|
||
|
|
/end AXIS_DESCR
|
||
|
|
FORMAT "%8.3"
|
||
|
|
DISPLAY_IDENTIFIER DI.ASAM.C.CURVE.STD_AXIS.MONOTONY_STRICT_DECREASE
|
||
|
|
/end CHARACTERISTIC
|
||
|
|
|
||
|
|
|
||
|
|
/begin CHARACTERISTIC ASAM.C.MAP.STD_AXIS.STD_AXIS
|
||
|
|
"Map with 2x standard axis"
|
||
|
|
MAP
|
||
|
|
0x810400 /* memory needed: 1x Byte for no of axis points, 8x Byte for axis points + 8x word for output values */
|
||
|
|
RL.MAP.SWORD.SBYTE.SBYTE.INCR /* Record layout that covers axis and FNC values */
|
||
|
|
0
|
||
|
|
CM.IDENTICAL
|
||
|
|
-32268 32267
|
||
|
|
/begin AXIS_DESCR
|
||
|
|
STD_AXIS
|
||
|
|
ASAM.M.SCALAR.SBYTE.IDENTICAL
|
||
|
|
CM.IDENTICAL /* shall be the same computation as used with the input quantity */
|
||
|
|
4
|
||
|
|
-128 127
|
||
|
|
/end AXIS_DESCR
|
||
|
|
/begin AXIS_DESCR
|
||
|
|
STD_AXIS
|
||
|
|
ASAM.M.SCALAR.UBYTE.TAB_VERB_NO_DEFAULT_VALUE
|
||
|
|
CM.TAB_VERB.NO_DEFAULT_VALUE /* shall be the same computation as used with the input quantity */
|
||
|
|
5
|
||
|
|
-128 127
|
||
|
|
/end AXIS_DESCR
|
||
|
|
DISPLAY_IDENTIFIER DI.ASAM.C.MAP.STD_AXIS.STD_AXIS
|
||
|
|
/end CHARACTERISTIC
|
||
|
|
|
||
|
|
/begin CHARACTERISTIC ASAM.C.MAP.COM_AXIS.FIX_AXIS
|
||
|
|
"Map with 2x standard axis"
|
||
|
|
MAP
|
||
|
|
0x810440 /* memory needed: 1x Byte for no of axis points, 8x Byte for axis points + 8x word for output values */
|
||
|
|
RL.FNC.SWORD.ROW_DIR /* Record layout that covers FNC values */
|
||
|
|
0
|
||
|
|
CM.IDENTICAL
|
||
|
|
-32268 32267
|
||
|
|
/begin AXIS_DESCR
|
||
|
|
COM_AXIS
|
||
|
|
ASAM.M.SCALAR.SBYTE.IDENTICAL
|
||
|
|
CM.IDENTICAL /* shall be the same computation as used with the input quantity */
|
||
|
|
8 /* will be overwritten by max number of axis points of AXIS_PTS */
|
||
|
|
-128 127
|
||
|
|
AXIS_PTS_REF ASAM.C.AXIS_PTS.UBYTE_8
|
||
|
|
/end AXIS_DESCR
|
||
|
|
/begin AXIS_DESCR
|
||
|
|
FIX_AXIS
|
||
|
|
ASAM.M.SCALAR.SBYTE.IDENTICAL
|
||
|
|
CM.IDENTICAL /* shall be the same computation as used with the input quantity */
|
||
|
|
3
|
||
|
|
-128 127
|
||
|
|
FIX_AXIS_PAR_DIST 1 1 3
|
||
|
|
/end AXIS_DESCR
|
||
|
|
DISPLAY_IDENTIFIER DI.ASAM.C.MAP.COM_AXIS.FIX_AXIS
|
||
|
|
/end CHARACTERISTIC
|
||
|
|
|
||
|
|
/begin CHARACTERISTIC ASAM.C.CUBOID.COM_AXIS.FIX_AXIS.STD_AXIS
|
||
|
|
"Map with 2x standard axis"
|
||
|
|
CUBOID
|
||
|
|
0x810470
|
||
|
|
RL.CUBOID.SWORD.SBYTE.DECR /* Record layout that covers FNC values + STD axis */
|
||
|
|
0
|
||
|
|
CM.IDENTICAL
|
||
|
|
-32268 32267
|
||
|
|
/begin AXIS_DESCR
|
||
|
|
COM_AXIS
|
||
|
|
ASAM.M.SCALAR.SBYTE.IDENTICAL
|
||
|
|
CM.IDENTICAL /* shall be the same computation as used with the input quantity */
|
||
|
|
8
|
||
|
|
-128 127
|
||
|
|
AXIS_PTS_REF ASAM.C.AXIS_PTS.UBYTE_8
|
||
|
|
/end AXIS_DESCR
|
||
|
|
/begin AXIS_DESCR
|
||
|
|
FIX_AXIS
|
||
|
|
ASAM.M.SCALAR.SBYTE.IDENTICAL
|
||
|
|
CM.IDENTICAL /* shall be the same computation as used with the input quantity */
|
||
|
|
3
|
||
|
|
-128 127
|
||
|
|
FIX_AXIS_PAR_DIST 1 1 3
|
||
|
|
/end AXIS_DESCR
|
||
|
|
/begin AXIS_DESCR
|
||
|
|
STD_AXIS
|
||
|
|
ASAM.M.SCALAR.SBYTE.IDENTICAL
|
||
|
|
CM.IDENTICAL /* shall be the same computation as used with the input quantity */
|
||
|
|
4
|
||
|
|
-128 127
|
||
|
|
/end AXIS_DESCR
|
||
|
|
DISPLAY_IDENTIFIER DI.ASAM.C.CUBOID.COM_AXIS.FIX_AXIS.STD_AXIS
|
||
|
|
/end CHARACTERISTIC
|
||
|
|
|
||
|
|
|
||
|
|
|
||
|
|
/* ============================================================================================== */
|
||
|
|
/* */
|
||
|
|
/* Dependent Characteristics (Parameters) */
|
||
|
|
/* */
|
||
|
|
/* Note: */
|
||
|
|
/* The value of the dependent parameter is located in the ECU memory. */
|
||
|
|
/* The MCD tool updates the value when the source value is changed */
|
||
|
|
/* */
|
||
|
|
/* ============================================================================================== */
|
||
|
|
|
||
|
|
|
||
|
|
/begin CHARACTERISTIC ASAM.C.DEPENDENT.REF_1.SWORD
|
||
|
|
"Dependent SWORD"
|
||
|
|
VALUE
|
||
|
|
0x810600 /* dependent parameter is located in the ECU memory. The MCD tool updated the value when the source value is changed */
|
||
|
|
RL.FNC.SWORD.ROW_DIR /* SWORD needed to cover the result of the dependent calculation */
|
||
|
|
0
|
||
|
|
CM.IDENTICAL
|
||
|
|
-32268 32267
|
||
|
|
/begin DEPENDENT_CHARACTERISTIC
|
||
|
|
"X1 + 5"
|
||
|
|
ASAM.C.SCALAR.SBYTE.IDENTICAL /* used as input X1 variable in teh dependent formula */
|
||
|
|
/end DEPENDENT_CHARACTERISTIC
|
||
|
|
DISPLAY_IDENTIFIER DI.ASAM.C.DEPENDENT.REF_1.SWORD
|
||
|
|
/end CHARACTERISTIC
|
||
|
|
|
||
|
|
/begin CHARACTERISTIC ASAM.C.DEPENDENT.REF_2.UWORD
|
||
|
|
"Dependent UWORD"
|
||
|
|
VALUE
|
||
|
|
0x810602
|
||
|
|
RL.FNC.UWORD.ROW_DIR /* UWORD needed to cover the result of the dependent calculation */
|
||
|
|
0
|
||
|
|
CM.IDENTICAL
|
||
|
|
0.0 65535.0
|
||
|
|
/begin DEPENDENT_CHARACTERISTIC
|
||
|
|
"X1 + 25"
|
||
|
|
ASAM.C.SCALAR.UBYTE.IDENTICAL
|
||
|
|
/end DEPENDENT_CHARACTERISTIC
|
||
|
|
DISPLAY_IDENTIFIER DI.ASAM.C.DEPENDENT.REF_2.UWORD
|
||
|
|
/end CHARACTERISTIC
|
||
|
|
|
||
|
|
/begin CHARACTERISTIC ASAM.C.DEPENDENT.REF_3.SWORD
|
||
|
|
"Dependent UWORD"
|
||
|
|
VALUE
|
||
|
|
0x810604
|
||
|
|
RL.FNC.SWORD.ROW_DIR /* SWORD needed to cover the result of the dependent calculation */
|
||
|
|
0
|
||
|
|
CM.IDENTICAL
|
||
|
|
-32268 32267
|
||
|
|
/begin DEPENDENT_CHARACTERISTIC
|
||
|
|
"X1 + X2"
|
||
|
|
ASAM.C.DEPENDENT.REF_1.SWORD
|
||
|
|
ASAM.C.DEPENDENT.REF_2.UWORD
|
||
|
|
/end DEPENDENT_CHARACTERISTIC
|
||
|
|
DISPLAY_IDENTIFIER DI.ASAM.C.DEPENDENT.REF_3.SWORD
|
||
|
|
/end CHARACTERISTIC
|
||
|
|
|
||
|
|
/begin CHARACTERISTIC ASAM.C.DEPENDENT.REF_4.FLOAT64_IEEE
|
||
|
|
"Dependent UWORD"
|
||
|
|
VALUE
|
||
|
|
0x810610
|
||
|
|
RL.FNC.FLOAT64_IEEE.ROW_DIR /* SWORD needed to cover the result of the dependent calculation */
|
||
|
|
0
|
||
|
|
CM.IDENTICAL
|
||
|
|
-32268 32267
|
||
|
|
/begin DEPENDENT_CHARACTERISTIC
|
||
|
|
"X1 + sysc(System_Constant_1)"
|
||
|
|
ASAM.C.DEPENDENT.REF_1.SWORD
|
||
|
|
/end DEPENDENT_CHARACTERISTIC
|
||
|
|
DISPLAY_IDENTIFIER DI.ASAM.C.DEPENDENT.REF_4.FLOAT64_IEEE
|
||
|
|
FORMAT "%8.2"
|
||
|
|
/end CHARACTERISTIC
|
||
|
|
|
||
|
|
/begin CHARACTERISTIC ASAM.C.DEPENDENT.REF_5.FLOAT64_IEEE
|
||
|
|
"Dependent UWORD"
|
||
|
|
VALUE
|
||
|
|
0x810608
|
||
|
|
RL.FNC.FLOAT64_IEEE.ROW_DIR /* SWORD needed to cover the result of the dependent calculation */
|
||
|
|
0
|
||
|
|
CM.IDENTICAL
|
||
|
|
-10000.0 10000.0
|
||
|
|
/begin DEPENDENT_CHARACTERISTIC
|
||
|
|
"X1 * 2"
|
||
|
|
ASAM.C.VIRTUAL.SYSTEM_CONSTANT_1
|
||
|
|
/end DEPENDENT_CHARACTERISTIC
|
||
|
|
DISPLAY_IDENTIFIER DI.ASAM.C.DEPENDENT.REF_5.FLOAT64_IEEE
|
||
|
|
FORMAT "%8.2"
|
||
|
|
/end CHARACTERISTIC
|
||
|
|
|
||
|
|
|
||
|
|
/* ============================================================================================== */
|
||
|
|
/* */
|
||
|
|
/* Virtual Characteristics (Parameters) */
|
||
|
|
/* */
|
||
|
|
/* Note: */
|
||
|
|
/* The value of the virtual parameter is not located in the ECU memory. It is only visible */
|
||
|
|
/* in the MCD tool */
|
||
|
|
/* The MCD tool updates the value when the source value is changed */
|
||
|
|
/* */
|
||
|
|
/* ============================================================================================== */
|
||
|
|
|
||
|
|
|
||
|
|
/begin CHARACTERISTIC ASAM.C.VIRTUAL.REF_1.SWORD
|
||
|
|
"Virtual SWORD"
|
||
|
|
VALUE
|
||
|
|
0x0 /* address is 0 as the virtual value is not part of the ECU or the hex file */
|
||
|
|
RL.FNC.SWORD.ROW_DIR /* SWORD needed to cover the result of the dependent calculation */
|
||
|
|
0
|
||
|
|
CM.IDENTICAL
|
||
|
|
0 255
|
||
|
|
/begin VIRTUAL_CHARACTERISTIC
|
||
|
|
"X1 - 9"
|
||
|
|
ASAM.C.SCALAR.SBYTE.IDENTICAL /* used as input X1 variable in teh dependent formula */
|
||
|
|
/end VIRTUAL_CHARACTERISTIC
|
||
|
|
DISPLAY_IDENTIFIER DI.ASAM.C.VIRTUAL.REF_1.SWORD
|
||
|
|
/end CHARACTERISTIC
|
||
|
|
|
||
|
|
/begin CHARACTERISTIC ASAM.C.VIRTUAL.REF_2.UWORD
|
||
|
|
"Virtual UWORD"
|
||
|
|
VALUE
|
||
|
|
0x0 /* address is 0 as the virtual value is not part of the ECU or the hex file */
|
||
|
|
RL.FNC.UWORD.ROW_DIR /* UWORD needed to cover the result of the dependent calculation */
|
||
|
|
0
|
||
|
|
CM.IDENTICAL
|
||
|
|
0.0 255.0
|
||
|
|
/begin VIRTUAL_CHARACTERISTIC
|
||
|
|
"X1 + 19"
|
||
|
|
ASAM.C.SCALAR.UBYTE.IDENTICAL
|
||
|
|
/end VIRTUAL_CHARACTERISTIC
|
||
|
|
DISPLAY_IDENTIFIER DI.ASAM.C.VIRTUAL.REF_2.UWORD
|
||
|
|
/end CHARACTERISTIC
|
||
|
|
|
||
|
|
/begin CHARACTERISTIC ASAM.C.VIRTUAL.REF_3.SWORD
|
||
|
|
"Virtual UWORD"
|
||
|
|
VALUE
|
||
|
|
0x0 /* address is 0 as the virtual value is not part of the ECU or the hex file */
|
||
|
|
RL.FNC.SWORD.ROW_DIR /* SWORD needed to cover the result of the dependent calculation */
|
||
|
|
0
|
||
|
|
CM.IDENTICAL
|
||
|
|
0.0 255.0
|
||
|
|
/begin VIRTUAL_CHARACTERISTIC
|
||
|
|
"X1 + X2"
|
||
|
|
ASAM.C.VIRTUAL.REF_1.SWORD
|
||
|
|
ASAM.C.VIRTUAL.REF_2.UWORD
|
||
|
|
/end VIRTUAL_CHARACTERISTIC
|
||
|
|
DISPLAY_IDENTIFIER DI.ASAM.C.VIRTUAL.REF_3.SWORD
|
||
|
|
/end CHARACTERISTIC
|
||
|
|
|
||
|
|
/begin CHARACTERISTIC ASAM.C.VIRTUAL.SYSTEM_CONSTANT_1
|
||
|
|
"Virtual value including a system constant in the calculation formula"
|
||
|
|
VALUE
|
||
|
|
0x0 /* address is 0 as the virtual value is not part of the ECU or the hex file */
|
||
|
|
RL.FNC.FLOAT64_IEEE.ROW_DIR /* Float needed to cover the result of the dependent calculation */
|
||
|
|
0
|
||
|
|
CM.IDENTICAL
|
||
|
|
0.0 255.0
|
||
|
|
/begin VIRTUAL_CHARACTERISTIC
|
||
|
|
"X1 + sysc(System_Constant_1)" /* system constant needs to contain a valid number. Otherwise the calculation leeds to an error */
|
||
|
|
ASAM.C.SCALAR.UBYTE.IDENTICAL
|
||
|
|
/end VIRTUAL_CHARACTERISTIC
|
||
|
|
DISPLAY_IDENTIFIER DI.ASAM.C.VIRTUAL.SYSTEM_CONSTANT_1
|
||
|
|
FORMAT "%8.2"
|
||
|
|
/end CHARACTERISTIC
|
||
|
|
|
||
|
|
/begin CHARACTERISTIC ASAM.C.VIRTUAL.ASCII
|
||
|
|
"Virtual ASCII string"
|
||
|
|
ASCII /* type needs to be ASCII as the referenced system constant contains a string */
|
||
|
|
0x0 /* address is 0 as the virtual value is not part of the ECU or the hex file */
|
||
|
|
RL.FNC.UBYTE.ROW_DIR /* UBYTE needed to cover ASCII */
|
||
|
|
0
|
||
|
|
CM.IDENTICAL
|
||
|
|
0.0 255.0
|
||
|
|
/begin VIRTUAL_CHARACTERISTIC
|
||
|
|
"sysc(System_Constant_3)"
|
||
|
|
/end VIRTUAL_CHARACTERISTIC
|
||
|
|
NUMBER 100 /* needs minimum the length of the text length of the system constant */
|
||
|
|
DISPLAY_IDENTIFIER DI.ASAM.C.VIRTUAL.SYSTEM_CONSTANT_1
|
||
|
|
/end CHARACTERISTIC
|
||
|
|
|
||
|
|
|
||
|
|
|
||
|
|
/* ============================================================================================== */
|
||
|
|
/* */
|
||
|
|
/* Functions */
|
||
|
|
/* */
|
||
|
|
/* Note: */
|
||
|
|
/* Each parameter shall be defined (DEF_CHARACTERISTIC) only one time! */
|
||
|
|
/* */
|
||
|
|
/* ============================================================================================== */
|
||
|
|
|
||
|
|
/begin FUNCTION FunctionScalar ""
|
||
|
|
/begin SUB_FUNCTION
|
||
|
|
FunctionDependentParameters
|
||
|
|
/end SUB_FUNCTION
|
||
|
|
/begin DEF_CHARACTERISTIC
|
||
|
|
ASAM.C.SCALAR.FLOAT32_IEEE.IDENTICAL
|
||
|
|
ASAM.C.SCALAR.FLOAT64_IEEE.IDENTICAL
|
||
|
|
ASAM.C.SCALAR.SBYTE.IDENTICAL
|
||
|
|
ASAM.C.SCALAR.SLONG.IDENTICAL
|
||
|
|
ASAM.C.SCALAR.SWORD.FORM_X_PLUS_4
|
||
|
|
ASAM.C.SCALAR.SWORD.IDENTICAL
|
||
|
|
ASAM.C.SCALAR.SWORD.LINEAR_MUL_2
|
||
|
|
ASAM.C.SCALAR.SWORD.RAT_FUNC_DIV_10
|
||
|
|
ASAM.C.SCALAR.SWORD.RAT_FUNC_DIV_81_9175
|
||
|
|
ASAM.C.SCALAR.SWORD.TAB_INTP_DEFAULT_VALUE
|
||
|
|
ASAM.C.SCALAR.SWORD.TAB_INTP_NO_DEFAULT_VALUE
|
||
|
|
ASAM.C.SCALAR.SWORD.TAB_NOINTP_DEFAULT_VALUE
|
||
|
|
ASAM.C.SCALAR.SWORD.TAB_NOINTP_NO_DEFAULT_VALUE
|
||
|
|
ASAM.C.SCALAR.SWORD.TAB_VERB_DEFAULT_VALUE
|
||
|
|
ASAM.C.SCALAR.SWORD.TAB_VERB_NO_DEFAULT_VALUE
|
||
|
|
ASAM.C.SCALAR.SWORD.VTAB_RANGE_DEFAULT_VALUE
|
||
|
|
ASAM.C.SCALAR.SWORD.VTAB_RANGE_NO_DEFAULT_VALUE
|
||
|
|
ASAM.C.SCALAR.UBYTE.IDENTICAL
|
||
|
|
ASAM.C.SCALAR.ULONG.IDENTICAL
|
||
|
|
ASAM.C.SCALAR.UWORD.IDENTICAL
|
||
|
|
ASAM.C.SCALAR.UWORD.IDENTICAL.BITMASK_0001
|
||
|
|
ASAM.C.SCALAR.UWORD.IDENTICAL.BITMASK_0010
|
||
|
|
ASAM.C.SCALAR.UWORD.IDENTICAL.BITMASK_0FF0
|
||
|
|
/end DEF_CHARACTERISTIC
|
||
|
|
/end FUNCTION
|
||
|
|
|
||
|
|
/begin FUNCTION FunctionDependentParameters ""
|
||
|
|
/begin REF_CHARACTERISTIC
|
||
|
|
ASAM.C.SCALAR.UBYTE.IDENTICAL
|
||
|
|
ASAM.C.SCALAR.SBYTE.IDENTICAL
|
||
|
|
/end REF_CHARACTERISTIC
|
||
|
|
/begin DEF_CHARACTERISTIC
|
||
|
|
ASAM.C.DEPENDENT.REF_1.SWORD
|
||
|
|
ASAM.C.DEPENDENT.REF_2.UWORD
|
||
|
|
ASAM.C.DEPENDENT.REF_3.SWORD
|
||
|
|
/end DEF_CHARACTERISTIC
|
||
|
|
/end FUNCTION
|
||
|
|
|
||
|
|
/begin FUNCTION FunctionCurveAxis ""
|
||
|
|
/begin DEF_CHARACTERISTIC
|
||
|
|
ASAM.C.CURVE_AXIS
|
||
|
|
ASAM.C.CURVE.CURVE_AXIS
|
||
|
|
/end DEF_CHARACTERISTIC
|
||
|
|
/begin IN_MEASUREMENT
|
||
|
|
ASAM.M.SCALAR.SBYTE.IDENTICAL
|
||
|
|
/end IN_MEASUREMENT
|
||
|
|
/end FUNCTION
|
||
|
|
|
||
|
|
/begin FUNCTION FunctionVirtualMeasurements ""
|
||
|
|
/begin IN_MEASUREMENT
|
||
|
|
ASAM.M.SCALAR.SBYTE.LINEAR_MUL_2
|
||
|
|
/end IN_MEASUREMENT
|
||
|
|
/begin OUT_MEASUREMENT
|
||
|
|
ASAM.M.VIRTUAL.SCALAR.SWORD.PHYSICAL
|
||
|
|
/end OUT_MEASUREMENT
|
||
|
|
/end FUNCTION
|
||
|
|
|
||
|
|
|
||
|
|
/* ============================================================================================== */
|
||
|
|
/* */
|
||
|
|
/* Groups */
|
||
|
|
/* */
|
||
|
|
/* Note: */
|
||
|
|
/* For GROUP there is no special sorting defined */
|
||
|
|
/* It is up to the user to define one ore more sortings */
|
||
|
|
/* */
|
||
|
|
/* ============================================================================================== */
|
||
|
|
|
||
|
|
/begin GROUP Group_Type_All "contains all groups with special types"
|
||
|
|
ROOT
|
||
|
|
/begin SUB_GROUP
|
||
|
|
Group_Type_Scalar
|
||
|
|
Group_Type_Array
|
||
|
|
Group_Type_Curve
|
||
|
|
Group_Type_Map
|
||
|
|
Group_Type_Cuboid
|
||
|
|
Group_Type_ASCII
|
||
|
|
/end SUB_GROUP
|
||
|
|
/end GROUP
|
||
|
|
|
||
|
|
/begin GROUP Group_Type_Scalar "Contains all scalar measurements and parameters"
|
||
|
|
/begin REF_CHARACTERISTIC
|
||
|
|
ASAM.C.SCALAR.FLOAT32_IEEE.IDENTICAL
|
||
|
|
ASAM.C.SCALAR.FLOAT64_IEEE.IDENTICAL
|
||
|
|
ASAM.C.SCALAR.SBYTE.IDENTICAL
|
||
|
|
ASAM.C.SCALAR.SLONG.IDENTICAL
|
||
|
|
ASAM.C.SCALAR.SWORD.FORM_X_PLUS_4
|
||
|
|
ASAM.C.SCALAR.SWORD.IDENTICAL
|
||
|
|
ASAM.C.SCALAR.SWORD.LINEAR_MUL_2
|
||
|
|
ASAM.C.SCALAR.SWORD.RAT_FUNC_DIV_10
|
||
|
|
ASAM.C.SCALAR.SWORD.RAT_FUNC_DIV_81_9175
|
||
|
|
ASAM.C.SCALAR.SWORD.TAB_INTP_DEFAULT_VALUE
|
||
|
|
ASAM.C.SCALAR.SWORD.TAB_INTP_NO_DEFAULT_VALUE
|
||
|
|
ASAM.C.SCALAR.SWORD.TAB_NOINTP_DEFAULT_VALUE
|
||
|
|
ASAM.C.SCALAR.SWORD.TAB_NOINTP_NO_DEFAULT_VALUE
|
||
|
|
ASAM.C.SCALAR.SWORD.TAB_VERB_DEFAULT_VALUE
|
||
|
|
ASAM.C.SCALAR.SWORD.TAB_VERB_NO_DEFAULT_VALUE
|
||
|
|
ASAM.C.SCALAR.SWORD.VTAB_RANGE_DEFAULT_VALUE
|
||
|
|
ASAM.C.SCALAR.SWORD.VTAB_RANGE_NO_DEFAULT_VALUE
|
||
|
|
ASAM.C.SCALAR.UBYTE.IDENTICAL
|
||
|
|
ASAM.C.SCALAR.ULONG.IDENTICAL
|
||
|
|
ASAM.C.SCALAR.UWORD.IDENTICAL
|
||
|
|
ASAM.C.SCALAR.UWORD.IDENTICAL.BITMASK_0001
|
||
|
|
ASAM.C.SCALAR.UWORD.IDENTICAL.BITMASK_0010
|
||
|
|
ASAM.C.SCALAR.UWORD.IDENTICAL.BITMASK_0FF0
|
||
|
|
/end REF_CHARACTERISTIC
|
||
|
|
/begin REF_MEASUREMENT
|
||
|
|
ASAM.M.SCALAR.FLOAT32.IDENTICAL
|
||
|
|
ASAM.M.SCALAR.FLOAT64.IDENTICAL
|
||
|
|
ASAM.M.SCALAR.SBYTE.IDENTICAL
|
||
|
|
ASAM.M.SCALAR.SBYTE.LINEAR_MUL_2
|
||
|
|
ASAM.M.SCALAR.SLONG.IDENTICAL
|
||
|
|
ASAM.M.SCALAR.SWORD.IDENTICAL
|
||
|
|
ASAM.M.SCALAR.UBYTE.FORM_X_PLUS_4
|
||
|
|
ASAM.M.SCALAR.UBYTE.IDENTICAL
|
||
|
|
ASAM.M.SCALAR.UBYTE.TAB_INTP_DEFAULT_VALUE
|
||
|
|
ASAM.M.SCALAR.UBYTE.TAB_INTP_NO_DEFAULT_VALUE
|
||
|
|
ASAM.M.SCALAR.UBYTE.TAB_NOINTP_DEFAULT_VALUE
|
||
|
|
ASAM.M.SCALAR.UBYTE.TAB_NOINTP_NO_DEFAULT_VALUE
|
||
|
|
ASAM.M.SCALAR.UBYTE.TAB_VERB_DEFAULT_VALUE
|
||
|
|
ASAM.M.SCALAR.UBYTE.TAB_VERB_NO_DEFAULT_VALUE
|
||
|
|
ASAM.M.SCALAR.UBYTE.VTAB_RANGE_DEFAULT_VALUE
|
||
|
|
ASAM.M.SCALAR.UBYTE.VTAB_RANGE_NO_DEFAULT_VALUE
|
||
|
|
ASAM.M.SCALAR.ULONG.IDENTICAL
|
||
|
|
ASAM.M.SCALAR.UWORD.IDENTICAL
|
||
|
|
ASAM.M.SCALAR.UWORD.IDENTICAL.BITMASK_0008
|
||
|
|
ASAM.M.SCALAR.UWORD.IDENTICAL.BITMASK_0FF0
|
||
|
|
ASAM.M.VIRTUAL.SCALAR.SWORD.PHYSICAL
|
||
|
|
/end REF_MEASUREMENT
|
||
|
|
/end GROUP
|
||
|
|
|
||
|
|
/begin GROUP Group_Type_Array "Contains all array measurements and parameters"
|
||
|
|
/begin REF_CHARACTERISTIC
|
||
|
|
ASAM.C.ARRAY.SWORD.MATRIX_DIM_3_4.COLUMN_DIR
|
||
|
|
ASAM.C.ARRAY.SWORD.MATRIX_DIM_3_4.ROW_DIR
|
||
|
|
ASAM.C.ARRAY.SWORD.MATRIX_DIM_6.ROW_DIR
|
||
|
|
/end REF_CHARACTERISTIC
|
||
|
|
/begin REF_MEASUREMENT
|
||
|
|
ASAM.M.ARRAY_SIZE_16.UBYTE.IDENTICAL
|
||
|
|
ASAM.M.MATRIX_DIM_16_1_1.UBYTE.IDENTICAL
|
||
|
|
ASAM.M.MATRIX_DIM_8_2_1.UBYTE.IDENTICAL
|
||
|
|
/end REF_MEASUREMENT
|
||
|
|
/end GROUP
|
||
|
|
|
||
|
|
/begin GROUP Group_Type_Curve "Contains all curve parameters"
|
||
|
|
/begin REF_CHARACTERISTIC
|
||
|
|
ASAM.C.CURVE.COM_AXIS
|
||
|
|
ASAM.C.CURVE.CURVE_AXIS
|
||
|
|
ASAM.C.CURVE.FIX_AXIS.PAR
|
||
|
|
ASAM.C.CURVE.FIX_AXIS.PAR_DIST
|
||
|
|
ASAM.C.CURVE.FIX_AXIS.PAR_LIST
|
||
|
|
ASAM.C.CURVE.RES_AXIS
|
||
|
|
ASAM.C.CURVE.STD_AXIS
|
||
|
|
ASAM.C.CURVE.STD_AXIS.MONOTONY_STRICT_DECREASE
|
||
|
|
ASAM.C.CURVE.STD_AXIS.MONOTONY_STRICT_INCREASE
|
||
|
|
ASAM.C.CURVE_AXIS
|
||
|
|
ASAM.C.AXIS_PTS.RESCALE
|
||
|
|
ASAM.C.AXIS_PTS.UBYTE_8
|
||
|
|
/end REF_CHARACTERISTIC
|
||
|
|
/end GROUP
|
||
|
|
|
||
|
|
/begin GROUP Group_Type_Map "Contains all map parameters"
|
||
|
|
/begin REF_CHARACTERISTIC
|
||
|
|
ASAM.C.MAP.COM_AXIS.FIX_AXIS
|
||
|
|
ASAM.C.MAP.STD_AXIS.STD_AXIS
|
||
|
|
/end REF_CHARACTERISTIC
|
||
|
|
/end GROUP
|
||
|
|
|
||
|
|
/begin GROUP Group_Type_Cuboid "Contains all cuboid parameters"
|
||
|
|
/begin REF_CHARACTERISTIC
|
||
|
|
ASAM.C.CUBOID.COM_AXIS.FIX_AXIS.STD_AXIS
|
||
|
|
/end REF_CHARACTERISTIC
|
||
|
|
/end GROUP
|
||
|
|
|
||
|
|
/begin GROUP Group_Type_ASCII "Contains all ASCII parameters"
|
||
|
|
/begin REF_CHARACTERISTIC
|
||
|
|
ASAM.C.ASCII.UBYTE.NUMBER_42
|
||
|
|
/end REF_CHARACTERISTIC
|
||
|
|
/end GROUP
|
||
|
|
|
||
|
|
|
||
|
|
/begin GROUP Group_Function_All "contains all groups with special functions"
|
||
|
|
ROOT
|
||
|
|
/begin SUB_GROUP
|
||
|
|
Group_Function_Virtual
|
||
|
|
Group_Function_Monotony
|
||
|
|
Group_Function_Computation
|
||
|
|
Group_Function_Bitmask
|
||
|
|
/end SUB_GROUP
|
||
|
|
/end GROUP
|
||
|
|
|
||
|
|
/begin GROUP Group_Function_Virtual "Contains all functions, measurements and parameters used for virtual"
|
||
|
|
/begin FUNCTION_LIST
|
||
|
|
FunctionVirtualMeasurements
|
||
|
|
/end FUNCTION_LIST
|
||
|
|
/begin REF_CHARACTERISTIC
|
||
|
|
ASAM.C.SCALAR.SBYTE.IDENTICAL
|
||
|
|
ASAM.C.SCALAR.UBYTE.IDENTICAL
|
||
|
|
ASAM.C.VIRTUAL.ASCII
|
||
|
|
ASAM.C.VIRTUAL.REF_1.SWORD
|
||
|
|
ASAM.C.VIRTUAL.REF_2.UWORD
|
||
|
|
ASAM.C.VIRTUAL.REF_3.SWORD
|
||
|
|
ASAM.C.VIRTUAL.SYSTEM_CONSTANT_1
|
||
|
|
/end REF_CHARACTERISTIC
|
||
|
|
/begin REF_MEASUREMENT
|
||
|
|
ASAM.M.SCALAR.SBYTE.LINEAR_MUL_2
|
||
|
|
ASAM.M.VIRTUAL.SCALAR.SWORD.PHYSICAL
|
||
|
|
/end REF_MEASUREMENT
|
||
|
|
/end GROUP
|
||
|
|
|
||
|
|
/begin GROUP Group_Function_Monotony "Contains all functions, measurements and parameters used for monotony"
|
||
|
|
/begin REF_CHARACTERISTIC
|
||
|
|
/end REF_CHARACTERISTIC
|
||
|
|
/begin REF_MEASUREMENT
|
||
|
|
/end REF_MEASUREMENT
|
||
|
|
/end GROUP
|
||
|
|
|
||
|
|
/begin GROUP Group_Function_Computation "Contains all measurements and parameters that have a computation method different to identical"
|
||
|
|
/begin REF_CHARACTERISTIC
|
||
|
|
ASAM.C.SCALAR.SWORD.FORM_X_PLUS_4
|
||
|
|
ASAM.C.SCALAR.SWORD.LINEAR_MUL_2
|
||
|
|
ASAM.C.SCALAR.SWORD.RAT_FUNC_DIV_10
|
||
|
|
ASAM.C.SCALAR.SWORD.RAT_FUNC_DIV_81_9175
|
||
|
|
ASAM.C.SCALAR.SWORD.TAB_INTP_DEFAULT_VALUE
|
||
|
|
ASAM.C.SCALAR.SWORD.TAB_INTP_NO_DEFAULT_VALUE
|
||
|
|
ASAM.C.SCALAR.SWORD.TAB_NOINTP_DEFAULT_VALUE
|
||
|
|
ASAM.C.SCALAR.SWORD.TAB_NOINTP_NO_DEFAULT_VALUE
|
||
|
|
ASAM.C.SCALAR.SWORD.TAB_VERB_DEFAULT_VALUE
|
||
|
|
ASAM.C.SCALAR.SWORD.TAB_VERB_NO_DEFAULT_VALUE
|
||
|
|
ASAM.C.SCALAR.SWORD.VTAB_RANGE_DEFAULT_VALUE
|
||
|
|
ASAM.C.SCALAR.SWORD.VTAB_RANGE_NO_DEFAULT_VALUE
|
||
|
|
ASAM.C.SCALAR.UWORD.IDENTICAL.BITMASK_0001
|
||
|
|
ASAM.C.SCALAR.UWORD.IDENTICAL.BITMASK_0010
|
||
|
|
ASAM.C.SCALAR.UWORD.IDENTICAL.BITMASK_0FF0
|
||
|
|
/end REF_CHARACTERISTIC
|
||
|
|
/begin REF_MEASUREMENT
|
||
|
|
ASAM.M.SCALAR.SBYTE.LINEAR_MUL_2
|
||
|
|
ASAM.M.SCALAR.UBYTE.FORM_X_PLUS_4
|
||
|
|
ASAM.M.SCALAR.UBYTE.TAB_INTP_DEFAULT_VALUE
|
||
|
|
ASAM.M.SCALAR.UBYTE.TAB_INTP_NO_DEFAULT_VALUE
|
||
|
|
ASAM.M.SCALAR.UBYTE.TAB_NOINTP_DEFAULT_VALUE
|
||
|
|
ASAM.M.SCALAR.UBYTE.TAB_NOINTP_NO_DEFAULT_VALUE
|
||
|
|
ASAM.M.SCALAR.UBYTE.TAB_VERB_DEFAULT_VALUE
|
||
|
|
ASAM.M.SCALAR.UBYTE.TAB_VERB_NO_DEFAULT_VALUE
|
||
|
|
ASAM.M.SCALAR.UBYTE.VTAB_RANGE_DEFAULT_VALUE
|
||
|
|
ASAM.M.SCALAR.UBYTE.VTAB_RANGE_NO_DEFAULT_VALUE
|
||
|
|
/end REF_MEASUREMENT
|
||
|
|
/end GROUP
|
||
|
|
|
||
|
|
/begin GROUP Group_Function_Bitmask "Contains all measurements and parameters that have a bitmask"
|
||
|
|
/begin REF_CHARACTERISTIC
|
||
|
|
ASAM.C.SCALAR.UWORD.IDENTICAL.BITMASK_0001
|
||
|
|
ASAM.C.SCALAR.UWORD.IDENTICAL.BITMASK_0010
|
||
|
|
ASAM.C.SCALAR.UWORD.IDENTICAL.BITMASK_0FF0
|
||
|
|
/end REF_CHARACTERISTIC
|
||
|
|
/begin REF_MEASUREMENT
|
||
|
|
ASAM.M.SCALAR.UWORD.IDENTICAL.BITMASK_0008
|
||
|
|
ASAM.M.SCALAR.UWORD.IDENTICAL.BITMASK_0FF0
|
||
|
|
/end REF_MEASUREMENT
|
||
|
|
/end GROUP
|
||
|
|
|
||
|
|
|
||
|
|
/end MODULE
|
||
|
|
/end PROJECT
|