Skip to content

Commit

Permalink
Merge branch 'main' into v100-rc1-release
Browse files Browse the repository at this point in the history
  • Loading branch information
Benedikt Menne authored and Benedikt Menne committed Dec 20, 2024
2 parents 9a2a3dd + 23445e0 commit f4984ec
Show file tree
Hide file tree
Showing 14 changed files with 239 additions and 202 deletions.
27 changes: 25 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -65,7 +65,7 @@ The following resources are currently available:

[Demo FMUs] are available within the [FMI-LS-BUS Implementers' Guide] to illustrate how to use and implement the FMI-LS-BUS.
More demos will be added iteratively in the near future.
See also the overview pages for the demos, categorized by the different supported bus types of the FMI-LS-BUS.
See also the overview pages for the demos, categorized by the different supported bus types of the FMI-LS-BUS.

- [CAN, CAN FD and CAN XL Demo Overview]

Expand All @@ -88,7 +88,30 @@ Additionally, any FMU importer that supports the necessary FMI 3.0 features, suc
[Model.CONNECT&trade;](https://www.avl.com/de-at/simulation-solutions/software-offering/simulation-tools-a-z/modelconnect)|Importer|![Direct Communication](landingpage/DC.svg) ![Bus Simulation FMU](landingpage/BSF.svg) <br> ![High-Cut](landingpage/HC.svg) ![Low-Cut: CAN](landingpage/LC_CAN.svg) ![Low-Cut: FlexRay](landingpage/LC_FR.svg)|-
[Synopsys Silver](https://www.synopsys.com/verification/virtual-prototyping/silver.html)|Importer|![Integrated Bus Simulation](landingpage/IBS.svg) <br> ![Low-Cut: CAN](landingpage/LC_CAN.svg)|-

![Legend of supported system compositions of tools](landingpage/tool_legend.svg)
<table>
<tr>
<th colspan="2">Supported system compositions</td>
<th colspan="2">Supported bus types</td>
</tr>
<tr>
<td><img src="landingpage/DC.svg"/></td>
<td>Direct communication</td>
<td><img src="landingpage/HC.svg"/></td>
<td>High-cut</td>
</tr>
<tr>
<td><img src="landingpage/BSF.svg"/></td>
<td>Composition with dedicated bus simulation FMU</td>
<td><img src="landingpage/LC_CAN.svg"/></td>
<td>Low-cut CAN</td>
</tr>
<tr>
<td><img src="landingpage/IBS.svg"/></td>
<td>Importer with integrated bus simulation</td>
<td><img src="landingpage/LC_FR.svg"/></td>
<td>Low-cut FlexRay</td>
</tr>
</table>

## Copyright and License

Expand Down
24 changes: 10 additions & 14 deletions docs/3____physical_signal_abstraction.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -69,17 +69,16 @@ This section defines terminals for physical signal abstraction or "high cut".

==== Bus Terminal [[high-cut-bus-terminal,Bus Terminal]]
Each network connected to the FMU must be described in `icons/terminalsAndIcons.xml` as a `<Terminal>` element of `<fmiTerminalsAndIcons><Terminals>` that wraps all <<high-cut-frame-terminal,frame terminals>>.
The attribute `name` of the `<Terminal>` must match the root name of its <<high-cut-network-description-files>> if it exists
The attribute `name` of the `<Terminal>` element must match the root name of its <<high-cut-network-description-files>> if it exists
_[e.g., `Powertrain`, if the file is `/extra/org.fmi-standard.fmi-ls-bus/Powertrain.dbc`]_.
In any case, the attribute `name` of the `<Terminal>` must be consistent with the `BusName` component of all its corresponding signal, frame and Clock variables.
In any case, the attribute `name` of the `<Terminal>` element must be consistent with the `BusName` component of all its corresponding signal, frame and Clock variables.

Attribute definitions::
* `terminalKind` must be set to `org.fmi-ls-bus.network-terminal`.
* `matchingRule` must be set to `bus`.
* `terminalKind` must be `org.fmi-ls-bus.network-terminal`.
* `matchingRule` must be `bus`.
* `name` is the network name, e.g., `Powertrain`, see <<high-cut-example, example>> and constraints above.

Element definitions::
* There must be no `<TerminalStreamMemberVariable>` element.
* There must be one `<Terminal>` element per network frame described in the <<high-cut-network-description-files>>, if their signal and Clock variables are present in the `modelDescription.xml`.

Annotation element::
Expand All @@ -92,30 +91,27 @@ If no <<high-cut-network-description-files,network description file>> is shipped
Each frame listed in the <<high-cut-network-description-files>> must be an element of its corresponding <<high-cut-bus-terminal>>.

Attribute definitions::
* `terminalKind` must be set to `org.fmi-ls-bus.frame-terminal`.
* `matchingRule` must be set to `bus`.
* `terminalKind` must be `org.fmi-ls-bus.frame-terminal`.
* `matchingRule` must be `bus`.
* `name` must match the frame name as defined in the <<high-cut-network-description-files>> in `/extra/org.fmi-standard.fmi-ls-bus`.

Element definitions::
* There must be no `<TerminalStreamMemberVariable>` element.
* There must be one <<high-cut-pdu-terminal>> element per PDU of this frame.
* There must be one `<TerminalMemberVariable>` for the Clock this frame is connected to.
The `memberName` of this variable must be "Clock".
The `memberName` of this variable must be `TransmissionClock`.

The <<high-cut-terminal-member-variable-for-signals>> must have the same `causality` as all variables referenced in the <<high-cut-pdu-terminal,PDU Terminals>> included here.

==== PDU Terminal [[high-cut-pdu-terminal,PDU terminal]]
Each PDU listed in the <<high-cut-network-description-files>> must be an element of its corresponding <<high-cut-frame-terminal>>.

Attribute definitions::
* `terminalKind` must be set to `org.fmi-ls-bus.pdu-terminal`.
* `matchingRule` must be set to `bus`.
* `terminalKind` must be `org.fmi-ls-bus.pdu-terminal`.
* `matchingRule` must be `bus`.
* `name` must match a PDU name of the <<high-cut-network-description-files>> in `/extra/org.fmi-standard.fmi-ls-bus`, if given.
For network types not natively referencing a "PDU", like CAN, a synthetic PDU with the same name as its frame is inserted.

Element definitions::
* There must be no `<TerminalStreamMemberVariable>` element.
* There must be no `<Terminal>` element.
* There must be one `<TerminalMemberVariable>` per <<high-cut-terminal-member-variable-for-signals,signal>> of this PDU.

All <<high-cut-terminal-member-variable-for-signals,`TerminalMemberVariables`>> must have the same `causality` of either `input` or `output`.
Expand Down Expand Up @@ -169,7 +165,7 @@ The `modelDescription.xml` excerpt listed below shows which variables would exis
include::examples/X_network4FMI_modelDescription_highCut.xml[]
----

The following file shows the `<Terminal>` definition representing the network and frame structure defined with `Powertrain.dbc` above.
The following file shows the <<high-cut-bus-terminal,Bus Terminal>> definition representing the network and frame structure defined with `Powertrain.dbc` above.

.Example terminalsAndIcons.xml file.
[#terminalsAndIconHighCut.xml]
Expand Down
Loading

0 comments on commit f4984ec

Please sign in to comment.