SQUAWKBOX

Installation
Usage
Filters and Alerts
Window Positioning
Google Earth
     Save Flight Paths
     Save Animated Flight Paths
     Watching live flights
     Broadcasting Google Earth output
     Google Earth Options
Google Map display
     Google Map options
     Colours
     Contrails
     Labels
     Security
     Cockpit View
     Adding your own markers
     Broadcasting Google Map output
Remote connections and networking
Troubleshooting

Installation instructions

1. Unzip the exe file and the file squawk_codes.txt to the same directory, maintaining the directory structre in the zip archive. If you are updating from the non-Google Maps version to the Google Maps version then do not overwrite the old files but instead unzip to an empty directory.

2. The file squawk_codes.txt contains the squawk codes that the program interprets and displays. This file is set up for the squawk codes used in the UK and you will have to change its contents for your country if you are not in the UK. (Codes for the Netherlands and Turkey are included in the zip archive with some preliminary files for canada, usa, australia anew new zealand).

3. Run SquawkBox.exe and then start the AirNavSystem's RadarBox 2009 or BaseStation software with the software connected to its USB port.

4. When you have logged into the RadarBox or BaseStation software then SquawkBox should move and position itself over the top line of your RadarBox or BaseStation software.

5. Some time after RadarBox/BaseStation has acquired a few flights then SquawkBox should display "Connected" in the title bar and start scrolling the flight details with the squawk codes translated into text. This might take a minute or two when RadarBox/BaseStation first starts. The flights are sorted alphabetically by flight number.

6. Use the SquawkBox's system menu to get access to Options, the facility to load pre-recorded flight files, a squawk code look-up function and Google Earth and Google Map displays. The system menu can be opened by right-clicking on the small icon in the upper left of SquawkBox's window.

Usage

Once the flight text is scrolling it can be paused and resumed by clicking on the scrolling text area.

Options for SquawkBox can be accessed via the "Options..." menu option in SquawkBox's system menu.
You can change the following:-

1. "Always on top": Whether SquawkBox always appears on top of all other windows (the default).

2. "Show squawk code": Whether the squawk code is shown in the scrolling text (default not shown).

3. The "Internet lookup of aircraft data" allows you to control how the program uses the internet to get additional information about aircraft such as types or routes. The "Allow internet lookup" check box controls overall acccess while the timeout box governs the maximum amount of time to spend on each lookup. If many lookups are required then the program can be slowed down. Reducing the timeout may speed it up at the risk of not getting the information required from the internet.

4. "Display Priorities". Set the first, second and third priorities for the information to be displayed in the scrolling text. If the information requested in the first display priority is not available (e.g. aircraft registration) then the information the second priority is displayed instead. similarily if the second priority information is not available then the third chosen information is displayed.

When changing priorities note that the options available in the second and third boxes are dependent of that already chosen in the first. If you can not find an option in the second or third boxes then re-select the first option to reset the contents of the second and third boxes. Selecting "None" means that no priority information is displayed, so selecting "None" for the second with "Aircraft Registration" for the first means that the flight will not be dislayed at all if the aircraft registration is not available.

Note that if you select Aircraft Registration for display then SquawkBox will only display registrations for the aircraft that are already in the aircraft database at the time SquawkBox starts.

5. The amount by which the text scrolls for each step. Moving this slider to the right makes the text move a larger step for each update.

6. The interval between moving the scrolling text a step to the left. Moving this slider to the left decreases the interval and so speeds up the scrolling text.

7. The direction of the scrolling text. Select whether you want the text to scroll horizontally from right to left or vertically from bottom to top. Default horizontal.

8. The colour and font of the Flight Number, the Squawk Code and the Squawk Description in the scrolling text.

9. "Timeout on flights": The Timeout on the removal of flights from the scrolling text once they are no longer received by RadarBox/BaseStation (default 60 seconds).

10. The "Flight information location" section controls whether flight data is obtained from the computer on which RadarBox/BaseStation is being run or whether that information is obtained from a remote computer. To get data from a remote computer select the button "Computer with remote IP address:" and type the static IP address of the remote computer into the box next to the button. You can get data from more than one remote computer by entering more than one IP address in this box and separating the IP addresses with commas. If you also want to get data from the computer on which SquawkBox is running then you also need to enter the localhost IP address of 127.0.0.1 .

