kopia lustrzana https://github.com/Hamlib/Hamlib
Updated k3_set_modes to work on KX3
rodzic
3ca0313fb4
commit
d33884750a
|
@ -1062,15 +1062,24 @@ int k3_get_mode(RIG *rig, vfo_t vfo, rmode_t *mode, pbwidth_t *width)
|
||||||
* The K3 supports AFSK & FSK sub-modes and for the D versions it also
|
* The K3 supports AFSK & FSK sub-modes and for the D versions it also
|
||||||
* has an internal RTTY and PSK31 decoder. The decoder sub-modes are
|
* has an internal RTTY and PSK31 decoder. The decoder sub-modes are
|
||||||
* reported as FSK (RTTY) and the AFSK sub-modes are reported as
|
* reported as FSK (RTTY) and the AFSK sub-modes are reported as
|
||||||
* PKT(USB & LSB). LSB modes are assumed to be RTTY and USB modes are
|
* PKT(USB & LSB). The Submode determines if MD6 starts off in USB
|
||||||
* assumed to be PKT(PSK, WS modes etc.).
|
* or LSB. To get the reverse of that, you send MD9 and the the submode.
|
||||||
|
* On KX3 it's
|
||||||
|
*
|
||||||
|
* DT0 defaults MD6 to USB
|
||||||
|
* DT1 defaults MD6 to LSB
|
||||||
|
* DT2 defaults MD6 to LSB
|
||||||
|
* DT3 defaults MD6 to USB
|
||||||
|
*
|
||||||
|
* So to inverse that DT0 for LSB, you'd send MD9 then DT0.
|
||||||
*
|
*
|
||||||
* For mode set the data sub-modes are set as follows:
|
* For mode set the data sub-modes are set as follows:
|
||||||
*
|
*
|
||||||
* RTTY -> FSK D normal (LSB) VFO shows MARK QRG
|
* PKTUSB = sets the rig to DATA mode submode Data A (DT0)
|
||||||
* RTTYR -> FSK D reversed (USB) VFO shows MARK QRG
|
* PKTLSB = sets the rig to DATA REV mode submode Data A (DT0)
|
||||||
* PKTUSB -> DATA A normal (USB) VFO shows suppressed carrier QRG
|
* RTTY = sets the rig to AFSK A 45 bps rtty (DT1)
|
||||||
* PKTLSB -> AFSK A normal (LSB) optimised for RTTY VFO shows MARK QRG
|
* RTTYR = sets the rig to FSK D 45 bps rtty (DT2)
|
||||||
|
* PSK = sets the rig to PSK D (DT3)
|
||||||
|
|
||||||
* Not all data sub-mode combinations are possible but the above
|
* Not all data sub-mode combinations are possible but the above
|
||||||
* mapping seems most likely to cover the user requirements.
|
* mapping seems most likely to cover the user requirements.
|
||||||
|
@ -1092,24 +1101,36 @@ int k3_set_mode(RIG *rig, vfo_t vfo, rmode_t mode, pbwidth_t width)
|
||||||
|
|
||||||
switch (mode)
|
switch (mode)
|
||||||
{
|
{
|
||||||
case RIG_MODE_PKTLSB:
|
case RIG_MODE_PKTLSB:
|
||||||
mode = RIG_MODE_RTTY;
|
mode = RIG_MODE_RTTY; // in "DT0" Subband RIG_MODE_RTTYR = USB and RIG_MODE_RTTY = LSB
|
||||||
snprintf(cmd_m, sizeof(cmd_m),
|
snprintf(cmd_m, sizeof(cmd_m),
|
||||||
"DT1"); /* AFSK A mode - AFSK on LSB optimised for RTTY, VFO dial is MARK */
|
"DT0"); /* DATA A mode - DATA (REV) on LSB optimized for HF Packet, VFO dial is suppressed carrier QRG */
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case RIG_MODE_PKTUSB:
|
case RIG_MODE_PKTUSB:
|
||||||
mode = RIG_MODE_RTTY;
|
mode = RIG_MODE_RTTYR; // in "DT0" Subband RIG_MODE_RTTYR = USB and RIG_MODE_RTTY = LSB
|
||||||
snprintf(cmd_m, sizeof(cmd_m),
|
snprintf(cmd_m, sizeof(cmd_m),
|
||||||
"DT0"); /* DATA A mode - AFSK on USB general, VFO dial is suppressed carrier QRG */
|
"DT0"); /* DATA A mode - DATA on USB general, VFO dial is suppressed carrier QRG */
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case RIG_MODE_RTTY:
|
case RIG_MODE_RTTY:
|
||||||
|
mode = RIG_MODE_RTTY; // in "DT1" Subband RIG_MODE_RTTY = LSB and RIG_MODE_RTTYR = USB
|
||||||
|
snprintf(cmd_m, sizeof(cmd_m),
|
||||||
|
"DT1"); /* FSK D mode - direct FSK on LSB optimized for RTTY, VFO dial is MARK */
|
||||||
|
break;
|
||||||
|
|
||||||
case RIG_MODE_RTTYR:
|
case RIG_MODE_RTTYR:
|
||||||
|
mode = RIG_MODE_RTTYR; // in "DT2" Subband RIG_MODE_RTTY = LSB and RIG_MODE_RTTYR = USB
|
||||||
snprintf(cmd_m, sizeof(cmd_m),
|
snprintf(cmd_m, sizeof(cmd_m),
|
||||||
"DT2"); /* FSK D mode - direct FSK keying, LSB is "normal", VFO dial is MARK */
|
"DT2"); /* FSK D mode - direct FSK keying, LSB is "normal", VFO dial is MARK */
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
case RIG_MODE_PSK:
|
||||||
|
mode = RIG_MODE_PSK; // in "DT3" subband RIG_MODE_PSK = USB # kenwood.c mode but may need kenwwod.c mode table review.
|
||||||
|
snprintf(cmd_m, sizeof(cmd_m),
|
||||||
|
"DT3"); /* PSK D Mode - direct PSK keying, USB is "normal", VFO dial is MARK */
|
||||||
|
break;
|
||||||
|
|
||||||
default:
|
default:
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
@ -1441,23 +1462,35 @@ int k3_set_split_mode(RIG *rig, vfo_t vfo, rmode_t tx_mode, pbwidth_t tx_width)
|
||||||
switch (tx_mode)
|
switch (tx_mode)
|
||||||
{
|
{
|
||||||
case RIG_MODE_PKTLSB:
|
case RIG_MODE_PKTLSB:
|
||||||
tx_mode = RIG_MODE_RTTY;
|
tx_mode = RIG_MODE_RTTY; // in "DT0" Subband RIG_MODE_RTTY = USB and RIG_MODE_RTTYR = LSB
|
||||||
snprintf(cmd_m, sizeof(cmd_m),
|
snprintf(cmd_m, sizeof(cmd_m),
|
||||||
"DT1"); /* AFSK A mode - AFSK on LSB optimised for RTTY, VFO dial is MARK */
|
"DT0"); /* DATA A mode - DATA (REV) on LSB optimized for HF Packet, VFO dial is suppressed carrier QRG */
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case RIG_MODE_PKTUSB:
|
case RIG_MODE_PKTUSB:
|
||||||
tx_mode = RIG_MODE_RTTY;
|
tx_mode = RIG_MODE_RTTYR; // in "DT0" Subband RIG_MODE_RTTY = USB and RIG_MODE_RTTYR = LSB
|
||||||
snprintf(cmd_m, sizeof(cmd_m),
|
snprintf(cmd_m, sizeof(cmd_m),
|
||||||
"DT0"); /* DATA A mode - AFSK on USB general, VFO dial is suppressed carrier QRG */
|
"DT0"); /* DATA A mode - AFSK on USB general, VFO dial is suppressed carrier QRG */
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case RIG_MODE_RTTY:
|
case RIG_MODE_RTTY:
|
||||||
|
tx_mode = RIG_MODE_RTTY; // in "DT1" Subband RIG_MODE_RTTY = LSB and RIG_MODE_RTTYR = USB
|
||||||
|
snprintf(cmd_m, sizeof(cmd_m),
|
||||||
|
"DT1"); /* FSK D mode - direct FSK on LSB optimized for RTTY, VFO dial is MARK */
|
||||||
|
break;
|
||||||
|
|
||||||
case RIG_MODE_RTTYR:
|
case RIG_MODE_RTTYR:
|
||||||
|
tx_mode = RIG_MODE_RTTYR; // in "DT2" Subband RIG_MODE_RTTY = LSB and RIG_MODE_RTTYR = USB
|
||||||
snprintf(cmd_m, sizeof(cmd_m),
|
snprintf(cmd_m, sizeof(cmd_m),
|
||||||
"DT2"); /* FSK D mode - direct FSK keying, LSB is "normal", VFO dial is MARK */
|
"DT2"); /* FSK D mode - direct FSK keying, LSB is "normal", VFO dial is MARK */
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
case RIG_MODE_PSK:
|
||||||
|
tx_mode = RIG_MODE_PSK;
|
||||||
|
snprintf(cmd_m, sizeof(cmd_m),
|
||||||
|
"DT3"); /* PSK D Mode - direct PSK keying, USB is "normal", VFO dial is MARK */
|
||||||
|
break;
|
||||||
|
|
||||||
default:
|
default:
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
Ładowanie…
Reference in New Issue