Loading...
Searching...
No Matches
rig_caps Struct Reference
Rig (transceiver) API

Rig data structure. More...

`#include <rig.h>`

Collaboration diagram for rig_caps:
[legend]

## Data Fields

rig_model_t | rig_model
const char * | model_name
const char * | mfg_name
const char * | version
const char * | copyright
enum rig_status_e | status
int | rig_type
ptt_type_t | ptt_type
dcd_type_t | dcd_type
rig_port_t | port_type
int | serial_rate_min
int | serial_rate_max
int | serial_data_bits
int | serial_stop_bits
enum serial_parity_e | serial_parity
enum serial_handshake_e | serial_handshake
int | write_delay
int | post_write_delay
int | timeout
int | retry
setting_t | has_get_func
setting_t | has_set_func
setting_t | has_get_level
setting_t | has_set_level
setting_t | has_get_parm
setting_t | has_set_parm
gran_t | level_gran [64]
gran_t | parm_gran [64]
const struct confparams * | extparms
const struct confparams * | extlevels
const struct confparams * | extfuncs
int * | ext_tokens
tone_t * | ctcss_list
tone_t * | dcs_list
int | preamp [HAMLIB_MAXDBLSTSIZ]
int | attenuator [HAMLIB_MAXDBLSTSIZ]
shortfreq_t | max_rit
shortfreq_t | max_xit
shortfreq_t | max_ifshift
int | agc_level_count
enum agc_level_e | agc_levels [HAMLIB_MAX_AGC_LEVELS]
ann_t | announces
vfo_op_t | vfo_ops
scan_t | scan_ops
int | targetable_vfo
int | transceive
int | bank_qty
int | chan_desc_sz
chan_t | chan_list [HAMLIB_CHANLSTSIZ]
freq_range_t | rx_range_list1 [HAMLIB_FRQRANGESIZ]
freq_range_t | tx_range_list1 [HAMLIB_FRQRANGESIZ]
freq_range_t | rx_range_list2 [HAMLIB_FRQRANGESIZ]
freq_range_t | tx_range_list2 [HAMLIB_FRQRANGESIZ]
freq_range_t | rx_range_list3 [HAMLIB_FRQRANGESIZ]
freq_range_t | tx_range_list3 [HAMLIB_FRQRANGESIZ]
freq_range_t | rx_range_list4 [HAMLIB_FRQRANGESIZ]
freq_range_t | tx_range_list4 [HAMLIB_FRQRANGESIZ]
freq_range_t | rx_range_list5 [HAMLIB_FRQRANGESIZ]
freq_range_t | tx_range_list5 [HAMLIB_FRQRANGESIZ]
struct tuning_step_list | tuning_steps [HAMLIB_TSLSTSIZ]
struct filter_list | filters [HAMLIB_FLTLSTSIZ]
cal_table_t | str_cal
cal_table_float_t | swr_cal
cal_table_float_t | alc_cal
cal_table_float_t | rfpower_meter_cal
cal_table_float_t | comp_meter_cal
cal_table_float_t | vd_meter_cal
cal_table_float_t | id_meter_cal
struct rig_spectrum_scope | spectrum_scopes [HAMLIB_MAX_SPECTRUM_SCOPES]
enum rig_spectrum_mode_e | spectrum_modes [HAMLIB_MAX_SPECTRUM_MODES]
freq_t | spectrum_spans [HAMLIB_MAX_SPECTRUM_SPANS]
struct rig_spectrum_avg_mode | spectrum_avg_modes [HAMLIB_MAX_SPECTRUM_AVG_MODES]
int | spectrum_attenuator [HAMLIB_MAXDBLSTSIZ]
const struct confparams * | cfgparams
const rig_ptr_t | priv
int(* | rig_init )(RIG *rig)
int(* | rig_cleanup )(RIG *rig)
int(* | rig_open )(RIG *rig)
int(* | rig_close )(RIG *rig)
int(* | set_freq )(RIG *rig, vfo_t vfo, freq_t freq)
int(* | get_freq )(RIG *rig, vfo_t vfo, freq_t *freq)
int(* | set_mode )(RIG *rig, vfo_t vfo, rmode_t mode, pbwidth_t width)
int(* | get_mode )(RIG *rig, vfo_t vfo, rmode_t *mode, pbwidth_t *width)
int(* | set_vfo )(RIG *rig, vfo_t vfo)
int(* | get_vfo )(RIG *rig, vfo_t *vfo)
int(* | set_ptt )(RIG *rig, vfo_t vfo, ptt_t ptt)
int(* | get_ptt )(RIG *rig, vfo_t vfo, ptt_t *ptt)
int(* | get_dcd )(RIG *rig, vfo_t vfo, dcd_t *dcd)
int(* | set_rptr_shift )(RIG *rig, vfo_t vfo, rptr_shift_t rptr_shift)
int(* | get_rptr_shift )(RIG *rig, vfo_t vfo, rptr_shift_t *rptr_shift)
int(* | set_rptr_offs )(RIG *rig, vfo_t vfo, shortfreq_t offs)
int(* | get_rptr_offs )(RIG *rig, vfo_t vfo, shortfreq_t *offs)
int(* | set_split_freq )(RIG *rig, vfo_t vfo, freq_t tx_freq)
int(* | get_split_freq )(RIG *rig, vfo_t vfo, freq_t *tx_freq)
int(* | set_split_mode )(RIG *rig, vfo_t vfo, rmode_t tx_mode, pbwidth_t tx_width)
int(* | get_split_mode )(RIG *rig, vfo_t vfo, rmode_t *tx_mode, pbwidth_t *tx_width)
int(* | set_split_freq_mode )(RIG *rig, vfo_t vfo, freq_t tx_freq, rmode_t tx_mode, pbwidth_t tx_width)
int(* | get_split_freq_mode )(RIG *rig, vfo_t vfo, freq_t *tx_freq, rmode_t *tx_mode, pbwidth_t *tx_width)
int(* | set_split_vfo )(RIG *rig, vfo_t vfo, split_t split, vfo_t tx_vfo)
int(* | get_split_vfo )(RIG *rig, vfo_t vfo, split_t *split, vfo_t *tx_vfo)
int(* | set_rit )(RIG *rig, vfo_t vfo, shortfreq_t rit)
int(* | get_rit )(RIG *rig, vfo_t vfo, shortfreq_t *rit)
int(* | set_xit )(RIG *rig, vfo_t vfo, shortfreq_t xit)
int(* | get_xit )(RIG *rig, vfo_t vfo, shortfreq_t *xit)
int(* | set_ts )(RIG *rig, vfo_t vfo, shortfreq_t ts)
int(* | get_ts )(RIG *rig, vfo_t vfo, shortfreq_t *ts)
int(* | set_dcs_code )(RIG *rig, vfo_t vfo, tone_t code)
int(* | get_dcs_code )(RIG *rig, vfo_t vfo, tone_t *code)
int(* | set_tone )(RIG *rig, vfo_t vfo, tone_t tone)
int(* | get_tone )(RIG *rig, vfo_t vfo, tone_t *tone)
int(* | set_ctcss_tone )(RIG *rig, vfo_t vfo, tone_t tone)
int(* | get_ctcss_tone )(RIG *rig, vfo_t vfo, tone_t *tone)
int(* | set_dcs_sql )(RIG *rig, vfo_t vfo, tone_t code)
int(* | get_dcs_sql )(RIG *rig, vfo_t vfo, tone_t *code)
int(* | set_tone_sql )(RIG *rig, vfo_t vfo, tone_t tone)
int(* | get_tone_sql )(RIG *rig, vfo_t vfo, tone_t *tone)
int(* | set_ctcss_sql )(RIG *rig, vfo_t vfo, tone_t tone)
int(* | get_ctcss_sql )(RIG *rig, vfo_t vfo, tone_t *tone)
int(* | power2mW )(RIG *rig, unsigned int *mwpower, float power, freq_t freq, rmode_t mode)
int(* | mW2power )(RIG *rig, float *power, unsigned int mwpower, freq_t freq, rmode_t mode)
int(* | set_powerstat )(RIG *rig, powerstat_t status)
int(* | get_powerstat )(RIG *rig, powerstat_t *status)
int(* | reset )(RIG *rig, reset_t reset)
int(* | set_ant )(RIG *rig, vfo_t vfo, ant_t ant, value_t option)
int(* | get_ant )(RIG *rig, vfo_t vfo, ant_t ant, value_t *option, ant_t *ant_curr, ant_t *ant_tx, ant_t *ant_rx)
int(* | set_level )(RIG *rig, vfo_t vfo, setting_t level, value_t val)
int(* | get_level )(RIG *rig, vfo_t vfo, setting_t level, value_t *val)
int(* | set_func )(RIG *rig, vfo_t vfo, setting_t func, int status)
int(* | get_func )(RIG *rig, vfo_t vfo, setting_t func, int *status)
int(* | set_parm )(RIG *rig, setting_t parm, value_t val)
int(* | get_parm )(RIG *rig, setting_t parm, value_t *val)
int(* | set_ext_level )(RIG *rig, vfo_t vfo, hamlib_token_t token, value_t val)
int(* | get_ext_level )(RIG *rig, vfo_t vfo, hamlib_token_t token, value_t *val)
int(* | set_ext_func )(RIG *rig, vfo_t vfo, hamlib_token_t token, int status)
int(* | get_ext_func )(RIG *rig, vfo_t vfo, hamlib_token_t token, int *status)
int(* | set_ext_parm )(RIG *rig, hamlib_token_t token, value_t val)
int(* | get_ext_parm )(RIG *rig, hamlib_token_t token, value_t *val)
int(* | set_conf )(RIG *rig, hamlib_token_t token, const char *val)
int(* | get_conf )(RIG *rig, hamlib_token_t token, char *val)
int(* | send_dtmf )(RIG *rig, vfo_t vfo, const char *digits)
int(* | recv_dtmf )(RIG *rig, vfo_t vfo, char *digits, int *length)
int(* | send_morse )(RIG *rig, vfo_t vfo, const char *msg)
int(* | stop_morse )(RIG *rig, vfo_t vfo)
int(* | wait_morse )(RIG *rig, vfo_t vfo)
int(* | send_voice_mem )(RIG *rig, vfo_t vfo, int ch)
int(* | stop_voice_mem )(RIG *rig, vfo_t vfo)
int(* | set_bank )(RIG *rig, vfo_t vfo, int bank)
int(* | set_mem )(RIG *rig, vfo_t vfo, int ch)
int(* | get_mem )(RIG *rig, vfo_t vfo, int *ch)
int(* | vfo_op )(RIG *rig, vfo_t vfo, vfo_op_t op)
int(* | scan )(RIG *rig, vfo_t vfo, scan_t scan, int ch)
int(* | set_trn )(RIG *rig, int trn)
int(* | get_trn )(RIG *rig, int *trn)
int(* | decode_event )(RIG *rig)
int(* | set_channel )(RIG *rig, vfo_t vfo, const channel_t *chan)
int(* | get_channel )(RIG *rig, vfo_t vfo, channel_t *chan, int read_only)
const char *(* | get_info )(RIG *rig)
int(* | set_chan_all_cb )(RIG *rig, vfo_t vfo, chan_cb_t chan_cb, rig_ptr_t)
int(* | get_chan_all_cb )(RIG *rig, vfo_t vfo, chan_cb_t chan_cb, rig_ptr_t)
int(* | set_mem_all_cb )(RIG *rig, vfo_t vfo, chan_cb_t chan_cb, confval_cb_t parm_cb, rig_ptr_t)
int(* | get_mem_all_cb )(RIG *rig, vfo_t vfo, chan_cb_t chan_cb, confval_cb_t parm_cb, rig_ptr_t)
int(* | set_vfo_opt )(RIG *rig, int status)
int(* | rig_get_vfo_info )(RIG *rig, vfo_t vfo, freq_t *freq, rmode_t *mode, pbwidth_t *width, split_t *split)
int(* | set_clock )(RIG *rig, int year, int month, int day, int hour, int min, int sec, double msec, int utc_offset)
int(* | get_clock )(RIG *rig, int *year, int *month, int *day, int *hour, int *min, int *sec, double *msec, int *utc_offset)
const char * | clone_combo_set
const char * | clone_combo_get
const char * | macro_name
int | async_data_supported
int(* | read_frame_direct )(RIG *rig, size_t buffer_length, const unsigned char *buffer)
int(* | is_async_frame )(RIG *rig, size_t frame_length, const unsigned char *frame)
int(* | process_async_frame )(RIG *rig, size_t frame_length, const unsigned char *frame)
char * | hamlib_check_rig_caps
int(* | get_conf2 )(RIG *rig, hamlib_token_t token, char *val, int val_len)
int(* | password )(RIG *rig, const char *key1)
int(* | set_lock_mode )(RIG *rig, int mode)
int(* | get_lock_mode )(RIG *rig, int *mode)
short | timeout_retry
short | morse_qsize

