IC-746PRO - Any chances?

Hi there, Icom IC-746PRO user here :slight_smile: Any chance of supporting this radio?
Yeah, I know that I won’t be able to see the fancy waterfall, but I just want to be able to control my RIG :slight_smile:
I have tested the available version (stable and beta) but with no success. So, is there any plans to be included in future releases?
I’ll be more than happy to test it and provide any additional info and bug reports :slight_smile:

1 Like

Hi LimaZulu,

I don’t see why not. I haven’t looked at the feature set lately, but I am working on support for several older radios right now, might as well include that one too. Do you know if the IC-746PRO has a PTT command?

–E
de W6EL

I would be more than happy if you decide to add it :slight_smile:
About the command…I think this is what you need:

image

I can provide you the whole list of commands for this radio if you wish

if it’s a searchable pdf it would be nice to have. I keep several of the CI-V manuals here.

I got it from the transceiver’s manual. It is available and could be downloaded from the following link:
https://www.manualslib.com/manual/281866/Icom-Ic-746pro.html?page=108#manual

Hi LimaZulu,

That’s great, it’s the same PTT command as all the other Icom radios. I’ll do that next time I commit a change for supported radios.

–E
de W6EL

1 Like

That’s not unexpected as almost all of the Icom CI-V commands are the same :slight_smile:
If one follows the commands provided in the manual, can actually create very powerful tool to control almost everything in this radio.
Can’t wait for the next release! Thanks in advance! :slight_smile:

Hi LimaZulu,

You could probably make some minor changes in rigCommander.cpp if you wanted to have your radio identify as an IC-756 Pro. I agree, most of the radios support the same basic commands.

–E
de W6EL

I was thinking about that and will do it once I find time to dig into the code :slight_smile:
And if I find time to do it just before you do, will provide you the changes I made if you are interested :slight_smile:

If you get inspired, I wrote up a little how-to on adding radios:

https://wfview.org/wfview-user-manual/developers-how-to-add-new-radios/

–E
de W6EL

Cool, that would definitely lower the time needed to investigate the code :slight_smile:
Will read it for sure!

@eliggett, today I had some time to dive into the code and…nothing! :slight_smile:
To be honest never used Qt before so I had to install it first then do a bunch of adjustments to Visua Studio which I had to install as well as I didn’t wanted to mess with my daily builder that I use for work.
At first it was nightmare. Fired up visual studio, included the project and immediately 351 errors appeared :smiley: After reading a bit on how to setup Qt for use with VS managed to lower the errors to around 100. Probably biggest parts of them is because of missing headers like qcustomplot.h for example.
Unfortunately I really don’t have much time for side projects. But really want to spent some time about this one. So, if am not too cheeky, could you please you or some of the other developers, guide me to what components must be installed when installing Qt and what settings in VS have to be turned on/off.
So far I have installed VS 2019, Qt 6.2 and Qt VS tools 2.7

Hi.

Firstly, you are much better off using the latest release of Qt5.5 at the moment as one of our dependencies (qCustomPlot) doesn’t officially support 6.2 at the moment. I have started adding support for Qt6.2 in a separate branch as there are lots of changes required including an unsupported patch to QCustomPlot.

You will also need to download the qCustomPlot and opus source codes and install them in directories alongside wfview, your directory structure should look like:

parent\wfview
      \qcustomplot
      \opus

If you want to try the portaudio or rtaudio audio APIs, you will need to also download these and place them in similar directories (then uncomment the relevant line in wfview.pro)

Once everything is in place, you are best to recreate the Visual Studio project by selecting Open .pro file within Qt VS Tools. This will replace the wfview project which should then build.

73 Phil M0VSE

1 Like

LimaZulu, I hear you! It’s difficult to get it set up for sure. Phil has the goods in his post. If you spin up a Linux Mint VM, and run the compile-install script we have on the downloads page, then you can very easily install qt creator using apt-get, and then you’ll have a working build system. That’s what I would do if I were you and you just want to get your feet wet quickly. But I suppose it’s all what you’re used to.

BTW I moved the location of that howto: Tutorial: How to add new radios | wfview

Happy coding,

–E
de W6EL

1 Like

@phil, @eliggett thank you for your valuable replies.
Hope next time I dive in I will have better results and be able to provide some results instead of questions only :slight_smile:

73, LZ1DGM

Thanks guys, I managed to setup everything in just 5 minutes following @phil’s guide (well, except the painfully long time to install Qt) and successfully compile everything!
Now comes the fun part - reading @eliggett’s guide and looking to steal some time to be able to make it work! :smiley:

73’s,
LZ1DGM

LimaZulu,

That’s great news! All you really need to focus on is the rigCaps struct, which contains the radio features. A secondary concern is things like input switching if your radio has those commands.

It could be this simple, I imagine the 746 is similar to the 756? :

       rigCaps.modelName = QString("IC-756 Pro");
            rigCaps.rigctlModel = 3027;
            rigCaps.hasSpectrum = false;
            rigCaps.inputs.clear();
            rigCaps.hasLan = false;
            rigCaps.hasEthernet = false;
            rigCaps.hasWiFi = false;
            rigCaps.hasFDcomms = false;
            rigCaps.hasATU = true;
            rigCaps.hasTBPF = true;
            rigCaps.preamps.push_back('\x01');
            rigCaps.preamps.push_back('\x02');
            rigCaps.attenuators.insert(rigCaps.attenuators.end(),{ '\x06' , '\x12', '\x18'});
            rigCaps.antennas = {0x00, 0x01};
            rigCaps.bands = standardHF;
            rigCaps.bands.push_back(bandGen);
            rigCaps.bsr[bandGen] = 0x11;
            rigCaps.modes = commonModes;
            rigCaps.transceiveCommand = QByteArrayLiteral("\x1a\x05\x00\x00");
            break;

Plus the little things in that how-to that communicate rig model numbers.

–E
de W6EL

I am not familiar with 756 Pro, so I can’t be sure how similar are those radios but will be further investigated :slight_smile:
Just a quick question. Maybe a stupid one because haven’t look at the source, but how to determine the rigctlModel value? As far as I can see at what you posted it’s some hardcoded int value but didn’t manage to recognize it or connect it to something with IC-756 Pro :slight_smile:

Hi.

It is just the Hamlib model number for the rig. We don’t actually use it for anything but it is easy enough to find:

https://github.com/Hamlib/Hamlib/wiki/Supported-Radios

73 Phil M0VSE

1 Like

Oh, Jesus…setting up VS for work with Qt is way more challenging than I expected. Except of those questions that I already asked, just found that some of the paths were not set correctly leading to not throwing an error but undefined behaviour. Managed to find it only after placing a breakpoint to debug something. Then some errors for missing headers or cpps stared to appear :smiley: God knows how many of these remain hidden. Will continue to dig up once I have spare time again :slight_smile: