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__) 50 #include <sys/socket.h> 51 #include <netinet/in.h> 52 #include <arpa/inet.h> 59 #warning TIMESIZE != 64 -- Please report your OS system to hamlib-developer@lists.sourceforge.net 65 #define HAVE_STRUCT_TIMESPEC 93 # define __BEGIN_DECLS extern "C" { 94 # define __END_DECLS } 96 # define __BEGIN_DECLS 106 #if defined (__STDC__) \ 108 || (defined (__mips) && defined (_SYSTYPE_SVR4)) \ 109 || defined(__CYGWIN__) \ 111 || defined(__cplusplus) 112 # define HAMLIB_PARAMS(protos) protos 113 # define rig_ptr_t void * 114 # define amp_ptr_t void * 116 # define HAMLIB_PARAMS(protos) () 117 # define rig_ptr_t char * 118 # define amp_ptr_t char * 122 #include <hamlib/rig_dll.h> 125 #define CONSTANT_64BIT_FLAG(BIT) (1ull << (BIT)) 139 #define CONSTANT_64BIT_FLAG(BIT) (1ul << (BIT)) 145 #define HAMLIB_FIFO_SIZE 1024 149 char data[HAMLIB_FIFO_SIZE];
154 pthread_mutex_t mutex;
166 #define HAMLIB_COOKIE_SIZE 37 167 extern int cookie_use;
168 extern int skip_init;
171 extern HAMLIB_EXPORT_VAR(
const char) hamlib_version[];
172 extern HAMLIB_EXPORT_VAR(
const char) hamlib_copyright[];
173 extern HAMLIB_EXPORT_VAR(
const char *) hamlib_version2;
221 #define RIG_IS_SOFT_ERRCODE(errcode) (errcode == RIG_EINVAL || errcode == RIG_ENIMPL || errcode == RIG_ERJCTED \ 222 || errcode == RIG_ETRUNC || errcode == RIG_ENAVAIL || errcode == RIG_ENTARGET \ 223 || errcode == RIG_EVFO || errcode == RIG_EDOM || errcode == RIG_EDEPRECATED \ 224 || errcode == RIG_ESECURITY || errcode == RIG_EPOWER) 229 #define NETRIGCTL_RET "RPRT " 263 #define HAMLIB_RIGNAMSIZ 30 264 #define HAMLIB_RIGVERSIZ 8 265 #define HAMLIB_FILPATHLEN 512 266 #define HAMLIB_FRQRANGESIZ 30 267 #define HAMLIB_MAXCHANDESC 30 268 #define HAMLIB_TSLSTSIZ 20 269 #define HAMLIB_FLTLSTSIZ 60 270 #define HAMLIB_MAXDBLSTSIZ 8 271 #define HAMLIB_CHANLSTSIZ 16 272 #define HAMLIB_MAX_AGC_LEVELS 8 273 #define HAMLIB_MAX_SPECTRUM_SCOPES 4 274 #define HAMLIB_MAX_SPECTRUM_MODES 5 275 #define HAMLIB_MAX_SPECTRUM_AVG_MODES 12 276 #define HAMLIB_MAX_SPECTRUM_SPANS 20 277 #define HAMLIB_MAX_SPECTRUM_DATA 2048 278 #define HAMLIB_MAX_CAL_LENGTH 32 279 #define HAMLIB_MAX_MODES 63 280 #define HAMLIB_MAX_VFOS 31 281 #define HAMLIB_MAX_ROTORS 63 282 #define HAMLIB_MAX_VFO_OPS 31 283 #define HAMLIB_MAX_RSCANS 31 284 #define HAMLIB_MAX_SNAPSHOT_PACKET_SIZE 16384 298 #define CTCSS_LIST_SIZE 60 299 #define DCS_LIST_SIZE 128 300 typedef unsigned int tone_t;
394 #define RIG_FLAG_TRANSCEIVER (RIG_FLAG_RECEIVER|RIG_FLAG_TRANSMITTER) 395 #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) 397 #define RIG_TYPE_OTHER 0 398 #define RIG_TYPE_TRANSCEIVER RIG_FLAG_TRANSCEIVER 399 #define RIG_TYPE_HANDHELD (RIG_FLAG_TRANSCEIVER|RIG_FLAG_HANDHELD) 400 #define RIG_TYPE_MOBILE (RIG_FLAG_TRANSCEIVER|RIG_FLAG_MOBILE) 401 #define RIG_TYPE_RECEIVER RIG_FLAG_RECEIVER 402 #define RIG_TYPE_PCRECEIVER (RIG_FLAG_COMPUTER|RIG_FLAG_RECEIVER) 403 #define RIG_TYPE_SCANNER (RIG_FLAG_SCANNER|RIG_FLAG_RECEIVER) 404 #define RIG_TYPE_TRUNKSCANNER (RIG_TYPE_SCANNER|RIG_FLAG_TRUNKING) 405 #define RIG_TYPE_COMPUTER (RIG_FLAG_TRANSCEIVER|RIG_FLAG_COMPUTER) 406 #define RIG_TYPE_TUNER RIG_FLAG_TUNER 427 #define RIG_STATUS_NEW RIG_STATUS_UNTESTED 459 #define PRIfreq ".0f" 468 #define FREQFMT SCNfreq 479 #define Hz(f) ((freq_t)(f)) 481 #define kHz(f) ((freq_t)((f)*(freq_t)1000)) 483 #define MHz(f) ((freq_t)((f)*(freq_t)1000000)) 485 #define GHz(f) ((freq_t)((f)*(freq_t)1000000000)) 488 #define s_Hz(f) ((shortfreq_t)(f)) 490 #define s_kHz(f) ((shortfreq_t)((f)*(shortfreq_t)1000)) 492 #define s_MHz(f) ((shortfreq_t)((f)*(shortfreq_t)1000000)) 494 #define s_GHz(f) ((shortfreq_t)((f)*(shortfreq_t)1000000000)) 497 #define RIG_FREQ_NONE Hz(0) 518 #define RIG_VFO_N(n) (1u<<(n)) 521 #define RIG_VFO_NONE 0 524 #define RIG_VFO_A RIG_VFO_N(0) 527 #define RIG_VFO_B RIG_VFO_N(1) 530 #define RIG_VFO_C RIG_VFO_N(2) 536 #define RIG_VFO_SUB_A RIG_VFO_N(21) 539 #define RIG_VFO_SUB_B RIG_VFO_N(22) 542 #define RIG_VFO_SUB_C RIG_VFO_N(3) 545 #define RIG_VFO_MAIN_A RIG_VFO_N(23) 548 #define RIG_VFO_MAIN_B RIG_VFO_N(24) 551 #define RIG_VFO_MAIN_C RIG_VFO_N(4) 554 #define RIG_VFO_OTHER RIG_VFO_N(5) 557 #define RIG_VFO_SUB RIG_VFO_N(25) 560 #define RIG_VFO_MAIN RIG_VFO_N(26) 563 #define RIG_VFO_VFO RIG_VFO_N(27) 566 #define RIG_VFO_MEM RIG_VFO_N(28) 569 #define RIG_VFO_CURR RIG_VFO_N(29) 572 #define RIG_VFO_TX_FLAG RIG_VFO_N(30) 575 #define RIG_VFO_ALL RIG_VFO_N(31) 582 #define RIG_VFO_TX_VFO(v) ((v)|RIG_VFO_TX_FLAG) 585 #define RIG_VFO_TX RIG_VFO_TX_VFO(RIG_VFO_CURR) 588 #define RIG_VFO_RX RIG_VFO_CURR 598 #define RIG_TARGETABLE_NONE 0 599 #define RIG_TARGETABLE_FREQ (1<<0) 600 #define RIG_TARGETABLE_MODE (1<<1) // mode by vfo or same mode on both vfos 601 #define RIG_TARGETABLE_PURE (1<<2) // deprecated -- not used -- reuse it 602 #define RIG_TARGETABLE_TONE (1<<3) 603 #define RIG_TARGETABLE_FUNC (1<<4) 604 #define RIG_TARGETABLE_LEVEL (1<<5) 605 #define RIG_TARGETABLE_RITXIT (1<<6) 606 #define RIG_TARGETABLE_PTT (1<<7) 607 #define RIG_TARGETABLE_MEM (1<<8) 608 #define RIG_TARGETABLE_BANK (1<<9) 609 #define RIG_TARGETABLE_ANT (1<<10) 610 #define RIG_TARGETABLE_ROOFING (1<<11) // roofing filter targetable by VFO 611 #define RIG_TARGETABLE_SPECTRUM (1<<12) // spectrum scope targetable by VFO 612 #define RIG_TARGETABLE_BAND (1<<13) // Band select -- e.g. Yaesu BS command 613 #define RIG_TARGETABLE_COMMON (RIG_TARGETABLE_RITXIT | RIG_TARGETABLE_PTT | RIG_TARGETABLE_MEM | RIG_TARGETABLE_BANK) 614 #define RIG_TARGETABLE_ALL 0x7fffffff 622 #define VFO_HAS_A_B ((STATE(rig)->vfo_list & (RIG_VFO_A|RIG_VFO_B)) == (RIG_VFO_A|RIG_VFO_B)) 623 #define VFO_HAS_MAIN_SUB ((STATE(rig)->vfo_list & (RIG_VFO_MAIN|RIG_VFO_SUB)) == (RIG_VFO_MAIN|RIG_VFO_SUB)) 624 #define VFO_HAS_MAIN_SUB_ONLY ((!VFO_HAS_A_B) & VFO_HAS_MAIN_SUB) 625 #define VFO_HAS_MAIN_SUB_A_B_ONLY (VFO_HAS_A_B & VFO_HAS_MAIN_SUB) 626 #define VFO_HAS_A_B_ONLY (VFO_HAS_A_B & (!VFO_HAS_MAIN_SUB)) 627 #define VFO_DUAL (RIG_VFO_MAIN_A|RIG_VFO_MAIN_B|RIG_VFO_SUB_A|RIG_VFO_SUB_B) 628 #define VFO_HAS_DUAL ((STATE(rig)->vfo_list & VFO_DUAL) == VFO_DUAL) 635 #define RIG_PASSBAND_NORMAL s_Hz(0) 640 #define RIG_PASSBAND_NOCHANGE s_Hz(-1) 648 typedef float agc_time_t;
824 #define RIG_BANDSELECT_ALL 825 #define RIG_BANDSELECT_LF (RIG_BANDSELECT_2200M | RIG_BANDSELECT_600M) 826 #define RIG_BANDSELECT_HF (RIG_BANDSELECT_160M | RIG_BANDSELECT_80M | RIG_BANDSELECT_60M | RIG_BANDSELECT_40M\ 827 | RIG_BANDSELECT_30M | RIG_BANDSELECT_20M | RIG_BANDSELECT_17M | RIG_BANDSELECT_15M | RIG_BANDSELECT_12M\ 828 RIG_BANDSELECT_10M | RIG_BANDSELECT_6M) 829 #define RIG_BANDSELECT_VHF (RIG_BANDSELECT_AIR | RIG_BANDSELECT_2M| RIG_BANDSELECT_1_25M( 830 #define RIG_BANDSELECT_UHF (RIG_BANDSELECT_70CM) 858 #define token_t hamlib_token_t 862 #define RIG_CONF_END 0 891 #define RIG_COMBO_MAX 16 892 #define RIG_BIN_MAX 80 982 #define RIG_ANT_NONE 0 983 #define RIG_ANT_N(n) ((ant_t)1<<(n)) 984 #define RIG_ANT_1 RIG_ANT_N(0) 985 #define RIG_ANT_2 RIG_ANT_N(1) 986 #define RIG_ANT_3 RIG_ANT_N(2) 987 #define RIG_ANT_4 RIG_ANT_N(3) 988 #define RIG_ANT_5 RIG_ANT_N(4) 990 #define RIG_ANT_UNKNOWN RIG_ANT_N(30) 991 #define RIG_ANT_CURR RIG_ANT_N(31) 993 #define RIG_ANT_MAX 32 997 #define RIG_AGC_LAST 99999 1006 RIG_METER_SWR = (1 << 0),
1007 RIG_METER_COMP = (1 << 1),
1008 RIG_METER_ALC = (1 << 2),
1009 RIG_METER_IC = (1 << 3),
1010 RIG_METER_DB = (1 << 4),
1011 RIG_METER_PO = (1 << 5),
1012 RIG_METER_VDD = (1 << 6),
1013 RIG_METER_TEMP = (1 << 7)
1047 #define RIG_LEVEL_NONE 0 1048 #define RIG_LEVEL_PREAMP CONSTANT_64BIT_FLAG(0) 1049 #define RIG_LEVEL_ATT CONSTANT_64BIT_FLAG(1) 1050 #define RIG_LEVEL_VOXDELAY CONSTANT_64BIT_FLAG(2) 1051 #define RIG_LEVEL_AF CONSTANT_64BIT_FLAG(3) 1052 #define RIG_LEVEL_RF CONSTANT_64BIT_FLAG(4) 1053 #define RIG_LEVEL_SQL CONSTANT_64BIT_FLAG(5) 1054 #define RIG_LEVEL_IF CONSTANT_64BIT_FLAG(6) 1055 #define RIG_LEVEL_APF CONSTANT_64BIT_FLAG(7) 1056 #define RIG_LEVEL_NR CONSTANT_64BIT_FLAG(8) 1057 #define RIG_LEVEL_PBT_IN CONSTANT_64BIT_FLAG(9) 1058 #define RIG_LEVEL_PBT_OUT CONSTANT_64BIT_FLAG(10) 1059 #define RIG_LEVEL_CWPITCH CONSTANT_64BIT_FLAG(11) 1060 #define RIG_LEVEL_RFPOWER CONSTANT_64BIT_FLAG(12) 1061 #define RIG_LEVEL_MICGAIN CONSTANT_64BIT_FLAG(13) 1062 #define RIG_LEVEL_KEYSPD CONSTANT_64BIT_FLAG(14) 1063 #define RIG_LEVEL_NOTCHF CONSTANT_64BIT_FLAG(15) 1064 #define RIG_LEVEL_COMP CONSTANT_64BIT_FLAG(16) 1065 #define RIG_LEVEL_AGC CONSTANT_64BIT_FLAG(17) 1066 #define RIG_LEVEL_BKINDL CONSTANT_64BIT_FLAG(18) 1067 #define RIG_LEVEL_BALANCE CONSTANT_64BIT_FLAG(19) 1068 #define RIG_LEVEL_METER CONSTANT_64BIT_FLAG(20) 1069 #define RIG_LEVEL_VOXGAIN CONSTANT_64BIT_FLAG(21) 1070 #define RIG_LEVEL_ANTIVOX CONSTANT_64BIT_FLAG(22) 1071 #define RIG_LEVEL_SLOPE_LOW CONSTANT_64BIT_FLAG(23) 1072 #define RIG_LEVEL_SLOPE_HIGH CONSTANT_64BIT_FLAG(24) 1073 #define RIG_LEVEL_BKIN_DLYMS CONSTANT_64BIT_FLAG(25) 1076 #define RIG_LEVEL_RAWSTR CONSTANT_64BIT_FLAG(26) 1077 //#define RIG_LEVEL_SQLSTAT CONSTANT_64BIT_FLAG(27) 1078 #define RIG_LEVEL_SWR CONSTANT_64BIT_FLAG(28) 1079 #define RIG_LEVEL_ALC CONSTANT_64BIT_FLAG(29) 1080 #define RIG_LEVEL_STRENGTH CONSTANT_64BIT_FLAG(30) 1082 #define RIG_LEVEL_RFPOWER_METER CONSTANT_64BIT_FLAG(32) 1083 #define RIG_LEVEL_COMP_METER CONSTANT_64BIT_FLAG(33) 1084 #define RIG_LEVEL_VD_METER CONSTANT_64BIT_FLAG(34) 1085 #define RIG_LEVEL_ID_METER CONSTANT_64BIT_FLAG(35) 1087 #define RIG_LEVEL_NOTCHF_RAW CONSTANT_64BIT_FLAG(36) 1088 #define RIG_LEVEL_MONITOR_GAIN CONSTANT_64BIT_FLAG(37) 1089 #define RIG_LEVEL_NB CONSTANT_64BIT_FLAG(38) 1090 #define RIG_LEVEL_RFPOWER_METER_WATTS CONSTANT_64BIT_FLAG(39) 1091 #define RIG_LEVEL_SPECTRUM_MODE CONSTANT_64BIT_FLAG(40) 1092 #define RIG_LEVEL_SPECTRUM_SPAN CONSTANT_64BIT_FLAG(41) 1093 #define RIG_LEVEL_SPECTRUM_EDGE_LOW CONSTANT_64BIT_FLAG(42) 1094 #define RIG_LEVEL_SPECTRUM_EDGE_HIGH CONSTANT_64BIT_FLAG(43) 1095 #define RIG_LEVEL_SPECTRUM_SPEED CONSTANT_64BIT_FLAG(44) 1096 #define RIG_LEVEL_SPECTRUM_REF CONSTANT_64BIT_FLAG(45) 1097 #define RIG_LEVEL_SPECTRUM_AVG CONSTANT_64BIT_FLAG(46) 1098 #define RIG_LEVEL_SPECTRUM_ATT CONSTANT_64BIT_FLAG(47) 1099 #define RIG_LEVEL_TEMP_METER CONSTANT_64BIT_FLAG(48) 1100 #define RIG_LEVEL_BAND_SELECT CONSTANT_64BIT_FLAG(49) 1101 #define RIG_LEVEL_USB_AF CONSTANT_64BIT_FLAG(50) 1102 #define RIG_LEVEL_USB_AF_INPUT CONSTANT_64BIT_FLAG(51) 1103 #define RIG_LEVEL_AGC_TIME CONSTANT_64BIT_FLAG(52) 1104 #define RIG_LEVEL_53 CONSTANT_64BIT_FLAG(53) 1105 #define RIG_LEVEL_54 CONSTANT_64BIT_FLAG(54) 1106 #define RIG_LEVEL_55 CONSTANT_64BIT_FLAG(55) 1107 #define RIG_LEVEL_56 CONSTANT_64BIT_FLAG(56) 1108 #define RIG_LEVEL_57 CONSTANT_64BIT_FLAG(57) 1109 #define RIG_LEVEL_58 CONSTANT_64BIT_FLAG(58) 1110 #define RIG_LEVEL_59 CONSTANT_64BIT_FLAG(59) 1111 #define RIG_LEVEL_60 CONSTANT_64BIT_FLAG(60) 1112 #define RIG_LEVEL_61 CONSTANT_64BIT_FLAG(61) 1113 #define RIG_LEVEL_62 CONSTANT_64BIT_FLAG(62) 1114 #define RIG_LEVEL_63 CONSTANT_64BIT_FLAG(63) 1116 #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) 1119 #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) 1121 #define RIG_LEVEL_IS_FLOAT(l) ((l)&RIG_LEVEL_FLOAT_LIST) 1122 #define RIG_LEVEL_SET(l) ((l)&~RIG_LEVEL_READONLY_LIST) 1152 enum rig_keyertype_e {
1153 RIG_KEYERTYPE_STRAIGHT = 0,
1154 RIG_KEYERTYPE_BUG = (1 << 0),
1155 RIG_KEYERTYPE_PADDLE = (1 << 1),
1156 RIG_KEYERTYPE_UNKNOWN = (1 << 2)
1179 RIG_MULTICAST_TRANSCEIVE,
1180 RIG_MULTICAST_SPECTRUM
1184 #define RIG_PARM_FLOAT_LIST (RIG_PARM_BACKLIGHT|RIG_PARM_BAT|RIG_PARM_KEYLIGHT|RIG_PARM_BACKLIGHT) 1185 #define RIG_PARM_STRING_LIST (RIG_PARM_BANDSELECT|RIG_PARM_KEYERTYPE) 1186 #define RIG_PARM_READONLY_LIST (RIG_PARM_BAT) 1188 #define RIG_PARM_IS_FLOAT(l) ((l)&RIG_PARM_FLOAT_LIST) 1189 #define RIG_PARM_IS_STRING(l) ((l)&RIG_PARM_STRING_LIST) 1190 #define RIG_PARM_SET(l) ((l)&~RIG_PARM_READONLY_LIST) 1205 #define RIG_SETTING_MAX 64 1223 #define RIG_TRN_OFF 0 1224 #define RIG_TRN_RIG 1 1225 #define RIG_TRN_POLL 2 1245 #define RIG_FUNC_NONE 0 1246 #define RIG_FUNC_FAGC CONSTANT_64BIT_FLAG (0) 1247 #define RIG_FUNC_NB CONSTANT_64BIT_FLAG (1) 1248 #define RIG_FUNC_COMP CONSTANT_64BIT_FLAG (2) 1249 #define RIG_FUNC_VOX CONSTANT_64BIT_FLAG (3) 1250 #define RIG_FUNC_TONE CONSTANT_64BIT_FLAG (4) 1251 #define RIG_FUNC_TSQL CONSTANT_64BIT_FLAG (5) 1252 #define RIG_FUNC_SBKIN CONSTANT_64BIT_FLAG (6) 1253 #define RIG_FUNC_FBKIN CONSTANT_64BIT_FLAG (7) 1254 #define RIG_FUNC_ANF CONSTANT_64BIT_FLAG (8) 1255 #define RIG_FUNC_NR CONSTANT_64BIT_FLAG (9) 1256 #define RIG_FUNC_AIP CONSTANT_64BIT_FLAG (10) 1257 #define RIG_FUNC_APF CONSTANT_64BIT_FLAG (11) 1258 #define RIG_FUNC_MON CONSTANT_64BIT_FLAG (12) 1259 #define RIG_FUNC_MN CONSTANT_64BIT_FLAG (13) 1260 #define RIG_FUNC_RF CONSTANT_64BIT_FLAG (14) 1261 #define RIG_FUNC_ARO CONSTANT_64BIT_FLAG (15) 1262 #define RIG_FUNC_LOCK CONSTANT_64BIT_FLAG (16) 1263 #define RIG_FUNC_MUTE CONSTANT_64BIT_FLAG (17) 1264 #define RIG_FUNC_VSC CONSTANT_64BIT_FLAG (18) 1265 #define RIG_FUNC_REV CONSTANT_64BIT_FLAG (19) 1266 #define RIG_FUNC_SQL CONSTANT_64BIT_FLAG (20) 1267 #define RIG_FUNC_ABM CONSTANT_64BIT_FLAG (21) 1268 #define RIG_FUNC_BC CONSTANT_64BIT_FLAG (22) 1269 #define RIG_FUNC_MBC CONSTANT_64BIT_FLAG (23) 1270 #define RIG_FUNC_RIT CONSTANT_64BIT_FLAG (24) 1271 #define RIG_FUNC_AFC CONSTANT_64BIT_FLAG (25) 1272 #define RIG_FUNC_SATMODE CONSTANT_64BIT_FLAG (26) 1273 #define RIG_FUNC_SCOPE CONSTANT_64BIT_FLAG (27) 1274 #define RIG_FUNC_RESUME CONSTANT_64BIT_FLAG (28) 1275 #define RIG_FUNC_TBURST CONSTANT_64BIT_FLAG (29) 1276 #define RIG_FUNC_TUNER CONSTANT_64BIT_FLAG (30) 1277 #define RIG_FUNC_XIT CONSTANT_64BIT_FLAG (31) 1280 #define RIG_FUNC_NB2 CONSTANT_64BIT_FLAG (32) 1281 #define RIG_FUNC_CSQL CONSTANT_64BIT_FLAG (33) 1282 #define RIG_FUNC_AFLT CONSTANT_64BIT_FLAG (34) 1283 #define RIG_FUNC_ANL CONSTANT_64BIT_FLAG (35) 1284 #define RIG_FUNC_BC2 CONSTANT_64BIT_FLAG (36) 1285 #define RIG_FUNC_DUAL_WATCH CONSTANT_64BIT_FLAG (37) 1286 #define RIG_FUNC_DIVERSITY CONSTANT_64BIT_FLAG (38) 1287 #define RIG_FUNC_DSQL CONSTANT_64BIT_FLAG (39) 1288 #define RIG_FUNC_SCEN CONSTANT_64BIT_FLAG (40) 1289 #define RIG_FUNC_SLICE CONSTANT_64BIT_FLAG (41) 1290 #define RIG_FUNC_TRANSCEIVE CONSTANT_64BIT_FLAG (42) 1291 #define RIG_FUNC_SPECTRUM CONSTANT_64BIT_FLAG (43) 1292 #define RIG_FUNC_SPECTRUM_HOLD CONSTANT_64BIT_FLAG (44) 1293 #define RIG_FUNC_SEND_MORSE CONSTANT_64BIT_FLAG (45) 1294 #define RIG_FUNC_SEND_VOICE_MEM CONSTANT_64BIT_FLAG (46) 1295 #define RIG_FUNC_OVF_STATUS CONSTANT_64BIT_FLAG (47) 1296 #define RIG_FUNC_SYNC CONSTANT_64BIT_FLAG (48) 1297 #define RIG_FUNC_BIT49 CONSTANT_64BIT_FLAG (49) 1298 #define RIG_FUNC_BIT50 CONSTANT_64BIT_FLAG (50) 1299 #define RIG_FUNC_BIT51 CONSTANT_64BIT_FLAG (51) 1300 #define RIG_FUNC_BIT52 CONSTANT_64BIT_FLAG (52) 1301 #define RIG_FUNC_BIT53 CONSTANT_64BIT_FLAG (53) 1302 #define RIG_FUNC_BIT54 CONSTANT_64BIT_FLAG (54) 1303 #define RIG_FUNC_BIT55 CONSTANT_64BIT_FLAG (55) 1304 #define RIG_FUNC_BIT56 CONSTANT_64BIT_FLAG (56) 1305 #define RIG_FUNC_BIT57 CONSTANT_64BIT_FLAG (57) 1306 #define RIG_FUNC_BIT58 CONSTANT_64BIT_FLAG (58) 1307 #define RIG_FUNC_BIT59 CONSTANT_64BIT_FLAG (59) 1308 #define RIG_FUNC_BIT60 CONSTANT_64BIT_FLAG (60) 1309 #define RIG_FUNC_BIT61 CONSTANT_64BIT_FLAG (61) 1310 #define RIG_FUNC_BIT62 CONSTANT_64BIT_FLAG (62) 1311 #define RIG_FUNC_BIT63 CONSTANT_64BIT_FLAG (63) 1321 #define mW(p) ((int)(p)) 1329 #define Watts(p) ((int)((p)*1000)) 1336 #define W(p) Watts(p) 1337 #if 0 // deprecating kW macro as this doesn't make sense 1344 #define kW(p) ((int)((p)*1000000L)) 1359 #define RIG_MODE_NONE 0 1360 #define RIG_MODE_AM CONSTANT_64BIT_FLAG (0) 1361 #define RIG_MODE_CW CONSTANT_64BIT_FLAG (1) 1362 #define RIG_MODE_USB CONSTANT_64BIT_FLAG (2) 1363 #define RIG_MODE_LSB CONSTANT_64BIT_FLAG (3) 1364 #define RIG_MODE_RTTY CONSTANT_64BIT_FLAG (4) 1365 #define RIG_MODE_FM CONSTANT_64BIT_FLAG (5) 1366 #define RIG_MODE_WFM CONSTANT_64BIT_FLAG (6) 1367 #define RIG_MODE_CWR CONSTANT_64BIT_FLAG (7) 1368 #define RIG_MODE_RTTYR CONSTANT_64BIT_FLAG (8) 1369 #define RIG_MODE_AMS CONSTANT_64BIT_FLAG (9) 1370 #define RIG_MODE_PKTLSB CONSTANT_64BIT_FLAG (10) 1371 #define RIG_MODE_PKTUSB CONSTANT_64BIT_FLAG (11) 1372 #define RIG_MODE_PKTFM CONSTANT_64BIT_FLAG (12) 1373 #define RIG_MODE_ECSSUSB CONSTANT_64BIT_FLAG (13) 1374 #define RIG_MODE_ECSSLSB CONSTANT_64BIT_FLAG (14) 1375 #define RIG_MODE_FAX CONSTANT_64BIT_FLAG (15) 1376 #define RIG_MODE_SAM CONSTANT_64BIT_FLAG (16) 1377 #define RIG_MODE_SAL CONSTANT_64BIT_FLAG (17) 1378 #define RIG_MODE_SAH CONSTANT_64BIT_FLAG (18) 1379 #define RIG_MODE_DSB CONSTANT_64BIT_FLAG (19) 1380 #define RIG_MODE_FMN CONSTANT_64BIT_FLAG (21) 1381 #define RIG_MODE_PKTAM CONSTANT_64BIT_FLAG (22) 1382 #define RIG_MODE_P25 CONSTANT_64BIT_FLAG (23) 1383 #define RIG_MODE_DSTAR CONSTANT_64BIT_FLAG (24) 1384 #define RIG_MODE_DPMR CONSTANT_64BIT_FLAG (25) 1385 #define RIG_MODE_NXDNVN CONSTANT_64BIT_FLAG (26) 1386 #define RIG_MODE_NXDN_N CONSTANT_64BIT_FLAG (27) 1387 #define RIG_MODE_DCR CONSTANT_64BIT_FLAG (28) 1388 #define RIG_MODE_AMN CONSTANT_64BIT_FLAG (29) 1389 #define RIG_MODE_PSK CONSTANT_64BIT_FLAG (30) 1390 #define RIG_MODE_PSKR CONSTANT_64BIT_FLAG (31) 1393 #define RIG_MODE_DD CONSTANT_64BIT_FLAG (32) 1394 #define RIG_MODE_C4FM CONSTANT_64BIT_FLAG (33) 1395 #define RIG_MODE_PKTFMN CONSTANT_64BIT_FLAG (34) 1396 #define RIG_MODE_SPEC CONSTANT_64BIT_FLAG (35) 1397 #define RIG_MODE_CWN CONSTANT_64BIT_FLAG (36) 1398 #define RIG_MODE_IQ CONSTANT_64BIT_FLAG (37) 1399 #define RIG_MODE_ISBUSB CONSTANT_64BIT_FLAG (38) 1400 #define RIG_MODE_ISBLSB CONSTANT_64BIT_FLAG (39) 1401 #define RIG_MODE_USBD1 CONSTANT_64BIT_FLAG (40) 1402 #define RIG_MODE_USBD2 CONSTANT_64BIT_FLAG (41) 1403 #define RIG_MODE_USBD3 CONSTANT_64BIT_FLAG (42) 1404 #define RIG_MODE_LSBD1 CONSTANT_64BIT_FLAG (43) 1405 #define RIG_MODE_LSBD2 CONSTANT_64BIT_FLAG (44) 1406 #define RIG_MODE_LSBD3 CONSTANT_64BIT_FLAG (45) 1407 #define RIG_MODE_BIT46 CONSTANT_64BIT_FLAG (46) 1408 #define RIG_MODE_BIT47 CONSTANT_64BIT_FLAG (47) 1409 #define RIG_MODE_BIT48 CONSTANT_64BIT_FLAG (48) 1410 #define RIG_MODE_BIT49 CONSTANT_64BIT_FLAG (49) 1411 #define RIG_MODE_BIT50 CONSTANT_64BIT_FLAG (50) 1412 #define RIG_MODE_BIT51 CONSTANT_64BIT_FLAG (51) 1413 #define RIG_MODE_BIT52 CONSTANT_64BIT_FLAG (52) 1414 #define RIG_MODE_BIT53 CONSTANT_64BIT_FLAG (53) 1415 #define RIG_MODE_BIT54 CONSTANT_64BIT_FLAG (54) 1416 #define RIG_MODE_BIT55 CONSTANT_64BIT_FLAG (55) 1417 #define RIG_MODE_BIT56 CONSTANT_64BIT_FLAG (56) 1418 #define RIG_MODE_BIT57 CONSTANT_64BIT_FLAG (57) 1419 #define RIG_MODE_BIT58 CONSTANT_64BIT_FLAG (58) 1420 #define RIG_MODE_BIT59 CONSTANT_64BIT_FLAG (59) 1421 #define RIG_MODE_BIT60 CONSTANT_64BIT_FLAG (60) 1422 #define RIG_MODE_BIT61 CONSTANT_64BIT_FLAG (61) 1423 #define RIG_MODE_BIT62 CONSTANT_64BIT_FLAG (62) 1424 #define RIG_MODE_TESTS_MAX CONSTANT_64BIT_FLAG (63) 1425 #define RIG_MODE_ALL (0xffffffff) 1431 #define RIG_MODE_SSB (RIG_MODE_USB|RIG_MODE_LSB) 1436 #define RIG_MODE_PKTSSB (RIG_MODE_PKTUSB|RIG_MODE_PKTLSB) 1441 #define RIG_MODE_ECSS (RIG_MODE_ECSSUSB|RIG_MODE_ECSSLSB) 1444 #define RIG_DBLST_END 0 1445 #define RIG_IS_DBLST_END(d) ((d)==0) 1467 #define RIG_FRNG_END {Hz(0),Hz(0),RIG_MODE_NONE,0,0,RIG_VFO_NONE} 1468 #define RIG_IS_FRNG_END(r) ((r).startf == Hz(0) && (r).endf == Hz(0)) 1493 #define RIG_TS_ANY 0 1494 #define RIG_TS_END {RIG_MODE_NONE, 0} 1495 #define RIG_IS_TS_END(t) ((t).modes == RIG_MODE_NONE && (t).ts == 0) 1527 #define RIG_FLT_ANY 0 1528 #define RIG_FLT_END {RIG_MODE_NONE, 0} 1529 #define RIG_IS_FLT_END(f) ((f).modes == RIG_MODE_NONE) 1530 #define DEBUGMSGSAVE_SIZE 24000 1537 #define RIG_CHFLAG_NONE 0 1541 #define RIG_CHFLAG_SKIP (1<<0) 1545 #define RIG_CHFLAG_DATA (1<<1) 1549 #define RIG_CHFLAG_PSKIP (1<<2) 1561 #define RIG_EXT_END {0, {.i=0}} 1562 #define RIG_IS_EXT_END(x) ((x).token == 0) 1701 #define RIG_CHAN_END {0,0,RIG_MTYPE_NONE} 1702 #define RIG_IS_CHAN_END(c) ((c).type == RIG_MTYPE_NONE) 1708 #define RIG_MEM_CAPS_ALL -1 1747 }
table[HAMLIB_MAX_CAL_LENGTH];
1765 #define EMPTY_STR_CAL { 0, { { 0, 0 }, } } 1777 }
table[HAMLIB_MAX_CAL_LENGTH];
1795 #define EMPTY_FLOAT_CAL { 0, { { 0, 0f }, } } 1798 typedef int (* confval_cb_t)(
RIG *,
1817 RIG_SPECTRUM_MODE_NONE = 0,
1900 #define RIG_MODEL(arg) .rig_model=arg,.macro_name=#arg 1902 #define HAMLIB_CHECK_RIG_CAPS "HAMLIB_CHECK_RIG_CAPS" 1905 const char *model_name;
1906 const char *mfg_name;
1907 const char *version;
1908 const char *copyright;
1916 int serial_rate_min;
1917 int serial_rate_max;
1918 int serial_data_bits;
1919 int serial_stop_bits;
1924 int post_write_delay;
1946 int preamp[HAMLIB_MAXDBLSTSIZ];
1947 int attenuator[HAMLIB_MAXDBLSTSIZ];
1952 int agc_level_count;
1953 enum agc_level_e agc_levels[HAMLIB_MAX_AGC_LEVELS];
1995 freq_t spectrum_spans[HAMLIB_MAX_SPECTRUM_SPANS];
1997 int spectrum_attenuator[HAMLIB_MAXDBLSTSIZ];
2000 const rig_ptr_t priv;
2023 int (*set_vfo)(
RIG *rig,
vfo_t vfo);
2024 int (*get_vfo)(
RIG *rig,
vfo_t *vfo);
2029 int (*get_dcd)(
RIG *rig,
vfo_t vfo, dcd_t *dcd);
2040 int (*set_split_mode)(
RIG *rig,
2044 int (*get_split_mode)(
RIG *rig,
2049 int (*set_split_freq_mode)(
RIG *rig,
2054 int (*get_split_freq_mode)(
RIG *rig,
2072 int (*set_dcs_code)(
RIG *rig,
vfo_t vfo, tone_t code);
2073 int (*get_dcs_code)(
RIG *rig,
vfo_t vfo, tone_t *code);
2075 int (*set_tone)(
RIG *rig,
vfo_t vfo, tone_t tone);
2076 int (*get_tone)(
RIG *rig,
vfo_t vfo, tone_t *tone);
2078 int (*set_ctcss_tone)(
RIG *rig,
vfo_t vfo, tone_t tone);
2079 int (*get_ctcss_tone)(
RIG *rig,
vfo_t vfo, tone_t *tone);
2081 int (*set_dcs_sql)(
RIG *rig,
vfo_t vfo, tone_t code);
2082 int (*get_dcs_sql)(
RIG *rig,
vfo_t vfo, tone_t *code);
2084 int (*set_tone_sql)(
RIG *rig,
vfo_t vfo, tone_t tone);
2085 int (*get_tone_sql)(
RIG *rig,
vfo_t vfo, tone_t *tone);
2087 int (*set_ctcss_sql)(
RIG *rig,
vfo_t vfo, tone_t tone);
2088 int (*get_ctcss_sql)(
RIG *rig,
vfo_t vfo, tone_t *tone);
2090 int (*power2mW)(
RIG *rig,
2091 unsigned int *mwpower,
2095 int (*mW2power)(
RIG *rig,
2097 unsigned int mwpower,
2130 int (*send_dtmf)(
RIG *rig,
vfo_t vfo,
const char *digits);
2131 int (*recv_dtmf)(
RIG *rig,
vfo_t vfo,
char *digits,
int *length);
2133 int (*send_morse)(
RIG *rig,
vfo_t vfo,
const char *msg);
2134 int (*stop_morse)(
RIG *rig,
vfo_t vfo);
2135 int (*wait_morse)(
RIG *rig,
vfo_t vfo);
2137 int (*send_voice_mem)(
RIG *rig,
vfo_t vfo,
int ch);
2138 int (*stop_voice_mem)(
RIG *rig,
vfo_t vfo);
2140 int (*set_bank)(
RIG *rig,
vfo_t vfo,
int bank);
2142 int (*set_mem)(
RIG *rig,
vfo_t vfo,
int ch);
2143 int (*get_mem)(
RIG *rig,
vfo_t vfo,
int *ch);
2149 int (*set_trn)(
RIG *rig,
int trn);
2150 int (*get_trn)(
RIG *rig,
int *trn);
2152 int (*decode_event)(
RIG *rig);
2157 const char * (*get_info)(
RIG *rig);
2159 int (*set_chan_all_cb)(
RIG *rig,
vfo_t vfo, chan_cb_t chan_cb, rig_ptr_t);
2160 int (*get_chan_all_cb)(
RIG *rig,
vfo_t vfo, chan_cb_t chan_cb, rig_ptr_t);
2162 int (*set_mem_all_cb)(
RIG *rig,
2165 confval_cb_t parm_cb,
2167 int (*get_mem_all_cb)(
RIG *rig,
2170 confval_cb_t parm_cb,
2173 int (*set_vfo_opt)(
RIG *rig,
int status);
2180 int(*set_clock) (
RIG *rig,
int year,
int month,
int day,
int hour,
int min,
int sec,
double msec,
int utc_offset);
2181 int(*get_clock) (
RIG *rig,
int *year,
int *month,
int *day,
int *hour,
int *
min,
int *sec,
double *msec,
int *utc_offset);
2183 const char *clone_combo_set;
2184 const char *clone_combo_get;
2185 const char *macro_name;
2187 int async_data_supported;
2188 int (*read_frame_direct)(
RIG *rig,
2189 size_t buffer_length,
2190 const unsigned char *buffer);
2191 int (*is_async_frame)(
RIG *rig,
2192 size_t frame_length,
2193 const unsigned char *frame);
2194 int (*process_async_frame)(
RIG *rig,
2195 size_t frame_length,
2196 const unsigned char *frame);
2198 char *hamlib_check_rig_caps;
2200 int (*password)(
RIG *rig,
const char *key1);
2201 int (*set_lock_mode)(
RIG *rig,
int mode);
2202 int (*get_lock_mode)(
RIG *rig,
int *mode);
2203 short timeout_retry;
2217 RIG_FUNCTION_CLEANUP,
2220 RIG_FUNCTION_SET_FREQ,
2221 RIG_FUNCTION_GET_FREQ,
2222 RIG_FUNCTION_SET_MODE,
2223 RIG_FUNCTION_GET_MODE,
2224 RIG_FUNCTION_SET_VFO,
2225 RIG_FUNCTION_GET_VFO,
2226 RIG_FUNCTION_SET_PTT,
2227 RIG_FUNCTION_GET_PTT,
2228 RIG_FUNCTION_GET_DCD,
2229 RIG_FUNCTION_SET_RPTR_SHIFT,
2230 RIG_FUNCTION_GET_RPTR_SHIFT,
2231 RIG_FUNCTION_SET_RPTR_OFFS,
2232 RIG_FUNCTION_GET_RPTR_OFFS,
2233 RIG_FUNCTION_SET_SPLIT_FREQ,
2234 RIG_FUNCTION_GET_SPLIT_FREQ,
2235 RIG_FUNCTION_SET_SPLIT_MODE,
2236 RIG_FUNCTION_SET_SPLIT_FREQ_MODE,
2237 RIG_FUNCTION_GET_SPLIT_FREQ_MODE,
2238 RIG_FUNCTION_SET_SPLIT_VFO,
2239 RIG_FUNCTION_GET_SPLIT_VFO,
2240 RIG_FUNCTION_SET_RIT,
2241 RIG_FUNCTION_GET_RIT,
2242 RIG_FUNCTION_SET_XIT,
2243 RIG_FUNCTION_GET_XIT,
2244 RIG_FUNCTION_SET_TS,
2245 RIG_FUNCTION_GET_TS,
2246 RIG_FUNCTION_SET_DCS_CODE,
2247 RIG_FUNCTION_GET_DCS_CODE,
2248 RIG_FUNCTION_SET_TONE,
2249 RIG_FUNCTION_GET_TONE,
2250 RIG_FUNCTION_SET_CTCSS_TONE,
2251 RIG_FUNCTION_GET_CTCSS_TONE,
2252 RIG_FUNCTION_SET_DCS_SQL,
2253 RIG_FUNCTION_GET_DCS_SQL,
2254 RIG_FUNCTION_SET_TONE_SQL,
2255 RIG_FUNCTION_GET_TONE_SQL,
2256 RIG_FUNCTION_SET_CTCSS_SQL,
2257 RIG_FUNCTION_GET_CTCSS_SQL,
2258 RIG_FUNCTION_POWER2MW,
2259 RIG_FUNCTION_MW2POWER,
2260 RIG_FUNCTION_SET_POWERSTAT,
2261 RIG_FUNCTION_GET_POWERSTAT,
2263 RIG_FUNCTION_SET_ANT,
2264 RIG_FUNCTION_GET_ANT,
2265 RIG_FUNCTION_SET_LEVEL,
2266 RIG_FUNCTION_GET_LEVEL,
2267 RIG_FUNCTION_SET_FUNC,
2268 RIG_FUNCTION_GET_FUNC,
2269 RIG_FUNCTION_SET_PARM,
2270 RIG_FUNCTION_GET_PARM,
2271 RIG_FUNCTION_SET_EXT_LEVEL,
2272 RIG_FUNCTION_GET_EXT_LEVEL,
2273 RIG_FUNCTION_SET_EXT_FUNC,
2274 RIG_FUNCTION_GET_EXT_FUNC,
2275 RIG_FUNCTION_SET_EXT_PARM,
2276 RIG_FUNCTION_GET_EXT_PARM,
2277 RIG_FUNCTION_SET_CONF,
2278 RIG_FUNCTION_GET_CONF,
2279 RIG_FUNCTION_SEND_DTMF,
2280 RIG_FUNCTION_SEND_MORSE,
2281 RIG_FUNCTION_STOP_MORSE,
2282 RIG_FUNCTION_WAIT_MORSE,
2283 RIG_FUNCTION_SEND_VOICE_MEM,
2284 RIG_FUNCTION_SET_BANK,
2285 RIG_FUNCTION_SET_MEM,
2286 RIG_FUNCTION_GET_MEM,
2287 RIG_FUNCTION_VFO_OP,
2289 RIG_FUNCTION_SET_TRN,
2290 RIG_FUNCTION_GET_TRN,
2291 RIG_FUNCTION_DECODE_EVENT,
2292 RIG_FUNCTION_SET_CHANNEL,
2293 RIG_FUNCTION_GET_CHANNEL,
2294 RIG_FUNCTION_GET_INFO,
2295 RIG_FUNCTION_SET_CHAN_ALL_CB,
2296 RIG_FUNCTION_GET_CHAN_ALL_CB,
2297 RIG_FUNCTION_SET_MEM_ALL_CB,
2298 RIG_FUNCTION_GET_MEM_ALL_CB,
2299 RIG_FUNCTION_SET_VFO_OPT,
2300 RIG_FUNCTION_READ_FRAME_DIRECT,
2301 RIG_FUNCTION_IS_ASYNC_FRAME,
2302 RIG_FUNCTION_PROCESS_ASYNC_FRAME,
2303 RIG_FUNCTION_GET_CONF2,
2304 RIG_FUNCTION_STOP_VOICE_MEM,
2319 RIG_CAPS_TARGETABLE_VFO,
2323 RIG_CAPS_HAS_GET_LEVEL,
2324 RIG_CAPS_HAS_SET_LEVEL,
2327 enum rig_caps_cptr_e {
2328 RIG_CAPS_VERSION_CPTR,
2329 RIG_CAPS_MFG_NAME_CPTR,
2330 RIG_CAPS_MODEL_NAME_CPTR,
2331 RIG_CAPS_STATUS_CPTR
2346 struct hamlib_async_pipe;
2348 typedef struct hamlib_async_pipe hamlib_async_pipe_t;
2360 typedef struct hamlib_port {
2371 int post_write_delay;
2374 int tv_sec, tv_usec;
2381 char pathname[HAMLIB_FILPATHLEN];
2421 hamlib_async_pipe_t *sync_data_pipe;
2422 hamlib_async_pipe_t *sync_data_error_pipe;
2426 int fd_sync_error_write;
2427 int fd_sync_error_read;
2429 short timeout_retry;
2436 typedef struct hamlib_port_deprecated {
2447 int post_write_delay;
2450 int tv_sec, tv_usec;
2457 char pathname[HAMLIB_FILPATHLEN];
2495 } hamlib_port_t_deprecated;
2498 #if !defined(__APPLE__) || !defined(__cplusplus) 2500 typedef hamlib_port_t port_t;
2513 #if defined(IN_HAMLIB) 2515 #define RIGPORT(r) (&r->state.rigport) 2516 #define PTTPORT(r) (&r->state.pttport) 2517 #define DCDPORT(r) (&r->state.dcdport) 2518 #define CACHE(r) (&r->state.cache) 2519 #define AMPPORT(a) (&a->state.ampport) 2520 #define ROTPORT(r) (&r->state.rotport) 2521 #define ROTPORT2(r) (&r->state.rotport2) 2522 #define STATE(r) (&r->state) 2523 #define AMPSTATE(a) (&(a)->state) 2524 #define ROTSTATE(r) (&(r)->state) 2532 #define HAMLIB_RIGPORT(r) ((hamlib_port_t *)rig_data_pointer(r, RIG_PTRX_RIGPORT)) 2533 #define HAMLIB_PTTPORT(r) ((hamlib_port_t *)rig_data_pointer(r, RIG_PTRX_PTTPORT)) 2534 #define HAMLIB_DCDPORT(r) ((hamlib_port_t *)rig_data_pointer(r, RIG_PTRX_DCDPORT)) 2535 #define HAMLIB_CACHE(r) ((struct rig_cache *)rig_data_pointer(r, RIG_PTRX_CACHE)) 2536 #define HAMLIB_AMPPORT(a) ((hamlib_port_t *)amp_data_pointer(a, RIG_PTRX_AMPPORT)) 2537 #define HAMLIB_ROTPORT(r) ((hamlib_port_t *)rot_data_pointer(r, RIG_PTRX_ROTPORT)) 2538 #define HAMLIB_ROTPORT2(r) ((hamlib_port_t *)rot_data_pointer(r, RIG_PTRX_ROTPORT2)) 2539 #define HAMLIB_STATE(r) ((struct rig_state *)rig_data_pointer(r, RIG_PTRX_STATE)) 2540 #define HAMLIB_AMPSTATE(a) ((struct amp_state *)amp_data_pointer(a, RIG_PTRX_AMPSTATE)) 2541 #define HAMLIB_ROTSTATE(r) ((struct rot_state *)rot_data_pointer(r, RIG_PTRX_ROTSTATE)) 2560 #define HAMLIB_ELAPSED_GET 0 2561 #define HAMLIB_ELAPSED_SET 1 2562 #define HAMLIB_ELAPSED_INVALIDATE 2 2564 #define HAMLIB_CACHE_ALWAYS (-1) 2628 struct timespec time_freqCurr;
2629 struct timespec time_freqOther;
2630 struct timespec time_freqMainA;
2631 struct timespec time_freqMainB;
2632 struct timespec time_freqMainC;
2633 struct timespec time_freqSubA;
2634 struct timespec time_freqSubB;
2635 struct timespec time_freqSubC;
2636 struct timespec time_freqMem;
2637 struct timespec time_vfo;
2638 struct timespec time_modeCurr;
2639 struct timespec time_modeOther;
2640 struct timespec time_modeMainA;
2641 struct timespec time_modeMainB;
2642 struct timespec time_modeMainC;
2643 struct timespec time_modeSubA;
2644 struct timespec time_modeSubB;
2645 struct timespec time_modeSubC;
2646 struct timespec time_modeMem;
2647 struct timespec time_widthCurr;
2648 struct timespec time_widthOther;
2649 struct timespec time_widthMainA;
2650 struct timespec time_widthMainB;
2651 struct timespec time_widthMainC;
2652 struct timespec time_widthSubA;
2653 struct timespec time_widthSubB;
2654 struct timespec time_widthSubC;
2655 struct timespec time_widthMem;
2656 struct timespec time_ptt;
2657 struct timespec time_split;
2665 #include <hamlib/multicast.h> 2668 int multicast_running;
2676 pthread_mutex_t mutex;
2677 int mutex_initialized;
2680 struct sockaddr_in dest_addr;
2685 typedef unsigned int rig_comm_status_t;
2687 #define RIG_COMM_STATUS_OK 0x00 2688 #define RIG_COMM_STATUS_CONNECTING 0x01 2689 #define RIG_COMM_STATUS_DISCONNECTED 0x02 2690 #define RIG_COMM_STATUS_TERMINATED 0x03 2691 #define RIG_COMM_STATUS_WARNING 0x04 2692 #define RIG_COMM_STATUS_ERROR 0x05 2798 volatile unsigned int snapshot_packet_sequence_number;
2800 volatile int multicast_publisher_run;
2802 volatile int async_data_handler_thread_run;
2803 void *async_data_handler_priv_data;
2804 volatile int poll_routine_thread_run;
2805 void *poll_routine_priv_data;
2806 pthread_mutex_t mutex_set_transaction;
2873 volatile int morse_data_handler_thread_run;
2874 void *morse_data_handler_priv_data;
2881 volatile int multicast_receiver_run;
2884 char device_id[HAMLIB_RIGNAMSIZ];
2887 struct timespec freq_event_elapsed;
2997 volatile unsigned int snapshot_packet_sequence_number;
2999 volatile int multicast_publisher_run;
3001 volatile int async_data_handler_thread_run;
3002 void *async_data_handler_priv_data;
3003 volatile int poll_routine_thread_run;
3004 void *poll_routine_priv_data;
3005 pthread_mutex_t mutex_set_transaction;
3033 typedef int (*vfo_cb_t)(
RIG *,
vfo_t, rig_ptr_t);
3035 typedef int (*dcd_cb_t)(
RIG *,
vfo_t, dcd_t, rig_ptr_t);
3036 typedef int (*pltune_cb_t)(
RIG *,
3041 typedef int (*spectrum_cb_t)(
RIG *,
3109 extern HAMLIB_EXPORT(
int)
rig_open HAMLIB_PARAMS((
RIG *rig));
3116 extern HAMLIB_EXPORT(
int)
3119 extern HAMLIB_EXPORT(
int)
3120 rig_flush(hamlib_port_t *port);
3122 extern HAMLIB_EXPORT(
void)
3123 rig_lock(
RIG *rig,
int lock);
3126 #define rig_set_freq(r,v,f) rig_set_freq(r,v,f,__builtin_FUNCTION()) 3127 extern HAMLIB_EXPORT(
int)
3130 freq_t freq,
const char*));
3132 extern HAMLIB_EXPORT(
int)
3138 #define rig_get_freq(r,v,f) rig_get_freq(r,v,f,__builtin_FUNCTION()) 3139 extern HAMLIB_EXPORT(
int)
3142 freq_t *freq,
const char*));
3144 extern HAMLIB_EXPORT(
int)
3150 extern HAMLIB_EXPORT(
int)
3155 extern HAMLIB_EXPORT(
int)
3162 #define rig_set_vfo(r,v) rig_set_vfo(r,v,__builtin_FUNCTION()) 3163 extern HAMLIB_EXPORT(
int)
3165 vfo_t vfo,
const char *func));
3167 extern HAMLIB_EXPORT(
int)
3171 extern HAMLIB_EXPORT(
int)
3175 extern HAMLIB_EXPORT(
int)
3184 extern HAMLIB_EXPORT(
int)
3187 extern HAMLIB_EXPORT(
int)
3188 netrigctl_get_vfo_mode HAMLIB_PARAMS((
RIG *rig));
3190 extern HAMLIB_EXPORT(
int)
3194 extern HAMLIB_EXPORT(
int)
3199 extern HAMLIB_EXPORT(
int)
3204 extern HAMLIB_EXPORT(
int)
3208 extern HAMLIB_EXPORT(
int)
3213 extern HAMLIB_EXPORT(
int)
3217 extern HAMLIB_EXPORT(
int)
3222 extern HAMLIB_EXPORT(
int)
3226 extern HAMLIB_EXPORT(
int)
3231 extern HAMLIB_EXPORT(
int)
3235 extern HAMLIB_EXPORT(
int)
3240 extern HAMLIB_EXPORT(
int)
3244 extern HAMLIB_EXPORT(
int)
3249 extern HAMLIB_EXPORT(
int)
3253 extern HAMLIB_EXPORT(
int)
3258 extern HAMLIB_EXPORT(
int)
3262 extern HAMLIB_EXPORT(
int)
3267 extern HAMLIB_EXPORT(
int)
3272 extern HAMLIB_EXPORT(
int)
3278 extern HAMLIB_EXPORT(
int)
3284 extern HAMLIB_EXPORT(
int)
3291 extern HAMLIB_EXPORT(
int)
3296 extern HAMLIB_EXPORT(
int)
3302 extern HAMLIB_EXPORT(
int)
3306 extern HAMLIB_EXPORT(
int)
3311 extern HAMLIB_EXPORT(
int)
3315 extern HAMLIB_EXPORT(
int)
3320 extern HAMLIB_EXPORT(
int)
3324 extern HAMLIB_EXPORT(
int)
3329 extern HAMLIB_EXPORT(
int)
3331 unsigned int *mwpower,
3335 extern HAMLIB_EXPORT(
int)
3338 unsigned int mwpower,
3346 extern HAMLIB_EXPORT(
int)
3351 extern HAMLIB_EXPORT(
int)
3357 #define rig_get_strength(r,v,s) rig_get_level((r),(v),RIG_LEVEL_STRENGTH, (value_t*)(s)) 3359 extern HAMLIB_EXPORT(
int)
3363 extern HAMLIB_EXPORT(
int)
3368 extern HAMLIB_EXPORT(
int)
3373 extern HAMLIB_EXPORT(
int)
3377 extern HAMLIB_EXPORT(
int)
3378 rig_get_conf2 HAMLIB_PARAMS((
RIG *rig,
3383 extern HAMLIB_EXPORT(
int)
3386 extern HAMLIB_EXPORT(
int)
3390 extern HAMLIB_EXPORT(
int)
3394 extern HAMLIB_EXPORT(
int)
3399 extern HAMLIB_EXPORT(
int)
3405 extern HAMLIB_EXPORT(
int)
3410 extern HAMLIB_EXPORT(
int)
3416 extern HAMLIB_EXPORT(
int)
3420 extern HAMLIB_EXPORT(
int)
3425 extern HAMLIB_EXPORT(
int)
3431 extern HAMLIB_EXPORT(
int)
3437 extern HAMLIB_EXPORT(
int)
3444 extern HAMLIB_EXPORT(
const struct confparams *)
3448 extern HAMLIB_EXPORT(
const struct confparams *)
3456 extern HAMLIB_EXPORT(
int)
3462 extern HAMLIB_EXPORT(
const struct confparams *)
3469 extern HAMLIB_EXPORT(
int)
3472 extern HAMLIB_EXPORT(
int)
3475 extern HAMLIB_EXPORT(
int)
3480 extern HAMLIB_EXPORT(
int)
3510 extern HAMLIB_EXPORT(
int)
3515 extern HAMLIB_EXPORT(
int)
3521 extern HAMLIB_EXPORT(
int)
3524 const char *digits));
3525 extern HAMLIB_EXPORT(
int)
3531 extern HAMLIB_EXPORT(
int)
3536 extern HAMLIB_EXPORT(
int)
3540 extern HAMLIB_EXPORT(
int)
3544 extern HAMLIB_EXPORT(
int)
3549 extern HAMLIB_EXPORT(
int)
3553 extern HAMLIB_EXPORT(
int)
3558 extern HAMLIB_EXPORT(
int)
3562 extern HAMLIB_EXPORT(
int)
3567 extern HAMLIB_EXPORT(
int)
3576 extern HAMLIB_EXPORT(
int)
3582 extern HAMLIB_EXPORT(
scan_t)
3586 extern HAMLIB_EXPORT(
int)
3590 extern HAMLIB_EXPORT(
int)
3595 extern HAMLIB_EXPORT(
int)
3599 extern HAMLIB_EXPORT(
int)
3604 extern HAMLIB_EXPORT(
int)
3609 extern HAMLIB_EXPORT(
int)
3615 extern HAMLIB_EXPORT(
int)
3619 confval_cb_t parm_cb,
3621 extern HAMLIB_EXPORT(
int)
3625 confval_cb_t parm_cb,
3628 extern HAMLIB_EXPORT(
int)
3634 extern HAMLIB_EXPORT(
int)
3641 extern HAMLIB_EXPORT(
const chan_t *)
3645 extern HAMLIB_EXPORT(
int)
3648 extern HAMLIB_EXPORT(
int)
3651 extern HAMLIB_EXPORT(
int)
3655 extern HAMLIB_EXPORT(
int)
3660 extern HAMLIB_EXPORT(
int)
3664 extern HAMLIB_EXPORT(
int)
3669 extern HAMLIB_EXPORT(
int)
3674 extern HAMLIB_EXPORT(
int)
3679 extern HAMLIB_EXPORT(
int)
3684 extern HAMLIB_EXPORT(
int)
3689 extern HAMLIB_EXPORT(
int)
3693 extern HAMLIB_EXPORT(
int)
3697 extern HAMLIB_EXPORT(
int)
3701 extern HAMLIB_EXPORT(
const char *)
3704 extern HAMLIB_EXPORT(
struct rig_caps *)
3722 extern HAMLIB_EXPORT(
const char *)
3723 rigerror HAMLIB_PARAMS((
int errnum));
3724 extern HAMLIB_EXPORT(
const char *)
3727 extern HAMLIB_EXPORT(
int)
3730 #define HAMLIB_SETTINGS_FILE "hamlib_settings" 3738 extern HAMLIB_EXPORT(
void)
3741 extern HAMLIB_EXPORT(
void)
3744 extern HAMLIB_EXPORT(
void)
3747 #define rig_set_debug_level(level) rig_set_debug(level) 3749 extern HAMLIB_EXPORT(
int)
3753 extern HAMLIB_EXPORT(
void)add2debugmsgsave(
const char *s);
3755 extern HAMLIB_EXPORT_VAR(
char) debugmsgsave[DEBUGMSGSAVE_SIZE];
3756 extern HAMLIB_EXPORT_VAR(
char) debugmsgsave2[DEBUGMSGSAVE_SIZE];
3758 extern HAMLIB_EXPORT_VAR(
char) debugmsgsave3[DEBUGMSGSAVE_SIZE];
3759 #define rig_debug_clear() { debugmsgsave[0] = debugmsgsave2[0] = debugmsgsave3[0] = 0; }; 3763 #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) 3768 #define ELAPSED1 struct timespec __begin; elapsed_ms(&__begin, HAMLIB_ELAPSED_SET); 3769 #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)); 3772 #define SNPRINTF(s,n,...) { if (snprintf(s,n,##__VA_ARGS__) >= (n)) fprintf(stderr,"***** %s(%d): message truncated *****\n", __func__, __LINE__); } 3774 extern HAMLIB_EXPORT(
void)
3776 const char *fmt, ...));
3778 extern HAMLIB_EXPORT(vprintf_cb_t)
3782 extern HAMLIB_EXPORT(FILE *)
3785 extern HAMLIB_EXPORT(
int)
3786 rig_register HAMLIB_PARAMS((
struct rig_caps *caps));
3788 extern HAMLIB_EXPORT(
int)
3791 extern HAMLIB_EXPORT(
int)
3792 rig_list_foreach HAMLIB_PARAMS((
int (*cfunc)(
struct rig_caps *, rig_ptr_t),
3795 extern HAMLIB_EXPORT(
int)
3799 extern HAMLIB_EXPORT(
int)
3800 rig_load_backend HAMLIB_PARAMS((
const char *be_name));
3802 extern HAMLIB_EXPORT(
int)
3805 extern HAMLIB_EXPORT(
int)
3806 rig_load_all_backends HAMLIB_PARAMS((
void));
3808 typedef int (*rig_probe_func_t)(
const hamlib_port_t *,
rig_model_t, rig_ptr_t);
3810 extern HAMLIB_EXPORT(
int)
3816 rig_probe HAMLIB_PARAMS((hamlib_port_t *p));
3848 extern HAMLIB_EXPORT(
const char *)
rig_license HAMLIB_PARAMS((
void));
3849 extern HAMLIB_EXPORT(
const char *)
rig_version HAMLIB_PARAMS((
void));
3850 extern HAMLIB_EXPORT(
const char *)
rig_copyright HAMLIB_PARAMS((
void));
3852 extern HAMLIB_EXPORT(
void) rig_no_restore_ai(
void);
3854 extern HAMLIB_EXPORT(
int) rig_get_cache_timeout_ms(
RIG *rig, hamlib_cache_t selection);
3855 extern HAMLIB_EXPORT(
int) rig_set_cache_timeout_ms(
RIG *rig, hamlib_cache_t selection,
int ms);
3859 extern HAMLIB_EXPORT(
int)
rig_get_rig_info(
RIG *rig,
char *response,
int max_response_len);
3863 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);
3864 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);
3866 typedef unsigned long rig_useconds_t;
3867 extern HAMLIB_EXPORT(
int) hl_usleep(rig_useconds_t msec);
3869 extern HAMLIB_EXPORT(
int)
rig_cookie(
RIG *rig,
enum cookie_e cookie_cmd,
char *cookie,
int cookie_len);
3871 extern HAMLIB_EXPORT(
int) rig_password(
RIG *rig,
const char *key1);
3872 extern HAMLIB_EXPORT(
void) rig_password_generate_secret(
char *pass,
3873 char result[HAMLIB_SECRET_LENGTH + 1]);
3874 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);
3876 extern HAMLIB_EXPORT(
int)
3882 extern HAMLIB_EXPORT(
int)
3885 const char *locator));
3887 extern HAMLIB_EXPORT(
char*) rig_make_md5(
char *pass);
3889 extern HAMLIB_EXPORT(
int) rig_set_lock_mode(
RIG *rig,
int lock);
3890 extern HAMLIB_EXPORT(
int) rig_get_lock_mode(
RIG *rig,
int *lock);
3892 extern HAMLIB_EXPORT(
int) rig_is_model(
RIG *rig,
rig_model_t model);
3894 extern HAMLIB_EXPORT(
char*) rig_date_strget(
char *buf,
int buflen,
int localtime);
3896 enum GPIO { GPIO1, GPIO2, GPIO3, GPIO4 };
3897 extern HAMLIB_EXPORT(
int) rig_cm108_get_bit(hamlib_port_t *p,
enum GPIO gpio,
int *bit);
3898 extern HAMLIB_EXPORT(
int) rig_cm108_set_bit(hamlib_port_t *p,
enum GPIO gpio,
int bit);
3901 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:2836
scan_t rig_has_scan(RIG *rig, scan_t scan)
check availability of scanning functions
Definition: rig.c:7134
setting_t funcs
Definition: rig.h:1636
enum serial_handshake_e serial_handshake
Definition: rig.h:2842
int multicast_data_port
Definition: rig.h:2878
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:899
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:3070
int auto_power_on
Definition: rig.h:2782
rig_debug_level_e
Hamlib debug levels.
Definition: rig.h:239
struct rig_callbacks callbacks
Definition: rig.h:3097
double vfo_comp
Definition: rig.h:2916
value_t step
Definition: rig.h:1730
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:1633
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:1644
vfo_op_t vfo_ops
Definition: rig.h:2853
unsigned tx_vfo
Definition: rig.h:1630
int rig_set_uplink(RIG *rig, int val)
For GPredict to avoid reading frequency on uplink VFO.
Definition: rig.c:1901
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:2741
struct ext_list * ext_levels
Definition: rig.h:1602
hamlib_bandselect_t
Definition: rig.h:792
int raw
Definition: rig.h:1745
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:454
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:4189
value_t min
Definition: rig.h:1728
int use_cached_mode
Definition: rig.h:3013
rig_ptr_t spectrum_arg
Definition: rig.h:3079
shortfreq_t max_ifshift
Definition: rig.h:2932
unsigned bank_num
Definition: rig.h:1618
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:1522
vfo_t tx_vfo
Definition: rig.h:2768
float f
Definition: rig.h:1026
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:3283
scan_t
Rig Scan operation.
Definition: rig.h:841
float step
Definition: rig.h:909
int rig_get_rig_info(RIG *rig, char *response, int max_response_len)
get freq/mode/width for requested VFO
Definition: rig.c:7911
shortfreq_t xit
Definition: rig.h:1592
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:2835
uint32_t rig_model_t
Convenience type definition for rig model.
Definition: riglist.h:707
int chan_desc_sz
Definition: rig.h:2857
unsigned tx_width
Definition: rig.h:1627
pbwidth_t tx_width
Definition: rig.h:1583
char tag[32]
Definition: rig.h:1604
int low_power
Definition: rig.h:1459
hamlib_port_t_deprecated rigport_deprecated
Definition: rig.h:2713
hamlib_port_t_deprecated dcdport_deprecated
Definition: rig.h:2715
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:2919
rig_ptr_t priv
Definition: rig.h:2958
const char * dflt
Definition: rig.h:903
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:7392
const char * cs
Definition: rig.h:1028
rig_ptr_t pltune_arg
Definition: rig.h:3077
int serial_data_bits
Definition: rig.h:2839
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:2755
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:6706
Deprecated Rig state containing live data and customized fields. Due to DLL problems this remains in-...
Definition: rig.h:2902
freq_t endf
Definition: rig.h:1457
powerstat_t powerstat
Definition: rig.h:2818
int twiddle_timeout
Definition: rig.h:2976
shortfreq_t max_ifshift
Definition: rig.h:2733
gran_t level_gran[64]
Definition: rig.h:2946
pbwidth_t rig_passband_wide(RIG *rig, rmode_t mode)
get the wide passband of a mode
Definition: rig.c:3224
freq_range_t rx_range_list1[HAMLIB_FRQRANGESIZ]
Definition: rig.h:2858
int uplink
Definition: rig.h:2779
gran_t level_gran[64]
Definition: rig.h:2747
vfo_t vfo
Definition: rig.h:1575
const char * model_name
Definition: rig.h:2828
unsigned rptr_offs
Definition: rig.h:1632
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:2988
int rig_scan(RIG *rig, vfo_t vfo, scan_t scan, int ch)
perform Memory/VFO operations
Definition: rig.c:7167
int freq_skip
Definition: rig.h:2888
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:2407
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:6632
rig_parm_e
Rig Parameters.
Definition: rig.h:1134
struct cal_table::@3 table[HAMLIB_MAX_CAL_LENGTH]
Tuning step definition.
Definition: rig.h:1487
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:6227
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:7022
int rig_set_ptt(RIG *rig, vfo_t vfo, ptt_t ptt)
set PTT on/off
Definition: rig.c:3533
pbwidth_t current_width
Definition: rig.h:2966
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:1455
ann_t announces
Definition: rig.h:2735
Calibration table struct for float values.
Definition: rig.h:1772
hamlib_port_t dcdport
Definition: rig.h:3008
double signal_strength_min
Definition: rig.h:1850
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:706
Definition: network.c:145
time_t twiddle_time
Definition: rig.h:2975
int lock_mode
Definition: rig.h:2817
int startc
Definition: rig.h:1694
rig_model_t rig_model
Definition: rig.h:2827
value_t levels[64]
Definition: rig.h:1594
int vfo_list
Definition: rig.h:2757
double signal_strength_max
Definition: rig.h:1851
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:476
vfo_t rx_vfo
Definition: rig.h:2995
int async_data_enabled
Definition: rig.h:2961
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:2725
unsigned flags
Definition: rig.h:1643
setting_t has_get_func
Definition: rig.h:2740
signed int i
Definition: rig.h:1024
pbwidth_t current_width
Definition: rig.h:2767
setting_t has_get_parm
Definition: rig.h:2744
int poll_interval
Definition: rig.h:2962
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:1577
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:2943
freq_range_t tx_range_list[HAMLIB_FRQRANGESIZ]
Definition: rig.h:2721
int use_cached_mode
Definition: rig.h:2814
rig_ptr_t ptt_arg
Definition: rig.h:3073
powerstat_t powerstat
Definition: rig.h:3017
uint64_t rig_idx2setting(int i)
Definition: misc.c:798
freq_t center_freq
Definition: rig.h:1855
hamlib_port_t pttport
Definition: rig.h:3007
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:2959
int power_max
Definition: rig.h:2792
setting_t has_set_level
Definition: rig.h:2942
int comm_state
Definition: rig.h:2957
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:1579
rmode_t mode
Definition: rig.h:1578
shortfreq_t tuning_step
Definition: rig.h:1590
freq_t current_freq
Definition: rig.h:2764
freq_range_t tx_range_list2[HAMLIB_FRQRANGESIZ]
Definition: rig.h:2861
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:6539
int rig_probe_all(hamlib_port_t *port, rig_probe_func_t cfunc, rig_ptr_t data)
try to guess rigs
Definition: rig.c:6993
float val
Definition: rig.h:1776
int auto_power_off
Definition: rig.h:2983
freq_t startf
Definition: rig.h:1456
int post_ptt_delay
Definition: rig.h:2886
int rig_send_dtmf(RIG *rig, vfo_t vfo, const char *digits)
send DTMF digits
Definition: rig.c:7239
serial_handshake_e
Serial handshake.
Definition: rig.h:341
int high_power
Definition: rig.h:1460
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:5023
struct tuning_step_list tuning_steps[HAMLIB_TSLSTSIZ]
Definition: rig.h:2922
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:1619
unsigned mode
Definition: rig.h:1622
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:646
int ptt_share
Definition: rig.h:2789
Spectrum scope.
Definition: rig.h:1807
Spectrum scope averaging modes.
Definition: rig.h:1827
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:1617
int bank_qty
Definition: rig.h:2856
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:6771
Channel structure.
Definition: rig.h:1572
ann_t announces
Definition: rig.h:2934
vfo_op_t
VFO operation.
Definition: rig.h:748
rptr_shift_t
Repeater shift type.
Definition: rig.h:433
int size
Definition: rig.h:1743
int power_now
Definition: rig.h:2790
const char * rig_license()
get the Hamlib license
Definition: rig.c:8157
int serial_rate_min
Definition: rig.h:2837
int rig_wait_morse(RIG *rig, vfo_t vfo)
wait morse code
Definition: rig.c:7597
setting_t has_set_parm
Definition: rig.h:2944
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:1816
unsigned int u
Definition: rig.h:1025
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:7805
Extension attribute definition.
Definition: rig.h:1555
struct rig_spectrum_scope spectrum_scopes[HAMLIB_MAX_SPECTRUM_SCOPES]
Definition: rig.h:2868
gran_t parm_gran[64]
Definition: rig.h:2947
rmode_t mode_list
Definition: rig.h:2968
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:6155
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:2866
int async_data_supported
Definition: rig.h:2848
enum serial_parity_e serial_parity
Definition: rig.h:2841
Universal approach for passing values.
Definition: rig.h:1023
hamlib_port_t_deprecated pttport_deprecated
Definition: rig.h:2913
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:5261
char * multicast_cmd_addr
Definition: rig.h:2879
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:2794
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:2859
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:3021
setting_t has_set_parm
Definition: rig.h:2745
vfo_t tx_vfo
Definition: rig.h:2967
int vfo_opt
Definition: rig.h:2980
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:7769
freq_range_t tx_range_list5[HAMLIB_FRQRANGESIZ]
Definition: rig.h:2867
vfo_t current_vfo
Definition: rig.h:2955
freq_range_t rx_range_list2[HAMLIB_FRQRANGESIZ]
Definition: rig.h:2860
unsigned ant
Definition: rig.h:1620
freq_cb_t freq_event
Definition: rig.h:3066
ptt_type_t ptt_type
Definition: rig.h:2834
setting_t has_get_func
Definition: rig.h:2939
vfo_t current_vfo
Definition: rig.h:2756
rig_ptr_t dcd_arg
Definition: rig.h:3075
int auto_power_off
Definition: rig.h:2784
int rig_get_ptt(RIG *rig, vfo_t vfo, ptt_t *ptt)
get the status of the PTT
Definition: rig.c:3864
hamlib_port_t pttport
Definition: rig.h:2808
The Rig structure.
Definition: rig.h:3093
int write_delay
Definition: rig.h:2843
dcd_type_t
DCD type.
Definition: rig.h:661
struct multicast_s * multicast
Definition: rig.h:2823
int rig_reset(RIG *rig, reset_t reset)
reset the radio
Definition: rig.c:6920
rmode_t modes
Definition: rig.h:1458
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:8118
pltune_cb_t pltune
Definition: rig.h:3076
unsigned char disable_yaesu_bandselect
Definition: rig.h:2992
tone_t dcs_code
Definition: rig.h:1597
char * s
Definition: rig.h:1027
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:1775
freq_t offset_vfob
Definition: rig.h:2822
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:2723
unsigned tag
Definition: rig.h:1646
meter_level_e
Level display meters.
Definition: rig.h:1004
chan_type_t
Memory channel type definition.
Definition: rig.h:1665
setting_t has_set_level
Definition: rig.h:2743
spectrum_cb_t spectrum_event
Definition: rig.h:3078
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:1573
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:413
const char * rig_copyright()
get the Hamlib copyright
Definition: rig.c:8177
rig_comm_status_t comm_status
Definition: rig.h:2883
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:2877
struct rig_state_deprecated state_deprecated
Definition: rig.h:3096
setting_t has_get_level
Definition: rig.h:2941
shortfreq_t max_rit
Definition: rig.h:2731
char * tuner_control_pathname
Definition: rig.h:3018
rmode_t modes
Definition: rig.h:1488
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:2215
shortfreq_t max_rit
Definition: rig.h:2930
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:3099
int poll_interval
Definition: rig.h:2763
int post_write_delay
Definition: rig.h:2844
unsigned split
Definition: rig.h:1629
freq_range_t rx_range_list4[HAMLIB_FRQRANGESIZ]
Definition: rig.h:2864
int rig_open(RIG *rig)
open the communication to the rig
Definition: rig.c:927
unsigned rit
Definition: rig.h:1634
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:379
int vfo_list
Definition: rig.h:2956
int transmit
Definition: rig.h:2772
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:2832
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:2851
Rig state containing live data and customized fields.
Definition: rig.h:2704
vfo_t rx_vfo
Definition: rig.h:2796
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:1591
hamlib_port_t rigport
Definition: rig.h:3006
int transceive
Definition: rig.h:2855
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:2776
struct rig_caps * caps
Definition: rig.h:3094
freq_range_t rx_range_list[HAMLIB_FRQRANGESIZ]
Definition: rig.h:2720
int twiddle_state
Definition: rig.h:2994
freq_range_t tx_range_list4[HAMLIB_FRQRANGESIZ]
Definition: rig.h:2865
ann_t
Announce.
Definition: rig.h:923
int rig_get_rptr_shift(RIG *rig, vfo_t vfo, rptr_shift_t *rptr_shift)
get the current repeater shift
Definition: rig.c:4412
multicast_item_e
Multicast data items 3 different data item can be included in the multicast JSON. ...
Definition: rig.h:1177
int rig_cleanup(RIG *rig)
release a rig handle and free associated memory
Definition: rig.c:1833
RIG * rig_init(rig_model_t rig_model)
Allocate a new RIG handle.
Definition: rig.c:524
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:3120
Definition: winpthreads.h:123
int use_cached_ptt
Definition: rig.h:2815
setting_t rig_parse_parm(const char *s)
Convert alpha string to RIG_PARM_...
Definition: misc.c:1303
unsigned xit
Definition: rig.h:1635
int serial_rate_max
Definition: rig.h:2838
int targetable_vfo
Definition: rig.h:2847
int rig_set_rptr_shift(RIG *rig, vfo_t vfo, rptr_shift_t rptr_shift)
set the repeater shift
Definition: rig.c:4334
#define RIG_SETTING_MAX
Maximum # of rig settings.
Definition: rig.h:1205
unsigned int ant_t
Antenna typedef.
Definition: rig.h:980
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:1463
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:1877
const char * name
Definition: rig.h:900
int scan_group
Definition: rig.h:1599
rig_ptr_t mode_arg
Definition: rig.h:3069
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:718
int rig_get_rptr_offs(RIG *rig, vfo_t vfo, shortfreq_t *rptr_offs)
get the current repeater offset
Definition: rig.c:4573
int rig_send_voice_mem(RIG *rig, vfo_t vfo, int ch)
send voice memory content
Definition: rig.c:7662
int depth
Definition: rig.h:3015
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:8018
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:1046
freq_range_t tx_range_list[HAMLIB_FRQRANGESIZ]
Definition: rig.h:2920
rig_errcode_e
Definition: rig.h:187
int use_cached_freq
Definition: rig.h:2813
int deprecated_itu_region
Definition: rig.h:2918
Rig cache data.
Definition: rig.h:2587
int rig_get_mode(RIG *rig, vfo_t vfo, rmode_t *mode, pbwidth_t *width)
Definition: rig.c:2952
int rig_get_vfo_list(RIG *rig, char *buf, int buflen)
get list of available vfos
Definition: rig.c:8099
Hamlib rig(radio) model definitions.
rig_conf_e
parameter types
Definition: rig.h:880
int power_now
Definition: rig.h:2989
rmode_t mode_list
Definition: rig.h:2769
enum rig_port_e rig_port_t
Port type.
setting_t levels
Definition: rig.h:1637
rmode_t tx_mode
Definition: rig.h:1582
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:1638
ptt_type_t
PTT type.
Definition: rig.h:690
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:5567
setting_t funcs
Definition: rig.h:1593
int uplink
Definition: rig.h:2978
int rig_set_ant(RIG *rig, vfo_t vfo, ant_t ant, value_t option)
set the antenna
Definition: rig.c:6459
hamlib_band_t
Band enumeration.
Definition: rig.h:772
int rig_recv_dtmf(RIG *rig, vfo_t vfo, char *digits, int *length)
receive DTMF digits
Definition: rig.c:7316
int timeout
Definition: rig.h:2845
Calibration table struct.
Definition: rig.h:1742
serial_parity_e
Serial parity.
Definition: rig.h:329
const char * hamlib_copyright2
Hamlib copyright notice.
Definition: rig.c:112
int vfo_opt
Definition: rig.h:2781
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:2870
freq_t low_edge_freq
Definition: rig.h:1858
int id
Definition: rig.h:1846
int size
Definition: rig.h:1773
freq_t high_edge_freq
Definition: rig.h:1859
gran_t parm_gran[64]
Definition: rig.h:2748
tone_t ctcss_tone
Definition: rig.h:1595
value_t val
Definition: rig.h:1557
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:2742
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:5906
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:1489
const char * rig_strrmode(rmode_t mode)
Convert enum RIG_MODE to alpha string.
Definition: misc.c:540
int power_min
Definition: rig.h:2990
hamlib_port_t rigport
Definition: rig.h:2807
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:2786
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:5425
unsigned tx_mode
Definition: rig.h:1626
int rig_get_powerstat(RIG *rig, powerstat_t *status)
get the on/off status of the radio
Definition: rig.c:6865
pbwidth_t width
Definition: rig.h:1524
freq_t span_freq
Definition: rig.h:1856
freq_t offset_vfoa
Definition: rig.h:3020
enum rig_spectrum_mode_e spectrum_modes[HAMLIB_MAX_SPECTRUM_MODES]
Definition: rig.h:2869
rmode_t current_mode
Definition: rig.h:2964
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:5655
enum rig_spectrum_mode_e spectrum_mode
Definition: rig.h:1853
hamlib_port_t_deprecated port_t_deprecated
Port definition.
Definition: rig.h:2499
int rig_get_trn(RIG *rig, int *trn)
get the current transceive mode
Definition: event.c:606
unsigned int flags
Definition: rig.h:1600
freq_t lo_freq
Definition: rig.h:2775
unsigned rptr_shift
Definition: rig.h:1631
int rig_stop_morse(RIG *rig, vfo_t vfo)
stop morse code
Definition: rig.c:7488
int rig_get_twiddle(RIG *rig, int *seconds)
get the twiddle timeout value (secs)
Definition: rig.c:1928
const char * version
Definition: rig.h:2830
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:1576
int use_cached_freq
Definition: rig.h:3012
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:434
freq_t offset_vfoa
Definition: rig.h:2821
const char * combostr[RIG_COMBO_MAX]
Definition: rig.h:912
split_t
Split mode.
Definition: rig.h:443
struct multicast_s * multicast
Definition: rig.h:3022
int rig_set_freq(RIG *rig, vfo_t vfo, freq_t freq)
set the frequency of the target VFO
Definition: rig.c:2059
chan_type_t type
Definition: rig.h:1696
int transmit
Definition: rig.h:2971
int rig_get_split_freq(RIG *rig, vfo_t vfo, freq_t *tx_freq)
get the current split frequencies
Definition: rig.c:4846
Callback functions and args for rig event.
Definition: rig.h:3065
int rig_stop_voice_mem(RIG *rig, vfo_t vfo)
stop sending voice memory
Definition: rig.c:7731
const char * tooltip
Definition: rig.h:902
long hamlib_token_t
configuration token
Definition: rig.h:857
int rig_mem_count(RIG *rig)
get memory channel count
Definition: mem.c:1652
Memory channel list definition.
Definition: rig.h:1693
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:2754
cookie_e
Rig Cookie enumerations.
Definition: rig.h:1167
unsigned ctcss_sql
Definition: rig.h:1639
level/parm granularity definition
Definition: rig.h:1727
rig_model_t rig_probe(hamlib_port_t *port)
try to guess a rig
Definition: rig.c:6965
rig_caps_int_e
Enumeration of rig->caps values.
Definition: rig.h:2318
char * tuner_control_pathname
Definition: rig.h:2819
shortfreq_t rptr_offs
Definition: rig.h:1589
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:1621
ptt_t
PTT status.
Definition: rig.h:677
int data_level_max
Definition: rig.h:1849
float min
Definition: rig.h:907
char channel_desc[HAMLIB_MAXCHANDESC]
Definition: rig.h:1601
int rig_close(RIG *rig)
close the communication to the rig
Definition: rig.c:1654
struct cal_table_float::@4 table[HAMLIB_MAX_CAL_LENGTH]
int deprecated_itu_region
Definition: rig.h:2719
int bank_num
Definition: rig.h:1574
int doppler
Definition: rig.h:2876
int power_min
Definition: rig.h:2791
char client_version[32]
Definition: rig.h:2820
unsigned tx_freq
Definition: rig.h:1625
int twiddle_rit
Definition: rig.h:2993
rmode_t modes
Definition: rig.h:1523
unsigned dcs_code
Definition: rig.h:1640
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:650
int retry
Definition: rig.h:2846
rig_type_t
Rig type flags.
Definition: rig.h:361
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:2871
unsigned int vfo_t
VFO definition.
Definition: rig.h:514
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:2862
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:1623
ptt_cb_t ptt_event
Definition: rig.h:3072
freq_t current_freq
Definition: rig.h:2963
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:2914
enum rig_conf_e type
Definition: rig.h:904
vfo_t vfo
Definition: rig.h:1461
int preamp[HAMLIB_MAXDBLSTSIZ]
Definition: rig.h:2737
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:2849
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:2863
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:1848
freq_t tx_freq
Definition: rig.h:1581
vfo_t tx_vfo
Definition: rig.h:1586
mode_cb_t mode_event
Definition: rig.h:3068
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:2762
rig_ptr_t freq_arg
Definition: rig.h:3067
int endc
Definition: rig.h:1695
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:2850
tone_t * dcs_list
Definition: rig.h:2852
size_t spectrum_data_length
Definition: rig.h:1861
tone_t dcs_sql
Definition: rig.h:1598
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:2926
int auto_disable_screensaver
Definition: rig.h:2985
int transaction_active
Definition: rig.h:2954
uint64_t setting_t
Setting.
Definition: rig.h:1199
int twiddle_state
Definition: rig.h:2795
int twiddle_timeout
Definition: rig.h:2777
cal_table_t str_cal
Definition: rig.h:2727
dcd_cb_t dcd_event
Definition: rig.h:3074
rig_ptr_t vfo_arg
Definition: rig.h:3071
int serial_stop_bits
Definition: rig.h:2840
int lock_mode
Definition: rig.h:3016
rig_ptr_t obj
Definition: rig.h:2760
struct filter_list filters[HAMLIB_FLTLSTSIZ]
Definition: rig.h:2924
unsigned ext_levels
Definition: rig.h:1645
Multicast data items the are unique per rig instantiation This is meant for internal Hamlib use only...
Definition: rig.h:2666
split_t split
Definition: rig.h:1585
unsigned char * spectrum_data
Definition: rig.h:1862
freq_t lo_freq
Definition: rig.h:2974
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:8206
serial_control_state_e
Serial control state.
Definition: rig.h:351
int auto_power_on
Definition: rig.h:2981
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:8136
unsigned char disable_yaesu_bandselect
Definition: rig.h:2793
int dual_watch
Definition: rig.h:2885
const char * mfg_name
Definition: rig.h:2829
setting_t has_set_func
Definition: rig.h:2940
pbwidth_t rig_passband_narrow(RIG *rig, rmode_t mode)
get the narrow passband of a mode
Definition: rig.c:3171
int rig_vfo_op(RIG *rig, vfo_t vfo, vfo_op_t op)
perform Memory/VFO operations
Definition: rig.c:7051
char client_version[32]
Definition: rig.h:3019
shortfreq_t max_xit
Definition: rig.h:2732
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:1729
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:2880
shortfreq_t max_xit
Definition: rig.h:2931
unsigned scan_group
Definition: rig.h:1642
Definition: network.c:131
int rig_get_ts(RIG *rig, vfo_t vfo, shortfreq_t *ts)
get the current Tuning Step
Definition: rig.c:6377
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:2872
int rig_set_powerstat(RIG *rig, powerstat_t status)
turn on/off the radio
Definition: rig.c:6813
scan_t scan_ops
Definition: rig.h:2854
Configuration parameter structure.
Definition: rig.h:898
uint64_t rmode_t
Radio mode.
Definition: rig.h:1357
tone_t ctcss_sql
Definition: rig.h:1596
int rig_set_ts(RIG *rig, vfo_t vfo, shortfreq_t ts)
set the Tuning Step
Definition: rig.c:6305
int rig_set_rptr_offs(RIG *rig, vfo_t vfo, shortfreq_t rptr_offs)
set the repeater offset
Definition: rig.c:4496
const char * label
Definition: rig.h:901
int rig_type
Definition: rig.h:2833
int val
Definition: rig.h:1746
int rig_set_rit(RIG *rig, vfo_t vfo, shortfreq_t rit)
set the RIT
Definition: rig.c:6005
ant_t ant
Definition: rig.h:1462
const char * copyright
Definition: rig.h:2831
hamlib_port_t_deprecated rigport_deprecated
Definition: rig.h:2912
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:308
int rig_set_split_freq(RIG *rig, vfo_t vfo, freq_t tx_freq)
set the split frequencies
Definition: rig.c:4656
hamlib_port_t dcdport
Definition: rig.h:2809
int preamp[HAMLIB_MAXDBLSTSIZ]
Definition: rig.h:2936
channel_cap_t mem_caps
Definition: rig.h:1697
int rig_get_rit(RIG *rig, vfo_t vfo, shortfreq_t *rit)
get the current RIT offset
Definition: rig.c:6077
int depth
Definition: rig.h:2816
hamlib_port_t_deprecated pttport_deprecated
Definition: rig.h:2714
rig_ptr_t priv
Definition: rig.h:2759
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:2758
const char * rig_get_info(RIG *rig)
get general information from the radio
Definition: rig.c:7844
float max
Definition: rig.h:908
int rig_get_vfo(RIG *rig, vfo_t *vfo)
get the current VFO
Definition: rig.c:3430
Represents a single line of rig spectrum scope FFT data.
Definition: rig.h:1844
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:2765
unsigned dcs_sql
Definition: rig.h:1641
int attenuator[HAMLIB_MAXDBLSTSIZ]
Definition: rig.h:2738
int attenuator[HAMLIB_MAXDBLSTSIZ]
Definition: rig.h:2937
rptr_shift_t rptr_shift
Definition: rig.h:1588
int power_max
Definition: rig.h:2991
const char * rig_version()
get the Hamlib version
Definition: rig.c:8167
double vfo_comp
Definition: rig.h:2717
int use_cached_ptt
Definition: rig.h:3014
hamlib_token_t token
Definition: rig.h:1556
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