Closes #32
This commit is contained in:
1 parent
e44529007a
commit
f60faea2e7
35 files changed
+2361
-2145
No files matched your search
@@ -621,7 +621,7 @@ Signal definition</h1>
|
||||
<hr />
|
||||
<h2><a class="anchor" id="autotoc_md106"></a>
|
||||
Signal validation and parse errors</h2>
|
||||
<p><code>SG_</code> statements are matched completely. Signal names must be nonempty and contain no whitespace. Spaces and tabs are accepted between syntax elements; byte order and signedness remain adjacent (<code>@0+</code>, <code>@0-</code>, <code>@1+</code>, or <code>@1-</code>). A quoted unit (which may be empty) and a nonempty comma-separated receiver list are required. Unexpected trailing fields are rejected.</p>
|
||||
<p><code>SG_</code> statements are read completely with an iterative scanner. Signal parsing and numeric conversion do not use recursive regular-expression matching, so long fields do not consume stack space proportional to their length. No new statement length limit is imposed; valid long fields are preserved, and malformed statements return the usual source diagnostics. Signal names must be nonempty and contain no whitespace. Spaces and tabs are accepted between syntax elements; byte order and signedness remain adjacent (<code>@0+</code>, <code>@0-</code>, <code>@1+</code>, or <code>@1-</code>). A quoted unit (which may be empty) and a nonempty comma-separated receiver list are required. Unexpected trailing fields are rejected.</p>
|
||||
<p>Start bits must be unsigned decimal integers fitting <code>uint32_t</code>; lengths must be within <code>1..64</code> bits. Signs, fractional values, numeric suffixes, and overflow are rejected for these fields. Every signal bit must fit within the frame's declared payload length, using Intel increasing bit positions or Motorola sawtooth traversal. This uses the stored payload length without introducing an additional CAN or CAN FD payload limit.</p>
|
||||
<p>Factor, offset, minimum, and maximum accept signed decimal numbers, fractions, and scientific notation. Conversion is independent of the application's C and C++ locales: the decimal separator is always a dot (<code>.</code>), and comma decimals and digit grouping are rejected. The entire numeric token must be valid; hexadecimal numbers, NaN, infinity, conversion overflow, and conversion underflow (including subnormal values) are rejected. Minimum must not exceed maximum. Zero and negative factors are allowed.</p>
|
||||
<p>Basic and extended multiplexing markers are supported as described below. Overlapping signals are rejected unless their selector conditions prove mutual exclusion. Duplicate frame keys and signal names within a frame are rejected.</p>
|
||||
|
||||
Reference in new issue
Block a user