## Detailed Description

Rig data structure.

Basic rig type, can store some useful info about different radios. Each backend must be able to populate this structure, so we can make useful inquiries about capabilities.

The main idea of this struct is that it will be defined by the backend rig driver, and will remain readonly for the application. Fields that need to be modifiable by the application are copied into the struct rig_state, which is a kind of private storage of the RIG instance.

This way, you can have several rigs running within the same application, sharing the struct rig_caps of the backend, while keeping their own customized data.

mdblack: Don't move or add fields around without bumping the version numbers DLL or shared library replacement depends on order

## Field Documentation

## agc_level_count

int rig_caps::agc_level_count

Number of supported AGC levels. Zero indicates all modes should be available (for backwards-compatibility).

## agc_levels

enum agc_level_e rig_caps::agc_levels[HAMLIB_MAX_AGC_LEVELS]

Supported AGC levels

## alc_cal

cal_table_float_t rig_caps::alc_cal

ALC meter calibration table

## announces

ann_t rig_caps::announces

Announces bit field list

## async_data_supported

int rig_caps::async_data_supported

Indicates that rig is capable of outputting asynchronous data updates, such as transceive state updates or spectrum data. 1 if true, 0 otherwise.

## attenuator

int rig_caps::attenuator[HAMLIB_MAXDBLSTSIZ]

