kopia lustrzana https://github.com/PianetaRadio/CatRadio
Hamlib 4.62
rodzic
26c9a46570
commit
fa078adf25
Plik binarny nie jest wyświetlany.
Plik binarny nie jest wyświetlany.
Plik binarny nie jest wyświetlany.
Plik binarny nie jest wyświetlany.
61
hamlib/rig.h
61
hamlib/rig.h
|
@ -33,7 +33,7 @@
|
|||
// Our shared secret password
|
||||
#define HAMLIB_SECRET_LENGTH 32
|
||||
|
||||
#define HAMLIB_TRACE rig_debug(RIG_DEBUG_TRACE,"%s%s(%d) trace\n",spaces(rig->state.depth-1), __FILE__, __LINE__)
|
||||
#define HAMLIB_TRACE rig_debug(RIG_DEBUG_TRACE,"%s%s(%d) trace\n",spaces(STATE(rig)->depth), __FILE__, __LINE__)
|
||||
#define __FILENAME__ (strrchr(__FILE__, '/') ? strrchr(__FILE__, '/') + 1 : __FILE__)
|
||||
|
||||
#include <stdio.h>
|
||||
|
@ -44,6 +44,7 @@
|
|||
// to stop warnings about including winsock2.h before windows.h
|
||||
#if defined(_WIN32)
|
||||
#include <winsock2.h>
|
||||
#include <windows.h>
|
||||
#include <ws2tcpip.h>
|
||||
#else
|
||||
#include <sys/socket.h>
|
||||
|
@ -205,6 +206,7 @@ enum rig_errcode_e {
|
|||
RIG_EDEPRECATED,/*!< 18 Function deprecated */
|
||||
RIG_ESECURITY, /*!< 19 Security error */
|
||||
RIG_EPOWER, /*!< 20 Rig not powered on */
|
||||
RIG_ELIMIT, /*!< 21 Limit exceeded */
|
||||
RIG_EEND // MUST BE LAST ITEM IN LAST
|
||||
};
|
||||
/**
|
||||
|
@ -617,13 +619,13 @@ typedef unsigned int vfo_t;
|
|||
// Compared to older rigs which have one or the other
|
||||
// So we need to distinguish between them
|
||||
//! @cond Doxygen_Suppress
|
||||
#define VFO_HAS_A_B ((rig->state.vfo_list & (RIG_VFO_A|RIG_VFO_B)) == (RIG_VFO_A|RIG_VFO_B))
|
||||
#define VFO_HAS_MAIN_SUB ((rig->state.vfo_list & (RIG_VFO_MAIN|RIG_VFO_SUB)) == (RIG_VFO_MAIN|RIG_VFO_SUB))
|
||||
#define VFO_HAS_A_B ((STATE(rig)->vfo_list & (RIG_VFO_A|RIG_VFO_B)) == (RIG_VFO_A|RIG_VFO_B))
|
||||
#define VFO_HAS_MAIN_SUB ((STATE(rig)->vfo_list & (RIG_VFO_MAIN|RIG_VFO_SUB)) == (RIG_VFO_MAIN|RIG_VFO_SUB))
|
||||
#define VFO_HAS_MAIN_SUB_ONLY ((!VFO_HAS_A_B) & VFO_HAS_MAIN_SUB)
|
||||
#define VFO_HAS_MAIN_SUB_A_B_ONLY (VFO_HAS_A_B & VFO_HAS_MAIN_SUB)
|
||||
#define VFO_HAS_A_B_ONLY (VFO_HAS_A_B & (!VFO_HAS_MAIN_SUB))
|
||||
#define VFO_DUAL (RIG_VFO_MAIN_A|RIG_VFO_MAIN_B|RIG_VFO_SUB_A|RIG_VFO_SUB_B)
|
||||
#define VFO_HAS_DUAL ((rig->state.vfo_list & VFO_DUAL) == VFO_DUAL)
|
||||
#define VFO_HAS_DUAL ((STATE(rig)->vfo_list & VFO_DUAL) == VFO_DUAL)
|
||||
//! @endcond
|
||||
|
||||
/**
|
||||
|
@ -721,6 +723,12 @@ typedef enum {
|
|||
RIG_RESET_MASTER = (1 << 3) /*!< Master reset */
|
||||
} reset_t;
|
||||
|
||||
typedef enum {
|
||||
RIG_CLIENT_UNKNOWN,
|
||||
RIG_CLIENT_WSJTX,
|
||||
RIG_CLIENT_GPREDICT
|
||||
} client_t;
|
||||
|
||||
|
||||
/**
|
||||
* \brief VFO operation
|
||||
|
@ -1133,15 +1141,19 @@ enum rig_parm_e {
|
|||
RIG_PARM_BAT = (1 << 6), /*!< \c BAT -- battery level, float [0.0 ... 1.0] */
|
||||
RIG_PARM_KEYLIGHT = (1 << 7), /*!< \c KEYLIGHT -- Button backlight, on/off */
|
||||
RIG_PARM_SCREENSAVER = (1 << 8), /*!< \c SCREENSAVER -- rig specific timeouts */
|
||||
RIG_PARM_AFIF = (1 << 9), /*!< \c AFIF -- 0=AF audio, 1=IF audio -- see IC-7300/9700/705 */
|
||||
RIG_PARM_AFIF = (1 << 9), /*!< \c AFIF for USB -- 0=AF audio, 1=IF audio -- see IC-7300/9700/705 */
|
||||
RIG_PARM_BANDSELECT = (1 << 10), /*!< \c BANDSELECT -- e.g. BAND160M, BAND80M, BAND70CM, BAND2CM */
|
||||
RIG_PARM_KEYERTYPE = (1 << 11) /*!< \c KEYERTYPE -- 0,1,2 or STRAIGHT PADDLE BUG */
|
||||
RIG_PARM_KEYERTYPE = (1 << 11), /*!< \c KEYERTYPE -- 0,1,2 or STRAIGHT PADDLE BUG */
|
||||
RIG_PARM_AFIF_LAN = (1 << 12), /*!< \c AFIF for LAN -- 0=AF audi , 1=IF audio -- see IC-9700 */
|
||||
RIG_PARM_AFIF_WLAN = (1 << 13), /*!< \c AFIF_WLAN -- 0=AF audio, 1=IF audio -- see IC-705 */
|
||||
RIG_PARM_AFIF_ACC = (1 << 14) /*!< \c AFIF_ACC -- 0=AF audio, 1=IF audio -- see IC-9700 */
|
||||
};
|
||||
|
||||
enum rig_keyertype_e {
|
||||
RIG_KEYERTYPE_STRAIGHT = 0,
|
||||
RIG_KEYERTYPE_BUG = (1 << 0),
|
||||
RIG_KEYERTYPE_PADDLE = (2 << 0)
|
||||
RIG_KEYERTYPE_PADDLE = (1 << 1),
|
||||
RIG_KEYERTYPE_UNKNOWN = (1 << 2)
|
||||
};
|
||||
|
||||
/**
|
||||
|
@ -1660,7 +1672,8 @@ typedef enum {
|
|||
RIG_MTYPE_BAND, /*!< VFO/Band channel */
|
||||
RIG_MTYPE_PRIO, /*!< Priority channel */
|
||||
RIG_MTYPE_VOICE, /*!< Stored Voice Message */
|
||||
RIG_MTYPE_MORSE /*!< Morse Message */
|
||||
RIG_MTYPE_MORSE, /*!< Morse Message */
|
||||
RIG_MTYPE_SPLIT /*!< Split operations */
|
||||
} chan_type_t;
|
||||
|
||||
|
||||
|
@ -1849,6 +1862,22 @@ struct rig_spectrum_line
|
|||
unsigned char *spectrum_data; /*!< 8-bit spectrum data covering bandwidth of either the span_freq in center mode or from low edge to high edge in fixed mode. A higher value represents higher signal strength. */
|
||||
};
|
||||
|
||||
/**
|
||||
* Config item for deferred processing
|
||||
**/
|
||||
struct deferred_config_item {
|
||||
struct deferred_config_item *next;
|
||||
hamlib_token_t token;
|
||||
char *value; // strdup'ed, must be freed
|
||||
};
|
||||
typedef struct deferred_config_item deferred_config_item_t;
|
||||
|
||||
struct deferred_config_header {
|
||||
struct deferred_config_item *first; // NULL if none
|
||||
struct deferred_config_item *last;
|
||||
};
|
||||
typedef struct deferred_config_header deferred_config_header_t;
|
||||
|
||||
/**
|
||||
* \brief Rig data structure.
|
||||
*
|
||||
|
@ -2491,6 +2520,8 @@ typedef hamlib_port_t port_t;
|
|||
#define ROTPORT(r) (&r->state.rotport)
|
||||
#define ROTPORT2(r) (&r->state.rotport2)
|
||||
#define STATE(r) (&r->state)
|
||||
#define AMPSTATE(a) (&(a)->state)
|
||||
#define ROTSTATE(r) (&(r)->state)
|
||||
/* Then when the rigport address is stored as a pointer somewhere else(say,
|
||||
* in the rig structure itself), the definition could be changed to
|
||||
* #define RIGPORT(r) r->somewhereelse
|
||||
|
@ -2506,6 +2537,8 @@ typedef hamlib_port_t port_t;
|
|||
#define HAMLIB_ROTPORT(r) ((hamlib_port_t *)rot_data_pointer(r, RIG_PTRX_ROTPORT))
|
||||
#define HAMLIB_ROTPORT2(r) ((hamlib_port_t *)rot_data_pointer(r, RIG_PTRX_ROTPORT2))
|
||||
#define HAMLIB_STATE(r) ((struct rig_state *)rig_data_pointer(r, RIG_PTRX_STATE))
|
||||
#define HAMLIB_AMPSTATE(a) ((struct amp_state *)amp_data_pointer(a, RIG_PTRX_AMPSTATE))
|
||||
#define HAMLIB_ROTSTATE(r) ((struct rot_state *)rot_data_pointer(r, RIG_PTRX_ROTSTATE))
|
||||
#endif
|
||||
|
||||
typedef enum {
|
||||
|
@ -2518,6 +2551,8 @@ typedef enum {
|
|||
RIG_PTRX_ROTPORT,
|
||||
RIG_PTRX_ROTPORT2,
|
||||
RIG_PTRX_STATE,
|
||||
RIG_PTRX_AMPSTATE,
|
||||
RIG_PTRX_ROTSTATE,
|
||||
// New entries go directly above this line====================
|
||||
RIG_PTRX_MAXIMUM
|
||||
} rig_ptrx_t;
|
||||
|
@ -2851,6 +2886,7 @@ struct rig_state {
|
|||
int post_ptt_delay; /*!< delay after PTT to allow for relays and such */
|
||||
struct timespec freq_event_elapsed;
|
||||
int freq_skip; /*!< allow frequency skip for gpredict RX/TX freq set */
|
||||
client_t client;
|
||||
// New rig_state items go before this line ============================================
|
||||
};
|
||||
|
||||
|
@ -2865,7 +2901,7 @@ struct rig_state {
|
|||
*/
|
||||
struct rig_state_deprecated {
|
||||
/********* ENSURE YOU DO NOT EVER MODIFY THIS STRUCTURE *********/
|
||||
/********* It will remain forever to provide DLL backwards compatiblity ******/
|
||||
/********* It will remain forever to provide DLL backwards compatibility ******/
|
||||
/*
|
||||
* overridable fields
|
||||
*/
|
||||
|
@ -3025,7 +3061,7 @@ typedef int (*spectrum_cb_t)(RIG *,
|
|||
* \sa rig_set_freq_callback(), rig_set_mode_callback(), rig_set_vfo_callback(),
|
||||
* rig_set_ptt_callback(), rig_set_dcd_callback()
|
||||
*/
|
||||
// Do NOT add/remove from this structure -- it will break DLL backwards compatiblity
|
||||
// Do NOT add/remove from this structure -- it will break DLL backwards compatibility
|
||||
struct rig_callbacks {
|
||||
freq_cb_t freq_event; /*!< Frequency change event */
|
||||
rig_ptr_t freq_arg; /*!< Frequency change argument */
|
||||
|
@ -3720,6 +3756,7 @@ extern HAMLIB_EXPORT_VAR(char) debugmsgsave[DEBUGMSGSAVE_SIZE]; // last debug m
|
|||
extern HAMLIB_EXPORT_VAR(char) debugmsgsave2[DEBUGMSGSAVE_SIZE]; // last-1 debug msg
|
||||
// debugmsgsave3 is deprecated
|
||||
extern HAMLIB_EXPORT_VAR(char) debugmsgsave3[DEBUGMSGSAVE_SIZE]; // last-2 debug msg
|
||||
#define rig_debug_clear() { debugmsgsave[0] = debugmsgsave2[0] = debugmsgsave3[0] = 0; };
|
||||
#ifndef __cplusplus
|
||||
#ifdef __GNUC__
|
||||
// doing the debug macro with a dummy sprintf allows gcc to check the format string
|
||||
|
@ -3729,10 +3766,10 @@ extern HAMLIB_EXPORT_VAR(char) debugmsgsave3[DEBUGMSGSAVE_SIZE]; // last-2 debu
|
|||
|
||||
// Measuring elapsed time -- local variable inside function when macro is used
|
||||
#define ELAPSED1 struct timespec __begin; elapsed_ms(&__begin, HAMLIB_ELAPSED_SET);
|
||||
#define ELAPSED2 rig_debug(RIG_DEBUG_VERBOSE, "%s%d:%s: elapsed=%.0lfms\n", spaces(rig->state.depth-1), rig->state.depth, __func__, elapsed_ms(&__begin, HAMLIB_ELAPSED_GET));
|
||||
#define ELAPSED2 rig_debug(RIG_DEBUG_VERBOSE, "%s%d:%s: elapsed=%.0lfms\n", spaces(STATE(rig)->depth), STATE(rig)->depth, __func__, elapsed_ms(&__begin, HAMLIB_ELAPSED_GET));
|
||||
|
||||
// use this instead of snprintf for automatic detection of buffer limit
|
||||
#define SNPRINTF(s,n,...) { snprintf(s,n,##__VA_ARGS__);if (strlen(s) > n-1) fprintf(stderr,"****** %s(%d): buffer overflow ******\n", __func__, __LINE__); }
|
||||
#define SNPRINTF(s,n,...) { if (snprintf(s,n,##__VA_ARGS__) >= (n)) fprintf(stderr,"***** %s(%d): message truncated *****\n", __func__, __LINE__); }
|
||||
|
||||
extern HAMLIB_EXPORT(void)
|
||||
rig_debug HAMLIB_PARAMS((enum rig_debug_level_e debug_level,
|
||||
|
|
|
@ -26,6 +26,8 @@
|
|||
//! @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
|
||||
|
@ -143,6 +145,7 @@
|
|||
#define RIG_MODEL_FT710 RIG_MAKE_MODEL(RIG_YAESU, 49)
|
||||
#define RIG_MODEL_FT9000OLD RIG_MAKE_MODEL(RIG_YAESU, 50)
|
||||
#define RIG_MODEL_Q900 RIG_MAKE_MODEL(RIG_YAESU, 51)
|
||||
#define RIG_MODEL_PMR171 RIG_MAKE_MODEL(RIG_YAESU, 52)
|
||||
|
||||
/*
|
||||
* Kenwood
|
||||
|
@ -204,6 +207,7 @@
|
|||
#define RIG_MODEL_FX4 RIG_MAKE_MODEL(RIG_KENWOOD,53)
|
||||
#define RIG_MODEL_THETIS RIG_MAKE_MODEL(RIG_KENWOOD, 54)
|
||||
#define RIG_MODEL_TRUSDX RIG_MAKE_MODEL(RIG_KENWOOD, 55)
|
||||
#define RIG_MODEL_SDRCONSOLE RIG_MAKE_MODEL(RIG_KENWOOD, 56)
|
||||
|
||||
/*
|
||||
* Icom
|
||||
|
@ -292,6 +296,8 @@
|
|||
#define RIG_MODEL_G90 RIG_MAKE_MODEL(RIG_ICOM, 88) /* Xiegu G90 */
|
||||
#define RIG_MODEL_X5105 RIG_MAKE_MODEL(RIG_ICOM, 89) /* Xiegu X5105 -- G90 compatible */
|
||||
#define RIG_MODEL_IC905 RIG_MAKE_MODEL(RIG_ICOM, 90)
|
||||
#define RIG_MODEL_X6200 RIG_MAKE_MODEL(RIG_ICOM, 91) /* Xiegu X6200 */
|
||||
#define RIG_MODEL_IC7760 RIG_MAKE_MODEL(RIG_ICOM, 92)
|
||||
|
||||
/*
|
||||
* Optoelectronics (CI-V)
|
||||
|
@ -532,6 +538,14 @@
|
|||
#define RIG_MODEL_SDR1000RFE RIG_MAKE_MODEL(RIG_FLEXRADIO, 2)
|
||||
#define RIG_MODEL_DTTSP RIG_MAKE_MODEL(RIG_FLEXRADIO, 3)
|
||||
#define RIG_MODEL_DTTSP_UDP RIG_MAKE_MODEL(RIG_FLEXRADIO, 4)
|
||||
#define RIG_MODEL_SMARTSDR_A RIG_MAKE_MODEL(RIG_FLEXRADIO, 5)
|
||||
#define RIG_MODEL_SMARTSDR_B RIG_MAKE_MODEL(RIG_FLEXRADIO, 6)
|
||||
#define RIG_MODEL_SMARTSDR_C RIG_MAKE_MODEL(RIG_FLEXRADIO, 7)
|
||||
#define RIG_MODEL_SMARTSDR_D RIG_MAKE_MODEL(RIG_FLEXRADIO, 8)
|
||||
#define RIG_MODEL_SMARTSDR_E RIG_MAKE_MODEL(RIG_FLEXRADIO, 9)
|
||||
#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
|
||||
|
@ -582,7 +596,7 @@
|
|||
#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
|
||||
*/
|
||||
|
@ -671,6 +685,19 @@
|
|||
#define RIG_BACKEND_ANYTONE "AnyTone"
|
||||
#define RIG_MODEL_ATD578UVIII RIG_MAKE_MODEL(RIG_ANYTONE, 1)
|
||||
|
||||
/*
|
||||
* Motorola rigs
|
||||
*/
|
||||
#define RIG_MOTOROLA 38
|
||||
#define RIG_BACKEND_MOTOROLA "Motorola"
|
||||
#define RIG_MODEL_MICOM2 RIG_MAKE_MODEL(RIG_MOTOROLA, 1)
|
||||
|
||||
/*
|
||||
* Commradio / AeroStream Communications
|
||||
*/
|
||||
#define RIG_COMMRADIO 39
|
||||
#define RIG_BACKEND_COMMRADIO "commradio"
|
||||
#define RIG_MODEL_CTX10 RIG_MAKE_MODEL(RIG_COMMRADIO, 1)
|
||||
|
||||
//! @endcond
|
||||
|
||||
|
|
122
hamlib/rotator.h
122
hamlib/rotator.h
|
@ -215,6 +215,126 @@ typedef enum {
|
|||
*/
|
||||
#define ROT_MOVE_CW ROT_MOVE_RIGHT
|
||||
|
||||
/**
|
||||
* \def ROT_MOVE_UP_LEFT
|
||||
* \brief A macro that returns the flag for the \b clockwise direction.
|
||||
*
|
||||
* This macro defines the value of the \b clockwise direction which can be
|
||||
* used with the rot_move() function. This value is equivalent to
|
||||
* ROT_MOVE_UP_CCW.
|
||||
*
|
||||
* \sa rot_move(), ROT_MOVE_UP, ROT_MOVE_DOWN, ROT_MOVE_LEFT, ROT_MOVE_CCW,
|
||||
* ROT_MOVE_RIGHT, ROT_MOVE_CW, ROT_MOVE_UP_CCW,
|
||||
* ROT_MOVE_UP_RIGHT, ROT_MOVE_UP_CW, ROT_MOVE_DOWN_LEFT, ROT_MOVE_DOWN_CCW,
|
||||
* ROT_MOVE_DOWN_RIGHT, ROT_MOVE_DOWN_CW
|
||||
*/
|
||||
#define ROT_MOVE_UP_LEFT (1<<5)
|
||||
|
||||
/**
|
||||
* \def ROT_MOVE_UP_CCW
|
||||
* \brief A macro that returns the flag for the \b clockwise direction.
|
||||
*
|
||||
* This macro defines the value of the \b clockwise direction which can be
|
||||
* used with the rot_move() function. This value is equivalent to
|
||||
* ROT_MOVE_UP_LEFT.
|
||||
*
|
||||
* \sa rot_move(), ROT_MOVE_UP, ROT_MOVE_DOWN, ROT_MOVE_LEFT, ROT_MOVE_CCW,
|
||||
* ROT_MOVE_RIGHT, ROT_MOVE_CW, ROT_MOVE_UP_LEFT,
|
||||
* ROT_MOVE_UP_RIGHT, ROT_MOVE_UP_CW, ROT_MOVE_DOWN_LEFT, ROT_MOVE_DOWN_CCW,
|
||||
* ROT_MOVE_DOWN_RIGHT, ROT_MOVE_DOWN_CW
|
||||
*/
|
||||
#define ROT_MOVE_UP_CCW ROT_MOVE_UP_LEFT
|
||||
|
||||
/**
|
||||
* \def ROT_MOVE_UP_RIGHT
|
||||
* \brief A macro that returns the flag for the \b clockwise direction.
|
||||
*
|
||||
* This macro defines the value of the \b clockwise direction which can be
|
||||
* used with the rot_move() function. This value is equivalent to
|
||||
* ROT_MOVE_UP_CW.
|
||||
*
|
||||
* \sa rot_move(), ROT_MOVE_UP, ROT_MOVE_DOWN, ROT_MOVE_LEFT, ROT_MOVE_CCW,
|
||||
* ROT_MOVE_RIGHT, ROT_MOVE_CW, ROT_MOVE_UP_LEFT, ROT_MOVE_UP_CCW,
|
||||
* ROT_MOVE_UP_CW, ROT_MOVE_DOWN_LEFT, ROT_MOVE_DOWN_CCW,
|
||||
* ROT_MOVE_DOWN_RIGHT, ROT_MOVE_DOWN_CW
|
||||
*/
|
||||
#define ROT_MOVE_UP_RIGHT (1<<6)
|
||||
|
||||
/**
|
||||
* \def ROT_MOVE_UP_CW
|
||||
* \brief A macro that returns the flag for the \b clockwise direction.
|
||||
*
|
||||
* This macro defines the value of the \b clockwise direction which can be
|
||||
* used with the rot_move() function. This value is equivalent to
|
||||
* ROT_MOVE_UP_RIGHT.
|
||||
*
|
||||
* \sa rot_move(), ROT_MOVE_UP, ROT_MOVE_DOWN, ROT_MOVE_LEFT, ROT_MOVE_CCW,
|
||||
* ROT_MOVE_RIGHT, ROT_MOVE_CW, ROT_MOVE_UP_LEFT, ROT_MOVE_UP_CCW,
|
||||
* ROT_MOVE_UP_RIGHT, ROT_MOVE_DOWN_LEFT, ROT_MOVE_DOWN_CCW,
|
||||
* ROT_MOVE_DOWN_RIGHT, ROT_MOVE_DOWN_CW
|
||||
*/
|
||||
#define ROT_MOVE_UP_CW ROT_MOVE_UP_RIGHT
|
||||
|
||||
/**
|
||||
* \def ROT_MOVE_DOWN_LEFT
|
||||
* \brief A macro that returns the flag for the \b clockwise direction.
|
||||
*
|
||||
* This macro defines the value of the \b clockwise direction which can be
|
||||
* used with the rot_move() function. This value is equivalent to
|
||||
* ROT_MOVE_DOWN_CCW.
|
||||
*
|
||||
* \sa rot_move(), ROT_MOVE_UP, ROT_MOVE_DOWN, ROT_MOVE_LEFT, ROT_MOVE_CCW,
|
||||
* ROT_MOVE_RIGHT, ROT_MOVE_CW, ROT_MOVE_UP_LEFT, ROT_MOVE_UP_CCW,
|
||||
* ROT_MOVE_UP_RIGHT, ROT_MOVE_UP_CW, ROT_MOVE_DOWN_CCW,
|
||||
* ROT_MOVE_DOWN_RIGHT, ROT_MOVE_DOWN_CW
|
||||
*/
|
||||
#define ROT_MOVE_DOWN_LEFT (1 << 7)
|
||||
|
||||
|
||||
/**
|
||||
* \def ROT_MOVE_DOWN_CCW
|
||||
* \brief A macro that returns the flag for the \b clockwise direction.
|
||||
*
|
||||
* This macro defines the value of the \b clockwise direction which can be
|
||||
* used with the rot_move() function. This value is equivalent to
|
||||
* ROT_MOVE_DOWN_LEFT.
|
||||
*
|
||||
* \sa rot_move(), ROT_MOVE_UP, ROT_MOVE_DOWN, ROT_MOVE_LEFT, ROT_MOVE_CCW,
|
||||
* ROT_MOVE_RIGHT, ROT_MOVE_CW, ROT_MOVE_UP_LEFT, ROT_MOVE_UP_CCW,
|
||||
* ROT_MOVE_UP_RIGHT, ROT_MOVE_UP_CW, ROT_MOVE_DOWN_LEFT,
|
||||
* ROT_MOVE_DOWN_RIGHT, ROT_MOVE_DOWN_CW
|
||||
*/
|
||||
#define ROT_MOVE_DOWN_CCW ROT_MOVE_DOWN_LEFT
|
||||
|
||||
/**
|
||||
* \def ROT_MOVE_DOWN_RIGHT
|
||||
* \brief A macro that returns the flag for the \b clockwise direction.
|
||||
*
|
||||
* This macro defines the value of the \b clockwise direction which can be
|
||||
* used with the rot_move() function. This value is equivalent to
|
||||
* ROT_MOVE_DOWN_CW.
|
||||
*
|
||||
* \sa rot_move(), ROT_MOVE_UP, ROT_MOVE_DOWN, ROT_MOVE_LEFT, ROT_MOVE_CCW,
|
||||
* ROT_MOVE_RIGHT, ROT_MOVE_CW, ROT_MOVE_UP_LEFT, ROT_MOVE_UP_CCW,
|
||||
* ROT_MOVE_UP_RIGHT, ROT_MOVE_UP_CW, ROT_MOVE_DOWN_LEFT, ROT_MOVE_DOWN_CCW,
|
||||
* ROT_MOVE_DOWN_CW
|
||||
*/
|
||||
#define ROT_MOVE_DOWN_RIGHT (1 << 8)
|
||||
|
||||
/**
|
||||
* \def ROT_MOVE_DOWN_CW
|
||||
* \brief A macro that returns the flag for the \b clockwise direction.
|
||||
*
|
||||
* This macro defines the value of the \b clockwise direction which can be
|
||||
* used with the rot_move() function. This value is equivalent to
|
||||
* ROT_MOVE_DOWN_RIGHT.
|
||||
*
|
||||
* \sa rot_move(), ROT_MOVE_UP, ROT_MOVE_DOWN, ROT_MOVE_LEFT, ROT_MOVE_CCW,
|
||||
* ROT_MOVE_RIGHT, ROT_MOVE_CW, ROT_MOVE_UP_LEFT, ROT_MOVE_UP_CCW,
|
||||
* ROT_MOVE_UP_RIGHT, ROT_MOVE_UP_CW, ROT_MOVE_DOWN_LEFT, ROT_MOVE_DOWN_CCW,
|
||||
* ROT_MOVE_DOWN_RIGHT,
|
||||
*/
|
||||
#define ROT_MOVE_DOWN_CW ROT_MOVE_DOWN_RIGHT
|
||||
|
||||
/**
|
||||
* \brief Rotator status flags
|
||||
|
@ -508,6 +628,8 @@ struct rot_state {
|
|||
int current_speed; /*!< Current speed 1-100, to be used when no change to speed is requested. */
|
||||
hamlib_port_t rotport; /*!< Rotator port (internal use). */
|
||||
hamlib_port_t rotport2; /*!< 2nd Rotator port (internal use). */
|
||||
rig_ptr_t *pstrotator_handler_priv_data;
|
||||
deferred_config_header_t config_queue;
|
||||
};
|
||||
|
||||
|
||||
|
|
|
@ -86,6 +86,8 @@
|
|||
//! @endcond
|
||||
#define ROT_MODEL_DUMMY ROT_MAKE_MODEL(ROT_DUMMY, 1)
|
||||
#define ROT_MODEL_NETROTCTL ROT_MAKE_MODEL(ROT_DUMMY, 2)
|
||||
#define ROT_MODEL_PSTROTATOR ROT_MAKE_MODEL(ROT_DUMMY, 3)
|
||||
#define ROT_MODEL_SATROTCTL ROT_MAKE_MODEL(ROT_DUMMY, 4)
|
||||
|
||||
|
||||
/**
|
||||
|
@ -700,6 +702,18 @@
|
|||
//! @endcond
|
||||
#define ROT_MODEL_SAEBRTRACK ROT_MAKE_MODEL(ROT_SAEBRTRACK, 1)
|
||||
|
||||
/**
|
||||
* \brief A macro that returns the model number of the SKYWATCHER backend.
|
||||
*
|
||||
* \def ROT_MODEL_SKYWATCHER
|
||||
*
|
||||
* The SKYWATCHER backend can be used with SKYWATCHER * rotators.
|
||||
*/
|
||||
//! @cond Doxygen_Suppress
|
||||
#define ROT_SKYWATCHER 28
|
||||
#define ROT_BACKEND_SKYWATCHER "SkyWatcher"
|
||||
//! @endcond
|
||||
#define ROT_MODEL_SKYWATCHER ROT_MAKE_MODEL(ROT_SKYWATCHER, 1)
|
||||
|
||||
/**
|
||||
* \brief Convenience type definition for a rotator model.
|
||||
|
|
Ładowanie…
Reference in New Issue