If your remote computer does not have a static IP address but instead use a dynamically attaching domain name service (such as that at
http://www.dyndns.com/) then you can enter the domain name in the box instead and SquawkBox will attempt to resolve this to an IP address when it connects.

The Options can be reset to their defaults by selecting the "Restore Defaults..." button on the Options dialog. The configuration options for the whole program can be reset to their defaults by clicking on the "Restore ALL Program Defaults" button on the About Dialog reachable from "About..." on the main menu.

SquawkBox reads its flight information from data output to port 30003 by RadarBox or BaseStation. Note that in the case of RadarBox only flights that are listed in "MyFlights" are output to this port and ONLY those with positional information.

Note that the squawk codes listed in squawk_codes.txt are for the UK (they have been obtained from www.nats-uk.ead-it.com/aip/current/enr/EG_ENR_1_6_en.pdf). If you want to use SquawkBox in another country then you will have to replace the information in squawk_codes.txt with the codes used in your country.

Filters and Alerts

SquawkBox can be configured to filter the information it displays and to provide user notification when particular squawk codes or modeS codes are detected. Select "Filters and Alerts..." from the system menu to set these up.

You can tell SquawkBox to filter the data so that only particular codes or groups of codes are shown. Equally you can tell SquawkBox to filter the data so that only particular codes or groups of codes are hidden. You can not combine show and hide groups however. You might want to use filters to get SquawkBox to show only those flights that have special squawk codes, such as military flights, or you might want to hide all domestic flights.

Four different types of alerts are provided as follows:-

  1. 1) Restore the window - The SquawkBox window is restored from minimized once a particular code is detected.
  2. 2) Flash the window - The SquawkBox window starts flashing once a particular code is detected.
  3. 3) Change colour - The text describing the flight details displayed in the SquawkBox scrolling text is set to a particular colour once a particular squawk is detected.
  4. 4) Play a sound - A waveform ('.wav') file is played one or more times once a particular code is detected.

Alerts 1, 2 and 4 above are 'fire once' events. After the alert has taken place the alert does not occur again until it is re-activated by going to the Filters and Alerts dialog and selecting OK to exit to dialog. Alert 3 however causes the flight details to be continuously displayed in the selected colour until the Alert is cancelled by going to the Filters and Alerts dialog and deactivating the alert or removing the squawk code from the watched list.

Alert 1, Restore the window, if selected will cause the window to be minimized once the the Filters and Alerts dialog has been exited by selecting OK. Then the window is only restored from minimized when the requested code is detected. If the window is restored by the user before detection then the alert will not be noticed unless the user minimizes the window again.

Alert 2, Flash the window, if selected will cause the window to start flashing when the code has been detected. The window will keep flashing until "Cancel flashing window alert" is selected from the SquawkBox's system menu.

A flight that has already been removed using a filter will not trigger an alert.

To use the Filters and Alerts dialog you must enter either a squawk code or squawk code range or a modeS code or modeS range in the filter and/or alerts boxes (a range is entered in the form xxxx-yyyy for squawk codes and xxxxxx-yyyyyy for modeS values). In the case of a filter decide whether you want to Show or Hide the code or code range then click Add to add it to the list of filters. To delete a filter click on the filter line in the list box and then click on Remove. The filter can be activated/deactivated by clicking on the Active checkbox.

In a similar manner, these codes or code ranges can be entered for an alert. Once this has been entered you must choose the alerts that will trigger when this code or code range is detected. These are listed on the right of the list box (restore window, flash window etc.). Once you have chosen the alerts click on Add to add it to the list. To delete an alert click on it in the list and then click on Remove. You can edit the events in an alert by clicking on it in the list, changing the events on the right of the list and then clicking on Update. Simply clicking on a line in the list of alerts show you the events that are set up for that alert, the text in the list and its colour also describe what will happen when an alert fires. When an alert is clicked on then its action can be edited and updated by clicking the Update button. As with filters, alerts can be activated/deactivated by clicking on the Active checkbox.

Window Positioning

By default SquawkBox is programmed to position itself for use with RadarBox so that it fills the gap at the top of the screen between the "File...Help" menu on the left and the RadarBox logo on the right. BaseStation users may want to make use of the menu option "Remember current window position..." to reposition the window. If you first reposition and/or resize the SquawkBox window and then click on this menu option then SquawkBox will always position itself in this position each time it starts. Having re-positioned SquawkBox you can go back to the default by clicking on the menu option "Restore default Startup window position".

Google Earth with SquawkBox

SquawkBox can create kml files for viewing in Google Earth. These take three forms;
  1. Static files containing flight paths collected over a period of time.
  2. Files with animated flight paths for flights collected over a period of time.
  3. Files showing the current position of flights as output on Port 30003.

As SquawkBox runs it now saves all flights that it has positional data for up to a fixed storage maximum, after this time older flights are deleted as new ones are saved. When the program has been running for a while (probably at least 10 minutes) you will probably have some flight data to save to a Google Earth kml file. SquawkBox's system menu option Google Earth provides three menu options for doing this as follows:-

1. "Save flight paths...":

Selecting this option will produce a static (i.e. non-animated) Google Earth kml file on which the flights stored by SquawkBox and their flight paths are shown. The program first displays a dialog on which you can choose which flights you want to save. Here you can also enter the name of the file you want to save the flights under. A default name is shown using the current date and time.

