kopia lustrzana https://github.com/Hamlib/Hamlib
215 wiersze
7.3 KiB
C
215 wiersze
7.3 KiB
C
// ---------------------------------------------------------------------------
|
|
// ADT-200A HAMLIB BACKEND
|
|
// ---------------------------------------------------------------------------
|
|
//
|
|
// adt_200a.c
|
|
//
|
|
// Created by Frank Goenninger DG1SBG.
|
|
// Copyright © 2011, 2012 Frank Goenninger.
|
|
//
|
|
// This library is free software; you can redistribute it and/or
|
|
// modify it under the terms of the GNU Lesser General Public
|
|
// License as published by the Free Software Foundation; either
|
|
// version 2.1 of the License, or (at your option) any later version.
|
|
//
|
|
// This library 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
|
|
// Lesser General Public License for more details.
|
|
//
|
|
// You should have received a copy of the GNU Lesser General Public
|
|
// License along with this library; if not, write to the Free Software
|
|
// Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
|
|
|
|
|
|
#ifdef HAVE_CONFIG_H
|
|
# include "config.h"
|
|
#endif
|
|
|
|
// ---------------------------------------------------------------------------
|
|
// ADT-200A INCLUDES
|
|
// ---------------------------------------------------------------------------
|
|
|
|
#include "adt_200a.h"
|
|
|
|
// ---------------------------------------------------------------------------
|
|
// GLOBAL DEFINITIONS
|
|
// ---------------------------------------------------------------------------
|
|
|
|
// GLOBAL VARS
|
|
|
|
// static const struct confparams adt_200a_cfg_params[] =
|
|
// {
|
|
// { TOKEN_PRODUCT_NAME, "usb_product_name", "USB Product Name", "USB Product Name (DSP Bo
|
|
// Model + ' Serial '+ ID Code, e.g. 'TRX3C Serial C945D5B' )",
|
|
// ADT_200A_PRODUCT_NAME, RIG_CONF_STRING, { .n = { 0,0,0 } }
|
|
// },
|
|
//
|
|
// { RIG_CONF_END, NULL, }
|
|
//};
|
|
|
|
|
|
// ---------------------------------------------------------------------------
|
|
// ADT-200A HAMLIB CAPS / DESCRIPTION
|
|
// ---------------------------------------------------------------------------
|
|
|
|
const struct rig_caps adt_200a_caps =
|
|
{
|
|
.rig_model = RIG_MODEL_ADT_200A,
|
|
.model_name = "ADT-200A",
|
|
.mfg_name = "ADAT www.adat.ch",
|
|
.version = "1.37",
|
|
.copyright = "Frank Goenninger, DG1SBG. License: Creative Commons",
|
|
.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 = 115200,
|
|
.serial_rate_max = 115200,
|
|
.serial_data_bits = 8,
|
|
.serial_stop_bits = 1,
|
|
.serial_parity = RIG_PARITY_NONE,
|
|
.serial_handshake = RIG_HANDSHAKE_NONE,
|
|
.write_delay = 0,
|
|
.post_write_delay = 20,
|
|
.timeout = 250,
|
|
.retry = 3,
|
|
|
|
.has_get_func = ADT_200A_FUNCS,
|
|
.has_set_func = ADT_200A_FUNCS,
|
|
.has_get_level = ADT_200A_GET_LEVEL,
|
|
.has_set_level = RIG_LEVEL_SET(ADT_200A_SET_LEVEL),
|
|
.has_get_parm = RIG_PARM_NONE,
|
|
.has_set_parm = RIG_PARM_NONE,
|
|
.level_gran = {},
|
|
.parm_gran = {},
|
|
.ctcss_list = NULL,
|
|
.dcs_list = NULL,
|
|
.preamp = { 5, 10, RIG_DBLST_END, },
|
|
.attenuator = { 5, 10, 15, 20, 25, RIG_DBLST_END, },
|
|
.max_rit = ADT_200A_RIT,
|
|
.max_xit = ADT_200A_XIT,
|
|
.max_ifshift = Hz(500),
|
|
.targetable_vfo = RIG_TARGETABLE_NONE,
|
|
.transceive = 0,
|
|
.bank_qty = 1,
|
|
|
|
.chan_desc_sz = ADAT_MEM_DESC_SIZE,
|
|
.chan_list =
|
|
{
|
|
{ 0, 99, RIG_MTYPE_MEM, ADAT_MEM_CAPS },
|
|
RIG_CHAN_END,
|
|
},
|
|
|
|
.rx_range_list1 =
|
|
{
|
|
{ kHz(10), MHz(30), ADT_200A_MODES, -1, -1, ADT_200A_VFO },
|
|
RIG_FRNG_END,
|
|
},
|
|
|
|
.tx_range_list1 =
|
|
{
|
|
{ kHz(10), MHz(30), ADT_200A_MODES, mW(100), W(50), ADT_200A_VFO },
|
|
RIG_FRNG_END,
|
|
},
|
|
|
|
.rx_range_list2 =
|
|
{
|
|
{ kHz(10), MHz(30), ADT_200A_MODES, -1, -1, ADT_200A_VFO },
|
|
RIG_FRNG_END,
|
|
},
|
|
|
|
.tx_range_list2 =
|
|
{
|
|
{ kHz(10), MHz(30), ADT_200A_MODES, mW(100), W(50), ADT_200A_VFO },
|
|
RIG_FRNG_END,
|
|
},
|
|
|
|
.tuning_steps =
|
|
{
|
|
{ ADT_200A_MODES, RIG_TS_ANY }, // TODO: get actual list here
|
|
RIG_TS_END,
|
|
},
|
|
|
|
.filters =
|
|
{
|
|
{ RIG_MODE_CW | RIG_MODE_CWR, Hz(50) },
|
|
{ RIG_MODE_CW | RIG_MODE_CWR, Hz(75) },
|
|
{ RIG_MODE_CW | RIG_MODE_CWR, Hz(100) },
|
|
{ RIG_MODE_CW | RIG_MODE_CWR, Hz(150) },
|
|
{ RIG_MODE_CW | RIG_MODE_CWR, Hz(200) },
|
|
{ RIG_MODE_CW | RIG_MODE_CWR, Hz(300) },
|
|
{ RIG_MODE_CW | RIG_MODE_CWR, Hz(750) },
|
|
{ RIG_MODE_CW | RIG_MODE_CWR, Hz(1000) },
|
|
{ RIG_MODE_CW | RIG_MODE_CWR, Hz(1200) },
|
|
{ RIG_MODE_LSB | RIG_MODE_USB, Hz(300) },
|
|
{ RIG_MODE_LSB | RIG_MODE_USB, Hz(500) },
|
|
{ RIG_MODE_LSB | RIG_MODE_USB, Hz(750) },
|
|
{ RIG_MODE_LSB | RIG_MODE_USB, Hz(1000) },
|
|
{ RIG_MODE_LSB | RIG_MODE_USB, Hz(1200) },
|
|
{ RIG_MODE_LSB | RIG_MODE_USB, Hz(1500) },
|
|
{ RIG_MODE_LSB | RIG_MODE_USB, Hz(1800) },
|
|
{ RIG_MODE_LSB | RIG_MODE_USB, Hz(2000) },
|
|
{ RIG_MODE_LSB | RIG_MODE_USB, Hz(2200) },
|
|
{ RIG_MODE_LSB | RIG_MODE_USB, Hz(2400) },
|
|
{ RIG_MODE_LSB | RIG_MODE_USB, Hz(2700) },
|
|
{ RIG_MODE_LSB | RIG_MODE_USB, Hz(3500) },
|
|
{ RIG_MODE_AM | RIG_MODE_SAL | RIG_MODE_SAH, Hz(3000) },
|
|
{ RIG_MODE_AM | RIG_MODE_SAL | RIG_MODE_SAH, Hz(3500) },
|
|
{ RIG_MODE_AM | RIG_MODE_SAL | RIG_MODE_SAH, Hz(4000) },
|
|
{ RIG_MODE_AM | RIG_MODE_SAL | RIG_MODE_SAH, Hz(4500) },
|
|
{ RIG_MODE_AM | RIG_MODE_SAL | RIG_MODE_SAH, Hz(5000) },
|
|
{ RIG_MODE_AM | RIG_MODE_SAL | RIG_MODE_SAH, Hz(6000) },
|
|
{ RIG_MODE_AM | RIG_MODE_SAL | RIG_MODE_SAH, Hz(7000) },
|
|
{ RIG_MODE_AM | RIG_MODE_SAL | RIG_MODE_SAH, Hz(8000) },
|
|
{ RIG_MODE_FM, Hz(6000) },
|
|
{ RIG_MODE_FM, Hz(7000) },
|
|
{ RIG_MODE_FM, Hz(8000) },
|
|
{ RIG_MODE_FM, Hz(9000) },
|
|
{ RIG_MODE_FM, Hz(10000) },
|
|
{ RIG_MODE_FM, Hz(11000) },
|
|
{ RIG_MODE_FM, Hz(12000) },
|
|
RIG_FLT_END,
|
|
},
|
|
|
|
// .cfgparams = adt_200a_cfg_params,
|
|
|
|
.rig_init = adat_init,
|
|
.rig_cleanup = adat_cleanup,
|
|
.rig_open = adat_open,
|
|
.reset = adat_reset,
|
|
.rig_close = adat_close,
|
|
|
|
.set_conf = adat_set_conf,
|
|
.get_conf = adat_get_conf,
|
|
|
|
.set_freq = adat_set_freq,
|
|
.get_freq = adat_get_freq,
|
|
|
|
.get_level = adat_get_level,
|
|
.set_level = adat_set_level,
|
|
|
|
.set_mode = adat_set_mode,
|
|
.get_mode = adat_get_mode,
|
|
|
|
.get_vfo = adat_get_vfo,
|
|
.set_vfo = adat_set_vfo,
|
|
|
|
.get_ptt = adat_get_ptt,
|
|
.set_ptt = adat_set_ptt,
|
|
|
|
.decode_event = adat_handle_event,
|
|
|
|
.get_info = adat_get_info,
|
|
|
|
.power2mW = adat_power2mW,
|
|
.mW2power = adat_mW2power,
|
|
|
|
.get_powerstat = adat_get_powerstat
|
|
};
|
|
|
|
// ---------------------------------------------------------------------------
|
|
// END OF FILE
|
|
// ---------------------------------------------------------------------------
|