Friday, April 18, 2014



And another one from Canada. After I've ported two controls from the SteelSeries to JavaFX 8 I thought it might make sense to add a third one...the Altimeter control.
But after I've created the control I thought it now might make sense to add those three controls to a little library because they are somehow related to each other.
So I've created a library called AirSeries which contains the AirCompass, the Horizon and the Altimeter control.
If you check out the source code at Bitbucket you will find a Demo class in the project and when you start it you will see something like this...

And if you want to see it in Action you might want to check this YouTube video.

I can't guarantee that these controls work exactly right because I've never used them by myself and did them only because some people asked me to create them. So if you find some problems, do not hesitate to send pull-requests :)

So happy easter to all of you and keep coding...


  1. thanks for these controls.
    the altimeter arm is not expanding correctly:

    i hope this work to be maintained in your main github repository as well.

  2. Hi there,
    Fixed the bug, please pull the latest sources from bitbucket (

  3. thanks for the fix

    few comments:
    - the performance is really slow for this application. i tried to update the horizon and compass 20 per second (feed from the flight controller) and GUI just stuck
    - compass arm is random all the time regardless of the bearing parameter.
    - appreciate any documentation on the parameters applied to this series. usually pitch/roll can have a value of (180/-180) and compass (0-360).
    - it will be good to disable the animation since the response is very delayed

  4. Hi there,
    Well if you feed the controls with realtime data you might want to set the animated property to false like horizon.setAnimated(false). Because I'm not a pilot and created the controls based on the information found on the web (and by the way just for fun) I have no idea how it usually works, so please try it and let me know what is wrong. You could also fix it yourself and create a pull request.