WiSP DDE Client Ver. 3.0
october-2001 Fernando Mederos - CX6DD

	INTRODUCTION:

	"WiSP DDE Client" is the name given to a small Win98/2000(*) application written in order to provide control for rig and rotor interfaces from WiSP, Station Program, WinOrbit, Nova for Windows, SatPC32 and other satellite tracking programs.
	Windows provides a very handy way of passing information among applications: Dynamic Data Exchange or DDE. Thanks to this, applications running concurrently can exchange any kind of information, for example the name of the satellite which is being tracked, its position, up and downlink frequencies and operating modes. WiSP DDE Client takes advantage of this and works as a sofware interface between the tracking program (the one making orbit calculations) and your rotor and radio hardware interfaces.
	WiSP DDE Client accepts DDE information from WiSP, AmSAT-BDA's Station Program, EA4TX's ARS, WinOrbit, Nova for Windows, SatPC32 and Satscape. Station sends only rotor positions data thru DDE so no rig control is possible in this case.
	Currently supported rotor interfaces are: GS-232, FODTrack, CI-V, IF-100 and TrakBox. CI-V rotor interface is one that connects to the same CT-17 box as every Icom rig, so a single serial port can be used to drive rotors and radios.
	Radios supported are: IC-821, IC-970, IC-275, IC-475, IC-746, IC-R7000, IC-R8500, PCR-1000, FT-847, FT-817, FT-100, FT-736, AR-5000, AR-8000, TH-D7, TM-D700, TS-790 and TS-2000.

	(*) Note: to use interfaces requiring parallel ports under Win2000 read the information contained in "inoutnt.zip" provided by Howard-G6LVB.

	Some credit is due: AR control routines and WinOrbit DDE addition thanks to David-EB5DGP. FT-817, FT-100 and TS-2000 control routines by Howard-G6LVB.


	WiSP DDE Client can be distributed free of charge for Radio Amateur use.
	Latest version is available from http://www.chasque.apc.org/franky


	MULTI-RIG FEATURE:

	Starting with version 3.0 there is a convenient multi-rig feature which enables WiSPDDE to pick two radios from a list to take care of downlink channel and uplink channel respectively. Both channels may be attended by the same radio provided it is dual-band. Information such as tracked satellite, mode and frequency will be taken into account during the automatic selection process which is performed each time the tracked satellite changes. There is great flexibility in the selection combinations: the radios need not be connected to the same port nor they have to be of the same brand etc. Again, a single dual-band radio may be selected for both uplink and downlink channels.


	FILES:

	WiSP DDE Client is packed with the following files:

		wispdde.exe		Win95/98/2000 executable file.
		InOut.dll		DLL file for LPT port control.
		Mscomm32.ocx		Library used for COM port control.
		readme.txt		English text file.
		leeme.txt		Spanish text file.
		inoutnt.zip		Info regarding Win2000 usage.

	wispdde.exe and .txt files may be placed in any directory you choose. INOUT.DLL and MSCOMM32.OCX are provided in case they are not already present in your system. If you need them they should be placed in the Windows/System directory.
	In addition to these files, VBRUN300.DLL, COMCTL32.OCX and MSVBVM50.DLL will be needed, in case your system does not already have them you can download them from "Microsoft Download Center" page or from my own.
	To use WiSPDDE as DDE server for SatPC32, the files "wispdde.exe", "leeme.txt" and "readme.txt" must be copied into SatPC32 directory. Read at the bottom of this document important information regarding configuration with SatPC32.


	CONFIGURATION:

	When first run WiSP DDE Client is setup to receive DDE from WiSP and to drive no Radio nor Rotor interfaces.

	DDE Link:
	You should start by making sure that DDE selection is correct in the DDE Link settings window and the refresh rate suits your needs. Too fast a rate may prevent the control cycle from being completed, a minimum interval of 1 second is reccomended. The only field that should need modification is the WiSP/Station/ARS/WinOrbit server application selection, the rest should remain unchanged unless DDE from a different application is needed.  Save your settings and then go back with the Close button.

	Radio:
	Then go to the Radio menu item and select the radio number you wish to configure from the Radio Index entry. You will have to check the Enable checkbox to gain access to the rest of the entry fields. There is no limit over the number of rigs you can add to the list, under some circumstances it may be useful to give more than one Index number to the same rig.
	Then specify the model of the radio, the baudrate and the port it is attached to and its CI-V address (only aplicable to Icom radios). Note that PCR-1000 baudrate is forced at 9600.
	Bidirectional Interface checkbox is only relevant for Icom rigs and it tells whether or not to expect any reply from the rig after a command is sent. This is helpful for using simple home-made CT-17-like iterfaces that do not provide a data path back from the rig to 
the computer.
	TNC up/dn for SSB downlink checkbox is included to let the TNC with a PSK modem make corrections over the downlink frequency after the coarse frequency is set by the computer. If this is checked the downlink frequency will only be set a few times after
