D-STAR mode addition for R-8600

I notice that the latest release (1.2e) does not have D-STAR mode for the R-8600. I’ve added it to my copy. I’ve included the diff here and can do a push request if desired.

Robin
AA4RC

diff --git a/freqmemory.h b/freqmemory.h
index 96d3c6b..6e4a032 100644
--- a/freqmemory.h
+++ b/freqmemory.h
@@ -26,6 +26,7 @@ enum mode_kind {
     modeS_AML,
     modeS_AMU,
     modeP25,
+    modeD_STAR,
     modedPMR,
     modeNXDN_VN,
     modeNXDN_N,
diff --git a/rigcommander.cpp b/rigcommander.cpp
index c0d3ea6..a6ea962 100644
--- a/rigcommander.cpp
+++ b/rigcommander.cpp
@@ -3151,9 +3151,9 @@ void rigCommander::determineRigCaps()
             rigCaps.modes.insert(rigCaps.modes.end(), {
                                      createMode(modeWFM, 0x06, "WFM"), createMode(modeS_AMD, 0x11, "S-AM (D)"),
                                      createMode(modeS_AML, 0x14, "S-AM(L)"), createMode(modeS_AMU, 0x15, "S-AM(U)"),
-                                     createMode(modeP25, 0x16, "P25"), createMode(modedPMR, 0x18, "dPMR"),
-                                     createMode(modeNXDN_VN, 0x19, "NXDN-VN"), createMode(modeNXDN_N, 0x20, "NXDN-N"),
-                                     createMode(modeDCR, 0x21, "DCR")});
+                                     createMode(modeP25, 0x16, "P25"), createMode(modeD_STAR, 0x17, "D-STAR"),
+                                     createMode(modedPMR, 0x18, "dPMR"), createMode(modeNXDN_VN, 0x19, "NXDN-VN"),
+                                     createMode(modeNXDN_N, 0x20, "NXDN-N"), createMode(modeDCR, 0x21, "DCR")});
             rigCaps.scopeCenterSpans.insert(rigCaps.scopeCenterSpans.end(), {createScopeCenter(cs1M, "±1M"), createScopeCenter(cs2p5M, "±2.5M")});
             rigCaps.transceiveCommand = QByteArrayLiteral("\x1a\x05\x00\x92");
             break;

Hi Robin.

Well spotted… Your implementation isn’t quite correct though as in freqmemory.h, DStar mode is already defined as modeDV which stands for Digital Voice. There is also modeDD (Digital Data) although I’m not sure if the IC-R8600 supports that?

We should be able to add this before the next release.

Thanks and 73

Phil M0VSE

Given that those defines try to match what is displayed on the radio, I’d say that DV isn’t the best enum.

:slight_smile:
Robin

Hi Robin.

No those are available modes, D-STAR is a protocol that is separated into 2 modes, DV (Digital Voice) and DD (Digital Data) so DV is absolutely the best enum item to use.

If you look at how other D-STAR supporting radios are implemented in wfview, you will see how this has been defined elsewhere (IC-9700, IC-705, IC-7100 etc.) The only reason this wasn’t done for the IC-R8600 is that none of the core team own one so we were unable to test this functionality.

It doesn’t make sense to create a new mode ‘just’ for the IC-R8600 when the existing mode(s) already cover this.

73 Phil M0VSE