Hamlib/rigs/racal/ra37xx.h

92 wiersze
3.3 KiB
C

/*
* Hamlib Racal backend - RA37XX header
* Copyright (c) 2004-2010 by Stephane Fillod
*
* 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
*
*/
#ifndef _RA37XX_H
#define _RA37XX_H 1
#include "hamlib/rig.h"
#include "racal.h"
#undef BACKEND_VER
#define BACKEND_VER "20210911"
extern const struct confparams ra37xx_cfg_params[];
/* Packet timeout at Master port, 5-9 */
#define RA37XX_TIMEOUT 1000 /* ms */
#define RA37XX_STR_CAL { 13, \
{ \
{ 97, 86 }, /* 120 dBuV */ \
{ 109, 76 }, /* 110 dBuV */ \
{ 120, 66 }, /* 100 dBuV */ \
{ 132, 56 }, /* 90 dBuV */ \
{ 144, 46 }, /* 80 dBuV */ \
{ 155, 36 }, /* 70 dBuV */ \
{ 167, 26 }, /* 60 dBuV */ \
{ 179, 16 }, /* 50 dBuV */ \
{ 190, 6 }, /* 40 dBuV */ \
{ 202, -4 }, /* 30 dBuV */ \
{ 214, -14 }, /* 20 dBuV */ \
{ 225, -24 }, /* 10 dBuV */ \
{ 255, -34 }, /* 0 dBuV */ \
} }
#define RA37XX_MEM_CAP { \
.freq = 1, \
.mode = 1, \
.width = 1, \
.levels = RIG_LEVEL_AGC|RIG_LEVEL_CWPITCH, \
/* .flags = 1, */ \
}
struct ra37xx_priv_data {
int receiver_id;
};
int ra37xx_set_conf(RIG *rig, hamlib_token_t token, const char *val);
int ra37xx_get_conf(RIG *rig, hamlib_token_t token, char *val);
int ra37xx_init(RIG *rig);
int ra37xx_cleanup(RIG *rig);
int ra37xx_open(RIG *rig);
int ra37xx_close(RIG *rig);
int ra37xx_set_freq(RIG *rig, vfo_t vfo, freq_t freq);
int ra37xx_get_freq(RIG *rig, vfo_t vfo, freq_t *freq);
int ra37xx_set_mode(RIG *rig, vfo_t vfo, rmode_t mode, pbwidth_t width);
int ra37xx_get_mode(RIG *rig, vfo_t vfo, rmode_t *mode, pbwidth_t *width);
int ra37xx_set_func(RIG *rig, vfo_t vfo, setting_t func, int status);
int ra37xx_get_func(RIG *rig, vfo_t vfo, setting_t func, int *status);
int ra37xx_set_level(RIG *rig, vfo_t vfo, setting_t level, value_t val);
int ra37xx_get_level(RIG *rig, vfo_t vfo, setting_t level, value_t *val);
const char* ra37xx_get_info(RIG *rig);
int ra37xx_set_ant(RIG *rig, vfo_t vfo, ant_t ant, value_t option);
int ra37xx_get_ant(RIG *rig, vfo_t vfo, ant_t dummy, value_t *option, ant_t *ant_curr, ant_t *ant_tx, ant_t *ant_rx);
int ra37xx_set_mem(RIG *rig, vfo_t vfo, int ch);
int ra37xx_get_mem(RIG *rig, vfo_t vfo, int *ch);
int ra37xx_scan(RIG *rig, vfo_t vfo, scan_t scan, int ch);
int ra37xx_vfo_op(RIG *rig, vfo_t vfo, vfo_op_t op);
#endif /* _RA37XX_H */