Hamlib  1.2.15.3
 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
rig.h
Go to the documentation of this file.
1 /*
2  * Hamlib Interface - API header
3  * Copyright (c) 2000-2003 by Frank Singleton
4  * Copyright (c) 2000-2012 by Stephane Fillod
5  *
6  *
7  * This library is free software; you can redistribute it and/or
8  * modify it under the terms of the GNU Lesser General Public
9  * License as published by the Free Software Foundation; either
10  * version 2.1 of the License, or (at your option) any later version.
11  *
12  * This library is distributed in the hope that it will be useful,
13  * but WITHOUT ANY WARRANTY; without even the implied warranty of
14  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
15  * Lesser General Public License for more details.
16  *
17  * You should have received a copy of the GNU Lesser General Public
18  * License along with this library; if not, write to the Free Software
19  * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
20  *
21  */
22 
23 
24 #ifndef _RIG_H
25 #define _RIG_H 1
26 
27 #include <stdio.h>
28 #include <stdarg.h>
29 
30 #include <hamlib/riglist.h> /* list in another file to not mess up w/ this one */
31 
45 /* __BEGIN_DECLS should be used at the beginning of your declarations,
46  * so that C++ compilers don't mangle their names. Use __END_DECLS at
47  * the end of C declarations. */
48 #undef __BEGIN_DECLS
49 #undef __END_DECLS
50 #ifdef __cplusplus
51 # define __BEGIN_DECLS extern "C" {
52 # define __END_DECLS }
53 #else
54 # define __BEGIN_DECLS /* empty */
55 # define __END_DECLS /* empty */
56 #endif
57 
58 /* HAMLIB_PARAMS is a macro used to wrap function prototypes, so that compilers
59  * that don't understand ANSI C prototypes still work, and ANSI C
60  * compilers can issue warnings about type mismatches. */
61 #undef HAMLIB_PARAMS
62 #if defined (__STDC__) || defined (_AIX) || (defined (__mips) && defined (_SYSTYPE_SVR4)) || defined(__CYGWIN__) || defined(_WIN32) || defined(__cplusplus)
63 # define HAMLIB_PARAMS(protos) protos
64 # define rig_ptr_t void*
65 #else
66 # define HAMLIB_PARAMS(protos) ()
67 # define rig_ptr_t char*
68 #endif
69 
70 #include <hamlib/rig_dll.h>
71 
72 
73 __BEGIN_DECLS
74 
75 extern HAMLIB_EXPORT_VAR(const char) hamlib_version[];
76 extern HAMLIB_EXPORT_VAR(const char) hamlib_copyright[];
77 
85  RIG_OK=0,
103 };
104 
106 #define NETRIGCTL_RET "RPRT "
107 
122 };
123 
124 /* --------------- Rig capabilities -----------------*/
125 
126 /* Forward struct references */
127 
128 struct rig;
129 struct rig_state;
130 
134 typedef struct rig RIG;
135 
136 #define RIGNAMSIZ 30
137 #define RIGVERSIZ 8
138 #define FILPATHLEN 100
139 #define FRQRANGESIZ 30
140 #define MAXCHANDESC 30 /* describe channel eg: "WWV 5Mhz" */
141 #define TSLSTSIZ 20 /* max tuning step list size, zero ended */
142 #define FLTLSTSIZ 42 /* max mode/filter list size, zero ended */
143 #define MAXDBLSTSIZ 8 /* max preamp/att levels supported, zero ended */
144 #define CHANLSTSIZ 16 /* max mem_list size, zero ended */
145 #define MAX_CAL_LENGTH 32 /* max calibration plots in cal_table_t */
146 
147 
158 typedef unsigned int tone_t;
159 
163 typedef enum rig_port_e {
176 } rig_port_t;
177 
187 };
188 
196 };
197 
198 
206 };
207 
209 typedef enum {
210  RIG_FLAG_RECEIVER = (1<<1),
212  RIG_FLAG_SCANNER = (1<<3),
214  RIG_FLAG_MOBILE = (1<<4),
215  RIG_FLAG_HANDHELD = (1<<5),
216  RIG_FLAG_COMPUTER = (1<<6),
217  RIG_FLAG_TRUNKING = (1<<7),
218  RIG_FLAG_APRS = (1<<8),
219  RIG_FLAG_TNC = (1<<9),
220  RIG_FLAG_DXCLUSTER = (1<<10),
221  RIG_FLAG_TUNER = (1<<11)
222 } rig_type_t;
223 
224 #define RIG_FLAG_TRANSCEIVER (RIG_FLAG_RECEIVER|RIG_FLAG_TRANSMITTER)
225 #define RIG_TYPE_MASK (RIG_FLAG_TRANSCEIVER|RIG_FLAG_SCANNER|RIG_FLAG_MOBILE|RIG_FLAG_HANDHELD|RIG_FLAG_COMPUTER|RIG_FLAG_TRUNKING|RIG_FLAG_TUNER)
226 
227 #define RIG_TYPE_OTHER 0
228 #define RIG_TYPE_TRANSCEIVER RIG_FLAG_TRANSCEIVER
229 #define RIG_TYPE_HANDHELD (RIG_FLAG_TRANSCEIVER|RIG_FLAG_HANDHELD)
230 #define RIG_TYPE_MOBILE (RIG_FLAG_TRANSCEIVER|RIG_FLAG_MOBILE)
231 #define RIG_TYPE_RECEIVER RIG_FLAG_RECEIVER
232 #define RIG_TYPE_PCRECEIVER (RIG_FLAG_COMPUTER|RIG_FLAG_RECEIVER)
233 #define RIG_TYPE_SCANNER (RIG_FLAG_SCANNER|RIG_FLAG_RECEIVER)
234 #define RIG_TYPE_TRUNKSCANNER (RIG_TYPE_SCANNER|RIG_FLAG_TRUNKING)
235 #define RIG_TYPE_COMPUTER (RIG_FLAG_TRANSCEIVER|RIG_FLAG_COMPUTER)
236 #define RIG_TYPE_TUNER RIG_FLAG_TUNER
237 
238 
248 /* RIG_STATUS_NEW * *!< Initial release of code
249  * !! Use of RIG_STATUS_NEW is deprecated. Do not use it anymore */
250 };
251 
253 #define RIG_STATUS_NEW RIG_STATUS_UNTESTED
254 
258 typedef enum {
262 } rptr_shift_t;
263 
267 typedef enum {
270 } split_t;
271 
276 typedef double freq_t;
278 #define PRIfreq "f"
279 
280 #define SCNfreq "lf"
281 #define FREQFMT SCNfreq
282 
287 typedef signed long shortfreq_t;
288 
289 #define Hz(f) ((freq_t)(f))
290 #define kHz(f) ((freq_t)((f)*(freq_t)1000))
291 #define MHz(f) ((freq_t)((f)*(freq_t)1000000))
292 #define GHz(f) ((freq_t)((f)*(freq_t)1000000000))
293 
294 #define s_Hz(f) ((shortfreq_t)(f))
295 #define s_kHz(f) ((shortfreq_t)((f)*(shortfreq_t)1000))
296 #define s_MHz(f) ((shortfreq_t)((f)*(shortfreq_t)1000000))
297 #define s_GHz(f) ((shortfreq_t)((f)*(shortfreq_t)1000000000))
298 
299 #define RIG_FREQ_NONE Hz(0)
300 
301 
317 typedef int vfo_t;
318 
320 #define RIG_VFO_NONE 0
321 
322 #define RIG_VFO_TX_FLAG (1<<30)
323 
325 #define RIG_VFO_CURR (1<<29)
326 
328 #define RIG_VFO_MEM (1<<28)
329 
331 #define RIG_VFO_VFO (1<<27)
332 
333 #define RIG_VFO_TX_VFO(v) ((v)|RIG_VFO_TX_FLAG)
334 
336 #define RIG_VFO_TX RIG_VFO_TX_VFO(RIG_VFO_CURR)
337 
339 #define RIG_VFO_RX RIG_VFO_CURR
340 
342 #define RIG_VFO_MAIN (1<<26)
343 
344 #define RIG_VFO_SUB (1<<25)
345 
346 #define RIG_VFO_N(n) (1<<(n))
347 
349 #define RIG_VFO_A RIG_VFO_N(0)
350 
351 #define RIG_VFO_B RIG_VFO_N(1)
352 
353 #define RIG_VFO_C RIG_VFO_N(2)
354 
355 
356 /*
357  * targetable bitfields, for internal use.
358  * RIG_TARGETABLE_PURE means a pure targetable radio on every command
359  */
360 #define RIG_TARGETABLE_NONE 0
361 #define RIG_TARGETABLE_FREQ (1<<0)
362 #define RIG_TARGETABLE_MODE (1<<1)
363 #define RIG_TARGETABLE_PURE (1<<2)
364 #define RIG_TARGETABLE_TONE (1<<3)
365 #define RIG_TARGETABLE_FUNC (1<<4)
366 #define RIG_TARGETABLE_ALL 0x7fffffff
367 
368 
369 #define RIG_PASSBAND_NORMAL s_Hz(0)
370 
374 typedef shortfreq_t pbwidth_t;
375 
376 
380 typedef enum dcd_e {
383 } dcd_t;
384 
389 typedef enum {
397 } dcd_type_t;
398 
399 
403 typedef enum {
408 } ptt_t;
409 
414 typedef enum {
422 } ptt_type_t;
423 
427 typedef enum {
429  RIG_POWER_ON = (1<<0),
431 } powerstat_t;
432 
436 typedef enum {
438  RIG_RESET_SOFT = (1<<0),
439  RIG_RESET_VFO = (1<<1),
440  RIG_RESET_MCALL = (1<<2),
442 } reset_t;
443 
444 
460 typedef enum {
462  RIG_OP_CPY = (1<<0),
463  RIG_OP_XCHG = (1<<1),
464  RIG_OP_FROM_VFO = (1<<2),
465  RIG_OP_TO_VFO = (1<<3),
466  RIG_OP_MCL = (1<<4),
467  RIG_OP_UP = (1<<5),
468  RIG_OP_DOWN = (1<<6),
469  RIG_OP_BAND_UP = (1<<7),
470  RIG_OP_BAND_DOWN = (1<<8),
471  RIG_OP_LEFT = (1<<9),
472  RIG_OP_RIGHT = (1<<10),
473  RIG_OP_TUNE = (1<<11),
474  RIG_OP_TOGGLE = (1<<12)
475 } vfo_op_t;
476 
477 
486 typedef enum {
489  RIG_SCAN_MEM = (1<<0),
490  RIG_SCAN_SLCT = (1<<1),
491  RIG_SCAN_PRIO = (1<<2),
492  RIG_SCAN_PROG = (1<<3),
493  RIG_SCAN_DELTA = (1<<4),
494  RIG_SCAN_VFO = (1<<5),
495  RIG_SCAN_PLT = (1<<6)
496 } scan_t;
497 
501 typedef long token_t;
502 
503 #define RIG_CONF_END 0
504 
517 /* strongly inspired from soundmodem. Thanks Thomas! */
518 
525 };
526 
527 #define RIG_COMBO_MAX 8
528 
532 struct confparams {
533  token_t token;
534  const char *name;
535  const char *label;
536  const char *tooltip;
537  const char *dflt;
539  union {
540  struct {
541  float min;
542  float max;
543  float step;
544  } n;
545  struct {
546  const char *combostr[RIG_COMBO_MAX];
547  } c;
548  } u;
549 };
550 
555 typedef enum {
558  RIG_ANN_FREQ = (1<<0),
559  RIG_ANN_RXMODE = (1<<1),
560  RIG_ANN_CW = (1<<2),
561  RIG_ANN_ENG = (1<<3),
562  RIG_ANN_JAP = (1<<4)
563 } ann_t;
564 
565 
569 typedef int ant_t;
570 
571 #define RIG_ANT_NONE 0
572 #define RIG_ANT_N(n) ((ant_t)1<<(n))
573 #define RIG_ANT_1 RIG_ANT_N(0)
574 #define RIG_ANT_2 RIG_ANT_N(1)
575 #define RIG_ANT_3 RIG_ANT_N(2)
576 #define RIG_ANT_4 RIG_ANT_N(3)
577 #define RIG_ANT_5 RIG_ANT_N(4)
578 
582 /* TODO: kill me, and replace by real AGC delay */
584  RIG_AGC_OFF = 0,
585  RIG_AGC_SUPERFAST,
586  RIG_AGC_FAST,
587  RIG_AGC_SLOW,
589  RIG_AGC_MEDIUM,
590  RIG_AGC_AUTO
591 };
592 
597  RIG_METER_NONE = 0, /*< No display meter */
598  RIG_METER_SWR = (1<<0), /*< Stationary Wave Ratio */
599  RIG_METER_COMP = (1<<1), /*< Compression level */
600  RIG_METER_ALC = (1<<2), /*< ALC */
601  RIG_METER_IC = (1<<3), /*< IC */
602  RIG_METER_DB = (1<<4), /*< DB */
603  RIG_METER_PO = (1<<5), /*< Power Out */
604  RIG_METER_VDD = (1<<6) /*< Final Amp Voltage */
605 };
606 
611 typedef union {
612  signed int i;
613  float f;
614  char *s;
615  const char *cs;
616 } value_t;
617 
628  RIG_LEVEL_PREAMP = (1<<0),
629  RIG_LEVEL_ATT = (1<<1),
630  RIG_LEVEL_VOX = (1<<2),
631  RIG_LEVEL_AF = (1<<3),
632  RIG_LEVEL_RF = (1<<4),
633  RIG_LEVEL_SQL = (1<<5),
634  RIG_LEVEL_IF = (1<<6),
635  RIG_LEVEL_APF = (1<<7),
636  RIG_LEVEL_NR = (1<<8),
637  RIG_LEVEL_PBT_IN = (1<<9),
638  RIG_LEVEL_PBT_OUT = (1<<10),
639  RIG_LEVEL_CWPITCH = (1<<11),
640  RIG_LEVEL_RFPOWER = (1<<12),
641  RIG_LEVEL_MICGAIN = (1<<13),
642  RIG_LEVEL_KEYSPD = (1<<14),
643  RIG_LEVEL_NOTCHF = (1<<15),
644  RIG_LEVEL_COMP = (1<<16),
645  RIG_LEVEL_AGC = (1<<17),
646  RIG_LEVEL_BKINDL = (1<<18),
647  RIG_LEVEL_BALANCE = (1<<19),
648  RIG_LEVEL_METER = (1<<20),
650  RIG_LEVEL_VOXGAIN = (1<<21),
652  RIG_LEVEL_ANTIVOX = (1<<22),
658  RIG_LEVEL_RAWSTR = (1<<26),
659  RIG_LEVEL_SQLSTAT = (1<<27),
660  RIG_LEVEL_SWR = (1<<28),
661  RIG_LEVEL_ALC = (1<<29),
663  /*RIG_LEVEL_BWC = (1<<31)*/
664 };
665 
666 #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)
667 
668 #define RIG_LEVEL_READONLY_LIST (RIG_LEVEL_SQLSTAT|RIG_LEVEL_SWR|RIG_LEVEL_ALC|RIG_LEVEL_STRENGTH|RIG_LEVEL_RAWSTR)
669 
670 #define RIG_LEVEL_IS_FLOAT(l) ((l)&RIG_LEVEL_FLOAT_LIST)
671 #define RIG_LEVEL_SET(l) ((l)&~RIG_LEVEL_READONLY_LIST)
672 
673 
684  RIG_PARM_ANN = (1<<0),
685  RIG_PARM_APO = (1<<1),
687  RIG_PARM_BEEP = (1<<4),
688  RIG_PARM_TIME = (1<<5),
689  RIG_PARM_BAT = (1<<6),
691 };
692 
693 #define RIG_PARM_FLOAT_LIST (RIG_PARM_BACKLIGHT|RIG_PARM_BAT)
694 #define RIG_PARM_READONLY_LIST (RIG_PARM_BAT)
695 
696 #define RIG_PARM_IS_FLOAT(l) ((l)&RIG_PARM_FLOAT_LIST)
697 #define RIG_PARM_SET(l) ((l)&~RIG_PARM_READONLY_LIST)
698 
699 #define RIG_SETTING_MAX 32
700 
706 typedef unsigned long setting_t;
707 
708 /*
709  * tranceive mode, ie. the rig notify the host of any event,
710  * like freq changed, mode changed, etc.
711  */
712 #define RIG_TRN_OFF 0
713 #define RIG_TRN_RIG 1
714 #define RIG_TRN_POLL 2
715 
716 
727  RIG_FUNC_FAGC = (1<<0),
728  RIG_FUNC_NB = (1<<1),
729  RIG_FUNC_COMP = (1<<2),
730  RIG_FUNC_VOX = (1<<3),
731  RIG_FUNC_TONE = (1<<4),
732  RIG_FUNC_TSQL = (1<<5),
733  RIG_FUNC_SBKIN = (1<<6),
734  RIG_FUNC_FBKIN = (1<<7),
735  RIG_FUNC_ANF = (1<<8),
736  RIG_FUNC_NR = (1<<9),
737  RIG_FUNC_AIP = (1<<10),
738  RIG_FUNC_APF = (1<<11),
739  RIG_FUNC_MON = (1<<12),
740  RIG_FUNC_MN = (1<<13),
741  RIG_FUNC_RF = (1<<14),
742  RIG_FUNC_ARO = (1<<15),
743  RIG_FUNC_LOCK = (1<<16),
744  RIG_FUNC_MUTE = (1<<17),
745  RIG_FUNC_VSC = (1<<18),
746  RIG_FUNC_REV = (1<<19),
747  RIG_FUNC_SQL = (1<<20),
748  RIG_FUNC_ABM = (1<<21),
749  RIG_FUNC_BC = (1<<22),
750  RIG_FUNC_MBC = (1<<23),
751  /* (1<<24), used to be RIG_FUNC_LMP, see RIG_PARM_BACKLIGHT instead) */
752  RIG_FUNC_AFC = (1<<25),
753  RIG_FUNC_SATMODE = (1<<26),
754  RIG_FUNC_SCOPE = (1<<27),
755  RIG_FUNC_RESUME = (1<<28),
756  RIG_FUNC_TBURST = (1<<29),
757  RIG_FUNC_TUNER = (1<<30)
758 };
759 
760 /*
761  * power unit macros, converts to mW
762  * This is limited to 2MW on 32 bits systems.
763  */
764 #define mW(p) ((int)(p))
765 #define Watts(p) ((int)((p)*1000))
766 #define W(p) Watts(p)
767 #define kW(p) ((int)((p)*1000000L))
768 
777 typedef enum {
779  RIG_MODE_AM = (1<<0),
780  RIG_MODE_CW = (1<<1),
781  RIG_MODE_USB = (1<<2),
782  RIG_MODE_LSB = (1<<3),
783  RIG_MODE_RTTY = (1<<4),
784  RIG_MODE_FM = (1<<5),
785  RIG_MODE_WFM = (1<<6),
786  RIG_MODE_CWR = (1<<7),
787  RIG_MODE_RTTYR = (1<<8),
788  RIG_MODE_AMS = (1<<9),
789  RIG_MODE_PKTLSB = (1<<10),
790  RIG_MODE_PKTUSB = (1<<11),
791  RIG_MODE_PKTFM = (1<<12),
792  RIG_MODE_ECSSUSB = (1<<13),
793  RIG_MODE_ECSSLSB = (1<<14),
794  RIG_MODE_FAX = (1<<15),
795  RIG_MODE_SAM = (1<<16),
796  RIG_MODE_SAL = (1<<17),
797  RIG_MODE_SAH = (1<<18),
798  RIG_MODE_DSB = (1<<19),
800 } rmode_t;
801 
802 
804 #define RIG_MODE_SSB (RIG_MODE_USB|RIG_MODE_LSB)
805 
807 #define RIG_MODE_ECSS (RIG_MODE_ECSSUSB|RIG_MODE_ECSSLSB)
808 
809 
810 #define RIG_DBLST_END 0 /* end marker in a preamp/att level list */
811 #define RIG_IS_DBLST_END(d) ((d)==0)
812 
819 typedef struct freq_range_list {
820  freq_t start;
821  freq_t end;
823  int low_power;
825  vfo_t vfo;
826  ant_t ant;
827 } freq_range_t;
828 
829 #define RIG_FRNG_END {Hz(0),Hz(0),RIG_MODE_NONE,0,0,RIG_VFO_NONE}
830 #define RIG_IS_FRNG_END(r) ((r).start == Hz(0) && (r).end == Hz(0))
831 
832 #define RIG_ITU_REGION1 1
833 #define RIG_ITU_REGION2 2
834 #define RIG_ITU_REGION3 3
835 
857  shortfreq_t ts;
858 };
859 
860 #define RIG_TS_ANY 0
861 #define RIG_TS_END {RIG_MODE_NONE,0}
862 #define RIG_IS_TS_END(t) ((t).modes == RIG_MODE_NONE && (t).ts == 0)
863 
890 struct filter_list {
892  pbwidth_t width;
893 };
894 
895 #define RIG_FLT_ANY 0
896 #define RIG_FLT_END {RIG_MODE_NONE,0}
897 #define RIG_IS_FLT_END(f) ((f).modes == RIG_MODE_NONE)
898 
899 
901 #define RIG_CHFLAG_NONE 0
902 
903 #define RIG_CHFLAG_SKIP (1<<0)
904 
905 #define RIG_CHFLAG_DATA (1<<1)
906 
911 struct ext_list {
912  token_t token;
914 };
915 
916 #define RIG_EXT_END {0, {.i=0}}
917 #define RIG_IS_EXT_END(x) ((x).token == 0)
918 
926 struct channel {
928  int bank_num;
929  vfo_t vfo;
930  int ant;
931  freq_t freq;
933  pbwidth_t width;
935  freq_t tx_freq;
937  pbwidth_t tx_width;
940  vfo_t tx_vfo;
943  shortfreq_t rptr_offs;
944  shortfreq_t tuning_step;
945  shortfreq_t rit;
946  shortfreq_t xit;
947  setting_t funcs;
948  value_t levels[RIG_SETTING_MAX];
954  int flags;
955  char channel_desc[MAXCHANDESC];
957 };
959 typedef struct channel channel_t;
960 
966 struct channel_cap {
967  unsigned bank_num:1;
968  unsigned vfo:1;
969  unsigned ant:1;
970  unsigned freq:1;
971  unsigned mode:1;
972  unsigned width:1;
974  unsigned tx_freq:1;
975  unsigned tx_mode:1;
976  unsigned tx_width:1;
978  unsigned split:1;
979  unsigned tx_vfo:1;
980  unsigned rptr_shift:1;
981  unsigned rptr_offs:1;
982  unsigned tuning_step:1;
983  unsigned rit:1;
984  unsigned xit:1;
985  setting_t funcs;
986  setting_t levels;
987  unsigned ctcss_tone:1;
988  unsigned ctcss_sql:1;
989  unsigned dcs_code:1;
990  unsigned dcs_sql:1;
991  unsigned scan_group:1;
992  unsigned flags:1;
993  unsigned channel_desc:1;
994  unsigned ext_levels:1;
995 };
996 
998 typedef struct channel_cap channel_cap_t;
999 
1000 
1011 typedef enum {
1020 } chan_type_t;
1021 
1035 struct chan_list {
1036  int start;
1037  int end;
1040 };
1041 
1042 #define RIG_CHAN_END {0,0,RIG_MTYPE_NONE}
1043 #define RIG_IS_CHAN_END(c) ((c).type == RIG_MTYPE_NONE)
1044 
1045 #define RIG_MEM_CAPS_ALL -1
1046 
1048 typedef struct chan_list chan_t;
1049 
1061 struct gran {
1065 };
1066 
1068 typedef struct gran gran_t;
1069 
1070 
1072 struct cal_table {
1073  int size;
1074  struct {
1075  int raw;
1076  int val;
1077  } table[MAX_CAL_LENGTH];
1078 };
1079 
1092 typedef struct cal_table cal_table_t;
1093 
1094 #define EMPTY_STR_CAL { 0, { { 0, 0 }, } }
1095 
1096 
1097 typedef int (*chan_cb_t) (RIG *, channel_t**, int, const chan_t*, rig_ptr_t);
1098 typedef int (*confval_cb_t) (RIG *, const struct confparams *, value_t *, rig_ptr_t);
1099 
1118 struct rig_caps {
1120  const char *model_name;
1121  const char *mfg_name;
1122  const char *version;
1123  const char *copyright;
1126  int rig_type;
1140  int timeout;
1141  int retry;
1143  setting_t has_get_func;
1144  setting_t has_set_func;
1145  setting_t has_get_level;
1146  setting_t has_set_level;
1147  setting_t has_get_parm;
1148  setting_t has_set_parm;
1150  gran_t level_gran[RIG_SETTING_MAX];
1151  gran_t parm_gran[RIG_SETTING_MAX];
1153  const struct confparams *extparms;
1154  const struct confparams *extlevels;
1157  const tone_t *dcs_list;
1159  int preamp[MAXDBLSTSIZ];
1160  int attenuator[MAXDBLSTSIZ];
1161  shortfreq_t max_rit;
1162  shortfreq_t max_xit;
1163  shortfreq_t max_ifshift;
1172  int bank_qty;
1175  chan_t chan_list[CHANLSTSIZ];
1182  struct tuning_step_list tuning_steps[TSLSTSIZ];
1183  struct filter_list filters[FLTLSTSIZ];
1187  const struct confparams *cfgparams;
1188  const rig_ptr_t priv;
1190  /*
1191  * Rig API
1192  *
1193  */
1194 
1195  int (*rig_init) (RIG * rig);
1196  int (*rig_cleanup) (RIG * rig);
1197  int (*rig_open) (RIG * rig);
1198  int (*rig_close) (RIG * rig);
1199 
1200  /*
1201  * General API commands, from most primitive to least.. :()
1202  * List Set/Get functions pairs
1203  */
1204 
1205  int (*set_freq) (RIG * rig, vfo_t vfo, freq_t freq);
1206  int (*get_freq) (RIG * rig, vfo_t vfo, freq_t * freq);
1207 
1208  int (*set_mode) (RIG * rig, vfo_t vfo, rmode_t mode,
1209  pbwidth_t width);
1210  int (*get_mode) (RIG * rig, vfo_t vfo, rmode_t * mode,
1211  pbwidth_t * width);
1212 
1213  int (*set_vfo) (RIG * rig, vfo_t vfo);
1214  int (*get_vfo) (RIG * rig, vfo_t * vfo);
1215 
1216  int (*set_ptt) (RIG * rig, vfo_t vfo, ptt_t ptt);
1217  int (*get_ptt) (RIG * rig, vfo_t vfo, ptt_t * ptt);
1218  int (*get_dcd) (RIG * rig, vfo_t vfo, dcd_t * dcd);
1219 
1220  int (*set_rptr_shift) (RIG * rig, vfo_t vfo,
1221  rptr_shift_t rptr_shift);
1222  int (*get_rptr_shift) (RIG * rig, vfo_t vfo,
1223  rptr_shift_t * rptr_shift);
1224 
1225  int (*set_rptr_offs) (RIG * rig, vfo_t vfo, shortfreq_t offs);
1226  int (*get_rptr_offs) (RIG * rig, vfo_t vfo, shortfreq_t * offs);
1227 
1228  int (*set_split_freq) (RIG * rig, vfo_t vfo, freq_t tx_freq);
1229  int (*get_split_freq) (RIG * rig, vfo_t vfo, freq_t * tx_freq);
1230  int (*set_split_mode) (RIG * rig, vfo_t vfo, rmode_t tx_mode,
1231  pbwidth_t tx_width);
1232  int (*get_split_mode) (RIG * rig, vfo_t vfo, rmode_t * tx_mode,
1233  pbwidth_t * tx_width);
1234 
1235  int (*set_split_vfo) (RIG * rig, vfo_t vfo, split_t split, vfo_t tx_vfo);
1236  int (*get_split_vfo) (RIG * rig, vfo_t vfo, split_t * split, vfo_t *tx_vfo);
1237 
1238  int (*set_rit) (RIG * rig, vfo_t vfo, shortfreq_t rit);
1239  int (*get_rit) (RIG * rig, vfo_t vfo, shortfreq_t * rit);
1240  int (*set_xit) (RIG * rig, vfo_t vfo, shortfreq_t xit);
1241  int (*get_xit) (RIG * rig, vfo_t vfo, shortfreq_t * xit);
1242 
1243  int (*set_ts) (RIG * rig, vfo_t vfo, shortfreq_t ts);
1244  int (*get_ts) (RIG * rig, vfo_t vfo, shortfreq_t * ts);
1245 
1246  int (*set_dcs_code) (RIG * rig, vfo_t vfo, tone_t code);
1247  int (*get_dcs_code) (RIG * rig, vfo_t vfo, tone_t * code);
1248  int (*set_tone) (RIG * rig, vfo_t vfo, tone_t tone);
1249  int (*get_tone) (RIG * rig, vfo_t vfo, tone_t * tone);
1250  int (*set_ctcss_tone) (RIG * rig, vfo_t vfo, tone_t tone);
1251  int (*get_ctcss_tone) (RIG * rig, vfo_t vfo, tone_t * tone);
1252 
1253  int (*set_dcs_sql) (RIG * rig, vfo_t vfo, tone_t code);
1254  int (*get_dcs_sql) (RIG * rig, vfo_t vfo, tone_t * code);
1255  int (*set_tone_sql) (RIG * rig, vfo_t vfo, tone_t tone);
1256  int (*get_tone_sql) (RIG * rig, vfo_t vfo, tone_t * tone);
1257  int (*set_ctcss_sql) (RIG * rig, vfo_t vfo, tone_t tone);
1258  int (*get_ctcss_sql) (RIG * rig, vfo_t vfo, tone_t * tone);
1259 
1260  int (*power2mW) (RIG * rig, unsigned int *mwpower, float power,
1261  freq_t freq, rmode_t mode);
1262  int (*mW2power) (RIG * rig, float *power, unsigned int mwpower,
1263  freq_t freq, rmode_t mode);
1264 
1265  int (*set_powerstat) (RIG * rig, powerstat_t status);
1266  int (*get_powerstat) (RIG * rig, powerstat_t * status);
1267  int (*reset) (RIG * rig, reset_t reset);
1268 
1269  int (*set_ant) (RIG * rig, vfo_t vfo, ant_t ant);
1270  int (*get_ant) (RIG * rig, vfo_t vfo, ant_t * ant);
1271 
1272  int (*set_level) (RIG * rig, vfo_t vfo, setting_t level,
1273  value_t val);
1274  int (*get_level) (RIG * rig, vfo_t vfo, setting_t level,
1275  value_t * val);
1276 
1277  int (*set_func) (RIG * rig, vfo_t vfo, setting_t func, int status);
1278  int (*get_func) (RIG * rig, vfo_t vfo, setting_t func,
1279  int *status);
1280 
1281  int (*set_parm) (RIG * rig, setting_t parm, value_t val);
1282  int (*get_parm) (RIG * rig, setting_t parm, value_t * val);
1283 
1284  int (*set_ext_level)(RIG *rig, vfo_t vfo, token_t token, value_t val);
1285  int (*get_ext_level)(RIG *rig, vfo_t vfo, token_t token, value_t *val);
1286 
1287  int (*set_ext_parm)(RIG *rig, token_t token, value_t val);
1288  int (*get_ext_parm)(RIG *rig, token_t token, value_t *val);
1289 
1290  int (*set_conf) (RIG * rig, token_t token, const char *val);
1291  int (*get_conf) (RIG * rig, token_t token, char *val);
1292 
1293  int (*send_dtmf) (RIG * rig, vfo_t vfo, const char *digits);
1294  int (*recv_dtmf) (RIG * rig, vfo_t vfo, char *digits, int *length);
1295  int (*send_morse) (RIG * rig, vfo_t vfo, const char *msg);
1296 
1297  int (*set_bank) (RIG * rig, vfo_t vfo, int bank);
1298  int (*set_mem) (RIG * rig, vfo_t vfo, int ch);
1299  int (*get_mem) (RIG * rig, vfo_t vfo, int *ch);
1300  int (*vfo_op) (RIG * rig, vfo_t vfo, vfo_op_t op);
1301  int (*scan) (RIG * rig, vfo_t vfo, scan_t scan, int ch);
1302 
1303  int (*set_trn) (RIG * rig, int trn);
1304  int (*get_trn) (RIG * rig, int *trn);
1305 
1306  int (*decode_event) (RIG * rig);
1307 
1308  int (*set_channel) (RIG * rig, const channel_t * chan);
1309  int (*get_channel) (RIG * rig, channel_t * chan);
1310 
1311  const char *(*get_info) (RIG * rig);
1312 
1313  int (*set_chan_all_cb) (RIG * rig, chan_cb_t chan_cb, rig_ptr_t);
1314  int (*get_chan_all_cb) (RIG * rig, chan_cb_t chan_cb, rig_ptr_t);
1315 
1316  int (*set_mem_all_cb) (RIG * rig, chan_cb_t chan_cb, confval_cb_t parm_cb, rig_ptr_t);
1317  int (*get_mem_all_cb) (RIG * rig, chan_cb_t chan_cb, confval_cb_t parm_cb, rig_ptr_t);
1318 
1319  const char *clone_combo_set;
1320  const char *clone_combo_get;
1321 };
1322 
1328 typedef struct {
1329  union {
1333  } type;
1334  int fd;
1335  void* handle;
1339  struct { int tv_sec,tv_usec; } post_write_date;
1340  int timeout;
1341  int retry;
1343  char pathname[FILPATHLEN];
1344  union {
1345  struct {
1346  int rate;
1349  enum serial_parity_e parity;
1350  enum serial_handshake_e handshake;
1351  enum serial_control_state_e rts_state;
1352  enum serial_control_state_e dtr_state;
1353  } serial;
1354  struct {
1355  int pin;
1356  } parallel;
1357  struct {
1358  int ptt_bitnum; /*< Bit number for CM108 GPIO PTT */
1359  } cm108;
1360  struct {
1361  int vid;
1362  int pid;
1363  int conf;
1364  int iface;
1365  int alt;
1366  char *vendor_name;
1367  char *product;
1368  } usb;
1369  } parm;
1370 } hamlib_port_t;
1371 
1372 #if !defined(__APPLE__) || !defined(__cplusplus)
1373 typedef hamlib_port_t port_t;
1374 #endif
1375 
1376 
1386 struct rig_state {
1387  /*
1388  * overridable fields
1389  */
1394  double vfo_comp;
1400  struct tuning_step_list tuning_steps[TSLSTSIZ];
1402  struct filter_list filters[FLTLSTSIZ];
1406  chan_t chan_list[CHANLSTSIZ];
1408  shortfreq_t max_rit;
1409  shortfreq_t max_xit;
1410  shortfreq_t max_ifshift;
1414  int preamp[MAXDBLSTSIZ];
1415  int attenuator[MAXDBLSTSIZ];
1417  setting_t has_get_func;
1418  setting_t has_set_func;
1419  setting_t has_get_level;
1420  setting_t has_set_level;
1421  setting_t has_get_parm;
1422  setting_t has_set_parm;
1424  gran_t level_gran[RIG_SETTING_MAX];
1425  gran_t parm_gran[RIG_SETTING_MAX];
1428  /*
1429  * non overridable fields, internal use
1430  */
1431 
1433  vfo_t current_vfo;
1434  int vfo_list;
1436  rig_ptr_t priv;
1437  rig_ptr_t obj;
1441  freq_t current_freq;
1443  pbwidth_t current_width;
1444  vfo_t tx_vfo;
1447 };
1448 
1449 
1450 typedef int (*vprintf_cb_t) (enum rig_debug_level_e, rig_ptr_t, const char *, va_list);
1451 
1452 typedef int (*freq_cb_t) (RIG *, vfo_t, freq_t, rig_ptr_t);
1453 typedef int (*mode_cb_t) (RIG *, vfo_t, rmode_t, pbwidth_t, rig_ptr_t);
1454 typedef int (*vfo_cb_t) (RIG *, vfo_t, rig_ptr_t);
1455 typedef int (*ptt_cb_t) (RIG *, vfo_t, ptt_t, rig_ptr_t);
1456 typedef int (*dcd_cb_t) (RIG *, vfo_t, dcd_t, rig_ptr_t);
1457 typedef int (*pltune_cb_t) (RIG *, vfo_t, freq_t *, rmode_t *, pbwidth_t *, rig_ptr_t);
1458 
1477  freq_cb_t freq_event;
1478  rig_ptr_t freq_arg;
1479  mode_cb_t mode_event;
1480  rig_ptr_t mode_arg;
1481  vfo_cb_t vfo_event;
1482  rig_ptr_t vfo_arg;
1483  ptt_cb_t ptt_event;
1484  rig_ptr_t ptt_arg;
1485  dcd_cb_t dcd_event;
1486  rig_ptr_t dcd_arg;
1487  pltune_cb_t pltune;
1488  rig_ptr_t pltune_arg;
1489  /* etc.. */
1490 };
1491 
1501 struct rig {
1502  struct rig_caps *caps;
1503  struct rig_state state;
1505 };
1506 
1507 
1508 
1509 /* --------------- API function prototypes -----------------*/
1510 
1511 extern HAMLIB_EXPORT(RIG *) rig_init HAMLIB_PARAMS((rig_model_t rig_model));
1512 extern HAMLIB_EXPORT(int) rig_open HAMLIB_PARAMS((RIG *rig));
1513 
1514  /*
1515  * General API commands, from most primitive to least.. :()
1516  * List Set/Get functions pairs
1517  */
1518 
1519 extern HAMLIB_EXPORT(int) rig_set_freq HAMLIB_PARAMS((RIG *rig, vfo_t vfo, freq_t freq));
1520 extern HAMLIB_EXPORT(int) rig_get_freq HAMLIB_PARAMS((RIG *rig, vfo_t vfo, freq_t *freq));
1521 
1522 extern HAMLIB_EXPORT(int) rig_set_mode HAMLIB_PARAMS((RIG *rig, vfo_t vfo, rmode_t mode, pbwidth_t width));
1523 extern HAMLIB_EXPORT(int) rig_get_mode HAMLIB_PARAMS((RIG *rig, vfo_t vfo, rmode_t *mode, pbwidth_t *width));
1524 
1525 extern HAMLIB_EXPORT(int) rig_set_vfo HAMLIB_PARAMS((RIG *rig, vfo_t vfo));
1526 extern HAMLIB_EXPORT(int) rig_get_vfo HAMLIB_PARAMS((RIG *rig, vfo_t *vfo));
1527 
1528 extern HAMLIB_EXPORT(int) rig_set_ptt HAMLIB_PARAMS((RIG *rig, vfo_t vfo, ptt_t ptt));
1529 extern HAMLIB_EXPORT(int) rig_get_ptt HAMLIB_PARAMS((RIG *rig, vfo_t vfo, ptt_t *ptt));
1530 
1531 extern HAMLIB_EXPORT(int) rig_get_dcd HAMLIB_PARAMS((RIG *rig, vfo_t vfo, dcd_t *dcd));
1532 
1533 extern HAMLIB_EXPORT(int) rig_set_rptr_shift HAMLIB_PARAMS((RIG *rig, vfo_t vfo, rptr_shift_t rptr_shift));
1534 extern HAMLIB_EXPORT(int) rig_get_rptr_shift HAMLIB_PARAMS((RIG *rig, vfo_t vfo, rptr_shift_t *rptr_shift));
1535 extern HAMLIB_EXPORT(int) rig_set_rptr_offs HAMLIB_PARAMS((RIG *rig, vfo_t vfo, shortfreq_t rptr_offs));
1536 extern HAMLIB_EXPORT(int) rig_get_rptr_offs HAMLIB_PARAMS((RIG *rig, vfo_t vfo, shortfreq_t *rptr_offs));
1537 
1538 extern HAMLIB_EXPORT(int) rig_set_ctcss_tone HAMLIB_PARAMS((RIG *rig, vfo_t vfo, tone_t tone));
1539 extern HAMLIB_EXPORT(int) rig_get_ctcss_tone HAMLIB_PARAMS((RIG *rig, vfo_t vfo, tone_t *tone));
1540 extern HAMLIB_EXPORT(int) rig_set_dcs_code HAMLIB_PARAMS((RIG *rig, vfo_t vfo, tone_t code));
1541 extern HAMLIB_EXPORT(int) rig_get_dcs_code HAMLIB_PARAMS((RIG *rig, vfo_t vfo, tone_t *code));
1542 
1543 extern HAMLIB_EXPORT(int) rig_set_ctcss_sql HAMLIB_PARAMS((RIG *rig, vfo_t vfo, tone_t tone));
1544 extern HAMLIB_EXPORT(int) rig_get_ctcss_sql HAMLIB_PARAMS((RIG *rig, vfo_t vfo, tone_t *tone));
1545 extern HAMLIB_EXPORT(int) rig_set_dcs_sql HAMLIB_PARAMS((RIG *rig, vfo_t vfo, tone_t code));
1546 extern HAMLIB_EXPORT(int) rig_get_dcs_sql HAMLIB_PARAMS((RIG *rig, vfo_t vfo, tone_t *code));
1547 
1548 extern HAMLIB_EXPORT(int) rig_set_split_freq HAMLIB_PARAMS((RIG *rig, vfo_t vfo, freq_t tx_freq));
1549 extern HAMLIB_EXPORT(int) rig_get_split_freq HAMLIB_PARAMS((RIG *rig, vfo_t vfo, freq_t *tx_freq));
1550 extern HAMLIB_EXPORT(int) rig_set_split_mode HAMLIB_PARAMS((RIG *rig, vfo_t vfo, rmode_t tx_mode, pbwidth_t tx_width));
1551 extern HAMLIB_EXPORT(int) rig_get_split_mode HAMLIB_PARAMS((RIG *rig, vfo_t vfo, rmode_t *tx_mode, pbwidth_t *tx_width));
1552 extern HAMLIB_EXPORT(int) rig_set_split_vfo HAMLIB_PARAMS((RIG*, vfo_t rx_vfo, split_t split, vfo_t tx_vfo));
1553 extern HAMLIB_EXPORT(int) rig_get_split_vfo HAMLIB_PARAMS((RIG*, vfo_t rx_vfo, split_t *split, vfo_t *tx_vfo));
1554 #define rig_set_split(r,v,s) rig_set_split_vfo((r),(v),(s),RIG_VFO_CURR)
1555 #define rig_get_split(r,v,s) ({ vfo_t _tx_vfo; rig_get_split_vfo((r),(v),(s),&_tx_vfo); })
1556 
1557 extern HAMLIB_EXPORT(int) rig_set_rit HAMLIB_PARAMS((RIG *rig, vfo_t vfo, shortfreq_t rit));
1558 extern HAMLIB_EXPORT(int) rig_get_rit HAMLIB_PARAMS((RIG *rig, vfo_t vfo, shortfreq_t *rit));
1559 extern HAMLIB_EXPORT(int) rig_set_xit HAMLIB_PARAMS((RIG *rig, vfo_t vfo, shortfreq_t xit));
1560 extern HAMLIB_EXPORT(int) rig_get_xit HAMLIB_PARAMS((RIG *rig, vfo_t vfo, shortfreq_t *xit));
1561 
1562 extern HAMLIB_EXPORT(int) rig_set_ts HAMLIB_PARAMS((RIG *rig, vfo_t vfo, shortfreq_t ts));
1563 extern HAMLIB_EXPORT(int) rig_get_ts HAMLIB_PARAMS((RIG *rig, vfo_t vfo, shortfreq_t *ts));
1564 
1565 extern HAMLIB_EXPORT(int) rig_power2mW HAMLIB_PARAMS((RIG *rig, unsigned int *mwpower, float power, freq_t freq, rmode_t mode));
1566 extern HAMLIB_EXPORT(int) rig_mW2power HAMLIB_PARAMS((RIG *rig, float *power, unsigned int mwpower, freq_t freq, rmode_t mode));
1567 
1568 extern HAMLIB_EXPORT(shortfreq_t) rig_get_resolution HAMLIB_PARAMS((RIG *rig, rmode_t mode));
1569 
1570 extern HAMLIB_EXPORT(int) rig_set_level HAMLIB_PARAMS((RIG *rig, vfo_t vfo, setting_t level, value_t val));
1571 extern HAMLIB_EXPORT(int) rig_get_level HAMLIB_PARAMS((RIG *rig, vfo_t vfo, setting_t level, value_t *val));
1572 
1573 #define rig_get_strength(r,v,s) rig_get_level((r),(v),RIG_LEVEL_STRENGTH, (value_t*)(s))
1574 
1575 extern HAMLIB_EXPORT(int) rig_set_parm HAMLIB_PARAMS((RIG *rig, setting_t parm, value_t val));
1576 extern HAMLIB_EXPORT(int) rig_get_parm HAMLIB_PARAMS((RIG *rig, setting_t parm, value_t *val));
1577 
1578 extern HAMLIB_EXPORT(int) rig_set_conf HAMLIB_PARAMS((RIG *rig, token_t token, const char *val));
1579 extern HAMLIB_EXPORT(int) rig_get_conf HAMLIB_PARAMS((RIG *rig, token_t token, char *val));
1580 
1581 extern HAMLIB_EXPORT(int) rig_set_powerstat HAMLIB_PARAMS((RIG *rig, powerstat_t status));
1582 extern HAMLIB_EXPORT(int) rig_get_powerstat HAMLIB_PARAMS((RIG *rig, powerstat_t *status));
1583 
1584 extern HAMLIB_EXPORT(int) rig_reset HAMLIB_PARAMS((RIG *rig, reset_t reset)); /* dangerous! */
1585 
1586 extern HAMLIB_EXPORT(int) rig_set_ext_level HAMLIB_PARAMS((RIG *rig, vfo_t vfo,
1587  token_t token, value_t val));
1588 extern HAMLIB_EXPORT(int) rig_get_ext_level HAMLIB_PARAMS((RIG *rig, vfo_t vfo,
1589  token_t token, value_t *val));
1590 
1591 extern HAMLIB_EXPORT(int) rig_set_ext_parm HAMLIB_PARAMS((RIG *rig, token_t token, value_t val));
1592 extern HAMLIB_EXPORT(int) rig_get_ext_parm HAMLIB_PARAMS((RIG *rig, token_t token, value_t *val));
1593 
1594 extern HAMLIB_EXPORT(int) rig_ext_level_foreach HAMLIB_PARAMS((RIG *rig, int (*cfunc)(RIG*, const struct confparams *, rig_ptr_t), rig_ptr_t data));
1595 extern HAMLIB_EXPORT(int) rig_ext_parm_foreach HAMLIB_PARAMS((RIG *rig, int (*cfunc)(RIG*, const struct confparams *, rig_ptr_t), rig_ptr_t data));
1596 extern HAMLIB_EXPORT(const struct confparams*) rig_ext_lookup HAMLIB_PARAMS((RIG *rig, const char *name));
1597 extern HAMLIB_EXPORT(const struct confparams *) rig_ext_lookup_tok HAMLIB_PARAMS((RIG *rig, token_t token));
1598 extern HAMLIB_EXPORT(token_t) rig_ext_token_lookup HAMLIB_PARAMS((RIG *rig, const char *name));
1599 
1600 
1601 extern HAMLIB_EXPORT(int) rig_token_foreach HAMLIB_PARAMS((RIG *rig, int (*cfunc)(const struct confparams *, rig_ptr_t), rig_ptr_t data));
1602 extern HAMLIB_EXPORT(const struct confparams*) rig_confparam_lookup HAMLIB_PARAMS((RIG *rig, const char *name));
1603 extern HAMLIB_EXPORT(token_t) rig_token_lookup HAMLIB_PARAMS((RIG *rig, const char *name));
1604 
1605 extern HAMLIB_EXPORT(int) rig_close HAMLIB_PARAMS((RIG *rig));
1606 extern HAMLIB_EXPORT(int) rig_cleanup HAMLIB_PARAMS((RIG *rig));
1607 
1608 extern HAMLIB_EXPORT(int) rig_set_ant HAMLIB_PARAMS((RIG *rig, vfo_t vfo, ant_t ant)); /* antenna */
1609 extern HAMLIB_EXPORT(int) rig_get_ant HAMLIB_PARAMS((RIG *rig, vfo_t vfo, ant_t *ant));
1610 
1611 extern HAMLIB_EXPORT(setting_t) rig_has_get_level HAMLIB_PARAMS((RIG *rig, setting_t level));
1612 extern HAMLIB_EXPORT(setting_t) rig_has_set_level HAMLIB_PARAMS((RIG *rig, setting_t level));
1613 
1614 extern HAMLIB_EXPORT(setting_t) rig_has_get_parm HAMLIB_PARAMS((RIG *rig, setting_t parm));
1615 extern HAMLIB_EXPORT(setting_t) rig_has_set_parm HAMLIB_PARAMS((RIG *rig, setting_t parm));
1616 
1617 extern HAMLIB_EXPORT(setting_t) rig_has_get_func HAMLIB_PARAMS((RIG *rig, setting_t func));
1618 extern HAMLIB_EXPORT(setting_t) rig_has_set_func HAMLIB_PARAMS((RIG *rig, setting_t func));
1619 
1620 extern HAMLIB_EXPORT(int) rig_set_func HAMLIB_PARAMS((RIG *rig, vfo_t vfo, setting_t func, int status));
1621 extern HAMLIB_EXPORT(int) rig_get_func HAMLIB_PARAMS((RIG *rig, vfo_t vfo, setting_t func, int *status));
1622 
1623 extern HAMLIB_EXPORT(int) rig_send_dtmf HAMLIB_PARAMS((RIG *rig, vfo_t vfo, const char *digits));
1624 extern HAMLIB_EXPORT(int) rig_recv_dtmf HAMLIB_PARAMS((RIG *rig, vfo_t vfo, char *digits, int *length));
1625 extern HAMLIB_EXPORT(int) rig_send_morse HAMLIB_PARAMS((RIG *rig, vfo_t vfo, const char *msg));
1626 
1627 extern HAMLIB_EXPORT(int) rig_set_bank HAMLIB_PARAMS((RIG *rig, vfo_t vfo, int bank));
1628 extern HAMLIB_EXPORT(int) rig_set_mem HAMLIB_PARAMS((RIG *rig, vfo_t vfo, int ch));
1629 extern HAMLIB_EXPORT(int) rig_get_mem HAMLIB_PARAMS((RIG *rig, vfo_t vfo, int *ch));
1630 extern HAMLIB_EXPORT(int) rig_vfo_op HAMLIB_PARAMS((RIG *rig, vfo_t vfo, vfo_op_t op));
1631 extern HAMLIB_EXPORT(vfo_op_t) rig_has_vfo_op HAMLIB_PARAMS((RIG *rig, vfo_op_t op));
1632 extern HAMLIB_EXPORT(int) rig_scan HAMLIB_PARAMS((RIG *rig, vfo_t vfo, scan_t scan, int ch));
1633 extern HAMLIB_EXPORT(scan_t) rig_has_scan HAMLIB_PARAMS((RIG *rig, scan_t scan));
1634 
1635 extern HAMLIB_EXPORT(int) rig_set_channel HAMLIB_PARAMS((RIG *rig, const channel_t *chan)); /* mem */
1636 extern HAMLIB_EXPORT(int) rig_get_channel HAMLIB_PARAMS((RIG *rig, channel_t *chan));
1637 
1638 extern HAMLIB_EXPORT(int) rig_set_chan_all HAMLIB_PARAMS((RIG *rig, const channel_t chans[]));
1639 extern HAMLIB_EXPORT(int) rig_get_chan_all HAMLIB_PARAMS((RIG *rig, channel_t chans[]));
1640 extern HAMLIB_EXPORT(int) rig_set_chan_all_cb HAMLIB_PARAMS((RIG *rig, chan_cb_t chan_cb, rig_ptr_t));
1641 extern HAMLIB_EXPORT(int) rig_get_chan_all_cb HAMLIB_PARAMS((RIG *rig, chan_cb_t chan_cb, rig_ptr_t));
1642 
1643 extern HAMLIB_EXPORT(int) rig_set_mem_all_cb HAMLIB_PARAMS((RIG *rig, chan_cb_t chan_cb, confval_cb_t parm_cb, rig_ptr_t));
1644 extern HAMLIB_EXPORT(int) rig_get_mem_all_cb HAMLIB_PARAMS((RIG *rig, chan_cb_t chan_cb, confval_cb_t parm_cb, rig_ptr_t));
1645 extern HAMLIB_EXPORT(int) rig_set_mem_all HAMLIB_PARAMS((RIG *rig, const channel_t *chan, const struct confparams *, const value_t *));
1646 extern HAMLIB_EXPORT(int) rig_get_mem_all HAMLIB_PARAMS((RIG *rig, channel_t *chan, const struct confparams *, value_t *));
1647 extern HAMLIB_EXPORT(const chan_t *) rig_lookup_mem_caps HAMLIB_PARAMS((RIG *rig, int ch));
1648 extern HAMLIB_EXPORT(int) rig_mem_count HAMLIB_PARAMS((RIG *rig));
1649 
1650 
1651 extern HAMLIB_EXPORT(int) rig_set_trn HAMLIB_PARAMS((RIG *rig, int trn));
1652 extern HAMLIB_EXPORT(int) rig_get_trn HAMLIB_PARAMS((RIG *rig, int *trn));
1653 extern HAMLIB_EXPORT(int) rig_set_freq_callback HAMLIB_PARAMS((RIG *, freq_cb_t, rig_ptr_t));
1654 extern HAMLIB_EXPORT(int) rig_set_mode_callback HAMLIB_PARAMS((RIG *, mode_cb_t, rig_ptr_t));
1655 extern HAMLIB_EXPORT(int) rig_set_vfo_callback HAMLIB_PARAMS((RIG *, vfo_cb_t, rig_ptr_t));
1656 extern HAMLIB_EXPORT(int) rig_set_ptt_callback HAMLIB_PARAMS((RIG *, ptt_cb_t, rig_ptr_t));
1657 extern HAMLIB_EXPORT(int) rig_set_dcd_callback HAMLIB_PARAMS((RIG *, dcd_cb_t, rig_ptr_t));
1658 extern HAMLIB_EXPORT(int) rig_set_pltune_callback HAMLIB_PARAMS((RIG *, pltune_cb_t, rig_ptr_t));
1659 
1660 extern HAMLIB_EXPORT(const char *) rig_get_info HAMLIB_PARAMS((RIG *rig));
1661 
1662 extern HAMLIB_EXPORT(const struct rig_caps *) rig_get_caps HAMLIB_PARAMS((rig_model_t rig_model));
1663 extern HAMLIB_EXPORT(const freq_range_t *) rig_get_range HAMLIB_PARAMS((const freq_range_t range_list[], freq_t freq, rmode_t mode));
1664 
1665 extern HAMLIB_EXPORT(pbwidth_t) rig_passband_normal HAMLIB_PARAMS((RIG *rig, rmode_t mode));
1666 extern HAMLIB_EXPORT(pbwidth_t) rig_passband_narrow HAMLIB_PARAMS((RIG *rig, rmode_t mode));
1667 extern HAMLIB_EXPORT(pbwidth_t) rig_passband_wide HAMLIB_PARAMS((RIG *rig, rmode_t mode));
1668 
1669 extern HAMLIB_EXPORT(const char *) rigerror HAMLIB_PARAMS((int errnum));
1670 
1671 extern HAMLIB_EXPORT(int) rig_setting2idx HAMLIB_PARAMS((setting_t s));
1672 #define rig_idx2setting(i) (1UL<<(i))
1673 
1674 /*
1675  * Even if these functions are prefixed with "rig_", they are not rig specific
1676  * Maybe "hamlib_" would have been better. Let me know. --SF
1677  */
1678 extern HAMLIB_EXPORT(void) rig_set_debug HAMLIB_PARAMS((enum rig_debug_level_e debug_level));
1679 #define rig_set_debug_level(level) rig_set_debug(level)
1680 extern HAMLIB_EXPORT(int) rig_need_debug HAMLIB_PARAMS((enum rig_debug_level_e debug_level));
1681 extern HAMLIB_EXPORT(void) rig_debug HAMLIB_PARAMS((enum rig_debug_level_e debug_level, const char *fmt, ...));
1682 extern HAMLIB_EXPORT(vprintf_cb_t) rig_set_debug_callback HAMLIB_PARAMS((vprintf_cb_t cb, rig_ptr_t arg));
1683 extern HAMLIB_EXPORT(FILE*) rig_set_debug_file HAMLIB_PARAMS((FILE *stream));
1684 
1685 extern HAMLIB_EXPORT(int) rig_register HAMLIB_PARAMS((const struct rig_caps *caps));
1686 extern HAMLIB_EXPORT(int) rig_unregister HAMLIB_PARAMS((rig_model_t rig_model));
1687 extern HAMLIB_EXPORT(int) rig_list_foreach HAMLIB_PARAMS((int (*cfunc)(const struct rig_caps*, rig_ptr_t), rig_ptr_t data));
1688 extern HAMLIB_EXPORT(int) rig_load_backend HAMLIB_PARAMS((const char *be_name));
1689 extern HAMLIB_EXPORT(int) rig_check_backend HAMLIB_PARAMS((rig_model_t rig_model));
1690 extern HAMLIB_EXPORT(int) rig_load_all_backends HAMLIB_PARAMS((void));
1691 
1692 typedef int (*rig_probe_func_t)(const hamlib_port_t *, rig_model_t, rig_ptr_t);
1693 extern HAMLIB_EXPORT(int) rig_probe_all HAMLIB_PARAMS((hamlib_port_t *p, rig_probe_func_t, rig_ptr_t));
1694 extern HAMLIB_EXPORT(rig_model_t) rig_probe HAMLIB_PARAMS((hamlib_port_t *p));
1695 
1696 
1697 /* Misc calls */
1698 extern HAMLIB_EXPORT(const char *) rig_strrmode(rmode_t mode);
1699 extern HAMLIB_EXPORT(const char *) rig_strvfo(vfo_t vfo);
1700 extern HAMLIB_EXPORT(const char *) rig_strfunc(setting_t);
1701 extern HAMLIB_EXPORT(const char *) rig_strlevel(setting_t);
1702 extern HAMLIB_EXPORT(const char *) rig_strparm(setting_t);
1703 extern HAMLIB_EXPORT(const char *) rig_strptrshift(rptr_shift_t);
1704 extern HAMLIB_EXPORT(const char *) rig_strvfop(vfo_op_t op);
1705 extern HAMLIB_EXPORT(const char *) rig_strscan(scan_t scan);
1706 extern HAMLIB_EXPORT(const char *) rig_strstatus(enum rig_status_e status);
1707 extern HAMLIB_EXPORT(const char *) rig_strmtype(chan_type_t mtype);
1708 
1709 extern HAMLIB_EXPORT(rmode_t) rig_parse_mode(const char *s);
1710 extern HAMLIB_EXPORT(vfo_t) rig_parse_vfo(const char *s);
1711 extern HAMLIB_EXPORT(setting_t) rig_parse_func(const char *s);
1712 extern HAMLIB_EXPORT(setting_t) rig_parse_level(const char *s);
1713 extern HAMLIB_EXPORT(setting_t) rig_parse_parm(const char *s);
1714 extern HAMLIB_EXPORT(vfo_op_t) rig_parse_vfo_op(const char *s);
1715 extern HAMLIB_EXPORT(scan_t) rig_parse_scan(const char *s);
1716 extern HAMLIB_EXPORT(rptr_shift_t) rig_parse_rptr_shift(const char *s);
1717 extern HAMLIB_EXPORT(chan_type_t) rig_parse_mtype(const char *s);
1718 
1719 
1720 __END_DECLS
1721 
1722 #endif /* _RIG_H */
1723 
Definition: rig.h:795
Definition: rig.h:437
int rig_get_conf(RIG *rig, token_t token, char *val)
get the value of a configuration parameter
Definition: conf.c:612
scan_t rig_has_scan(RIG *rig, scan_t scan)
check availability of scanning functions
Definition: rig.c:2656
setting_t funcs
Definition: rig.h:985
Definition: rig.h:430
Definition: rig.h:741
Definition: rig.h:781
int rig_get_mem(RIG *rig, vfo_t vfo, int *ch)
get the current memory channel number
Definition: mem.c:119
int rig_get_func(RIG *rig, vfo_t vfo, setting_t func, int *status)
get the status of functions of the radio
Definition: settings.c:446
Definition: rig.h:727
vfo_cb_t vfo_event
Definition: rig.h:1481
int vid
Definition: rig.h:1361
rig_debug_level_e
Hamlib debug levels.
Definition: rig.h:115
value_t step
Definition: rig.h:1064
unsigned tuning_step
Definition: rig.h:982
Definition: rig.h:690
unsigned channel_desc
Definition: rig.h:993
unsigned long setting_t
Setting.
Definition: rig.h:706
Definition: rig.h:391
Definition: rig.h:645
unsigned tx_vfo
Definition: rig.h:979
token_t rig_ext_token_lookup(RIG *rig, const char *name)
Simple lookup returning token id assicated with name.
Definition: ext.c:165
setting_t rig_has_get_level(RIG *rig, setting_t level)
check retrieval ability of level settings
Definition: settings.c:248
Definition: rig.h:268
setting_t has_set_func
Definition: rig.h:1418
struct ext_list * ext_levels
Definition: rig.h:956
int rig_token_foreach(RIG *rig, int(*cfunc)(const struct confparams *, char *), char *data)
call a function against each configuration token of a rig
Definition: conf.c:477
int raw
Definition: rig.h:1075
double freq_t
Frequency type, Frequency type unit in Hz, able to hold SHF frequencies.
Definition: rig.h:276
Definition: rig.h:117
Definition: rig.h:728
int rig_get_dcd(RIG *rig, vfo_t vfo, dcd_t *dcd)
get the status of the DCD
Definition: rig.c:1325
const char * rigerror(int errnum)
get string describing the error code
Definition: rig.c:248
void * handle
Definition: rig.h:1335
value_t min
Definition: rig.h:1062
int rig_set_ext_level(RIG *rig, vfo_t vfo, token_t token, value_t val)
set a radio level extra parameter
Definition: settings.c:491
unsigned bank_num
Definition: rig.h:967
Definition: rig.h:394
int rig_set_dcs_code(RIG *rig, vfo_t vfo, tone_t code)
set the current encoding DCS code
Definition: tones.c:195
Filter definition.
Definition: rig.h:890
Definition: rig.h:731
vfo_t tx_vfo
Definition: rig.h:1444
float f
Definition: rig.h:613
gran_t level_gran[32]
Definition: rig.h:1424
int rig_set_vfo(RIG *rig, vfo_t vfo)
set the current VFO
Definition: rig.c:1100
long token_t
configuration token
Definition: rig.h:501
scan_t
Rig Scan operation.
Definition: rig.h:486
int rig_get_mem_all_cb(RIG *rig, chan_cb_t chan_cb, confval_cb_t parm_cb, char *arg)
get all channel and non-channel data by call-back
Definition: mem.c:1067
float step
Definition: rig.h:543
shortfreq_t xit
Definition: rig.h:946
const char * rig_strlevel(setting_t)
Convert enum RIG_LEVEL_... to alpha string.
Definition: misc.c:516
Definition: rig.h:1014
int rig_model_t
Convenience type definition for rig model.
Definition: riglist.h:530
Definition: rig.h:212
unsigned tx_width
Definition: rig.h:976
gran_t level_gran[32]
Definition: rig.h:1150
pbwidth_t tx_width
Definition: rig.h:937
struct rig_callbacks callbacks
Definition: rig.h:1504
Definition: rig.h:461
Definition: rig.h:416
Definition: rig.h:172
setting_t has_get_level
Definition: rig.h:1145
int low_power
Definition: rig.h:823
int post_write_delay
Definition: rig.h:1139
const char hamlib_version[]
Hamlib release number The version number has the format x.y.z.
Definition: rig.c:80
Definition: rig.h:687
int attenuator[8]
Definition: rig.h:1415
int rig_ext_parm_foreach(RIG *rig, int(*cfunc)(RIG *, const struct confparams *, char *), char *data)
Executes cfunc on all the elements stored in the extparms table The callback cfunc is called until it...
Definition: ext.c:89
const char * dflt
Definition: rig.h:537
setting_t has_set_parm
Definition: rig.h:1148
int rig_send_morse(RIG *rig, vfo_t vfo, const char *msg)
send morse code
Definition: rig.c:2818
const char * cs
Definition: rig.h:615
rig_port_t rig
Definition: rig.h:1330
int rig_mW2power(RIG *rig, float *power, unsigned int mwpower, freq_t freq, rmode_t mode)
conversion utility from absolute in mW to relative range
Definition: rig.c:2385
shortfreq_t max_ifshift
Definition: rig.h:1410
enum rig_status_e status
Definition: rig.h:1124
Definition: rig.h:796
Definition: rig.h:88
rig_port_t port_type
Definition: rig.h:1129
char * dcd_arg
Definition: rig.h:1486
pbwidth_t rig_passband_wide(RIG *rig, rmode_t mode)
get the wide passband of a mode
Definition: rig.c:1057
Definition: rig.h:655
vfo_t vfo
Definition: rig.h:929
Definition: rig.h:185
Definition: rig.h:648
Definition: rig.h:780
Definition: rig.h:247
unsigned rptr_offs
Definition: rig.h:981
Definition: rig.h:95
int rig_set_bank(RIG *rig, vfo_t vfo, int bank)
set the current memory bank
Definition: mem.c:167
freq_range_t tx_range_list1[30]
Definition: rig.h:1178
int rig_scan(RIG *rig, vfo_t vfo, scan_t scan, int ch)
perform Memory/VFO operations
Definition: rig.c:2681
const freq_range_t * rig_get_range(const freq_range_t range_list[], freq_t freq, rmode_t mode)
find the freq_range of freq/mode
Definition: rig.c:2863
Definition: rig.h:245
int mode_list
Definition: rig.h:1445
Definition: rig.h:627
Definition: rig.h:404
int rig_get_freq(RIG *rig, vfo_t vfo, freq_t *freq)
get the frequency of the target VFO
Definition: rig.c:811
int rig_power2mW(RIG *rig, unsigned int *mwpower, float power, freq_t freq, rmode_t mode)
conversion utility from relative range to absolute in mW
Definition: rig.c:2344
Definition: rig.h:662
rig_parm_e
Rig Parameters.
Definition: rig.h:682
Tuning step definition.
Definition: rig.h:855
Definition: rig.h:244
int rig_get_xit(RIG *rig, vfo_t vfo, shortfreq_t *xit)
get the current XIT offset
Definition: rig.c:2106
setting_t rig_has_set_level(RIG *rig, setting_t level)
check settable ability of level settings
Definition: settings.c:273
const char * clone_combo_set
Definition: rig.h:1319
vfo_op_t rig_has_vfo_op(RIG *rig, vfo_op_t op)
check retrieval ability of VFO operations
Definition: rig.c:2586
Definition: rig.h:798
int rig_set_ptt(RIG *rig, vfo_t vfo, ptt_t ptt)
set PTT on/off
Definition: rig.c:1168
Definition: rig.h:520
const char * rig_strfunc(setting_t)
Convert enum RIG_FUNC_... to alpha string.
Definition: misc.c:439
char * vfo_arg
Definition: rig.h:1482
int rig_set_trn(RIG *rig, int trn)
control the transceive mode
Definition: event.c:591
Frequency range.
Definition: rig.h:819
ann_t announces
Definition: rig.h:1412
Definition: rig.h:100
struct cal_table::@13 table[32/*max calibration plots in cal_table_t */]
Definition: rig.h:86
Definition: rig.h:169
int rig_set_conf(RIG *rig, token_t token, const char *val)
set a radio configuration parameter
Definition: conf.c:573
powerstat_t
Radio power state.
Definition: rig.h:427
char * priv
Definition: rig.h:1436
int rig_set_vfo_callback(RIG *rig, vfo_cb_t cb, char *arg)
set the callback for vfo events
Definition: event.c:486
Definition: rig.h:745
Definition: rig.h:89
Definition: rig.h:175
ann_t announces
Definition: rig.h:1165
int vfo_list
Definition: rig.h:1434
struct confparams::@10::@11 n
signed long shortfreq_t
Short frequency type Frequency in Hz restricted to 31bits, suitable for offsets, shifts, etc..
Definition: rig.h:287
int ant_t
Antenna number.
Definition: rig.h:569
void rig_set_debug(enum rig_debug_level_e debug_level)
Change the current debug level.
Definition: debug.c:104
freq_range_t rx_range_list[30]
Definition: rig.h:1397
Definition: rig.h:732
unsigned flags
Definition: rig.h:992
scan_t scan_ops
Definition: rig.h:1168
setting_t has_get_func
Definition: rig.h:1417
signed int i
Definition: rig.h:612
pbwidth_t current_width
Definition: rig.h:1443
setting_t has_get_parm
Definition: rig.h:1421
Definition: rig.h:217
Definition: rig.h:174
Definition: rig.h:689
int rig_get_ext_parm(RIG *rig, token_t token, value_t *val)
get the value of a parm extra parameter
Definition: settings.c:605
const chan_t * rig_lookup_mem_caps(RIG *rig, int ch)
lookup the memory type and capabilities
Definition: mem.c:1215
freq_t freq
Definition: rig.h:931
setting_t rig_has_set_func(RIG *rig, setting_t func)
check ability of radio functions
Definition: settings.c:370
chan_type_t rig_parse_mtype(const char *s)
Convert alpha string to enum RIG_MTYPE_...
Definition: misc.c:747
Definition: rig.h:246
int conf
Definition: rig.h:1363
union confparams::@10 u
pbwidth_t width
Definition: rig.h:933
rmode_t mode
Definition: rig.h:932
Definition: rig.h:488
Definition: rig.h:635
shortfreq_t tuning_step
Definition: rig.h:944
unsigned int tone_t
CTCSS and DCS type definition.
Definition: rig.h:158
freq_t current_freq
Definition: rig.h:1441
ptt_type_t ptt_type
Definition: rig.h:1127
Definition: rig.h:269
Definition: rig.h:407
int rig_send_dtmf(RIG *rig, vfo_t vfo, const char *digits)
send DTMF digits
Definition: rig.c:2727
serial_handshake_e
Serial handshake.
Definition: rig.h:192
Definition: rig.h:792
int high_power
Definition: rig.h:824
Definition: rig.h:562
int rig_set_split_mode(RIG *rig, vfo_t vfo, rmode_t tx_mode, pbwidth_t tx_width)
set the split modes
Definition: rig.c:1721
Definition: rig.h:193
Definition: rig.h:735
shortfreq_t max_rit
Definition: rig.h:1161
Definition: rig.h:634
int rig_set_func(RIG *rig, vfo_t vfo, setting_t func, int status)
activate/de-activate functions of radio
Definition: settings.c:397
Definition: rig.h:211
unsigned vfo
Definition: rig.h:968
Definition: rig.h:420
unsigned mode
Definition: rig.h:971
shortfreq_t pbwidth_t
Passband width, in Hz.
Definition: rig.h:374
Definition: rig.h:173
Channel capability definition.
Definition: rig.h:966
Definition: rig.h:684
Definition: rig.h:101
int rig_set_ctcss_sql(RIG *rig, vfo_t vfo, tone_t tone)
set CTCSS squelch
Definition: tones.c:292
Definition: rig.h:405
shortfreq_t rig_get_resolution(RIG *rig, rmode_t mode)
get the best frequency resolution of the rig
Definition: rig.c:2423
Channel structure.
Definition: rig.h:926
Definition: rig.h:214
Definition: rig.h:1017
Definition: rig.h:754
Definition: rig.h:746
vfo_op_t
VFO operation.
Definition: rig.h:460
Definition: rig.h:468
rptr_shift_t
Repeater shift type.
Definition: rig.h:258
Definition: rig.h:204
int size
Definition: rig.h:1073
Definition: rig.h:489
int rig_setting2idx(setting_t s)
basically convert setting_t expressed 2^n to n
Definition: settings.c:626
Definition: rig.h:630
Extension attribute definition.
Definition: rig.h:911
Definition: rig.h:382
const struct confparams * rig_ext_lookup_tok(RIG *rig, token_t token)
lookup ext token, return pointer to confparams struct.
Definition: ext.c:144
value_t levels[32]
Definition: rig.h:948
int pid
Definition: rig.h:1362
Definition: rig.h:638
Definition: rig.h:785
int rig_set_xit(RIG *rig, vfo_t vfo, shortfreq_t xit)
set the XIT
Definition: rig.c:2061
int rig_set_chan_all(RIG *rig, const channel_t chans[])
set all channel data
Definition: mem.c:899
Definition: rig.h:779
int attenuator[8]
Definition: rig.h:1160
setting_t rig_has_get_parm(RIG *rig, setting_t parm)
check retrieval ability of parameter settings
Definition: settings.c:297
Universal approach for passing values.
Definition: rig.h:611
Definition: rig.h:91
Definition: rig.h:521
int rig_get_split_mode(RIG *rig, vfo_t vfo, rmode_t *tx_mode, pbwidth_t *tx_width)
get the current split modes
Definition: rig.c:1795
Definition: rig.h:644
setting_t has_set_parm
Definition: rig.h:1422
Definition: rig.h:637
Definition: rig.h:463
int retry
Definition: rig.h:1141
unsigned ant
Definition: rig.h:969
int timeout
Definition: rig.h:1140
freq_cb_t freq_event
Definition: rig.h:1477
Definition: rig.h:778
const tone_t * dcs_list
Definition: rig.h:1157
vfo_t current_vfo
Definition: rig.h:1433
struct rig_state state
Definition: rig.h:1503
Rig data structure.
Definition: rig.h:1118
int rig_get_ptt(RIG *rig, vfo_t vfo, ptt_t *ptt)
get the status of the PTT
Definition: rig.c:1240
int rig_type
Definition: rig.h:1126
hamlib_port_t pttport
Definition: rig.h:1391
freq_t end
Definition: rig.h:821
Definition: rig.h:750
dcd_type_t
DCD type.
Definition: rig.h:389
Definition: rig.h:737
int rig_reset(RIG *rig, reset_t reset)
reset the radio
Definition: rig.c:2510
token_t token
Definition: rig.h:912
rmode_t modes
Definition: rig.h:822
pltune_cb_t pltune
Definition: rig.h:1487
int iface
Definition: rig.h:1364
Port definition.
Definition: rig.h:1328
setting_t rig_parse_parm(const char *s)
Convert alpha string to RIG_PARM_...
Definition: misc.c:551
Definition: rig.h:216
tone_t dcs_code
Definition: rig.h:951
char * s
Definition: rig.h:614
setting_t rig_has_set_parm(RIG *rig, setting_t parm)
check settable ability of parameter settings
Definition: settings.c:322
struct filter_list filters[42]
Definition: rig.h:1402
meter_level_e
Level display meters.
Definition: rig.h:596
chan_type_t
Memory channel type definition.
Definition: rig.h:1011
setting_t has_set_level
Definition: rig.h:1420
struct filter_list filters[42]
Definition: rig.h:1183
Definition: rig.h:116
Definition: rig.h:396
Definition: rig.h:633
int channel_num
Definition: rig.h:927
setting_t rig_has_get_func(RIG *rig, setting_t func)
check ability of radio functions
Definition: settings.c:346
Definition: rig.h:210
Definition: rig.h:753
rig_status_e
Development status of the backend.
Definition: rig.h:242
Definition: rig.h:171
Definition: rig.h:1018
int rig_set_ext_parm(RIG *rig, token_t token, value_t val)
set a radio parm extra parameter
Definition: settings.c:580
vprintf_cb_t rig_set_debug_callback(vprintf_cb_t cb, char *arg)
set callback to handle debug messages
Definition: debug.c:192
const struct confparams * rig_confparam_lookup(RIG *rig, const char *name)
lookup a confparam struct
Definition: conf.c:511
Definition: rig.h:259
Definition: rig.h:787
int rig_set_mem_all(RIG *rig, const channel_t chans[], const struct confparams cfgps[], const value_t vals[])
set all channel and non-channel data
Definition: mem.c:1116
int timeout
Definition: rig.h:1340
Definition: rig.h:632
Definition: rig.h:98
Definition: rig.h:643
Definition: rig.h:97
shortfreq_t max_rit
Definition: rig.h:1408
const char * rig_strvfop(vfo_op_t op)
Convert enum RIG_OP_... to alpha string.
Definition: misc.c:628
Definition: rig.h:1016
freq_range_t rx_range_list2[30]
Definition: rig.h:1179
setting_t rig_parse_level(const char *s)
Convert alpha string to enum RIG_LEVEL_...
Definition: misc.c:498
const tone_t * ctcss_list
Definition: rig.h:1156
Definition: rig.h:439
Definition: rig.h:1019
rmode_t modes
Definition: rig.h:856
Definition: rig.h:220
Definition: rig.h:381
int rig_set_mem(RIG *rig, vfo_t vfo, int ch)
set the current memory channel number
Definition: mem.c:73
int itu_region
Definition: rig.h:1396
int poll_interval
Definition: rig.h:1440
shortfreq_t max_xit
Definition: rig.h:1162
Definition: rig.h:417
Definition: rig.h:588
Definition: rig.h:473
unsigned split
Definition: rig.h:978
int rig_open(RIG *rig)
open the communication to the rig
Definition: rig.c:453
Definition: rig.h:557
int serial_data_bits
Definition: rig.h:1133
unsigned rit
Definition: rig.h:983
int rig_get_dcs_sql(RIG *rig, vfo_t vfo, tone_t *code)
get the current DCS code
Definition: tones.c:430
Definition: rig.h:752
const char * rig_strmtype(chan_type_t mtype)
Convert enum RIG_MTYPE_... to alpha string.
Definition: misc.c:766
struct tuning_step_list tuning_steps[20]
Definition: rig.h:1182
agc_level_e
AGC delay settings.
Definition: rig.h:583
Definition: rig.h:464
Definition: rig.h:782
Definition: rig.h:739
Definition: rig.h:441
Rig state containing live data and customized fields.
Definition: rig.h:1386
Definition: rig.h:794
Definition: rig.h:392
Definition: rig.h:729
shortfreq_t rit
Definition: rig.h:945
int hold_decode
Definition: rig.h:1432
Definition: rig.h:466
Definition: rig.h:561
Definition: rig.h:90
int transceive
Definition: rig.h:1439
char * product
Definition: rig.h:1367
Definition: rig.h:440
Definition: rig.h:119
Definition: rig.h:494
Definition: rig.h:641
Definition: rig.h:428
ann_t
Announce.
Definition: rig.h:555
const char * rig_strparm(setting_t)
Convert enum RIG_PARM_... to alpha string.
Definition: misc.c:569
int rig_get_rptr_shift(RIG *rig, vfo_t vfo, rptr_shift_t *rptr_shift)
get the current repeater shift
Definition: rig.c:1446
rig_level_e
Rig Level Settings.
Definition: rig.h:626
int rig_cleanup(RIG *rig)
release a rig handle and free associated memory
Definition: rig.c:716
RIG * rig_init(rig_model_t rig_model)
allocate a new RIG handle
Definition: rig.c:269
int chan_desc_sz
Definition: rig.h:1173
Definition: rig.h:755
Definition: rig.h:523
pbwidth_t rig_passband_normal(RIG *rig, rmode_t mode)
get the normal passband of a mode
Definition: rig.c:981
Definition: rig.h:99
Definition: rig.h:218
Definition: rig.h:631
const char hamlib_copyright[]
Hamlib copyright notice.
Definition: rig.c:85
unsigned xit
Definition: rig.h:984
dcd_type_t dcd_type
Definition: rig.h:1128
int rig_set_rptr_shift(RIG *rig, vfo_t vfo, rptr_shift_t rptr_shift)
set the repeater shift
Definition: rig.c:1402
Definition: rig.h:166
int serial_stop_bits
Definition: rig.h:1134
Definition: rig.h:260
setting_t has_set_level
Definition: rig.h:1146
char * ptt_arg
Definition: rig.h:1484
int rig_set_pltune_callback(RIG *rig, pltune_cb_t cb, char *arg)
set the callback for pipelined tuning module
Definition: event.c:566
const char * name
Definition: rig.h:534
int scan_group
Definition: rig.h:953
Definition: rig.h:658
int rig_ext_level_foreach(RIG *rig, int(*cfunc)(RIG *, const struct confparams *, char *), char *data)
Executes cfunc on all the elements stored in the extlevels table The callback cfunc is called until i...
Definition: ext.c:61
Definition: rig.h:628
int rig_set_parm(RIG *rig, setting_t parm, value_t val)
set a radio parameter
Definition: settings.c:194
Definition: rig.h:170
cal_table_t str_cal
Definition: rig.h:1185
reset_t
Reset operation.
Definition: rig.h:436
int rig_get_rptr_offs(RIG *rig, vfo_t vfo, shortfreq_t *rptr_offs)
get the current repeater offset
Definition: rig.c:1536
Definition: rig.h:102
Definition: rig.h:184
setting_t rig_parse_func(const char *s)
Convert alpha string to enum RIG_FUNC_...
Definition: misc.c:421
Definition: rig.h:661
rig_errcode_e
Hamlib error codes Error code definition that can be returned by the Hamlib functions. Unless stated otherwise, Hamlib functions return the negative value of rig_errcode_e definitions in case of error, or 0 when successful.
Definition: rig.h:84
Definition: rig.h:652
Definition: rig.h:683
token_t token
Definition: rig.h:533
Definition: rig.h:783
int rig_get_mode(RIG *rig, vfo_t vfo, rmode_t *mode, pbwidth_t *width)
get the mode of the target VFO
Definition: rig.c:926
Hamlib rig(radio) model definitions.
rig_conf_e
parameter types
Definition: rig.h:519
Definition: rig.h:467
const char * mfg_name
Definition: rig.h:1121
freq_t start
Definition: rig.h:820
int rig_get_ant(RIG *rig, vfo_t vfo, ant_t *ant)
get the current antenna
Definition: rig.c:2292
Definition: rig.h:726
const char * copyright
Definition: rig.h:1123
enum rig_port_e rig_port_t
Port type.
setting_t levels
Definition: rig.h:986
rmode_t tx_mode
Definition: rig.h:936
freq_range_t tx_range_list[30]
Definition: rig.h:1398
const char * rig_strstatus(enum rig_status_e status)
Convert enum RIG_STATUS_... to printable string.
Definition: misc.c:239
rig_func_e
Rig Function Settings.
Definition: rig.h:725
int rig_set_dcs_sql(RIG *rig, vfo_t vfo, tone_t code)
set the current DCS code
Definition: tones.c:386
unsigned ctcss_tone
Definition: rig.h:987
const char * model_name
Definition: rig.h:1120
ptt_type_t
PTT type.
Definition: rig.h:414
Definition: rig.h:743
Definition: rig.h:522
setting_t funcs
Definition: rig.h:947
int write_delay
Definition: rig.h:1337
Definition: rig.h:205
int rig_recv_dtmf(RIG *rig, vfo_t vfo, char *digits, int *length)
receive DTMF digits
Definition: rig.c:2773
Calibration table struct.
Definition: rig.h:1072
Definition: rig.h:559
Definition: rig.h:85
serial_parity_e
Serial parity.
Definition: rig.h:181
int rig_set_mode_callback(RIG *rig, mode_cb_t cb, char *arg)
set the callback for mode events
Definition: event.c:460
int rig_get_parm(RIG *rig, setting_t parm, value_t *val)
get the value of a parameter
Definition: settings.c:221
freq_range_t rx_range_list1[30]
Definition: rig.h:1177
Definition: rig.h:462
Definition: rig.h:793
tone_t ctcss_tone
Definition: rig.h:949
value_t val
Definition: rig.h:913
setting_t has_get_level
Definition: rig.h:1419
Definition: rig.h:94
gran_t parm_gran[32]
Definition: rig.h:1425
int rig_get_split_vfo(RIG *rig, vfo_t vfo, split_t *split, vfo_t *tx_vfo)
get the current split mode
Definition: rig.c:1923
int alt
Definition: rig.h:1365
int end
Definition: rig.h:1037
rmode_t
Radio mode.
Definition: rig.h:777
rmode_t rig_parse_mode(const char *s)
Convert alpha string to enum RIG_MODE.
Definition: misc.c:291
Definition: rig.h:221
int rig_get_ctcss_sql(RIG *rig, vfo_t vfo, tone_t *tone)
get the current CTCSS squelch
Definition: tones.c:341
shortfreq_t ts
Definition: rig.h:857
Definition: rig.h:556
int pin
Definition: rig.h:1355
hamlib_port_t rigport
Definition: rig.h:1390
rig_model_t rig_model
Definition: rig.h:1119
char * obj
Definition: rig.h:1437
rptr_shift_t rig_parse_rptr_shift(const char *s)
Convert alpha char to enum RIG_RPT_SHIFT_...
Definition: misc.c:716
Definition: rig.h:629
int rig_get_chan_all_cb(RIG *rig, chan_cb_t chan_cb, char *arg)
get all channel data, by callback
Definition: mem.c:865
int serial_rate_min
Definition: rig.h:1131
unsigned tx_mode
Definition: rig.h:975
int rig_get_powerstat(RIG *rig, powerstat_t *status)
get the on/off status of the radio
Definition: rig.c:2484
pbwidth_t width
Definition: rig.h:892
int rig_probe_all(hamlib_port_t *port, rig_probe_func_t cfunc, char *data)
try to guess rigs
Definition: rig.c:2562
const char * rig_strrmode(rmode_t mode)
Convert enum RIG_MODE to alpha string.
Definition: misc.c:308
Definition: rig.h:651
Definition: rig.h:740
int rig_get_trn(RIG *rig, int *trn)
get the current transceive mode
Definition: event.c:705
unsigned rptr_shift
Definition: rig.h:980
shortfreq_t max_ifshift
Definition: rig.h:1163
char * pltune_arg
Definition: rig.h:1488
int rig_get_ctcss_tone(RIG *rig, vfo_t vfo, tone_t *tone)
get the current CTCSS sub-tone frequency
Definition: tones.c:150
Definition: rig.h:734
Definition: rig.h:789
const char * rig_strvfo(vfo_t vfo)
Convert enum RIG_VFO_... to alpha string.
Definition: misc.c:363
Definition: rig.h:495
split_t
Split mode.
Definition: rig.h:267
int rig_set_freq(RIG *rig, vfo_t vfo, freq_t freq)
set the frequency of the target VFO
Definition: rig.c:756
chan_type_t type
Definition: rig.h:1038
Definition: rig.h:558
scan_t rig_parse_scan(const char *s)
Convert alpha string to enum RIG_SCAN_...
Definition: misc.c:664
int rig_get_split_freq(RIG *rig, vfo_t vfo, freq_t *tx_freq)
get the current split frequencies
Definition: rig.c:1650
Definition: rig.h:96
Callback functions and args for rig event.
Definition: rig.h:1476
const char * tooltip
Definition: rig.h:536
Definition: rig.h:165
Definition: rig.h:469
Definition: rig.h:406
Definition: rig.h:646
Definition: rig.h:474
int rig_mem_count(RIG *rig)
get memory channel count
Definition: mem.c:1267
int write_delay
Definition: rig.h:1138
Memory channel list definition.
Definition: rig.h:1035
Definition: rig.h:167
Definition: rig.h:797
int rig_set_mode(RIG *rig, vfo_t vfo, rmode_t mode, pbwidth_t width)
set the mode of the target VFO
Definition: rig.c:867
unsigned ctcss_sql
Definition: rig.h:988
Definition: rig.h:688
level/parm granularity definition
Definition: rig.h:1061
Definition: rig.h:182
int stop_bits
Definition: rig.h:1348
rig_model_t rig_probe(hamlib_port_t *port)
try to guess a rig
Definition: rig.c:2537
int post_write_delay
Definition: rig.h:1338
int transceive
Definition: rig.h:1170
Definition: rig.h:799
shortfreq_t rptr_offs
Definition: rig.h:943
unsigned freq
Definition: rig.h:970
int rig_set_ant(RIG *rig, vfo_t vfo, ant_t ant)
set the antenna
Definition: rig.c:2247
ptt_t
PTT status.
Definition: rig.h:403
float min
Definition: rig.h:541
vfo_op_t rig_parse_vfo_op(const char *s)
Convert alpha string to enum RIG_OP_...
Definition: misc.c:610
int rig_close(RIG *rig)
close the communication to the rig
Definition: rig.c:617
int bank_num
Definition: rig.h:928
Definition: rig.h:685
Definition: rig.h:686
Definition: rig.h:747
unsigned tx_freq
Definition: rig.h:974
int rig_set_freq_callback(RIG *rig, freq_cb_t cb, char *arg)
set the callback for freq events
Definition: event.c:434
int start
Definition: rig.h:1036
rmode_t modes
Definition: rig.h:891
unsigned dcs_code
Definition: rig.h:989
struct freq_range_list freq_range_t
Frequency range.
struct tuning_step_list tuning_steps[20]
Definition: rig.h:1400
Definition: rig.h:183
Definition: rig.h:120
dcd_e
DCD status.
Definition: rig.h:380
Definition: rig.h:395
vfo_t rig_parse_vfo(const char *s)
Convert alpha string to enum RIG_VFO_...
Definition: misc.c:346
rig_type_t
Rig type flags.
Definition: rig.h:209
int flags
Definition: rig.h:954
char * freq_arg
Definition: rig.h:1478
char channel_desc[30]
Definition: rig.h:955
Definition: rig.h:471
FILE * rig_set_debug_file(FILE *stream)
change stderr to some different output
Definition: debug.c:206
ptt_type_t ptt
Definition: rig.h:1331
int preamp[8]
Definition: rig.h:1159
Definition: rig.h:742
Definition: rig.h:749
int vfo_t
VFO definition.
Definition: rig.h:317
int rig_get_level(RIG *rig, vfo_t vfo, setting_t level, value_t *val)
get the value of a level
Definition: settings.c:130
Definition: rig.h:642
Definition: rig.h:757
token_t rig_token_lookup(RIG *rig, const char *name)
lookup a token id
Definition: conf.c:548
unsigned width
Definition: rig.h:972
Definition: rig.h:786
ptt_cb_t ptt_event
Definition: rig.h:1483
struct rig_caps * caps
Definition: rig.h:1502
Definition: rig.h:1013
Definition: rig.h:390
Definition: rig.h:470
int rig_need_debug(enum rig_debug_level_e debug_level)
Useful for dump_hex, etc.
Definition: debug.c:123
Definition: rig.h:421
Definition: rig.h:730
enum rig_conf_e type
Definition: rig.h:538
Definition: rig.h:118
vfo_t vfo
Definition: rig.h:825
Definition: rig.h:93
int rig_get_dcs_code(RIG *rig, vfo_t vfo, tone_t *code)
get the current encoding DCS code
Definition: tones.c:239
The Rig structure.
Definition: rig.h:1501
const char * rig_strptrshift(rptr_shift_t)
convert enum RIG_RPT_SHIFT_... to printable character
Definition: misc.c:701
freq_t tx_freq
Definition: rig.h:935
int data_bits
Definition: rig.h:1347
Definition: rig.h:748
gran_t parm_gran[32]
Definition: rig.h:1151
const struct confparams * cfgparams
Definition: rig.h:1187
vfo_t tx_vfo
Definition: rig.h:940
mode_cb_t mode_event
Definition: rig.h:1479
Definition: rig.h:790
Definition: rig.h:472
Definition: rig.h:650
Definition: rig.h:195
int rig_get_chan_all(RIG *rig, channel_t chans[])
get all channel data
Definition: mem.c:935
int rig_set_mem_all_cb(RIG *rig, chan_cb_t chan_cb, confval_cb_t parm_cb, char *arg)
set all channel and non-channel data by call-back
Definition: mem.c:1017
Definition: rig.h:418
Definition: rig.h:92
tone_t dcs_sql
Definition: rig.h:952
Definition: rig.h:1015
int rig_set_level(RIG *rig, vfo_t vfo, setting_t level, value_t val)
set a radio level setting
Definition: settings.c:76
Definition: rig.h:733
int rig_get_ext_level(RIG *rig, vfo_t vfo, token_t token, value_t *val)
get the value of a level extra parameter
Definition: settings.c:536
enum serial_handshake_e serial_handshake
Definition: rig.h:1136
cal_table_t str_cal
Definition: rig.h:1404
dcd_cb_t dcd_event
Definition: rig.h:1485
Definition: rig.h:560
Definition: rig.h:491
const struct confparams * extlevels
Definition: rig.h:1154
Definition: rig.h:492
Definition: rig.h:524
unsigned ext_levels
Definition: rig.h:994
split_t split
Definition: rig.h:939
int rig_get_mem_all(RIG *rig, channel_t chans[], const struct confparams cfgps[], value_t vals[])
get all channel and non-channel data
Definition: mem.c:1168
Definition: rig.h:243
enum dcd_e dcd_t
DCD status.
Definition: rig.h:87
int targetable_vfo
Definition: rig.h:1169
serial_control_state_e
Serial control state.
Definition: rig.h:202
Definition: rig.h:653
Definition: rig.h:261
freq_range_t tx_range_list2[30]
Definition: rig.h:1180
Definition: rig.h:639
Definition: rig.h:784
dcd_type_t dcd
Definition: rig.h:1332
pbwidth_t rig_passband_narrow(RIG *rig, rmode_t mode)
get the narrow passband of a mode
Definition: rig.c:1015
int rig_vfo_op(RIG *rig, vfo_t vfo, vfo_op_t op)
perform Memory/VFO operations
Definition: rig.c:2610
shortfreq_t max_xit
Definition: rig.h:1409
Definition: rig.h:465
Definition: rig.h:203
Definition: rig.h:756
Definition: rig.h:215
int retry
Definition: rig.h:1341
const char * combostr[8]
Definition: rig.h:546
Definition: rig.h:659
int serial_rate_max
Definition: rig.h:1132
int rig_set_dcd_callback(RIG *rig, dcd_cb_t cb, char *arg)
set the callback for dcd events
Definition: event.c:538
value_t max
Definition: rig.h:1063
int preamp[8]
Definition: rig.h:1414
Definition: rig.h:640
unsigned scan_group
Definition: rig.h:991
int rig_set_chan_all_cb(RIG *rig, chan_cb_t chan_cb, char *arg)
set all channel data, by callback
Definition: mem.c:825
setting_t has_get_func
Definition: rig.h:1143
int rig_get_ts(RIG *rig, vfo_t vfo, shortfreq_t *ts)
get the current Tuning Step
Definition: rig.c:2198
Definition: rig.h:429
Definition: rig.h:438
int bank_qty
Definition: rig.h:1172
const char * rig_strscan(scan_t scan)
Convert enum RIG_SCAN_... to alpha string.
Definition: misc.c:683
int rig_set_split_vfo(RIG *rig, vfo_t vfo, split_t split, vfo_t tx_vfo)
set the split mode
Definition: rig.c:1869
int rig_set_powerstat(RIG *rig, powerstat_t status)
turn on/off the radio
Definition: rig.c:2458
char * vendor_name
Definition: rig.h:1366
int ant
Definition: rig.h:930
Definition: rig.h:194
setting_t has_set_func
Definition: rig.h:1144
Configuration parameter structure.
Definition: rig.h:532
tone_t ctcss_sql
Definition: rig.h:950
int rig_set_ts(RIG *rig, vfo_t vfo, shortfreq_t ts)
set the Tuning Step
Definition: rig.c:2153
Definition: rig.h:164
int fd
Definition: rig.h:1334
Definition: rig.h:736
Definition: rig.h:738
int rig_set_rptr_offs(RIG *rig, vfo_t vfo, shortfreq_t rptr_offs)
set the repeater offset
Definition: rig.c:1491
int rig_set_channel(RIG *rig, const channel_t *chan)
set channel data
Definition: mem.c:503
Definition: rig.h:487
Definition: rig.h:744
Definition: rig.h:186
Definition: rig.h:636
const char * label
Definition: rig.h:535
int val
Definition: rig.h:1076
int rig_set_rit(RIG *rig, vfo_t vfo, shortfreq_t rit)
set the RIT
Definition: rig.c:1971
vfo_op_t vfo_ops
Definition: rig.h:1167
Definition: rig.h:647
Definition: rig.h:415
Definition: rig.h:660
ant_t ant
Definition: rig.h:826
struct confparams::@10::@12 c
int rig_set_ctcss_tone(RIG *rig, vfo_t vfo, tone_t tone)
set CTCSS sub-tone frequency
Definition: tones.c:101
const char * priv
Definition: rig.h:1188
rig_port_e
Port type.
Definition: rig.h:163
int rig_set_split_freq(RIG *rig, vfo_t vfo, freq_t tx_freq)
set the split frequencies
Definition: rig.c:1582
Definition: rig.h:168
Definition: rig.h:121
hamlib_port_t dcdport
Definition: rig.h:1392
channel_cap_t mem_caps
Definition: rig.h:1039
enum serial_parity_e serial_parity
Definition: rig.h:1135
int rig_get_rit(RIG *rig, vfo_t vfo, shortfreq_t *rit)
get the current RIT offset
Definition: rig.c:2016
Definition: rig.h:791
setting_t has_get_parm
Definition: rig.h:1147
Definition: rig.h:393
int rig_get_channel(RIG *rig, channel_t *chan)
get channel data
Definition: mem.c:626
int rig_set_ptt_callback(RIG *rig, ptt_cb_t cb, char *arg)
set the callback for ptt events
Definition: event.c:512
const struct confparams * rig_ext_lookup(RIG *rig, const char *name)
lookup ext token by its name, return pointer to confparams struct.
Definition: ext.c:119
int comm_state
Definition: rig.h:1435
const char * rig_get_info(RIG *rig)
get general information from the radio
Definition: rig.c:2891
Definition: rig.h:1012
float max
Definition: rig.h:542
int rig_get_vfo(RIG *rig, vfo_t *vfo)
get the current VFO
Definition: rig.c:1135
void rig_debug(enum rig_debug_level_e debug_level, const char *fmt,...)
Default is debugging messages are done through stderr.
Definition: debug.c:133
const struct confparams * extparms
Definition: rig.h:1153
rmode_t current_mode
Definition: rig.h:1442
unsigned dcs_sql
Definition: rig.h:990
const char * clone_combo_get
Definition: rig.h:1320
Definition: rig.h:419
char * mode_arg
Definition: rig.h:1480
const char * version
Definition: rig.h:1122
Definition: rig.h:788
Definition: rig.h:219
rptr_shift_t rptr_shift
Definition: rig.h:942
Definition: rig.h:493
double vfo_comp
Definition: rig.h:1394
int rate
Definition: rig.h:1346
Definition: rig.h:654
Definition: rig.h:490

Generated by doxygen 1.8.7

Hamlib documentation for version 1.2.15.3 -- Tue Aug 26 2014 02:01:17
Project page: http://www.hamlib.org