kopia lustrzana https://github.com/Hamlib/Hamlib
				
				
				
			* Initial release
git-svn-id: https://hamlib.svn.sourceforge.net/svnroot/hamlib/trunk@376 7ae35d74-ebe9-4afe-98af-79ac388436b8Hamlib-1.1.1
							rodzic
							
								
									6b443b6dba
								
							
						
					
					
						commit
						147263d017
					
				|  | @ -0,0 +1,6 @@ | ||||||
|  | lib_LTLIBRARIES = libhamlib-dummy.la | ||||||
|  | libhamlib_dummy_la_SOURCES = dummy.c | ||||||
|  | libhamlib_dummy_la_LDFLAGS = -avoid-version # -module | ||||||
|  | lib_LIBRARIES = libhamlib-dummy.a | ||||||
|  | libhamlib_dummy_a_SOURCES = dummy.c | ||||||
|  | noinst_HEADERS = dummy.h | ||||||
|  | @ -0,0 +1,568 @@ | ||||||
|  | /*
 | ||||||
|  |  * hamlib - (C) Frank Singleton 2000 (vk3fcs@ix.netcom.com) | ||||||
|  |  * | ||||||
|  |  * dummy.c - Copyright (C) 2001 Stephane Fillod. | ||||||
|  |  * | ||||||
|  |  * This shared library supports dummy backend, for debugging | ||||||
|  |  * purpose mainly. | ||||||
|  |  * | ||||||
|  |  * | ||||||
|  |  *	$Id: dummy.c,v 1.1 2001-02-14 00:59:02 f4cfe Exp $ | ||||||
|  |  * | ||||||
|  |  * | ||||||
|  |  * This program is free software; you can redistribute it and/or | ||||||
|  |  * modify it under the terms of the GNU General Public License | ||||||
|  |  * as published by the Free Software Foundation; either version 2 | ||||||
|  |  * of the License, or (at your option) any later version. | ||||||
|  |  *  | ||||||
|  |  * This program is distributed in the hope that it will be useful, | ||||||
|  |  * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||||||
|  |  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the | ||||||
|  |  * GNU General Public License for more details. | ||||||
|  |  *  | ||||||
|  |  * You should have received a copy of the GNU General Public License | ||||||
|  |  * along with this program; if not, write to the Free Software | ||||||
|  |  * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA. | ||||||
|  |  *  */ | ||||||
|  | 
 | ||||||
|  | #include <stdlib.h> | ||||||
|  | #include <stdio.h>   /* Standard input/output definitions */ | ||||||
|  | #include <string.h>  /* String function definitions */ | ||||||
|  | #include <unistd.h>  /* UNIX standard function definitions */ | ||||||
|  | #include <fcntl.h>   /* File control definitions */ | ||||||
|  | #include <errno.h>   /* Error number definitions */ | ||||||
|  | #include <termios.h> /* POSIX terminal control definitions */ | ||||||
|  | #include <sys/ioctl.h> | ||||||
|  | #include <math.h> | ||||||
|  | 
 | ||||||
|  | #include <hamlib/rig.h> | ||||||
|  | #include <hamlib/riglist.h> | ||||||
|  | #include <serial.h> | ||||||
|  | #include <misc.h> | ||||||
|  | #include "dummy.h" | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | static int dummy_init(RIG *rig) { | ||||||
|  |   rig_debug(RIG_DEBUG_VERBOSE,__FUNCTION__ " called\n"); | ||||||
|  |   rig->state.port_type = RIG_PORT_NONE; | ||||||
|  | 
 | ||||||