The displayed flight data can be re-ordered by clicking on the column headers. You can choose to Extrude a flight path. Extruding means that lines are dropped from the flight path so that the flight appears as a "wall" or "rollercoaster profile" within Google Earth. Doing this increases the visibility of flights that are landing or taking-off. The Auto Extrude button attempts to identify such flights and sets the Extrude checkboxes accordingly. Extrude is not recommended for flights that are overflying at high altitude.

On this dialog you can also choose whether you want to see navigational aids and/or navigational significant points added to the Google Earth kml file. If you choose to add navigational aids (only VORs/NDBs available at present) then you can also choose whether you want to see the full name of the navigational aid or just its three letter abbreviation. Adding navigational aids adds interest to the kml file in that you can see how flights steer towards navigational aids. It does however add clutter to the view and a "cleaner" appearance is obtained by omitting them.

The navigational aid data used by SquawkBox is currently only provided for a few countries/US states and is taken from the website www.worldaerodata.com/nav/. Please make a request if SquawkBox does not support the navigational aids of your country and you would like to see them added. In the case of the UK, a "leaner" navigational aids file is also provided showing the en-route navigational aids taken from the website www.nats-uk.ead-it.com. This is also where the navigational significant point data has been obtained. Significant points are only currently available for the UK. within SquawkBox.

You can filter your data before you save it using the filter controls just above the list of flights. You can choose to show flights that satisfy a particular condition or you can hide flights that satisfy a particular condition. Each filter is applied on the data displayed. If you make a mistake then just exit the dialog by pressing Cancel and re-enter the dialog to get all the flights back.

There is also an option on the dialog to set what happens to the stored flights when you choose to save them. By default nothing happens. You can however choose to delete from SquawkBox's memory the flights you have saved or you can choose to delete all flights that SquawkBox is currently remembering.

When you select save, a kml file is created in the GoogleEarth directory under the SquawkBox installation directory. If you double-click on this file then it will open in Google Earth and you can observe your flights in three dimensions. Flights and icons are colour-coded. Flights that are descending are shown in shades of green. Flights that are ascending are shown in shades of red. Other flights are shown in shades of blue. An arrow is added to the middle of each flight path that is not extruded to indicate the direction of travel of the flight. The flight identification appears above this arrow. Flight paths that are extruded do not contain arrows as their direction of travel should be obvious.

For those unfamiliar with Google Earth, you can change the height that the flights are viewed at by moving the mouse with the left button down while holding down the shift key on the keyboard. You can tilt this view by moving the mouse with the left button down while holding down the Ctrl key on the keyboard.

2. "Save animated flight paths...":

This option produces a Google Earth kml that plays as an animation of flights and their flight paths. Selecting this menu option produces dialog similar to that described above. It is not possible to Extrude flight paths however. The added option of "Show flight paths" is present. This option gives you the choice of whether you want to have full flight paths added to the animation or if you just want to see the positions of the flights.

Be warned that animated kml files for many flights when saving flight path information can be quite large (e.g. 45 minutes worth of data containing 86 flights produced a file of around 20MB). You can drastically reduce the size of these files by turning them into Google Earth kmz files. To do this zip the kml file with WinZip. Next rename the file from a '.zip' to a '.kmz'. You should then be able to open the kmz file in Google Earth by double-clicking on it. It might take a few seconds to load if the original file was quite large.

Again, the flights and their paths are colour-coded as with the static file. The difference between these files and the static ones is that you are provided with a time scale in the top right of the screen with which you can play the animation. You can control the speed of the animation by clicking on the clock icon next to the timescale.

3. "Watching live flights...":

This option allows you to watch a Google Earth kml file that is constantly updated by live positional flight information output to SquawkBox on port 30003. If you choose this option you will be presented with a dialog. On this dialog you can choose whether you want to have navigational aids added to the kml file (significant points are not available for speed reasons). You can also choose whether you want to see a "vapour trail" behind each aircraft and the length of this vapour trail in seconds from its current position.

When flights have reached the edge of your detection area they are no longer output on port 30003 by RadarBox/BaseStation. You can choose when the flight is removed from the Google Earth display once it is no longer being output on the port. If you choose a timeout then the flight and its path will be removed after the timeout time. If you do not activate the timeout then the flight will stop and remain on the screen with its flight path at its last known position.

When you have accepted the dialog you should go to SquawkBox's GoogleEarth directory and double-click on the WATCH_LIVE_FLIGHTS.kml file. This will open a self-updating Google Earth view on which the flights change position at regular intervals. To stop this updating select the same SquawkBox Google Earth menu option which will now have changed to "Stop watching flights output on Port 30003".

As with the other types of Google Earth files produced by SquawkBox, the flights and their paths are colour-coded to indicate whether they are descending, ascending or in level flight. These colours can be changed from the Options dialog described below.

