Skip to content
tobiz edited this page Jan 15, 2019 · 65 revisions

Welcome to the OGN-Flogger-V2.2 wiki!

OGN-Flogger is a Python APRS/OGN program to log flight times, duration and maximum heights achieved.

Functionality

Screen Shots

General

Once a change has been made to any of the fields in any tab click the green "Update" button to make the change, or the red "Cancel" button if the change is to not take effect. To run the app click the "Run" menu item at the top of the screen and click "Start" or "Stop" as required. Once "Run" has been clicked the app runs until sunset (really, dusk) when it stops logging data and starts its analysis process, this takes a few seconds depending on the power of the machine on which it is run. To exit the app click the menu "File" item and click the "Quit" drop down button.

APRS Setup Tab

This specifies how to access the APRS server to receive the FLARM data and which FLARM base stations to receive the data from. Most of the fields should not be changed except for the APRS Username and Passcode and the FLARM Base Station list. If you have one at your own airfield this is a good first choice, the more there are the better the results in particular the tracks will have more points and hence be more accurate. Hover the mouse over these fields to find out how to setup an account to access the APRS server: THESE FIELDS MUST BE CHANGED.

Airfield Data Tab

This specifies the home or base airfield from which glider launch data is to collected. The Airfield Name specified has to be that used by FLARM or OGN databases. The Airfield Details field is the name of the location used on digital maps. When this values is supplied it is used to retrieve the latitude, longitude and altitude from a digital map database. FLARM Radius is the distance in km up to which FLARM signals are to be used. Landout Radius is distance in metres from the airfield which is considered a landout. Data retention is number of days which data is to be held; after this specified number of days it is deleted. Horizon adjustment is determined by the height of the airfield above sea level and can be set zero. If known it gives a more accurate result in the calculation for determining dusk; at which time it is assumed all flying will have stopped and the database of the days flight details can be processed.

Flight Config Tab

This specifies the data used to determine which data is recorded and used to determine a flight. Minimum Flight Time is used to determine what is and what isn't a flight, for example a cable break on launch or some other abort. It has been determined by trial and error that 4mins is about right, but it is worth experimenting for your own use. Minimum Take Off and Landing Speed field are also used to determine what is and what isn't a flight. For example if it was zero then the aircraft wasn't flying the data would be logged and the database would get very large. So some value greater than zero is needed and 10kph has been found satisfactory. The same goes for Minimum QFE and 100ft has been found to give good results. Tug Launch Time is the time between a tug taking off and another aircraft, eg a glider. This is used to determine which tug launched which glider and again 50 seconds has been found to work. Min Time Between Flights is used to determine what is and what isn't a flight. For example a glider might start a take off run reach the minimum vertical take of speed and then for some reason drop down below that speed but subsequently pull away. In this case this could be considered as 2 separate flights but is really only one, the parameter stops this happening. Landout Msg Mode if specified will send an email to a designated address if a glider lands outside the specified airfield range with the glider registration and landing coordinates, at the moment only email can be specified but Txt msg is a possibility but not offered. The column of buttons on the right hand side enable various options to be set and are, hopefully self explanatory.

Fleet List Tab

This specifies the gliders, tugs etc which are part of the club fleet and for which flight data is to be logged. Aircraft can be added and removed from the list using the "Add Aircraft to Fleet" box. Each aircraft must be given a unique number in a designated range: 0-99 for gliders; 100-199 for tugs; 200-299 for motor gliders; 300-399 for anything else, eg helicopters etc. This coding is just to enable the system to determine which are gliders and tugs.

Image TBS

Advance Tab

This section specifies data used to setup and control the application and should not be changed.

Flight Logs

First example, more to follow showing winch launches, motor gliders etc.

Flight Track Maps

This is the result of double clicking the first row of the above table, the track of the flight taking off at 14:01:52. https://github.com/tobiz/OGN-Flogger-V2.2/blob/master/img/20190114_220032%20Flogger_Track-1.jpg

Installation

The Simple way

The simple way to install OGN-Flogger is to download the source code from the github website onto your machine, make sure you have the Python programming language installed (this might not standard in Microsoft Windows but is in all Linux systems and its derivatives - not sure about Android). You then need to install a set of Python programs used by OGN-Flogger. These include:

  • gpxpy
  • aerofiles
  • certifi
  • matplotlib
  • aprslib
  • pytz
  • geopy
  • requests
  • configobj
  • geocoder
  • mplleaflet
  • LatLon
  • PyQt4
  • pyephem
  • parse
  • adhocracy_pysqlite

This can be done by running the program pip, eg: pip install gpxpy etc.

You will also need to install the application sqlite3 and python-pysqlite2. Sqlite3 is not a Python program and can't be installed by pip but python-pysqlite2 can; sqlite3 should be installed by the method applicable to your operating system.

Having got this far goto the folder "src" in the downloaded code and execute "python flogger_gui.py". On Linux based systems this should be done from a console terminal window by the command line. On Windows this is not so obvious since it is a more graphically orientated OS; to do this select "Run", type in "cmd" and a window will come up into which type "python flogger_gui.py". For both operating systems if you just double click on "flogger-gui.py" if it fails to run you won't be able to see what the problem is. If everything is ok the program will run, more than likely it won't run but will say some modules are missing, it will tell you which ones. Keep running "python flogger_gui.py" until none of the missing module messages appear and the screen shown in this wiki will appear. Fill in the fields with your values and select "Run->Start from the top level menu bar.

The Developers way

Firstly install the Integrated Development Environment (IDE) "Eclipse". Add to Eclipse the PlugIns for PyDev and Git. Then clone OGN-Flogger from the github website as a new Project. You will need to install the additional programs on your machine as mentioned above. Now you can run src->flogger_gui.py by selecting "Run as"->"Python Run" from the Eclipse menus. If it fails with missing modules repeat as above.

The advantage of this method is that you can join in the development of OGN-Flogger, find bugs and suggest how to fix them, propose enhancement etc.

The Really Simple Way

The really simple method requires that the whole package has been built as a single executable using the application pyinstaller and the resultant package is on the OGN-Flogger website. Whilst this has been done and tested on both Linux and Windows machines the result has the minor drawback that the facility to present the flight tracks on a map doesn't work; this is due to an issue with the pyinstaller system and as yet a solution has not been found, until it is OGN-FLogger will not be available in this format.

Clone this wiki locally