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 |