When you open the WATCH_LIVE_FLIGHTS.kml file in Google Earth it will automatically open in "Temporary Places". When you exit from Google Earth you will get the message "You have unsaved items in your 'Temporary Places' folder. Would you like to save them to your 'My Places' folder?". Do NOT save this temporary file otherwise the next time you enter Google Earth to view live flights you will get a combination of old data and live data.

Broadcasting Google Earth output

For those with experience of hosting webpages:To broadcast the Google Earth flights display over the internet you will need a web publishing service like IIS or Apache. The Broadcast_flights.kml file on the GoogleEarth SquawkBox directory is used for this purpose. You should make sure that SquawkBox has been installed on a directory that is accessible from outside your computer (your localhost directory, by default C:\Inetpub\wwwroot in WinXP and C:\Program Files\Apache Software Foundation\Apache2.2\htdocs in Apache). You should then be able to give your users the url to this kml file in the form "http://< your external IP address >/SquawkBox/GoogleEarth/Broadcast_flights.kml". < your external IP address > can be obtained from a web service like http://www.whatsmyip.org/ although you may already have a static IP address and a domain related to it. If your users open Google Earth and go to File/Open in the menu system and then paste the url you have given them above into the filename box then they should be able to see your flights. An offline message should be displayed if you have not already activated the service by clicking on "Watch/Broadcast live flights...". See the Troubleshooting section for some tips on using IIS with SquawkBox.

Google Earth Options

From the menu option "Google Earth/Options..." you can set any options related to the display of flights in Google Earth. Here you can set the colours used for the flight paths and aircraft icons, the transition altitude (FL to feet), the width of the displayed flight path and how you want static flight paths labelled. In addition it is possible to enter the latitude/longitude position of your home location so that this is highlighted in Google Earth.

There are several different colours for level/ascending/descending flights because SquawkBox cycles through these colours when it creates a static and animated file of flight paths. This makes it easier to distinguish between flights. When flights are viewed in the "live" view then only the top row of colours is used. To change a colour just click on the drop-down arrow next to the colour. You can then choose a colour from the Custom, Web or System folders that appear. If you can't find a colour you want then right-click on an empty space in the Custom folder to define you own colour.

The entered transition altitude is the point at which you want "ft" to appear for the flight instead of the flight level. The flight path width is the width of the "vapour trail" displayed behind aircraft if you have chosen to view it. You can also choose to label your flight paths with an arrow to indicate their direction and can choose where you want the label to appear. Arrows can only be added to static saved flight path files (i.e non-live and non-animated).

The font size options enables you to set the font size of the text labelling each flight. Be careful in setting this, if you set it too low you may find that you need to zoom into the flight in order to read it. This is because Google Earth removes smaller details from the view until you get nearer to them.

Google Map display with SquawkBox

SquawkBox can create a local HTML page that can be viewed in a browser to show the positions of your flights on a Google Map display. The flight positional information used on these maps is taken from that output by RadarBox or BaseStation on Port 30003. The only browser that is supported for this display is Internet Explorer because it needs to use ActiveX. SquawkBox can also broadcast this display as a web page if a web publishing service is available and then you are free to use another browser than Internet Explorer to view it.

To use this facility start SquawkBox with RadarBox/SBS already started and wait until it detects and displays flights. Then click on the "Google Maps..." option in the system menu. This displays a dialog with the options for the Google Map display. You need to click on the Enable checkbox at the bottom of the dialiog to get SquawkBox to output the map display for local or web based viewing. The dialog has several different tab controlling different areas of display as follows:-

General - Tab

The first time you use this facility you can also specify where you want the map to be centered. Copy and paste your home location from the RadarBox/SBS preferences. By default the program starts with London's Heathrow airport as the latitude/longitude of the map centre otherwise. Once started the map can be panned and zoomed and remembers its current location in a cookie, so changing the initial position isn't all that important at startup if you are viewing locally. This position is however the startup position for viewing externally so if you plan to broadcast your view then make sure you set this lat/lon otherwise all your users will start with their views centered at Heathrow.

Below the home lat/lon for the map you can decide which type of map will be displayed when it is first loaded. Just like the initial lat/lon, the initial map type once changed is saved in a cookie and changing this value after that does not affect the map because the type is read from the cookie.

To remove clutter from the map it is possible to remove the zoom/pan control and the scale display from the map by checking the "Hide Zoom/Pan control" and "Hide map scale" checkboxes respectively. Zooming and panning can always be achieved by using the mouse wheel to zoom in/out and panning by clicking and dragging the mouse.

Within the General tab you can also choose the altitude at which "FLxxx" is displayed instead of "xxxxft", the frequency at which the map is updated and whether to interpolate positions. If Interpolate positions is enabled then SquawkBox generates positions for aircraft based on their heading, speed and altitude until it receives an update of the correct position from RadarBox/SBS. Interpolating positions can be useful if you are intending to use the cockpit view facility as this will create a smoother motion.