Attenuator list in dB, 0 terminated

## bank_qty

int rig_caps::bank_qty

Number of banks

## cfgparams

const struct confparams* rig_caps::cfgparams

Configuration parameters.

## chan_desc_sz

int rig_caps::chan_desc_sz

Max length of memory channel name

## chan_list

chan_t rig_caps::chan_list[HAMLIB_CHANLSTSIZ]

Channel list, zero ended

## clone_combo_get

const char* rig_caps::clone_combo_get

String describing key combination to enter save cloning mode

## clone_combo_set

const char* rig_caps::clone_combo_set

String describing key combination to enter load cloning mode

## comp_meter_cal

cal_table_float_t rig_caps::comp_meter_cal

COMP meter calibration table

## copyright

const char* rig_caps::copyright

Copyright info.

## ctcss_list

tone_t* rig_caps::ctcss_list

CTCSS tones list, zero ended

## dcd_type

dcd_type_t rig_caps::dcd_type

Type of the DCD port.

## dcs_list

tone_t* rig_caps::dcs_list

DCS code list, zero ended

## ext_tokens

int* rig_caps::ext_tokens

Extension token list

## extfuncs

const struct confparams* rig_caps::extfuncs

Extension func list,

See also
  ext.c

## extlevels

const struct confparams* rig_caps::extlevels

