20 changed files with 1633788 additions and 0 deletions
Binary file not shown.
File diff suppressed because it is too large
@ -0,0 +1,140 @@ |
|||
VERSION "CANDb example 1.0" |
|||
|
|||
|
|||
NS_ : |
|||
NS_DESC_ |
|||
CM_ |
|||
BA_DEF_ |
|||
BA_ |
|||
VAL_ |
|||
CAT_DEF_ |
|||
CAT_ |
|||
FILTER |
|||
BA_DEF_DEF_ |
|||
EV_DATA_ |
|||
ENVVAR_DATA_ |
|||
SGTYPE_ |
|||
SGTYPE_VAL_ |
|||
BA_DEF_SGTYPE_ |
|||
BA_SGTYPE_ |
|||
SIG_TYPE_REF_ |
|||
VAL_TABLE_ |
|||
SIG_GROUP_ |
|||
SIG_VALTYPE_ |
|||
SIGTYPE_VALTYPE_ |
|||
BO_TX_BU_ |
|||
BA_DEF_REL_ |
|||
BA_REL_ |
|||
BA_DEF_DEF_REL_ |
|||
BU_SG_REL_ |
|||
BU_EV_REL_ |
|||
BU_BO_REL_ |
|||
SG_MUL_VAL_ |
|||
|
|||
BS_: |
|||
|
|||
BU_: Device_1 Device_2 RAWDATA_TEST |
|||
VAL_TABLE_ ErrorTab 32 "Poti 180 deg wrong" 16 "Misshift" 2 "Gearpoti Warning" 8 "Gearpoti Error - use emergency m" 4 "Sensor out of range" 1 "Compressor Warning" ; |
|||
VAL_TABLE_ state_cut_Tab 2 "down shift" 1 "up shift" 0 "no shift in progress" ; |
|||
VAL_TABLE_ button_state_Tab 64 "b_POTI_180" 32 "b_MISSSHIFT" 16 "b_BUTTON_EMG" 8 "b_BUTTON_REV" 4 "b_BUTTON_NEU" 2 "b_PADDLE_DN" 1 "b_PADDLE_UP" ; |
|||
VAL_TABLE_ valve_state_Tab 32 "b_EMGCY_IND" 16 "b_STATE_COMP" 4 "b_VALVE_BLIP" 2 "b_VALVE_DOWN" 1 "b_VALVE_UP" ; |
|||
VAL_TABLE_ GearTabRb6 16 "6->" 15 "6" 14 "5->6" 13 "5" 12 "4->5" 11 "4" 10 "3->4" 9 "3" 8 "2->3" 7 "2" 6 "1->2" 5 "1" 4 "N->1" 3 "N" 2 "R->N" 1 "R" 0 "->R" ; |
|||
VAL_TABLE_ ShiftStateTab 1 "shift activ" 0 "no shift activ" ; |
|||
|
|||
|
|||
BO_ 1 _Message_2: 8 Device_1 |
|||
SG_ Int32 : 0|32@1+ (1,0) [0|4294967295] "m/s" Device_2 |
|||
SG_ Signal_2 : 32|8@1+ (1,0) [0|7] "degC" Device_2 |
|||
|
|||
BO_ 2 _Message_3: 8 Device_2 |
|||
SG_ Signal_3 : 0|9@1+ (1,0) [0|1] "km/h" Device_1 |
|||
|
|||
BO_ 784 _Message_1: 8 Device_1 |
|||
SG_ Multiplexor M : 32|8@1+ (1,0) [0|0] "none" Vector__XXX |
|||
SG_ _Int8 m0 : 56|8@1- (1,0) [0|0] "km/h" Device_2 |
|||
SG_ _FLOAT32 : 0|32@1- (1,0) [0|0] "mm" Device_2 |
|||
|
|||
BO_ 901 TEST_FLOAT: 5 RAWDATA_TEST |
|||
SG_ Muxer M : 32|8@1+ (1,0) [1|81] "" Vector__XXX |
|||
SG_ Value m9 : 0|32@1- (1,0) [0|255] "" Vector__XXX |
|||
|
|||
BO_ 902 TEST_INT: 5 RAWDATA_TEST |
|||
SG_ Muxer M : 32|8@1+ (1,0) [1|81] "" Vector__XXX |
|||
SG_ Value m9 : 0|32@1- (1,0) [0|255] "" Vector__XXX |
|||
|
|||
BO_ 903 TEST_INT_OFFSET: 7 RAWDATA_TEST |
|||
SG_ Muxer M : 48|8@1+ (1,0) [1|81] "" Vector__XXX |
|||
SG_ Value m9 : 16|32@1- (1,0) [0|255] "" Vector__XXX |
|||
|
|||
BO_ 904 TEST_BIT_OFFSET: 7 RAWDATA_TEST |
|||
SG_ Muxer M : 48|8@1+ (1,0) [1|81] "" Vector__XXX |
|||
SG_ Bit1 m9 : 6|1@1+ (1,0) [0|1] "" Vector__XXX |
|||
SG_ Bit2 m9 : 7|4@1+ (1,0) [0|15] "" Vector__XXX |
|||
SG_ Bit3 m9 : 11|1@1+ (1,0) [0|1] "" Vector__XXX |
|||
|
|||
BO_ 905 TEST_INT_BE1: 1 RAWDATA_TEST |
|||
SG_ Value : 7|8@0+ (1,0) [0|255] "" Vector__XXX |
|||
|
|||
BO_ 906 TEST_INT_BE2: 7 RAWDATA_TEST |
|||
SG_ Value : 15|16@0- (1,0) [-32768|32767] "" Vector__XXX |
|||
SG_ Value1 : 31|16@0- (1,0) [-32768|32767] "" Vector__XXX |
|||
SG_ Value2 : 40|16@1- (1,0) [-32768|32767] "" Vector__XXX |
|||
|
|||
BO_ 907 TEST_INT_LE_BF: 2 RAWDATA_TEST |
|||
SG_ Value1 : 1|1@1+ (1,0) [0|255] "" Vector__XXX |
|||
SG_ Value2 : 4|1@1+ (1,0) [0|255] "" Vector__XXX |
|||
SG_ Value3 : 13|1@1+ (1,0) [0|255] "" Vector__XXX |
|||
|
|||
BO_ 908 TEST_BITFIELD: 8 RAWDATA_TEST |
|||
SG_ NOT_DETECTED M : 7|1@0+ (1,0) [0|0] "" Vector__XXX |
|||
SG_ WS_ID m0 : 15|24@0+ (1,0) [0|0] "" Vector__XXX |
|||
|
|||
BO_TX_BU_ 784 : RAWDATA_TEST, Device_2, Device_1 ; |
|||
|
|||
|
|||
EV_ EnvData: 0 [0|0] "" 0 1 DUMMY_NODE_VECTOR0 Vector__XXX; |
|||
|
|||
EV_ EnvInteger_W: 0 [0|0] "" 0 2 DUMMY_NODE_VECTOR2 Vector__XXX; |
|||
|
|||
EV_ EnvSrring_R: 0 [0|0] "none" 0 3 DUMMY_NODE_VECTOR8001 Device_2; |
|||
|
|||
EV_ EnvFloat_RW: 1 [0|100] "mm" 0 4 DUMMY_NODE_VECTOR3 Device_1; |
|||
ENVVAR_DATA_ EnvData: 0; |
|||
|
|||
CM_ BU_ Device_1 "Device 1 |
|||
|
|||
defined by ..."; |
|||
CM_ BU_ Device_2 "Device 2 |
|||
|
|||
defined by ..."; |
|||
CM_ BO_ 1 "Device 1 |
|||
Message 2"; |
|||
CM_ SG_ 1 Int32 "Signal_1 comment"; |
|||
CM_ SG_ 1 Signal_2 "Signal_2 comment"; |
|||
CM_ BO_ 2 "Message comment"; |
|||
CM_ BO_ 784 "Device 1 |
|||
Message 1"; |
|||
CM_ SG_ 784 _Int8 "Int16, signed"; |
|||
CM_ SG_ 784 _FLOAT32 "IEEE FLOAT64 |
|||
Signal"; |
|||
BA_DEF_ BU_ "BUAttributeHex" HEX 0 255; |
|||
BA_DEF_ "BusType" STRING ; |
|||
BA_DEF_ EV_ "EVAttributeEnum" ENUM "a","b","c"; |
|||
BA_DEF_ SG_ "SGAttributeFloat" FLOAT 0 0; |
|||
BA_DEF_REL_ BU_SG_REL_ "BOMappedAttributeInt" FLOAT -1000 1000; |
|||
BA_DEF_REL_ BU_EV_REL_ "ECU_EV_Attrib" INT 0 0; |
|||
BA_DEF_REL_ BU_SG_REL_ "NODE_MAPPED_RX_Atrib" INT 0 0; |
|||
BA_DEF_REL_ BU_BO_REL_ "NODE_TX_Attrib" INT 0 0; |
|||
BA_DEF_DEF_ "BUAttributeHex" 10; |
|||
BA_DEF_DEF_ "BusType" "CAN"; |
|||
BA_DEF_DEF_ "EVAttributeEnum" "b"; |
|||
BA_DEF_DEF_ "SGAttributeFloat" 0; |
|||
BA_DEF_DEF_REL_ "BOMappedAttributeInt" 0; |
|||
BA_DEF_DEF_REL_ "ECU_EV_Attrib" 0; |
|||
BA_DEF_DEF_REL_ "NODE_MAPPED_RX_Atrib" 0; |
|||
BA_DEF_DEF_REL_ "NODE_TX_Attrib" 0; |
|||
BA_ "SGAttributeFloat" SG_ 1 Int32 546363456346; |
|||
VAL_ 1 Int32 255 "sepp" ; |
|||
SIG_VALTYPE_ 784 _FLOAT32 : 1; |
|||
SIG_VALTYPE_ 901 Value : 1; |
|||
|
|||
File diff suppressed because it is too large
Binary file not shown.
File diff suppressed because it is too large
@ -0,0 +1,94 @@ |
|||
|
|||
/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 |
|||
@ -0,0 +1,140 @@ |
|||
VERSION "CANDb example 1.0" |
|||
|
|||
|
|||
NS_ : |
|||
NS_DESC_ |
|||
CM_ |
|||
BA_DEF_ |
|||
BA_ |
|||
VAL_ |
|||
CAT_DEF_ |
|||
CAT_ |
|||
FILTER |
|||
BA_DEF_DEF_ |
|||
EV_DATA_ |
|||
ENVVAR_DATA_ |
|||
SGTYPE_ |
|||
SGTYPE_VAL_ |
|||
BA_DEF_SGTYPE_ |
|||
BA_SGTYPE_ |
|||
SIG_TYPE_REF_ |
|||
VAL_TABLE_ |
|||
SIG_GROUP_ |
|||
SIG_VALTYPE_ |
|||
SIGTYPE_VALTYPE_ |
|||
BO_TX_BU_ |
|||
BA_DEF_REL_ |
|||
BA_REL_ |
|||
BA_DEF_DEF_REL_ |
|||
BU_SG_REL_ |
|||
BU_EV_REL_ |
|||
BU_BO_REL_ |
|||
SG_MUL_VAL_ |
|||
|
|||
BS_: |
|||
|
|||
BU_: Device_1 Device_2 RAWDATA_TEST |
|||
VAL_TABLE_ ErrorTab 32 "Poti 180 deg wrong" 16 "Misshift" 2 "Gearpoti Warning" 8 "Gearpoti Error - use emergency m" 4 "Sensor out of range" 1 "Compressor Warning" ; |
|||
VAL_TABLE_ state_cut_Tab 2 "down shift" 1 "up shift" 0 "no shift in progress" ; |
|||
VAL_TABLE_ button_state_Tab 64 "b_POTI_180" 32 "b_MISSSHIFT" 16 "b_BUTTON_EMG" 8 "b_BUTTON_REV" 4 "b_BUTTON_NEU" 2 "b_PADDLE_DN" 1 "b_PADDLE_UP" ; |
|||
VAL_TABLE_ valve_state_Tab 32 "b_EMGCY_IND" 16 "b_STATE_COMP" 4 "b_VALVE_BLIP" 2 "b_VALVE_DOWN" 1 "b_VALVE_UP" ; |
|||
VAL_TABLE_ GearTabRb6 16 "6->" 15 "6" 14 "5->6" 13 "5" 12 "4->5" 11 "4" 10 "3->4" 9 "3" 8 "2->3" 7 "2" 6 "1->2" 5 "1" 4 "N->1" 3 "N" 2 "R->N" 1 "R" 0 "->R" ; |
|||
VAL_TABLE_ ShiftStateTab 1 "shift activ" 0 "no shift activ" ; |
|||
|
|||
|
|||
BO_ 1 _Message_2: 8 Device_1 |
|||
SG_ Int32 : 0|32@1+ (1,0) [0|4294967295] "m/s" Device_2 |
|||
SG_ Signal_2 : 32|8@1+ (1,0) [0|7] "degC" Device_2 |
|||
|
|||
BO_ 2 _Message_3: 8 Device_2 |
|||
SG_ Signal_3 : 0|9@1+ (1,0) [0|1] "km/h" Device_1 |
|||
|
|||
BO_ 784 _Message_1: 8 Device_1 |
|||
SG_ Multiplexor M : 32|8@1+ (1,0) [0|0] "none" Vector__XXX |
|||
SG_ _Int8 m0 : 56|8@1- (1,0) [0|0] "km/h" Device_2 |
|||
SG_ _FLOAT32 : 0|32@1- (1,0) [0|0] "mm" Device_2 |
|||
|
|||
BO_ 901 TEST_FLOAT: 5 RAWDATA_TEST |
|||
SG_ Muxer M : 32|8@1+ (1,0) [1|81] "" Vector__XXX |
|||
SG_ Value m9 : 0|32@1- (1,0) [0|255] "" Vector__XXX |
|||
|
|||
BO_ 902 TEST_INT: 5 RAWDATA_TEST |
|||
SG_ Muxer M : 32|8@1+ (1,0) [1|81] "" Vector__XXX |
|||
SG_ Value m9 : 0|32@1- (1,0) [0|255] "" Vector__XXX |
|||
|
|||
BO_ 903 TEST_INT_OFFSET: 7 RAWDATA_TEST |
|||
SG_ Muxer M : 48|8@1+ (1,0) [1|81] "" Vector__XXX |
|||
SG_ Value m9 : 16|32@1- (1,0) [0|255] "" Vector__XXX |
|||
|
|||
BO_ 904 TEST_BIT_OFFSET: 7 RAWDATA_TEST |
|||
SG_ Muxer M : 48|8@1+ (1,0) [1|81] "" Vector__XXX |
|||
SG_ Bit1 m9 : 6|1@1+ (1,0) [0|1] "" Vector__XXX |
|||
SG_ Bit2 m9 : 7|4@1+ (1,0) [0|15] "" Vector__XXX |
|||
SG_ Bit3 m9 : 11|1@1+ (1,0) [0|1] "" Vector__XXX |
|||
|
|||
BO_ 905 TEST_INT_BE1: 1 RAWDATA_TEST |
|||
SG_ Value : 7|8@0+ (1,0) [0|255] "" Vector__XXX |
|||
|
|||
BO_ 906 TEST_INT_BE2: 7 RAWDATA_TEST |
|||
SG_ Value : 15|16@0- (1,0) [-32768|32767] "" Vector__XXX |
|||
SG_ Value1 : 31|16@0- (1,0) [-32768|32767] "" Vector__XXX |
|||
SG_ Value2 : 40|16@1- (1,0) [-32768|32767] "" Vector__XXX |
|||
|
|||
BO_ 907 TEST_INT_LE_BF: 2 RAWDATA_TEST |
|||
SG_ Value1 : 1|1@1+ (1,0) [0|255] "" Vector__XXX |
|||
SG_ Value2 : 4|1@1+ (1,0) [0|255] "" Vector__XXX |
|||
SG_ Value3 : 13|1@1+ (1,0) [0|255] "" Vector__XXX |
|||
|
|||
BO_ 908 TEST_BITFIELD: 8 RAWDATA_TEST |
|||
SG_ NOT_DETECTED M : 7|1@0+ (1,0) [0|0] "" Vector__XXX |
|||
SG_ WS_ID m0 : 15|24@0+ (1,0) [0|0] "" Vector__XXX |
|||
|
|||
BO_TX_BU_ 784 : RAWDATA_TEST, Device_2, Device_1 ; |
|||
|
|||
|
|||
EV_ EnvData: 0 [0|0] "" 0 1 DUMMY_NODE_VECTOR0 Vector__XXX; |
|||
|
|||
EV_ EnvInteger_W: 0 [0|0] "" 0 2 DUMMY_NODE_VECTOR2 Vector__XXX; |
|||
|
|||
EV_ EnvSrring_R: 0 [0|0] "none" 0 3 DUMMY_NODE_VECTOR8001 Device_2; |
|||
|
|||
EV_ EnvFloat_RW: 1 [0|100] "mm" 0 4 DUMMY_NODE_VECTOR3 Device_1; |
|||
ENVVAR_DATA_ EnvData: 0; |
|||
|
|||
CM_ BU_ Device_1 "Device 1 |
|||
|
|||
defined by ..."; |
|||
CM_ BU_ Device_2 "Device 2 |
|||
|
|||
defined by ..."; |
|||
CM_ BO_ 1 "Device 1 |
|||
Message 2"; |
|||
CM_ SG_ 1 Int32 "Signal_1 comment"; |
|||
CM_ SG_ 1 Signal_2 "Signal_2 comment"; |
|||
CM_ BO_ 2 "Message comment"; |
|||
CM_ BO_ 784 "Device 1 |
|||
Message 1"; |
|||
CM_ SG_ 784 _Int8 "Int16, signed"; |
|||
CM_ SG_ 784 _FLOAT32 "IEEE FLOAT64 |
|||
Signal"; |
|||
BA_DEF_ BU_ "BUAttributeHex" HEX 0 255; |
|||
BA_DEF_ "BusType" STRING ; |
|||
BA_DEF_ EV_ "EVAttributeEnum" ENUM "a","b","c"; |
|||
BA_DEF_ SG_ "SGAttributeFloat" FLOAT 0 0; |
|||
BA_DEF_REL_ BU_SG_REL_ "BOMappedAttributeInt" FLOAT -1000 1000; |
|||
BA_DEF_REL_ BU_EV_REL_ "ECU_EV_Attrib" INT 0 0; |
|||
BA_DEF_REL_ BU_SG_REL_ "NODE_MAPPED_RX_Atrib" INT 0 0; |
|||
BA_DEF_REL_ BU_BO_REL_ "NODE_TX_Attrib" INT 0 0; |
|||
BA_DEF_DEF_ "BUAttributeHex" 10; |
|||
BA_DEF_DEF_ "BusType" "CAN"; |
|||
BA_DEF_DEF_ "EVAttributeEnum" "b"; |
|||
BA_DEF_DEF_ "SGAttributeFloat" 0; |
|||
BA_DEF_DEF_REL_ "BOMappedAttributeInt" 0; |
|||
BA_DEF_DEF_REL_ "ECU_EV_Attrib" 0; |
|||
BA_DEF_DEF_REL_ "NODE_MAPPED_RX_Atrib" 0; |
|||
BA_DEF_DEF_REL_ "NODE_TX_Attrib" 0; |
|||
BA_ "SGAttributeFloat" SG_ 1 Int32 546363456346; |
|||
VAL_ 1 Int32 255 "sepp" ; |
|||
SIG_VALTYPE_ 784 _FLOAT32 : 1; |
|||
SIG_VALTYPE_ 901 Value : 1; |
|||
|
|||
File diff suppressed because it is too large
File diff suppressed because it is too large
@ -0,0 +1,993 @@ |
|||
/************************************************************************************/ |
|||
/* */ |
|||
/* ASAP2 v1.6.1 language example */ |
|||
/* */ |
|||
/* 2013-02-13 */ |
|||
/* File: example-a2l-file.a2l */ |
|||
/* Version: 1.0 */ |
|||
/* */ |
|||
/* ASAM e.V. */ |
|||
/* Altlaufstr. 40 */ |
|||
/* 85635 Höhenkirchen */ |
|||
/* */ |
|||
/************************************************************************************/ |
|||
|
|||
ASAP2_VERSION 1 61 |
|||
|
|||
/begin PROJECT |
|||
ASAM |
|||
"_default_Project" |
|||
/begin HEADER |
|||
"default_Header" |
|||
PROJECT_NO ASAM2013 |
|||
/end HEADER |
|||
/begin MODULE |
|||
Module_01 |
|||
"default_Module" |
|||
|
|||
// /include "asam.aml" |
|||
|
|||
/begin MOD_PAR "default_ModPar" |
|||
ADDR_EPK 0x100100FF |
|||
EPK "EPROM_ID_01" |
|||
/begin MEMORY_SEGMENT MemorySegment_01 |
|||
"MemorySegment_01" |
|||
DATA |
|||
FLASH |
|||
EXTERN |
|||
0x1000FFFF |
|||
0xf0000 |
|||
0xFFFFFFFF 0xFFFFFFFF 0xFFFFFFFF 0xFFFFFFFF 0xFFFFFFFF |
|||
/begin IF_DATA ETK_XETK |
|||
ADDRESS_MAPPING |
|||
0x80810000 |
|||
0xa3010000 |
|||
0xf0000 |
|||
/end IF_DATA |
|||
/end MEMORY_SEGMENT |
|||
/end MOD_PAR |
|||
|
|||
/begin MOD_COMMON "default_ModCommon" |
|||
DEPOSIT ABSOLUTE |
|||
BYTE_ORDER MSB_FIRST |
|||
ALIGNMENT_BYTE 1 |
|||
ALIGNMENT_WORD 2 |
|||
ALIGNMENT_LONG 4 |
|||
ALIGNMENT_FLOAT32_IEEE 4 |
|||
ALIGNMENT_FLOAT64_IEEE 8 |
|||
/end MOD_COMMON |
|||
|
|||
/begin IF_DATA XCP |
|||
/begin PROTOCOL_LAYER |
|||
0x0100 |
|||
2000 |
|||
2000 |
|||
2000 |
|||
65535 |
|||
2000 |
|||
0005 |
|||
0005 |
|||
0x08 |
|||
0x0008 |
|||
BYTE_ORDER_MSB_LAST |
|||
ADDRESS_GRANULARITY_BYTE |
|||
SEED_AND_KEY_EXTERNAL_FUNCTION "SeedNKeyXcp.dll" |
|||
/end PROTOCOL_LAYER |
|||
/begin DAQ |
|||
STATIC |
|||
0x06 |
|||
0x06 |
|||
0x00 |
|||
OPTIMISATION_TYPE_DEFAULT |
|||
ADDRESS_EXTENSION_FREE |
|||
IDENTIFICATION_FIELD_TYPE_ABSOLUTE |
|||
0x04 |
|||
OVERLOAD_INDICATION_EVENT |
|||
/begin DAQ_LIST |
|||
0x0 |
|||
DAQ_LIST_TYPE DAQ |
|||
MAX_ODT 0x2 |
|||
MAX_ODT_ENTRIES 0x7 |
|||
FIRST_PID 0x0 |
|||
EVENT_FIXED 0x0 |
|||
/end DAQ_LIST |
|||
/begin DAQ_LIST |
|||
0x1 |
|||
DAQ_LIST_TYPE DAQ |
|||
MAX_ODT 0x2 |
|||
MAX_ODT_ENTRIES 0x7 |
|||
FIRST_PID 0x2 |
|||
EVENT_FIXED 0x1 |
|||
/end DAQ_LIST |
|||
/begin DAQ_LIST |
|||
0x2 |
|||
DAQ_LIST_TYPE DAQ |
|||
MAX_ODT 0x2 |
|||
MAX_ODT_ENTRIES 0x7 |
|||
FIRST_PID 0x4 |
|||
EVENT_FIXED 0x2 |
|||
/end DAQ_LIST |
|||
/begin DAQ_LIST |
|||
0x3 |
|||
DAQ_LIST_TYPE DAQ |
|||
MAX_ODT 0x2 |
|||
MAX_ODT_ENTRIES 0x7 |
|||
FIRST_PID 0x6 |
|||
EVENT_FIXED 0x3 |
|||
/end DAQ_LIST |
|||
/begin DAQ_LIST |
|||
0x5 |
|||
DAQ_LIST_TYPE DAQ |
|||
MAX_ODT 0xf |
|||
MAX_ODT_ENTRIES 0x7 |
|||
FIRST_PID 0x8 |
|||
EVENT_FIXED 0x5 |
|||
/end DAQ_LIST |
|||
/begin DAQ_LIST |
|||
0x4 |
|||
DAQ_LIST_TYPE DAQ |
|||
MAX_ODT 0xf |
|||
MAX_ODT_ENTRIES 0x7 |
|||
FIRST_PID 0x17 |
|||
EVENT_FIXED 0x4 |
|||
/end DAQ_LIST |
|||
/begin EVENT |
|||
"Segment 1" |
|||
"Segment 1" |
|||
0x0 |
|||
DAQ |
|||
0x1 |
|||
0x0 |
|||
0 |
|||
0 |
|||
/end EVENT |
|||
/begin EVENT |
|||
"Segment 2" |
|||
"Segment 2" |
|||
0x1 |
|||
DAQ |
|||
0x1 |
|||
0x0 |
|||
0 |
|||
0 |
|||
/end EVENT |
|||
/begin EVENT |
|||
"Segment 3" |
|||
"Segment 3" |
|||
0x2 |
|||
DAQ |
|||
0x1 |
|||
0x0 |
|||
0 |
|||
0 |
|||
/end EVENT |
|||
/begin EVENT |
|||
"Segment 4" |
|||
"Segment 4" |
|||
0x3 |
|||
DAQ |
|||
0x1 |
|||
0x0 |
|||
0 |
|||
0 |
|||
/end EVENT |
|||
/begin EVENT |
|||
"Tim100ms" |
|||
"Tim100ms" |
|||
0x5 |
|||
DAQ |
|||
0x1 |
|||
0x1 |
|||
8 |
|||
0 |
|||
/end EVENT |
|||
/begin EVENT |
|||
"Time 10ms" |
|||
"Time 10ms" |
|||
0x4 |
|||
DAQ |
|||
0x1 |
|||
0x1 |
|||
7 |
|||
0 |
|||
/end EVENT |
|||
/end DAQ |
|||
/end IF_DATA |
|||
|
|||
/begin MEASUREMENT Measurement_01 |
|||
"Preasure_chamber_01" |
|||
UBYTE |
|||
CompuMethod_02 |
|||
1 |
|||
0. |
|||
0. |
|||
255. |
|||
DISPLAY_IDENTIFIER Measurement_01 |
|||
ECU_ADDRESS 0xE0010000 |
|||
BIT_MASK 0x1F |
|||
/begin IF_DATA XCP |
|||
/begin DAQ_EVENT |
|||
VARIABLE |
|||
/begin DEFAULT_EVENT_LIST |
|||
EVENT 0 |
|||
EVENT 1 |
|||
EVENT 2 |
|||
EVENT 3 |
|||
EVENT 4 |
|||
/end DEFAULT_EVENT_LIST |
|||
/end DAQ_EVENT |
|||
/end IF_DATA |
|||
/end MEASUREMENT |
|||
|
|||
/begin MEASUREMENT Measurement_02 |
|||
"Preasure_chamber_02" |
|||
UBYTE |
|||
CompuMethod_02 |
|||
1 |
|||
0. |
|||
0. |
|||
255. |
|||
DISPLAY_IDENTIFIER Measurement_02 |
|||
ECU_ADDRESS 0xE0020000 |
|||
BIT_MASK 0x1F |
|||
/begin IF_DATA XCP |
|||
/begin DAQ_EVENT |
|||
VARIABLE |
|||
/begin DEFAULT_EVENT_LIST |
|||
EVENT 0 |
|||
EVENT 1 |
|||
EVENT 2 |
|||
EVENT 3 |
|||
EVENT 4 |
|||
/end DEFAULT_EVENT_LIST |
|||
/end DAQ_EVENT |
|||
/end IF_DATA |
|||
/end MEASUREMENT |
|||
|
|||
/begin MEASUREMENT Measurement_03 |
|||
"Preasure_chamber_03" |
|||
UWORD |
|||
CompuMethod_03 |
|||
1 |
|||
0. |
|||
0. |
|||
65535. |
|||
DISPLAY_IDENTIFIER Measurement_03 |
|||
ECU_ADDRESS 0xE0030000 |
|||
FORMAT "%6.0" |
|||
/begin IF_DATA XCP |
|||
/begin DAQ_EVENT |
|||
VARIABLE |
|||
/begin DEFAULT_EVENT_LIST |
|||
EVENT 0 |
|||
EVENT 1 |
|||
EVENT 2 |
|||
EVENT 3 |
|||
EVENT 4 |
|||
/end DEFAULT_EVENT_LIST |
|||
/end DAQ_EVENT |
|||
/end IF_DATA |
|||
/end MEASUREMENT |
|||
|
|||
/begin MEASUREMENT Measurement_04 |
|||
"Preasure_chamber_04" |
|||
UWORD |
|||
CompuMethod_05 |
|||
1 |
|||
0. |
|||
0. |
|||
359.999 |
|||
DISPLAY_IDENTIFIER Measurement_04 |
|||
ECU_ADDRESS 0xE0040000 |
|||
FORMAT "%6.3" |
|||
/begin IF_DATA XCP |
|||
/begin DAQ_EVENT |
|||
VARIABLE |
|||
/begin DEFAULT_EVENT_LIST |
|||
EVENT 0 |
|||
EVENT 1 |
|||
EVENT 2 |
|||
EVENT 3 |
|||
EVENT 4 |
|||
/end DEFAULT_EVENT_LIST |
|||
/end DAQ_EVENT |
|||
/end IF_DATA |
|||
/end MEASUREMENT |
|||
|
|||
/begin MEASUREMENT Measurement_05 |
|||
"Preasure_chamber_05" |
|||
UWORD |
|||
CompuMethod_01 |
|||
1 |
|||
0. |
|||
0. |
|||
65535. |
|||
DISPLAY_IDENTIFIER Measurement_05 |
|||
ECU_ADDRESS 0xE0050000 |
|||
FORMAT "%6.0" |
|||
/begin IF_DATA XCP |
|||
/begin DAQ_EVENT |
|||
VARIABLE |
|||
/begin DEFAULT_EVENT_LIST |
|||
EVENT 0 |
|||
EVENT 1 |
|||
EVENT 2 |
|||
EVENT 3 |
|||
EVENT 4 |
|||
/end DEFAULT_EVENT_LIST |
|||
/end DAQ_EVENT |
|||
/end IF_DATA |
|||
/end MEASUREMENT |
|||
|
|||
/begin MEASUREMENT Measurement_06 |
|||
"Preasure_chamber_06" |
|||
UWORD |
|||
CompuMethod_01 |
|||
1 |
|||
0. |
|||
0. |
|||
65535. |
|||
DISPLAY_IDENTIFIER Measurement_06 |
|||
ECU_ADDRESS 0xE0060000 |
|||
FORMAT "%6.0" |
|||
/begin IF_DATA XCP |
|||
/begin DAQ_EVENT |
|||
VARIABLE |
|||
/begin DEFAULT_EVENT_LIST |
|||
EVENT 0 |
|||
EVENT 1 |
|||
EVENT 2 |
|||
EVENT 3 |
|||
EVENT 4 |
|||
/end DEFAULT_EVENT_LIST |
|||
/end DAQ_EVENT |
|||
/end IF_DATA |
|||
/end MEASUREMENT |
|||
|
|||
/begin MEASUREMENT Measurement_07 |
|||
"Preasure_chamber_07" |
|||
UBYTE |
|||
CompuMethod_02 |
|||
1 |
|||
0. |
|||
0. |
|||
255. |
|||
DISPLAY_IDENTIFIER Measurement_07 |
|||
ECU_ADDRESS 0xE0070000 |
|||
BIT_MASK 0x1F |
|||
/begin IF_DATA XCP |
|||
/begin DAQ_EVENT |
|||
VARIABLE |
|||
/begin DEFAULT_EVENT_LIST |
|||
EVENT 0 |
|||
EVENT 1 |
|||
EVENT 2 |
|||
EVENT 3 |
|||
EVENT 4 |
|||
/end DEFAULT_EVENT_LIST |
|||
/end DAQ_EVENT |
|||
/end IF_DATA |
|||
/end MEASUREMENT |
|||
|
|||
/begin MEASUREMENT Measurement_08 |
|||
"Preasure_chamber_08" |
|||
UWORD |
|||
CompuMethod_05 |
|||
1 |
|||
0. |
|||
0. |
|||
359.999 |
|||
DISPLAY_IDENTIFIER Measurement_08 |
|||
ECU_ADDRESS 0xE0080000 |
|||
FORMAT "%6.3" |
|||
/begin IF_DATA XCP |
|||
/begin DAQ_EVENT |
|||
VARIABLE |
|||
/begin DEFAULT_EVENT_LIST |
|||
EVENT 0 |
|||
EVENT 1 |
|||
EVENT 2 |
|||
EVENT 3 |
|||
EVENT 4 |
|||
/end DEFAULT_EVENT_LIST |
|||
/end DAQ_EVENT |
|||
/end IF_DATA |
|||
/end MEASUREMENT |
|||
|
|||
/begin MEASUREMENT Measurement_09 |
|||
"Preasure_chamber_09" |
|||
UWORD |
|||
CompuMethod_03 |
|||
1 |
|||
0. |
|||
0. |
|||
65535. |
|||
DISPLAY_IDENTIFIER Measurement_09 |
|||
ECU_ADDRESS 0xE0090000 |
|||
FORMAT "%6.0" |
|||
/begin IF_DATA XCP |
|||
/begin DAQ_EVENT |
|||
VARIABLE |
|||
/begin DEFAULT_EVENT_LIST |
|||
EVENT 0 |
|||
EVENT 1 |
|||
EVENT 2 |
|||
EVENT 3 |
|||
EVENT 4 |
|||
/end DEFAULT_EVENT_LIST |
|||
/end DAQ_EVENT |
|||
/end IF_DATA |
|||
/end MEASUREMENT |
|||
|
|||
/begin MEASUREMENT Measurement_10 |
|||
"Preasure_chamber_10" |
|||
UWORD |
|||
CompuMethod_03 |
|||
1 |
|||
0. |
|||
0. |
|||
65535. |
|||
DISPLAY_IDENTIFIER Measurement_10 |
|||
ECU_ADDRESS 0xE00A0000 |
|||
FORMAT "%6.0" |
|||
/begin IF_DATA XCP |
|||
/begin DAQ_EVENT |
|||
VARIABLE |
|||
/begin DEFAULT_EVENT_LIST |
|||
EVENT 0 |
|||
EVENT 1 |
|||
EVENT 2 |
|||
EVENT 3 |
|||
EVENT 4 |
|||
/end DEFAULT_EVENT_LIST |
|||
/end DAQ_EVENT |
|||
/end IF_DATA |
|||
/end MEASUREMENT |
|||
|
|||
/begin MEASUREMENT Measurement_11 |
|||
"Preasure_chamber_11" |
|||
UWORD |
|||
CompuMethod_03 |
|||
1 |
|||
0. |
|||
0. |
|||
65535. |
|||
DISPLAY_IDENTIFIER Measurement_11 |
|||
ECU_ADDRESS 0xE00B0000 |
|||
FORMAT "%6.0" |
|||
/begin IF_DATA XCP |
|||
/begin DAQ_EVENT |
|||
VARIABLE |
|||
/begin DEFAULT_EVENT_LIST |
|||
EVENT 0 |
|||
EVENT 1 |
|||
EVENT 2 |
|||
EVENT 3 |
|||
EVENT 4 |
|||
/end DEFAULT_EVENT_LIST |
|||
/end DAQ_EVENT |
|||
/end IF_DATA |
|||
/end MEASUREMENT |
|||
|
|||
/begin MEASUREMENT Measurement_12 |
|||
"Preasure_chamber_12" |
|||
UWORD |
|||
CompuMethod_05 |
|||
1 |
|||
0. |
|||
0. |
|||
359.999 |
|||
DISPLAY_IDENTIFIER Measurement_12 |
|||
ECU_ADDRESS 0xE00C0000 |
|||
FORMAT "%6.3" |
|||
/begin IF_DATA XCP |
|||
/begin DAQ_EVENT |
|||
VARIABLE |
|||
/begin DEFAULT_EVENT_LIST |
|||
EVENT 0 |
|||
EVENT 1 |
|||
EVENT 2 |
|||
EVENT 3 |
|||
EVENT 4 |
|||
/end DEFAULT_EVENT_LIST |
|||
/end DAQ_EVENT |
|||
/end IF_DATA |
|||
/end MEASUREMENT |
|||
|
|||
/begin MEASUREMENT Measurement_13 |
|||
"Preasure_chamber_13" |
|||
UBYTE |
|||
CompuMethod_02 |
|||
1 |
|||
0. |
|||
0. |
|||
255. |
|||
DISPLAY_IDENTIFIER Measurement_13 |
|||
ECU_ADDRESS 0xE00D0000 |
|||
BIT_MASK 0x1F |
|||
/begin IF_DATA XCP |
|||
/begin DAQ_EVENT |
|||
VARIABLE |
|||
/begin DEFAULT_EVENT_LIST |
|||
EVENT 0 |
|||
EVENT 1 |
|||
EVENT 2 |
|||
EVENT 3 |
|||
EVENT 4 |
|||
/end DEFAULT_EVENT_LIST |
|||
/end DAQ_EVENT |
|||
/end IF_DATA |
|||
/end MEASUREMENT |
|||
|
|||
/begin MEASUREMENT Measurement_14 |
|||
"Preasure_chamber_14" |
|||
UBYTE |
|||
CompuMethod_02 |
|||
1 |
|||
0. |
|||
0. |
|||
255. |
|||
DISPLAY_IDENTIFIER Measurement_14 |
|||
ECU_ADDRESS 0xE00E0000 |
|||
BIT_MASK 0x1F |
|||
/begin IF_DATA XCP |
|||
/begin DAQ_EVENT |
|||
VARIABLE |
|||
/begin DEFAULT_EVENT_LIST |
|||
EVENT 0 |
|||
EVENT 1 |
|||
EVENT 2 |
|||
EVENT 3 |
|||
EVENT 4 |
|||
/end DEFAULT_EVENT_LIST |
|||
/end DAQ_EVENT |
|||
/end IF_DATA |
|||
/end MEASUREMENT |
|||
|
|||
/begin MEASUREMENT Measurement_15 |
|||
"Preasure_chamber_15" |
|||
UBYTE |
|||
CompuMethod_02 |
|||
1 |
|||
0. |
|||
0. |
|||
255. |
|||
DISPLAY_IDENTIFIER Measurement_15 |
|||
ECU_ADDRESS 0xE00F0000 |
|||
BIT_MASK 0x1F |
|||
/begin IF_DATA XCP |
|||
/begin DAQ_EVENT |
|||
VARIABLE |
|||
/begin DEFAULT_EVENT_LIST |
|||
EVENT 0 |
|||
EVENT 1 |
|||
EVENT 2 |
|||
EVENT 3 |
|||
EVENT 4 |
|||
/end DEFAULT_EVENT_LIST |
|||
/end DAQ_EVENT |
|||
/end IF_DATA |
|||
/end MEASUREMENT |
|||
|
|||
/begin MEASUREMENT Measurement_16 |
|||
"Preasure_chamber_16" |
|||
UWORD |
|||
CompuMethod_06 |
|||
1 |
|||
0. |
|||
0. |
|||
359.999 |
|||
DISPLAY_IDENTIFIER Measurement_16 |
|||
ECU_ADDRESS 0xE0100000 |
|||
FORMAT "%6.3" |
|||
/begin IF_DATA XCP |
|||
/begin DAQ_EVENT |
|||
VARIABLE |
|||
/begin DEFAULT_EVENT_LIST |
|||
EVENT 0 |
|||
EVENT 1 |
|||
EVENT 2 |
|||
EVENT 3 |
|||
EVENT 4 |
|||
/end DEFAULT_EVENT_LIST |
|||
/end DAQ_EVENT |
|||
/end IF_DATA |
|||
/end MEASUREMENT |
|||
|
|||
/begin CHARACTERISTIC Characteristic_01 |
|||
"regulator_01" |
|||
VALUE |
|||
0x1100FF00 |
|||
RecordLayout_01 |
|||
1. |
|||
CompuMethod_02 |
|||
0. |
|||
1. |
|||
DISPLAY_IDENTIFIER Characteristic_01 |
|||
BIT_MASK 0x1F |
|||
/end CHARACTERISTIC |
|||
|
|||
/begin CHARACTERISTIC Characteristic_02 |
|||
"regulator_02" |
|||
VALUE |
|||
0x1200FF00 |
|||
RecordLayout_02 |
|||
359.999 |
|||
CompuMethod_05 |
|||
0. |
|||
359.999 |
|||
DISPLAY_IDENTIFIER Characteristic_02 |
|||
FORMAT "%6.3" |
|||
/end CHARACTERISTIC |
|||
|
|||
/begin CHARACTERISTIC Characteristic_03 |
|||
"regulator_03" |
|||
VALUE |
|||
0x1300FF00 |
|||
RecordLayout_02 |
|||
359.999 |
|||
CompuMethod_05 |
|||
0. |
|||
359.999 |
|||
DISPLAY_IDENTIFIER Characteristic_03 |
|||
FORMAT "%6.3" |
|||
/end CHARACTERISTIC |
|||
|
|||
/begin CHARACTERISTIC Characteristic_04 |
|||
"regulator_04" |
|||
VALUE |
|||
0x1400FF00 |
|||
RecordLayout_02 |
|||
359.999 |
|||
CompuMethod_05 |
|||
0. |
|||
359.999 |
|||
DISPLAY_IDENTIFIER Characteristic_04 |
|||
FORMAT "%6.3" |
|||
/end CHARACTERISTIC |
|||
|
|||
/begin CHARACTERISTIC Characteristic_05 |
|||
"regulator_05" |
|||
VALUE |
|||
0x1500FF00 |
|||
RecordLayout_02 |
|||
65535. |
|||
CompuMethod_03 |
|||
0. |
|||
65535. |
|||
DISPLAY_IDENTIFIER Characteristic_05 |
|||
FORMAT "%6.0" |
|||
/end CHARACTERISTIC |
|||
|
|||
/begin CHARACTERISTIC Characteristic_06 |
|||
"regulator_06" |
|||
VALUE |
|||
0x1600FF00 |
|||
RecordLayout_02 |
|||
65535. |
|||
CompuMethod_03 |
|||
0. |
|||
65535. |
|||
DISPLAY_IDENTIFIER Characteristic_06 |
|||
FORMAT "%6.0" |
|||
/end CHARACTERISTIC |
|||
|
|||
/begin CHARACTERISTIC Characteristic_07 |
|||
"regulator_07" |
|||
VALUE |
|||
0x1700FF00 |
|||
RecordLayout_02 |
|||
65535. |
|||
CompuMethod_03 |
|||
0. |
|||
65535. |
|||
DISPLAY_IDENTIFIER Characteristic_07 |
|||
FORMAT "%6.0" |
|||
/end CHARACTERISTIC |
|||
|
|||
/begin CHARACTERISTIC Characteristic_08 |
|||
"regulator_08" |
|||
VALUE |
|||
0x1800FF00 |
|||
RecordLayout_01 |
|||
255. |
|||
CompuMethod_03 |
|||
0. |
|||
255. |
|||
DISPLAY_IDENTIFIER Characteristic_08 |
|||
FORMAT "%5.0" |
|||
/end CHARACTERISTIC |
|||
|
|||
/begin CHARACTERISTIC Characteristic_09 |
|||
"regulator_09" |
|||
VALUE |
|||
0x1900FF00 |
|||
RecordLayout_02 |
|||
1000.9 |
|||
CompuMethod_04 |
|||
2.e-002 |
|||
1001. |
|||
DISPLAY_IDENTIFIER Characteristic_09 |
|||
FORMAT "%6.2" |
|||
/end CHARACTERISTIC |
|||
|
|||
/begin CHARACTERISTIC Characteristic_10 |
|||
"regulator_10" |
|||
VALUE |
|||
0x1A00FF00 |
|||
RecordLayout_02 |
|||
65535. |
|||
CompuMethod_03 |
|||
0. |
|||
65535. |
|||
DISPLAY_IDENTIFIER Characteristic_10 |
|||
FORMAT "%5.0" |
|||
/end CHARACTERISTIC |
|||
|
|||
/begin CHARACTERISTIC Characteristic_11 |
|||
"regulator_11" |
|||
VALUE |
|||
0x1B00FF00 |
|||
RecordLayout_02 |
|||
65535. |
|||
CompuMethod_03 |
|||
0. |
|||
65535. |
|||
DISPLAY_IDENTIFIER Characteristic_11 |
|||
FORMAT "%5.0" |
|||
/end CHARACTERISTIC |
|||
|
|||
/begin CHARACTERISTIC Characteristic_12 |
|||
"regulator_12" |
|||
VALUE |
|||
0x1C00FF00 |
|||
RecordLayout_02 |
|||
1000.9 |
|||
CompuMethod_04 |
|||
0. |
|||
1000.9 |
|||
DISPLAY_IDENTIFIER Characteristic_12 |
|||
FORMAT "%5.1" |
|||
/end CHARACTERISTIC |
|||
|
|||
/begin CHARACTERISTIC Characteristic_13 |
|||
"regulator_13" |
|||
VALUE |
|||
0x1D00FF00 |
|||
RecordLayout_02 |
|||
1000.9 |
|||
CompuMethod_04 |
|||
0. |
|||
1000.9 |
|||
DISPLAY_IDENTIFIER Characteristic_13 |
|||
FORMAT "%5.1" |
|||
/end CHARACTERISTIC |
|||
|
|||
/begin CHARACTERISTIC Characteristic_14 |
|||
"regulator_14" |
|||
VALUE |
|||
0x1E00FF00 |
|||
RecordLayout_02 |
|||
359.999 |
|||
CompuMethod_05 |
|||
0. |
|||
359.999 |
|||
DISPLAY_IDENTIFIER Characteristic_14 |
|||
FORMAT "%6.3" |
|||
/end CHARACTERISTIC |
|||
|
|||
/begin CHARACTERISTIC Characteristic_15 |
|||
"regulator_15" |
|||
MAP |
|||
0x1F00FF00 |
|||
RecordLayout_03 |
|||
1000.99 |
|||
CompuMethod_04 |
|||
2.e-002 |
|||
1001. |
|||
DISPLAY_IDENTIFIER Characteristic_15 |
|||
FORMAT "%6.2" |
|||
/begin AXIS_DESCR |
|||
STD_AXIS |
|||
NO_INPUT_QUANTITY |
|||
CompuMethod_03 |
|||
100 |
|||
0. |
|||
255. |
|||
FORMAT "%4.0" |
|||
/end AXIS_DESCR |
|||
/begin AXIS_DESCR |
|||
STD_AXIS |
|||
Measurement_16 |
|||
CompuMethod_07 |
|||
100 |
|||
0. |
|||
1000.9 |
|||
FORMAT "%5.1" |
|||
/end AXIS_DESCR |
|||
/end CHARACTERISTIC |
|||
|
|||
/begin CHARACTERISTIC Characteristic_16 |
|||
"regulator_16" |
|||
CURVE |
|||
0x2000FF00 |
|||
RecordLayout_05 |
|||
40. |
|||
CompuMethod_09 |
|||
-19. |
|||
20. |
|||
DISPLAY_IDENTIFIER Characteristic_16 |
|||
FORMAT "%7.2" |
|||
/begin AXIS_DESCR |
|||
COM_AXIS |
|||
NO_INPUT_QUANTITY |
|||
CompuMethod_08 |
|||
20 |
|||
0. |
|||
50. |
|||
FORMAT "%4.4" |
|||
AXIS_PTS_REF AxisPts_01 |
|||
/end AXIS_DESCR |
|||
/end CHARACTERISTIC |
|||
|
|||
/begin COMPU_METHOD CompuMethod_01 |
|||
"" |
|||
RAT_FUNC |
|||
"%2.2" |
|||
"-" |
|||
COEFFS 0 1. 0. 0 0 2 |
|||
/end COMPU_METHOD |
|||
|
|||
/begin COMPU_METHOD CompuMethod_02 |
|||
"" |
|||
TAB_VERB |
|||
"%2.2" |
|||
"-" |
|||
COMPU_TAB_REF CompuVtab_01 |
|||
/end COMPU_METHOD |
|||
|
|||
/begin COMPU_METHOD CompuMethod_03 |
|||
"RATIONALFUNCTION_[0;1;0;0;0;1]" |
|||
RAT_FUNC |
|||
"%2.2" |
|||
"-" |
|||
COEFFS 0. 1. 0. 0. 0. 1. |
|||
/end COMPU_METHOD |
|||
|
|||
/begin COMPU_METHOD CompuMethod_04 |
|||
"RATIONALFUNCTION_[0;1;0;0;0;0.02]" |
|||
RAT_FUNC |
|||
"%2.2" |
|||
"s" |
|||
COEFFS 0. 1. 0. 0. 0. 2.e-002 |
|||
/end COMPU_METHOD |
|||
|
|||
/begin COMPU_METHOD CompuMethod_05 |
|||
"RATIONALFUNCTION_[0;1;0;0;0;0.1]" |
|||
RAT_FUNC |
|||
"%2.2" |
|||
"%" |
|||
COEFFS 0. 1. 0. 0. 0. 2.5e-003 |
|||
/end COMPU_METHOD |
|||
|
|||
/begin COMPU_METHOD CompuMethod_06 |
|||
"" |
|||
RAT_FUNC |
|||
"%2.2" |
|||
"rpm" |
|||
COEFFS 0 4. 0. 0 0 1 |
|||
/end COMPU_METHOD |
|||
|
|||
/begin COMPU_METHOD CompuMethod_07 |
|||
"RATIONALFUNCTION_[0;1;0;0;0;0.205]" |
|||
RAT_FUNC |
|||
"%2.2" |
|||
"U/min" |
|||
COEFFS 0. 1. 0. 0. 0. 0.205 |
|||
/end COMPU_METHOD |
|||
|
|||
/begin COMPU_METHOD CompuMethod_08 |
|||
"" |
|||
RAT_FUNC |
|||
"%2.2" |
|||
"V" |
|||
COEFFS 0 819. 0. 0 0 1 |
|||
/end COMPU_METHOD |
|||
|
|||
/begin COMPU_METHOD CompuMethod_09 |
|||
"" |
|||
RAT_FUNC |
|||
"%4.4" |
|||
"bar" |
|||
COEFFS 0 100. 0. 0 0 1 |
|||
/end COMPU_METHOD |
|||
|
|||
/begin COMPU_VTAB CompuVtab_01 |
|||
"" |
|||
TAB_VERB |
|||
2 |
|||
0 "FALSE" |
|||
1 "TRUE" |
|||
/end COMPU_VTAB |
|||
|
|||
/begin RECORD_LAYOUT RecordLayout_01 |
|||
FNC_VALUES 1 UBYTE COLUMN_DIR PLONG |
|||
/end RECORD_LAYOUT |
|||
|
|||
/begin RECORD_LAYOUT RecordLayout_02 |
|||
FNC_VALUES 1 UWORD COLUMN_DIR PLONG |
|||
/end RECORD_LAYOUT |
|||
|
|||
/begin RECORD_LAYOUT RecordLayout_03 |
|||
NO_AXIS_PTS_X 1 UBYTE |
|||
AXIS_PTS_X 2 UBYTE INDEX_INCR DIRECT |
|||
NO_AXIS_PTS_Y 3 UWORD |
|||
AXIS_PTS_Y 4 UWORD INDEX_INCR DIRECT |
|||
FNC_VALUES 5 UWORD COLUMN_DIR DIRECT |
|||
/end RECORD_LAYOUT |
|||
|
|||
/begin RECORD_LAYOUT RecordLayout_04 |
|||
NO_AXIS_PTS_X 1 UWORD |
|||
AXIS_PTS_X 2 UWORD INDEX_DECR DIRECT |
|||
/end RECORD_LAYOUT |
|||
|
|||
/begin RECORD_LAYOUT RecordLayout_05 |
|||
FNC_VALUES 1 SWORD COLUMN_DIR PLONG |
|||
/end RECORD_LAYOUT |
|||
|
|||
/begin AXIS_PTS AxisPts_01 |
|||
"" |
|||
0xEE001134 |
|||
NO_INPUT_QUANTITY |
|||
RecordLayout_04 |
|||
5. |
|||
CompuMethod_08 |
|||
2 |
|||
0. |
|||
5. |
|||
FORMAT "%4.4" |
|||
/end AXIS_PTS |
|||
|
|||
/begin FUNCTION Function_01 |
|||
"FunctionList_01" |
|||
FUNCTION_VERSION "2.2" |
|||
/begin DEF_CHARACTERISTIC |
|||
Characteristic_01 |
|||
Characteristic_02 |
|||
Characteristic_03 |
|||
Characteristic_04 |
|||
Characteristic_05 |
|||
Characteristic_06 |
|||
Characteristic_07 |
|||
Characteristic_08 |
|||
Characteristic_09 |
|||
Characteristic_10 |
|||
Characteristic_11 |
|||
Characteristic_12 |
|||
Characteristic_13 |
|||
Characteristic_14 |
|||
/end DEF_CHARACTERISTIC |
|||
/begin OUT_MEASUREMENT |
|||
Measurement_01 |
|||
Measurement_02 |
|||
Measurement_03 |
|||
Measurement_04 |
|||
/end OUT_MEASUREMENT |
|||
/begin IN_MEASUREMENT |
|||
Measurement_05 |
|||
Measurement_06 |
|||
Measurement_07 |
|||
Measurement_08 |
|||
Measurement_09 |
|||
Measurement_10 |
|||
Measurement_11 |
|||
Measurement_12 |
|||
Measurement_13 |
|||
/end IN_MEASUREMENT |
|||
/begin LOC_MEASUREMENT |
|||
Measurement_14 |
|||
Measurement_15 |
|||
/end LOC_MEASUREMENT |
|||
/end FUNCTION |
|||
/end MODULE |
|||
/end PROJECT |
|||
File diff suppressed because it is too large
@ -0,0 +1,17 @@ |
|||
/begin MEASUREMENT |
|||
ecuCounter |
|||
"16 bit counter incrementing exactly every 100us in XCP slave time" |
|||
UWORD ecuCounter_ |
|||
COMPU_METHOD |
|||
0 |
|||
0 |
|||
0 |
|||
65535 |
|||
ECU_ADDRESS 0x2E348 |
|||
PHYS_UNIT "" |
|||
/begin IF_DATA XCP |
|||
/begin DAQ_EVENT |
|||
FIXED_EVENT_LIST EVENT 0x0 |
|||
/end DAQ_EVENT |
|||
/end IF_DATA |
|||
/end MEASUREMENT |
|||
File diff suppressed because it is too large
@ -0,0 +1 @@ |
|||
/begin MEASUREMENT BitSlice "Testsignal: 4 Bit on a byte boundary" UWORD BitSlice.CONVERSION 0 0 0 15 BIT_MASK 0x3C0 BYTE_ORDER MSB_LAST ECU_ADDRESS 0x125438 ECU_ADDRESS_EXTENSION 0x0 FORMAT "%.3" /begin IF_DATA CANAPE_EXT 100 LINK_MAP "wordCounter" 0x125438 0x0 0 0x0 1 0x8F 0x0 DISPLAY 0 0 15 /end IF_DATA SYMBOL_LINK "wordCounter" 0 /end MEASUREMENT /begin MEASUREMENT BitSlice0 "Testsignal: 5 Bit" UWORD BitSlice.CONVERSION 0 0 0 31 BIT_MASK 0x1F BYTE_ORDER MSB_LAST ECU_ADDRESS 0x125438 ECU_ADDRESS_EXTENSION 0x0 FORMAT "%.3" /begin IF_DATA CANAPE_EXT 100 LINK_MAP "wordCounter1" 0x12543a 0x0 0 0x0 1 0x8F 0x0 DISPLAY 0 0 31 /end IF_DATA SYMBOL_LINK "wordCounter" 0 /end MEASUREMENT /begin MEASUREMENT BitSlice1 "Testsignal: 5 Bit " UWORD BitSlice.CONVERSION 0 0 0 31 BIT_MASK 0x3E0 BYTE_ORDER MSB_LAST ECU_ADDRESS 0x125438 ECU_ADDRESS_EXTENSION 0x0 FORMAT "%.3" /begin IF_DATA CANAPE_EXT 100 LINK_MAP "wordCounter2" 0x12543c 0x0 0 0x0 1 0x8F 0x0 DISPLAY 0 0 31 /end IF_DATA SYMBOL_LINK "wordCounter" 0 /end MEASUREMENT |
|||
@ -0,0 +1,16 @@ |
|||
|
|||
/begin MEASUREMENT |
|||
ecuCounter |
|||
"16 bit counter incrementing exactly every 100us in XCP slave time" |
|||
UWORD ecuCounter_ |
|||
COMPU_METHOD |
|||
0 |
|||
0 |
|||
0 |
|||
65535 |
|||
ECU_ADDRESS 0x2E348 |
|||
PHYS_UNIT "" |
|||
/begin IF_DATA XCP |
|||
/begin DAQ_EVENT |
|||
FIXED_EVENT_LIST EVENT 0x0 |
|||
/end DAQ_EVENT /end IF_DATA /end MEASUREMENT |
|||
@ -0,0 +1,16 @@ |
|||
|
|||
/begin MEASUREMENT |
|||
ecuCounter |
|||
"16 bit counter incrementing exactly every 100us in XCP slave time" |
|||
UWORD ecuCounter_ |
|||
COMPU_METHOD |
|||
0 |
|||
0 |
|||
0 |
|||
65535 |
|||
ECU_ADDRESS 0x2E348 |
|||
PHYS_UNIT "" |
|||
/begin IF_DATA XCP |
|||
/begin DAQ_EVENT |
|||
FIXED_EVENT_LIST EVENT 0x0 |
|||
/end DAQ_EVENT /end IF_DATA /end MEASUREMENT /begin INSTANCE ecuTask1 "ecupp task number 1" EcuTask 0x0 /begin IF_DATA XCP /begin DAQ_EVENT FIXED_EVENT_LIST EVENT 0x1 /end DAQ_EVENT /end IF_DATA /end INSTANCE |
|||
@ -0,0 +1 @@ |
|||
/begin MEASUREMENT ecuCounter "16 bit counter incrementing exactly every 100us in XCP slave time" UWORD ecuCounter_COMPU_METHOD 0 0 0 65535 ECU_ADDRESS 0x2E348 PHYS_UNIT "" /begin IF_DATA XCP /begin DAQ_EVENT FIXED_EVENT_LIST EVENT 0x0 /end DAQ_EVENT /end IF_DATA /end MEASUREMENT |
|||
@ -0,0 +1,936 @@ |
|||
/****************************************************************************** |
|||
* |
|||
* ASAP2 file: variants.a2l |
|||
* |
|||
******************************************************************************/ |
|||
ASAP2_VERSION 1 71 |
|||
/begin PROJECT ProjectName "Project Comment Goes Here" |
|||
|
|||
/begin HEADER "Header Comments go here" |
|||
|
|||
/end HEADER |
|||
|
|||
/begin MODULE ModuleName "Module Comment Goes Here" |
|||
|
|||
/begin A2ML |
|||
|
|||
struct Protocol_Layer { |
|||
uint; /* XCP protocol layer version, current 0x100 */ |
|||
uint; /* T1 [ms] */ |
|||
uint; /* T2 [ms] */ |
|||
uint; /* T3 [ms] */ |
|||
uint; /* T4 [ms] */ |
|||
uint; /* T5 [ms] */ |
|||
uint; /* T6 [ms] */ |
|||
uint; /* T7 [ms] */ |
|||
uchar; /* MAX_CTO */ |
|||
uint; /* MAX_DTO */ |
|||
enum { |
|||
"BYTE_ORDER_MSB_LAST" = 0, |
|||
"BYTE_ORDER_MSB_FIRST" = 1 |
|||
}; |
|||
enum { |
|||
"ADDRESS_GRANULARITY_BYTE" = 1, |
|||
"ADDRESS_GRANULARITY_WORD" = 2, |
|||
"ADDRESS_GRANULARITY_DWORD" = 4 |
|||
}; |
|||
taggedstruct { |
|||
("OPTIONAL_CMD" enum { |
|||
"GET_COMM_MODE_INFO" = 251, |
|||
"GET_ID" = 250, |
|||
"SET_REQUEST" = 249, |
|||
"GET_SEED" = 248, |
|||
"UNLOCK" = 247, |
|||
"SET_MTA" = 246, |
|||
"UPLOAD" = 245, |
|||
"SHORT_UPLOAD" = 244, |
|||
"BUILD_CHECKSUM" = 243, |
|||
"TRANSPORT_LAYER_CMD" = 242, |
|||
"USER_CMD" = 241, |
|||
"DOWNLOAD" = 240, |
|||
"DOWNLOAD_NEXT" = 239, |
|||
"DOWNLOAD_MAX" = 238, |
|||
"SHORT_DOWNLOAD" = 237, |
|||
"MODIFY_BITS" = 236, |
|||
"SET_CAL_PAGE" = 235, |
|||
"GET_CAL_PAGE" = 234, |
|||
"GET_PAG_PROCESSOR_INFO" = 233, |
|||
"GET_SEGMENT_INFO" = 232, |
|||
"GET_PAGE_INFO" = 231, |
|||
"SET_SEGMENT_MODE" = 230, |
|||
"GET_SEGMENT_MODE" = 229, |
|||
"COPY_CAL_PAGE" = 228, |
|||
"CLEAR_DAQ_LIST" = 227, |
|||
"SET_DAQ_PTR" = 226, |
|||
"WRITE_DAQ" = 225, |
|||
"SET_DAQ_LIST_MODE" = 224, |
|||
"GET_DAQ_LIST_MODE" = 223, |
|||
"START_STOP_DAQ_LIST" = 222, |
|||
"START_STOP_SYNCH" = 221, |
|||
"GET_DAQ_CLOCK" = 220, |
|||
"READ_DAQ" = 219, |
|||
"GET_DAQ_PROCESSOR_INFO" = 218, |
|||
"GET_DAQ_RESOLUTION_INFO" = 217, |
|||
"GET_DAQ_LIST_INFO" = 216, |
|||
"GET_DAQ_EVENT_INFO" = 215, |
|||
"FREE_DAQ" = 214, |
|||
"ALLOC_DAQ" = 213, |
|||
"ALLOC_ODT" = 212, |
|||
"ALLOC_ODT_ENTRY" = 211, |
|||
"PROGRAM_START" = 210, |
|||
"PROGRAM_CLEAR" = 209, |
|||
"PROGRAM" = 208, |
|||
"PROGRAM_RESET" = 207, |
|||
"GET_PGM_PROCESSOR_INFO" = 206, |
|||
"GET_SECTOR_INFO" = 205, |
|||
"PROGRAM_PREPARE" = 204, |
|||
"PROGRAM_FORMAT" = 203, |
|||
"PROGRAM_NEXT" = 202, |
|||
"PROGRAM_MAX" = 201, |
|||
"PROGRAM_VERIFY" = 200 |
|||
})*; |
|||
"COMMUNICATION_MODE_SUPPORTED" taggedunion { |
|||
"BLOCK" taggedstruct { |
|||
"SLAVE" ; |
|||
"MASTER" struct { |
|||
uchar; /* MAX_BS */ |
|||
uchar; /* MIN_ST */ |
|||
}; |
|||
}; |
|||
"INTERLEAVED" uchar; /* QUEUE_SIZE */ |
|||
}; |
|||
"SEED_AND_KEY_EXTERNAL_FUNCTION" char[256]; /* Name of the Seed&Key function */ |
|||
}; |
|||
}; |
|||
|
|||
struct Daq { |
|||
enum { |
|||
"STATIC" = 0, |
|||
"DYNAMIC" = 1 |
|||
}; |
|||
uint; /* MAX_DAQ */ |
|||
uint; /* MAX_EVENT_CHANNEL */ |
|||
uchar; /* MIN_DAQ */ |
|||
enum { |
|||
"OPTIMISATION_TYPE_DEFAULT" = 0, |
|||
"OPTIMISATION_TYPE_ODT_TYPE_16" = 1, |
|||
"OPTIMISATION_TYPE_ODT_TYPE_32" = 2, |
|||
"OPTIMISATION_TYPE_ODT_TYPE_64" = 3, |
|||
"OPTIMISATION_TYPE_ODT_TYPE_ALIGNMENT" = 4, |
|||
"OPTIMISATION_TYPE_MAX_ENTRY_SIZE" = 5 |
|||
}; |
|||
enum { |
|||
"ADDRESS_EXTENSION_FREE" = 0, |
|||
"ADDRESS_EXTENSION_ODT" = 1, |
|||
"ADDRESS_EXTENSION_DAQ" = 3 |
|||
}; |
|||
enum { |
|||
"IDENTIFICATION_FIELD_TYPE_ABSOLUTE" = 0, |
|||
"IDENTIFICATION_FIELD_TYPE_RELATIVE_BYTE" = 1, |
|||
"IDENTIFICATION_FIELD_TYPE_RELATIVE_WORD" = 2, |
|||
"IDENTIFICATION_FIELD_TYPE_RELATIVE_WORD_ALIGNED" = 3 |
|||
}; |
|||
enum { |
|||
"GRANULARITY_ODT_ENTRY_SIZE_DAQ_BYTE" = 1, |
|||
"GRANULARITY_ODT_ENTRY_SIZE_DAQ_WORD" = 2, |
|||
"GRANULARITY_ODT_ENTRY_SIZE_DAQ_DWORD" = 4, |
|||
"GRANULARITY_ODT_ENTRY_SIZE_DAQ_DLONG" = 8 |
|||
}; |
|||
uchar; /* MAX_ODT_ENTRY_SIZE_DAQ */ |
|||
enum { |
|||
"NO_OVERLOAD_INDICATION" = 0, |
|||
"OVERLOAD_INDICATION_PID" = 1, |
|||
"OVERLOAD_INDICATION_EVENT" = 2 |
|||
}; |
|||
taggedstruct { |
|||
"PRESCALER_SUPPORTED" ; |
|||
"RESUME_SUPPORTED" ; |
|||
block "STIM" struct { |
|||
enum { |
|||
"GRANULARITY_ODT_ENTRY_SIZE_STIM_BYTE" = 1, |
|||
"GRANULARITY_ODT_ENTRY_SIZE_STIM_WORD" = 2, |
|||
"GRANULARITY_ODT_ENTRY_SIZE_STIM_DWORD" = 4, |
|||
"GRANULARITY_ODT_ENTRY_SIZE_STIM_DLONG" = 8 |
|||
}; |
|||
uchar; /* MAX_ODT_ENTRY_SIZE_STIM */ |
|||
taggedstruct { |
|||
"BIT_STIM_SUPPORTED" ; |
|||
}; |
|||
}; |
|||
block "TIMESTAMP_SUPPORTED" struct { |
|||
uint; /* TIMESTAMP_TICKS */ |
|||
enum { |
|||
"NO_TIME_STAMP" = 0, |
|||
"SIZE_BYTE" = 1, |
|||
"SIZE_WORD" = 2, |
|||
"SIZE_DWORD" = 4 |
|||
}; |
|||
enum { |
|||
"UNIT_1NS" = 0, |
|||
"UNIT_10NS" = 1, |
|||
"UNIT_100NS" = 2, |
|||
"UNIT_1US" = 3, |
|||
"UNIT_10US" = 4, |
|||
"UNIT_100US" = 5, |
|||
"UNIT_1MS" = 6, |
|||
"UNIT_10MS" = 7, |
|||
"UNIT_100MS" = 8, |
|||
"UNIT_1S" = 9 |
|||
}; |
|||
taggedstruct { |
|||
"TIMESTAMP_FIXED" ; |
|||
}; |
|||
}; |
|||
"PID_OFF_SUPPORTED" ; |
|||
(block "DAQ_LIST" struct { |
|||
uint; /* DAQ_LIST_NUMBER */ |
|||
taggedstruct { |
|||
"DAQ_LIST_TYPE" enum { |
|||
"DAQ" = 1, |
|||
"STIM" = 2, |
|||
"DAQ_STIM" = 3 |
|||
}; |
|||
"MAX_ODT" uchar; |
|||
"MAX_ODT_ENTRIES" uchar; |
|||
"FIRST_PID" uchar; |
|||
"EVENT_FIXED" uint; |
|||
block "PREDEFINED" taggedstruct { |
|||
(block "ODT" struct { |
|||
uchar; /* ODT number */ |
|||
taggedstruct { |
|||
("ODT_ENTRY" struct { |
|||
uchar; /* ODT_ENTRY number */ |
|||
ulong; /* address of element */ |
|||
uchar; /* address extension of element */ |
|||
uchar; /* size of element [AG] */ |
|||
uchar; /* BIT_OFFSET */ |
|||
})*; |
|||
}; |
|||
})*; |
|||
}; |
|||
}; |
|||
})*; |
|||
(block "EVENT" struct { |
|||
char[101]; /* EVENT_CHANNEL_NAME */ |
|||
char[9]; /* EVENT_CHANNEL_SHORT_NAME */ |
|||
uint; /* EVENT_CHANNEL_NUMBER */ |
|||
enum { |
|||
"DAQ" = 1, |
|||
"STIM" = 2, |
|||
"DAQ_STIM" = 3 |
|||
}; |
|||
uchar; /* MAX_DAQ_LIST */ |
|||
uchar; /* TIME_CYCLE */ |
|||
uchar; /* TIME_UNIT */ |
|||
uchar; /* PRIORITY */ |
|||
})*; |
|||
}; |
|||
}; |
|||
|
|||
taggedunion Daq_Event { |
|||
"FIXED_EVENT_LIST" taggedstruct { |
|||
("EVENT" uint)*; |
|||
}; |
|||
"VARIABLE" taggedstruct { |
|||
block "AVAILABLE_EVENT_LIST" taggedstruct { |
|||
("EVENT" uint)*; |
|||
}; |
|||
block "DEFAULT_EVENT_LIST" taggedstruct { |
|||
("EVENT" uint)*; |
|||
}; |
|||
}; |
|||
}; |
|||
|
|||
struct Pag { |
|||
uchar; /* MAX_SEGMENTS */ |
|||
taggedstruct { |
|||
"FREEZE_SUPPORTED" ; |
|||
}; |
|||
}; |
|||
|
|||
struct Pgm { |
|||
enum { |
|||
"PGM_MODE_ABSOLUTE" = 1, |
|||
"PGM_MODE_FUNCTIONAL" = 2, |
|||
"PGM_MODE_ABSOLUTE_AND_FUNCTIONAL" = 3 |
|||
}; |
|||
uchar; /* MAX_SECTORS */ |
|||
uchar; /* MAX_CTO_PGM */ |
|||
taggedstruct { |
|||
(block "SECTOR" struct { |
|||
char[101]; /* SECTOR_NAME */ |
|||
uchar; /* SECTOR_NUMBER */ |
|||
ulong; /* Address */ |
|||
ulong; /* Length */ |
|||
uchar; /* CLEAR_SEQUENCE_NUMBER */ |
|||
uchar; /* PROGRAM_SEQUENCE_NUMBER */ |
|||
uchar; /* PROGRAM_METHOD */ |
|||
})*; |
|||
"COMMUNICATION_MODE_SUPPORTED" taggedunion { |
|||
"BLOCK" taggedstruct { |
|||
"SLAVE" ; |
|||
"MASTER" struct { |
|||
uchar; /* MAX_BS_PGM */ |
|||
uchar; /* MIN_ST_PGM */ |
|||
}; |
|||
}; |
|||
"INTERLEAVED" uchar; /* QUEUE_SIZE_PGM */ |
|||
}; |
|||
}; |
|||
}; |
|||
|
|||
struct Segment { |
|||
uchar; /* SEGMENT_NUMBER */ |
|||
uchar; /* number of pages */ |
|||
uchar; /* ADDRESS_EXTENSION */ |
|||
uchar; /* COMPRESSION_METHOD */ |
|||
uchar; /* ENCRYPTION_METHOD */ |
|||
taggedstruct { |
|||
block "CHECKSUM" struct { |
|||
enum { |
|||
"XCP_ADD_11" = 1, |
|||
"XCP_ADD_12" = 2, |
|||
"XCP_ADD_14" = 3, |
|||
"XCP_ADD_22" = 4, |
|||
"XCP_ADD_24" = 5, |
|||
"XCP_ADD_44" = 6, |
|||
"XCP_CRC_16" = 7, |
|||
"XCP_CRC_16_CITT" = 8, |
|||
"XCP_CRC_32" = 9, |
|||
"XCP_USER_DEFINED" = 255 |
|||
}; |
|||
taggedstruct { |
|||
"MAX_BLOCK_SIZE" ulong; |
|||
"EXTERNAL_FUNCTION" char[256]; /* Name of the Checksum.DLL */ |
|||
}; |
|||
}; |
|||
(block "PAGE" struct { |
|||
uchar; /* PAGE_NUMBER */ |
|||
enum { |
|||
"ECU_ACCESS_NOT_ALLOWED" = 0, |
|||
"ECU_ACCESS_WITHOUT_XCP_ONLY" = 1, |
|||
"ECU_ACCESS_WITH_XCP_ONLY" = 2, |
|||
"ECU_ACCESS_DONT_CARE" = 3 |
|||
}; |
|||
enum { |
|||
"XCP_READ_ACCESS_NOT_ALLOWED" = 0, |
|||
"XCP_READ_ACCESS_WITHOUT_ECU_ONLY" = 1, |
|||
"XCP_READ_ACCESS_WITH_ECU_ONLY" = 2, |
|||
"XCP_READ_ACCESS_DONT_CARE" = 3 |
|||
}; |
|||
enum { |
|||
"XCP_WRITE_ACCESS_NOT_ALLOWED" = 0, |
|||
"XCP_WRITE_ACCESS_WITHOUT_ECU_ONLY" = 1, |
|||
"XCP_WRITE_ACCESS_WITH_ECU_ONLY" = 2, |
|||
"XCP_WRITE_ACCESS_DONT_CARE" = 3 |
|||
}; |
|||
taggedstruct { |
|||
"INIT_SEGMENT" uchar; /* references segment that initialises this page */ |
|||
}; |
|||
})*; |
|||
(block "ADDRESS_MAPPING" struct { |
|||
ulong; /* source address */ |
|||
ulong; /* destination address */ |
|||
ulong; /* length */ |
|||
})*; |
|||
"PGM_VERIFY" ulong; /* verification value for PGM */ |
|||
}; |
|||
}; |
|||
|
|||
taggedstruct Common_Parameters { |
|||
block "PROTOCOL_LAYER" struct Protocol_Layer; |
|||
block "SEGMENT" struct Segment; |
|||
block "DAQ" struct Daq; |
|||
block "PAG" struct Pag; |
|||
block "PGM" struct Pgm; |
|||
block "DAQ_EVENT" taggedunion Daq_Event; |
|||
}; |
|||
|
|||
struct CAN_Parameters { |
|||
uint; /* XCP on CAN version, currentl 0x0100 */ |
|||
taggedstruct { |
|||
"CAN_ID_BROADCAST" ulong; /* Auto-detection CAN-ID */ |
|||
"CAN_ID_MASTER" ulong; /* CMD/STIM CAN-ID */ |
|||
"CAN_ID_SLAVE" ulong; /* RES/ERR/EV/SERV/DAQ CAN-ID */ |
|||
"BAUDRATE" ulong; /* Baudrate in Hz */ |
|||
"SAMPLE_POINT" uchar; /* Sample point in of bit time */ |
|||
"SAMPLE_RATE" enum { |
|||
"SINGLE" = 1, |
|||
"TRIPLE" = 3 |
|||
}; |
|||
"BTL_CYCLES" uchar; /* slots per bit time */ |
|||
"SJW" uchar; |
|||
"SYNC_EDGE" enum { |
|||
"SINGLE" = 1, |
|||
"DUAL" = 2 |
|||
}; |
|||
"MAX_DLC_REQUIRED" ; /* master to slave frames */ |
|||
(block "DAQ_LIST_CAN_ID" struct { |
|||
uint; /* reference to DAQ_LIST_NUMBER */ |
|||
taggedstruct { |
|||
"VARIABLE" ; |
|||
"FIXED" ulong; /* this DAQ_LIST always on this CAN_ID */ |
|||
}; |
|||
})*; |
|||
}; |
|||
}; |
|||
|
|||
struct SxI_Parameters { |
|||
uint; /* XCP on SxI version, currently 0x0100 */ |
|||
ulong; /* BAUDRATE [Hz] */ |
|||
taggedstruct { |
|||
"ASYNCH_FULL_DUPLEX_MODE" struct { |
|||
enum { |
|||
"PARITY_NONE" = 0, |
|||
"PARITY_ODD" = 1, |
|||
"PARITY_EVEN" = 2 |
|||
}; |
|||
enum { |
|||
"ONE_STOP_BIT" = 1, |
|||
"TWO_STOP_BITS" = 2 |
|||
}; |
|||
}; |
|||
"SYNCH_FULL_DUPLEX_MODE_BYTE" ; |
|||
"SYNCH_FULL_DUPLEX_MODE_WORD" ; |
|||
"SYNCH_FULL_DUPLEX_MODE_DWORD" ; |
|||
"SYNCH_MASTER_SLAVE_MODE_BYTE" ; |
|||
"SYNCH_MASTER_SLAVE_MODE_WORD" ; |
|||
"SYNCH_MASTER_SLAVE_MODE_DWORD" ; |
|||
}; |
|||
enum { |
|||
"HEADER_LEN_BYTE" = 0, |
|||
"HEADER_LEN_CTR_BYTE" = 1, |
|||
"HEADER_LEN_FILL_BYTE" = 2, |
|||
"HEADER_LEN_WORD" = 3, |
|||
"HEADER_LEN_CTR_WORD" = 4, |
|||
"HEADER_LEN_FILL_WORD" = 5 |
|||
}; |
|||
enum { |
|||
"NO_CHECKSUM" = 0, |
|||
"CHECKSUM_BYTE" = 1, |
|||
"CHECKSUM_WORD" = 2 |
|||
}; |
|||
}; |
|||
|
|||
struct TCP_IP_Parameters { |
|||
uint; /* XCP on TCP_IP version, currently 0x0100 */ |
|||
uint; /* PORT */ |
|||
taggedunion { |
|||
"HOST_NAME" char[256]; |
|||
"ADDRESS" char[15]; |
|||
}; |
|||
}; |
|||
|
|||
struct UDP_Parameters { |
|||
uint; /* XCP on UDP version, currently 0x0100 */ |
|||
uint; /* PORT */ |
|||
taggedunion { |
|||
"HOST_NAME" char[256]; |
|||
"ADDRESS" char[15]; |
|||
}; |
|||
}; |
|||
|
|||
struct ep_parameters { |
|||
uchar; /* ENDPOINT_NUMBER, not endpoint address */ |
|||
enum { |
|||
"BULK_TRANSFER" = 2, |
|||
"INTERRUPT_TRANSFER" = 3 |
|||
}; |
|||
uint; /* wMaxPacketSize: Maximum packet |
|||
size of endpoint in bytes */ |
|||
uchar; /* bInterval: polling of endpoint */ |
|||
enum { |
|||
"MESSAGE_PACKING_SINGLE" = 0, |
|||
"MESSAGE_PACKING_MULTIPLE" = 1, |
|||
"MESSAGE_PACKING_STREAMING" = 2 |
|||
}; |
|||
enum { |
|||
"ALIGNMENT_8_BIT" = 0, |
|||
"ALIGNMENT_16_BIT" = 1, |
|||
"ALIGNMENT_32_BIT" = 2, |
|||
"ALIGNMENT_64_BIT" = 3 |
|||
}; |
|||
taggedstruct { |
|||
"RECOMMENDED_HOST_BUFSIZE" uint; /* Recommended size for the host |
|||
buffer size. The size is defined |
|||
as multiple of wMaxPacketSize. */ |
|||
}; |
|||
}; /* end of ep_parameters */ |
|||
|
|||
struct USB_Parameters { |
|||
uint; /* XCP on USB version |
|||
e.g. "1.0" = 0x0100 */ |
|||
uint; /* Vendor ID */ |
|||
uint; /* Product ID */ |
|||
uchar; /* Number of interface */ |
|||
enum { |
|||
"HEADER_LEN_BYTE" = 0, |
|||
"HEADER_LEN_CTR_BYTE" = 1, |
|||
"HEADER_LEN_FILL_BYTE" = 2, |
|||
"HEADER_LEN_WORD" = 3, |
|||
"HEADER_LEN_CTR_WORD" = 4, |
|||
"HEADER_LEN_FILL_WORD" = 5 |
|||
}; |
|||
taggedunion { |
|||
block "OUT_EP_CMD_STIM" struct ep_parameters; |
|||
}; |
|||
taggedunion { |
|||
block "IN_EP_RESERR_DAQ_EVSERV" struct ep_parameters; |
|||
}; |
|||
taggedstruct { |
|||
"ALTERNATE_SETTING_NO" uchar; /* Number of alternate setting */ |
|||
"INTERFACE_STRING_DESCRIPTOR" char[101]; |
|||
(block "OUT_EP_ONLY_STIM" struct ep_parameters)*; |
|||
(block "IN_EP_ONLY_DAQ" struct ep_parameters)*; |
|||
block "IN_EP_ONLY_EVSERV" struct ep_parameters; |
|||
(block "DAQ_LIST_USB_ENDPOINT" struct { |
|||
uint; /* reference to DAQ_LIST_NUMBER */ |
|||
taggedstruct { |
|||
"FIXED_IN" uchar; /* this DAQ list always |
|||
ENDPOINT_NUMBER, not endpoint address */ |
|||
"FIXED_OUT" uchar; /* this STIM list always |
|||
ENDPOINT_NUMBER, not endpoint address */ |
|||
}; |
|||
})*; /* end of DAQ_LIST_USB_ENDPOINT */ |
|||
}; /* end of optional */ |
|||
}; |
|||
|
|||
struct SIMULINK_Parameters { |
|||
taggedstruct { |
|||
"MODEL_NAME" char[64]; |
|||
}; |
|||
}; |
|||
|
|||
enum packet_assignment_type { |
|||
"NOT_ALLOWED" = 0, |
|||
"FIXED" = 1, |
|||
"VARIABLE_INITIALISED" = 2, |
|||
"VARIABLE" = 3 |
|||
}; /* end of packet_assignment_type */ |
|||
|
|||
struct buffer { |
|||
uchar; /* FLX_BUF */ |
|||
taggedstruct { |
|||
"MAX_FLX_LEN_BUF" taggedunion { |
|||
"FIXED" uchar; /* constant value */ |
|||
"VARIABLE" uchar; /* initial value */ |
|||
}; /* end of MAX_FLX_LEN_BUF */ |
|||
block "LPDU_ID" taggedstruct { |
|||
"FLX_SLOT_ID" taggedunion { |
|||
"FIXED" uint; |
|||
"VARIABLE" taggedstruct { |
|||
"INITIAL_VALUE" uint; |
|||
}; |
|||
}; /* end of FLX_SLOT_ID */ |
|||
"OFFSET" taggedunion { |
|||
"FIXED" uchar; |
|||
"VARIABLE" taggedstruct { |
|||
"INITIAL_VALUE" uchar; |
|||
}; |
|||
}; /* end of OFFSET */ |
|||
"CYCLE_REPETITION" taggedunion { |
|||
"FIXED" uchar; |
|||
"VARIABLE" taggedstruct { |
|||
"INITIAL_VALUE" uchar; |
|||
}; |
|||
}; /* end of CYCLE_REPETITION */ |
|||
"CHANNEL" taggedunion { |
|||
"FIXED" enum { |
|||
"A" = 0, |
|||
"B" = 1 |
|||
}; |
|||
"VARIABLE" taggedstruct { |
|||
"INITIAL_VALUE" enum { |
|||
"A" = 0, |
|||
"B" = 1 |
|||
}; |
|||
}; |
|||
}; /* end of CHANNEL */ |
|||
}; /* end of LPDU_ID */ |
|||
block "XCP_PACKET" taggedstruct { |
|||
"CMD" enum packet_assignment_type; /* end of CMD */ |
|||
"RES_ERR" enum packet_assignment_type; /* end of RES_ERR */ |
|||
"EV_SERV" enum packet_assignment_type; /* end of EV_SERV */ |
|||
"DAQ" enum packet_assignment_type; /* end of DAQ */ |
|||
"STIM" enum packet_assignment_type; /* end of STIM */ |
|||
}; /* end of XCP_PACKET */ |
|||
}; |
|||
}; /* end of buffer */ |
|||
|
|||
struct FLX_Parameters { |
|||
|
|||
uint; /* XCP on FlexRay version */ |
|||
/* e.g. "1.0" = 0x0100 */ |
|||
|
|||
uint; /* T1_FLX [ms] */ |
|||
|
|||
char[256]; /* FIBEX-file */ |
|||
/* including CHI information */ |
|||
/* including extension */ |
|||
/* without path */ |
|||
|
|||
char[256]; /* Cluster-ID */ |
|||
|
|||
uchar; /* NAX */ |
|||
|
|||
enum { |
|||
"HEADER_NAX" = 0, |
|||
"HEADER_NAX_FILL" = 1, |
|||
"HEADER_NAX_CTR" = 2, |
|||
"HEADER_NAX_FILL3" = 3, |
|||
"HEADER_NAX_CTR_FILL2" = 4, |
|||
"HEADER_NAX_LEN" = 5, |
|||
"HEADER_NAX_CTR_LEN" = 6, |
|||
"HEADER_NAX_FILL2_LEN" = 7, |
|||
"HEADER_NAX_CTR_FILL_LEN" = 8 |
|||
}; |
|||
enum { |
|||
"PACKET_ALIGNMENT_8" = 0, |
|||
"PACKET_ALIGNMENT_16" = 1, |
|||
"PACKET_ALIGNMENT_32" = 2 |
|||
}; |
|||
taggedunion { |
|||
block "INITIAL_CMD_BUFFER" struct buffer; |
|||
}; |
|||
taggedunion { |
|||
block "INITIAL_RES_ERR_BUFFER" struct buffer; |
|||
}; |
|||
taggedstruct { |
|||
(block "POOL_BUFFER" struct buffer)*; |
|||
}; |
|||
}; |
|||
|
|||
block "IF_DATA" taggedunion if_data { |
|||
|
|||
"CANAPE_EXT" struct { |
|||
int; /* version number */ |
|||
taggedstruct { |
|||
"LINK_MAP" struct { |
|||
char[256]; /* segment name */ |
|||
long; /* base address of the segment */ |
|||
uint; /* address extension of the segment */ |
|||
uint; /* flag: address is relative to DS */ |
|||
long; /* offset of the segment address */ |
|||
uint; /* datatypValid */ |
|||
uint; /* enum datatyp */ |
|||
uint; /* bit offset of the segment */ |
|||
}; |
|||
"DISPLAY" struct { |
|||
long; /* display color */ |
|||
double; /* minimal display value (phys)*/ |
|||
double; /* maximal display value (phys)*/ |
|||
}; |
|||
"VIRTUAL_CONVERSION" struct { |
|||
char[256]; /* name of the conversion formula */ |
|||
}; |
|||
}; |
|||
}; |
|||
"CANAPE_MODULE" struct { |
|||
taggedstruct { |
|||
("RECORD_LAYOUT_STEPSIZE" struct { |
|||
char[256]; /* name of record layout*/ |
|||
uint; /* stepsize for FNC_VALUES */ |
|||
uint; /* stepsize for AXIS_PTS_X */ |
|||
uint; /* stepsize for AXIS_PTS_Y */ |
|||
uint; /* stepsize for AXIS_PTS_Z */ |
|||
uint; /* stepsize for AXIS_PTS_4 */ |
|||
uint; /* stepsize for AXIS_PTS_5 */ |
|||
})*; |
|||
}; |
|||
}; |
|||
/*********************************************************/ |
|||
/* XCP */ |
|||
/*********************************************************/ |
|||
"XCP" struct { |
|||
taggedstruct Common_Parameters; /* default parameters */ |
|||
taggedstruct { |
|||
block "XCP_ON_CAN" struct { |
|||
struct CAN_Parameters; /* specific for CAN */ |
|||
taggedstruct Common_Parameters; /* overruling of default */ |
|||
}; |
|||
block "XCP_ON_SxI" struct { |
|||
struct SxI_Parameters; /* specific for SxI */ |
|||
taggedstruct Common_Parameters; /* overruling of default */ |
|||
}; |
|||
block "XCP_ON_TCP_IP" struct { |
|||
struct TCP_IP_Parameters; /* specific for TCP_IP */ |
|||
taggedstruct Common_Parameters; /* overruling of default */ |
|||
}; |
|||
block "XCP_ON_UDP_IP" struct { |
|||
struct UDP_Parameters; /* specific for UDP */ |
|||
taggedstruct Common_Parameters; /* overruling of default */ |
|||
}; |
|||
block "XCP_ON_USB" struct { |
|||
struct USB_Parameters; /* specific for USB */ |
|||
taggedstruct Common_Parameters; /* overruling of default */ |
|||
}; |
|||
block "XCP_ON_FLX" struct { |
|||
struct FLX_Parameters; /* specific for FlexRay */ |
|||
taggedstruct Common_Parameters; /* overruling of default */ |
|||
}; |
|||
}; |
|||
}; |
|||
}; |
|||
|
|||
/end A2ML |
|||
|
|||
|
|||
|
|||
/begin IF_DATA XCP |
|||
|
|||
|
|||
/begin PROTOCOL_LAYER |
|||
0x0100 |
|||
0x03E8 |
|||
0x00C8 |
|||
0x0000 |
|||
0x0000 |
|||
0x0000 |
|||
0x0000 |
|||
0x0000 |
|||
0xFC |
|||
0x0578 |
|||
BYTE_ORDER_MSB_LAST |
|||
ADDRESS_GRANULARITY_BYTE |
|||
OPTIONAL_CMD ALLOC_ODT_ENTRY |
|||
OPTIONAL_CMD ALLOC_ODT |
|||
OPTIONAL_CMD ALLOC_DAQ |
|||
OPTIONAL_CMD FREE_DAQ |
|||
OPTIONAL_CMD GET_DAQ_RESOLUTION_INFO |
|||
OPTIONAL_CMD GET_DAQ_PROCESSOR_INFO |
|||
OPTIONAL_CMD START_STOP_SYNCH |
|||
OPTIONAL_CMD START_STOP_DAQ_LIST |
|||
OPTIONAL_CMD SET_DAQ_LIST_MODE |
|||
OPTIONAL_CMD WRITE_DAQ |
|||
OPTIONAL_CMD SET_DAQ_PTR |
|||
OPTIONAL_CMD GET_CAL_PAGE |
|||
OPTIONAL_CMD SET_CAL_PAGE |
|||
OPTIONAL_CMD COPY_CAL_PAGE |
|||
OPTIONAL_CMD SHORT_DOWNLOAD |
|||
OPTIONAL_CMD DOWNLOAD_MAX |
|||
OPTIONAL_CMD DOWNLOAD |
|||
OPTIONAL_CMD SHORT_UPLOAD |
|||
OPTIONAL_CMD UPLOAD |
|||
OPTIONAL_CMD SET_MTA |
|||
/end PROTOCOL_LAYER |
|||
|
|||
|
|||
/begin DAQ |
|||
DYNAMIC |
|||
0x0000 |
|||
0x0080 |
|||
0x00 |
|||
OPTIMISATION_TYPE_DEFAULT |
|||
ADDRESS_EXTENSION_FREE |
|||
IDENTIFICATION_FIELD_TYPE_RELATIVE_WORD_ALIGNED |
|||
GRANULARITY_ODT_ENTRY_SIZE_DAQ_BYTE |
|||
0xFF |
|||
OVERLOAD_INDICATION_PID |
|||
PRESCALER_SUPPORTED |
|||
|
|||
/begin STIM |
|||
GRANULARITY_ODT_ENTRY_SIZE_STIM_BYTE |
|||
0xFF |
|||
|
|||
/end STIM |
|||
|
|||
/begin TIMESTAMP_SUPPORTED |
|||
0x0001 |
|||
SIZE_DWORD |
|||
UNIT_1US |
|||
TIMESTAMP_FIXED |
|||
/end TIMESTAMP_SUPPORTED |
|||
|
|||
|
|||
/begin EVENT |
|||
"1 ms" |
|||
"1 ms" |
|||
0x0000 |
|||
DAQ |
|||
0xFF |
|||
0x01 |
|||
0x06 |
|||
0x00 |
|||
/end EVENT |
|||
|
|||
/end DAQ |
|||
|
|||
|
|||
/begin XCP_ON_UDP_IP |
|||
0x0100 |
|||
0x15B3 |
|||
ADDRESS "192.168.7.1" |
|||
/end XCP_ON_UDP_IP |
|||
|
|||
/end IF_DATA |
|||
|
|||
|
|||
|
|||
/begin MOD_PAR "MOD PAR Comment Goes Here" |
|||
|
|||
/begin MEMORY_SEGMENT tstCom_cal_impl |
|||
"tstCom_cal_impl" |
|||
DATA |
|||
FLASH |
|||
INTERN |
|||
0x0023F020 |
|||
0x948 |
|||
-1 -1 -1 -1 -1 /begin IF_DATA XCP |
|||
/begin SEGMENT |
|||
0x00 |
|||
0x02 |
|||
0x00 |
|||
0x00 |
|||
0x00 |
|||
/begin PAGE |
|||
0x00 |
|||
ECU_ACCESS_DONT_CARE |
|||
XCP_READ_ACCESS_DONT_CARE |
|||
XCP_WRITE_ACCESS_NOT_ALLOWED |
|||
/end PAGE |
|||
/begin PAGE |
|||
0x01 |
|||
ECU_ACCESS_DONT_CARE |
|||
XCP_READ_ACCESS_DONT_CARE |
|||
XCP_WRITE_ACCESS_DONT_CARE |
|||
/end PAGE |
|||
/end SEGMENT |
|||
/end IF_DATA |
|||
/end MEMORY_SEGMENT |
|||
|
|||
/end MOD_PAR |
|||
|
|||
/begin MOD_COMMON "Mod Common Comment Here" |
|||
BYTE_ORDER MSB_LAST |
|||
ALIGNMENT_BYTE 1 |
|||
ALIGNMENT_WORD 2 |
|||
ALIGNMENT_LONG 8 |
|||
ALIGNMENT_FLOAT32_IEEE 4 |
|||
ALIGNMENT_FLOAT64_IEEE 8 |
|||
ALIGNMENT_INT64 4 |
|||
/end MOD_COMMON |
|||
|
|||
/begin CHARACTERISTIC PUMKF /* name */ |
|||
"Pump characteristic map" |
|||
/* long identifier */ |
|||
MAP /* type */ |
|||
0x7140 /* address */ |
|||
DAMOS_KF /* deposit */ |
|||
100.0 /* maxdiff */ |
|||
R_VOLTAGE /* conversion */ |
|||
0.0 /* lower limit */ |
|||
5000.0 /* upper limit */ |
|||
MAX_REFRESH 3 15 /* 15 msec */ |
|||
/begin DEPENDENT_CHARACTERISTIC |
|||
"sin(X1)" |
|||
ALPHA |
|||
/end DEPENDENT_CHARACTERISTIC |
|||
/begin VIRTUAL_CHARACTERISTIC |
|||
"sqrt(X1)" |
|||
B_AREA |
|||
/end VIRTUAL_CHARACTERISTIC |
|||
REF_MEMORY_SEGMENT Data1 |
|||
/begin FUNCTION_LIST |
|||
NL_ADJUSTMENT |
|||
FL_ADJUSTMENT |
|||
SPEED_LIM |
|||
/end FUNCTION_LIST |
|||
/begin IF_DATA DIM |
|||
EXTERNAL |
|||
INDIRECT |
|||
/end IF_DATA |
|||
/begin AXIS_DESCR /* description of X-axis points */ |
|||
STD_AXIS /* standard axis points */ |
|||
N /* reference to input quantity */ |
|||
CON_N /* conversion */ |
|||
13 /* maximum number of axis points*/ |
|||
0.0 /* lower limit */ |
|||
5800.0 /* upper limit */ |
|||
MAX_GRAD 20.0 /* X-axis: maximum gradient */ |
|||
/end AXIS_DESCR |
|||
/begin AXIS_DESCR /* description of Y-axis points */ |
|||
STD_AXIS /* standard axis points */ |
|||
AMOUNT /* reference to input quantity */ |
|||
CON_ME /* conversion */ |
|||
17 /* maximum number of axis points*/ |
|||
0.0 /* lower limit */ |
|||
43.0 /* upper limit */ |
|||
/end AXIS_DESCR |
|||
/end CHARACTERISTIC |
|||
|
|||
/begin RECORD_LAYOUT DAMOS_KF |
|||
FNC_VALUES 7 SWORD COLUMN_DIR DIRECT |
|||
AXIS_PTS_X 3 SWORD INDEX_INCR DIRECT |
|||
AXIS_PTS_Y 6 UBYTE INDEX_INCR DIRECT |
|||
NO_AXIS_PTS_X 2 UBYTE |
|||
NO_AXIS_PTS_Y 5 UBYTE |
|||
SRC_ADDR_X 1 UBYTE |
|||
SRC_ADDR_Y 4 UBYTE |
|||
ALIGNMENT_BYTE 2 |
|||
/end RECORD_LAYOUT |
|||
|
|||
/begin COMPU_VTAB V_GEAR_BOX |
|||
//"variants of criterion ""Type of Gear Box""" |
|||
"variants of criterion Type of Gear Box" |
|||
TAB_VERB |
|||
3 |
|||
17 "Limousine" |
|||
39 "Kombi" |
|||
41 "Cabrio" |
|||
DEFAULT_VALUE "unknown" |
|||
/end COMPU_VTAB |
|||
|
|||
/begin VARIANT_CODING |
|||
VAR_SEPARATOR "." /* PUMKF.1 */ |
|||
VAR_NAMING NUMERIC |
|||
|
|||
/* variant criterion "Car body" with three variants */ |
|||
/begin VAR_CRITERION Car |
|||
"Car body" |
|||
Limousine Kombi Cabrio |
|||
VAR_MEASUREMENT S_CAR |
|||
VAR_SELECTION_CHARACTERISTIC V_CAR |
|||
/end VAR_CRITERION |
|||
/* variant criterion "Type of gear box" with two variants */ |
|||
/begin VAR_CRITERION Gear |
|||
"Type of gear box" |
|||
Manual Automatic |
|||
/end VAR_CRITERION |
|||
|
|||
/begin VAR_FORBIDDEN_COMB /* forbidden: Limousine-Manual*/ |
|||
Car Limousine |
|||
Gear Manual |
|||
/end VAR_FORBIDDEN_COMB |
|||
/begin VAR_FORBIDDEN_COMB /* forbidden: Cabrio-Automatic*/ |
|||
Car Cabrio |
|||
Gear Automatic |
|||
/end VAR_FORBIDDEN_COMB |
|||
/begin VAR_CHARACTERISTIC |
|||
PUMKF /*define PUMKF as variant coded*/ |
|||
Gear /* Gear box variants */ |
|||
/begin VAR_ADDRESS |
|||
0x7140 |
|||
0x7168 |
|||
/end VAR_ADDRESS |
|||
/end VAR_CHARACTERISTIC |
|||
/begin VAR_CHARACTERISTIC |
|||
NLLM /*define NLLM as variant coded */ |
|||
Gear Car |
|||
/* gear box including the 2 variants "Manual" and "Automatic" */ |
|||
/* car body including the 3 variants "Limousine", "Kombi" and "Cabrio" */ |
|||
|
|||
/* four addresses corresponding to the four valid combinations */ |
|||
/* of criterion 'Gear' and 'Car' (see example for VAR_CRITERION)*/ |
|||
/begin VAR_ADDRESS |
|||
0x8840 |
|||
0x8858 |
|||
0x8870 |
|||
0x8888 |
|||
/end VAR_ADDRESS |
|||
/end VAR_CHARACTERISTIC |
|||
/end VARIANT_CODING |
|||
|
|||
|
|||
/end MODULE |
|||
|
|||
/end PROJECT |
|||
@ -0,0 +1,701 @@ |
|||
|
|||
/begin A2ML |
|||
|
|||
|
|||
/*********************************************************/ |
|||
/* Definitions for XCP */ |
|||
/*********************************************************/ |
|||
|
|||
struct Protocol_Layer { |
|||
uint; /* XCP protocol layer version, current 0x100 */ |
|||
uint; /* T1 [ms] */ |
|||
uint; /* T2 [ms] */ |
|||
uint; /* T3 [ms] */ |
|||
uint; /* T4 [ms] */ |
|||
uint; /* T5 [ms] */ |
|||
uint; /* T6 [ms] */ |
|||
uint; /* T7 [ms] */ |
|||
uchar; /* MAX_CTO */ |
|||
uint; /* MAX_DTO */ |
|||
enum { |
|||
"BYTE_ORDER_MSB_LAST" = 0, |
|||
"BYTE_ORDER_MSB_FIRST" = 1 |
|||
}; |
|||
enum { |
|||
"ADDRESS_GRANULARITY_BYTE" = 1, |
|||
"ADDRESS_GRANULARITY_WORD" = 2, |
|||
"ADDRESS_GRANULARITY_DWORD" = 4 |
|||
}; |
|||
taggedstruct { |
|||
("OPTIONAL_CMD" enum { /* XCP-Code of optional command supported by the slave */ |
|||
"GET_COMM_MODE_INFO" = 0xFB, |
|||
"GET_ID" = 0xFA, |
|||
"SET_REQUEST" = 0xF9, |
|||
"GET_SEED" = 0xF8, |
|||
"UNLOCK" = 0xF7, |
|||
"SET_MTA" = 0xF6, |
|||
"UPLOAD" = 0xF5, |
|||
"SHORT_UPLOAD" = 0xF4, |
|||
"BUILD_CHECKSUM" = 0xF3, |
|||
"TRANSPORT_LAYER_CMD" = 0xF2, |
|||
"USER_CMD" = 0xF1, |
|||
"DOWNLOAD" = 0xF0, |
|||
"DOWNLOAD_NEXT" = 0xEF, |
|||
"DOWNLOAD_MAX" = 0xEE, |
|||
"SHORT_DOWNLOAD" = 0xED, |
|||
"MODIFY_BITS" = 0xEC, |
|||
"SET_CAL_PAGE" = 0xEB, |
|||
"GET_CAL_PAGE" = 0xEA, |
|||
"GET_PAG_PROCESSOR_INFO" = 0xE9, |
|||
"GET_SEGMENT_INFO" = 0xE8, |
|||
"GET_PAGE_INFO" = 0xE7, |
|||
"SET_SEGMENT_MODE" = 0xE6, |
|||
"GET_SEGMENT_MODE" = 0xE5, |
|||
"COPY_CAL_PAGE" = 0xE4, |
|||
"CLEAR_DAQ_LIST" = 0xE3, |
|||
"SET_DAQ_PTR" = 0xE2, |
|||
"WRITE_DAQ" = 0xE1, |
|||
"SET_DAQ_LIST_MODE" = 0xE0, |
|||
"GET_DAQ_LIST_MODE" = 0xDF, |
|||
"START_STOP_DAQ_LIST" = 0xDE, |
|||
"START_STOP_SYNCH" = 0xDD, |
|||
"GET_DAQ_CLOCK" = 0xDC, |
|||
"READ_DAQ" = 0xDB, |
|||
"GET_DAQ_PROCESSOR_INFO" = 0xDA, |
|||
"GET_DAQ_RESOLUTION_INFO" = 0xD9, |
|||
"GET_DAQ_LIST_INFO" = 0xD8, |
|||
"GET_DAQ_EVENT_INFO" = 0xD7, |
|||
"FREE_DAQ" = 0xD6, |
|||
"ALLOC_DAQ" = 0xD5, |
|||
"ALLOC_ODT" = 0xD4, |
|||
"ALLOC_ODT_ENTRY" = 0xD3, |
|||
"PROGRAM_START" = 0xD2, |
|||
"PROGRAM_CLEAR" = 0xD1, |
|||
"PROGRAM" = 0xD0, |
|||
"PROGRAM_RESET" = 0xCF, |
|||
"GET_PGM_PROCESSOR_INFO" = 0xCE, |
|||
"GET_SECTOR_INFO" = 0xCD, |
|||
"PROGRAM_PREPARE" = 0xCC, |
|||
"PROGRAM_FORMAT" = 0xCB, |
|||
"PROGRAM_NEXT" = 0xCA, |
|||
"PROGRAM_MAX" = 0xC9, |
|||
"PROGRAM_VERIFY" = 0xC8 |
|||
})*; |
|||
"COMMUNICATION_MODE_SUPPORTED" taggedunion { |
|||
"BLOCK" taggedstruct { |
|||
"SLAVE"; |
|||
"MASTER" struct { |
|||
uchar; /* MAX_BS */ |
|||
uchar; /* MIN_ST */ |
|||
}; |
|||
}; |
|||
"INTERLEAVED" uchar; /* QUEUE_SIZE */ |
|||
}; |
|||
"SEED_AND_KEY_EXTERNAL_FUNCTION" char[256]; /* Name of the Seed&Key function */ |
|||
}; |
|||
}; |
|||
|
|||
struct Daq { |
|||
enum { /* DAQ_CONFIG_TYPE */ |
|||
"STATIC" = 0, |
|||
"DYNAMIC" = 1 |
|||
}; |
|||
uint; /* MAX_DAQ */ |
|||
uint; /* MAX_EVENT_CHANNEL */ |
|||
uchar; /* MIN_DAQ */ |
|||
enum { |
|||
"OPTIMISATION_TYPE_DEFAULT" = 0, |
|||
"OPTIMISATION_TYPE_ODT_TYPE_16" = 1, |
|||
"OPTIMISATION_TYPE_ODT_TYPE_32" = 2, |
|||
"OPTIMISATION_TYPE_ODT_TYPE_64" = 3, |
|||
"OPTIMISATION_TYPE_ODT_TYPE_ALIGNMENT" = 4, |
|||
"OPTIMISATION_TYPE_MAX_ENTRY_SIZE" = 5 |
|||
}; |
|||
enum { |
|||
"ADDRESS_EXTENSION_FREE" = 0, |
|||
"ADDRESS_EXTENSION_ODT" = 1, |
|||
"ADDRESS_EXTENSION_DAQ" = 3 |
|||
}; |
|||
enum { |
|||
"IDENTIFICATION_FIELD_TYPE_ABSOLUTE" = 0, |
|||
"IDENTIFICATION_FIELD_TYPE_RELATIVE_BYTE" = 1, |
|||
"IDENTIFICATION_FIELD_TYPE_RELATIVE_WORD" = 2, |
|||
"IDENTIFICATION_FIELD_TYPE_RELATIVE_WORD_ALIGNED" = 3 |
|||
}; |
|||
enum { |
|||
"GRANULARITY_ODT_ENTRY_SIZE_DAQ_BYTE" = 1, |
|||
"GRANULARITY_ODT_ENTRY_SIZE_DAQ_WORD" = 2, |
|||
"GRANULARITY_ODT_ENTRY_SIZE_DAQ_DWORD" = 4, |
|||
"GRANULARITY_ODT_ENTRY_SIZE_DAQ_DLONG" = 8 |
|||
}; |
|||
uchar; /* MAX_ODT_ENTRY_SIZE_DAQ */ |
|||
enum { |
|||
"NO_OVERLOAD_INDICATION" = 0, |
|||
"OVERLOAD_INDICATION_PID" = 1, |
|||
"OVERLOAD_INDICATION_EVENT" = 2 |
|||
}; |
|||
taggedstruct { |
|||
"PRESCALER_SUPPORTED"; |
|||
"RESUME_SUPPORTED"; |
|||
block "STIM" struct { |
|||
enum { |
|||
"GRANULARITY_ODT_ENTRY_SIZE_STIM_BYTE" = 1, |
|||
"GRANULARITY_ODT_ENTRY_SIZE_STIM_WORD" = 2, |
|||
"GRANULARITY_ODT_ENTRY_SIZE_STIM_DWORD" = 4, |
|||
"GRANULARITY_ODT_ENTRY_SIZE_STIM_DLONG" = 8 |
|||
}; |
|||
uchar; /* MAX_ODT_ENTRY_SIZE_STIM */ |
|||
taggedstruct { |
|||
"BIT_STIM_SUPPORTED"; |
|||
}; |
|||
}; |
|||
block "TIMESTAMP_SUPPORTED" struct { |
|||
uint; /* TIMESTAMP_TICKS */ |
|||
enum { |
|||
"NO_TIME_STAMP" = 0, |
|||
"SIZE_BYTE" = 1, |
|||
"SIZE_WORD" = 2, |
|||
"SIZE_DWORD" = 4 |
|||
}; |
|||
enum { |
|||
"UNIT_1NS" = 0, |
|||
"UNIT_10NS" = 1, |
|||
"UNIT_100NS" = 2, |
|||
"UNIT_1US" = 3, |
|||
"UNIT_10US" = 4, |
|||
"UNIT_100US" = 5, |
|||
"UNIT_1MS" = 6, |
|||
"UNIT_10MS" = 7, |
|||
"UNIT_100MS" = 8, |
|||
"UNIT_1S" = 9 |
|||
}; |
|||
taggedstruct { |
|||
"TIMESTAMP_FIXED"; |
|||
}; |
|||
}; |
|||
"PID_OFF_SUPPORTED"; |
|||
(block "DAQ_LIST" struct { |
|||
uint; /* DAQ_LIST_NUMBER */ |
|||
taggedstruct { |
|||
"DAQ_LIST_TYPE" enum { |
|||
"DAQ" = 1, /* DIRECTION = DAQ only */ |
|||
"STIM" = 2, /* DIRECTION = STIM only */ |
|||
"DAQ_STIM" = 3 /* both directions possible */ |
|||
}; |
|||
"MAX_ODT" uchar; |
|||
"MAX_ODT_ENTRIES" uchar; |
|||
"FIRST_PID" uchar; |
|||
"EVENT_FIXED" uint; |
|||
block "PREDEFINED" taggedstruct { |
|||
(block "ODT" struct { |
|||
uchar; /* ODT number */ |
|||
taggedstruct { |
|||
("ODT_ENTRY" struct { |
|||
uchar; /* ODT_ENTRY number */ |
|||
ulong; /* address of element */ |
|||
uchar; /* address extension of element */ |
|||
uchar; /* size of element [AG] */ |
|||
uchar; /* BIT_OFFSET */ |
|||
})*; |
|||
}; |
|||
})*; |
|||
}; |
|||
}; |
|||
})*; |
|||
(block "EVENT" struct { |
|||
char[101]; /* EVENT_CHANNEL_NAME */ |
|||
char[9]; /* EVENT_CHANNEL_SHORT_NAME */ |
|||
uint; /* EVENT_CHANNEL_NUMBER */ |
|||
enum { |
|||
"DAQ" = 1, /* only DAQ_LISTs with DIRECTION = DAQ */ |
|||
"STIM" = 2, /* only DAQ_LISTs with DIRECTION = STIM */ |
|||
"DAQ_STIM" = 3 /* both kind of DAQ_LISTs */ |
|||
}; |
|||
uchar; /* MAX_DAQ_LIST */ |
|||
uchar; /* TIME_CYCLE */ |
|||
uchar; /* TIME_UNIT */ |
|||
uchar; /* PRIORITY */ |
|||
})*; |
|||
}; |
|||
}; |
|||
|
|||
taggedunion Daq_Event { /* for MEASUREMENTs */ |
|||
"FIXED_EVENT_LIST" taggedstruct { |
|||
("EVENT" uint)*; |
|||
}; |
|||
"VARIABLE" taggedstruct { |
|||
block "AVAILABLE_EVENT_LIST" taggedstruct { |
|||
("EVENT" uint)*; |
|||
}; |
|||
block "DEFAULT_EVENT_LIST" taggedstruct { |
|||
("EVENT" uint)*; |
|||
}; |
|||
}; |
|||
}; |
|||
|
|||
struct Pag { |
|||
uchar; /* MAX_SEGMENTS */ |
|||
taggedstruct { |
|||
"FREEZE_SUPPORTED"; |
|||
}; |
|||
}; |
|||
struct Pgm { |
|||
enum { |
|||
"PGM_MODE_ABSOLUTE" = 1, |
|||
"PGM_MODE_FUNCTIONAL" = 2, |
|||
"PGM_MODE_ABSOLUTE_AND_FUNCTIONAL" = 3 |
|||
}; |
|||
uchar; /* MAX_SECTORS */ |
|||
uchar; /* MAX_CTO_PGM */ |
|||
taggedstruct { |
|||
(block "SECTOR" struct { |
|||
char[101]; /* SECTOR_NAME */ |
|||
uchar; /* SECTOR_NUMBER */ |
|||
ulong; /* Address */ |
|||
ulong; /* Length */ |
|||
uchar; /* CLEAR_SEQUENCE_NUMBER */ |
|||
uchar; /* PROGRAM_SEQUENCE_NUMBER */ |
|||
uchar; /* PROGRAM_METHOD */ |
|||
})*; |
|||
"COMMUNICATION_MODE_SUPPORTED" taggedunion { |
|||
"BLOCK" taggedstruct { |
|||
"SLAVE"; |
|||
"MASTER" struct { |
|||
uchar; /* MAX_BS_PGM */ |
|||
uchar; /* MIN_ST_PGM */ |
|||
}; |
|||
}; |
|||
"INTERLEAVED" uchar; /* QUEUE_SIZE_PGM */ |
|||
}; |
|||
}; |
|||
}; |
|||
|
|||
struct Segment { /* for MEMORY_SEGMENT */ |
|||
uchar; /* SEGMENT_NUMBER */ |
|||
uchar; /* number of pages */ |
|||
uchar; /* ADDRESS_EXTENSION */ |
|||
uchar; /* COMPRESSION_METHOD */ |
|||
uchar; /* ENCRYPTION_METHOD */ |
|||
taggedstruct { |
|||
block "CHECKSUM" struct { |
|||
enum { |
|||
"XCP_ADD_11" = 1, |
|||
"XCP_ADD_12" = 2, |
|||
"XCP_ADD_14" = 3, |
|||
"XCP_ADD_22" = 4, |
|||
"XCP_ADD_24" = 5, |
|||
"XCP_ADD_44" = 6, |
|||
"XCP_CRC_16" = 7, |
|||
"XCP_CRC_16_CITT" = 8, |
|||
"XCP_CRC_32" = 9, |
|||
"XCP_USER_DEFINED" = 255 |
|||
}; |
|||
taggedstruct { |
|||
"MAX_BLOCK_SIZE" ulong ; |
|||
"EXTERNAL_FUNCTION" char[256]; /* Name of the Checksum.DLL */ |
|||
}; |
|||
}; |
|||
(block "PAGE" struct { /* PAGES for this SEGMENT */ |
|||
uchar; /* PAGE_NUMBER */ |
|||
enum { |
|||
"ECU_ACCESS_NOT_ALLOWED" = 0, |
|||
"ECU_ACCESS_WITHOUT_XCP_ONLY" = 1, |
|||
"ECU_ACCESS_WITH_XCP_ONLY" = 2, |
|||
"ECU_ACCESS_DONT_CARE" = 3 |
|||
}; |
|||
enum { |
|||
"XCP_READ_ACCESS_NOT_ALLOWED" = 0, |
|||
"XCP_READ_ACCESS_WITHOUT_ECU_ONLY" = 1, |
|||
"XCP_READ_ACCESS_WITH_ECU_ONLY" = 2, |
|||
"XCP_READ_ACCESS_DONT_CARE" = 3 |
|||
}; |
|||
enum { |
|||
"XCP_WRITE_ACCESS_NOT_ALLOWED" = 0, |
|||
"XCP_WRITE_ACCESS_WITHOUT_ECU_ONLY" = 1, |
|||
"XCP_WRITE_ACCESS_WITH_ECU_ONLY" = 2, |
|||
"XCP_WRITE_ACCESS_DONT_CARE" = 3 |
|||
}; |
|||
taggedstruct { |
|||
"INIT_SEGMENT" uchar; /* references segment that initialises this page */ |
|||
}; |
|||
})*; |
|||
(block "ADDRESS_MAPPING" struct { |
|||
ulong; /* source address */ |
|||
ulong; /* destination address */ |
|||
ulong; /* length */ |
|||
})*; |
|||
"PGM_VERIFY" ulong; /* verification value for PGM */ |
|||
}; |
|||
}; |
|||
|
|||
taggedstruct Common_Parameters { |
|||
block "PROTOCOL_LAYER" struct Protocol_Layer; |
|||
block "SEGMENT" struct Segment; |
|||
block "DAQ" struct Daq; |
|||
block "PAG" struct Pag; |
|||
block "PGM" struct Pgm; |
|||
block "DAQ_EVENT" taggedunion Daq_Event; |
|||
}; |
|||
|
|||
struct CAN_Parameters { |
|||
uint; /* XCP on CAN version, currentl 0x0100 */ |
|||
taggedstruct { |
|||
"CAN_ID_BROADCAST" ulong; /* Auto-detection CAN-ID */ |
|||
"CAN_ID_MASTER" ulong; /* CMD/STIM CAN-ID */ |
|||
"CAN_ID_SLAVE" ulong; /* RES/ERR/EV/SERV/DAQ CAN-ID */ |
|||
"BAUDRATE" ulong; /* Baudrate in Hz */ |
|||
"SAMPLE_POINT" uchar; /* Sample point in % of bit time */ |
|||
"SAMPLE_RATE" enum { |
|||
"SINGLE" = 1, |
|||
"TRIPLE" = 3 |
|||
}; |
|||
"BTL_CYCLES" uchar; /* slots per bit time */ |
|||
"SJW" uchar; |
|||
"SYNC_EDGE" enum { |
|||
"SINGLE" = 1, /* on falling edge only */ |
|||
"DUAL" = 2 /* on falling and rising edge */ |
|||
}; |
|||
"MAX_DLC_REQUIRED"; /* master to slave frames */ |
|||
(block "DAQ_LIST_CAN_ID" struct { |
|||
uint; /* reference to DAQ_LIST_NUMBER */ |
|||
taggedstruct { /* exclusive tags: either VARIABLE or FIXED */ |
|||
"VARIABLE"; |
|||
"FIXED" ulong; /* this DAQ_LIST always on this CAN_ID */ |
|||
}; |
|||
})*; |
|||
}; |
|||
}; |
|||
|
|||
struct SxI_Parameters { |
|||
uint; /* XCP on SxI version, currently 0x0100 */ |
|||
ulong; /* BAUDRATE [Hz] */ |
|||
taggedstruct { /* exclusive tags */ |
|||
"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 |
|||
}; |
|||
}; |
|||
|
|||
struct TCP_IP_Parameters { |
|||
uint; /* XCP on TCP_IP version, currently 0x0100 */ |
|||
uint; /* PORT */ |
|||
taggedunion { |
|||
"HOST_NAME" char[256]; |
|||
"ADDRESS" char[15]; |
|||
}; |
|||
}; |
|||
|
|||
struct UDP_Parameters { |
|||
uint; /* XCP on UDP version, currently 0x0100 */ |
|||
uint; /* PORT */ |
|||
taggedunion { |
|||
"HOST_NAME" char[256]; |
|||
"ADDRESS" char[15]; |
|||
}; |
|||
}; |
|||
|
|||
struct ep_parameters { |
|||
uchar; /* ENDPOINT_NUMBER, not endpoint address */ |
|||
enum { |
|||
"BULK_TRANSFER" = 2, /* Numbers according to USB spec.*/ |
|||
"INTERRUPT_TRANSFER" = 3 |
|||
}; |
|||
uint; /* wMaxPacketSize: Maximum packet */ |
|||
/* size of endpoint in bytes */ |
|||
|
|||
uchar; /* bInterval: polling of endpoint */ |
|||
|
|||
enum { /* Packing of XCP Messages */ |
|||
"MESSAGE_PACKING_SINGLE" = 0, /* Single per USB data packet */ |
|||
"MESSAGE_PACKING_MULTIPLE" = 1, /* Multiple per USB data packet */ |
|||
"MESSAGE_PACKING_STREAMING" = 2 /* No restriction by packet sizes*/ |
|||
}; |
|||
enum { /* Alignment mandatory for all */ |
|||
"ALIGNMENT_8_BIT" = 0, /* packing types */ |
|||
"ALIGNMENT_16_BIT"= 1, |
|||
"ALIGNMENT_32_BIT"= 2, |
|||
"ALIGNMENT_64_BIT"= 3 |
|||
}; |
|||
|
|||
taggedstruct { /* Optional */ |
|||
"RECOMMENDED_HOST_BUFSIZE" uint; /* Recommended size for the host */ |
|||
/* buffer size. The size is defined*/ |
|||
/* as multiple of wMaxPacketSize. */ |
|||
}; |
|||
}; /* end of ep_parameters */ |
|||
|
|||
struct USB_Parameters { |
|||
uint; /* XCP on USB version */ |
|||
/* e.g. "1.0" = 0x0100 */ |
|||
|
|||
uint; /* Vendor ID */ |
|||
uint; /* Product ID */ |
|||
uchar; /* Number of interface */ |
|||
|
|||
|
|||
enum { |
|||
"HEADER_LEN_BYTE" = 0, |
|||
"HEADER_LEN_CTR_BYTE" = 1, |
|||
"HEADER_LEN_FILL_BYTE" = 2, |
|||
"HEADER_LEN_WORD" = 3, |
|||
"HEADER_LEN_CTR_WORD" = 4, |
|||
"HEADER_LEN_FILL_WORD" = 5 |
|||
}; |
|||
|
|||
taggedunion { /* OUT-EP for CMD and */ |
|||
/* STIM (if not specified otherwise) */ |
|||
block "OUT_EP_CMD_STIM" struct ep_parameters; |
|||
}; |
|||
|
|||
taggedunion { /* IN-EP for RES/ERR, */ |
|||
/* DAQ (if not specified otherwise) and */ |
|||
/* EV/SERV (if not specified otherwise) */ |
|||
block "IN_EP_RESERR_DAQ_EVSERV" struct ep_parameters; |
|||
}; |
|||
/* ----------- Begin of optional ------- */ |
|||
|
|||
taggedstruct { /* Optional */ |
|||
"ALTERNATE_SETTING_NO" uchar; /* Number of alternate setting */ |
|||
|
|||
/* String Descriptor of XCP */ |
|||
/* interface */ |
|||
"INTERFACE_STRING_DESCRIPTOR" char [101]; |
|||
/* multiple OUT-EP's for STIM */ |
|||
(block "OUT_EP_ONLY_STIM" struct ep_parameters)*; |
|||
/* multiple IN-EP's for DAQ */ |
|||
(block "IN_EP_ONLY_DAQ" struct ep_parameters)*; |
|||
/* only one IN-EP for EV/SERV */ |
|||
block "IN_EP_ONLY_EVSERV" struct ep_parameters; |
|||
|
|||
(block "DAQ_LIST_USB_ENDPOINT" struct { |
|||
uint; /* reference to DAQ_LIST_NUMBER */ |
|||
taggedstruct { /* only mentioned if not VARIABLE */ |
|||
"FIXED_IN" uchar; /* this DAQ list always */ |
|||
/* ENDPOINT_NUMBER, not endpoint address */ |
|||
"FIXED_OUT" uchar; /* this STIM list always */ |
|||
/* ENDPOINT_NUMBER, not endpoint address */ |
|||
}; |
|||
})*; /* end of DAQ_LIST_USB_ENDPOINT */ |
|||
}; /* end of optional */ |
|||
}; |
|||
|
|||
enum packet_assignment_type { |
|||
"NOT_ALLOWED", |
|||
"FIXED", |
|||
"VARIABLE_INITIALISED", |
|||
"VARIABLE" |
|||
}; /* end of packet_assignment_type */ |
|||
|
|||
struct buffer { |
|||
|
|||
uchar; /* FLX_BUF */ |
|||
|
|||
taggedstruct { |
|||
|
|||
"MAX_FLX_LEN_BUF" taggedunion { |
|||
"FIXED" uchar; /* constant value */ |
|||
"VARIABLE" uchar; /* initial value */ |
|||
}; /* end of MAX_FLX_LEN_BUF */ |
|||
|
|||
block "LPDU_ID" taggedstruct { |
|||
|
|||
"FLX_SLOT_ID" taggedunion { |
|||
"FIXED" uint; |
|||
"VARIABLE" taggedstruct{ |
|||
"INITIAL_VALUE" uint; |
|||
}; |
|||
}; /* end of FLX_SLOT_ID */ |
|||
|
|||
"OFFSET" taggedunion { |
|||
"FIXED" uchar; |
|||
"VARIABLE" taggedstruct{ |
|||
"INITIAL_VALUE" uchar; |
|||
}; |
|||
}; /* end of OFFSET */ |
|||
|
|||
"CYCLE_REPETITION" taggedunion { |
|||
"FIXED" uchar; |
|||
"VARIABLE" taggedstruct{ |
|||
"INITIAL_VALUE" uchar; |
|||
}; |
|||
}; /* end of CYCLE_REPETITION */ |
|||
|
|||
"CHANNEL" taggedunion { |
|||
"FIXED" enum { |
|||
"A" = 0, |
|||
"B" = 1 |
|||
}; |
|||
"VARIABLE" taggedstruct{ |
|||
"INITIAL_VALUE" enum { |
|||
"A" = 0, |
|||
"B" = 1 |
|||
}; |
|||
}; |
|||
}; /* end of CHANNEL */ |
|||
|
|||
}; /* end of LPDU_ID */ |
|||
|
|||
block "XCP_PACKET" taggedstruct { |
|||
|
|||
"CMD" enum packet_assignment_type; /* end of CMD */ |
|||
"RES_ERR" enum packet_assignment_type; /* end of RES_ERR */ |
|||
"EV_SERV" enum packet_assignment_type; /* end of EV_SERV */ |
|||
"DAQ" enum packet_assignment_type; /* end of DAQ */ |
|||
"STIM" enum packet_assignment_type; /* end of STIM */ |
|||
|
|||
}; /* end of XCP_PACKET */ |
|||
|
|||
}; |
|||
|
|||
}; /* end of buffer */ |
|||
|
|||
struct FLX_Parameters { |
|||
|
|||
uint; /* XCP on FlexRay version */ |
|||
/* e.g. "1.0" = 0x0100 */ |
|||
|
|||
uint; /* T1_FLX [ms] */ |
|||
|
|||
char[256]; /* FIBEX-file */ |
|||
/* including CHI information */ |
|||
/* including extension */ |
|||
/* without path */ |
|||
|
|||
char[256]; /* Cluster-ID */ |
|||
|
|||
uchar; /* NAX */ |
|||
|
|||
enum { |
|||
"HEADER_NAX" = 0, |
|||
"HEADER_NAX_FILL" = 1, |
|||
"HEADER_NAX_CTR" = 2, |
|||
"HEADER_NAX_FILL3" = 3, |
|||
"HEADER_NAX_CTR_FILL2" = 4, |
|||
"HEADER_NAX_LEN" = 5, |
|||
"HEADER_NAX_CTR_LEN" = 6, |
|||
"HEADER_NAX_FILL2_LEN" = 7, |
|||
"HEADER_NAX_CTR_FILL_LEN" = 8 |
|||
}; |
|||
|
|||
enum { |
|||
"PACKET_ALIGNMENT_8" = 0, |
|||
"PACKET_ALIGNMENT_16" = 1, |
|||
"PACKET_ALIGNMENT_32" = 2 |
|||
}; |
|||
|
|||
taggedunion { |
|||
block "INITIAL_CMD_BUFFER" struct buffer; |
|||
}; |
|||
|
|||
taggedunion { |
|||
block "INITIAL_RES_ERR_BUFFER" struct buffer; |
|||
}; |
|||
|
|||
taggedstruct { |
|||
(block "POOL_BUFFER" struct buffer)*; |
|||
}; |
|||
|
|||
}; |
|||
|
|||
block "IF_DATA" taggedunion if_data { |
|||
|
|||
|
|||
"CANAPE_EXT" struct { |
|||
int; /* version number */ |
|||
taggedstruct { |
|||
"LINK_MAP" struct { |
|||
char[256]; /* segment name */ |
|||
long; /* base address of the segment */ |
|||
uint; /* address extension of the segment */ |
|||
uint; /* flag: address is relative to DS */ |
|||
long; /* offset of the segment address */ |
|||
uint; /* datatypValid */ |
|||
uint; /* enum datatyp */ |
|||
uint; /* bit offset of the segment */ |
|||
}; |
|||
"DISPLAY" struct { |
|||
long; /* display color */ |
|||
double; /* minimal display value (phys)*/ |
|||
double; /* maximal display value (phys)*/ |
|||
}; |
|||
"VIRTUAL_CONVERSION" struct { |
|||
char[256]; /* name of the conversion formula */ |
|||
}; |
|||
}; |
|||
}; |
|||
"CANAPE_MODULE" struct { |
|||
taggedstruct { |
|||
("RECORD_LAYOUT_STEPSIZE" struct { |
|||
char[256]; /* name of record layout*/ |
|||
uint; /* stepsize for FNC_VALUES */ |
|||
uint; /* stepsize for AXIS_PTS_X */ |
|||
uint; /* stepsize for AXIS_PTS_Y */ |
|||
uint; /* stepsize for AXIS_PTS_Z */ |
|||
uint; /* stepsize for AXIS_PTS_4 */ |
|||
uint; /* stepsize for AXIS_PTS_5 */ |
|||
})*; |
|||
}; |
|||
}; |
|||
/*********************************************************/ |
|||
/* XCP */ |
|||
/*********************************************************/ |
|||
"XCP" struct { |
|||
taggedstruct Common_Parameters ; /* default parameters */ |
|||
taggedstruct { |
|||
block "XCP_ON_CAN" struct { |
|||
struct CAN_Parameters; /* specific for CAN */ |
|||
taggedstruct Common_Parameters; /* overruling of default */ |
|||
}; |
|||
block "XCP_ON_SxI" struct { |
|||
struct SxI_Parameters; /* specific for SxI */ |
|||
taggedstruct Common_Parameters; /* overruling of default */ |
|||
}; |
|||
block "XCP_ON_TCP_IP" struct { |
|||
struct TCP_IP_Parameters; /* specific for TCP_IP */ |
|||
taggedstruct Common_Parameters; /* overruling of default */ |
|||
}; |
|||
block "XCP_ON_UDP_IP" struct { |
|||
struct UDP_Parameters; /* specific for UDP */ |
|||
taggedstruct Common_Parameters; /* overruling of default */ |
|||
}; |
|||
block "XCP_ON_USB" struct { |
|||
struct USB_Parameters ; /* specific for USB */ |
|||
taggedstruct Common_Parameters; /* overruling of default */ |
|||
}; |
|||
block "XCP_ON_FLX" struct { |
|||
struct FLX_Parameters ; /* specific for FlexRay */ |
|||
taggedstruct Common_Parameters; /* overruling of default */ |
|||
}; |
|||
}; |
|||
}; |
|||
"CANAPE_GROUP" taggedstruct { |
|||
block "STRUCTURE_LIST" (char[1024])*; |
|||
}; |
|||
}; |
|||
|
|||
/end A2ML |
|||
Loading…
Reference in new issue