diff --git a/Meade.net.Telescope/Telescope.cs b/Meade.net.Telescope/Telescope.cs index d3e4bc3..fc0ca39 100644 --- a/Meade.net.Telescope/Telescope.cs +++ b/Meade.net.Telescope/Telescope.cs @@ -40,6 +40,11 @@ namespace ASCOM.Meade.net [ComVisible(true)] public class Telescope : MeadeTelescopeBase, ITelescopeV3 { + static Telescope() + { + ClassName = nameof(Telescope); + } + /// /// ASCOM DeviceID (COM ProgID) for this driver. /// The DeviceID is used by ASCOM applications to load the driver at runtime. @@ -2225,13 +2230,6 @@ namespace ASCOM.Meade.net #region ASCOM Registration - private static IProfileFactory _profileFactory; - public static IProfileFactory ProfileFactory - { - get => _profileFactory ?? (_profileFactory = new ProfileFactory()); - set => _profileFactory = value; - } - // Register or unregister driver for ASCOM. This is harmless if already // registered or unregistered. // diff --git a/Meade.net.focuser/Focuser.cs b/Meade.net.focuser/Focuser.cs index 5b68fba..9f9c9f6 100644 --- a/Meade.net.focuser/Focuser.cs +++ b/Meade.net.focuser/Focuser.cs @@ -32,6 +32,11 @@ namespace ASCOM.Meade.net [ComVisible(true)] public class Focuser : MeadeTelescopeBase, IFocuserV3 { + static Focuser() + { + ClassName = nameof(Focuser); + } + /// /// ASCOM DeviceID (COM ProgID) for this driver. /// The DeviceID is used by ASCOM applications to load the driver at runtime. @@ -264,6 +269,7 @@ namespace ASCOM.Meade.net } private readonly int _maxStep = 7000; + public int MaxStep { get @@ -409,14 +415,6 @@ namespace ASCOM.Meade.net #region ASCOM Registration - private static IProfileFactory _profileFactory; - - public static IProfileFactory ProfileFactory - { - get => _profileFactory ?? (_profileFactory = new ProfileFactory()); - set => _profileFactory = value; - } - // Register or unregister driver for ASCOM. This is harmless if already // registered or unregistered. // @@ -429,7 +427,7 @@ namespace ASCOM.Meade.net { using (IProfileWrapper p = ProfileFactory.Create()) { - p.DeviceType = "Focuser"; + p.DeviceType = ClassName; if (bRegister) { p.Register(DriverId, DriverDescription); diff --git a/Meade.net/MeadeTelescopeBase.cs b/Meade.net/MeadeTelescopeBase.cs index c9a9e4e..c8dc5b0 100644 --- a/Meade.net/MeadeTelescopeBase.cs +++ b/Meade.net/MeadeTelescopeBase.cs @@ -9,6 +9,13 @@ namespace ASCOM.Meade.net [ComVisible(false)] public class MeadeTelescopeBase : ReferenceCountedObjectBase { + static MeadeTelescopeBase() + { + ClassName = nameof(MeadeTelescopeBase); + } + + public static string ClassName { get; protected set; } + /// /// Variable to hold the trace logger object (creates a diagnostic log file with information that you specify) /// @@ -41,16 +48,14 @@ namespace ASCOM.Meade.net protected void Initialise() { - var typeName = GetType().Name; - - Tl = new TraceLogger("", $"Meade.Generic.{typeName}"); + Tl = new TraceLogger("", $"Meade.Generic.{ClassName}"); ReadProfile(); // Read device configuration from the ASCOM Profile store IsConnected = false; // Initialise connected to false - LogMessage(typeName, "Completed initialisation"); - LogMessage(typeName, $"Driver version: {DriverVersion}"); + LogMessage(ClassName, "Completed initialisation"); + LogMessage(ClassName, $"Driver version: {DriverVersion}"); } /// @@ -123,5 +128,17 @@ namespace ASCOM.Meade.net return driverVersion; } } + + #region ASCOM Registration + + private static IProfileFactory _profileFactory; + + public static IProfileFactory ProfileFactory + { + get => _profileFactory ?? (_profileFactory = new ProfileFactory()); + set => _profileFactory = value; + } + + #endregion } } \ No newline at end of file diff --git a/Meade.net/SharedResources.cs b/Meade.net/SharedResources.cs index 5df1a29..b7b5e4a 100644 --- a/Meade.net/SharedResources.cs +++ b/Meade.net/SharedResources.cs @@ -309,8 +309,7 @@ namespace ASCOM.Meade.net //Returns: sHH# or sHH.H# //The number of decimal hours to add to local time to convert it to UTC. If the number is a whole number the //sHH# form is returned, otherwise the longer form is returned. - double utcOffsetHours; - if (!double.TryParse(utcOffSet, out utcOffsetHours)) + if (!double.TryParse(utcOffSet, out var utcOffsetHours)) { var message = "Unable to decode response from the telescope, This is likely a hardware serial communications error."; traceLogger.LogIssue("Connect", message);