* Add Icom 705 transceiver
    - based on IC7300
    - added DV mode to mode select
This commit is contained in:
David Freese 2020-10-13 20:32:58 -05:00
parent c046bd5f16
commit 181cc8731c
5 changed files with 2469 additions and 110 deletions

View file

@ -159,6 +159,7 @@ flrig_SOURCES += \
rigs/FTdx9000.cxx \
rigs/ICbase.cxx \
rigs/IC703.cxx \
rigs/IC705.cxx \
rigs/IC706MKIIG.cxx \
rigs/IC718.cxx \
rigs/IC728.cxx \
@ -306,6 +307,7 @@ EXTRA_DIST = \
include/gettext.h \
include/ICbase.h \
include/IC703.h \
include/IC705.h \
include/IC706MKIIG.h \
include/IC718.h \
include/IC728.h \

193
src/include/IC705.h Normal file
View file

@ -0,0 +1,193 @@
// ----------------------------------------------------------------------------
// Copyright (C) 2014
// David Freese, W1HKJ
// Modified: January 2017
// Andy Stewart, KB1OIQ
//
// This file is part of flrig.
//
// flrig 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 3 of the License, or
// (at your option) any later version.
//
// flrig 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
// aunsigned long int with this program. If not, see <http://www.gnu.org/licenses/>.
// ----------------------------------------------------------------------------
#ifndef _IC705_H
#define _IC705_H
#include "IC746.h"
class RIG_IC705 : public RIG_ICOM {
public:
RIG_IC705();
~RIG_IC705(){}
bool CW_sense;
void initialize();
void selectA();
void selectB();
bool check();
unsigned long int get_vfoA ();
void set_vfoA (unsigned long int freq);
unsigned long int get_vfoB(void);
void set_vfoB(unsigned long int f);
void set_modeA(int val);
int get_modeA();
void set_modeB(int val);
int get_modeB();
bool can_split();
void set_split(bool);
int get_split();
bool canswap() { return true; }
void swapAB();
void set_bwA(int val);
int get_bwA();
void set_bwB(int val);
int get_bwB();
int adjust_bandwidth(int m);
int def_bandwidth(int m);
void set_if_shift(int val);
void get_if_min_max_step(int &min, int &max, int &step);
bool get_if_shift(int &val);
void set_pbt_inner(int val);
void set_pbt_outer(int val);
int get_pbt_inner();
int get_pbt_outer();
const char *FILT(int val);
const char *nextFILT();
int get_FILT(int mode);
void set_FILT(int filter);
void set_FILTERS(std::string s);
std::string get_FILTERS();
void set_BANDWIDTHS(std::string s);
std::string get_BANDWIDTHS();
void set_mic_gain(int v);
void get_mic_gain_min_max_step(int &min, int &max, int &step);
int get_mic_gain();
void set_compression(int, int);
void get_compression(int &on, int &val);
void get_comp_min_max_step(int &min, int &max, int &step) {
min = 0; max = 10; step = 1; }
void set_vox_onoff();
void set_vox_gain();
void get_vox_gain_min_max_step(int &min, int &max, int &step);
void set_vox_hang();
void get_vox_hang_min_max_step(int &min, int &max, int &step);
void set_vox_anti();
void get_vox_anti_min_max_step(int &min, int &max, int &step);
void set_cw_wpm();
void get_cw_wpm_min_max(int &min, int &max);
void enable_break_in();
void set_cw_qsk();
void get_cw_qsk_min_max_step(double &min, double &max, double &step);
void set_cw_spot_tone();
void get_cw_spot_tone_min_max_step(int &min, int &max, int &step);
void set_cw_vol();
const char **bwtable(int m);
void set_PTT_control(int val);
int get_PTT();
void set_volume_control(int val);
int get_volume_control();
void get_vol_min_max_step(int &min, int &max, int &step);
int get_smeter();
int get_power_out(void);
int get_swr(void);
int get_alc(void);
void set_power_control(double val);
int get_power_control();
void get_pc_min_max_step(double &min, double &max, double &step);
void set_rf_gain(int val);
int get_rf_gain();
void get_rf_min_max_step(double &min, double &max, double &step);
void set_preamp(int val);
int get_preamp();
int next_preamp();
void set_attenuator(int val);
int get_attenuator();
int next_attenuator();
void set_noise(bool val);
int get_noise();
void set_nb_level(int val);
int get_nb_level();
void set_noise_reduction(int val);
int get_noise_reduction();
void set_noise_reduction_val(int val);
int get_noise_reduction_val();
void get_nr_min_max_step(int &min, int &max, int &step) {
min = 0; max = 15; step = 1; }
void set_squelch(int val);
int get_squelch();
void set_notch(bool on, int val);
bool get_notch(int &val);
void get_notch_min_max_step(int &min, int &max, int &step);
void set_auto_notch(int val);
int get_auto_notch();
int get_agc();
int incr_agc();
const char *agc_label();
int agc_val();
void setVfoAdj(double v);
double getVfoAdj();
void get_vfoadj_min_max_step(int &min, int &max, int &step) {
min = 0; max = 100; step = 1; }
void set_band_selection(int v);
void get_band_selection(int v);
void set_xcvr_auto_on();
void set_xcvr_auto_off();
};
#endif

