kopia lustrzana https://github.com/Hamlib/Hamlib
				
				
				
			
		
			
				
	
	
		
			154 wiersze
		
	
	
		
			5.7 KiB
		
	
	
	
		
			C
		
	
	
			
		
		
	
	
			154 wiersze
		
	
	
		
			5.7 KiB
		
	
	
	
		
			C
		
	
	
| /*
 | |
|  *  Hamlib Tentec backend - main header
 | |
|  *  Copyright (c) 2001-2004 by Stephane Fillod
 | |
|  *
 | |
|  *	$Id: tt550.h,v 1.1 2004-02-09 22:11:08 fillods Exp $
 | |
|  *
 | |
|  *   This library is free software; you can redistribute it and/or modify
 | |
|  *   it under the terms of the GNU Library 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 Library General Public License for more details.
 | |
|  *
 | |
|  *   You should have received a copy of the GNU Library General Public
 | |
|  *   License along with this library; if not, write to the Free Software
 | |
|  *   Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
 | |
|  *
 | |
|  */
 | |
| 
 | |
| #ifndef _TT550_H
 | |
| #define _TT550_H 1
 | |
| 
 | |
| #include <hamlib/rig.h>
 | |
| #include <cal.h>
 | |
| 
 | |
| 
 | |
| #define EOM "\015"		/* CR */
 | |
| 
 | |
| #define TT_AM  '0'
 | |
| #define TT_USB '1'
 | |
| #define TT_LSB '2'
 | |
| #define TT_CW  '3'
 | |
| #define TT_FM  '4'
 | |
| 
 | |
| /*
 | |
|  * Transmit and receive flags used by tt550_tuning_factor_calc
 | |
|  * to modify behavior for transmit versus receive vfo's
 | |
|  */
 | |
| #define RECEIVE 0
 | |
| #define TRANSMIT 1
 | |
| 
 | |
| 
 | |
| /*
 | |
|  * Transmitter control operations
 | |
|  */
 | |
| #define DISABLE_TX '0'
 | |
| #define ENABLE_TX  '1'
 | |
| #define DISABLE_AMP '2'
 | |
| #define ENABLE_AMP  '3'
 | |
| #define ENABLE_KEYER '6'
 | |
| #define DISABLE_KEYER '7'
 | |
| #define DISABLE_KEEPALIVE  '8'
 | |
| #define ENABLE_KEEPALIVE  '9'
 | |
| 
 | |
| /* This is needed until we come up with a way to guarantee that the 
 | |
| ** KEEPALIVE mechanism of the Pegasus is met.
 | |
| */
 | |
| #define BYPASS_KEEPALIVE 1
 | |
| 
 | |
| #define KEY_F1_DOWN 0x11
 | |
| #define KEY_F2_DOWN 0x12
 | |
| #define KEY_F3_DOWN 0x13
 | |
| #define KEY_F1_UP 0x91
 | |
| #define KEY_F2_UP 0x92
 | |
| #define KEY_F3_UP 0x93
 | |
| 
 | |
| struct tt550_priv_data
 | |
| {
 | |
|   rmode_t tx_mode;		/* transmitter mode - may be different from receiver in split mode */
 | |
|   rmode_t rx_mode;		/* Current RX Mode */
 | |
|   freq_t tx_freq;		/* tuned transmitter frequency - may be different from
 | |
| 				 * 'freq' when in split mode
 | |
| 				 */
 | |
|   freq_t rx_freq;		/* Current RX Frequency */
 | |
|   shortfreq_t rit;		/* Current RIT Value */
 | |
|   shortfreq_t xit;		/* Current XIT Value */
 | |
|   shortfreq_t pbtadj;		/* Current pass band tuning value */
 | |
|   pbwidth_t width;		/* filter bandwidth in Hz */
 | |
|   pbwidth_t tx_width;		/* transmit filter bandwidth in Hz */
 | |
|   int pb;			/* RX passband offset in Hz 0 [0-10000] */
 | |
|   int cwbfo;			/* BFO frequency: 700 [0-2000Hz] */
 | |
|   int tx_cwbfo;			/* TX_BFO frequency: 700 [0-2000Hz] */
 | |
|   float lineout;			/* line-out volume: 30 [0..63] */
 | |
|   float spkvol;			/* speaker volume: 30 [0..63] */
 | |
|   int agc;			/* AGC: medium */
 | |
|   float rflevel;		/* RF Gain Level: [0..255] */
 | |
|   float sql;			/* Squelch: [0..255] */
 | |
|   int att;			/* Attenuator level [0..1] */
 | |
|   int keyspd;			/* Keyer speed: [0..255] */
 | |
|   float nr;			/* Noise reduction: [0..1] */
 | |
|   float autonotch;		/* Autonotch filter: [0..1] */
 | |
|   float rfpower;		/* RF Power: [0..255] */
 | |
|   float speechcomp;		/* Speech compressor: [0..127] */
 | |
|   float voxgain;		/* Vox Gain: [0..255] */
 | |
|   float voxdelay;		/* Vox delay: [0..255] */
 | |
|   float antivox;		/* AntiVox gain: [0..255] */
 | |
|   float mikegain;		/* Microphone gain: [0..15] */
 | |
|   float bkindl;			/* CW QSK level */
 | |
|   int split;			/* split - ON/OFF */
 | |
|   shortfreq_t stepsize; 	/*current step size */
 | |
|   int anf;			/* ANF on/off 1/0 */
 | |
|   int en_nr;			/* Noise Reduction on/off 1/0 */
 | |
|   int tuner;			/* automatic tuner on/off 1/0 */
 | |
|   int vox;			/* VOX on/off 1/0 */
 | |
| 
 | |
|   /* calculated by tt550_tuning_factor_calc() */
 | |
|   int ctf;			/* Coarse Tune Factor */
 | |
|   int ftf;			/* Fine Tune Factor */
 | |
|   int btf;			/* Bfo Tune Factor, btval is ignored by RX-320 in AM MODE */
 | |
| 
 | |
|   /* S-meter calibration data */
 | |
|   cal_table_t str_cal;
 | |
| };
 | |
