Andrew Fletcher - Hand-knitted Software
Here are some programs I have written which you may find interesting.
I found out that my Rigol DS1104Z scope can be easily controlled over the LAN from a program. I had thought that the interface to the scope was complex, hence the clunky Ultra Scope software provided by Rigol. But it is simply a telnet interface. So I wrote some stuff to do Rigol Capture. This also has a program to capture the scope screen as a bitmap.
I also made a simple demo of the AD9851 as a VFO driven by a PIC16F887 using C which might be easier to undestand. Here is the make file. I decided not to use the AD9851 as the DDS for my Aerial Analyser as my electronics skills couldn’t cope with matching that DDS to the input aerial analyser detector circuit. However the AD9851 itself works well. If you get a board with an output filter on the sine output I would recommend you consider using the square wave output and your own filter. I got varying results from the board I had.
As part of the work for the Aerial Analyser, I wrote a simple demo of the Si5351A as a VFO driven by a PIC16F887 using C. Here is the make file, and associated header files: I2C driver – slightly altered from the HobbyTronics version, and an Si5351A driver. The chips are connected as in this scribbled drawing from my lab book. The references to ‘PK2’ are connections to the PICkit2 which I use for programming the PIC.
The Si5351A driver is a port from Hans Summer’s Arduino-based driver which you can find on Hans’ site and the QRP Labs site. Hans’ site is a wonderful resource for radio and electronics experimenters and I can’t recommend it too highly. QRP Labs make a Si5351A Synthesizer kit which contains a pre-soldered Si5351A chip, 3.3V regulator, and I2C level converters.
The CPSARC hold activity days each month, and the founder, Bob Glasgow, collects the results. He likes them in spreadsheet format and my logging software RUMlogNG exports to ADIF. So I wrote a converter program which is imaginatively called ADIF2CSV. The program is written in Racket so I can run it on Mac OS X, Linux or MS Windows as long as Racket is installed.
The GUI is a bit rough and ready as I wrote this for my own use, but it does the job. The idea is that the relevant QSOs in the logger are exported to an ADIF file and then ADIF2CSV is run. The GUI asks for the ADIF file and also for where to put the output CSV file. It then parses the ADIF and writes to the output CSV file. This output CSV file can then be imported into a spreadsheet program.
Note: 24 Nov 2017: now reports the submode if it exists and is not the same as the mode.
Waveform Generator Module
See Ramp Generator for details.
This terminal-based program just prints the WWV report. For example:
Date Hour SFI A K Forecast Logger 16-Nov-2015 21 106 14 3 No Storms -> No Storms <W0MU> 16-Nov-2015 18 106 9 3 No Storms -> No Storms <AE5E> 16-Nov-2015 15 106 9 3 No Storms -> No Storms <AE5E> 16-Nov-2015 12 106 9 3 No Storms -> No Storms <AE5E> 16-Nov-2015 09 106 9 3 No Storms -> No Storms <AE5E> 'WWV_complete
The code has a configuration section to define the DX cluster address, port and call-sign. The DX cluster must run DxSpider. The program is written in Racket so I can run it on Mac OS X, Linux or MS Windows as long as Racket is installed. Here is the source code.