FlightGear TQPanel: Difference between revisions

From FlightGear wiki
Jump to navigation Jump to search
m (cat: Software)
(20 intermediate revisions by 3 users not shown)
Line 1: Line 1:
{{Stub}}
{{Infobox Software
| title              = FlightGear TQPanel
| logo                =
| image              = Kivy_TQ_Panel_v2.png
| alt                =
| developedby        = [[User:Laserman|d-laser]], Michat
| initialrelease      = 01/2014
| latestrelease      =
| writtenin          =
| os                  = Linux, Windows, Mac, Android, iOS
| platform            =
| developmentstatus  = Under active development as of 02/2014
| developmentprogress =
| type                =
| license            =
| website            = https://gitlab.com/flightgear-tq-panel-made-with-kivy/flightgear-tq-panel-made-with-kivy
}}


<!--
'''FlightGear TQPanel''' is a python/kivy app by d-laser(aka pommesschranke) and Michat that can be used to control various FlightGear aircraft.


FIXME: use infobox software here
It is a multi-touch App, so you can move each throttle alone or both together using 2 fingers. Use 2 fingers for the toe-brakes, or only one for differential braking.


-->
Kivy apps run on Linux, Windows, Mac, android, iOS
{{infobox subsystem
 
<!--
With my kivy TQ I can now control..
|image =Canvas GUI Demo.png
* speed brake
-->
* 2 x throttle
|name =FlightGear TQPanel
* elv. trim
|started= 02/2014
* flaps
|description =
* field of view (zoom)
|status = Under active development as of 02/2013
* parking brake
|maintainers  = [https://gitorious.org/flightgear-tq-panel-made-with-kivy repository]
* thrust reverser
|developers = pommeschanke
* 2 x toe brake
}}
* gear up/down
* change view
 
(12 nodes in the protocol xml file)


Pommesschranke started a python/kivy app that he plans to use to control FlightGear aircraft.
I developed and tested on Linux(800x600) and it runs without changes on an
Android tablet (1024x600)


This is done with 83 lines of Kivy Code (*.kv) and one PNG image made with gimp.
== Gallery ==
This is multi-touch, so you can move each throttle alone or both together using 2 fingers.  
<gallery mode=packed widths=180px heights=180px>
Kivy apps run on Linux, Windows, Mac, android, iOS
Kivy TQ Panel v2.png|multitouch app to control FlightGear aircraft
Kivy TQ Panel V1.0.png|alternative style
Panel-blue.png|alternative style
</gallery>


For details, see the gitorious repository at: https://gitorious.org/flightgear-tq-panel-made-with-kivy
== Installation & Setup ==
requirements:
python and kivy or kivy launcher


About "FGPanel without FG" I just had another Idea:  
* download/git repo:
Use the Blender game engine and blenderplayer - then I could use the original 3D models which are also used inside Flightgear.
Just like the kivy app this would run on Platforms that can't run Flightgear like Raspberry Pi and Android for example.


With my kivy TQ I can now control flaps, speed brakes and 2 x throttle.
https://gitlab.com/flightgear-tq-panel-made-with-kivy/flightgear-tq-panel-made-with-kivy
I developed and tested on Linux and it runs without changes on Android.


== Installation & Setup ==
* copy the 2 xml files to the Protocol folder of your FlightGear data directory.
copy the 2 xml files to the Protocol folder of your FlightGear data directory.


start the panel:
* start the panel:
<pre>
<pre>
python main.py
python main.py
</pre>
</pre>


start flightgear:
* start FlightGear:
<pre>
<pre>
fgfs  --generic=socket,in,10,HOSTNAME,9009,udp,from_kivy  
fgfs  --generic=socket,in,10,,9009,udp,from_kivy  
</pre>
</pre>
(replace HOSTNAME with your IP-Address or hostname)


== Todo ==
== Todo ==
* some python code that talks UDP and/or Telnet with FlightGear
* config dialog and config file for the IP address of the computer running FlightGear.  - DONE, works on Linux but not yet on android :-(
* add more buttons and switches
* add all the light switches to the protocol
* make everything look more real
* on startup of the panel read the state of the aircraft, like park brake postions and the number of views
* I started some code to make it bi-directional but run into "race-conditions" when using with FlightGear. Between 2 panels it does work (one master and one slave panel)
I disabled that for now. atm the panel only writes values to FlightGear but does not read anything.
* speed brake does not work on F-16c ?


although it is not a hardware TQ I think it will be more fun to use than the keyboard. And it will be nice to have visual indicators for the position of speed brakes, throttle, flaps, gear  
== Conclusion ==
Although it is not a hardware TQ (throttle quadrant), I think it is more fun to use than the PC-keyboard. And it is nice to have visual indicators for the position of speed brakes, throttle, flaps, gear  


{{#ev:youtube|UxyHnvBo07s|400}}
{{#ev:youtube|UxyHnvBo07s|400}}


[[Category:Software]]
== Related content ==
* [[Yoke for FlightGear]]
 
[[Category:Android apps]]
[[Category:IOS apps]]
[[Category:GPL software]]

Revision as of 23:51, 16 January 2017

FlightGear TQPanel
Kivy TQ Panel v2.png
Developed by d-laser, Michat
Initial release 01/2014
OS Linux, Windows, Mac, Android, iOS
Development status Under active development as of 02/2014
Website

FlightGear TQPanel is a python/kivy app by d-laser(aka pommesschranke) and Michat that can be used to control various FlightGear aircraft.

It is a multi-touch App, so you can move each throttle alone or both together using 2 fingers. Use 2 fingers for the toe-brakes, or only one for differential braking.

Kivy apps run on Linux, Windows, Mac, android, iOS

With my kivy TQ I can now control..

  • speed brake
  • 2 x throttle
  • elv. trim
  • flaps
  • field of view (zoom)
  • parking brake
  • thrust reverser
  • 2 x toe brake
  • gear up/down
  • change view

(12 nodes in the protocol xml file)

I developed and tested on Linux(800x600) and it runs without changes on an Android tablet (1024x600)

Gallery

Installation & Setup

requirements: python and kivy or kivy launcher

  • download/git repo:

https://gitlab.com/flightgear-tq-panel-made-with-kivy/flightgear-tq-panel-made-with-kivy

  • copy the 2 xml files to the Protocol folder of your FlightGear data directory.
  • start the panel:
python main.py
  • start FlightGear:
fgfs   --generic=socket,in,10,,9009,udp,from_kivy 

Todo

  • config dialog and config file for the IP address of the computer running FlightGear. - DONE, works on Linux but not yet on android :-(
  • add all the light switches to the protocol
  • on startup of the panel read the state of the aircraft, like park brake postions and the number of views
  • I started some code to make it bi-directional but run into "race-conditions" when using with FlightGear. Between 2 panels it does work (one master and one slave panel)

I disabled that for now. atm the panel only writes values to FlightGear but does not read anything.

  • speed brake does not work on F-16c ?

Conclusion

Although it is not a hardware TQ (throttle quadrant), I think it is more fun to use than the PC-keyboard. And it is nice to have visual indicators for the position of speed brakes, throttle, flaps, gear

Related content