Skip to content

Commit

Permalink
Broader refactoring of manifest-based naming and multi A2L (#81)
Browse files Browse the repository at this point in the history
* Initial sketch of manifest-based naming and multi A2L (fixes #63).
* Add documentation for manifest-based variable naming
* Regularize naming of attributes (fixes #68, #78, #79).
* Incorporate formatting changes from #69 by @t-sommer.
* Broader refactoring of manifest mechanism and naming (fixes #80).
* Add ability to restrict Interface to certain CS/ME/SE (fixes #83).
* Validate examples in CI
* Use curly braces for protocol alternatives
* Extend description of "types" attribute
* Fix role attribute for XCP.vECU1.UDP.* variables
* Fix list
* Some small formal changes
* Adjust wording and add IPv6 addresses

Signed-off-by: Pierre R. Mai <[email protected]>
Co-authored-by: Torsten Sommer <[email protected]>
Co-authored-by: Patrick Taeuber <[email protected]>
  • Loading branch information
3 people committed Aug 13, 2024
1 parent e55e930 commit 86b55db
Show file tree
Hide file tree
Showing 5 changed files with 369 additions and 117 deletions.
17 changes: 15 additions & 2 deletions .github/workflows/build-ls-xcp.yml
Original file line number Diff line number Diff line change
Expand Up @@ -9,11 +9,24 @@ on:
branches: [ main ]

jobs:
lint-examples:
name: Validate examples
runs-on: ubuntu-20.04
steps:
- name: Checkout repository
uses: actions/checkout@v4
- name: Setup Python
uses: actions/setup-python@v5
with:
python-version: '3.x'
- name: Install dependencies
run: python -m pip install lxml
- name: Validate examples
run: python lint.py

build-ls-xcp:
name: Build Layered Standard XCP

runs-on: ubuntu-20.04

steps:
- name: checkout
uses: actions/checkout@v3
Expand Down
33 changes: 27 additions & 6 deletions docs/examples/fmi_ls_xcp_manifest_example.xml
Original file line number Diff line number Diff line change
Expand Up @@ -2,9 +2,30 @@
<fmiLayeredStandardManifest
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:noNamespaceSchemaLocation="../../schema/fmi3LayeredStandardXcpManifest.xsd"
xmlns:fmi-ls="http://fmi-standard.org/fmi-ls-manifest"
fmi-ls:fmi-ls-name="org.fmi-standard.fmi-ls-xcp"
fmi-ls:fmi-ls-version="1.0.0-rc.4"
fmi-ls:fmi-ls-description="Layered standard based on FMI 2.0 and FMI 3.0 for describing and implementing XCP support for FMUs, which can either provide an XCP service or allow direct memory access via A2L files."
containsXcpService="true"
supportsDirectMemoryAccessViaA2L="true"/>
xmlns:fmi-ls="http://fmi-standard.org/fmi-ls-manifest"
fmi-ls:fmi-ls-name="org.fmi-standard.fmi-ls-xcp"
fmi-ls:fmi-ls-version="1.0.0-rc.4"
fmi-ls:fmi-ls-description="Layered standard based on FMI 2.0 and FMI 3.0 for describing and implementing XCP support for FMUs, which can either provide an XCP service or allow direct memory access via A2L files.">
<Interface definition="vECU1.a2l" description="First embedded XCP service for internal vECU 1, supports both TCP/UDP with full control"
containsXCPService="true">
<Variable name="XCP.vECU1.TCP.Enable" role="XCPServiceTCPEnable"/>
<Variable name="XCP.vECU1.TCP.Port" role="XCPServiceTCPPort"/>
<Variable name="XCP.vECU1.TCP.ListenAddress" role="XCPServiceTCPListenAddress"/>
<Variable name="XCP.vECU1.UDP.Enable" role="XCPServiceUDPEnable"/>
<Variable name="XCP.vECU1.UDP.Port" role="XCPServiceUDPPort"/>
<Variable name="XCP.vECU1.UDP.ListenAddress" role="XCPServiceUDPListenAddress"/>
</Interface>
<Interface definition="vECU2.a2l" description="Second embedded XCP service for internal vECU 2, TCP only, limited control"
containsXCPService="true">
<Variable name="XCP.vECU2.TCP.Enable" role="XCPServiceTCPEnable"/>
</Interface>
<Interface definition="vECU3Mem.a2l" description="Internal vECU 3 only via direct memory access"
supportsDirectMemoryAccess="true"/>
<Interface definition="vECU4Both.a2l" description="Internal vECU 4 with dual XCP and direct memory access, no control over XCP"
containsXCPService="true"
supportsDirectMemoryAccess="true"/>
<Interface definition="vME.a2l" types="ModelExchange" description="Applicable definition solely for ModelExchange"
supportsDirectMemoryAccess="true"/>
<Interface definition="vCSSE.a2l" types="CoSimulation ScheduledExecution" description="Applicable definition for CS and SE"
supportsDirectMemoryAccess="true"/>
</fmiLayeredStandardManifest>
Loading

0 comments on commit 86b55db

Please sign in to comment.