kopia lustrzana https://github.com/Hamlib/Hamlib
Add icom get_vfo introduced on IC-9700
Add DD mode for IC-9700 Numerous IC-9700 updatespull/97/head
rodzic
f31701546b
commit
e2f6c7d092
|
@ -335,7 +335,7 @@ int rig2icom_mode(RIG *rig, rmode_t mode, pbwidth_t width,
|
|||
case RIG_MODE_RTTY: icmode = S_RTTY; break;
|
||||
case RIG_MODE_RTTYR: icmode = S_RTTYR; break;
|
||||
case RIG_MODE_FM: icmode = S_FM; break;
|
||||
case RIG_MODE_FMN: icmode = S_FMN; break;
|
||||
case RIG_MODE_FMN: icmode = S_FMN; break;
|
||||
case RIG_MODE_WFM: icmode = S_WFM; break;
|
||||
case RIG_MODE_P25: icmode = S_P25; break;
|
||||
case RIG_MODE_DSTAR: icmode = S_DSTAR; break;
|
||||
|
@ -343,6 +343,7 @@ int rig2icom_mode(RIG *rig, rmode_t mode, pbwidth_t width,
|
|||
case RIG_MODE_NXDNVN: icmode = S_NXDNVN; break;
|
||||
case RIG_MODE_NXDN_N: icmode = S_NXDN_N; break;
|
||||
case RIG_MODE_DCR: icmode = S_DCR; break;
|
||||
case RIG_MODE_DD: icmode = S_DD; break;
|
||||
default:
|
||||
rig_debug(RIG_DEBUG_ERR,"icom: Unsupported Hamlib mode %d\n",mode);
|
||||
return -RIG_EINVAL;
|
||||
|
|
|
@ -80,6 +80,8 @@
|
|||
#define IC7300_AGC_MID 0x02
|
||||
#define IC7300_AGC_SLOW 0x03
|
||||
|
||||
#define IC9700_ALL_TX_MODES (RIG_MODE_FM|RIG_MODE_AM|RIG_MODE_CW|RIG_MODE_CWR|RIG_MODE_SSB|RIG_MODE_RTTY|RIG_MODE_RTTYR|RIG_MODE_DSTAR|RIG_MODE_DD)
|
||||
#define IC9700_ALL_RX_MODES (RIG_MODE_FM|RIG_MODE_AM|RIG_MODE_CW|RIG_MODE_CWR|RIG_MODE_SSB|RIG_MODE_RTTY|RIG_MODE_RTTYR|RIG_MODE_DSTAR|RIG_MODE_DD)
|
||||
/*
|
||||
* IC-7300 rig capabilities.
|
||||
*
|
||||
|
@ -347,40 +349,32 @@ const struct rig_caps ic9700_caps = {
|
|||
|
||||
.rx_range_list1 = { {kHz(30),MHz(74.8),IC7300_ALL_RX_MODES,-1,-1,IC7300_VFOS}, RIG_FRNG_END, },
|
||||
.tx_range_list1 = {
|
||||
FRQ_RNG_HF(1,IC7300_OTHER_TX_MODES, W(2),W(100),IC7300_VFOS,RIG_ANT_1),
|
||||
FRQ_RNG_60m(1,IC7300_OTHER_TX_MODES, W(2),W(100),IC7300_VFOS,RIG_ANT_1),
|
||||
FRQ_RNG_6m(1,IC7300_OTHER_TX_MODES, W(2),W(100),IC7300_VFOS,RIG_ANT_1),
|
||||
FRQ_RNG_4m(1,IC7300_OTHER_TX_MODES, W(2),W(100),IC7300_VFOS,RIG_ANT_1),
|
||||
FRQ_RNG_HF(1,IC7300_AM_TX_MODES, W(1),W(40),IC7300_VFOS,RIG_ANT_1), /* AM class */
|
||||
FRQ_RNG_60m(1,IC7300_AM_TX_MODES, W(1),W(40),IC7300_VFOS,RIG_ANT_1), /* AM class */
|
||||
FRQ_RNG_6m(1,IC7300_AM_TX_MODES, W(1),W(40),IC7300_VFOS,RIG_ANT_1), /* AM class */
|
||||
FRQ_RNG_4m(1,IC7300_AM_TX_MODES, W(1),W(40),IC7300_VFOS,RIG_ANT_1), /* AM class */
|
||||
FRQ_RNG_2m(1,IC7300_OTHER_TX_MODES, W(2),W(100),IC7300_VFOS,RIG_ANT_2),
|
||||
FRQ_RNG_70cm(1,IC7300_OTHER_TX_MODES, W(2),W(75),IC7300_VFOS,RIG_ANT_2),
|
||||
FRQ_RNG_23cm(1,IC7300_OTHER_TX_MODES, W(2),W(23),IC7300_VFOS,RIG_ANT_3),
|
||||
FRQ_RNG_2m(1,IC9700_ALL_TX_MODES, W(2),W(100),IC7300_VFOS,RIG_ANT_2),
|
||||
FRQ_RNG_70cm(1,IC9700_ALL_TX_MODES, W(2),W(75),IC7300_VFOS,RIG_ANT_2),
|
||||
FRQ_RNG_23cm(1,IC9700_ALL_TX_MODES, W(2),W(23),IC7300_VFOS,RIG_ANT_3),
|
||||
RIG_FRNG_END, },
|
||||
|
||||
.rx_range_list2 = { {kHz(30),MHz(74.8),IC7300_ALL_RX_MODES,-1,-1,IC7300_VFOS}, RIG_FRNG_END, },
|
||||
.tx_range_list2 = {
|
||||
FRQ_RNG_HF(2,IC7300_OTHER_TX_MODES, W(2),W(100),IC7300_VFOS,RIG_ANT_1),
|
||||
FRQ_RNG_60m(2,IC7300_OTHER_TX_MODES, W(2),W(100),IC7300_VFOS,RIG_ANT_1),
|
||||
FRQ_RNG_6m(2,IC7300_OTHER_TX_MODES, W(2),W(100),IC7300_VFOS,RIG_ANT_1),
|
||||
FRQ_RNG_HF(2,IC7300_AM_TX_MODES, W(1),W(40),IC7300_VFOS,RIG_ANT_1), /* AM class */
|
||||
FRQ_RNG_60m(2,IC7300_AM_TX_MODES, W(1),W(40),IC7300_VFOS,RIG_ANT_1), /* AM class */
|
||||
FRQ_RNG_6m(2,IC7300_AM_TX_MODES, W(1),W(40),IC7300_VFOS,RIG_ANT_1), /* AM class */
|
||||
FRQ_RNG_70cm(1,IC7300_OTHER_TX_MODES, W(2),W(75),IC7300_VFOS,RIG_ANT_2),
|
||||
FRQ_RNG_23cm(1,IC7300_OTHER_TX_MODES, W(2),W(23),IC7300_VFOS,RIG_ANT_3),
|
||||
FRQ_RNG_2m(1,IC9700_ALL_TX_MODES, W(2),W(100),IC7300_VFOS,RIG_ANT_2),
|
||||
FRQ_RNG_70cm(1,IC9700_ALL_TX_MODES, W(2),W(75),IC7300_VFOS,RIG_ANT_2),
|
||||
FRQ_RNG_23cm(1,IC9700_ALL_TX_MODES, W(2),W(23),IC7300_VFOS,RIG_ANT_3),
|
||||
RIG_FRNG_END, },
|
||||
|
||||
.tuning_steps = {
|
||||
{IC7300_ALL_RX_MODES,Hz(1)},
|
||||
{IC7300_ALL_RX_MODES,kHz(1)},
|
||||
{IC7300_ALL_RX_MODES,kHz(5)},
|
||||
{IC7300_ALL_RX_MODES,kHz(9)},
|
||||
{IC7300_ALL_RX_MODES,kHz(10)},
|
||||
{IC7300_ALL_RX_MODES,kHz(12.5)},
|
||||
{IC7300_ALL_RX_MODES,kHz(20)},
|
||||
{IC7300_ALL_RX_MODES,kHz(25)},
|
||||
{IC9700_ALL_RX_MODES,Hz(1)},
|
||||
{IC9700_ALL_RX_MODES,Hz(10)},
|
||||
{IC9700_ALL_RX_MODES,Hz(100)},
|
||||
{IC9700_ALL_RX_MODES,Hz(500)},
|
||||
{IC9700_ALL_RX_MODES,kHz(1)},
|
||||
{IC9700_ALL_RX_MODES,kHz(5)},
|
||||
{IC9700_ALL_RX_MODES,kHz(6.25)},
|
||||
{IC9700_ALL_RX_MODES,kHz(10)},
|
||||
{IC9700_ALL_RX_MODES,kHz(12.5)},
|
||||
{IC9700_ALL_RX_MODES,kHz(20)},
|
||||
{IC9700_ALL_RX_MODES,kHz(25)},
|
||||
{IC9700_ALL_RX_MODES,kHz(50)},
|
||||
{IC9700_ALL_RX_MODES,kHz(100)},
|
||||
RIG_TS_END,
|
||||
},
|
||||
|
||||
|
@ -418,7 +412,7 @@ const struct rig_caps ic9700_caps = {
|
|||
.get_freq = icom_get_freq,
|
||||
.set_mode = icom_set_mode_with_data,
|
||||
.get_mode = icom_get_mode_with_data,
|
||||
//.get_vfo = icom_get_vfo,
|
||||
.get_vfo = icom_get_vfo,
|
||||
.set_vfo = icom_set_vfo,
|
||||
.set_ant = NULL,
|
||||
.get_ant = NULL,
|
||||
|
@ -463,6 +457,8 @@ const struct rig_caps ic9700_caps = {
|
|||
.set_split_vfo = icom_set_split_vfo,
|
||||
.get_split_vfo = icom_get_split_vfo,
|
||||
.set_powerstat = icom_set_powerstat,
|
||||
.get_vfo = icom_get_vfo,
|
||||
.set_vfo = icom_set_vfo,
|
||||
.power2mW = icom_power2mW,
|
||||
.mW2power = icom_mW2power,
|
||||
.send_morse = icom_send_morse
|
||||
|
|
28
icom/icom.c
28
icom/icom.c
|
@ -951,7 +951,33 @@ int icom_get_mode(RIG *rig, vfo_t vfo, rmode_t *mode, pbwidth_t *width)
|
|||
}
|
||||
|
||||
/*
|
||||
* icom_set_vfo
|
||||
* icom_get_vfo
|
||||
* The IC-9700 has introduced the ability to see MAIN/SUB selection
|
||||
* Maybe we'll see this in future ICOMs or firmware upgrades
|
||||
* Command 0x07 0XD2
|
||||
* Assumes rig!=NULL, rig->state.priv!=NULL
|
||||
*/
|
||||
int icom_get_vfo(RIG *rig, vfo_t *vfo)
|
||||
{
|
||||
unsigned char ackbuf[MAXFRAMELEN];
|
||||
int ack_len=sizeof(ackbuf), retval;
|
||||
rig_debug(RIG_DEBUG_VERBOSE, "%s called\n", __func__);
|
||||
|
||||
retval = icom_transaction (rig, C_SET_VFO, S_SUB_SEL, NULL, 0,
|
||||
ackbuf, &ack_len);
|
||||
if (retval != RIG_OK)
|
||||
return retval;
|
||||
|
||||
if (ack_len != 3) {
|
||||
rig_debug(RIG_DEBUG_ERR,"%s wrong frame len=%d\n", ack_len);
|
||||
return -RIG_ERJCTED;
|
||||
}
|
||||
*vfo = ackbuf[2] == 0 ? RIG_VFO_MAIN : RIG_VFO_SUB;
|
||||
return RIG_OK;
|
||||
}
|
||||
|
||||
/*
|
||||
* icom_get_vfo
|
||||
* Assumes rig!=NULL, rig->state.priv!=NULL
|
||||
*/
|
||||
int icom_set_vfo(RIG *rig, vfo_t vfo)
|
||||
|
|
|
@ -160,6 +160,7 @@ int icom_set_mode_with_data(RIG *rig, vfo_t vfo, rmode_t mode, pbwidth_t width);
|
|||
int icom_set_mode(RIG *rig, vfo_t vfo, rmode_t mode, pbwidth_t width);
|
||||
int icom_get_mode_with_data(RIG *rig, vfo_t vfo, rmode_t *mode, pbwidth_t *width);
|
||||
int icom_get_mode(RIG *rig, vfo_t vfo, rmode_t *mode, pbwidth_t *width);
|
||||
int icom_get_vfo(RIG *rig, vfo_t *vfo);
|
||||
int icom_set_vfo(RIG *rig, vfo_t vfo);
|
||||
int icom_set_rptr_shift(RIG *rig, vfo_t vfo, rptr_shift_t rptr_shift);
|
||||
int icom_get_rptr_shift(RIG *rig, vfo_t vfo, rptr_shift_t *rptr_shift);
|
||||
|
|
|
@ -126,6 +126,7 @@
|
|||
#define S_NXDNVN 0x19 /* Set to NXDN_VN */
|
||||
#define S_NXDN_N 0x20 /* Set to NXDN-N */
|
||||
#define S_DCR 0x21 /* Set to DCR */
|
||||
#define S_DD 0x22 /* Set to DD 1200Mhz only? */
|
||||
|
||||
#define S_R7000_SSB 0x05 /* Set to SSB on R-7000 */
|
||||
|
||||
|
@ -151,6 +152,7 @@
|
|||
#define S_DUAL_ON 0xc1 /* Dual watch on */
|
||||
#define S_MAIN 0xd0 /* Select MAIN band */
|
||||
#define S_SUB 0xd1 /* Select SUB band */
|
||||
#define S_SUB_SEL 0xd2 /* Read/Set Main/Sub selection */
|
||||
#define S_FRONTWIN 0xe0 /* Select front window */
|
||||
|
||||
/*
|
||||
|
|
|
@ -926,7 +926,7 @@ typedef uint64_t rmode_t;
|
|||
#define RIG_MODE_PSKR CONSTANT_64BIT_FLAG (31) /*!< \c PSKR - Kenwood PSKR and others */
|
||||
#ifndef SWIGLUA
|
||||
/* hide the top 32 bits from the Lua binding as they will not work */
|
||||
#define RIG_MODE_BIT32 CONSTANT_64BIT_FLAG (32) /* reserved for future expansion */
|
||||
#define RIG_MODE_DD CONSTANT_64BIT_FLAG (32) /* DD Mode IC-9700 */
|
||||
#define RIG_MODE_BIT33 CONSTANT_64BIT_FLAG (33) /* reserved for future expansion */
|
||||
#define RIG_MODE_BIT34 CONSTANT_64BIT_FLAG (34) /* reserved for future expansion */
|
||||
#define RIG_MODE_BIT35 CONSTANT_64BIT_FLAG (35) /* reserved for future expansion */
|
||||
|
|
Ładowanie…
Reference in New Issue