29 #define RIGCAPS_NOT_CONST 1 34 #define HAMLIB_SECRET_LENGTH 32 36 #define HAMLIB_TRACE rig_debug(RIG_DEBUG_TRACE,"%s%s(%d) trace\n",spaces(STATE(rig)->depth), __FILE__, __LINE__) 37 #define __FILENAME__ (strrchr(__FILE__, '/') ? strrchr(__FILE__, '/') + 1 : __FILE__) 51 #include <sys/socket.h> 52 #include <netinet/in.h> 53 #include <arpa/inet.h> 60 #warning TIMESIZE != 64 -- Please report your OS system to hamlib-developer@lists.sourceforge.net 66 #define HAVE_STRUCT_TIMESPEC 94 # define __BEGIN_DECLS extern "C" { 95 # define __END_DECLS } 97 # define __BEGIN_DECLS 107 #if defined (__STDC__) \ 109 || (defined (__mips) && defined (_SYSTYPE_SVR4)) \ 110 || defined(__CYGWIN__) \ 112 || defined(__cplusplus) 113 # define HAMLIB_PARAMS(protos) protos 114 # define rig_ptr_t void * 115 # define amp_ptr_t void * 117 # define HAMLIB_PARAMS(protos) () 118 # define rig_ptr_t char * 119 # define amp_ptr_t char * 123 #include <hamlib/rig_dll.h> 126 #define CONSTANT_64BIT_FLAG(BIT) (1ull << (BIT)) 140 #define CONSTANT_64BIT_FLAG(BIT) (1ul << (BIT)) 146 #define HAMLIB_FIFO_SIZE 1024 150 char data[HAMLIB_FIFO_SIZE];
155 pthread_mutex_t mutex;
167 #define HAMLIB_COOKIE_SIZE 37 168 extern int cookie_use;
169 extern int skip_init;
172 extern HAMLIB_EXPORT_VAR(
const char) hamlib_version[];
173 extern HAMLIB_EXPORT_VAR(
const char) hamlib_copyright[];
174 extern HAMLIB_EXPORT_VAR(
const char *) hamlib_version2;
223 #define RIG_IS_SOFT_ERRCODE(errcode) (errcode == RIG_EINVAL || errcode == RIG_ENIMPL || errcode == RIG_ERJCTED \ 224 || errcode == RIG_ETRUNC || errcode == RIG_ENAVAIL || errcode == RIG_ENTARGET \ 225 || errcode == RIG_EVFO || errcode == RIG_EDOM || errcode == RIG_EDEPRECATED \ 226 || errcode == RIG_ESECURITY || errcode == RIG_EPOWER) 231 #define NETRIGCTL_RET "RPRT " 265 #define HAMLIB_RIGNAMSIZ 30 266 #define HAMLIB_RIGVERSIZ 8 267 #define HAMLIB_FILPATHLEN 512 268 #define HAMLIB_FRQRANGESIZ 30 269 #define HAMLIB_MAXCHANDESC 30 270 #define HAMLIB_TSLSTSIZ 20 271 #define HAMLIB_FLTLSTSIZ 60 272 #define HAMLIB_MAXDBLSTSIZ 8 273 #define HAMLIB_CHANLSTSIZ 16 274 #define HAMLIB_MAX_AGC_LEVELS 8 275 #define HAMLIB_MAX_SPECTRUM_SCOPES 4 276 #define HAMLIB_MAX_SPECTRUM_MODES 5 277 #define HAMLIB_MAX_SPECTRUM_AVG_MODES 12 278 #define HAMLIB_MAX_SPECTRUM_SPANS 20 279 #define HAMLIB_MAX_SPECTRUM_DATA 2048 280 #define HAMLIB_MAX_CAL_LENGTH 32 281 #define HAMLIB_MAX_MODES 63 282 #define HAMLIB_MAX_VFOS 31 283 #define HAMLIB_MAX_ROTORS 63 284 #define HAMLIB_MAX_VFO_OPS 31 285 #define HAMLIB_MAX_RSCANS 31 286 #define HAMLIB_MAX_SNAPSHOT_PACKET_SIZE 16384 300 #define CTCSS_LIST_SIZE 60 301 #define DCS_LIST_SIZE 128 302 typedef unsigned int tone_t;
396 #define RIG_FLAG_TRANSCEIVER (RIG_FLAG_RECEIVER|RIG_FLAG_TRANSMITTER) 397 #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) 399 #define RIG_TYPE_OTHER 0 400 #define RIG_TYPE_TRANSCEIVER RIG_FLAG_TRANSCEIVER 401 #define RIG_TYPE_HANDHELD (RIG_FLAG_TRANSCEIVER|RIG_FLAG_HANDHELD) 402 #define RIG_TYPE_MOBILE (RIG_FLAG_TRANSCEIVER|RIG_FLAG_MOBILE) 403 #define RIG_TYPE_RECEIVER RIG_FLAG_RECEIVER 404 #define RIG_TYPE_PCRECEIVER (RIG_FLAG_COMPUTER|RIG_FLAG_RECEIVER) 405 #define RIG_TYPE_SCANNER (RIG_FLAG_SCANNER|RIG_FLAG_RECEIVER) 406 #define RIG_TYPE_TRUNKSCANNER (RIG_TYPE_SCANNER|RIG_FLAG_TRUNKING) 407 #define RIG_TYPE_COMPUTER (RIG_FLAG_TRANSCEIVER|RIG_FLAG_COMPUTER) 408 #define RIG_TYPE_TUNER RIG_FLAG_TUNER 429 #define RIG_STATUS_NEW RIG_STATUS_UNTESTED 461 #define PRIfreq ".0f" 470 #define FREQFMT SCNfreq 481 #define Hz(f) ((freq_t)(f)) 483 #define kHz(f) ((freq_t)((f)*(freq_t)1000)) 485 #define MHz(f) ((freq_t)((f)*(freq_t)1000000)) 487 #define GHz(f) ((freq_t)((f)*(freq_t)1000000000)) 490 #define s_Hz(f) ((shortfreq_t)(f)) 492 #define s_kHz(f) ((shortfreq_t)((f)*(shortfreq_t)1000)) 494 #define s_MHz(f) ((shortfreq_t)((f)*(shortfreq_t)1000000)) 496 #define s_GHz(f) ((shortfreq_t)((f)*(shortfreq_t)1000000000)) 499 #define RIG_FREQ_NONE Hz(0) 520 #define RIG_VFO_N(n) (1u<<(n)) 523 #define RIG_VFO_NONE 0 526 #define RIG_VFO_A RIG_VFO_N(0) 529 #define RIG_VFO_B RIG_VFO_N(1) 532 #define RIG_VFO_C RIG_VFO_N(2) 538 #define RIG_VFO_SUB_A RIG_VFO_N(21) 541 #define RIG_VFO_SUB_B RIG_VFO_N(22) 544 #define RIG_VFO_SUB_C RIG_VFO_N(3) 547 #define RIG_VFO_MAIN_A RIG_VFO_N(23) 550 #define RIG_VFO_MAIN_B RIG_VFO_N(24) 553 #define RIG_VFO_MAIN_C RIG_VFO_N(4) 556 #define RIG_VFO_OTHER RIG_VFO_N(5) 559 #define RIG_VFO_SUB RIG_VFO_N(25) 562 #define RIG_VFO_MAIN RIG_VFO_N(26) 565 #define RIG_VFO_VFO RIG_VFO_N(27) 568 #define RIG_VFO_MEM RIG_VFO_N(28) 571 #define RIG_VFO_CURR RIG_VFO_N(29) 574 #define RIG_VFO_TX_FLAG RIG_VFO_N(30) 577 #define RIG_VFO_ALL RIG_VFO_N(31) 584 #define RIG_VFO_TX_VFO(v) ((v)|RIG_VFO_TX_FLAG) 587 #define RIG_VFO_TX RIG_VFO_TX_VFO(RIG_VFO_CURR) 590 #define RIG_VFO_RX RIG_VFO_CURR 600 #define RIG_TARGETABLE_NONE 0 601 #define RIG_TARGETABLE_FREQ (1<<0) 602 #define RIG_TARGETABLE_MODE (1<<1) // mode by vfo or same mode on both vfos 603 #define RIG_TARGETABLE_PURE (1<<2) // deprecated -- not used -- reuse it 604 #define RIG_TARGETABLE_TONE (1<<3) 605 #define RIG_TARGETABLE_FUNC (1<<4) 606 #define RIG_TARGETABLE_LEVEL (1<<5) 607 #define RIG_TARGETABLE_RITXIT (1<<6) 608 #define RIG_TARGETABLE_PTT (1<<7) 609 #define RIG_TARGETABLE_MEM (1<<8) 610 #define RIG_TARGETABLE_BANK (1<<9) 611 #define RIG_TARGETABLE_ANT (1<<10) 612 #define RIG_TARGETABLE_ROOFING (1<<11) // roofing filter targetable by VFO 613 #define RIG_TARGETABLE_SPECTRUM (1<<12) // spectrum scope targetable by VFO 614 #define RIG_TARGETABLE_BAND (1<<13) // Band select -- e.g. Yaesu BS command 615 #define RIG_TARGETABLE_COMMON (RIG_TARGETABLE_RITXIT | RIG_TARGETABLE_PTT | RIG_TARGETABLE_MEM | RIG_TARGETABLE_BANK) 616 #define RIG_TARGETABLE_ALL 0x7fffffff 624 #define VFO_HAS_A_B ((STATE(rig)->vfo_list & (RIG_VFO_A|RIG_VFO_B)) == (RIG_VFO_A|RIG_VFO_B)) 625 #define VFO_HAS_MAIN_SUB ((STATE(rig)->vfo_list & (RIG_VFO_MAIN|RIG_VFO_SUB)) == (RIG_VFO_MAIN|RIG_VFO_SUB)) 626 #define VFO_HAS_MAIN_SUB_ONLY ((!VFO_HAS_A_B) & VFO_HAS_MAIN_SUB) 627 #define VFO_HAS_MAIN_SUB_A_B_ONLY (VFO_HAS_A_B & VFO_HAS_MAIN_SUB) 628 #define VFO_HAS_A_B_ONLY (VFO_HAS_A_B & (!VFO_HAS_MAIN_SUB)) 629 #define VFO_DUAL (RIG_VFO_MAIN_A|RIG_VFO_MAIN_B|RIG_VFO_SUB_A|RIG_VFO_SUB_B) 630 #define VFO_HAS_DUAL ((STATE(rig)->vfo_list & VFO_DUAL) == VFO_DUAL) 637 #define RIG_PASSBAND_NORMAL s_Hz(0) 642 #define RIG_PASSBAND_NOCHANGE s_Hz(-1) 650 typedef float agc_time_t;
826 #define RIG_BANDSELECT_ALL 827 #define RIG_BANDSELECT_LF (RIG_BANDSELECT_2200M | RIG_BANDSELECT_600M) 828 #define RIG_BANDSELECT_HF (RIG_BANDSELECT_160M | RIG_BANDSELECT_80M | RIG_BANDSELECT_60M | RIG_BANDSELECT_40M\ 829 | RIG_BANDSELECT_30M | RIG_BANDSELECT_20M | RIG_BANDSELECT_17M | RIG_BANDSELECT_15M | RIG_BANDSELECT_12M\ 830 RIG_BANDSELECT_10M | RIG_BANDSELECT_6M) 831 #define RIG_BANDSELECT_VHF (RIG_BANDSELECT_AIR | RIG_BANDSELECT_2M| RIG_BANDSELECT_1_25M( 832 #define RIG_BANDSELECT_UHF (RIG_BANDSELECT_70CM) 860 #define token_t hamlib_token_t 864 #define RIG_CONF_END 0 893 #define RIG_COMBO_MAX 16 894 #define RIG_BIN_MAX 80 984 #define RIG_ANT_NONE 0 985 #define RIG_ANT_N(n) ((ant_t)1<<(n)) 986 #define RIG_ANT_1 RIG_ANT_N(0) 987 #define RIG_ANT_2 RIG_ANT_N(1) 988 #define RIG_ANT_3 RIG_ANT_N(2) 989 #define RIG_ANT_4 RIG_ANT_N(3) 990 #define RIG_ANT_5 RIG_ANT_N(4) 992 #define RIG_ANT_UNKNOWN RIG_ANT_N(30) 993 #define RIG_ANT_CURR RIG_ANT_N(31) 995 #define RIG_ANT_MAX 32 999 #define RIG_AGC_LAST 99999 1008 RIG_METER_SWR = (1 << 0),
1009 RIG_METER_COMP = (1 << 1),
1010 RIG_METER_ALC = (1 << 2),
1011 RIG_METER_IC = (1 << 3),
1012 RIG_METER_DB = (1 << 4),
1013 RIG_METER_PO = (1 << 5),
1014 RIG_METER_VDD = (1 << 6),
1015 RIG_METER_TEMP = (1 << 7)
1049 #define RIG_LEVEL_NONE 0 1050 #define RIG_LEVEL_PREAMP CONSTANT_64BIT_FLAG(0) 1051 #define RIG_LEVEL_ATT CONSTANT_64BIT_FLAG(1) 1052 #define RIG_LEVEL_VOXDELAY CONSTANT_64BIT_FLAG(2) 1053 #define RIG_LEVEL_AF CONSTANT_64BIT_FLAG(3) 1054 #define RIG_LEVEL_RF CONSTANT_64BIT_FLAG(4) 1055 #define RIG_LEVEL_SQL CONSTANT_64BIT_FLAG(5) 1056 #define RIG_LEVEL_IF CONSTANT_64BIT_FLAG(6) 1057 #define RIG_LEVEL_APF CONSTANT_64BIT_FLAG(7) 1058 #define RIG_LEVEL_NR CONSTANT_64BIT_FLAG(8) 1059 #define RIG_LEVEL_PBT_IN CONSTANT_64BIT_FLAG(9) 1060 #define RIG_LEVEL_PBT_OUT CONSTANT_64BIT_FLAG(10) 1061 #define RIG_LEVEL_CWPITCH CONSTANT_64BIT_FLAG(11) 1062 #define RIG_LEVEL_RFPOWER CONSTANT_64BIT_FLAG(12) 1063 #define RIG_LEVEL_MICGAIN CONSTANT_64BIT_FLAG(13) 1064 #define RIG_LEVEL_KEYSPD CONSTANT_64BIT_FLAG(14) 1065 #define RIG_LEVEL_NOTCHF CONSTANT_64BIT_FLAG(15) 1066 #define RIG_LEVEL_COMP CONSTANT_64BIT_FLAG(16) 1067 #define RIG_LEVEL_AGC CONSTANT_64BIT_FLAG(17) 1068 #define RIG_LEVEL_BKINDL CONSTANT_64BIT_FLAG(18) 1069 #define RIG_LEVEL_BALANCE CONSTANT_64BIT_FLAG(19) 1070 #define RIG_LEVEL_METER CONSTANT_64BIT_FLAG(20) 1071 #define RIG_LEVEL_VOXGAIN CONSTANT_64BIT_FLAG(21) 1072 #define RIG_LEVEL_ANTIVOX CONSTANT_64BIT_FLAG(22) 1073 #define RIG_LEVEL_SLOPE_LOW CONSTANT_64BIT_FLAG(23) 1074 #define RIG_LEVEL_SLOPE_HIGH CONSTANT_64BIT_FLAG(24) 1075 #define RIG_LEVEL_BKIN_DLYMS CONSTANT_64BIT_FLAG(25) 1078 #define RIG_LEVEL_RAWSTR CONSTANT_64BIT_FLAG(26) 1079 //#define RIG_LEVEL_SQLSTAT CONSTANT_64BIT_FLAG(27) 1080 #define RIG_LEVEL_SWR CONSTANT_64BIT_FLAG(28) 1081 #define RIG_LEVEL_ALC CONSTANT_64BIT_FLAG(29) 1082 #define RIG_LEVEL_STRENGTH CONSTANT_64BIT_FLAG(30) 1084 #define RIG_LEVEL_RFPOWER_METER CONSTANT_64BIT_FLAG(32) 1085 #define RIG_LEVEL_COMP_METER CONSTANT_64BIT_FLAG(33) 1086 #define RIG_LEVEL_VD_METER CONSTANT_64BIT_FLAG(34) 1087 #define RIG_LEVEL_ID_METER CONSTANT_64BIT_FLAG(35) 1089 #define RIG_LEVEL_NOTCHF_RAW CONSTANT_64BIT_FLAG(36) 1090 #define RIG_LEVEL_MONITOR_GAIN CONSTANT_64BIT_FLAG(37) 1091 #define RIG_LEVEL_NB CONSTANT_64BIT_FLAG(38) 1092 #define RIG_LEVEL_RFPOWER_METER_WATTS CONSTANT_64BIT_FLAG(39) 1093 #define RIG_LEVEL_SPECTRUM_MODE CONSTANT_64BIT_FLAG(40) 1094 #define RIG_LEVEL_SPECTRUM_SPAN CONSTANT_64BIT_FLAG(41) 1095 #define RIG_LEVEL_SPECTRUM_EDGE_LOW CONSTANT_64BIT_FLAG(42) 1096 #define RIG_LEVEL_SPECTRUM_EDGE_HIGH CONSTANT_64BIT_FLAG(43) 1097 #define RIG_LEVEL_SPECTRUM_SPEED CONSTANT_64BIT_FLAG(44) 1098 #define RIG_LEVEL_SPECTRUM_REF CONSTANT_64BIT_FLAG(45) 1099 #define RIG_LEVEL_SPECTRUM_AVG CONSTANT_64BIT_FLAG(46) 1100 #define RIG_LEVEL_SPECTRUM_ATT CONSTANT_64BIT_FLAG(47) 1101 #define RIG_LEVEL_TEMP_METER CONSTANT_64BIT_FLAG(48) 1102 #define RIG_LEVEL_BAND_SELECT CONSTANT_64BIT_FLAG(49) 1103 #define RIG_LEVEL_USB_AF CONSTANT_64BIT_FLAG(50) 1104 #define RIG_LEVEL_USB_AF_INPUT CONSTANT_64BIT_FLAG(51) 1105 #define RIG_LEVEL_AGC_TIME CONSTANT_64BIT_FLAG(52) 1106 #define RIG_LEVEL_53 CONSTANT_64BIT_FLAG(53) 1107 #define RIG_LEVEL_54 CONSTANT_64BIT_FLAG(54) 1108 #define RIG_LEVEL_55 CONSTANT_64BIT_FLAG(55) 1109 #define RIG_LEVEL_56 CONSTANT_64BIT_FLAG(56) 1110 #define RIG_LEVEL_57 CONSTANT_64BIT_FLAG(57) 1111 #define RIG_LEVEL_58 CONSTANT_64BIT_FLAG(58) 1112 #define RIG_LEVEL_59 CONSTANT_64BIT_FLAG(59) 1113 #define RIG_LEVEL_60 CONSTANT_64BIT_FLAG(60) 1114 #define RIG_LEVEL_61 CONSTANT_64BIT_FLAG(61) 1115 #define RIG_LEVEL_62 CONSTANT_64BIT_FLAG(62) 1116 #define RIG_LEVEL_63 CONSTANT_64BIT_FLAG(63) 1118 #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_RFPOWER_METER_WATTS|RIG_LEVEL_COMP_METER|RIG_LEVEL_VD_METER|RIG_LEVEL_ID_METER|RIG_LEVEL_NOTCHF_RAW|RIG_LEVEL_MONITOR_GAIN|RIG_LEVEL_NB|RIG_LEVEL_SPECTRUM_REF|RIG_LEVEL_TEMP_METER|RIG_LEVEL_USB_AF|RIG_LEVEL_USB_AF_INPUT|RIG_LEVEL_AGC_TIME) 1121 #define RIG_LEVEL_READONLY_LIST (RIG_LEVEL_SWR|RIG_LEVEL_ALC|RIG_LEVEL_STRENGTH|RIG_LEVEL_RAWSTR|RIG_LEVEL_COMP_METER|RIG_LEVEL_VD_METER|RIG_LEVEL_ID_METER|RIG_LEVEL_TEMP_METER|RIG_LEVEL_RFPOWER_METER|RIG_LEVEL_RFPOWER_METER_WATTS) 1123 #define RIG_LEVEL_IS_FLOAT(l) ((l)&RIG_LEVEL_FLOAT_LIST) 1124 #define RIG_LEVEL_SET(l) ((l)&~RIG_LEVEL_READONLY_LIST) 1154 enum rig_keyertype_e {
1155 RIG_KEYERTYPE_STRAIGHT = 0,
1156 RIG_KEYERTYPE_BUG = (1 << 0),
1157 RIG_KEYERTYPE_PADDLE = (1 << 1),
1158 RIG_KEYERTYPE_UNKNOWN = (1 << 2)
1181 RIG_MULTICAST_TRANSCEIVE,
1182 RIG_MULTICAST_SPECTRUM
1186 #define RIG_PARM_FLOAT_LIST (RIG_PARM_BACKLIGHT|RIG_PARM_BAT|RIG_PARM_KEYLIGHT|RIG_PARM_BACKLIGHT) 1187 #define RIG_PARM_STRING_LIST (RIG_PARM_BANDSELECT|RIG_PARM_KEYERTYPE) 1188 #define RIG_PARM_READONLY_LIST (RIG_PARM_BAT) 1190 #define RIG_PARM_IS_FLOAT(l) ((l)&RIG_PARM_FLOAT_LIST) 1191 #define RIG_PARM_IS_STRING(l) ((l)&RIG_PARM_STRING_LIST) 1192 #define RIG_PARM_SET(l) ((l)&~RIG_PARM_READONLY_LIST) 1207 #define RIG_SETTING_MAX 64 1225 #define RIG_TRN_OFF 0 1226 #define RIG_TRN_RIG 1 1227 #define RIG_TRN_POLL 2 1247 #define RIG_FUNC_NONE 0 1248 #define RIG_FUNC_FAGC CONSTANT_64BIT_FLAG (0) 1249 #define RIG_FUNC_NB CONSTANT_64BIT_FLAG (1) 1250 #define RIG_FUNC_COMP CONSTANT_64BIT_FLAG (2) 1251 #define RIG_FUNC_VOX CONSTANT_64BIT_FLAG (3) 1252 #define RIG_FUNC_TONE CONSTANT_64BIT_FLAG (4) 1253 #define RIG_FUNC_TSQL CONSTANT_64BIT_FLAG (5) 1254 #define RIG_FUNC_SBKIN CONSTANT_64BIT_FLAG (6) 1255 #define RIG_FUNC_FBKIN CONSTANT_64BIT_FLAG (7) 1256 #define RIG_FUNC_ANF CONSTANT_64BIT_FLAG (8) 1257 #define RIG_FUNC_NR CONSTANT_64BIT_FLAG (9) 1258 #define RIG_FUNC_AIP CONSTANT_64BIT_FLAG (10) 1259 #define RIG_FUNC_APF CONSTANT_64BIT_FLAG (11) 1260 #define RIG_FUNC_MON CONSTANT_64BIT_FLAG (12) 1261 #define RIG_FUNC_MN CONSTANT_64BIT_FLAG (13) 1262 #define RIG_FUNC_RF CONSTANT_64BIT_FLAG (14) 1263 #define RIG_FUNC_ARO CONSTANT_64BIT_FLAG (15) 1264 #define RIG_FUNC_LOCK CONSTANT_64BIT_FLAG (16) 1265 #define RIG_FUNC_MUTE CONSTANT_64BIT_FLAG (17) 1266 #define RIG_FUNC_VSC CONSTANT_64BIT_FLAG (18) 1267 #define RIG_FUNC_REV CONSTANT_64BIT_FLAG (19) 1268 #define RIG_FUNC_SQL CONSTANT_64BIT_FLAG (20) 1269 #define RIG_FUNC_ABM CONSTANT_64BIT_FLAG (21) 1270 #define RIG_FUNC_BC CONSTANT_64BIT_FLAG (22) 1271 #define RIG_FUNC_MBC CONSTANT_64BIT_FLAG (23) 1272 #define RIG_FUNC_RIT CONSTANT_64BIT_FLAG (24) 1273 #define RIG_FUNC_AFC CONSTANT_64BIT_FLAG (25) 1274 #define RIG_FUNC_SATMODE CONSTANT_64BIT_FLAG (26) 1275 #define RIG_FUNC_SCOPE CONSTANT_64BIT_FLAG (27) 1276 #define RIG_FUNC_RESUME CONSTANT_64BIT_FLAG (28) 1277 #define RIG_FUNC_TBURST CONSTANT_64BIT_FLAG (29) 1278 #define RIG_FUNC_TUNER CONSTANT_64BIT_FLAG (30) 1279 #define RIG_FUNC_XIT CONSTANT_64BIT_FLAG (31) 1282 #define RIG_FUNC_NB2 CONSTANT_64BIT_FLAG (32) 1283 #define RIG_FUNC_CSQL CONSTANT_64BIT_FLAG (33) 1284 #define RIG_FUNC_AFLT CONSTANT_64BIT_FLAG (34) 1285 #define RIG_FUNC_ANL CONSTANT_64BIT_FLAG (35) 1286 #define RIG_FUNC_BC2 CONSTANT_64BIT_FLAG (36) 1287 #define RIG_FUNC_DUAL_WATCH CONSTANT_64BIT_FLAG (37) 1288 #define RIG_FUNC_DIVERSITY CONSTANT_64BIT_FLAG (38) 1289 #define RIG_FUNC_DSQL CONSTANT_64BIT_FLAG (39) 1290 #define RIG_FUNC_SCEN CONSTANT_64BIT_FLAG (40) 1291 #define RIG_FUNC_SLICE CONSTANT_64BIT_FLAG (41) 1292 #define RIG_FUNC_TRANSCEIVE CONSTANT_64BIT_FLAG (42) 1293 #define RIG_FUNC_SPECTRUM CONSTANT_64BIT_FLAG (43) 1294 #define RIG_FUNC_SPECTRUM_HOLD CONSTANT_64BIT_FLAG (44) 1295 #define RIG_FUNC_SEND_MORSE CONSTANT_64BIT_FLAG (45) 1296 #define RIG_FUNC_SEND_VOICE_MEM CONSTANT_64BIT_FLAG (46) 1297 #define RIG_FUNC_OVF_STATUS CONSTANT_64BIT_FLAG (47) 1298 #define RIG_FUNC_SYNC CONSTANT_64BIT_FLAG (48) 1299 #define RIG_FUNC_BIT49 CONSTANT_64BIT_FLAG (49) 1300 #define RIG_FUNC_BIT50 CONSTANT_64BIT_FLAG (50) 1301 #define RIG_FUNC_BIT51 CONSTANT_64BIT_FLAG (51) 1302 #define RIG_FUNC_BIT52 CONSTANT_64BIT_FLAG (52) 1303 #define RIG_FUNC_BIT53 CONSTANT_64BIT_FLAG (53) 1304 #define RIG_FUNC_BIT54 CONSTANT_64BIT_FLAG (54) 1305 #define RIG_FUNC_BIT55 CONSTANT_64BIT_FLAG (55) 1306 #define RIG_FUNC_BIT56 CONSTANT_64BIT_FLAG (56) 1307 #define RIG_FUNC_BIT57 CONSTANT_64BIT_FLAG (57) 1308 #define RIG_FUNC_BIT58 CONSTANT_64BIT_FLAG (58) 1309 #define RIG_FUNC_BIT59 CONSTANT_64BIT_FLAG (59) 1310 #define RIG_FUNC_BIT60 CONSTANT_64BIT_FLAG (60) 1311 #define RIG_FUNC_BIT61 CONSTANT_64BIT_FLAG (61) 1312 #define RIG_FUNC_BIT62 CONSTANT_64BIT_FLAG (62) 1313 #define RIG_FUNC_BIT63 CONSTANT_64BIT_FLAG (63) 1323 #define mW(p) ((int)(p)) 1331 #define Watts(p) ((int)((p)*1000)) 1338 #define W(p) Watts(p) 1339 #if 0 // deprecating kW macro as this doesn't make sense 1346 #define kW(p) ((int)((p)*1000000L)) 1361 #define RIG_MODE_NONE 0 1362 #define RIG_MODE_AM CONSTANT_64BIT_FLAG (0) 1363 #define RIG_MODE_CW CONSTANT_64BIT_FLAG (1) 1364 #define RIG_MODE_USB CONSTANT_64BIT_FLAG (2) 1365 #define RIG_MODE_LSB CONSTANT_64BIT_FLAG (3) 1366 #define RIG_MODE_RTTY CONSTANT_64BIT_FLAG (4) 1367 #define RIG_MODE_FM CONSTANT_64BIT_FLAG (5) 1368 #define RIG_MODE_WFM CONSTANT_64BIT_FLAG (6) 1369 #define RIG_MODE_CWR CONSTANT_64BIT_FLAG (7) 1370 #define RIG_MODE_RTTYR CONSTANT_64BIT_FLAG (8) 1371 #define RIG_MODE_AMS CONSTANT_64BIT_FLAG (9) 1372 #define RIG_MODE_PKTLSB CONSTANT_64BIT_FLAG (10) 1373 #define RIG_MODE_PKTUSB CONSTANT_64BIT_FLAG (11) 1374 #define RIG_MODE_PKTFM CONSTANT_64BIT_FLAG (12) 1375 #define RIG_MODE_ECSSUSB CONSTANT_64BIT_FLAG (13) 1376 #define RIG_MODE_ECSSLSB CONSTANT_64BIT_FLAG (14) 1377 #define RIG_MODE_FAX CONSTANT_64BIT_FLAG (15) 1378 #define RIG_MODE_SAM CONSTANT_64BIT_FLAG (16) 1379 #define RIG_MODE_SAL CONSTANT_64BIT_FLAG (17) 1380 #define RIG_MODE_SAH CONSTANT_64BIT_FLAG (18) 1381 #define RIG_MODE_DSB CONSTANT_64BIT_FLAG (19) 1382 #define RIG_MODE_FMN CONSTANT_64BIT_FLAG (21) 1383 #define RIG_MODE_PKTAM CONSTANT_64BIT_FLAG (22) 1384 #define RIG_MODE_P25 CONSTANT_64BIT_FLAG (23) 1385 #define RIG_MODE_DSTAR CONSTANT_64BIT_FLAG (24) 1386 #define RIG_MODE_DPMR CONSTANT_64BIT_FLAG (25) 1387 #define RIG_MODE_NXDNVN CONSTANT_64BIT_FLAG (26) 1388 #define RIG_MODE_NXDN_N CONSTANT_64BIT_FLAG (27) 1389 #define RIG_MODE_DCR CONSTANT_64BIT_FLAG (28) 1390 #define RIG_MODE_AMN CONSTANT_64BIT_FLAG (29) 1391 #define RIG_MODE_PSK CONSTANT_64BIT_FLAG (30) 1392 #define RIG_MODE_PSKR CONSTANT_64BIT_FLAG (31) 1395 #define RIG_MODE_DD CONSTANT_64BIT_FLAG (32) 1396 #define RIG_MODE_C4FM CONSTANT_64BIT_FLAG (33) 1397 #define RIG_MODE_PKTFMN CONSTANT_64BIT_FLAG (34) 1398 #define RIG_MODE_SPEC CONSTANT_64BIT_FLAG (35) 1399 #define RIG_MODE_CWN CONSTANT_64BIT_FLAG (36) 1400 #define RIG_MODE_IQ CONSTANT_64BIT_FLAG (37) 1401 #define RIG_MODE_ISBUSB CONSTANT_64BIT_FLAG (38) 1402 #define RIG_MODE_ISBLSB CONSTANT_64BIT_FLAG (39) 1403 #define RIG_MODE_USBD1 CONSTANT_64BIT_FLAG (40) 1404 #define RIG_MODE_USBD2 CONSTANT_64BIT_FLAG (41) 1405 #define RIG_MODE_USBD3 CONSTANT_64BIT_FLAG (42) 1406 #define RIG_MODE_LSBD1 CONSTANT_64BIT_FLAG (43) 1407 #define RIG_MODE_LSBD2 CONSTANT_64BIT_FLAG (44) 1408 #define RIG_MODE_LSBD3 CONSTANT_64BIT_FLAG (45) 1409 #define RIG_MODE_BIT46 CONSTANT_64BIT_FLAG (46) 1410 #define RIG_MODE_BIT47 CONSTANT_64BIT_FLAG (47) 1411 #define RIG_MODE_BIT48 CONSTANT_64BIT_FLAG (48) 1412 #define RIG_MODE_BIT49 CONSTANT_64BIT_FLAG (49) 1413 #define RIG_MODE_BIT50 CONSTANT_64BIT_FLAG (50) 1414 #define RIG_MODE_BIT51 CONSTANT_64BIT_FLAG (51) 1415 #define RIG_MODE_BIT52 CONSTANT_64BIT_FLAG (52) 1416 #define RIG_MODE_BIT53 CONSTANT_64BIT_FLAG (53) 1417 #define RIG_MODE_BIT54 CONSTANT_64BIT_FLAG (54) 1418 #define RIG_MODE_BIT55 CONSTANT_64BIT_FLAG (55) 1419 #define RIG_MODE_BIT56 CONSTANT_64BIT_FLAG (56) 1420 #define RIG_MODE_BIT57 CONSTANT_64BIT_FLAG (57) 1421 #define RIG_MODE_BIT58 CONSTANT_64BIT_FLAG (58) 1422 #define RIG_MODE_BIT59 CONSTANT_64BIT_FLAG (59) 1423 #define RIG_MODE_BIT60 CONSTANT_64BIT_FLAG (60) 1424 #define RIG_MODE_BIT61 CONSTANT_64BIT_FLAG (61) 1425 #define RIG_MODE_BIT62 CONSTANT_64BIT_FLAG (62) 1426 #define RIG_MODE_TESTS_MAX CONSTANT_64BIT_FLAG (63) 1427 #define RIG_MODE_ALL (0xffffffff) 1433 #define RIG_MODE_SSB (RIG_MODE_USB|RIG_MODE_LSB) 1438 #define RIG_MODE_PKTSSB (RIG_MODE_PKTUSB|RIG_MODE_PKTLSB) 1443 #define RIG_MODE_ECSS (RIG_MODE_ECSSUSB|RIG_MODE_ECSSLSB) 1446 #define RIG_DBLST_END 0 1447 #define RIG_IS_DBLST_END(d) ((d)==0) 1469 #define RIG_FRNG_END {Hz(0),Hz(0),RIG_MODE_NONE,0,0,RIG_VFO_NONE} 1470 #define RIG_IS_FRNG_END(r) ((r).startf == Hz(0) && (r).endf == Hz(0)) 1495 #define RIG_TS_ANY 0 1496 #define RIG_TS_END {RIG_MODE_NONE, 0} 1497 #define RIG_IS_TS_END(t) ((t).modes == RIG_MODE_NONE && (t).ts == 0) 1529 #define RIG_FLT_ANY 0 1530 #define RIG_FLT_END {RIG_MODE_NONE, 0} 1531 #define RIG_IS_FLT_END(f) ((f).modes == RIG_MODE_NONE) 1532 #define DEBUGMSGSAVE_SIZE 24000 1539 #define RIG_CHFLAG_NONE 0 1543 #define RIG_CHFLAG_SKIP (1<<0) 1547 #define RIG_CHFLAG_DATA (1<<1) 1551 #define RIG_CHFLAG_PSKIP (1<<2) 1563 #define RIG_EXT_END {0, {.i=0}} 1564 #define RIG_IS_EXT_END(x) ((x).token == 0) 1703 #define RIG_CHAN_END {0,0,RIG_MTYPE_NONE} 1704 #define RIG_IS_CHAN_END(c) ((c).type == RIG_MTYPE_NONE) 1710 #define RIG_MEM_CAPS_ALL -1 1749 }
table[HAMLIB_MAX_CAL_LENGTH];
1767 #define EMPTY_STR_CAL { 0, { { 0, 0 }, } } 1779 }
table[HAMLIB_MAX_CAL_LENGTH];
1797 #define EMPTY_FLOAT_CAL { 0, { { 0, 0f }, } } 1800 typedef int (* confval_cb_t)(
RIG *,
1819 RIG_SPECTRUM_MODE_NONE = 0,
1902 #define RIG_MODEL(arg) .rig_model=arg,.macro_name=#arg 1904 #define HAMLIB_CHECK_RIG_CAPS "HAMLIB_CHECK_RIG_CAPS" 1907 const char *model_name;
1908 const char *mfg_name;
1909 const char *version;
1910 const char *copyright;
1918 int serial_rate_min;
1919 int serial_rate_max;
1920 int serial_data_bits;
1921 int serial_stop_bits;
1926 int post_write_delay;
1948 int preamp[HAMLIB_MAXDBLSTSIZ];
1949 int attenuator[HAMLIB_MAXDBLSTSIZ];
1954 int agc_level_count;
1955 enum agc_level_e agc_levels[HAMLIB_MAX_AGC_LEVELS];
1997 freq_t spectrum_spans[HAMLIB_MAX_SPECTRUM_SPANS];
1999 int spectrum_attenuator[HAMLIB_MAXDBLSTSIZ];
2002 const rig_ptr_t priv;
2025 int (*set_vfo)(
RIG *rig,
vfo_t vfo);
2026 int (*get_vfo)(
RIG *rig,
vfo_t *vfo);
2031 int (*get_dcd)(
RIG *rig,
vfo_t vfo, dcd_t *dcd);
2042 int (*set_split_mode)(
RIG *rig,
2046 int (*get_split_mode)(
RIG *rig,
2051 int (*set_split_freq_mode)(
RIG *rig,
2056 int (*get_split_freq_mode)(
RIG *rig,
2074 int (*set_dcs_code)(
RIG *rig,
vfo_t vfo, tone_t code);
2075 int (*get_dcs_code)(
RIG *rig,
vfo_t vfo, tone_t *code);
2077 int (*set_tone)(
RIG *rig,
vfo_t vfo, tone_t tone);
2078 int (*get_tone)(
RIG *rig,
vfo_t vfo, tone_t *tone);
2080 int (*set_ctcss_tone)(
RIG *rig,
vfo_t vfo, tone_t tone);
2081 int (*get_ctcss_tone)(
RIG *rig,
vfo_t vfo, tone_t *tone);
2083 int (*set_dcs_sql)(
RIG *rig,
vfo_t vfo, tone_t code);
2084 int (*get_dcs_sql)(
RIG *rig,
vfo_t vfo, tone_t *code);
2086 int (*set_tone_sql)(
RIG *rig,
vfo_t vfo, tone_t tone);
2087 int (*get_tone_sql)(
RIG *rig,
vfo_t vfo, tone_t *tone);
2089 int (*set_ctcss_sql)(
RIG *rig,
vfo_t vfo, tone_t tone);
2090 int (*get_ctcss_sql)(
RIG *rig,
vfo_t vfo, tone_t *tone);
2092 int (*power2mW)(
RIG *rig,
2093 unsigned int *mwpower,
2097 int (*mW2power)(
RIG *rig,
2099 unsigned int mwpower,
2132 int (*send_dtmf)(
RIG *rig,
vfo_t vfo,
const char *digits);
2133 int (*recv_dtmf)(
RIG *rig,
vfo_t vfo,
char *digits,
int *length);
2135 int (*send_morse)(
RIG *rig,
vfo_t vfo,
const char *msg);
2136 int (*stop_morse)(
RIG *rig,
vfo_t vfo);
2137 int (*wait_morse)(
RIG *rig,
vfo_t vfo);
2139 int (*send_voice_mem)(
RIG *rig,
vfo_t vfo,
int ch);
2140 int (*stop_voice_mem)(
RIG *rig,
vfo_t vfo);
2142 int (*set_bank)(
RIG *rig,
vfo_t vfo,
int bank);
2144 int (*set_mem)(
RIG *rig,
vfo_t vfo,
int ch);
2145 int (*get_mem)(
RIG *rig,
vfo_t vfo,
int *ch);
2151 int (*set_trn)(
RIG *rig,
int trn);
2152 int (*get_trn)(
RIG *rig,
int *trn);
2154 int (*decode_event)(
RIG *rig);
2159 const char * (*get_info)(
RIG *rig);
2161 int (*set_chan_all_cb)(
RIG *rig,
vfo_t vfo, chan_cb_t chan_cb, rig_ptr_t);
2162 int (*get_chan_all_cb)(
RIG *rig,
vfo_t vfo, chan_cb_t chan_cb, rig_ptr_t);
2164 int (*set_mem_all_cb)(
RIG *rig,
2167 confval_cb_t parm_cb,
2169 int (*get_mem_all_cb)(
RIG *rig,
2172 confval_cb_t parm_cb,
2175 int (*set_vfo_opt)(
RIG *rig,
int status);
2182 int(*set_clock) (
RIG *rig,
int year,
int month,
int day,
int hour,
int min,
int sec,
double msec,
int utc_offset);
2183 int(*get_clock) (
RIG *rig,
int *year,
int *month,
int *day,
int *hour,
int *
min,
int *sec,
double *msec,
int *utc_offset);
2185 const char *clone_combo_set;
2186 const char *clone_combo_get;
2187 const char *macro_name;
2189 int async_data_supported;
2190 int (*read_frame_direct)(
RIG *rig,
2191 size_t buffer_length,
2192 const unsigned char *buffer);
2193 int (*is_async_frame)(
RIG *rig,
2194 size_t frame_length,
2195 const unsigned char *frame);
2196 int (*process_async_frame)(
RIG *rig,
2197 size_t frame_length,
2198 const unsigned char *frame);
2200 char *hamlib_check_rig_caps;
2202 int (*password)(
RIG *rig,
const char *key1);
2203 int (*set_lock_mode)(
RIG *rig,
int mode);
2204 int (*get_lock_mode)(
RIG *rig,
int *mode);
2205 short timeout_retry;
2219 RIG_FUNCTION_CLEANUP,
2222 RIG_FUNCTION_SET_FREQ,
2223 RIG_FUNCTION_GET_FREQ,
2224 RIG_FUNCTION_SET_MODE,
2225 RIG_FUNCTION_GET_MODE,
2226 RIG_FUNCTION_SET_VFO,
2227 RIG_FUNCTION_GET_VFO,
2228 RIG_FUNCTION_SET_PTT,
2229 RIG_FUNCTION_GET_PTT,
2230 RIG_FUNCTION_GET_DCD,
2231 RIG_FUNCTION_SET_RPTR_SHIFT,
2232 RIG_FUNCTION_GET_RPTR_SHIFT,
2233 RIG_FUNCTION_SET_RPTR_OFFS,
2234 RIG_FUNCTION_GET_RPTR_OFFS,
2235 RIG_FUNCTION_SET_SPLIT_FREQ,
2236 RIG_FUNCTION_GET_SPLIT_FREQ,
2237 RIG_FUNCTION_SET_SPLIT_MODE,
2238 RIG_FUNCTION_SET_SPLIT_FREQ_MODE,
2239 RIG_FUNCTION_GET_SPLIT_FREQ_MODE,
2240 RIG_FUNCTION_SET_SPLIT_VFO,
2241 RIG_FUNCTION_GET_SPLIT_VFO,
2242 RIG_FUNCTION_SET_RIT,
2243 RIG_FUNCTION_GET_RIT,
2244 RIG_FUNCTION_SET_XIT,
2245 RIG_FUNCTION_GET_XIT,
2246 RIG_FUNCTION_SET_TS,
2247 RIG_FUNCTION_GET_TS,
2248 RIG_FUNCTION_SET_DCS_CODE,
2249 RIG_FUNCTION_GET_DCS_CODE,
2250 RIG_FUNCTION_SET_TONE,
2251 RIG_FUNCTION_GET_TONE,
2252 RIG_FUNCTION_SET_CTCSS_TONE,
2253 RIG_FUNCTION_GET_CTCSS_TONE,
2254 RIG_FUNCTION_SET_DCS_SQL,
2255 RIG_FUNCTION_GET_DCS_SQL,
2256 RIG_FUNCTION_SET_TONE_SQL,
2257 RIG_FUNCTION_GET_TONE_SQL,
2258 RIG_FUNCTION_SET_CTCSS_SQL,
2259 RIG_FUNCTION_GET_CTCSS_SQL,
2260 RIG_FUNCTION_POWER2MW,
2261 RIG_FUNCTION_MW2POWER,
2262 RIG_FUNCTION_SET_POWERSTAT,
2263 RIG_FUNCTION_GET_POWERSTAT,
2265 RIG_FUNCTION_SET_ANT,
2266 RIG_FUNCTION_GET_ANT,
2267 RIG_FUNCTION_SET_LEVEL,
2268 RIG_FUNCTION_GET_LEVEL,
2269 RIG_FUNCTION_SET_FUNC,
2270 RIG_FUNCTION_GET_FUNC,
2271 RIG_FUNCTION_SET_PARM,
2272 RIG_FUNCTION_GET_PARM,
2273 RIG_FUNCTION_SET_EXT_LEVEL,
2274 RIG_FUNCTION_GET_EXT_LEVEL,
2275 RIG_FUNCTION_SET_EXT_FUNC,
2276 RIG_FUNCTION_GET_EXT_FUNC,
2277 RIG_FUNCTION_SET_EXT_PARM,
2278 RIG_FUNCTION_GET_EXT_PARM,
2279 RIG_FUNCTION_SET_CONF,
2280 RIG_FUNCTION_GET_CONF,
2281 RIG_FUNCTION_SEND_DTMF,
2282 RIG_FUNCTION_SEND_MORSE,
2283 RIG_FUNCTION_STOP_MORSE,
2284 RIG_FUNCTION_WAIT_MORSE,
2285 RIG_FUNCTION_SEND_VOICE_MEM,
2286 RIG_FUNCTION_SET_BANK,
2287 RIG_FUNCTION_SET_MEM,
2288 RIG_FUNCTION_GET_MEM,
2289 RIG_FUNCTION_VFO_OP,
2291 RIG_FUNCTION_SET_TRN,
2292 RIG_FUNCTION_GET_TRN,
2293 RIG_FUNCTION_DECODE_EVENT,
2294 RIG_FUNCTION_SET_CHANNEL,
2295 RIG_FUNCTION_GET_CHANNEL,
2296 RIG_FUNCTION_GET_INFO,
2297 RIG_FUNCTION_SET_CHAN_ALL_CB,
2298 RIG_FUNCTION_GET_CHAN_ALL_CB,
2299 RIG_FUNCTION_SET_MEM_ALL_CB,
2300 RIG_FUNCTION_GET_MEM_ALL_CB,
2301 RIG_FUNCTION_SET_VFO_OPT,
2302 RIG_FUNCTION_READ_FRAME_DIRECT,
2303 RIG_FUNCTION_IS_ASYNC_FRAME,
2304 RIG_FUNCTION_PROCESS_ASYNC_FRAME,
2305 RIG_FUNCTION_GET_CONF2,
2306 RIG_FUNCTION_STOP_VOICE_MEM,
2321 RIG_CAPS_TARGETABLE_VFO,
2325 RIG_CAPS_HAS_GET_LEVEL,
2326 RIG_CAPS_HAS_SET_LEVEL,
2329 enum rig_caps_cptr_e {
2330 RIG_CAPS_VERSION_CPTR,
2331 RIG_CAPS_MFG_NAME_CPTR,
2332 RIG_CAPS_MODEL_NAME_CPTR,
2333 RIG_CAPS_STATUS_CPTR
2348 struct hamlib_async_pipe;
2350 typedef struct hamlib_async_pipe hamlib_async_pipe_t;
2362 typedef struct hamlib_port {
2373 int post_write_delay;
2376 int tv_sec, tv_usec;
2383 char pathname[HAMLIB_FILPATHLEN];
2423 hamlib_async_pipe_t *sync_data_pipe;
2424 hamlib_async_pipe_t *sync_data_error_pipe;
2428 int fd_sync_error_write;
2429 int fd_sync_error_read;
2431 short timeout_retry;
2438 typedef struct hamlib_port_deprecated {
2449 int post_write_delay;
2452 int tv_sec, tv_usec;
2459 char pathname[HAMLIB_FILPATHLEN];
2497 } hamlib_port_t_deprecated;
2500 #if !defined(__APPLE__) || !defined(__cplusplus) 2502 typedef hamlib_port_t port_t;
2515 #if defined(IN_HAMLIB) 2517 #define RIGPORT(r) (&r->state.rigport) 2518 #define PTTPORT(r) (&r->state.pttport) 2519 #define DCDPORT(r) (&r->state.dcdport) 2520 #define CACHE(r) (&r->state.cache) 2521 #define AMPPORT(a) (&a->state.ampport) 2522 #define ROTPORT(r) (&r->state.rotport) 2523 #define ROTPORT2(r) (&r->state.rotport2) 2524 #define STATE(r) (&r->state) 2525 #define AMPSTATE(a) (&(a)->state) 2526 #define ROTSTATE(r) (&(r)->state) 2534 #define HAMLIB_RIGPORT(r) ((hamlib_port_t *)rig_data_pointer(r, RIG_PTRX_RIGPORT)) 2535 #define HAMLIB_PTTPORT(r) ((hamlib_port_t *)rig_data_pointer(r, RIG_PTRX_PTTPORT)) 2536 #define HAMLIB_DCDPORT(r) ((hamlib_port_t *)rig_data_pointer(r, RIG_PTRX_DCDPORT)) 2537 #define HAMLIB_CACHE(r) ((struct rig_cache *)rig_data_pointer(r, RIG_PTRX_CACHE)) 2538 #define HAMLIB_AMPPORT(a) ((hamlib_port_t *)amp_data_pointer(a, RIG_PTRX_AMPPORT)) 2539 #define HAMLIB_ROTPORT(r) ((hamlib_port_t *)rot_data_pointer(r, RIG_PTRX_ROTPORT)) 2540 #define HAMLIB_ROTPORT2(r) ((hamlib_port_t *)rot_data_pointer(r, RIG_PTRX_ROTPORT2)) 2541 #define HAMLIB_STATE(r) ((struct rig_state *)rig_data_pointer(r, RIG_PTRX_STATE)) 2542 #define HAMLIB_AMPSTATE(a) ((struct amp_state *)amp_data_pointer(a, RIG_PTRX_AMPSTATE)) 2543 #define HAMLIB_ROTSTATE(r) ((struct rot_state *)rot_data_pointer(r, RIG_PTRX_ROTSTATE)) 2562 #define HAMLIB_ELAPSED_GET 0 2563 #define HAMLIB_ELAPSED_SET 1 2564 #define HAMLIB_ELAPSED_INVALIDATE 2 2566 #define HAMLIB_CACHE_ALWAYS (-1) 2630 struct timespec time_freqCurr;
2631 struct timespec time_freqOther;
2632 struct timespec time_freqMainA;
2633 struct timespec time_freqMainB;
2634 struct timespec time_freqMainC;
2635 struct timespec time_freqSubA;
2636 struct timespec time_freqSubB;
2637 struct timespec time_freqSubC;
2638 struct timespec time_freqMem;
2639 struct timespec time_vfo;
2640 struct timespec time_modeCurr;
2641 struct timespec time_modeOther;
2642 struct timespec time_modeMainA;
2643 struct timespec time_modeMainB;
2644 struct timespec time_modeMainC;
2645 struct timespec time_modeSubA;
2646 struct timespec time_modeSubB;
2647 struct timespec time_modeSubC;
2648 struct timespec time_modeMem;
2649 struct timespec time_widthCurr;
2650 struct timespec time_widthOther;
2651 struct timespec time_widthMainA;
2652 struct timespec time_widthMainB;
2653 struct timespec time_widthMainC;
2654 struct timespec time_widthSubA;
2655 struct timespec time_widthSubB;
2656 struct timespec time_widthSubC;
2657 struct timespec time_widthMem;
2658 struct timespec time_ptt;
2659 struct timespec time_split;
2667 #include <hamlib/multicast.h> 2670 int multicast_running;
2678 pthread_mutex_t mutex;
2679 int mutex_initialized;
2682 struct sockaddr_in dest_addr;
2687 typedef unsigned int rig_comm_status_t;
2689 #define RIG_COMM_STATUS_OK 0x00 2690 #define RIG_COMM_STATUS_CONNECTING 0x01 2691 #define RIG_COMM_STATUS_DISCONNECTED 0x02 2692 #define RIG_COMM_STATUS_TERMINATED 0x03 2693 #define RIG_COMM_STATUS_WARNING 0x04 2694 #define RIG_COMM_STATUS_ERROR 0x05 2800 volatile unsigned int snapshot_packet_sequence_number;
2802 volatile int multicast_publisher_run;
2804 volatile int async_data_handler_thread_run;
2805 void *async_data_handler_priv_data;
2806 volatile int poll_routine_thread_run;
2807 void *poll_routine_priv_data;
2808 pthread_mutex_t mutex_set_transaction;
2875 volatile int morse_data_handler_thread_run;
2876 void *morse_data_handler_priv_data;
2883 volatile int multicast_receiver_run;
2886 char device_id[HAMLIB_RIGNAMSIZ];
2889 struct timespec freq_event_elapsed;
2999 volatile unsigned int snapshot_packet_sequence_number;
3001 volatile int multicast_publisher_run;
3003 volatile int async_data_handler_thread_run;
3004 void *async_data_handler_priv_data;
3005 volatile int poll_routine_thread_run;
3006 void *poll_routine_priv_data;
3007 pthread_mutex_t mutex_set_transaction;
3035 typedef int (*vfo_cb_t)(
RIG *,
vfo_t, rig_ptr_t);
3037 typedef int (*dcd_cb_t)(
RIG *,
vfo_t, dcd_t, rig_ptr_t);
3038 typedef int (*pltune_cb_t)(
RIG *,
3043 typedef int (*spectrum_cb_t)(
RIG *,
3111 extern HAMLIB_EXPORT(
int)
rig_open HAMLIB_PARAMS((
RIG *rig));
3118 extern HAMLIB_EXPORT(
int)
3121 extern HAMLIB_EXPORT(
int)
3122 rig_flush(hamlib_port_t *port);
3124 extern HAMLIB_EXPORT(
void)
3125 rig_lock(
RIG *rig,
int lock);
3128 #define rig_set_freq(r,v,f) rig_set_freq(r,v,f,__builtin_FUNCTION()) 3129 extern HAMLIB_EXPORT(
int)
3132 freq_t freq,
const char*));
3134 extern HAMLIB_EXPORT(
int)
3140 #define rig_get_freq(r,v,f) rig_get_freq(r,v,f,__builtin_FUNCTION()) 3141 extern HAMLIB_EXPORT(
int)
3144 freq_t *freq,
const char*));
3146 extern HAMLIB_EXPORT(
int)
3152 extern HAMLIB_EXPORT(
int)
3157 extern HAMLIB_EXPORT(
int)
3164 #define rig_set_vfo(r,v) rig_set_vfo(r,v,__builtin_FUNCTION()) 3165 extern HAMLIB_EXPORT(
int)
3167 vfo_t vfo,
const char *func));
3169 extern HAMLIB_EXPORT(
int)
3173 extern HAMLIB_EXPORT(
int)
3177 extern HAMLIB_EXPORT(
int)
3186 extern HAMLIB_EXPORT(
int)
3189 extern HAMLIB_EXPORT(
int)
3190 netrigctl_get_vfo_mode HAMLIB_PARAMS((
RIG *rig));
3192 extern HAMLIB_EXPORT(
int)
3196 extern HAMLIB_EXPORT(
int)
3201 extern HAMLIB_EXPORT(
int)
3206 extern HAMLIB_EXPORT(
int)
3210 extern HAMLIB_EXPORT(
int)
3215 extern HAMLIB_EXPORT(
int)
3219 extern HAMLIB_EXPORT(
int)
3224 extern HAMLIB_EXPORT(
int)
3228 extern HAMLIB_EXPORT(
int)
3233 extern HAMLIB_EXPORT(
int)
3237 extern HAMLIB_EXPORT(
int)
3242 extern HAMLIB_EXPORT(
int)
3246 extern HAMLIB_EXPORT(
int)
3251 extern HAMLIB_EXPORT(
int)
3255 extern HAMLIB_EXPORT(
int)
3260 extern HAMLIB_EXPORT(
int)
3264 extern HAMLIB_EXPORT(
int)
3269 extern HAMLIB_EXPORT(
int)
3274 extern HAMLIB_EXPORT(
int)
3280 extern HAMLIB_EXPORT(
int)
3286 extern HAMLIB_EXPORT(
int)
3293 extern HAMLIB_EXPORT(
int)
3298 extern HAMLIB_EXPORT(
int)
3304 extern HAMLIB_EXPORT(
int)
3308 extern HAMLIB_EXPORT(
int)
3313 extern HAMLIB_EXPORT(
int)
3317 extern HAMLIB_EXPORT(
int)
3322 extern HAMLIB_EXPORT(
int)
3326 extern HAMLIB_EXPORT(
int)
3331 extern HAMLIB_EXPORT(
int)
3333 unsigned int *mwpower,
3337 extern HAMLIB_EXPORT(
int)
3340 unsigned int mwpower,
3348 extern HAMLIB_EXPORT(
int)
3353 extern HAMLIB_EXPORT(
int)
3359 #define rig_get_strength(r,v,s) rig_get_level((r),(v),RIG_LEVEL_STRENGTH, (value_t*)(s)) 3361 extern HAMLIB_EXPORT(
int)
3365 extern HAMLIB_EXPORT(
int)
3370 extern HAMLIB_EXPORT(
int)
3375 extern HAMLIB_EXPORT(
int)
3379 extern HAMLIB_EXPORT(
int)
3380 rig_get_conf2 HAMLIB_PARAMS((
RIG *rig,
3385 extern HAMLIB_EXPORT(
int)
3388 extern HAMLIB_EXPORT(
int)
3392 extern HAMLIB_EXPORT(
int)
3396 extern HAMLIB_EXPORT(
int)
3401 extern HAMLIB_EXPORT(
int)
3407 extern HAMLIB_EXPORT(
int)
3412 extern HAMLIB_EXPORT(
int)
3418 extern HAMLIB_EXPORT(
int)
3422 extern HAMLIB_EXPORT(
int)
3427 extern HAMLIB_EXPORT(
int)
3433 extern HAMLIB_EXPORT(
int)
3439 extern HAMLIB_EXPORT(
int)
3446 extern HAMLIB_EXPORT(
const struct confparams *)
3450 extern HAMLIB_EXPORT(
const struct confparams *)
3458 extern HAMLIB_EXPORT(
int)
3464 extern HAMLIB_EXPORT(
const struct confparams *)
3471 extern HAMLIB_EXPORT(
int)
3474 extern HAMLIB_EXPORT(
int)
3477 extern HAMLIB_EXPORT(
int)
3482 extern HAMLIB_EXPORT(
int)
3512 extern HAMLIB_EXPORT(
int)
3517 extern HAMLIB_EXPORT(
int)
3523 extern HAMLIB_EXPORT(
int)
3526 const char *digits));
3527 extern HAMLIB_EXPORT(
int)
3533 extern HAMLIB_EXPORT(
int)
3538 extern HAMLIB_EXPORT(
int)
3542 extern HAMLIB_EXPORT(
int)
3546 extern HAMLIB_EXPORT(
int)
3551 extern HAMLIB_EXPORT(
int)
3555 extern HAMLIB_EXPORT(
int)
3560 extern HAMLIB_EXPORT(
int)
3564 extern HAMLIB_EXPORT(
int)
3569 extern HAMLIB_EXPORT(
int)
3578 extern HAMLIB_EXPORT(
int)
3584 extern HAMLIB_EXPORT(
scan_t)
3588 extern HAMLIB_EXPORT(
int)
3592 extern HAMLIB_EXPORT(
int)
3597 extern HAMLIB_EXPORT(
int)
3601 extern HAMLIB_EXPORT(
int)
3606 extern HAMLIB_EXPORT(
int)
3611 extern HAMLIB_EXPORT(
int)
3617 extern HAMLIB_EXPORT(
int)
3621 confval_cb_t parm_cb,
3623 extern HAMLIB_EXPORT(
int)
3627 confval_cb_t parm_cb,
3630 extern HAMLIB_EXPORT(
int)
3636 extern HAMLIB_EXPORT(
int)
3643 extern HAMLIB_EXPORT(
const chan_t *)
3647 extern HAMLIB_EXPORT(
int)
3650 extern HAMLIB_EXPORT(
int)
3653 extern HAMLIB_EXPORT(
int)
3657 extern HAMLIB_EXPORT(
int)
3662 extern HAMLIB_EXPORT(
int)
3666 extern HAMLIB_EXPORT(
int)
3671 extern HAMLIB_EXPORT(
int)
3676 extern HAMLIB_EXPORT(
int)
3681 extern HAMLIB_EXPORT(
int)
3686 extern HAMLIB_EXPORT(
int)
3691 extern HAMLIB_EXPORT(
int)
3695 extern HAMLIB_EXPORT(
int)
3699 extern HAMLIB_EXPORT(
int)
3703 extern HAMLIB_EXPORT(
const char *)
3706 extern HAMLIB_EXPORT(
struct rig_caps *)
3724 extern HAMLIB_EXPORT(
const char *)
3725 rigerror HAMLIB_PARAMS((
int errnum));
3726 extern HAMLIB_EXPORT(
const char *)
3729 extern HAMLIB_EXPORT(
int)
3732 #define HAMLIB_SETTINGS_FILE "hamlib_settings" 3740 extern HAMLIB_EXPORT(
void)
3743 extern HAMLIB_EXPORT(
void)
3746 extern HAMLIB_EXPORT(
void)
3749 #define rig_set_debug_level(level) rig_set_debug(level) 3751 extern HAMLIB_EXPORT(
int)
3755 extern HAMLIB_EXPORT(
void)add2debugmsgsave(
const char *s);
3757 extern HAMLIB_EXPORT_VAR(
char) debugmsgsave[DEBUGMSGSAVE_SIZE];
3758 extern HAMLIB_EXPORT_VAR(
char) debugmsgsave2[DEBUGMSGSAVE_SIZE];
3760 extern HAMLIB_EXPORT_VAR(
char) debugmsgsave3[DEBUGMSGSAVE_SIZE];
3761 #define rig_debug_clear() { debugmsgsave[0] = debugmsgsave2[0] = debugmsgsave3[0] = 0; }; 3765 #define rig_debug(debug_level,fmt,...) do { snprintf(debugmsgsave2,sizeof(debugmsgsave2),fmt,__VA_ARGS__);rig_debug(debug_level,fmt,##__VA_ARGS__); add2debugmsgsave(debugmsgsave2); } while(0) 3770 #define ELAPSED1 struct timespec __begin; elapsed_ms(&__begin, HAMLIB_ELAPSED_SET); 3771 #define ELAPSED2 rig_debug(RIG_DEBUG_VERBOSE, "%s%d:%s: elapsed=%.0lfms\n", spaces(STATE(rig)->depth), STATE(rig)->depth, __func__, elapsed_ms(&__begin, HAMLIB_ELAPSED_GET)); 3774 #define SNPRINTF(s,n,...) { if (snprintf(s,n,##__VA_ARGS__) >= (n)) fprintf(stderr,"***** %s(%d): message truncated *****\n", __func__, __LINE__); } 3776 extern HAMLIB_EXPORT(
void)
3778 const char *fmt, ...));
3780 extern HAMLIB_EXPORT(vprintf_cb_t)
3784 extern HAMLIB_EXPORT(FILE *)
3787 extern HAMLIB_EXPORT(
int)
3788 rig_register HAMLIB_PARAMS((
struct rig_caps *caps));
3790 extern HAMLIB_EXPORT(
int)
3793 extern HAMLIB_EXPORT(
int)
3794 rig_list_foreach HAMLIB_PARAMS((
int (*cfunc)(
const struct rig_caps *, rig_ptr_t),
3797 extern HAMLIB_EXPORT(
int)
3801 extern HAMLIB_EXPORT(
int)
3802 rig_load_backend HAMLIB_PARAMS((
const char *be_name));
3804 extern HAMLIB_EXPORT(
int)
3807 extern HAMLIB_EXPORT(
int)
3808 rig_load_all_backends HAMLIB_PARAMS((
void));
3810 typedef int (*rig_probe_func_t)(
const hamlib_port_t *,
rig_model_t, rig_ptr_t);
3812 extern HAMLIB_EXPORT(
int)
3818 rig_probe HAMLIB_PARAMS((hamlib_port_t *p));
3850 extern HAMLIB_EXPORT(
const char *)
rig_license HAMLIB_PARAMS((
void));
3851 extern HAMLIB_EXPORT(
const char *)
rig_version HAMLIB_PARAMS((
void));
3852 extern HAMLIB_EXPORT(
const char *)
rig_copyright HAMLIB_PARAMS((
void));
3854 extern HAMLIB_EXPORT(
void) rig_no_restore_ai(
void);
3856 extern HAMLIB_EXPORT(
int) rig_get_cache_timeout_ms(
RIG *rig, hamlib_cache_t selection);
3857 extern HAMLIB_EXPORT(
int) rig_set_cache_timeout_ms(
RIG *rig, hamlib_cache_t selection,
int ms);
3861 extern HAMLIB_EXPORT(
int)
rig_get_rig_info(
RIG *rig,
char *response,
int max_response_len);
3865 extern HAMLIB_EXPORT(
int)
rig_set_clock(
RIG *rig,
int year,
int month,
int day,
int hour,
int min,
int sec,
double msec,
int utc_offset);
3866 extern HAMLIB_EXPORT(
int)
rig_get_clock(
RIG *rig,
int *year,
int *month,
int *day,
int *hour,
int *min,
int *sec,
double *msec,
int *utc_offset);
3868 typedef unsigned long rig_useconds_t;
3869 extern HAMLIB_EXPORT(
int) hl_usleep(rig_useconds_t msec);
3871 extern HAMLIB_EXPORT(
int)
rig_cookie(
RIG *rig,
enum cookie_e cookie_cmd,
char *cookie,
int cookie_len);
3873 extern HAMLIB_EXPORT(
int) rig_password(
RIG *rig,
const char *key1);
3874 extern HAMLIB_EXPORT(
void) rig_password_generate_secret(
char *pass,
3875 char result[HAMLIB_SECRET_LENGTH + 1]);
3876 extern HAMLIB_EXPORT(
int) rig_send_raw(
RIG *rig,
const unsigned char* send,
int send_len,
unsigned char* reply,
int reply_len,
unsigned char *term);
3878 extern HAMLIB_EXPORT(
int)
3884 extern HAMLIB_EXPORT(
int)
3887 const char *locator));
3889 extern HAMLIB_EXPORT(
char*) rig_make_md5(
char *pass);
3891 extern HAMLIB_EXPORT(
int) rig_set_lock_mode(
RIG *rig,
int lock);
3892 extern HAMLIB_EXPORT(
int) rig_get_lock_mode(
RIG *rig,
int *lock);
3894 extern HAMLIB_EXPORT(
int) rig_is_model(
RIG *rig,
rig_model_t model);
3896 extern HAMLIB_EXPORT(
char*) rig_date_strget(
char *buf,
int buflen,
int localtime);
3898 enum GPIO { GPIO1, GPIO2, GPIO3, GPIO4 };
3899 extern HAMLIB_EXPORT(
int) rig_cm108_get_bit(hamlib_port_t *p,
enum GPIO gpio,
int *bit);
3900 extern HAMLIB_EXPORT(
int) rig_cm108_set_bit(hamlib_port_t *p,
enum GPIO gpio,
int bit);
3903 extern HAMLIB_EXPORT(
void *) rig_data_pointer(
RIG *rig, rig_ptrx_t idx);
const char * rig_strstatus(enum rig_status_e status)
Convert enum RIG_STATUS_... to printable string.
Definition: misc.c:427
rig_port_t port_type
Definition: rig.h:2838
scan_t rig_has_scan(RIG *rig, scan_t scan)
check availability of scanning functions
Definition: rig.c:7136
setting_t funcs
Definition: rig.h:1638
enum serial_handshake_e serial_handshake
Definition: rig.h:2844
int multicast_data_port
Definition: rig.h:2880
int rig_get_cache_freq(RIG *rig, vfo_t vfo, freq_t *freq, int *cache_ms_freq_p)
get cached values for a VFO
Definition: cache.c:549
hamlib_token_t token
Definition: rig.h:901
int rig_get_mem(RIG *rig, vfo_t vfo, int *ch)
get the current memory channel number
Definition: mem.c:131
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:585
vfo_cb_t vfo_event
Definition: rig.h:3072
int auto_power_on
Definition: rig.h:2784
rig_debug_level_e
Hamlib debug levels.
Definition: rig.h:241
struct rig_callbacks callbacks
Definition: rig.h:3099
double vfo_comp
Definition: rig.h:2918
value_t step
Definition: rig.h:1732
int rig_get_ext_level(RIG *rig, vfo_t vfo, hamlib_token_t token, value_t *val)
get the value of a level extra parameter
Definition: settings.c:716
unsigned tuning_step
Definition: rig.h:1635
const char * rig_strspectrummode(enum rig_spectrum_mode_e mode)
Convert enum RIG_SPECTRUM_MODE_... to alpha string.
Definition: misc.c:1811
unsigned channel_desc
Definition: rig.h:1646
vfo_op_t vfo_ops
Definition: rig.h:2855
unsigned tx_vfo
Definition: rig.h:1632
int rig_set_uplink(RIG *rig, int val)
For GPredict to avoid reading frequency on uplink VFO.
Definition: rig.c:1903
setting_t rig_has_get_level(RIG *rig, setting_t level)
check retrieval ability of level settings
Definition: settings.c:309
setting_t has_set_func
Definition: rig.h:2743
struct ext_list * ext_levels
Definition: rig.h:1604
hamlib_bandselect_t
Definition: rig.h:794
int raw
Definition: rig.h:1747
int rig_set_dcd_callback(RIG *rig, dcd_cb_t cb, rig_ptr_t arg)
set the callback for dcd events
Definition: event.c:491
double freq_t
Frequency type,.
Definition: rig.h:456
int rig_get_cache(RIG *rig, vfo_t vfo, freq_t *freq, int *cache_ms_freq, rmode_t *mode, int *cache_ms_mode, pbwidth_t *width, int *cache_ms_width)
get cached values for a VFO
Definition: cache.c:310
int rig_get_dcd(RIG *rig, vfo_t vfo, dcd_t *dcd)
get the status of the DCD
Definition: rig.c:4191
value_t min
Definition: rig.h:1730
int use_cached_mode
Definition: rig.h:3015
rig_ptr_t spectrum_arg
Definition: rig.h:3081
shortfreq_t max_ifshift
Definition: rig.h:2934
unsigned bank_num
Definition: rig.h:1620
int rig_set_dcs_code(RIG *rig, vfo_t vfo, tone_t code)
set the current encoding DCS code
Definition: tones.c:230
Filter definition.
Definition: rig.h:1524
vfo_t tx_vfo
Definition: rig.h:2770
float f
Definition: rig.h:1028
int rig_set_channel(RIG *rig, vfo_t vfo, const channel_t *chan)
set channel data
Definition: mem.c:684
int rig_set_vfo(RIG *rig, vfo_t vfo)
set the current VFO
Definition: rig.c:3285
scan_t
Rig Scan operation.
Definition: rig.h:843
float step
Definition: rig.h:911
int rig_get_rig_info(RIG *rig, char *response, int max_response_len)
get freq/mode/width for requested VFO
Definition: rig.c:7913
shortfreq_t xit
Definition: rig.h:1594
void rig_debug(enum rig_debug_level_e debug_level, const char *fmt,...)
Print debugging messages through stderr by default.
Definition: debug.c:206
dcd_type_t dcd_type
Definition: rig.h:2837
uint32_t rig_model_t
Convenience type definition for rig model.
Definition: riglist.h:707
int chan_desc_sz
Definition: rig.h:2859
unsigned tx_width
Definition: rig.h:1629
pbwidth_t tx_width
Definition: rig.h:1585
char tag[32]
Definition: rig.h:1606
int low_power
Definition: rig.h:1461
hamlib_port_t_deprecated rigport_deprecated
Definition: rig.h:2715
hamlib_port_t_deprecated dcdport_deprecated
Definition: rig.h:2717
int rig_set_mem_all_cb(RIG *rig, vfo_t vfo, chan_cb_t chan_cb, confval_cb_t parm_cb, rig_ptr_t arg)
set all channel and non-channel data by call-back
Definition: mem.c:1326
FILE * rig_set_debug_file(FILE *stream)
Change the output stream from stderr a different stream.
Definition: debug.c:334
freq_range_t rx_range_list[HAMLIB_FRQRANGESIZ]
Definition: rig.h:2921
rig_ptr_t priv
Definition: rig.h:2960
const char * dflt
Definition: rig.h:905
void rig_get_debug(enum rig_debug_level_e *debug_level)
Get the current debug level.
Definition: debug.c:160
int rig_send_morse(RIG *rig, vfo_t vfo, const char *msg)
send morse code
Definition: rig.c:7394
const char * cs
Definition: rig.h:1030
rig_ptr_t pltune_arg
Definition: rig.h:3079
int serial_data_bits
Definition: rig.h:2841
int rig_ext_level_foreach(RIG *rig, int(*cfunc)(RIG *, const struct confparams *, rig_ptr_t), rig_ptr_t data)
Executes cfunc on all the elements stored in the extlevels table.
Definition: ext.c:132
int transaction_active
Definition: rig.h:2757
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:6708
Deprecated Rig state containing live data and customized fields. Due to DLL problems this remains in-...
Definition: rig.h:2904
freq_t endf
Definition: rig.h:1459
powerstat_t powerstat
Definition: rig.h:2820
int twiddle_timeout
Definition: rig.h:2978
shortfreq_t max_ifshift
Definition: rig.h:2735
gran_t level_gran[64]
Definition: rig.h:2948
pbwidth_t rig_passband_wide(RIG *rig, rmode_t mode)
get the wide passband of a mode
Definition: rig.c:3226
freq_range_t rx_range_list1[HAMLIB_FRQRANGESIZ]
Definition: rig.h:2860
int uplink
Definition: rig.h:2781
gran_t level_gran[64]
Definition: rig.h:2749
vfo_t vfo
Definition: rig.h:1577
const char * model_name
Definition: rig.h:2830
unsigned rptr_offs
Definition: rig.h:1634
const char * rig_strlevel(setting_t level)
Convert enum RIG_LEVEL_... to alpha string.
Definition: misc.c:1179
int rig_set_bank(RIG *rig, vfo_t vfo, int bank)
set the current memory bank
Definition: mem.c:194
hamlib_token_t rig_token_lookup(RIG *rig, const char *name)
lookup a token id
Definition: conf.c:1439
int ptt_share
Definition: rig.h:2990
int rig_scan(RIG *rig, vfo_t vfo, scan_t scan, int ch)
perform Memory/VFO operations
Definition: rig.c:7169
int freq_skip
Definition: rig.h:2890
const struct confparams * rig_ext_lookup_tok(RIG *rig, hamlib_token_t token)
lookup ext token, return pointer to confparams struct.
Definition: ext.c:279
int rig_get_freq(RIG *rig, vfo_t vfo, freq_t *freq)
get the frequency of the target VFO
Definition: rig.c:2409
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:6634
rig_parm_e
Rig Parameters.
Definition: rig.h:1136
struct cal_table::@3 table[HAMLIB_MAX_CAL_LENGTH]
Tuning step definition.
Definition: rig.h:1489
hamlib_token_t rig_ext_token_lookup(RIG *rig, const char *name)
Simple lookup returning token id associated with name.
Definition: ext.c:324
int rig_get_xit(RIG *rig, vfo_t vfo, shortfreq_t *xit)
get the current XIT offset
Definition: rig.c:6229
setting_t rig_has_set_level(RIG *rig, setting_t level)
check settable ability of level settings
Definition: settings.c:339
vfo_op_t rig_has_vfo_op(RIG *rig, vfo_op_t op)
check retrieval ability of VFO operations
Definition: rig.c:7024
int rig_set_ptt(RIG *rig, vfo_t vfo, ptt_t ptt)
set PTT on/off
Definition: rig.c:3535
pbwidth_t current_width
Definition: rig.h:2968
int rig_set_trn(RIG *rig, int trn)
control the transceive mode
Definition: event.c:582
int rig_ext_func_foreach(RIG *rig, int(*cfunc)(RIG *, const struct confparams *, rig_ptr_t), rig_ptr_t data)
Executes cfunc on all the elements stored in the extfuncs table.
Definition: ext.c:82
Frequency range.
Definition: rig.h:1457
ann_t announces
Definition: rig.h:2737
Calibration table struct for float values.
Definition: rig.h:1774
hamlib_port_t dcdport
Definition: rig.h:3010
double signal_strength_min
Definition: rig.h:1852
const char * rig_strparm(setting_t parm)
Convert enum RIG_PARM_... to alpha string.
Definition: misc.c:1353
powerstat_t
Radio power state.
Definition: rig.h:708
Definition: network.c:145
time_t twiddle_time
Definition: rig.h:2977
int lock_mode
Definition: rig.h:2819
int startc
Definition: rig.h:1696
rig_model_t rig_model
Definition: rig.h:2829
value_t levels[64]
Definition: rig.h:1596
int vfo_list
Definition: rig.h:2759
double signal_strength_max
Definition: rig.h:1853
int rig_set_pltune_callback(RIG *rig, pltune_cb_t cb, rig_ptr_t arg)
set the callback for pipelined tuning module
Definition: event.c:521
signed long shortfreq_t
Short frequency type.
Definition: rig.h:478
vfo_t rx_vfo
Definition: rig.h:2997
int async_data_enabled
Definition: rig.h:2963
chan_type_t rig_parse_mtype(const char *s)
Convert alpha string to enum RIG_MTYPE_...
Definition: misc.c:1746
struct filter_list filters[HAMLIB_FLTLSTSIZ]
Definition: rig.h:2727
unsigned flags
Definition: rig.h:1645
setting_t has_get_func
Definition: rig.h:2742
signed int i
Definition: rig.h:1026
pbwidth_t current_width
Definition: rig.h:2769
setting_t has_get_parm
Definition: rig.h:2746
int poll_interval
Definition: rig.h:2964
const chan_t * rig_lookup_mem_caps(RIG *rig, int ch)
lookup the memory type and capabilities
Definition: mem.c:1587
freq_t freq
Definition: rig.h:1579
setting_t rig_has_set_func(RIG *rig, setting_t func)
check ability of radio functions
Definition: settings.c:457
void rig_set_debug(enum rig_debug_level_e debug_level)
Change the current debug level.
Definition: debug.c:147
setting_t has_get_parm
Definition: rig.h:2945
freq_range_t tx_range_list[HAMLIB_FRQRANGESIZ]
Definition: rig.h:2723
int use_cached_mode
Definition: rig.h:2816
rig_ptr_t ptt_arg
Definition: rig.h:3075
powerstat_t powerstat
Definition: rig.h:3019
uint64_t rig_idx2setting(int i)
Definition: misc.c:798
freq_t center_freq
Definition: rig.h:1857
hamlib_port_t pttport
Definition: rig.h:3009
int rig_set_conf(RIG *rig, hamlib_token_t token, const char *val)
set a radio configuration parameter
Definition: conf.c:1470
rig_ptr_t obj
Definition: rig.h:2961
int power_max
Definition: rig.h:2794
setting_t has_set_level
Definition: rig.h:2944
int comm_state
Definition: rig.h:2959
int rig_set_vfo_callback(RIG *rig, vfo_cb_t cb, rig_ptr_t arg)
set the callback for vfo events
Definition: event.c:435
setting_t rig_parse_func(const char *s)
Convert alpha string to enum RIG_FUNC_...
Definition: misc.c:810
pbwidth_t width
Definition: rig.h:1581
rmode_t mode
Definition: rig.h:1580
shortfreq_t tuning_step
Definition: rig.h:1592
freq_t current_freq
Definition: rig.h:2766
freq_range_t tx_range_list2[HAMLIB_FRQRANGESIZ]
Definition: rig.h:2863
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:6541
int rig_probe_all(hamlib_port_t *port, rig_probe_func_t cfunc, rig_ptr_t data)
try to guess rigs
Definition: rig.c:6995
float val
Definition: rig.h:1778
int auto_power_off
Definition: rig.h:2985
freq_t startf
Definition: rig.h:1458
int post_ptt_delay
Definition: rig.h:2888
int rig_send_dtmf(RIG *rig, vfo_t vfo, const char *digits)
send DTMF digits
Definition: rig.c:7241
serial_handshake_e
Serial handshake.
Definition: rig.h:343
int high_power
Definition: rig.h:1462
struct confparams::@0::@2 c
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:5025
struct tuning_step_list tuning_steps[HAMLIB_TSLSTSIZ]
Definition: rig.h:2924
int rig_set_func(RIG *rig, vfo_t vfo, setting_t func, int status)
activate/de-activate functions of radio
Definition: settings.c:488
unsigned vfo
Definition: rig.h:1621
unsigned mode
Definition: rig.h:1624
const char * rig_strvfo(vfo_t vfo)
Convert enum RIG_VFO_... to alpha string.
Definition: misc.c:670
shortfreq_t pbwidth_t
Definition: rig.h:648
int ptt_share
Definition: rig.h:2791
Spectrum scope.
Definition: rig.h:1809
Spectrum scope averaging modes.
Definition: rig.h:1829
int rig_set_freq_callback(RIG *rig, freq_cb_t cb, rig_ptr_t arg)
set the callback for freq events
Definition: event.c:379
Channel capability definition.
Definition: rig.h:1619
int bank_qty
Definition: rig.h:2858
int rig_set_ctcss_sql(RIG *rig, vfo_t vfo, tone_t tone)
set CTCSS squelch
Definition: tones.c:364
shortfreq_t rig_get_resolution(RIG *rig, rmode_t mode)
get the best frequency resolution of the rig
Definition: rig.c:6773
Channel structure.
Definition: rig.h:1574
ann_t announces
Definition: rig.h:2936
vfo_op_t
VFO operation.
Definition: rig.h:750
rptr_shift_t
Repeater shift type.
Definition: rig.h:435
int size
Definition: rig.h:1745
int power_now
Definition: rig.h:2792
const char * rig_license()
get the Hamlib license
Definition: rig.c:8159
int serial_rate_min
Definition: rig.h:2839
int rig_wait_morse(RIG *rig, vfo_t vfo)
wait morse code
Definition: rig.c:7599
setting_t has_set_parm
Definition: rig.h:2946
int rig_setting2idx(setting_t s)
basically convert setting_t expressed 2^n to n
Definition: settings.c:971
rig_spectrum_mode_e
Spectrum scope modes.
Definition: rig.h:1818
unsigned int u
Definition: rig.h:1027
const char * rig_strfunc(setting_t func)
Convert enum RIG_FUNC_... to alpha string.
Definition: misc.c:886
int rig_set_vfo_opt(RIG *rig, int status)
set the vfo option for rigctld
Definition: rig.c:7807
Extension attribute definition.
Definition: rig.h:1557
struct rig_spectrum_scope spectrum_scopes[HAMLIB_MAX_SPECTRUM_SCOPES]
Definition: rig.h:2870
gran_t parm_gran[64]
Definition: rig.h:2949
rmode_t mode_list
Definition: rig.h:2970
const char * rig_get_caps_cptr(rig_model_t rig_model, enum rig_caps_cptr_e rig_caps)
Function to return char pointer value from rig->caps.
Definition: misc.c:2702
int rig_set_xit(RIG *rig, vfo_t vfo, shortfreq_t xit)
set the XIT
Definition: rig.c:6157
setting_t rig_has_get_parm(RIG *rig, setting_t parm)
check retrieval ability of parameter settings
Definition: settings.c:369
freq_range_t rx_range_list5[HAMLIB_FRQRANGESIZ]
Definition: rig.h:2868
int async_data_supported
Definition: rig.h:2850
enum serial_parity_e serial_parity
Definition: rig.h:2843
Universal approach for passing values.
Definition: rig.h:1025
hamlib_port_t_deprecated pttport_deprecated
Definition: rig.h:2915
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:5263
char * multicast_cmd_addr
Definition: rig.h:2881
const char * rig_strptrshift(rptr_shift_t shift)
convert enum RIG_RPT_SHIFT_... to printable character
Definition: misc.c:1675
int twiddle_rit
Definition: rig.h:2796
vfo_t rig_parse_vfo(const char *s)
Convert alpha string to enum RIG_VFO_...
Definition: misc.c:641
freq_range_t tx_range_list1[HAMLIB_FRQRANGESIZ]
Definition: rig.h:2861
const char * rig_strscan(scan_t rscan)
Convert enum RIG_SCAN_... to alpha string.
Definition: misc.c:1646
freq_t offset_vfob
Definition: rig.h:3023
setting_t has_set_parm
Definition: rig.h:2747
vfo_t tx_vfo
Definition: rig.h:2969
int vfo_opt
Definition: rig.h:2982
int rig_get_ext_func(RIG *rig, vfo_t vfo, hamlib_token_t token, int *status)
get the value of a function extra parameter
Definition: settings.c:847
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:7771
freq_range_t tx_range_list5[HAMLIB_FRQRANGESIZ]
Definition: rig.h:2869
vfo_t current_vfo
Definition: rig.h:2957
freq_range_t rx_range_list2[HAMLIB_FRQRANGESIZ]
Definition: rig.h:2862
unsigned ant
Definition: rig.h:1622
freq_cb_t freq_event
Definition: rig.h:3068
ptt_type_t ptt_type
Definition: rig.h:2836
setting_t has_get_func
Definition: rig.h:2941
vfo_t current_vfo
Definition: rig.h:2758
rig_ptr_t dcd_arg
Definition: rig.h:3077
int auto_power_off
Definition: rig.h:2786
int rig_get_ptt(RIG *rig, vfo_t vfo, ptt_t *ptt)
get the status of the PTT
Definition: rig.c:3866
hamlib_port_t pttport
Definition: rig.h:2810
The Rig structure.
Definition: rig.h:3095
int write_delay
Definition: rig.h:2845
dcd_type_t
DCD type.
Definition: rig.h:663
struct multicast_s * multicast
Definition: rig.h:2825
int rig_reset(RIG *rig, reset_t reset)
reset the radio
Definition: rig.c:6922
rmode_t modes
Definition: rig.h:1460
int rig_set_clock(RIG *rig, int year, int month, int day, int hour, int min, int sec, double msec, int utc_offset)
set the rig's clock
Definition: rig.c:8120
pltune_cb_t pltune
Definition: rig.h:3078
unsigned char disable_yaesu_bandselect
Definition: rig.h:2994
tone_t dcs_code
Definition: rig.h:1599
char * s
Definition: rig.h:1029
int rig_get_conf(RIG *rig, hamlib_token_t token, char *val)
get the value of a configuration parameter
Definition: conf.c:1531
int raw
Definition: rig.h:1777
freq_t offset_vfob
Definition: rig.h:2824
setting_t rig_has_set_parm(RIG *rig, setting_t parm)
check settable ability of parameter settings
Definition: settings.c:398
struct tuning_step_list tuning_steps[HAMLIB_TSLSTSIZ]
Definition: rig.h:2725
unsigned tag
Definition: rig.h:1648
meter_level_e
Level display meters.
Definition: rig.h:1006
chan_type_t
Memory channel type definition.
Definition: rig.h:1667
setting_t has_set_level
Definition: rig.h:2745
spectrum_cb_t spectrum_event
Definition: rig.h:3080
const char * rig_stragclevel(enum agc_level_e level)
Convert enum RIG_AGC_... to alpha string.
Definition: misc.c:1429
int channel_num
Definition: rig.h:1575
setting_t rig_has_get_func(RIG *rig, setting_t func)
check ability of radio functions
Definition: settings.c:427
rig_status_e
Development status of the backend.
Definition: rig.h:415
const char * rig_copyright()
get the Hamlib copyright
Definition: rig.c:8179
rig_comm_status_t comm_status
Definition: rig.h:2885
const struct confparams * rig_confparam_lookup(RIG *rig, const char *name)
lookup a confparam struct
Definition: conf.c:1369
char * multicast_data_addr
Definition: rig.h:2879
struct rig_state_deprecated state_deprecated
Definition: rig.h:3098
setting_t has_get_level
Definition: rig.h:2943
shortfreq_t max_rit
Definition: rig.h:2733
char * tuner_control_pathname
Definition: rig.h:3020
rmode_t modes
Definition: rig.h:1490
scan_t rig_parse_scan(const char *s)
Convert alpha string to enum RIG_SCAN_...
Definition: misc.c:1621
int rig_set_chan_all(RIG *rig, vfo_t vfo, const channel_t chans[])
set all channel data
Definition: mem.c:1167
rig_function_e
Rig data structure.
Definition: rig.h:2217
shortfreq_t max_rit
Definition: rig.h:2932
int rig_set_mem(RIG *rig, vfo_t vfo, int ch)
set the current memory channel number
Definition: mem.c:68
int rig_get_ext_parm(RIG *rig, hamlib_token_t token, value_t *val)
get the value of a parm extra parameter
Definition: settings.c:944
struct rig_state state
Definition: rig.h:3101
int poll_interval
Definition: rig.h:2765
int post_write_delay
Definition: rig.h:2846
unsigned split
Definition: rig.h:1631
freq_range_t rx_range_list4[HAMLIB_FRQRANGESIZ]
Definition: rig.h:2866
int rig_open(RIG *rig)
open the communication to the rig
Definition: rig.c:932
unsigned rit
Definition: rig.h:1636
int rig_get_dcs_sql(RIG *rig, vfo_t vfo, tone_t *code)
get the current DCS code
Definition: tones.c:558
agc_level_e
AGC delay settings.
Definition: rig.h:381
int vfo_list
Definition: rig.h:2958
int transmit
Definition: rig.h:2774
int rig_set_mem_all(RIG *rig, vfo_t vfo, const channel_t chans[], const struct confparams cfgps[], const value_t vals[])
set all channel and non-channel data
Definition: mem.c:1460
enum rig_status_e status
Definition: rig.h:2834
void rig_set_debug_time_stamp(int flag)
Enable or disable the time stamp on debugging output.
Definition: debug.c:190
tone_t * ctcss_list
Definition: rig.h:2853
Rig state containing live data and customized fields.
Definition: rig.h:2706
vfo_t rx_vfo
Definition: rig.h:2798
int rig_need_debug(enum rig_debug_level_e debug_level)
Test if a given debug level is active.
Definition: debug.c:176
shortfreq_t rit
Definition: rig.h:1593
hamlib_port_t rigport
Definition: rig.h:3008
int transceive
Definition: rig.h:2857
int rig_set_mode_callback(RIG *rig, mode_cb_t cb, rig_ptr_t arg)
set the callback for mode events
Definition: event.c:407
int rig_set_ext_func(RIG *rig, vfo_t vfo, hamlib_token_t token, int status)
set a radio function extra parameter
Definition: settings.c:781
time_t twiddle_time
Definition: rig.h:2778
struct rig_caps * caps
Definition: rig.h:3096
freq_range_t rx_range_list[HAMLIB_FRQRANGESIZ]
Definition: rig.h:2722
int twiddle_state
Definition: rig.h:2996
freq_range_t tx_range_list4[HAMLIB_FRQRANGESIZ]
Definition: rig.h:2867
ann_t
Announce.
Definition: rig.h:925
int rig_get_rptr_shift(RIG *rig, vfo_t vfo, rptr_shift_t *rptr_shift)
get the current repeater shift
Definition: rig.c:4414
multicast_item_e
Multicast data items 3 different data item can be included in the multicast JSON. ...
Definition: rig.h:1179
int rig_cleanup(RIG *rig)
release a rig handle and free associated memory
Definition: rig.c:1835
RIG * rig_init(rig_model_t rig_model)
Allocate a new RIG handle.
Definition: rig.c:529
int rig_set_chan_all_cb(RIG *rig, vfo_t vfo, chan_cb_t chan_cb, rig_ptr_t arg)
set all channel data, by callback
Definition: mem.c:1079
pbwidth_t rig_passband_normal(RIG *rig, rmode_t mode)
get the normal passband of a mode
Definition: rig.c:3122
Definition: winpthreads.h:123
int use_cached_ptt
Definition: rig.h:2817
setting_t rig_parse_parm(const char *s)
Convert alpha string to RIG_PARM_...
Definition: misc.c:1303
unsigned xit
Definition: rig.h:1637
int serial_rate_max
Definition: rig.h:2840
int targetable_vfo
Definition: rig.h:2849
int rig_set_rptr_shift(RIG *rig, vfo_t vfo, rptr_shift_t rptr_shift)
set the repeater shift
Definition: rig.c:4336
#define RIG_SETTING_MAX
Maximum # of rig settings.
Definition: rig.h:1207
unsigned int ant_t
Antenna typedef.
Definition: rig.h:982
int rig_get_mem_all_cb(RIG *rig, vfo_t vfo, chan_cb_t chan_cb, confval_cb_t parm_cb, rig_ptr_t arg)
get all channel and non-channel data by call-back
Definition: mem.c:1394
char * label
Definition: rig.h:1465
setting_t rig_parse_level(const char *s)
Convert alpha string to enum RIG_LEVEL_...
Definition: misc.c:1098
int rig_set_twiddle(RIG *rig, int seconds)
timeout (secs) to stop rigctld when VFO is manually changed
Definition: rig.c:1879
const char * name
Definition: rig.h:902
int scan_group
Definition: rig.h:1601
rig_ptr_t mode_arg
Definition: rig.h:3071
int rig_set_parm(RIG *rig, setting_t parm, value_t val)
set a radio parameter
Definition: settings.c:241
int rig_flush_force(hamlib_port_t *port, int flush_async_data)
Force flush of rig communication data buffers.
Definition: misc.c:2265
reset_t
Reset operation.
Definition: rig.h:720
int rig_get_rptr_offs(RIG *rig, vfo_t vfo, shortfreq_t *rptr_offs)
get the current repeater offset
Definition: rig.c:4575
int rig_send_voice_mem(RIG *rig, vfo_t vfo, int ch)
send voice memory content
Definition: rig.c:7664
int depth
Definition: rig.h:3017
int rig_get_chan_all_cb(RIG *rig, vfo_t vfo, chan_cb_t chan_cb, rig_ptr_t arg)
get all channel data, by callback
Definition: mem.c:1126
int rig_get_vfo_info(RIG *rig, vfo_t vfo, freq_t *freq, rmode_t *mode, pbwidth_t *width, split_t *split, int *satmode)
get freq/mode/width for requested VFO
Definition: rig.c:8020
int rig_set_spectrum_callback(RIG *rig, spectrum_cb_t cb, rig_ptr_t arg)
set the callback for spectrum line reception events
Definition: event.c:549
uint64_t rig_level_e
Rig Level Settings.
Definition: rig.h:1048
freq_range_t tx_range_list[HAMLIB_FRQRANGESIZ]
Definition: rig.h:2922
rig_errcode_e
Definition: rig.h:188
int use_cached_freq
Definition: rig.h:2815
int deprecated_itu_region
Definition: rig.h:2920
Rig cache data.
Definition: rig.h:2589
int rig_get_mode(RIG *rig, vfo_t vfo, rmode_t *mode, pbwidth_t *width)
Definition: rig.c:2954
int rig_get_vfo_list(RIG *rig, char *buf, int buflen)
get list of available vfos
Definition: rig.c:8101
Hamlib rig(radio) model definitions.
rig_conf_e
parameter types
Definition: rig.h:882
int power_now
Definition: rig.h:2991
rmode_t mode_list
Definition: rig.h:2771
enum rig_port_e rig_port_t
Port type.
setting_t levels
Definition: rig.h:1639
rmode_t tx_mode
Definition: rig.h:1584
int rig_set_ptt_callback(RIG *rig, ptt_cb_t cb, rig_ptr_t arg)
set the callback for ptt events
Definition: event.c:463
int rig_set_dcs_sql(RIG *rig, vfo_t vfo, tone_t code)
set the current DCS code
Definition: tones.c:495
unsigned ctcss_tone
Definition: rig.h:1640
ptt_type_t
PTT type.
Definition: rig.h:692
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:5569
setting_t funcs
Definition: rig.h:1595
int uplink
Definition: rig.h:2980
int rig_set_ant(RIG *rig, vfo_t vfo, ant_t ant, value_t option)
set the antenna
Definition: rig.c:6461
hamlib_band_t
Band enumeration.
Definition: rig.h:774
int rig_recv_dtmf(RIG *rig, vfo_t vfo, char *digits, int *length)
receive DTMF digits
Definition: rig.c:7318
int timeout
Definition: rig.h:2847
Calibration table struct.
Definition: rig.h:1744
serial_parity_e
Serial parity.
Definition: rig.h:331
const char * hamlib_copyright2
Hamlib copyright notice.
Definition: rig.c:112
int vfo_opt
Definition: rig.h:2783
int longlat2locator(double longitude, double latitude, char *locator, int pair_count)
Convert longitude/latitude to QRA locator (Maidenhead grid square).
Definition: locator.c:545
int rig_get_parm(RIG *rig, setting_t parm, value_t *val)
get the value of a parameter
Definition: settings.c:275
freq_t spectrum_spans[HAMLIB_MAX_SPECTRUM_SPANS]
Definition: rig.h:2872
freq_t low_edge_freq
Definition: rig.h:1860
int id
Definition: rig.h:1848
int size
Definition: rig.h:1775
freq_t high_edge_freq
Definition: rig.h:1861
gran_t parm_gran[64]
Definition: rig.h:2750
tone_t ctcss_tone
Definition: rig.h:1597
value_t val
Definition: rig.h:1559
int rig_get_chan_all(RIG *rig, vfo_t vfo, channel_t chans[])
get all channel data
Definition: mem.c:1210
setting_t has_get_level
Definition: rig.h:2744
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:5908
int rig_get_ctcss_sql(RIG *rig, vfo_t vfo, tone_t *tone)
get the current CTCSS squelch
Definition: tones.c:432
shortfreq_t ts
Definition: rig.h:1491
const char * rig_strrmode(rmode_t mode)
Convert enum RIG_MODE to alpha string.
Definition: misc.c:540
int power_min
Definition: rig.h:2992
hamlib_port_t rigport
Definition: rig.h:2809
int rig_set_ext_parm(RIG *rig, hamlib_token_t token, value_t val)
set a radio parm extra parameter
Definition: settings.c:912
int auto_disable_screensaver
Definition: rig.h:2788
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:5427
unsigned tx_mode
Definition: rig.h:1628
int rig_get_powerstat(RIG *rig, powerstat_t *status)
get the on/off status of the radio
Definition: rig.c:6867
pbwidth_t width
Definition: rig.h:1526
freq_t span_freq
Definition: rig.h:1858
freq_t offset_vfoa
Definition: rig.h:3022
enum rig_spectrum_mode_e spectrum_modes[HAMLIB_MAX_SPECTRUM_MODES]
Definition: rig.h:2871
rmode_t current_mode
Definition: rig.h:2966
int rig_set_split_vfo(RIG *rig, vfo_t rx_vfo, split_t split, vfo_t tx_vfo)
set the split mode
Definition: rig.c:5657
enum rig_spectrum_mode_e spectrum_mode
Definition: rig.h:1855
hamlib_port_t_deprecated port_t_deprecated
Port definition.
Definition: rig.h:2501
int rig_get_trn(RIG *rig, int *trn)
get the current transceive mode
Definition: event.c:606
unsigned int flags
Definition: rig.h:1602
freq_t lo_freq
Definition: rig.h:2777
unsigned rptr_shift
Definition: rig.h:1633
int rig_stop_morse(RIG *rig, vfo_t vfo)
stop morse code
Definition: rig.c:7490
int rig_get_twiddle(RIG *rig, int *seconds)
get the twiddle timeout value (secs)
Definition: rig.c:1930
const char * version
Definition: rig.h:2832
int rig_get_ctcss_tone(RIG *rig, vfo_t vfo, tone_t *tone)
get the current CTCSS sub-tone frequency
Definition: tones.c:166
ant_t ant
Definition: rig.h:1578
int use_cached_freq
Definition: rig.h:3014
const char * rig_strvfop(vfo_op_t op)
Convert enum RIG_OP_... to alpha string.
Definition: misc.c:1576
const char * rigerror2(int errnum)
get string describing the error code
Definition: rig.c:439
freq_t offset_vfoa
Definition: rig.h:2823
const char * combostr[RIG_COMBO_MAX]
Definition: rig.h:914
split_t
Split mode.
Definition: rig.h:445
struct multicast_s * multicast
Definition: rig.h:3024
int rig_set_freq(RIG *rig, vfo_t vfo, freq_t freq)
set the frequency of the target VFO
Definition: rig.c:2061
chan_type_t type
Definition: rig.h:1698
int transmit
Definition: rig.h:2973
int rig_get_split_freq(RIG *rig, vfo_t vfo, freq_t *tx_freq)
get the current split frequencies
Definition: rig.c:4848
Callback functions and args for rig event.
Definition: rig.h:3067
int rig_stop_voice_mem(RIG *rig, vfo_t vfo)
stop sending voice memory
Definition: rig.c:7733
const char * tooltip
Definition: rig.h:904
long hamlib_token_t
configuration token
Definition: rig.h:859
int rig_mem_count(RIG *rig)
get memory channel count
Definition: mem.c:1652
Memory channel list definition.
Definition: rig.h:1695
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:2756
cookie_e
Rig Cookie enumerations.
Definition: rig.h:1169
unsigned ctcss_sql
Definition: rig.h:1641
level/parm granularity definition
Definition: rig.h:1729
rig_model_t rig_probe(hamlib_port_t *port)
try to guess a rig
Definition: rig.c:6967
rig_caps_int_e
Enumeration of rig->caps values.
Definition: rig.h:2320
char * tuner_control_pathname
Definition: rig.h:2821
shortfreq_t rptr_offs
Definition: rig.h:1591
const char * rig_strcommstatus(rig_comm_status_t status)
Convert enum RIG_COMM_STATUS... to alpha string.
Definition: misc.c:2757
unsigned freq
Definition: rig.h:1623
ptt_t
PTT status.
Definition: rig.h:679
int data_level_max
Definition: rig.h:1851
float min
Definition: rig.h:909
char channel_desc[HAMLIB_MAXCHANDESC]
Definition: rig.h:1603
int rig_close(RIG *rig)
close the communication to the rig
Definition: rig.c:1658
struct cal_table_float::@4 table[HAMLIB_MAX_CAL_LENGTH]
int deprecated_itu_region
Definition: rig.h:2721
int bank_num
Definition: rig.h:1576
int doppler
Definition: rig.h:2878
int power_min
Definition: rig.h:2793
char client_version[32]
Definition: rig.h:2822
unsigned tx_freq
Definition: rig.h:1627
int twiddle_rit
Definition: rig.h:2995
rmode_t modes
Definition: rig.h:1525
unsigned dcs_code
Definition: rig.h:1642
enum agc_level_e rig_levelagcvalue(int agcValue)
Convert a value to agc_level_e – constrains the range.
Definition: misc.c:1474
struct freq_range_list freq_range_t
Frequency range.
dcd_e
Definition: rig.h:652
int retry
Definition: rig.h:2848
rig_type_t
Rig type flags.
Definition: rig.h:363
rmode_t rig_parse_mode(const char *s)
Convert alpha string to enum RIG_MODE.
Definition: misc.c:513
struct rig_spectrum_avg_mode spectrum_avg_modes[HAMLIB_MAX_SPECTRUM_AVG_MODES]
Definition: rig.h:2873
unsigned int vfo_t
VFO definition.
Definition: rig.h:516
int rig_get_level(RIG *rig, vfo_t vfo, setting_t level, value_t *val)
get the value of a level
Definition: settings.c:153
freq_range_t rx_range_list3[HAMLIB_FRQRANGESIZ]
Definition: rig.h:2864
int rig_set_ext_level(RIG *rig, vfo_t vfo, hamlib_token_t token, value_t val)
set a radio level extra parameter
Definition: settings.c:650
unsigned width
Definition: rig.h:1625
ptt_cb_t ptt_event
Definition: rig.h:3074
freq_t current_freq
Definition: rig.h:2965
rptr_shift_t rig_parse_rptr_shift(const char *s)
Convert alpha char to enum RIG_RPT_SHIFT_...
Definition: misc.c:1700
struct confparams::@0::@1 n
hamlib_port_t_deprecated dcdport_deprecated
Definition: rig.h:2916
enum rig_conf_e type
Definition: rig.h:906
vfo_t vfo
Definition: rig.h:1463
int preamp[HAMLIB_MAXDBLSTSIZ]
Definition: rig.h:2739
int locator2longlat(double *longitude, double *latitude, const char *locator)
Convert QRA locator (Maidenhead grid square) to Longitude/Latitude.
Definition: locator.c:451
int agc_level_count
Definition: rig.h:2851
int rig_get_mem_all(RIG *rig, vfo_t vfo, channel_t chans[], const struct confparams cfgps[], value_t vals[])
get all channel and non-channel data
Definition: mem.c:1528
int rig_get_dcs_code(RIG *rig, vfo_t vfo, tone_t *code)
get the current encoding DCS code
Definition: tones.c:293
freq_range_t tx_range_list3[HAMLIB_FRQRANGESIZ]
Definition: rig.h:2865
const char * rig_strmtype(chan_type_t mtype)
Convert enum RIG_MTYPE_... to alpha string.
Definition: misc.c:1771
int rig_get_channel(RIG *rig, vfo_t vfox, channel_t *chan, int read_only)
get channel data
Definition: mem.c:828
int data_level_min
Definition: rig.h:1850
freq_t tx_freq
Definition: rig.h:1583
vfo_t tx_vfo
Definition: rig.h:1588
mode_cb_t mode_event
Definition: rig.h:3070
vprintf_cb_t rig_set_debug_callback(vprintf_cb_t cb, rig_ptr_t arg)
Set callback to handle debugging messages.
Definition: debug.c:316
int async_data_enabled
Definition: rig.h:2764
rig_ptr_t freq_arg
Definition: rig.h:3069
int endc
Definition: rig.h:1697
void * rig_get_function_ptr(rig_model_t rig_model, enum rig_function_e rig_function)
Function to return pointer to rig_* function.
Definition: misc.c:2364
enum agc_level_e agc_levels[HAMLIB_MAX_AGC_LEVELS]
Definition: rig.h:2852
tone_t * dcs_list
Definition: rig.h:2854
size_t spectrum_data_length
Definition: rig.h:1863
tone_t dcs_sql
Definition: rig.h:1600
int rig_set_level(RIG *rig, vfo_t vfo, setting_t level, value_t val)
set a radio level setting
Definition: settings.c:73
cal_table_t str_cal
Definition: rig.h:2928
int auto_disable_screensaver
Definition: rig.h:2987
int transaction_active
Definition: rig.h:2956
uint64_t setting_t
Setting.
Definition: rig.h:1201
int twiddle_state
Definition: rig.h:2797
int twiddle_timeout
Definition: rig.h:2779
cal_table_t str_cal
Definition: rig.h:2729
dcd_cb_t dcd_event
Definition: rig.h:3076
rig_ptr_t vfo_arg
Definition: rig.h:3073
int serial_stop_bits
Definition: rig.h:2842
int lock_mode
Definition: rig.h:3018
rig_ptr_t obj
Definition: rig.h:2762
struct filter_list filters[HAMLIB_FLTLSTSIZ]
Definition: rig.h:2926
unsigned ext_levels
Definition: rig.h:1647
Multicast data items the are unique per rig instantiation This is meant for internal Hamlib use only...
Definition: rig.h:2668
split_t split
Definition: rig.h:1587
unsigned char * spectrum_data
Definition: rig.h:1864
freq_t lo_freq
Definition: rig.h:2976
int rig_cookie(RIG *rig, enum cookie_e cookie_cmd, char *cookie, int cookie_len)
get a cookie to grab rig control
Definition: rig.c:8208
serial_control_state_e
Serial control state.
Definition: rig.h:353
int auto_power_on
Definition: rig.h:2983
int rig_get_clock(RIG *rig, int *year, int *month, int *day, int *hour, int *min, int *sec, double *msec, int *utc_offset)
get the rig's clock
Definition: rig.c:8138
unsigned char disable_yaesu_bandselect
Definition: rig.h:2795
int dual_watch
Definition: rig.h:2887
const char * mfg_name
Definition: rig.h:2831
setting_t has_set_func
Definition: rig.h:2942
pbwidth_t rig_passband_narrow(RIG *rig, rmode_t mode)
get the narrow passband of a mode
Definition: rig.c:3173
int rig_vfo_op(RIG *rig, vfo_t vfo, vfo_op_t op)
perform Memory/VFO operations
Definition: rig.c:7053
char client_version[32]
Definition: rig.h:3021
shortfreq_t max_xit
Definition: rig.h:2734
enum agc_level_e rig_levelagcstr(const char *agcString)
Convert AGC string... to agc_level_e.
Definition: misc.c:1505
value_t max
Definition: rig.h:1731
uint64_t rig_get_caps_int(rig_model_t rig_model, enum rig_caps_int_e rig_caps)
Function to return int value from rig->caps Does not support > 32-bit rig_caps values.
Definition: misc.c:2656
int multicast_cmd_port
Definition: rig.h:2882
shortfreq_t max_xit
Definition: rig.h:2933
unsigned scan_group
Definition: rig.h:1644
Definition: network.c:131
int rig_get_ts(RIG *rig, vfo_t vfo, shortfreq_t *ts)
get the current Tuning Step
Definition: rig.c:6379
int rig_token_foreach(RIG *rig, int(*cfunc)(const struct confparams *, rig_ptr_t), rig_ptr_t data)
call a function against each configuration token of a rig
Definition: conf.c:1307
int spectrum_attenuator[HAMLIB_MAXDBLSTSIZ]
Definition: rig.h:2874
int rig_set_powerstat(RIG *rig, powerstat_t status)
turn on/off the radio
Definition: rig.c:6815
scan_t scan_ops
Definition: rig.h:2856
Configuration parameter structure.
Definition: rig.h:900
uint64_t rmode_t
Radio mode.
Definition: rig.h:1359
tone_t ctcss_sql
Definition: rig.h:1598
int rig_set_ts(RIG *rig, vfo_t vfo, shortfreq_t ts)
set the Tuning Step
Definition: rig.c:6307
int rig_set_rptr_offs(RIG *rig, vfo_t vfo, shortfreq_t rptr_offs)
set the repeater offset
Definition: rig.c:4498
const char * label
Definition: rig.h:903
int rig_type
Definition: rig.h:2835
int val
Definition: rig.h:1748
int rig_set_rit(RIG *rig, vfo_t vfo, shortfreq_t rit)
set the RIT
Definition: rig.c:6007
ant_t ant
Definition: rig.h:1464
const char * copyright
Definition: rig.h:2833
hamlib_port_t_deprecated rigport_deprecated
Definition: rig.h:2914
int rig_set_ctcss_tone(RIG *rig, vfo_t vfo, tone_t tone)
set CTCSS sub-tone frequency
Definition: tones.c:98
value_t rig_valueagclevel(enum agc_level_e agcLevel)
Convert a enum agc_level_e to value.
Definition: misc.c:1454
int rig_ext_parm_foreach(RIG *rig, int(*cfunc)(RIG *, const struct confparams *, rig_ptr_t), rig_ptr_t data)
Executes cfunc on all the elements stored in the extparms table.
Definition: ext.c:182
rig_port_e
Port type.
Definition: rig.h:310
int rig_set_split_freq(RIG *rig, vfo_t vfo, freq_t tx_freq)
set the split frequencies
Definition: rig.c:4658
hamlib_port_t dcdport
Definition: rig.h:2811
int preamp[HAMLIB_MAXDBLSTSIZ]
Definition: rig.h:2938
channel_cap_t mem_caps
Definition: rig.h:1699
int rig_get_rit(RIG *rig, vfo_t vfo, shortfreq_t *rit)
get the current RIT offset
Definition: rig.c:6079
int depth
Definition: rig.h:2818
hamlib_port_t_deprecated pttport_deprecated
Definition: rig.h:2716
rig_ptr_t priv
Definition: rig.h:2761
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:232
int comm_state
Definition: rig.h:2760
const char * rig_get_info(RIG *rig)
get general information from the radio
Definition: rig.c:7846
float max
Definition: rig.h:910
int rig_get_vfo(RIG *rig, vfo_t *vfo)
get the current VFO
Definition: rig.c:3432
Represents a single line of rig spectrum scope FFT data.
Definition: rig.h:1846
vfo_op_t rig_parse_vfo_op(const char *s)
Convert alpha string to enum RIG_OP_...
Definition: misc.c:1551
rmode_t current_mode
Definition: rig.h:2767
unsigned dcs_sql
Definition: rig.h:1643
int attenuator[HAMLIB_MAXDBLSTSIZ]
Definition: rig.h:2740
int attenuator[HAMLIB_MAXDBLSTSIZ]
Definition: rig.h:2939
rptr_shift_t rptr_shift
Definition: rig.h:1590
int power_max
Definition: rig.h:2993
const char * rig_version()
get the Hamlib version
Definition: rig.c:8169
double vfo_comp
Definition: rig.h:2719
int use_cached_ptt
Definition: rig.h:3016
hamlib_token_t token
Definition: rig.h:1558
int rig_strrmodes(rmode_t modes, char *buf, int buflen)
Convert RIG_MODE or'd value to alpha string of all modes.
Definition: misc.c:572