Yet Another DDE Software

I use Orbitron for tracking orbitting satellites and it's great. Especially, after mastering what satellite to follow, it'd be more convenient to have your own TLE files. See details on Orbitron website.

As you might already know, Orbitron comes with DDE support for adjusting the doppler shift and communicating with your antenna AZ/EL controller if you have one.

I wanted to use HDSDR software with Orbitron while getting data for my custom AZ/EL controller but I figured out I can not get AZ/EL AND get the doppler shift corrected in HDSDR in the way I want it to be.

I wrote a small program, which mimics works as MyDDE driver (which is originally written in Pascal). I never worked with Pascal so writing my own program appeared an easier solution.

The program is started within Orbitron by selecting MyDDE as the driver. If you are already using MyDDE, just change the folder name of the original executable so Orbitron will ask you next time where DDE executable is located at. Just browse to the file you download below and you'll be good to go.

The barebone console proves I can get DDE data.

MyDDE

A detailed look at raw DDE data:

It breaks down like this:

    • SN (probably stands for Satellite Name) = QB50P1
    • AZ (Azimuth) in decimal degrees
    • EL (Elevation) in decimal degrees
    • DN is the Downlink Frequency in Hertz
    • UP is the Uplink Freqency in Hertz

I was a bit worried that HDSDR will not be happy with my version of DDE but apparently it's working. I haven't tried with SDR# but it should work.

The next thing is to break down these data strings and forward it to Arduino.

But as i write the code, I thought about having flexible output abilities so I came up with the following options.

    • TCP Output
    • UDP Output
    • Serial Output

After some parsing and programming a new GUI, it starts to look pretty.

Not only looks pretty, forwards DDE Orbit data from Orbitron to TCP port (UDP and RS-232 Available)

Note the open Telnet on Localhost on lower left.

I'm currently working on making the TCP,UDP and serial output customizable to forward user selected items. It's more related to working on GUI since data is already parsed on Multimode DDE.

The source code is below, written in PureBasic. It's very quick&dirty method which uses Windows API for communicating with DDE.

The compiled version is tested on Windows 7 and works neatly.

The software does minimum error checking. The only crash I can repeat is when I first run Multimode and start Orbitron afterwards. This is not a significant issue since the process is 99.5% of time is launched while Orbitron is working.

I suspect a small memory leak currently and wasn't able to locate it as of November 16,2016.