the pass has begun and set free after that. Appart from this, while the satellite keeps below 3deg. of elevation, downlink frequency will still be updated. This feature will only take effect when downlink mode is USB or LSB, in any other mode operation will be normal.

	Auto-Selection:
	The Auto-Selection Config. button gives access to the set of tracking conditions imposed for the automatic selection of the current radio.
	If you want the radio to be used as downlink channel, check Downlink; to be used as uplink channel, check Uplink. If you check none the radio will never be automatically selected.
	In the Satellites field type the names of the satellites you want to be tracked by this radio, or simply "ALL". There is no limit to the number of satellites entered. Be carefull to type the name *exactly* as WiSP calls it, otherwise it will not be recognized.
	In the Modes entry field type the modes you want this radio to use or just "ALL". Again there is no limit to the number of modes entered, but WiSP currently knows about USB LSB CW CW-N FM FM-N and FM-W.
	In the Freqs. entry field type the ranges you will cover with this radio, ranges are specified with the starting MHz, a slash '-' and the ending MHz. You can enter as many ranges as you like separated by spaces and they need not be in any particular order. You may enter "ALL" in this field also.
	Accesory port control is provided to drive devices such as relays to automatically change the station's configuration according to the tracking needs. If Accesory Port is enabled, the Output Value will be sent to the specified Port Address. Downlink and Uplink radios can share the same Accesory Port or not, there is no restriction over this. If they do share a single Acc.Port, both Output Values will be ORed and sent to the Port Address.
	There is a convenient Reset button to initialize all fields with sample values to use as reference.
	Save your settings and then Close to return to Radio Settings window, then Save again to save general radio settings. You may go on to the next radio now or click Close to return to Main window.
	Remember to Save your changes prior to switching to a different radio Index, otherwise you will loose them.
	During normal program execution an automatic-selection process begins each time the tracked satellite changes. This process consists of checking the set of conditions stored for each configured radio starting with radio number 1. If the tracked satellite name or frequency or mode is out of the scope of this radio it will be discarded and the next radio in the list will be checked until a suitable one is found. This is done twice, once for the downlink channel and then again for the uplink channel.

	Rotor:
	Then go to the Rotor menu item and the rotor interface settings window will show. Begin by choosing the interface type you will use.
	Bidirectional Interface checkbox is the same as the above explained for Radio settings. The current CI-V interface does not acknowledge the computers' commands, so this will remain unchecked in case you use this type of interface.
	Step size is used to round the actual rotor values received from WiSP to the nearest integer multiple of the number entered.
	An Auto Flip detection is provided because old versions of WiSP did not send flipped data over DDE even if they were setup to do so. Newer releases (starting with GSC 2.03 I believe) does send flipped rotor positions. If this option is checked, a simple algorithm is used to detect the posibility of a satellite getting into the stop position of the azimuth rotor. This is acomplished by examining where did the satellite come from and where is it going to. Assume North rotor-stop position; if the sat appeared from the West and Azimuth is increasing then it flips, if the sat appeared from the East and Azimuth is decreasing it flips, in any other case it does not flip.
	South rotor-stop position selection is available in case it is needed.
	Save your settings and then return to main window with Close button.

	NOTE: Complete information regarding the CX6DD rotor control interface in its CI-V and GS-232 flavours is available from http://www.chasque.apc.org/franky


	USAGE of WiSPDDE with DDE Servers (WiSP, WinOrbit, Nova, Station, ARS and Satscape):

	In order for this program to be able to interface a DDE Server (tracking program) with rotors and radios it must be running concurrently with it (minimized is OK). It is not relevant wether you run it before or after the server, but sats will not be tracked until the server is running too. DDE interface type must be selected in the configuration section of the tracking program to make it start sending info thru DDE. 


	USAGE of WiSPDDE with DDE Clients (SatPC32):

	The files "wispdde.exe", "readme.txt" and "leeme.txt" must be copied into SatPC32 directory. Then the files "CatServer.SQF" and "RotorServer.SQF" must be modified to contain only the word "wispdde", both files the same.
	Then run SatPC32 and in the Options menu check Rotor Control, Cat Control, DDE Rotor and DDE Cat checkboxes. Store changes and in the Cat menu verify that the Interval(Hz) field contains a value equal or greater than 50Hz if you intend to track LEO sats, otherwise frequency updates will get too fast.
	Restart SatPC32 and verify that WiSPDDE is automatically run and receives info from SatPC32. WiSPDDE will be automatically opened and closed with SatPC32.


	MISCELANEOUS:

	Automatic-Update checkboxes are provided in the Main Window to let manual changes be made over downlink and uplink radios and rotor interfaces without interference.
	The Radio and Rotor buttons are provided to instruct the program to immediately send the Radios or Rotor data respectively to the proper hardware interface.

	The program can be run in a Single-Pass mode by specifying an "s" argument in the command-line (wispdde.exe s). In this mode, WiSPDDE will wait for a satellite pass and as soon as it is over will close itself. This is very handy to run WiSPDDE from a WiSP schedule event asociated to all satellites.

	I hope you find this program useful. 
	Comments and bugs: CX6DD@amsat.org or via Satellites KO-23, KO-25 & UO-22.

	73 de Fernando, CX6DD.


Fernando Mederos, october-2001.
