Skip to main content

Notice: this Wiki will be going read only early in 2024 and edits will no longer be possible. Please see: https://gitlab.eclipse.org/eclipsefdn/helpdesk/-/wikis/Wiki-shutdown-plan for the plan.

Jump to: navigation, search

Difference between revisions of "ETrice/Development/GettingStartedWithEtrice"

(update to Xtext/Xtend 2.4)
(Prepare Eclipse and build eTrice)
Line 8: Line 8:
 
### Graphiti 0.9.1
 
### Graphiti 0.9.1
 
## Help -> Install New Software ->  Xtext releases - http://download.eclipse.org/modeling/tmf/xtext/updates/composite/releases/
 
## Help -> Install New Software ->  Xtext releases - http://download.eclipse.org/modeling/tmf/xtext/updates/composite/releases/
 +
## select
 
### XText 2.4.0
 
### XText 2.4.0
 
### Xtend 2.4.0
 
### Xtend 2.4.0

Revision as of 05:03, 4 April 2013

Prepare Eclipse and build eTrice

  1. get the sources (see how)
  2. download the latest release of Eclipse Modeling Tools (cf. http://www.eclipse.org/downloads/packages/eclipse-modeling-tools/junosr2)
  3. start eclipse
  4. Install additional Plugins (if not already installed)
    1. Help -> Install New Software -> Juno - http://download.eclipse.org/releases/juno
    2. select
      1. Graphiti 0.9.1
    3. Help -> Install New Software -> Xtext releases - http://download.eclipse.org/modeling/tmf/xtext/updates/composite/releases/
    4. select
      1. XText 2.4.0
      2. Xtend 2.4.0
  5. import all projects from your local GIT clone to your Workspace (with EGit plugin)
    1. Git Repositories View
    2. Add Repository (local GIT clone)
    3. Context Menu of Working Directory -> Import Projects
    4. Import all Projects
  6. make sure you are using a JDK (in Eclipse: Window->Preferences->Java->Installed JREs->e.g. jdk1.6.0_24), attention: do not use jdk1.6.0_18 or jdk1.6.0_22!

Getting Started with eTrice

Setting up Runtime Workspace

  • start the runtime workspace: org.eclipse.etrice.core.room.ui -> eTrice-rt.launch (contextmenu -> Run As)
  • check out the runtime projects from your local GIT clone
    • org.eclipse.etrice.tutorials
    • org.eclipse.etrice.modellib
    • org.eclipse.etrice.runtime.java

Editing the Model

  • the first model you find in org.eclipse.etrice.doc.tutorials/model/scratch/PingPong.room (doubleclick for editor)
  • if the room editor has the focus, you can see all your model elements in the outline view
  • with a right click on an actor (e.g. MrPingActor) you can
    • Edit Structure
    • Edit Behavior
  • Important: You have to save every "dirty" editor before opening another editor

Code Generator

  • org.eclipse.etrice.doc.tutorials -> genAllTutorials.mwe2.launch -> (contextmenu)Run As -> genAllModels.mwe2
  • you will find the generated code in org.eclipse.etrice.doc.tutorials/src-gen
  • you can see the generated instance tree of your actor org.eclipse.etrice.doc.tutorials/src-gen/PingPong/SubSystem_PingPong.jpg
    • Precondition: install the current version of graphviz and add the path to dot.exe to you system or user PATH variable

Run

  • start generated application: org.eclipse.etrice.doc.tutorials/src-gen/PingPong/SubSystem_PingPongRunner.java -> Run As -> Java Application
  • in the View Console you can see the debugging output of the running model
  • enter "quit" and <enter> in the Console to stop the running application (you should see *** T H E E N D *** )

Debug

  • in org.eclipse.etrice.doc.tutorials/tmp/log you will find the generated Message Sequence Chart of your application: SubSystem_PingPong_Async.seq (MSC)
  • you can debug the generated code like any other Java Project. The main function is located in SubSystem_PingPongRunner.java
  • be aware that all actors communication via message queue, so the regular sourcecode debugging is sometimes not sufficient

Deriving from an Existing Generator

There is a minimal example that shows how a generator can be derived from the existing eTrice Java generator. The example shows how the derived DetailCodeTranslator handles an additional tag.

The example consist of two plugins:

  • examples/my.etrice.generator
  • examples/my.etrice.generator.launch

You will find the examples in the eTrice GIT repository: http://git.eclipse.org/c/etrice/org.eclipse.etrice.git/tree/examples

The first one overrides the Java generator, the second one overrides the Java launch configuration to launch the derived generator. Please have a look at the comments marked with EXAMPLE: (you can add that as a Java task tag in the preferences and use the Tasks View to locate these comments).

Back to the top