Hamlib  4.3
All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Modules Pages
Functions | Variables
rig.c File Reference

Ham Radio Control Libraries interface. More...

#include "hamlib/rig.h"
#include <stdlib.h>
#include <string.h>
#include <unistd.h>
#include <stdio.h>
#include <sys/types.h>
#include <sys/stat.h>
#include <fcntl.h>
#include <errno.h>
#include "serial.h"
#include "parallel.h"
#include "usb_port.h"
#include "network.h"
#include "event.h"
#include "cm108.h"
#include "gpio.h"
#include "misc.h"
#include "sprintflst.h"
#include "hamlibdatetime.h"
Include dependency graph for rig.c:

Functions

const char * rigerror (int errnum)
 
int rig_check_rig_caps ()
 
RIGrig_init (rig_model_t rig_model)
 allocate a new RIG handle More...
 
int rig_open (RIG *rig)
 open the communication to the rig More...
 
int rig_close (RIG *rig)
 close the communication to the rig More...
 
int rig_cleanup (RIG *rig)
 release a rig handle and free associated memory More...
 
int rig_set_twiddle (RIG *rig, int seconds)
 timeout (secs) to stop rigctld when VFO is manually changed More...
 
int rig_set_uplink (RIG *rig, int val)
 For GPredict to avoid reading frequency on uplink VFO. More...
 
int rig_get_twiddle (RIG *rig, int *seconds)
 get the twiddle timeout value (secs) More...
 
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)
 
int twiddling (RIG *rig)
 
int rig_set_freq (RIG *rig, vfo_t vfo, freq_t freq)
 set the frequency of the target VFO More...
 
int rig_get_freq (RIG *rig, vfo_t vfo, freq_t *freq)
 get the frequency of the target VFO More...
 
int rig_get_freqs (RIG *rig, freq_t *freqA, freq_t freqB)
 get the frequency of VFOA and VFOB More...
 
int rig_set_mode (RIG *rig, vfo_t vfo, rmode_t mode, pbwidth_t width)
 set the mode of the target VFO More...
 
int rig_get_mode (RIG *rig, vfo_t vfo, rmode_t *mode, pbwidth_t *width)
 
pbwidth_t rig_passband_normal (RIG *rig, rmode_t mode)
 get the normal passband of a mode More...
 
pbwidth_t rig_passband_narrow (RIG *rig, rmode_t mode)
 get the narrow passband of a mode More...
 
pbwidth_t rig_passband_wide (RIG *rig, rmode_t mode)
 get the wide passband of a mode More...
 
int rig_set_vfo (RIG *rig, vfo_t vfo)
 set the current VFO More...
 
int rig_get_vfo (RIG *rig, vfo_t *vfo)
 get the current VFO More...
 
int rig_set_ptt (RIG *rig, vfo_t vfo, ptt_t ptt)
 set PTT on/off More...
 
int rig_get_ptt (RIG *rig, vfo_t vfo, ptt_t *ptt)
 get the status of the PTT More...
 
int rig_get_dcd (RIG *rig, vfo_t vfo, dcd_t *dcd)
 get the status of the DCD More...
 
int rig_set_rptr_shift (RIG *rig, vfo_t vfo, rptr_shift_t rptr_shift)
 set the repeater shift More...
 
int rig_get_rptr_shift (RIG *rig, vfo_t vfo, rptr_shift_t *rptr_shift)
 get the current repeater shift More...
 
int rig_set_rptr_offs (RIG *rig, vfo_t vfo, shortfreq_t rptr_offs)
 set the repeater offset More...
 
int rig_get_rptr_offs (RIG *rig, vfo_t vfo, shortfreq_t *rptr_offs)
 get the current repeater offset More...
 
int rig_set_split_freq (RIG *rig, vfo_t vfo, freq_t tx_freq)
 set the split frequencies More...
 
int rig_get_split_freq (RIG *rig, vfo_t vfo, freq_t *tx_freq)
 get the current split frequencies More...
 
int rig_set_split_mode (RIG *rig, vfo_t vfo, rmode_t tx_mode, pbwidth_t tx_width)
 set the split modes More...
 
int rig_get_split_mode (RIG *rig, vfo_t vfo, rmode_t *tx_mode, pbwidth_t *tx_width)
 get the current split modes More...
 
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 More...
 
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 More...
 
int rig_set_split_vfo (RIG *rig, vfo_t rx_vfo, split_t split, vfo_t tx_vfo)
 set the split mode More...
 
int rig_get_split_vfo (RIG *rig, vfo_t vfo, split_t *split, vfo_t *tx_vfo)
 get the current split mode More...
 