|  |   return RIG_OK; | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | static int dummy_cleanup(RIG *rig) { | ||||||
|  |   rig_debug(RIG_DEBUG_VERBOSE,__FUNCTION__ " called\n"); | ||||||
|  | 
 | ||||||
|  |   return RIG_OK; | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | static int dummy_open(RIG *rig) | ||||||
|  | { | ||||||
|  |   rig_debug(RIG_DEBUG_VERBOSE,__FUNCTION__ " called\n"); | ||||||
|  | 
 | ||||||
|  |   return RIG_OK; | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | static int dummy_close(RIG *rig) | ||||||
|  | { | ||||||
|  |   rig_debug(RIG_DEBUG_VERBOSE,__FUNCTION__ " called\n"); | ||||||
|  | 
 | ||||||
|  |   return RIG_OK; | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | static int dummy_set_freq(RIG *rig, vfo_t vfo, freq_t freq) | ||||||
|  | { | ||||||
|  |   rig_debug(RIG_DEBUG_VERBOSE,__FUNCTION__ " called\n"); | ||||||
|  | 
 | ||||||
|  |   return RIG_OK; | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | static int dummy_get_freq(RIG *rig, vfo_t vfo, freq_t *freq) | ||||||
|  | { | ||||||
|  |   rig_debug(RIG_DEBUG_VERBOSE,__FUNCTION__ " called\n"); | ||||||
|  | 
 | ||||||
|  |   return RIG_OK; | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | static int dummy_set_mode(RIG *rig, vfo_t vfo, rmode_t mode, pbwidth_t width) | ||||||
|  | { | ||||||
|  |   rig_debug(RIG_DEBUG_VERBOSE,__FUNCTION__ " called\n"); | ||||||
|  | 
 | ||||||
|  |   return RIG_OK; | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | static int dummy_get_mode(RIG *rig, vfo_t vfo, rmode_t *mode, pbwidth_t *width) | ||||||
|  | { | ||||||
|  |   rig_debug(RIG_DEBUG_VERBOSE,__FUNCTION__ " called\n"); | ||||||
|  | 
 | ||||||
|  |   return RIG_OK; | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | static int dummy_set_vfo(RIG *rig, vfo_t vfo) | ||||||
|  | { | ||||||
|  |   rig_debug(RIG_DEBUG_VERBOSE,__FUNCTION__ " called\n"); | ||||||
|  | 
 | ||||||
|  |   return RIG_OK; | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | static int dummy_get_vfo(RIG *rig, vfo_t *vfo) | ||||||
|  | { | ||||||
|  |   rig_debug(RIG_DEBUG_VERBOSE,__FUNCTION__ " called\n"); | ||||||
|  | 
 | ||||||
|  |   return RIG_OK; | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | static int dummy_set_ptt(RIG *rig, vfo_t vfo, ptt_t ptt) | ||||||
|  | { | ||||||
|  |   rig_debug(RIG_DEBUG_VERBOSE,__FUNCTION__ " called\n"); | ||||||
|  | 
 | ||||||
|  |   return RIG_OK; | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | static int dummy_get_ptt(RIG *rig, vfo_t vfo, ptt_t *ptt) | ||||||
|  | { | ||||||
|  |   rig_debug(RIG_DEBUG_VERBOSE,__FUNCTION__ " called\n"); | ||||||
|  | 
 | ||||||
|  |   return RIG_OK; | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | static int dummy_set_rptr_shift(RIG *rig, vfo_t vfo, rptr_shift_t rptr_shift) | ||||||
|  | { | ||||||
|  |   rig_debug(RIG_DEBUG_VERBOSE,__FUNCTION__ " called\n"); | ||||||
|  | 
 | ||||||
|  |   return RIG_OK; | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | static int dummy_get_rptr_shift(RIG *rig, vfo_t vfo, rptr_shift_t *rptr_shift) | ||||||
|  | { | ||||||
|  |   rig_debug(RIG_DEBUG_VERBOSE,__FUNCTION__ " called\n"); | ||||||
|  | 
 | ||||||
|  |   return RIG_OK; | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | static int dummy_set_rptr_offs(RIG *rig, vfo_t vfo, shortfreq_t rptr_offs) | ||||||
|  | { | ||||||
|  |   rig_debug(RIG_DEBUG_VERBOSE,__FUNCTION__ " called\n"); | ||||||
|  | 
 | ||||||
|  |   return RIG_OK; | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | static int dummy_get_rptr_offs(RIG *rig, vfo_t vfo, shortfreq_t *rptr_offs) | ||||||
|  | { | ||||||
|  |   rig_debug(RIG_DEBUG_VERBOSE,__FUNCTION__ " called\n"); | ||||||
|  | 
 | ||||||
|  |   return RIG_OK; | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | static int dummy_set_ctcss(RIG *rig, vfo_t vfo, unsigned int tone) | ||||||
|  | { | ||||||
|  |   rig_debug(RIG_DEBUG_VERBOSE,__FUNCTION__ " called\n"); | ||||||
|  | 
 | ||||||
|  |   return RIG_OK; | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | static int dummy_get_ctcss(RIG *rig, vfo_t vfo, unsigned int *tone) | ||||||
|  | { | ||||||
|  |   rig_debug(RIG_DEBUG_VERBOSE,__FUNCTION__ " called\n"); | ||||||
|  | 
 | ||||||
|  |   return RIG_OK; | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | static int dummy_set_dcs(RIG *rig, vfo_t vfo, unsigned int code) | ||||||
|  | { | ||||||
|  |   rig_debug(RIG_DEBUG_VERBOSE,__FUNCTION__ " called\n"); | ||||||
|  | 
 | ||||||
|  |   return RIG_OK; | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | static int dummy_get_dcs(RIG *rig, vfo_t vfo, unsigned int *code) | ||||||
|  | { | ||||||
|  |   rig_debug(RIG_DEBUG_VERBOSE,__FUNCTION__ " called\n"); | ||||||
|  | 
 | ||||||
|  |   return RIG_OK; | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | static int dummy_set_ctcss_sql(RIG *rig, vfo_t vfo, unsigned int tone) | ||||||
|  | { | ||||||
|  |   rig_debug(RIG_DEBUG_VERBOSE,__FUNCTION__ " called\n"); | ||||||
|  | 
 | ||||||
|  |   return RIG_OK; | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | static int dummy_get_ctcss_sql(RIG *rig, vfo_t vfo, unsigned int *tone) | ||||||
|  | { | ||||||
|  |   rig_debug(RIG_DEBUG_VERBOSE,__FUNCTION__ " called\n"); | ||||||
|  | 
 | ||||||
|  |   return RIG_OK; | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | static int dummy_set_dcs_sql(RIG *rig, vfo_t vfo, unsigned int code) | ||||||
|  | { | ||||||
|  |   rig_debug(RIG_DEBUG_VERBOSE,__FUNCTION__ " called\n"); | ||||||
|  | 
 | ||||||
|  |   return RIG_OK; | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | static int dummy_get_dcs_sql(RIG *rig, vfo_t vfo, unsigned int *code) | ||||||
|  | { | ||||||
|  |   rig_debug(RIG_DEBUG_VERBOSE,__FUNCTION__ " called\n"); | ||||||
|  | 
 | ||||||
|  |   return RIG_OK; | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | static int dummy_set_split_freq(RIG *rig, vfo_t vfo, freq_t rx_freq, freq_t tx_freq) | ||||||
|  | { | ||||||
|  |   rig_debug(RIG_DEBUG_VERBOSE,__FUNCTION__ " called\n"); | ||||||
|  | 
 | ||||||
|  |   return RIG_OK; | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | static int dummy_get_split_freq(RIG *rig, vfo_t vfo, freq_t *rx_freq, freq_t *tx_freq) | ||||||
|  | { | ||||||
|  |   rig_debug(RIG_DEBUG_VERBOSE,__FUNCTION__ " called\n"); | ||||||
|  | 
 | ||||||
|  |   return RIG_OK; | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | static int dummy_set_split(RIG *rig, vfo_t vfo, split_t split) | ||||||
|  | { | ||||||
|  |   rig_debug(RIG_DEBUG_VERBOSE,__FUNCTION__ " called\n"); | ||||||
|  | 
 | ||||||
|  |   return RIG_OK; | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | static int dummy_get_split(RIG *rig, vfo_t vfo, split_t *split) | ||||||
|  | { | ||||||
|  |   rig_debug(RIG_DEBUG_VERBOSE,__FUNCTION__ " called\n"); | ||||||
|  | 
 | ||||||
|  |   return RIG_OK; | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | static int dummy_set_rit(RIG *rig, vfo_t vfo, shortfreq_t rit) | ||||||
|  | { | ||||||
|  |   rig_debug(RIG_DEBUG_VERBOSE,__FUNCTION__ " called\n"); | ||||||
|  | 
 | ||||||
|  |   return RIG_OK; | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | static int dummy_get_rit(RIG *rig, vfo_t vfo, shortfreq_t *rit) | ||||||
|  | { | ||||||
|  |   rig_debug(RIG_DEBUG_VERBOSE,__FUNCTION__ " called\n"); | ||||||
|  | 
 | ||||||
|  |   return RIG_OK; | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | static int dummy_set_ts(RIG *rig, vfo_t vfo, shortfreq_t ts) | ||||||
|  | { | ||||||
|  |   rig_debug(RIG_DEBUG_VERBOSE,__FUNCTION__ " called\n"); | ||||||
|  | 
 | ||||||
|  |   return RIG_OK; | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | static int dummy_get_ts(RIG *rig, vfo_t vfo, shortfreq_t *ts) | ||||||
|  | { | ||||||
|  |   rig_debug(RIG_DEBUG_VERBOSE,__FUNCTION__ " called\n"); | ||||||
|  | 
 | ||||||
|  |   return RIG_OK; | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | static int dummy_power2mW(RIG *rig, unsigned int *mwpower, float power, freq_t freq, rmode_t mode) | ||||||
|  | { | ||||||
|  |   rig_debug(RIG_DEBUG_VERBOSE,__FUNCTION__ " called\n"); | ||||||
|  | 
 | ||||||
|  |   return RIG_OK; | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | static int dummy_mW2power(RIG *rig, float *power, unsigned int mwpower, freq_t freq, rmode_t mode) | ||||||
|  | { | ||||||
|  |   rig_debug(RIG_DEBUG_VERBOSE,__FUNCTION__ " called\n"); | ||||||
|  | 
 | ||||||
|  |   return RIG_OK; | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | static int dummy_set_level(RIG *rig, vfo_t vfo, setting_t level, value_t val) | ||||||
|  | { | ||||||
|  |   rig_debug(RIG_DEBUG_VERBOSE,__FUNCTION__ " called\n"); | ||||||
|  | 
 | ||||||
|  |   return RIG_OK; | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | static int dummy_get_level(RIG *rig, vfo_t vfo, setting_t level, value_t *val) | ||||||
|  | { | ||||||
|  |   rig_debug(RIG_DEBUG_VERBOSE,__FUNCTION__ " called\n"); | ||||||
|  | 
 | ||||||
|  |   return RIG_OK; | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | static int dummy_set_poweron(RIG *rig) | ||||||
|  | { | ||||||
|  |   rig_debug(RIG_DEBUG_VERBOSE,__FUNCTION__ " called\n"); | ||||||
|  | 
 | ||||||
|  |   return RIG_OK; | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | static int dummy_set_poweroff(RIG *rig) | ||||||
|  | { | ||||||
|  |   rig_debug(RIG_DEBUG_VERBOSE,__FUNCTION__ " called\n"); | ||||||
|  | 
 | ||||||
|  |   return RIG_OK; | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | static int dummy_set_ann(RIG *rig, ann_t ann) | ||||||
|  | { | ||||||
|  |   rig_debug(RIG_DEBUG_VERBOSE,__FUNCTION__ " called\n"); | ||||||
|  | 
 | ||||||
|  |   return RIG_OK; | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | static int dummy_get_ann(RIG *rig, ann_t *ann) | ||||||
|  | { | ||||||
|  |   rig_debug(RIG_DEBUG_VERBOSE,__FUNCTION__ " called\n"); | ||||||
|  | 
 | ||||||
|  |   return RIG_OK; | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | static int dummy_set_ant(RIG *rig, vfo_t vfo, ant_t ant) | ||||||
|  | { | ||||||
|  |   rig_debug(RIG_DEBUG_VERBOSE,__FUNCTION__ " called\n"); | ||||||
|  | 
 | ||||||
|  |   return RIG_OK; | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | static int dummy_get_ant(RIG *rig, vfo_t vfo, ant_t *ant) | ||||||
|  | { | ||||||
|  |   rig_debug(RIG_DEBUG_VERBOSE,__FUNCTION__ " called\n"); | ||||||
|  | 
 | ||||||
|  |   return RIG_OK; | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | static int dummy_set_func(RIG *rig, vfo_t vfo, setting_t func, int status) | ||||||
|  | { | ||||||
|  |   rig_debug(RIG_DEBUG_VERBOSE,__FUNCTION__ " called\n"); | ||||||
|  | 
 | ||||||
|  |   return RIG_OK; | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | static int dummy_get_func(RIG *rig, vfo_t vfo, setting_t func, int *status) | ||||||
|  | { | ||||||
|  |   rig_debug(RIG_DEBUG_VERBOSE,__FUNCTION__ " called\n"); | ||||||
|  | 
 | ||||||
|  |   return RIG_OK; | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | static int dummy_set_bank(RIG *rig, vfo_t vfo, int bank) | ||||||
|  | { | ||||||
|  |   rig_debug(RIG_DEBUG_VERBOSE,__FUNCTION__ " called\n"); | ||||||
|  | 
 | ||||||
|  |   return RIG_OK; | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | static int dummy_set_mem(RIG *rig, vfo_t vfo, int ch) | ||||||
|  | { | ||||||
|  |   rig_debug(RIG_DEBUG_VERBOSE,__FUNCTION__ " called\n"); | ||||||
|  | 
 | ||||||
|  |   return RIG_OK; | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | static int dummy_get_mem(RIG *rig, vfo_t vfo, int *ch) | ||||||
|  | { | ||||||
|  |   rig_debug(RIG_DEBUG_VERBOSE,__FUNCTION__ " called\n"); | ||||||
|  | 
 | ||||||
|  |   return RIG_OK; | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | static int dummy_mv_ctl(RIG *rig, vfo_t vfo, mv_op_t op) | ||||||
|  | { | ||||||
|  |   rig_debug(RIG_DEBUG_VERBOSE,__FUNCTION__ " called\n"); | ||||||
|  | 
 | ||||||
|  |   return RIG_OK; | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | static int dummy_set_channel(RIG *rig, const channel_t *chan) | ||||||
|  | { | ||||||
|  |   rig_debug(RIG_DEBUG_VERBOSE,__FUNCTION__ " called\n"); | ||||||
|  | 
 | ||||||
|  |   return RIG_OK; | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | static int dummy_get_channel(RIG *rig, channel_t *chan) | ||||||
|  | { | ||||||
|  |   rig_debug(RIG_DEBUG_VERBOSE,__FUNCTION__ " called\n"); | ||||||
|  | 
 | ||||||
|  |   return RIG_OK; | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | static int dummy_set_trn(RIG *rig, vfo_t vfo, int trn) | ||||||
|  | { | ||||||
|  |   rig_debug(RIG_DEBUG_VERBOSE,__FUNCTION__ " called\n"); | ||||||
|  | 
 | ||||||
|  |   return RIG_OK; | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | static int dummy_get_trn(RIG *rig, vfo_t vfo, int *trn) | ||||||
|  | { | ||||||
|  |   rig_debug(RIG_DEBUG_VERBOSE,__FUNCTION__ " called\n"); | ||||||
|  | 
 | ||||||
|  |   return RIG_OK; | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | static unsigned char *dummy_get_info(RIG *rig) | ||||||
|  | { | ||||||
|  |   rig_debug(RIG_DEBUG_VERBOSE,__FUNCTION__ " called\n"); | ||||||
|  | 
 | ||||||
|  |   return ""; | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | /*
 | ||||||
|  |  * Dummy rig capabilities. | ||||||
|  |  */ | ||||||
|  | 
 | ||||||
|  | #define DUMMY_FUNC  0 | ||||||
|  | #define DUMMY_SET_LEVEL (RIG_LEVEL_ATT | RIG_LEVEL_AF) | ||||||
|  | #define DUMMY_LEVEL (DUMMY_SET_LEVEL | RIG_LEVEL_STRENGTH) | ||||||
|  | 
 | ||||||
|  | #define DUMMY_MODES (RIG_MODE_AM | RIG_MODE_CW | \ | ||||||
|  |                      RIG_MODE_USB | RIG_MODE_LSB | RIG_MODE_FM) | ||||||
|  | 
 | ||||||
|  | const struct rig_caps dummy_caps = { | ||||||
|  |   rig_model:     RIG_MODEL_DUMMY, | ||||||
|  |   model_name:    "Dummy", | ||||||
|  |   mfg_name:      "Hamlib", | ||||||
|  |   version:       "0.1", | ||||||
|  |   copyright:	 "GPL", | ||||||
|  |   status:        RIG_STATUS_NEW, | ||||||
|  |   rig_type:      RIG_TYPE_OTHER, | ||||||
|  |   targetable_vfo:	 0, | ||||||
|  |   ptt_type:      RIG_PTT_NONE, | ||||||
|  |   has_get_func:  DUMMY_FUNC, | ||||||
|  |   has_set_func:  DUMMY_FUNC, | ||||||
|  |   has_get_level: DUMMY_LEVEL, | ||||||
|  |   has_set_level: DUMMY_SET_LEVEL, | ||||||
|  |   transceive:    RIG_TRN_OFF, | ||||||
|  |   attenuator:    { 10, 20, 30, RIG_DBLST_END, }, | ||||||
|  |   rx_range_list2: { {start:KHz(150),end:MHz(1500),modes:DUMMY_MODES, | ||||||
|  | 		    low_power:-1,high_power:-1}, | ||||||
|  | 		    RIG_FRNG_END, }, | ||||||
|  |   tx_range_list2: { RIG_FRNG_END, }, | ||||||
|  |   tuning_steps: { {DUMMY_MODES,1}, RIG_TS_END, }, | ||||||
|  | 
 | ||||||
|  |   rig_init:    dummy_init, | ||||||
|  |   rig_cleanup: dummy_cleanup, | ||||||
|  |   rig_open:    dummy_open, | ||||||
|  |   rig_close:   dummy_close, | ||||||
|  | #if 0 | ||||||
|  |   rig_probe:   dummy_probe, | ||||||
|  | #endif | ||||||
|  | 
 | ||||||
|  |   set_freq:    dummy_set_freq, | ||||||
|  |   get_freq:    dummy_get_freq, | ||||||
|  |   set_mode:    dummy_set_mode, | ||||||
|  |   get_mode:    dummy_get_mode, | ||||||
|  |   set_vfo:     dummy_set_vfo, | ||||||
|  |   get_vfo:     dummy_get_vfo, | ||||||
|  |    | ||||||
|  |   set_poweron:  dummy_set_poweron, | ||||||
|  |   set_poweroff: dummy_set_poweroff, | ||||||
|  |   set_level:    dummy_set_level, | ||||||
|  |   get_level:    dummy_get_level, | ||||||
|  |   set_func:     dummy_set_func, | ||||||
|  |   get_func:     dummy_get_func, | ||||||
|  | 
 | ||||||
|  |   get_info:     dummy_get_info, | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  |   set_ptt:	dummy_set_ptt, | ||||||
|  |   get_ptt:	dummy_get_ptt, | ||||||
|  |   set_rptr_shift:	dummy_set_rptr_shift, | ||||||
|  |   get_rptr_shift:	dummy_get_rptr_shift, | ||||||
|  |   set_rptr_offs:	dummy_set_rptr_offs, | ||||||
|  |   get_rptr_offs:	dummy_get_rptr_offs, | ||||||
|  |   set_ctcss:	dummy_set_ctcss, | ||||||
|  |   get_ctcss:	dummy_get_ctcss, | ||||||
|  |   set_dcs:	dummy_set_dcs, | ||||||
|  |   get_dcs:	dummy_get_dcs, | ||||||
|  |   set_ctcss_sql:	dummy_set_ctcss_sql, | ||||||
|  |   get_ctcss_sql:	dummy_get_ctcss_sql, | ||||||
|  |   set_dcs_sql:	dummy_set_dcs_sql, | ||||||
|  |   get_dcs_sql:	dummy_get_dcs_sql, | ||||||
|  |   set_split_freq:	dummy_set_split_freq, | ||||||
|  |   get_split_freq:	dummy_get_split_freq, | ||||||
|  |   set_split:	dummy_set_split, | ||||||
|  |   get_split:	dummy_get_split, | ||||||
|  |   set_rit:	dummy_set_rit, | ||||||
|  |   get_rit:	dummy_get_rit, | ||||||
|  |   set_ts:	dummy_set_ts, | ||||||
|  |   get_ts:	dummy_get_ts, | ||||||
|  |   power2mW:	dummy_power2mW, | ||||||
|  |   mW2power:	dummy_mW2power, | ||||||
|  |   set_ann:	dummy_set_ann, | ||||||
|  |   get_ann:	dummy_get_ann, | ||||||
|  |   set_ant:	dummy_set_ant, | ||||||
|  |   get_ant:	dummy_get_ant, | ||||||
|  |   set_bank:	dummy_set_bank, | ||||||
|  |   set_mem:	dummy_set_mem, | ||||||
|  |   get_mem:	dummy_get_mem, | ||||||
|  |   mv_ctl:	dummy_mv_ctl, | ||||||
|  |   set_channel:	dummy_set_channel, | ||||||
|  |   get_channel:	dummy_get_channel, | ||||||
|  |   set_trn:	dummy_set_trn, | ||||||
|  |   get_trn:	dummy_get_trn, | ||||||
|  | }; | ||||||
|  | 
 | ||||||
|  | int init_dummy(void *be_handle) | ||||||
|  | { | ||||||
|  | 	rig_debug(RIG_DEBUG_VERBOSE, "dummy: _init called\n"); | ||||||
|  | 
 | ||||||
|  | 	rig_register(&dummy_caps); | ||||||
|  | 
 | ||||||
|  | 	return RIG_OK; | ||||||
|  | } | ||||||
|  | @ -0,0 +1,38 @@ | ||||||
|  | /*
 | ||||||
|  |  * hamlib - (C) Frank Singleton 2000 (vk3fcs@ix.netcom.com) | ||||||
|  |  * | ||||||
|  |  * dummy.h - Copyright (C) 2001 Stephane Fillod. | ||||||
|  |  * | ||||||
|  |  * This shared library supports dummy backend, for debugging | ||||||
|  |  * purpose mainly. | ||||||
|  |  * | ||||||
|  |  * | ||||||
|  |  *	$Id: dummy.h,v 1.1 2001-02-14 00:59:02 f4cfe Exp $ | ||||||
|  |  * | ||||||
|  |  * | ||||||
|  |  * This program is free software; you can redistribute it and/or | ||||||
|  |  * modify it under the terms of the GNU General Public License | ||||||
|  |  * as published by the Free Software Foundation; either version 2 | ||||||
|  |  * of the License, or (at your option) any later version. | ||||||
|  |  *  | ||||||
|  |  * This program is distributed in the hope that it will be useful, | ||||||
|  |  * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||||||
|  |  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the | ||||||
|  |  * GNU General Public License for more details. | ||||||
|  |  *  | ||||||
|  |  * You should have received a copy of the GNU General Public License | ||||||
|  |  * along with this program; if not, write to the Free Software | ||||||
|  |  * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA. | ||||||
|  |  *  | ||||||
|  |  */ | ||||||
|  | 
 | ||||||
|  | #ifndef _DUMMY_H | ||||||
|  | #define _DUMMY_H 1 | ||||||
|  | 
 | ||||||
|  | #include <hamlib/rig.h> | ||||||
|  | 
 | ||||||
|  | extern const struct rig_caps dummy_caps; | ||||||
|  | 
 | ||||||
|  | extern int init_dummy(void *be_handle); | ||||||
|  | 
 | ||||||
|  | #endif /* _DUMMY_H */ | ||||||
		Ładowanie…
	
		Reference in New Issue
	
	 Stéphane Fillod, F8CFE
						Stéphane Fillod, F8CFE