ASAM MCD-2MC Version 1.6
Additional and changed checker rules
Release
Association for Standardisation of Automation and Measuring Systems
Dated:12.02.2009
© ASAM e.V.
Status of Document
Date: 12.02.2009 Author: Gina Schuffenhauer, M&K GmbH Version: Version 1.6 Doc-ID: Status: Release Type Specification
Copyright Notice Although this document was created with the utmost care it cannot be guaranteed that it is completely free of errors or inconsistencies. ASAM e. V. makes no representations or warranties with respect to the contents or use of this documentation, and specifically disclaims any expressed or implied warranties of merchantability or fitness for any particular purpose. Neither ASAM nor the author(s) therefore accept any liability for damages or other consequences that arise from the use of this document. ASAM e. V. reserves the right to revise this publication and to make changes to its content, at any time, without obligation to notify any person or entity of such revisions or changes. Without explicit authorization by ASAM e. V. this document may neither be changed nor in the original or a changed state be implemented / integrated in other documents. This also applies for parts of this document. Printing, copying and distributing of the document as a whole or in parts is explicitly permitted.
2 ASAM MCD-2MC Version 1.6
Revision History
This revision history shows only major modifications between release versions. Date Author Filename Comments
ASAM MCD-2MC Version 1.6 3
4 ASAM MCD-2MC Version 1.6
Table of contents
Table of contents
1 General information 9
2 New keywords 10 2.1 ALIGNMENT_INT64 10 2.2 AXIS_PTS_4/_5 10 2.3 AXIS_RESCALE_4/_5 10 2.4 BYTE_ORDER_MARK 10 2.5 CALIBRATION_HANDLE_TEXT 10 2.6 COEFFS_LINEAR 10 2.7 DEFAULT_VALUE_NUMERIC 10 2.8 DISCRETE 10 2.9 DIST_OP__4 / _5 11 2.10 FIX_NO_AXIS_PTS__4 / _5 11 2.11 IF_DATA 11 2.12 LAYOUT 11 2.13 MONOTONY 11 2.14 NO_AXIS_PTS _4 / _5 11 2.15 NO_RESCALE_4 / _5 11 2.16 ODX_FLASH_CONFIG 11 2.17 ODX_HANDLING 11 2.18 OFFSET__4 / _5 11 2.19 PHYS_UINT 12 2.20 RIP_ADDR_4/_5 12 2.21 SRC_ADDR_4/_5 12 2.22 SHIFT_ADDR_4/_5 12 2.23 STATUS_STRING_REF 12 2.24 STATIC_RECORD_LAYOUT 12 2.25 STATUS_STRING_REF 12 2.26 STEP_SIZE 12 2.27 SYMBOLIC_LINK 12
3 New enumeration values 13 3.1 Enumeration datatype 13 3.2 Enumeration Type in CHARACTERISTIC 13 3.3 Conversion Type in COMPU_METHOD 13
ASAM MCD-2MC Version 1.6 5
Table of contents
3.4 Type in CHARACTERISTIC 13 3.5 MONOTONY 13
4 Additional tests 15 4.1 ASAP2_VERSION 15
5 Changed data type 17
6 Incompatible changes 19 6.1 FORMULA 19 6.2 Curly brackets 19 6.3 Change of rules for a PROJECT 19 6.4 Changes in the data type ident 19
7 Dependencies 21 7.1 CHARACTERISTIC/AXIS_DESCR 21 7.2 CHARACTERISTIC/MAP_LIST 21 7.3 COMPU_METHOD/ COEFFS_LINEAR 21 7.4 COMPU_METHOD/ IDENTICAL 21 7.5 COMPU_TAB 21 7.6 FNC_VALUES 21 7.7 CUBOID 21 7.8 CUBE_4 22 7.9 CUBE_5 22 7.10 MONOTONY 22 7.11 RECORD_LAYOUT 22 7.12 STATUS_STRING_REF 22 7.13 VAR_MEASUREMENT 22 7.14 VAR_SELECTION_CHARACTERISTIC 22
8 Check/add 23 8.1 ident 23 8.2 Escape-Sequences in a string 23 8.3 SYSTEM_CONSTANT 23 8.4 EXTENDED_LIMITS 23 8.5 BOM 23
9 Errors in the Checker Version 1.5.1 25 9.1 AXIS_PTS_X/_Y/_Z 25 9.2 Value range of hexadecimal values 25
6 ASAM MCD-2MC Version 1.6
Table of contents
Tabledirectory 27 Books 29
ASAM MCD-2MC Version 1.6 7
Table of contents
8 ASAM MCD-2MC Version 1.6
General information
1 GENERAL INFORMATION
Table 1 lists the usual evaluation of events, that may when an A2L file is checked using the ASAM ASAP checker. (For further information see the manual of the ASAM ASAP Checker version 1.5).
Table 1 Evaluation of events in the A2L checker
Event Evaluation False parameters (e.g. numeric value is expected, string is given)
error
Missing parameters error Error in capitalization warning Violation of value range of data type (data width) error Sign error error/warning Multiple declaration error Length overrange error Missing of necessary information warning/error Non-appropriate information stated warning/error Obsolete keywords have been used information Statements exclude each other warning Upper limit > lower limit warning Reference has not been resolved error
These evaluations are also applied to the keywords, that were added in version 1.6. . The work group will decide on exceptions to this rule.
ASAM MCD-2MC Version 1.6 9
New keywords
2 NEW KEYWORDS
2.1 ALIGNMENT_INT64
is in • MOD_COMMON • RECORD_LAYOUT
2.2 AXIS_PTS_4/_5
is in • RECORD_LAYOUT
2.3 AXIS_RESCALE_4/_5
is in • RECORD_LAYOUT
2.4 BYTE_ORDER_MARK
at the beginning of the A2L file
2.5 CALIBRATION_HANDLE_TEXT
is in • CALIBRATION_HANDLE
2.6 COEFFS_LINEAR
is in • COMPU_METHOD
2.7 DEFAULT_VALUE_NUMERIC
is in • COMPU_TAB
2.8 DISCRETE
is in • CHARACTERISTIC • MEASUREMENT
10 ASAM MCD-2MC Version 1.6
New keywords
2.9 DIST_OP__4 / _5
is in • RECORD_LAYOUT
2.10 FIX_NO_AXIS_PTS__4 / _5
is in • RECORD_LAYOUT
2.11 IF_DATA
additional in • FUNCTION • GROUP
2.12 LAYOUT
new enumeration values (ROW_DIR, COLUMN_DIR) is in
• MEASUREMENT
2.13 MONOTONY
is in • AXIS_PTS
2.14 NO_AXIS_PTS _4 / _5
is in • RECORD_LAYOUT
2.15 NO_RESCALE_4 / _5
is in • RECORD_LAYOUT
2.16 ODX_FLASH_CONFIG
is in • ODX_HANDLING
2.17 ODX_HANDLING
is in • MOD_PAR
2.18 OFFSET__4 / _5
is in • RECORD_LAYOUT
ASAM MCD-2MC Version 1.6 11
New keywords
2.19 PHYS_UINT
is in • AXIS_DESCR • AXIS_PTS • CHARACTERISTIC • MEASUREMENT
2.20 RIP_ADDR_4/_5
is in • RECORD_LAYOUT
2.21 SRC_ADDR_4/_5
is in • RECORD_LAYOUT
2.22 SHIFT_ADDR_4/_5
is in
• RECORD_LAYOUT
2.23 STATUS_STRING_REF
is in • COMPU_METHOD
2.24 STATIC_RECORD_LAYOUT
is in • RECORD_LAYOUT •
2.25 STATUS_STRING_REF
is in • COMPU_METHOD
2.26 STEP_SIZE is in
• AXIS_PTS • CHARACTERISTIC
2.27 SYMBOLIC_LINK is in
• AXIS_PTS • CHARACTERISTIC • MEASUREMENT
12 ASAM MCD-2MC Version 1.6
New enumeration values
3 NEW ENUMERATION VALUES
3.1 ENUMERATION DATATYPE
new values A_INT64 and A_UINT64
3.2 ENUMERATION TYPE IN CHARACTERISTIC
new values: CUBE-4, CUBE_5
3.3 CONVERSION TYPE IN COMPU_METHOD
new values: IDENTICAL, LINEAR
3.4 TYPE IN CHARACTERISTIC
new values: CUBE_4, CUBE_5
3.5 MONOTONY
new values: MONOTONOUS, STRICT_MON, NOT_MON
ASAM MCD-2MC Version 1.6 13
New enumeration values
14 ASAM MCD-2MC Version 1.6
Additional tests
4 ADDITIONAL TESTS
4.1 ASAP2_VERSION
From version 1.6 ASAP2_VERSION is a mandatory keyword. If the entry is not found, a warning is delivered and the file is checked against the specification 1.5.1. By this means older A2l files can be processed.
ASAM MCD-2MC Version 1.6 15
Additional tests
16 ASAM MCD-2MC Version 1.6
Changed data type
5 CHANGED DATA TYPE
Table 2 changed data types
Keyword Parameter old new A2ML_VERSION VersionNo int uint UpgardeNo int uint ADDR_EPK Address long ulong ALIGNMENT_BYTE AlignmentBorder int uint ALIGNMENT_FLOAT32_IEEE AlignmentBorder int uint ALIGNMENT_FLOAT64_IEEE AlignmentBorder int uint ALIGNMENT_INT6 AlignmentBorder int uint ALIGNMENT_LONG AlignmentBorder int uint ALIGNMENT_WORD AlignmentBorder int uint
ARRAY_SIZE Number int uint ASAP2_VERSION VersionNo int uint UpgradeNo int uint AXIS_DESCR MaxAxisPoints int uint AXIS_PTS Address long ulong MaxAxisPoints int uint AXIS_PTS_X / _Y / _Z / _4 / _5
Position int uint
AXIS_RESCALE_X / _Y / _Z / _4 / _5
Position int uint
MaxNumberOfRescalePairs int uint BIT_MASK Mask long ulong CALIBRATION_METHOD Version long ulong CHARACTERISTIC Address long ulong COMPU_TAB NumberValuePairs int uint COMPU_VTAB NumberValuePairs int uint COMPU_VTAB_RANGE NumberValueTriples int uint DATA_SIZE Size int uint DIST_OP_X /_Y /_Z / _4 / _5 Position int uint ECU_ADDRESS Address long ulong ERROR_MASK Mask long ulong FIX_AXIS_PAR Numberapo int uint FIX_AXIS_PAR_DIST Numberapo int uint FIX_NO_AXIS_PTS_X /_Y NumberOfAxisPoints int uint
ASAM MCD-2MC Version 1.6 17
Changed data type
Keyword Parameter old new /_Z / _4 / _5 FNC_VALUES Position int uint FRAME ScalingUnit int uint Rate long ulong IDENTIFICATION Position int uint LEFT_SHIFT BitCount long ulong MATRIX_DIM xDim int uint yDim int uint zDim int uint MAX_REFRESH ScalingUnit int uint Rate long ulong MEASUREMENT Resolution int uint MEMORY_LAYOUT Address long ulong Size long ulong MEMORY_SEGMENT Address long ulong Size long ulong NO_AXIS_PTS_X /_Y /_Z / _4 / _5
Position int uint
NO_OF_INTERFACES Num int uint NO_RESCALE_X / _Y / _Z / _4 / _5
Position int uint
NUMBER Num int uint OFFSET_X / _Y / _Z / _4 / _5 Position int uint RESERVED Position int uint RIGHT_SHIFT BitCount long ulong RIP_ADDR_X / _Y / _Z / _4 / _5 / _W
Position int uint
SHIFT_OP_X / _Y / _Z / _4 / _5
Position int uint
VAR_ADDRESS Address long ulong
18 ASAM MCD-2MC Version 1.6
Incompatible changes
6 INCOMPATIBLE CHANGES
6.1 FORMULA
The content of FORMULA is only checked, if an A2L file is processed, that has an ASAP2_VERSION value >= 1.6. If an operator is found, that is not in list of valid operators, a warning is delivered. A formula may contain system constants. These system constants have to be defined using the keyword SYSTEM_CONSTANT. The value of a system constant is either a numeric value or a part of a formula. A system constant may be used to define another system constant, but infinite loops are not allowed. If system constants are used within a formula, the name of these constants has to be included in the expression $(). If the name of the system constant is directly used, an error is delivered. The name of the system constants, that are used in formulas, has to correspond to the definition of the data type ident. If a formula is checked, all system constants have to be replaced by their values. The resulting formula has to be valid, else an error is delivered.
6.2 CURLY BRACKETS
From version 1.6 the usage of curly brackets instead of \begin and \end is not allowed anymore.
6.3 CHANGE OF RULES FOR A PROJECT
From version 1.6 the rule "A PROJECT should contain a HEADER" is not valid anymore.
6.4 CHANGES IN THE DATA TYPE IDENT
From version 1.6 an ident may have a length of 1024 characters, a partial ident a length of 128 characters.
ASAM MCD-2MC Version 1.6 19
Incompatible changes
20 ASAM MCD-2MC Version 1.6
Dependencies
7 DEPENDENCIES
7.1 CHARACTERISTIC/AXIS_DESCR
1. parameter block: X axis 2. parameter block: Y axis 3. parameter block: Z axis (CUBOID) 4. parameter block: Z4 axis (CUBE_4) 5. parameter block: Z5 axis (CUBE_5) A MAP_LIST must only contain one AXIS_DESCR. This AXIS_DESCR describes the z axis, x- and y- axes are described using the MAPs, that are referenced in the MAP_LIST.
7.2 CHARACTERISTIC/MAP_LIST
MAP_LIST can only be used in CUBOIDs, not in CUBE_4 and CUBE_5. The MAPs in the MAP_LIST may have a different number of values.
7.3 COMPU_METHOD/ COEFFS_LINEAR
COEFFS_LINEAR is only allowed within a COMPU_METHOD, if the ConversionType is LINEAR. If this keyword is given, the keywords COEFFS and FORMULA must not be given.
7.4 COMPU_METHOD/ IDENTICAL
If the ConversionType of a COMPU_METHOD is IDENTICAL, the keywords COEFFS, COEFFS_LINEAR and FORMULA must not be given.
7.5 COMPU_TAB
In a COMPU_TAB the keywords DEFAULT_VALUE and DEFAULT_VALUE_NUMERIC must not be used at the same time.
7.6 FNC_VALUES
The enumeration value ALTERNATE_CURVES must not be set when MAPs, CUBOIDs, CUBE_4 and CUBE_5 are described. The enumeration value ALTERNATE_WITH_X must not be set when CUBOIDs, CUBE_4 and CUBE_5 are described. The enumeration value ALTERNATE_WITH_Y must not be set when CUBOIDs, CUBE_4 and CUBE_5 are described.
7.7 CUBOID
A CUBOID is an array of MAPs with incremented or decremented z-axis.
ASAM MCD-2MC Version 1.6 21
Dependencies
7.8 CUBE_4
A CUBE_4 is an array of CUBOID with incremented or decremented z2-axis.
7.9 CUBE_5
A CUBE_5 is an array of CUBE_4 with incremented or decremented z3-axis.
7.10 MONOTONY
If the enumeration value NOT_MON is set, an inverse computation method must exist.
7.11 RECORD_LAYOUT
STATIC_RECORD_LAYOUT may only be used with NO_AXIS_PTS_X/_Y/_Z/_4/_5.
7.12 STATUS_STRING_REF
The parameter of STATUS_STRING_REF refers to a COMPU_VTAB or a COMPU_VTAB_RANGE. The referenced COMPU_VTAB or COMPU_VTAB_RANGE must not have a default value.
7.13 VAR_MEASUREMENT
The referenced measurement must contain a conversion method of type COMPU_VTAB. The strings defined at the conversion table must correspond to the criterion values at the VAR_CRITERION record.
7.14 VAR_SELECTION_CHARACTERISTIC
The referenced characteristic object must have a conversion method of type COMPU_VTAB. The strings defined at the conversion table must correspond to the criterion values at the VAR_CRITERION record.
22 ASAM MCD-2MC Version 1.6
Check/add
8 CHECK/ADD
8.1 IDENT
An ident must not correspond to a keyword or a predefined enumeration value.
8.2 ESCAPE-SEQUENCES IN A STRING
Check, that only the given escape sequences are allowed in a string.
8.3 SYSTEM_CONSTANT
The names of SYSTEM_:CONSTANTs within a MODULE have to be unique.
8.4 EXTENDED_LIMITS
Check, that the lower value of a limit is >= the lower value of the EXTENDED_LIMIT and the upper value of a limit is <= the upper value of the EXTENDED_LIMIT.
8.5 BOM
It has to be checked, that using UTF-8, UTF-16 and UTF-32 coded strings in an A2L file does not cause any problems.
ASAM MCD-2MC Version 1.6 23
Check/add
24 ASAM MCD-2MC Version 1.6
Errors in the Checker Version 1.5.1
9 ERRORS IN THE CHECKER VERSION 1.5.1
9.1 AXIS_PTS_X/_Y/_Z
The checker allows setting the enumeration value COLUMN_DIR at AXIS_PTS_X/_Y/_Z. This is not allowed according to the specification.
9.2 VALUE RANGE OF HEXADECIMAL VALUES
Hexadecimal values are interpreted as follows:
Table 3 Interpretation of hexadecimal values
Data typep hexadecimal value numerical value A_INT8 0xFF 255 0x80 128 A_UINT8 0xFF -1 0x80 -128
This also applies to the data types A_INT16, A_UNIT16, A_INT32 und A_UINT32. A hexadecimal value, which data width is <= the data width of the given data type does not cause an overflow.
ASAM MCD-2MC Version 1.6 25
Errors in the Checker Version 1.5.1
26 ASAM MCD-2MC Version 1.6
Tabledirectory
Tabledirectory Table 1 Evaluation of events in the A2L checker 9 Table 2 changed data types 17 Table 3 Interpretation of hexadecimal values 25
ASAM MCD-2MC Version 1.6 27
Tabledirectory
28 ASAM MCD-2MC Version 1.6
Books
Books
ASAM MCD-2MC Version 1.6 29
ASAM e.V.
Arnikastrasse 2
D-85635 Höhenkirchen
Germany
Tel.: (+49) 08102 / 8953 17
Fax.: (+49) 08102 / 8953 10
E-mail: [email protected]
Internet: www.asam.net
30 ASAM MCD-2MC Version 1.6