Temporarily roll back ts2k experimental patches, esp. the VFO bits

kept:
- indentation
- new PARM_KEYLIGHT, SCAN_VFO
- new scan_group field in struct channel
- added RIG_CHFLAG's
ts2k stuff in 'branch_ts2k' will be merged later


git-svn-id: https://hamlib.svn.sourceforge.net/svnroot/hamlib/trunk@1108 7ae35d74-ebe9-4afe-98af-79ac388436b8
Hamlib-1.1.4
Stéphane Fillod, F8CFE 2002-07-08 22:20:15 +00:00
rodzic 4af5a96eee
commit ba26b66075
4 zmienionych plików z 247 dodań i 624 usunięć

Wyświetl plik

@ -2,7 +2,7 @@
* Hamlib Interface - API header
* Copyright (c) 2000-2002 by Stephane Fillod and Frank Singleton
*
* $Id: rig.h,v 1.65 2002-06-30 10:17:03 dedmons Exp $
* $Id: rig.h,v 1.66 2002-07-08 22:20:08 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
@ -59,7 +59,9 @@
#include <hamlib/rig_dll.h>
__BEGIN_DECLS extern HAMLIB_EXPORT_VAR(const char) hamlib_version[];
__BEGIN_DECLS
extern HAMLIB_EXPORT_VAR(const char) hamlib_version[];
extern HAMLIB_EXPORT_VAR(const char) hamlib_copyright[];
typedef unsigned int tone_t;
@ -183,23 +185,21 @@ enum rig_status_e {
RIG_STATUS_UNTESTED, /* written from specs, rig unavailable for test, feedback most wanted! */
RIG_STATUS_BETA,
RIG_STATUS_STABLE,
RIG_STATUS_BUGGY, /* was stable, but something broke it! */
RIG_STATUS_BUGGY, /* was stable, but something broke it! */
RIG_STATUS_NEW
};
enum rptr_shift_e {
RIG_RPT_SHIFT_NONE = 0,
RIG_RPT_SHIFT_MINUS,
RIG_RPT_SHIFT_PLUS,
RIG_RPT_SHIFT_1750 // ts2000 E-type '='
RIG_RPT_SHIFT_PLUS
};
typedef enum rptr_shift_e rptr_shift_t;
/* hopefully, this is obsolete? --Dale kd7eni */
enum split_e {
RIG_SPLIT_OFF = 0,
RIG_SPLIT_ON
RIG_SPLIT_ON,
};
typedef enum split_e split_t;
@ -218,97 +218,43 @@ typedef signed long shortfreq_t;
#define RIG_FREQ_NONE Hz(0)
/*
* I've cleaned up the VFO definition to make it easier to change
* when the MoonMelter is finally released. Essentially, I've
* done nothing. --Dale :)
*/
#define RIG_VFO_CURR 0 /* current "tunable channel"/VFO */
#define RIG_VFO_NONE 0 /* used in caps */
/*
* Upper segment: "rig Major"
* Lower segment: "VFO minor"
* Or should it be better designated
* as a "tunable channel" (RIG_CTRL_MEM) ? --SF
*/
#define RIG_VFO_MEM -2 /* means Memory mode, to be used with set_vfo */
#define RIG_VFO_VFO -3 /* means (any)VFO mode, with set_vfo */
#define RIG_VFO1 (1<<0)
#define RIG_VFO2 (1<<1)
#define RIG_CTRL_MAIN 1
#define RIG_CTRL_SUB 2
/*
* one byte per "tunable channel":
*
* MSB LSB
* N n+1 n 0
* +-+-+-+-+-+-+-+-+-+-+-+
* | | |
* Rig VFO
* Major minor
*/
typedef unsigned int vfo_t;
#define BIT(a) ( ((vfo_t) 1) << (a))
//#define BIT(a) (1L << (a))
#define RIG_MINOR 6
/* M=Major, m=minor */
#define RIG_SET_VFO(M,m) ((vfo_t) ( ((M) << (RIG_MINOR+1)) | (m) ))
/* Note: prior definition exibited exponential growth in bit count */
#define RIG_VFO_CTRL RIG_SET_VFO(0, BIT(0))
#define RIG_VFO_PTT RIG_SET_VFO(0, BIT(1))
/* VFO Minor */
#define RIG_VFO1 RIG_SET_VFO(0, BIT(2)) // VFO_A
#define RIG_VFO2 RIG_SET_VFO(0, BIT(3)) // VFO_B
#define RIG_VFO3 RIG_SET_VFO(0, BIT(4)) // VFO_C
#define RIG_VFO4 RIG_SET_VFO(0, BIT(5)) // MEM
#define RIG_VFO5 RIG_SET_VFO(0, BIT(6)) // CALL
/* |
* RIG_MINOR = n :== MAX >-----------------'
* MSB LSB
* 8 1
* +-+-+-+-+-+-+-+-+
* | | |
* CTL VFO
*/
/* Rig Major */
#define RIG_CTRL_MAIN RIG_SET_VFO(BIT(0), 0)
#define RIG_CTRL_SUB RIG_SET_VFO(BIT(1), 0)
#define RIG_CTRL_MEM RIG_SET_VFO(BIT(2), 0)
#define RIG_CTRL_CALL RIG_SET_VFO(BIT(3), 0)
#define RIG_CTRL_SPLIT RIG_SET_VFO(BIT(4), 0)
#define RIG_CTRL_SCAN RIG_SET_VFO(BIT(5), 0)
#define RIG_CTRL_SAT RIG_SET_VFO(BIT(6), 0)
#define RIG_CTRL_REV RIG_SET_VFO(BIT(7), 0)
/* How to call it? "tunable channel"? Control band? */
#define RIG_CTRL_BAND(band,vfo) ( (0x80<<(8*((band)-1))) | ((vfo)<<(8*((band)-1))) )
/* VFO stuff that may be handy. */
#define RIG_VFO_MASK (RIG_VFO1 | RIG_VFO2 | RIG_VFO3 | RIG_VFO4 | RIG_VFO5)
#define RIG_CTRL_MASK (RIG_CTRL_MAIN | RIG_CTRL_SUB | RIG_CTRL_MEM \
| RIG_CTRL_CALL | RIG_CTRL_SPLIT | RIG_CTRL_SCAN \
| RIG_CTRL_SAT | RIG_CTRL_REV)
#define RIG_VFO_VALID (RIG_CTRL_MASK | RIG_VFO_MASK)
#define RIG_VFO_TEST(v) (((v) & RIG_VFO_VALID) != 0)
/* macros */
#define RIG_VFO_A (RIG_CTRL_BAND(RIG_CTRL_MAIN, RIG_VFO1))
#define RIG_VFO_B (RIG_CTRL_BAND(RIG_CTRL_MAIN, RIG_VFO2))
#define RIG_VFO_C (RIG_CTRL_BAND(RIG_CTRL_SUB, RIG_VFO1))
#define RIG_VFO_MAIN (RIG_CTRL_BAND(RIG_CTRL_MAIN, RIG_VFO_CURR))
#define RIG_VFO_SUB (RIG_CTRL_BAND(RIG_CTRL_SUB, RIG_VFO_CURR))
/* The following are for compatibility with existing code! */
/* Standard VFO's for common use */
#define RIG_VFO_A (RIG_CTRL_MAIN | RIG_VFO1)
#define RIG_VFO_B (RIG_CTRL_MAIN | RIG_VFO2)
#define RIG_VFO_C (RIG_CTRL_SUB | RIG_VFO3)
/* More standard VFO' but these are new! */
// How is it possible for rig_get_vfo() to tell use we're split otherwise?
#define RIG_VFO_AB ((RIG_CTRL_SPLIT | RIG_CTRL_MAIN) | (RIG_VFO1 | RIG_VFO2))
#define RIG_VFO_BA ((RIG_CTRL_REV | RIG_CTRL_SPLIT | RIG_CTRL_MAIN) \
| (RIG_VFO1 | RIG_VFO2))
/* memories (except temp) */
#define RIG_VFO_MEM_A ((RIG_CTRL_MEM | RIG_CTRL_MAIN) | RIG_VFO4)
#define RIG_VFO_MEM_C ((RIG_CTRL_MEM | RIG_CTRL_SUB) | RIG_VFO4)
#define RIG_VFO_CALL_A ((RIG_CTRL_MEM | RIG_CTRL_MAIN) | RIG_VFO5)
#define RIG_VFO_CALL_C ((RIG_CTRL_CALL | RIG_CTRL_SUB) | RIG_VFO5)
/* Standard control's for common use */
#define RIG_VFO_MEM (RIG_CTRL_MEM | RIG_VFO_VFO)
#define RIG_VFO_MAIN RIG_CTRL_MAIN
#define RIG_VFO_SUB RIG_CTRL_SUB
/* pseudo targets */
#define RIG_VFO_CURR RIG_VFO_VALID
#define RIG_VFO_VFO RIG_VFO_MASK
/* Hopefully, to following will be dropped */
#define RIG_VFO_NONE (~RIG_VFO_VALID)
#define RIG_VFO_ALL ~RIG_VFO_MASK
/*
* Ahhh. Now I can live happy and die free! --Dale
*/
typedef int vfo_t;
#define RIG_TARGETABLE_NONE 0x00
#define RIG_TARGETABLE_FREQ 0x01
@ -399,19 +345,18 @@ typedef enum reset_e reset_t;
* or is it the balance (-> set_level) ? --SF
*/
typedef unsigned int vfo_op_t;
typedef long vfo_op_t;
#define RIG_SCAN_NONE 0L
#define RIG_SCAN_STOP RIG_SCAN_NONE
#define RIG_SCAN_MEM (1L<<0) /* Scan all memory channels */
#define RIG_SCAN_SLCT (1L<<1) /* Scan all selected memory channels */
#define RIG_SCAN_PRIO (1L<<2) /* Priority watch (mem or call channel) */
#define RIG_SCAN_PROG (1L<<3) /* Programmed(edge) scan */
#define RIG_SCAN_DELTA (1L<<4) /* delta-f scan */
#define RIG_SCAN_VFO (1L<<5) /* most basic scan --kd7eni */
#define RIG_SCAN_ALL (RIG_SCAN_MEM | RIG_SCAN_SLCT | RIG_SCAN_PRIO \
| RIG_SCAN_PROG | RIG_SCAN_DELTA | RIG_SCAN_VFO)
#define RIG_SCAN_MEM (1L<<0) /* Scan all memory channels */
#define RIG_SCAN_SLCT (1L<<1) /* Scan all selected memory channels */
#define RIG_SCAN_PRIO (1L<<2) /* Priority watch (mem or call channel) */
#define RIG_SCAN_PROG (1L<<3) /* Programmed(edge) scan */
#define RIG_SCAN_DELTA (1L<<4) /* delta-f scan */
#define RIG_SCAN_VFO (1L<<5) /* most basic scan */
typedef long scan_t;
@ -526,16 +471,6 @@ typedef union value_u value_t;
#define RIG_LEVEL_ALC (1<<29) /* ALC, arg float */
#define RIG_LEVEL_STRENGTH (1<<30) /* Signal strength, arg int (dB) */
#define RIG_LEVEL_ALL (RIG_LEVEL_PREAMP | RIG_LEVEL_ATT | RIG_LEVEL_VOX \
| RIG_LEVEL_AF | RIG_LEVEL_RF | RIG_LEVEL_SQL \
| RIG_LEVEL_IF | RIG_LEVEL_APF | RIG_LEVEL_NR \
| RIG_LEVEL_PBT_IN | RIG_LEVEL_PBT_OUT | RIG_LEVEL_CWPITCH \
| RIG_LEVEL_RFPOWER | RIG_LEVEL_MICGAIN | RIG_LEVEL_KEYSPD \
| RIG_LEVEL_NOTCHF | RIG_LEVEL_COMP | RIG_LEVEL_AGC \
| RIG_LEVEL_BKINDL | RIG_LEVEL_BALANCE | RIG_LEVEL_METER \
| RIG_LEVEL_VOXGAIN | RIG_LEVEL_VOXDELAY | RIG_LEVEL_SQLSTAT \
| RIG_LEVEL_SWR | RIG_LEVEL_ALC | RIG_LEVEL_STRENGTH)
#define RIG_LEVEL_FLOAT_LIST (RIG_LEVEL_AF|RIG_LEVEL_RF|RIG_LEVEL_SQL|RIG_LEVEL_APF|RIG_LEVEL_NR|RIG_LEVEL_PBT_IN|RIG_LEVEL_PBT_OUT|RIG_LEVEL_RFPOWER|RIG_LEVEL_MICGAIN|RIG_LEVEL_COMP|RIG_LEVEL_BALANCE|RIG_LEVEL_SWR|RIG_LEVEL_ALC|RIG_LEVEL_VOXGAIN|RIG_LEVEL_ANTIVOX)
#define RIG_LEVEL_READONLY_LIST (RIG_LEVEL_SQLSTAT|RIG_LEVEL_SWR|RIG_LEVEL_ALC|RIG_LEVEL_STRENGTH)
@ -551,14 +486,10 @@ typedef union value_u value_t;
#define RIG_PARM_ANN (1<<0) /* "Announce" level, see ann_t */
#define RIG_PARM_APO (1<<1) /* Auto power off, int in minute */
#define RIG_PARM_BACKLIGHT (1<<2) /* LCD light, float [0.0..1.0] */
#define RIG_PARM_BEEP (1<<4) /* Beep on keypressed, int (0...10) */
#define RIG_PARM_BEEP (1<<4) /* Beep on keypressed, int (0,1) */
#define RIG_PARM_TIME (1<<5) /* hh:mm:ss, int in seconds from 00:00:00 */
#define RIG_PARM_BAT (1<<6) /* battery level, float [0.0..1.0] */
#define RIG_PARM_KEYLIGHT (1<<7) /* Button backlight, on/off */
#define RIG_PARM_ALL (RIG_PARM_ANN | RIG_PARM_APO | RIG_PARM_BACKLIGHT \
| RIG_PARM_BEEP | RIG_PARM_TIME | RIG_PARM_BAT \
| RIG_PARM_KEYLIGHT )
#define RIG_PARM_KEYLIGHT (1<<7) /* Button backlight, on/off */
#define RIG_PARM_FLOAT_LIST (RIG_PARM_BACKLIGHT|RIG_PARM_BAT)
#define RIG_PARM_READONLY_LIST (RIG_PARM_BAT)
@ -612,15 +543,6 @@ typedef unsigned long long setting_t; /* hope 64 bits will be enough.. */
#define RIG_FUNC_SCOPE (1<<27) /* Simple bandscope ON/OFF (IC-910H) */
#define RIG_FUNC_RESUME (1<<28) /* Scan resume */
#define RIG_FUNC_ALL (RIG_FUNC_FAGC | RIG_FUNC_NB | RIG_FUNC_COMP \
| RIG_FUNC_VOX | RIG_FUNC_TONE | RIG_FUNC_TSQL \
| RIG_FUNC_SBKIN | RIG_FUNC_FBKIN | RIG_FUNC_ANF \
| RIG_FUNC_NR | RIG_FUNC_AIP | RIG_FUNC_MON \
| RIG_FUNC_MN | RIG_FUNC_RNF | RIG_FUNC_ARO \
| RIG_FUNC_LOCK | RIG_FUNC_MUTE | RIG_FUNC_VSC \
| RIG_FUNC_REV | RIG_FUNC_SQL | RIG_FUNC_BC \
| RIG_FUNC_MBC | RIG_FUNC_LMP | RIG_FUNC_AFC \
| RIG_FUNC_SATMODE | RIG_FUNC_SCOPE | RIG_FUNC_RESUME)
/*
* power unit macros, converts to mW
@ -702,6 +624,12 @@ struct filter_list {
#define RIG_IS_FLT_END(f) ((f).modes == RIG_MODE_NONE)
/*
* Used in the channel.flags field
*/
#define RIG_CHFLAG_NONE 0
#define RIG_CHFLAG_SKIP (1<<0)
/*
* Convenience struct, describes a freq/vfo/mode combo
* Also useful for memory handling -- FS
@ -710,35 +638,31 @@ struct filter_list {
*/
struct channel {
int channel_num;
int bank_num;
vfo_t vfo;
int ant;
char lock; /* added, I use this --kd7eni */
freq_t freq;
rmode_t mode;
pbwidth_t width;
freq_t tx_freq;
rmode_t tx_mode;
pbwidth_t tx_width;
split_t split;
rptr_shift_t rptr_shift;
shortfreq_t rptr_offs;
shortfreq_t tuning_step;
shortfreq_t rit;
shortfreq_t xit;
setting_t funcs;
value_t levels[RIG_SETTING_MAX];
tone_t tone; /* added --Dale kd7eni */
tone_t tone_sql; /* added --Dale kd7eni */
tone_t ctcss_tone;
tone_t ctcss_sql;
tone_t dcs_code;
tone_t dcs_sql;
scan_t scan;
int scan_group; /* added, I use this often --kd7eni */
int flags; /* to be defined */
char channel_desc[MAXCHANDESC];
int channel_num;
int bank_num;
vfo_t vfo;
int ant;
freq_t freq;
rmode_t mode;
pbwidth_t width;
freq_t tx_freq;
rmode_t tx_mode;
pbwidth_t tx_width;
split_t split;
rptr_shift_t rptr_shift;
shortfreq_t rptr_offs;
shortfreq_t tuning_step;
shortfreq_t rit;
shortfreq_t xit;
setting_t funcs;
value_t levels[RIG_SETTING_MAX];
tone_t ctcss_tone;
tone_t ctcss_sql;
tone_t dcs_code;
tone_t dcs_sql;
int scan_group;
int flags; /* RIG_CHFLAG's */
char channel_desc[MAXCHANDESC];
};
typedef struct channel channel_t;
@ -755,29 +679,19 @@ typedef struct channel channel_t;
* }
*/
enum chan_type_e {
RIG_MTYPE_NONE = 0,
RIG_MTYPE_MEM, /* regular */
RIG_MTYPE_EDGE, /* scan edge */
RIG_MTYPE_CALL, /* call channel */
RIG_MTYPE_MEMOPAD, /* inaccessible on Icom, what about others? */
/* ts2000 can store/recall, but not read --kd7eni */
RIG_MTYPE_SAT, /* satellite */
/* added some for ts2000 --kd7eni */
RIG_MTYPE_MENU, /* menus A or B */
RIG_MTYPE_SETUP, /* bank 0-5; seems to save only menus */
RIG_MTYPE_PCT, /* Packet cluster buffered memories */
RIG_MTYPE_NONE=0,
RIG_MTYPE_MEM, /* regular */
RIG_MTYPE_EDGE, /* scan edge */
RIG_MTYPE_CALL, /* call channel */
RIG_MTYPE_MEMOPAD, /* inaccessible on Icom, what about others? */
RIG_MTYPE_SAT /* satellite */
};
struct chan_list {
int start; /* rig memory channel _number_ */
int start; /* rig memory channel _number_ */
int end;
enum chan_type_e type; /* among EDGE, MEM, CALL, .. */
int reserved; /* don't know yet, maybe smthing like flags */
/* FIXME : some memories available only in special modes or on main
rather than sub-receiver. This could help especially if
rig only responds with error or worse, silently ignores you!
Add 'mode' or some such for future use? --D.E. kd7eni */
int reserved; /* don't know yet, maybe smthing like flags */
};
#define RIG_CHAN_END {0,0,RIG_MTYPE_NONE,0}
@ -1165,301 +1079,161 @@ struct rig {
/* --------------- API function prototypes -----------------*/
extern HAMLIB_EXPORT(RIG *)
rig_init HAMLIB_PARAMS((rig_model_t rig_model));
extern HAMLIB_EXPORT(int)
rig_open HAMLIB_PARAMS((RIG * rig));
extern HAMLIB_EXPORT(RIG *) rig_init HAMLIB_PARAMS((rig_model_t rig_model));
extern HAMLIB_EXPORT(int) rig_open HAMLIB_PARAMS((RIG *rig));
/*
* General API commands, from most primitive to least.. :()
* List Set/Get functions pairs
*/
extern HAMLIB_EXPORT(int)
rig_set_freq HAMLIB_PARAMS((RIG * rig, vfo_t vfo, freq_t freq));
extern HAMLIB_EXPORT(int)
rig_get_freq HAMLIB_PARAMS((RIG * rig, vfo_t vfo, freq_t * freq));
extern HAMLIB_EXPORT(int) rig_set_freq HAMLIB_PARAMS((RIG *rig, vfo_t vfo, freq_t freq));
extern HAMLIB_EXPORT(int) rig_get_freq HAMLIB_PARAMS((RIG *rig, vfo_t vfo, freq_t *freq));
extern HAMLIB_EXPORT(int)
rig_set_mode
HAMLIB_PARAMS((RIG * rig, vfo_t vfo, rmode_t mode, pbwidth_t width));
extern HAMLIB_EXPORT(int)
rig_get_mode
HAMLIB_PARAMS((RIG * rig, vfo_t vfo, rmode_t * mode, pbwidth_t * width));
extern HAMLIB_EXPORT(int) rig_set_mode HAMLIB_PARAMS((RIG *rig, vfo_t vfo, rmode_t mode, pbwidth_t width));
extern HAMLIB_EXPORT(int) rig_get_mode HAMLIB_PARAMS((RIG *rig, vfo_t vfo, rmode_t *mode, pbwidth_t *width));
extern HAMLIB_EXPORT(int)
rig_set_vfo HAMLIB_PARAMS((RIG * rig, vfo_t vfo));
extern HAMLIB_EXPORT(int)
rig_get_vfo HAMLIB_PARAMS((RIG * rig, vfo_t * vfo));
extern HAMLIB_EXPORT(int) rig_set_vfo HAMLIB_PARAMS((RIG *rig, vfo_t vfo));
extern HAMLIB_EXPORT(int) rig_get_vfo HAMLIB_PARAMS((RIG *rig, vfo_t *vfo));
extern HAMLIB_EXPORT(int)
rig_set_ptt HAMLIB_PARAMS((RIG * rig, vfo_t vfo, ptt_t ptt));
extern HAMLIB_EXPORT(int)
rig_get_ptt HAMLIB_PARAMS((RIG * rig, vfo_t vfo, ptt_t * ptt));
extern HAMLIB_EXPORT(int) rig_set_ptt HAMLIB_PARAMS((RIG *rig, vfo_t vfo, ptt_t ptt));
extern HAMLIB_EXPORT(int) rig_get_ptt HAMLIB_PARAMS((RIG *rig, vfo_t vfo, ptt_t *ptt));
extern HAMLIB_EXPORT(int)
rig_get_dcd HAMLIB_PARAMS((RIG * rig, vfo_t vfo, dcd_t * dcd));
extern HAMLIB_EXPORT(int) rig_get_dcd HAMLIB_PARAMS((RIG *rig, vfo_t vfo, dcd_t *dcd));
extern HAMLIB_EXPORT(int)
rig_set_rptr_shift
HAMLIB_PARAMS((RIG * rig, vfo_t vfo, rptr_shift_t rptr_shift));
extern HAMLIB_EXPORT(int)
rig_get_rptr_shift
HAMLIB_PARAMS((RIG * rig, vfo_t vfo, rptr_shift_t * rptr_shift));
extern HAMLIB_EXPORT(int)
rig_set_rptr_offs
HAMLIB_PARAMS((RIG * rig, vfo_t vfo, shortfreq_t rptr_offs));
extern HAMLIB_EXPORT(int)
rig_get_rptr_offs
HAMLIB_PARAMS((RIG * rig, vfo_t vfo, shortfreq_t * rptr_offs));
extern HAMLIB_EXPORT(int) rig_set_rptr_shift HAMLIB_PARAMS((RIG *rig, vfo_t vfo, rptr_shift_t rptr_shift));
extern HAMLIB_EXPORT(int) rig_get_rptr_shift HAMLIB_PARAMS((RIG *rig, vfo_t vfo, rptr_shift_t *rptr_shift));
extern HAMLIB_EXPORT(int) rig_set_rptr_offs HAMLIB_PARAMS((RIG *rig, vfo_t vfo, shortfreq_t rptr_offs));
extern HAMLIB_EXPORT(int) rig_get_rptr_offs HAMLIB_PARAMS((RIG *rig, vfo_t vfo, shortfreq_t *rptr_offs));
extern HAMLIB_EXPORT(int)
rig_set_tone HAMLIB_PARAMS((RIG * rig, vfo_t vfo, tone_t tone));
extern HAMLIB_EXPORT(int)
rig_set_ctcss_tone HAMLIB_PARAMS((RIG * rig, vfo_t vfo, tone_t tone));
extern HAMLIB_EXPORT(int)
rig_get_tone HAMLIB_PARAMS((RIG * rig, vfo_t vfo, tone_t * tone));
extern HAMLIB_EXPORT(int)
rig_get_ctcss_tone HAMLIB_PARAMS((RIG * rig, vfo_t vfo, tone_t * tone));
extern HAMLIB_EXPORT(int)
rig_set_dcs_code HAMLIB_PARAMS((RIG * rig, vfo_t vfo, tone_t code));
extern HAMLIB_EXPORT(int)
rig_get_dcs_code HAMLIB_PARAMS((RIG * rig, vfo_t vfo, tone_t * code));
extern HAMLIB_EXPORT(int) rig_set_ctcss_tone HAMLIB_PARAMS((RIG *rig, vfo_t vfo, tone_t tone));
extern HAMLIB_EXPORT(int) rig_get_ctcss_tone HAMLIB_PARAMS((RIG *rig, vfo_t vfo, tone_t *tone));
extern HAMLIB_EXPORT(int) rig_set_dcs_code HAMLIB_PARAMS((RIG *rig, vfo_t vfo, tone_t code));
extern HAMLIB_EXPORT(int) rig_get_dcs_code HAMLIB_PARAMS((RIG *rig, vfo_t vfo, tone_t *code));
extern HAMLIB_EXPORT(int)
rig_set_tone_sql HAMLIB_PARAMS((RIG * rig, vfo_t vfo, tone_t tone));
extern HAMLIB_EXPORT(int)
rig_get_tone_sql HAMLIB_PARAMS((RIG * rig, vfo_t vfo, tone_t * tone));
extern HAMLIB_EXPORT(int)
rig_set_ctcss_sql HAMLIB_PARAMS((RIG * rig, vfo_t vfo, tone_t tone));
extern HAMLIB_EXPORT(int)
rig_get_ctcss_sql HAMLIB_PARAMS((RIG * rig, vfo_t vfo, tone_t * tone));
extern HAMLIB_EXPORT(int)
rig_set_dcs_sql HAMLIB_PARAMS((RIG * rig, vfo_t vfo, tone_t code));
extern HAMLIB_EXPORT(int)
rig_get_dcs_sql HAMLIB_PARAMS((RIG * rig, vfo_t vfo, tone_t * code));
extern HAMLIB_EXPORT(int) rig_set_ctcss_sql HAMLIB_PARAMS((RIG *rig, vfo_t vfo, tone_t tone));
extern HAMLIB_EXPORT(int) rig_get_ctcss_sql HAMLIB_PARAMS((RIG *rig, vfo_t vfo, tone_t *tone));
extern HAMLIB_EXPORT(int) rig_set_dcs_sql HAMLIB_PARAMS((RIG *rig, vfo_t vfo, tone_t code));
extern HAMLIB_EXPORT(int) rig_get_dcs_sql HAMLIB_PARAMS((RIG *rig, vfo_t vfo, tone_t *code));
extern HAMLIB_EXPORT(int)
rig_set_split_freq HAMLIB_PARAMS((RIG * rig, vfo_t vfo, freq_t tx_freq));
extern HAMLIB_EXPORT(int)
rig_get_split_freq HAMLIB_PARAMS((RIG * rig, vfo_t vfo, freq_t * tx_freq));
extern HAMLIB_EXPORT(int)
rig_set_split_mode
HAMLIB_PARAMS((RIG * rig, vfo_t vfo, rmode_t tx_mode, pbwidth_t tx_width));
extern HAMLIB_EXPORT(int)
rig_get_split_mode
HAMLIB_PARAMS(
(RIG * rig, vfo_t vfo, rmode_t * tx_mode,
pbwidth_t * tx_width));
extern HAMLIB_EXPORT(int)
rig_set_split HAMLIB_PARAMS((RIG * rig, vfo_t vfo, split_t split));
extern HAMLIB_EXPORT(int)
rig_get_split HAMLIB_PARAMS((RIG * rig, vfo_t vfo, split_t * split));
extern HAMLIB_EXPORT(int) rig_set_split_freq HAMLIB_PARAMS((RIG *rig, vfo_t vfo, freq_t tx_freq));
extern HAMLIB_EXPORT(int) rig_get_split_freq HAMLIB_PARAMS((RIG *rig, vfo_t vfo, freq_t *tx_freq));
extern HAMLIB_EXPORT(int) rig_set_split_mode HAMLIB_PARAMS((RIG *rig, vfo_t vfo, rmode_t tx_mode, pbwidth_t tx_width));
extern HAMLIB_EXPORT(int) rig_get_split_mode HAMLIB_PARAMS((RIG *rig, vfo_t vfo, rmode_t *tx_mode, pbwidth_t *tx_width));
extern HAMLIB_EXPORT(int) rig_set_split HAMLIB_PARAMS((RIG *rig, vfo_t vfo, split_t split));
extern HAMLIB_EXPORT(int) rig_get_split HAMLIB_PARAMS((RIG *rig, vfo_t vfo, split_t *split));
extern HAMLIB_EXPORT(int)
rig_set_rit HAMLIB_PARAMS((RIG * rig, vfo_t vfo, shortfreq_t rit));
extern HAMLIB_EXPORT(int)
rig_get_rit HAMLIB_PARAMS((RIG * rig, vfo_t vfo, shortfreq_t * rit));
extern HAMLIB_EXPORT(int)
rig_set_xit HAMLIB_PARAMS((RIG * rig, vfo_t vfo, shortfreq_t xit));
extern HAMLIB_EXPORT(int)
rig_get_xit HAMLIB_PARAMS((RIG * rig, vfo_t vfo, shortfreq_t * xit));
extern HAMLIB_EXPORT(int) rig_set_rit HAMLIB_PARAMS((RIG *rig, vfo_t vfo, shortfreq_t rit));
extern HAMLIB_EXPORT(int) rig_get_rit HAMLIB_PARAMS((RIG *rig, vfo_t vfo, shortfreq_t *rit));
extern HAMLIB_EXPORT(int) rig_set_xit HAMLIB_PARAMS((RIG *rig, vfo_t vfo, shortfreq_t xit));
extern HAMLIB_EXPORT(int) rig_get_xit HAMLIB_PARAMS((RIG *rig, vfo_t vfo, shortfreq_t *xit));
extern HAMLIB_EXPORT(int)
rig_set_ts HAMLIB_PARAMS((RIG * rig, vfo_t vfo, shortfreq_t ts));
extern HAMLIB_EXPORT(int)
rig_get_ts HAMLIB_PARAMS((RIG * rig, vfo_t vfo, shortfreq_t * ts));
extern HAMLIB_EXPORT(int) rig_set_ts HAMLIB_PARAMS((RIG *rig, vfo_t vfo, shortfreq_t ts));
extern HAMLIB_EXPORT(int) rig_get_ts HAMLIB_PARAMS((RIG *rig, vfo_t vfo, shortfreq_t *ts));
extern HAMLIB_EXPORT(int)
rig_power2mW
HAMLIB_PARAMS(
(RIG * rig, unsigned int *mwpower, float power, freq_t freq,
rmode_t mode));
extern HAMLIB_EXPORT(int)
rig_mW2power
HAMLIB_PARAMS(
(RIG * rig, float *power, unsigned int mwpower, freq_t freq,
rmode_t mode));
extern HAMLIB_EXPORT(int) rig_power2mW HAMLIB_PARAMS((RIG *rig, unsigned int *mwpower, float power, freq_t freq, rmode_t mode));
extern HAMLIB_EXPORT(int) rig_mW2power HAMLIB_PARAMS((RIG *rig, float *power, unsigned int mwpower, freq_t freq, rmode_t mode));
extern HAMLIB_EXPORT(shortfreq_t)
rig_get_resolution HAMLIB_PARAMS((RIG * rig, rmode_t mode));
extern HAMLIB_EXPORT(shortfreq_t) rig_get_resolution HAMLIB_PARAMS((RIG *rig, rmode_t mode));
extern HAMLIB_EXPORT(int)
rig_set_level
HAMLIB_PARAMS((RIG * rig, vfo_t vfo, setting_t level, value_t val));
extern HAMLIB_EXPORT(int)
rig_get_level
HAMLIB_PARAMS((RIG * rig, vfo_t vfo, setting_t level, value_t * val));
extern HAMLIB_EXPORT(int) rig_set_level HAMLIB_PARAMS((RIG *rig, vfo_t vfo, setting_t level, value_t val));
extern HAMLIB_EXPORT(int) rig_get_level HAMLIB_PARAMS((RIG *rig, vfo_t vfo, setting_t level, value_t *val));
#define rig_get_strength(r,v,s) rig_get_level((r),(v),RIG_LEVEL_STRENGTH, (value_t*)(s))
extern HAMLIB_EXPORT(int)
rig_set_parm HAMLIB_PARAMS((RIG * rig, setting_t parm, value_t val));
extern HAMLIB_EXPORT(int)
rig_get_parm HAMLIB_PARAMS((RIG * rig, setting_t parm, value_t * val));
extern HAMLIB_EXPORT(int) rig_set_parm HAMLIB_PARAMS((RIG *rig, setting_t parm, value_t val));
extern HAMLIB_EXPORT(int) rig_get_parm HAMLIB_PARAMS((RIG *rig, setting_t parm, value_t *val));
extern HAMLIB_EXPORT(int)
rig_set_conf HAMLIB_PARAMS((RIG * rig, token_t token, const char *val));
extern HAMLIB_EXPORT(int)
rig_get_conf HAMLIB_PARAMS((RIG * rig, token_t token, char *val));
extern HAMLIB_EXPORT(int) rig_set_conf HAMLIB_PARAMS((RIG *rig, token_t token, const char *val));
extern HAMLIB_EXPORT(int) rig_get_conf HAMLIB_PARAMS((RIG *rig, token_t token, char *val));
extern HAMLIB_EXPORT(int)
rig_set_powerstat HAMLIB_PARAMS((RIG * rig, powerstat_t status));
extern HAMLIB_EXPORT(int)
rig_get_powerstat HAMLIB_PARAMS((RIG * rig, powerstat_t * status));
extern HAMLIB_EXPORT(int) rig_set_powerstat HAMLIB_PARAMS((RIG *rig, powerstat_t status));
extern HAMLIB_EXPORT(int) rig_get_powerstat HAMLIB_PARAMS((RIG *rig, powerstat_t *status));
extern HAMLIB_EXPORT(int)
rig_reset HAMLIB_PARAMS((RIG * rig, reset_t reset)); /* dangerous! */
extern HAMLIB_EXPORT(int) rig_reset HAMLIB_PARAMS((RIG *rig, reset_t reset)); /* dangerous! */
extern HAMLIB_EXPORT(int)
rig_token_foreach
HAMLIB_PARAMS(
(RIG * rig,
int (*cfunc) (const struct confparams *, rig_ptr_t),
rig_ptr_t data));
extern HAMLIB_EXPORT(const struct confparams *)
rig_confparam_lookup HAMLIB_PARAMS((RIG * rig, const char *name));
extern HAMLIB_EXPORT(token_t)
rig_token_lookup HAMLIB_PARAMS((RIG * rig, const char *name));
extern HAMLIB_EXPORT(int) rig_token_foreach HAMLIB_PARAMS((RIG *rig, int (*cfunc)(const struct confparams *, rig_ptr_t), rig_ptr_t data));
extern HAMLIB_EXPORT(const struct confparams*) rig_confparam_lookup HAMLIB_PARAMS((RIG *rig, const char *name));
extern HAMLIB_EXPORT(token_t) rig_token_lookup HAMLIB_PARAMS((RIG *rig, const char *name));
extern HAMLIB_EXPORT(int)
rig_close HAMLIB_PARAMS((RIG * rig));
extern HAMLIB_EXPORT(int)
rig_cleanup HAMLIB_PARAMS((RIG * rig));
extern HAMLIB_EXPORT(int) rig_close HAMLIB_PARAMS((RIG *rig));
extern HAMLIB_EXPORT(int) rig_cleanup HAMLIB_PARAMS((RIG *rig));
extern HAMLIB_EXPORT(rig_model_t)
rig_probe HAMLIB_PARAMS((port_t * p));
extern HAMLIB_EXPORT(rig_model_t) rig_probe HAMLIB_PARAMS((port_t *p));
extern HAMLIB_EXPORT(int)
rig_set_ant HAMLIB_PARAMS((RIG * rig, vfo_t vfo, ant_t ant)); /* antenna */
extern HAMLIB_EXPORT(int)
rig_get_ant HAMLIB_PARAMS((RIG * rig, vfo_t vfo, ant_t * ant));
extern HAMLIB_EXPORT(int) rig_set_ant HAMLIB_PARAMS((RIG *rig, vfo_t vfo, ant_t ant)); /* antenna */
extern HAMLIB_EXPORT(int) rig_get_ant HAMLIB_PARAMS((RIG *rig, vfo_t vfo, ant_t *ant));
extern HAMLIB_EXPORT(setting_t)
rig_has_get_level HAMLIB_PARAMS((RIG * rig, setting_t level));
extern HAMLIB_EXPORT(setting_t)
rig_has_set_level HAMLIB_PARAMS((RIG * rig, setting_t level));
extern HAMLIB_EXPORT(setting_t) rig_has_get_level HAMLIB_PARAMS((RIG *rig, setting_t level));
extern HAMLIB_EXPORT(setting_t) rig_has_set_level HAMLIB_PARAMS((RIG *rig, setting_t level));
extern HAMLIB_EXPORT(setting_t)
rig_has_get_parm HAMLIB_PARAMS((RIG * rig, setting_t parm));
extern HAMLIB_EXPORT(setting_t)
rig_has_set_parm HAMLIB_PARAMS((RIG * rig, setting_t parm));
extern HAMLIB_EXPORT(setting_t) rig_has_get_parm HAMLIB_PARAMS((RIG *rig, setting_t parm));
extern HAMLIB_EXPORT(setting_t) rig_has_set_parm HAMLIB_PARAMS((RIG *rig, setting_t parm));
extern HAMLIB_EXPORT(setting_t)
rig_has_get_func HAMLIB_PARAMS((RIG * rig, setting_t func));
extern HAMLIB_EXPORT(setting_t)
rig_has_set_func HAMLIB_PARAMS((RIG * rig, setting_t func));
extern HAMLIB_EXPORT(setting_t) rig_has_get_func HAMLIB_PARAMS((RIG *rig, setting_t func));
extern HAMLIB_EXPORT(setting_t) rig_has_set_func HAMLIB_PARAMS((RIG *rig, setting_t func));
extern HAMLIB_EXPORT(int)
rig_set_func
HAMLIB_PARAMS((RIG * rig, vfo_t vfo, setting_t func, int status));
extern HAMLIB_EXPORT(int)
rig_get_func
HAMLIB_PARAMS((RIG * rig, vfo_t vfo, setting_t func, int *status));
extern HAMLIB_EXPORT(int) rig_set_func HAMLIB_PARAMS((RIG *rig, vfo_t vfo, setting_t func, int status));
extern HAMLIB_EXPORT(int) rig_get_func HAMLIB_PARAMS((RIG *rig, vfo_t vfo, setting_t func, int *status));
extern HAMLIB_EXPORT(int)
rig_send_dtmf HAMLIB_PARAMS((RIG * rig, vfo_t vfo, const char *digits));
extern HAMLIB_EXPORT(int)
rig_recv_dtmf
HAMLIB_PARAMS((RIG * rig, vfo_t vfo, char *digits, int *length));
extern HAMLIB_EXPORT(int)
rig_send_morse HAMLIB_PARAMS((RIG * rig, vfo_t vfo, const char *msg));
extern HAMLIB_EXPORT(int) rig_send_dtmf HAMLIB_PARAMS((RIG *rig, vfo_t vfo, const char *digits));
extern HAMLIB_EXPORT(int) rig_recv_dtmf HAMLIB_PARAMS((RIG *rig, vfo_t vfo, char *digits, int *length));
extern HAMLIB_EXPORT(int) rig_send_morse HAMLIB_PARAMS((RIG *rig, vfo_t vfo, const char *msg));
extern HAMLIB_EXPORT(int)
rig_set_bank HAMLIB_PARAMS((RIG * rig, vfo_t vfo, int bank));
extern HAMLIB_EXPORT(int)
rig_set_mem HAMLIB_PARAMS((RIG * rig, vfo_t vfo, int ch));
extern HAMLIB_EXPORT(int)
rig_get_mem HAMLIB_PARAMS((RIG * rig, vfo_t vfo, int *ch));
extern HAMLIB_EXPORT(int)
rig_vfo_op HAMLIB_PARAMS((RIG * rig, vfo_t vfo, vfo_op_t op));
extern HAMLIB_EXPORT(vfo_op_t)
rig_has_vfo_op HAMLIB_PARAMS((RIG * rig, vfo_op_t op));
extern HAMLIB_EXPORT(int)
rig_scan HAMLIB_PARAMS((RIG * rig, vfo_t vfo, scan_t scan, int ch));
extern HAMLIB_EXPORT(scan_t)
rig_has_scan HAMLIB_PARAMS((RIG * rig, scan_t scan));
extern HAMLIB_EXPORT(int) rig_set_bank HAMLIB_PARAMS((RIG *rig, vfo_t vfo, int bank));
extern HAMLIB_EXPORT(int) rig_set_mem HAMLIB_PARAMS((RIG *rig, vfo_t vfo, int ch));
extern HAMLIB_EXPORT(int) rig_get_mem HAMLIB_PARAMS((RIG *rig, vfo_t vfo, int *ch));
extern HAMLIB_EXPORT(int) rig_vfo_op HAMLIB_PARAMS((RIG *rig, vfo_t vfo, vfo_op_t op));
extern HAMLIB_EXPORT(vfo_op_t) rig_has_vfo_op HAMLIB_PARAMS((RIG *rig, vfo_op_t op));
extern HAMLIB_EXPORT(int) rig_scan HAMLIB_PARAMS((RIG *rig, vfo_t vfo, scan_t scan, int ch));
extern HAMLIB_EXPORT(scan_t) rig_has_scan HAMLIB_PARAMS((RIG *rig, scan_t scan));
extern HAMLIB_EXPORT(int)
rig_restore_channel HAMLIB_PARAMS((RIG * rig, const channel_t * chan)); /* curr VFO */
extern HAMLIB_EXPORT(int)
rig_save_channel HAMLIB_PARAMS((RIG * rig, channel_t * chan));
extern HAMLIB_EXPORT(int)
rig_set_channel HAMLIB_PARAMS((RIG * rig, const channel_t * chan)); /* mem */
extern HAMLIB_EXPORT(int)
rig_get_channel HAMLIB_PARAMS((RIG * rig, channel_t * chan));
extern HAMLIB_EXPORT(int) rig_restore_channel HAMLIB_PARAMS((RIG *rig, const channel_t *chan)); /* curr VFO */
extern HAMLIB_EXPORT(int) rig_save_channel HAMLIB_PARAMS((RIG *rig, channel_t *chan));
extern HAMLIB_EXPORT(int) rig_set_channel HAMLIB_PARAMS((RIG *rig, const channel_t *chan)); /* mem */
extern HAMLIB_EXPORT(int) rig_get_channel HAMLIB_PARAMS((RIG *rig, channel_t *chan));
extern HAMLIB_EXPORT(int)
rig_set_trn HAMLIB_PARAMS((RIG * rig, int trn));
extern HAMLIB_EXPORT(int)
rig_get_trn HAMLIB_PARAMS((RIG * rig, int *trn));
extern HAMLIB_EXPORT(int)
rig_set_freq_callback HAMLIB_PARAMS((RIG *, freq_cb_t, rig_ptr_t));
extern HAMLIB_EXPORT(int)
rig_set_mode_callback HAMLIB_PARAMS((RIG *, mode_cb_t, rig_ptr_t));
extern HAMLIB_EXPORT(int)
rig_set_vfo_callback HAMLIB_PARAMS((RIG *, vfo_cb_t, rig_ptr_t));
extern HAMLIB_EXPORT(int)
rig_set_ptt_callback HAMLIB_PARAMS((RIG *, ptt_cb_t, rig_ptr_t));
extern HAMLIB_EXPORT(int)
rig_set_dcd_callback HAMLIB_PARAMS((RIG *, dcd_cb_t, rig_ptr_t));
extern HAMLIB_EXPORT(int) rig_set_trn HAMLIB_PARAMS((RIG *rig, int trn));
extern HAMLIB_EXPORT(int) rig_get_trn HAMLIB_PARAMS((RIG *rig, int *trn));
extern HAMLIB_EXPORT(int) rig_set_freq_callback HAMLIB_PARAMS((RIG *, freq_cb_t, rig_ptr_t));
extern HAMLIB_EXPORT(int) rig_set_mode_callback HAMLIB_PARAMS((RIG *, mode_cb_t, rig_ptr_t));
extern HAMLIB_EXPORT(int) rig_set_vfo_callback HAMLIB_PARAMS((RIG *, vfo_cb_t, rig_ptr_t));
extern HAMLIB_EXPORT(int) rig_set_ptt_callback HAMLIB_PARAMS((RIG *, ptt_cb_t, rig_ptr_t));
extern HAMLIB_EXPORT(int) rig_set_dcd_callback HAMLIB_PARAMS((RIG *, dcd_cb_t, rig_ptr_t));
extern HAMLIB_EXPORT(const char *)
rig_get_info HAMLIB_PARAMS((RIG * rig));
extern HAMLIB_EXPORT(const char *) rig_get_info HAMLIB_PARAMS((RIG *rig));
extern HAMLIB_EXPORT(const struct rig_caps *)
rig_get_caps HAMLIB_PARAMS((rig_model_t rig_model));
extern HAMLIB_EXPORT(const freq_range_t *)
rig_get_range
HAMLIB_PARAMS(
(const freq_range_t range_list[], freq_t freq,
rmode_t mode));
extern HAMLIB_EXPORT(const struct rig_caps *) rig_get_caps HAMLIB_PARAMS((rig_model_t rig_model));
extern HAMLIB_EXPORT(const freq_range_t *) rig_get_range HAMLIB_PARAMS((const freq_range_t range_list[], freq_t freq, rmode_t mode));
extern HAMLIB_EXPORT(pbwidth_t)
rig_passband_normal HAMLIB_PARAMS((RIG * rig, rmode_t mode));
extern HAMLIB_EXPORT(pbwidth_t)
rig_passband_narrow HAMLIB_PARAMS((RIG * rig, rmode_t mode));
extern HAMLIB_EXPORT(pbwidth_t)
rig_passband_wide HAMLIB_PARAMS((RIG * rig, rmode_t mode));
extern HAMLIB_EXPORT(pbwidth_t) rig_passband_normal HAMLIB_PARAMS((RIG *rig, rmode_t mode));
extern HAMLIB_EXPORT(pbwidth_t) rig_passband_narrow HAMLIB_PARAMS((RIG *rig, rmode_t mode));
extern HAMLIB_EXPORT(pbwidth_t) rig_passband_wide HAMLIB_PARAMS((RIG *rig, rmode_t mode));
extern HAMLIB_EXPORT(const char *)
rigerror HAMLIB_PARAMS((int errnum));
extern HAMLIB_EXPORT(const char *) rigerror HAMLIB_PARAMS((int errnum));
extern HAMLIB_EXPORT(int)
rig_setting2idx HAMLIB_PARAMS((setting_t s));
extern HAMLIB_EXPORT(int) rig_setting2idx HAMLIB_PARAMS((setting_t s));
#define rig_idx2setting(i) (1ULL<<(i))
/*
* Even if these functions are prefixed with "rig_", they are not rig specific
* Maybe "hamlib_" would have been better. Let me know. --SF
*/
extern HAMLIB_EXPORT(void)
rig_set_debug HAMLIB_PARAMS((enum rig_debug_level_e debug_level));
extern HAMLIB_EXPORT(int)
rig_need_debug HAMLIB_PARAMS((enum rig_debug_level_e debug_level));
extern HAMLIB_EXPORT(void)
rig_debug
HAMLIB_PARAMS((enum rig_debug_level_e debug_level, const char *fmt, ...));
extern HAMLIB_EXPORT(void) rig_set_debug HAMLIB_PARAMS((enum rig_debug_level_e debug_level));
extern HAMLIB_EXPORT(int) rig_need_debug HAMLIB_PARAMS((enum rig_debug_level_e debug_level));
extern HAMLIB_EXPORT(void) rig_debug HAMLIB_PARAMS((enum rig_debug_level_e debug_level, const char *fmt, ...));
extern HAMLIB_EXPORT(int)
rig_register HAMLIB_PARAMS((const struct rig_caps * caps));
extern HAMLIB_EXPORT(int)
rig_unregister HAMLIB_PARAMS((rig_model_t rig_model));
extern HAMLIB_EXPORT(int)
rig_list_foreach
HAMLIB_PARAMS(
(int (*cfunc) (const struct rig_caps *, rig_ptr_t),
rig_ptr_t data));
extern HAMLIB_EXPORT(int)
rig_load_backend HAMLIB_PARAMS((const char *be_name));
extern HAMLIB_EXPORT(int)
rig_check_backend HAMLIB_PARAMS((rig_model_t rig_model));
extern HAMLIB_EXPORT(int)
rig_load_all_backends HAMLIB_PARAMS(());
extern HAMLIB_EXPORT(rig_model_t)
rig_probe_all HAMLIB_PARAMS((port_t * p));
extern HAMLIB_EXPORT(int) rig_register HAMLIB_PARAMS((const struct rig_caps *caps));
extern HAMLIB_EXPORT(int) rig_unregister HAMLIB_PARAMS((rig_model_t rig_model));
extern HAMLIB_EXPORT(int) rig_list_foreach HAMLIB_PARAMS((int (*cfunc)(const struct rig_caps*, rig_ptr_t), rig_ptr_t data));
extern HAMLIB_EXPORT(int) rig_load_backend HAMLIB_PARAMS((const char *be_name));
extern HAMLIB_EXPORT(int) rig_check_backend HAMLIB_PARAMS((rig_model_t rig_model));
extern HAMLIB_EXPORT(int) rig_load_all_backends HAMLIB_PARAMS(());
extern HAMLIB_EXPORT(rig_model_t) rig_probe_all HAMLIB_PARAMS((port_t *p));
__END_DECLS
#endif /* _RIG_H */
#endif /* _RIG_H */

Wyświetl plik

@ -3,8 +3,8 @@ TSSRCLIST = ts850.c ts870s.c ts570.c ts450s.c ts440.c ts950.c ts50s.c \
ts790.c thd7.c thf7.c ts2000.c
lib_LTLIBRARIES = libhamlib-kenwood.la
libhamlib_kenwood_la_SOURCES = $(TSSRCLIST) kenwood.c th.c ts2k.c
libhamlib_kenwood_la_SOURCES = $(TSSRCLIST) kenwood.c th.c
libhamlib_kenwood_la_LDFLAGS = -no-undefined -module -version-info 0:0:0
libhamlib_kenwood_la_LIBADD = ../src/libhamlib.la
noinst_HEADERS = kenwood.h th.h ts2k.h
noinst_HEADERS = kenwood.h th.h

Wyświetl plik

@ -2,7 +2,7 @@
* Hamlib Kenwood backend - TS2000 description
* Copyright (c) 2000-2002 by Stephane Fillod
*
* $Id: ts2000.c,v 1.9 2002-06-30 10:20:52 dedmons Exp $
* $Id: ts2000.c,v 1.10 2002-07-08 22:20:14 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
@ -26,45 +26,20 @@
#include <hamlib/rig.h>
#include "kenwood.h"
#include "ts2k.h"
#define TS2000_ALL_MODES (RIG_MODE_AM|RIG_MODE_CW|RIG_MODE_SSB|RIG_MODE_FM| \
RIG_MODE_RTTY)
#define TS2000_OTHER_TX_MODES (RIG_MODE_CW|RIG_MODE_SSB|RIG_MODE_FM| \
RIG_MODE_RTTY)
#define TS2000_AM_TX_MODES (RIG_MODE_AM)
#define TS2000_ALL_MODES (RIG_MODE_AM|RIG_MODE_CW|RIG_MODE_SSB|RIG_MODE_FM|RIG_MODE_RTTY)
#define TS2000_OTHER_TX_MODES (RIG_MODE_CW|RIG_MODE_SSB|RIG_MODE_FM|RIG_MODE_RTTY)
#define TS2000_AM_TX_MODES RIG_MODE_AM
// the following might be cond. later
# define TS2000_RIGVFO (0)
# define TS2000_MAINVFO (RIG_VFO_A | RIG_VFO_B | RIG_VFO_MEM)
# define TS2000_SUBVFO (RIG_VFO_C)
#define TS2000_FUNC_ALL (RIG_FUNC_TSQL)
#ifndef _NEW_VFO_H
#define TS2000_LEVEL_ALL (RIG_LEVEL_ATT|RIG_LEVEL_AGC|RIG_LEVEL_SQL|RIG_LEVEL_SQLSTAT|RIG_LEVEL_STRENGTH|RIG_LEVEL_AF|RIG_LEVEL_RF|RIG_LEVEL_RFPOWER|RIG_LEVEL_MICGAIN)
// old / simple
# define TS2000_FUNC_ALL (RIG_FUNC_TONE | RIG_FUNC_NB)
# define TS2000_PARM_OP (RIG_PARM_BEEP | RIG_PARM_BACKLIGHT)
# define TS2000_LEVEL_ALL (RIG_LEVEL_PREAMP | RIG_LEVEL_VOX | RIG_LEVEL_AF)
# define TS2000_SCAN_OP (RIG_SCAN_STOP | RIG_SCAN_MEM)
#define TS2000_MAINVFO (RIG_VFO_A|RIG_VFO_B)
#define TS2000_SUBVFO (RIG_VFO_C)
#else
// new
# define TS2000_FUNC_ALL ( RIG_FUNC_ALL & \
~(RIG_FUNC_MN | RIG_FUNC_RNF | RIG_FUNC_VSC) )
# define TS2000_PARM_OP (RIG_PARM_EXCLUDE(RIG_PARM_BAT | RIG_PARM_TIME))
# define TS2000_LEVEL_ALL (RIG_LEVEL_ALL & ~(RIG_LEVEL_APF))
# define TS2000_SCAN_OP (RIG_SCAN_ALL & ~(RIG_SCAN_DELTA))
// the following uses both Sub and Main for the Major mode
//# define TS2000_MAINVFO (RIG_VFO_A | RIG_VFO_B | RIG_VFO_MEM_A | RIG_VFO_CALL_A)
//# define TS2000_RIGVFO (RIG_VFO_SAT | RIG_VFO_CROSS)
//# define TS2000_SUBVFO (RIG_VFO_C | RIG_VFO_MEM_C | RIG_VFO_CALL_C)
#endif
#define TS2000_VFO_ALL (TS2000_RIGVFO | TS2000_MAINVFO | TS2000_SUBVFO)
#define TS2000_VFO_OP (RIG_OP_UP | RIG_OP_DOWN)
#define TS2000_VFO_OP (RIG_OP_UP|RIG_OP_DOWN)
/*
* 103 available DCS codes
@ -82,7 +57,7 @@ static const tone_t ts2000_dcs_list[] = {
0,
};
const struct ts2k_priv_caps ts2k_priv_caps = {
const struct kenwood_priv_caps ts2000_priv_caps = {
cmdtrm: EOM_KEN,
};
@ -97,9 +72,9 @@ const struct rig_caps ts2000_caps = {
rig_model: RIG_MODEL_TS2000,
model_name:"TS-2000",
mfg_name: "Kenwood",
version: "0.1.2",
version: "0.1",
copyright: "LGPL",
status: RIG_STATUS_ALPHA,
status: RIG_STATUS_UNTESTED,
rig_type: RIG_TYPE_TRANSCEIVER,
ptt_type: RIG_PTT_RIG,
dcd_type: RIG_DCD_RIG,
@ -112,20 +87,19 @@ serial_parity: RIG_PARITY_NONE,
serial_handshake: RIG_HANDSHAKE_NONE,
write_delay: 0,
post_write_delay: 0,
timeout: 20,
retry: 1,
timeout: 200,
retry: 3,
has_get_func: TS2000_FUNC_ALL,
has_set_func: TS2000_FUNC_ALL,
has_get_level: TS2000_LEVEL_ALL,
has_set_level: RIG_LEVEL_SET(TS2000_LEVEL_ALL),
has_get_parm: TS2000_PARM_OP,
has_set_parm: TS2000_PARM_OP,
has_get_parm: RIG_PARM_NONE,
has_set_parm: RIG_PARM_NONE, /* FIXME: parms */
level_gran: {}, /* FIXME: granularity */
parm_gran: {},
vfo_ops: TS2000_VFO_OP,
scan_ops: TS2000_SCAN_OP,
ctcss_list: ts2k_ctcss_list,
ctcss_list: kenwood38_ctcss_list,
dcs_list: ts2000_dcs_list,
preamp: { 20, RIG_DBLST_END, }, /* FIXME: real preamp? */
attenuator: { 20, RIG_DBLST_END, },
@ -135,48 +109,11 @@ max_ifshift: kHz(1),
targetable_vfo: RIG_TARGETABLE_FREQ,
transceive: RIG_TRN_RIG,
bank_qty: 0,
chan_desc_sz: 8,
chan_desc_sz: 0,
/* set up the memories. See also, rig.h --D.E. kd7eni */
/* The following are suggested 'modes' and when the following may
* be accessed:
*
* MTYPE MSTATE Description
*
* MEM M_MEM main, sub
* EDGE M_MEM main, sub (vhf/uhf)
* MEMOPAD M_VFO e.g. main&&sub in vfo (both!)
* CALL M_ANY at least VFO and MEM (others?)
* SAT M_SAT only (uses both main+sub)
* PCT M_PCT when P.C.T. enabled on sub+tnc
* MENU M_MOST rig does it if it feels like it :)
* SETUP M_UNKNOWN twilight zone stuff...
*/
chan_list: {
{ 0, 289, RIG_MTYPE_MEM, 0 }, /* regular memories */
/* Note: each memory is receive+transmit an RX != TX is split memory. */
{ 290, 299, RIG_MTYPE_EDGE, 0 }, /* band tune limits (not scan-only) */
{ 0, 9, RIG_MTYPE_MEMOPAD, 0 }, /* Quick Memories, Main+sub both saved:) */
{ 0, 1, RIG_MTYPE_CALL, 0 }, /* each TX band has one call */
{ 0, 9, RIG_MTYPE_SAT, 0 }, /* direct operation from these */
// { 0, 9, RIG_MTYPE_PCT, 0 }, /* packet clusters buffered as
// they come in */
// { 0, 1, RIG_MTYPE_MENU, 0 }, /* There are two menus, A/B. I
// set one for HF, one for VHF/UHF*/
// { 0, 5, RIG_MTYPE_SETUP, 0 }, /* See: "pm;" command. ;) */
/* This seems to be undocumented and not accesible to the front panel.
When operated it seems to be an independently settable menu. Thus,
more than just A/B are available. I don't know if the memopad
quick memories are involved but the regular MEM ones are *NOT*
duplicated. The manual only says: 0=PM off, 1-5=channel 1-5.
Kenwood calls this "Programmable Memory". I haven't used this
in some time but 0-5 seems more appropriate than 1-5. I'll
investigate more after hamlib-1.1.3 (gnurig's target release). */
chan_list: { RIG_CHAN_END, }, /* FIXME: memory channel list: 1000 memories */
/* { 0, , RIG_MTYPE_, 0 },*/
RIG_CHAN_END,
},
rx_range_list1: {
{kHz(300),MHz(60),TS2000_ALL_MODES,-1,-1,TS2000_MAINVFO},
{MHz(144),MHz(146),TS2000_ALL_MODES,-1,-1,TS2000_MAINVFO},
@ -272,88 +209,37 @@ filters: {
{RIG_MODE_FM|RIG_MODE_AM, kHz(12)},
RIG_FLT_END,
},
priv: (void *)&ts2k_priv_caps,
priv: (void *)&ts2000_priv_caps,
/* ts2k */
//set_tone: ts2k_set_tone,
//get_tone: ts2k_get_tone,
set_ctcss_tone: ts2k_set_ctcss_tone,
get_ctcss_tone: ts2k_get_ctcss_tone,
get_dcd: ts2k_get_dcd,
set_freq: ts2k_set_freq,
get_freq: ts2k_get_freq,
get_func: ts2k_get_func,
set_func: ts2k_set_func,
get_info: ts2k_get_info,
get_level: ts2k_get_level,
set_level: ts2k_set_level,
get_mem: ts2k_get_mem,
set_mem: ts2k_set_mem,
get_mode: ts2k_get_mode,
set_mode: ts2k_set_mode,
get_powerstat: ts2k_get_powerstat,
set_powerstat: ts2k_set_powerstat,
get_ptt: ts2k_get_ptt,
set_ptt: ts2k_set_ptt,
reset: ts2k_reset,
send_morse: ts2k_send_morse,
get_trn: ts2k_get_trn,
set_trn: ts2k_set_trn,
/*
*/
set_vfo: ts2k_set_vfo,
get_vfo: ts2k_get_vfo,
vfo_op: ts2k_vfo_op,
/*
* stuff I've written--kd7eni
*/
set_freq: kenwood_set_freq,
get_freq: kenwood_get_freq,
set_mode: kenwood_set_mode,
get_mode: kenwood_get_mode,
set_vfo: kenwood_set_vfo,
get_vfo: kenwood_get_vfo,
set_ctcss_tone: kenwood_set_ctcss_tone,
get_ctcss_tone: kenwood_get_ctcss_tone,
get_ptt: kenwood_get_ptt,
set_ptt: kenwood_set_ptt,
get_dcd: kenwood_get_dcd,
set_func: kenwood_set_func,
get_func: kenwood_get_func,
set_level: kenwood_set_level,
get_level: kenwood_get_level,
set_powerstat: kenwood_set_powerstat,
get_powerstat: kenwood_get_powerstat,
reset: kenwood_reset,
send_morse: kenwood_send_morse,
vfo_op: kenwood_vfo_op,
set_mem: kenwood_set_mem,
get_mem: kenwood_get_mem,
set_trn: kenwood_set_trn,
get_trn: kenwood_get_trn,
get_info: kenwood_get_info,
scan: ts2k_scan,
get_channel: ts2k_get_channel,
set_channel: ts2k_set_channel,
get_dcs_code: ts2k_get_dcs_code,
set_dcs_code: ts2k_set_dcs_code,
get_parm: ts2k_get_parm,
set_parm: ts2k_set_parm,
get_rit: ts2k_get_rit,
set_rit: ts2k_set_rit,
get_rptr_offs: ts2k_get_rptr_offs,
set_rptr_offs: ts2k_set_rptr_offs,
get_rptr_shift: ts2k_get_rptr_shift,
set_rptr_shift: ts2k_set_rptr_shift,
get_split: ts2k_get_split,
set_split: ts2k_set_split,
get_split_freq: ts2k_get_split_freq,
set_split_freq: ts2k_set_split_freq,
get_split_mode: ts2k_get_split_mode,
set_split_mode: ts2k_set_split_mode,
get_ts: ts2k_get_ts,
set_ts: ts2k_set_ts,
get_xit: ts2k_get_xit,
set_xit: ts2k_set_xit,
/* comming soon... */
//get_tone_sql: ts2k_get_tone_sql,
//set_tone_sql: ts2k_set_tone_sql,
//decode_event: ts2k_decode_event, /* highest */
//get_conf: ts2k_get_conf,
//set_conf: ts2k_set_conf,
//get_ant: ts2k_get_ant,
//set_ant: ts2k_set_ant,
//recv_dtmf: ts2k_recv_dtmf, /* possible? */
//get_ctcss_sql: ts2k_get_ctcss_sql,
//set_ctcss_sql: ts2k_set_ctcss_sql,
//get_dcs_sql: ts2k_get_dcs_sql,
//set_dcs_sql: ts2k_set_dcs_sql,
//send_dtmf: ts2k_send_dtmf, /* lowest */
/* and never... */
//set_bank: /* not needed */
/*
end ts2k
*/
};
/*
* Function definitions below
*/

