Hamlib  4.0~git
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 #include <inttypes.h>
30 #include <time.h>
31 
32 /* Rig list is in a separate file so as not to mess up w/ this one */
33 #include <hamlib/riglist.h>
34 
48 /* __BEGIN_DECLS should be used at the beginning of your declarations,
49  * so that C++ compilers don't mangle their names. Use __END_DECLS at
50  * the end of C declarations. */
51 #undef __BEGIN_DECLS
52 #undef __END_DECLS
53 #ifdef __cplusplus
54 # define __BEGIN_DECLS extern "C" {
55 # define __END_DECLS }
56 #else
57 # define __BEGIN_DECLS /* empty */
58 # define __END_DECLS /* empty */
59 #endif
60 
61 /* HAMLIB_PARAMS is a macro used to wrap function prototypes, so that compilers
62  * that don't understand ANSI C prototypes still work, and ANSI C
63  * compilers can issue warnings about type mismatches. */
64 #undef HAMLIB_PARAMS
65 #if defined (__STDC__) \
66  || defined (_AIX) \
67  || (defined (__mips) && defined (_SYSTYPE_SVR4)) \
68  || defined(__CYGWIN__) \
69  || defined(_WIN32) \
70  || defined(__cplusplus)
71 # define HAMLIB_PARAMS(protos) protos
72 # define rig_ptr_t void *
73 # define amp_ptr_t void *
74 #else
75 # define HAMLIB_PARAMS(protos) ()
76 # define rig_ptr_t char *
77 # define amp_ptr_t char *
78 #endif
79 
80 #include <hamlib/rig_dll.h>
81 
82 #ifndef SWIGLUA
83 #define CONSTANT_64BIT_FLAG(BIT) (1ull << (BIT))
84 #else
85 /* SWIG's older Lua generator doesn't grok ull due to Lua using a
86  double-precision floating point type internally for number
87  representations (max 53 bits of precision) so makes a string
88  constant from a constant number literal using ull */
89 // #define CONSTANT_64BIT_FLAG(BIT) (1 << (BIT))
90 // #define SWIGLUAHIDE
91 /* But this appears to have been fixed so we'll use the correct one now
92  If you have the older version of SWIG comment out this line and use
93  the two above */
94 // This 1ul definition works on swig 4.0.1 and lua 5.3.5
95 #define CONSTANT_64BIT_FLAG(BIT) (1ul << (BIT))
96 #endif
97 
98 __BEGIN_DECLS
99 
100 extern HAMLIB_EXPORT_VAR(const char) hamlib_version[];
101 extern HAMLIB_EXPORT_VAR(const char) hamlib_copyright[];
102 extern HAMLIB_EXPORT_VAR(const char *) hamlib_version2;
103 extern HAMLIB_EXPORT_VAR(const char *) hamlib_copyright2;
104 
112  RIG_OK = 0,
130 };
131 
135 #define NETRIGCTL_RET "RPRT "
136 
137 
152 };
153 
154 
155 /* --------------- Rig capabilities -----------------*/
156 
157 /* Forward struct references */
158 
159 struct rig;
160 struct rig_state;
161 
165 typedef struct rig RIG;
166 
167 #define RIGNAMSIZ 30
168 #define RIGVERSIZ 8
169 #define FILPATHLEN 512
170 #define FRQRANGESIZ 30
171 #define MAXCHANDESC 30 /* describe channel eg: "WWV 5Mhz" */
172 #define TSLSTSIZ 20 /* max tuning step list size, zero ended */
173 #define FLTLSTSIZ 60 /* max mode/filter list size, zero ended */
174 #define MAXDBLSTSIZ 8 /* max preamp/att levels supported, zero ended */
175 #define CHANLSTSIZ 16 /* max mem_list size, zero ended */
176 #define MAX_CAL_LENGTH 32 /* max calibration plots in cal_table_t */
177 
178 
189 typedef unsigned int tone_t;
190 
191 
195 typedef enum rig_port_e {
210 } rig_port_t;
211 
212 
222 };
223 
224 
232 };
233 
234 
242 };
243 
244 
248 typedef enum {
249  RIG_FLAG_RECEIVER = (1 << 1),
250  RIG_FLAG_TRANSMITTER = (1 << 2),
251  RIG_FLAG_SCANNER = (1 << 3),
252  RIG_FLAG_MOBILE = (1 << 4),
253  RIG_FLAG_HANDHELD = (1 << 5),
254  RIG_FLAG_COMPUTER = (1 << 6),
255  RIG_FLAG_TRUNKING = (1 << 7),
256  RIG_FLAG_APRS = (1 << 8),
257  RIG_FLAG_TNC = (1 << 9),
258  RIG_FLAG_DXCLUSTER = (1 << 10),
259  RIG_FLAG_TUNER = (1 << 11)
260 } rig_type_t;
261 
262 #define RIG_FLAG_TRANSCEIVER (RIG_FLAG_RECEIVER|RIG_FLAG_TRANSMITTER)
263 #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)
264 
265 #define RIG_TYPE_OTHER 0
266 #define RIG_TYPE_TRANSCEIVER RIG_FLAG_TRANSCEIVER
267 #define RIG_TYPE_HANDHELD (RIG_FLAG_TRANSCEIVER|RIG_FLAG_HANDHELD)
268 #define RIG_TYPE_MOBILE (RIG_FLAG_TRANSCEIVER|RIG_FLAG_MOBILE)
269 #define RIG_TYPE_RECEIVER RIG_FLAG_RECEIVER
270 #define RIG_TYPE_PCRECEIVER (RIG_FLAG_COMPUTER|RIG_FLAG_RECEIVER)
271 #define RIG_TYPE_SCANNER (RIG_FLAG_SCANNER|RIG_FLAG_RECEIVER)
272 #define RIG_TYPE_TRUNKSCANNER (RIG_TYPE_SCANNER|RIG_FLAG_TRUNKING)
273 #define RIG_TYPE_COMPUTER (RIG_FLAG_TRANSCEIVER|RIG_FLAG_COMPUTER)
274 #define RIG_TYPE_TUNER RIG_FLAG_TUNER
275 
276 
286  /* RIG_STATUS_NEW * *!< Initial release of code
287  * !! Use of RIG_STATUS_NEW is deprecated. Do not use it anymore */
288 };
289 
294 #define RIG_STATUS_NEW RIG_STATUS_UNTESTED
295 
296 
300 typedef enum {
304 } rptr_shift_t;
305 
306 
310 typedef enum {
313 } split_t;
314 
315 
321 typedef double freq_t;
322 
326 #define PRIfreq "f"
327 
331 #define SCNfreq "lf"
332 #define FREQFMT SCNfreq
333 
334 
340 typedef signed long shortfreq_t;
341 
342 #define Hz(f) ((freq_t)(f))
343 #define kHz(f) ((freq_t)((f)*(freq_t)1000))
344 #define MHz(f) ((freq_t)((f)*(freq_t)1000000))
345 #define GHz(f) ((freq_t)((f)*(freq_t)1000000000))
346 
347 #define s_Hz(f) ((shortfreq_t)(f))
348 #define s_kHz(f) ((shortfreq_t)((f)*(shortfreq_t)1000))
349 #define s_MHz(f) ((shortfreq_t)((f)*(shortfreq_t)1000000))
350 #define s_GHz(f) ((shortfreq_t)((f)*(shortfreq_t)1000000000))
351 
352 #define RIG_FREQ_NONE Hz(0)
353 
354 
369 typedef unsigned int vfo_t;
370 
373 #define RIG_VFO_N(n) (1<<(n))
374 
375 #define RIG_VFO_NONE 0
376 
378 #define RIG_VFO_A RIG_VFO_N(0)
379 
381 #define RIG_VFO_B RIG_VFO_N(1)
382 
384 #define RIG_VFO_C RIG_VFO_N(2)
385 
386 // Any addition VFOS need to go from 3-20
387 // To maintain backward compatibility these values cannot change
388 
390 #define RIG_VFO_SUB_A RIG_VFO_N(21)
391 
393 #define RIG_VFO_SUB_B RIG_VFO_N(22)
394 
396 #define RIG_VFO_MAIN_A RIG_VFO_N(23)
397 
399 #define RIG_VFO_MAIN_B RIG_VFO_N(24)
400 
402 #define RIG_VFO_SUB RIG_VFO_N(25)
403 
405 #define RIG_VFO_MAIN RIG_VFO_N(26)
406 
408 #define RIG_VFO_VFO RIG_VFO_N(27)
409 
411 #define RIG_VFO_MEM RIG_VFO_N(28)
412 
414 #define RIG_VFO_CURR RIG_VFO_N(29)
415 
416 #define RIG_VFO_TX_FLAG RIG_VFO_N(30)
417 // we and also use RIG_VFO_N(31) if needed
418 
419 // Misc VFO Macros
420 
421 #define RIG_VFO_TX_VFO(v) ((v)|RIG_VFO_TX_FLAG)
422 
424 #define RIG_VFO_TX RIG_VFO_TX_VFO(RIG_VFO_CURR)
425 
427 #define RIG_VFO_RX RIG_VFO_CURR
428 
429 
430 /*
431  * targetable bitfields, for internal use.
432  * RIG_TARGETABLE_PURE means a pure targetable radio on every command
433  */
434 #define RIG_TARGETABLE_NONE 0
435 #define RIG_TARGETABLE_FREQ (1<<0)
436 #define RIG_TARGETABLE_MODE (1<<1)
437 #define RIG_TARGETABLE_PURE (1<<2)
438 #define RIG_TARGETABLE_TONE (1<<3)
439 #define RIG_TARGETABLE_FUNC (1<<4)
440 #define RIG_TARGETABLE_ALL 0x7fffffff
441 
442 
443 #define RIG_PASSBAND_NORMAL s_Hz(0)
444 #define RIG_PASSBAND_NOCHANGE s_Hz(-1)
445 
451 
452 
456 typedef enum dcd_e {
459 } dcd_t;
460 
461 
467 typedef enum {
477 } dcd_type_t;
478 
479 
483 typedef enum {
488 } ptt_t;
489 
490 
496 typedef enum {
506 } ptt_type_t;
507 
508 
512 typedef enum {
514  RIG_POWER_ON = (1 << 0),
515  RIG_POWER_STANDBY = (1 << 1),
516  RIG_POWER_OPERATE = (1 << 2),
517  RIG_POWER_UNKNOWN = (1 << 3)
518 } powerstat_t;
519 
520 
524 typedef enum {
526  RIG_RESET_SOFT = (1 << 0),
527  RIG_RESET_VFO = (1 << 1),
528  RIG_RESET_MCALL = (1 << 2),
529  RIG_RESET_MASTER = (1 << 3)
530 } reset_t;
531 
532 
548 typedef enum {
550  RIG_OP_CPY = (1 << 0),
551  RIG_OP_XCHG = (1 << 1),
552  RIG_OP_FROM_VFO = (1 << 2),
553  RIG_OP_TO_VFO = (1 << 3),
554  RIG_OP_MCL = (1 << 4),
555  RIG_OP_UP = (1 << 5),
556  RIG_OP_DOWN = (1 << 6),
557  RIG_OP_BAND_UP = (1 << 7),
558  RIG_OP_BAND_DOWN = (1 << 8),
559  RIG_OP_LEFT = (1 << 9),
560  RIG_OP_RIGHT = (1 << 10),
561  RIG_OP_TUNE = (1 << 11),
562  RIG_OP_TOGGLE = (1 << 12)
563 } vfo_op_t;
564 
565 
574 typedef enum {
576  RIG_SCAN_MEM = (1 << 0),
577  RIG_SCAN_SLCT = (1 << 1),
578  RIG_SCAN_PRIO = (1 << 2),
579  RIG_SCAN_PROG = (1 << 3),
580  RIG_SCAN_DELTA = (1 << 4),
581  RIG_SCAN_VFO = (1 << 5),
582  RIG_SCAN_PLT = (1 << 6),
583  RIG_SCAN_STOP = (1 << 7)
584 } scan_t;
585 
586 
590 typedef long token_t;
591 
592 
593 #define RIG_CONF_END 0
594 
595 
609 /* strongly inspired from soundmodem. Thanks Thomas! */
617 };
618 
619 #define RIG_COMBO_MAX 16
620 #define RIG_BIN_MAX 80
621 
625 struct confparams {
627  const char *name;
628  const char *label;
629  const char *tooltip;
630  const char *dflt;
632  union {
633  struct {
634  float min;
635  float max;
636  float step;
637  } n;
638  struct {
639  const char *combostr[RIG_COMBO_MAX];
640  } c;
641  } u;
642 };
643 
644 
650 typedef enum {
653  RIG_ANN_FREQ = (1 << 0),
654  RIG_ANN_RXMODE = (1 << 1),
655  RIG_ANN_CW = (1 << 2),
656  RIG_ANN_ENG = (1 << 3),
657  RIG_ANN_JAP = (1 << 4)
658 } ann_t;
659 
660 
664 typedef unsigned int ant_t;
665 
666 #define RIG_ANT_NONE 0
667 #define RIG_ANT_N(n) ((ant_t)1<<(n))
668 #define RIG_ANT_1 RIG_ANT_N(0)
669 #define RIG_ANT_2 RIG_ANT_N(1)
670 #define RIG_ANT_3 RIG_ANT_N(2)
671 #define RIG_ANT_4 RIG_ANT_N(3)
672 #define RIG_ANT_5 RIG_ANT_N(4)
673 
674 #define RIG_ANT_UNKNOWN RIG_ANT_N(30)
675 #define RIG_ANT_CURR RIG_ANT_N(31)
676 
677 #define RIG_ANT_MAX 32
678 
679 
683 /* TODO: kill me, and replace by real AGC delay */
685  RIG_AGC_OFF = 0,
686  RIG_AGC_SUPERFAST,
687  RIG_AGC_FAST,
688  RIG_AGC_SLOW,
690  RIG_AGC_MEDIUM,
691  RIG_AGC_AUTO
692 };
693 
694 #define RIG_AGC_LAST RIG_AGC_AUTO
695 
700  RIG_METER_NONE = 0, /*< No display meter */
701  RIG_METER_SWR = (1 << 0), /*< Stationary Wave Ratio */
702  RIG_METER_COMP = (1 << 1), /*< Compression level */
703  RIG_METER_ALC = (1 << 2), /*< ALC */
704  RIG_METER_IC = (1 << 3), /*< IC */
705  RIG_METER_DB = (1 << 4), /*< DB */
706  RIG_METER_PO = (1 << 5), /*< Power Out */
707  RIG_METER_VDD = (1 << 6) /*< Final Amp Voltage */
708 };
709 
710 
716 typedef union {
717  signed int i;
718  float f;
719  char *s;
720  const char *cs;
721  struct {
722  int l;
723  unsigned char *d; /* Pointer to data buffer */
724  } b;
725 } value_t;
726 
727 
738  RIG_LEVEL_PREAMP = (1 << 0),
739  RIG_LEVEL_ATT = (1 << 1),
740  RIG_LEVEL_VOX = (1 << 2),
741  RIG_LEVEL_AF = (1 << 3),
742  RIG_LEVEL_RF = (1 << 4),
743  RIG_LEVEL_SQL = (1 << 5),
744  RIG_LEVEL_IF = (1 << 6),
745  RIG_LEVEL_APF = (1 << 7),
746  RIG_LEVEL_NR = (1 << 8),
747  RIG_LEVEL_PBT_IN = (1 << 9),
748  RIG_LEVEL_PBT_OUT = (1 << 10),
749  RIG_LEVEL_CWPITCH = (1 << 11),
750  RIG_LEVEL_RFPOWER = (1 << 12),
751  RIG_LEVEL_MICGAIN = (1 << 13),
752  RIG_LEVEL_KEYSPD = (1 << 14),
753  RIG_LEVEL_NOTCHF = (1 << 15),
754  RIG_LEVEL_COMP = (1 << 16),
755  RIG_LEVEL_AGC = (1 << 17),
756  RIG_LEVEL_BKINDL = (1 << 18),
757  RIG_LEVEL_BALANCE = (1 << 19),
758  RIG_LEVEL_METER = (1 << 20),
759  RIG_LEVEL_VOXGAIN = (1 << 21),
761  RIG_LEVEL_ANTIVOX = (1 << 22),
762  RIG_LEVEL_SLOPE_LOW = (1 << 23),
763  RIG_LEVEL_SLOPE_HIGH = (1 << 24),
764  RIG_LEVEL_BKIN_DLYMS = (1 << 25),
767  RIG_LEVEL_RAWSTR = (1 << 26),
768  RIG_LEVEL_SQLSTAT = (1 << 27),
769  RIG_LEVEL_SWR = (1 << 28),
770  RIG_LEVEL_ALC = (1 << 29),
771  RIG_LEVEL_STRENGTH = (1 << 30),
772  /* RIG_LEVEL_BWC = (1<<31) */
773  RIG_LEVEL_RFPOWER_METER = CONSTANT_64BIT_FLAG(32),
774  RIG_LEVEL_COMP_METER = CONSTANT_64BIT_FLAG(33),
775  RIG_LEVEL_VD_METER = CONSTANT_64BIT_FLAG(34),
776  RIG_LEVEL_ID_METER = CONSTANT_64BIT_FLAG(35),
778  RIG_LEVEL_NOTCHF_RAW = CONSTANT_64BIT_FLAG(36),
779  RIG_LEVEL_MONITOR_GAIN = CONSTANT_64BIT_FLAG(37),
780  RIG_LEVEL_NB = CONSTANT_64BIT_FLAG(38),
781 };
782 
783 #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|RIG_LEVEL_RFPOWER_METER|RIG_LEVEL_COMP_METER|RIG_LEVEL_VD_METER|RIG_LEVEL_ID_METER|RIG_LEVEL_NOTCHF_RAW|RIG_LEVEL_MONITOR_GAIN|RIG_LEVEL_NB)
784 
785 #define RIG_LEVEL_READONLY_LIST (RIG_LEVEL_SQLSTAT|RIG_LEVEL_SWR|RIG_LEVEL_ALC|RIG_LEVEL_STRENGTH|RIG_LEVEL_RAWSTR|RIG_LEVEL_RFPOWER_METER|RIG_LEVEL_COMP_METER|RIG_LEVEL_VD_METER|RIG_LEVEL_ID_METER)
786 
787 #define RIG_LEVEL_IS_FLOAT(l) ((l)&RIG_LEVEL_FLOAT_LIST)
788 #define RIG_LEVEL_SET(l) ((l)&~RIG_LEVEL_READONLY_LIST)
789 
790 
801  RIG_PARM_ANN = (1 << 0),
802  RIG_PARM_APO = (1 << 1),
803  RIG_PARM_BACKLIGHT = (1 << 2),
804  RIG_PARM_BEEP = (1 << 4),
805  RIG_PARM_TIME = (1 << 5),
806  RIG_PARM_BAT = (1 << 6),
807  RIG_PARM_KEYLIGHT = (1 << 7),
809 };
810 
811 #define RIG_PARM_FLOAT_LIST (RIG_PARM_BACKLIGHT|RIG_PARM_BAT|RIG_PARM_KEYLIGHT)
812 #define RIG_PARM_READONLY_LIST (RIG_PARM_BAT)
813 
814 #define RIG_PARM_IS_FLOAT(l) ((l)&RIG_PARM_FLOAT_LIST)
815 #define RIG_PARM_SET(l) ((l)&~RIG_PARM_READONLY_LIST)
816 
823 typedef uint64_t setting_t;
824 
825 
826 #define RIG_SETTING_MAX 64
827 
833 #define RIG_TRN_OFF 0
834 #define RIG_TRN_RIG 1
835 #define RIG_TRN_POLL 2
836 
837 
846 /*
847  * The C standard dictates that an enum constant is a 32 bit signed integer.
848  * Setting a constant's bit 31 created a negative value that on amd64 had the
849  * upper 32 bits set as well when assigned to the misc.c:func_str structure.
850  * This caused misc.c:rig_strfunc() to fail its comparison for RIG_FUNC_XIT
851  * on amd64 (x86_64). To use bit 31 as an unsigned long, preprocessor macros
852  * have been used instead as a 'const unsigned long' which cannot be used to
853  * initialize the func_str.func members. TNX KA6MAL, AC6SL. - N0NB
854  */
855 #define RIG_FUNC_NONE 0
856 #define RIG_FUNC_FAGC CONSTANT_64BIT_FLAG (0)
857 #define RIG_FUNC_NB CONSTANT_64BIT_FLAG (1)
858 #define RIG_FUNC_COMP CONSTANT_64BIT_FLAG (2)
859 #define RIG_FUNC_VOX CONSTANT_64BIT_FLAG (3)
860 #define RIG_FUNC_TONE CONSTANT_64BIT_FLAG (4)
861 #define RIG_FUNC_TSQL CONSTANT_64BIT_FLAG (5)
862 #define RIG_FUNC_SBKIN CONSTANT_64BIT_FLAG (6)
863 #define RIG_FUNC_FBKIN CONSTANT_64BIT_FLAG (7)
864 #define RIG_FUNC_ANF CONSTANT_64BIT_FLAG (8)
865 #define RIG_FUNC_NR CONSTANT_64BIT_FLAG (9)
866 #define RIG_FUNC_AIP CONSTANT_64BIT_FLAG (10)
867 #define RIG_FUNC_APF CONSTANT_64BIT_FLAG (11)
868 #define RIG_FUNC_MON CONSTANT_64BIT_FLAG (12)
869 #define RIG_FUNC_MN CONSTANT_64BIT_FLAG (13)
870 #define RIG_FUNC_RF CONSTANT_64BIT_FLAG (14)
871 #define RIG_FUNC_ARO CONSTANT_64BIT_FLAG (15)
872 #define RIG_FUNC_LOCK CONSTANT_64BIT_FLAG (16)
873 #define RIG_FUNC_MUTE CONSTANT_64BIT_FLAG (17)
874 #define RIG_FUNC_VSC CONSTANT_64BIT_FLAG (18)
875 #define RIG_FUNC_REV CONSTANT_64BIT_FLAG (19)
876 #define RIG_FUNC_SQL CONSTANT_64BIT_FLAG (20)
877 #define RIG_FUNC_ABM CONSTANT_64BIT_FLAG (21)
878 #define RIG_FUNC_BC CONSTANT_64BIT_FLAG (22)
879 #define RIG_FUNC_MBC CONSTANT_64BIT_FLAG (23)
880 #define RIG_FUNC_RIT CONSTANT_64BIT_FLAG (24)
881 #define RIG_FUNC_AFC CONSTANT_64BIT_FLAG (25)
882 #define RIG_FUNC_SATMODE CONSTANT_64BIT_FLAG (26)
883 #define RIG_FUNC_SCOPE CONSTANT_64BIT_FLAG (27)
884 #define RIG_FUNC_RESUME CONSTANT_64BIT_FLAG (28)
885 #define RIG_FUNC_TBURST CONSTANT_64BIT_FLAG (29)
886 #define RIG_FUNC_TUNER CONSTANT_64BIT_FLAG (30)
887 #define RIG_FUNC_XIT CONSTANT_64BIT_FLAG (31)
888 #ifndef SWIGLUAHIDE
889 /* Hide the top 32 bits from the old Lua binding as they can't be represented */
890 #define RIG_FUNC_NB2 CONSTANT_64BIT_FLAG (32)
891 #define RIG_FUNC_CSQL CONSTANT_64BIT_FLAG (33)
892 #define RIG_FUNC_AFLT CONSTANT_64BIT_FLAG (34)
893 #define RIG_FUNC_ANL CONSTANT_64BIT_FLAG (35)
894 #define RIG_FUNC_BC2 CONSTANT_64BIT_FLAG (36)
895 #define RIG_FUNC_DUAL_WATCH CONSTANT_64BIT_FLAG (37)
896 #define RIG_FUNC_DIVERSITY CONSTANT_64BIT_FLAG (38)
897 #define RIG_FUNC_DSQL CONSTANT_64BIT_FLAG (39)
898 #define RIG_FUNC_SCEN CONSTANT_64BIT_FLAG (40)
899 #define RIG_FUNC_BIT41 CONSTANT_64BIT_FLAG (41) /* available for future RIG_FUNC items */
900 #define RIG_FUNC_BIT42 CONSTANT_64BIT_FLAG (42) /* available for future RIG_FUNC items */
901 #define RIG_FUNC_BIT43 CONSTANT_64BIT_FLAG (43) /* available for future RIG_FUNC items */
902 #define RIG_FUNC_BIT44 CONSTANT_64BIT_FLAG (44) /* available for future RIG_FUNC items */
903 #define RIG_FUNC_BIT45 CONSTANT_64BIT_FLAG (45) /* available for future RIG_FUNC items */
904 #define RIG_FUNC_BIT46 CONSTANT_64BIT_FLAG (46) /* available for future RIG_FUNC items */
905 #define RIG_FUNC_BIT47 CONSTANT_64BIT_FLAG (47) /* available for future RIG_FUNC items */
906 #define RIG_FUNC_BIT48 CONSTANT_64BIT_FLAG (48) /* available for future RIG_FUNC items */
907 #define RIG_FUNC_BIT49 CONSTANT_64BIT_FLAG (49) /* available for future RIG_FUNC items */
908 #define RIG_FUNC_BIT50 CONSTANT_64BIT_FLAG (50) /* available for future RIG_FUNC items */
909 #define RIG_FUNC_BIT51 CONSTANT_64BIT_FLAG (51) /* available for future RIG_FUNC items */
910 #define RIG_FUNC_BIT52 CONSTANT_64BIT_FLAG (52) /* available for future RIG_FUNC items */
911 #define RIG_FUNC_BIT53 CONSTANT_64BIT_FLAG (53) /* available for future RIG_FUNC items */
912 #define RIG_FUNC_BIT54 CONSTANT_64BIT_FLAG (54) /* available for future RIG_FUNC items */
913 #define RIG_FUNC_BIT55 CONSTANT_64BIT_FLAG (55) /* available for future RIG_FUNC items */
914 #define RIG_FUNC_BIT56 CONSTANT_64BIT_FLAG (56) /* available for future RIG_FUNC items */
915 #define RIG_FUNC_BIT57 CONSTANT_64BIT_FLAG (57) /* available for future RIG_FUNC items */
916 #define RIG_FUNC_BIT58 CONSTANT_64BIT_FLAG (58) /* available for future RIG_FUNC items */
917 #define RIG_FUNC_BIT59 CONSTANT_64BIT_FLAG (59) /* available for future RIG_FUNC items */
918 #define RIG_FUNC_BIT60 CONSTANT_64BIT_FLAG (60) /* available for future RIG_FUNC items */
919 #define RIG_FUNC_BIT61 CONSTANT_64BIT_FLAG (61) /* available for future RIG_FUNC items */
920 #define RIG_FUNC_BIT62 CONSTANT_64BIT_FLAG (62) /* available for future RIG_FUNC items */
921 #define RIG_FUNC_BIT63 CONSTANT_64BIT_FLAG (63) /* available for future RIG_FUNC items */
922 /* 63 is this highest bit number that can be used */
923 #endif
924 
931 #define mW(p) ((int)(p))
932 #define Watts(p) ((int)((p)*1000))
933 #define W(p) Watts(p)
934 #define kW(p) ((int)((p)*1000000L))
935 
936 
946 typedef uint64_t rmode_t;
947 
948 #define RIG_MODE_NONE 0
949 #define RIG_MODE_AM CONSTANT_64BIT_FLAG (0)
950 #define RIG_MODE_CW CONSTANT_64BIT_FLAG (1)
951 #define RIG_MODE_USB CONSTANT_64BIT_FLAG (2)
952 #define RIG_MODE_LSB CONSTANT_64BIT_FLAG (3)
953 #define RIG_MODE_RTTY CONSTANT_64BIT_FLAG (4)
954 #define RIG_MODE_FM CONSTANT_64BIT_FLAG (5)
955 #define RIG_MODE_WFM CONSTANT_64BIT_FLAG (6)
956 #define RIG_MODE_CWR CONSTANT_64BIT_FLAG (7)
957 #define RIG_MODE_RTTYR CONSTANT_64BIT_FLAG (8)
958 #define RIG_MODE_AMS CONSTANT_64BIT_FLAG (9)
959 #define RIG_MODE_PKTLSB CONSTANT_64BIT_FLAG (10)
960 #define RIG_MODE_PKTUSB CONSTANT_64BIT_FLAG (11)
961 #define RIG_MODE_PKTFM CONSTANT_64BIT_FLAG (12)
962 #define RIG_MODE_ECSSUSB CONSTANT_64BIT_FLAG (13)
963 #define RIG_MODE_ECSSLSB CONSTANT_64BIT_FLAG (14)
964 #define RIG_MODE_FAX CONSTANT_64BIT_FLAG (15)
965 #define RIG_MODE_SAM CONSTANT_64BIT_FLAG (16)
966 #define RIG_MODE_SAL CONSTANT_64BIT_FLAG (17)
967 #define RIG_MODE_SAH CONSTANT_64BIT_FLAG (18)
968 #define RIG_MODE_DSB CONSTANT_64BIT_FLAG (19)
969 #define RIG_MODE_FMN CONSTANT_64BIT_FLAG (21)
970 #define RIG_MODE_PKTAM CONSTANT_64BIT_FLAG (22)
971 #define RIG_MODE_P25 CONSTANT_64BIT_FLAG (23)
972 #define RIG_MODE_DSTAR CONSTANT_64BIT_FLAG (24)
973 #define RIG_MODE_DPMR CONSTANT_64BIT_FLAG (25)
974 #define RIG_MODE_NXDNVN CONSTANT_64BIT_FLAG (26)
975 #define RIG_MODE_NXDN_N CONSTANT_64BIT_FLAG (27)
976 #define RIG_MODE_DCR CONSTANT_64BIT_FLAG (28)
977 #define RIG_MODE_AMN CONSTANT_64BIT_FLAG (29)
978 #define RIG_MODE_PSK CONSTANT_64BIT_FLAG (30)
979 #define RIG_MODE_PSKR CONSTANT_64BIT_FLAG (31)
980 #ifndef SWIGLUAHIDE
981 /* hide the top 32 bits from the Lua binding as they will not work */
982 #define RIG_MODE_DD CONSTANT_64BIT_FLAG (32)
983 #define RIG_MODE_C4FM CONSTANT_64BIT_FLAG (33)
984 #define RIG_MODE_BIT34 CONSTANT_64BIT_FLAG (34) /* reserved for future expansion */
985 #define RIG_MODE_BIT35 CONSTANT_64BIT_FLAG (35) /* reserved for future expansion */
986 #define RIG_MODE_BIT36 CONSTANT_64BIT_FLAG (36) /* reserved for future expansion */
987 #define RIG_MODE_BIT37 CONSTANT_64BIT_FLAG (37) /* reserved for future expansion */
988 #define RIG_MODE_BIT38 CONSTANT_64BIT_FLAG (38) /* reserved for future expansion */
989 #define RIG_MODE_BIT39 CONSTANT_64BIT_FLAG (39) /* reserved for future expansion */
990 #define RIG_MODE_BIT40 CONSTANT_64BIT_FLAG (40) /* reserved for future expansion */
991 #define RIG_MODE_BIT41 CONSTANT_64BIT_FLAG (41) /* reserved for future expansion */
992 #define RIG_MODE_BIT42 CONSTANT_64BIT_FLAG (42) /* reserved for future expansion */
993 #define RIG_MODE_BIT43 CONSTANT_64BIT_FLAG (43) /* reserved for future expansion */
994 #define RIG_MODE_BIT44 CONSTANT_64BIT_FLAG (44) /* reserved for future expansion */
995 #define RIG_MODE_BIT45 CONSTANT_64BIT_FLAG (45) /* reserved for future expansion */
996 #define RIG_MODE_BIT46 CONSTANT_64BIT_FLAG (46) /* reserved for future expansion */
997 #define RIG_MODE_BIT47 CONSTANT_64BIT_FLAG (47) /* reserved for future expansion */
998 #define RIG_MODE_BIT48 CONSTANT_64BIT_FLAG (48) /* reserved for future expansion */
999 #define RIG_MODE_BIT49 CONSTANT_64BIT_FLAG (49) /* reserved for future expansion */
1000 #define RIG_MODE_BIT50 CONSTANT_64BIT_FLAG (50) /* reserved for future expansion */
1001 #define RIG_MODE_BIT51 CONSTANT_64BIT_FLAG (51) /* reserved for future expansion */
1002 #define RIG_MODE_BIT52 CONSTANT_64BIT_FLAG (52) /* reserved for future expansion */
1003 #define RIG_MODE_BIT53 CONSTANT_64BIT_FLAG (53) /* reserved for future expansion */
1004 #define RIG_MODE_BIT54 CONSTANT_64BIT_FLAG (54) /* reserved for future expansion */
1005 #define RIG_MODE_BIT55 CONSTANT_64BIT_FLAG (55) /* reserved for future expansion */
1006 #define RIG_MODE_BIT56 CONSTANT_64BIT_FLAG (56) /* reserved for future expansion */
1007 #define RIG_MODE_BIT57 CONSTANT_64BIT_FLAG (57) /* reserved for future expansion */
1008 #define RIG_MODE_BIT58 CONSTANT_64BIT_FLAG (58) /* reserved for future expansion */
1009 #define RIG_MODE_BIT59 CONSTANT_64BIT_FLAG (59) /* reserved for future expansion */
1010 #define RIG_MODE_BIT60 CONSTANT_64BIT_FLAG (60) /* reserved for future expansion */
1011 #define RIG_MODE_BIT61 CONSTANT_64BIT_FLAG (61) /* reserved for future expansion */
1012 #define RIG_MODE_BIT62 CONSTANT_64BIT_FLAG (62) /* reserved for future expansion */
1013 #define RIG_MODE_TESTS_MAX CONSTANT_64BIT_FLAG (63)
1014 #endif
1015 
1019 #define RIG_MODE_SSB (RIG_MODE_USB|RIG_MODE_LSB)
1020 
1024 #define RIG_MODE_ECSS (RIG_MODE_ECSSUSB|RIG_MODE_ECSSLSB)
1025 
1026 
1027 #define RIG_DBLST_END 0 /* end marker in a preamp/att level list */
1028 #define RIG_IS_DBLST_END(d) ((d)==0)
1029 
1030 
1037 typedef struct freq_range_list {
1045  char *label;
1046 } freq_range_t;
1047 
1048 #define RIG_FRNG_END {Hz(0),Hz(0),RIG_MODE_NONE,0,0,RIG_VFO_NONE}
1049 #define RIG_IS_FRNG_END(r) ((r).startf == Hz(0) && (r).endf == Hz(0))
1050 
1070 };
1071 
1072 #define RIG_TS_ANY 0
1073 #define RIG_TS_END {RIG_MODE_NONE, 0}
1074 #define RIG_IS_TS_END(t) ((t).modes == RIG_MODE_NONE && (t).ts == 0)
1075 
1076 
1100 struct filter_list {
1103 };
1104 
1105 #define RIG_FLT_ANY 0
1106 #define RIG_FLT_END {RIG_MODE_NONE, 0}
1107 #define RIG_IS_FLT_END(f) ((f).modes == RIG_MODE_NONE)
1108 
1109 
1113 #define RIG_CHFLAG_NONE 0
1114 
1117 #define RIG_CHFLAG_SKIP (1<<0)
1118 
1121 #define RIG_CHFLAG_DATA (1<<1)
1122 
1125 #define RIG_CHFLAG_PSKIP (1<<2)
1126 
1131 struct ext_list {
1134 };
1135 
1136 #define RIG_EXT_END {0, {.i=0}}
1137 #define RIG_IS_EXT_END(x) ((x).token == 0)
1138 
1146 struct channel {
1148  int bank_num;
1168  value_t levels[RIG_SETTING_MAX];
1174  int flags;
1175  char channel_desc[MAXCHANDESC];
1176  struct ext_list
1177  *ext_levels;
1178 };
1179 
1183 typedef struct channel channel_t;
1184 
1190 struct channel_cap {
1191  unsigned bank_num: 1;
1192  unsigned vfo: 1;
1193  unsigned ant: 1;
1194  unsigned freq: 1;
1195  unsigned mode: 1;
1196  unsigned width: 1;
1198  unsigned tx_freq: 1;
1199  unsigned tx_mode: 1;
1200  unsigned tx_width: 1;
1202  unsigned split: 1;
1203  unsigned tx_vfo: 1;
1204  unsigned rptr_shift: 1;
1205  unsigned rptr_offs: 1;
1206  unsigned tuning_step: 1;
1207  unsigned rit: 1;
1208  unsigned xit: 1;
1211  unsigned ctcss_tone: 1;
1212  unsigned ctcss_sql: 1;
1213  unsigned dcs_code: 1;
1214  unsigned dcs_sql: 1;
1215  unsigned scan_group: 1;
1216  unsigned flags: 1;
1217  unsigned channel_desc: 1;
1218  unsigned ext_levels: 1;
1219 };
1220 
1225 
1226 
1237 typedef enum {
1246 } chan_type_t;
1247 
1248 
1262 struct chan_list {
1263  int startc;
1264  int endc;
1268 };
1269 
1270 #define RIG_CHAN_END {0,0,RIG_MTYPE_NONE}
1271 #define RIG_IS_CHAN_END(c) ((c).type == RIG_MTYPE_NONE)
1272 
1276 #define RIG_MEM_CAPS_ALL -1
1277 
1281 typedef struct chan_list chan_t;
1282 
1283 
1295 struct gran {
1299 };
1300 
1304 typedef struct gran gran_t;
1305 
1306 
1310 struct cal_table {
1311  int size;
1312  struct {
1313  int raw;
1314  int val;
1315  } table[MAX_CAL_LENGTH];
1316 };
1317 
1330 typedef struct cal_table cal_table_t;
1331 
1332 #define EMPTY_STR_CAL { 0, { { 0, 0 }, } }
1333 
1334 
1339  int size;
1340  struct {
1341  int raw;
1342  float val;
1343  } table[MAX_CAL_LENGTH];
1344 };
1345 
1359 
1360 #define EMPTY_FLOAT_CAL { 0, { { 0, 0f }, } }
1361 
1362 typedef int (* chan_cb_t)(RIG *, channel_t **, int, const chan_t *, rig_ptr_t);
1363 typedef int (* confval_cb_t)(RIG *,
1364  const struct confparams *,
1365  value_t *,
1366  rig_ptr_t);
1367 
1368 
1388 #define RIG_MODEL(arg) .rig_model=arg,.macro_name=#arg
1389 struct rig_caps {
1391  const char *model_name;
1392  const char *mfg_name;
1393  const char *version;
1394  const char *copyright;
1397  int rig_type;
1411  int timeout;
1412  int retry;
1421  gran_t level_gran[RIG_SETTING_MAX];
1422  gran_t parm_gran[RIG_SETTING_MAX];
1424  const struct confparams *extparms;
1425  const struct confparams *extlevels;
1426  const struct confparams *extfuncs;
1427  int *ext_tokens;
1430  const tone_t *dcs_list;
1432  int preamp[MAXDBLSTSIZ];
1433  int attenuator[MAXDBLSTSIZ];
1445  int bank_qty;
1448  chan_t chan_list[CHANLSTSIZ];
1450  // As of 2020-02-12 we know of 5 models from Icom USA, EUR, ITR, TPE, KOR for the IC-9700
1451  // So we currently have 5 ranges we need to deal with
1452  // The backend for the model should fill in the label field to explain what model it is
1453  // The the IC-9700 in ic7300.c for an example
1465  struct tuning_step_list tuning_steps[TSLSTSIZ];
1466  struct filter_list filters[FLTLSTSIZ];
1476  const struct confparams *cfgparams;
1477  const rig_ptr_t priv;
1479  /*
1480  * Rig API
1481  *
1482  */
1483 
1484  int (*rig_init)(RIG *rig);
1485  int (*rig_cleanup)(RIG *rig);
1486  int (*rig_open)(RIG *rig);
1487  int (*rig_close)(RIG *rig);
1488 
1489  /*
1490  * General API commands, from most primitive to least.. :()
1491  * List Set/Get functions pairs
1492  */
1493 
1494  int (*set_freq)(RIG *rig, vfo_t vfo, freq_t freq);
1495  int (*get_freq)(RIG *rig, vfo_t vfo, freq_t *freq);
1496 
1497  int (*set_mode)(RIG *rig, vfo_t vfo, rmode_t mode, pbwidth_t width);
1498  int (*get_mode)(RIG *rig, vfo_t vfo, rmode_t *mode, pbwidth_t *width);
1499 
1500  int (*set_vfo)(RIG *rig, vfo_t vfo);
1501  int (*get_vfo)(RIG *rig, vfo_t *vfo);
1502 
1503  int (*set_ptt)(RIG *rig, vfo_t vfo, ptt_t ptt);
1504  int (*get_ptt)(RIG *rig, vfo_t vfo, ptt_t *ptt);
1505 
1506  int (*get_dcd)(RIG *rig, vfo_t vfo, dcd_t *dcd);
1507 
1508  int (*set_rptr_shift)(RIG *rig, vfo_t vfo, rptr_shift_t rptr_shift);
1509  int (*get_rptr_shift)(RIG *rig, vfo_t vfo, rptr_shift_t *rptr_shift);
1510 
1511  int (*set_rptr_offs)(RIG *rig, vfo_t vfo, shortfreq_t offs);
1512  int (*get_rptr_offs)(RIG *rig, vfo_t vfo, shortfreq_t *offs);
1513 
1514  int (*set_split_freq)(RIG *rig, vfo_t vfo, freq_t tx_freq);
1515  int (*get_split_freq)(RIG *rig, vfo_t vfo, freq_t *tx_freq);
1516 
1517  int (*set_split_mode)(RIG *rig,
1518  vfo_t vfo,
1519  rmode_t tx_mode,
1520  pbwidth_t tx_width);
1521  int (*get_split_mode)(RIG *rig,
1522  vfo_t vfo,
1523  rmode_t *tx_mode,
1524  pbwidth_t *tx_width);
1525 
1526  int (*set_split_freq_mode)(RIG *rig,
1527  vfo_t vfo,
1528  freq_t tx_freq,
1529  rmode_t tx_mode,
1530  pbwidth_t tx_width);
1531  int (*get_split_freq_mode)(RIG *rig,
1532  vfo_t vfo,
1533  freq_t *tx_freq,
1534  rmode_t *tx_mode,
1535  pbwidth_t *tx_width);
1536 
1537  int (*set_split_vfo)(RIG *rig, vfo_t vfo, split_t split, vfo_t tx_vfo);
1538  int (*get_split_vfo)(RIG *rig, vfo_t vfo, split_t *split, vfo_t *tx_vfo);
1539 
1540  int (*set_rit)(RIG *rig, vfo_t vfo, shortfreq_t rit);
1541  int (*get_rit)(RIG *rig, vfo_t vfo, shortfreq_t *rit);
1542 
1543  int (*set_xit)(RIG *rig, vfo_t vfo, shortfreq_t xit);
1544  int (*get_xit)(RIG *rig, vfo_t vfo, shortfreq_t *xit);
1545 
1546  int (*set_ts)(RIG *rig, vfo_t vfo, shortfreq_t ts);
1547  int (*get_ts)(RIG *rig, vfo_t vfo, shortfreq_t *ts);
1548 
1549  int (*set_dcs_code)(RIG *rig, vfo_t vfo, tone_t code);
1550  int (*get_dcs_code)(RIG *rig, vfo_t vfo, tone_t *code);
1551 
1552  int (*set_tone)(RIG *rig, vfo_t vfo, tone_t tone);
1553  int (*get_tone)(RIG *rig, vfo_t vfo, tone_t *tone);
1554 
1555  int (*set_ctcss_tone)(RIG *rig, vfo_t vfo, tone_t tone);
1556  int (*get_ctcss_tone)(RIG *rig, vfo_t vfo, tone_t *tone);
1557 
1558  int (*set_dcs_sql)(RIG *rig, vfo_t vfo, tone_t code);
1559  int (*get_dcs_sql)(RIG *rig, vfo_t vfo, tone_t *code);
1560 
1561  int (*set_tone_sql)(RIG *rig, vfo_t vfo, tone_t tone);
1562  int (*get_tone_sql)(RIG *rig, vfo_t vfo, tone_t *tone);
1563 
1564  int (*set_ctcss_sql)(RIG *rig, vfo_t vfo, tone_t tone);
1565  int (*get_ctcss_sql)(RIG *rig, vfo_t vfo, tone_t *tone);
1566 
1567  int (*power2mW)(RIG *rig,
1568  unsigned int *mwpower,
1569  float power,
1570  freq_t freq,
1571  rmode_t mode);
1572  int (*mW2power)(RIG *rig,
1573  float *power,
1574  unsigned int mwpower,
1575  freq_t freq,
1576  rmode_t mode);
1577 
1578  int (*set_powerstat)(RIG *rig, powerstat_t status);
1579  int (*get_powerstat)(RIG *rig, powerstat_t *status);
1580 
1581  int (*reset)(RIG *rig, reset_t reset);
1582 
1583  int (*set_ant)(RIG *rig, vfo_t vfo, ant_t ant, value_t option);
1584  int (*get_ant)(RIG *rig, vfo_t vfo, ant_t ant, value_t *option, ant_t *ant_curr, ant_t *ant_tx, ant_t *ant_rx);
1585 
1586  int (*set_level)(RIG *rig, vfo_t vfo, setting_t level, value_t val);
1587  int (*get_level)(RIG *rig, vfo_t vfo, setting_t level, value_t *val);
1588 
1589  int (*set_func)(RIG *rig, vfo_t vfo, setting_t func, int status);
1590  int (*get_func)(RIG *rig, vfo_t vfo, setting_t func, int *status);
1591 
1592  int (*set_parm)(RIG *rig, setting_t parm, value_t val);
1593  int (*get_parm)(RIG *rig, setting_t parm, value_t *val);
1594 
1595  int (*set_ext_level)(RIG *rig, vfo_t vfo, token_t token, value_t val);
1596  int (*get_ext_level)(RIG *rig, vfo_t vfo, token_t token, value_t *val);
1597 
1598  int (*set_ext_func)(RIG *rig, vfo_t vfo, token_t token, int status);
1599  int (*get_ext_func)(RIG *rig, vfo_t vfo, token_t token, int *status);
1600 
1601  int (*set_ext_parm)(RIG *rig, token_t token, value_t val);
1602  int (*get_ext_parm)(RIG *rig, token_t token, value_t *val);
1603 
1604  int (*set_conf)(RIG *rig, token_t token, const char *val);
1605  int (*get_conf)(RIG *rig, token_t token, char *val);
1606 
1607  int (*send_dtmf)(RIG *rig, vfo_t vfo, const char *digits);
1608  int (*recv_dtmf)(RIG *rig, vfo_t vfo, char *digits, int *length);
1609 
1610  int (*send_morse)(RIG *rig, vfo_t vfo, const char *msg);
1611 
1612  int (*send_voice_mem)(RIG *rig, vfo_t vfo, int ch);
1613 
1614  int (*set_bank)(RIG *rig, vfo_t vfo, int bank);
1615 
1616  int (*set_mem)(RIG *rig, vfo_t vfo, int ch);
1617  int (*get_mem)(RIG *rig, vfo_t vfo, int *ch);
1618 
1619  int (*vfo_op)(RIG *rig, vfo_t vfo, vfo_op_t op);
1620 
1621  int (*scan)(RIG *rig, vfo_t vfo, scan_t scan, int ch);
1622 
1623  int (*set_trn)(RIG *rig, int trn);
1624  int (*get_trn)(RIG *rig, int *trn);
1625 
1626  int (*decode_event)(RIG *rig);
1627 
1628  int (*set_channel)(RIG *rig, const channel_t *chan);
1629  int (*get_channel)(RIG *rig, channel_t *chan);
1630 
1631  const char * (*get_info)(RIG *rig);
1632 
1633  int (*set_chan_all_cb)(RIG *rig, chan_cb_t chan_cb, rig_ptr_t);
1634  int (*get_chan_all_cb)(RIG *rig, chan_cb_t chan_cb, rig_ptr_t);
1635 
1636  int (*set_mem_all_cb)(RIG *rig,
1637  chan_cb_t chan_cb,
1638  confval_cb_t parm_cb,
1639  rig_ptr_t);
1640  int (*get_mem_all_cb)(RIG *rig,
1641  chan_cb_t chan_cb,
1642  confval_cb_t parm_cb,
1643  rig_ptr_t);
1644 
1645  const char *clone_combo_set;
1646  const char *clone_combo_get;
1647  const char *macro_name;
1648 };
1649 
1650 
1656 typedef struct hamlib_port {
1657  union {
1661  } type;
1662 
1663  int fd;
1664  void *handle;
1669  struct {
1670  int tv_sec, tv_usec;
1671  } post_write_date;
1673  int timeout;
1674  int retry;
1676  char pathname[FILPATHLEN];
1678  union {
1679  struct {
1680  int rate;
1687  } serial;
1689  struct {
1690  int pin;
1691  } parallel;
1693  struct {
1695  } cm108;
1697  struct {
1698  int vid;
1699  int pid;
1700  int conf;
1701  int iface;
1702  int alt;
1703  char *vendor_name;
1704  char *product;
1705  } usb;
1707  struct {
1708  int on_value;
1709  int value;
1710  } gpio;
1711  } parm;
1712 } hamlib_port_t;
1713 
1714 #if !defined(__APPLE__) || !defined(__cplusplus)
1715 typedef hamlib_port_t port_t;
1716 #endif
1717 
1718 
1728 struct rig_state {
1729  /*
1730  * overridable fields
1731  */
1736  double vfo_comp;
1742  struct tuning_step_list tuning_steps[TSLSTSIZ];
1744  struct filter_list filters[FLTLSTSIZ];
1748  chan_t chan_list[CHANLSTSIZ];
1756  int preamp[MAXDBLSTSIZ];
1757  int attenuator[MAXDBLSTSIZ];
1766  gran_t level_gran[RIG_SETTING_MAX];
1767  gran_t parm_gran[RIG_SETTING_MAX];
1770  /*
1771  * non overridable fields, internal use
1772  */
1773 
1776  int vfo_list;
1778  rig_ptr_t priv;
1779  rig_ptr_t obj;
1788  int transmit;
1792  time_t twiddle_time;
1794 };
1795 
1796 
1797 typedef int (*vprintf_cb_t)(enum rig_debug_level_e,
1798  rig_ptr_t,
1799  const char *,
1800  va_list);
1801 
1802 typedef int (*freq_cb_t)(RIG *, vfo_t, freq_t, rig_ptr_t);
1803 typedef int (*mode_cb_t)(RIG *, vfo_t, rmode_t, pbwidth_t, rig_ptr_t);
1804 typedef int (*vfo_cb_t)(RIG *, vfo_t, rig_ptr_t);
1805 typedef int (*ptt_cb_t)(RIG *, vfo_t, ptt_t, rig_ptr_t);
1806 typedef int (*dcd_cb_t)(RIG *, vfo_t, dcd_t, rig_ptr_t);
1807 typedef int (*pltune_cb_t)(RIG *,
1808  vfo_t, freq_t *,
1809  rmode_t *,
1810  pbwidth_t *,
1811  rig_ptr_t);
1812 
1813 
1832  freq_cb_t freq_event;
1833  rig_ptr_t freq_arg;
1834  mode_cb_t mode_event;
1835  rig_ptr_t mode_arg;
1836  vfo_cb_t vfo_event;
1837  rig_ptr_t vfo_arg;
1838  ptt_cb_t ptt_event;
1839  rig_ptr_t ptt_arg;
1840  dcd_cb_t dcd_event;
1841  rig_ptr_t dcd_arg;
1842  pltune_cb_t pltune;
1843  rig_ptr_t pltune_arg;
1844  /* etc.. */
1845 };
1846 
1847 
1857 struct rig {
1858  struct rig_caps *caps;
1859  struct rig_state state;
1861 };
1862 
1863 
1864 
1865 /* --------------- API function prototypes -----------------*/
1866 
1867 extern HAMLIB_EXPORT(RIG *) rig_init HAMLIB_PARAMS((rig_model_t rig_model));
1868 extern HAMLIB_EXPORT(int) rig_open HAMLIB_PARAMS((RIG *rig));
1869 
1870 /*
1871  * General API commands, from most primitive to least.. :()
1872  * List Set/Get functions pairs
1873  */
1874 
1875 extern HAMLIB_EXPORT(int)
1876 rig_set_freq HAMLIB_PARAMS((RIG *rig,
1877  vfo_t vfo,
1878  freq_t freq));
1879 extern HAMLIB_EXPORT(int)
1880 rig_get_freq HAMLIB_PARAMS((RIG *rig,
1881  vfo_t vfo,
1882  freq_t *freq));
1883 
1884 extern HAMLIB_EXPORT(int)
1885 rig_set_mode HAMLIB_PARAMS((RIG *rig,
1886  vfo_t vfo,
1887  rmode_t mode,
1888  pbwidth_t width));
1889 extern HAMLIB_EXPORT(int)
1890 rig_get_mode HAMLIB_PARAMS((RIG *rig,
1891  vfo_t vfo,
1892  rmode_t *mode,
1893  pbwidth_t *width));
1894 
1895 extern HAMLIB_EXPORT(int)
1896 rig_set_vfo HAMLIB_PARAMS((RIG *rig,
1897  vfo_t vfo));
1898 extern HAMLIB_EXPORT(int)
1899 rig_get_vfo HAMLIB_PARAMS((RIG *rig,
1900  vfo_t *vfo));
1901 
1902 extern HAMLIB_EXPORT(int)
1903 netrigctl_get_vfo_mode HAMLIB_PARAMS((RIG *rig));
1904 
1905 extern HAMLIB_EXPORT(int)
1906 rig_set_ptt HAMLIB_PARAMS((RIG *rig,
1907  vfo_t vfo,
1908  ptt_t ptt));
1909 extern HAMLIB_EXPORT(int)
1910 rig_get_ptt HAMLIB_PARAMS((RIG *rig,
1911  vfo_t vfo,
1912  ptt_t *ptt));
1913 
1914 extern HAMLIB_EXPORT(int)
1915 rig_get_dcd HAMLIB_PARAMS((RIG *rig,
1916  vfo_t vfo,
1917  dcd_t *dcd));
1918 
1919 extern HAMLIB_EXPORT(int)
1920 rig_set_rptr_shift HAMLIB_PARAMS((RIG *rig,
1921  vfo_t vfo,
1922  rptr_shift_t rptr_shift));
1923 extern HAMLIB_EXPORT(int)
1924 rig_get_rptr_shift HAMLIB_PARAMS((RIG *rig,
1925  vfo_t vfo,
1926  rptr_shift_t *rptr_shift));
1927 
1928 extern HAMLIB_EXPORT(int)
1929 rig_set_rptr_offs HAMLIB_PARAMS((RIG *rig,
1930  vfo_t vfo,
1931  shortfreq_t rptr_offs));
1932 extern HAMLIB_EXPORT(int)
1933 rig_get_rptr_offs HAMLIB_PARAMS((RIG *rig,
1934  vfo_t vfo,
1935  shortfreq_t *rptr_offs));
1936 
1937 extern HAMLIB_EXPORT(int)
1938 rig_set_ctcss_tone HAMLIB_PARAMS((RIG *rig,
1939  vfo_t vfo,
1940  tone_t tone));
1941 extern HAMLIB_EXPORT(int)
1942 rig_get_ctcss_tone HAMLIB_PARAMS((RIG *rig,
1943  vfo_t vfo,
1944  tone_t *tone));
1945 
1946 extern HAMLIB_EXPORT(int)
1947 rig_set_dcs_code HAMLIB_PARAMS((RIG *rig,
1948  vfo_t vfo,
1949  tone_t code));
1950 extern HAMLIB_EXPORT(int)
1951 rig_get_dcs_code HAMLIB_PARAMS((RIG *rig,
1952  vfo_t vfo,
1953  tone_t *code));
1954 
1955 extern HAMLIB_EXPORT(int)
1956 rig_set_ctcss_sql HAMLIB_PARAMS((RIG *rig,
1957  vfo_t vfo,
1958  tone_t tone));
1959 extern HAMLIB_EXPORT(int)
1960 rig_get_ctcss_sql HAMLIB_PARAMS((RIG *rig,
1961  vfo_t vfo,
1962  tone_t *tone));
1963 
1964 extern HAMLIB_EXPORT(int)
1965 rig_set_dcs_sql HAMLIB_PARAMS((RIG *rig,
1966  vfo_t vfo,
1967  tone_t code));
1968 extern HAMLIB_EXPORT(int)
1969 rig_get_dcs_sql HAMLIB_PARAMS((RIG *rig,
1970  vfo_t vfo,
1971  tone_t *code));
1972 
1973 extern HAMLIB_EXPORT(int)
1974 rig_set_split_freq HAMLIB_PARAMS((RIG *rig,
1975  vfo_t vfo,
1976  freq_t tx_freq));
1977 extern HAMLIB_EXPORT(int)
1978 rig_get_split_freq HAMLIB_PARAMS((RIG *rig,
1979  vfo_t vfo,
1980  freq_t *tx_freq));
1981 
1982 extern HAMLIB_EXPORT(int)
1983 rig_set_split_mode HAMLIB_PARAMS((RIG *rig,
1984  vfo_t vfo,
1985  rmode_t tx_mode,
1986  pbwidth_t tx_width));
1987 extern HAMLIB_EXPORT(int)
1988 rig_get_split_mode HAMLIB_PARAMS((RIG *rig,
1989  vfo_t vfo,
1990  rmode_t *tx_mode,
1991  pbwidth_t *tx_width));
1992 
1993 extern HAMLIB_EXPORT(int)
1994 rig_set_split_freq_mode HAMLIB_PARAMS((RIG *rig,
1995  vfo_t vfo,
1996  freq_t tx_freq,
1997  rmode_t tx_mode,
1998  pbwidth_t tx_width));
1999 extern HAMLIB_EXPORT(int)
2000 rig_get_split_freq_mode HAMLIB_PARAMS((RIG *rig,
2001  vfo_t vfo,
2002  freq_t *tx_freq,
2003  rmode_t *tx_mode,
2004  pbwidth_t *tx_width));
2005 
2006 extern HAMLIB_EXPORT(int)
2007 rig_set_split_vfo HAMLIB_PARAMS((RIG *,
2008  vfo_t rx_vfo,
2009  split_t split,
2010  vfo_t tx_vfo));
2011 extern HAMLIB_EXPORT(int)
2012 rig_get_split_vfo HAMLIB_PARAMS((RIG *,
2013  vfo_t rx_vfo,
2014  split_t *split,
2015  vfo_t *tx_vfo));
2016 
2017 #define rig_set_split(r,v,s) rig_set_split_vfo((r),(v),(s),RIG_VFO_CURR)
2018 #define rig_get_split(r,v,s) ({ vfo_t _tx_vfo; rig_get_split_vfo((r),(v),(s),&_tx_vfo); })
2019 
2020 extern HAMLIB_EXPORT(int)
2021 rig_set_rit HAMLIB_PARAMS((RIG *rig,
2022  vfo_t vfo,
2023  shortfreq_t rit));
2024 extern HAMLIB_EXPORT(int)
2025 rig_get_rit HAMLIB_PARAMS((RIG *rig,
2026  vfo_t vfo,
2027  shortfreq_t *rit));
2028 
2029 extern HAMLIB_EXPORT(int)
2030 rig_set_xit HAMLIB_PARAMS((RIG *rig,
2031  vfo_t vfo,
2032  shortfreq_t xit));
2033 extern HAMLIB_EXPORT(int)
2034 rig_get_xit HAMLIB_PARAMS((RIG *rig,
2035  vfo_t vfo,
2036  shortfreq_t *xit));
2037 
2038 extern HAMLIB_EXPORT(int)
2039 rig_set_ts HAMLIB_PARAMS((RIG *rig,
2040  vfo_t vfo,
2041  shortfreq_t ts));
2042 extern HAMLIB_EXPORT(int)
2043 rig_get_ts HAMLIB_PARAMS((RIG *rig,
2044  vfo_t vfo,
2045  shortfreq_t *ts));
2046 
2047 extern HAMLIB_EXPORT(int)
2048 rig_power2mW HAMLIB_PARAMS((RIG *rig,
2049  unsigned int *mwpower,
2050  float power,
2051  freq_t freq,
2052  rmode_t mode));
2053 extern HAMLIB_EXPORT(int)
2054 rig_mW2power HAMLIB_PARAMS((RIG *rig,
2055  float *power,
2056  unsigned int mwpower,
2057  freq_t freq,
2058  rmode_t mode));
2059 
2060 extern HAMLIB_EXPORT(shortfreq_t)
2061 rig_get_resolution HAMLIB_PARAMS((RIG *rig,
2062  rmode_t mode));
2063 
2064 extern HAMLIB_EXPORT(int)
2065 rig_set_level HAMLIB_PARAMS((RIG *rig,
2066  vfo_t vfo,
2067  setting_t level,
2068  value_t val));
2069 extern HAMLIB_EXPORT(int)
2070 rig_get_level HAMLIB_PARAMS((RIG *rig,
2071  vfo_t vfo,
2072  setting_t level,
2073  value_t *val));
2074 
2075 #define rig_get_strength(r,v,s) rig_get_level((r),(v),RIG_LEVEL_STRENGTH, (value_t*)(s))
2076 
2077 extern HAMLIB_EXPORT(int)
2078 rig_set_parm HAMLIB_PARAMS((RIG *rig,
2079  setting_t parm,
2080  value_t val));
2081 extern HAMLIB_EXPORT(int)
2082 rig_get_parm HAMLIB_PARAMS((RIG *rig,
2083  setting_t parm,
2084  value_t *val));
2085 
2086 extern HAMLIB_EXPORT(int)
2087 rig_set_conf HAMLIB_PARAMS((RIG *rig,
2088  token_t token,
2089  const char *val));
2090 extern HAMLIB_EXPORT(int)
2091 rig_get_conf HAMLIB_PARAMS((RIG *rig,
2092  token_t token,
2093  char *val));
2094 
2095 extern HAMLIB_EXPORT(int)
2096 rig_set_powerstat HAMLIB_PARAMS((RIG *rig,
2097  powerstat_t status));
2098 extern HAMLIB_EXPORT(int)
2099 rig_get_powerstat HAMLIB_PARAMS((RIG *rig,
2100  powerstat_t *status));
2101 
2102 extern HAMLIB_EXPORT(int)
2103 rig_reset HAMLIB_PARAMS((RIG *rig,
2104  reset_t reset)); /* dangerous! */
2105 
2106 extern HAMLIB_EXPORT(int)
2107 rig_set_ext_level HAMLIB_PARAMS((RIG *rig,
2108  vfo_t vfo,
2109  token_t token,
2110  value_t val));
2111 extern HAMLIB_EXPORT(int)
2112 rig_get_ext_level HAMLIB_PARAMS((RIG *rig,
2113  vfo_t vfo,
2114  token_t token,
2115  value_t *val));
2116 
2117 extern HAMLIB_EXPORT(int)
2118 rig_set_ext_func HAMLIB_PARAMS((RIG *rig,
2119  vfo_t vfo,
2120  token_t token,
2121  int status));
2122 extern HAMLIB_EXPORT(int)
2123 rig_get_ext_func HAMLIB_PARAMS((RIG *rig,
2124  vfo_t vfo,
2125  token_t token,
2126  int *status));
2127 
2128 extern HAMLIB_EXPORT(int)
2129 rig_set_ext_parm HAMLIB_PARAMS((RIG *rig,
2130  token_t token,
2131  value_t val));
2132 extern HAMLIB_EXPORT(int)
2133 rig_get_ext_parm HAMLIB_PARAMS((RIG *rig,
2134  token_t token,
2135  value_t *val));
2136 
2137 extern HAMLIB_EXPORT(int)
2138 rig_ext_level_foreach HAMLIB_PARAMS((RIG *rig,
2139  int (*cfunc)(RIG *,
2140  const struct confparams *,
2141  rig_ptr_t),
2142  rig_ptr_t data));
2143 extern HAMLIB_EXPORT(int)
2144 rig_ext_parm_foreach HAMLIB_PARAMS((RIG *rig,
2145  int (*cfunc)(RIG *,
2146  const struct confparams *,
2147  rig_ptr_t),
2148  rig_ptr_t data));
2149 
2150 extern HAMLIB_EXPORT(const struct confparams *)
2151 rig_ext_lookup HAMLIB_PARAMS((RIG *rig,
2152  const char *name));
2153 
2154 extern HAMLIB_EXPORT(const struct confparams *)
2155 rig_ext_lookup_tok HAMLIB_PARAMS((RIG *rig,
2156  token_t token));
2157 extern HAMLIB_EXPORT(token_t)
2158 rig_ext_token_lookup HAMLIB_PARAMS((RIG *rig,
2159  const char *name));
2160 
2161 
2162 extern HAMLIB_EXPORT(int)
2163 rig_token_foreach HAMLIB_PARAMS((RIG *rig,
2164  int (*cfunc)(const struct confparams *,
2165  rig_ptr_t),
2166  rig_ptr_t data));
2167 
2168 extern HAMLIB_EXPORT(const struct confparams *)
2169 rig_confparam_lookup HAMLIB_PARAMS((RIG *rig,
2170  const char *name));
2171 extern HAMLIB_EXPORT(token_t)
2172 rig_token_lookup HAMLIB_PARAMS((RIG *rig,
2173  const char *name));
2174 
2175 extern HAMLIB_EXPORT(int)
2176 rig_close HAMLIB_PARAMS((RIG *rig));
2177 
2178 extern HAMLIB_EXPORT(int)
2179 rig_cleanup HAMLIB_PARAMS((RIG *rig));
2180 
2181 extern HAMLIB_EXPORT(int)
2182 rig_set_ant HAMLIB_PARAMS((RIG *rig,
2183  vfo_t vfo,
2184  ant_t ant, /* antenna */
2185  value_t option)); /* optional ant info */
2186 extern HAMLIB_EXPORT(int)
2187 rig_get_ant HAMLIB_PARAMS((RIG *rig,
2188  vfo_t vfo,
2189  ant_t ant,
2190  value_t *option,
2191  ant_t *ant_curr,
2192  ant_t *ant_tx,
2193  ant_t *ant_rx));
2194 
2195 extern HAMLIB_EXPORT(setting_t)
2196 rig_has_get_level HAMLIB_PARAMS((RIG *rig,
2197  setting_t level));
2198 extern HAMLIB_EXPORT(setting_t)
2199 rig_has_set_level HAMLIB_PARAMS((RIG *rig,
2200  setting_t level));
2201 
2202 extern HAMLIB_EXPORT(setting_t)
2203 rig_has_get_parm HAMLIB_PARAMS((RIG *rig,
2204  setting_t parm));
2205 extern HAMLIB_EXPORT(setting_t)
2206 rig_has_set_parm HAMLIB_PARAMS((RIG *rig,
2207  setting_t parm));
2208 
2209 extern HAMLIB_EXPORT(setting_t)
2210 rig_has_get_func HAMLIB_PARAMS((RIG *rig,
2211  setting_t func));
2212 extern HAMLIB_EXPORT(setting_t)
2213 rig_has_set_func HAMLIB_PARAMS((RIG *rig,
2214  setting_t func));
2215 
2216 extern HAMLIB_EXPORT(int)
2217 rig_set_func HAMLIB_PARAMS((RIG *rig,
2218  vfo_t vfo,
2219  setting_t func,
2220  int status));
2221 extern HAMLIB_EXPORT(int)
2222 rig_get_func HAMLIB_PARAMS((RIG *rig,
2223  vfo_t vfo,
2224  setting_t func,
2225  int *status));
2226 
2227 extern HAMLIB_EXPORT(int)
2228 rig_send_dtmf HAMLIB_PARAMS((RIG *rig,
2229  vfo_t vfo,
2230  const char *digits));
2231 extern HAMLIB_EXPORT(int)
2232 rig_recv_dtmf HAMLIB_PARAMS((RIG *rig,
2233  vfo_t vfo,
2234  char *digits,
2235  int *length));
2236 
2237 extern HAMLIB_EXPORT(int)
2238 rig_send_morse HAMLIB_PARAMS((RIG *rig,
2239  vfo_t vfo,
2240  const char *msg));
2241 
2242 extern HAMLIB_EXPORT(int)
2243 rig_send_voice_mem HAMLIB_PARAMS((RIG *rig,
2244  vfo_t vfo,
2245  int ch));
2246 
2247 extern HAMLIB_EXPORT(int)
2248 rig_set_bank HAMLIB_PARAMS((RIG *rig,
2249  vfo_t vfo,
2250  int bank));
2251 
2252 extern HAMLIB_EXPORT(int)
2253 rig_set_mem HAMLIB_PARAMS((RIG *rig,
2254  vfo_t vfo,
2255  int ch));
2256 extern HAMLIB_EXPORT(int)
2257 rig_get_mem HAMLIB_PARAMS((RIG *rig,
2258  vfo_t vfo,
2259  int *ch));
2260 
2261 extern HAMLIB_EXPORT(int)
2262 rig_vfo_op HAMLIB_PARAMS((RIG *rig,
2263  vfo_t vfo,
2264  vfo_op_t op));
2265 
2266 extern HAMLIB_EXPORT(vfo_op_t)
2267 rig_has_vfo_op HAMLIB_PARAMS((RIG *rig,
2268  vfo_op_t op));
2269 
2270 extern HAMLIB_EXPORT(int)
2271 rig_scan HAMLIB_PARAMS((RIG *rig,
2272  vfo_t vfo,
2273  scan_t scan,
2274  int ch));
2275 
2276 extern HAMLIB_EXPORT(scan_t)
2277 rig_has_scan HAMLIB_PARAMS((RIG *rig,
2278  scan_t scan));
2279 
2280 extern HAMLIB_EXPORT(int)
2281 rig_set_channel HAMLIB_PARAMS((RIG *rig,
2282  const channel_t *chan)); /* mem */
2283 extern HAMLIB_EXPORT(int)
2284 rig_get_channel HAMLIB_PARAMS((RIG *rig,
2285  channel_t *chan));
2286 
2287 extern HAMLIB_EXPORT(int)
2288 rig_set_chan_all HAMLIB_PARAMS((RIG *rig,
2289  const channel_t chans[]));
2290 extern HAMLIB_EXPORT(int)
2291 rig_get_chan_all HAMLIB_PARAMS((RIG *rig,
2292  channel_t chans[]));
2293 
2294 extern HAMLIB_EXPORT(int)
2295 rig_set_chan_all_cb HAMLIB_PARAMS((RIG *rig,
2296  chan_cb_t chan_cb,
2297  rig_ptr_t));
2298 extern HAMLIB_EXPORT(int)
2299 rig_get_chan_all_cb HAMLIB_PARAMS((RIG *rig,
2300  chan_cb_t chan_cb,
2301  rig_ptr_t));
2302 
2303 extern HAMLIB_EXPORT(int)
2304 rig_set_mem_all_cb HAMLIB_PARAMS((RIG *rig,
2305  chan_cb_t chan_cb,
2306  confval_cb_t parm_cb,
2307  rig_ptr_t));
2308 extern HAMLIB_EXPORT(int)
2309 rig_get_mem_all_cb HAMLIB_PARAMS((RIG *rig,
2310  chan_cb_t chan_cb,
2311  confval_cb_t parm_cb,
2312  rig_ptr_t));
2313 
2314 extern HAMLIB_EXPORT(int)
2315 rig_set_mem_all HAMLIB_PARAMS((RIG *rig,
2316  const channel_t *chan,
2317  const struct confparams *,
2318  const value_t *));
2319 extern HAMLIB_EXPORT(int)
2320 rig_get_mem_all HAMLIB_PARAMS((RIG *rig,
2321  channel_t *chan,
2322  const struct confparams *,
2323  value_t *));
2324 
2325 extern HAMLIB_EXPORT(const chan_t *)
2326 rig_lookup_mem_caps HAMLIB_PARAMS((RIG *rig,
2327  int ch));
2328 
2329 extern HAMLIB_EXPORT(int)
2330 rig_mem_count HAMLIB_PARAMS((RIG *rig));
2331 
2332 extern HAMLIB_EXPORT(int)
2333 rig_set_trn HAMLIB_PARAMS((RIG *rig,
2334  int trn));
2335 extern HAMLIB_EXPORT(int)
2336 rig_get_trn HAMLIB_PARAMS((RIG *rig,
2337  int *trn));
2338 
2339 extern HAMLIB_EXPORT(int)
2340 rig_set_freq_callback HAMLIB_PARAMS((RIG *,
2341  freq_cb_t,
2342  rig_ptr_t));
2343 
2344 extern HAMLIB_EXPORT(int)
2345 rig_set_mode_callback HAMLIB_PARAMS((RIG *,
2346  mode_cb_t,
2347  rig_ptr_t));
2348 extern HAMLIB_EXPORT(int)
2349 rig_set_vfo_callback HAMLIB_PARAMS((RIG *,
2350  vfo_cb_t,
2351  rig_ptr_t));
2352 
2353 extern HAMLIB_EXPORT(int)
2354 rig_set_ptt_callback HAMLIB_PARAMS((RIG *,
2355  ptt_cb_t,
2356  rig_ptr_t));
2357 
2358 extern HAMLIB_EXPORT(int)
2359 rig_set_dcd_callback HAMLIB_PARAMS((RIG *,
2360  dcd_cb_t,
2361  rig_ptr_t));
2362 
2363 extern HAMLIB_EXPORT(int)
2364 rig_set_pltune_callback HAMLIB_PARAMS((RIG *,
2365  pltune_cb_t,
2366  rig_ptr_t));
2367 
2368 extern HAMLIB_EXPORT(int)
2369 rig_set_twiddle HAMLIB_PARAMS((RIG *rig,
2370  int seconds));
2371 
2372 extern HAMLIB_EXPORT(int)
2373 rig_get_twiddle HAMLIB_PARAMS((RIG *rig,
2374  int *seconds));
2375 
2376 extern HAMLIB_EXPORT(const char *)
2377 rig_get_info HAMLIB_PARAMS((RIG *rig));
2378 
2379 extern HAMLIB_EXPORT(const struct rig_caps *)
2380 rig_get_caps HAMLIB_PARAMS((rig_model_t rig_model));
2381 
2382 extern HAMLIB_EXPORT(const freq_range_t *)
2383 rig_get_range HAMLIB_PARAMS((const freq_range_t *range_list,
2384  freq_t freq,
2385  rmode_t mode));
2386 
2387 extern HAMLIB_EXPORT(pbwidth_t)
2388 rig_passband_normal HAMLIB_PARAMS((RIG *rig,
2389  rmode_t mode));
2390 extern HAMLIB_EXPORT(pbwidth_t)
2391 rig_passband_narrow HAMLIB_PARAMS((RIG *rig,
2392  rmode_t mode));
2393 extern HAMLIB_EXPORT(pbwidth_t)
2394 rig_passband_wide HAMLIB_PARAMS((RIG *rig,
2395  rmode_t mode));
2396 
2397 extern HAMLIB_EXPORT(const char *)
2398 rigerror HAMLIB_PARAMS((int errnum));
2399 
2400 extern HAMLIB_EXPORT(int)
2401 rig_setting2idx HAMLIB_PARAMS((setting_t s));
2402 
2403 extern setting_t rig_idx2setting(int i);
2404 /*
2405  * Even if these functions are prefixed with "rig_", they are not rig specific
2406  * Maybe "hamlib_" would have been better. Let me know. --SF
2407  */
2408 extern HAMLIB_EXPORT(void)
2409 rig_set_debug HAMLIB_PARAMS((enum rig_debug_level_e debug_level));
2410 
2411 extern HAMLIB_EXPORT(void)
2412 rig_set_debug_time_stamp HAMLIB_PARAMS((int flag));
2413 
2414 #define rig_set_debug_level(level) rig_set_debug(level)
2415 
2416 extern HAMLIB_EXPORT(int)
2417 rig_need_debug HAMLIB_PARAMS((enum rig_debug_level_e debug_level));
2418 
2419 
2420 
2421 #ifndef __cplusplus
2422 #ifdef __GNUC__
2423 // doing the debug macro with a dummy sprintf allows gcc to check the format string
2424 #define rig_debug(debug_level,fmt,...) { char xxxbuf[16384];snprintf(xxxbuf,sizeof(xxxbuf),fmt,__VA_ARGS__);rig_debug(debug_level,fmt,##__VA_ARGS__); }
2425 #endif
2426 #endif
2427 extern HAMLIB_EXPORT(void)
2428 rig_debug HAMLIB_PARAMS((enum rig_debug_level_e debug_level,
2429  const char *fmt, ...));
2430 
2431 extern HAMLIB_EXPORT(vprintf_cb_t)
2432 rig_set_debug_callback HAMLIB_PARAMS((vprintf_cb_t cb,
2433  rig_ptr_t arg));
2434 
2435 extern HAMLIB_EXPORT(FILE *)
2436 rig_set_debug_file HAMLIB_PARAMS((FILE *stream));
2437 
2438 extern HAMLIB_EXPORT(int)
2439 rig_register HAMLIB_PARAMS((const struct rig_caps *caps));
2440 
2441 extern HAMLIB_EXPORT(int)
2442 rig_unregister HAMLIB_PARAMS((rig_model_t rig_model));
2443 
2444 extern HAMLIB_EXPORT(int)
2445 rig_list_foreach HAMLIB_PARAMS((int (*cfunc)(const struct rig_caps *, rig_ptr_t),
2446  rig_ptr_t data));
2447 
2448 extern HAMLIB_EXPORT(int)
2449 rig_load_backend HAMLIB_PARAMS((const char *be_name));
2450 
2451 extern HAMLIB_EXPORT(int)
2452 rig_check_backend HAMLIB_PARAMS((rig_model_t rig_model));
2453 
2454 extern HAMLIB_EXPORT(int)
2455 rig_load_all_backends HAMLIB_PARAMS((void));
2456 
2457 typedef int (*rig_probe_func_t)(const hamlib_port_t *, rig_model_t, rig_ptr_t);
2458 
2459 extern HAMLIB_EXPORT(int)
2460 rig_probe_all HAMLIB_PARAMS((hamlib_port_t *p,
2461  rig_probe_func_t,
2462  rig_ptr_t));
2463 
2464 extern HAMLIB_EXPORT(rig_model_t)
2465 rig_probe HAMLIB_PARAMS((hamlib_port_t *p));
2466 
2467 
2468 /* Misc calls */
2469 extern HAMLIB_EXPORT(const char *) rig_strrmode(rmode_t mode);
2470 extern HAMLIB_EXPORT(int) rig_strrmodes(rmode_t modes, char *buf, int buflen);
2471 extern HAMLIB_EXPORT(const char *) rig_strvfo(vfo_t vfo);
2472 extern HAMLIB_EXPORT(const char *) rig_strfunc(setting_t);
2473 extern HAMLIB_EXPORT(const char *) rig_strlevel(setting_t);
2474 extern HAMLIB_EXPORT(const char *) rig_strparm(setting_t);
2475 extern HAMLIB_EXPORT(const char *) rig_strptrshift(rptr_shift_t);
2476 extern HAMLIB_EXPORT(const char *) rig_strvfop(vfo_op_t op);
2477 extern HAMLIB_EXPORT(const char *) rig_strscan(scan_t scan);
2478 extern HAMLIB_EXPORT(const char *) rig_strstatus(enum rig_status_e status);
2479 extern HAMLIB_EXPORT(const char *) rig_strmtype(chan_type_t mtype);
2480 
2481 extern HAMLIB_EXPORT(rmode_t) rig_parse_mode(const char *s);
2482 extern HAMLIB_EXPORT(vfo_t) rig_parse_vfo(const char *s);
2483 extern HAMLIB_EXPORT(setting_t) rig_parse_func(const char *s);
2484 extern HAMLIB_EXPORT(setting_t) rig_parse_level(const char *s);
2485 extern HAMLIB_EXPORT(setting_t) amp_parse_level(const char *s);
2486 extern HAMLIB_EXPORT(setting_t) rig_parse_parm(const char *s);
2487 extern HAMLIB_EXPORT(vfo_op_t) rig_parse_vfo_op(const char *s);
2488 extern HAMLIB_EXPORT(scan_t) rig_parse_scan(const char *s);
2489 extern HAMLIB_EXPORT(rptr_shift_t) rig_parse_rptr_shift(const char *s);
2490 extern HAMLIB_EXPORT(chan_type_t) rig_parse_mtype(const char *s);
2491 
2492 extern HAMLIB_EXPORT(const char *) rig_license HAMLIB_PARAMS(());
2493 extern HAMLIB_EXPORT(const char *) rig_version HAMLIB_PARAMS(());
2494 extern HAMLIB_EXPORT(const char *) rig_copyright HAMLIB_PARAMS(());
2495 
2496 HAMLIB_EXPORT(void) rig_no_restore_ai();
2497 
2498 #include <unistd.h>
2499 extern HAMLIB_EXPORT(int) hl_usleep(useconds_t msec);
2500 
2501 __END_DECLS
2502 
2503 #endif /* _RIG_H */
2504 
RIG_EARG
@ RIG_EARG
Definition: rig.h:127
hamlib_port::on_value
int on_value
Definition: rig.h:1708
RIG_LEVEL_NB
@ RIG_LEVEL_NB
Definition: rig.h:780
rig_get_ext_level
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:702
rig_port_e
rig_port_e
Port type.
Definition: rig.h:195
RIG_LEVEL_RAWSTR
@ RIG_LEVEL_RAWSTR
Definition: rig.h:767
tuning_step_list::ts
shortfreq_t ts
Definition: rig.h:1069
RIG_PARM_BACKLIGHT
@ RIG_PARM_BACKLIGHT
Definition: rig.h:803
hamlib_port
Port definition.
Definition: rig.h:1656
channel::bank_num
int bank_num
Definition: rig.h:1148
rig_get_func
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:573
cal_table::raw
int raw
Definition: rig.h:1313
RIG_EVFO
@ RIG_EVFO
Definition: rig.h:128
RIG_RESET_MASTER
@ RIG_RESET_MASTER
Definition: rig.h:529
rig_caps::serial_data_bits
int serial_data_bits
Definition: rig.h:1404
rig_caps::macro_name
const char * macro_name
Definition: rig.h:1647
rig_get_split_mode
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:2839
rig_caps::str_cal
cal_table_t str_cal
Definition: rig.h:1468
rig_get_resolution
shortfreq_t rig_get_resolution(RIG *rig, rmode_t mode)
get the best frequency resolution of the rig
Definition: rig.c:3897
rig_get_powerstat
int rig_get_powerstat(RIG *rig, powerstat_t *status)
get the on/off status of the radio
Definition: rig.c:3971
RIG_FLAG_MOBILE
@ RIG_FLAG_MOBILE
Definition: rig.h:252
channel::ctcss_tone
tone_t ctcss_tone
Definition: rig.h:1169
rig_caps::mfg_name
const char * mfg_name
Definition: rig.h:1392
rig_get_ext_func
int rig_get_ext_func(RIG *rig, vfo_t vfo, token_t token, int *status)
get the value of a function extra parameter
Definition: settings.c:833
channel_cap::ctcss_tone
unsigned ctcss_tone
Definition: rig.h:1211
RIG_DCD_CM108
@ RIG_DCD_CM108
Definition: rig.h:474
hamlib_port::vendor_name
char * vendor_name
Definition: rig.h:1703
ptt_t
ptt_t
PTT status.
Definition: rig.h:483
RIG_RESET_MCALL
@ RIG_RESET_MCALL
Definition: rig.h:528
hamlib_port::ptt_bitnum
int ptt_bitnum
Definition: rig.h:1694
rig_set_split_mode
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:2727
gran::max
value_t max
Definition: rig.h:1297
rig_caps::model_name
const char * model_name
Definition: rig.h:1391
rig_caps::rx_range_list3
freq_range_t rx_range_list3[30]
Definition: rig.h:1458
channel::mode
rmode_t mode
Definition: rig.h:1152
rig::callbacks
struct rig_callbacks callbacks
Definition: rig.h:1860
RIG_RPT_SHIFT_NONE
@ RIG_RPT_SHIFT_NONE
Definition: rig.h:301
channel_cap::rptr_offs
unsigned rptr_offs
Definition: rig.h:1205
hamlib_port::rate
int rate
Definition: rig.h:1680
RIG_LEVEL_MONITOR_GAIN
@ RIG_LEVEL_MONITOR_GAIN
Definition: rig.h:779
rig_state::level_gran
gran_t level_gran[64]
Definition: rig.h:1766
RIG_MTYPE_MEM
@ RIG_MTYPE_MEM
Definition: rig.h:1239
RIG_CONF_NUMERIC
@ RIG_CONF_NUMERIC
Definition: rig.h:613
RIG_DCD_NONE
@ RIG_DCD_NONE
Definition: rig.h:468
RIG_CONF_COMBO
@ RIG_CONF_COMBO
Definition: rig.h:612
RIG_PTT_CM108
@ RIG_PTT_CM108
Definition: rig.h:503
RIG_PTT_ON_MIC
@ RIG_PTT_ON_MIC
Definition: rig.h:486
rig_get_rit
int rig_get_rit(RIG *rig, vfo_t vfo, shortfreq_t *rit)
get the current RIT offset
Definition: rig.c:3294
rig_caps::dcd_type
dcd_type_t dcd_type
Definition: rig.h:1399
confparams::dflt
const char * dflt
Definition: rig.h:630
rig
The Rig structure.
Definition: rig.h:1857
rig_mem_count
int rig_mem_count(RIG *rig)
get memory channel count
Definition: mem.c:1642
rig_caps::chan_desc_sz
int chan_desc_sz
Definition: rig.h:1446
RIG_LEVEL_SQLSTAT
@ RIG_LEVEL_SQLSTAT
Definition: rig.h:768
RIG_PORT_DEVICE
@ RIG_PORT_DEVICE
Definition: rig.h:199
rig_set_chan_all_cb
int rig_set_chan_all_cb(RIG *rig, chan_cb_t chan_cb, char *arg)
set all channel data, by callback
Definition: mem.c:1093
rig_get_ts
int rig_get_ts(RIG *rig, vfo_t vfo, shortfreq_t *ts)
get the current Tuning Step
Definition: rig.c:3566
RIG_RESET_VFO
@ RIG_RESET_VFO
Definition: rig.h:527
rig_caps::serial_stop_bits
int serial_stop_bits
Definition: rig.h:1405
rig_parse_parm
setting_t HAMLIB_API rig_parse_parm(const char *s)
Convert alpha string to RIG_PARM_...
Definition: misc.c:844
RIG_ANN_RXMODE
@ RIG_ANN_RXMODE
Definition: rig.h:654
rig_parse_mtype
chan_type_t HAMLIB_API rig_parse_mtype(const char *s)
Convert alpha string to enum RIG_MTYPE_...
Definition: misc.c:1117
ant_t
unsigned int ant_t
Antenna number.
Definition: rig.h:664
rig_get_mem_all
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:1519
rptr_shift_t
rptr_shift_t
Repeater shift type.
Definition: rig.h:300
cal_table::val
int val
Definition: rig.h:1314
channel_cap::freq
unsigned freq
Definition: rig.h:1194
RIG_LEVEL_RFPOWER
@ RIG_LEVEL_RFPOWER
Definition: rig.h:750
channel::channel_desc
char channel_desc[30]
Definition: rig.h:1175
filter_list::width
pbwidth_t width
Definition: rig.h:1102
gran::min
value_t min
Definition: rig.h:1296
rig_status_e
rig_status_e
Development status of the backend.
Definition: rig.h:280
channel_cap::vfo
unsigned vfo
Definition: rig.h:1192
rig_set_ptt
int rig_set_ptt(RIG *rig, vfo_t vfo, ptt_t ptt)
set PTT on/off
Definition: rig.c:1792
RIG_AGC_USER
@ RIG_AGC_USER
Definition: rig.h:689
RIG_LEVEL_NR
@ RIG_LEVEL_NR
Definition: rig.h:746
rig_ext_parm_foreach
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.
Definition: ext.c:108
channel::funcs
setting_t funcs
Definition: rig.h:1167
rig_caps::serial_rate_min
int serial_rate_min
Definition: rig.h:1402
RIG_LEVEL_BALANCE
@ RIG_LEVEL_BALANCE
Definition: rig.h:757
RIG_PTT_NONE
@ RIG_PTT_NONE
Definition: rig.h:497
rig_caps::id_meter_cal
cal_table_float_t id_meter_cal
Definition: rig.h:1474
rig_state::announces
ann_t announces
Definition: rig.h:1754
chan_list::mem_caps
channel_cap_t mem_caps
Definition: rig.h:1267
dcd_type_t
dcd_type_t
DCD type.
Definition: rig.h:467
rig_state::comm_state
int comm_state
Definition: rig.h:1777
hamlib_port::usb
struct hamlib_port::@20::@24 usb
rig_set_vfo
int rig_set_vfo(RIG *rig, vfo_t vfo)
set the current VFO
Definition: rig.c:1692
rig_set_vfo_callback
int rig_set_vfo_callback(RIG *rig, vfo_cb_t cb, char *arg)
set the callback for vfo events
Definition: event.c:586
RIG_LEVEL_VOXDELAY
@ RIG_LEVEL_VOXDELAY
Definition: rig.h:760
RIG_DCD_SERIAL_DSR
@ RIG_DCD_SERIAL_DSR
Definition: rig.h:470
channel_cap::ext_levels
unsigned ext_levels
Definition: rig.h:1218
rig_caps::rig_model
rig_model_t rig_model
Definition: rig.h:1390
rig_state::has_get_parm
setting_t has_get_parm
Definition: rig.h:1763
cal_table::size
int size
Definition: rig.h:1311
chan_list::startc
int startc
Definition: rig.h:1263
rig_scan
int rig_scan(RIG *rig, vfo_t vfo, scan_t scan, int ch)
perform Memory/VFO operations
Definition: rig.c:4230
rig_caps::copyright
const char * copyright
Definition: rig.h:1394
RIG_MTYPE_NONE
@ RIG_MTYPE_NONE
Definition: rig.h:1238
RIG_CONF_BUTTON
@ RIG_CONF_BUTTON
Definition: rig.h:615
channel_cap::tx_freq
unsigned tx_freq
Definition: rig.h:1198
RIG_LEVEL_KEYSPD
@ RIG_LEVEL_KEYSPD
Definition: rig.h:752
RIG_OP_UP
@ RIG_OP_UP
Definition: rig.h:555
rig_caps::max_ifshift
shortfreq_t max_ifshift
Definition: rig.h:1436
ext_list::val
value_t val
Definition: rig.h:1133
rig_callbacks::freq_event
freq_cb_t freq_event
Definition: rig.h:1832
rig_has_vfo_op
vfo_op_t rig_has_vfo_op(RIG *rig, vfo_op_t op)
check retrieval ability of VFO operations
Definition: rig.c:4103
rig_model_t
uint32_t rig_model_t
Convenience type definition for rig model.
Definition: riglist.h:631
rig_cleanup
int rig_cleanup(RIG *rig)
release a rig handle and free associated memory
Definition: rig.c:1034
rig_caps::write_delay
int write_delay
Definition: rig.h:1409
RIG_PTT_GPIO
@ RIG_PTT_GPIO
Definition: rig.h:504
RIG_LEVEL_SLOPE_HIGH
@ RIG_LEVEL_SLOPE_HIGH
Definition: rig.h:763
rig_set_ext_level
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:636
freq_range_list::label
char * label
Definition: rig.h:1045
filter_list
Filter definition.
Definition: rig.h:1100
RIG_OP_TOGGLE
@ RIG_OP_TOGGLE
Definition: rig.h:562
RIG_ENTARGET
@ RIG_ENTARGET
Definition: rig.h:124
RIG_MTYPE_MEMOPAD
@ RIG_MTYPE_MEMOPAD
Definition: rig.h:1242
rig_set_debug_time_stamp
void rig_set_debug_time_stamp(int flag)
Enbable/disable time stamp on debug output.
Definition: debug.c:140
scan_t
scan_t
Rig Scan operation.
Definition: rig.h:574
rig_reset
int rig_reset(RIG *rig, reset_t reset)
reset the radio
Definition: rig.c:4003
RIG_LEVEL_NOTCHF
@ RIG_LEVEL_NOTCHF
Definition: rig.h:753
confparams
Configuration parameter structure.
Definition: rig.h:625
rig_ext_lookup
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:153
rig_get_info
const char * rig_get_info(RIG *rig)
get general information from the radio
Definition: rig.c:4609
hamlib_port::parm
union hamlib_port::@20 parm
channel_cap
Channel capability definition.
Definition: rig.h:1190
hamlib_port::iface
int iface
Definition: rig.h:1701
chan_type_t
chan_type_t
Memory channel type definition.
Definition: rig.h:1237
rig_caps::rx_range_list1
freq_range_t rx_range_list1[30]
Definition: rig.h:1454
channel_cap::dcs_code
unsigned dcs_code
Definition: rig.h:1213
RIG_DCD_RIG
@ RIG_DCD_RIG
Definition: rig.h:469
ext_list
Extension attribute definition.
Definition: rig.h:1131
rig_state::current_freq
freq_t current_freq
Definition: rig.h:1783
rig_state::has_set_parm
setting_t has_set_parm
Definition: rig.h:1764
RIG_ANN_NONE
@ RIG_ANN_NONE
Definition: rig.h:651
rig_passband_narrow
pbwidth_t rig_passband_narrow(RIG *rig, rmode_t mode)
get the narrow passband of a mode
Definition: rig.c:1587
rig_mW2power
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:3839
rig_caps::level_gran
gran_t level_gran[64]
Definition: rig.h:1421
RIG_LEVEL_ANTIVOX
@ RIG_LEVEL_ANTIVOX
Definition: rig.h:761
chan_list
Memory channel list definition.
Definition: rig.h:1262
powerstat_t
powerstat_t
Radio power state.
Definition: rig.h:512
RIG_LEVEL_SQL
@ RIG_LEVEL_SQL
Definition: rig.h:743
RIG_LEVEL_VD_METER
@ RIG_LEVEL_VD_METER
Definition: rig.h:775
rig_caps::rx_range_list5
freq_range_t rx_range_list5[30]
Definition: rig.h:1462
RIG_PORT_RPC
@ RIG_PORT_RPC
Definition: rig.h:203
channel::flags
int flags
Definition: rig.h:1174
RIG_DEBUG_NONE
@ RIG_DEBUG_NONE
Definition: rig.h:146
value_t::l
int l
Definition: rig.h:722
RIG_RPT_SHIFT_PLUS
@ RIG_RPT_SHIFT_PLUS
Definition: rig.h:303
rig_state::rx_range_list
freq_range_t rx_range_list[30]
Definition: rig.h:1739
ptt_type_t
ptt_type_t
PTT type.
Definition: rig.h:496
RIG_LEVEL_MICGAIN
@ RIG_LEVEL_MICGAIN
Definition: rig.h:751
shortfreq_t
signed long shortfreq_t
Short frequency type.
Definition: rig.h:340
rig_state::attenuator
int attenuator[8]
Definition: rig.h:1757
value_t::s
char * s
Definition: rig.h:719
rig_state::max_ifshift
shortfreq_t max_ifshift
Definition: rig.h:1752
freq_t
double freq_t
Frequency type,.
Definition: rig.h:321
rig_state::current_width
pbwidth_t current_width
Definition: rig.h:1785
RIG_PORT_SERIAL
@ RIG_PORT_SERIAL
Definition: rig.h:197
RIG_OP_BAND_DOWN
@ RIG_OP_BAND_DOWN
Definition: rig.h:558
rigerror
const char * rigerror(int errnum)
get string describing the error code
Definition: rig.c:286
rig_set_func
int rig_set_func(RIG *rig, vfo_t vfo, setting_t func, int status)
activate/de-activate functions of radio
Definition: settings.c:506
rig_recv_dtmf
int rig_recv_dtmf(RIG *rig, vfo_t vfo, char *digits, int *length)
receive DTMF digits
Definition: rig.c:4368
rig_get_ext_parm
int rig_get_ext_parm(RIG *rig, token_t token, value_t *val)
get the value of a parm extra parameter
Definition: settings.c:930
rig_state::has_get_func
setting_t has_get_func
Definition: rig.h:1759
rig_state::max_rit
shortfreq_t max_rit
Definition: rig.h:1750
rig_send_morse
int rig_send_morse(RIG *rig, vfo_t vfo, const char *msg)
send morse code
Definition: rig.c:4436
hamlib_port::value
int value
Definition: rig.h:1709
rig_state::vfo_list
int vfo_list
Definition: rig.h:1776
rig_set_mem_all
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:1452
RIG_BUSBUSY
@ RIG_BUSBUSY
Definition: rig.h:126
channel::rptr_shift
rptr_shift_t rptr_shift
Definition: rig.h:1162
rig_set_mode_callback
int rig_set_mode_callback(RIG *rig, mode_cb_t cb, char *arg)
set the callback for mode events
Definition: event.c:556
pbwidth_t
shortfreq_t pbwidth_t
Passband width, in Hz.
Definition: rig.h:450
confparams::n
struct confparams::@12::@13 n
hamlib_port::gpio
struct hamlib_port::@20::@25 gpio
hamlib_port::pid
int pid
Definition: rig.h:1699
rig_callbacks::mode_event
mode_cb_t mode_event
Definition: rig.h:1834
rig_caps::transceive
int transceive
Definition: rig.h:1443
rig_caps::rfpower_meter_cal
cal_table_float_t rfpower_meter_cal
Definition: rig.h:1471
rig_caps::cfgparams
const struct confparams * cfgparams
Definition: rig.h:1476
RIG_POWER_ON
@ RIG_POWER_ON
Definition: rig.h:514
RIG_FLAG_DXCLUSTER
@ RIG_FLAG_DXCLUSTER
Definition: rig.h:258
channel_cap::ant
unsigned ant
Definition: rig.h:1193
rig_parse_vfo
vfo_t HAMLIB_API rig_parse_vfo(const char *s)
Convert alpha string to enum RIG_VFO_...
Definition: misc.c:476
hamlib_port::rts_state
enum serial_control_state_e rts_state
Definition: rig.h:1685
RIG_FLAG_TUNER
@ RIG_FLAG_TUNER
Definition: rig.h:259
rig_set_twiddle
int rig_set_twiddle(RIG *rig, int seconds)
timeout (secs) to stop rigctld when VFO is manually changed
Definition: rig.c:1079
RIG_ETRUNC
@ RIG_ETRUNC
Definition: rig.h:122
freq_range_t
struct freq_range_list freq_range_t
Frequency range.
value_t::f
float f
Definition: rig.h:718
rig_get_split_freq_mode
int rig_get_split_freq_mode(RIG *rig, vfo_t vfo, freq_t *tx_freq, rmode_t *tx_mode, pbwidth_t *tx_width)
get the current split frequency and mode
Definition: rig.c:3018
RIG_LEVEL_ATT
@ RIG_LEVEL_ATT
Definition: rig.h:739
serial_handshake_e
serial_handshake_e
Serial handshake.
Definition: rig.h:228
rig_caps::extlevels
const struct confparams * extlevels
Definition: rig.h:1425
rig_get_rptr_shift
int rig_get_rptr_shift(RIG *rig, vfo_t vfo, rptr_shift_t *rptr_shift)
get the current repeater shift
Definition: rig.c:2311
rig_caps::serial_handshake
enum serial_handshake_e serial_handshake
Definition: rig.h:1407
RIG_DEBUG_BUG
@ RIG_DEBUG_BUG
Definition: rig.h:147
hamlib_port::dtr_state
enum serial_control_state_e dtr_state
Definition: rig.h:1686
rig_has_set_func
setting_t rig_has_set_func(RIG *rig, setting_t func)
check ability of radio functions
Definition: settings.c:475
value_t
Universal approach for passing values.
Definition: rig.h:716
RIG_SCAN_PROG
@ RIG_SCAN_PROG
Definition: rig.h:579
rig_parse_vfo_op
vfo_op_t HAMLIB_API rig_parse_vfo_op(const char *s)
Convert alpha string to enum RIG_OP_...
Definition: misc.c:922
RIG_CONF_STRING
@ RIG_CONF_STRING
Definition: rig.h:611
channel::ext_levels
struct ext_list * ext_levels
Definition: rig.h:1176
RIG_PARM_NONE
@ RIG_PARM_NONE
Definition: rig.h:800
rig_has_scan
scan_t rig_has_scan(RIG *rig, scan_t scan)
check availability of scanning functions
Definition: rig.c:4201
RIG_STATUS_ALPHA
@ RIG_STATUS_ALPHA
Definition: rig.h:281
rig_strstatus
const char *HAMLIB_API rig_strstatus(enum rig_status_e status)
Convert enum RIG_STATUS_... to printable string.
Definition: misc.c:283
rig_caps::preamp
int preamp[8]
Definition: rig.h:1432
rig_state::priv
char * priv
Definition: rig.h:1778
rig::state
struct rig_state state
Definition: rig.h:1859
RIG_OP_MCL
@ RIG_OP_MCL
Definition: rig.h:554
channel_cap::tx_width
unsigned tx_width
Definition: rig.h:1200
confparams::u
union confparams::@12 u
RIG_ANN_ENG
@ RIG_ANN_ENG
Definition: rig.h:656
rig_set_ctcss_sql
int rig_set_ctcss_sql(RIG *rig, vfo_t vfo, tone_t tone)
set CTCSS squelch
Definition: tones.c:362
channel::tx_vfo
vfo_t tx_vfo
Definition: rig.h:1160
rig_get_split_vfo
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:3152
RIG_MTYPE_EDGE
@ RIG_MTYPE_EDGE
Definition: rig.h:1240
RIG_ANN_FREQ
@ RIG_ANN_FREQ
Definition: rig.h:653
rig_caps::swr_cal
cal_table_float_t swr_cal
Definition: rig.h:1469
rig_caps::tx_range_list2
freq_range_t tx_range_list2[30]
Definition: rig.h:1457
RIG_ENAVAIL
@ RIG_ENAVAIL
Definition: rig.h:123
RIG_EPROTO
@ RIG_EPROTO
Definition: rig.h:120
channel_cap::scan_group
unsigned scan_group
Definition: rig.h:1215
hamlib_port::parity
enum serial_parity_e parity
Definition: rig.h:1683
channel::dcs_sql
tone_t dcs_sql
Definition: rig.h:1172
RIG_FLAG_HANDHELD
@ RIG_FLAG_HANDHELD
Definition: rig.h:253
rig_errcode_e
rig_errcode_e
Hamlib error codes Error code definition that can be returned by the Hamlib functions....
Definition: rig.h:111
RIG_PARM_TIME
@ RIG_PARM_TIME
Definition: rig.h:805
rig_caps::has_get_func
setting_t has_get_func
Definition: rig.h:1414
channel_cap::ctcss_sql
unsigned ctcss_sql
Definition: rig.h:1212
RIG_RESET_SOFT
@ RIG_RESET_SOFT
Definition: rig.h:526
channel::scan_group
int scan_group
Definition: rig.h:1173
RIG_HANDSHAKE_HARDWARE
@ RIG_HANDSHAKE_HARDWARE
Definition: rig.h:231
RIG_LEVEL_METER
@ RIG_LEVEL_METER
Definition: rig.h:758
channel::split
split_t split
Definition: rig.h:1159
RIG_HANDSHAKE_XONXOFF
@ RIG_HANDSHAKE_XONXOFF
Definition: rig.h:230
RIG_STATUS_STABLE
@ RIG_STATUS_STABLE
Definition: rig.h:284
rig_state::current_vfo
vfo_t current_vfo
Definition: rig.h:1775
RIG_PARM_KEYLIGHT
@ RIG_PARM_KEYLIGHT
Definition: rig.h:807
rig_parse_level
setting_t HAMLIB_API rig_parse_level(const char *s)
Convert alpha string to enum RIG_LEVEL_...
Definition: misc.c:712
rig_caps::has_set_func
setting_t has_set_func
Definition: rig.h:1415
RIG_PTT_OFF
@ RIG_PTT_OFF
Definition: rig.h:484
hamlib_port::handle
void * handle
Definition: rig.h:1664
rig_set_freq_callback
int rig_set_freq_callback(RIG *rig, freq_cb_t cb, char *arg)
set the callback for freq events
Definition: event.c:526
rig_caps::filters
struct filter_list filters[60]
Definition: rig.h:1466
hamlib_port::rig
rig_port_t rig
Definition: rig.h:1658
RIG_LEVEL_NONE
@ RIG_LEVEL_NONE
Definition: rig.h:737
RIG_STATUS_UNTESTED
@ RIG_STATUS_UNTESTED
Definition: rig.h:282
rig_type_t
rig_type_t
Rig type flags.
Definition: rig.h:248
RIG_EDOM
@ RIG_EDOM
Definition: rig.h:129
rig_state::transmit
int transmit
Definition: rig.h:1788
RIG_PORT_PACKET
@ RIG_PORT_PACKET
Definition: rig.h:200
rig_set_mode
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:1378
RIG_PARITY_ODD
@ RIG_PARITY_ODD
Definition: rig.h:218
RIG_PTT_ON_DATA
@ RIG_PTT_ON_DATA
Definition: rig.h:487
hamlib_port::ptt
ptt_type_t ptt
Definition: rig.h:1659
rig_get_trn
int rig_get_trn(RIG *rig, int *trn)
get the current transceive mode
Definition: event.c:855
RIG_DCD_SERIAL_CTS
@ RIG_DCD_SERIAL_CTS
Definition: rig.h:471
cal_table_float
Calibration table struct for float values.
Definition: rig.h:1338
rig_caps::targetable_vfo
int targetable_vfo
Definition: rig.h:1442
freq_range_list::vfo
vfo_t vfo
Definition: rig.h:1043
filter_list::modes
rmode_t modes
Definition: rig.h:1101
rig_set_dcs_code
int rig_set_dcs_code(RIG *rig, vfo_t vfo, tone_t code)
set the current encoding DCS code
Definition: tones.c:230
rig_callbacks::pltune_arg
char * pltune_arg
Definition: rig.h:1843
channel_cap::rptr_shift
unsigned rptr_shift
Definition: rig.h:1204
rig_token_lookup
token_t rig_token_lookup(RIG *rig, const char *name)
lookup a token id
Definition: conf.c:983
cal_table_float::table
struct cal_table_float::@17 table[32/*max calibration plots in cal_table_t */]
rig_conf_e
rig_conf_e
parameter types
Definition: rig.h:610
rig_strptrshift
const char *HAMLIB_API rig_strptrshift(rptr_shift_t)
convert enum RIG_RPT_SHIFT_... to printable character
Definition: misc.c:1049
channel_cap::mode
unsigned mode
Definition: rig.h:1195
RIG_PARM_ANN
@ RIG_PARM_ANN
Definition: rig.h:801
rig_state::mode_list
rmode_t mode_list
Definition: rig.h:1787
rig_caps
Definition: rig.h:1389
rig_caps::extparms
const struct confparams * extparms
Definition: rig.h:1424
RIG_ENIMPL
@ RIG_ENIMPL
Definition: rig.h:116
rig_caps::clone_combo_get
const char * clone_combo_get
Definition: rig.h:1646
rig_state::tx_range_list
freq_range_t tx_range_list[30]
Definition: rig.h:1740
channel::tx_freq
freq_t tx_freq
Definition: rig.h:1155
rig_power2mW
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:3783
rig_has_set_parm
setting_t rig_has_set_parm(RIG *rig, setting_t parm)
check settable ability of parameter settings
Definition: settings.c:417
rig_caps::serial_rate_max
int serial_rate_max
Definition: rig.h:1403
rig_ext_level_foreach
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.
Definition: ext.c:63
RIG_MTYPE_SAT
@ RIG_MTYPE_SAT
Definition: rig.h:1243
hamlib_port::handshake
enum serial_handshake_e handshake
Definition: rig.h:1684
channel::tx_width
pbwidth_t tx_width
Definition: rig.h:1157
RIG_SIGNAL_UNSET
@ RIG_SIGNAL_UNSET
Definition: rig.h:239
RIG_SIGNAL_ON
@ RIG_SIGNAL_ON
Definition: rig.h:240
rig_open
int rig_open(RIG *rig)
open the communication to the rig
Definition: rig.c:535
RIG_SIGNAL_OFF
@ RIG_SIGNAL_OFF
Definition: rig.h:241
rig_probe_all
int rig_probe_all(hamlib_port_t *port, rig_probe_func_t cfunc, char *data)
try to guess rigs
Definition: rig.c:4072
RIG_POWER_STANDBY
@ RIG_POWER_STANDBY
Definition: rig.h:515
RIG_LEVEL_VOX
@ RIG_LEVEL_VOX
Definition: rig.h:740
rig_state::transceive
int transceive
Definition: rig.h:1781
rig_strmtype
const char *HAMLIB_API rig_strmtype(chan_type_t mtype)
Convert enum RIG_MTYPE_... to alpha string.
Definition: misc.c:1142
rig_confparam_lookup
const struct confparams * rig_confparam_lookup(RIG *rig, const char *name)
lookup a confparam struct
Definition: conf.c:927
rig_set_xit
int rig_set_xit(RIG *rig, vfo_t vfo, shortfreq_t xit)
set the XIT
Definition: rig.c:3362
rig_get_ptt
int rig_get_ptt(RIG *rig, vfo_t vfo, ptt_t *ptt)
get the status of the PTT
Definition: rig.c:1987
RIG_OP_RIGHT
@ RIG_OP_RIGHT
Definition: rig.h:560
rig_caps::bank_qty
int bank_qty
Definition: rig.h:1445
rig_state::poll_interval
int poll_interval
Definition: rig.h:1782
rig_set_conf
int rig_set_conf(RIG *rig, token_t token, const char *val)
set a radio configuration parameter
Definition: conf.c:1014
rig_callbacks::ptt_event
ptt_cb_t ptt_event
Definition: rig.h:1838
RIG_PORT_GPION
@ RIG_PORT_GPION
Definition: rig.h:209
RIG_PTT_SERIAL_RTS
@ RIG_PTT_SERIAL_RTS
Definition: rig.h:500
RIG_SCAN_NONE
@ RIG_SCAN_NONE
Definition: rig.h:575
rig_state::parm_gran
gran_t parm_gran[64]
Definition: rig.h:1767
rig_caps::vfo_ops
vfo_op_t vfo_ops
Definition: rig.h:1440
rig_idx2setting
setting_t rig_idx2setting(int i)
Definition: misc.c:579
confparams::name
const char * name
Definition: rig.h:627
RIG_LEVEL_APF
@ RIG_LEVEL_APF
Definition: rig.h:745
RIG_ANN_CW
@ RIG_ANN_CW
Definition: rig.h:655
rig_caps::alc_cal
cal_table_float_t alc_cal
Definition: rig.h:1470
rig_caps::priv
const char * priv
Definition: rig.h:1477
rig_set_debug_file
FILE * rig_set_debug_file(FILE *stream)
change stderr to some different output
Definition: debug.c:291
rig_callbacks::pltune
pltune_cb_t pltune
Definition: rig.h:1842
dcd_t
enum dcd_e dcd_t
DCD status.
RIG_DEBUG_TRACE
@ RIG_DEBUG_TRACE
Definition: rig.h:151
channel_cap::width
unsigned width
Definition: rig.h:1196
RIG_DEBUG_VERBOSE
@ RIG_DEBUG_VERBOSE
Definition: rig.h:150
rig_caps::has_get_parm
setting_t has_get_parm
Definition: rig.h:1418
rig_state::rigport
hamlib_port_t rigport
Definition: rig.h:1732
rig_state::has_get_level
setting_t has_get_level
Definition: rig.h:1761
cal_table
Calibration table struct.
Definition: rig.h:1310
rig_get_xit
int rig_get_xit(RIG *rig, vfo_t vfo, shortfreq_t *xit)
get the current XIT offset
Definition: rig.c:3430
rig_state::itu_region
int itu_region
Definition: rig.h:1738
channel::ant
ant_t ant
Definition: rig.h:1150
rig_caps::serial_parity
enum serial_parity_e serial_parity
Definition: rig.h:1406
rig_strrmodes
int HAMLIB_API rig_strrmodes(rmode_t modes, char *buf, int buflen)
Convert RIG_MODE or'd value to alpha string of all modes.
Definition: misc.c:413
RIG_ANN_JAP
@ RIG_ANN_JAP
Definition: rig.h:657
channel::vfo
vfo_t vfo
Definition: rig.h:1149
hamlib_port::product
char * product
Definition: rig.h:1704
rig_init
RIG * rig_init(rig_model_t rig_model)
allocate a new RIG handle
Definition: rig.c:311
channel::ctcss_sql
tone_t ctcss_sql
Definition: rig.h:1170
rig_set_chan_all
int rig_set_chan_all(RIG *rig, const channel_t chans[])
set all channel data
Definition: mem.c:1179
RIG_SCAN_PLT
@ RIG_SCAN_PLT
Definition: rig.h:582
rig_state::pttport
hamlib_port_t pttport
Definition: rig.h:1733
freq_range_list::low_power
int low_power
Definition: rig.h:1041
channel_cap::bank_num
unsigned bank_num
Definition: rig.h:1191
rig_strfunc
const char *HAMLIB_API rig_strfunc(setting_t)
Convert enum RIG_FUNC_... to alpha string.
Definition: misc.c:616
RIG_PTT_PARALLEL
@ RIG_PTT_PARALLEL
Definition: rig.h:501
RIG_CONF_BINARY
@ RIG_CONF_BINARY
Definition: rig.h:616
rig_parse_rptr_shift
rptr_shift_t HAMLIB_API rig_parse_rptr_shift(const char *s)
Convert alpha char to enum RIG_RPT_SHIFT_...
Definition: misc.c:1074
rig_debug
void rig_debug(enum rig_debug_level_e debug_level, const char *fmt,...)
Default is debugging messages are done through stderr.
Definition: debug.c:167
RIG_FLAG_SCANNER
@ RIG_FLAG_SCANNER
Definition: rig.h:251
rig_set_ext_func
int rig_set_ext_func(RIG *rig, vfo_t vfo, token_t token, int status)
set a radio function extra parameter
Definition: settings.c:767
confparams::tooltip
const char * tooltip
Definition: rig.h:629
rig_caps::version
const char * version
Definition: rig.h:1393
rig_set_rptr_shift
int rig_set_rptr_shift(RIG *rig, vfo_t vfo, rptr_shift_t rptr_shift)
set the repeater shift
Definition: rig.c:2243
RIG_LEVEL_CWPITCH
@ RIG_LEVEL_CWPITCH
Definition: rig.h:749
RIG_LEVEL_NOTCHF_RAW
@ RIG_LEVEL_NOTCHF_RAW
Definition: rig.h:778
rig_caps::post_write_delay
int post_write_delay
Definition: rig.h:1410
rig::caps
struct rig_caps * caps
Definition: rig.h:1858
RIG_POWER_UNKNOWN
@ RIG_POWER_UNKNOWN
Definition: rig.h:517
RIG_FLAG_COMPUTER
@ RIG_FLAG_COMPUTER
Definition: rig.h:254
rig_state
Rig state containing live data and customized fields.
Definition: rig.h:1728
RIG_SCAN_SLCT
@ RIG_SCAN_SLCT
Definition: rig.h:577
rig_get_ant
int rig_get_ant(RIG *rig, vfo_t vfo, ant_t ant, value_t *option, ant_t *ant_curr, ant_t *ant_tx, ant_t *ant_rx)
get the current antenna
Definition: rig.c:3706
rig_state::hold_decode
int hold_decode
Definition: rig.h:1774
RIG_FLAG_TRUNKING
@ RIG_FLAG_TRUNKING
Definition: rig.h:255
rig_caps::has_set_parm
setting_t has_set_parm
Definition: rig.h:1419
rig_send_voice_mem
int rig_send_voice_mem(RIG *rig, vfo_t vfo, int ch)
send voice memory content
Definition: rig.c:4504
rig_port_t
enum rig_port_e rig_port_t
Port type.
rig_caps::port_type
rig_port_t port_type
Definition: rig.h:1400
channel_cap::channel_desc
unsigned channel_desc
Definition: rig.h:1217
rig_state::has_set_level
setting_t has_set_level
Definition: rig.h:1762
amp_parse_level
setting_t HAMLIB_API amp_parse_level(const char *s)
Convert alpha string to enum AMP_LEVEL_...
Definition: misc.c:736
freq_range_list::ant
ant_t ant
Definition: rig.h:1044
rig_caps::status
enum rig_status_e status
Definition: rig.h:1395
RIG_PARM_BAT
@ RIG_PARM_BAT
Definition: rig.h:806
rig_ext_lookup_tok
const struct confparams * rig_ext_lookup_tok(RIG *rig, token_t token)
lookup ext token, return pointer to confparams struct.
Definition: ext.c:200
rig_state::twiddle_time
time_t twiddle_time
Definition: rig.h:1792
RIG_LEVEL_VOXGAIN
@ RIG_LEVEL_VOXGAIN
Definition: rig.h:759
tuning_step_list
Tuning step definition.
Definition: rig.h:1067
RIG_LEVEL_PBT_OUT
@ RIG_LEVEL_PBT_OUT
Definition: rig.h:748
rig_get_twiddle
int rig_get_twiddle(RIG *rig, int *seconds)
get the twiddle timeout value (secs)
Definition: rig.c:1104
channel_cap::funcs
setting_t funcs
Definition: rig.h:1209
RIG_DCD_GPION
@ RIG_DCD_GPION
Definition: rig.h:476
channel::levels
value_t levels[64]
Definition: rig.h:1168
rig_set_mem_all_cb
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:1320
rig_get_mode
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:1462
RIG_LEVEL_COMP
@ RIG_LEVEL_COMP
Definition: rig.h:754
rig_vfo_op
int rig_vfo_op(RIG *rig, vfo_t vfo, vfo_op_t op)
perform Memory/VFO operations
Definition: rig.c:4131
RIG_BUSERROR
@ RIG_BUSERROR
Definition: rig.h:125
rig_caps::tx_range_list3
freq_range_t tx_range_list3[30]
Definition: rig.h:1459
rig_state::tuning_steps
struct tuning_step_list tuning_steps[20]
Definition: rig.h:1742
RIG_OP_XCHG
@ RIG_OP_XCHG
Definition: rig.h:551
RIG_SCAN_PRIO
@ RIG_SCAN_PRIO
Definition: rig.h:578
channel::xit
shortfreq_t xit
Definition: rig.h:1166
RIG_DCD_OFF
@ RIG_DCD_OFF
Definition: rig.h:457
RIG_LEVEL_ID_METER
@ RIG_LEVEL_ID_METER
Definition: rig.h:776
rig_get_dcs_code
int rig_get_dcs_code(RIG *rig, vfo_t vfo, tone_t *code)
get the current encoding DCS code
Definition: tones.c:292
hamlib_port::pathname
char pathname[512]
Definition: rig.h:1676
meter_level_e
meter_level_e
Level display meters.
Definition: rig.h:699
RIG_DCD_SERIAL_CAR
@ RIG_DCD_SERIAL_CAR
Definition: rig.h:472
rig_caps::parm_gran
gran_t parm_gran[64]
Definition: rig.h:1422
RIG_SPLIT_ON
@ RIG_SPLIT_ON
Definition: rig.h:312
rig_set_dcs_sql
int rig_set_dcs_sql(RIG *rig, vfo_t vfo, tone_t code)
set the current DCS code
Definition: tones.c:491
RIG_OP_LEFT
@ RIG_OP_LEFT
Definition: rig.h:559
value_t::i
signed int i
Definition: rig.h:717
rig_get_rptr_offs
int rig_get_rptr_offs(RIG *rig, vfo_t vfo, shortfreq_t *rptr_offs)
get the current repeater offset
Definition: rig.c:2447
rig_caps::ext_tokens
int * ext_tokens
Definition: rig.h:1427
rig_callbacks::ptt_arg
char * ptt_arg
Definition: rig.h:1839
RIG_ANN_OFF
@ RIG_ANN_OFF
Definition: rig.h:652
RIG_PORT_USB
@ RIG_PORT_USB
Definition: rig.h:205
RIG_LEVEL_SLOPE_LOW
@ RIG_LEVEL_SLOPE_LOW
Definition: rig.h:762
rig_strvfop
const char *HAMLIB_API rig_strvfop(vfo_op_t op)
Convert enum RIG_OP_... to alpha string.
Definition: misc.c:947
rig_caps::vd_meter_cal
cal_table_float_t vd_meter_cal
Definition: rig.h:1473
channel_cap::dcs_sql
unsigned dcs_sql
Definition: rig.h:1214
freq_range_list::startf
freq_t startf
Definition: rig.h:1038
rig_set_rit
int rig_set_rit(RIG *rig, vfo_t vfo, shortfreq_t rit)
set the RIT
Definition: rig.c:3226
rig_caps::has_get_level
setting_t has_get_level
Definition: rig.h:1416
RIG_OP_NONE
@ RIG_OP_NONE
Definition: rig.h:549
rig_caps::rx_range_list4
freq_range_t rx_range_list4[30]
Definition: rig.h:1460
RIG_LEVEL_COMP_METER
@ RIG_LEVEL_COMP_METER
Definition: rig.h:774
RIG_FLAG_TNC
@ RIG_FLAG_TNC
Definition: rig.h:257
RIG_PORT_PARALLEL
@ RIG_PORT_PARALLEL
Definition: rig.h:204
RIG_OP_TO_VFO
@ RIG_OP_TO_VFO
Definition: rig.h:553
RIG_PTT_ON
@ RIG_PTT_ON
Definition: rig.h:485
RIG_SCAN_DELTA
@ RIG_SCAN_DELTA
Definition: rig.h:580
rig_caps::announces
ann_t announces
Definition: rig.h:1438
rig_set_debug
void rig_set_debug(enum rig_debug_level_e debug_level)
Change the current debug level.
Definition: debug.c:121
RIG_PARM_BEEP
@ RIG_PARM_BEEP
Definition: rig.h:804
vfo_op_t
vfo_op_t
VFO operation.
Definition: rig.h:548
RIG_RESET_NONE
@ RIG_RESET_NONE
Definition: rig.h:525
cal_table_float::val
float val
Definition: rig.h:1342
rig_get_range
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:4571
dcd_e
dcd_e
DCD status.
Definition: rig.h:456
rig_callbacks::vfo_event
vfo_cb_t vfo_event
Definition: rig.h:1836
RIG_PORT_UDP_NETWORK
@ RIG_PORT_UDP_NETWORK
Definition: rig.h:206
rig_caps::scan_ops
scan_t scan_ops
Definition: rig.h:1441
rig_set_split_freq_mode
int rig_set_split_freq_mode(RIG *rig, vfo_t vfo, freq_t tx_freq, rmode_t tx_mode, pbwidth_t tx_width)
set the split frequency and mode
Definition: rig.c:2959
rig_get_dcs_sql
int rig_get_dcs_sql(RIG *rig, vfo_t vfo, tone_t *code)
get the current DCS code
Definition: tones.c:553
RIG_POWER_OFF
@ RIG_POWER_OFF
Definition: rig.h:513
RIG_ENOMEM
@ RIG_ENOMEM
Definition: rig.h:115
rig_strrmode
const char *HAMLIB_API rig_strrmode(rmode_t mode)
Convert enum RIG_MODE to alpha string.
Definition: misc.c:381
RIG_MTYPE_BAND
@ RIG_MTYPE_BAND
Definition: rig.h:1244
hamlib_port::cm108
struct hamlib_port::@20::@23 cm108
rig_level_e
rig_level_e
Rig Level Settings.
Definition: rig.h:736
rig_caps::tx_range_list1
freq_range_t tx_range_list1[30]
Definition: rig.h:1455
RIG_STATUS_BUGGY
@ RIG_STATUS_BUGGY
Definition: rig.h:285
RIG_PORT_NONE
@ RIG_PORT_NONE
Definition: rig.h:196
channel::freq
freq_t freq
Definition: rig.h:1151
RIG_EIO
@ RIG_EIO
Definition: rig.h:118
chan_list::endc
int endc
Definition: rig.h:1264
rig_state::str_cal
cal_table_t str_cal
Definition: rig.h:1746
rig_has_get_parm
setting_t rig_has_get_parm(RIG *rig, setting_t parm)
check retrieval ability of parameter settings
Definition: settings.c:388
RIG_PARITY_SPACE
@ RIG_PARITY_SPACE
Definition: rig.h:221
rig_state::twiddle_timeout
int twiddle_timeout
Definition: rig.h:1793
RIG_MTYPE_CALL
@ RIG_MTYPE_CALL
Definition: rig.h:1241
rig_strparm
const char *HAMLIB_API rig_strparm(setting_t)
Convert enum RIG_PARM_... to alpha string.
Definition: misc.c:869
cal_table_float::size
int size
Definition: rig.h:1339
RIG_SPLIT_OFF
@ RIG_SPLIT_OFF
Definition: rig.h:311
freq_range_list::high_power
int high_power
Definition: rig.h:1042
RIG_PARM_SCREENSAVER
@ RIG_PARM_SCREENSAVER
Definition: rig.h:808
rig_callbacks::freq_arg
char * freq_arg
Definition: rig.h:1833
confparams::min
float min
Definition: rig.h:634
RIG_LEVEL_PBT_IN
@ RIG_LEVEL_PBT_IN
Definition: rig.h:747
rig_state::obj
char * obj
Definition: rig.h:1779
rig_caps::max_rit
shortfreq_t max_rit
Definition: rig.h:1434
rig_get_conf
int rig_get_conf(RIG *rig, token_t token, char *val)
get the value of a configuration parameter
Definition: conf.c:1067
rig_caps::clone_combo_set
const char * clone_combo_set
Definition: rig.h:1645
rig_get_mem
int rig_get_mem(RIG *rig, vfo_t vfo, int *ch)
get the current memory channel number
Definition: mem.c:135
hamlib_port::retry
int retry
Definition: rig.h:1674
channel::tuning_step
shortfreq_t tuning_step
Definition: rig.h:1164
RIG_FLAG_TRANSMITTER
@ RIG_FLAG_TRANSMITTER
Definition: rig.h:250
RIG_ECONF
@ RIG_ECONF
Definition: rig.h:114
rig_set_parm
int rig_set_parm(RIG *rig, setting_t parm, value_t val)
set a radio parameter
Definition: settings.c:233
hamlib_port::write_delay
int write_delay
Definition: rig.h:1666
ann_t
ann_t
Announce.
Definition: rig.h:650
agc_level_e
agc_level_e
AGC delay settings.
Definition: rig.h:684
cal_table_float::raw
int raw
Definition: rig.h:1341
confparams::combostr
const char * combostr[16]
Definition: rig.h:639
freq_range_list::endf
freq_t endf
Definition: rig.h:1039
rig_set_rptr_offs
int rig_set_rptr_offs(RIG *rig, vfo_t vfo, shortfreq_t rptr_offs)
set the repeater offset
Definition: rig.c:2379
hamlib_port::dcd
dcd_type_t dcd
Definition: rig.h:1660
rig_get_level
int rig_get_level(RIG *rig, vfo_t vfo, setting_t level, value_t *val)
get the value of a level
Definition: settings.c:147
serial_parity_e
serial_parity_e
Serial parity.
Definition: rig.h:216
hamlib_port::stop_bits
int stop_bits
Definition: rig.h:1682
rig_close
int rig_close(RIG *rig)
close the communication to the rig
Definition: rig.c:879
rig_parse_mode
rmode_t HAMLIB_API rig_parse_mode(const char *s)
Convert alpha string to enum RIG_MODE.
Definition: misc.c:356
confparams::token
token_t token
Definition: rig.h:626
rig_set_level
int rig_set_level(RIG *rig, vfo_t vfo, setting_t level, value_t val)
set a radio level setting
Definition: settings.c:77
channel::width
pbwidth_t width
Definition: rig.h:1153
channel_cap::tuning_step
unsigned tuning_step
Definition: rig.h:1206
chan_list::type
chan_type_t type
Definition: rig.h:1265
split_t
split_t
Split mode.
Definition: rig.h:310
RIG_POWER_OPERATE
@ RIG_POWER_OPERATE
Definition: rig.h:516
rig_set_ctcss_tone
int rig_set_ctcss_tone(RIG *rig, vfo_t vfo, tone_t tone)
set CTCSS sub-tone frequency
Definition: tones.c:100
rig_parse_scan
scan_t HAMLIB_API rig_parse_scan(const char *s)
Convert alpha string to enum RIG_SCAN_...
Definition: misc.c:996
RIG_SCAN_MEM
@ RIG_SCAN_MEM
Definition: rig.h:576
rig_callbacks
Callback functions and args for rig event.
Definition: rig.h:1831
rig_set_freq
int rig_set_freq(RIG *rig, vfo_t vfo, freq_t freq)
set the frequency of the target VFO
Definition: rig.c:1179
RIG_FLAG_RECEIVER
@ RIG_FLAG_RECEIVER
Definition: rig.h:249
rig_callbacks::dcd_arg
char * dcd_arg
Definition: rig.h:1841
rig_get_ctcss_sql
int rig_get_ctcss_sql(RIG *rig, vfo_t vfo, tone_t *tone)
get the current CTCSS squelch
Definition: tones.c:429
RIG_DEBUG_WARN
@ RIG_DEBUG_WARN
Definition: rig.h:149
rig_set_pltune_callback
int rig_set_pltune_callback(RIG *rig, pltune_cb_t cb, char *arg)
set the callback for pipelined tuning module
Definition: event.c:678
rig_set_debug_callback
vprintf_cb_t rig_set_debug_callback(vprintf_cb_t cb, char *arg)
set callback to handle debug messages
Definition: debug.c:276
rig_callbacks::mode_arg
char * mode_arg
Definition: rig.h:1835
rig_has_get_func
setting_t rig_has_get_func(RIG *rig, setting_t func)
check ability of radio functions
Definition: settings.c:446
rig_get_channel
int rig_get_channel(RIG *rig, channel_t *chan)
get channel data
Definition: mem.c:840
channel_cap::levels
setting_t levels
Definition: rig.h:1210
reset_t
reset_t
Reset operation.
Definition: rig.h:524
RIG_PARITY_MARK
@ RIG_PARITY_MARK
Definition: rig.h:220
vfo_t
unsigned int vfo_t
VFO definition.
Definition: rig.h:369
rig_set_ext_parm
int rig_set_ext_parm(RIG *rig, token_t token, value_t val)
set a radio parm extra parameter
Definition: settings.c:898
channel::channel_num
int channel_num
Definition: rig.h:1147
rig_get_freq
int rig_get_freq(RIG *rig, vfo_t vfo, freq_t *freq)
get the frequency of the target VFO
Definition: rig.c:1285
channel_cap::xit
unsigned xit
Definition: rig.h:1208
RIG_LEVEL_AGC
@ RIG_LEVEL_AGC
Definition: rig.h:755
RIG_FLAG_APRS
@ RIG_FLAG_APRS
Definition: rig.h:256
rig_set_channel
int rig_set_channel(RIG *rig, const channel_t *chan)
set channel data
Definition: mem.c:688
hamlib_port::timeout
int timeout
Definition: rig.h:1673
rig_ext_token_lookup
token_t rig_ext_token_lookup(RIG *rig, const char *name)
Simple lookup returning token id assicated with name.
Definition: ext.c:236
rig_has_get_level
setting_t rig_has_get_level(RIG *rig, setting_t level)
check retrieval ability of level settings
Definition: settings.c:301
hamlib_copyright2
const char * hamlib_copyright2
Hamlib copyright notice.
Definition: rig.c:91
RIG_LEVEL_SWR
@ RIG_LEVEL_SWR
Definition: rig.h:769
RIG_LEVEL_STRENGTH
@ RIG_LEVEL_STRENGTH
Definition: rig.h:771
hamlib_port_t
struct hamlib_port hamlib_port_t
Port definition.
hl_usleep
int HAMLIB_API hl_usleep(useconds_t usec)
provide sleep and usleep replacements
Definition: sleep.c:53
RIG_OK
@ RIG_OK
Definition: rig.h:112
hamlib_port::post_write_delay
int post_write_delay
Definition: rig.h:1667
RIG_RPT_SHIFT_MINUS
@ RIG_RPT_SHIFT_MINUS
Definition: rig.h:302
hamlib_port::alt
int alt
Definition: rig.h:1702
rig_caps::ptt_type
ptt_type_t ptt_type
Definition: rig.h:1398
rig_set_split_freq
int rig_set_split_freq(RIG *rig, vfo_t vfo, freq_t tx_freq)
set the split frequencies
Definition: rig.c:2515
rig_set_trn
int rig_set_trn(RIG *rig, int trn)
control the transceive mode
Definition: event.c:707
rig_caps::dcs_list
const tone_t * dcs_list
Definition: rig.h:1430
RIG_ERJCTED
@ RIG_ERJCTED
Definition: rig.h:121
rig_set_mem
int rig_set_mem(RIG *rig, vfo_t vfo, int ch)
set the current memory channel number
Definition: mem.c:72
rig_passband_wide
pbwidth_t rig_passband_wide(RIG *rig, rmode_t mode)
get the wide passband of a mode
Definition: rig.c:1639
channel_cap::rit
unsigned rit
Definition: rig.h:1207
token_t
long token_t
configuration token
Definition: rig.h:590
rig_get_mem_all_cb
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:1387
hamlib_port::serial
struct hamlib_port::@20::@21 serial
RIG_LEVEL_IF
@ RIG_LEVEL_IF
Definition: rig.h:744
RIG_DCD_GPIO
@ RIG_DCD_GPIO
Definition: rig.h:475
RIG_LEVEL_PREAMP
@ RIG_LEVEL_PREAMP
Definition: rig.h:738
RIG_PORT_ULTRA
@ RIG_PORT_ULTRA
Definition: rig.h:202
rig_get_chan_all_cb
int rig_get_chan_all_cb(RIG *rig, chan_cb_t chan_cb, char *arg)
get all channel data, by callback
Definition: mem.c:1139
rig_set_bank
int rig_set_bank(RIG *rig, vfo_t vfo, int bank)
set the current memory bank
Definition: mem.c:198
tuning_step_list::modes
rmode_t modes
Definition: rig.h:1068
rig_set_powerstat
int rig_set_powerstat(RIG *rig, powerstat_t status)
turn on/off the radio
Definition: rig.c:3938
freq_range_list
Frequency range.
Definition: rig.h:1037
RIG_PTT_RIG
@ RIG_PTT_RIG
Definition: rig.h:498
RIG_PARITY_EVEN
@ RIG_PARITY_EVEN
Definition: rig.h:219
rig_passband_normal
pbwidth_t rig_passband_normal(RIG *rig, rmode_t mode)
get the normal passband of a mode
Definition: rig.c:1547
rig_state::filters
struct filter_list filters[60]
Definition: rig.h:1744
rig_lookup_mem_caps
const chan_t * rig_lookup_mem_caps(RIG *rig, int ch)
lookup the memory type and capabilities
Definition: mem.c:1577
RIG_ETIMEOUT
@ RIG_ETIMEOUT
Definition: rig.h:117
setting_t
uint64_t setting_t
Setting.
Definition: rig.h:823
rig_state::lo_freq
freq_t lo_freq
Definition: rig.h:1791
channel::rit
shortfreq_t rit
Definition: rig.h:1165
rig_caps::attenuator
int attenuator[8]
Definition: rig.h:1433
RIG_LEVEL_BKIN_DLYMS
@ RIG_LEVEL_BKIN_DLYMS
Definition: rig.h:764
rig_debug_level_e
rig_debug_level_e
Hamlib debug levels.
Definition: rig.h:145
rig_set_ptt_callback
int rig_set_ptt_callback(RIG *rig, ptt_cb_t cb, char *arg)
set the callback for ptt events
Definition: event.c:616
confparams::type
enum rig_conf_e type
Definition: rig.h:631
cal_table::table
struct cal_table::@16 table[32/*max calibration plots in cal_table_t */]
channel::tx_mode
rmode_t tx_mode
Definition: rig.h:1156
rig_caps::comp_meter_cal
cal_table_float_t comp_meter_cal
Definition: rig.h:1472
hamlib_port::pin
int pin
Definition: rig.h:1690
RIG_OP_BAND_UP
@ RIG_OP_BAND_UP
Definition: rig.h:557
RIG_LEVEL_BKINDL
@ RIG_LEVEL_BKINDL
Definition: rig.h:756
rig_strscan
const char *HAMLIB_API rig_strscan(scan_t scan)
Convert enum RIG_SCAN_... to alpha string.
Definition: misc.c:1021
serial_control_state_e
serial_control_state_e
Serial control state.
Definition: rig.h:238
RIG_SCAN_STOP
@ RIG_SCAN_STOP
Definition: rig.h:583
RIG_CONF_CHECKBUTTON
@ RIG_CONF_CHECKBUTTON
Definition: rig.h:614
RIG_LEVEL_RF
@ RIG_LEVEL_RF
Definition: rig.h:742
RIG_LEVEL_AF
@ RIG_LEVEL_AF
Definition: rig.h:741
channel_cap::split
unsigned split
Definition: rig.h:1202
rig_get_parm
int rig_get_parm(RIG *rig, setting_t parm, value_t *val)
get the value of a parameter
Definition: settings.c:267
rig_get_chan_all
int rig_get_chan_all(RIG *rig, channel_t chans[])
get all channel data
Definition: mem.c:1221
rig_caps::retry
int retry
Definition: rig.h:1412
rig_caps::tx_range_list5
freq_range_t tx_range_list5[30]
Definition: rig.h:1463
rig_parse_func
setting_t HAMLIB_API rig_parse_func(const char *s)
Convert alpha string to enum RIG_FUNC_...
Definition: misc.c:591
rig_caps::timeout
int timeout
Definition: rig.h:1411
hamlib_port::fd
int fd
Definition: rig.h:1663
RIG_PARM_APO
@ RIG_PARM_APO
Definition: rig.h:802
confparams::max
float max
Definition: rig.h:635
RIG_EINVAL
@ RIG_EINVAL
Definition: rig.h:113
rig_caps::tx_range_list4
freq_range_t tx_range_list4[30]
Definition: rig.h:1461
rig_caps::tuning_steps
struct tuning_step_list tuning_steps[20]
Definition: rig.h:1465
RIG_OP_TUNE
@ RIG_OP_TUNE
Definition: rig.h:561
channel::rptr_offs
shortfreq_t rptr_offs
Definition: rig.h:1163
rig_caps::rig_type
int rig_type
Definition: rig.h:1397
RIG_PORT_DTMF
@ RIG_PORT_DTMF
Definition: rig.h:201
rig_get_split_freq
int rig_get_split_freq(RIG *rig, vfo_t vfo, freq_t *tx_freq)
get the current split frequencies
Definition: rig.c:2619
RIG_PTT_RIG_MICDATA
@ RIG_PTT_RIG_MICDATA
Definition: rig.h:502
rig_state::tx_vfo
vfo_t tx_vfo
Definition: rig.h:1786
channel_cap::flags
unsigned flags
Definition: rig.h:1216
RIG_PORT_GPIO
@ RIG_PORT_GPIO
Definition: rig.h:208
channel::dcs_code
tone_t dcs_code
Definition: rig.h:1171
channel_cap::tx_mode
unsigned tx_mode
Definition: rig.h:1199
RIG_OP_FROM_VFO
@ RIG_OP_FROM_VFO
Definition: rig.h:552
hamlib_port::conf
int conf
Definition: rig.h:1700
rig_get_vfo
int rig_get_vfo(RIG *rig, vfo_t *vfo)
get the current VFO
Definition: rig.c:1748
channel
Channel structure.
Definition: rig.h:1146
RIG_DCD_PARALLEL
@ RIG_DCD_PARALLEL
Definition: rig.h:473
rig_set_ant
int rig_set_ant(RIG *rig, vfo_t vfo, ant_t ant, value_t option)
set the antenna
Definition: rig.c:3638
confparams::c
struct confparams::@12::@14 c
RIG_PORT_CM108
@ RIG_PORT_CM108
Definition: rig.h:207
rig_callbacks::dcd_event
dcd_cb_t dcd_event
Definition: rig.h:1840
rig_set_split_vfo
int rig_set_split_vfo(RIG *rig, vfo_t vfo, split_t split, vfo_t tx_vfo)
set the split mode
Definition: rig.c:3067
gran
level/parm granularity definition
Definition: rig.h:1295
RIG_LEVEL_ALC
@ RIG_LEVEL_ALC
Definition: rig.h:770
rig_set_ts
int rig_set_ts(RIG *rig, vfo_t vfo, shortfreq_t ts)
set the Tuning Step
Definition: rig.c:3498
RIG_OP_DOWN
@ RIG_OP_DOWN
Definition: rig.h:556
rig_state::current_mode
rmode_t current_mode
Definition: rig.h:1784
ext_list::token
token_t token
Definition: rig.h:1132
hamlib_port::data_bits
int data_bits
Definition: rig.h:1681
rig_state::vfo_comp
double vfo_comp
Definition: rig.h:1736
rig_has_set_level
setting_t rig_has_set_level(RIG *rig, setting_t level)
check settable ability of level settings
Definition: settings.c:359
freq_range_list::modes
rmode_t modes
Definition: rig.h:1040
RIG_DCD_ON
@ RIG_DCD_ON
Definition: rig.h:458
hamlib_port::vid
int vid
Definition: rig.h:1698
RIG_SCAN_VFO
@ RIG_SCAN_VFO
Definition: rig.h:581
rig_state::max_xit
shortfreq_t max_xit
Definition: rig.h:1751
rig_callbacks::vfo_arg
char * vfo_arg
Definition: rig.h:1837
rig_strlevel
const char *HAMLIB_API rig_strlevel(setting_t)
Convert enum RIG_LEVEL_... to alpha string.
Definition: misc.c:767
channel_cap::tx_vfo
unsigned tx_vfo
Definition: rig.h:1203
rig_set_dcd_callback
int rig_set_dcd_callback(RIG *rig, dcd_cb_t cb, char *arg)
set the callback for dcd events
Definition: event.c:646
value_t::cs
const char * cs
Definition: rig.h:720
RIG_DEBUG_ERR
@ RIG_DEBUG_ERR
Definition: rig.h:148
RIG_STATUS_BETA
@ RIG_STATUS_BETA
Definition: rig.h:283
rig_caps::rx_range_list2
freq_range_t rx_range_list2[30]
Definition: rig.h:1456
rig_need_debug
int rig_need_debug(enum rig_debug_level_e debug_level)
Useful for dump_hex, etc.
Definition: debug.c:131
rig_state::preamp
int preamp[8]
Definition: rig.h:1756
RIG_PARITY_NONE
@ RIG_PARITY_NONE
Definition: rig.h:217
rig_state::has_set_func
setting_t has_set_func
Definition: rig.h:1760
rig_probe
rig_model_t rig_probe(hamlib_port_t *port)
try to guess a rig
Definition: rig.c:4042
tone_t
unsigned int tone_t
CTCSS and DCS type definition.
Definition: rig.h:189
rmode_t
uint64_t rmode_t
Radio mode.
Definition: rig.h:946
rig_parm_e
rig_parm_e
Rig Parameters.
Definition: rig.h:799
rig_state::dcdport
hamlib_port_t dcdport
Definition: rig.h:1734
gran::step
value_t step
Definition: rig.h:1298
rig_setting2idx
int rig_setting2idx(setting_t s)
basically convert setting_t expressed 2^n to n
Definition: settings.c:957
riglist.h
Hamlib rig(radio) model definitions.
RIG_MTYPE_PRIO
@ RIG_MTYPE_PRIO
Definition: rig.h:1245
rig_caps::extfuncs
const struct confparams * extfuncs
Definition: rig.h:1426
RIG_LEVEL_RFPOWER_METER
@ RIG_LEVEL_RFPOWER_METER
Definition: rig.h:773
rig_caps::ctcss_list
const tone_t * ctcss_list
Definition: rig.h:1429
RIG_PTT_GPION
@ RIG_PTT_GPION
Definition: rig.h:505
rig_send_dtmf
int rig_send_dtmf(RIG *rig, vfo_t vfo, const char *digits)
send DTMF digits
Definition: rig.c:4299
rig_token_foreach
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:873
RIG_PORT_NETWORK
@ RIG_PORT_NETWORK
Definition: rig.h:198
rig_get_ctcss_tone
int rig_get_ctcss_tone(RIG *rig, vfo_t vfo, tone_t *tone)
get the current CTCSS sub-tone frequency
Definition: tones.c:167
hamlib_port::parallel
struct hamlib_port::@20::@22 parallel
RIG_OP_CPY
@ RIG_OP_CPY
Definition: rig.h:550
RIG_PTT_SERIAL_DTR
@ RIG_PTT_SERIAL_DTR
Definition: rig.h:499
hamlib_port::post_write_date
struct hamlib_port::@19 post_write_date
rig_get_dcd
int rig_get_dcd(RIG *rig, vfo_t vfo, dcd_t *dcd)
get the status of the DCD
Definition: rig.c:2138
confparams::step
float step
Definition: rig.h:636
rig_caps::has_set_level
setting_t has_set_level
Definition: rig.h:1417
rig_caps::max_xit
shortfreq_t max_xit
Definition: rig.h:1435
rig_strvfo
const char *HAMLIB_API rig_strvfo(vfo_t vfo)
Convert enum RIG_VFO_... to alpha string.
Definition: misc.c:501
RIG_HANDSHAKE_NONE
@ RIG_HANDSHAKE_NONE
Definition: rig.h:229
confparams::label
const char * label
Definition: rig.h:628
RIG_EINTERNAL
@ RIG_EINTERNAL
Definition: rig.h:119

Generated by doxygen 1.8.17

Hamlib documentation for version 4.0~git -- Sun Apr 5 2020 00:00:00
Project page: http://www.hamlib.org