Merged in feature/SupportMeadeLXD600 (pull request #54)
Initial support of LXD600 mount: no StarPatch, no long format, no park support for this mount. Approved-by: Colin Dawson
This commit is contained in:
@@ -632,22 +632,26 @@ namespace ASCOM.Meade.net
|
||||
{
|
||||
var isStarPatch = false;
|
||||
|
||||
var firmwareVersionArray = SharedResourcesWrapper.FirmwareVersion.ToCharArray();
|
||||
if (firmwareVersionArray.Length > 1)
|
||||
//LXD600 is based on LX-200 classic Meade and does not support StarPatch
|
||||
if (SharedResourcesWrapper.ProductName != TelescopeList.LXD600)
|
||||
{
|
||||
//If last character is a number
|
||||
var lastChr = firmwareVersionArray[firmwareVersionArray.Length - 1];
|
||||
if (char.IsNumber(lastChr))
|
||||
var firmwareVersionArray = SharedResourcesWrapper.FirmwareVersion.ToCharArray();
|
||||
if (firmwareVersionArray.Length > 1)
|
||||
{
|
||||
// Get case of second to last character
|
||||
var secondLastChar = firmwareVersionArray[firmwareVersionArray.Length - 2];
|
||||
// lower case = StarPatch, upper case = Meade
|
||||
isStarPatch = char.IsLower(secondLastChar);
|
||||
}
|
||||
else
|
||||
{
|
||||
// lower case = Meade, upper case = StarPatch
|
||||
isStarPatch = char.IsUpper(lastChr);
|
||||
//If last character is a number
|
||||
var lastChr = firmwareVersionArray[firmwareVersionArray.Length - 1];
|
||||
if (char.IsNumber(lastChr))
|
||||
{
|
||||
// Get case of second to last character
|
||||
var secondLastChar = firmwareVersionArray[firmwareVersionArray.Length - 2];
|
||||
// lower case = StarPatch, upper case = Meade
|
||||
isStarPatch = char.IsLower(secondLastChar);
|
||||
}
|
||||
else
|
||||
{
|
||||
// lower case = Meade, upper case = StarPatch
|
||||
isStarPatch = char.IsUpper(lastChr);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -765,7 +769,8 @@ namespace ASCOM.Meade.net
|
||||
|
||||
private bool IsLongFormatSupported()
|
||||
{
|
||||
if (SharedResourcesWrapper.ProductName == TelescopeList.LX200CLASSIC)
|
||||
if ((SharedResourcesWrapper.ProductName == TelescopeList.LX200CLASSIC) ||
|
||||
(SharedResourcesWrapper.ProductName == TelescopeList.LXD600))
|
||||
{
|
||||
return false;
|
||||
}
|
||||
@@ -1532,7 +1537,8 @@ namespace ASCOM.Meade.net
|
||||
{
|
||||
try
|
||||
{
|
||||
var canPark = SharedResourcesWrapper.ProductName != TelescopeList.LX200CLASSIC;
|
||||
var canPark = ((SharedResourcesWrapper.ProductName != TelescopeList.LX200CLASSIC) &&
|
||||
(SharedResourcesWrapper.ProductName != TelescopeList.LXD600));
|
||||
LogMessage("CanPark", "Get - " + canPark);
|
||||
return canPark;
|
||||
}
|
||||
@@ -1810,7 +1816,8 @@ namespace ASCOM.Meade.net
|
||||
TelescopeList.LX200GPS,
|
||||
TelescopeList.RCX400,
|
||||
TelescopeList.LX200CLASSIC,
|
||||
TelescopeList.LX800
|
||||
TelescopeList.LX800,
|
||||
TelescopeList.LXD600
|
||||
};
|
||||
|
||||
return unParkableScopes.Contains(SharedResourcesWrapper.ProductName);
|
||||
@@ -2294,7 +2301,8 @@ namespace ASCOM.Meade.net
|
||||
|
||||
var isTracking = Tracking;
|
||||
|
||||
if (SharedResourcesWrapper.ProductName != TelescopeList.LX200CLASSIC)
|
||||
if ((SharedResourcesWrapper.ProductName != TelescopeList.LX200CLASSIC) &&
|
||||
(SharedResourcesWrapper.ProductName != TelescopeList.LXD600))
|
||||
{
|
||||
SharedResourcesWrapper.SendBlind(Tl, "hP");
|
||||
//:hP# Autostar, Autostar II and LX 16" Slew to Park Position
|
||||
@@ -2302,7 +2310,7 @@ namespace ASCOM.Meade.net
|
||||
}
|
||||
else
|
||||
{
|
||||
LogMessage("Park", $"LX200 Classic does not support parking");
|
||||
LogMessage("Park", $"LX200 Classic or LXD600 do not support parking");
|
||||
throw new NotImplementedException("Park");
|
||||
}
|
||||
|
||||
@@ -2953,7 +2961,7 @@ namespace ASCOM.Meade.net
|
||||
LogMessage("TargetAltitude Set", $"{command}");
|
||||
var response = SharedResourcesWrapper.SendBool(Tl, command);
|
||||
//:SasDD*MM#
|
||||
// Set target object altitude to sDD*MM# or sDD*MM’SS# [LX 16”, Autostar, Autostar II]
|
||||
// Set target object altitude to sDD*MM# or sDD*MM�SS# [LX 16�, Autostar, Autostar II]
|
||||
// Returns:
|
||||
// 1 Object within slew range
|
||||
// 0 Object out of slew range
|
||||
@@ -2990,9 +2998,9 @@ namespace ASCOM.Meade.net
|
||||
LogMessage("TargetAzimuth Set", $"{command}");
|
||||
var response = SharedResourcesWrapper.SendBool(Tl, command);
|
||||
//:SzDDD*MM#
|
||||
// Sets the target Object Azimuth[LX 16” and Autostar II only]
|
||||
// Sets the target Object Azimuth[LX 16� and Autostar II only]
|
||||
// Returns:
|
||||
// 0 – Invalid
|
||||
// 0 � Invalid
|
||||
// 1 - Valid
|
||||
if (!response)
|
||||
throw new InvalidOperationException("Target Azimuth out of slew range.");
|
||||
|
||||
Reference in New Issue
Block a user