Wyświetl plik

@ -2,7 +2,7 @@
* Hamlib Interface - toolbox
* Copyright (c) 2000-2002 by Stephane Fillod and Frank Singleton
*
* $Id: misc.c,v 1.18 2002-06-30 10:17:03 dedmons Exp $
* $Id: misc.c,v 1.19 2002-07-08 22:20:15 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
@ -267,7 +267,6 @@ const char * strmode(rmode_t mode)
case RIG_MODE_FM: return "FM";
case RIG_MODE_WFM: return "WFM";
case RIG_MODE_NONE: return "";
default:
}
return NULL;
}
@ -287,8 +286,6 @@ const char *strvfo(vfo_t vfo)
return "VFOC";
case RIG_VFO_CURR:
return "currVFO";
case RIG_VFO_ALL:
return "VFOall";
case RIG_VFO_MEM:
return "MEM";
case RIG_VFO_VFO:
@ -297,20 +294,6 @@ const char *strvfo(vfo_t vfo)
return "Main";
case RIG_VFO_SUB:
return "Sub";
case RIG_CTRL_SAT:
return "SAT";
case RIG_VFO_MEM_A:
return "MEMA";
case RIG_VFO_MEM_C:
return "MEMC";
case RIG_VFO_CALL_A:
return "CALLA";
case RIG_VFO_CALL_C:
return "CALLC";
case RIG_VFO_AB:
return "VFOAB";
case RIG_VFO_BA:
return "VFOBA";
}
return NULL;
}
@ -348,7 +331,6 @@ const char *strfunc(setting_t func)
case RIG_FUNC_RESUME: return "RESUME";
case RIG_FUNC_NONE: return "";
default:
}
return NULL;
}
@ -386,7 +368,6 @@ const char *strlevel(setting_t level)
case RIG_LEVEL_STRENGTH: return "STRENGTH";
case RIG_LEVEL_NONE: return "";
default:
}
return NULL;
}
@ -402,7 +383,6 @@ const char *strparm(setting_t parm)
case RIG_PARM_BAT: return "BAT";
case RIG_PARM_NONE: return "";
default:
}
return NULL;
}
@ -414,7 +394,6 @@ const char *strptrshift(rptr_shift_t shift)
case RIG_RPT_SHIFT_PLUS: return "-";
case RIG_RPT_SHIFT_NONE: return "None";
default:
}
return NULL;
}
@ -435,7 +414,6 @@ const char *strvfop(vfo_op_t op)
case RIG_OP_RIGHT: return "RIGHT";
case RIG_OP_NONE: return "";
default:
}
return NULL;
}
@ -450,7 +428,6 @@ const char *strscan(scan_t rscan)
case RIG_SCAN_PROG: return "PROG";
case RIG_SCAN_DELTA: return "DELTA";
case RIG_SCAN_VFO: return "VFO";
default:
}
return NULL;
}
@ -470,9 +447,8 @@ const char *strstatus(enum rig_status_e status)
return "Buggy";
case RIG_STATUS_NEW:
return "New";
default:
return "";
}
return "";
}
int sprintf_mode(char *str, rmode_t mode)
@ -627,20 +603,11 @@ static struct {
{ RIG_VFO_A, "VFOA" },
{ RIG_VFO_B, "VFOB" },
{ RIG_VFO_C, "VFOC" },
{ RIG_VFO_AB, "VFOAB" },
{ RIG_VFO_BA, "VFOBA" },
{ RIG_VFO_MEM_A, "MEMA" },
{ RIG_VFO_MEM_C, "MEMC" },
{ RIG_CTRL_SAT, "SAT" },
{ RIG_VFO_CALL_A, "CALLA" },
{ RIG_VFO_CALL_C, "CALLC" },
{ RIG_VFO_CURR, "currVFO" },
{ RIG_VFO_MEM, "MEM" },
{ RIG_VFO_VFO, "VFO" },
{ RIG_VFO_MAIN, "Main" },
{ RIG_VFO_SUB, "Sub" },
// one or more of the following may be ambiguous --Dale
{ RIG_VFO_CURR, "currVFO" },
{ RIG_VFO_VFO, "VFO" },
{ RIG_VFO_MEM, "MEM" },
// { RIG_VFO_ALL, "allVFO" },
{ RIG_VFO_NONE, NULL },
};
@ -796,7 +763,7 @@ vfo_op_t parse_vfo_op(const char *s)
}
static struct {
scan_t SCan;
scan_t rscan;
const char *str;
} scan_str[] = {
{ RIG_SCAN_STOP, "STOP" },
@ -813,11 +780,9 @@ scan_t parse_scan(const char *s)
{
int i;
printf(__FUNCTION__": parsing %s...\n",s);
for (i=0 ; scan_str[i].str != NULL; i++) {
if (strcmp(s, scan_str[i].str) == 0) {
return scan_str[i].SCan;
return scan_str[i].rscan;
}
}
@ -830,8 +795,6 @@ rptr_shift_t parse_rptr_shift(const char *s)
return RIG_RPT_SHIFT_PLUS;
else if (strcmp(s, "-") == 0)
return RIG_RPT_SHIFT_MINUS;
else if (strcmp(s, "=") == 0)
return RIG_RPT_SHIFT_1750;
else
return RIG_RPT_SHIFT_NONE;
}