kopia lustrzana https://github.com/Hamlib/Hamlib
Fix rigctlcom.c for Icom rigs and those that don't have get_vfo
rodzic
91ec3afcda
commit
8cc6ce1319
|
@ -667,7 +667,9 @@ static rmode_t ts2000_get_mode()
|
||||||
pbwidth_t width;
|
pbwidth_t width;
|
||||||
rig_get_mode(my_rig, vfo_fixup(my_rig, RIG_VFO_A, my_rig->state.cache.split),
|
rig_get_mode(my_rig, vfo_fixup(my_rig, RIG_VFO_A, my_rig->state.cache.split),
|
||||||
&mode, &width);
|
&mode, &width);
|
||||||
|
rig_debug(RIG_DEBUG_ERR, "%s(%d): width=%ld\n", __func__, __LINE__, width);
|
||||||
|
kwidth = width;
|
||||||
|
#if 0
|
||||||
// Perhaps we should emulate a rig that has PKT modes instead??
|
// Perhaps we should emulate a rig that has PKT modes instead??
|
||||||
int kwidth_ssb[] = { 10, 50, 100, 200, 300, 400, 500, 600, 700, 800, 900, 1000 };
|
int kwidth_ssb[] = { 10, 50, 100, 200, 300, 400, 500, 600, 700, 800, 900, 1000 };
|
||||||
int kwidth_am[] = { 10, 100, 200, 500 };
|
int kwidth_am[] = { 10, 100, 200, 500 };
|
||||||
|
@ -704,6 +706,7 @@ static rmode_t ts2000_get_mode()
|
||||||
|
|
||||||
default: mode = 0; break;
|
default: mode = 0; break;
|
||||||
}
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
return mode;
|
return mode;
|
||||||
}
|
}
|
||||||
|
@ -765,6 +768,7 @@ static int handle_ts2000(void *arg)
|
||||||
int retval = rig_get_freq(my_rig, vfo_fixup(my_rig, RIG_VFO_A,
|
int retval = rig_get_freq(my_rig, vfo_fixup(my_rig, RIG_VFO_A,
|
||||||
my_rig->state.cache.split), &freq);
|
my_rig->state.cache.split), &freq);
|
||||||
char response[64];
|
char response[64];
|
||||||
|
rig_debug(RIG_DEBUG_ERR, "%s(%d):\n", __func__, __LINE__);
|
||||||
char *fmt =
|
char *fmt =
|
||||||
// cppcheck-suppress *
|
// cppcheck-suppress *
|
||||||
"IF%011"PRIll"%04d+%05d%1d%1d%1d%02d%1d%1"PRIll"%1d%1d%1d%1d%02d%1d;";
|
"IF%011"PRIll"%04d+%05d%1d%1d%1d%02d%1d%1"PRIll"%1d%1d%1d%1d%02d%1d;";
|
||||||
|
@ -774,15 +778,19 @@ static int handle_ts2000(void *arg)
|
||||||
return retval;
|
return retval;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
rig_debug(RIG_DEBUG_ERR, "%s(%d):\n", __func__, __LINE__);
|
||||||
mode = ts2000_get_mode();
|
mode = ts2000_get_mode();
|
||||||
|
rig_debug(RIG_DEBUG_ERR, "%s(%d):\n", __func__, __LINE__);
|
||||||
retval = rig_get_ptt(my_rig, vfo_fixup(my_rig, RIG_VFO_A,
|
retval = rig_get_ptt(my_rig, vfo_fixup(my_rig, RIG_VFO_A,
|
||||||
my_rig->state.cache.split), &ptt);
|
my_rig->state.cache.split), &ptt);
|
||||||
|
|
||||||
|
rig_debug(RIG_DEBUG_ERR, "%s(%d):\n", __func__, __LINE__);
|
||||||
if (retval != RIG_OK)
|
if (retval != RIG_OK)
|
||||||
{
|
{
|
||||||
return retval;
|
return retval;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
rig_debug(RIG_DEBUG_ERR, "%s(%d):\n", __func__, __LINE__);
|
||||||
// we need to know split status -- don't care about the vfo
|
// we need to know split status -- don't care about the vfo
|
||||||
retval = rig_get_split_vfo(my_rig, RIG_VFO_CURR, &split, &vfo);
|
retval = rig_get_split_vfo(my_rig, RIG_VFO_CURR, &split, &vfo);
|
||||||
|
|
||||||
|
@ -791,13 +799,19 @@ static int handle_ts2000(void *arg)
|
||||||
return retval;
|
return retval;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
rig_debug(RIG_DEBUG_ERR, "%s(%d):\n", __func__, __LINE__);
|
||||||
retval = rig_get_vfo(my_rig, &vfo);
|
retval = rig_get_vfo(my_rig, &vfo);
|
||||||
|
|
||||||
if (retval != RIG_OK)
|
if (retval != RIG_OK)
|
||||||
{
|
{
|
||||||
|
vfo = RIG_VFO_A;
|
||||||
|
#if 0 // so we work with rigs (like Icom) that have no get_vfo
|
||||||
|
rig_debug(RIG_DEBUG_ERR, "%s(%d):\n", __func__, __LINE__);
|
||||||
return retval;
|
return retval;
|
||||||
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
|
rig_debug(RIG_DEBUG_ERR, "%s(%d):\n", __func__, __LINE__);
|
||||||
switch (vfo)
|
switch (vfo)
|
||||||
{
|
{
|
||||||
case RIG_VFO_A:
|
case RIG_VFO_A:
|
||||||
|
@ -818,6 +832,7 @@ static int handle_ts2000(void *arg)
|
||||||
rig_debug(RIG_DEBUG_ERR, "%s: unexpected vfo=%d\n", __func__, vfo);
|
rig_debug(RIG_DEBUG_ERR, "%s: unexpected vfo=%d\n", __func__, vfo);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
rig_debug(RIG_DEBUG_ERR, "%s(%d):\n", __func__, __LINE__);
|
||||||
SNPRINTF(response,
|
SNPRINTF(response,
|
||||||
sizeof(response),
|
sizeof(response),
|
||||||
fmt,
|
fmt,
|
||||||
|
@ -836,10 +851,12 @@ static int handle_ts2000(void *arg)
|
||||||
p14,
|
p14,
|
||||||
p15);
|
p15);
|
||||||
|
|
||||||
|
rig_debug(RIG_DEBUG_ERR, "%s(%d):\n", __func__, __LINE__);
|
||||||
return write_block2((void *)__func__, &my_com, response, strlen(response));
|
return write_block2((void *)__func__, &my_com, response, strlen(response));
|
||||||
}
|
}
|
||||||
else if (strcmp(arg, "MD;") == 0)
|
else if (strcmp(arg, "MD;") == 0)
|
||||||
{
|
{
|
||||||
|
rig_debug(RIG_DEBUG_ERR, "%s(%d):\n", __func__, __LINE__);
|
||||||
rmode_t mode = ts2000_get_mode();
|
rmode_t mode = ts2000_get_mode();
|
||||||
char response[32];
|
char response[32];
|
||||||
|
|
||||||
|
|
Ładowanie…
Reference in New Issue