Upgraded the tracking rate detection, now detects solar, lunar and sidereal better than before.
This commit is contained in:
@@ -143,7 +143,7 @@ namespace Meade.net.Telescope.UnitTests
|
||||
|
||||
_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("TL", false)).Callback(() => _testProperties.TrackingRate = "57.9");
|
||||
_sharedResourcesWrapperMock.Setup(x => x.SendBlind("TQ", false)).Callback(() => _testProperties.TrackingRate = _siderealTrackingRate);
|
||||
|
||||
_sharedResourcesWrapperMock.Setup(x => x.ProductName).Returns(() => productName);
|
||||
@@ -2778,9 +2778,11 @@ namespace Meade.net.Telescope.UnitTests
|
||||
}
|
||||
|
||||
[TestCase(DriveRates.driveSidereal, "60.1")]
|
||||
[TestCase(DriveRates.driveLunar, "60.1")]
|
||||
[TestCase(DriveRates.driveSolar, "60.0")]
|
||||
[TestCase(DriveRates.driveLunar, "57.9")]
|
||||
[TestCase(DriveRates.driveSidereal, "+60.1")]
|
||||
[TestCase(DriveRates.driveLunar, "+60.1")]
|
||||
[TestCase(DriveRates.driveSolar, "+60.0")]
|
||||
[TestCase(DriveRates.driveLunar, "+57.9")]
|
||||
public void TrackingRate_Get_WhenConnected_ThenSendsCommandToTelescope(DriveRates rate, string trackingRate)
|
||||
{
|
||||
_siderealTrackingRate = trackingRate;
|
||||
|
||||
@@ -2643,7 +2643,25 @@ namespace ASCOM.Meade.net
|
||||
|
||||
rate = rate.Replace("+", string.Empty);
|
||||
|
||||
DriveRates result = rate == "60.1" ? DriveRates.driveSidereal : DriveRates.driveLunar;
|
||||
DriveRates result;
|
||||
|
||||
switch (rate)
|
||||
{
|
||||
case "60.1":
|
||||
result = DriveRates.driveSidereal;
|
||||
break;
|
||||
case "60.0":
|
||||
result = DriveRates.driveSolar;
|
||||
break;
|
||||
case "57.9":
|
||||
result = DriveRates.driveLunar;
|
||||
break;
|
||||
default:
|
||||
result = DriveRates.driveKing;
|
||||
//If this is ever returned it is representing a fail condition.
|
||||
break;
|
||||
}
|
||||
|
||||
|
||||
LogMessage("TrackingRate Get", $"{rate} {result}");
|
||||
|
||||
@@ -2672,14 +2690,15 @@ namespace ASCOM.Meade.net
|
||||
//:TL# Set Lunar Tracking Rage
|
||||
//Returns: Nothing
|
||||
break;
|
||||
//case DriveRates.driveSolar:
|
||||
// SerialPort.Command(":TS#");
|
||||
case DriveRates.driveSolar:
|
||||
SharedResourcesWrapper.SendBlind("TS");
|
||||
// //:TS# Select Solar tracking rate. [LS Only]
|
||||
// //Returns: Nothing
|
||||
// break;
|
||||
break;
|
||||
//case DriveRates.driveKing:
|
||||
//:TM# Select custom tracking rate [ no-op in Autostar II]
|
||||
//Returns: Nothing
|
||||
// SharedResourcesWrapper.SendBlind("TM");
|
||||
// //:TM# Select custom tracking rate [ no-op in Autostar II]
|
||||
// //Returns: Nothing
|
||||
// break;
|
||||
default:
|
||||
throw new ArgumentOutOfRangeException(nameof(value), value, null);
|
||||
|
||||
Reference in New Issue
Block a user