This file describes the Calimero code examples - which are perfectly usable as tools. Read the DON'T PANIC file in the folder above this one first! What's in here? =============== 1) Calimero Tools - ready-to-run command line examples - calimero-tools-2.0.2.jar, contains the class/resource files - calimero-tools-2.0.2_doc.zip, contains the API documentation (JavaDoc) of the Calimero Tools - calimero-tools-2.0.2_src.zip, contains the source code of the Calimero Tools 2) A graphical user interface for the Calimero Tools - calimero-gui-2.0.3.jar, contains the class/resource files - calimero-gui-2.0.3_src.zip, contains the source code of the GUI To try them out, you will need the Calimero library, the Java core libraries, and a Java Runtime. For the GUI, you also need the SWT library (see below). Where to start? =============== Again: Read the DON'T PANIC file first! It contains hints on how to "install" the Calimero library. - To see "if it just works", use the GUI and try to discover your KNXnet/IP device at first. Then open a tunnel/monitor/routing connection (depending on the KNX device capabilities). As an alternative, try to open a FT1.2 connection by supplying the port identifier. - On loading problems with Java/GUI (due to missing environment variables, no SWT, ...), move one level down and try running the console based Calimero tools. For example, to discover KNXnet/IP devices, type on the console something like 'java -cp "calimero-2.0.4.jar;calimero-tools-2.0.2.jar" tuwien.auto.calimero.tools.Discover -s' - If you better like working with a console anyway, get familiar with the Calimero tools - If you like it low-level, use the Calimero tools source code as starting point to jump into interesting library code using your favorite development environment About the Calimero Tools ======================== To show certain features in Calimero and give a survey of the library, we have written some console based tools. Each of these tools covers a specific use case (such as reading a group value), highlighting the required APIs in tutorial fashion. Therefore, you might want to try a tool by simply running it, or by browsing the source code and look how things work, and maybe read the API documentation of methods you encounter in the tools source code. The tools essentially contains "glue" code for initialization, user interaction, and library set up. -- To run a tool you need the Calimero library on your Java classpath Notice, these tools are not part of the core Calimero library. This means you can not assume they are available by default when interfacing with Calimero on some host. About the Graphical User Interface ================================== The GUI aims to be an easier/more convenient interface with improved representation of data output. It is based on the Calimero Tools. This "more" of convenience is exchanged with less functionality :). Essentially, this means not every tool functionality has its counterpart in the GUI. If you don't find or can't use something, it might simply be not offered in the GUI. At runtime, the GUI uses the SWT, the "Standard Widget Toolkit" library, stable release version 3.3, visit . If you already have your own SWT library somewhere, or there is an Eclipse platform on your computer, SWT is already available. Just use that one, if you run the GUI with Eclipse. Otherwise check the SWT download site. -- To run the GUI you need the SWT library version 3.3 on your Java classpath -- To run the GUI you need Calimero (library and tools) on your Java classpath Note: the GUI, Calimero and SWT are three different things. Also, the GUI is not part of the core Calimero library. (License issues: SWT is licenced under the EPL. From the EPL side of view, the GUI is not a derivative work, since it does not touch/modify/contain any SWT source code/object files, nor distributes it together. But GPL states the EPL as "not compatible" (the GUI is GPL'd), so we can't mix them.)