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.

pull/113/head
vk2ckp 2019-05-31 22:12:25 +10:00
rodzic 7e8e596c00
commit f9f8e95852
5 zmienionych plików z 194 dodań i 17 usunięć

Wyświetl plik

@ -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,
};
/* ************************************************************************* */
/*

Wyświetl plik

@ -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;
}
/* ************************************************************************* */

Wyświetl plik

@ -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 */

Wyświetl plik

@ -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,

Wyświetl plik

@ -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