kopia lustrzana https://github.com/Hamlib/Hamlib
really add ALC read this time, only change meter if needed, cleanups
git-svn-id: https://hamlib.svn.sourceforge.net/svnroot/hamlib/trunk@1920 7ae35d74-ebe9-4afe-98af-79ac388436b8Hamlib-1.2.4
rodzic
385c761f07
commit
c2fdf92935
|
@ -2,7 +2,7 @@
|
||||||
* Hamlib Kenwood backend - TS870S description
|
* Hamlib Kenwood backend - TS870S description
|
||||||
* Copyright (c) 2000-2004 by Stephane Fillod
|
* Copyright (c) 2000-2004 by Stephane Fillod
|
||||||
*
|
*
|
||||||
* $Id: ts870s.c,v 1.41 2005-02-02 20:23:10 pa4tu Exp $
|
* $Id: ts870s.c,v 1.42 2005-02-03 20:22:21 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
|
||||||
|
@ -30,13 +30,21 @@
|
||||||
#include <hamlib/rig.h>
|
#include <hamlib/rig.h>
|
||||||
#include "kenwood.h"
|
#include "kenwood.h"
|
||||||
|
|
||||||
#define TS870S_ALL_MODES (RIG_MODE_AM|RIG_MODE_CW|RIG_MODE_CWR|RIG_MODE_SSB|RIG_MODE_FM|RIG_MODE_RTTY|RIG_MODE_RTTYR)
|
#define TS870S_ALL_MODES \
|
||||||
#define TS870S_OTHER_TX_MODES (RIG_MODE_CW|RIG_MODE_SSB|RIG_MODE_FM|RIG_MODE_RTTY)
|
(RIG_MODE_AM|RIG_MODE_CW|RIG_MODE_CWR|RIG_MODE_SSB \
|
||||||
|
|RIG_MODE_FM|RIG_MODE_RTTY|RIG_MODE_RTTYR)
|
||||||
|
#define TS870S_OTHER_TX_MODES \
|
||||||
|
(RIG_MODE_CW|RIG_MODE_SSB|RIG_MODE_FM|RIG_MODE_RTTY)
|
||||||
#define TS870S_AM_TX_MODES RIG_MODE_AM
|
#define TS870S_AM_TX_MODES RIG_MODE_AM
|
||||||
|
|
||||||
#define TS870S_FUNC_ALL (RIG_FUNC_NB|RIG_FUNC_COMP|RIG_FUNC_VOX|RIG_FUNC_NR|RIG_FUNC_BC|RIG_FUNC_ANF|RIG_FUNC_LOCK)
|
#define TS870S_FUNC_ALL \
|
||||||
|
(RIG_FUNC_NB|RIG_FUNC_COMP|RIG_FUNC_VOX|RIG_FUNC_NR \
|
||||||
|
|RIG_FUNC_BC|RIG_FUNC_ANF|RIG_FUNC_LOCK)
|
||||||
|
|
||||||
#define TS870S_LEVEL_ALL (RIG_LEVEL_ATT|RIG_LEVEL_SQL|RIG_LEVEL_STRENGTH|RIG_LEVEL_SWR|RIG_LEVEL_COMP|RIG_LEVEL_AGC|RIG_LEVEL_RFPOWER|RIG_LEVEL_AF|RIG_LEVEL_RF|RIG_LEVEL_MICGAIN|RIG_LEVEL_PREAMP)
|
#define TS870S_LEVEL_ALL \
|
||||||
|
(RIG_LEVEL_ATT|RIG_LEVEL_SQL|RIG_LEVEL_STRENGTH|RIG_LEVEL_SWR \
|
||||||
|
|RIG_LEVEL_COMP|RIG_LEVEL_ALC|RIG_LEVEL_AGC|RIG_LEVEL_RFPOWER \
|
||||||
|
|RIG_LEVEL_AF|RIG_LEVEL_RF|RIG_LEVEL_MICGAIN|RIG_LEVEL_PREAMP)
|
||||||
|
|
||||||
#define TS870S_VFO (RIG_VFO_A|RIG_VFO_B)
|
#define TS870S_VFO (RIG_VFO_A|RIG_VFO_B)
|
||||||
|
|
||||||
|
@ -206,15 +214,22 @@ int ts870s_get_level(RIG *rig, vfo_t vfo, setting_t level, value_t *val)
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case RIG_LEVEL_SWR:
|
case RIG_LEVEL_SWR:
|
||||||
/* same as ts850 */
|
|
||||||
lvl_len = 0;
|
|
||||||
retval = kenwood_transaction (rig, "RM1;", 4, lvlbuf, &lvl_len);
|
|
||||||
if (retval != RIG_OK)
|
|
||||||
return retval;
|
|
||||||
lvl_len = 50;
|
lvl_len = 50;
|
||||||
retval = kenwood_transaction (rig, "RM;", 3, lvlbuf, &lvl_len);
|
retval = kenwood_transaction (rig, "RM;", 3, lvlbuf, &lvl_len);
|
||||||
if (retval != RIG_OK)
|
if (retval != RIG_OK)
|
||||||
return retval;
|
return retval;
|
||||||
|
/* set meter to SWR if needed */
|
||||||
|
if (lvlbuf[2] != '1')
|
||||||
|
{
|
||||||
|
lvl_len = 0;
|
||||||
|
retval = kenwood_transaction (rig, "RM1;", 4, lvlbuf, &lvl_len);
|
||||||
|
if (retval != RIG_OK)
|
||||||
|
return retval;
|
||||||
|
lvl_len = 50;
|
||||||
|
retval = kenwood_transaction (rig, "RM;", 3, lvlbuf, &lvl_len);
|
||||||
|
if (retval != RIG_OK)
|
||||||
|
return retval;
|
||||||
|
}
|
||||||
|
|
||||||
lvlbuf[7]='\0';
|
lvlbuf[7]='\0';
|
||||||
i=atoi(&lvlbuf[3]);
|
i=atoi(&lvlbuf[3]);
|
||||||
|
@ -225,28 +240,44 @@ int ts870s_get_level(RIG *rig, vfo_t vfo, setting_t level, value_t *val)
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case RIG_LEVEL_COMP:
|
case RIG_LEVEL_COMP:
|
||||||
lvl_len = 0;
|
|
||||||
retval = kenwood_transaction (rig, "RM2;", 4, lvlbuf, &lvl_len);
|
|
||||||
if (retval != RIG_OK)
|
|
||||||
return retval;
|
|
||||||
lvl_len = 50;
|
lvl_len = 50;
|
||||||
retval = kenwood_transaction (rig, "RM;", 4, lvlbuf, &lvl_len);
|
retval = kenwood_transaction (rig, "RM;", 3, lvlbuf, &lvl_len);
|
||||||
if (retval != RIG_OK)
|
if (retval != RIG_OK)
|
||||||
return retval;
|
return retval;
|
||||||
|
/* set meter to COMP if needed */
|
||||||
|
if (lvlbuf[2] != '2')
|
||||||
|
{
|
||||||
|
lvl_len = 0;
|
||||||
|
retval = kenwood_transaction (rig, "RM2;", 4, lvlbuf, &lvl_len);
|
||||||
|
if (retval != RIG_OK)
|
||||||
|
return retval;
|
||||||
|
lvl_len = 50;
|
||||||
|
retval = kenwood_transaction (rig, "RM;", 4, lvlbuf, &lvl_len);
|
||||||
|
if (retval != RIG_OK)
|
||||||
|
return retval;
|
||||||
|
}
|
||||||
|
|
||||||
lvlbuf[7]='\0';
|
lvlbuf[7]='\0';
|
||||||
val->f=(float)atoi(&lvlbuf[3])/30.0;
|
val->f=(float)atoi(&lvlbuf[3])/30.0;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case RIG_LEVEL_ALC:
|
case RIG_LEVEL_ALC:
|
||||||
lvl_len = 0;
|
|
||||||
retval = kenwood_transaction (rig, "RM3;", 4, lvlbuf, &lvl_len);
|
|
||||||
if (retval != RIG_OK)
|
|
||||||
return retval;
|
|
||||||
lvl_len = 50;
|
lvl_len = 50;
|
||||||
retval = kenwood_transaction (rig, "RM;", 4, lvlbuf, &lvl_len);
|
retval = kenwood_transaction (rig, "RM;", 3, lvlbuf, &lvl_len);
|
||||||
if (retval != RIG_OK)
|
if (retval != RIG_OK)
|
||||||
return retval;
|
return retval;
|
||||||
|
/* set meter to ALC if needed */
|
||||||
|
if (lvlbuf[2] != '3')
|
||||||
|
{
|
||||||
|
lvl_len = 0;
|
||||||
|
retval = kenwood_transaction (rig, "RM3;", 4, lvlbuf, &lvl_len);
|
||||||
|
if (retval != RIG_OK)
|
||||||
|
return retval;
|
||||||
|
lvl_len = 50;
|
||||||
|
retval = kenwood_transaction (rig, "RM;", 4, lvlbuf, &lvl_len);
|
||||||
|
if (retval != RIG_OK)
|
||||||
|
return retval;
|
||||||
|
}
|
||||||
|
|
||||||
lvlbuf[7]='\0';
|
lvlbuf[7]='\0';
|
||||||
val->f=(float)atoi(&lvlbuf[3])/30.0;
|
val->f=(float)atoi(&lvlbuf[3])/30.0;
|
||||||
|
@ -337,7 +368,7 @@ const struct rig_caps ts870s_caps = {
|
||||||
.rig_model = RIG_MODEL_TS870S,
|
.rig_model = RIG_MODEL_TS870S,
|
||||||
.model_name = "TS-870S",
|
.model_name = "TS-870S",
|
||||||
.mfg_name = "Kenwood",
|
.mfg_name = "Kenwood",
|
||||||
.version = "0.4.0",
|
.version = "0.4.1",
|
||||||
.copyright = "LGPL",
|
.copyright = "LGPL",
|
||||||
.status = RIG_STATUS_BETA,
|
.status = RIG_STATUS_BETA,
|
||||||
.rig_type = RIG_TYPE_TRANSCEIVER,
|
.rig_type = RIG_TYPE_TRANSCEIVER,
|
||||||
|
|
Ładowanie…
Reference in New Issue