Extension level list,

See also
  ext.c

## extparms

const struct confparams* rig_caps::extparms

Extension parm list,

See also
  ext.c

## filters

struct filter_list rig_caps::filters[HAMLIB_FLTLSTSIZ]

mode/filter table, at -6dB

## has_get_func

setting_t rig_caps::has_get_func

List of get functions

## has_get_level

setting_t rig_caps::has_get_level

List of get level

## has_get_parm

setting_t rig_caps::has_get_parm

List of get parm

## has_set_func

setting_t rig_caps::has_set_func

List of set functions

## has_set_level

setting_t rig_caps::has_set_level

List of set level

## has_set_parm

setting_t rig_caps::has_set_parm

List of set parm

## id_meter_cal

cal_table_float_t rig_caps::id_meter_cal

Current draw meter calibration table

## level_gran

gran_t rig_caps::level_gran[64]

level granularity (i.e. steps)

## macro_name

const char* rig_caps::macro_name

Rig model macro name

## max_ifshift

shortfreq_t rig_caps::max_ifshift

max absolute IF-SHIFT

## max_rit

shortfreq_t rig_caps::max_rit

max absolute RIT

## max_xit

shortfreq_t rig_caps::max_xit

max absolute XIT

## mfg_name

const char* rig_caps::mfg_name

Manufacturer.

## model_name

const char* rig_caps::model_name

Model name.

## morse_qsize

short rig_caps::morse_qsize

max length of morse message rig can accept in one command

## parm_gran

gran_t rig_caps::parm_gran[64]

parm granularity (i.e. steps)

## port_type

rig_port_t rig_caps::port_type

Type of communication port.

## post_write_delay

int rig_caps::post_write_delay

Delay between each commands send out, in mS

## preamp

int rig_caps::preamp[HAMLIB_MAXDBLSTSIZ]

Preamp list in dB, 0 terminated

## priv

const rig_ptr_t rig_caps::priv

Private data.

## ptt_type

ptt_type_t rig_caps::ptt_type

Type of the PTT port.

## retry

int rig_caps::retry

Maximum number of retries if command fails, 0 to disable

## rfpower_meter_cal

cal_table_float_t rig_caps::rfpower_meter_cal

RF power meter calibration table

## rig_model

rig_model_t rig_caps::rig_model

