EMAM2SomeIP issueshttps://git.rwth-aachen.de/monticore/EmbeddedMontiArc/generators/emam2someip/-/issues2019-09-30T14:48:43+02:00https://git.rwth-aachen.de/monticore/EmbeddedMontiArc/generators/emam2someip/-/issues/26Feedback2019-09-30T14:48:43+02:00Alexander David HellwigFeedback- [x] Link to someIp documentation
- [x] Document usage of example
- [x] Document usage of .tag files, small example, available fields and their meaning
- [x] Create small test with all supported data-types in EMAM2Middleware(with .tag f...- [x] Link to someIp documentation
- [x] Document usage of example
- [x] Document usage of .tag files, small example, available fields and their meaning
- [x] Create small test with all supported data-types in EMAM2Middleware(with .tag file)
- [x] In generator: Use new class (A) to encapsulate File and content of file, instead of two Lists.
- [x] In generator: create and use a utility function to write the files to disk(or use something like apacheCommonsIO [writeFile](https://commons.apache.org/proper/commons-io/javadocs/api-2.5/org/apache/commons/io/FileUtils.html#write(java.io.File,%20java.lang.CharSequence,%20java.nio.charset.Charset)))
- [x] Merge everything into master brancheshttps://git.rwth-aachen.de/monticore/EmbeddedMontiArc/generators/emam2someip/-/issues/25Prepare for hand in2019-09-30T00:22:18+02:00Alexander David HellwigPrepare for hand inThings that should be done before hand in:
- merge all code into the master branch of the original projects
- provide a (lightweight) documentation in the readme files of the projects. It should give other Students an idea on:
- how t...Things that should be done before hand in:
- merge all code into the master branch of the original projects
- provide a (lightweight) documentation in the readme files of the projects. It should give other Students an idea on:
- how to install(linux or windows or docker) the project and its dependencies
- how to use your project
- where it is located in relation to other projects
- link 1 or 2 test cases that demonstrate the main features of the project(if available)
- you can always link to external documentation
- keep it briefhttps://git.rwth-aachen.de/monticore/EmbeddedMontiArc/generators/emam2someip/-/issues/24Add support for more Port types2019-09-23T02:17:09+02:00Alexander David HellwigAdd support for more Port types# Goal
Until now we assumed that each Port has the type Q, but EMAM supports other basic types:
- Q for rational numbers, converted to double
- N for natural numbers, converted to int
- Z for whole numbers, also converted to int
- B for ...# Goal
Until now we assumed that each Port has the type Q, but EMAM supports other basic types:
- Q for rational numbers, converted to double
- N for natural numbers, converted to int
- Z for whole numbers, also converted to int
- B for boolean values, converted to bool
- (C for complex, you can ignore this)
You can get the Type-String of a port with `port.getTypeReference().getName()`.
Example code in Freemarker:
```freemarker
<#list model.getOutgoingPorts() as port>
<#switch port.getTypeReference().getName()>
<#case "Q">
// double
<#break>
<#case "N">
//int
<#break>
<#case "Z">
//int
<#break>
<#default>
//error
</#switch>
</#list>
```
## Suggestion
You can convert the whole number types(Z,N) by rounding a double:
```C++
//Subscriber
#include <math.h>
[...]
component->in1 = (int) round(dataFromMessage);
//Publisher
[...]
//Read data from component
double d = 1.0 * component->out1;
[...]
```
You can convert the boolean type(B) by checking a threshold:
```C++
//Subscriber
[...]
component->in1 = (dataFromMessage > 1.0e-10);
//Publisher
[...]
//Read data from component
double d = component->out1 ? 1.0 : 0.0;
[...]
```
Alternative:
Write and read the `byteArray` of the payload manually without conversions of doubles
## Deliverables
Adapt your templates, so that all generated publish and callback methods support the Port Types Q, B, Z, and N.https://git.rwth-aachen.de/monticore/EmbeddedMontiArc/generators/emam2someip/-/issues/23Tag parsing2019-09-29T23:47:40+02:00Alexander David HellwigTag parsingCreate a parser that can read .tag files and turn them into SomeIPConnectionSymbols
# Deliverables
## EmbeddedMontiArc Project
In [.../tagging/middleware/someip](https://git.rwth-aachen.de/monticore/EmbeddedMontiArc/languages/EmbeddedMo...Create a parser that can read .tag files and turn them into SomeIPConnectionSymbols
# Deliverables
## EmbeddedMontiArc Project
In [.../tagging/middleware/someip](https://git.rwth-aachen.de/monticore/EmbeddedMontiArc/languages/EmbeddedMontiArc/tree/master/src/main/java/de/monticore/lang/embeddedmontiarc/tagging/middleware):
- [x] Add a SomeIPConnectionsSymbolCreator similar to [RosConnectionSymbolCreator](https://git.rwth-aachen.de/monticore/EmbeddedMontiArc/languages/EmbeddedMontiArc/blob/master/src/main/java/de/monticore/lang/embeddedmontiarc/tagging/middleware/ros/RosConnectionSymbolCreator.java)
- Goal: Read a .tag file, convert it into SomeIPConnectionSymbols and add them the specified EMAPortSymbol or EMAPortInstanceSymbol. MontiCore/EmbeddedMontiArc automatically reads the file reading and preprocesses the data. Therefore you only need to implement a `TagSymbolCreator`
- [x] There should be no references to Ros in the new SymbolCreator. The main regex can be found in line 50.
- Online java regex checker: `http://www.regexplanet.com/advanced/java/index.html`
- [x] Add a SomeIPTagSchema similar to [RosToEmamTagSchema](https://git.rwth-aachen.de/monticore/EmbeddedMontiArc/languages/EmbeddedMontiArc/blob/master/src/main/java/de/monticore/lang/embeddedmontiarc/tagging/middleware/ros/RosToEmamTagSchema.java)
- [x] Add a Testcase similar to [test/.../middleware/ros/TaggingTest](https://git.rwth-aachen.de/monticore/EmbeddedMontiArc/languages/EmbeddedMontiArc/blob/master/src/test/java/de/monticore/lang/embeddedmontiarc/middleware/ros/TaggingTest.java).
- [x] you will need to add your Tag Schema to the tagging resolver here: https://git.rwth-aachen.de/monticore/EmbeddedMontiArc/languages/EmbeddedMontiArc/blob/master/src/test/java/de/monticore/lang/embeddedmontiarc/AbstractTaggingResolverTest.java#L56
## EMAM2Middleware
- [x] pom.xml: Update the EmbeddedMontiArc dependency to the Version with your parser
- [x] DestributedTargetGeneratorCLI
- [x] resolve all SomeIPConnectionSymbols from the Symbol table. Example for ros: [here](https://git.rwth-aachen.de/monticore/EmbeddedMontiArc/generators/EMAM2Middleware/blob/master/src/main/java/de/monticore/lang/monticar/generator/middleware/cli/DistributedTargetGeneratorCli.java#L167)
- [x] the actual resolving is implemented [here](https://git.rwth-aachen.de/monticore/EmbeddedMontiArc/generators/EMAM2RosCpp/blob/master/src/main/java/de/monticore/lang/monticar/generator/roscpp/helper/TagHelper.java#L20) in RosCpp, you can choose in which Project you want to implement it.
- [x] Previous test case
- [x] Adapt: Don't hand add the SomeIPConnectionSymbols, build a .tag file, use your TagHelper(or equivalent) to resolve the SomeIPConnectionSymbols
- Example for Ros: https://git.rwth-aachen.de/monticore/EmbeddedMontiArc/generators/EMAM2Middleware/blob/master/src/test/java/de/monticore/lang/monticar/generator/middleware/Ros2GenerationTest.java#L60 and line 64https://git.rwth-aachen.de/monticore/EmbeddedMontiArc/generators/emam2someip/-/issues/22Fix: create folder before writting files in generate method2019-08-29T14:00:50+02:00Alexander David HellwigFix: create folder before writting files in generate methode.g.
```java
File directory = new File(generationTargetPath);
directory.mkdirs();
```e.g.
```java
File directory = new File(generationTargetPath);
directory.mkdirs();
```https://git.rwth-aachen.de/monticore/EmbeddedMontiArc/generators/emam2someip/-/issues/21Integration into EMAM2Middleware2019-08-23T14:35:18+02:00Alexander David HellwigIntegration into EMAM2MiddlewareIn EMAM2Middleware:
- pom.xml
- add the [dependency](https://git.rwth-aachen.de/monticore/EmbeddedMontiArc/generators/EMAM2Middleware/blob/master/pom.xml#L103) of your mw generator
- (increment [project version](https://git.rwth...In EMAM2Middleware:
- pom.xml
- add the [dependency](https://git.rwth-aachen.de/monticore/EmbeddedMontiArc/generators/EMAM2Middleware/blob/master/pom.xml#L103) of your mw generator
- (increment [project version](https://git.rwth-aachen.de/monticore/EmbeddedMontiArc/generators/EMAM2Middleware/blob/master/pom.xml#L12))
- New Class in de.monticore.lang.monticar.generator.middleware.impls
- Wrapper for your generator
- implements GeneratorImpl
- similar to [RosCppGenImpl](https://git.rwth-aachen.de/monticore/EmbeddedMontiArc/generators/EMAM2Middleware/blob/master/src/main/java/de/monticore/lang/monticar/generator/middleware/impls/RosCppGenImpl.java)
- Changes for [DistributedTargetGeneratorCli](https://git.rwth-aachen.de/monticore/EmbeddedMontiArc/generators/EMAM2Middleware/blob/master/src/main/java/de/monticore/lang/monticar/generator/middleware/cli/DistributedTargetGeneratorCli.java)
- New Constant like [Line 47](https://git.rwth-aachen.de/monticore/EmbeddedMontiArc/generators/EMAM2Middleware/blob/master/src/main/java/de/monticore/lang/monticar/generator/middleware/cli/DistributedTargetGeneratorCli.java#L47)
- also add to [getGeneratorNames()](https://git.rwth-aachen.de/monticore/EmbeddedMontiArc/generators/EMAM2Middleware/blob/master/src/main/java/de/monticore/lang/monticar/generator/middleware/cli/DistributedTargetGeneratorCli.java#L89)
- add to [runGenerator](https://git.rwth-aachen.de/monticore/EmbeddedMontiArc/generators/EMAM2Middleware/blob/master/src/main/java/de/monticore/lang/monticar/generator/middleware/cli/DistributedTargetGeneratorCli.java#L164), ignoring TagSchema and TagHelper instructions for now
- Add a new Test Class
- Similar to [Ros2GenerationTest](https://git.rwth-aachen.de/monticore/EmbeddedMontiArc/generators/EMAM2Middleware/blob/master/src/test/java/de/monticore/lang/monticar/generator/middleware/Ros2GenerationTest.java#L17)
- 1 or more TestCases
- replace [resolveTags](https://git.rwth-aachen.de/monticore/EmbeddedMontiArc/generators/EMAM2Middleware/blob/master/src/test/java/de/monticore/lang/monticar/generator/middleware/Ros2GenerationTest.java#L28) with manual adding of your middleware Tags as in the previous Test cases
- add the [CPP](https://git.rwth-aachen.de/monticore/EmbeddedMontiArc/generators/EMAM2Middleware/blob/master/src/test/java/de/monticore/lang/monticar/generator/middleware/Ros2GenerationTest.java#L32) and your middleware generator
- compile the result using [gitlab-ci](https://git.rwth-aachen.de/monticore/EmbeddedMontiArc/generators/EMAM2Middleware/blob/master/.gitlab-ci.yml#L35) and your docker imagehttps://git.rwth-aachen.de/monticore/EmbeddedMontiArc/generators/emam2someip/-/issues/20Prepare Templates for Integration2019-07-30T21:52:39+02:00Alexander David HellwigPrepare Templates for Integration- CMake.ftl
- add the code generated by EMAM2CPP to the imported libraries(will replace the mock you used until now): https://git.rwth-aachen.de/monticore/EmbeddedMontiArc/generators/EMAM2RosCpp/blob/master/src/main/resources/de/mont...- CMake.ftl
- add the code generated by EMAM2CPP to the imported libraries(will replace the mock you used until now): https://git.rwth-aachen.de/monticore/EmbeddedMontiArc/generators/EMAM2RosCpp/blob/master/src/main/resources/de/monticore/lang/monticar/generator/roscpp/template/CMakeLists.ftl#L14
- add the IAdapter interface to the imported libraries: https://git.rwth-aachen.de/monticore/EmbeddedMontiArc/generators/EMAM2RosCpp/blob/master/src/main/resources/de/monticore/lang/monticar/generator/roscpp/template/CMakeLists.ftl#L15
- Adapter.h.ftl/Adapter.cpp.ftl
- import the code generated by EMAM2CPP: https://git.rwth-aachen.de/monticore/EmbeddedMontiArc/generators/EMAM2RosCpp/blob/master/src/main/resources/de/monticore/lang/monticar/generator/roscpp/template/Adapter.ftl#L8
- import the IAdapter interface to the imported libraries:https://git.rwth-aachen.de/monticore/EmbeddedMontiArc/generators/EMAM2RosCpp/blob/master/src/main/resources/de/monticore/lang/monticar/generator/roscpp/template/Adapter.ftl#L9
- implement the IAdapter interface: https://git.rwth-aachen.de/monticore/EmbeddedMontiArc/generators/EMAM2RosCpp/blob/master/src/main/resources/de/monticore/lang/monticar/generator/roscpp/template/Adapter.ftl#L15https://git.rwth-aachen.de/monticore/EmbeddedMontiArc/generators/emam2someip/-/issues/19Add deploy job to gitlab-ci2019-07-30T21:52:16+02:00Alexander David HellwigAdd deploy job to gitlab-ci- Used to deploy the resulting jar to the se maven repository
- similar to [roscpp](https://git.rwth-aachen.de/monticore/EmbeddedMontiArc/generators/EMAM2RosCpp/blob/master/.gitlab-ci.yml#L5)
- remove maven goal sonar:sonar for now
- onl...- Used to deploy the resulting jar to the se maven repository
- similar to [roscpp](https://git.rwth-aachen.de/monticore/EmbeddedMontiArc/generators/EMAM2RosCpp/blob/master/.gitlab-ci.yml#L5)
- remove maven goal sonar:sonar for now
- only deploy on master branch!(use only,except)
- only deployed changes can be used in other Projects(except if both artifacts are build on the same machine)https://git.rwth-aachen.de/monticore/EmbeddedMontiArc/generators/emam2someip/-/issues/18Fix Subscribers/Publishers(SomeIP)2019-09-23T08:36:50+02:00Alexander David HellwigFix Subscribers/Publishers(SomeIP)- make sure that the value published to/(read from) your middleware is read from/(written to) the Port the SomeIPConnectionSymbol is attached to
- Subscriber
- use variable port name instead of `someIPIn`(from [here](https://git.rwth...- make sure that the value published to/(read from) your middleware is read from/(written to) the Port the SomeIPConnectionSymbol is attached to
- Subscriber
- use variable port name instead of `someIPIn`(from [here](https://git.rwth-aachen.de/monticore/EmbeddedMontiArc/generators/emam2someip/blob/master/src/main/resources/de/monticore/lang/monticar/generator/someip/template/Adapter.cpp.ftl#L50))
- it must be possible to write to more than one port, since a SomeIPConnectionSymbol could be added to each incomming Port. You might need to create multiple callback methods in the Adapter.
- Publisher
- use variable port name instead of `someIPOut`(from [here](https://git.rwth-aachen.de/monticore/EmbeddedMontiArc/generators/emam2someip/blob/master/src/main/resources/de/monticore/lang/monticar/generator/someip/template/Adapter.cpp.ftl#L61)). You will need to generate multiple publish methods.https://git.rwth-aachen.de/monticore/EmbeddedMontiArc/generators/emam2someip/-/issues/17Remove example Adapter from Dockerfile2019-07-14T22:07:17+02:00Alexander David HellwigRemove example Adapter from Dockerfilehttps://git.rwth-aachen.de/monticore/EmbeddedMontiArc/generators/emam2someip/-/issues/16Add basic Adapter Generation2019-07-14T17:30:39+02:00Alexander David HellwigAdd basic Adapter GenerationAdd basic generation of a Adapter .cpp and .h files
Deliverables:
- new Template Adapter.cpp.ftl and/or Adapter.h.ftl
- Can be based on Adapter.ftl template in [EMAM2Roscpp](https://git.rwth-aachen.de/monticore/EmbeddedMontiArc/gener...Add basic generation of a Adapter .cpp and .h files
Deliverables:
- new Template Adapter.cpp.ftl and/or Adapter.h.ftl
- Can be based on Adapter.ftl template in [EMAM2Roscpp](https://git.rwth-aachen.de/monticore/EmbeddedMontiArc/generators/EMAM2RosCpp/blob/master/src/main/resources/de/monticore/lang/monticar/generator/roscpp/template/Adapter.ftl). Possible easiest if you implement your own SomeIPMacro.ftl(reference: [RosMacros.ftl](https://git.rwth-aachen.de/monticore/EmbeddedMontiArc/generators/EMAM2RosCpp/blob/master/src/main/resources/de/monticore/lang/monticar/generator/roscpp/template/RosMacros.ftl)) and use the original `Adapter.ftl`.
- Result should look or work similar to your example adapter .cpp and .h
- Assume all values are written/read as doubles for now(e.g. ignore all Matrix/Vector types, Struct Types)
- You can ignore all generics, for now
- The resulting class should should be named `SomeIPAdapter_${escapedCompName}`, where `${escapedCompName}` is `componentInstance.getFullName()` with all `.`, `[`,`]` replaced by `_`
- In SomeIPTemplates:
- A new constant + fill method pair for the new template(s)
- A new Class SomeIPAdapterModel:
- can be based on the [RosAdapterModel](https://git.rwth-aachen.de/monticore/EmbeddedMontiArc/generators/EMAM2RosCpp/blob/master/src/main/java/de/monticore/lang/monticar/generator/roscpp/template/RosAdapterModel.java) in RosCpp
- should contain all information needed to generate the Adapter
- (escaped) name of the component instance
- SomeIPPorts of the component
- Possibly grouped by incomming/outgoing(for subscribers/publishers respectivly)
- In SomeIPGenerator:
- a method `+ List<File> generateAdapter(EMAComponentInstanceSymbol)` that generates the CMake file using the SomeIPTemplate Class and the template Adapter.cpp.ftl and/or Adapter.h.ftl.
- Add a test case:
- as previously(Issue #13):
- parse a simple componentInstance
- manually add SomeIPConnectionSymbols with `EMAPortInstanceSymbol::setMiddlewareSymbol`
- call `generateCMake` on the componentInstance
- compare the resulting File(s) with an expected result(AbstractSymtabTest::testFilesAreEqual)https://git.rwth-aachen.de/monticore/EmbeddedMontiArc/generators/emam2someip/-/issues/15Add basic CMake generation2019-07-10T12:55:39+02:00Alexander David HellwigAdd basic CMake generationAdd basic generation of a CMake File to compile an SomeIPAdapter(e.g. your example Adapter)
Deliverables:
- new Template CMakeLists.ftl
- Can be based on CMake template in [EMAM2Roscpp](https://git.rwth-aachen.de/monticore/EmbeddedMo...Add basic generation of a CMake File to compile an SomeIPAdapter(e.g. your example Adapter)
Deliverables:
- new Template CMakeLists.ftl
- Can be based on CMake template in [EMAM2Roscpp](https://git.rwth-aachen.de/monticore/EmbeddedMontiArc/generators/EMAM2RosCpp/blob/master/src/main/resources/de/monticore/lang/monticar/generator/roscpp/template/CMakeLists.ftl)
- Result should look similar to your example adapter's CMakeLists.txt
- The resulting compiled library should be named `SomeIPAdapter_${escapedCompName}`, where `${escapedCompName}` is `componentInstance.getFullName()` with all `.`, `[`,`]` replaced by `_`
- In SomeIPTemplates:
- A new constant + fill method pair for the template CMakeLists.ftl
- In SomeIPGenerator:
- a method `+ File generateCMake(EMAComponentInstanceSymbol)` that generates the CMake file using the SomeIPTemplate Class and the template CMakeLists.ftl.
- Add a test case:
- as previously(Issue #13):
- parse a simple componentInstance
- manually add SomeIPConnectionSymbols with `EMAPortInstanceSymbol::setMiddlewareSymbol`
- call `generateCMake` on the componentInstance
- compare the resulting File with an expected result(AbstractSymtabTest::testFilesAreEqual)https://git.rwth-aachen.de/monticore/EmbeddedMontiArc/generators/emam2someip/-/issues/14Add to CI: Compile Adapter example2019-07-09T18:49:07+02:00Alexander David HellwigAdd to CI: Compile Adapter exampleCompile the example adapter with docker and add it to the CICompile the example adapter with docker and add it to the CIMarkus Georg BendelMarkus Georg Bendelhttps://git.rwth-aachen.de/monticore/EmbeddedMontiArc/generators/emam2someip/-/issues/13Add basic generator structure to project2019-07-09T18:48:52+02:00Alexander David HellwigAdd basic generator structure to projectReference: https://freemarker.apache.org/docs/index.html
See:
https://git.rwth-aachen.de/monticore/EmbeddedMontiArc/generators/EMAM2RosCpp/blob/master/src/main/java/de/monticore/lang/monticar/generator/roscpp/GeneratorRosCpp.java#L69
ht...Reference: https://freemarker.apache.org/docs/index.html
See:
https://git.rwth-aachen.de/monticore/EmbeddedMontiArc/generators/EMAM2RosCpp/blob/master/src/main/java/de/monticore/lang/monticar/generator/roscpp/GeneratorRosCpp.java#L69
https://git.rwth-aachen.de/monticore/EmbeddedMontiArc/generators/EMAM2RosCpp/blob/master/src/main/java/de/monticore/lang/monticar/generator/roscpp/template/RosCppTemplates.java
https://git.rwth-aachen.de/monticore/EmbeddedMontiArc/generators/EMAM2RosCpp/tree/master/src/main/resources/de/monticore/lang/monticar/generator/roscpp/templateMarkus Georg BendelMarkus Georg Bendelhttps://git.rwth-aachen.de/monticore/EmbeddedMontiArc/generators/emam2someip/-/issues/12Add MiddlewareSymbol to EmbeddedMontiArc2019-07-09T11:57:59+02:00Alexander David HellwigAdd MiddlewareSymbol to EmbeddedMontiArcDirectory: https://git.rwth-aachen.de/monticore/EmbeddedMontiArc/languages/EmbeddedMontiArc/tree/master/src/main/java/de/monticore/lang/embeddedmontiarc/tagging/middleware
It should contain all information you need to generate a publishe...Directory: https://git.rwth-aachen.de/monticore/EmbeddedMontiArc/languages/EmbeddedMontiArc/tree/master/src/main/java/de/monticore/lang/embeddedmontiarc/tagging/middleware
It should contain all information you need to generate a publisher/subscriber that connects a topic/service to a port.
It should be similar RosConnectionSymbol(e.g. extends MiddlewareSymbol)
Also adapt EMAPortSymbol and EMAPortInstanceSymbol(see isRosPort)
Remember to create a merge request and assigne it to meMarkus Georg BendelMarkus Georg Bendelhttps://git.rwth-aachen.de/monticore/EmbeddedMontiArc/generators/emam2someip/-/issues/11Enable multiple callbacks in one adapter2019-07-12T11:48:55+02:00Alexander David HellwigEnable multiple callbacks in one adapterIdea: Encapsulate callback in Class:
Create Class with callback and add pointer to component in constructor. Create an object of this class in the init method of the adapter and register with middleware
If you can think of other alternat...Idea: Encapsulate callback in Class:
Create Class with callback and add pointer to component in constructor. Create an object of this class in the init method of the adapter and register with middleware
If you can think of other alternatives, feel free to implement them insteadMarkus Georg BendelMarkus Georg Bendelhttps://git.rwth-aachen.de/monticore/EmbeddedMontiArc/generators/emam2someip/-/issues/10Change adapter example to set values of component on callback2019-06-13T17:47:50+02:00Alexander David HellwigChange adapter example to set values of component on callbackE.g. someware in SomeipAdapter_tests_a_compA::on_message:
`component->rosIn = dataFromMessage;`E.g. someware in SomeipAdapter_tests_a_compA::on_message:
`component->rosIn = dataFromMessage;`Markus Georg BendelMarkus Georg Bendelhttps://git.rwth-aachen.de/monticore/EmbeddedMontiArc/generators/emam2someip/-/issues/9Change adapter example to publish values from the component2019-06-13T17:32:07+02:00Alexander David HellwigChange adapter example to publish values from the componentE.g. in https://git.rwth-aachen.de/monticore/EmbeddedMontiArc/generators/emam2someip/blob/8-handwrite-a-some-ip-adapter/someip_adapter/SomeipAdapter_tests_a_compA.cpp#L61 :
`double d = component->rosOut`;E.g. in https://git.rwth-aachen.de/monticore/EmbeddedMontiArc/generators/emam2someip/blob/8-handwrite-a-some-ip-adapter/someip_adapter/SomeipAdapter_tests_a_compA.cpp#L61 :
`double d = component->rosOut`;Markus Georg BendelMarkus Georg Bendelhttps://git.rwth-aachen.de/monticore/EmbeddedMontiArc/generators/emam2someip/-/issues/8Handwrite a Some/IP-Adapter2019-06-13T12:04:03+02:00Alexander David HellwigHandwrite a Some/IP-AdapterCompare to https://git.rwth-aachen.de/monticore/EmbeddedMontiArc/generators/EMAM2RosCpp/tree/master/src/test/resources/results/echoCMake You can mock tests_a_compA and remove/ignore IAdapter_tests_a_compA.h. Keep the signature of the ini...Compare to https://git.rwth-aachen.de/monticore/EmbeddedMontiArc/generators/EMAM2RosCpp/tree/master/src/test/resources/results/echoCMake You can mock tests_a_compA and remove/ignore IAdapter_tests_a_compA.h. Keep the signature of the init as well as tick methods.Anna Maria SchmitzFlorian RaethMarkus Georg BendelAnna Maria Schmitzhttps://git.rwth-aachen.de/monticore/EmbeddedMontiArc/generators/emam2someip/-/issues/7Compile the example with CMake2019-05-30T22:04:05+02:00Alexander David HellwigCompile the example with CMakeReference https://cliutils.gitlab.io/modern-cmake/ Compare to https://git.rwth-aachen.de/monticore/EmbeddedMontiArc/generators/EMAM2RosCpp/blob/master/src/test/resources/results/echoCMake/CMakeLists.txt You will need to replace/delete th...Reference https://cliutils.gitlab.io/modern-cmake/ Compare to https://git.rwth-aachen.de/monticore/EmbeddedMontiArc/generators/EMAM2RosCpp/blob/master/src/test/resources/results/echoCMake/CMakeLists.txt You will need to replace/delete the find_package and list instructions as well as the (file)names. You might need to write/search a FindSome/IP.cmakeMarkus Georg BendelMarkus Georg Bendel