kopia lustrzana https://github.com/Hamlib/Hamlib
updates by matt, GW0VNR
git-svn-id: https://hamlib.svn.sourceforge.net/svnroot/hamlib/trunk@2104 7ae35d74-ebe9-4afe-98af-79ac388436b8Hamlib-1.2.6rc1
rodzic
435337880d
commit
e9d4406c24
|
@ -2,7 +2,7 @@
|
||||||
* Hamlib Kenwood backend - TS140 description
|
* Hamlib Kenwood backend - TS140 description
|
||||||
* Copyright (c) 2000-2005 by Stephane Fillod
|
* Copyright (c) 2000-2005 by Stephane Fillod
|
||||||
*
|
*
|
||||||
* $Id: ts140.c,v 1.7 2006-03-14 20:06:46 pa4tu Exp $
|
* $Id: ts140.c,v 1.8 2006-04-10 18:01:15 pa4tu Exp $
|
||||||
*
|
*
|
||||||
* This library is free software; you can redistribute it and/or modify
|
* This library is free software; you can redistribute it and/or modify
|
||||||
* it under the terms of the GNU Library General Public License as
|
* it under the terms of the GNU Library General Public License as
|
||||||
|
@ -147,12 +147,42 @@ static int ts140_get_freq(RIG *rig, vfo_t vfo, freq_t *freq)
|
||||||
}
|
}
|
||||||
|
|
||||||
freqbuf[14] = '\0';
|
freqbuf[14] = '\0';
|
||||||
sscanf(freqbuf+2, "%lld", &f);
|
sscanf(freqbuf+2, "%lld", &f); /* Is a long long int really necessary here? */
|
||||||
*freq = (freq_t)f;
|
*freq = (freq_t)f;
|
||||||
|
|
||||||
return RIG_OK;
|
return RIG_OK;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static int ts140_get_mem(RIG *rig, vfo_t vfo, int *ch)
|
||||||
|
{
|
||||||
|
char membuf[50];
|
||||||
|
int m, retval;
|
||||||
|
size_t mem_len;
|
||||||
|
|
||||||
|
mem_len = 50;
|
||||||
|
|
||||||
|
/* Again, the TS-140S is incapable of supplying the memory location
|
||||||
|
* from MC; so we use IF;. Another awful hack, but it's what the radio
|
||||||
|
* forces us to use. Furthermore, the radio will not return the value
|
||||||
|
* of an empty memory. */
|
||||||
|
|
||||||
|
retval = kenwood_transaction (rig, "IF;", 3, membuf, &mem_len);
|
||||||
|
if (retval != RIG_OK)
|
||||||
|
return retval;
|
||||||
|
|
||||||
|
if (mem_len != 38 || membuf[1] != 'F') {
|
||||||
|
rig_debug(RIG_DEBUG_ERR,"ts140_get_mem: wrong answer "
|
||||||
|
"len=%d\n", mem_len);
|
||||||
|
return -RIG_ERJCTED;
|
||||||
|
}
|
||||||
|
|
||||||
|
membuf[28] = '\0';
|
||||||
|
sscanf(membuf+25, "%d", &m);
|
||||||
|
*ch = m;
|
||||||
|
|
||||||
|
return RIG_OK;
|
||||||
|
}
|
||||||
|
|
||||||
static int ts140_set_func(RIG *rig, vfo_t vfo, setting_t func, int status)
|
static int ts140_set_func(RIG *rig, vfo_t vfo, setting_t func, int status)
|
||||||
{
|
{
|
||||||
char fctbuf[16], ackbuf[50];
|
char fctbuf[16], ackbuf[50];
|
||||||
|
@ -176,7 +206,7 @@ static int ts140_set_func(RIG *rig, vfo_t vfo, setting_t func, int status)
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* ts140 rig capabilities.
|
* ts140 rig capabilities.
|
||||||
* MattD.. 2005-01-29
|
* GW0VNR 09042006
|
||||||
*/
|
*/
|
||||||
|
|
||||||
const struct rig_caps ts140_caps = {
|
const struct rig_caps ts140_caps = {
|
||||||
|
@ -281,7 +311,7 @@ const struct rig_caps ts140_caps = {
|
||||||
.get_func = kenwood_get_func,
|
.get_func = kenwood_get_func,
|
||||||
.vfo_op = kenwood_vfo_op,
|
.vfo_op = kenwood_vfo_op,
|
||||||
.set_mem = kenwood_set_mem,
|
.set_mem = kenwood_set_mem,
|
||||||
.get_mem = kenwood_get_mem,
|
.get_mem = ts140_get_mem,
|
||||||
.reset = kenwood_reset,
|
.reset = kenwood_reset,
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|
|
@ -2,7 +2,7 @@
|
||||||
* Hamlib Kenwood backend - TS680 description
|
* Hamlib Kenwood backend - TS680 description
|
||||||
* Copyright (c) 2000-2005 by Stephane Fillod
|
* Copyright (c) 2000-2005 by Stephane Fillod
|
||||||
*
|
*
|
||||||
* $Id: ts680.c,v 1.6 2006-03-14 20:29:41 pa4tu Exp $
|
* $Id: ts680.c,v 1.7 2006-04-10 18:01:15 pa4tu Exp $
|
||||||
*
|
*
|
||||||
* This library is free software; you can redistribute it and/or modify
|
* This library is free software; you can redistribute it and/or modify
|
||||||
* it under the terms of the GNU Library General Public License as
|
* it under the terms of the GNU Library General Public License as
|
||||||
|
@ -152,6 +152,36 @@ static int ts680_get_freq(RIG *rig, vfo_t vfo, freq_t *freq)
|
||||||
return RIG_OK;
|
return RIG_OK;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static int ts680_get_mem(RIG *rig, vfo_t vfo, int *ch)
|
||||||
|
{
|
||||||
|
char membuf[50];
|
||||||
|
int m, retval;
|
||||||
|
size_t mem_len;
|
||||||
|
|
||||||
|
mem_len = 50;
|
||||||
|
|
||||||
|
/* Again, the TS-680S is incapable of supplying the memory location
|
||||||
|
* from MC; so we use IF;. Another awful hack, but it's what the radio
|
||||||
|
* forces us to use. Furthermore, the radio will not return the value
|
||||||
|
* of an empty memory. */
|
||||||
|
|
||||||
|
retval = kenwood_transaction (rig, "IF;", 3, membuf, &mem_len);
|
||||||
|
if (retval != RIG_OK)
|
||||||
|
return retval;
|
||||||
|
|
||||||
|
if (mem_len != 38 || membuf[1] != 'F') {
|
||||||
|
rig_debug(RIG_DEBUG_ERR,"ts680_get_mem: wrong answer "
|
||||||
|
"len=%d\n", mem_len);
|
||||||
|
return -RIG_ERJCTED;
|
||||||
|
}
|
||||||
|
|
||||||
|
membuf[28] = '\0';
|
||||||
|
sscanf(membuf+25, "%d", &m);
|
||||||
|
*ch = m;
|
||||||
|
|
||||||
|
return RIG_OK;
|
||||||
|
}
|
||||||
|
|
||||||
static int ts680_set_func(RIG *rig, vfo_t vfo, setting_t func, int status)
|
static int ts680_set_func(RIG *rig, vfo_t vfo, setting_t func, int status)
|
||||||
{
|
{
|
||||||
char fctbuf[16], ackbuf[16];
|
char fctbuf[16], ackbuf[16];
|
||||||
|
@ -175,11 +205,11 @@ static int ts680_set_func(RIG *rig, vfo_t vfo, setting_t func, int status)
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* ts680 rig capabilities.
|
* ts680 rig capabilities.
|
||||||
* MattD.. 2005-01-29
|
* GW0VNR 09042006
|
||||||
*/
|
*/
|
||||||
|
|
||||||
const struct rig_caps ts680s_caps = {
|
const struct rig_caps ts680s_caps = {
|
||||||
.rig_model = RIG_MODEL_TS680S, /* Returns ID of 006. Suggest this is added to kenwood.c */
|
.rig_model = RIG_MODEL_TS680S,
|
||||||
.model_name = "TS-680S",
|
.model_name = "TS-680S",
|
||||||
.mfg_name = "Kenwood",
|
.mfg_name = "Kenwood",
|
||||||
.version = BACKEND_VER ".0",
|
.version = BACKEND_VER ".0",
|
||||||
|
@ -286,7 +316,7 @@ const struct rig_caps ts680s_caps = {
|
||||||
.get_func = kenwood_get_func,
|
.get_func = kenwood_get_func,
|
||||||
.vfo_op = kenwood_vfo_op,
|
.vfo_op = kenwood_vfo_op,
|
||||||
.set_mem = kenwood_set_mem,
|
.set_mem = kenwood_set_mem,
|
||||||
.get_mem = kenwood_get_mem,
|
.get_mem = ts680_get_mem,
|
||||||
.reset = kenwood_reset,
|
.reset = kenwood_reset,
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|
Ładowanie…
Reference in New Issue