kopia lustrzana https://github.com/Hamlib/Hamlib
rodzic
6ad428e091
commit
4b794bf08f
|
@ -665,7 +665,6 @@
|
|||
#define RIG_MDS 36
|
||||
#define RIG_BACKEND_MDS "MDS"
|
||||
#define RIG_MODEL_MDS4710 RIG_MAKE_MODEL(RIG_MDS, 1)
|
||||
#define RIG_MODEL_MDS9710 RIG_MAKE_MODEL(RIG_MDS, 2)
|
||||
/*
|
||||
* TODO:
|
||||
RIG_MODEL_KWZ30, KNEISNER +DOERING
|
||||
|
|
|
@ -1,93 +0,0 @@
|
|||
#include "mds.h"
|
||||
|
||||
const struct rig_caps mds_4710_caps =
|
||||
{
|
||||
RIG_MODEL(RIG_MODEL_MDS4710),
|
||||
.model_name = "4710",
|
||||
.mfg_name = "MDS",
|
||||
.version = "20221114.0",
|
||||
.copyright = "LGPL",
|
||||
.status = RIG_STATUS_BETA,
|
||||
.rig_type = RIG_TYPE_TRANSCEIVER,
|
||||
.ptt_type = RIG_PTT_RIG,
|
||||
.dcd_type = RIG_DCD_NONE,
|
||||
.port_type = RIG_PORT_SERIAL,
|
||||
.serial_rate_min = 110,
|
||||
.serial_rate_max = 38400,
|
||||
.serial_data_bits = 8,
|
||||
.serial_stop_bits = 1,
|
||||
.serial_parity = RIG_PARITY_NONE,
|
||||
.serial_handshake = RIG_HANDSHAKE_HARDWARE,
|
||||
.write_delay = 0,
|
||||
.post_write_delay = 0,
|
||||
.timeout = 1000,
|
||||
.retry = 3,
|
||||
|
||||
.has_get_func = RIG_FUNC_NONE,
|
||||
.has_set_func = RIG_FUNC_NONE,
|
||||
.has_get_level = MDS_LEVELS,
|
||||
.has_set_level = RIG_LEVEL_NONE,
|
||||
.has_get_parm = RIG_PARM_NONE,
|
||||
.has_set_parm = RIG_PARM_NONE,
|
||||
// .level_gran = { [LVL_CWPITCH] = { .step = { .i = 10 } } },
|
||||
// .ctcss_list = common_ctcss_list,
|
||||
// .dcs_list = full_dcs_list,
|
||||
// 2050 does have channels...not implemented yet as no need yet
|
||||
// .chan_list = {
|
||||
// { 0, 18, RIG_MTYPE_MEM, DUMMY_MEM_CAP },
|
||||
// { 19, 19, RIG_MTYPE_CALL },
|
||||
// { 20, NB_CHAN-1, RIG_MTYPE_EDGE },
|
||||
// RIG_CHAN_END,
|
||||
// },
|
||||
// .scan_ops = DUMMY_SCAN,
|
||||
// .vfo_ops = DUMMY_VFO_OP,
|
||||
.transceive = RIG_TRN_RIG,
|
||||
.rx_range_list1 = {
|
||||
{
|
||||
.startf = MHz(380), .endf = MHz(530), .modes = MDS_ALL_MODES,
|
||||
.low_power = 0, .high_power = 0, MDS_VFOS, RIG_ANT_1, "USA"
|
||||
},
|
||||
RIG_FRNG_END,
|
||||
},
|
||||
.rx_range_list2 = {RIG_FRNG_END,},
|
||||
.tx_range_list1 = {
|
||||
{MHz(380), MHz(400), MDS_ALL_MODES, W(.1), W(5), RIG_VFO_A, RIG_ANT_NONE, "USA"},
|
||||
{MHz(400), MHz(450), MDS_ALL_MODES, W(.1), W(5), RIG_VFO_A, RIG_ANT_NONE, "USA"},
|
||||
{MHz(450), MHz(512), MDS_ALL_MODES, W(.1), W(5), RIG_VFO_A, RIG_ANT_NONE, "USA"},
|
||||
{MHz(406), MHz(530), MDS_ALL_MODES, W(.1), W(5), RIG_VFO_A, RIG_ANT_NONE, "USA"},
|
||||
RIG_FRNG_END,
|
||||
},
|
||||
// .tx_range_list2 = {RIG_FRNG_END,}
|
||||
.tuning_steps = {
|
||||
// Rem: no support for changing tuning step
|
||||
{MDS_ALL_MODES, 6250},
|
||||
RIG_TS_END,
|
||||
},
|
||||
|
||||
.filters = {
|
||||
{MDS_ALL_MODES, RIG_FLT_ANY},
|
||||
RIG_FLT_END
|
||||
},
|
||||
.priv = NULL,
|
||||
|
||||
.rig_init = mds_init,
|
||||
.rig_open = mds_open,
|
||||
.rig_cleanup = mds_cleanup,
|
||||
|
||||
// .set_conf = dummy_set_conf,
|
||||
// .get_conf = dummy_get_conf,
|
||||
|
||||
.set_freq = mds_set_freq,
|
||||
.get_freq = mds_get_freq,
|
||||
// .set_mode = mds_set_mode,
|
||||
// .get_mode = mds_get_mode,
|
||||
|
||||
// .set_level = dummy_set_level,
|
||||
// .get_level = mds_get_level,
|
||||
|
||||
.get_info = mds_get_info,
|
||||
.set_ptt = mds_set_ptt,
|
||||
.get_ptt = mds_get_ptt,
|
||||
// .get_dcd = dummy_get_dcd,
|
||||
.hamlib_check_rig_caps = HAMLIB_CHECK_RIG_CAPS
|
||||
};
|
|
@ -1,4 +1,4 @@
|
|||
MDSSRC = mds.c mds.h 4710.c 9710.c
|
||||
MDSSRC = mds.c mds.h
|
||||
|
||||
noinst_LTLIBRARIES = libhamlib-mds.la
|
||||
libhamlib_mds_la_SOURCES = $(MDSSRC)
|
||||
|
|
103
rigs/mds/mds.c
103
rigs/mds/mds.c
|
@ -35,15 +35,20 @@
|
|||
|
||||
#define MAXCMDLEN 32
|
||||
|
||||
extern const struct rig_caps mds_4710_caps;
|
||||
extern const struct rig_caps mds_9710_caps;
|
||||
#define MDS_VFOS (RIG_VFO_A)
|
||||
|
||||
#define MDS_MODES (RIG_MODE_NONE)
|
||||
|
||||
#define MDS_LEVELS (RIG_LEVEL_NONE)
|
||||
|
||||
|
||||
const struct rig_caps mds_caps;
|
||||
|
||||
DECLARE_INITRIG_BACKEND(mds)
|
||||
{
|
||||
rig_debug(RIG_DEBUG_VERBOSE, "%s: _init called\n", __func__);
|
||||
|
||||
rig_register(&mds_4710_caps);
|
||||
rig_register(&mds_9710_caps);
|
||||
rig_register(&mds_caps);
|
||||
rig_debug(RIG_DEBUG_VERBOSE, "%s: _init back from rig_register\n", __func__);
|
||||
|
||||
return RIG_OK;
|
||||
|
@ -563,3 +568,93 @@ int mds_open(RIG *rig)
|
|||
retval = mds_transaction(rig, "PTT 0", 0, &response);
|
||||
RETURNFUNC(retval);
|
||||
}
|
||||
|
||||
const struct rig_caps mds_caps =
|
||||
{
|
||||
RIG_MODEL(RIG_MODEL_MDS4710),
|
||||
.model_name = "4710",
|
||||
.mfg_name = "MDS",
|
||||
.version = "20221114.0",
|
||||
.copyright = "LGPL",
|
||||
.status = RIG_STATUS_BETA,
|
||||
.rig_type = RIG_TYPE_TRANSCEIVER,
|
||||
// .targetable_vfo = RIG_TARGETABLE_FREQ | RIG_TARGETABLE_MODE,
|
||||
.ptt_type = RIG_PTT_RIG,
|
||||
.dcd_type = RIG_DCD_NONE,
|
||||
.port_type = RIG_PORT_SERIAL,
|
||||
.serial_rate_min = 110,
|
||||
.serial_rate_max = 38400,
|
||||
.serial_data_bits = 8,
|
||||
.serial_stop_bits = 1,
|
||||
.serial_parity = RIG_PARITY_NONE,
|
||||
.serial_handshake = RIG_HANDSHAKE_HARDWARE,
|
||||
.write_delay = 0,
|
||||
.post_write_delay = 0,
|
||||
.timeout = 1000,
|
||||
.retry = 3,
|
||||
|
||||
.has_get_func = RIG_FUNC_NONE,
|
||||
.has_set_func = RIG_FUNC_NONE,
|
||||
.has_get_level = MDS_LEVELS,
|
||||
.has_set_level = RIG_LEVEL_NONE,
|
||||
.has_get_parm = RIG_PARM_NONE,
|
||||
.has_set_parm = RIG_PARM_NONE,
|
||||
// .level_gran = { [LVL_CWPITCH] = { .step = { .i = 10 } } },
|
||||
// .ctcss_list = common_ctcss_list,
|
||||
// .dcs_list = full_dcs_list,
|
||||
// 2050 does have channels...not implemented yet as no need yet
|
||||
// .chan_list = {
|
||||
// { 0, 18, RIG_MTYPE_MEM, DUMMY_MEM_CAP },
|
||||
// { 19, 19, RIG_MTYPE_CALL },
|
||||
// { 20, NB_CHAN-1, RIG_MTYPE_EDGE },
|
||||
// RIG_CHAN_END,
|
||||
// },
|
||||
// .scan_ops = DUMMY_SCAN,
|
||||
// .vfo_ops = DUMMY_VFO_OP,
|
||||
.transceive = RIG_TRN_RIG,
|
||||
.rx_range_list1 = {
|
||||
{
|
||||
.startf = MHz(380), .endf = MHz(530), .modes = RIG_MODE_ALL,
|
||||
.low_power = 0, .high_power = 0, MDS_VFOS, RIG_ANT_1
|
||||
},
|
||||
RIG_FRNG_END,
|
||||
},
|
||||
.rx_range_list2 = {RIG_FRNG_END,},
|
||||
.tx_range_list1 = {
|
||||
{MHz(380), MHz(530), RIG_MODE_ALL, W(.1), W(5), RIG_VFO_A, RIG_ANT_NONE},
|
||||
RIG_FRNG_END,
|
||||
},
|
||||
// .tx_range_list2 = {RIG_FRNG_END,}
|
||||
.tuning_steps = {
|
||||
// Rem: no support for changing tuning step
|
||||
{RIG_MODE_ALL, 6250},
|
||||
RIG_TS_END,
|
||||
},
|
||||
|
||||
.filters = {
|
||||
{RIG_MODE_ALL, RIG_FLT_ANY},
|
||||
RIG_FLT_END
|
||||
},
|
||||
.priv = NULL,
|
||||
|
||||
.rig_init = mds_init,
|
||||
.rig_open = mds_open,
|
||||
.rig_cleanup = mds_cleanup,
|
||||
|
||||
// .set_conf = dummy_set_conf,
|
||||
// .get_conf = dummy_get_conf,
|
||||
|
||||
.set_freq = mds_set_freq,
|
||||
.get_freq = mds_get_freq,
|
||||
// .set_mode = mds_set_mode,
|
||||
// .get_mode = mds_get_mode,
|
||||
|
||||
// .set_level = dummy_set_level,
|
||||
// .get_level = mds_get_level,
|
||||
|
||||
.get_info = mds_get_info,
|
||||
.set_ptt = mds_set_ptt,
|
||||
.get_ptt = mds_get_ptt,
|
||||
// .get_dcd = dummy_get_dcd,
|
||||
.hamlib_check_rig_caps = HAMLIB_CHECK_RIG_CAPS
|
||||
};
|
||||
|
|
|
@ -1,28 +1,9 @@
|
|||
#include <hamlib/rig.h>
|
||||
|
||||
#define MDS_DATA_LEN 256
|
||||
#define MDS_RET_LEN 256
|
||||
|
||||
#define MDS_VFOS (RIG_VFO_A)
|
||||
|
||||
#define MDS_ALL_MODES (RIG_MODE_USB)
|
||||
|
||||
#define MDS_LEVELS (RIG_LEVEL_NONE)
|
||||
|
||||
|
||||
struct mds_priv_data {
|
||||
char cmd_str[MDS_DATA_LEN]; /* command string buffer */
|
||||
char ret_data[MDS_RET_LEN]; /* returned data--max value, most are less */
|
||||
};
|
||||
|
||||
extern const struct rig_caps mds_4710_caps;
|
||||
extern const struct rig_caps mds_9710_caps;
|
||||
extern const struct rig_caps barrett_caps;
|
||||
|
||||
int mds_init(RIG *rig);
|
||||
int mds_open(RIG *rig);
|
||||
int mds_cleanup(RIG *rig);
|
||||
int mds_get_ptt(RIG *rig, vfo_t vfo, ptt_t *ptt);
|
||||
int mds_set_ptt(RIG *rig, vfo_t vfo, ptt_t ptt);
|
||||
int mds_get_freq(RIG *rig, vfo_t vfo, freq_t *freq);
|
||||
int mds_set_freq(RIG *rig, vfo_t vfo, freq_t freq);
|
||||
const char *mds_get_info(RIG *rig);
|
||||
|
|
Ładowanie…
Reference in New Issue