Implemented TrackingRate via GT
This commit is contained in:
@@ -53,6 +53,7 @@ namespace Meade.net.Telescope.UnitTests
|
||||
|
||||
private bool _isParked;
|
||||
private ParkedPosition _parkedPosition;
|
||||
private string _trackingRate;
|
||||
|
||||
[SetUp]
|
||||
public void Setup()
|
||||
@@ -134,6 +135,12 @@ 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";
|
||||
_trackingRate = siderealTrackingRate;
|
||||
_sharedResourcesWrapperMock.Setup(x => x.SendString("GT", false)).Returns(() => _trackingRate);
|
||||
_sharedResourcesWrapperMock.Setup(x => x.SendBlind("TL", false)).Callback(() => _trackingRate = "lunar");
|
||||
_sharedResourcesWrapperMock.Setup(x => x.SendBlind("TQ", false)).Callback(() => _trackingRate = siderealTrackingRate);
|
||||
|
||||
_sharedResourcesWrapperMock.Setup(x => x.ProductName).Returns(() => productName);
|
||||
_sharedResourcesWrapperMock.Setup(x => x.FirmwareVersion).Returns(() => firmwareVersion);
|
||||
|
||||
@@ -2672,7 +2679,10 @@ namespace Meade.net.Telescope.UnitTests
|
||||
|
||||
_telescope.TrackingRate = rate;
|
||||
|
||||
Assert.That(_telescope.TrackingRate, Is.EqualTo(rate));
|
||||
|
||||
_sharedResourcesWrapperMock.Verify(x => x.SendBlind(commandString, false), Times.Once);
|
||||
_sharedResourcesWrapperMock.Verify(x => x.SendString("GT", false), Times.Once);
|
||||
}
|
||||
|
||||
[Test]
|
||||
|
||||
@@ -2606,26 +2606,17 @@ namespace ASCOM.Meade.net
|
||||
}
|
||||
}
|
||||
|
||||
private DriveRates _trackingRate = DriveRates.driveSidereal;
|
||||
|
||||
public DriveRates TrackingRate
|
||||
{
|
||||
get
|
||||
{
|
||||
//todo implement this with the GW command
|
||||
//var result = SerialPort.CommandTerminated(":GT#", "#");
|
||||
var rate = CommandString("GT", false);
|
||||
|
||||
//double rate = double.Parse(result);
|
||||
if (rate == "+60.1")
|
||||
return DriveRates.driveSidereal;
|
||||
|
||||
|
||||
//if (rate == 60.1)
|
||||
// return DriveRates.driveLunar;
|
||||
//else if (rate == 60.1)
|
||||
// return DriveRates.driveSidereal;
|
||||
|
||||
//return DriveRates.driveKing;
|
||||
LogMessage("TrackingRate Get", $"{_trackingRate}");
|
||||
return _trackingRate;
|
||||
// we only support two rates ATM so return lunar tracking rate
|
||||
return DriveRates.driveLunar;
|
||||
}
|
||||
set
|
||||
{
|
||||
@@ -2657,8 +2648,6 @@ namespace ASCOM.Meade.net
|
||||
default:
|
||||
throw new ArgumentOutOfRangeException(nameof(value), value, null);
|
||||
}
|
||||
|
||||
_trackingRate = value;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user