kopia lustrzana https://github.com/Hamlib/Hamlib
Update ID5100 and ID4100
Promote ID5100 to stable https://github.com/Hamlib/Hamlib/issues/1204 https://github.com/Hamlib/Hamlib/issues/1202 https://github.com/Hamlib/Hamlib/issues/1202Hamlib-4.5.4
rodzic
7200858735
commit
41ad82139f
|
@ -1363,16 +1363,22 @@ int icom_set_freq(RIG *rig, vfo_t vfo, freq_t freq)
|
|||
else
|
||||
{
|
||||
cmd = C_SET_FREQ;
|
||||
subcmd = -1;
|
||||
|
||||
if (ICOM_IS_ID5100 || ICOM_IS_ID4100 || ICOM_IS_ID31 || ICOM_IS_ID51)
|
||||
{
|
||||
// for these rigs 0x00 is setting the freq and 0x03 is just for reading
|
||||
cmd = 0x00;
|
||||
// temporary fix for ID5100 not giving ACK/NAK on 0x00 freq on E8 firmware
|
||||
retval = icom_transaction(rig, cmd, subcmd, freqbuf, freq_len, NULL,
|
||||
NULL);
|
||||
return RIG_OK;
|
||||
}
|
||||
else
|
||||
{
|
||||
retval = icom_transaction(rig, cmd, subcmd, freqbuf, freq_len, ackbuf,
|
||||
&ack_len);
|
||||
}
|
||||
|
||||
subcmd = -1;
|
||||
retval = icom_transaction(rig, cmd, subcmd, freqbuf, freq_len, ackbuf,
|
||||
&ack_len);
|
||||
}
|
||||
|
||||
hl_usleep(50 * 1000); // pause for transceive message and we'll flush it
|
||||
|
@ -1699,7 +1705,8 @@ int icom_get_freq(RIG *rig, vfo_t vfo, freq_t *freq)
|
|||
if (freq_len == 3 && (ICOM_IS_ID5100 || ICOM_IS_ID4100 || ICOM_IS_ID31
|
||||
|| ICOM_IS_ID51))
|
||||
{
|
||||
rig_debug(RIG_DEBUG_ERR, "%s: 3-byte ID5100/4100 length - turn off XONXOFF flow control\n", __func__);
|
||||
rig_debug(RIG_DEBUG_ERR,
|
||||
"%s: 3-byte ID5100/4100 length - turn off XONXOFF flow control\n", __func__);
|
||||
}
|
||||
else if (freq_len != 4 && freq_len != 5)
|
||||
{
|
||||
|
|
|
@ -98,7 +98,6 @@ const struct rig_caps id4100_caps =
|
|||
.serial_data_bits = 8,
|
||||
.serial_stop_bits = 1,
|
||||
.serial_parity = RIG_PARITY_NONE,
|
||||
//.serial_handshake = RIG_HANDSHAKE_XONXOFF,
|
||||
.serial_handshake = RIG_HANDSHAKE_NONE,
|
||||
.write_delay = 0,
|
||||
.post_write_delay = 0,
|
||||
|
|
|
@ -90,13 +90,16 @@ int id5100_set_mode(RIG *rig, vfo_t vfo, rmode_t mode, pbwidth_t width)
|
|||
|
||||
case RIG_MODE_FMN: icmode = 5; modebuf = 2; break;
|
||||
|
||||
case RIG_MODE_DSTAR: icmode = 17; modebuf = 1; break;
|
||||
case RIG_MODE_DSTAR: icmode = 0x17; modebuf = 1; break;
|
||||
|
||||
default:
|
||||
rig_debug(RIG_DEBUG_ERR, "%s: Unknown mode=%s\n", __func__, rig_strrmode(mode));
|
||||
return -RIG_EINVAL;
|
||||
}
|
||||
|
||||
rig_debug(RIG_DEBUG_VERBOSE, "%s: mode=%d, modebuf=%c\n", __func__, icmode,
|
||||
modebuf);
|
||||
|
||||
retval = icom_transaction(rig, C_SET_MODE, icmode, &modebuf, 1, ackbuf,
|
||||
&ack_len);
|
||||
|
||||
|
@ -118,11 +121,17 @@ int id5100_get_mode(RIG *rig, vfo_t vfo, rmode_t *mode, pbwidth_t *width)
|
|||
|
||||
switch (modebuf[1])
|
||||
{
|
||||
case 2: *mode = modebuf[3] == 1 ? RIG_MODE_AM : RIG_MODE_AMN; break;
|
||||
case 2:
|
||||
*mode = modebuf[2] == 1 ? RIG_MODE_AM : RIG_MODE_AMN;
|
||||
*width = modebuf[2] == 1 ? 12000 : 6000; break;
|
||||
|
||||
case 5: *mode = modebuf[3] == 1 ? RIG_MODE_FM : RIG_MODE_FMN; break;
|
||||
case 5:
|
||||
*mode = modebuf[2] == 1 ? RIG_MODE_FM : RIG_MODE_FMN;
|
||||
*width = modebuf[2] == 1 ? 10000 : 5000; break;
|
||||
|
||||
case 17: *mode = RIG_MODE_DSTAR; break;
|
||||
case 0x17:
|
||||
*mode = RIG_MODE_DSTAR;
|
||||
*width = 6000; break;
|
||||
}
|
||||
|
||||
return RIG_OK;
|
||||
|
@ -144,7 +153,7 @@ const struct rig_caps id5100_caps =
|
|||
.mfg_name = "Icom",
|
||||
.version = BACKEND_VER ".2",
|
||||
.copyright = "LGPL",
|
||||
.status = RIG_STATUS_BETA,
|
||||
.status = RIG_STATUS_STABLE,
|
||||
.rig_type = RIG_TYPE_MOBILE,
|
||||
.ptt_type = RIG_PTT_RIG,
|
||||
.dcd_type = RIG_DCD_RIG,
|
||||
|
@ -154,8 +163,6 @@ const struct rig_caps id5100_caps =
|
|||
.serial_data_bits = 8,
|
||||
.serial_stop_bits = 1,
|
||||
.serial_parity = RIG_PARITY_NONE,
|
||||
// XONXOFF is not working on Firmware E8
|
||||
//.serial_handshake = RIG_HANDSHAKE_XONXOFF,
|
||||
.serial_handshake = RIG_HANDSHAKE_NONE,
|
||||
.write_delay = 0,
|
||||
.post_write_delay = 0,
|
||||
|
|
|
@ -8,12 +8,13 @@ DISTCLEANFILES =
|
|||
|
||||
bin_PROGRAMS =
|
||||
|
||||
check_PROGRAMS = simelecraft simicom simkenwood simyaesu simicom9700
|
||||
check_PROGRAMS = simelecraft simicom simkenwood simyaesu simicom9700 simft991 simftdx1200 simftdx3000 simjupiter simpowersdr
|
||||
|
||||
simelecraft_SOURCES = simelecraft.c
|
||||
simicom_SOURCES = simicom.c
|
||||
simkenwood_SOURCES = simkenwood.c
|
||||
simyaesu_SOURCES = simyaesu.c
|
||||
simid5100_SOURCES = simid5100.c
|
||||
|
||||
# include generated include files ahead of any in sources
|
||||
#rigctl_CPPFLAGS = -I$(top_builddir)/tests -I$(top_builddir)/src -I$(srcdir) $(AM_CPPFLAGS)
|
||||
|
@ -25,17 +26,20 @@ simelecraft_CFLAGS = $(AM_CFLAGS) $(LIBXML2_CFLAGS) -I$(top_builddir)/src
|
|||
simicom_CFLAGS = $(AM_CFLAGS) $(PTHREAD_CFLAGS) -I$(top_builddir)/src
|
||||
simkenwood_CFLAGS = $(AM_CFLAGS) $(PTHREAD_CFLAGS) -I$(top_builddir)/src
|
||||
simyaesu_CFLAGS = $(AM_CFLAGS) $(PTHREAD_CFLAGS) -I$(top_builddir)/src
|
||||
simid5100_CFLAGS = $(AM_CFLAGS) $(PTHREAD_CFLAGS) -I$(top_builddir)/src
|
||||
|
||||
simelecraft_LDADD = $(PTHREAD_LIBS) $(READLINE_LIBS) $(LDADD)
|
||||
simicom_LDADD = $(NET_LIBS) $(PTHREAD_LIBS) $(LDADD) $(READLINE_LIBS)
|
||||
simkenwood_LDADD = $(PTHREAD_LIBS) $(LDADD) $(READLINE_LIBS)
|
||||
simyaesu_LDADD = $(NET_LIBS) $(PTHREAD_LIBS) $(LDADD) $(READLINE_LIBS)
|
||||
simid5100_LDADD = $(NET_LIBS) $(PTHREAD_LIBS) $(LDADD) $(READLINE_LIBS)
|
||||
|
||||
# Linker options
|
||||
simelecraft_LDFLAGS = $(WINEXELDFLAGS)
|
||||
simicom_LDFLAGS = $(WINEXELDFLAGS)
|
||||
simkenwood_LDFLAGS = $(WINEXELDFLAGS)
|
||||
simyaesu_LDFLAGS = $(WINEXELDFLAGS)
|
||||
simid5100_LDFLAGS = $(WINEXELDFLAGS)
|
||||
|
||||
EXTRA_DIST =
|
||||
|
||||
|
|
Ładowanie…
Reference in New Issue