Implemented RIG_MODE_PKTFM and RIG_MODE_PKTLSB modes

git-svn-id: https://hamlib.svn.sourceforge.net/svnroot/hamlib/trunk@1637 7ae35d74-ebe9-4afe-98af-79ac388436b8
Hamlib-1.2.0
Berndt Josef Wulf, VK5ABN 2003-12-24 14:36:07 +00:00
rodzic c8cd6c4212
commit 0b8e1f63d4
1 zmienionych plików z 12 dodań i 20 usunięć

Wyświetl plik

@ -7,7 +7,7 @@
* via serial interface to an FT-990 using the "CAT" interface * via serial interface to an FT-990 using the "CAT" interface
* *
* *
* $Id: ft990.c,v 1.6 2003-12-23 13:46:20 bwulf Exp $ * $Id: ft990.c,v 1.7 2003-12-24 14:36:07 bwulf Exp $
* *
* *
* This library is free software; you can redistribute it and/or * This library is free software; you can redistribute it and/or
@ -135,9 +135,9 @@ const struct rig_caps ft990_caps = {
.rig_model = RIG_MODEL_FT990, .rig_model = RIG_MODEL_FT990,
.model_name = "FT-990", .model_name = "FT-990",
.mfg_name = "Yaesu", .mfg_name = "Yaesu",
.version = "0.0.4", .version = "0.0.5",
.copyright = "LGPL", .copyright = "LGPL",
.status = RIG_STATUS_NEW, .status = RIG_STATUS_ALPHA,
.rig_type = RIG_TYPE_TRANSCEIVER, .rig_type = RIG_TYPE_TRANSCEIVER,
.ptt_type = RIG_PTT_RIG, .ptt_type = RIG_PTT_RIG,
.dcd_type = RIG_DCD_NONE, .dcd_type = RIG_DCD_NONE,
@ -225,8 +225,8 @@ const struct rig_caps ft990_caps = {
{RIG_MODE_FM, kHz(8)}, /* FM standard filter */ {RIG_MODE_FM, kHz(8)}, /* FM standard filter */
{RIG_MODE_RTTY, RIG_FLT_ANY}, /* Enable all filters for RTTY */ {RIG_MODE_RTTY, RIG_FLT_ANY}, /* Enable all filters for RTTY */
{RIG_MODE_RTTYR,RIG_FLT_ANY}, /* Enable all filters for Reverse RTTY */ {RIG_MODE_RTTYR,RIG_FLT_ANY}, /* Enable all filters for Reverse RTTY */
// {RIG_MODE_PKTLSB,RIG_FLT_ANY}, /* Enable all filters for Packet Radio LSB */ {RIG_MODE_PKTLSB,RIG_FLT_ANY}, /* Enable all filters for Packet Radio LSB */
// {RIG_MODE_PKTFM,kHz(8)}, /* FM standard filter for Packet Radio FM */ {RIG_MODE_PKTFM,kHz(8)}, /* FM standard filter for Packet Radio FM */
RIG_FLT_END, RIG_FLT_END,
}, },
@ -1611,14 +1611,12 @@ static int ft990_set_mode(RIG *rig, vfo_t vfo, rmode_t mode, pbwidth_t width)
case RIG_MODE_FM: case RIG_MODE_FM:
ci = FT990_NATIVE_MODE_SET_FM; ci = FT990_NATIVE_MODE_SET_FM;
break; break;
/* hamlib currently doesn't support packet radio modes
case RIG_MODE_PKTLSB: case RIG_MODE_PKTLSB:
ci = FT990_NATIVE_MODE_SET_PKT_LSB; ci = FT990_NATIVE_MODE_SET_PKT_LSB;
break; break;
case RIG_MODE_PKTFM: case RIG_MODE_PKTFM:
ci = FT990_NATIVE_MODE_SET_PKT_FM; ci = FT990_NATIVE_MODE_SET_PKT_FM;
break; break;
*/
default: default:
return -RIG_EINVAL; return -RIG_EINVAL;
} }
@ -1630,8 +1628,8 @@ static int ft990_set_mode(RIG *rig, vfo_t vfo, rmode_t mode, pbwidth_t width)
if (ci == FT990_NATIVE_MODE_SET_AM_N || if (ci == FT990_NATIVE_MODE_SET_AM_N ||
ci == FT990_NATIVE_MODE_SET_AM_W || ci == FT990_NATIVE_MODE_SET_AM_W ||
ci == FT990_NATIVE_MODE_SET_FM) // || ci == FT990_NATIVE_MODE_SET_FM ||
// ci == FT990_NATIVE_MODE_SET_PKT_FM) ci == FT990_NATIVE_MODE_SET_PKT_FM)
return RIG_OK; return RIG_OK;
switch(width) { switch(width) {
@ -1746,8 +1744,6 @@ switch(vfo) {
rig_debug(RIG_DEBUG_TRACE, "%s: fl = 0x%02x\n", __func__, *fl); rig_debug(RIG_DEBUG_TRACE, "%s: fl = 0x%02x\n", __func__, *fl);
rig_debug(RIG_DEBUG_TRACE, "%s: current mode = 0x%02x\n", __func__, *p); rig_debug(RIG_DEBUG_TRACE, "%s: current mode = 0x%02x\n", __func__, *p);
// Hamlib doesn't support Packet FM and Packet LSB modes
// and hence they are mapped to their native modes!
switch(*p) { switch(*p) {
case FT990_MODE_LSB: case FT990_MODE_LSB:
*mode = RIG_MODE_LSB; *mode = RIG_MODE_LSB;
@ -1772,11 +1768,9 @@ switch(vfo) {
break; break;
case FT990_MODE_PKT: case FT990_MODE_PKT:
if (*fl & FT990_BW_FMPKTRTTY) if (*fl & FT990_BW_FMPKTRTTY)
*mode = RIG_MODE_FM; *mode = RIG_MODE_PKTFM;
// *mode = RIG_MODE_PKTFM;
else else
*mode = RIG_MODE_LSB; *mode = RIG_MODE_PKTLSB;
// *mode = RIG_MODE_PKTLSB;
break; break;
default: default:
return -RIG_EINVAL; return -RIG_EINVAL;
@ -1788,7 +1782,7 @@ switch(vfo) {
// AM bandwidth for 2400Hz and 6000Hz are interchanged. // AM bandwidth for 2400Hz and 6000Hz are interchanged.
switch(*fl & 0x7f) { switch(*fl & 0x7f) {
case FT990_BW_F2400: case FT990_BW_F2400:
if (*mode == RIG_MODE_FM /*|| *mode == RIG_MODE_PKTFM*/) if (*mode == RIG_MODE_FM || *mode == RIG_MODE_PKTFM)
*width = 8000; *width = 8000;
else if (*mode == RIG_MODE_AM) // <- FT990 firmware bug? else if (*mode == RIG_MODE_AM) // <- FT990 firmware bug?
*width = 6000; *width = 6000;
@ -2366,12 +2360,10 @@ static int ft990_get_channel (RIG *rig, channel_t *chan)
chan->mode = RIG_MODE_RTTY; chan->mode = RIG_MODE_RTTY;
break; break;
case FT990_MODE_PKT: case FT990_MODE_PKT:
// Note: Hamlib currently doesn't support packet radio modes such as
// RIG_MODE_PKT_FM and RIG_MODE_PKT_LSB
if (p->filter & FT990_BW_FMPKTRTTY) if (p->filter & FT990_BW_FMPKTRTTY)
chan->mode = RIG_MODE_FM; chan->mode = RIG_MODE_PKTFM;
else else
chan->mode = RIG_MODE_LSB; chan->mode = RIG_MODE_PKTLSB;
break; break;
default: default:
return -RIG_EINVAL; return -RIG_EINVAL;