Page 1 of 1

Which Visual Studio version should I use?

Posted: Sun Dec 10, 2017 12:44 am
by m0mat
I would like to investigate some potential bugs and possibly make some contributions to PowerSDR mRX.

Any pointers into the best development environment and any other prerequisites to build from source would be greatly appreciated to cut down on any trial and error.

I'm currently attempting to build using Visual Studio Community 2015, which I see others have successfully used, but I'm getting "The build tools for v141 (Platform Toolset = 'v141') cannot be found" errors.

As a primarily Linux guy I've not developed under Windows for many years so this is a learning process.

73, Matt
M0MAT

Re: Which Visual Studio version should I use?

Posted: Sun Dec 10, 2017 3:36 am
by w-u-2-o
The VC++ projects need to be built against Visual Studio 2013 (v120) and the C# against .NET Framework 4.0. Anything newer and backwards compatibility with previous versions of Windows is lost.

This is per Doug, W5WC. I am not a programmer, so about all I can do is parrot what Doug has said in the past. My understanding is that this is what everyone has standardized on.

73!

Scott

Re: Which Visual Studio version should I use?

Posted: Sun Dec 10, 2017 2:56 pm
by W2PA
Some of us are using Visual Studio 2015 or 2017. It works just fine under Windows 10. Doug then takes updates to source and recompiles under 2013.

Re: Which Visual Studio version should I use?

Posted: Mon Dec 11, 2017 12:14 am
by m0mat
Thanks Scott and Chris for your replies.

I'll persist with Visual Studio 2015 for the moment, I'm using Windows 10 so may upgrade to VS2017 in due course.

Thanks for confirming that this will work and that I'm not heading down a dead end.

73 Matt,
B/M0MAT

Re: Which Visual Studio version should I use?

Posted: Mon Dec 11, 2017 2:13 am
by w-u-2-o
The only issue with proceed with VS2017 is that beta testers may have trouble running the code without taking extra steps.

Re: Which Visual Studio version should I use?

Posted: Mon Dec 11, 2017 2:59 pm
by W2PA
Yes that's true, Scott. I can say only that my four or five beta testers have had no problem simply substituting executable files I produce in VS2017 (.exe and .dll files) into the current install directory, after renaming the release versions to enable going back to the release version. I know that at least three of those are using Windows 10 so that's the only case in which I can attest to success.

By the way, I've had no problem using multiple versions by following your earlier described method of maintaining separate directories and shortcuts (sorry, don't have the link handy). Each desktop shortcut points to three things: the directory containing the executables, the directory to execute *in* (normally the same as the dir containing the executables), and the directory where the database and other user files live. I change all three when I run separate versions.

Re: Which Visual Studio version should I use?

Posted: Mon Dec 11, 2017 5:46 pm
by w-u-2-o
Agreed, Chris. I've never had any problems myself, until recently, and never with any of your code.

Certainly the most important thing is for dev's to be comfortable and develop, so upon reflection I say use whatever makes you comfortable! The rest can all be fixed! :)

73!

Scott

Re: Which Visual Studio version should I use?

Posted: Thu Dec 14, 2017 1:31 am
by m0mat
Thanks for the replies, I now have PowerSDR mRX compiling fine using Visual Studio Community 2015.

The source of the error "The build tools for v141 (Platform Toolset = 'v141') cannot be found", was my own fault, initially I compiled the source using VS2017 then downgraded to VS2015 without compiling from fresh. Once I compiled from fresh everything was fine.

As I'm currently travelling and don't have access to a radio, I'm looking for a way to trick PowerSDR into thinking it's connected to a radio, I've tried Alan M6NNB's emulator ( https://github.com/ahopper/Patroclus ) but as I understand this needs to run on separate PC to PowerSDR.

Is there a way to run PowerSDR without a radio? Initially I want to look at making some additions to the CAT/Midi interface, so not particularly dependant on being connected to a real radio.

The code all looks very clean, easy to read and well structured, so congratulations to all the developers.

73, Matt
B/M0MAT

Re: Which Visual Studio version should I use?

Posted: Thu Dec 14, 2017 4:07 pm
by w-u-2-o
Matt,

The old, legacy version of PowerSDR, the one that worked with the older Flex radios, supported a "demo mode". Unfortunately, I do not believe this is supported any longer in PowerSDR mRX PS.

73,

Scott

Re: Which Visual Studio version should I use?

Posted: Thu Dec 14, 2017 10:01 pm
by W2PA
Matt,

I've been able to test MIDI code with PSDR-OSDR mRX PS without hitting the Power button. It doesn't even look for a radio until you do that. Most of the controls still work, however, so you can test a MIDI controller's ability to control them without turning it on.

Of course, ultimately you want to test fully with the radio operating, but for code debugging it works fine.

Re: Which Visual Studio version should I use?

Posted: Thu Dec 14, 2017 11:40 pm
by m0mat
Chris,

I wasn't expecting the CAT and MIDI code to be running without hitting the power button so that's great for debugging.

Also, Alan's emulator is working great on the same PC for Thetis, so for the exploratory functions that I'm looking into I can test them using Thetis and port them into PowerSDR for testing when I get connected to a real radio.

Next question, what's the best way of reporting very minor bugs, Direct to you as I can see you've been working on this part of the code?

For example I believe in Midi2CatCommands.cs line 1698 should read

int NRState = Convert.ToInt16(commands.ZZNV("")); // <-- was ZZNS

Or should I report them through git?

73, Matt

Re: Which Visual Studio version should I use?

Posted: Fri Dec 15, 2017 11:38 am
by W2PA
Matt,

We haven’t yet embraced the full Github process. So the best way to report this kind of minor change is to make the change yourself (and test it), and then send the modified source file to Doug, W5WC, who merges changes and stages the releases.

In the case of the MIDI code, normally you could send it to me as well. It’s just that I’m not currently touching it and working something different.