Aircraft colours - Tab

Here you can set the colours for aircraft in level flight, when they are ascending and when they are descending.

Contrails - Tab

On this tab you can decide whether to show contrails (vapour trails) behind the aircraft showing where they have travelled. The colour of the contrail can be set along with its length in seconds, its width (in pixels) and its transparency. A higher figure for the transparency makes it harder to see. You should think about which type of map you intend to view when choosing the contrail colour. White is more visible on the Satellite map whereas a darker colour is needed to make them visible on the Terrain map.

Labels - Tab

Here you can configure the appearance of labels that appear alongside the aircraft. There are three types of label as follows:-
-ClickToView : You can set what you want to see next to each aircraft, but when you click on an aircraft you get its photo and full details of the flight. On the photo panel that appears there is also a button "Cockpit View" to click to see the view from the cockpit (this is is default label type). -MouseOver : No labels are shown unless the mouse is moved over the aircraft. You can not click on aircraft. -Permanent : The labels you configure are always displayed. You can not click on aircraft.

You can decide which information and in what order you want it by selecting a position on the "Label row and column layout" grid then selecting from "Fields available" and then selecting either the Add or Remove buttons. In addition the label background colour, its transparency, the text size, the text colour and optional border can be set up.

If you know some HTML CSS then you can tweak the appearance of the map labels by editing the file LiveMapsCss.txt if you wish. The style ".aircraftlabel" is the style of the aircraft details displayed below each aircraft icon and ".ownmarkerlabel" is the style of your own markers that you may optionally add to the map (see below).

Security - Tab

If you wish to broadcast your Google Map view over the internet then you may want to limit access to that site. You can do this by enabling the password box and entering a password in the text box provided. Note that passwords only apply when the map display is viewed over the internet, not when viewed locally.

Cockpit View - Tab

If you have installed the Google Earth Internet Explorer plugin then you can activate that from the maps to see a pilot's eye view of a selected flight. This is only available if labels are set to ClickToView and only if the flight has a speed and a heading. Having clicked on a flight then a button "Cockpit view" will appear below the flight photograph. Clicking on this should launch the Google Earth plugin in the top left hand corner of the map. If you intend to broadcast your Google Map page over the internet then you will need a special API Key from Google which is configured to match the domain from which you intend to broadcast the page. This key can be obtained from http://code.google.com/apis/maps/. Once you have this key you should enter it in the Google API Key box on this tab. If you intend to run locally then there is no need to change this key.


Next choose when you want the cockpit view displayed. The three options are: i) From a button on the photo information panel - When a aircraft is clicked on a panel appears with a photo of the aircraft, on this a button can be pressed to display the cockpit view, or ii) When an aircraft is clicked on - The photo information panel is bypassed and never displayed and the cockpit view opens as soon as an aircraft is clicked on, or iii) Never show the cockpit view. Choose this option if you do not have the Google Earth plugin installed or do not want to use this feature. If you choose to have the cockpit view active then you can also choose its width and height in pixels.

The eye line of the cockpit view is displayed as if the pilot was looking out at 90 degrees rotated upwards from the floor of the cockpit. The horizon moves up or down as the aircraft climbs or descends. In order to see more of the ground (or sky) you can permanently tilt the horizon by entering a value in the Horizon Tilt Offset box. A negative value in this box tilts the view down more so that more of the ground can be seen.

Finally there is a tickbox for setting the colours in the cockpit view to reflect the amount of daylight available as measured by the time of day given on your computer. Choosing this adds a slider control to the cockpit view with a black background. This can be made more invisible by running the mouse over it.

Once Google Map output has been enabled and the dialog closed with Save then you should go to the "GoogleMaps" subdirectory and wait for the View_flights_in_browser.html file to be created there after a few seconds. When you see this file double-click on it to launch it into Internet Explorer.

Depending on your browser defaults it is then likely that you will receive a couple of warning messages because you have launched a local webpage that runs both Javascript and ActiveX. For example, with Internet Explorer 8 you get a bar at the top of the page which reads "To help protect your security, Internet Explorer has restricted this webpage from running scripts of ActiveX controls that could access your computer. Click here for options...". Click in the bar as suggested and then select "Allow blocked content" then click Yes on the dialog that appears after that (with "Are you sure you want to let this file run active content?"). Once you have done this you will get yet another dialog box which reads "An ActiveX control on this page might be unsafe to interact with other part of the page. Do you want to allow this interaction?". Click Yes. At this point the map and the aircraft icons should appear and start moving.

You can choose three different ways of displaying aircraft labels; ClickToView, MouseOver or Permanent. With ClickToView the label will contain the fields you select in the "Row and column layout" box but in addition if you click on the aircraft icon you will get a popup window giving full details about the aircraft and its flight as well as a photograph of the aircraft (if avaiable, a red cross is displayed if not on the server or "No photo" if the aircraft registration is not known). The MouseOver label displays the fields selected in the "Row and column layout" box but only when the mouse is moved over the aircraft icon. Finally, Permanent displays the fields selected in the "Row and column layout" all the time.

