Re: [Hamlib-developer] API suggestions
Library to control radio transceivers and receivers
Brought to you by:
n0nb
|
From: Frank S. <vk...@ix...> - 2000-09-16 22:15:24
|
Hi,
Thinking about naming convention for maintenance :0
when we have all these functions in the backend
mapping (via pointers )onto the frontend declarations..
frontend prototype says...
<snip> from rig.h
struct rig_caps {
rig_model_t rig_model; /* eg. RIG_MODEL_FT847 */
unsigned char model_name[RIGNAMSIZ]; /* eg "ft847" */
unsigned char mfg_name[RIGNAMSIZ]; /* eg "Yeasu" */
char version[RIGVERSIZ]; /* driver version, eg "0.5" */
enum rig_status_e status; /* among ALPHA, BETA, STABLE, NEW */
enum rig_type_e rig_type;
int serial_rate_min; /* eg 4800 */
int serial_rate_max; /* eg 9600 */
int serial_data_bits; /* eg 8 */
int serial_stop_bits; /* eg 2 */
enum serial_parity_e serial_parity; /* */
enum serial_handshake_e serial_handshake; /* */
int write_delay; /* delay in ms between each byte sent out */
int timeout; /* in ms */
int retry; /* maximum number of retries, 0 to disable */
struct freq_range_list rx_range_list[FRQRANGESIZ];
struct freq_range_list tx_range_list[FRQRANGESIZ];
int (*rig_init)(RIG *rig); /* setup *priv */
int (*rig_cleanup)(RIG *rig);
int (*rig_open)(RIG *rig); /* called when port just opened */
int (*rig_close)(RIG *rig); /* called before port is to close */
int (*rig_probe)(RIG *rig); /* Experimental: may work.. */
/* cmd API below */
int (*set_freq_main_vfo_hz)(RIG *rig, freq_t freq, rig_mode_t mode);
/*
int (*set_freq)(RIG *rig, freq_t freq);
int (*set_mode)(RIG *rig, rig_mode_t mode);
int (*set_vfo)(RIG *rig, rig_vfo_t vfo);
*/
<snip>
So if frontend API says
int (*set_freq)(RIG *rig, freq_t freq);
int (*set_mode)(RIG *rig, rig_mode_t mode);
int (*set_vfo)(RIG *rig, rig_vfo_t vfo);
backend equivalents for ft747
int ft747_set_freq(RIG *rig, freq_t freq);
int ft747_set_mode(RIG *rig, rig_mode_t mode);
int ft747_(RIG *rig, rig_vfo_t vfo);
backend equivalents for ft847
int ft847_set_freq(RIG *rig, freq_t freq);
int ft847_set_mode(RIG *rig, rig_mode_t mode);
int ft847_(RIG *rig, rig_vfo_t vfo);
etc..
What do you think ??
-- Frank
|