diff --git a/NEWS b/NEWS index b91c026ac..7a3747187 100644 --- a/NEWS +++ b/NEWS @@ -13,6 +13,7 @@ Version 5.x -- future * Change FT1000MP Mark V model names to align with FT1000MP Version 4.6 + * Added csntechnoligies.net S.A.T Satellite rotor control * Added PSTRotator control * Added Flex SmartSDR slices A-H * Added Motorola Micom M2/M3 diff --git a/include/hamlib/rotlist.h b/include/hamlib/rotlist.h index a8ae9f754..cd49c7c10 100644 --- a/include/hamlib/rotlist.h +++ b/include/hamlib/rotlist.h @@ -87,6 +87,7 @@ #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) /** diff --git a/rigs/dummy/netrotctl.c b/rigs/dummy/netrotctl.c index 27f4947f7..0b18c6357 100644 --- a/rigs/dummy/netrotctl.c +++ b/rigs/dummy/netrotctl.c @@ -373,3 +373,39 @@ struct rot_caps netrotctl_caps = .get_info = netrotctl_get_info, }; +/* + * S.A.T. rotator mimics net rotor but only minimal capabilities. + * Fails to work with net rotor since it fails dump_state. + */ + +static int satrotcrl_rot_init(ROT *rot) +{ + rig_debug(RIG_DEBUG_VERBOSE, "%s called\n", __func__); + + return RIG_OK; +} + +struct rot_caps satrotctl_caps = +{ + ROT_MODEL(ROT_MODEL_SATROTCTL), + .model_name = "S.A.T. Satellite ctl", + .mfg_name = "csntechnologies.net", + .version = "20240609.0", + .copyright = "LGPL", + .status = RIG_STATUS_UNTESTED, + .rot_type = ROT_TYPE_AZEL, + .port_type = RIG_PORT_NETWORK, + .timeout = 400, + + .min_az = -180., + .max_az = 450., + .min_el = 0., + .max_el = 90., + + .priv = NULL, /* priv */ + + .rot_init = satrotcrl_rot_init, + .set_position = netrotctl_set_position, + .get_position = netrotctl_get_position, +}; + diff --git a/rigs/dummy/rot_dummy.c b/rigs/dummy/rot_dummy.c index ae761b93f..ed1a96136 100644 --- a/rigs/dummy/rot_dummy.c +++ b/rigs/dummy/rot_dummy.c @@ -1011,6 +1011,7 @@ DECLARE_INITROT_BACKEND(dummy) rot_register(&dummy_rot_caps); rot_register(&netrotctl_caps); rot_register(&pstrotator_caps); + rot_register(&satrotctl_caps); return RIG_OK; } diff --git a/rigs/dummy/rot_dummy.h b/rigs/dummy/rot_dummy.h index 8106b40dc..a71204843 100644 --- a/rigs/dummy/rot_dummy.h +++ b/rigs/dummy/rot_dummy.h @@ -40,5 +40,6 @@ extern struct rot_caps dummy_rot_caps; extern struct rot_caps netrotctl_caps; extern struct rot_caps pstrotator; +extern struct rot_caps satrotctl_caps; #endif /* _ROT_DUMMY_H */