2019-06-12 20:52:35 +00:00
|
|
|
/*
|
|
|
|
* Hamlib Interface - list of known amplifiers
|
|
|
|
* Copyright (c) 2000-2011 by Stephane Fillod
|
|
|
|
* Copyright (c) 2000-2002 by Frank Singleton
|
|
|
|
* Copyright (C) 2019 by Michael Black W9MDB. Derived from rotlist.h
|
|
|
|
*
|
|
|
|
*
|
|
|
|
* 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 _AMPLIST_H
|
|
|
|
#define _AMPLIST_H 1
|
|
|
|
|
2020-04-09 22:56:19 +00:00
|
|
|
//! @cond Doxygen_Suppress
|
2019-06-12 20:52:35 +00:00
|
|
|
#define AMP_MAKE_MODEL(a,b) ((a)*100+(b))
|
|
|
|
#define AMP_BACKEND_NUM(a) ((a)/100)
|
2021-02-08 02:10:50 +00:00
|
|
|
//! @endcond
|
2019-06-12 20:52:35 +00:00
|
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
* \addtogroup amplifier
|
|
|
|
* @{
|
|
|
|
*/
|
|
|
|
|
|
|
|
/**
|
2021-02-12 18:46:01 +00:00
|
|
|
* \brief Hamlib amplifier model definitions.
|
2019-06-12 20:52:35 +00:00
|
|
|
*
|
2021-02-12 18:46:01 +00:00
|
|
|
* \file amplist.h
|
2019-06-12 20:52:35 +00:00
|
|
|
*
|
2021-02-12 18:46:01 +00:00
|
|
|
* This file contains amplifier model definitions for the Hamlib amplifier
|
|
|
|
* Application Programming Interface (API). Each distinct amplifier 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 amplifier branches, one can use the statically defined
|
2021-02-19 02:44:53 +00:00
|
|
|
* AMP_BACKEND_LIST macro (defined in configure.ac). To obtain a full list of
|
|
|
|
* supported amplifiers (including each model in every branch), the
|
|
|
|
* foreach_opened_amp() API function can be used.
|
2021-02-12 18:46:01 +00:00
|
|
|
*
|
|
|
|
* The model number, or ID, is used to tell Hamlib which amplifier the client
|
2021-02-19 02:44:53 +00:00
|
|
|
* wishes to use which is done with the amp_init() API call.
|
2019-06-12 20:52:35 +00:00
|
|
|
*/
|
|
|
|
|
|
|
|
|
2021-02-19 02:44:53 +00:00
|
|
|
/**
|
|
|
|
* \brief A macro that returns the model number for an unknown model.
|
|
|
|
*
|
|
|
|
* \def AMP_MODEL_NONE
|
|
|
|
*
|
|
|
|
* The none backend, as the name suggests, does nothing. It is mainly for
|
|
|
|
* internal use.
|
|
|
|
*/
|
2019-06-12 20:52:35 +00:00
|
|
|
#define AMP_MODEL_NONE 0
|
|
|
|
|
|
|
|
|
|
|
|
/**
|
2021-02-19 02:44:53 +00:00
|
|
|
* \brief A macro that returns the model number for the DUMMY backend.
|
2021-02-12 18:46:01 +00:00
|
|
|
*
|
|
|
|
* \def AMP_MODEL_DUMMY
|
2019-06-12 20:52:35 +00:00
|
|
|
*
|
2021-02-19 02:44:53 +00:00
|
|
|
* The DUMMY backend, as the name suggests, is a backend which performs no
|
|
|
|
* hardware operations and always behaves as one would expect. It can be
|
2021-02-12 18:46:01 +00:00
|
|
|
* thought of as a hardware simulator and is very useful for testing client
|
|
|
|
* applications.
|
2021-02-19 02:44:53 +00:00
|
|
|
*/
|
|
|
|
/**
|
|
|
|
* \brief A macro that returns the model number for the NETAMPCTL backend.
|
2021-02-08 02:10:50 +00:00
|
|
|
*
|
2021-02-12 18:46:01 +00:00
|
|
|
* \def AMP_MODEL_NETAMPCTL
|
2019-06-12 20:52:35 +00:00
|
|
|
*
|
2021-02-19 02:44:53 +00:00
|
|
|
* The NETAMPCTL backend allows use of the `ampctld` daemon through the normal
|
2021-02-12 18:46:01 +00:00
|
|
|
* Hamlib API.
|
2019-06-12 20:52:35 +00:00
|
|
|
*/
|
2021-02-08 02:10:50 +00:00
|
|
|
//! @cond Doxygen_Suppress
|
2019-06-12 20:52:35 +00:00
|
|
|
#define AMP_DUMMY 0
|
|
|
|
#define AMP_BACKEND_DUMMY "dummy"
|
2021-02-08 02:10:50 +00:00
|
|
|
//! @endcond
|
2019-06-12 20:52:35 +00:00
|
|
|
#define AMP_MODEL_DUMMY AMP_MAKE_MODEL(AMP_DUMMY, 1)
|
|
|
|
#define AMP_MODEL_NETAMPCTL AMP_MAKE_MODEL(AMP_DUMMY, 2)
|
|
|
|
|
|
|
|
|
|
|
|
/**
|
2021-02-19 02:44:53 +00:00
|
|
|
* \brief A macro that returns the model number of the KPA1500 backend.
|
2019-06-12 20:52:35 +00:00
|
|
|
*
|
2021-02-12 18:46:01 +00:00
|
|
|
* \def AMP_MODEL_ELECRAFT_KPA1500
|
|
|
|
*
|
2021-02-19 02:44:53 +00:00
|
|
|
* The KPA1500 backend can be used with amplifiers that support the Elecraft
|
2021-02-12 18:46:01 +00:00
|
|
|
* KPA-1500 protocol.
|
2019-06-12 20:52:35 +00:00
|
|
|
*/
|
2021-02-08 02:10:50 +00:00
|
|
|
//! @cond Doxygen_Suppress
|
2019-06-12 20:52:35 +00:00
|
|
|
#define AMP_ELECRAFT 2
|
|
|
|
#define AMP_BACKEND_ELECRAFT "elecraft"
|
2021-02-08 02:10:50 +00:00
|
|
|
//! @endcond
|
2019-06-12 20:52:35 +00:00
|
|
|
#define AMP_MODEL_ELECRAFT_KPA1500 AMP_MAKE_MODEL(AMP_ELECRAFT, 1)
|
|
|
|
//#define AMP_MODEL_ELECRAFT_KPA500 AMP_MAKE_MODEL(AMP_ELECRAFT, 2)
|
2023-03-28 22:08:40 +00:00
|
|
|
|
2022-07-10 22:05:44 +00:00
|
|
|
#define AMP_GEMINI 3
|
|
|
|
#define AMP_BACKEND_GEMINI "gemini"
|
|
|
|
#define AMP_MODEL_GEMINI_DX1200 AMP_MAKE_MODEL(AMP_GEMINI, 1)
|
|
|
|
|
2023-03-28 22:08:40 +00:00
|
|
|
#define AMP_EXPERT 4
|
|
|
|
#define AMP_BACKEND_EXPERT "expert"
|
|
|
|
#define AMP_MODEL_EXPERT_FA AMP_MAKE_MODEL(AMP_EXPERT, 1)
|
|
|
|
|
2019-06-12 20:52:35 +00:00
|
|
|
|
|
|
|
/**
|
2021-02-19 02:44:53 +00:00
|
|
|
* \brief Convenience type definition for an amplifier model.
|
2021-02-12 18:46:01 +00:00
|
|
|
*
|
|
|
|
* \typedef typedef int amp_model_t
|
2021-02-08 02:10:50 +00:00
|
|
|
*/
|
2019-06-12 20:52:35 +00:00
|
|
|
typedef int amp_model_t;
|
|
|
|
|
|
|
|
|
|
|
|
#endif /* _AMPLIST_H */
|
|
|
|
|
|
|
|
/** @} */
|