From ae4ba48ce29e61550a33af587e4fe5694cb18232 Mon Sep 17 00:00:00 2001 From: Colin Date: Thu, 2 May 2019 16:12:53 +0100 Subject: [PATCH] Added support for reading Declination --- .../TelescopeControllerUnitTests.cs | 15 +++++++++++++++ MeadeAutostar497/AscomClasses/Telescope.cs | 2 +- .../Controller/ITelescopeController.cs | 1 + .../Controller/TelescopeController.cs | 17 ++++++++++++++++- 4 files changed, 33 insertions(+), 2 deletions(-) diff --git a/MeadeAutostar497.UnitTests/TelescopeControllerUnitTests.cs b/MeadeAutostar497.UnitTests/TelescopeControllerUnitTests.cs index c5e8fe7..a52d946 100644 --- a/MeadeAutostar497.UnitTests/TelescopeControllerUnitTests.cs +++ b/MeadeAutostar497.UnitTests/TelescopeControllerUnitTests.cs @@ -536,5 +536,20 @@ namespace MeadeAutostar497.UnitTests Assert.That( az, Is.EqualTo(expectedResult)); } + + [TestCase("+75*13", 75.2166666666666654)] + [TestCase("+65*13'21", 65.222499999999997)] + public void Declination_CanGetValue(string response, double expectedResult) + { + serialMock.Setup(x => x.CommandTerminated(":GD#", "#")).Returns(response); + + _isConnected = true; + + _telescopeController.Connected = true; + + var result = _telescopeController.Declination; + + Assert.That(result, Is.EqualTo(expectedResult)); + } } } diff --git a/MeadeAutostar497/AscomClasses/Telescope.cs b/MeadeAutostar497/AscomClasses/Telescope.cs index dbff572..9a7c05e 100644 --- a/MeadeAutostar497/AscomClasses/Telescope.cs +++ b/MeadeAutostar497/AscomClasses/Telescope.cs @@ -524,7 +524,7 @@ namespace ASCOM.MeadeAutostar497 { get { - double declination = 0.0; + double declination = _telescopeController.Declination; tl.LogMessage("Declination", "Get - " + utilities.DegreesToDMS(declination, ":", ":")); return declination; } diff --git a/MeadeAutostar497/Controller/ITelescopeController.cs b/MeadeAutostar497/Controller/ITelescopeController.cs index a8f7de8..6f1f3fa 100644 --- a/MeadeAutostar497/Controller/ITelescopeController.cs +++ b/MeadeAutostar497/Controller/ITelescopeController.cs @@ -15,6 +15,7 @@ namespace ASCOM.MeadeAutostar497.Controller AlignmentModes AlignmentMode { get; set; } bool AtPark { get; } double Azimuth { get; } + double Declination { get; } void AbortSlew(); void PulseGuide(GuideDirections direction, int duration); void Park(); diff --git a/MeadeAutostar497/Controller/TelescopeController.cs b/MeadeAutostar497/Controller/TelescopeController.cs index d85f038..04d8dff 100644 --- a/MeadeAutostar497/Controller/TelescopeController.cs +++ b/MeadeAutostar497/Controller/TelescopeController.cs @@ -320,7 +320,22 @@ namespace ASCOM.MeadeAutostar497.Controller return az; } - } + } + + public double Declination + { + get + { + var result = SerialPort.CommandTerminated(":GD#", "#"); + //:GD# Get Telescope Declination. + //Returns: sDD* MM# or sDD*MM’SS# + //Depending upon the current precision setting for the telescope. + + double az = DMSToDouble(result); + + return az; + } + } public void AbortSlew() {