-
Notifications
You must be signed in to change notification settings - Fork 2
Commit
- Loading branch information
There are no files selected for viewing
Large diffs are not rendered by default.
Large diffs are not rendered by default.
Large diffs are not rendered by default.
Large diffs are not rendered by default.
Large diffs are not rendered by default.
Large diffs are not rendered by default.
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,4 +1,3 @@ | ||
<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>DSE FMI API Reference on Dynamic Simulation Environment</title><link>https://boschglobal.github.io/dse.doc/apis/fmi/</link><description>Recent content in DSE FMI API Reference on Dynamic Simulation Environment</description><generator>Hugo -- gohugo.io</generator><atom:link href="https://boschglobal.github.io/dse.doc/apis/fmi/index.xml" rel="self" type="application/rss+xml"/><item><title>FMI Model Compatibility Library API Reference</title><link>https://boschglobal.github.io/dse.doc/apis/fmi/fmimcl/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://boschglobal.github.io/dse.doc/apis/fmi/fmimcl/</guid><description>FMI Model Compatibility Library The FMI Model Compatibility Library provides an interfaces for loading and operating FMUs. | ||
Sequence Diagram @startuml fmimcl-sequence title FMI MCL - Sequence actor User participant ModelC participant MCL participant MARSHAL participant FMIMCL participant ENGINE participant ADAPTER participant COMPONENT User -&gt; ModelC : model_create() activate ModelC ModelC -&gt; MCL : MCL_create() activate MCL MCL -&gt; FMIMCL : fmimcl_parse() activate FMIMCL FMIMCL -&gt; FMIMCL : parse yaml FMIMCL -&gt; MCL deactivate FMIMCL MCL -&gt; FMIMCL : fmimcl_adapter_create() activate FMIMCL FMIMCL -&gt; ADAPTER : adapter_create() activate ADAPTER ADAPTER -&gt; ADAPTER : set adapter functions ADAPTER -&gt; FMIMCL deactivate ADAPTER FMIMCL -&gt; MCL deactivate FMIMCL MCL-&gt; ENGINE: fmimcl_allocate_scalar_source() activate ENGINE ENGINE-&gt; MCL deactivate ENGINE MCL-&gt; ENGINE: fmimcl_generate_marshal_table() activate ENGINE ENGINE-&gt; MCL deactivate ENGINE MCL -&gt; ModelC deactivate MCL ModelC -&gt; MCL : MCL_load() activate MCL group Generate MarshalSignalMap list ||| MCL -&gt; MCL++ loop for each SignalVector MCL -&gt; MARSHAL : marshal_generate_signalmap() activate MARSHAL MARSHAL -&gt; MCL deactivate MARSHAL end return NTL ||| end MCL -&gt; ADAPTER : adapter_load() activate ADAPTER ADAPTER -&gt; COMPONENT : load_functions() activate COMPONENT COMPONENT -&gt; ADAPTER deactivate COMPONENT ADAPTER -&gt; MCL deactivate ADAPTER MCL -&gt; ModelC deactivate MCL ModelC -&gt; MCL : mcl_init() activate MCL MCL -&gt; ADAPTER : adapter_init() activate ADAPTER ADAPTER -&gt; COMPONENT : do_init() activate COMPONENT COMPONENT -&gt; ADAPTER deactivate COMPONENT ADAPTER -&gt; MCL deactivate ADAPTER MCL -&gt; ModelC deactivate MCL ModelC -&gt; User deactivate ModelC User -&gt; ModelC : model_step() activate ModelC ModelC -&gt; MCL : mcl_marshal_out() activate MCL MCL -&gt; MARSHAL : marshal_signalmap_out() activate MARSHAL MARSHAL -&gt; MCL deactivate MARSHAL MCL -&gt; ADAPTER : adapter_marshal_out() activate ADAPTER ADAPTER -&gt; MARSHAL : marshal_group_out() activate MARSHAL MARSHAL -&gt; ADAPTER deactivate MARSHAL ADAPTER -&gt; COMPONENT : set_variables() activate COMPONENT COMPONENT -&gt; ADAPTER deactivate COMPONENT ADAPTER -&gt; MCL deactivate ADAPTER MCL -&gt; ModelC deactivate MCL ModelC -&gt; MCL : mcl_step() activate MCL MCL -&gt; ADAPTER : adapter_step() activate ADAPTER ADAPTER -&gt; COMPONENT : do_step() activate COMPONENT COMPONENT -&gt; ADAPTER deactivate COMPONENT ADAPTER -&gt; MCL deactivate ADAPTER MCL -&gt; ModelC deactivate MCL ModelC -&gt; MCL : mcl_marshal_in() activate MCL MCL -&gt; ADAPTER : adapter_marshal_in() activate ADAPTER ADAPTER -&gt; COMPONENT : get_variables() activate COMPONENT COMPONENT -&gt; ADAPTER deactivate COMPONENT ADAPTER -&gt; MARSHAL : marshal_group_in() activate MARSHAL MARSHAL -&gt; ADAPTER deactivate MARSHAL ADAPTER -&gt; MCL deactivate ADAPTER MCL -&gt; MARSHAL : marshal_signalmap_in() activate MARSHAL MARSHAL -&gt; MCL deactivate MARSHAL MCL -&gt; ModelC deactivate MCL ModelC -&gt; User deactivate ModelC User -&gt; ModelC : model_destroy() activate ModelC ModelC -&gt; MCL : mcl_unload() activate MCL MCL -&gt; ADAPTER : adapter_unload() activate ADAPTER ADAPTER -&gt; MCL deactivate ADAPTER MCL -&gt; ModelC deactivate MCL ModelC -&gt; MCL : MCL_destroy() activate MCL MCL -&gt; FMIMCL: fmimcl_destroy() activate FMIMCL FMIMCL-&gt; MCL deactivate FMIMCL MCL -&gt; ModelC deactivate MCL ModelC -&gt; User deactivate ModelC center footer Dynamic Simulation Environment @enduml fmimcl_adapter_create This method creates an adapter object based on the configuration in the FMU Model object.</description></item><item><title>FMI ModelC FMU API Reference</title><link>https://boschglobal.github.io/dse.doc/apis/fmi/fmimodelc/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://boschglobal.github.io/dse.doc/apis/fmi/fmimodelc/</guid><description>fmi2ExitInitializationMode Initialise the Model Runtime (of the ModelC library) and in the process establish the simulation that this ModelC FMU is wrapping/operating. | ||
This function will generate indexes to map between FMI Variables and ModelC Signals; both scaler signals (double) and binary signals (string/binary). | ||
Parameters c (fmi2Component*) An Fmu2InstanceData object representing an instance of this FMU. Returns fmi2OK (fmi2Status) The simulation that this FMU represents is ready to be operated. fmi2GetReal Get values for the provided list of value references.</description></item></channel></rss> | ||
<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>DSE FMI API Reference on Dynamic Simulation Environment</title><link>https://boschglobal.github.io/dse.doc/apis/fmi/</link><description>Recent content in DSE FMI API Reference on Dynamic Simulation Environment</description><generator>Hugo -- gohugo.io</generator><atom:link href="https://boschglobal.github.io/dse.doc/apis/fmi/index.xml" rel="self" type="application/rss+xml"/><item><title>FMI MCL API Reference</title><link>https://boschglobal.github.io/dse.doc/apis/fmi/fmimcl/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://boschglobal.github.io/dse.doc/apis/fmi/fmimcl/</guid><description>FMI Model Compatibility Library The FMI Model Compatibility Library provides an interfaces for loading and operating FMUs. | ||
Sequence Diagram @startuml fmimcl-sequence title FMI MCL - Sequence actor User participant ModelC participant MCL participant MARSHAL participant FMIMCL participant ENGINE participant ADAPTER participant COMPONENT User -&gt; ModelC : model_create() activate ModelC ModelC -&gt; MCL : MCL_create() activate MCL MCL -&gt; FMIMCL : fmimcl_parse() activate FMIMCL FMIMCL -&gt; FMIMCL : parse yaml FMIMCL -&gt; MCL deactivate FMIMCL MCL -&gt; FMIMCL : fmimcl_adapter_create() activate FMIMCL FMIMCL -&gt; ADAPTER : adapter_create() activate ADAPTER ADAPTER -&gt; ADAPTER : set adapter functions ADAPTER -&gt; FMIMCL deactivate ADAPTER FMIMCL -&gt; MCL deactivate FMIMCL MCL-&gt; ENGINE: fmimcl_allocate_scalar_source() activate ENGINE ENGINE-&gt; MCL deactivate ENGINE MCL-&gt; ENGINE: fmimcl_generate_marshal_table() activate ENGINE ENGINE-&gt; MCL deactivate ENGINE MCL -&gt; ModelC deactivate MCL ModelC -&gt; MCL : MCL_load() activate MCL group Generate MarshalSignalMap list ||| MCL -&gt; MCL++ loop for each SignalVector MCL -&gt; MARSHAL : marshal_generate_signalmap() activate MARSHAL MARSHAL -&gt; MCL deactivate MARSHAL end return NTL ||| end MCL -&gt; ADAPTER : adapter_load() activate ADAPTER ADAPTER -&gt; COMPONENT : load_functions() activate COMPONENT COMPONENT -&gt; ADAPTER deactivate COMPONENT ADAPTER -&gt; MCL deactivate ADAPTER MCL -&gt; ModelC deactivate MCL ModelC -&gt; MCL : mcl_init() activate MCL MCL -&gt; ADAPTER : adapter_init() activate ADAPTER ADAPTER -&gt; COMPONENT : do_init() activate COMPONENT COMPONENT -&gt; ADAPTER deactivate COMPONENT ADAPTER -&gt; MCL deactivate ADAPTER MCL -&gt; ModelC deactivate MCL ModelC -&gt; User deactivate ModelC User -&gt; ModelC : model_step() activate ModelC ModelC -&gt; MCL : mcl_marshal_out() activate MCL MCL -&gt; MARSHAL : marshal_signalmap_out() activate MARSHAL MARSHAL -&gt; MCL deactivate MARSHAL MCL -&gt; ADAPTER : adapter_marshal_out() activate ADAPTER ADAPTER -&gt; MARSHAL : marshal_group_out() activate MARSHAL MARSHAL -&gt; ADAPTER deactivate MARSHAL ADAPTER -&gt; COMPONENT : set_variables() activate COMPONENT COMPONENT -&gt; ADAPTER deactivate COMPONENT ADAPTER -&gt; MCL deactivate ADAPTER MCL -&gt; ModelC deactivate MCL ModelC -&gt; MCL : mcl_step() activate MCL MCL -&gt; ADAPTER : adapter_step() activate ADAPTER ADAPTER -&gt; COMPONENT : do_step() activate COMPONENT COMPONENT -&gt; ADAPTER deactivate COMPONENT ADAPTER -&gt; MCL deactivate ADAPTER MCL -&gt; ModelC deactivate MCL ModelC -&gt; MCL : mcl_marshal_in() activate MCL MCL -&gt; ADAPTER : adapter_marshal_in() activate ADAPTER ADAPTER -&gt; COMPONENT : get_variables() activate COMPONENT COMPONENT -&gt; ADAPTER deactivate COMPONENT ADAPTER -&gt; MARSHAL : marshal_group_in() activate MARSHAL MARSHAL -&gt; ADAPTER deactivate MARSHAL ADAPTER -&gt; MCL deactivate ADAPTER MCL -&gt; MARSHAL : marshal_signalmap_in() activate MARSHAL MARSHAL -&gt; MCL deactivate MARSHAL MCL -&gt; ModelC deactivate MCL ModelC -&gt; User deactivate ModelC User -&gt; ModelC : model_destroy() activate ModelC ModelC -&gt; MCL : mcl_unload() activate MCL MCL -&gt; ADAPTER : adapter_unload() activate ADAPTER ADAPTER -&gt; MCL deactivate ADAPTER MCL -&gt; ModelC deactivate MCL ModelC -&gt; MCL : MCL_destroy() activate MCL MCL -&gt; FMIMCL: fmimcl_destroy() activate FMIMCL FMIMCL-&gt; MCL deactivate FMIMCL MCL -&gt; ModelC deactivate MCL ModelC -&gt; User deactivate ModelC center footer Dynamic Simulation Environment @enduml fmimcl_adapter_create This method creates an adapter object based on the configuration in the FMU Model object.</description></item><item><title>FMI ModelC FMU API Reference</title><link>https://boschglobal.github.io/dse.doc/apis/fmi/fmimodelc/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://boschglobal.github.io/dse.doc/apis/fmi/fmimodelc/</guid><description>fmi2GetReal Get values for the provided list of value references. | ||
Parameters c (fmi2Component*) An Fmu2InstanceData object representing an instance of this FMU. vr (fmi2ValueReference[]) List of value references to retrieve. nvr (int) The number of value references to retrieve. value (fmi2Real[]) Storage for the retrieved values. Returns fmi2OK (fmi2Status) The requested variables are retrieved (where available). fmi2DoStep Set values for the provided list of value references and values. String/Binary variables are always appended to the ModelC Binary Signal.</description></item></channel></rss> |
Large diffs are not rendered by default.
Large diffs are not rendered by default.
Large diffs are not rendered by default.
Large diffs are not rendered by default.
Large diffs are not rendered by default.
Large diffs are not rendered by default.
Large diffs are not rendered by default.
Large diffs are not rendered by default.
Large diffs are not rendered by default.
Large diffs are not rendered by default.
Large diffs are not rendered by default.
Large diffs are not rendered by default.
Large diffs are not rendered by default.
Large diffs are not rendered by default.
Large diffs are not rendered by default.
Large diffs are not rendered by default.
Large diffs are not rendered by default.
Large diffs are not rendered by default.
Large diffs are not rendered by default.
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,4 @@ | ||
<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Debug Methods on Dynamic Simulation Environment</title><link>https://boschglobal.github.io/dse.doc/docs/devel/debug/</link><description>Recent content in Debug Methods on Dynamic Simulation Environment</description><generator>Hugo -- gohugo.io</generator><atom:link href="https://boschglobal.github.io/dse.doc/docs/devel/debug/index.xml" rel="self" type="application/rss+xml"/><item><title>Model C Debug Techniques</title><link>https://boschglobal.github.io/dse.doc/docs/devel/debug/modelc/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://boschglobal.github.io/dse.doc/docs/devel/debug/modelc/</guid><description>GDB GDB Enabled Makefiles Repos can be enabled for interactive GDB debugging with the following technique: | ||
In the main Makefile, add the GDB_CMD environment variable (i.e. --env GDB_CMD=&quot;$(GDB_CMD)&quot;) to every DOCKER_CMD that requires interactive GDB debugging support. | ||
For each Makefile run target where interactive GDB debugging is required, prefix the run command with the GDB_CMD variable, for example: cd build/_out; $(GDB_CMD) bin/test_tdd. | ||
Set the GDB_CMD environment variable with your GDB command (e.</description></item></channel></rss> |
Large diffs are not rendered by default.
Large diffs are not rendered by default.
Large diffs are not rendered by default.
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,11 +1,5 @@ | ||
<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Developer Documentation on Dynamic Simulation Environment</title><link>https://boschglobal.github.io/dse.doc/docs/devel/</link><description>Recent content in Developer Documentation on Dynamic Simulation Environment</description><generator>Hugo -- gohugo.io</generator><atom:link href="https://boschglobal.github.io/dse.doc/docs/devel/index.xml" rel="self" type="application/rss+xml"/><item><title>Contributions Guide</title><link>https://boschglobal.github.io/dse.doc/docs/devel/contribution/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://boschglobal.github.io/dse.doc/docs/devel/contribution/</guid><description>Synopsis Developers wishing to contribute, as well as those having no choice in the matter, will find this documentation page full of useful information to guide you towards finalising your contribution. | ||
Git Commands Setup and Configure Git # Set user name and email (for signoff). git config --global --add user.name &#34;User Name (dept)&#34; git config --global --add user.email &#34;[email protected]&#34; Working with Commits Sign Off # Add a signoff to a commit.</description></item><item><title>Documentation Systems</title><link>https://boschglobal.github.io/dse.doc/docs/devel/documentation/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://boschglobal.github.io/dse.doc/docs/devel/documentation/</guid><description>The documentation system is built by pulling content from individual Git Repos into a Hugo/Docsy project. The Hugo build system then consolidates that content into a single documentation system which is then published. | ||
Hint: Documentation in each Git Repo needs to follow the same layout and structure as the Documentation Repo for the content to be merged correctly. | ||
Layout Repo Documentation When writing documentation construct a layout as described in the following section.</description></item><item><title>Testing with CMocka</title><link>https://boschglobal.github.io/dse.doc/docs/devel/testing/cmocka/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://boschglobal.github.io/dse.doc/docs/devel/testing/cmocka/</guid><description>CMocka Testing for C Code The DSE Projects use CMocka for both Unit and Integration testing. This document introduces the typical CMocka Test Project and explains the testing features which are most often used when developing. | ||
Code Layout and Test Organisation L- tests/cmocka Directory containing CMocka tests. L- target An individual test target (single test executable). L- __tests__.c Entry point for the test target (runs test groups). L- test_foo.c Contains a test group (e.</description></item><item><title>Model C Debug Techniques</title><link>https://boschglobal.github.io/dse.doc/docs/devel/debug/modelc/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://boschglobal.github.io/dse.doc/docs/devel/debug/modelc/</guid><description>GDB GDB Enabled Makefiles Repos can be enabled for interactive GDB debugging with the following technique: | ||
In the main Makefile, add the GDB_CMD environment variable (i.e. --env GDB_CMD=&quot;$(GDB_CMD)&quot;) to every DOCKER_CMD that requires interactive GDB debugging support. | ||
For each Makefile run target where interactive GDB debugging is required, prefix the run command with the GDB_CMD variable, for example: cd build/_out; $(GDB_CMD) bin/test_tdd. | ||
Set the GDB_CMD environment variable with your GDB command (e.</description></item><item><title>Model C with Network Codec</title><link>https://boschglobal.github.io/dse.doc/docs/devel/ncodec/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://boschglobal.github.io/dse.doc/docs/devel/ncodec/</guid><description>Network Codec The Model C Library integrates the DSE Network Codec implementation of the Automotive Bus schemas. | ||
Configuration of Binary Signals IMPORTANT: It is recommended to specify a SignalGroup for each individual Model Instance in a Simulation. This is so that the MIMEtype of each Binary Signal can be completely configured (especially bus_id,node_id and interface_id). Models may implement supplemental configuration options (such as annotations on the Model Instance definition) which can further adjust or augment the MIMEtype parameters.</description></item><item><title>Testing Models with SimMock</title><link>https://boschglobal.github.io/dse.doc/docs/devel/testing/simmock/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://boschglobal.github.io/dse.doc/docs/devel/testing/simmock/</guid><description>SimMock and CMocka Testing for Model Developers The DSE ModelC Library includes a SimMock source code library which may be used to develop integration tests for Models. With the SimMock library, a Model Developer is able to easily develop CMocka Testcases which: | ||
Validate a model configuration and confirm the Models operation. Develop scenarios where expected signal exchange is verified. Inject network messages into the simulation or model (e.g. CAN frames) and read network messages.</description></item><item><title>Testing with Testscript</title><link>https://boschglobal.github.io/dse.doc/docs/devel/testing/testscript/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://boschglobal.github.io/dse.doc/docs/devel/testing/testscript/</guid><description>Testscript for E2E Testing DSE Projects can use Testscript to run End-to-end tests (E2E) which are written in the (simple) txtar format. The containerised runtime supports both the Simer simulation runner as well as Taskfile based workflows. | ||
Code Layout and Test Organisation L- tests/testscript Directory containing Testscript tests. L- e2e Collection of E2E tests. L- testcase.txtar Individual testcase (in txtar format). L- Makefile High-level build automation. Example Test Files tests/exec.txtar env NAME=minimal_inst env SIM=dse/modelc/build/_out/examples/minimal env SANDBOX=dse/modelc/build/_out # TEST: MStep executable exec sh -e $WORK/test.</description></item></channel></rss> | ||
Layout Repo Documentation When writing documentation construct a layout as described in the following section.</description></item><item><title>Model C with Network Codec</title><link>https://boschglobal.github.io/dse.doc/docs/devel/ncodec/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://boschglobal.github.io/dse.doc/docs/devel/ncodec/</guid><description>Network Codec The Model C Library integrates the DSE Network Codec implementation of the Automotive Bus schemas. | ||
Configuration of Binary Signals IMPORTANT: It is recommended to specify a SignalGroup for each individual Model Instance in a Simulation. This is so that the MIMEtype of each Binary Signal can be completely configured (especially bus_id,node_id and interface_id). Models may implement supplemental configuration options (such as annotations on the Model Instance definition) which can further adjust or augment the MIMEtype parameters.</description></item></channel></rss> |