Updated and new GS232 backends. Added new models for AMSAT LVB Tracker and Fox Delta ST2. Model 602 is now 'GS232 Generic' with new models for GS232 and GS23.

This commit is contained in:
vk2ckp 2019-05-31 22:12:25 +10:00
parent 7e8e596c00
commit f9f8e95852
5 changed files with 194 additions and 17 deletions

View File

@ -198,14 +198,14 @@ gs232_rot_stop(ROT *rot)
/* ************************************************************************* */
/*
* Generic GS232 (not A, not B) rotator capabilities.
* Generic GS232 Protocol (including those not correctly implmented) rotator capabilities.
*/
const struct rot_caps gs232_rot_caps = {
.rot_model = ROT_MODEL_GS232,
.model_name = "GS-232",
.mfg_name = "Yaesu/Kenpro",
.version = "0.2",
const struct rot_caps gs232_generic_rot_caps = {
.rot_model = ROT_MODEL_GS232_GENERIC,
.model_name = "GS-232 Generic",
.mfg_name = "Various",
.version = "0.3",
.copyright = "LGPL",
.status = RIG_STATUS_BETA,
.rot_type = ROT_TYPE_AZEL,
@ -231,6 +231,76 @@ const struct rot_caps gs232_rot_caps = {
.stop = gs232_rot_stop,
};
/* ************************************************************************* */
/*
* Generic AMSAT LVB Tracker rotator capabilities.
*/
const struct rot_caps amsat_lvb_rot_caps = {
.rot_model = ROT_MODEL_LVB,
.model_name = "LVB Tracker",
.mfg_name = "AMSAT",
.version = "0.1",
.copyright = "LGPL",
.status = RIG_STATUS_ALPHA,
.rot_type = ROT_TYPE_AZEL,
.port_type = RIG_PORT_SERIAL,
.serial_rate_min = 150,
.serial_rate_max = 9600,
.serial_data_bits = 8,
.serial_stop_bits = 1,
.serial_parity = RIG_PARITY_NONE,
.serial_handshake = RIG_HANDSHAKE_NONE,
.write_delay = 0,
.post_write_delay = 0,
.timeout = 400,
.retry = 3,
.min_az = -180.0,
.max_az = 450.0, /* vary according to rotator type */
.min_el = 0.0,
.max_el = 180.0,
.get_position = gs232_rot_get_position,
.set_position = gs232_rot_set_position,
.stop = gs232_rot_stop,
};
/* ************************************************************************* */
/*
* Generic FoxDelta ST2 rotator capabilities.
*/
const struct rot_caps st2_rot_caps = {
.rot_model = ROT_MODEL_ST2,
.model_name = "GS232/ST2",
.mfg_name = "FoxDelta",
.version = "0.1",
.copyright = "LGPL",
.status = RIG_STATUS_ALPHA,
.rot_type = ROT_TYPE_AZEL,
.port_type = RIG_PORT_SERIAL,
.serial_rate_min = 150,
.serial_rate_max = 9600,
.serial_data_bits = 8,
.serial_stop_bits = 1,
.serial_parity = RIG_PARITY_NONE,
.serial_handshake = RIG_HANDSHAKE_NONE,
.write_delay = 0,
.post_write_delay = 0,
.timeout = 400,
.retry = 3,
.min_az = -180.0,
.max_az = 450.0, /* vary according to rotator type */
.min_el = 0.0,
.max_el = 180.0,
.get_position = gs232_rot_get_position,
.set_position = gs232_rot_set_position,
.stop = gs232_rot_stop,
};
/* ************************************************************************* */
/*

View File

@ -233,6 +233,76 @@ gs232a_rot_move(ROT *rot, int direction, int speed)
return RIG_OK;
}
/* ************************************************************************* */
/*
* Generic GS23 rotator capabilities.
*/
const struct rot_caps gs23_rot_caps = {
.rot_model = ROT_MODEL_GS23,
.model_name = "GS-23",
.mfg_name = "Yaesu/Kenpro",
.version = "0.1",
.copyright = "LGPL",
.status = RIG_STATUS_ALPHA,
.rot_type = ROT_TYPE_AZEL,
.port_type = RIG_PORT_SERIAL,
.serial_rate_min = 150,
.serial_rate_max = 9600,
.serial_data_bits = 8,
.serial_stop_bits = 1,
.serial_parity = RIG_PARITY_NONE,
.serial_handshake = RIG_HANDSHAKE_NONE,
.write_delay = 0,
.post_write_delay = 0,
.timeout = 400,
.retry = 3,
.min_az = -180.0,
.max_az = 450.0, /* vary according to rotator type */
.min_el = 0.0,
.max_el = 180.0,
.get_position = gs232a_rot_get_position,
.set_position = gs232a_rot_set_position,
.stop = gs232a_rot_stop,
};
/* ************************************************************************* */
/*
* Generic GS232 rotator capabilities.
*/
const struct rot_caps gs232_rot_caps = {
.rot_model = ROT_MODEL_GS232,
.model_name = "GS-232",
.mfg_name = "Yaesu/Kenpro",
.version = "0.1",
.copyright = "LGPL",
.status = RIG_STATUS_ALPHA,
.rot_type = ROT_TYPE_AZEL,
.port_type = RIG_PORT_SERIAL,
.serial_rate_min = 150,
.serial_rate_max = 9600,
.serial_data_bits = 8,
.serial_stop_bits = 1,
.serial_parity = RIG_PARITY_NONE,
.serial_handshake = RIG_HANDSHAKE_NONE,
.write_delay = 0,
.post_write_delay = 0,
.timeout = 400,
.retry = 3,
.min_az = -180.0,
.max_az = 450.0, /* vary according to rotator type */
.min_el = 0.0,
.max_el = 180.0,
.get_position = gs232a_rot_get_position,
.set_position = gs232a_rot_set_position,
.stop = gs232a_rot_stop,
};
/* ************************************************************************* */
/*
* Generic GS232A rotator capabilities.
@ -242,7 +312,7 @@ const struct rot_caps gs232a_rot_caps = {
.rot_model = ROT_MODEL_GS232A,
.model_name = "GS-232A",
.mfg_name = "Yaesu",
.version = "0.4",
.version = "0.5",
.copyright = "LGPL",
.status = RIG_STATUS_BETA,
.rot_type = ROT_TYPE_OTHER,
@ -265,23 +335,31 @@ const struct rot_caps gs232a_rot_caps = {
.get_position = gs232a_rot_get_position,
.set_position = gs232a_rot_set_position,
.stop = gs232a_rot_stop,
.stop = gs232a_rot_stop,
.move = gs232a_rot_move,
};
/* ************************************************************************* */
DECLARE_INITROT_BACKEND(gs232a)
{
rig_debug(RIG_DEBUG_VERBOSE, "%s called\n", __FUNCTION__);
rot_register(&gs232a_rot_caps);
rot_register(&gs232_generic_rot_caps);
rot_register(&gs232b_rot_caps);
rot_register(&gs232_rot_caps);
rot_register(&f1tetracker_rot_caps);
return RIG_OK;
rot_register(&gs23_rot_caps);
rot_register(&gs232_rot_caps);
rot_register(&amsat_lvb_rot_caps);
rot_register(&st2_rot_caps);
return RIG_OK;
}
/* ************************************************************************* */

View File

@ -22,9 +22,13 @@
#ifndef _ROT_GS232A_H
#define _ROT_GS232A_H 1
extern const struct rot_caps gs232_rot_caps;
extern const struct rot_caps gs232a_rot_caps;
extern const struct rot_caps gs232_generic_rot_caps;
extern const struct rot_caps gs232b_rot_caps;
extern const struct rot_caps f1tetracker_rot_caps;
extern const struct rot_caps gs23_rot_caps;
extern const struct rot_caps gs232_rot_caps;
extern const struct rot_caps amsat_lvb_rot_caps;
extern const struct rot_caps st2_rot_caps;
#endif /* _ROT_GS232A_H */

View File

@ -244,7 +244,7 @@ const struct rot_caps gs232b_rot_caps = {
.rot_model = ROT_MODEL_GS232B,
.model_name = "GS-232B",
.mfg_name = "Yaesu",
.version = "0.3",
.version = "0.4",
.copyright = "LGPL",
.status = RIG_STATUS_BETA,
.rot_type = ROT_TYPE_OTHER,

View File

@ -177,10 +177,10 @@
* protocol.
*/
/**
* \def ROT_MODEL_GS232
* \def ROT_MODEL_GS232_GENERIC
* \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
* The GS-232 backend can be used with rotators that support the generic (even if not coded correctly) GS-232
* protocol.
*/
/**
@ -197,13 +197,38 @@
* The F1TETRACKER backend can be used with rotators that support the
* F1TETRACKER protocol.
*/
/**
* \def ROT_MODEL_GS23
* \brief A macro that returns the model number of the GS23 backend.
*
* The GS23 backend can be used with rotators that support the
* GS23 protocol.
*/
/**
* \def ROT_MODEL_AMSAT_LVB
* \brief A macro that returns the model number of the AMSAT_LVB TRACKER backend.
*
* The AMSAT LVB TRACKER backend can be used with rotators that support the
* AMSAT LVB TRACKER GS232 based protocol.
*/
/**
* \def ROT_MODEL_ST2
* \brief A macro that returns the model number of the Fox Delta ST2 backend.
*
* The Fox Delta ST2 backend can be used with rotators that support the
* Fox Delta ST2 GS232 based protocol.
*/
#define ROT_GS232A 6
#define ROT_BACKEND_GS232A "gs232a"
#define ROT_MODEL_GS232A ROT_MAKE_MODEL(ROT_GS232A, 1)
#define ROT_MODEL_GS232 ROT_MAKE_MODEL(ROT_GS232A, 2) /* Not A or B */
#define ROT_MODEL_GS232_GENERIC ROT_MAKE_MODEL(ROT_GS232A, 2) /* GENERIC */
#define ROT_MODEL_GS232B ROT_MAKE_MODEL(ROT_GS232A, 3)
#define ROT_MODEL_F1TETRACKER ROT_MAKE_MODEL(ROT_GS232A, 4)
#define ROT_MODEL_GS23 ROT_MAKE_MODEL(ROT_GS232A, 5)
#define ROT_MODEL_GS232 ROT_MAKE_MODEL(ROT_GS232A, 6) /* Not A or B */
#define ROT_MODEL_LVB ROT_MAKE_MODEL(ROT_GS232A, 7)
#define ROT_MODEL_ST2 ROT_MAKE_MODEL(ROT_GS232A, 8)
/**
* \def ROT_MODEL_PCROTOR