Вы находитесь на странице: 1из 32

ASAP2_VERSION 1 6ujhuoui

udj
filehgkjh
/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
fdsh

gsdf
given
hfhhg

/* 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 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 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