View file

@ -51,6 +51,7 @@
#include "FT5000.h"
#include "ICbase.h"
#include "IC703.h"
#include "IC705.h"
#include "IC706MKIIG.h"
#include "IC718.h"
#include "IC728.h"
@ -136,60 +137,61 @@ extern RIG_FTdx3000 rig_FTdx3000; // 26
extern RIG_FT5000 rig_FT5000; // 27
extern RIG_FTdx9000 rig_FTdx9000; // 28
extern RIG_IC703 rig_IC703; // 29
extern RIG_IC706MKIIG rig_IC706MKIIG; // 30
extern RIG_IC718 rig_IC718; // 31
extern RIG_IC728 rig_IC728; // 32
extern RIG_IC735 rig_IC735; // 33
extern RIG_IC746 rig_IC746; // 34
extern RIG_IC746PRO rig_IC746PRO; // 35
extern RIG_IC756 rig_IC756; // 36
extern RIG_IC756PRO rig_IC756PRO; // 37
extern RIG_IC756PRO2 rig_IC756PRO2; // 38
extern RIG_IC756PRO3 rig_IC756PRO3; // 39
extern RIG_IC7000 rig_IC7000; // 40
extern RIG_IC7100 rig_IC7100; // 41
extern RIG_IC7200 rig_IC7200; // 42
extern RIG_IC7300 rig_IC7300; // 43
extern RIG_IC7410 rig_IC7410; // 44
extern RIG_IC7600 rig_IC7600; // 45
extern RIG_IC7610 rig_IC7610; // 46
extern RIG_IC7700 rig_IC7700; // 47
extern RIG_IC7800 rig_IC7800; // 48
extern RIG_IC7851 rig_IC7851; // 49
extern RIG_IC9100 rig_IC9100; // 50
extern RIG_IC9700 rig_IC9700; // 51
extern RIG_IC910H rig_IC910H; // 52
extern RIG_ICF8101 rig_ICF8101; // 53
extern RIG_K2 rig_K2; // 54
extern RIG_K3 rig_K3; // 55
extern RIG_KX3 rig_KX3; // 56
extern RIG_PCR1000 rig_PCR1000; // 57
extern RIG_RAY152 rig_RAY152; // 58
extern RIG_TS140 rig_TS140; // 59
extern RIG_TS450S rig_TS450S; // 60
extern RIG_TS480HX rig_TS480HX; // 61
extern RIG_TS480SAT rig_TS480SAT; // 62
extern RIG_TS570 rig_TS570; // 63
extern RIG_TS590S rig_TS590S; // 64
extern RIG_TS590SG rig_TS590SG; // 65
extern RIG_TS790 rig_TS790; // 66
extern RIG_TS850 rig_TS850; // 67
extern RIG_TS870S rig_TS870S; // 68
extern RIG_TS890S rig_TS890S; // 69
extern RIG_TS940S rig_TS940S; // 70
extern RIG_TS950 rig_TS950; // 71
extern RIG_TS990 rig_TS990; // 72
extern RIG_TS2000 rig_TS2000; // 73
extern RIG_TT516 rig_TT516; // 74
extern RIG_TT535 rig_TT535; // 75
extern RIG_TT538 rig_TT538; // 76
extern RIG_TT550 rig_TT550; // 77
extern RIG_TT563 rig_TT563; // 78
extern RIG_TT566 rig_TT566; // 79
extern RIG_TT588 rig_TT588; // 80
extern RIG_TT599 rig_TT599; // 81
extern RIG_AOR5K rig_AOR5K; // 82
extern RIG_XI5105 rig_XI5105; // 83
extern RIG_Xiegu_G90 rig_XIG90; // 84
extern RIG_IC705 rig_IC705; // 30
extern RIG_IC706MKIIG rig_IC706MKIIG; // 31
extern RIG_IC718 rig_IC718; // 32
extern RIG_IC728 rig_IC728; // 33
extern RIG_IC735 rig_IC735; // 34
extern RIG_IC746 rig_IC746; // 35
extern RIG_IC746PRO rig_IC746PRO; // 36
extern RIG_IC756 rig_IC756; // 37
extern RIG_IC756PRO rig_IC756PRO; // 38
extern RIG_IC756PRO2 rig_IC756PRO2; // 39
extern RIG_IC756PRO3 rig_IC756PRO3; // 40
extern RIG_IC7000 rig_IC7000; // 41
extern RIG_IC7100 rig_IC7100; // 42
extern RIG_IC7200 rig_IC7200; // 43
extern RIG_IC7300 rig_IC7300; // 44
extern RIG_IC7410 rig_IC7410; // 45
extern RIG_IC7600 rig_IC7600; // 46
extern RIG_IC7610 rig_IC7610; // 47
extern RIG_IC7700 rig_IC7700; // 48
extern RIG_IC7800 rig_IC7800; // 49
extern RIG_IC7851 rig_IC7851; // 50
extern RIG_IC9100 rig_IC9100; // 51
extern RIG_IC9700 rig_IC9700; // 52
extern RIG_IC910H rig_IC910H; // 53
extern RIG_ICF8101 rig_ICF8101; // 54
extern RIG_K2 rig_K2; // 55
extern RIG_K3 rig_K3; // 56
extern RIG_KX3 rig_KX3; // 57
extern RIG_PCR1000 rig_PCR1000; // 58
extern RIG_RAY152 rig_RAY152; // 59
extern RIG_TS140 rig_TS140; // 60
extern RIG_TS450S rig_TS450S; // 61
extern RIG_TS480HX rig_TS480HX; // 62
extern RIG_TS480SAT rig_TS480SAT; // 63
extern RIG_TS570 rig_TS570; // 64
extern RIG_TS590S rig_TS590S; // 65
extern RIG_TS590SG rig_TS590SG; // 66
extern RIG_TS790 rig_TS790; // 67
extern RIG_TS850 rig_TS850; // 68
extern RIG_TS870S rig_TS870S; // 69
extern RIG_TS890S rig_TS890S; // 70
extern RIG_TS940S rig_TS940S; // 71
extern RIG_TS950 rig_TS950; // 72
extern RIG_TS990 rig_TS990; // 73
extern RIG_TS2000 rig_TS2000; // 74
extern RIG_TT516 rig_TT516; // 75
extern RIG_TT535 rig_TT535; // 76
extern RIG_TT538 rig_TT538; // 77
extern RIG_TT550 rig_TT550; // 78
extern RIG_TT563 rig_TT563; // 79
extern RIG_TT566 rig_TT566; // 80
extern RIG_TT588 rig_TT588; // 81
extern RIG_TT599 rig_TT599; // 82
extern RIG_AOR5K rig_AOR5K; // 83
extern RIG_XI5105 rig_XI5105; // 84
extern RIG_Xiegu_G90 rig_XIG90; // 85
#endif

