set_ant/get_ant support for ts870s and ts2000

git-svn-id: https://hamlib.svn.sourceforge.net/svnroot/hamlib/trunk@2304 7ae35d74-ebe9-4afe-98af-79ac388436b8
Hamlib-1.2.7.1
Stéphane Fillod, F8CFE 2008-03-01 11:20:30 +00:00
rodzic 41b2de0880
commit f7923566b1
4 zmienionych plików z 71 dodań i 46 usunięć

Wyświetl plik

@ -2,7 +2,7 @@
* Hamlib Kenwood backend - main file
* Copyright (c) 2000-2005 by Stephane Fillod and others
*
* $Id: kenwood.c,v 1.95 2007-09-04 15:01:23 y32kn Exp $
* $Id: kenwood.c,v 1.96 2008-03-01 11:20:29 fillods Exp $
*
* This library is free software; you can redistribute it and/or modify
* it under the terms of the GNU Library General Public License as
@ -1048,6 +1048,55 @@ int kenwood_get_ctcss_tone(RIG *rig, vfo_t vfo, tone_t *tone)
return RIG_OK;
}
/*
* set the aerial/antenna to use
*/
int kenwood_set_ant (RIG * rig, vfo_t vfo, ant_t ant)
{
char ackbuf[50];
const char *cmd;
size_t ack_len = 0;
switch (ant) {
case RIG_ANT_1:
cmd = "AN1;";
case RIG_ANT_2:
cmd = "AN2;";
case RIG_ANT_3:
cmd = "AN3;";
case RIG_ANT_4:
cmd = "AN4;";
default:
return -RIG_EINVAL;
}
return kenwood_transaction (rig, cmd, 4, ackbuf, &ack_len);
}
/*
* get the aerial/antenna in use
*/
int kenwood_get_ant (RIG * rig, vfo_t vfo, ant_t * ant)
{
char ackbuf[50];
size_t ack_len = 50;
int retval;
retval = kenwood_transaction (rig, "AN;", 3, ackbuf, &ack_len);
if (RIG_OK != retval)
return retval;
if (4 != ack_len)
return -RIG_EPROTO;
if (ackbuf[2] < '1' || ackbuf[2] > '9')
return -RIG_EPROTO;
*ant = RIG_ANT_N(ackbuf[2]-'1');
return RIG_OK;
}
/*
* kenwood_get_ptt
* Assumes rig!=NULL, ptt!=NULL

Wyświetl plik

@ -1,8 +1,8 @@
/*
* Hamlib Kenwood backend - main header
* Copyright (c) 2000-2004 by Stephane Fillod
* Copyright (c) 2000-2008 by Stephane Fillod
*
* $Id: kenwood.h,v 1.41 2006-03-09 19:45:10 pa4tu Exp $
* $Id: kenwood.h,v 1.42 2008-03-01 11:20:29 fillods Exp $
*
* This library is free software; you can redistribute it and/or modify
* it under the terms of the GNU Library General Public License as
@ -23,7 +23,7 @@
#ifndef _KENWOOD_H
#define _KENWOOD_H 1
#define BACKEND_VER "0.5"
#define BACKEND_VER "0.6"
#define EOM_KEN ";"
#define EOM_TH "\r"
@ -60,6 +60,8 @@ int kenwood_set_powerstat(RIG *rig, powerstat_t status);
int kenwood_get_powerstat(RIG *rig, powerstat_t *status);
int kenwood_reset(RIG *rig, reset_t reset);
int kenwood_send_morse(RIG *rig, vfo_t vfo, const char *msg);
int kenwood_set_ant (RIG * rig, vfo_t vfo, ant_t ant);
int kenwood_get_ant (RIG * rig, vfo_t vfo, ant_t * ant);
int kenwood_get_ptt(RIG *rig, vfo_t vfo, ptt_t *ptt);
int kenwood_set_ptt(RIG *rig, vfo_t vfo, ptt_t ptt);
int kenwood_get_dcd(RIG *rig, vfo_t vfo, dcd_t *dcd);

Wyświetl plik

@ -1,8 +1,8 @@
/*
* Hamlib Kenwood backend - TS2000 description
* Copyright (c) 2000-2006 by Stephane Fillod
* Copyright (c) 2000-2008 by Stephane Fillod
*
* $Id: ts2000.c,v 1.22 2008-02-24 22:31:22 fillods Exp $
* $Id: ts2000.c,v 1.23 2008-03-01 11:20:29 fillods Exp $
*
* This library is free software; you can redistribute it and/or modify
* it under the terms of the GNU Library General Public License as
@ -249,6 +249,8 @@ const struct rig_caps ts2000_caps = {
.get_func = kenwood_get_func,
.set_level = kenwood_set_level,
.get_level = ts2000_get_level,
.set_ant = kenwood_set_ant,
.get_ant = kenwood_get_ant,
.send_morse = kenwood_send_morse,
.vfo_op = kenwood_vfo_op,
.set_mem = kenwood_set_mem,

Wyświetl plik

@ -1,8 +1,8 @@
/*
* Hamlib Kenwood backend - TS870S description
* Copyright (c) 2000-2005 by Stephane Fillod
* Copyright (c) 2000-2008 by Stephane Fillod
*
* $Id: ts870s.c,v 1.48 2007-11-23 18:49:06 pa4tu Exp $
* $Id: ts870s.c,v 1.49 2008-03-01 11:20:30 fillods Exp $
*
* This library is free software; you can redistribute it and/or modify
* it under the terms of the GNU Library General Public License as
@ -29,6 +29,7 @@
#include <hamlib/rig.h>
#include "kenwood.h"
#include "bandplan.h"
#define TS870S_ALL_MODES \
(RIG_MODE_AM|RIG_MODE_CW|RIG_MODE_CWR|RIG_MODE_SSB \
@ -51,6 +52,7 @@
|RIG_LEVEL_AF|RIG_LEVEL_RF|RIG_LEVEL_MICGAIN|RIG_LEVEL_PREAMP)
#define TS870S_VFO (RIG_VFO_A|RIG_VFO_B)
#define TS870S_ANTS (RIG_ANT_1|RIG_ANT_2)
/*
* modes in use by the "MD" command
@ -455,54 +457,22 @@ const struct rig_caps ts870s_caps = {
},
.rx_range_list1 = {
{kHz(100),MHz(30),TS870S_ALL_MODES,-1,-1,TS870S_VFO},
{kHz(100),MHz(30),TS870S_ALL_MODES,-1,-1,TS870S_VFO,TS870S_ANTS},
RIG_FRNG_END,
}, /* rx range */
.tx_range_list1 = {
{kHz(1810),kHz(1850),TS870S_OTHER_TX_MODES,5000,100000,TS870S_VFO}, /* 100W class */
{kHz(1810),kHz(1850),TS870S_AM_TX_MODES,2000,25000,TS870S_VFO}, /* 25W class */
{kHz(3500),kHz(3800),TS870S_OTHER_TX_MODES,5000,100000,TS870S_VFO},
{kHz(3500),kHz(3800),TS870S_AM_TX_MODES,2000,25000,TS870S_VFO},
{MHz(7),kHz(7100),TS870S_OTHER_TX_MODES,5000,100000,TS870S_VFO},
{MHz(7),kHz(7100),TS870S_AM_TX_MODES,2000,25000,TS870S_VFO},
{kHz(10100),kHz(10150),TS870S_OTHER_TX_MODES,5000,100000,TS870S_VFO},
{kHz(10100),kHz(10150),TS870S_AM_TX_MODES,2000,25000,TS870S_VFO},
{MHz(14),kHz(14350),TS870S_OTHER_TX_MODES,5000,100000,TS870S_VFO},
{MHz(14),kHz(14350),TS870S_AM_TX_MODES,2000,25000,TS870S_VFO},
{kHz(18068),kHz(18168),TS870S_OTHER_TX_MODES,5000,100000,TS870S_VFO},
{kHz(18068),kHz(18168),TS870S_AM_TX_MODES,2000,25000,TS870S_VFO},
{MHz(21),kHz(21450),TS870S_OTHER_TX_MODES,5000,100000,TS870S_VFO},
{MHz(21),kHz(21450),TS870S_AM_TX_MODES,2000,25000,TS870S_VFO},
{kHz(24890),kHz(24990),TS870S_OTHER_TX_MODES,5000,100000,TS870S_VFO},
{kHz(24890),kHz(24990),TS870S_AM_TX_MODES,2000,25000,TS870S_VFO},
{MHz(28),kHz(29700),TS870S_OTHER_TX_MODES,5000,100000,TS870S_VFO},
{MHz(28),kHz(29700),TS870S_AM_TX_MODES,2000,25000,TS870S_VFO},
FRQ_RNG_HF(1, TS870S_OTHER_TX_MODES, W(5), W(100), TS870S_VFO, TS870S_ANTS), /* 100W class */
FRQ_RNG_HF(1, TS870S_AM_TX_MODES, W(2), W(25), TS870S_VFO, TS870S_ANTS), /* 25W class */
RIG_FRNG_END,
},
.rx_range_list2 = {
{kHz(100),MHz(30),TS870S_ALL_MODES,-1,-1,TS870S_VFO},
{kHz(100),MHz(30),TS870S_ALL_MODES,-1,-1,TS870S_VFO,TS870S_ANTS},
RIG_FRNG_END,
}, /* rx range */
.tx_range_list2 = {
{kHz(1800),MHz(2)-1,TS870S_OTHER_TX_MODES,5000,100000,TS870S_VFO}, /* 100W class */
{kHz(1800),MHz(2)-1,TS870S_AM_TX_MODES,2000,25000,TS870S_VFO}, /* 25W class */
{kHz(3500),MHz(4)-1,TS870S_OTHER_TX_MODES,5000,100000,TS870S_VFO},
{kHz(3500),MHz(4)-1,TS870S_AM_TX_MODES,2000,25000,TS870S_VFO},
{MHz(7),kHz(7300),TS870S_OTHER_TX_MODES,5000,100000,TS870S_VFO},
{MHz(7),kHz(7300),TS870S_AM_TX_MODES,2000,25000,TS870S_VFO},
{kHz(10100),kHz(10150),TS870S_OTHER_TX_MODES,5000,100000,TS870S_VFO},
{kHz(10100),kHz(10150),TS870S_AM_TX_MODES,2000,25000,TS870S_VFO},
{MHz(14),kHz(14350),TS870S_OTHER_TX_MODES,5000,100000,TS870S_VFO},
{MHz(14),kHz(14350),TS870S_AM_TX_MODES,2000,25000,TS870S_VFO},
{kHz(18068),kHz(18168),TS870S_OTHER_TX_MODES,5000,100000,TS870S_VFO},
{kHz(18068),kHz(18168),TS870S_AM_TX_MODES,2000,25000,TS870S_VFO},
{MHz(21),kHz(21450),TS870S_OTHER_TX_MODES,5000,100000,TS870S_VFO},
{MHz(21),kHz(21450),TS870S_AM_TX_MODES,2000,25000,TS870S_VFO},
{kHz(24890),kHz(24990),TS870S_OTHER_TX_MODES,5000,100000,TS870S_VFO},
{kHz(24890),kHz(24990),TS870S_AM_TX_MODES,2000,25000,TS870S_VFO},
{MHz(28),kHz(29700),TS870S_OTHER_TX_MODES,5000,100000,TS870S_VFO},
{MHz(28),kHz(29700),TS870S_AM_TX_MODES,2000,25000,TS870S_VFO},
FRQ_RNG_HF(2, TS870S_OTHER_TX_MODES, W(5), W(100), TS870S_VFO, TS870S_ANTS), /* 100W class */
FRQ_RNG_HF(2, TS870S_AM_TX_MODES, W(2), W(25), TS870S_VFO, TS870S_ANTS), /* 25W class */
RIG_FRNG_END,
}, /* tx range */
.tuning_steps = {
@ -560,6 +530,8 @@ const struct rig_caps ts870s_caps = {
.get_func = kenwood_get_func,
.set_level = ts870s_set_level,
.get_level = ts870s_get_level,
.set_ant = kenwood_set_ant,
.get_ant = kenwood_get_ant,
.send_morse = kenwood_send_morse,
.vfo_op = kenwood_vfo_op,
.set_mem = kenwood_set_mem,