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;
|
_testProperties.TrackingRate = _siderealTrackingRate;
|
||||||
_sharedResourcesWrapperMock.Setup(x => x.SendString("GT", false)).Returns(() => _testProperties.TrackingRate);
|
_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.SendBlind("TQ", false)).Callback(() => _testProperties.TrackingRate = _siderealTrackingRate);
|
||||||
|
|
||||||
_sharedResourcesWrapperMock.Setup(x => x.ProductName).Returns(() => productName);
|
_sharedResourcesWrapperMock.Setup(x => x.ProductName).Returns(() => productName);
|
||||||
@@ -2778,9 +2778,11 @@ namespace Meade.net.Telescope.UnitTests
|
|||||||
}
|
}
|
||||||
|
|
||||||
[TestCase(DriveRates.driveSidereal, "60.1")]
|
[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.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)
|
public void TrackingRate_Get_WhenConnected_ThenSendsCommandToTelescope(DriveRates rate, string trackingRate)
|
||||||
{
|
{
|
||||||
_siderealTrackingRate = trackingRate;
|
_siderealTrackingRate = trackingRate;
|
||||||
|
|||||||
@@ -2643,7 +2643,25 @@ namespace ASCOM.Meade.net
|
|||||||
|
|
||||||
rate = rate.Replace("+", string.Empty);
|
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}");
|
LogMessage("TrackingRate Get", $"{rate} {result}");
|
||||||
|
|
||||||
@@ -2672,14 +2690,15 @@ namespace ASCOM.Meade.net
|
|||||||
//:TL# Set Lunar Tracking Rage
|
//:TL# Set Lunar Tracking Rage
|
||||||
//Returns: Nothing
|
//Returns: Nothing
|
||||||
break;
|
break;
|
||||||
//case DriveRates.driveSolar:
|
case DriveRates.driveSolar:
|
||||||
// SerialPort.Command(":TS#");
|
SharedResourcesWrapper.SendBlind("TS");
|
||||||
// //:TS# Select Solar tracking rate. [LS Only]
|
// //:TS# Select Solar tracking rate. [LS Only]
|
||||||
// //Returns: Nothing
|
// //Returns: Nothing
|
||||||
// break;
|
break;
|
||||||
//case DriveRates.driveKing:
|
//case DriveRates.driveKing:
|
||||||
//:TM# Select custom tracking rate [ no-op in Autostar II]
|
// SharedResourcesWrapper.SendBlind("TM");
|
||||||
//Returns: Nothing
|
// //:TM# Select custom tracking rate [ no-op in Autostar II]
|
||||||
|
// //Returns: Nothing
|
||||||
// break;
|
// break;
|
||||||
default:
|
default:
|
||||||
throw new ArgumentOutOfRangeException(nameof(value), value, null);
|
throw new ArgumentOutOfRangeException(nameof(value), value, null);
|
||||||
|
|||||||
Reference in New Issue
Block a user