![]() |
Hamlib 4.7~git
|
Rig data structure. More...
#include <rig.h>

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 |
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
| int rig_caps::agc_level_count |
Number of supported AGC levels. Zero indicates all modes should be available (for backwards-compatibility).
| enum agc_level_e rig_caps::agc_levels[HAMLIB_MAX_AGC_LEVELS] |
Supported AGC levels
| cal_table_float_t rig_caps::alc_cal |
ALC meter calibration table
| ann_t rig_caps::announces |
Announces bit field list
| 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.
| int rig_caps::attenuator[HAMLIB_MAXDBLSTSIZ] |
Attenuator list in dB, 0 terminated
| int rig_caps::bank_qty |
Number of banks
| const struct confparams* rig_caps::cfgparams |
Configuration parameters.
| int rig_caps::chan_desc_sz |
Max length of memory channel name
| chan_t rig_caps::chan_list[HAMLIB_CHANLSTSIZ] |
Channel list, zero ended
| const char* rig_caps::clone_combo_get |
String describing key combination to enter save cloning mode
| const char* rig_caps::clone_combo_set |
String describing key combination to enter load cloning mode
| cal_table_float_t rig_caps::comp_meter_cal |
COMP meter calibration table
| const char* rig_caps::copyright |
Copyright info.
| tone_t* rig_caps::ctcss_list |
CTCSS tones list, zero ended
| dcd_type_t rig_caps::dcd_type |
Type of the DCD port.
| tone_t* rig_caps::dcs_list |
DCS code list, zero ended
| int* rig_caps::ext_tokens |
Extension token list
| const struct confparams* rig_caps::extfuncs |
Extension func list,
| const struct confparams* rig_caps::extlevels |
Extension level list,
| const struct confparams* rig_caps::extparms |
Extension parm list,
| struct filter_list rig_caps::filters[HAMLIB_FLTLSTSIZ] |
mode/filter table, at -6dB
| setting_t rig_caps::has_get_func |
List of get functions
| setting_t rig_caps::has_get_level |
List of get level
| setting_t rig_caps::has_get_parm |
List of get parm
| setting_t rig_caps::has_set_func |
List of set functions
| setting_t rig_caps::has_set_level |
List of set level
| setting_t rig_caps::has_set_parm |
List of set parm
| cal_table_float_t rig_caps::id_meter_cal |
Current draw meter calibration table
| gran_t rig_caps::level_gran[64] |
level granularity (i.e. steps)
| const char* rig_caps::macro_name |
Rig model macro name
| shortfreq_t rig_caps::max_ifshift |
max absolute IF-SHIFT
| shortfreq_t rig_caps::max_rit |
max absolute RIT
| shortfreq_t rig_caps::max_xit |
max absolute XIT
| const char* rig_caps::mfg_name |
Manufacturer.
| const char* rig_caps::model_name |
Model name.
| gran_t rig_caps::parm_gran[64] |
parm granularity (i.e. steps)
| rig_port_t rig_caps::port_type |
Type of communication port.
| int rig_caps::post_write_delay |
Delay between each commands send out, in mS
| int rig_caps::preamp[HAMLIB_MAXDBLSTSIZ] |
Preamp list in dB, 0 terminated
| const rig_ptr_t rig_caps::priv |
Private data.
| ptt_type_t rig_caps::ptt_type |
Type of the PTT port.
| int rig_caps::retry |
Maximum number of retries if command fails, 0 to disable
| cal_table_float_t rig_caps::rfpower_meter_cal |
RF power meter calibration table
| rig_model_t rig_caps::rig_model |
Rig model.
| int rig_caps::rig_type |
Rig type.
| freq_range_t rig_caps::rx_range_list1[HAMLIB_FRQRANGESIZ] |
Receive frequency range list #1
| freq_range_t rig_caps::rx_range_list2[HAMLIB_FRQRANGESIZ] |
Receive frequency range list #2
| freq_range_t rig_caps::rx_range_list3[HAMLIB_FRQRANGESIZ] |
Receive frequency range list #3
| freq_range_t rig_caps::rx_range_list4[HAMLIB_FRQRANGESIZ] |
Receive frequency range list #4
| freq_range_t rig_caps::rx_range_list5[HAMLIB_FRQRANGESIZ] |
Receive frequency range list #5
| scan_t rig_caps::scan_ops |
Scan bit field list
| int rig_caps::serial_data_bits |
Number of data bits.
| enum serial_handshake_e rig_caps::serial_handshake |
Handshake.
| enum serial_parity_e rig_caps::serial_parity |
Parity.
| int rig_caps::serial_rate_max |
Maximum serial speed.
| int rig_caps::serial_rate_min |
Minimum serial speed.
| int rig_caps::serial_stop_bits |
Number of stop bits.
| int rig_caps::spectrum_attenuator[HAMLIB_MAXDBLSTSIZ] |
Spectrum attenuator list in dB, 0 terminated
| 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.
| 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.
| 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.
| 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.
| enum rig_status_e rig_caps::status |
Driver status.
| cal_table_t rig_caps::str_cal |
S-meter calibration table
| cal_table_float_t rig_caps::swr_cal |
SWR meter calibration table
| int rig_caps::targetable_vfo |
Bit field list of direct VFO access commands
| int rig_caps::timeout |
Timeout, in mS
| 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
| int rig_caps::transceive |
| struct tuning_step_list rig_caps::tuning_steps[HAMLIB_TSLSTSIZ] |
Tuning step list
| freq_range_t rig_caps::tx_range_list1[HAMLIB_FRQRANGESIZ] |
Transmit frequency range list #1
| freq_range_t rig_caps::tx_range_list2[HAMLIB_FRQRANGESIZ] |
Transmit frequency range list #2
| freq_range_t rig_caps::tx_range_list3[HAMLIB_FRQRANGESIZ] |
Transmit frequency range list #3
| freq_range_t rig_caps::tx_range_list4[HAMLIB_FRQRANGESIZ] |
Transmit frequency range list #4
| freq_range_t rig_caps::tx_range_list5[HAMLIB_FRQRANGESIZ] |
Transmit frequency range list #5
| cal_table_float_t rig_caps::vd_meter_cal |
Voltage meter calibration table
| const char* rig_caps::version |
Driver version.
| vfo_op_t rig_caps::vfo_ops |
VFO op bit field list
| int rig_caps::write_delay |
Delay between each byte sent out, in mS