2001-12-27 21:41:11 +00:00
|
|
|
/*
|
|
|
|
* Hamlib Interface - list of known rotators
|
2011-05-26 20:07:26 +00:00
|
|
|
* Copyright (c) 2000-2011 by Stephane Fillod
|
2010-04-25 17:24:25 +00:00
|
|
|
* Copyright (c) 2000-2002 by Frank Singleton
|
2001-12-27 21:41:11 +00:00
|
|
|
*
|
|
|
|
*
|
2011-08-21 01:54:17 +00:00
|
|
|
* 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.
|
2001-12-27 21:41:11 +00:00
|
|
|
*
|
2011-08-21 01:54:17 +00:00
|
|
|
* This library is distributed in the hope that it will be useful,
|
2001-12-27 21:41:11 +00:00
|
|
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
2011-08-21 01:54:17 +00:00
|
|
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
|
|
|
* Lesser General Public License for more details.
|
2001-12-27 21:41:11 +00:00
|
|
|
*
|
2011-08-21 01:54:17 +00:00
|
|
|
* You should have received a copy of the GNU Lesser General Public
|
2001-12-27 21:41:11 +00:00
|
|
|
* License along with this library; if not, write to the Free Software
|
2011-08-21 01:54:17 +00:00
|
|
|
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
|
2001-12-27 21:41:11 +00:00
|
|
|
*
|
|
|
|
*/
|
|
|
|
|
|
|
|
#ifndef _ROTLIST_H
|
|
|
|
#define _ROTLIST_H 1
|
|
|
|
|
|
|
|
#define ROT_MAKE_MODEL(a,b) ((a)*100+(b))
|
|
|
|
#define ROT_BACKEND_NUM(a) ((a)/100)
|
|
|
|
|
2006-10-15 00:27:52 +00:00
|
|
|
/**
|
|
|
|
* \addtogroup rotator
|
|
|
|
* @{
|
|
|
|
*/
|
|
|
|
|
2002-11-09 13:09:02 +00:00
|
|
|
/*! \file rotlist.h
|
|
|
|
* \brief Hamlib rotator model definitions.
|
|
|
|
*
|
|
|
|
* This file contains rotator model definitions for the Hamlib rotator API.
|
|
|
|
* Each distinct rotator type has a unique model number (ID) and is used
|
2002-11-12 00:11:54 +00:00
|
|
|
* by hamlib to identify and distinguish between the different hardware drivers.
|
|
|
|
* The exact model numbers can be acquired using the macros in this
|
2002-11-09 13:09:02 +00:00
|
|
|
* file. To obtain a list of supported rotator branches, one can use the statically
|
|
|
|
* defined ROT_BACKEND_LIST macro. To obtain a full list of supported rotators (including
|
|
|
|
* each model in every branch), the foreach_opened_rot() API function can be used.
|
|
|
|
*
|
|
|
|
* The model number, or ID, is used to tell hamlib, which rotator the client whishes to
|
|
|
|
* use. It is done with the rot_init() API call.
|
|
|
|
*/
|
|
|
|
|
2001-12-27 21:41:11 +00:00
|
|
|
#define ROT_MODEL_NONE 0
|
|
|
|
|
2002-11-09 13:09:02 +00:00
|
|
|
/*! \def ROT_MODEL_DUMMY
|
|
|
|
* \brief A macro that returns the model number for the dummy backend.
|
|
|
|
*
|
|
|
|
* 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 thought of as a hardware simulator and is very usefull for testing
|
|
|
|
* client applications.
|
|
|
|
*/
|
2011-02-03 02:52:17 +00:00
|
|
|
/*! \def ROT_MODEL_NETROTCTL
|
|
|
|
* \brief A macro that returns the model number for the Network backend.
|
|
|
|
*
|
|
|
|
* This backend allows use of the rotctld daemon through the normal
|
|
|
|
* Hamlib API.
|
|
|
|
*/
|
2001-12-27 21:41:11 +00:00
|
|
|
#define ROT_DUMMY 0
|
|
|
|
#define ROT_BACKEND_DUMMY "dummy"
|
|
|
|
#define ROT_MODEL_DUMMY ROT_MAKE_MODEL(ROT_DUMMY, 1)
|
2008-09-21 19:34:16 +00:00
|
|
|
#define ROT_MODEL_NETROTCTL ROT_MAKE_MODEL(ROT_DUMMY, 2)
|
2001-12-27 21:41:11 +00:00
|
|
|
|
|
|
|
/*
|
|
|
|
* Easycomm
|
|
|
|
*/
|
2002-11-09 13:09:02 +00:00
|
|
|
/*! \def ROT_MODEL_EASYCOMM1
|
|
|
|
* \brief A macro that returns the model number of the EasyComm 1 backend.
|
|
|
|
*
|
|
|
|
* The EasyComm 1 backend can be used with rotators that support the
|
|
|
|
* EASYCOMM I Standard.
|
|
|
|
*/
|
|
|
|
/*! \def ROT_MODEL_EASYCOMM2
|
|
|
|
* \brief A macro that returns the model number of the EasyComm 2 backend.
|
|
|
|
*
|
|
|
|
* The EasyComm 2 backend can be used with rotators that support the
|
|
|
|
* EASYCOMM II Standard.
|
|
|
|
*/
|
2001-12-27 21:41:11 +00:00
|
|
|
#define ROT_EASYCOMM 2
|
|
|
|
#define ROT_BACKEND_EASYCOMM "easycomm"
|
2002-01-16 17:03:57 +00:00
|
|
|
#define ROT_MODEL_EASYCOMM1 ROT_MAKE_MODEL(ROT_EASYCOMM, 1)
|
|
|
|
#define ROT_MODEL_EASYCOMM2 ROT_MAKE_MODEL(ROT_EASYCOMM, 2)
|
2011-08-21 16:28:14 +00:00
|
|
|
#define ROT_MODEL_TRAKBOX ROT_MAKE_MODEL(ROT_EASYCOMM, 3)
|
2001-12-27 21:41:11 +00:00
|
|
|
|
2002-11-28 22:24:10 +00:00
|
|
|
/*! \def ROT_MODEL_FODTRACK
|
|
|
|
* \brief A macro that returns the model number of the Fodtrack backend.
|
|
|
|
*
|
|
|
|
* The Fodtrack backend can be used with rotators that support the
|
|
|
|
* FODTRACK Standard.
|
|
|
|
*/
|
|
|
|
#define ROT_FODTRACK 3
|
|
|
|
#define ROT_BACKEND_FODTRACK "fodtrack"
|
|
|
|
#define ROT_MODEL_FODTRACK ROT_MAKE_MODEL(ROT_FODTRACK, 1)
|
|
|
|
|
2003-01-11 00:48:43 +00:00
|
|
|
/*! \def ROT_MODEL_ROTOREZ
|
|
|
|
* \brief A macro that returns the model number of the Rotor-EZ backend.
|
|
|
|
*
|
|
|
|
* The Rotor-EZ backend can be used with Hy-Gain rotators that support
|
|
|
|
* the extended DCU command set by Idiom Press Rotor-EZ board.
|
|
|
|
*/
|
|
|
|
/*! \def ROT_MODEL_ROTORCARD
|
|
|
|
* \brief A macro that returns the model number of the Rotor Card backend.
|
|
|
|
*
|
|
|
|
* The Rotor-EZ backend can be used with Yaesu rotators that support the
|
|
|
|
* extended DCU command set by Idiom Press Rotor Card board.
|
|
|
|
*/
|
|
|
|
/*! \def ROT_MODEL_DCU
|
|
|
|
* \brief A macro that returns the model number of the DCU backend.
|
|
|
|
*
|
|
|
|
* The Rotor-EZ backend can be used with rotators that support the
|
|
|
|
* DCU command set by Hy-Gain (currently the DCU-1).
|
|
|
|
*/
|
2010-08-23 20:09:30 +00:00
|
|
|
/*! \def ROT_MODEL_ERC
|
|
|
|
* \brief A macro that returns the model number of the ERC backend.
|
|
|
|
*
|
|
|
|
* The Rotor-EZ backend can be used with rotators that support the
|
|
|
|
* DCU command set by DF9GR (currently the ERC).
|
|
|
|
*/
|
2003-01-11 00:48:43 +00:00
|
|
|
#define ROT_ROTOREZ 4
|
|
|
|
#define ROT_BACKEND_ROTOREZ "rotorez"
|
|
|
|
#define ROT_MODEL_ROTOREZ ROT_MAKE_MODEL(ROT_ROTOREZ, 1)
|
|
|
|
#define ROT_MODEL_ROTORCARD ROT_MAKE_MODEL(ROT_ROTOREZ, 2)
|
|
|
|
#define ROT_MODEL_DCU ROT_MAKE_MODEL(ROT_ROTOREZ, 3)
|
2010-08-23 20:09:30 +00:00
|
|
|
#define ROT_MODEL_ERC ROT_MAKE_MODEL(ROT_ROTOREZ, 4)
|
2002-11-09 13:09:02 +00:00
|
|
|
|
2003-06-22 19:38:26 +00:00
|
|
|
/*! \def ROT_MODEL_SARTEK1
|
|
|
|
* \brief A macro that returns the model number of the SARtek-1 backend.
|
|
|
|
*
|
|
|
|
* The sartek backend can be used with rotators that support the
|
|
|
|
* SARtek protocol.
|
|
|
|
*/
|
|
|
|
#define ROT_SARTEK 5
|
|
|
|
#define ROT_BACKEND_SARTEK "sartek"
|
|
|
|
#define ROT_MODEL_SARTEK1 ROT_MAKE_MODEL(ROT_SARTEK, 1)
|
|
|
|
|
2008-05-23 14:14:17 +00:00
|
|
|
/*! \def ROT_MODEL_GS232A
|
|
|
|
* \brief A macro that returns the model number of the GS-232A backend.
|
|
|
|
*
|
|
|
|
* The GS-232A backend can be used with rotators that support the
|
|
|
|
* GS-232A protocol.
|
|
|
|
*/
|
2011-02-03 02:52:17 +00:00
|
|
|
/*! \def ROT_MODEL_GS232
|
|
|
|
* \brief A macro that returns the model number of the GS-232 backend.
|
|
|
|
*
|
|
|
|
* The GS-232 backend can be used with rotators that support the
|
|
|
|
* GS-232 protocol.
|
|
|
|
*/
|
|
|
|
/*! \def ROT_MODEL_GS232B
|
|
|
|
* \brief A macro that returns the model number of the GS-232B backend.
|
|
|
|
*
|
|
|
|
* The GS-232B backend can be used with rotators that support the
|
|
|
|
* GS-232B protocol.
|
|
|
|
*/
|
|
|
|
/*! \def ROT_MODEL_F1TETRACKER
|
|
|
|
* \brief A macro that returns the model number of the F1TETRACKER backend.
|
|
|
|
*
|
|
|
|
* The F1TETRACKER backend can be used with rotators that support the
|
|
|
|
* F1TETRACKER protocol.
|
|
|
|
*/
|
2008-05-23 14:14:17 +00:00
|
|
|
#define ROT_GS232A 6
|
|
|
|
#define ROT_BACKEND_GS232A "gs232a"
|
|
|
|
#define ROT_MODEL_GS232A ROT_MAKE_MODEL(ROT_GS232A, 1)
|
2009-09-22 10:07:49 +00:00
|
|
|
#define ROT_MODEL_GS232 ROT_MAKE_MODEL(ROT_GS232A, 2) /* Not A or B */
|
2009-12-04 09:09:27 +00:00
|
|
|
#define ROT_MODEL_GS232B ROT_MAKE_MODEL(ROT_GS232A, 3)
|
2010-11-29 21:42:34 +00:00
|
|
|
#define ROT_MODEL_F1TETRACKER ROT_MAKE_MODEL(ROT_GS232A, 4)
|
2008-05-23 14:14:17 +00:00
|
|
|
|
2008-10-31 07:45:17 +00:00
|
|
|
/*! \def ROT_MODEL_PCROTOR
|
|
|
|
* \brief A macro that returns the model number of the PcRotor/WA6UFQ backend.
|
|
|
|
*
|
|
|
|
* The kit backend can be used with home brewed rotators.
|
|
|
|
*/
|
|
|
|
#define ROT_KIT 7
|
|
|
|
#define ROT_BACKEND_KIT "kit"
|
|
|
|
#define ROT_MODEL_PCROTOR ROT_MAKE_MODEL(ROT_KIT, 1)
|
|
|
|
|
2009-01-20 19:44:04 +00:00
|
|
|
/*! \def ROT_MODEL_HD1780
|
|
|
|
* \brief A macro that returns the model number of the HD 1780 backend.
|
|
|
|
*/
|
|
|
|
#define ROT_HEATHKIT 8
|
|
|
|
#define ROT_BACKEND_HEATHKIT "heathkit"
|
|
|
|
#define ROT_MODEL_HD1780 ROT_MAKE_MODEL(ROT_HEATHKIT, 1)
|
|
|
|
|
2011-02-03 02:52:17 +00:00
|
|
|
/*! \def ROT_MODEL_SPID_ROT2PROG
|
|
|
|
* \brief A macro that returns the model number of the ROT2PROG backend.
|
|
|
|
*
|
|
|
|
* The SPID backend can be used with rotators that support the SPID
|
|
|
|
* protocol.
|
|
|
|
*/
|
|
|
|
/*! \def ROT_MODEL_SPID_ROT1PROG
|
|
|
|
* \brief A macro that returns the model number of the ROT1PROG backend.
|
2009-06-01 10:28:55 +00:00
|
|
|
*
|
|
|
|
* The SPID backend can be used with rotators that support the SPID
|
|
|
|
* protocol.
|
|
|
|
*/
|
|
|
|
#define ROT_SPID 9
|
|
|
|
#define ROT_BACKEND_SPID "spid"
|
2011-01-29 19:58:21 +00:00
|
|
|
#define ROT_MODEL_SPID_ROT2PROG ROT_MAKE_MODEL(ROT_SPID, 1)
|
|
|
|
#define ROT_MODEL_SPID_ROT1PROG ROT_MAKE_MODEL(ROT_SPID, 2)
|
2009-06-01 10:28:55 +00:00
|
|
|
|
2011-02-03 02:52:17 +00:00
|
|
|
/*! \def ROT_MODEL_RC2800
|
|
|
|
* \brief A macro that returns the model number of the RC2800 backend.
|
2010-04-25 17:24:25 +00:00
|
|
|
*
|
|
|
|
* The M2 backend can be used with rotators that support the RC2800
|
|
|
|
* protocol and alike.
|
|
|
|
*/
|
|
|
|
#define ROT_M2 10
|
|
|
|
#define ROT_BACKEND_M2 "m2"
|
|
|
|
#define ROT_MODEL_RC2800 ROT_MAKE_MODEL(ROT_M2, 1)
|
|
|
|
|
2011-02-03 02:52:17 +00:00
|
|
|
/*! \def ROT_MODEL_RCI_AZEL
|
|
|
|
* \brief A macro that returns the model number of the RCI_AZEL backend.
|
|
|
|
*
|
|
|
|
* The ARS backend can be used with rotators that support the ARS
|
|
|
|
* protocol.
|
|
|
|
*/
|
|
|
|
/*! \def ROT_MODEL_RCI_AZ
|
|
|
|
* \brief A macro that returns the model number of the RCI_AZ backend.
|
2010-04-25 17:24:25 +00:00
|
|
|
*
|
|
|
|
* The ARS backend can be used with rotators that support the ARS
|
|
|
|
* protocol.
|
|
|
|
*/
|
|
|
|
#define ROT_ARS 11
|
|
|
|
#define ROT_BACKEND_ARS "ars"
|
2010-05-31 21:15:58 +00:00
|
|
|
#define ROT_MODEL_RCI_AZEL ROT_MAKE_MODEL(ROT_ARS, 1)
|
|
|
|
#define ROT_MODEL_RCI_AZ ROT_MAKE_MODEL(ROT_ARS, 2)
|
2010-04-25 17:24:25 +00:00
|
|
|
|
2011-05-26 20:07:26 +00:00
|
|
|
/*! \def ROT_MODEL_IF100
|
|
|
|
* \brief A macro that returns the model number of the IF-100 backend.
|
|
|
|
*
|
|
|
|
* The AMSAT backend can be used with rotators that support,
|
|
|
|
* among other, the IF-100 interface.
|
|
|
|
*/
|
|
|
|
#define ROT_AMSAT 12
|
|
|
|
#define ROT_BACKEND_AMSAT "amsat"
|
|
|
|
#define ROT_MODEL_IF100 ROT_MAKE_MODEL(ROT_AMSAT, 1)
|
|
|
|
|
|
|
|
|
2011-07-09 12:37:34 +00:00
|
|
|
/*! \def ROT_MODEL_TS7400
|
|
|
|
* \brief A macro that returns the model number of the TS7400 backend.
|
|
|
|
*
|
|
|
|
* The TS-7400 backend supports and embedded ARM board using the TS-7400
|
|
|
|
* Linux board. More information is at http://www.embeddedarm.com
|
|
|
|
*/
|
|
|
|
#define ROT_TS7400 13
|
|
|
|
#define ROT_BACKEND_TS7400 "ts7400"
|
|
|
|
#define ROT_MODEL_TS7400 ROT_MAKE_MODEL(ROT_TS7400, 1)
|
|
|
|
|
2011-08-21 16:28:14 +00:00
|
|
|
/*! \def ROT_MODEL_NEXSTAR
|
|
|
|
* \brief A macro that returns the model number of the NEXSTAR backend.
|
|
|
|
*
|
|
|
|
* The CELESTRON backend can be used with rotators that support the Celestron
|
|
|
|
* protocol and alike.
|
|
|
|
*/
|
|
|
|
#define ROT_CELESTRON 14
|
|
|
|
#define ROT_BACKEND_CELESTRON "celestron"
|
|
|
|
#define ROT_MODEL_NEXSTAR ROT_MAKE_MODEL(ROT_CELESTRON, 1)
|
|
|
|
|
2013-07-12 14:24:02 +00:00
|
|
|
/*! \def ROT_MODEL_ETHER6
|
|
|
|
* \brief A macro that returns the model number of the Ether6 backend.
|
|
|
|
*
|
|
|
|
* The Ether6 backend can be used with rotators that support the Ether6
|
|
|
|
* protocol and alike.
|
|
|
|
*/
|
|
|
|
#define ROT_ETHER6 15
|
|
|
|
#define ROT_BACKEND_ETHER6 "ether6"
|
|
|
|
#define ROT_MODEL_ETHER6 ROT_MAKE_MODEL(ROT_ETHER6, 1)
|
2011-07-09 12:37:34 +00:00
|
|
|
|
2002-11-09 13:09:02 +00:00
|
|
|
/*! \typedef typedef int rot_model_t
|
|
|
|
\brief Convenience type definition for rotator model.
|
|
|
|
*/
|
2001-12-27 21:41:11 +00:00
|
|
|
typedef int rot_model_t;
|
|
|
|
|
|
|
|
#endif /* _ROTLIST_H */
|
2006-10-15 00:27:52 +00:00
|
|
|
|
|
|
|
/** @} */
|