Aircraft routes are taken from the appropriate database, RadarBox or SBS. In the case of SBS, routes and aircraft types will only be available if the routes have been added to it by doing an AutoPopulate. If a route or aircraft type can not be found in the database then SquawkBox attempts to find it on internet. While doing this "- Network" is added to the title bar and the scrolling text may freeze for a couple of seconds.

1. Appearance of labels.

If you know HTML CSS then you can tweak the appearance of the map labels by editing the file LiveMapsCss.txt if you wish. The style ".aircraftlabel" is the style of the aircraft details displayed below each aircraft icon and ".ownmarkerlabel" is the style of your own markers that you may optionally add to the map (see below).

Note that aircraft routes are taken from the RadarBox database file (NavData.db3) which SquawkBox makes a copy of at startup. This means that any routes that are added to the database as the result of RadarBox doing an internet lookup will not appear in the information relayed by SquawkBox until the next time SquawkBox is run.

2. Google Maps - Own Markers (VORs, NDBs, Significant Points, Airports etc.)

If you rename the file README_OwnMarkers.xml to OwnMarkers.xml then SquawkBox will add the contents of that file to the map before animating the aircraft on top of them. This means that you can add VORs, NDBs, significant points, airports etc. Each line in the file describes one map marker.
The lines are in the form: <marker name="<Marker text>" lat="<latitude>" lon="<longitude>" type="<png file displayed>" width="<width>" height="<height>" xoffset="<x offset>" yoffset="<y offset>" />
e.g. there are several example markers already in this file.

The fields that describe each marker are as follows:

The <Marker text> is optional, it may be set to an empty string "".

The marker <latitude> and <longitude> can be supplied in decimal degrees or degrees, minutes and seconds, e.g. 534008N or 0022057W. The <png file displayed> is the name of a '.png' file, without its extension. The file will be taken from the OwnMarkers subdirectory. If when you enter the latitude and longitude and you use decimal degrees then you can use the decimal separator of your country (e.g. '.' in the UK & US, or ',' in Central Europe).

The <width> and <height> fields describe the width and height in pixels of the png file named in the <png file displayed> field. The <x offset> and <y offset> are in pixels and describe the position of the centre of the image (where the <latitude> and <longitude> refer to) as measured in positive pixels from the top left hand corner of the image which is taken as the point (0,0).

When creating your own png images for map markers you should align the image to the bottom left within the its area in order that any label that appears underneath it appears close to the bottom of the image. Remember to put these images in the OwnMarkers subdirectory and put details of the images in the OwnMarkers.xml file.

For those with experience of hosting webpages:Just like the Google Earth output, the Google Map output can be broadcast as a web page. This is only available when the "Enable Google Maps output on exit" checkbox has been ticked on the Google Maps dialog. As with Google Earth web output you will need to have SquawkBox as a subdirectory to your localhost directory. To get users to see your Google Map output over the internet you will need to give them the url to the "Broadcast_flights.html" on the Google Map directory in the form "http://< your external IP address >/SquawkBox/GoogleEarth/Broadcast_flights.html". < your external IP address > can be obtained from a web service like http://www.whatsmyip.org/. You may already have a static IP address and a domain related to it. Users can paste this url into their browser address bar or click on a link that you publish. An offline message should be automatically displayed by SquawkBox if you have not activated the service by clicking on "Enable Google Maps output on exit" on the Google Maps dialog. See the Troubleshooting section for some tips on using IIS with SquawkBox.

You can apply a password to your Google Map broadcast flights by checking the box Password and entering a password. This simple password system works by assigning the password to the name of the file used to view the flights. As long as people aren't able to view your files then flight display is secure and can only be reached by redirection from the Broadcast_flights.html file. If you are using Apache then make sure that you have turned off directory listing (default ON) so that the password file can not found in a directory listing.

Troubleshooting

1) Startup.

SquawkBox will not do anything until it sees a window with the title "BaseStation " or "AirNav RadarBox". In other words it waits until either BaseStation or AirNav's RadarBox program has started. You can't use both with SquawkBox at the same time.

2) Connecting to port 30003 for flight information.

Once one of the windows named above has been detected SquawkBox attempts to connect to port 30003 to receive flight informaton messages. In the case of RadarBox this occurs almost instantly, but in the case of BaseStation this might take a minute or more depending on your configuration and the speed of your PC. The program displays "Connection to port 30003 failed, attempt no.: " for each failed connection attempt up to a maximum of 100 attempts (5 minutes) at which point SquawkBox gives up.

3) Receiving flight information.

