diff --git a/AstroMath.UnitTests/AstroMath.UnitTests.csproj b/AstroMath.UnitTests/AstroMath.UnitTests.csproj
index ad41f58..14292b4 100644
--- a/AstroMath.UnitTests/AstroMath.UnitTests.csproj
+++ b/AstroMath.UnitTests/AstroMath.UnitTests.csproj
@@ -68,8 +68,8 @@
..\packages\System.Runtime.CompilerServices.Unsafe.4.5.2\lib\netstandard2.0\System.Runtime.CompilerServices.Unsafe.dll
-
- ..\packages\System.Threading.Tasks.Extensions.4.5.2\lib\netstandard2.0\System.Threading.Tasks.Extensions.dll
+
+ ..\packages\System.Threading.Tasks.Extensions.4.5.3\lib\netstandard2.0\System.Threading.Tasks.Extensions.dll
@@ -89,6 +89,7 @@
+
diff --git a/AstroMath.UnitTests/app.config b/AstroMath.UnitTests/app.config
new file mode 100644
index 0000000..8d5ec5f
--- /dev/null
+++ b/AstroMath.UnitTests/app.config
@@ -0,0 +1,11 @@
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/AstroMath.UnitTests/packages.config b/AstroMath.UnitTests/packages.config
index 605fe2b..b50b126 100644
--- a/AstroMath.UnitTests/packages.config
+++ b/AstroMath.UnitTests/packages.config
@@ -4,5 +4,5 @@
-
+
\ No newline at end of file
diff --git a/Meade.net.Focuser.UnitTests/BootstrapAscomProfileStore.ps1 b/Meade.net.Focuser.UnitTests/BootstrapAscomProfileStore.ps1
new file mode 100644
index 0000000..213c64d
--- /dev/null
+++ b/Meade.net.Focuser.UnitTests/BootstrapAscomProfileStore.ps1
@@ -0,0 +1,36 @@
+<#
+This script initializes a bare minimum set of registry entries required for ASCOM.Utilities.Profile to work
+without throwing any exceptions. When building on a build server, or on a computer without the ASCOM Platform installed,
+it may be useful to execute this script as a build step prior to running any unit tests, or calling any code that relies on
+ASCOM.Utilities.Profile. The alternative is to install the ASCOM Platform on the build agent.
+
+NOTE: This script equires elevated permissions because it creates registry keys in the LocalMachine hive.
+#>
+
+$wow = Test-Path HKLM:\SOFTWARE\Wow6432Node
+if ($wow)
+ {
+ $root = "HKLM:\SOFTWARE\Wow6432Node"
+ }
+else
+ {
+ $root = "HKLM:\SOFTWARE"
+ }
+$ascomRoot = $root + "\ASCOM"
+
+if (Test-Path $ascomRoot)
+ {
+ <# Don't upset an already-existing ASCOM registry #>
+ exit
+ }
+
+<# Create the ASCOM root key and set it's ACL to allow all users read/write access #>
+New-Item -Path $root -Name ASCOM –Force
+$ascomAcl = Get-Acl $ascomRoot
+$aclRule = New-Object System.Security.AccessControl.RegistryAccessRule ("Users","FullControl","Allow")
+$ascomAcl.SetAccessRule($aclRule)
+$ascomAcl | Set-Acl -Path $ascomRoot
+
+<# Now create the bare minimum keys required so that ASCOM.Utilities.Profile doesn't crash and burn #>
+New-ItemProperty -Path $ascomRoot -Name PlatformVersion -Value "6.1" -PropertyType String –Force
+New-ItemProperty -Path $ascomRoot -Name SerTraceFile -Value "C:\SerialTraceAuto.txt" -PropertyType String –Force
diff --git a/Meade.net.Focuser.UnitTests/FocuserUnitTests.cs b/Meade.net.Focuser.UnitTests/FocuserUnitTests.cs
new file mode 100644
index 0000000..21aa8fa
--- /dev/null
+++ b/Meade.net.Focuser.UnitTests/FocuserUnitTests.cs
@@ -0,0 +1,145 @@
+using ASCOM;
+using ASCOM.Meade.net;
+using ASCOM.Meade.net.Wrapper;
+using ASCOM.Utilities.Interfaces;
+using Moq;
+using NUnit.Framework;
+
+namespace Meade.net.Focuser.UnitTests
+{
+ [TestFixture]
+ public class FocuserUnitTests
+ {
+ private Mock _utilMock;
+ private Mock _sharedResourcesWrapperMock;
+
+ private ProfileProperties _profileProperties;
+
+ private ASCOM.Meade.net.Focuser _focuser;
+
+ [SetUp]
+ public void Setup()
+ {
+ _profileProperties = new ProfileProperties();
+ _profileProperties.TraceLogger = false;
+ _profileProperties.ComPort = "TestCom1";
+ _profileProperties.GuideRateArcSecondsPerSecond = 1.23;
+ _profileProperties.Precision = "Unchanged";
+
+ _utilMock = new Mock();
+
+ _sharedResourcesWrapperMock = new Mock();
+ _sharedResourcesWrapperMock.Setup(x => x.ReadProfile()).Returns(() => _profileProperties);
+
+ _focuser = new ASCOM.Meade.net.Focuser(_utilMock.Object, _sharedResourcesWrapperMock.Object);
+ }
+
+ private void ConnectFocuser()
+ {
+ _sharedResourcesWrapperMock.Setup(x => x.ProductName).Returns(() => TelescopeList.Autostar497);
+ _sharedResourcesWrapperMock.Setup(x => x.FirmwareVersion).Returns(() => TelescopeList.Autostar497_31Ee);
+ _focuser.Connected = true;
+ }
+
+ [Test]
+ public void CheckThatClassCreatedProperly()
+ {
+ Assert.That(_focuser, Is.Not.Null);
+ }
+
+ [Test]
+ public void SetupDialog()
+ {
+ _sharedResourcesWrapperMock.Verify(x => x.ReadProfile(), Times.Once);
+
+ _focuser.SetupDialog();
+
+ _sharedResourcesWrapperMock.Verify(x => x.SetupDialog(), Times.Once);
+ _sharedResourcesWrapperMock.Verify(x => x.ReadProfile(), Times.Exactly(2));
+ }
+
+ [Test]
+ public void SupportedActions()
+ {
+ var supportedActions = _focuser.SupportedActions;
+
+ Assert.That(supportedActions, Is.Not.Null);
+ Assert.That(supportedActions.Count, Is.EqualTo(0));
+ }
+
+ [Test]
+ public void Action_WhenNotConnected_ThrowsNotConnectedException()
+ {
+ var actionName = "Action";
+
+ var exception = Assert.Throws(() => { var actualResult = _focuser.Action(actionName, string.Empty); });
+ }
+
+ [Test]
+ public void CommandBlind_WhenNotConnected_ThenThrowsNotConnectedException()
+ {
+ string expectedMessage = "test blind Message";
+ var exception = Assert.Throws(() => { _focuser.CommandBlind(expectedMessage, true); });
+
+ Assert.That(exception.Message, Is.EqualTo("Not connected to focuser when trying to execute: CommandBlind"));
+ }
+
+ [Test]
+ public void CommandBlind_WhenConnected_ThenSendsExpectedMessage()
+ {
+ string expectedMessage = "test blind Message";
+
+ ConnectFocuser();
+
+ _focuser.CommandBlind(expectedMessage, true);
+
+ _sharedResourcesWrapperMock.Verify(x => x.SendBlind(expectedMessage), Times.Once);
+ }
+
+ [Test]
+ public void CommandBool_WhenNotConnected_ThenThrowsNotConnectedException()
+ {
+ string expectedMessage = "test blind Message";
+ var exception = Assert.Throws(() => { _focuser.CommandBool(expectedMessage, true); });
+
+ Assert.That(exception.Message, Is.EqualTo("Not connected to focuser when trying to execute: CommandBool"));
+ }
+
+ [Test]
+ public void CommandBool_WhenConnected_ThenSendsExpectedMessage()
+ {
+ string expectedMessage = "test blind Message";
+
+ ConnectFocuser();
+
+ var exception = Assert.Throws(() => { _focuser.CommandBool(expectedMessage, true); });
+
+ Assert.That(exception.Message, Is.EqualTo("Method CommandBool is not implemented in this driver."));
+ }
+
+ [Test]
+ public void CommandString_WhenNotConnected_ThenThrowsNotConnectedException()
+ {
+ string expectedMessage = "test blind Message";
+ var exception = Assert.Throws(() => { _focuser.CommandString(expectedMessage, true); });
+
+ Assert.That(exception.Message, Is.EqualTo("Not connected to focuser when trying to execute: CommandString"));
+ }
+
+ [Test]
+ public void CommandString_WhenConnected_ThenSendsExpectedMessage()
+ {
+ string expectedMessage = "expected result message";
+ string sendMessage = "test blind Message";
+
+ ConnectFocuser();
+
+ _sharedResourcesWrapperMock.Setup(x => x.SendString(sendMessage)).Returns(() => expectedMessage);
+
+ var actualMessage = _focuser.CommandString(sendMessage, true);
+
+ _sharedResourcesWrapperMock.Verify(x => x.SendString(sendMessage), Times.Once);
+ Assert.That(actualMessage, Is.EqualTo(expectedMessage));
+ }
+ }
+}
diff --git a/Meade.net.Focuser.UnitTests/Meade.net.Focuser.UnitTests.csproj b/Meade.net.Focuser.UnitTests/Meade.net.Focuser.UnitTests.csproj
new file mode 100644
index 0000000..8181584
--- /dev/null
+++ b/Meade.net.Focuser.UnitTests/Meade.net.Focuser.UnitTests.csproj
@@ -0,0 +1,122 @@
+
+
+
+
+
+ Debug
+ AnyCPU
+ {A3991FA7-23C3-405A-96F9-5AB03AC58F30}
+ Library
+ Properties
+ Meade.net.Focuser.UnitTests
+ Meade.net.Focuser.UnitTests
+ v4.7.2
+ 512
+ true
+
+
+
+
+ true
+ full
+ false
+ bin\Debug\
+ DEBUG;TRACE
+ prompt
+ 4
+ x86
+
+
+ pdbonly
+ true
+ bin\Release\
+ TRACE
+ prompt
+ 4
+
+
+
+ ..\packages\ASCOM.Platform.6.4.2\lib\net40\ASCOM.Astrometry.dll
+
+
+ ..\packages\ASCOM.Platform.6.4.2\lib\net40\ASCOM.Attributes.dll
+
+
+ ..\packages\ASCOM.Platform.6.4.2\lib\net40\ASCOM.Cache.dll
+
+
+ ..\packages\ASCOM.Platform.6.4.2\lib\net40\ASCOM.Controls.dll
+
+
+ ..\packages\ASCOM.Platform.6.4.2\lib\net40\ASCOM.DeviceInterfaces.dll
+
+
+ ..\packages\ASCOM.Platform.6.4.2\lib\net40\ASCOM.DriverAccess.dll
+
+
+ ..\packages\ASCOM.Platform.6.4.2\lib\net40\ASCOM.Exceptions.dll
+
+
+ ..\packages\ASCOM.Platform.6.4.2\lib\net40\ASCOM.Internal.Extensions.dll
+
+
+ ..\packages\ASCOM.Platform.6.4.2\lib\net40\ASCOM.SettingsProvider.dll
+
+
+ ..\packages\ASCOM.Platform.6.4.2\lib\net40\ASCOM.Utilities.dll
+
+
+ ..\packages\ASCOM.Platform.6.4.2\lib\net40\ASCOM.Utilities.Video.dll
+
+
+ ..\packages\Castle.Core.4.4.0\lib\net45\Castle.Core.dll
+
+
+ ..\packages\Moq.4.12.0\lib\net45\Moq.dll
+
+
+ ..\packages\NUnit.3.12.0\lib\net45\nunit.framework.dll
+
+
+
+
+
+ ..\packages\System.Runtime.CompilerServices.Unsafe.4.5.2\lib\netstandard2.0\System.Runtime.CompilerServices.Unsafe.dll
+
+
+ ..\packages\System.Threading.Tasks.Extensions.4.5.3\lib\netstandard2.0\System.Threading.Tasks.Extensions.dll
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {a97e3aec-f11d-49da-b259-de99da813a86}
+ Meade.net.focuser
+
+
+ {3689a2cb-94c5-4012-a5cf-7e7d1dd27143}
+ Meade.net
+
+
+
+
+
+ This project references NuGet package(s) that are missing on this computer. Use NuGet Package Restore to download them. For more information, see http://go.microsoft.com/fwlink/?LinkID=322105. The missing file is {0}.
+
+
+
+
\ No newline at end of file
diff --git a/Meade.net.Focuser.UnitTests/Properties/AssemblyInfo.cs b/Meade.net.Focuser.UnitTests/Properties/AssemblyInfo.cs
new file mode 100644
index 0000000..61a9edd
--- /dev/null
+++ b/Meade.net.Focuser.UnitTests/Properties/AssemblyInfo.cs
@@ -0,0 +1,36 @@
+using System.Reflection;
+using System.Runtime.CompilerServices;
+using System.Runtime.InteropServices;
+
+// General Information about an assembly is controlled through the following
+// set of attributes. Change these attribute values to modify the information
+// associated with an assembly.
+[assembly: AssemblyTitle("Meade.net.Focuser.UnitTests")]
+[assembly: AssemblyDescription("")]
+[assembly: AssemblyConfiguration("")]
+[assembly: AssemblyCompany("")]
+[assembly: AssemblyProduct("Meade.net.Focuser.UnitTests")]
+[assembly: AssemblyCopyright("Copyright © 2019")]
+[assembly: AssemblyTrademark("")]
+[assembly: AssemblyCulture("")]
+
+// Setting ComVisible to false makes the types in this assembly not visible
+// to COM components. If you need to access a type in this assembly from
+// COM, set the ComVisible attribute to true on that type.
+[assembly: ComVisible(false)]
+
+// The following GUID is for the ID of the typelib if this project is exposed to COM
+[assembly: Guid("a3991fa7-23c3-405a-96f9-5ab03ac58f30")]
+
+// Version information for an assembly consists of the following four values:
+//
+// Major Version
+// Minor Version
+// Build Number
+// Revision
+//
+// You can specify all the values or you can default the Build and Revision Numbers
+// by using the '*' as shown below:
+// [assembly: AssemblyVersion("1.0.*")]
+[assembly: AssemblyVersion("1.0.0.0")]
+[assembly: AssemblyFileVersion("1.0.0.0")]
diff --git a/Meade.net.Focuser.UnitTests/app.config b/Meade.net.Focuser.UnitTests/app.config
new file mode 100644
index 0000000..8d5ec5f
--- /dev/null
+++ b/Meade.net.Focuser.UnitTests/app.config
@@ -0,0 +1,11 @@
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/Meade.net.Focuser.UnitTests/packages.config b/Meade.net.Focuser.UnitTests/packages.config
new file mode 100644
index 0000000..1330573
--- /dev/null
+++ b/Meade.net.Focuser.UnitTests/packages.config
@@ -0,0 +1,9 @@
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/Meade.net.Telescope.UnitTests/Meade.net.Telescope.UnitTests.csproj b/Meade.net.Telescope.UnitTests/Meade.net.Telescope.UnitTests.csproj
index 23613aa..930def6 100644
--- a/Meade.net.Telescope.UnitTests/Meade.net.Telescope.UnitTests.csproj
+++ b/Meade.net.Telescope.UnitTests/Meade.net.Telescope.UnitTests.csproj
@@ -104,8 +104,8 @@
..\packages\System.Runtime.CompilerServices.Unsafe.4.5.2\lib\netstandard1.0\System.Runtime.CompilerServices.Unsafe.dll
-
- ..\packages\System.Threading.Tasks.Extensions.4.5.2\lib\portable-net45+win8+wp8+wpa81\System.Threading.Tasks.Extensions.dll
+
+ ..\packages\System.Threading.Tasks.Extensions.4.5.3\lib\netstandard2.0\System.Threading.Tasks.Extensions.dll
diff --git a/Meade.net.Telescope.UnitTests/TelescopeUnitTests.cs b/Meade.net.Telescope.UnitTests/TelescopeUnitTests.cs
index 5150e8d..cb74535 100644
--- a/Meade.net.Telescope.UnitTests/TelescopeUnitTests.cs
+++ b/Meade.net.Telescope.UnitTests/TelescopeUnitTests.cs
@@ -41,7 +41,7 @@ namespace Meade.net.Telescope.UnitTests
_sharedResourcesWrapperMock = new Mock();
_sharedResourcesWrapperMock.Setup(x => x.SendString(":GZ#")).Returns("DDD*MM’SS");
- _sharedResourcesWrapperMock.Setup(x => x.ReadProfile()).Returns(_profileProperties);
+ _sharedResourcesWrapperMock.Setup(x => x.ReadProfile()).Returns(() =>_profileProperties);
_sharedResourcesWrapperMock.Setup(x => x.Lock(It.IsAny())).Callback(action => { action(); });
_sharedResourcesWrapperMock.Setup(x => x.Lock(It.IsAny>())).Returns>( (func) => func());
_sharedResourcesWrapperMock.Setup(x => x.Lock(It.IsAny>())).Returns>((func) => func());
diff --git a/Meade.net.Telescope.UnitTests/app.config b/Meade.net.Telescope.UnitTests/app.config
index 312e994..ea6ff10 100644
--- a/Meade.net.Telescope.UnitTests/app.config
+++ b/Meade.net.Telescope.UnitTests/app.config
@@ -1,11 +1,15 @@
-
+
-
-
+
+
+
+
+
+
-
+
diff --git a/Meade.net.Telescope.UnitTests/packages.config b/Meade.net.Telescope.UnitTests/packages.config
index b360f81..4c380c0 100644
--- a/Meade.net.Telescope.UnitTests/packages.config
+++ b/Meade.net.Telescope.UnitTests/packages.config
@@ -5,5 +5,5 @@
-
+
\ No newline at end of file
diff --git a/Meade.net.focuser/Focuser.cs b/Meade.net.focuser/Focuser.cs
index b675b31..0b7b896 100644
--- a/Meade.net.focuser/Focuser.cs
+++ b/Meade.net.focuser/Focuser.cs
@@ -66,12 +66,21 @@ namespace ASCOM.Meade.net
public Focuser()
{
//todo move this out to IOC
- _utilities = new Util(); //Initialise util object
+ var util = new Util(); //Initialise util object
+ _utilities = util;
_sharedResourcesWrapper = new SharedResourcesWrapper();
Initialise();
}
+ public Focuser(IUtil util, ISharedResourcesWrapper sharedResourcesWrapper)
+ {
+ _utilities = util;
+ _sharedResourcesWrapper = sharedResourcesWrapper;
+
+ Initialise();
+ }
+
private void Initialise()
{
//todo move the TraceLogger out to a factory class.
@@ -118,7 +127,7 @@ namespace ASCOM.Meade.net
public string Action(string actionName, string actionParameters)
{
LogMessage("", "Action {0}, parameters {1} not implemented", actionName, actionParameters);
- throw new ActionNotImplementedException("Action " + actionName + " is not implemented by this driver");
+ throw new ActionNotImplementedException();
}
public void CommandBlind(string command, bool raw)
@@ -149,8 +158,7 @@ namespace ASCOM.Meade.net
// then all communication calls this function
// you need something to ensure that only one command is in progress at a time
return _sharedResourcesWrapper.SendString(command);
-
- throw new MethodNotImplementedException("CommandString");
+ //throw new ASCOM.MethodNotImplementedException("CommandString");
}
public void Dispose()
@@ -182,9 +190,6 @@ namespace ASCOM.Meade.net
_sharedResourcesWrapper.Connect("Serial", DriverId);
try
{
- SelectSite(1);
- SetLongFormat(true);
-
IsConnected = true;
}
catch (Exception)
@@ -207,37 +212,6 @@ namespace ASCOM.Meade.net
}
}
- private void SetLongFormat(bool setLongFormat)
- {
- _sharedResourcesWrapper.Lock(() =>
- {
- var result = _sharedResourcesWrapper.SendString(":GZ#");
- //:GZ# Get telescope azimuth
- //Returns: DDD*MM#T or DDD*MM’SS#
- //The current telescope Azimuth depending on the selected precision.
-
- bool isLongFormat = result.Length > 6;
-
- if (isLongFormat != setLongFormat)
- {
- _utilities.WaitForMilliseconds(500);
- _sharedResourcesWrapper.SendBlind(":U#");
- //:U# Toggle between low/hi precision positions
- //Low - RA displays and messages HH:MM.T sDD*MM
- //High - Dec / Az / El displays and messages HH:MM: SS sDD*MM:SS
- // Returns Nothing
- }
- });
- }
-
- private void SelectSite(int site)
- {
- _sharedResourcesWrapper.SendBlind($":W{site}#");
- //:W#
- //Set current site to, an ASCII digit in the range 1..4
- //Returns: Nothing
- }
-
public string Description
{
// TODO customise this device description
@@ -568,7 +542,7 @@ namespace ASCOM.Meade.net
{
if (!IsConnected)
{
- throw new NotConnectedException(message);
+ throw new NotConnectedException($"Not connected to focuser when trying to execute: {message}");
}
}
diff --git a/Meade.net.sln b/Meade.net.sln
index a77a62d..e916044 100644
--- a/Meade.net.sln
+++ b/Meade.net.sln
@@ -23,6 +23,8 @@ Project("{930C7802-8A8C-48F9-8165-68863BCCD9DD}") = "Meade.net.Setup", "Meade.ne
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Meade.net.Telescope.UnitTests", "Meade.net.Telescope.UnitTests\Meade.net.Telescope.UnitTests.csproj", "{B7EEEEFD-5BFF-443D-981C-7B8AB5DFDE33}"
EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Meade.net.Focuser.UnitTests", "Meade.net.Focuser.UnitTests\Meade.net.Focuser.UnitTests.csproj", "{A3991FA7-23C3-405A-96F9-5AB03AC58F30}"
+EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Any CPU = Debug|Any CPU
@@ -120,6 +122,18 @@ Global
{B7EEEEFD-5BFF-443D-981C-7B8AB5DFDE33}.Release|x64.Build.0 = Release|Any CPU
{B7EEEEFD-5BFF-443D-981C-7B8AB5DFDE33}.Release|x86.ActiveCfg = Release|x86
{B7EEEEFD-5BFF-443D-981C-7B8AB5DFDE33}.Release|x86.Build.0 = Release|x86
+ {A3991FA7-23C3-405A-96F9-5AB03AC58F30}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {A3991FA7-23C3-405A-96F9-5AB03AC58F30}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {A3991FA7-23C3-405A-96F9-5AB03AC58F30}.Debug|x64.ActiveCfg = Debug|Any CPU
+ {A3991FA7-23C3-405A-96F9-5AB03AC58F30}.Debug|x64.Build.0 = Debug|Any CPU
+ {A3991FA7-23C3-405A-96F9-5AB03AC58F30}.Debug|x86.ActiveCfg = Debug|Any CPU
+ {A3991FA7-23C3-405A-96F9-5AB03AC58F30}.Debug|x86.Build.0 = Debug|Any CPU
+ {A3991FA7-23C3-405A-96F9-5AB03AC58F30}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {A3991FA7-23C3-405A-96F9-5AB03AC58F30}.Release|Any CPU.Build.0 = Release|Any CPU
+ {A3991FA7-23C3-405A-96F9-5AB03AC58F30}.Release|x64.ActiveCfg = Release|Any CPU
+ {A3991FA7-23C3-405A-96F9-5AB03AC58F30}.Release|x64.Build.0 = Release|Any CPU
+ {A3991FA7-23C3-405A-96F9-5AB03AC58F30}.Release|x86.ActiveCfg = Release|Any CPU
+ {A3991FA7-23C3-405A-96F9-5AB03AC58F30}.Release|x86.Build.0 = Release|Any CPU
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
@@ -129,6 +143,7 @@ Global
{AABC96B8-C462-4B3A-9B5F-2929E3CB7A49} = {BF650D97-AF98-4638-9C55-21311C6D88DA}
{AD4959DD-33D7-4C3F-8DB0-7361D8E74A95} = {0958D817-269C-44BE-BEFB-F3E6A409DE91}
{B7EEEEFD-5BFF-443D-981C-7B8AB5DFDE33} = {0958D817-269C-44BE-BEFB-F3E6A409DE91}
+ {A3991FA7-23C3-405A-96F9-5AB03AC58F30} = {0958D817-269C-44BE-BEFB-F3E6A409DE91}
EndGlobalSection
GlobalSection(ExtensibilityGlobals) = postSolution
SolutionGuid = {3C0509DC-C7F5-48DC-920D-DCFD9C879BD2}
diff --git a/Meade.net/SetupDialogForm.cs b/Meade.net/SetupDialogForm.cs
index cac2def..645ca81 100644
--- a/Meade.net/SetupDialogForm.cs
+++ b/Meade.net/SetupDialogForm.cs
@@ -55,7 +55,7 @@ namespace ASCOM.Meade.net
{
cboPrecision.SelectedItem = profileProperties.Precision;
}
- catch (Exception e)
+ catch (Exception)
{
cboPrecision.SelectedItem = "Unchanged";
}
@@ -95,7 +95,7 @@ namespace ASCOM.Meade.net
lblPercentOfSiderealRate.Text = $"({percentOfSideReal:00.0}% of sidereal rate)";
_guideRateValid = true;
}
- catch (Exception exception)
+ catch (Exception)
{
//Surpressing this exception as if the value is not valid then it's not useful.
_guideRateValid = false;