int rig_set_rit (RIG *rig, vfo_t vfo, shortfreq_t rit)
 set the RIT More...
 
int rig_get_rit (RIG *rig, vfo_t vfo, shortfreq_t *rit)
 get the current RIT offset More...
 
int rig_set_xit (RIG *rig, vfo_t vfo, shortfreq_t xit)
 set the XIT More...
 
int rig_get_xit (RIG *rig, vfo_t vfo, shortfreq_t *xit)
 get the current XIT offset More...
 
int rig_set_ts (RIG *rig, vfo_t vfo, shortfreq_t ts)
 set the Tuning Step More...
 
int rig_get_ts (RIG *rig, vfo_t vfo, shortfreq_t *ts)
 get the current Tuning Step More...
 
int rig_set_ant (RIG *rig, vfo_t vfo, ant_t ant, value_t option)
 set the antenna More...
 
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 More...
 
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 More...
 
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 More...
 
shortfreq_t rig_get_resolution (RIG *rig, rmode_t mode)
 get the best frequency resolution of the rig More...
 
int rig_set_powerstat (RIG *rig, powerstat_t status)
 turn on/off the radio More...
 
int rig_get_powerstat (RIG *rig, powerstat_t *status)
 get the on/off status of the radio More...
 
int rig_reset (RIG *rig, reset_t reset)
 reset the radio More...
 
rig_model_t rig_probe (hamlib_port_t *port)
 try to guess a rig More...
 
int rig_probe_all (hamlib_port_t *port, rig_probe_func_t cfunc, rig_ptr_t data)
 try to guess rigs More...
 
vfo_op_t rig_has_vfo_op (RIG *rig, vfo_op_t op)
 check retrieval ability of VFO operations More...
 
int rig_vfo_op (RIG *rig, vfo_t vfo, vfo_op_t op)
 perform Memory/VFO operations More...
 
scan_t rig_has_scan (RIG *rig, scan_t scan)
 check availability of scanning functions More...
 
int rig_scan (RIG *rig, vfo_t vfo, scan_t scan, int ch)
 perform Memory/VFO operations More...
 
int rig_send_dtmf (RIG *rig, vfo_t vfo, const char *digits)
 send DTMF digits More...
 
int rig_recv_dtmf (RIG *rig, vfo_t vfo, char *digits, int *length)
 receive DTMF digits More...
 
int rig_send_morse (RIG *rig, vfo_t vfo, const char *msg)
 send morse code More...
 
int rig_stop_morse (RIG *rig, vfo_t vfo)
 stop morse code More...
 
int rig_wait_morse (RIG *rig, vfo_t vfo)
 wait morse code More...
 
int rig_send_voice_mem (RIG *rig, vfo_t vfo, int ch)
 send voice memory content More...
 
const freq_range_trig_get_range (const freq_range_t *range_list, freq_t freq, rmode_t mode)
 find the freq_range of freq/mode More...
 
int rig_set_vfo_opt (RIG *rig, int status)
 set the vfo option for rigctld More...
 
const char * rig_get_info (RIG *rig)
 get general information from the radio More...
 
void make_crc_table (unsigned long crcTable[])
 
unsigned long gen_crc (unsigned char *p, size_t n)
 
int rig_get_rig_info (RIG *rig, char *response, int max_response_len)
 get freq/mode/width for requested VFO More...
 
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 More...
 
int rig_get_vfo_list (RIG *rig, char *buf, int buflen)
 get list of available vfos More...
 
const char * rig_license ()
 get the Hamlib license
 
const char * rig_version ()
 get the Hamlib version
 
const char * rig_copyright ()
 get the Hamlib copyright
 
int rig_cookie (RIG *rig, enum cookie_e cookie_cmd, char *cookie, int cookie_len)
 get a cookie to grab rig control More...
 
void sync_callback (int lock)
 

Variables

const char * hamlib_license = "LGPL"
 Hamlib release number. More...
 
struct rig_caps caps_test
 
const char * hamlib_copyright2
 Hamlib copyright notice. More...
 
char debugmsgsave [DEBUGMSGSAVE_SIZE] = "No message"
 get string describing the error code More...
 
char debugmsgsave2 [DEBUGMSGSAVE_SIZE] = "No message"
 
char debugmsgsave3 [DEBUGMSGSAVE_SIZE] = "No message"
 
void * caps_test_rig_model = &caps_test.rig_model
 
void * caps_test_macro_name = &caps_test.macro_name
 

Detailed Description

Ham Radio Control Libraries interface.

Author
Stephane Fillod
Frank Singleton
Date
2000-2012

Hamlib provides a user-callable API, a set of "front-end" routines that call rig-specific "back-end" routines which actually communicate with the physical rig.