Once SquawkBox has connected to port 30003 it will start receiving and decoding flight information supplied on that port by BaseStation or RadarBox. In the case of RadarBox version 2.0, only flights with positional information (latitude & longitude) are output to the port so these are the only flights that SquawkBox can decode (non-positional flights can in fact be monitored by SquawkBox if you select "Start recording..." from the menu and then open that recorded file in SquawkBox. The output from this is however subject to a 5 minute delay for versions of RadarBox prior to 3.11 Beta and after version 2.0).

If despite the fact that you believe you are receiving flights with positional information you do not see any flights output in the SquawkBox window then you can check if SquawkBox is receiving messages with the following procedure. Open the "About SquawkBox" dialog from SquawkBox's menu. Click on the aircraft logo on the left while holding down the shift key on the keyboard. This will close the dialog and activate the message logging system. All messages received by SquawkBox are then written to a file called MessageLog.txt. The contents looks like this...

MSG,3,0,0,400EFD,0,2009/02/20,11:31:58.109,2009/02/20,11:36:58.109,EZY9RA,32875,396,328,54.3889,-2.5191,-1024,6033,0,0,0,0 MSG,3,0,0,4006B9,0,2009/02/20,11:31:58.109,2009/02/20,11:36:58.109,TCX652K,12900,333,264,53.6832,-2.3085,2048,1160,0,0,0,0 MSG,3,0,0,400A14,0,2009/02/20,11:31:58.109,2009/02/20,11:36:58.109,EZY10XH,39000,391,324,52.9354,-1.4900,2240,5430,0,0,0,0 MSG,3,0,0,48436A,0,2009/02/20,11:31:58.109,2009/02/20,11:36:58.109,KLM744,37000,480,100,53.3249,-1.9488,0,2036,0,0,0,0 MSG,3,0,0,3C6588,0,2009/02/20,11:31:58.125,2009/02/20,11:36:58.125,DLH7EM,02020,154,231,53.3237,-2.3281,2944,3421,0,0,0,0 MSG,3,0,0,4CA263,0,2009/02/20,11:31:58.125,2009/02/20,11:36:58.125,RYR1306,38000,429,277,53.4793,-2.2650,0,1114,0,0,0,0 MSG,3,0,0,4004C7,0,2009/02/20,11:31:58.125,2009/02/20,11:36:58.125,BAW282,35000,532,164,53.0622,-2.3106,0,5470,0,0,0,0 MSG,3,0,0,400B82,0,2009/02/20,11:31:58.125,2009/02/20,11:36:58.125,BMA3FP,36000,386,323,53.3428,-2.0588,0,7434,0,0,0,0 MSG,3,0,0,400DAD,0,2009/02/20,11:31:59.281,2009/02/20,11:36:59.281,EZY6883,37000,489,144,52.9765,-2.3183,0,6346,0,0,0,0 MSG,3,0,0,400B84,0,2009/02/20,11:32:05.437,2009/02/20,11:37:05.437,BMA5HY,33150,383,331,52.8606,-1.0322,2112,7402,0,0,0,0 MSG,3,0,0,4CA244,0,2009/02/20,11:32:05.437,2009/02/20,11:37:05.437,RYR153A,24000,401,272,53.6522,-3.4994,0,7663,0,0,0,0 MSG,3,0,0,4CA263,0,2009/02/20,11:32:14.484,2009/02/20,11:37:14.484,RYR1306,38000,429,277,53.4834,-2.3184,0,1114,0,0,0,0

You can deactivate this logging by following the same procedure. If you are not getting any messages then you should check whether you have any detected flights with positional information and perhaps try restarting both BaseStation/RadarBox and SquawkBox in case there has been a port connection problem.

If you are not getting any messages then it could be that another program is using the port 30003. You can check whether the port is being used by a program by taking the following steps; firstly, open a Command Prompt window (Start menu/All Programs/Accessories/Command Prompt in WindowsXP). Secondly, type "netstat -an -p tcp" (without the quotes) at the prompt. You will see output like this...

C:\>netstat -an -p tcp

Active Connections

Proto   Local Address             Foreign Address            State
TCP0.0.0.0:250.0.0.0:0LISTENING
TCP0.0.0.0:800.0.0.0:0LISTENING
TCP0.0.0.0:1350.0.0.0:0LISTENING
TCP0.0.0.0:4430.0.0.0:0LISTENING
TCP0.0.0.0:4450.0.0.0:0LISTENING
TCP0.0.0.0:10260.0.0.0:0LISTENING
TCP0.0.0.0:28690.0.0.0:0LISTENING
TCP0.0.0.0:33060.0.0.0:0LISTENING
TCP0.0.0.0:78790.0.0.0:0LISTENING
TCP0.0.0.0:107620.0.0.0:0LISTENING
TCP0.0.0.0:300030.0.0.0:0LISTENING
TCP127.0.0.1:10400.0.0.0:0LISTENING
TCP192.168.1.64:1390.0.0.0:0LISTENING
TCP192.168.1.64:236174.55.96.226:7878ESTABLISHED
TCP192.168.1.64:2869192.168.1.254:4790TIME_WAIT

