Skip to content

Commit

Permalink
Release v6.0
Browse files Browse the repository at this point in the history
  • Loading branch information
arobenko committed Mar 13, 2023
2 parents 985bbf6 + 75957e6 commit 2b1a5e8
Show file tree
Hide file tree
Showing 23 changed files with 525 additions and 136 deletions.
2 changes: 1 addition & 1 deletion CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ if (NOT ASCIIDOCTOR_PDF_EXE)
message(FATAL_ERROR "asciidoctor-pdf is not found")
endif ()

set (VERSION "v5.0")
set (VERSION "v6.0")
set (MAIN_FILE "${PROJECT_SOURCE_DIR}/commsdsl_spec.adoc")

add_custom_target("pdf" ALL
Expand Down
2 changes: 1 addition & 1 deletion appendix/alias.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ Introduced in DSL version **3**.
|===
|Property Name|Allowed Type / Value|DSL Version|Required|Default Value ^.^|Description

|**name**|<<intro-names, name>> string|3|yes||Name of the alias.
|**description**|string|3|no||Human readable description of the alias.
|**field**|relative <<intro-references, reference>> string|3|yes||Reference to the aliased field, must start with `$` character.
|**name**|<<intro-names, name>> string|3|yes||Name of the alias.
|===
2 changes: 1 addition & 1 deletion appendix/bundle.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@ Extra child XML elements allowed:
|===
|XML Element|DSL Version ^.^|Description

|**&lt;members&gt;**|1|Wraps member fields.
|**&lt;alias&gt;**|3|Alias names for other member fields. See <<aliases-aliases, Aliases>> for more info.
|**&lt;members&gt;**|1|Wraps member fields.
|**&lt;replace&gt;**|5|Wraps replacing member fields after copying using **reuse** property.
|===
4 changes: 2 additions & 2 deletions appendix/custom.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -8,9 +8,9 @@ for detailed description.
[cols="^.^27,^.^11,^.^8,^.^10,^.^10,34", options="header"]
|===
|Property Name|Allowed Type / Value|DSL Version|Required|Default Value ^.^|Description
|**checksumFrom**|<<intro-names, name>> string|5|no (unless **semanticLayerType** is "checksum" and **checksumUntil** is empty)||Name of the frame layer, from which the checksum calculation starts. Applicable only when `semanticLayerType="checksum"`.
|**checksumUntil**|<<intro-names, name>> string|5|no (unless **semanticLayerType** is "checksum" and **checksumFrom** is empty)||Name of the frame layer, until (and including) which the checksum calculation is executed. Applicable only when `semanticLayerType="checksum"`.
|**[.line-through]#idReplacement#**|<<intro-boolean, bool>>|1|no|false|Mark the layer as one replacing <<frames-id, &lt;id&gt; >>. +
**Deprecated**, use `semanticLayerType="id"` instead.
|**semanticLayerType**|"payload", "id", "size", "sync", "checksum", "value", "custom"|5|no|custom|Specify what other layer **&lt;custom&gt;** one is replacing.
|**checksumFrom**|<<intro-names, name>> string|5|no (unless **semanticLayerType** is "checksum" and **checksumUntil** is empty)||Name of the frame layer, from which the checksum calculation starts. Applicable only when `semanticLayerType="checksum"`.
|**checksumUntil**|<<intro-names, name>> string|5|no (unless **semanticLayerType** is "checksum" and **checksumFrom** is empty)||Name of the frame layer, until (and including) which the checksum calculation is executed. Applicable only when `semanticLayerType="checksum"`.
|===
16 changes: 8 additions & 8 deletions appendix/enum.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -9,28 +9,28 @@ for detailed description.
|===
|Property Name|Allowed Type / Value|DSL Version|Required|Default Value ^.^|Description

|**type**|"int8", "uint8", "int16", "uint16", "int32", "uint32", "int64", "uint64", "intvar", "uintvar"|1|yes||Underlying primitive type.
|**availableLengthLimit**|<<intro-boolean, bool>>|4|no|false|Allow having less bytes in the buffer than required by the **type** when performing (de)serialization.
|**bitLength**|<<intro-numeric, unsigned>>|1|no|length of **type** in bits|Serialization length in bits, applicable only to a member of <<fields-bitfield, &lt;bitfield&gt; >>.
|**defaultValue**|<<intro-numeric, numeric>> or <<intro-names, name>>|1|no|0|Default value. Must fit the underlying **type**.
|**endian**|"big" or "little"|1|no|endian of <<schema-schema, schema>>|Endian of the field.
|**length**|<<intro-numeric, unsigned>>|1|no|length of **type**|Forced serialization length.
|**bitLength**|<<intro-numeric, unsigned>>|1|no|length of **type** in bits|Serialization length in bits, applicable only to a member of <<fields-bitfield, &lt;bitfield&gt; >>.
|**hexAssign**|<<intro-boolean, bool>>|1|no|false|Force generated code to assign enum values using hexadecimal numbers.
|**length**|<<intro-numeric, unsigned>>|1|no|length of **type**|Forced serialization length.
|**nonUniqueAllowed**|<<intro-boolean, bool>>|1|no|false|Allow non unique **&lt;validValue&gt;**-es.
|**type**|"int8", "uint8", "int16", "uint16", "int32", "uint32", "int64", "uint64", "intvar", "uintvar"|1|yes||Underlying primitive type.
|**validCheckVersion**|<<intro-boolean, bool>>|1|no|false|Take into account protocol version when generating code for field's value validity check.
|**availableLengthLimit**|<<intro-boolean, bool>>|4|no|false|Allow having less bytes in the buffer than required by the **type** when performing (de)serialization.
|===

==== Properties of &lt;validValue&gt; Child Element of &lt;enum&gt; Field ====
[cols="^.^28,^.^10,^.^8,^.^8,^.^10,36", options="header"]
|===
|Property Name|Allowed Type / Value|DSL Version|Required|Default Value ^.^|Description

|**name**|<<intro-names, name>> string|1|yes||Name of the value.
|**val**|<<intro-numeric, numeric>>|1|yes||Numeric value.
|**deprecated**|<<intro-numeric, unsigned>>|1|no|max unsigned|Version of the protocol in which value was deprecated. +
Must be greater than value of **sinceVersion**.
|**description**|string|1|no||Human readable description of the value.
|**displayName**|string|1|no||Human readable name of the value to display in various analysis tools.
|**name**|<<intro-names, name>> string|1|yes||Name of the value.
|**sinceVersion**|<<intro-numeric, unsigned>>|1|no|0|Version of the protocol in which value was introduced.
|**deprecated**|<<intro-numeric, unsigned>>|1|no|max unsigned|Version of the protocol in which value was deprecated. +
Must be greater than value of **sinceVersion**.
|**val**|<<intro-numeric, numeric>>|1|yes||Numeric value.
|===

38 changes: 19 additions & 19 deletions appendix/fields.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -8,31 +8,31 @@ Refer to <<fields-common, Common Properties of Fields>> chapter for detailed des
|===
|Property Name|Allowed Type / Value|DSL Version|Required|Default Value ^.^|Description

|**name**|<<intro-names, name>> string|1|yes||Name of the field.
|**copyCodeFrom**|<<intro-references, reference>> string|5|no||Specify field, overriding or other extra code of which needs to be copied.
|**customizable**|<<intro-boolean, bool>>|1|no|false|Mark the field to allow compile time customization regardless of code generator's level of customization.
|**deprecated**|<<intro-numeric, unsigned>>|1|no|max unsigned|Version of the protocol in which field was deprecated. +
Must be greater than value of **sinceVersion**. +
Applipable only to members of the <<messages-messages, &lt;message&gt; >> or <<fields-bundle, &lt;bundle&gt; >>.
|**description**|string|1|no||Human readable description of the field.
|**reuse**|<<intro-references, reference>> string|1|no||Field, definition of which to copy.
|**displayHidden**|<<intro-boolean, bool>>|1|no|false|Don't display field at all in visual analysis tool(s).
|**displayName**|string|1|no||Name of the field to display. If empty, the code generator must use value of property **name** instead. In order to force empty name to display, use "_" (underscore).
|**displayReadOnly**|<<intro-boolean, bool>>|1|no|false|Disable modification of the field in visual analysis tool(s).
|**displayHidden**|<<intro-boolean, bool>>|1|no|false|Don't display field at all in visual analysis tool(s).
|**sinceVersion**|<<intro-numeric, unsigned>>|1|no|0|Version of the protocol in which field was introduced. +
Applicable only to members of the <<messages-messages, &lt;message&gt; >> or <<fields-bundle, &lt;bundle&gt; >>.
|**deprecated**|<<intro-numeric, unsigned>>|1|no|max unsigned|Version of the protocol in which field was deprecated. +
Must be greater than value of **sinceVersion**. +
Applipable only to members of the <<messages-messages, &lt;message&gt; >> or <<fields-bundle, &lt;bundle&gt; >>.
|**removed**|<<intro-boolean, bool>>|1|no|false|Indicates whether deprecated field has been removed from being serialized. +
Applicable only to members of the <<messages-messages, &lt;message&gt; >> or <<fields-bundle, &lt;bundle&gt; >>.
|**failOnInvalid**|<<intro-boolean, bool>>|1|no|false|Fail *read* operation if read value is invalid.
|**pseudo**|<<intro-boolean, bool>>|1|no|false|In case of **true**, don't serialize/deserialize this field.
|**customizable**|<<intro-boolean, bool>>|1|no|false|Mark the field to allow compile time customization regardless of code generator's level of customization.
|**semanticType**|"none", "messageId", "version", "length"|1|no|none|Specify semantic type of the field. It allows code generator to generate special code for special cases. Value "length" was introduced in **v2** of this specification.
|**forceGen**|<<intro-boolean, bool>>|3|no|false|Force generation of field's code regardless of it's being referenced or not.
|**valueOverride**|"any", "replace", "extend", "none"|4|no|any|Control the overriding code for **value** operation.
|**readOverride**|"any", "replace", "extend", "none"|4|no|any|Control the overriding code for **read** operation.
|**writeOverride**|"any", "replace", "extend", "none"|4|no|any|Control the overriding code for **write** operation.
|**refreshOverride**|"any", "replace", "extend", "none"|4|no|any|Control the overriding code for **refresh** operation.
|**lengthOverride**|"any", "replace", "extend", "none"|4|no|any|Control the overriding code for **length** retrieval.
|**validOverride**|"any", "replace", "extend", "none"|4|no|any|Control the overriding code for **valid** retrieval.
|**name**|<<intro-names, name>> string|1|yes||Name of the field.
|**nameOverride**|"any", "replace", "extend", "none"|4|no|any|Control the overriding code for **name** retrieval.
|**copyCodeFrom**|<<intro-references, reference>> string|5|no||Specify field, overriding or other extra code of which needs to be copied.
|**pseudo**|<<intro-boolean, bool>>|1|no|false|In case of **true**, don't serialize/deserialize this field.
|**readOverride**|"any", "replace", "extend", "none"|4|no|any|Control the overriding code for **read** operation.
|**refreshOverride**|"any", "replace", "extend", "none"|4|no|any|Control the overriding code for **refresh** operation.
|**removed**|<<intro-boolean, bool>>|1|no|false|Indicates whether deprecated field has been removed from being serialized. +
Applicable only to members of the <<messages-messages, &lt;message&gt; >> or <<fields-bundle, &lt;bundle&gt; >>.
|**reuse**|<<intro-references, reference>> string|1|no||Field, definition of which to copy.
|**reuseCode**|<<intro-boolean, bool>>|5|no|false|In case of **reuse** apply **copyCodeFrom** with the same <<intro-references, reference>> string.
|**semanticType**|"none", "messageId", "version", "length"|1|no|none|Specify semantic type of the field. It allows code generator to generate special code for special cases. Value "length" was introduced in **v2** of this specification.
|**sinceVersion**|<<intro-numeric, unsigned>>|1|no|0|Version of the protocol in which field was introduced. +
Applicable only to members of the <<messages-messages, &lt;message&gt; >> or <<fields-bundle, &lt;bundle&gt; >>.
|**validOverride**|"any", "replace", "extend", "none"|4|no|any|Control the overriding code for **valid** retrieval.
|**valueOverride**|"any", "replace", "extend", "none"|4|no|any|Control the overriding code for **value** operation.
|**writeOverride**|"any", "replace", "extend", "none"|4|no|any|Control the overriding code for **write** operation.
|===
27 changes: 13 additions & 14 deletions appendix/float.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -9,32 +9,31 @@ for detailed description.
|===
|Property Name|Allowed Type / Value|DSL Version|Required|Default Value ^.^|Description

|**type**|"float", "double"|1|yes||Underlying primitive type
|**defaultValue**|floating point value, **nan**, **inf**, **-inf**|1|no|0.0|Default value. Must fit the underlying **type**.
|**displayDecimals**|<<intro-numeric, numeric>>|1|no|0|Indicates to GUI analysis how many digits need to be displayed after the fraction point.
|**displaySpecials**|<<intro-boolean, bool>>|2|no|true|Control displaying **&lt;special&gt;** values in analysis tools.
|**endian**|"big" or "little"|1|no|endian of <<schema-schema, schema>>|Endian of the field.
|**nonUniqueSpecialsAllowed**|<<intro-boolean, bool>>|2|no|false|Allow non unique **&lt;special&gt;**-s.
|**type**|"float", "double"|1|yes||Underlying primitive type
|**units**|<<appendix-units, units>>|1|no||Units of the value.
|**validCheckVersion**|<<intro-boolean, bool>>|1|no|false|Take into account protocol version when generating code for field's value validity check.
|**validFullRange**|<<intro-boolean, bool>>|1|no|false|Mark all the range of existing FP values to be valid, excluding **nan**, **inf**, and **-inf**.
|**validMax**|floating point value|1|no||Valid maximal value. All the numbers below it are considered to be valid.
|**validMin**|floating point value|1|no||Valid minimal value. All the numbers above it are considered to be valid.
|**validRange**|"[ fp_value, fp_value ]"|1|no||Range of valid values.
|**validValue**|floating point value, **nan**, **inf**, **-inf**|1|no||Valid value.
|**validMin**|floating point value|1|no||Valid minimal value. All the numbers above it are considered to be valid.
|**validMax**|floating point value|1|no||Valid maximal value. All the numbers below it are considered to be valid.
|**validFullRange**|<<intro-boolean, bool>>|1|no|false|Mark all the range of existing FP values to be valid, excluding **nan**, **inf**, and **-inf**.
|**validCheckVersion**|<<intro-boolean, bool>>|1|no|false|Take into account protocol version when generating code for field's value validity check.
|**displayDecimals**|<<intro-numeric, numeric>>|1|no|0|Indicates to GUI analysis how many digits need to be displayed after the fraction point.
|**nonUniqueSpecialsAllowed**|<<intro-boolean, bool>>|2|no|false|Allow non unique **&lt;special&gt;**-s.
|**displaySpecials**|<<intro-boolean, bool>>|2|no|true|Control displaying **&lt;special&gt;** values in analysis tools.
|===


==== Properties of &lt;special&gt; Child Element of &lt;float&gt; Field ====
[cols="^.^28,^.^10,^.^8,^.^8,^.^10,36", options="header"]
|===
|Property Name|Allowed Type / Value|DSL Version|Required|Default Value ^.^|Description

|**name**|<<intro-names, name>> string|1|yes||Name of the value.
|**val**|floating point value, **nan**, **inf**, **-inf**|1|yes||Numeric value.
|**description**|string|1|no||Human readable description of the value.
|**sinceVersion**|<<intro-numeric, unsigned>>|1|no|0|Version of the protocol in which value was introduced.
|**deprecated**|<<intro-numeric, unsigned>>|1|no|max unsigned|Version of the protocol in which value was deprecated. +
|**deprecated**|<<intro-numeric, unsigned>>|1|no|max unsigned|Version of the protocol in which value was deprecated. +
Must be greater than value of **sinceVersion**.
|**description**|string|1|no||Human readable description of the value.
|**displayName**|string|2|no||Name to display in various analysis tools.
|**name**|<<intro-names, name>> string|1|yes||Name of the value.
|**sinceVersion**|<<intro-numeric, unsigned>>|1|no|0|Version of the protocol in which value was introduced.
|**val**|floating point value, **nan**, **inf**, **-inf**|1|yes||Numeric value.
|===
2 changes: 1 addition & 1 deletion appendix/frame.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -8,8 +8,8 @@ for detailed description.
|===
|Property Name|Allowed Type / Value|DSL Version|Required|Default Value ^.^|Description

|**name**|<<intro-names, name>> string|1|yes||Name of the frame.
|**description**|string|1|no||Human readable description of the frame.
|**name**|<<intro-names, name>> string|1|yes||Name of the frame.
|===

Extra child XML elements allowed:
Expand Down
Loading

0 comments on commit 2b1a5e8

Please sign in to comment.