2160
src/rigs/IC705.cxx Normal file

File diff suppressed because it is too large Load diff

View file

@ -58,6 +58,7 @@ RIG_FTdx3000 rig_FTdx3000;
RIG_FT5000 rig_FT5000;
RIG_FTdx9000 rig_FTdx9000;
RIG_IC703 rig_IC703;
RIG_IC705 rig_IC705;
RIG_IC706MKIIG rig_IC706MKIIG;
RIG_IC718 rig_IC718;
RIG_IC728 rig_IC728;
@ -144,61 +145,62 @@ rigbase *rigs[] = {
&rig_FT5000, // 27
&rig_FTdx9000, // 28
&rig_IC703, // 29
&rig_IC706MKIIG,// 30
&rig_IC718, // 31
&rig_IC728, // 32
&rig_IC735, // 33
&rig_IC746, // 34
&rig_IC746PRO, // 35
&rig_IC756, // 36
&rig_IC756PRO, // 37
&rig_IC756PRO2, // 38
&rig_IC756PRO3, // 39
&rig_IC7000, // 40
&rig_IC7100, // 41
&rig_IC7200, // 42
&rig_IC7300, // 43
&rig_IC7410, // 44
&rig_IC7600, // 45
&rig_IC7610, // 46
&rig_IC7700, // 47
&rig_IC7800, // 48
&rig_IC7851, // 49
&rig_IC9100, // 50
&rig_IC9700, // 51
&rig_IC910H, // 52
&rig_ICF8101, // 53
&rig_K2, // 54
&rig_K3, // 55
&rig_KX3, // 56
&rig_PCR1000, // 57
&rig_RAY152, // 58
&rig_TS140, // 59
&rig_TS450S, // 60
&rig_TS480HX, // 61
&rig_TS480SAT, // 62
&rig_TS570, // 63
&rig_TS590S, // 64
&rig_TS590SG, // 65
&rig_TS790, // 66
&rig_TS850, // 67
&rig_TS870S, // 68
&rig_TS890S, // 69
&rig_TS940S, // 70
&rig_TS950, // 71
&rig_TS990, // 72
&rig_TS2000, // 73
&rig_TT516, // 74
&rig_TT535, // 75
&rig_TT538, // 76
&rig_TT550, // 77
&rig_TT563, // 78
&rig_TT566, // 79
&rig_TT588, // 80
&rig_TT599, // 81
&rig_AOR5K, // 82
&rig_XI5105, // 83
&rig_XIG90, // 84
&rig_IC705, // 30
&rig_IC706MKIIG,// 31
&rig_IC718, // 32
&rig_IC728, // 33
&rig_IC735, // 34
&rig_IC746, // 35
&rig_IC746PRO, // 36
&rig_IC756, // 37
&rig_IC756PRO, // 38
&rig_IC756PRO2, // 39
&rig_IC756PRO3, // 40
&rig_IC7000, // 41
&rig_IC7100, // 42
&rig_IC7200, // 43
&rig_IC7300, // 44
&rig_IC7410, // 45
&rig_IC7600, // 46
&rig_IC7610, // 47
&rig_IC7700, // 48
&rig_IC7800, // 49
&rig_IC7851, // 50
&rig_IC9100, // 51
&rig_IC9700, // 52
&rig_IC910H, // 53
&rig_ICF8101, // 54
&rig_K2, // 55
&rig_K3, // 56
&rig_KX3, // 57
&rig_PCR1000, // 58
&rig_RAY152, // 59
&rig_TS140, // 60
&rig_TS450S, // 61
&rig_TS480HX, // 62
&rig_TS480SAT, // 63
&rig_TS570, // 64
&rig_TS590S, // 65
&rig_TS590SG, // 66
&rig_TS790, // 67
&rig_TS850, // 68
&rig_TS870S, // 69
&rig_TS890S, // 70
&rig_TS940S, // 71
&rig_TS950, // 72
&rig_TS990, // 73
&rig_TS2000, // 74
&rig_TT516, // 75
&rig_TT535, // 76
&rig_TT538, // 77
&rig_TT550, // 78
&rig_TT563, // 79
&rig_TT566, // 80
&rig_TT588, // 81
&rig_TT599, // 82
&rig_AOR5K, // 83
&rig_XI5105, // 84
&rig_XIG90, // 85
NULL
};