The presence of the line "TCP   0.0.0.0:30003   0.0.0.0:0   LISTENING" shows that port 30003 was being used by a program when the netstat check was performed. If this was absent then the port would not have been in use.

You can also view the output from port 30003 using a Windows program called TelNet. Under WindowsXP this can be found on the \WINDOWS\system32 directory. Open this program and type in "open localhost 30003" at the prompt (without the quotes). After a while you should see messages similar to those listed above. BE AWARE THOUGH that if you first start TelNet and get it to show the messages and then start SquawkBox then you will not see any messages in SquawkBox, only if you have SquawkBox running first and then start TelNet will you see messages in both.

Another possible cause of not seeing anything in the SquawkBox window is that you might have accidentally pausing scrolling by clicking inside the window. If SquawkBox is paused then it displays "Paused" in the title bar.

4) No flights are displayed in the SquawkBox window.

To display and decode squawk codes SquawkBox needs to receive messages carrying squawk codes from its host program. These are so-called "MSG,6" messages. These messages are only sent if they are triggered by a Mode S ground radar pulse. Users in areas where there are no Mode S radars will not receive squawk data and may not receive updated altitude data either. For such users nothing will be seen in the scrolling Squawkbox window but the Google Map and Google Earth outputs should still work.

5) No flights displayed on Google Maps.

Are you using a browser other than Internet Explorer? If not, is both JavaScript enabled and did you reply "Yes" to any questions about whether ActiveX should be allowed to run?

6) The Google map won't stay where it was zoomed or panned to.

The last position of the map is stored in a cookie, you need to have cookies enabled for this to work.

7) The Google Earth icons always point north.

When viewed from above the aircraft icons used on the Google Earth display always point north. It would be possible to use other icons to indicate the heading of the aircraft but as the Google Earth display can be viewed from different angles, including below the flight, it is not possible to get the icon to point in the correct direction in all circumstances. The icon is 2D but the display is 3D.

The last position of the map is stored in a cookie, you need to have cookies enabled for this to work.

8) Google Map browser memory usage when viewed locally.

Unfortunately the Google Map functions seem to leak memory. That is, they use up memory and never release it. While this is problem is fairly small it does mean that over time the Google Map display uses up more and more memory and will eventually run out if left running for a long time.

9) The Google Earth plugin (cockpit view) does not work.

Check that you have installed the Google Earth plugin on your browser. Go to Tools/Manage Add-ons and select "Show:" "All add-ons". The Google Earth Plugin should be listed under "Google Inc", probably as "GEPluginCoClass Object". Note that the Google Earth Plugin installation is a separate installation from Google Earth.

If you (or people viewing your site) get the message "The Google Maps API Key used on this web site was registered for a different web site. The developer of this web site can generate a new key here", then you have used the wrong API Key. Get an API Key for your top domain and enter it on the Cockpit View tab in the Google Map Options.

Very occasionally when loading the page you might get a message in the Google Earth plugin area to say that the plugin could not be started. Refreshing or reloading the page in this situation should solve the problem.

To check that the Google Earth plugin works in your browser find a site like http://code.google.com/apis/earth/.

10) Broadcasting Google Earth and Google Map views using a webservice like IIS or Apache.

If you are new to website broadcasting you should first make sure that you can view the page locally using localhost in the url. i.e. does http://localhost/SquawkBox/GoogleMaps/Broadcast_flights.html show the flights in your browser (this assumes SquawkBox was installed on the subdirectory SquawkBox to the localhost directory (default C:\Inetpub\wwwroot for IIS and c:\Program Files\Apache Software Foundation\Apache2.2\htdocs for Apache).

Some other things to check..(this for WinXP)

11) IIS and Apache on the same machine

You can have both IIS and Apache installed on the same machine. Apache will take priority by default. To run with IIS instead you need to stop the Apache service by right-clicking on the Apache icon in the system tray and then selecting Open Apache Monitor. Then on the Monitor dialog click the Stop button to stop Apache. Next (in WinXP) you need to go to the Control Panel/Administrative Tools/Services and restart the World Wide Web Publishing Service. Now you should be running under IIS instead.

12) The program is very slow at entering dialogs at startup

If you are networking then as the program starts up and makes its network connections it will have to interrogate the internet for a great many aircraft at once. SquawkBox can be slow at responding to menu selections during this time. You can stop it looking up aircraft details on internet by removing the tick mark from the "Allow internet lookup" option on the Options dialog.

Acknowledgements

This program would not have been possible without the detailed tutorial on port 30003 socket data maintained by Bones. Its author also was a major contributor in getting this program to work with BaseStation.