Added check to ensure that the LX-200 classic return value is sanitised when it's not slewing.

This commit is contained in:
2020-09-22 17:34:57 +01:00
parent d0406b32dd
commit c34ed41ddf
+28 -10
View File
@@ -1847,19 +1847,26 @@ namespace ASCOM.Meade.net
{ {
get get
{ {
if (!Connected) return false; var isSlewing = GetSlewing();
LogMessage("Slewing", $"Result = {isSlewing}");
return isSlewing;
if (MovingAxis())
return true;
return IsSlewingToTarget();
} }
} }
private bool GetSlewing()
{
if (!Connected) return false;
if (MovingAxis())
return true;
return IsSlewingToTarget();
}
private bool IsSlewingToTarget() private bool IsSlewingToTarget()
{ {
CheckConnected("Slewing Get"); CheckConnected("IsSlewingToTarget");
if (_isGuiding) if (_isGuiding)
return false; return false;
@@ -1875,9 +1882,20 @@ namespace ASCOM.Meade.net
return false; return false;
} }
bool isSlewing = result.Trim() != string.Empty; var trimmedResult = result.Trim();
var isResultEmpty = trimmedResult != string.Empty;
LogMessage("Slewing Get", $"Result = {isSlewing} ({result.Trim()}"); var isSlewing = isResultEmpty;
if (!isResultEmpty) //the LX-200 can return crap from the buffer when it's not slewing so let's try to filter that out.
{
if (!trimmedResult.Contains("|"))
{
isSlewing = false;
}
}
LogMessage("IsSlewingToTarget", $"Result = {isSlewing} ({trimmedResult})");
return isSlewing; return isSlewing;
} }