More WinDopp Display Program Information
The WinDopp Display
Integration and Heading
Save / Recall on Exit
Major Features :
WinDopp Specs : Requires an IBM / Windows PC
Program : Windows program, full color display
SIMULATION mode to allow evaluation without a DF
Install "Wizard" provided to simplify program installation
Written in VisualBasic 6.0, source code available on request
Input Port : COM 1 to COM 8, user selectable
Baud Rate : 1200 to 9600, user selectable
Input DF Message : Agrello DF standard message
Input GPS Message : NMEA GPRMC or GPVTG for heading/speed
Data Sources : External DF and/or GPS, driving the selected COM port
Internal SIMULATION source
Memory display ( five memory positions )
Presentation : Relative bearing display ( 12 0’clock = vehicle heading )
Controls : ACQUIRE on/off
TEST on/off ( = simulation )
DECAY on/off ( + DECAY interval and fraction )
CLEAR ( = erase display )
QUIT ( = exit program )
VAR adjust ( magnetic variation )
VAR enable ( MAG / TRU heading display )
HEADING cw / ccw
CURSOR cw / ccw
MEMORY store / recall ( five displays )
General Description :
The WinDopp DF display program is a ( free ) IBM / PC Windows display program, intended for use with the PicoDopp DF, or any other DF that generates ( standard ) "Agrello format" DF messages. It has a simulation mode that allows it to be used without a DF or GPS input, for evaluation and / or learning purposes… you can download, install and run it now.
WinDopp can also accept an NMEA GPS input of vehicle heading, ( GPRMC or GPVTG messages ) which will drive the compass input, and provide an azimuth stabilized display which fully enables the visual integration features of the program. ( explained later )
When employed with a PicoDopp DF and a suitable GPS, no switching between the GPS and DF inputs is required… the PicoDopp DF accepts the GPS input, and automatically relays the required GPS message to the display program.
GPS Evaluation Without a DF
A GPS can also be connected directly to the WinDopp display program, ( without a DF ) and the azimuth scale will "follow" the vehicle heading, ( if GPS is selected as the heading source ) although no DF bearings ( obviously ) will be painted on the display. This feature can be used to prove that the GPS is generating the NMEA messages required by the WinDopp program, before purchasing a PicoDopp DF.
NOTE : WinDopp will ignore the GPS heading data if the GPS speed is less than 3 miles per hour, and a warning message "GPS SPEED" will be displayed. If no suitable GPS data is detected, a different warning message will appear : "GPS FAIL"
The WinDopp Display
The WinDopp display screen is similar to a radar screen, with "relative bearing presentation"… this simply means the 12 o’clock position of the display always represents the direction of travel for the vehicle, or the vehicle "heading". ( 3 o’clock = vehicle right side, 9 o’clock = vehicle left side, 6 o’clock = vehicle backside )
Each DF message is "painted" as a vector on the screen, in the direction reported by the DF message. The program keeps track of how many DF messages have been previously reported on each bearing, ( 0 to 359 degrees ) and this "total count" determines the length of each vector displayed on the screen.
The program has the capacity to store and display hundreds or even thousands of DF bearings. This allows the display to reveal a "general direction" for the DF bearings, even if the individual DF bearings appear to be completely random and "wild". This "visual integration" feature of the program is one of the main virtues of this type of display... any "non-randomness" of the DF bearing will eventually be revealed if enough data is accumulated for the display.
"Range rings" are provided to indicate the number of DF messages on each bearing. The rings are set in increments of ten messages per ring. The number of range rings automatically increments or decrements as required, to "fill" the screen with the available DF data.
A "cursor line" is also provided, to allow the user to exactly identify the signal direction, if a major lobe can be discerned on the display. The cursor line can be rotated to any angle, and the resulting bearing angle can be read on the cursor display readout, located in the lower left corner of the display.
Visual Integration and Heading Data
The ability of the program to faithfully integrate hundreds or thousands of DF bearing messages relies heavily on accurate heading information of the vehicle. This is essential because all DF units ( including the PicoDopp ) generate only "relative" bearings, with vehicle heading = 000 degrees. If the vehicle heading changes by some amount, the bearing reported by the DF will also change by an equal amount, in the opposite direction.
For example, if the vehicle is directly facing a signal, the DF will report a signal bearing of 000 ( relative ) degrees. If the vehicle then makes a 90 degree turn to the left, the signal will now approach the vehicle from the right side, and the DF will report a signal bearing of 090 ( relative ) degrees, even though the location of the signal source has not changed.
This is not a problem for an ordinary DF display, which only indicates the present DF bearing. ( a "realtime" DF display ) For a display which visually integrates hundreds or thousands of DF bearings, ( as WinDopp does ) these changes of vehicle heading will "invalidate" all the DF data that was previously accumulated, because the "reference direction" for those measurements has changed. Therefore, the validity of all the DF "history" data will be lost, unless some means is provided to correct or compensate for changes of vehicle heading.
The WinDopp display program has the ability to compensate for changes of vehicle heading, either manually or automatically. Manual corrections require "maintenance" of the vehicle heading in the program, by a person who constantly observes the vehicle direction, and who updates the vehicle heading ( in the WinDopp program ) whenever the vehicle heading changes by more than a few degrees. This information must come from some external source, usually a magnetic compass but possibly also from a GPS.
Automatic heading updates are much more convenient, but require a GPS input for the program. Most laptop computers only have a single COM port for data input, so this port must be switched back and forth between the DF and the GPS outputs, ( at regular time intervals ) to use this feature. This is not as bothersome as manual heading updates, but it is still a chore.
The PicoDopp DF eliminates this port switching, and fully automates the heading update process… in this mode of operation, the GPS is connected directly to the PicoDopp DF. The PicoDopp constantly searches for the desired GPS messages while simultaneously performing its DF function, and reporting DF bearings to the display program. If a suitable GPS message is detected by the PicoDopp, it is relayed to the display computer through the same RS232 output that provides the DF messages. Therefore, no "port switching" at the display computer is required… the PicoDopp handles this chore, automatically.
The GPS must be capable of generating NMEA messages at 4800 baud, to be used with the PicoDopp DF. If a PicoDopp DF is not employed ( i.e. direct GPS connection to WinDopp display computer ) then alternative baud rates are available, in the WinDopp display program. ( OPTIONS page )
When used with the PicoDopp DF, the GPS must furthermore generate either the NMEA $GPRMC message or the NMEA $GPVTG message. ( These are both extremely common GPS messages ) Either of these messages can drive the WinDopp compass input.
It will usually be necessary for the user to adjust the settings in the GPS to generate NMEA messages, and a special cable may be required, for connection of the GPS RS232 output to the IBM display computer input.
Various items of data are constantly updated and displayed in the WinDopp screen, as "captions".
The captions in the upper left part of the screen provide information about the DF messages being received and displayed : how many DF messages have been received since the screen was last cleared, how much time has elapsed since the first message was received, and the DF bearing of the last message received.
The DF bearing caption is always displayed exactly as it was received from the DF, ( relative bearing ) so it can be compared against any other type of display that might also be used by the DF. ( NUMERIC readout, MultiDisplay, etc. ) The last DF bearing received is also indicated by a DF "bug" which is a small, empty circle painted just outside the azimuth scale, on the DF bearing.
The captions located at the 12 0’clock position of the azimuth scale identify the source of data presently being displayed on the screen, as well as the present vehicle heading, ( expressed in degrees ) the source of heading data ( manual or GPS ) and whether the heading is expressed in magnetic or true degrees.
The captions located on the right side of the screen include a copyright declaration, the present system time for the computer, ( hours / minutes / seconds ) and the selected COM port and baud rate.
The captions located at the bottom left corner of the screen indicates the present settings for the DECAY function, ( DECAY fraction and interval ) the present display "range", ( = number of DF messages required for a vector to reach the edge of the azimuth scale ) and the present cursor bearing, in magnetic or true degrees.
The ACQUIRE button turns on / off the acquisition of input data, both for the internal simulation, ( TEST ) and also for the external RS232 input.
The TEST button enables / disables the internal simulation routine… when the simulation is turned off, the RS232 input is automatically selected. ( unless a MEMORY display has been recalled )
The DECAY button enables / disabled the automatic DECAY feature… when enabled, all DF vectors are multiplied by a fraction ranging from 0.95 to 0.5, at regular time intervals ranging from 5 seconds to 30 seconds. These fraction and time values can be adjusted ( by the user ) on the OPTIONS page. The DECAY function provides a way to automatically "wash out " old data on the screen, to keep the display "fresh". The DECAY function therefore provides a "stepwise approximation" of an exponential time decay, for DF data.
The DECAY function permanently alters the display data, and cannot be "undone". The original display can be saved in a MEM position, if the user wishes to restore it.
The REDUCE button is similar to the DECAY button, but it is manually operated, and it operates by SUBTRACTING a fixed number from all DF vectors that are currently displayed. In all cases, the number subtracted equals ten percent of the presently displayed range. For example, if the present display range is 60 bearings, ( 5 range rings plus azimuth scale ) then operating the REDUCE button will cause a value of 6 to be subtracted from all the DF vectors on the display.
The REDUCE button can be used to clarify a display which has no clear "major lobe". Subtracting a fixed number from all DF vectors will have a larger "percentile" effect on small vectors than on large ones, so the REDUCE function tends to enhance lobe and null patterns, on the display. Typically the REDUCE function must be operated several times in succession, to achieve the desired clarity in the display.
The REDUCE function permanently alters the display data, and cannot be "undone". The original display can be saved in a MEM position, if the user wishes to restore it.
The CLEAR button clears the display of all vectors.
The SECTOR button "spreads out" all DF vectors by a specific, user-selectable angle. This angle can range from 4 degrees to 108 degrees, ( in 10 steps ) before "rolling over" back to 4 degrees. If the SECTOR value is set to 12 degrees, and the DF reports a bearing of 240 degrees, then the display will "add one" to the length of all display vectors between 234 degrees and 246 degrees.
The SECTOR function helps to compensate for the normal variation or "jitter" of DF bearings, ( reported by a DF ) and increases the visibility of a signal coming from a "general direction", as long as the variation of the signal bearing is less than the value selected for SECTOR.
The SECTOR function can also be used to relax the heading update requirements, if a manual heading input is used. As long as the vehicle remains on a specific heading that does not vary by an amount larger than ½ of the sector value, then a heading update is not really necessary.
The SECTOR function does NOT permanently alter the display data. The original display can be restored at any time, by restoring the SECTOR value to its original value.
The VAR button enables or disables the magnetic variation correction. The value used for magnetic variation is entered on the OPTIONS page. With VAR disabled, this correction is not applied to the display. With VAR enabled, the correction is applied. The VAR function can also be used to "calibrate" the DF in software, rather than adjusting the CALIB trimpot, which may not be easily accessible. ( to compensate for alignment errors between the vehicle centerline and the antenna centerline )
The five MEM buttons allow a display to be saved or recalled, while the program is running. ( MEM data is lost on program exit ) Operating any of the MEM buttons will reveal 3 new buttons, ( SAVE, RECALL and CANCEL ) which allow storage, retrieval or abort ( respectively ) of the display. These buttons will vanish whenever one of them is operated.
If a MEM display is recalled, the ACQUIRE and TEST modes are both turned off, and the display that was present before the MEM recall is lost.
The HIDE / SHOW button has 3 states, and is used to hide or show the control buttons and readout captions on the display. The first state ( default ) shows all buttons and captions. The second state hides the buttons but shows the captions. The third state hides both buttons and captions. The HIDE / SHOW button can be used to reduce screen "clutter", which is especially useful if the display window is "sized" to a small window, which does not cover the entire screen. ( possibly to allow simultaneous viewing of other screens ) When operated in this manner, the controls can still be actuated ( even though they are not visible ) with keystrokes. NOTE : The location of the HIDE / SHOW button "jumps" to the top right corner of the screen, ( if actuated ) to provide maximum clearance for the azimuth display.
The OPTIONS button reveals the OPTIONS page, where a variety of semi-static parameters can be changed. These include the COM port and baud rate, the heading source, the magnetic variation value, the DECAY rate and time interval, and the color scheme used for the display. ( more about color schemes later )
The WINDOW button switches the display window between a "maximized" window ( fills the screen ) and a "sized" window, whose size can be adjusted with a mouse, by dragging the border. This is similar to the regular Windows control icons located in the top right corner of the window, but the WINDOW button has the added benefit that it can be operated with a "W" keystroke, so a mouse is not required.
The CURSOR UP / DOWN buttons allow the user to move the cursor line to any angle on the display, so that the direction of a major lobe can be precisely identified. The cursor angle ( in degrees ) is displayed by a caption in the lower left corner of the screen. The CURSOR buttons normally increment / decrement in one degree steps, but both buttons also have "high speed" modes which increment / decrement in ten degree steps. ( see CONTROL OPERATION, below )
The HEADING UP / DOWN buttons allow the user to manually enter heading changes for the vehicle, if no GPS is employed for this purpose. These buttons are rendered invisible if GPS is selected for the compass input, on the OPTIONS page. The present heading source and value ( expressed in degrees ) is displayed at the 12 o’clock position of the display. The HEADING buttons normally increment / decrement in one degree steps, but both buttons also have "high speed" modes which increment / decrement in ten degree steps. ( see CONTROL OPERATION, below )
The control buttons on the MAIN DISPLAY can be actuated by a mouse click, or by a single keystroke on the keyboard. The latter method is easier to use in a vehicle, and this method continues to work even if the buttons are rendered invisible by the SHOW/HIDE button. The caption displayed on each button has a letter ( or number ) "prefix" that indicates which keystroke is associated with it. Keystrokes are not "case sensitive".
NOTE : Keystrokes can only be routed to one screen or "window" on the display. The Windows operating system automaticaly routes keystokes to the window that currently has the "focus". Windows allows multiple screens to be visible at one time, the screen that presently has the focus ( and will receive keystrokes ) is indicated by a blue title bar, along the top edge of the window. Other windows will have grey title bars. The focus can be shifted to the WinDopp screen by clicking anywhere on the WinDopp window with the mouse, and this will enable keystroke operation of the display.
The ( numeric ) keystrokes required for the CURSOR and HEADING buttons must be entered on the NUMERIC keypad. The ( numeric ) keystrokes required for the memory SAVE, RECALL and CANCEL buttons must be entered on the regular ( alphanumeric ) keyboard.
The control buttons on the OPTIONS page do not have this ( single keystroke ) feature, but they can still be actuated from a keyboard by scrolling the button "focus" to the desired button with the TAB key, and then hitting the RETURN key. This feature also works for the MAIN DISPLAY as well. For both display pages, the direction of movement for the "focus" can be reversed by holding down the SHIFT key while hitting the TAB key.
The HEADING UP and HEADING DOWN buttons ( on the MAIN DISPLAY page ) are rendered invisible if the compass source is switched to GPS. ( compass source is selected on the OPTIONS page ) Furthermore, the memory SAVE, RECALL and CANCEL BUTTONS remain invisible until a MEMORY button is selected. ( to reduce screen clutter )
The HEADING UP, HEADING DOWN, CURSOR UP and CURSOR DOWN buttons normally increment or decrement in one degree steps. They can also be incremented or decremented in ten degree steps, using either the mouse or keyboard. For ten degree steps with a mouse, click and hold the left mouse button down… after a 1 second delay, the selected button will begin incrementing or decrementing in ten degree steps, until the mouse button is released. For ten degree steps with the keyboard, press and hold either the CTRL or ALT key before pressing the desired keystroke.
In all cases, hitting the RETURN key will trigger the button which presently has the "focus", and the focus can be moved to different buttons with the TAB key. For buttons with only two valid states ( such as DECAY ) successive keystrokes of the RETURN key will "toggle" the button between these two states. For buttons with multiple valid states ( such as SECTOR ) successive keystrokes of the RETURN key will "scroll through" the available values for that button, and will eventually "roll over" to the original value.
Save / Recall of Control Settings and Data
Some of the settings and values for individual controls are automatically saved on program exit, and restored whenever the program is re-started. This is also true for some items of data, such as the COM port and baud rate, the value used for magnetic variation, the heading source, the 4 ( user defined ) "saved" color schemes, and the last color scheme that was employed when the program was previously terminated.
The image below shows the OPTIONS page for the WinDopp program. All the data defined on this page is saved on program exit, and restored on the next program restart.
Warning Messages and Alarms
There are three warning messages / alarms in the program, which only appear when an abnormal condition exists.
If the program fails to detect any RS232 messages for 3 seconds, the captions in the upper left will be replaced with a "COM TIMEOUT" caption. This warning will only appear if the RS232 input is enabled : TEST = off, ACQUIRE = on. This message will be extinguised by the detection of ANY RS232 messages, including GPS and / or DF messages.
If the program fails to detect any GPS messages for 8 seconds, a "GPS FAIL" message will appear in the center of the azimuth scale. This message will only appear if the RS232 input is enabled, ( TEST = off, ACQUIRE = on ) and the GPS input is selected for the heading source. Specifically, the program searches for the NMEA GPRMC or GPVTG messages, and will display this warning if neither message is detected, in 8 seconds.
If the program detects the proper GPS heading messages, ( GPRMC or GPVTG ) but these messages indicate the vehicle speed is less than 3 miles per hour, the program will reject the GPS heading information, and will display the warning message "GPS SPEED" in the center of the azimuth screen, to indicate the heading data is not being updated. ( GPS heading data is not accurate at low speeds )
The OPTIONS page allows the user to select individual colors for several items on the display. These colors can be permanently saved in four sets, labeled "A" through "D", and recalled whenever the program is re-started. The program also ( automatically ) saves the colors used when the program was terminated, and restores them when the program is re-started. The DEFAULT color button will recall a fixed set of colors, if the user ever wishes to return to the "starting point" colors.
Typically, the user may wish to define at least two color schemes… one for daytime viewing, another for nighttime viewing.
Clicking on a color button ( or its associated color window ) will allow the user to define the color for that particular item. A "color dialogue" box will then appear, which will allow the user to select from a preset assortment of 48 colors, ( arranged in 8 columns x 6 rows ) or the user may define their own "custom color" by adjusting the hue, saturation and luminosity of the color.
Hue refers to the actual color. ( red, green, blue, etc. )
Saturation refers to the intensity of the color. ( bright green versus pale green )
Luminosity refers to the "brightness / darkness" of the color ( amount of black mixed with the color )
To define a custom color, a crosshairs cursor is provided in the color window, which can be moved with a mouse by clicking / dragging it to a new location, and releasing it there. The new color is then shown in the preview window, above the "color/solid" caption.
Horizontal movements of the crosshairs cursor will change the HUE of the custom color.
Vertical movements of the crosshairs cursor will change the SATURATION of the color.
A scroll bar provided on the extreme right can be used to adjust the LUMINOSITY of the color.
Once a color is selected / adjusted, click "OK" to accept the color, or "CANCEL" to abort the selection.
The WinDopp display program is intended for use with a display of 640 x 480 pixels, or 800 x 600 pixels.
Displays with higher resolution will work, but the buttons and captions will appear smaller, especially with increasing screen resolution. The speed of program execution will also suffer, because the program must update more pixels during each program cycle, with a "hi-res" screen setting.
The screen resolution can be reduced in the Windows START / SETTINGS / CONTROL PANEL menu, by selecting the DISPLAY icon and then the SETTINGS tab. ( change the Desktop Area ) This setting will affect ALL Windows program displays, ( not just WinDopp ) so it must eventually be restored to its original value.
Faster Screen Updates
In some situations, a fast screen update is essential for DF operation, such as when tracking signals of very brief duration. ( repeater "kerchunkers" for example ) The WinDopp display updates at the fastest rate when the screen is "sized", ( does not fill the screen ) so that fewer pixels must be updated with each program cycle. A smaller ( "sized" ) window will increase program speed, also.
Decreasing the Windows screen resolution to the lowest possible value ( 640 x 480 ) will also accelerate program speed.
If even faster update rates are necessary, the original IBM MsDOS ( monochrome ) display program typically runs about twice as fast as WinDopp, although it does not have the ( very desirable ) feature of a GPS stabilized display.