| 
 | |
| int tt550_init (RIG * rig);
 | |
| int tt550_cleanup (RIG * rig);
 | |
| int tt550_trx_open (RIG * rig);
 | |
| int tt550_reset(RIG * rig, reset_t reset);
 | |
| int tt550_set_freq (RIG * rig, vfo_t vfo, freq_t freq);
 | |
| int tt550_get_freq (RIG * rig, vfo_t vfo, freq_t * freq);
 | |
| int tt550_set_mode (RIG * rig, vfo_t vfo, rmode_t mode, pbwidth_t width);
 | |
| int tt550_get_mode (RIG * rig, vfo_t vfo, rmode_t * mode, pbwidth_t * width);
 | |
| int tt550_set_level (RIG * rig, vfo_t vfo, setting_t level, value_t val);
 | |
| int tt550_get_level (RIG * rig, vfo_t vfo, setting_t level, value_t * val);
 | |
| int tt550_set_ptt (RIG * rig, vfo_t vfo, ptt_t ptt);
 | |
| int tt550_get_ptt (RIG * rig, vfo_t vfo, ptt_t * ptt);
 | |
| int tt550_decode_event (RIG * rig);
 | |
| const char *tt550_get_info (RIG * rig);
 | |
| int tt550_set_tx_freq (RIG * rig, vfo_t vfo, freq_t freq);
 | |
| int tt550_get_tx_freq (RIG * rig, vfo_t vfo, freq_t * freq);
 | |
| int tt550_set_rx_freq (RIG * rig, vfo_t vfo, freq_t freq);
 | |
| int tt550_get_rx_freq (RIG * rig, vfo_t vfo, freq_t * freq);
 | |
| int tt550_set_tx_mode (RIG * rig, vfo_t vfo, rmode_t mode, pbwidth_t width);
 | |
| int tt550_get_tx_mode (RIG * rig, vfo_t vfo, rmode_t * mode, pbwidth_t * width);
 | |
| int tt550_set_rx_mode (RIG * rig, vfo_t vfo, rmode_t mode, pbwidth_t width);
 | |
| int tt550_get_rx_mode (RIG * rig, vfo_t vfo, rmode_t * mode, pbwidth_t * width);
 | |
| int tt550_get_split_vfo (RIG * rig, vfo_t vfo, split_t * split, vfo_t * tx_vfo);
 | |
| int tt550_set_split_vfo (RIG * rig, vfo_t vfo, split_t split, vfo_t tx_vfo);
 | |
| int tt550_get_tuning_step (RIG * rig, vfo_t vfo, shortfreq_t * stepsize);
 | |
| int tt550_set_tuning_step (RIG * rig, vfo_t vfo, shortfreq_t stepsize);
 | |
| int tt550_set_func(RIG *rig, vfo_t vfo, setting_t func, int status);
 | |
| int tt550_get_func(RIG *rig, vfo_t vfo, setting_t func, int *status);
 | |
| int tt550_vfo_op(RIG *rig, vfo_t vfo, vfo_op_t op);
 | |
| int tt550_set_rit(RIG * rig, vfo_t vfo, shortfreq_t rit);
 | |
| int tt550_get_rit(RIG *rig, vfo_t vfo, shortfreq_t * rit);
 | |
| int tt550_set_xit(RIG * rig, vfo_t vfo, shortfreq_t rit);
 | |
| int tt550_get_xit(RIG *rig, vfo_t vfo, shortfreq_t * rit);
 | |
| 
 | |
| 
 | |
| #endif /* _TT550_H */
 |