diff --git a/include/hamlib/rotlist.h b/include/hamlib/rotlist.h index f3f3ce922..45d4e01a1 100644 --- a/include/hamlib/rotlist.h +++ b/include/hamlib/rotlist.h @@ -176,6 +176,13 @@ * The RT21 backend can be used with rotators that support the DCU command set * by Green Heron (currently the RT-21). */ +/** + * \brief A macro that returns the model number of the YRC-1 backend. + * + * \def ROT_MODEL_YRC1 + * + * The YRC1 backend can be used with rotators that support the DCU 2/3 command set + */ //! @cond Doxygen_Suppress #define ROT_ROTOREZ 4 #define ROT_BACKEND_ROTOREZ "rotorez" @@ -185,6 +192,8 @@ #define ROT_MODEL_DCU ROT_MAKE_MODEL(ROT_ROTOREZ, 3) #define ROT_MODEL_ERC ROT_MAKE_MODEL(ROT_ROTOREZ, 4) #define ROT_MODEL_RT21 ROT_MAKE_MODEL(ROT_ROTOREZ, 5) +#define ROT_MODEL_YRC1 ROT_MAKE_MODEL(ROT_ROTOREZ, 6) +#define ROT_MODEL_RT21 ROT_MAKE_MODEL(ROT_ROTOREZ, 5) /** diff --git a/rotators/rotorez/rotorez.c b/rotators/rotorez/rotorez.c index 6536d0dea..6d8c1b75b 100644 --- a/rotators/rotorez/rotorez.c +++ b/rotators/rotorez/rotorez.c @@ -301,6 +301,53 @@ const struct rot_caps erc_rot_caps = }; +/* + * Rotor capabilities for Hy-Gain YRC-1 compatible with DF9GR ERC + * + * TODO: Learn of additional capabilities of the ERC + */ + +const struct rot_caps yrc1_rot_caps = +{ + ROT_MODEL(ROT_MODEL_YRC1), + .model_name = "DCU2/DCU3/YRC-1", + .mfg_name = "Hy-Gain", + .version = "20100823.2", + .copyright = "LGPL", + .status = RIG_STATUS_STABLE, + .rot_type = ROT_TYPE_OTHER, + .port_type = RIG_PORT_SERIAL, + .serial_rate_min = 4800, + .serial_rate_max = 4800, + .serial_data_bits = 8, + .serial_stop_bits = 1, + .serial_parity = RIG_PARITY_NONE, + .serial_handshake = RIG_HANDSHAKE_NONE, + .write_delay = 0, + .post_write_delay = 500, + .timeout = 1500, + .retry = 2, + + .min_az = 0, + .max_az = 360, + .min_el = 0, + .max_el = 0, + + .priv = NULL, /* priv */ +// .cfgparams = rotorez_cfg_params, + + .rot_init = rotorez_rot_init, + .rot_cleanup = rotorez_rot_cleanup, + .set_position = rotorez_rot_set_position, + .get_position = erc_rot_get_position, + .stop = dcu1_rot_stop, + .reset = rotorez_rot_reset, +// .stop = rotorez_rot_stop, +// .set_conf = rotorez_rot_set_conf, + .get_info = rotorez_rot_get_info, + +}; + const struct rot_caps rt21_rot_caps = { @@ -1098,6 +1145,7 @@ DECLARE_INITROT_BACKEND(rotorez) rot_register(&dcu_rot_caps); rot_register(&erc_rot_caps); rot_register(&rt21_rot_caps); + rot_register(&yrc1_rot_caps); return RIG_OK; } diff --git a/rotators/rotorez/rotorez.h b/rotators/rotorez/rotorez.h index d1d42b8ac..49d8759ef 100644 --- a/rotators/rotorez/rotorez.h +++ b/rotators/rotorez/rotorez.h @@ -38,6 +38,7 @@ extern const struct rot_caps rotorcard_rot_caps; extern const struct rot_caps dcu_rot_caps; extern const struct rot_caps erc_rot_caps; extern const struct rot_caps rt21_rot_caps; +extern const struct rot_caps yrc1_rot_caps; /* * Tokens used by rotorez_rot_set_conf and the 'C' command in rotctl