Compare commits

..

6 Commits

Author SHA1 Message Date
ColinD 771e325067 Merged in develop (pull request #39)
Removed unneeded lock and will cause a lock recursion and break things.
2021-10-18 17:56:27 +00:00
ColinD a5a3bd5bd4 Removed unneeded lock and will cause a lock recursion and break things. 2021-10-14 13:50:24 +01:00
ColinD a605a3ed9d Merged in develop (pull request #38)
Develop
2021-09-26 16:18:18 +00:00
ColinD ad9169a48d Modified so that the driver supports either +60.1 or 60.1 for tracking rate 2021-09-26 16:50:46 +01:00
ColinD 3b056ef7f8 Fixed bug in tracking rate get where it always returns lunar when it should be sidereal 2021-09-17 09:38:35 +01:00
ColinD 710ae0420a Added left, right as sysonyms of back and forward for the handbox commands.
Added scrollup and scrolldown handbox commands as well.
2021-09-09 12:14:15 +01:00
2 changed files with 38 additions and 19 deletions
@@ -56,12 +56,14 @@ namespace Meade.net.Telescope.UnitTests
private bool _isParked;
private ParkedPosition _parkedPosition;
private string _siderealTrackingRate;
[SetUp]
public void Setup()
{
_isParked = false;
_parkedPosition = null;
_siderealTrackingRate = "+60.1";
_testProperties = new TestProperties();
@@ -142,11 +144,10 @@ namespace Meade.net.Telescope.UnitTests
_sharedResourcesWrapperMock.Setup(x => x.SendString("GL", false)).Returns(() => _testProperties.telescopeTime);
_sharedResourcesWrapperMock.Setup(x => x.SendString("GG", false)).Returns(() => _testProperties.telescopeUtcCorrection);
const string siderealTrackingRate = "60.1";
_testProperties.TrackingRate = siderealTrackingRate;
_testProperties.TrackingRate = _siderealTrackingRate;
_sharedResourcesWrapperMock.Setup(x => x.SendString("GT", false)).Returns(() => _testProperties.TrackingRate);
_sharedResourcesWrapperMock.Setup(x => x.SendBlind("TL", false)).Callback(() => _testProperties.TrackingRate = "lunar");
_sharedResourcesWrapperMock.Setup(x => x.SendBlind("TQ", false)).Callback(() => _testProperties.TrackingRate = siderealTrackingRate);
_sharedResourcesWrapperMock.Setup(x => x.SendBlind("TQ", false)).Callback(() => _testProperties.TrackingRate = _siderealTrackingRate);
_sharedResourcesWrapperMock.Setup(x => x.ProductName).Returns(() => productName);
_sharedResourcesWrapperMock.Setup(x => x.FirmwareVersion).Returns(() => firmwareVersion);
@@ -246,6 +247,10 @@ namespace Meade.net.Telescope.UnitTests
[TestCase("down", "EK118")]
[TestCase("back", "EK87")]
[TestCase("forward", "EK69")]
[TestCase("left", "EK87")]
[TestCase("right", "EK69")]
[TestCase("scrollup", "EK85")]
[TestCase("scrolldown", "EK68")]
[TestCase("?", "EK63")]
public void Action_Handbox_WhenCalling_ThenSendsAppropriateBlindCommands(string action, string expectedString)
{
@@ -2728,8 +2733,9 @@ namespace Meade.net.Telescope.UnitTests
Assert.That(exception.Message, Is.EqualTo("Exception of type 'System.ArgumentOutOfRangeException' was thrown.\r\nParameter name: value\r\nActual value was driveKing."));
}
[Test]
public void TrackingRage_Get_WhenReadongDefaultValue_ThenAssumesSidereal()
[TestCase("60.1")]
[TestCase("+60.1")]
public void TrackingRage_Get_WhenReadingDefaultValue_ThenAssumesSidereal(string trackingRate)
{
ConnectTelescope();
@@ -2738,10 +2744,14 @@ namespace Meade.net.Telescope.UnitTests
Assert.That(result, Is.EqualTo(DriveRates.driveSidereal));
}
[TestCase(DriveRates.driveSidereal)]
[TestCase(DriveRates.driveLunar)]
public void TrackingRate_Get_WhenConnected_ThenSendsCommandToTelescope(DriveRates rate)
[TestCase(DriveRates.driveSidereal, "60.1")]
[TestCase(DriveRates.driveLunar, "60.1")]
[TestCase(DriveRates.driveSidereal, "+60.1")]
[TestCase(DriveRates.driveLunar, "+60.1")]
public void TrackingRate_Get_WhenConnected_ThenSendsCommandToTelescope(DriveRates rate, string trackingRate)
{
_siderealTrackingRate = trackingRate;
string productName = TelescopeList.Autostar497;
string firmwareVersion = TelescopeList.Autostar497_43Eg;
@@ -2754,9 +2764,11 @@ namespace Meade.net.Telescope.UnitTests
Assert.That(result, Is.EqualTo(rate));
}
[TestCase(DriveRates.driveSidereal)]
[TestCase(DriveRates.driveLunar)]
public void TrackingRate_Set_WhenConnectedToLX200_ThenThrowsException(DriveRates rate)
[TestCase(DriveRates.driveSidereal, "60.1")]
[TestCase(DriveRates.driveLunar, "60.1")]
[TestCase(DriveRates.driveSidereal, "+60.1")]
[TestCase(DriveRates.driveLunar, "+60.1")]
public void TrackingRate_Set_WhenConnectedToLX200_ThenThrowsException(DriveRates rate, string trackingRate)
{
string productName = TelescopeList.LX200CLASSIC;
string firmwareVersion = string.Empty;
+15 -8
View File
@@ -249,11 +249,19 @@ namespace ASCOM.Meade.net
SharedResourcesWrapper.SendBlind("EK118");
break;
case "back":
case "left":
SharedResourcesWrapper.SendBlind("EK87");
break;
case "forward":
case "right":
SharedResourcesWrapper.SendBlind("EK69");
break;
case "scrollup":
SharedResourcesWrapper.SendBlind("EK85");
break;
case "scrolldown":
SharedResourcesWrapper.SendBlind("EK68");
break;
case "?":
SharedResourcesWrapper.SendBlind("EK63");
break;
@@ -2283,14 +2291,11 @@ namespace ASCOM.Meade.net
CheckConnected("SlewToCoordinatesAsync");
CheckParked();
SharedResourcesWrapper.Lock(() =>
{
TargetRightAscension = rightAscension;
TargetDeclination = declination;
TargetRightAscension = rightAscension;
TargetDeclination = declination;
DoSlewAsync(true);
DoSlewAsync(true);
}
);
LogMessage("SlewToCoordinatesAsync", $"Completed Ra={rightAscension}, Dec={declination}");
}
public void SlewToTarget()
@@ -2631,12 +2636,14 @@ namespace ASCOM.Meade.net
{
get
{
var rate = CommandString("GT", false);
var rate = CommandString("GT", false);
//:GT# Get tracking rate
//Returns: TT.T#
//Current Track Frequency expressed in hertz assuming a synchonous motor design where a 60.0 Hz motor clock
// would produce 1 revolution of the telescope in 24 hours.
rate = rate.Replace("+", string.Empty);
DriveRates result = rate == "60.1" ? DriveRates.driveSidereal : DriveRates.driveLunar;
LogMessage("TrackingRate Get", $"{rate} {result}");