Jump to: navigation, search

Difference between revisions of "ETrice/Development/GettingStartedWithEtrice"

(Prepare Eclipse and build eTrice)
Line 1: Line 1:
 
= Prepare Eclipse and build eTrice =
 
= Prepare Eclipse and build eTrice =
 
# get the sources ([[ETrice/Development/Repository |see how]])  
 
# get the sources ([[ETrice/Development/Repository |see how]])  
# download the latest version of Eclipse Modeling Tools (e.g. http://eclipse.org/downloads/packages/eclipse-modeling-tools-includes-incubating-components/indigom7)
+
# download the latest release of Eclipse Modeling Tools (e.g. http://eclipse.org/downloads/packages/eclipse-modeling-tools-includes-incubating-components/indigom7)
 
# start eclipse
 
# start eclipse
 
# Install additional Plugins (if not already installed)
 
# Install additional Plugins (if not already installed)
Line 7: Line 7:
 
## select Collaboration -> Eclipse EGit
 
## select Collaboration -> Eclipse EGit
 
## select  
 
## select  
### Modeling -> EMF
+
### Modeling -> EMF 2.7.0
### all Graphiti  
+
### all Graphiti 0.8.0
### XPand
+
### XText 2.1.1
### XText
+
 
# import all projects from your local GIT clone to your Workspace (with EGit plugin)
 
# import all projects from your local GIT clone to your Workspace (with EGit plugin)
 
## Perspective -> Git Repository
 
## Perspective -> Git Repository

Revision as of 05:01, 8 March 2012

Prepare Eclipse and build eTrice

  1. get the sources (see how)
  2. download the latest release of Eclipse Modeling Tools (e.g. http://eclipse.org/downloads/packages/eclipse-modeling-tools-includes-incubating-components/indigom7)
  3. start eclipse
  4. Install additional Plugins (if not already installed)
    1. Help -> Install New Software -> Indigo - http://download.eclipse.org/releases/indigo
    2. select Collaboration -> Eclipse EGit
    3. select
      1. Modeling -> EMF 2.7.0
      2. all Graphiti 0.8.0
      3. XText 2.1.1
  5. import all projects from your local GIT clone to your Workspace (with EGit plugin)
    1. Perspective -> Git Repository
    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!
  7. build eTrice with our target platform (see how)

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