#include <stdio.h>
#include <stdarg.h>
#include <hamlib/riglist.h>
#include <hamlib/rig_dll.h>
Go to the source code of this file.
Data Structures | |
struct | confparams |
Configuration parameter structure. More... | |
union | value_t |
Universal approach for passing values. More... | |
struct | freq_range_list |
Frequency range. More... | |
struct | tuning_step_list |
Tuning step definition. More... | |
struct | filter_list |
Filter definition. More... | |
struct | ext_list |
Extension attribute definition. More... | |
struct | channel |
Channel structure. More... | |
struct | channel_cap |
Channel capability definition. More... | |
struct | chan_list |
Memory channel list definition. More... | |
struct | gran |
level/parm granularity definition More... | |
struct | cal_table |
Calibration table struct. More... | |
struct | rig_caps |
Rig data structure. More... | |
struct | hamlib_port_t |
Port definition. More... | |
struct | rig_state |
Rig state containing live data and customized fields. More... | |
struct | rig_callbacks |
Callback functions and args for rig event. More... | |
struct | rig |
The Rig structure. More... | |
Defines | |
#define | PRIfreq "f" |
printf(3) format to be used for freq_t type | |
#define | SCNfreq "lf" |
scanf(3) format to be used for freq_t type | |
#define | RIG_VFO_NONE 0 |
used in caps | |
#define | RIG_VFO_CURR ((vfo_t)(1<<29)) |
current "tunable channel"/VFO | |
#define | RIG_VFO_MEM ((vfo_t)(1<<28)) |
means Memory mode, to be used with set_vfo | |
#define | RIG_VFO_VFO ((vfo_t)(1<<27)) |
means (last or any)VFO mode, with set_vfo | |
#define | RIG_VFO_TX RIG_VFO_TX_VFO(RIG_VFO_CURR) |
alias for split tx or uplink, of VFO_CURR | |
#define | RIG_VFO_RX RIG_VFO_CURR |
alias for split rx or downlink | |
#define | RIG_VFO_MAIN ((vfo_t)(1<<26)) |
alias for MAIN | |
#define | RIG_VFO_SUB ((vfo_t)(1<<25)) |
alias for SUB | |
#define | RIG_VFO_A RIG_VFO_N(0) |
VFO A. | |
#define | RIG_VFO_B RIG_VFO_N(1) |
VFO B. | |
#define | RIG_VFO_C RIG_VFO_N(2) |
VFO C. | |
#define | RIG_MODE_SSB (RIG_MODE_USB|RIG_MODE_LSB) |
macro for backends, no to be used by rig_set_mode et al. | |
#define | RIG_MODE_ECSS (RIG_MODE_ECSSUSB|RIG_MODE_ECSSLSB) |
macro for backends, no to be used by rig_set_mode et al. | |
Typedefs | |
typedef rig | RIG |
Rig structure definition (see rig for details). | |
typedef unsigned int | tone_t |
CTCSS and DCS type definition. | |
typedef enum rig_port_e | rig_port_t |
Port type. | |
typedef double | freq_t |
Frequency type, Frequency type unit in Hz, able to hold SHF frequencies. | |
typedef signed long | shortfreq_t |
Short frequency type Frequency on 31bits, suitable for offsets, shifts, etc.. | |
typedef int | vfo_t |
VFO definition. | |
typedef shortfreq_t | pbwidth_t |
Passband width, in Hz. | |
typedef enum dcd_e | dcd_t |
DCD status. | |
typedef long | token_t |
typedef unsigned long | setting_t |
Setting. | |
typedef freq_range_list | freq_range_t |
Frequency range. | |
typedef channel | channel_t |
Channel structure typedef. | |
typedef channel_cap | channel_cap_t |
Channel cap. | |
typedef chan_list | chan_t |
chan_t type | |
typedef gran | gran_t |
gran_t type | |
typedef cal_table | cal_table_t |
calibration table type | |
Enumerations | |
enum | rig_errcode_e |
Hamlib error codes Error codes that can be returned by the Hamlib functions. | |
enum | rig_debug_level_e |
Hamlib debug levels. More... | |
enum | rig_port_e { RIG_PORT_NONE = 0, RIG_PORT_SERIAL, RIG_PORT_NETWORK, RIG_PORT_DEVICE, RIG_PORT_PACKET, RIG_PORT_DTMF, RIG_PORT_ULTRA, RIG_PORT_RPC, RIG_PORT_PARALLEL, RIG_PORT_USB } |
Port type. More... | |
enum | serial_parity_e { RIG_PARITY_NONE = 0, RIG_PARITY_ODD, RIG_PARITY_EVEN } |
Serial parity. More... | |
enum | serial_handshake_e { RIG_HANDSHAKE_NONE = 0, RIG_HANDSHAKE_XONXOFF, RIG_HANDSHAKE_HARDWARE } |
Serial handshake. More... | |
enum | serial_control_state_e { RIG_SIGNAL_UNSET = 0, RIG_SIGNAL_ON, RIG_SIGNAL_OFF } |
Serial control state. More... | |
enum | rig_type_t { RIG_FLAG_RECEIVER = (1<<1), RIG_FLAG_TRANSMITTER = (1<<2), RIG_FLAG_SCANNER = (1<<3), RIG_FLAG_MOBILE = (1<<4), RIG_FLAG_HANDHELD = (1<<5), RIG_FLAG_COMPUTER = (1<<6), RIG_FLAG_TRUNKING = (1<<7), RIG_FLAG_APRS = (1<<8), RIG_FLAG_TNC = (1<<9), RIG_FLAG_DXCLUSTER = (1<<10), RIG_FLAG_TUNER = (1<<11) } |
Rig type flags. More... | |
enum | rig_status_e { RIG_STATUS_ALPHA = 0, RIG_STATUS_UNTESTED, RIG_STATUS_BETA, RIG_STATUS_STABLE, RIG_STATUS_BUGGY, RIG_STATUS_NEW } |
Development status of the backend. More... | |
enum | rptr_shift_t { RIG_RPT_SHIFT_NONE = 0, RIG_RPT_SHIFT_MINUS, RIG_RPT_SHIFT_PLUS } |
Repeater shift type. More... | |
enum | split_t { RIG_SPLIT_OFF = 0, RIG_SPLIT_ON } |
Split mode. More... | |
enum | dcd_e { RIG_DCD_OFF = 0, RIG_DCD_ON } |
DCD status. More... | |
enum | dcd_type_t { RIG_DCD_NONE = 0, RIG_DCD_RIG, RIG_DCD_SERIAL_DSR, RIG_DCD_SERIAL_CTS, RIG_DCD_SERIAL_CAR, RIG_DCD_PARALLEL } |
DCD type. More... | |
enum | ptt_t { RIG_PTT_OFF = 0, RIG_PTT_ON } |
PTT status. More... | |
enum | ptt_type_t { RIG_PTT_NONE = 0, RIG_PTT_RIG, RIG_PTT_SERIAL_DTR, RIG_PTT_SERIAL_RTS, RIG_PTT_PARALLEL } |
PTT type. More... | |
enum | powerstat_t { RIG_POWER_OFF = 0, RIG_POWER_ON = (1<<0), RIG_POWER_STANDBY = (1<<1) } |
Radio power state. More... | |
enum | reset_t { RIG_RESET_NONE = 0, RIG_RESET_SOFT = (1<<0), RIG_RESET_VFO = (1<<1), RIG_RESET_MCALL = (1<<2), RIG_RESET_MASTER = (1<<3) } |
Reset operation. More... | |
enum | vfo_op_t { , RIG_OP_CPY = (1<<0), RIG_OP_XCHG = (1<<1), RIG_OP_FROM_VFO = (1<<2), RIG_OP_TO_VFO = (1<<3), RIG_OP_MCL = (1<<4), RIG_OP_UP = (1<<5), RIG_OP_DOWN = (1<<6), RIG_OP_BAND_UP = (1<<7), RIG_OP_BAND_DOWN = (1<<8), RIG_OP_LEFT = (1<<9), RIG_OP_RIGHT = (1<<10), RIG_OP_TUNE = (1<<11), RIG_OP_TOGGLE = (1<<12) } |
VFO operation A VFO operation is an action on a VFO (or memory). The difference with a function is that an action has no on/off status, it is performed at once. More... | |
enum | scan_t { , RIG_SCAN_STOP = RIG_SCAN_NONE, RIG_SCAN_MEM = (1<<0), RIG_SCAN_SLCT = (1<<1), RIG_SCAN_PRIO = (1<<2), RIG_SCAN_PROG = (1<<3), RIG_SCAN_DELTA = (1<<4), RIG_SCAN_VFO = (1<<5), RIG_SCAN_PLT = (1<<6) } |
Scan operation. More... | |
enum | rig_conf_e { RIG_CONF_STRING, RIG_CONF_COMBO, RIG_CONF_NUMERIC, RIG_CONF_CHECKBUTTON } |
enum | ann_t { RIG_ANN_NONE = 0, RIG_ANN_OFF = RIG_ANN_NONE, RIG_ANN_FREQ = (1<<0), RIG_ANN_RXMODE = (1<<1), RIG_ANN_CW = (1<<2), RIG_ANN_ENG = (1<<3), RIG_ANN_JAP = (1<<4) } |
Announce Designate optional speech synthesizer. More... | |
enum | agc_level_e { , RIG_AGC_USER } |
enum | meter_level_e |
Level display meters. | |
enum | rig_level_e { RIG_LEVEL_NONE = 0, RIG_LEVEL_PREAMP = (1<<0), RIG_LEVEL_ATT = (1<<1), RIG_LEVEL_VOX = (1<<2), RIG_LEVEL_AF = (1<<3), RIG_LEVEL_RF = (1<<4), RIG_LEVEL_SQL = (1<<5), RIG_LEVEL_IF = (1<<6), RIG_LEVEL_APF = (1<<7), RIG_LEVEL_NR = (1<<8), RIG_LEVEL_PBT_IN = (1<<9), RIG_LEVEL_PBT_OUT = (1<<10), RIG_LEVEL_CWPITCH = (1<<11), RIG_LEVEL_RFPOWER = (1<<12), RIG_LEVEL_MICGAIN = (1<<13), RIG_LEVEL_KEYSPD = (1<<14), RIG_LEVEL_NOTCHF = (1<<15), RIG_LEVEL_COMP = (1<<16), RIG_LEVEL_AGC = (1<<17), RIG_LEVEL_BKINDL = (1<<18), RIG_LEVEL_BALANCE = (1<<19), RIG_LEVEL_METER = (1<<20), RIG_LEVEL_VOXGAIN = (1<<21), RIG_LEVEL_VOXDELAY = RIG_LEVEL_VOX, RIG_LEVEL_ANTIVOX = (1<<22), RIG_LEVEL_RAWSTR = (1<<26), RIG_LEVEL_SQLSTAT = (1<<27), RIG_LEVEL_SWR = (1<<28), RIG_LEVEL_ALC = (1<<29), RIG_LEVEL_STRENGTH = (1<<30) } |
Level. More... | |
enum | rig_parm_e { RIG_PARM_NONE = 0, RIG_PARM_ANN = (1<<0), RIG_PARM_APO = (1<<1), RIG_PARM_BACKLIGHT = (1<<2), RIG_PARM_BEEP = (1<<4), RIG_PARM_TIME = (1<<5), RIG_PARM_BAT = (1<<6), RIG_PARM_KEYLIGHT = (1<<7) } |
Parameters Parameters are settings that are not VFO specific. More... | |
enum | rig_func_e { RIG_FUNC_NONE = 0, RIG_FUNC_FAGC = (1<<0), RIG_FUNC_NB = (1<<1), RIG_FUNC_COMP = (1<<2), RIG_FUNC_VOX = (1<<3), RIG_FUNC_TONE = (1<<4), RIG_FUNC_TSQL = (1<<5), RIG_FUNC_SBKIN = (1<<6), RIG_FUNC_FBKIN = (1<<7), RIG_FUNC_ANF = (1<<8), RIG_FUNC_NR = (1<<9), RIG_FUNC_AIP = (1<<10), RIG_FUNC_APF = (1<<11), RIG_FUNC_MON = (1<<12), RIG_FUNC_MN = (1<<13), RIG_FUNC_RNF = (1<<14), RIG_FUNC_ARO = (1<<15), RIG_FUNC_LOCK = (1<<16), RIG_FUNC_MUTE = (1<<17), RIG_FUNC_VSC = (1<<18), RIG_FUNC_REV = (1<<19), RIG_FUNC_SQL = (1<<20), RIG_FUNC_ABM = (1<<21), RIG_FUNC_BC = (1<<22), RIG_FUNC_MBC = (1<<23), RIG_FUNC_AFC = (1<<25), RIG_FUNC_SATMODE = (1<<26), RIG_FUNC_SCOPE = (1<<27), RIG_FUNC_RESUME = (1<<28), RIG_FUNC_TBURST = (1<<29), RIG_FUNC_TUNER = (1<<30) } |
Functions. More... | |
enum | rmode_t { RIG_MODE_NONE = 0, RIG_MODE_AM = (1<<0), RIG_MODE_CW = (1<<1), RIG_MODE_USB = (1<<2), RIG_MODE_LSB = (1<<3), RIG_MODE_RTTY = (1<<4), RIG_MODE_FM = (1<<5), RIG_MODE_WFM = (1<<6), RIG_MODE_CWR = (1<<7), RIG_MODE_RTTYR = (1<<8), RIG_MODE_AMS = (1<<9), RIG_MODE_PKTLSB = (1<<10), RIG_MODE_PKTUSB = (1<<11), RIG_MODE_PKTFM = (1<<12), RIG_MODE_ECSSUSB = (1<<13), RIG_MODE_ECSSLSB = (1<<14), RIG_MODE_FAX = (1<<15) } |
Radio mode. More... | |
enum | chan_type_t { RIG_MTYPE_NONE = 0, RIG_MTYPE_MEM, RIG_MTYPE_EDGE, RIG_MTYPE_CALL, RIG_MTYPE_MEMOPAD, RIG_MTYPE_SAT } |
Memory channel type definition. More... | |
Variables | |
const char | hamlib_version [] |
Hamlib release number. | |
const char | hamlib_copyright [] |
Hamlib copyright notice. |
This file contains the data structures and definitions for the Hamlib rig API. see the rig.c file for more details on the rig API.
typedef struct cal_table cal_table_t |
calibration table type
cal_table_t is a data type suited to hold linear calibration. cal_table_t.size tell the number of plot cal_table_t.table contains.
If a value is below or equal to cal_table_t.table[0].raw, rig_raw2val() will return cal_table_t.table[0].val.
If a value is greater or equal to cal_table_t.table[cal_table_t.size-1].raw, rig_raw2val() will return cal_table_t.table[cal_table_t.size-1].val.
typedef struct freq_range_list freq_range_t |
Frequency range.
Put together a bunch of this struct in an array to define what frequencies your rig has access to.
typedef shortfreq_t pbwidth_t |
Passband width, in Hz.
typedef unsigned long setting_t |
Setting.
This can be a func, a level or a parm. Each bit designate one of them.
typedef long token_t |
configuration token
typedef unsigned int tone_t |
CTCSS and DCS type definition.
Continuous Tone Controlled Squelch System (CTCSS) sub-audible tone frequency are expressed in tenth of Hz. For example, the subaudible tone of 88.5 Hz is represented within Hamlib by 885.
Digitally-Coded Squelch codes are simple direct integers.
typedef int vfo_t |
VFO definition.
There's several way of using a vfo_t. For most cases, using RIG_VFO_A, RIG_VFO_B, RIG_VFO_CURR, etc., as opaque macros should suffice.
Strictly speaking a VFO is Variable Frequency Oscillator. Here, it is referred as a tunable channel, from the radio operator point of view. The channel can be designated individualy by its real number, or using an alias. Aliases may, or may not be honored by backend, and are defined using high significant bits, like RIG_VFO_MEM, RIG_VFO_MAIN, etc.
enum agc_level_e |
enum ann_t |
enum chan_type_t |
Memory channel type definition.
Definition of memory types. Depending on the type, the content of the memory channel has to be interpreted accordingly. For instance, a RIG_MTYPE_EDGE channel_t will hold only a start or stop frequency.
RIG_MTYPE_NONE | None |
RIG_MTYPE_MEM | Regular |
RIG_MTYPE_EDGE | Scan edge |
RIG_MTYPE_CALL | Call channel |
RIG_MTYPE_MEMOPAD | Memory pad |
RIG_MTYPE_SAT | Satellite |
enum dcd_e |
enum dcd_type_t |
DCD type.
RIG_DCD_NONE | No DCD available |
RIG_DCD_RIG | Rig has DCD status support, i.e. rig has get_dcd cap |
RIG_DCD_SERIAL_DSR | DCD status from serial DSR signal |
RIG_DCD_SERIAL_CTS | DCD status from serial CTS signal |
RIG_DCD_SERIAL_CAR | DCD status from serial CD signal |
RIG_DCD_PARALLEL | DCD status from parallel port pin |
enum powerstat_t |
enum ptt_t |
enum ptt_type_t |
enum reset_t |
enum rig_conf_e |
enum rig_debug_level_e |
Hamlib debug levels.
REM: Numeric order matters for debug level
enum rig_func_e |
Functions.
enum rig_level_e |
Level.
RIG_LEVEL_NONE | None |
RIG_LEVEL_PREAMP | Preamp, arg int (dB) |
RIG_LEVEL_ATT | Attenuator, arg int (dB) |
RIG_LEVEL_VOX | VOX delay, arg int (tenth of seconds) |
RIG_LEVEL_AF | Volume, arg float [0.0..1.0] |
RIG_LEVEL_RF | RF gain (not TX power), arg float [0.0..1.0] |
RIG_LEVEL_SQL | Squelch, arg float [0.0 .. 1.0] |
RIG_LEVEL_IF | IF, arg int (Hz) |
RIG_LEVEL_APF | APF, arg float [0.0 .. 1.0] |
RIG_LEVEL_NR | Noise Reduction, arg float [0.0 .. 1.0] |
RIG_LEVEL_PBT_IN | Twin PBT (inside), arg float [0.0 .. 1.0] |
RIG_LEVEL_PBT_OUT | Twin PBT (outside), arg float [0.0 .. 1.0] |
RIG_LEVEL_CWPITCH | CW pitch, arg int (Hz) |
RIG_LEVEL_RFPOWER | RF Power, arg float [0.0 .. 1.0] |
RIG_LEVEL_MICGAIN | MIC Gain, arg float [0.0 .. 1.0] |
RIG_LEVEL_KEYSPD | Key Speed, arg int (WPM) |
RIG_LEVEL_NOTCHF | Notch Freq., arg int (Hz) |
RIG_LEVEL_COMP | Compressor, arg float [0.0 .. 1.0] |
RIG_LEVEL_AGC | AGC, arg int (see enum agc_level_e) |
RIG_LEVEL_BKINDL | BKin Delay, arg int (tenth of dots) |
RIG_LEVEL_BALANCE | Balance (Dual Watch), arg float [0.0 .. 1.0] |
RIG_LEVEL_METER | Display meter, arg int (see enum meter_level_e) |
RIG_LEVEL_VOXGAIN | VOX gain level, arg float [0.0 .. 1.0] |
RIG_LEVEL_VOXDELAY | VOX delay, arg int (tenth of seconds) |
RIG_LEVEL_ANTIVOX | anti-VOX level, arg float [0.0 .. 1.0] |
RIG_LEVEL_RAWSTR | These ones are not settable Raw (A/D) value for signal strength, specific to each rig, arg int |
RIG_LEVEL_SQLSTAT | SQL status, arg int (open=1/closed=0). Deprecated, use get_dcd instead |
RIG_LEVEL_SWR | SWR, arg float [0.0..infinite] |
RIG_LEVEL_ALC | ALC, arg float |
RIG_LEVEL_STRENGTH | Effective (calibrated) signal strength relative to S9, arg int (dB) Bandwidth Control, arg int (Hz) |
enum rig_parm_e |
Parameters Parameters are settings that are not VFO specific.
enum rig_port_e |
Port type.
RIG_PORT_NONE | No port |
RIG_PORT_SERIAL | Serial |
RIG_PORT_NETWORK | Network socket type |
RIG_PORT_DEVICE | Device driver, like the WiNRADiO |
RIG_PORT_PACKET | AX.25 network type, e.g. SV8CS protocol |
RIG_PORT_DTMF | DTMF protocol bridge via another rig, eg. Kenwood Sky Cmd System |
RIG_PORT_ULTRA | IrDA Ultra protocol! |
RIG_PORT_RPC | RPC wrapper |
RIG_PORT_PARALLEL | Parallel port |
RIG_PORT_USB | USB port |
enum rig_status_e |
Development status of the backend.
RIG_STATUS_ALPHA | Alpha quality, i.e. development |
RIG_STATUS_UNTESTED | Written from available specs, rig unavailable for test, feedback wanted! |
RIG_STATUS_BETA | Beta quality |
RIG_STATUS_STABLE | Stable |
RIG_STATUS_BUGGY | Was stable, but something broke it! |
RIG_STATUS_NEW | Initial release of code |
enum rig_type_t |
Rig type flags.
RIG_FLAG_RECEIVER | Receiver |
RIG_FLAG_TRANSMITTER | Transmitter |
RIG_FLAG_SCANNER | Scanner |
RIG_FLAG_MOBILE | mobile sized |
RIG_FLAG_HANDHELD | handheld sized |
RIG_FLAG_COMPUTER | "Computer" rig |
RIG_FLAG_TRUNKING | has trunking |
RIG_FLAG_APRS | has APRS |
RIG_FLAG_TNC | has TNC |
RIG_FLAG_DXCLUSTER | has DXCluster |
RIG_FLAG_TUNER | dumb tuner |
enum rmode_t |
Radio mode.
enum rptr_shift_t |
enum scan_t |
Scan operation.
RIG_SCAN_STOP | Stop scanning |
RIG_SCAN_MEM | Scan all memory channels |
RIG_SCAN_SLCT | Scan all selected memory channels |
RIG_SCAN_PRIO | Priority watch (mem or call channel) |
RIG_SCAN_PROG | Programmed(edge) scan |
RIG_SCAN_DELTA | delta-f scan |
RIG_SCAN_VFO | most basic scan |
RIG_SCAN_PLT | Scan using pipelined tuning |
enum serial_handshake_e |
enum serial_parity_e |
enum split_t |
enum vfo_op_t |
VFO operation A VFO operation is an action on a VFO (or memory). The difference with a function is that an action has no on/off status, it is performed at once.
Note: the vfo argument for some vfo operation may be irrelevant, and thus will be ignored.
The VFO/MEM "mode" is set by rig_set_vfo.