k3_set/get_split_mode dummy functions

The K3 will swap VFOs with the frontend's implementation of
get_split_mode when the backend's definition in rig_caps is NULL.  These
functions simply return -RIG_ENAVAIL when called to preserve the K3's
operating state.

git-svn-id: https://hamlib.svn.sourceforge.net/svnroot/hamlib/trunk@3057 7ae35d74-ebe9-4afe-98af-79ac388436b8
Hamlib-1.2.13
Nate Bargmann, N0NB 2011-02-19 02:58:11 +00:00
rodzic 1a4d075490
commit 6de8bb5089
2 zmienionych plików z 39 dodań i 12 usunięć

Wyświetl plik

@ -66,6 +66,8 @@ int k3_set_vfo(RIG *rig, vfo_t vfo);
int k3_get_ext_level(RIG *rig, vfo_t vfo, token_t token, value_t *val);
int k3_set_rit(RIG * rig, vfo_t vfo, shortfreq_t rit);
int k3_set_xit(RIG * rig, vfo_t vfo, shortfreq_t rit);
int k3_set_split_mode(RIG *rig, vfo_t vfo, rmode_t tx_mode, pbwidth_t tx_width);
int k3_get_split_mode(RIG *rig, vfo_t vfo, rmode_t *tx_mode, pbwidth_t *tx_width);
/* Private helper functions */
@ -73,7 +75,7 @@ int set_rit_xit(RIG * rig, char *func, shortfreq_t rit);
/*
* KIO3 rig capabilities.
* K3 rig capabilities.
* This kit can recognize a large subset of TS-570/K2 commands and has many
* extensions of its own. Extension backend functions to standard Kenwood
* command are defined in elecraft.c (shared with K2) and in this file.
@ -188,6 +190,8 @@ const struct rig_caps k3_caps = {
.get_mode = k3_get_mode,
.set_vfo = k3_set_vfo,
.get_vfo = kenwood_get_vfo_if,
.set_split_mode = k3_set_split_mode,
.get_split_mode = k3_get_split_mode,
.set_split_vfo = kenwood_set_split_vfo,
.get_split_vfo = kenwood_get_split_vfo_if,
.set_rit = k3_set_rit,
@ -469,11 +473,11 @@ int k3_set_rit(RIG * rig, vfo_t vfo, shortfreq_t rit)
return -RIG_EINVAL;
if (rit == 0)
snprintf(&func, 4, "RT0");
snprintf(func, 4, "RT0");
else
snprintf(&func, 4, "RT1");
snprintf(func, 4, "RT1");
err = set_rit_xit(rig, &func, rit);
err = set_rit_xit(rig, func, rit);
if (err != RIG_OK)
return err;
@ -497,11 +501,11 @@ int k3_set_xit(RIG * rig, vfo_t vfo, shortfreq_t rit)
return -RIG_EINVAL;
if (rit == 0)
snprintf(&func, 4, "XT0");
snprintf(func, 4, "XT0");
else
snprintf(&func, 4, "XT1");
snprintf(func, 4, "XT1");
err = set_rit_xit(rig, &func, rit);
err = set_rit_xit(rig, func, rit);
if (err != RIG_OK)
return err;
@ -509,6 +513,31 @@ int k3_set_xit(RIG * rig, vfo_t vfo, shortfreq_t rit)
}
/* The K3 *always* uses VFOB for TX. Do we continually switch VFOs and
* possibly irritate the user? Better just to return -RIG_ENAVAIL
* until this is resolved.
*/
int k3_set_split_mode(RIG *rig, vfo_t vfo, rmode_t tx_mode, pbwidth_t tx_width)
{
rig_debug(RIG_DEBUG_VERBOSE, "%s called\n", __func__);
return -RIG_ENAVAIL;
}
/* The K3 *always* uses VFOB for TX. Do we continually switch VFOs and
* possibly irritate the user? Better just to return -RIG_ENAVAIL
* until this is resolved.
*/
int k3_get_split_mode(RIG *rig, vfo_t vfo, rmode_t *tx_mode, pbwidth_t *tx_width)
{
rig_debug(RIG_DEBUG_VERBOSE, "%s called\n", __func__);
return -RIG_ENAVAIL;
}
/* Private K3 helper functions */
/*
@ -528,7 +557,6 @@ int set_rit_xit(RIG * rig, char *func, shortfreq_t rit)
return -RIG_EINVAL;
if (rit == 0) {
// snprintf(&cmd, 4, "%s0", func);
/* K3 RIT Off command */
err = kenwood_simple_cmd(rig, func);
if (err != RIG_OK)
@ -544,14 +572,13 @@ int set_rit_xit(RIG * rig, char *func, shortfreq_t rit)
/* Set offset and turn on RIT */
if (rit <= 9999 && rit >= -9999) {
offs = (rit < 0) ? '-' : '+';
snprintf(&cmd, 8, "RO%c%04d", offs, abs((int)rit));
snprintf(cmd, 8, "RO%c%04d", offs, abs((int)rit));
err = kenwood_simple_cmd(rig, cmd);
if (err != RIG_OK)
return err;
/* K3 RIT ON command */
// snprintf(&cmd, 4, "%s1", func);
err = kenwood_simple_cmd(rig, func);
if (err != RIG_OK)
return err;

Wyświetl plik

@ -68,8 +68,8 @@ struct kenwood_priv_caps {
struct kenwood_priv_data {
char info[KENWOOD_MAX_BUF_LEN];
split_t split; /* current split state */
int k2_ext_lvl; /* Initial K2 extension level */
int k3_ext_lvl; /* Initial K3 extension level */
int k2_ext_lvl; /* Initial K2 extension level */
int k3_ext_lvl; /* Initial K3 extension level */
int k2_md_rtty; /* K2 RTTY mode available flag, 1 = RTTY, 0 = N/A */
};