Jump to: navigation, search

Difference between revisions of "Eclipse Summit Europe 2008 Equinox Hackathon"

Line 10: Line 10:
 
==Information for Hackathon participants==
 
==Information for Hackathon participants==
  
=== Getting the code===
+
== Getting the code==
 
To develop Toast you need two things, the target and the code.  Download the [https://sourceforge.net/project/showfiles.php?group_id=244574&package_id=298189&release_id=640808 target archive] and then use '''Import > Existing projects into Workspace''' and specify the downloaded archive as the input.  Once the target project is in your workspace, open '''toast.target''' and click on the '''Set as target platform''' link in the top right corner of the '''Overview''' page of the target editor.
 
To develop Toast you need two things, the target and the code.  Download the [https://sourceforge.net/project/showfiles.php?group_id=244574&package_id=298189&release_id=640808 target archive] and then use '''Import > Existing projects into Workspace''' and specify the downloaded archive as the input.  Once the target project is in your workspace, open '''toast.target''' and click on the '''Set as target platform''' link in the top right corner of the '''Overview''' page of the target editor.
  
Line 22: Line 22:
 
You should now have a workspace full of Toast.
 
You should now have a workspace full of Toast.
  
=== Running Toast===
+
== Running Toast==
 
Toast has two parts, a client and a backend.  The client is the in-dash display that you would have in a vehicle.  The backend is a control center that administers and manages vehicles.  To run Toast you need to start the backend, then start the client.
 
Toast has two parts, a client and a backend.  The client is the in-dash display that you would have in a vehicle.  The backend is a control center that administers and manages vehicles.  To run Toast you need to start the backend, then start the client.
 +
 +
===Launching===
  
 
# The client and backend are each described in a .product file.  Open the files using Ctrl+Shift+R and filter *.product.  Multi-select backend.product and client.product.
 
# The client and backend are each described in a .product file.  Open the files using Ctrl+Shift+R and filter *.product.  Multi-select backend.product and client.product.
 
# On the Overview page of backend.product, click the '''Launch an Eclipse Application" link.  You should see a console open with various messages related to servlet registrations etc.  Good.
 
# On the Overview page of backend.product, click the '''Launch an Eclipse Application" link.  You should see a console open with various messages related to servlet registrations etc.  Good.
 
# Now launch the client.product using the same technique.  You should see a UI that looks something like the ones at the top of this page.
 
# Now launch the client.product using the same technique.  You should see a UI that looks something like the ones at the top of this page.
 +
# See the description below for descriptions of each function
 +
# When you are done, close the client window and kill the backend by typing "exit" in the console.
  
  
 
===Emergency===
 
===Emergency===
 
* Trigger an emergency in one of the following ways:
 
* Trigger an emergency in one of the following ways:
** Press the emergency button on the top button bar of the client.
+
** Press the emergency button [[Image:Toast_emergency.jpg]] on the top button bar of the client.
 
** Deploy the airbag from the device simulator.
 
** Deploy the airbag from the device simulator.
 
*** Point your web browser at localhost:8081/client/devices
 
*** Point your web browser at localhost:8081/client/devices
Line 39: Line 43:
  
 
===Audio===
 
===Audio===
* Click the audio button   on the top button bar of the client.
+
* Click the audio button [[Image:Toast_audio.jpg]] on the top button bar of the client.
 
* You can manipulate the various buttons and switch between the radio and CD subscreens.
 
* You can manipulate the various buttons and switch between the radio and CD subscreens.
* Keep in mind that the controls are not connected to your computers audio hardware.
+
* Keep in mind that the controls are '''not''' connected to your computers audio hardware.
  
 
===Climate===
 
===Climate===
* Click the climate button   on the top button bar of the client.
+
* Click the climate button [[Image:Toast_climate.jpg]] on the top button bar of the client.
 
* You can manipulate the various buttons and switches.
 
* You can manipulate the various buttons and switches.
  
 
===Navigation Mapping===
 
===Navigation Mapping===
* Click the navigation button   on the top button bar of the client.
+
* Click the navigation button [[Image:Toast_nav.jpg]] on the top button bar of the client.
 
* It takes a few seconds for the client to download the map data from the server. After that, you should see a red dot representing your vehicle on a map of Washington, DC.
 
* It takes a few seconds for the client to download the map data from the server. After that, you should see a red dot representing your vehicle on a map of Washington, DC.
* The follow-vehicle button   causes the map to rotate according to the vehicle’s heading.
+
* The follow-vehicle button [[Image:Toast_follow.jpg]] causes the map to rotate according to the vehicle’s heading.
* The center-on-vehicle button   keeps the vehicle in the center of the map.
+
* The center-on-vehicle button [[Image:Toast_center.jpg]]  keeps the vehicle in the center of the map.
* The info button   allows you to click various points of interest on the map to reveal their label.
+
* The info button [[Image:Toast_info.jpg]]  allows you to click various points of interest on the map to reveal their label.
* The center-on-click button   allows you to click the map to center it on any point.
+
* The center-on-click button [[Image:Toast_click.jpg]] allows you to click the map to center it on any point.
* The zoom buttons   allows you to zoom the map in or out.
+
* The zoom buttons [[Image:Toast_minus.jpg]][[Image:Toast_plus.jpg]]  allows you to zoom the map in or out.
 
* Try moving your vehicle around the map by moving the GPS on the device simulator.
 
* Try moving your vehicle around the map by moving the GPS on the device simulator.
 
** Point your web browser at localhost:8081/client/devices
 
** Point your web browser at localhost:8081/client/devices
Line 61: Line 65:
  
 
=== Navigation Guidance ===
 
=== Navigation Guidance ===
* From the navigation screen, click the guidance button  on the bottom of the control panel on the left.
+
* From the navigation screen, click the guidance button  [[Image:Toast_guidance_off.jpg]] on the bottom of the control panel on the left.
* A list of destinations will appear. Select a destination.
+
* You should see a route appear as a yellow line on the map.
+
* The vehicle immediately starts to drive along that route at 50 kph.
+
* You can adjust the vehicle’s speed and location from the device simulator.
+
** Point your web browser at localhost:8081/client/devices
+
** Select the Routing device and click the various buttons to alter the vehicle’s behavior.
+
* To stop the routing, click on the guidance button  again. Then instead of selecting another destination, click the cancel button  .
+
Emergency:
+
* Trigger an emergency in one of the following ways:
+
** Press the emergency button  on the top button bar of the client.
+
** Deploy the airbag from the device simulator.
+
*** Point your web browser at localhost:8081/client/devices
+
*** Select the Airbag from the device list and press the execute button 
+
* On the client, you should see a pop-up indicating that help is on its way.
+
 
+
===Audio===
+
* Click the audio button  on the top button bar of the client.
+
* You can manipulate the various buttons and switch between the radio and CD subscreens.
+
* Keep in mind that the controls are not connected to your computers audio hardware.
+
 
+
===Climate===
+
* Click the climate button  on the top button bar of the client.
+
* You can manipulate the various buttons and switches.
+
 
+
===Navigation Mapping===
+
* Click the navigation button  on the top button bar of the client.
+
* It takes a few seconds for the client to download the map data from the server. After that, you should see a red dot representing your vehicle on a map of Washington, DC.
+
* The follow-vehicle button  causes the map to rotate according to the vehicle’s heading.
+
* The center-on-vehicle button  keeps the vehicle in the center of the map.
+
* The info button  allows you to click various points of interest on the map to reveal their label.
+
* The center-on-click button  allows you to click the map to center it on any point.
+
* The zoom buttons    allows you to zoom the map in or out.
+
* Try moving your vehicle around the map by moving the GPS on the device simulator.
+
** Point your web browser at localhost:8081/client/devices
+
** Select the GPS device and click the buttons under Latitude/Longitude/Heading
+
** You should see the car moving around on the map
+
Navigation Guidance:
+
* From the navigation screen, click the guidance button  on the bottom of the control panel on the left.
+
 
* A list of destinations will appear. Select a destination.
 
* A list of destinations will appear. Select a destination.
 
* You should see a route appear as a yellow line on the map.
 
* You should see a route appear as a yellow line on the map.
Line 106: Line 72:
 
** Point your web browser at localhost:8081/client/devices
 
** Point your web browser at localhost:8081/client/devices
 
** Select the Routing device and click the various buttons to alter the vehicle’s behavior.
 
** Select the Routing device and click the various buttons to alter the vehicle’s behavior.
* To stop the routing, click on the guidance button   again. Then instead of selecting another destination, click the cancel button  .
+
* To stop the routing, click on the guidance button [[Image:Toast_guidance_on.jpg]]  again. Then instead of selecting another destination, click the cancel button  [[Image:Toast_cancel.jpg]].
  
  
 
=== Building/Exporting Toast===
 
=== Building/Exporting Toast===

Revision as of 09:58, 16 November 2008

The Eclipse Summit Europe presents a great opportunity to get together and look at and hack on code. This year we are doing an Equinox Hackathon. The idea is that given a base of Equinox code, folks at the conference (and elsewhere for that matter) can create their own bundles to add function or modify the base to do different things. You might be motivated just to play around, to put your project's technology to work or to use this as a reason to try some other project's technology. Whatever the reason, the goal is to hack Equinox code.

The application to be used is Toast, a telematics system that is being used as the example application for the upcoming Equinox OSGi book. Some folks may have seen previous versions of Toast demonstrated at various conferences (and undoubtedly it will be shown several times at ESE). The current function is roughly the same but the internals have changed considerably. The UI is now all SWT, the service interactions all DS, p2 is used to do provisioning, ...


Toast Picture1.png Toast Picture2.png Toast Picture3.png

Information for Hackathon participants

Getting the code

To develop Toast you need two things, the target and the code. Download the target archive and then use Import > Existing projects into Workspace and specify the downloaded archive as the input. Once the target project is in your workspace, open toast.target and click on the Set as target platform link in the top right corner of the Overview page of the target editor.

The easiest way to get the Toast code is to check it out from the CVS repo. For the Hackathon we set up a SourceForge project. You don't need to have a SourceForge account to play, just add the following CVS repo location in Eclipse.

Host: equinoxosgi.cvs.sourceforge.net Repo path: /cvsroot/equinoxosgi

Using the CVS repo view, navigate to the "hackathon" folder and check out all the projects you find there (about 66).

You should now have a workspace full of Toast.

Running Toast

Toast has two parts, a client and a backend. The client is the in-dash display that you would have in a vehicle. The backend is a control center that administers and manages vehicles. To run Toast you need to start the backend, then start the client.

Launching

  1. The client and backend are each described in a .product file. Open the files using Ctrl+Shift+R and filter *.product. Multi-select backend.product and client.product.
  2. On the Overview page of backend.product, click the Launch an Eclipse Application" link. You should see a console open with various messages related to servlet registrations etc. Good.
  3. Now launch the client.product using the same technique. You should see a UI that looks something like the ones at the top of this page.
  4. See the description below for descriptions of each function
  5. When you are done, close the client window and kill the backend by typing "exit" in the console.


Emergency

  • Trigger an emergency in one of the following ways:
    • Press the emergency button Toast emergency.jpg on the top button bar of the client.
    • Deploy the airbag from the device simulator.
      • Point your web browser at localhost:8081/client/devices
      • Select the Airbag from the device list and press the execute button
  • On the client, you should see a pop-up indicating that help is on its way.

Audio

  • Click the audio button Toast audio.jpg on the top button bar of the client.
  • You can manipulate the various buttons and switch between the radio and CD subscreens.
  • Keep in mind that the controls are not connected to your computers audio hardware.

Climate

  • Click the climate button Toast climate.jpg on the top button bar of the client.
  • You can manipulate the various buttons and switches.

Navigation Mapping

  • Click the navigation button Toast nav.jpg on the top button bar of the client.
  • It takes a few seconds for the client to download the map data from the server. After that, you should see a red dot representing your vehicle on a map of Washington, DC.
  • The follow-vehicle button Toast follow.jpg causes the map to rotate according to the vehicle’s heading.
  • The center-on-vehicle button Toast center.jpg keeps the vehicle in the center of the map.
  • The info button Toast info.jpg allows you to click various points of interest on the map to reveal their label.
  • The center-on-click button Toast click.jpg allows you to click the map to center it on any point.
  • The zoom buttons Toast minus.jpgToast plus.jpg allows you to zoom the map in or out.
  • Try moving your vehicle around the map by moving the GPS on the device simulator.
    • Point your web browser at localhost:8081/client/devices
    • Select the GPS device and click the buttons under Latitude/Longitude/Heading
    • You should see the car moving around on the map

Navigation Guidance

  • From the navigation screen, click the guidance button Toast guidance off.jpg on the bottom of the control panel on the left.
  • A list of destinations will appear. Select a destination.
  • You should see a route appear as a yellow line on the map.
  • The vehicle immediately starts to drive along that route at 50 kph.
  • You can adjust the vehicle’s speed and location from the device simulator.
    • Point your web browser at localhost:8081/client/devices
    • Select the Routing device and click the various buttons to alter the vehicle’s behavior.
  • To stop the routing, click on the guidance button Toast guidance on.jpg again. Then instead of selecting another destination, click the cancel button Toast cancel.jpg.


Building/Exporting Toast