Changed how the part position is calculated.
This commit is contained in:
@@ -2713,10 +2713,15 @@ namespace Meade.net.Telescope.UnitTests
|
||||
_sharedResourcesWrapperMock.Verify(x => x.SendChar(command, false), Times.Once);
|
||||
}
|
||||
|
||||
[Test]
|
||||
public void Tracking_Get_WhenDefault_ThenIsTrue()
|
||||
[TestCase("A", true)]
|
||||
[TestCase("P", true)]
|
||||
[TestCase("L", false)]
|
||||
public void Tracking_Get_WhenGetsValue_ThenIsExpectedResult(string alignmentMode, bool expectedResult)
|
||||
{
|
||||
Assert.That(_telescope.Tracking, Is.True);
|
||||
ConnectTelescope();
|
||||
_testProperties.AlignmentMode = alignmentMode;
|
||||
|
||||
Assert.That(_telescope.Tracking, Is.EqualTo(expectedResult));
|
||||
}
|
||||
|
||||
//[TestCase(true)]
|
||||
@@ -2729,7 +2734,7 @@ namespace Meade.net.Telescope.UnitTests
|
||||
// Assert.Throws<ASCOM.NotImplementedException>( () => { _telescope.Tracking = tracking; } );
|
||||
//}
|
||||
|
||||
// [TestCase(true, "AP")]
|
||||
// [TestCase(true, "AP")]
|
||||
[TestCase(false, "AL")]
|
||||
public void Tracking_Set_WhenCanSetTrackingIsTrue_ThenValueIsUpdated(bool tracking, string alignmentCommand)
|
||||
{
|
||||
|
||||
@@ -1107,14 +1107,7 @@ namespace ASCOM.Meade.net
|
||||
return Retry(6, () =>
|
||||
{
|
||||
LogMessage("AlignmentMode Get", $"Sending Ack code.");
|
||||
const char ack = (char)6;
|
||||
//ACK <0x06> Query of alignment mounting mode.
|
||||
//Returns:
|
||||
//A If scope in AltAz Mode
|
||||
//D If scope is currently in the Downloader[Autostar II & Autostar]
|
||||
//L If scope in Land Mode
|
||||
//P If scope in Polar Mode
|
||||
var alignmentString = SharedResourcesWrapper.SendChar(ack.ToString());
|
||||
var alignmentString = GetAlignmentString();
|
||||
AlignmentModes alignmentMode;
|
||||
switch (alignmentString)
|
||||
{
|
||||
@@ -1189,6 +1182,19 @@ namespace ASCOM.Meade.net
|
||||
}
|
||||
}
|
||||
|
||||
private string GetAlignmentString()
|
||||
{
|
||||
const char ack = (char)6;
|
||||
//ACK <0x06> Query of alignment mounting mode.
|
||||
//Returns:
|
||||
//A If scope in AltAz Mode
|
||||
//D If scope is currently in the Downloader[Autostar II & Autostar]
|
||||
//L If scope in Land Mode
|
||||
//P If scope in Polar Mode
|
||||
var alignmentString = SharedResourcesWrapper.SendChar(ack.ToString());
|
||||
return alignmentString;
|
||||
}
|
||||
|
||||
private AlignmentStatus GetScopeAlignmentStatus()
|
||||
{
|
||||
LogMessage("GetScopeAlignmentStatus", "Started");
|
||||
@@ -2251,14 +2257,16 @@ namespace ASCOM.Meade.net
|
||||
}
|
||||
else
|
||||
{
|
||||
LogMessage("Park", $"Parking LX200 Classic");
|
||||
LogMessage("Park", $"Calculating Park Alt Az");
|
||||
var siteLatitude = SiteLatitude;
|
||||
var parkAlt = AlignmentMode == AlignmentModes.algAltAz ? 0 : 90 - siteLatitude;
|
||||
var parkAz = siteLatitude >= 0 ? 180 : 0;
|
||||
|
||||
LogMessage("Park", $"Parking LX200 Classic");
|
||||
Tracking = false;
|
||||
|
||||
LogMessage("Park", $"Calculating Park Altitude");
|
||||
var parkAlt = AlignmentMode == AlignmentModes.algAltAz ? 0 : 90 - SiteLatitude;
|
||||
LogMessage("Park", $"Slewing to park position az:0 alt:{parkAlt}");
|
||||
SlewToAltAz(0, parkAlt, false);
|
||||
LogMessage("Park", $"Slewing to park position az:{parkAz} alt:{parkAlt}");
|
||||
SlewToAltAz(parkAz, parkAlt, false);
|
||||
LogMessage("Park", $"Arrived at park position");
|
||||
}
|
||||
|
||||
@@ -3542,6 +3550,11 @@ namespace ASCOM.Meade.net
|
||||
var alignmentStatus = GetScopeAlignmentStatus();
|
||||
isTracking = alignmentStatus.Tracking;
|
||||
}
|
||||
else
|
||||
{
|
||||
var alignmentString = GetAlignmentString();
|
||||
isTracking = alignmentString != "L";
|
||||
}
|
||||
|
||||
LogMessage("Tracking", $"Get = {isTracking}");
|
||||
return isTracking;
|
||||
|
||||
Reference in New Issue
Block a user