Added check to ensure that the LX-200 classic return value is sanitised when it's not slewing.
This commit is contained in:
@@ -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;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user