Rig model.

Examples
  /tests/testrig.c.

## rig_type

int rig_caps::rig_type

Rig type.

## rx_range_list1

freq_range_t rig_caps::rx_range_list1[HAMLIB_FRQRANGESIZ]

Receive frequency range list #1

## rx_range_list2

freq_range_t rig_caps::rx_range_list2[HAMLIB_FRQRANGESIZ]

Receive frequency range list #2

## rx_range_list3

freq_range_t rig_caps::rx_range_list3[HAMLIB_FRQRANGESIZ]

Receive frequency range list #3

## rx_range_list4

freq_range_t rig_caps::rx_range_list4[HAMLIB_FRQRANGESIZ]

Receive frequency range list #4

## rx_range_list5

freq_range_t rig_caps::rx_range_list5[HAMLIB_FRQRANGESIZ]

Receive frequency range list #5

## scan_ops

scan_t rig_caps::scan_ops

Scan bit field list

## serial_data_bits

int rig_caps::serial_data_bits

Number of data bits.

## serial_handshake

enum serial_handshake_e rig_caps::serial_handshake

Handshake.

## serial_parity

enum serial_parity_e rig_caps::serial_parity

Parity.

## serial_rate_max

int rig_caps::serial_rate_max

Maximum serial speed.

## serial_rate_min

int rig_caps::serial_rate_min

Minimum serial speed.

## serial_stop_bits

int rig_caps::serial_stop_bits

Number of stop bits.

## spectrum_attenuator

int rig_caps::spectrum_attenuator[HAMLIB_MAXDBLSTSIZ]

Spectrum attenuator list in dB, 0 terminated

## spectrum_avg_modes

struct rig_spectrum_avg_mode rig_caps::spectrum_avg_modes[HAMLIB_MAX_SPECTRUM_AVG_MODES]

Supported spectrum scope averaging modes. Last entry must have NULL name.

## spectrum_modes

enum rig_spectrum_mode_e rig_caps::spectrum_modes[HAMLIB_MAX_SPECTRUM_MODES]

Supported spectrum scope modes. Last entry must be RIG_SPECTRUM_MODE_NONE.

## spectrum_scopes

struct rig_spectrum_scope rig_caps::spectrum_scopes[HAMLIB_MAX_SPECTRUM_SCOPES]

Supported spectrum scopes. The array index must match the scope ID. Last entry must have NULL name.

## spectrum_spans

freq_t rig_caps::spectrum_spans[HAMLIB_MAX_SPECTRUM_SPANS]

Supported spectrum scope frequency spans in Hz in center mode. Last entry must be 0.

## status

enum rig_status_e rig_caps::status

Driver status.

## str_cal

cal_table_t rig_caps::str_cal

S-meter calibration table

## swr_cal

cal_table_float_t rig_caps::swr_cal

SWR meter calibration table

## targetable_vfo

int rig_caps::targetable_vfo

Bit field list of direct VFO access commands

## timeout

int rig_caps::timeout

Timeout, in mS

## timeout_retry

short rig_caps::timeout_retry

number of retries to make in case of read timeout errors, some serial interfaces may require this, 0 to use default value, -1 to disable

## transceive

int rig_caps::transceive

Deprecated
  Use async_data_supported instead

## tuning_steps

struct tuning_step_list rig_caps::tuning_steps[HAMLIB_TSLSTSIZ]

Tuning step list

## tx_range_list1

freq_range_t rig_caps::tx_range_list1[HAMLIB_FRQRANGESIZ]

Transmit frequency range list #1

## tx_range_list2

freq_range_t rig_caps::tx_range_list2[HAMLIB_FRQRANGESIZ]

Transmit frequency range list #2

## tx_range_list3

freq_range_t rig_caps::tx_range_list3[HAMLIB_FRQRANGESIZ]

Transmit frequency range list #3

## tx_range_list4

freq_range_t rig_caps::tx_range_list4[HAMLIB_FRQRANGESIZ]

Transmit frequency range list #4

## tx_range_list5

freq_range_t rig_caps::tx_range_list5[HAMLIB_FRQRANGESIZ]

Transmit frequency range list #5

## vd_meter_cal

cal_table_float_t rig_caps::vd_meter_cal

Voltage meter calibration table

## version

const char* rig_caps::version

Driver version.

## vfo_ops

vfo_op_t rig_caps::vfo_ops

VFO op bit field list

## write_delay

int rig_caps::write_delay

Delay between each byte sent out, in mS

The documentation for this struct was generated from the following file:

- rig.h