Update Doxygen comments in riglist.h

Create a new topic group of 'riglist' to separate the long list of radio
models from the main Rig API group.
pull/1814/head
Nate Bargmann 2025-07-26 08:53:15 -05:00
rodzic d2025477be
commit f67a3cfe47
Nie znaleziono w bazie danych klucza dla tego podpisu
ID klucza GPG: FB2C5130D55A8819
2 zmienionych plików z 456 dodań i 45 usunięć

Wyświetl plik

@ -190,6 +190,7 @@ GNU/Linux.
/*! Define groups for Doxygen
* \defgroup rig Rig (transceiver) API
* \defgroup riglist Rig (radio) Model List
* \defgroup rig_internal Rig (transceiver) Internal API
* \defgroup rotator Rotator API
* \defgroup rot_internal Rotator Internal API

Wyświetl plik

@ -19,42 +19,52 @@
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*
*/
/* SPDX-License-Identifier: LGPL-2.1-or-later */
#ifndef _RIGLIST_H
#define _RIGLIST_H 1
//! @cond Doxygen_Suppress
// The rig model number is designed to fit in a 32-bit int
// As of 2024-07-14 we have 39 backends defined -- need to be careful about generating new ones
// Perhaps combine them under a MISC entry should work
// As of 2020-02-18 we have 33 backends defined
// With a max of 1000 models per backend we get total a model number range of 1001-33001
// This MAX was 100 prior to 2020-02-18 and Icom was close to running out of the 100 range
#define MAX_MODELS_PER_BACKEND 1000
#define RIG_MAKE_MODEL(a,b) (MAX_MODELS_PER_BACKEND*(a)+(b))
#define RIG_BACKEND_NUM(a) ((a)/MAX_MODELS_PER_BACKEND)
//! @endcond
/*! \file riglist.h
* \brief Hamlib rig(radio) model definitions.
*
* This file contains rig model definitions for the Hamlib rig API. Each
* distinct rig type has a unique model number (ID) and is used by hamlib to
* identify and distinguish between the different hardware drivers. The
* exact model numbers can be acquired using the macros in this file. To
* obtain a list of supported rig branches, one can use the statically
* defined RIG_BACKEND_LIST macro. To obtain a full list of supported rig
* (including each model in every branch), the foreach_opened_rig() API
* function can be used.
*
* The model number, or ID, is used to tell hamlib, which rig the client
* whishes to use. It is done with the rig_init() API call.
/**
* \addtogroup riglist
* @{
*/
/**
* \def RIG_MODEL_NONE
* \brief Hamlib rig (radio) model definitions.
*
* \file riglist.h
*
* This file contains rig (radio) model definitions for the Hamlib rig API.
* Each distinct rig type has a unique model number (ID) and is used by Hamlib
* to identify and distinguish between the different hardware drivers. The
* exact model numbers can be acquired using the macros in this file. To obtain
* a list of supported rig branches, one can use the statically defined
* RIG_BACKEND_LIST macro. To obtain a full list of supported rig (including
* each model in every branch), the foreach_opened_rig() API function can be
* used.
*
* The model number, or ID, is used to tell Hamlib, which rig the client
* wishes to use. It is done with the rig_init() API call.
*/
/** Number of models per backend family. */
#define MAX_MODELS_PER_BACKEND 1000
/**
* \brief The rig model number is held in an unsigned 32-bit integer.
*
* Model numbers are a simple decimal value that increments by a value of
* 1000 for each backend, e.g. the `DUMMY` backend has model numbers 1
* to 1000, the `YAESU` backend has model numbers 1001 to 1100 and so on.
*
* \sa rig_model_t
*/
#define RIG_MAKE_MODEL(a,b) (MAX_MODELS_PER_BACKEND*(a)+(b))
/** Convenience macro to derive the backend family number from the model number. */
#define RIG_BACKEND_NUM(a) ((a)/MAX_MODELS_PER_BACKEND)
/**
* \brief A macro that returns the model number for an unknown model.
*
* The none backend, as the name suggests, does nothing. It is mainly for
@ -62,23 +72,32 @@
*/
#define RIG_MODEL_NONE 0
/*! \def RIG_MODEL_DUMMY
* \brief A macro that returns the model number for the dummy backend.
/**
* \brief The `DUMMY` family.
*
* The dummy backend, as the name suggests, is a backend which performs no
* It has also been expanded to provide support to "virtual" type of rigs such
* as the network rig control backend and W1HKJ's Flrig application and many
* more, especially SDR (Software Defined Radio) applications.
*/
#define RIG_DUMMY 0
/** Used in register.c for the `be_name`. */
#define RIG_BACKEND_DUMMY "dummy"
/**
* \brief A macro that returns the model number for `DUMMY`.
*
* The `DUMMY model, as the name suggests, is a model which performs no
* hardware operations and always behaves as one would expect. It can be
* thought of as a hardware simulator and is very useful for testing client
* applications.
*
* It has also been expanded to provide support to "virtual" type of rigs
* such as the network rig control backend and W1HKJ's Flrig application.
*/
//! @cond Doxygen_Suppress
#define RIG_DUMMY 0
#define RIG_BACKEND_DUMMY "dummy"
//! @endcond
#define RIG_MODEL_DUMMY RIG_MAKE_MODEL(RIG_DUMMY, 1)
//! @cond Doxygen_Suppress
/**
* \name NETWORK
* Network models.
*/
///@{
/// Model of the `RIG_DUMMY` backend family.
#define RIG_MODEL_NETRIGCTL RIG_MAKE_MODEL(RIG_DUMMY, 2)
#define RIG_MODEL_ARMSTRONG RIG_MAKE_MODEL(RIG_DUMMY, 3)
#define RIG_MODEL_FLRIG RIG_MAKE_MODEL(RIG_DUMMY, 4)
@ -89,12 +108,22 @@
#define RIG_MODEL_SDRSHARP RIG_MAKE_MODEL(RIG_DUMMY, 9)
#define RIG_MODEL_QUISK RIG_MAKE_MODEL(RIG_DUMMY, 10)
#define RIG_MODEL_GQRX RIG_MAKE_MODEL(RIG_DUMMY, 11)
///@}
/*
* Yaesu
*/
/** The `YAESU` family. */
#define RIG_YAESU 1
/** Used in register.c for the `be_name`. */
#define RIG_BACKEND_YAESU "yaesu"
/**
* \name YAESU
* Yaesu models.
*/
///@{
/// Model of the `RIG_YAESU` backend family.
#define RIG_MODEL_FT847 RIG_MAKE_MODEL(RIG_YAESU, 1)
#define RIG_MODEL_FT1000 RIG_MAKE_MODEL(RIG_YAESU, 2)
#define RIG_MODEL_FT1000D RIG_MAKE_MODEL(RIG_YAESU, 3)
@ -146,12 +175,22 @@
#define RIG_MODEL_FT710 RIG_MAKE_MODEL(RIG_YAESU, 49)
#define RIG_MODEL_FT9000OLD RIG_MAKE_MODEL(RIG_YAESU, 50)
#define RIG_MODEL_FTX1 RIG_MAKE_MODEL(RIG_YAESU, 51)
///@}
/*
* Kenwood
*/
/** The `KENWOOD` family. */
#define RIG_KENWOOD 2
/** Used in register.c for the `be_name`. */
#define RIG_BACKEND_KENWOOD "kenwood"
/**
* \name KENWOOD
* Kenwood models.
*/
///@{
/// Model of the `RIG_KENWOOD` backend family.
#define RIG_MODEL_TS50 RIG_MAKE_MODEL(RIG_KENWOOD, 1)
#define RIG_MODEL_TS440 RIG_MAKE_MODEL(RIG_KENWOOD, 2)
#define RIG_MODEL_TS450S RIG_MAKE_MODEL(RIG_KENWOOD, 3)
@ -209,12 +248,22 @@
#define RIG_MODEL_TRUSDX RIG_MAKE_MODEL(RIG_KENWOOD, 55)
#define RIG_MODEL_SDRCONSOLE RIG_MAKE_MODEL(RIG_KENWOOD, 56)
#define RIG_MODEL_QRPLABS_QMX RIG_MAKE_MODEL(RIG_KENWOOD,57)
///@}
/*
* Icom
*/
/** The `ICOM` family. */
#define RIG_ICOM 3
/** Used in register.c for the `be_name`. */
#define RIG_BACKEND_ICOM "icom"
/**
* \name ICOM
* Icom models.
*/
///@{
/// Model of the `RIG_ICOM` backend family.
#define RIG_MODEL_IC1271 RIG_MAKE_MODEL(RIG_ICOM, 1)
#define RIG_MODEL_IC1275 RIG_MAKE_MODEL(RIG_ICOM, 2)
#define RIG_MODEL_IC271 RIG_MAKE_MODEL(RIG_ICOM, 3)
@ -315,22 +364,42 @@
#define RIG_MODEL_OMNIVIP RIG_MAKE_MODEL(RIG_ICOM, 51) /* OMNI-VI+ */
#define RIG_MODEL_PARAGON2 RIG_MAKE_MODEL(RIG_ICOM, 59)
#define RIG_MODEL_DELTAII RIG_MAKE_MODEL(RIG_ICOM, 64)
///@}
/*
* Icom PCR
*/
/** The `PCR` family. */
#define RIG_PCR 4
/** Used in register.c for the `be_name`. */
#define RIG_BACKEND_PCR "pcr"
/**
* \name PCR
* PCR models.
*/
///@{
/// Model of the `RIG_PCR` backend family.
#define RIG_MODEL_PCR1000 RIG_MAKE_MODEL(RIG_PCR, 1)
#define RIG_MODEL_PCR100 RIG_MAKE_MODEL(RIG_PCR, 2)
#define RIG_MODEL_PCR1500 RIG_MAKE_MODEL(RIG_PCR, 3)
#define RIG_MODEL_PCR2500 RIG_MAKE_MODEL(RIG_PCR, 4)
///@}
/*
* AOR
*/
/** The `AOR` family. */
#define RIG_AOR 5
/** Used in register.c for the `be_name`. */
#define RIG_BACKEND_AOR "aor"
/**
* \name AOR
* AOR models.
*/
///@{
/// Model of the `RIG_AOR` backend family.
#define RIG_MODEL_AR8200 RIG_MAKE_MODEL(RIG_AOR, 1)
#define RIG_MODEL_AR8000 RIG_MAKE_MODEL(RIG_AOR, 2)
#define RIG_MODEL_AR7030 RIG_MAKE_MODEL(RIG_AOR, 3)
@ -347,12 +416,22 @@
#define RIG_MODEL_AR5000A RIG_MAKE_MODEL(RIG_AOR, 14)
#define RIG_MODEL_AR7030P RIG_MAKE_MODEL(RIG_AOR, 15)
#define RIG_MODEL_SR2200 RIG_MAKE_MODEL(RIG_AOR, 16)
///@}
/*
* JRC
*/
/** The `JRC` family. */
#define RIG_JRC 6
/** Used in register.c for the `be_name`. */
#define RIG_BACKEND_JRC "jrc"
/**
* \name JRC
* JRC models.
*/
///@{
/// Model of the `RIG_JRC` backend family.
#define RIG_MODEL_JST145 RIG_MAKE_MODEL(RIG_JRC, 1)
#define RIG_MODEL_JST245 RIG_MAKE_MODEL(RIG_JRC, 2)
#define RIG_MODEL_CMH530 RIG_MAKE_MODEL(RIG_JRC, 3)
@ -360,25 +439,45 @@
#define RIG_MODEL_NRD525 RIG_MAKE_MODEL(RIG_JRC, 5)
#define RIG_MODEL_NRD535 RIG_MAKE_MODEL(RIG_JRC, 6)
#define RIG_MODEL_NRD545 RIG_MAKE_MODEL(RIG_JRC, 7)
///@}
/*
* Radio Shack
* Actually, they might be either Icom or Uniden. TBC --SF
*/
/** The `RADIOSHACK` family. */
#define RIG_RADIOSHACK 7
/** Used in register.c for the `be_name`. */
#define RIG_BACKEND_RADIOSHACK "radioshack"
/**
* \name RADIOSHACK
* RadioShack models.
*/
///@{
/// Model of the `RIG_RADIOSHACK` backend family.
#define RIG_MODEL_RS64 RIG_MAKE_MODEL(RIG_RADIOSHACK, 1) /* PRO-64 */
#define RIG_MODEL_RS2005 RIG_MAKE_MODEL(RIG_RADIOSHACK, 2) /* w/ OptoElectronics OS456 Board */
#define RIG_MODEL_RS2006 RIG_MAKE_MODEL(RIG_RADIOSHACK, 3) /* w/ OptoElectronics OS456 Board */
#define RIG_MODEL_RS2035 RIG_MAKE_MODEL(RIG_RADIOSHACK, 4) /* w/ OptoElectronics OS435 Board */
#define RIG_MODEL_RS2042 RIG_MAKE_MODEL(RIG_RADIOSHACK, 5) /* w/ OptoElectronics OS435 Board */
#define RIG_MODEL_RS2041 RIG_MAKE_MODEL(RIG_RADIOSHACK, 6) /* PRO-2041 */
///@}
/*
* Uniden
*/
/** The `UNIDEN` family. */
#define RIG_UNIDEN 8
/** Used in register.c for the `be_name`. */
#define RIG_BACKEND_UNIDEN "uniden"
/**
* \name UNIDEN
* Uniden models.
*/
///@{
/// Model of the `RIG_UNIDEN` backend family.
#define RIG_MODEL_BC780 RIG_MAKE_MODEL(RIG_UNIDEN, 1) /* Uniden BC780 - Trunk Tracker "Desktop Radio" */
#define RIG_MODEL_BC245 RIG_MAKE_MODEL(RIG_UNIDEN, 2)
#define RIG_MODEL_BC895 RIG_MAKE_MODEL(RIG_UNIDEN, 3)
@ -391,73 +490,143 @@
#define RIG_MODEL_BCD396T RIG_MAKE_MODEL(RIG_UNIDEN, 10)
#define RIG_MODEL_BCD996T RIG_MAKE_MODEL(RIG_UNIDEN, 11)
#define RIG_MODEL_BC898 RIG_MAKE_MODEL(RIG_UNIDEN, 12)
///@}
/*
* Drake
*/
/** The `DRAKE` family. */
#define RIG_DRAKE 9
/** Used in register.c for the `be_name`. */
#define RIG_BACKEND_DRAKE "drake"
/**
* \name DRAKE
* Drake models.
*/
///@{
/// Model of the `RIG_DRAKE` backend family.
#define RIG_MODEL_DKR8 RIG_MAKE_MODEL(RIG_DRAKE, 1)
#define RIG_MODEL_DKR8A RIG_MAKE_MODEL(RIG_DRAKE, 2)
#define RIG_MODEL_DKR8B RIG_MAKE_MODEL(RIG_DRAKE, 3)
///@}
/*
* Lowe
*/
/** The `LOWE` family. */
#define RIG_LOWE 10
/** Used in register.c for the `be_name`. */
#define RIG_BACKEND_LOWE "lowe"
/**
* \name LOWE
* Lowe models.
*/
///@{
/// Model of the `RIG_LOWE` backend family.
#define RIG_MODEL_HF150 RIG_MAKE_MODEL(RIG_LOWE, 1)
#define RIG_MODEL_HF225 RIG_MAKE_MODEL(RIG_LOWE, 2)
#define RIG_MODEL_HF250 RIG_MAKE_MODEL(RIG_LOWE, 3)
#define RIG_MODEL_HF235 RIG_MAKE_MODEL(RIG_LOWE, 4)
///@}
/*
* Racal
*/
/** The `RACAL` family. */
#define RIG_RACAL 11
/** Used in register.c for the `be_name`. */
#define RIG_BACKEND_RACAL "racal"
/**
* \name RACAL
* Racal models.
*/
///@{
/// Model of the `RIG_RACAL` backend family.
#define RIG_MODEL_RA3790 RIG_MAKE_MODEL(RIG_RACAL, 1)
#define RIG_MODEL_RA3720 RIG_MAKE_MODEL(RIG_RACAL, 2)
#define RIG_MODEL_RA6790 RIG_MAKE_MODEL(RIG_RACAL, 3)
#define RIG_MODEL_RA3710 RIG_MAKE_MODEL(RIG_RACAL, 4)
#define RIG_MODEL_RA3702 RIG_MAKE_MODEL(RIG_RACAL, 5)
///@}
/*
* Watkins-Johnson
*/
/** The `WJ` family. */
#define RIG_WJ 12
/** Used in register.c for the `be_name`. */
#define RIG_BACKEND_WJ "wj"
/**
* \name WJ
* Watkins-Johnson models.
*/
///@{
/// Model of the `RIG_WJ` backend family.
#define RIG_MODEL_HF1000 RIG_MAKE_MODEL(RIG_WJ, 1)
#define RIG_MODEL_HF1000A RIG_MAKE_MODEL(RIG_WJ, 2)
#define RIG_MODEL_WJ8711 RIG_MAKE_MODEL(RIG_WJ, 3)
#define RIG_MODEL_WJ8888 RIG_MAKE_MODEL(RIG_WJ, 4)
///@}
/*
* Rohde & Schwarz--ek
*/
/** The `EK` family. */
#define RIG_EK 13
/** Used in register.c for the `be_name`. */
#define RIG_BACKEND_EK "ek"
/**
* \name EK
* Rohde & Schwarz EK models.
*/
///@{
/// Model of the `RIG_EK` backend family.
#define RIG_MODEL_ESM500 RIG_MAKE_MODEL(RIG_EK, 1)
#define RIG_MODEL_EK890 RIG_MAKE_MODEL(RIG_EK, 2)
#define RIG_MODEL_EK891 RIG_MAKE_MODEL(RIG_EK, 3)
#define RIG_MODEL_EK895 RIG_MAKE_MODEL(RIG_EK, 4)
#define RIG_MODEL_EK070 RIG_MAKE_MODEL(RIG_EK, 5)
///@}
/*
* Skanti
*/
/** The `SKANTI` family. */
#define RIG_SKANTI 14
/** Used in register.c for the `be_name`. */
#define RIG_BACKEND_SKANTI "skanti"
/**
* \name SKANTI
* Skanti models.
*/
///@{
/// Model of the `RIG_SKANTI` backend family.
#define RIG_MODEL_TRP7000 RIG_MAKE_MODEL(RIG_SKANTI, 1)
#define RIG_MODEL_TRP8000 RIG_MAKE_MODEL(RIG_SKANTI, 2)
#define RIG_MODEL_TRP9000 RIG_MAKE_MODEL(RIG_SKANTI, 3)
#define RIG_MODEL_TRP8255 RIG_MAKE_MODEL(RIG_SKANTI, 4)
///@}
/*
* WiNRADiO/LinRADiO
*/
/** The `WINRADIO` family. */
#define RIG_WINRADIO 15
/** Used in register.c for the `be_name`. */
#define RIG_BACKEND_WINRADIO "winradio"
/**
* \name WINRADIO
* WiNRADiO/LinRADiO models.
*/
///@{
/// Model of the `RIG_WINRADIO` backend family.
#define RIG_MODEL_WR1000 RIG_MAKE_MODEL(RIG_WINRADIO, 1)
#define RIG_MODEL_WR1500 RIG_MAKE_MODEL(RIG_WINRADIO, 2)
#define RIG_MODEL_WR1550 RIG_MAKE_MODEL(RIG_WINRADIO, 3)
@ -469,12 +638,22 @@
#define RIG_MODEL_G313 RIG_MAKE_MODEL(RIG_WINRADIO, 9)
#define RIG_MODEL_G305 RIG_MAKE_MODEL(RIG_WINRADIO, 10)
#define RIG_MODEL_G315 RIG_MAKE_MODEL(RIG_WINRADIO, 11)
///@}
/*
* Ten Tec
*/
/** The `TENTEC` family. */
#define RIG_TENTEC 16
/** Used in register.c for the `be_name`. */
#define RIG_BACKEND_TENTEC "tentec"
/**
* \name TENTEC
* Ten Tec models.
*/
///@{
/// Model of the `RIG_TENTEC` backend family.
#define RIG_MODEL_TT550 RIG_MAKE_MODEL(RIG_TENTEC, 1) /* Pegasus */
#define RIG_MODEL_TT538 RIG_MAKE_MODEL(RIG_TENTEC, 2) /* Jupiter */
#define RIG_MODEL_RX320 RIG_MAKE_MODEL(RIG_TENTEC, 3)
@ -487,54 +666,114 @@
#define RIG_MODEL_TT588 RIG_MAKE_MODEL(RIG_TENTEC, 11) /* Omni-VII */
#define RIG_MODEL_RX331 RIG_MAKE_MODEL(RIG_TENTEC, 12)
#define RIG_MODEL_TT599 RIG_MAKE_MODEL(RIG_TENTEC, 13) /* Eagle */
///@}
/*
* Alinco
*/
/** The `ALINCO` family. */
#define RIG_ALINCO 17
/** Used in register.c for the `be_name`. */
#define RIG_BACKEND_ALINCO "alinco"
/**
* \name ALINCO
* Alinco models.
*/
///@{
/// Model of the `RIG_ALINCO` backend family.
#define RIG_MODEL_DX77 RIG_MAKE_MODEL(RIG_ALINCO, 1)
#define RIG_MODEL_DXSR8 RIG_MAKE_MODEL(RIG_ALINCO, 2)
///@}
/*
* Kachina
*/
/** The `KACHINA` family. */
#define RIG_KACHINA 18
/** Used in register.c for the `be_name`. */
#define RIG_BACKEND_KACHINA "kachina"
/**
* \name KACHINA
* Kachina model.
*/
///@{
/// Model of the `RIG_KACHINA` backend family.
#define RIG_MODEL_505DSP RIG_MAKE_MODEL(RIG_KACHINA, 1)
///@}
/*
* Gnuradio backend
*/
/** The `GNURADIO` family. */
#define RIG_GNURADIO 20
/** Used in register.c for the `be_name`. */
#define RIG_BACKEND_GNURADIO "gnuradio"
/**
* \name GNURADIO
* GNU Radio models.
*/
///@{
/// Model of the `RIG_GNURADIO` backend family.
#define RIG_MODEL_GNURADIO RIG_MAKE_MODEL(RIG_GNURADIO, 1) /* dev model, Chirp source */
#define RIG_MODEL_MC4020 RIG_MAKE_MODEL(RIG_GNURADIO, 2) /* MC4020 */
#define RIG_MODEL_GRAUDIO RIG_MAKE_MODEL(RIG_GNURADIO, 3) /* Sound card source */
#define RIG_MODEL_GRAUDIOIQ RIG_MAKE_MODEL(RIG_GNURADIO, 4) /* I&Q stereo sound card source */
#define RIG_MODEL_USRP_G RIG_MAKE_MODEL(RIG_GNURADIO, 5) /* Universal Software Radio Peripheral */
///@}
/*
* Microtune tuners
*/
/** The `MICROTUNE` family. */
#define RIG_MICROTUNE 21
/** Used in register.c for the `be_name`. */
#define RIG_BACKEND_MICROTUNE "microtune"
/**
* \name MICROTUNE
* Microtune models.
*/
///@{
/// Model of the `RIG_MICROTUNE` backend family.
#define RIG_MODEL_MICROTUNE_4937 RIG_MAKE_MODEL(RIG_MICROTUNE, 1) /* eval board */
#define RIG_MODEL_MICROTUNE_4702 RIG_MAKE_MODEL(RIG_MICROTUNE, 2) /* Alan's */
#define RIG_MODEL_MICROTUNE_4707 RIG_MAKE_MODEL(RIG_MICROTUNE, 3)
///@}
/*
* TAPR
*/
/** The `TAPR` family. */
#define RIG_TAPR 22
/** Used in register.c for the `be_name`. */
#define RIG_BACKEND_TAPR "tapr"
/**
* \name TAPR
* TAPR model.
*/
///@{
/// Model of the `RIG_TAPR` backend family.
#define RIG_MODEL_DSP10 RIG_MAKE_MODEL(RIG_TAPR, 1)
///@}
/*
* Flex-radio
*/
/** The `FLEXRADIO` family. */
#define RIG_FLEXRADIO 23
/** Used in register.c for the `be_name`. */
#define RIG_BACKEND_FLEXRADIO "flexradio"
/**
* \name FLEXRADIO
* FlexRadio models.
*/
///@{
/// Model of the `RIG_FLEXRADIO` backend family.
#define RIG_MODEL_SDR1000 RIG_MAKE_MODEL(RIG_FLEXRADIO, 1)
#define RIG_MODEL_SDR1000RFE RIG_MAKE_MODEL(RIG_FLEXRADIO, 2)
#define RIG_MODEL_DTTSP RIG_MAKE_MODEL(RIG_FLEXRADIO, 3)
@ -547,19 +786,39 @@
#define RIG_MODEL_SMARTSDR_F RIG_MAKE_MODEL(RIG_FLEXRADIO, 10)
#define RIG_MODEL_SMARTSDR_G RIG_MAKE_MODEL(RIG_FLEXRADIO, 11)
#define RIG_MODEL_SMARTSDR_H RIG_MAKE_MODEL(RIG_FLEXRADIO, 12)
///@}
/*
* VEB Funkwerk Köpenick RFT
*/
/** The `RFT` family. */
#define RIG_RFT 24
/** Used in register.c for the `be_name`. */
#define RIG_BACKEND_RFT "rft"
/**
* \name RFT
* VEB Funkwerk Köpenick RFT model.
*/
///@{
/// Model of the `RIG_RFT` backend family.
#define RIG_MODEL_EKD500 RIG_MAKE_MODEL(RIG_RFT, 1)
///@}
/*
* Various kits
*/
/** The `KIT` family. */
#define RIG_KIT 25
/** Used in register.c for the `be_name`. */
#define RIG_BACKEND_KIT "kit"
/**
* \name KIT
* Various kit models.
*/
///@{
/// Model of the `RIG_KIT` backend family.
#define RIG_MODEL_ELEKTOR304 RIG_MAKE_MODEL(RIG_KIT, 1)
#define RIG_MODEL_DRT1 RIG_MAKE_MODEL(RIG_KIT, 2)
#define RIG_MODEL_DWT RIG_MAKE_MODEL(RIG_KIT, 3)
@ -579,100 +838,213 @@
#define RIG_MODEL_SI570PEABERRY2 RIG_MAKE_MODEL(RIG_KIT, 17) /* Peaberry V2 */
#define RIG_MODEL_FUNCUBEDONGLEPLUS RIG_MAKE_MODEL(RIG_KIT, 18) /* FunCUBE Dongle Pro+ */
#define RIG_MODEL_RSHFIQ RIG_MAKE_MODEL(RIG_KIT, 19) /* RS-HFIQ */
///@}
/*
* SW/FM/TV tuner cards supported by Video4Linux,*BSD, ..
*/
/** The `TUNER` family. */
#define RIG_TUNER 26
/** Used in register.c for the `be_name`. */
#define RIG_BACKEND_TUNER "tuner"
/**
* \name TUNER
* Tuner models.
*/
///@{
/// Model of the `RIG_TUNER` backend family.
#define RIG_MODEL_V4L RIG_MAKE_MODEL(RIG_TUNER, 1)
#define RIG_MODEL_V4L2 RIG_MAKE_MODEL(RIG_TUNER, 2)
///@}
/*
* Rohde & Schwarz--rs
*/
/** The `RS` family. */
#define RIG_RS 27
/** Used in register.c for the `be_name`. */
#define RIG_BACKEND_RS "rs"
/**
* \name RS
* Rohde & Schwarz RS models.
*/
///@{
/// Model of the `RIG_RS` backend family.
#define RIG_MODEL_ESMC RIG_MAKE_MODEL(RIG_RS, 1)
#define RIG_MODEL_EB200 RIG_MAKE_MODEL(RIG_RS, 2)
#define RIG_MODEL_XK2100 RIG_MAKE_MODEL(RIG_RS, 3)
#define RIG_MODEL_EK89X RIG_MAKE_MODEL(RIG_RS, 4)
#define RIG_MODEL_XK852 RIG_MAKE_MODEL(RIG_RS, 5)
///@}
/*
* Phillips/Simoco PRM80
*/
/** The `PRM80` family. */
#define RIG_PRM80 28
/** Used in register.c for the `be_name`. */
#define RIG_BACKEND_PRM80 "prm80"
/**
* \name PRM80
* Phillips/Simoco PRM80 models.
*/
///@{
/// Model of the `RIG_PRM80` backend family.
#define RIG_MODEL_PRM8060 RIG_MAKE_MODEL(RIG_PRM80, 1)
#define RIG_MODEL_PRM8070 RIG_MAKE_MODEL(RIG_PRM80, 2)
///@}
/*
* ADAT by HB9CBU
*
* ADDED: frgo (DG1SBG), 2012-01-01
*/
/** The `ADAT` family. */
#define RIG_ADAT 29
/** Used in register.c for the `be_name`. */
#define RIG_BACKEND_ADAT "adat"
/**
* \name ADAT
* ADAT by HB9CBU model.
*/
///@{
/// Model of the `RIG_ADAT` backend family.
#define RIG_MODEL_ADT_200A RIG_MAKE_MODEL(RIG_ADAT, 1)
///@}
/*
* ICOM Marine
*/
/** The `ICMARINE` family. */
#define RIG_ICMARINE 30
/** Used in register.c for the `be_name`. */
#define RIG_BACKEND_ICMARINE "icmarine"
/**
* \name ICMARINE
* Icom Marine models.
*/
///@{
/// Model of the `RIG_ICMARINE` backend family.
#define RIG_MODEL_IC_M700PRO RIG_MAKE_MODEL(RIG_ICMARINE, 1)
#define RIG_MODEL_IC_M802 RIG_MAKE_MODEL(RIG_ICMARINE, 2)
#define RIG_MODEL_IC_M710 RIG_MAKE_MODEL(RIG_ICMARINE, 3)
#define RIG_MODEL_IC_M803 RIG_MAKE_MODEL(RIG_ICMARINE, 4)
///@}
/*
* Dorji transceiver modules
*/
/** The `DORJI` family. */
#define RIG_DORJI 31
/** Used in register.c for the `be_name`. */
#define RIG_BACKEND_DORJI "dorji"
/**
* \name DORJI
* Dorji models.
*/
///@{
/// Model of the `RIG_DORJI` backend family.
#define RIG_MODEL_DORJI_DRA818V RIG_MAKE_MODEL(RIG_DORJI, 1)
#define RIG_MODEL_DORJI_DRA818U RIG_MAKE_MODEL(RIG_DORJI, 2)
///@}
/*
* Barrett
*/
/** The `BARRET` family. */
#define RIG_BARRETT 32
/** Used in register.c for the `be_name`. */
#define RIG_BACKEND_BARRETT "barrett"
/**
* \name BARRET
* Barret models.
*/
///@{
/// Model of the `RIG_BARRETT` backend family.
#define RIG_MODEL_BARRETT_2050 RIG_MAKE_MODEL(RIG_BARRETT, 1)
#define RIG_MODEL_BARRETT_950 RIG_MAKE_MODEL(RIG_BARRETT, 2)
#define RIG_MODEL_BARRETT_4050 RIG_MAKE_MODEL(RIG_BARRETT, 3)
#define RIG_MODEL_BARRETT_4100 RIG_MAKE_MODEL(RIG_BARRETT, 4)
///@}
/*
* Elad
*/
/** The `ELAD` family. */
#define RIG_ELAD 33
/** Used in register.c for the `be_name`. */
#define RIG_BACKEND_ELAD "elad"
/**
* \name ELAD
* Elad model.
*/
///@{
/// Model of the `RIG_ELAD` backend family.
#define RIG_MODEL_ELAD_FDM_DUO RIG_MAKE_MODEL(RIG_ELAD, 1)
///@}
/*
* CODAN
*/
/** The `CODAN` family. */
#define RIG_CODAN 34
/** Used in register.c for the `be_name`. */
#define RIG_BACKEND_CODAN "codan"
/**
* \name CODAN
* Codan models.
*/
///@{
/// Model of the `RIG_CODAN` backend family.
#define RIG_MODEL_CODAN_ENVOY RIG_MAKE_MODEL(RIG_CODAN, 1)
#define RIG_MODEL_CODAN_NGT RIG_MAKE_MODEL(RIG_CODAN, 2)
#define RIG_MODEL_CODAN_2110 RIG_MAKE_MODEL(RIG_CODAN, 3)
///@}
/*
* Gomspace
*/
/** The `GOMSPACE` family. */
#define RIG_GOMSPACE 35
/** Used in register.c for the `be_name`. */
#define RIG_BACKEND_GOMSPACE "gomspace"
/**
* \name GOMSPACE
* GomSpace model.
*/
///@{
/// Model of the `RIG_GOMSPACE` backend family.
#define RIG_MODEL_GS100 RIG_MAKE_MODEL(RIG_GOMSPACE, 1)
///@}
/*
* MDS Microwave Data Systems https://en.wikipedia.org/wiki/Microwave_Data_Systems
*/
/** The `MDS` family. */
#define RIG_MDS 36
/** Used in register.c for the `be_name`. */
#define RIG_BACKEND_MDS "MDS"
/**
* \name MDS
* Microwave Data Systems models.
*/
///@{
/// Model of the `RIG_MDS` backend family.
#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
@ -683,37 +1055,73 @@
/*
* AnyTone rigs
*/
/** The `ANYTONE` family. */
#define RIG_ANYTONE 37
/** Used in register.c for the `be_name`. */
#define RIG_BACKEND_ANYTONE "AnyTone"
/**
* \name ANYTONE
* AnyTone model.
*/
///@{
/// Model of the `RIG_ANYTONE` backend family.
#define RIG_MODEL_ATD578UVIII RIG_MAKE_MODEL(RIG_ANYTONE, 1)
///@}
/*
* Motorola rigs
*/
/** The `MOTOROLA` family. */
#define RIG_MOTOROLA 38
/** Used in register.c for the `be_name`. */
#define RIG_BACKEND_MOTOROLA "Motorola"
/**
* \name MOTOROLA
* Motorola model.
*/
///@{
/// Model of the `RIG_MOTOROLA` backend family.
#define RIG_MODEL_MICOM2 RIG_MAKE_MODEL(RIG_MOTOROLA, 1)
///@}
/*
* Commradio / AeroStream Communications
*/
/** The `COMMRADIO` family. */
#define RIG_COMMRADIO 39
/** Used in register.c for the `be_name`. */
#define RIG_BACKEND_COMMRADIO "commradio"
/**
* \name COMMRADIO
* Commradio / AeroStream Communications model.
*/
///@{
/// Model of the `RIG_COMMRADIO` backend family.
#define RIG_MODEL_CTX10 RIG_MAKE_MODEL(RIG_COMMRADIO, 1)
///@}
/*
* GUOHETEC
*/
/** The `GUOHETEC` family. */
#define RIG_GUOHETEC 40
/** Used in register.c for the `be_name`. */
#define RIG_BACKEND_GUOHETEC "guohetec"
/**
* \name GUOHETEC
* GUOHETEC models.
*/
///@{
/// Model of the `RIG_GUOHETEC` backend family.
#define RIG_MODEL_PMR171 RIG_MAKE_MODEL(RIG_GUOHETEC, 1)
#define RIG_MODEL_Q900 RIG_MAKE_MODEL(RIG_GUOHETEC, 2)
///@}
//! @endcond
/*! \typedef typedef int rig_model_t
\brief Convenience type definition for rig model.
*/
/** Convenience type definition for rig model. */
typedef uint32_t rig_model_t;
@ -729,3 +1137,5 @@ typedef uint32_t rig_model_t;
*/
#endif /* _RIGLIST_H */
/** @} */