I started experimenting with the source code for Px (which I’ll use as shorthand for PowerSDR OpenHPSDR mRX PS), using the 220.127.116.11 version downloaded from TAPR, here. I’m using the W5RC branch, in the PowerSDR_OpenSDR_mRX_PS directory, which has the number 3558, and compile using the free version of Microsoft Visual Studio 2015 (VS). Thanks to the team on the Apache Labs forum for pointing me to the right place.
My main objective is to learn more about the code and SDR in general, and to prepare for customizing the new Thetis code (which I understand is based on the PowerSDR code), when it comes out – all of this in preparation for receiving and operating my ANAN-8000DLE when it ships.
This first post is just some initial notes about getting set up for compiling the Px source in VS.
I start up VS using the solution file PowerSDR.sln in the Source directory. The first time you open it, VS automatically does some conversions from the previous version originally used on this package and then compiles and links just fine. After you do that once, you’re all set to start experimenting. If you don’t do this first, you’ll run up against various errors. I chose to change from Debug to Release mode, but either one works.
The main project is PowerSDR. The source file Assemblyinfo.cs is the one place where you can change the version number. Changing 18.104.22.168 to 22.214.171.124 doesn’t result in any actual change to the titlebar since it chops off the version number after the 9. But you can add a few characters to the rest of the titlebar in titlebar.cs, where you can change the name and data as you like. I simply added “- W2PA modX” to the name, where X has a sequential number, and I try to remember to change the date to the date of compiling. Note that when you change the third digit of the version (the ‘9’ in this case), Px warns you when you first start it that the database might not be consistent with the one created with 3.3.9, or whatever previous release you might have been using. So far, I haven’t changed anything that requires a database reset, so I can choose to not reset and things work fine.
The file console.cs is a good place to start since this is where the main code seems to sit, from which most of the other function branches off.
The first thing I tried was very simple. At the request of John, W1JA, who is the only one testing my changes right now, I changed the maximum tune power under high SWR from 10 to 35 W, to enable his auto-tuner to more easily activate.
More complex changes to follow.
73, de W2PA