Compare commits
146 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| b63bbec629 | |||
| a0d5eec267 | |||
| c24b4c1161 | |||
| a89b1c8fa6 | |||
| d1ed5558b2 | |||
| ea07c7b625 | |||
| 56642267b0 | |||
| ddd67b330a | |||
| 0bc4980786 | |||
| 8521b3e2d2 | |||
| a81318f4b5 | |||
| e7e216597a | |||
| a04cc82a46 | |||
| 7a0ee85af6 | |||
| 056484bce9 | |||
| 6aa19b869b | |||
| 431776cfdf | |||
| 0afb80bd70 | |||
| 4ef80b448e | |||
| cd6e72eb0a | |||
| c2bc2cfc7e | |||
| 7554c1e213 | |||
| 372c98a22c | |||
| 04c2f5e1bb | |||
| 5b050c45c6 | |||
| 44c59d1a55 | |||
| bb9fca7e9a | |||
| a0878ce153 | |||
| 80899b8056 | |||
| 99b3bce71a | |||
| 4c7a40a8e4 | |||
| 003dbe059a | |||
| c673e0c7d6 | |||
| 34dfa9276e | |||
| 5678285e0e | |||
| b263d5f3e2 | |||
| 4be35eb5d7 | |||
| 4b78d8fb4f | |||
| 466d995873 | |||
| 1ce2afe9ce | |||
| d5108cf4db | |||
| 888ab1aa46 | |||
| 21d1d93235 | |||
| 005643a7c7 | |||
| 8539308cf3 | |||
| cd304f5955 | |||
| da1d1baa30 | |||
| a2b15f291d | |||
| c380016b71 | |||
| febf52738e | |||
| 7afa7458c7 | |||
| 3ffa9fbe8b | |||
| 6db59eaef1 | |||
| cfa7e1d1cf | |||
| 129fc23d83 | |||
| 5c3bb7d4ad | |||
| e93da73431 | |||
| 1e5bb04817 | |||
| afd1c96671 | |||
| e851fd0e01 | |||
| fa7106a1b4 | |||
| ef2ec06b0a | |||
| 89f5b6d546 | |||
| 349397b70f | |||
| 9666811eff | |||
| 7287990240 | |||
| 6428e6d31b | |||
| 0fbb2331cf | |||
| faf2692fae | |||
| d996d6f8d6 | |||
| 2a40807dc3 | |||
| adeab53bd3 | |||
| 57a76383bc | |||
| 5f3157a58d | |||
| 5f75916116 | |||
| aff44494bc | |||
| 78e686b3cb | |||
| 519005d892 | |||
| e0d51eae81 | |||
| 42f2f45866 | |||
| 0066a6ebed | |||
| 9b2818ddba | |||
| 0806696d30 | |||
| fd4c524264 | |||
| 4e0e105255 | |||
| 3fa8079a41 | |||
| 7dc96c650d | |||
| 650fc04bca | |||
| 5c2bd21f1e | |||
| 39a6bfca80 | |||
| f551081454 | |||
| 5c362a5a9a | |||
| abb985559e | |||
| ddd6178416 | |||
| 356377ce36 | |||
| 1b220334d6 | |||
| bb54356b58 | |||
| ebca231d9a | |||
| 2b5205d9c5 | |||
| 81d2b98bfe | |||
| 9ee6adf063 | |||
| 554b1af082 | |||
| 70f72e3df7 | |||
| 3af02920c4 | |||
| ede7c33302 | |||
| 9866578cab | |||
| d9093635de | |||
| 885edba1c5 | |||
| 1949c50764 | |||
| 2b7d12fac9 | |||
| f168acc90b | |||
| 8f6ea33139 | |||
| c6f938bd5c | |||
| c271f0c4d3 | |||
| 35a76fe52c | |||
| 64e42f961c | |||
| 8eb093c13a | |||
| a204f9c57f | |||
| 700802033b | |||
| 350dd23ed1 | |||
| 5e65ea7946 | |||
| 0c70688b60 | |||
| af3cca7611 | |||
| ef498fc5a0 | |||
| ceca3a15dc | |||
| a9b8a60e43 | |||
| 7a85f7ca9e | |||
| 57c5a34fe2 | |||
| a68e86d8cd | |||
| 503eec38a3 | |||
| ed54487a88 | |||
| f788320927 | |||
| dc68bb0b4c | |||
| 1a66f41d78 | |||
| 826f887bdf | |||
| 7ac3c95c8e | |||
| acb1533f21 | |||
| eda3a53d6f | |||
| 6786db65fe | |||
| df7dfb7c04 | |||
| 771e325067 | |||
| a5a3bd5bd4 | |||
| a605a3ed9d | |||
| ad9169a48d | |||
| 3b056ef7f8 | |||
| 710ae0420a |
+8
@@ -0,0 +1,8 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<project version="4">
|
||||||
|
<component name="UserContentModel">
|
||||||
|
<attachedFolders />
|
||||||
|
<explicitIncludes />
|
||||||
|
<explicitExcludes />
|
||||||
|
</component>
|
||||||
|
</project>
|
||||||
@@ -1,6 +1,10 @@
|
|||||||
<?xml version="1.0" encoding="utf-8"?>
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
<Project ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
<Project ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||||
<Import Project="..\packages\NUnit.3.13.0\build\NUnit.props" Condition="Exists('..\packages\NUnit.3.13.0\build\NUnit.props')" />
|
<Import Project="..\packages\NUnit3TestAdapter.5.1.0\build\net462\NUnit3TestAdapter.props" Condition="Exists('..\packages\NUnit3TestAdapter.5.1.0\build\net462\NUnit3TestAdapter.props')" />
|
||||||
|
<Import Project="..\packages\Microsoft.Testing.Extensions.Telemetry.1.7.3\build\netstandard2.0\Microsoft.Testing.Extensions.Telemetry.props" Condition="Exists('..\packages\Microsoft.Testing.Extensions.Telemetry.1.7.3\build\netstandard2.0\Microsoft.Testing.Extensions.Telemetry.props')" />
|
||||||
|
<Import Project="..\packages\Microsoft.Testing.Platform.MSBuild.1.7.3\build\Microsoft.Testing.Platform.MSBuild.props" Condition="Exists('..\packages\Microsoft.Testing.Platform.MSBuild.1.7.3\build\Microsoft.Testing.Platform.MSBuild.props')" />
|
||||||
|
<Import Project="..\packages\Microsoft.Testing.Platform.1.7.3\build\netstandard2.0\Microsoft.Testing.Platform.props" Condition="Exists('..\packages\Microsoft.Testing.Platform.1.7.3\build\netstandard2.0\Microsoft.Testing.Platform.props')" />
|
||||||
|
<Import Project="..\packages\NUnit.3.13.3\build\NUnit.props" Condition="Exists('..\packages\NUnit.3.13.3\build\NUnit.props')" />
|
||||||
<Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" />
|
<Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" />
|
||||||
<PropertyGroup>
|
<PropertyGroup>
|
||||||
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
|
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
|
||||||
@@ -53,24 +57,75 @@
|
|||||||
<CodeAnalysisRuleSet>MinimumRecommendedRules.ruleset</CodeAnalysisRuleSet>
|
<CodeAnalysisRuleSet>MinimumRecommendedRules.ruleset</CodeAnalysisRuleSet>
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<Reference Include="Castle.Core, Version=4.0.0.0, Culture=neutral, PublicKeyToken=407dd0808d44fbdc, processorArchitecture=MSIL">
|
<Reference Include="Castle.Core, Version=5.0.0.0, Culture=neutral, PublicKeyToken=407dd0808d44fbdc, processorArchitecture=MSIL">
|
||||||
<HintPath>..\packages\Castle.Core.4.4.1\lib\net45\Castle.Core.dll</HintPath>
|
<HintPath>..\packages\Castle.Core.5.1.0\lib\net462\Castle.Core.dll</HintPath>
|
||||||
</Reference>
|
</Reference>
|
||||||
<Reference Include="JetBrains.Annotations, Version=2020.3.0.0, Culture=neutral, PublicKeyToken=1010a0d8d6380325, processorArchitecture=MSIL">
|
<Reference Include="JetBrains.Annotations, Version=4242.42.42.42, Culture=neutral, PublicKeyToken=1010a0d8d6380325, processorArchitecture=MSIL">
|
||||||
<HintPath>..\packages\JetBrains.Annotations.2020.3.0\lib\net20\JetBrains.Annotations.dll</HintPath>
|
<HintPath>..\packages\JetBrains.Annotations.2022.3.1\lib\net20\JetBrains.Annotations.dll</HintPath>
|
||||||
</Reference>
|
</Reference>
|
||||||
<Reference Include="Moq, Version=4.15.0.0, Culture=neutral, PublicKeyToken=69f491c39445e920, processorArchitecture=MSIL">
|
<Reference Include="Microsoft.ApplicationInsights, Version=2.23.0.29, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
|
||||||
<HintPath>..\packages\Moq.4.15.2\lib\net45\Moq.dll</HintPath>
|
<HintPath>..\packages\Microsoft.ApplicationInsights.2.23.0\lib\net46\Microsoft.ApplicationInsights.dll</HintPath>
|
||||||
</Reference>
|
</Reference>
|
||||||
<Reference Include="nunit.framework, Version=3.13.0.0, Culture=neutral, PublicKeyToken=2638cd05610744eb, processorArchitecture=MSIL">
|
<Reference Include="Microsoft.Testing.Extensions.MSBuild, Version=1.7.3.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
|
||||||
<HintPath>..\packages\NUnit.3.13.0\lib\net45\nunit.framework.dll</HintPath>
|
<HintPath>..\packages\Microsoft.Testing.Platform.MSBuild.1.7.3\lib\netstandard2.0\Microsoft.Testing.Extensions.MSBuild.dll</HintPath>
|
||||||
|
</Reference>
|
||||||
|
<Reference Include="Microsoft.Testing.Extensions.Telemetry, Version=1.7.3.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
|
||||||
|
<HintPath>..\packages\Microsoft.Testing.Extensions.Telemetry.1.7.3\lib\netstandard2.0\Microsoft.Testing.Extensions.Telemetry.dll</HintPath>
|
||||||
|
</Reference>
|
||||||
|
<Reference Include="Microsoft.Testing.Extensions.TrxReport.Abstractions, Version=1.7.3.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
|
||||||
|
<HintPath>..\packages\Microsoft.Testing.Extensions.TrxReport.Abstractions.1.7.3\lib\netstandard2.0\Microsoft.Testing.Extensions.TrxReport.Abstractions.dll</HintPath>
|
||||||
|
</Reference>
|
||||||
|
<Reference Include="Microsoft.Testing.Extensions.VSTestBridge, Version=1.7.3.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
|
||||||
|
<HintPath>..\packages\Microsoft.Testing.Extensions.VSTestBridge.1.7.3\lib\netstandard2.0\Microsoft.Testing.Extensions.VSTestBridge.dll</HintPath>
|
||||||
|
</Reference>
|
||||||
|
<Reference Include="Microsoft.Testing.Platform, Version=1.7.3.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
|
||||||
|
<HintPath>..\packages\Microsoft.Testing.Platform.1.7.3\lib\netstandard2.0\Microsoft.Testing.Platform.dll</HintPath>
|
||||||
|
</Reference>
|
||||||
|
<Reference Include="Microsoft.TestPlatform.AdapterUtilities, Version=15.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
|
||||||
|
<HintPath>..\packages\Microsoft.TestPlatform.AdapterUtilities.17.13.0\lib\net462\Microsoft.TestPlatform.AdapterUtilities.dll</HintPath>
|
||||||
|
</Reference>
|
||||||
|
<Reference Include="Microsoft.TestPlatform.CoreUtilities, Version=15.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
|
||||||
|
<HintPath>..\packages\Microsoft.TestPlatform.ObjectModel.17.13.0\lib\net462\Microsoft.TestPlatform.CoreUtilities.dll</HintPath>
|
||||||
|
</Reference>
|
||||||
|
<Reference Include="Microsoft.TestPlatform.PlatformAbstractions, Version=15.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
|
||||||
|
<HintPath>..\packages\Microsoft.TestPlatform.ObjectModel.17.13.0\lib\net462\Microsoft.TestPlatform.PlatformAbstractions.dll</HintPath>
|
||||||
|
</Reference>
|
||||||
|
<Reference Include="Microsoft.VisualStudio.TestPlatform.ObjectModel, Version=15.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
|
||||||
|
<HintPath>..\packages\Microsoft.TestPlatform.ObjectModel.17.13.0\lib\net462\Microsoft.VisualStudio.TestPlatform.ObjectModel.dll</HintPath>
|
||||||
|
</Reference>
|
||||||
|
<Reference Include="Moq, Version=4.18.0.0, Culture=neutral, PublicKeyToken=69f491c39445e920, processorArchitecture=MSIL">
|
||||||
|
<HintPath>..\packages\Moq.4.18.2\lib\net462\Moq.dll</HintPath>
|
||||||
|
</Reference>
|
||||||
|
<Reference Include="nunit.framework, Version=3.13.3.0, Culture=neutral, PublicKeyToken=2638cd05610744eb, processorArchitecture=MSIL">
|
||||||
|
<HintPath>..\packages\NUnit.3.13.3\lib\net45\nunit.framework.dll</HintPath>
|
||||||
</Reference>
|
</Reference>
|
||||||
<Reference Include="System" />
|
<Reference Include="System" />
|
||||||
|
<Reference Include="System.Buffers, Version=4.0.3.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL">
|
||||||
|
<HintPath>..\packages\System.Buffers.4.5.1\lib\net461\System.Buffers.dll</HintPath>
|
||||||
|
</Reference>
|
||||||
|
<Reference Include="System.Collections.Immutable, Version=1.2.3.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
|
||||||
|
<HintPath>..\packages\System.Collections.Immutable.1.5.0\lib\netstandard2.0\System.Collections.Immutable.dll</HintPath>
|
||||||
|
</Reference>
|
||||||
<Reference Include="System.Configuration" />
|
<Reference Include="System.Configuration" />
|
||||||
<Reference Include="System.Core" />
|
<Reference Include="System.Core" />
|
||||||
<Reference Include="System.Runtime.CompilerServices.Unsafe, Version=5.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
|
<Reference Include="System.Diagnostics.DiagnosticSource, Version=5.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL">
|
||||||
<HintPath>..\packages\System.Runtime.CompilerServices.Unsafe.5.0.0\lib\net45\System.Runtime.CompilerServices.Unsafe.dll</HintPath>
|
<HintPath>..\packages\System.Diagnostics.DiagnosticSource.5.0.0\lib\net46\System.Diagnostics.DiagnosticSource.dll</HintPath>
|
||||||
</Reference>
|
</Reference>
|
||||||
|
<Reference Include="System.Memory, Version=4.0.1.1, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL">
|
||||||
|
<HintPath>..\packages\System.Memory.4.5.4\lib\net461\System.Memory.dll</HintPath>
|
||||||
|
</Reference>
|
||||||
|
<Reference Include="System.Numerics" />
|
||||||
|
<Reference Include="System.Numerics.Vectors, Version=4.1.4.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
|
||||||
|
<HintPath>..\packages\System.Numerics.Vectors.4.5.0\lib\net46\System.Numerics.Vectors.dll</HintPath>
|
||||||
|
</Reference>
|
||||||
|
<Reference Include="System.Reflection.Metadata, Version=1.4.3.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
|
||||||
|
<HintPath>..\packages\System.Reflection.Metadata.1.6.0\lib\netstandard2.0\System.Reflection.Metadata.dll</HintPath>
|
||||||
|
</Reference>
|
||||||
|
<Reference Include="System.Runtime" />
|
||||||
|
<Reference Include="System.Runtime.CompilerServices.Unsafe, Version=7.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
|
||||||
|
<HintPath>..\packages\System.Runtime.CompilerServices.Unsafe.7.0.0-preview.2.22152.2\lib\net462\System.Runtime.CompilerServices.Unsafe.dll</HintPath>
|
||||||
|
</Reference>
|
||||||
|
<Reference Include="System.Runtime.Serialization" />
|
||||||
<Reference Include="System.Threading.Tasks.Extensions, Version=4.2.0.1, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL">
|
<Reference Include="System.Threading.Tasks.Extensions, Version=4.2.0.1, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL">
|
||||||
<HintPath>..\packages\System.Threading.Tasks.Extensions.4.5.4\lib\net461\System.Threading.Tasks.Extensions.dll</HintPath>
|
<HintPath>..\packages\System.Threading.Tasks.Extensions.4.5.4\lib\net461\System.Threading.Tasks.Extensions.dll</HintPath>
|
||||||
</Reference>
|
</Reference>
|
||||||
@@ -104,6 +159,16 @@
|
|||||||
<PropertyGroup>
|
<PropertyGroup>
|
||||||
<ErrorText>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}.</ErrorText>
|
<ErrorText>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}.</ErrorText>
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
<Error Condition="!Exists('..\packages\NUnit.3.13.0\build\NUnit.props')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\NUnit.3.13.0\build\NUnit.props'))" />
|
<Error Condition="!Exists('..\packages\NUnit.3.13.3\build\NUnit.props')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\NUnit.3.13.3\build\NUnit.props'))" />
|
||||||
|
<Error Condition="!Exists('..\packages\Microsoft.Testing.Platform.1.7.3\build\netstandard2.0\Microsoft.Testing.Platform.props')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\Microsoft.Testing.Platform.1.7.3\build\netstandard2.0\Microsoft.Testing.Platform.props'))" />
|
||||||
|
<Error Condition="!Exists('..\packages\Microsoft.Testing.Platform.1.7.3\build\netstandard2.0\Microsoft.Testing.Platform.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\Microsoft.Testing.Platform.1.7.3\build\netstandard2.0\Microsoft.Testing.Platform.targets'))" />
|
||||||
|
<Error Condition="!Exists('..\packages\Microsoft.Testing.Platform.MSBuild.1.7.3\build\Microsoft.Testing.Platform.MSBuild.props')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\Microsoft.Testing.Platform.MSBuild.1.7.3\build\Microsoft.Testing.Platform.MSBuild.props'))" />
|
||||||
|
<Error Condition="!Exists('..\packages\Microsoft.Testing.Platform.MSBuild.1.7.3\build\Microsoft.Testing.Platform.MSBuild.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\Microsoft.Testing.Platform.MSBuild.1.7.3\build\Microsoft.Testing.Platform.MSBuild.targets'))" />
|
||||||
|
<Error Condition="!Exists('..\packages\Microsoft.Testing.Extensions.Telemetry.1.7.3\build\netstandard2.0\Microsoft.Testing.Extensions.Telemetry.props')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\Microsoft.Testing.Extensions.Telemetry.1.7.3\build\netstandard2.0\Microsoft.Testing.Extensions.Telemetry.props'))" />
|
||||||
|
<Error Condition="!Exists('..\packages\NUnit3TestAdapter.5.1.0\build\net462\NUnit3TestAdapter.props')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\NUnit3TestAdapter.5.1.0\build\net462\NUnit3TestAdapter.props'))" />
|
||||||
|
<Error Condition="!Exists('..\packages\NUnit3TestAdapter.5.1.0\build\net462\NUnit3TestAdapter.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\NUnit3TestAdapter.5.1.0\build\net462\NUnit3TestAdapter.targets'))" />
|
||||||
</Target>
|
</Target>
|
||||||
|
<Import Project="..\packages\Microsoft.Testing.Platform.1.7.3\build\netstandard2.0\Microsoft.Testing.Platform.targets" Condition="Exists('..\packages\Microsoft.Testing.Platform.1.7.3\build\netstandard2.0\Microsoft.Testing.Platform.targets')" />
|
||||||
|
<Import Project="..\packages\Microsoft.Testing.Platform.MSBuild.1.7.3\build\Microsoft.Testing.Platform.MSBuild.targets" Condition="Exists('..\packages\Microsoft.Testing.Platform.MSBuild.1.7.3\build\Microsoft.Testing.Platform.MSBuild.targets')" />
|
||||||
|
<Import Project="..\packages\NUnit3TestAdapter.5.1.0\build\net462\NUnit3TestAdapter.targets" Condition="Exists('..\packages\NUnit3TestAdapter.5.1.0\build\net462\NUnit3TestAdapter.targets')" />
|
||||||
</Project>
|
</Project>
|
||||||
@@ -8,7 +8,7 @@
|
|||||||
</dependentAssembly>
|
</dependentAssembly>
|
||||||
<dependentAssembly>
|
<dependentAssembly>
|
||||||
<assemblyIdentity name="System.Runtime.CompilerServices.Unsafe" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
|
<assemblyIdentity name="System.Runtime.CompilerServices.Unsafe" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
|
||||||
<bindingRedirect oldVersion="0.0.0.0-5.0.0.0" newVersion="5.0.0.0" />
|
<bindingRedirect oldVersion="0.0.0.0-7.0.0.0" newVersion="7.0.0.0" />
|
||||||
</dependentAssembly>
|
</dependentAssembly>
|
||||||
</assemblyBinding>
|
</assemblyBinding>
|
||||||
</runtime>
|
</runtime>
|
||||||
|
|||||||
@@ -1,9 +1,24 @@
|
|||||||
<?xml version="1.0" encoding="utf-8"?>
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
<packages>
|
<packages>
|
||||||
<package id="Castle.Core" version="4.4.1" targetFramework="net472" />
|
<package id="Castle.Core" version="5.1.0" targetFramework="net472" />
|
||||||
<package id="JetBrains.Annotations" version="2020.3.0" targetFramework="net472" />
|
<package id="JetBrains.Annotations" version="2022.3.1" targetFramework="net472" />
|
||||||
<package id="Moq" version="4.15.2" targetFramework="net472" />
|
<package id="Microsoft.ApplicationInsights" version="2.23.0" targetFramework="net472" />
|
||||||
<package id="NUnit" version="3.13.0" targetFramework="net472" />
|
<package id="Microsoft.Testing.Extensions.Telemetry" version="1.7.3" targetFramework="net472" />
|
||||||
<package id="System.Runtime.CompilerServices.Unsafe" version="5.0.0" targetFramework="net472" />
|
<package id="Microsoft.Testing.Extensions.TrxReport.Abstractions" version="1.7.3" targetFramework="net472" />
|
||||||
|
<package id="Microsoft.Testing.Extensions.VSTestBridge" version="1.7.3" targetFramework="net472" />
|
||||||
|
<package id="Microsoft.Testing.Platform" version="1.7.3" targetFramework="net472" />
|
||||||
|
<package id="Microsoft.Testing.Platform.MSBuild" version="1.7.3" targetFramework="net472" />
|
||||||
|
<package id="Microsoft.TestPlatform.AdapterUtilities" version="17.13.0" targetFramework="net472" />
|
||||||
|
<package id="Microsoft.TestPlatform.ObjectModel" version="17.13.0" targetFramework="net472" />
|
||||||
|
<package id="Moq" version="4.18.2" targetFramework="net472" />
|
||||||
|
<package id="NUnit" version="3.13.3" targetFramework="net472" />
|
||||||
|
<package id="NUnit3TestAdapter" version="5.1.0" targetFramework="net472" />
|
||||||
|
<package id="System.Buffers" version="4.5.1" targetFramework="net472" />
|
||||||
|
<package id="System.Collections.Immutable" version="1.5.0" targetFramework="net472" />
|
||||||
|
<package id="System.Diagnostics.DiagnosticSource" version="5.0.0" targetFramework="net472" />
|
||||||
|
<package id="System.Memory" version="4.5.4" targetFramework="net472" />
|
||||||
|
<package id="System.Numerics.Vectors" version="4.5.0" targetFramework="net472" />
|
||||||
|
<package id="System.Reflection.Metadata" version="1.6.0" targetFramework="net472" />
|
||||||
|
<package id="System.Runtime.CompilerServices.Unsafe" version="7.0.0-preview.2.22152.2" targetFramework="net472" />
|
||||||
<package id="System.Threading.Tasks.Extensions" version="4.5.4" targetFramework="net472" />
|
<package id="System.Threading.Tasks.Extensions" version="4.5.4" targetFramework="net472" />
|
||||||
</packages>
|
</packages>
|
||||||
@@ -10,7 +10,7 @@
|
|||||||
<AppDesignerFolder>Properties</AppDesignerFolder>
|
<AppDesignerFolder>Properties</AppDesignerFolder>
|
||||||
<RootNamespace>ASCOM.MeadeGeneric</RootNamespace>
|
<RootNamespace>ASCOM.MeadeGeneric</RootNamespace>
|
||||||
<AssemblyName>ASCOM.MeadeGeneric.Test</AssemblyName>
|
<AssemblyName>ASCOM.MeadeGeneric.Test</AssemblyName>
|
||||||
<TargetFrameworkVersion>v4.5</TargetFrameworkVersion>
|
<TargetFrameworkVersion>v4.8</TargetFrameworkVersion>
|
||||||
<TargetFrameworkProfile>
|
<TargetFrameworkProfile>
|
||||||
</TargetFrameworkProfile>
|
</TargetFrameworkProfile>
|
||||||
<FileAlignment>512</FileAlignment>
|
<FileAlignment>512</FileAlignment>
|
||||||
@@ -59,8 +59,8 @@
|
|||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<Reference Include="ASCOM.DeviceInterfaces, Version=6.0.0.0, Culture=neutral, PublicKeyToken=565de7938946fba7, processorArchitecture=MSIL" />
|
<Reference Include="ASCOM.DeviceInterfaces, Version=6.0.0.0, Culture=neutral, PublicKeyToken=565de7938946fba7, processorArchitecture=MSIL" />
|
||||||
<Reference Include="ASCOM.DriverAccess, Version=6.0.0.0, Culture=neutral, PublicKeyToken=565de7938946fba7, processorArchitecture=MSIL" />
|
<Reference Include="ASCOM.DriverAccess, Version=6.0.0.0, Culture=neutral, PublicKeyToken=565de7938946fba7, processorArchitecture=MSIL" />
|
||||||
<Reference Include="JetBrains.Annotations, Version=2020.3.0.0, Culture=neutral, PublicKeyToken=1010a0d8d6380325, processorArchitecture=MSIL">
|
<Reference Include="JetBrains.Annotations, Version=4242.42.42.42, Culture=neutral, PublicKeyToken=1010a0d8d6380325, processorArchitecture=MSIL">
|
||||||
<HintPath>..\packages\JetBrains.Annotations.2020.3.0\lib\net20\JetBrains.Annotations.dll</HintPath>
|
<HintPath>..\packages\JetBrains.Annotations.2022.3.1\lib\net20\JetBrains.Annotations.dll</HintPath>
|
||||||
</Reference>
|
</Reference>
|
||||||
<Reference Include="System" />
|
<Reference Include="System" />
|
||||||
<Reference Include="System.Core" />
|
<Reference Include="System.Core" />
|
||||||
|
|||||||
@@ -1,3 +1,3 @@
|
|||||||
<?xml version="1.0"?>
|
<?xml version="1.0"?>
|
||||||
<configuration>
|
<configuration>
|
||||||
<startup><supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5"/></startup></configuration>
|
<startup><supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.8"/></startup></configuration>
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
<?xml version="1.0" encoding="utf-8"?>
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
<packages>
|
<packages>
|
||||||
<package id="JetBrains.Annotations" version="2020.3.0" targetFramework="net45" />
|
<package id="JetBrains.Annotations" version="2022.3.1" targetFramework="net48" />
|
||||||
</packages>
|
</packages>
|
||||||
@@ -15,6 +15,7 @@ namespace Meade.net.Focuser.UnitTests
|
|||||||
{
|
{
|
||||||
private Mock<IUtil> _utilMock;
|
private Mock<IUtil> _utilMock;
|
||||||
private Mock<ISharedResourcesWrapper> _sharedResourcesWrapperMock;
|
private Mock<ISharedResourcesWrapper> _sharedResourcesWrapperMock;
|
||||||
|
private Mock<ITraceLogger> _traceLoggerMock;
|
||||||
|
|
||||||
private ProfileProperties _profileProperties;
|
private ProfileProperties _profileProperties;
|
||||||
|
|
||||||
@@ -40,13 +41,13 @@ namespace Meade.net.Focuser.UnitTests
|
|||||||
|
|
||||||
_utilMock = new Mock<IUtil>();
|
_utilMock = new Mock<IUtil>();
|
||||||
|
|
||||||
_sharedResourcesWrapperMock = new Mock<ISharedResourcesWrapper>();
|
_traceLoggerMock = new Mock<ITraceLogger>();
|
||||||
|
|
||||||
_sharedResourcesWrapperMock.Setup(x => x.Lock(It.IsAny<Action>())).Callback<Action>(action => { action(); });
|
_sharedResourcesWrapperMock = new Mock<ISharedResourcesWrapper>();
|
||||||
|
|
||||||
_sharedResourcesWrapperMock.Setup(x => x.ReadProfile()).Returns(() => _profileProperties);
|
_sharedResourcesWrapperMock.Setup(x => x.ReadProfile()).Returns(() => _profileProperties);
|
||||||
|
|
||||||
_focuser = new ASCOM.Meade.net.Focuser(_utilMock.Object, _sharedResourcesWrapperMock.Object);
|
_focuser = new ASCOM.Meade.net.Focuser(_utilMock.Object, _sharedResourcesWrapperMock.Object, _traceLoggerMock.Object);
|
||||||
}
|
}
|
||||||
|
|
||||||
private void ConnectFocuser()
|
private void ConnectFocuser()
|
||||||
@@ -119,7 +120,7 @@ namespace Meade.net.Focuser.UnitTests
|
|||||||
|
|
||||||
_focuser.CommandBlind(expectedMessage, raw);
|
_focuser.CommandBlind(expectedMessage, raw);
|
||||||
|
|
||||||
_sharedResourcesWrapperMock.Verify(x => x.SendBlind(expectedMessage, raw), Times.Once);
|
_sharedResourcesWrapperMock.Verify(x => x.SendBlind(_traceLoggerMock.Object, expectedMessage, raw), Times.Once);
|
||||||
}
|
}
|
||||||
|
|
||||||
[Test]
|
[Test]
|
||||||
@@ -136,13 +137,13 @@ namespace Meade.net.Focuser.UnitTests
|
|||||||
public void CommandBool_WhenConnected_ThenSendsExpectedMessage(bool raw)
|
public void CommandBool_WhenConnected_ThenSendsExpectedMessage(bool raw)
|
||||||
{
|
{
|
||||||
string expectedMessage = "test blind Message";
|
string expectedMessage = "test blind Message";
|
||||||
_sharedResourcesWrapperMock.Setup(x => x.SendBool(expectedMessage, raw)).Returns(true);
|
_sharedResourcesWrapperMock.Setup(x => x.SendBool(_traceLoggerMock.Object, expectedMessage, raw)).Returns(true);
|
||||||
|
|
||||||
ConnectFocuser();
|
ConnectFocuser();
|
||||||
|
|
||||||
var result = _focuser.CommandBool(expectedMessage, raw);
|
var result = _focuser.CommandBool(expectedMessage, raw);
|
||||||
|
|
||||||
_sharedResourcesWrapperMock.Verify(x => x.SendBool(expectedMessage, raw), Times.Once);
|
_sharedResourcesWrapperMock.Verify(x => x.SendBool(_traceLoggerMock.Object, expectedMessage, raw), Times.Once);
|
||||||
Assert.That(result, Is.True);
|
Assert.That(result, Is.True);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -163,11 +164,11 @@ namespace Meade.net.Focuser.UnitTests
|
|||||||
|
|
||||||
ConnectFocuser();
|
ConnectFocuser();
|
||||||
|
|
||||||
_sharedResourcesWrapperMock.Setup(x => x.SendString(sendMessage, true)).Returns(() => expectedMessage);
|
_sharedResourcesWrapperMock.Setup(x => x.SendString(_traceLoggerMock.Object, sendMessage, true)).Returns(() => expectedMessage);
|
||||||
|
|
||||||
var actualMessage = _focuser.CommandString(sendMessage, true);
|
var actualMessage = _focuser.CommandString(sendMessage, true);
|
||||||
|
|
||||||
_sharedResourcesWrapperMock.Verify(x => x.SendString(sendMessage, true), Times.Once);
|
_sharedResourcesWrapperMock.Verify(x => x.SendString(_traceLoggerMock.Object, sendMessage, true), Times.Once);
|
||||||
Assert.That(actualMessage, Is.EqualTo(expectedMessage));
|
Assert.That(actualMessage, Is.EqualTo(expectedMessage));
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -323,7 +324,7 @@ namespace Meade.net.Focuser.UnitTests
|
|||||||
|
|
||||||
_focuser.Halt();
|
_focuser.Halt();
|
||||||
|
|
||||||
_sharedResourcesWrapperMock.Verify(x => x.SendBlind("FQ", false), Times.AtLeastOnce);
|
_sharedResourcesWrapperMock.Verify(x => x.SendBlind(_traceLoggerMock.Object, "FQ", false), Times.AtLeastOnce);
|
||||||
}
|
}
|
||||||
|
|
||||||
[Test]
|
[Test]
|
||||||
@@ -363,7 +364,7 @@ namespace Meade.net.Focuser.UnitTests
|
|||||||
{
|
{
|
||||||
var result = _focuser.MaxIncrement;
|
var result = _focuser.MaxIncrement;
|
||||||
|
|
||||||
Assert.That(result, Is.EqualTo(7000));
|
Assert.That(result, Is.EqualTo(30000));
|
||||||
}
|
}
|
||||||
|
|
||||||
[Test]
|
[Test]
|
||||||
@@ -371,7 +372,7 @@ namespace Meade.net.Focuser.UnitTests
|
|||||||
{
|
{
|
||||||
var result = _focuser.MaxStep;
|
var result = _focuser.MaxStep;
|
||||||
|
|
||||||
Assert.That(result, Is.EqualTo(7000));
|
Assert.That(result, Is.EqualTo(30000));
|
||||||
}
|
}
|
||||||
|
|
||||||
[Test]
|
[Test]
|
||||||
@@ -381,8 +382,8 @@ namespace Meade.net.Focuser.UnitTests
|
|||||||
Assert.That(exception.Message, Is.EqualTo("Not connected to focuser when trying to execute: Move"));
|
Assert.That(exception.Message, Is.EqualTo("Not connected to focuser when trying to execute: Move"));
|
||||||
}
|
}
|
||||||
|
|
||||||
[TestCase(-7001)]
|
[TestCase(-30001)]
|
||||||
[TestCase(7001)]
|
[TestCase(300001)]
|
||||||
public void Move_WhenLargerThanMaxIncrement_ThenThrowsException(int position)
|
public void Move_WhenLargerThanMaxIncrement_ThenThrowsException(int position)
|
||||||
{
|
{
|
||||||
ConnectFocuser();
|
ConnectFocuser();
|
||||||
@@ -413,17 +414,15 @@ namespace Meade.net.Focuser.UnitTests
|
|||||||
|
|
||||||
if (position < 0)
|
if (position < 0)
|
||||||
{
|
{
|
||||||
_sharedResourcesWrapperMock.Verify(x => x.SendBlind("F-", false), Times.Once);
|
_sharedResourcesWrapperMock.Verify(x => x.SendBlind(_traceLoggerMock.Object, "F-", false), Times.Once);
|
||||||
_sharedResourcesWrapperMock.Verify(x => x.SendBlind("F+", false), Times.Never);
|
_sharedResourcesWrapperMock.Verify(x => x.SendBlind(_traceLoggerMock.Object, "F+", false), Times.Never);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
_sharedResourcesWrapperMock.Verify(x => x.SendBlind("F-", false), Times.Never);
|
_sharedResourcesWrapperMock.Verify(x => x.SendBlind(_traceLoggerMock.Object, "F-", false), Times.Never);
|
||||||
_sharedResourcesWrapperMock.Verify(x => x.SendBlind("F+", false), Times.Once);
|
_sharedResourcesWrapperMock.Verify(x => x.SendBlind(_traceLoggerMock.Object, "F+", false), Times.Once);
|
||||||
}
|
}
|
||||||
|
|
||||||
_sharedResourcesWrapperMock.Verify(x => x.Lock(It.IsAny<Action>()), Times.Once);
|
|
||||||
|
|
||||||
_utilMock.Verify(x => x.WaitForMilliseconds(Math.Abs(position)), Times.Once);
|
_utilMock.Verify(x => x.WaitForMilliseconds(Math.Abs(position)), Times.Once);
|
||||||
_utilMock.Verify(x => x.WaitForMilliseconds(Math.Abs(_profileProperties.BacklashCompensation)), Times.Never);
|
_utilMock.Verify(x => x.WaitForMilliseconds(Math.Abs(_profileProperties.BacklashCompensation)), Times.Never);
|
||||||
_utilMock.Verify(x => x.WaitForMilliseconds(100), Times.Once());
|
_utilMock.Verify(x => x.WaitForMilliseconds(100), Times.Once());
|
||||||
@@ -441,22 +440,20 @@ namespace Meade.net.Focuser.UnitTests
|
|||||||
|
|
||||||
if (position < 0)
|
if (position < 0)
|
||||||
{
|
{
|
||||||
_sharedResourcesWrapperMock.Verify(x => x.SendBlind("F-", false), Times.Once);
|
_sharedResourcesWrapperMock.Verify(x => x.SendBlind(_traceLoggerMock.Object, "F-", false), Times.Once);
|
||||||
_sharedResourcesWrapperMock.Verify(x => x.SendBlind("F+", false), Times.Never);
|
_sharedResourcesWrapperMock.Verify(x => x.SendBlind(_traceLoggerMock.Object, "F+", false), Times.Never);
|
||||||
_utilMock.Verify(x => x.WaitForMilliseconds(Math.Abs(position)), Times.Once);
|
_utilMock.Verify(x => x.WaitForMilliseconds(Math.Abs(position)), Times.Once);
|
||||||
_utilMock.Verify(x => x.WaitForMilliseconds(Math.Abs(_profileProperties.BacklashCompensation)), Times.Never);
|
_utilMock.Verify(x => x.WaitForMilliseconds(Math.Abs(_profileProperties.BacklashCompensation)), Times.Never);
|
||||||
_utilMock.Verify(x => x.WaitForMilliseconds(100), Times.Exactly(1));
|
_utilMock.Verify(x => x.WaitForMilliseconds(100), Times.Exactly(1));
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
_sharedResourcesWrapperMock.Verify(x => x.SendBlind("F-", false), Times.Once);
|
_sharedResourcesWrapperMock.Verify(x => x.SendBlind(_traceLoggerMock.Object, "F-", false), Times.Once);
|
||||||
_sharedResourcesWrapperMock.Verify(x => x.SendBlind("F+", false), Times.Once);
|
_sharedResourcesWrapperMock.Verify(x => x.SendBlind(_traceLoggerMock.Object, "F+", false), Times.Once);
|
||||||
_utilMock.Verify(x => x.WaitForMilliseconds(Math.Abs(position) + _profileProperties.BacklashCompensation), Times.Once);
|
_utilMock.Verify(x => x.WaitForMilliseconds(Math.Abs(position) + _profileProperties.BacklashCompensation), Times.Once);
|
||||||
_utilMock.Verify(x => x.WaitForMilliseconds(_profileProperties.BacklashCompensation), Times.Once);
|
_utilMock.Verify(x => x.WaitForMilliseconds(_profileProperties.BacklashCompensation), Times.Once);
|
||||||
_utilMock.Verify(x => x.WaitForMilliseconds(100), Times.Exactly(2));
|
_utilMock.Verify(x => x.WaitForMilliseconds(100), Times.Exactly(2));
|
||||||
}
|
}
|
||||||
|
|
||||||
_sharedResourcesWrapperMock.Verify(x => x.Lock(It.IsAny<Action>()), Times.Once);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
[Test]
|
[Test]
|
||||||
|
|||||||
@@ -1,6 +1,10 @@
|
|||||||
<?xml version="1.0" encoding="utf-8"?>
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
<Project ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
<Project ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||||
<Import Project="..\packages\NUnit.3.13.0\build\NUnit.props" Condition="Exists('..\packages\NUnit.3.13.0\build\NUnit.props')" />
|
<Import Project="..\packages\NUnit3TestAdapter.5.1.0\build\net462\NUnit3TestAdapter.props" Condition="Exists('..\packages\NUnit3TestAdapter.5.1.0\build\net462\NUnit3TestAdapter.props')" />
|
||||||
|
<Import Project="..\packages\Microsoft.Testing.Extensions.Telemetry.1.7.3\build\netstandard2.0\Microsoft.Testing.Extensions.Telemetry.props" Condition="Exists('..\packages\Microsoft.Testing.Extensions.Telemetry.1.7.3\build\netstandard2.0\Microsoft.Testing.Extensions.Telemetry.props')" />
|
||||||
|
<Import Project="..\packages\Microsoft.Testing.Platform.MSBuild.1.7.3\build\Microsoft.Testing.Platform.MSBuild.props" Condition="Exists('..\packages\Microsoft.Testing.Platform.MSBuild.1.7.3\build\Microsoft.Testing.Platform.MSBuild.props')" />
|
||||||
|
<Import Project="..\packages\Microsoft.Testing.Platform.1.7.3\build\netstandard2.0\Microsoft.Testing.Platform.props" Condition="Exists('..\packages\Microsoft.Testing.Platform.1.7.3\build\netstandard2.0\Microsoft.Testing.Platform.props')" />
|
||||||
|
<Import Project="..\packages\NUnit.3.13.3\build\NUnit.props" Condition="Exists('..\packages\NUnit.3.13.3\build\NUnit.props')" />
|
||||||
<Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" />
|
<Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" />
|
||||||
<PropertyGroup>
|
<PropertyGroup>
|
||||||
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
|
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
|
||||||
@@ -36,56 +40,107 @@
|
|||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<Reference Include="ASCOM.Astrometry, Version=6.0.0.0, Culture=neutral, PublicKeyToken=565de7938946fba7, processorArchitecture=MSIL">
|
<Reference Include="ASCOM.Astrometry, Version=6.0.0.0, Culture=neutral, PublicKeyToken=565de7938946fba7, processorArchitecture=MSIL">
|
||||||
<HintPath>..\packages\ASCOM.Platform.6.5.1\lib\net40\ASCOM.Astrometry.dll</HintPath>
|
<HintPath>..\packages\ASCOM.Platform.6.5.2\lib\net40\ASCOM.Astrometry.dll</HintPath>
|
||||||
</Reference>
|
</Reference>
|
||||||
<Reference Include="ASCOM.Attributes, Version=6.0.0.0, Culture=neutral, PublicKeyToken=565de7938946fba7, processorArchitecture=MSIL">
|
<Reference Include="ASCOM.Attributes, Version=6.0.0.0, Culture=neutral, PublicKeyToken=565de7938946fba7, processorArchitecture=MSIL">
|
||||||
<HintPath>..\packages\ASCOM.Platform.6.5.1\lib\net40\ASCOM.Attributes.dll</HintPath>
|
<HintPath>..\packages\ASCOM.Platform.6.5.2\lib\net40\ASCOM.Attributes.dll</HintPath>
|
||||||
</Reference>
|
</Reference>
|
||||||
<Reference Include="ASCOM.Cache, Version=6.0.0.0, Culture=neutral, PublicKeyToken=565de7938946fba7, processorArchitecture=MSIL">
|
<Reference Include="ASCOM.Cache, Version=6.0.0.0, Culture=neutral, PublicKeyToken=565de7938946fba7, processorArchitecture=MSIL">
|
||||||
<HintPath>..\packages\ASCOM.Platform.6.5.1\lib\net40\ASCOM.Cache.dll</HintPath>
|
<HintPath>..\packages\ASCOM.Platform.6.5.2\lib\net40\ASCOM.Cache.dll</HintPath>
|
||||||
</Reference>
|
</Reference>
|
||||||
<Reference Include="ASCOM.Controls, Version=6.0.0.0, Culture=neutral, PublicKeyToken=565de7938946fba7, processorArchitecture=MSIL">
|
<Reference Include="ASCOM.Controls, Version=6.0.0.0, Culture=neutral, PublicKeyToken=565de7938946fba7, processorArchitecture=MSIL">
|
||||||
<HintPath>..\packages\ASCOM.Platform.6.5.1\lib\net40\ASCOM.Controls.dll</HintPath>
|
<HintPath>..\packages\ASCOM.Platform.6.5.2\lib\net40\ASCOM.Controls.dll</HintPath>
|
||||||
</Reference>
|
</Reference>
|
||||||
<Reference Include="ASCOM.DeviceInterfaces, Version=6.0.0.0, Culture=neutral, PublicKeyToken=565de7938946fba7, processorArchitecture=MSIL">
|
<Reference Include="ASCOM.DeviceInterfaces, Version=6.0.0.0, Culture=neutral, PublicKeyToken=565de7938946fba7, processorArchitecture=MSIL">
|
||||||
<HintPath>..\packages\ASCOM.Platform.6.5.1\lib\net40\ASCOM.DeviceInterfaces.dll</HintPath>
|
<HintPath>..\packages\ASCOM.Platform.6.5.2\lib\net40\ASCOM.DeviceInterfaces.dll</HintPath>
|
||||||
</Reference>
|
</Reference>
|
||||||
<Reference Include="ASCOM.DriverAccess, Version=6.0.0.0, Culture=neutral, PublicKeyToken=565de7938946fba7, processorArchitecture=MSIL">
|
<Reference Include="ASCOM.DriverAccess, Version=6.0.0.0, Culture=neutral, PublicKeyToken=565de7938946fba7, processorArchitecture=MSIL">
|
||||||
<HintPath>..\packages\ASCOM.Platform.6.5.1\lib\net40\ASCOM.DriverAccess.dll</HintPath>
|
<HintPath>..\packages\ASCOM.Platform.6.5.2\lib\net40\ASCOM.DriverAccess.dll</HintPath>
|
||||||
</Reference>
|
</Reference>
|
||||||
<Reference Include="ASCOM.Exceptions, Version=6.0.0.0, Culture=neutral, PublicKeyToken=565de7938946fba7, processorArchitecture=MSIL">
|
<Reference Include="ASCOM.Exceptions, Version=6.0.0.0, Culture=neutral, PublicKeyToken=565de7938946fba7, processorArchitecture=MSIL">
|
||||||
<HintPath>..\packages\ASCOM.Platform.6.5.1\lib\net40\ASCOM.Exceptions.dll</HintPath>
|
<HintPath>..\packages\ASCOM.Platform.6.5.2\lib\net40\ASCOM.Exceptions.dll</HintPath>
|
||||||
</Reference>
|
</Reference>
|
||||||
<Reference Include="ASCOM.Internal.Extensions, Version=6.0.0.0, Culture=neutral, PublicKeyToken=565de7938946fba7, processorArchitecture=MSIL">
|
<Reference Include="ASCOM.Internal.Extensions, Version=6.0.0.0, Culture=neutral, PublicKeyToken=565de7938946fba7, processorArchitecture=MSIL">
|
||||||
<HintPath>..\packages\ASCOM.Platform.6.5.1\lib\net40\ASCOM.Internal.Extensions.dll</HintPath>
|
<HintPath>..\packages\ASCOM.Platform.6.5.2\lib\net40\ASCOM.Internal.Extensions.dll</HintPath>
|
||||||
</Reference>
|
</Reference>
|
||||||
<Reference Include="ASCOM.SettingsProvider, Version=6.0.0.0, Culture=neutral, PublicKeyToken=565de7938946fba7, processorArchitecture=MSIL">
|
<Reference Include="ASCOM.SettingsProvider, Version=6.0.0.0, Culture=neutral, PublicKeyToken=565de7938946fba7, processorArchitecture=MSIL">
|
||||||
<HintPath>..\packages\ASCOM.Platform.6.5.1\lib\net40\ASCOM.SettingsProvider.dll</HintPath>
|
<HintPath>..\packages\ASCOM.Platform.6.5.2\lib\net40\ASCOM.SettingsProvider.dll</HintPath>
|
||||||
</Reference>
|
</Reference>
|
||||||
<Reference Include="ASCOM.Utilities, Version=6.0.0.0, Culture=neutral, PublicKeyToken=565de7938946fba7, processorArchitecture=MSIL">
|
<Reference Include="ASCOM.Utilities, Version=6.0.0.0, Culture=neutral, PublicKeyToken=565de7938946fba7, processorArchitecture=MSIL">
|
||||||
<HintPath>..\packages\ASCOM.Platform.6.5.1\lib\net40\ASCOM.Utilities.dll</HintPath>
|
<HintPath>..\packages\ASCOM.Platform.6.5.2\lib\net40\ASCOM.Utilities.dll</HintPath>
|
||||||
</Reference>
|
</Reference>
|
||||||
<Reference Include="ASCOM.Utilities.Video, Version=6.1.0.0, Culture=neutral, PublicKeyToken=565de7938946fba7, processorArchitecture=MSIL">
|
<Reference Include="ASCOM.Utilities.Video, Version=6.1.0.0, Culture=neutral, PublicKeyToken=565de7938946fba7, processorArchitecture=MSIL">
|
||||||
<HintPath>..\packages\ASCOM.Platform.6.5.1\lib\net40\ASCOM.Utilities.Video.dll</HintPath>
|
<HintPath>..\packages\ASCOM.Platform.6.5.2\lib\net40\ASCOM.Utilities.Video.dll</HintPath>
|
||||||
</Reference>
|
</Reference>
|
||||||
<Reference Include="Castle.Core, Version=4.0.0.0, Culture=neutral, PublicKeyToken=407dd0808d44fbdc, processorArchitecture=MSIL">
|
<Reference Include="Castle.Core, Version=5.0.0.0, Culture=neutral, PublicKeyToken=407dd0808d44fbdc, processorArchitecture=MSIL">
|
||||||
<HintPath>..\packages\Castle.Core.4.4.1\lib\net45\Castle.Core.dll</HintPath>
|
<HintPath>..\packages\Castle.Core.5.1.0\lib\net462\Castle.Core.dll</HintPath>
|
||||||
</Reference>
|
</Reference>
|
||||||
<Reference Include="JetBrains.Annotations, Version=2020.3.0.0, Culture=neutral, PublicKeyToken=1010a0d8d6380325, processorArchitecture=MSIL">
|
<Reference Include="JetBrains.Annotations, Version=4242.42.42.42, Culture=neutral, PublicKeyToken=1010a0d8d6380325, processorArchitecture=MSIL">
|
||||||
<HintPath>..\packages\JetBrains.Annotations.2020.3.0\lib\net20\JetBrains.Annotations.dll</HintPath>
|
<HintPath>..\packages\JetBrains.Annotations.2022.3.1\lib\net20\JetBrains.Annotations.dll</HintPath>
|
||||||
</Reference>
|
</Reference>
|
||||||
<Reference Include="Moq, Version=4.15.0.0, Culture=neutral, PublicKeyToken=69f491c39445e920, processorArchitecture=MSIL">
|
<Reference Include="Microsoft.ApplicationInsights, Version=2.23.0.29, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
|
||||||
<HintPath>..\packages\Moq.4.15.2\lib\net45\Moq.dll</HintPath>
|
<HintPath>..\packages\Microsoft.ApplicationInsights.2.23.0\lib\net46\Microsoft.ApplicationInsights.dll</HintPath>
|
||||||
</Reference>
|
</Reference>
|
||||||
<Reference Include="nunit.framework, Version=3.13.0.0, Culture=neutral, PublicKeyToken=2638cd05610744eb, processorArchitecture=MSIL">
|
<Reference Include="Microsoft.Testing.Extensions.MSBuild, Version=1.7.3.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
|
||||||
<HintPath>..\packages\NUnit.3.13.0\lib\net45\nunit.framework.dll</HintPath>
|
<HintPath>..\packages\Microsoft.Testing.Platform.MSBuild.1.7.3\lib\netstandard2.0\Microsoft.Testing.Extensions.MSBuild.dll</HintPath>
|
||||||
|
</Reference>
|
||||||
|
<Reference Include="Microsoft.Testing.Extensions.Telemetry, Version=1.7.3.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
|
||||||
|
<HintPath>..\packages\Microsoft.Testing.Extensions.Telemetry.1.7.3\lib\netstandard2.0\Microsoft.Testing.Extensions.Telemetry.dll</HintPath>
|
||||||
|
</Reference>
|
||||||
|
<Reference Include="Microsoft.Testing.Extensions.TrxReport.Abstractions, Version=1.7.3.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
|
||||||
|
<HintPath>..\packages\Microsoft.Testing.Extensions.TrxReport.Abstractions.1.7.3\lib\netstandard2.0\Microsoft.Testing.Extensions.TrxReport.Abstractions.dll</HintPath>
|
||||||
|
</Reference>
|
||||||
|
<Reference Include="Microsoft.Testing.Extensions.VSTestBridge, Version=1.7.3.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
|
||||||
|
<HintPath>..\packages\Microsoft.Testing.Extensions.VSTestBridge.1.7.3\lib\netstandard2.0\Microsoft.Testing.Extensions.VSTestBridge.dll</HintPath>
|
||||||
|
</Reference>
|
||||||
|
<Reference Include="Microsoft.Testing.Platform, Version=1.7.3.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
|
||||||
|
<HintPath>..\packages\Microsoft.Testing.Platform.1.7.3\lib\netstandard2.0\Microsoft.Testing.Platform.dll</HintPath>
|
||||||
|
</Reference>
|
||||||
|
<Reference Include="Microsoft.TestPlatform.AdapterUtilities, Version=15.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
|
||||||
|
<HintPath>..\packages\Microsoft.TestPlatform.AdapterUtilities.17.13.0\lib\net462\Microsoft.TestPlatform.AdapterUtilities.dll</HintPath>
|
||||||
|
</Reference>
|
||||||
|
<Reference Include="Microsoft.TestPlatform.CoreUtilities, Version=15.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
|
||||||
|
<HintPath>..\packages\Microsoft.TestPlatform.ObjectModel.17.13.0\lib\net462\Microsoft.TestPlatform.CoreUtilities.dll</HintPath>
|
||||||
|
</Reference>
|
||||||
|
<Reference Include="Microsoft.TestPlatform.PlatformAbstractions, Version=15.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
|
||||||
|
<HintPath>..\packages\Microsoft.TestPlatform.ObjectModel.17.13.0\lib\net462\Microsoft.TestPlatform.PlatformAbstractions.dll</HintPath>
|
||||||
|
</Reference>
|
||||||
|
<Reference Include="Microsoft.VisualStudio.TestPlatform.ObjectModel, Version=15.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
|
||||||
|
<HintPath>..\packages\Microsoft.TestPlatform.ObjectModel.17.13.0\lib\net462\Microsoft.VisualStudio.TestPlatform.ObjectModel.dll</HintPath>
|
||||||
|
</Reference>
|
||||||
|
<Reference Include="Moq, Version=4.18.0.0, Culture=neutral, PublicKeyToken=69f491c39445e920, processorArchitecture=MSIL">
|
||||||
|
<HintPath>..\packages\Moq.4.18.2\lib\net462\Moq.dll</HintPath>
|
||||||
|
</Reference>
|
||||||
|
<Reference Include="nunit.framework, Version=3.13.3.0, Culture=neutral, PublicKeyToken=2638cd05610744eb, processorArchitecture=MSIL">
|
||||||
|
<HintPath>..\packages\NUnit.3.13.3\lib\net45\nunit.framework.dll</HintPath>
|
||||||
</Reference>
|
</Reference>
|
||||||
<Reference Include="System" />
|
<Reference Include="System" />
|
||||||
|
<Reference Include="System.Buffers, Version=4.0.3.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL">
|
||||||
|
<HintPath>..\packages\System.Buffers.4.5.1\lib\net461\System.Buffers.dll</HintPath>
|
||||||
|
</Reference>
|
||||||
|
<Reference Include="System.Collections.Immutable, Version=1.2.3.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
|
||||||
|
<HintPath>..\packages\System.Collections.Immutable.1.5.0\lib\netstandard2.0\System.Collections.Immutable.dll</HintPath>
|
||||||
|
</Reference>
|
||||||
<Reference Include="System.Configuration" />
|
<Reference Include="System.Configuration" />
|
||||||
<Reference Include="System.Core" />
|
<Reference Include="System.Core" />
|
||||||
<Reference Include="System.Runtime.CompilerServices.Unsafe, Version=5.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
|
<Reference Include="System.Diagnostics.DiagnosticSource, Version=5.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL">
|
||||||
<HintPath>..\packages\System.Runtime.CompilerServices.Unsafe.5.0.0\lib\net45\System.Runtime.CompilerServices.Unsafe.dll</HintPath>
|
<HintPath>..\packages\System.Diagnostics.DiagnosticSource.5.0.0\lib\net46\System.Diagnostics.DiagnosticSource.dll</HintPath>
|
||||||
</Reference>
|
</Reference>
|
||||||
|
<Reference Include="System.Memory, Version=4.0.1.1, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL">
|
||||||
|
<HintPath>..\packages\System.Memory.4.5.4\lib\net461\System.Memory.dll</HintPath>
|
||||||
|
</Reference>
|
||||||
|
<Reference Include="System.Numerics" />
|
||||||
|
<Reference Include="System.Numerics.Vectors, Version=4.1.4.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
|
||||||
|
<HintPath>..\packages\System.Numerics.Vectors.4.5.0\lib\net46\System.Numerics.Vectors.dll</HintPath>
|
||||||
|
</Reference>
|
||||||
|
<Reference Include="System.Reflection.Metadata, Version=1.4.3.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
|
||||||
|
<HintPath>..\packages\System.Reflection.Metadata.1.6.0\lib\netstandard2.0\System.Reflection.Metadata.dll</HintPath>
|
||||||
|
</Reference>
|
||||||
|
<Reference Include="System.Runtime" />
|
||||||
|
<Reference Include="System.Runtime.CompilerServices.Unsafe, Version=7.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
|
||||||
|
<HintPath>..\packages\System.Runtime.CompilerServices.Unsafe.7.0.0-preview.2.22152.2\lib\net462\System.Runtime.CompilerServices.Unsafe.dll</HintPath>
|
||||||
|
</Reference>
|
||||||
|
<Reference Include="System.Runtime.Serialization" />
|
||||||
<Reference Include="System.Threading.Tasks.Extensions, Version=4.2.0.1, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL">
|
<Reference Include="System.Threading.Tasks.Extensions, Version=4.2.0.1, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL">
|
||||||
<HintPath>..\packages\System.Threading.Tasks.Extensions.4.5.4\lib\net461\System.Threading.Tasks.Extensions.dll</HintPath>
|
<HintPath>..\packages\System.Threading.Tasks.Extensions.4.5.4\lib\net461\System.Threading.Tasks.Extensions.dll</HintPath>
|
||||||
</Reference>
|
</Reference>
|
||||||
@@ -102,7 +157,6 @@
|
|||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<None Include="app.config" />
|
<None Include="app.config" />
|
||||||
<None Include="BootstrapAscomProfileStore.ps1" />
|
|
||||||
<None Include="packages.config" />
|
<None Include="packages.config" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
@@ -120,6 +174,16 @@
|
|||||||
<PropertyGroup>
|
<PropertyGroup>
|
||||||
<ErrorText>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}.</ErrorText>
|
<ErrorText>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}.</ErrorText>
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
<Error Condition="!Exists('..\packages\NUnit.3.13.0\build\NUnit.props')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\NUnit.3.13.0\build\NUnit.props'))" />
|
<Error Condition="!Exists('..\packages\NUnit.3.13.3\build\NUnit.props')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\NUnit.3.13.3\build\NUnit.props'))" />
|
||||||
|
<Error Condition="!Exists('..\packages\Microsoft.Testing.Platform.1.7.3\build\netstandard2.0\Microsoft.Testing.Platform.props')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\Microsoft.Testing.Platform.1.7.3\build\netstandard2.0\Microsoft.Testing.Platform.props'))" />
|
||||||
|
<Error Condition="!Exists('..\packages\Microsoft.Testing.Platform.1.7.3\build\netstandard2.0\Microsoft.Testing.Platform.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\Microsoft.Testing.Platform.1.7.3\build\netstandard2.0\Microsoft.Testing.Platform.targets'))" />
|
||||||
|
<Error Condition="!Exists('..\packages\Microsoft.Testing.Platform.MSBuild.1.7.3\build\Microsoft.Testing.Platform.MSBuild.props')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\Microsoft.Testing.Platform.MSBuild.1.7.3\build\Microsoft.Testing.Platform.MSBuild.props'))" />
|
||||||
|
<Error Condition="!Exists('..\packages\Microsoft.Testing.Platform.MSBuild.1.7.3\build\Microsoft.Testing.Platform.MSBuild.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\Microsoft.Testing.Platform.MSBuild.1.7.3\build\Microsoft.Testing.Platform.MSBuild.targets'))" />
|
||||||
|
<Error Condition="!Exists('..\packages\Microsoft.Testing.Extensions.Telemetry.1.7.3\build\netstandard2.0\Microsoft.Testing.Extensions.Telemetry.props')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\Microsoft.Testing.Extensions.Telemetry.1.7.3\build\netstandard2.0\Microsoft.Testing.Extensions.Telemetry.props'))" />
|
||||||
|
<Error Condition="!Exists('..\packages\NUnit3TestAdapter.5.1.0\build\net462\NUnit3TestAdapter.props')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\NUnit3TestAdapter.5.1.0\build\net462\NUnit3TestAdapter.props'))" />
|
||||||
|
<Error Condition="!Exists('..\packages\NUnit3TestAdapter.5.1.0\build\net462\NUnit3TestAdapter.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\NUnit3TestAdapter.5.1.0\build\net462\NUnit3TestAdapter.targets'))" />
|
||||||
</Target>
|
</Target>
|
||||||
|
<Import Project="..\packages\Microsoft.Testing.Platform.1.7.3\build\netstandard2.0\Microsoft.Testing.Platform.targets" Condition="Exists('..\packages\Microsoft.Testing.Platform.1.7.3\build\netstandard2.0\Microsoft.Testing.Platform.targets')" />
|
||||||
|
<Import Project="..\packages\Microsoft.Testing.Platform.MSBuild.1.7.3\build\Microsoft.Testing.Platform.MSBuild.targets" Condition="Exists('..\packages\Microsoft.Testing.Platform.MSBuild.1.7.3\build\Microsoft.Testing.Platform.MSBuild.targets')" />
|
||||||
|
<Import Project="..\packages\NUnit3TestAdapter.5.1.0\build\net462\NUnit3TestAdapter.targets" Condition="Exists('..\packages\NUnit3TestAdapter.5.1.0\build\net462\NUnit3TestAdapter.targets')" />
|
||||||
</Project>
|
</Project>
|
||||||
@@ -8,7 +8,7 @@
|
|||||||
</dependentAssembly>
|
</dependentAssembly>
|
||||||
<dependentAssembly>
|
<dependentAssembly>
|
||||||
<assemblyIdentity name="System.Runtime.CompilerServices.Unsafe" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
|
<assemblyIdentity name="System.Runtime.CompilerServices.Unsafe" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
|
||||||
<bindingRedirect oldVersion="0.0.0.0-5.0.0.0" newVersion="5.0.0.0" />
|
<bindingRedirect oldVersion="0.0.0.0-7.0.0.0" newVersion="7.0.0.0" />
|
||||||
</dependentAssembly>
|
</dependentAssembly>
|
||||||
</assemblyBinding>
|
</assemblyBinding>
|
||||||
</runtime>
|
</runtime>
|
||||||
|
|||||||
@@ -1,10 +1,25 @@
|
|||||||
<?xml version="1.0" encoding="utf-8"?>
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
<packages>
|
<packages>
|
||||||
<package id="ASCOM.Platform" version="6.5.1" targetFramework="net472" />
|
<package id="ASCOM.Platform" version="6.5.2" targetFramework="net472" />
|
||||||
<package id="Castle.Core" version="4.4.1" targetFramework="net472" />
|
<package id="Castle.Core" version="5.1.0" targetFramework="net472" />
|
||||||
<package id="JetBrains.Annotations" version="2020.3.0" targetFramework="net472" />
|
<package id="JetBrains.Annotations" version="2022.3.1" targetFramework="net472" />
|
||||||
<package id="Moq" version="4.15.2" targetFramework="net472" />
|
<package id="Microsoft.ApplicationInsights" version="2.23.0" targetFramework="net472" />
|
||||||
<package id="NUnit" version="3.13.0" targetFramework="net472" />
|
<package id="Microsoft.Testing.Extensions.Telemetry" version="1.7.3" targetFramework="net472" />
|
||||||
<package id="System.Runtime.CompilerServices.Unsafe" version="5.0.0" targetFramework="net472" />
|
<package id="Microsoft.Testing.Extensions.TrxReport.Abstractions" version="1.7.3" targetFramework="net472" />
|
||||||
|
<package id="Microsoft.Testing.Extensions.VSTestBridge" version="1.7.3" targetFramework="net472" />
|
||||||
|
<package id="Microsoft.Testing.Platform" version="1.7.3" targetFramework="net472" />
|
||||||
|
<package id="Microsoft.Testing.Platform.MSBuild" version="1.7.3" targetFramework="net472" />
|
||||||
|
<package id="Microsoft.TestPlatform.AdapterUtilities" version="17.13.0" targetFramework="net472" />
|
||||||
|
<package id="Microsoft.TestPlatform.ObjectModel" version="17.13.0" targetFramework="net472" />
|
||||||
|
<package id="Moq" version="4.18.2" targetFramework="net472" />
|
||||||
|
<package id="NUnit" version="3.13.3" targetFramework="net472" />
|
||||||
|
<package id="NUnit3TestAdapter" version="5.1.0" targetFramework="net472" />
|
||||||
|
<package id="System.Buffers" version="4.5.1" targetFramework="net472" />
|
||||||
|
<package id="System.Collections.Immutable" version="1.5.0" targetFramework="net472" />
|
||||||
|
<package id="System.Diagnostics.DiagnosticSource" version="5.0.0" targetFramework="net472" />
|
||||||
|
<package id="System.Memory" version="4.5.4" targetFramework="net472" />
|
||||||
|
<package id="System.Numerics.Vectors" version="4.5.0" targetFramework="net472" />
|
||||||
|
<package id="System.Reflection.Metadata" version="1.6.0" targetFramework="net472" />
|
||||||
|
<package id="System.Runtime.CompilerServices.Unsafe" version="7.0.0-preview.2.22152.2" targetFramework="net472" />
|
||||||
<package id="System.Threading.Tasks.Extensions" version="4.5.4" targetFramework="net472" />
|
<package id="System.Threading.Tasks.Extensions" version="4.5.4" targetFramework="net472" />
|
||||||
</packages>
|
</packages>
|
||||||
@@ -21,13 +21,13 @@
|
|||||||
Type="raw" />
|
Type="raw" />
|
||||||
</Property>
|
</Property>
|
||||||
|
|
||||||
<Condition Message="This application requires Ascom Platform 6.4 SP1 or higher. Please install this before installing the driver.">
|
<Condition Message="This application requires Ascom Platform 6.6.0 or higher. Please install this before installing the driver.">
|
||||||
<![CDATA[Installed OR ASCOMPLATFORMVERSION >= "6.4.1"]]>
|
<![CDATA[Installed OR ASCOMPLATFORMVERSION >= "6.6.0"]]>
|
||||||
</Condition>
|
</Condition>
|
||||||
|
|
||||||
<PropertyRef Id="NETFRAMEWORK45"/>
|
<PropertyRef Id='WIXNETFX4RELEASEINSTALLED'/>
|
||||||
<Condition Message="This application requires .NET Framework 4.5 or higher. Please install the .NET Framework then run this installer again.">
|
<Condition Message="This application requires .NET Framework 4.8 or higher. Please install the .NET Framework then run this installer again.">
|
||||||
<![CDATA[Installed OR NETFRAMEWORK45]]>
|
<![CDATA[Installed OR (WIXNETFX4RELEASEINSTALLED >= "#528040")]]>
|
||||||
</Condition>
|
</Condition>
|
||||||
|
|
||||||
<!-- <Condition Message="Please use the correct installer for your operating system - x86 for 32-bit, x64 for 64-bit.">
|
<!-- <Condition Message="Please use the correct installer for your operating system - x86 for 32-bit, x64 for 64-bit.">
|
||||||
|
|||||||
@@ -1,6 +1,10 @@
|
|||||||
<?xml version="1.0" encoding="utf-8"?>
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
<Project ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
<Project ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||||
<Import Project="..\packages\NUnit.3.13.0\build\NUnit.props" Condition="Exists('..\packages\NUnit.3.13.0\build\NUnit.props')" />
|
<Import Project="..\packages\NUnit3TestAdapter.5.1.0\build\net462\NUnit3TestAdapter.props" Condition="Exists('..\packages\NUnit3TestAdapter.5.1.0\build\net462\NUnit3TestAdapter.props')" />
|
||||||
|
<Import Project="..\packages\Microsoft.Testing.Extensions.Telemetry.1.7.3\build\netstandard2.0\Microsoft.Testing.Extensions.Telemetry.props" Condition="Exists('..\packages\Microsoft.Testing.Extensions.Telemetry.1.7.3\build\netstandard2.0\Microsoft.Testing.Extensions.Telemetry.props')" />
|
||||||
|
<Import Project="..\packages\Microsoft.Testing.Platform.MSBuild.1.7.3\build\Microsoft.Testing.Platform.MSBuild.props" Condition="Exists('..\packages\Microsoft.Testing.Platform.MSBuild.1.7.3\build\Microsoft.Testing.Platform.MSBuild.props')" />
|
||||||
|
<Import Project="..\packages\Microsoft.Testing.Platform.1.7.3\build\netstandard2.0\Microsoft.Testing.Platform.props" Condition="Exists('..\packages\Microsoft.Testing.Platform.1.7.3\build\netstandard2.0\Microsoft.Testing.Platform.props')" />
|
||||||
|
<Import Project="..\packages\NUnit.3.13.3\build\NUnit.props" Condition="Exists('..\packages\NUnit.3.13.3\build\NUnit.props')" />
|
||||||
<Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" />
|
<Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" />
|
||||||
<PropertyGroup>
|
<PropertyGroup>
|
||||||
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
|
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
|
||||||
@@ -57,56 +61,108 @@
|
|||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<Reference Include="ASCOM.Astrometry, Version=6.0.0.0, Culture=neutral, PublicKeyToken=565de7938946fba7, processorArchitecture=MSIL">
|
<Reference Include="ASCOM.Astrometry, Version=6.0.0.0, Culture=neutral, PublicKeyToken=565de7938946fba7, processorArchitecture=MSIL">
|
||||||
<HintPath>..\packages\ASCOM.Platform.6.5.1\lib\net40\ASCOM.Astrometry.dll</HintPath>
|
<HintPath>..\packages\ASCOM.Platform.6.5.2\lib\net40\ASCOM.Astrometry.dll</HintPath>
|
||||||
</Reference>
|
</Reference>
|
||||||
<Reference Include="ASCOM.Attributes, Version=6.0.0.0, Culture=neutral, PublicKeyToken=565de7938946fba7, processorArchitecture=MSIL">
|
<Reference Include="ASCOM.Attributes, Version=6.0.0.0, Culture=neutral, PublicKeyToken=565de7938946fba7, processorArchitecture=MSIL">
|
||||||
<HintPath>..\packages\ASCOM.Platform.6.5.1\lib\net40\ASCOM.Attributes.dll</HintPath>
|
<HintPath>..\packages\ASCOM.Platform.6.5.2\lib\net40\ASCOM.Attributes.dll</HintPath>
|
||||||
</Reference>
|
</Reference>
|
||||||
<Reference Include="ASCOM.Cache, Version=6.0.0.0, Culture=neutral, PublicKeyToken=565de7938946fba7, processorArchitecture=MSIL">
|
<Reference Include="ASCOM.Cache, Version=6.0.0.0, Culture=neutral, PublicKeyToken=565de7938946fba7, processorArchitecture=MSIL">
|
||||||
<HintPath>..\packages\ASCOM.Platform.6.5.1\lib\net40\ASCOM.Cache.dll</HintPath>
|
<HintPath>..\packages\ASCOM.Platform.6.5.2\lib\net40\ASCOM.Cache.dll</HintPath>
|
||||||
</Reference>
|
</Reference>
|
||||||
<Reference Include="ASCOM.Controls, Version=6.0.0.0, Culture=neutral, PublicKeyToken=565de7938946fba7, processorArchitecture=MSIL">
|
<Reference Include="ASCOM.Controls, Version=6.0.0.0, Culture=neutral, PublicKeyToken=565de7938946fba7, processorArchitecture=MSIL">
|
||||||
<HintPath>..\packages\ASCOM.Platform.6.5.1\lib\net40\ASCOM.Controls.dll</HintPath>
|
<HintPath>..\packages\ASCOM.Platform.6.5.2\lib\net40\ASCOM.Controls.dll</HintPath>
|
||||||
</Reference>
|
</Reference>
|
||||||
<Reference Include="ASCOM.DeviceInterfaces, Version=6.0.0.0, Culture=neutral, PublicKeyToken=565de7938946fba7, processorArchitecture=MSIL">
|
<Reference Include="ASCOM.DeviceInterfaces, Version=6.0.0.0, Culture=neutral, PublicKeyToken=565de7938946fba7, processorArchitecture=MSIL">
|
||||||
<HintPath>..\packages\ASCOM.Platform.6.5.1\lib\net40\ASCOM.DeviceInterfaces.dll</HintPath>
|
<HintPath>..\packages\ASCOM.Platform.6.5.2\lib\net40\ASCOM.DeviceInterfaces.dll</HintPath>
|
||||||
</Reference>
|
</Reference>
|
||||||
<Reference Include="ASCOM.DriverAccess, Version=6.0.0.0, Culture=neutral, PublicKeyToken=565de7938946fba7, processorArchitecture=MSIL">
|
<Reference Include="ASCOM.DriverAccess, Version=6.0.0.0, Culture=neutral, PublicKeyToken=565de7938946fba7, processorArchitecture=MSIL">
|
||||||
<HintPath>..\packages\ASCOM.Platform.6.5.1\lib\net40\ASCOM.DriverAccess.dll</HintPath>
|
<HintPath>..\packages\ASCOM.Platform.6.5.2\lib\net40\ASCOM.DriverAccess.dll</HintPath>
|
||||||
</Reference>
|
</Reference>
|
||||||
<Reference Include="ASCOM.Exceptions, Version=6.0.0.0, Culture=neutral, PublicKeyToken=565de7938946fba7, processorArchitecture=MSIL">
|
<Reference Include="ASCOM.Exceptions, Version=6.0.0.0, Culture=neutral, PublicKeyToken=565de7938946fba7, processorArchitecture=MSIL">
|
||||||
<HintPath>..\packages\ASCOM.Platform.6.5.1\lib\net40\ASCOM.Exceptions.dll</HintPath>
|
<HintPath>..\packages\ASCOM.Platform.6.5.2\lib\net40\ASCOM.Exceptions.dll</HintPath>
|
||||||
</Reference>
|
</Reference>
|
||||||
<Reference Include="ASCOM.Internal.Extensions, Version=6.0.0.0, Culture=neutral, PublicKeyToken=565de7938946fba7, processorArchitecture=MSIL">
|
<Reference Include="ASCOM.Internal.Extensions, Version=6.0.0.0, Culture=neutral, PublicKeyToken=565de7938946fba7, processorArchitecture=MSIL">
|
||||||
<HintPath>..\packages\ASCOM.Platform.6.5.1\lib\net40\ASCOM.Internal.Extensions.dll</HintPath>
|
<HintPath>..\packages\ASCOM.Platform.6.5.2\lib\net40\ASCOM.Internal.Extensions.dll</HintPath>
|
||||||
</Reference>
|
</Reference>
|
||||||
<Reference Include="ASCOM.SettingsProvider, Version=6.0.0.0, Culture=neutral, PublicKeyToken=565de7938946fba7, processorArchitecture=MSIL">
|
<Reference Include="ASCOM.SettingsProvider, Version=6.0.0.0, Culture=neutral, PublicKeyToken=565de7938946fba7, processorArchitecture=MSIL">
|
||||||
<HintPath>..\packages\ASCOM.Platform.6.5.1\lib\net40\ASCOM.SettingsProvider.dll</HintPath>
|
<HintPath>..\packages\ASCOM.Platform.6.5.2\lib\net40\ASCOM.SettingsProvider.dll</HintPath>
|
||||||
</Reference>
|
</Reference>
|
||||||
<Reference Include="ASCOM.Utilities, Version=6.0.0.0, Culture=neutral, PublicKeyToken=565de7938946fba7, processorArchitecture=MSIL">
|
<Reference Include="ASCOM.Utilities, Version=6.0.0.0, Culture=neutral, PublicKeyToken=565de7938946fba7, processorArchitecture=MSIL">
|
||||||
<HintPath>..\packages\ASCOM.Platform.6.5.1\lib\net40\ASCOM.Utilities.dll</HintPath>
|
<HintPath>..\packages\ASCOM.Platform.6.5.2\lib\net40\ASCOM.Utilities.dll</HintPath>
|
||||||
</Reference>
|
</Reference>
|
||||||
<Reference Include="ASCOM.Utilities.Video, Version=6.1.0.0, Culture=neutral, PublicKeyToken=565de7938946fba7, processorArchitecture=MSIL">
|
<Reference Include="ASCOM.Utilities.Video, Version=6.1.0.0, Culture=neutral, PublicKeyToken=565de7938946fba7, processorArchitecture=MSIL">
|
||||||
<HintPath>..\packages\ASCOM.Platform.6.5.1\lib\net40\ASCOM.Utilities.Video.dll</HintPath>
|
<HintPath>..\packages\ASCOM.Platform.6.5.2\lib\net40\ASCOM.Utilities.Video.dll</HintPath>
|
||||||
</Reference>
|
</Reference>
|
||||||
<Reference Include="Castle.Core, Version=4.0.0.0, Culture=neutral, PublicKeyToken=407dd0808d44fbdc, processorArchitecture=MSIL">
|
<Reference Include="Castle.Core, Version=5.0.0.0, Culture=neutral, PublicKeyToken=407dd0808d44fbdc, processorArchitecture=MSIL">
|
||||||
<HintPath>..\packages\Castle.Core.4.4.1\lib\net45\Castle.Core.dll</HintPath>
|
<HintPath>..\packages\Castle.Core.5.1.0\lib\net462\Castle.Core.dll</HintPath>
|
||||||
</Reference>
|
</Reference>
|
||||||
<Reference Include="JetBrains.Annotations, Version=2020.3.0.0, Culture=neutral, PublicKeyToken=1010a0d8d6380325, processorArchitecture=MSIL">
|
<Reference Include="JetBrains.Annotations, Version=4242.42.42.42, Culture=neutral, PublicKeyToken=1010a0d8d6380325, processorArchitecture=MSIL">
|
||||||
<HintPath>..\packages\JetBrains.Annotations.2020.3.0\lib\net20\JetBrains.Annotations.dll</HintPath>
|
<HintPath>..\packages\JetBrains.Annotations.2022.3.1\lib\net20\JetBrains.Annotations.dll</HintPath>
|
||||||
</Reference>
|
</Reference>
|
||||||
<Reference Include="Moq, Version=4.15.0.0, Culture=neutral, PublicKeyToken=69f491c39445e920, processorArchitecture=MSIL">
|
<Reference Include="Microsoft.ApplicationInsights, Version=2.23.0.29, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
|
||||||
<HintPath>..\packages\Moq.4.15.2\lib\net45\Moq.dll</HintPath>
|
<HintPath>..\packages\Microsoft.ApplicationInsights.2.23.0\lib\net46\Microsoft.ApplicationInsights.dll</HintPath>
|
||||||
</Reference>
|
</Reference>
|
||||||
<Reference Include="nunit.framework, Version=3.13.0.0, Culture=neutral, PublicKeyToken=2638cd05610744eb, processorArchitecture=MSIL">
|
<Reference Include="Microsoft.Testing.Extensions.MSBuild, Version=1.7.3.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
|
||||||
<HintPath>..\packages\NUnit.3.13.0\lib\net45\nunit.framework.dll</HintPath>
|
<HintPath>..\packages\Microsoft.Testing.Platform.MSBuild.1.7.3\lib\netstandard2.0\Microsoft.Testing.Extensions.MSBuild.dll</HintPath>
|
||||||
|
</Reference>
|
||||||
|
<Reference Include="Microsoft.Testing.Extensions.Telemetry, Version=1.7.3.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
|
||||||
|
<HintPath>..\packages\Microsoft.Testing.Extensions.Telemetry.1.7.3\lib\netstandard2.0\Microsoft.Testing.Extensions.Telemetry.dll</HintPath>
|
||||||
|
</Reference>
|
||||||
|
<Reference Include="Microsoft.Testing.Extensions.TrxReport.Abstractions, Version=1.7.3.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
|
||||||
|
<HintPath>..\packages\Microsoft.Testing.Extensions.TrxReport.Abstractions.1.7.3\lib\netstandard2.0\Microsoft.Testing.Extensions.TrxReport.Abstractions.dll</HintPath>
|
||||||
|
</Reference>
|
||||||
|
<Reference Include="Microsoft.Testing.Extensions.VSTestBridge, Version=1.7.3.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
|
||||||
|
<HintPath>..\packages\Microsoft.Testing.Extensions.VSTestBridge.1.7.3\lib\netstandard2.0\Microsoft.Testing.Extensions.VSTestBridge.dll</HintPath>
|
||||||
|
</Reference>
|
||||||
|
<Reference Include="Microsoft.Testing.Platform, Version=1.7.3.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
|
||||||
|
<HintPath>..\packages\Microsoft.Testing.Platform.1.7.3\lib\netstandard2.0\Microsoft.Testing.Platform.dll</HintPath>
|
||||||
|
</Reference>
|
||||||
|
<Reference Include="Microsoft.TestPlatform.AdapterUtilities, Version=15.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
|
||||||
|
<HintPath>..\packages\Microsoft.TestPlatform.AdapterUtilities.17.13.0\lib\net462\Microsoft.TestPlatform.AdapterUtilities.dll</HintPath>
|
||||||
|
</Reference>
|
||||||
|
<Reference Include="Microsoft.TestPlatform.CoreUtilities, Version=15.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
|
||||||
|
<HintPath>..\packages\Microsoft.TestPlatform.ObjectModel.17.13.0\lib\net462\Microsoft.TestPlatform.CoreUtilities.dll</HintPath>
|
||||||
|
</Reference>
|
||||||
|
<Reference Include="Microsoft.TestPlatform.PlatformAbstractions, Version=15.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
|
||||||
|
<HintPath>..\packages\Microsoft.TestPlatform.ObjectModel.17.13.0\lib\net462\Microsoft.TestPlatform.PlatformAbstractions.dll</HintPath>
|
||||||
|
</Reference>
|
||||||
|
<Reference Include="Microsoft.VisualStudio.TestPlatform.ObjectModel, Version=15.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
|
||||||
|
<HintPath>..\packages\Microsoft.TestPlatform.ObjectModel.17.13.0\lib\net462\Microsoft.VisualStudio.TestPlatform.ObjectModel.dll</HintPath>
|
||||||
|
</Reference>
|
||||||
|
<Reference Include="Moq, Version=4.18.0.0, Culture=neutral, PublicKeyToken=69f491c39445e920, processorArchitecture=MSIL">
|
||||||
|
<HintPath>..\packages\Moq.4.18.2\lib\net462\Moq.dll</HintPath>
|
||||||
|
</Reference>
|
||||||
|
<Reference Include="nunit.framework, Version=3.13.3.0, Culture=neutral, PublicKeyToken=2638cd05610744eb, processorArchitecture=MSIL">
|
||||||
|
<HintPath>..\packages\NUnit.3.13.3\lib\net45\nunit.framework.dll</HintPath>
|
||||||
</Reference>
|
</Reference>
|
||||||
<Reference Include="System" />
|
<Reference Include="System" />
|
||||||
|
<Reference Include="System.Buffers, Version=4.0.3.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL">
|
||||||
|
<HintPath>..\packages\System.Buffers.4.5.1\lib\net461\System.Buffers.dll</HintPath>
|
||||||
|
</Reference>
|
||||||
|
<Reference Include="System.Collections.Immutable, Version=1.2.3.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
|
||||||
|
<HintPath>..\packages\System.Collections.Immutable.1.5.0\lib\netstandard2.0\System.Collections.Immutable.dll</HintPath>
|
||||||
|
</Reference>
|
||||||
<Reference Include="System.Configuration" />
|
<Reference Include="System.Configuration" />
|
||||||
<Reference Include="System.Core" />
|
<Reference Include="System.Core" />
|
||||||
<Reference Include="System.Runtime.CompilerServices.Unsafe, Version=5.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
|
<Reference Include="System.Diagnostics.DiagnosticSource, Version=5.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL">
|
||||||
<HintPath>..\packages\System.Runtime.CompilerServices.Unsafe.5.0.0\lib\net45\System.Runtime.CompilerServices.Unsafe.dll</HintPath>
|
<HintPath>..\packages\System.Diagnostics.DiagnosticSource.5.0.0\lib\net46\System.Diagnostics.DiagnosticSource.dll</HintPath>
|
||||||
</Reference>
|
</Reference>
|
||||||
|
<Reference Include="System.Memory, Version=4.0.1.1, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL">
|
||||||
|
<HintPath>..\packages\System.Memory.4.5.4\lib\net461\System.Memory.dll</HintPath>
|
||||||
|
</Reference>
|
||||||
|
<Reference Include="System.Net.Http" />
|
||||||
|
<Reference Include="System.Numerics" />
|
||||||
|
<Reference Include="System.Numerics.Vectors, Version=4.1.4.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
|
||||||
|
<HintPath>..\packages\System.Numerics.Vectors.4.5.0\lib\net46\System.Numerics.Vectors.dll</HintPath>
|
||||||
|
</Reference>
|
||||||
|
<Reference Include="System.Reflection.Metadata, Version=1.4.3.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
|
||||||
|
<HintPath>..\packages\System.Reflection.Metadata.1.6.0\lib\netstandard2.0\System.Reflection.Metadata.dll</HintPath>
|
||||||
|
</Reference>
|
||||||
|
<Reference Include="System.Runtime" />
|
||||||
|
<Reference Include="System.Runtime.CompilerServices.Unsafe, Version=7.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
|
||||||
|
<HintPath>..\packages\System.Runtime.CompilerServices.Unsafe.7.0.0-preview.2.22152.2\lib\net462\System.Runtime.CompilerServices.Unsafe.dll</HintPath>
|
||||||
|
</Reference>
|
||||||
|
<Reference Include="System.Runtime.Serialization" />
|
||||||
<Reference Include="System.Threading.Tasks.Extensions, Version=4.2.0.1, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL">
|
<Reference Include="System.Threading.Tasks.Extensions, Version=4.2.0.1, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL">
|
||||||
<HintPath>..\packages\System.Threading.Tasks.Extensions.4.5.4\lib\net461\System.Threading.Tasks.Extensions.dll</HintPath>
|
<HintPath>..\packages\System.Threading.Tasks.Extensions.4.5.4\lib\net461\System.Threading.Tasks.Extensions.dll</HintPath>
|
||||||
</Reference>
|
</Reference>
|
||||||
@@ -132,7 +188,6 @@
|
|||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<None Include="app.config" />
|
<None Include="app.config" />
|
||||||
<None Include="BootstrapAscomProfileStore.ps1" />
|
|
||||||
<None Include="packages.config" />
|
<None Include="packages.config" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
|
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
|
||||||
@@ -140,6 +195,16 @@
|
|||||||
<PropertyGroup>
|
<PropertyGroup>
|
||||||
<ErrorText>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}.</ErrorText>
|
<ErrorText>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}.</ErrorText>
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
<Error Condition="!Exists('..\packages\NUnit.3.13.0\build\NUnit.props')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\NUnit.3.13.0\build\NUnit.props'))" />
|
<Error Condition="!Exists('..\packages\NUnit.3.13.3\build\NUnit.props')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\NUnit.3.13.3\build\NUnit.props'))" />
|
||||||
|
<Error Condition="!Exists('..\packages\Microsoft.Testing.Platform.1.7.3\build\netstandard2.0\Microsoft.Testing.Platform.props')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\Microsoft.Testing.Platform.1.7.3\build\netstandard2.0\Microsoft.Testing.Platform.props'))" />
|
||||||
|
<Error Condition="!Exists('..\packages\Microsoft.Testing.Platform.1.7.3\build\netstandard2.0\Microsoft.Testing.Platform.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\Microsoft.Testing.Platform.1.7.3\build\netstandard2.0\Microsoft.Testing.Platform.targets'))" />
|
||||||
|
<Error Condition="!Exists('..\packages\Microsoft.Testing.Platform.MSBuild.1.7.3\build\Microsoft.Testing.Platform.MSBuild.props')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\Microsoft.Testing.Platform.MSBuild.1.7.3\build\Microsoft.Testing.Platform.MSBuild.props'))" />
|
||||||
|
<Error Condition="!Exists('..\packages\Microsoft.Testing.Platform.MSBuild.1.7.3\build\Microsoft.Testing.Platform.MSBuild.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\Microsoft.Testing.Platform.MSBuild.1.7.3\build\Microsoft.Testing.Platform.MSBuild.targets'))" />
|
||||||
|
<Error Condition="!Exists('..\packages\Microsoft.Testing.Extensions.Telemetry.1.7.3\build\netstandard2.0\Microsoft.Testing.Extensions.Telemetry.props')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\Microsoft.Testing.Extensions.Telemetry.1.7.3\build\netstandard2.0\Microsoft.Testing.Extensions.Telemetry.props'))" />
|
||||||
|
<Error Condition="!Exists('..\packages\NUnit3TestAdapter.5.1.0\build\net462\NUnit3TestAdapter.props')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\NUnit3TestAdapter.5.1.0\build\net462\NUnit3TestAdapter.props'))" />
|
||||||
|
<Error Condition="!Exists('..\packages\NUnit3TestAdapter.5.1.0\build\net462\NUnit3TestAdapter.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\NUnit3TestAdapter.5.1.0\build\net462\NUnit3TestAdapter.targets'))" />
|
||||||
</Target>
|
</Target>
|
||||||
|
<Import Project="..\packages\Microsoft.Testing.Platform.1.7.3\build\netstandard2.0\Microsoft.Testing.Platform.targets" Condition="Exists('..\packages\Microsoft.Testing.Platform.1.7.3\build\netstandard2.0\Microsoft.Testing.Platform.targets')" />
|
||||||
|
<Import Project="..\packages\Microsoft.Testing.Platform.MSBuild.1.7.3\build\Microsoft.Testing.Platform.MSBuild.targets" Condition="Exists('..\packages\Microsoft.Testing.Platform.MSBuild.1.7.3\build\Microsoft.Testing.Platform.MSBuild.targets')" />
|
||||||
|
<Import Project="..\packages\NUnit3TestAdapter.5.1.0\build\net462\NUnit3TestAdapter.targets" Condition="Exists('..\packages\NUnit3TestAdapter.5.1.0\build\net462\NUnit3TestAdapter.targets')" />
|
||||||
</Project>
|
</Project>
|
||||||
File diff suppressed because it is too large
Load Diff
@@ -4,7 +4,7 @@
|
|||||||
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
|
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
|
||||||
<dependentAssembly>
|
<dependentAssembly>
|
||||||
<assemblyIdentity name="System.Runtime.CompilerServices.Unsafe" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
|
<assemblyIdentity name="System.Runtime.CompilerServices.Unsafe" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
|
||||||
<bindingRedirect oldVersion="0.0.0.0-5.0.0.0" newVersion="5.0.0.0" />
|
<bindingRedirect oldVersion="0.0.0.0-7.0.0.0" newVersion="7.0.0.0" />
|
||||||
</dependentAssembly>
|
</dependentAssembly>
|
||||||
<dependentAssembly>
|
<dependentAssembly>
|
||||||
<assemblyIdentity name="System.Threading.Tasks.Extensions" publicKeyToken="cc7b13ffcd2ddd51" culture="neutral" />
|
<assemblyIdentity name="System.Threading.Tasks.Extensions" publicKeyToken="cc7b13ffcd2ddd51" culture="neutral" />
|
||||||
|
|||||||
@@ -1,10 +1,25 @@
|
|||||||
<?xml version="1.0" encoding="utf-8"?>
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
<packages>
|
<packages>
|
||||||
<package id="ASCOM.Platform" version="6.5.1" targetFramework="net472" />
|
<package id="ASCOM.Platform" version="6.5.2" targetFramework="net472" />
|
||||||
<package id="Castle.Core" version="4.4.1" targetFramework="net472" />
|
<package id="Castle.Core" version="5.1.0" targetFramework="net472" />
|
||||||
<package id="JetBrains.Annotations" version="2020.3.0" targetFramework="net472" />
|
<package id="JetBrains.Annotations" version="2022.3.1" targetFramework="net472" />
|
||||||
<package id="Moq" version="4.15.2" targetFramework="net472" />
|
<package id="Microsoft.ApplicationInsights" version="2.23.0" targetFramework="net472" />
|
||||||
<package id="NUnit" version="3.13.0" targetFramework="net472" />
|
<package id="Microsoft.Testing.Extensions.Telemetry" version="1.7.3" targetFramework="net472" />
|
||||||
<package id="System.Runtime.CompilerServices.Unsafe" version="5.0.0" targetFramework="net472" />
|
<package id="Microsoft.Testing.Extensions.TrxReport.Abstractions" version="1.7.3" targetFramework="net472" />
|
||||||
|
<package id="Microsoft.Testing.Extensions.VSTestBridge" version="1.7.3" targetFramework="net472" />
|
||||||
|
<package id="Microsoft.Testing.Platform" version="1.7.3" targetFramework="net472" />
|
||||||
|
<package id="Microsoft.Testing.Platform.MSBuild" version="1.7.3" targetFramework="net472" />
|
||||||
|
<package id="Microsoft.TestPlatform.AdapterUtilities" version="17.13.0" targetFramework="net472" />
|
||||||
|
<package id="Microsoft.TestPlatform.ObjectModel" version="17.13.0" targetFramework="net472" />
|
||||||
|
<package id="Moq" version="4.18.2" targetFramework="net472" />
|
||||||
|
<package id="NUnit" version="3.13.3" targetFramework="net472" />
|
||||||
|
<package id="NUnit3TestAdapter" version="5.1.0" targetFramework="net472" />
|
||||||
|
<package id="System.Buffers" version="4.5.1" targetFramework="net472" />
|
||||||
|
<package id="System.Collections.Immutable" version="1.5.0" targetFramework="net472" />
|
||||||
|
<package id="System.Diagnostics.DiagnosticSource" version="5.0.0" targetFramework="net472" />
|
||||||
|
<package id="System.Memory" version="4.5.4" targetFramework="net472" />
|
||||||
|
<package id="System.Numerics.Vectors" version="4.5.0" targetFramework="net472" />
|
||||||
|
<package id="System.Reflection.Metadata" version="1.6.0" targetFramework="net472" />
|
||||||
|
<package id="System.Runtime.CompilerServices.Unsafe" version="7.0.0-preview.2.22152.2" targetFramework="net472" />
|
||||||
<package id="System.Threading.Tasks.Extensions" version="4.5.4" targetFramework="net472" />
|
<package id="System.Threading.Tasks.Extensions" version="4.5.4" targetFramework="net472" />
|
||||||
</packages>
|
</packages>
|
||||||
@@ -7,5 +7,10 @@ namespace ASCOM.Meade.net
|
|||||||
public AlignmentModes AlignmentMode { get; set; }
|
public AlignmentModes AlignmentMode { get; set; }
|
||||||
public bool Tracking { get; set; }
|
public bool Tracking { get; set; }
|
||||||
public Alignment Status { get; set; }
|
public Alignment Status { get; set; }
|
||||||
|
|
||||||
|
public override string ToString()
|
||||||
|
{
|
||||||
|
return $"AlignmentStatus AlignmentMode={AlignmentMode};Tracking={Tracking};Status={Status}";
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -0,0 +1,10 @@
|
|||||||
|
namespace System
|
||||||
|
{
|
||||||
|
static class DoubelExtensions
|
||||||
|
{
|
||||||
|
public static bool Between(this double value, double lower, double higher)
|
||||||
|
{
|
||||||
|
return value >= lower & value <= higher;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -71,40 +71,40 @@
|
|||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<Reference Include="ASCOM.Astrometry, Version=6.0.0.0, Culture=neutral, PublicKeyToken=565de7938946fba7, processorArchitecture=MSIL">
|
<Reference Include="ASCOM.Astrometry, Version=6.0.0.0, Culture=neutral, PublicKeyToken=565de7938946fba7, processorArchitecture=MSIL">
|
||||||
<HintPath>..\packages\ASCOM.Platform.6.5.1\lib\net40\ASCOM.Astrometry.dll</HintPath>
|
<HintPath>..\packages\ASCOM.Platform.6.5.2\lib\net40\ASCOM.Astrometry.dll</HintPath>
|
||||||
</Reference>
|
</Reference>
|
||||||
<Reference Include="ASCOM.Attributes, Version=6.0.0.0, Culture=neutral, PublicKeyToken=565de7938946fba7, processorArchitecture=MSIL">
|
<Reference Include="ASCOM.Attributes, Version=6.0.0.0, Culture=neutral, PublicKeyToken=565de7938946fba7, processorArchitecture=MSIL">
|
||||||
<HintPath>..\packages\ASCOM.Platform.6.5.1\lib\net40\ASCOM.Attributes.dll</HintPath>
|
<HintPath>..\packages\ASCOM.Platform.6.5.2\lib\net40\ASCOM.Attributes.dll</HintPath>
|
||||||
</Reference>
|
</Reference>
|
||||||
<Reference Include="ASCOM.Cache, Version=6.0.0.0, Culture=neutral, PublicKeyToken=565de7938946fba7, processorArchitecture=MSIL">
|
<Reference Include="ASCOM.Cache, Version=6.0.0.0, Culture=neutral, PublicKeyToken=565de7938946fba7, processorArchitecture=MSIL">
|
||||||
<HintPath>..\packages\ASCOM.Platform.6.5.1\lib\net40\ASCOM.Cache.dll</HintPath>
|
<HintPath>..\packages\ASCOM.Platform.6.5.2\lib\net40\ASCOM.Cache.dll</HintPath>
|
||||||
</Reference>
|
</Reference>
|
||||||
<Reference Include="ASCOM.Controls, Version=6.0.0.0, Culture=neutral, PublicKeyToken=565de7938946fba7, processorArchitecture=MSIL">
|
<Reference Include="ASCOM.Controls, Version=6.0.0.0, Culture=neutral, PublicKeyToken=565de7938946fba7, processorArchitecture=MSIL">
|
||||||
<HintPath>..\packages\ASCOM.Platform.6.5.1\lib\net40\ASCOM.Controls.dll</HintPath>
|
<HintPath>..\packages\ASCOM.Platform.6.5.2\lib\net40\ASCOM.Controls.dll</HintPath>
|
||||||
</Reference>
|
</Reference>
|
||||||
<Reference Include="ASCOM.DeviceInterfaces, Version=6.0.0.0, Culture=neutral, PublicKeyToken=565de7938946fba7, processorArchitecture=MSIL">
|
<Reference Include="ASCOM.DeviceInterfaces, Version=6.0.0.0, Culture=neutral, PublicKeyToken=565de7938946fba7, processorArchitecture=MSIL">
|
||||||
<HintPath>..\packages\ASCOM.Platform.6.5.1\lib\net40\ASCOM.DeviceInterfaces.dll</HintPath>
|
<HintPath>..\packages\ASCOM.Platform.6.5.2\lib\net40\ASCOM.DeviceInterfaces.dll</HintPath>
|
||||||
</Reference>
|
</Reference>
|
||||||
<Reference Include="ASCOM.DriverAccess, Version=6.0.0.0, Culture=neutral, PublicKeyToken=565de7938946fba7, processorArchitecture=MSIL">
|
<Reference Include="ASCOM.DriverAccess, Version=6.0.0.0, Culture=neutral, PublicKeyToken=565de7938946fba7, processorArchitecture=MSIL">
|
||||||
<HintPath>..\packages\ASCOM.Platform.6.5.1\lib\net40\ASCOM.DriverAccess.dll</HintPath>
|
<HintPath>..\packages\ASCOM.Platform.6.5.2\lib\net40\ASCOM.DriverAccess.dll</HintPath>
|
||||||
</Reference>
|
</Reference>
|
||||||
<Reference Include="ASCOM.Exceptions, Version=6.0.0.0, Culture=neutral, PublicKeyToken=565de7938946fba7, processorArchitecture=MSIL">
|
<Reference Include="ASCOM.Exceptions, Version=6.0.0.0, Culture=neutral, PublicKeyToken=565de7938946fba7, processorArchitecture=MSIL">
|
||||||
<HintPath>..\packages\ASCOM.Platform.6.5.1\lib\net40\ASCOM.Exceptions.dll</HintPath>
|
<HintPath>..\packages\ASCOM.Platform.6.5.2\lib\net40\ASCOM.Exceptions.dll</HintPath>
|
||||||
</Reference>
|
</Reference>
|
||||||
<Reference Include="ASCOM.Internal.Extensions, Version=6.0.0.0, Culture=neutral, PublicKeyToken=565de7938946fba7, processorArchitecture=MSIL">
|
<Reference Include="ASCOM.Internal.Extensions, Version=6.0.0.0, Culture=neutral, PublicKeyToken=565de7938946fba7, processorArchitecture=MSIL">
|
||||||
<HintPath>..\packages\ASCOM.Platform.6.5.1\lib\net40\ASCOM.Internal.Extensions.dll</HintPath>
|
<HintPath>..\packages\ASCOM.Platform.6.5.2\lib\net40\ASCOM.Internal.Extensions.dll</HintPath>
|
||||||
</Reference>
|
</Reference>
|
||||||
<Reference Include="ASCOM.SettingsProvider, Version=6.0.0.0, Culture=neutral, PublicKeyToken=565de7938946fba7, processorArchitecture=MSIL">
|
<Reference Include="ASCOM.SettingsProvider, Version=6.0.0.0, Culture=neutral, PublicKeyToken=565de7938946fba7, processorArchitecture=MSIL">
|
||||||
<HintPath>..\packages\ASCOM.Platform.6.5.1\lib\net40\ASCOM.SettingsProvider.dll</HintPath>
|
<HintPath>..\packages\ASCOM.Platform.6.5.2\lib\net40\ASCOM.SettingsProvider.dll</HintPath>
|
||||||
</Reference>
|
</Reference>
|
||||||
<Reference Include="ASCOM.Utilities, Version=6.0.0.0, Culture=neutral, PublicKeyToken=565de7938946fba7, processorArchitecture=MSIL">
|
<Reference Include="ASCOM.Utilities, Version=6.0.0.0, Culture=neutral, PublicKeyToken=565de7938946fba7, processorArchitecture=MSIL">
|
||||||
<HintPath>..\packages\ASCOM.Platform.6.5.1\lib\net40\ASCOM.Utilities.dll</HintPath>
|
<HintPath>..\packages\ASCOM.Platform.6.5.2\lib\net40\ASCOM.Utilities.dll</HintPath>
|
||||||
</Reference>
|
</Reference>
|
||||||
<Reference Include="ASCOM.Utilities.Video, Version=6.1.0.0, Culture=neutral, PublicKeyToken=565de7938946fba7, processorArchitecture=MSIL">
|
<Reference Include="ASCOM.Utilities.Video, Version=6.1.0.0, Culture=neutral, PublicKeyToken=565de7938946fba7, processorArchitecture=MSIL">
|
||||||
<HintPath>..\packages\ASCOM.Platform.6.5.1\lib\net40\ASCOM.Utilities.Video.dll</HintPath>
|
<HintPath>..\packages\ASCOM.Platform.6.5.2\lib\net40\ASCOM.Utilities.Video.dll</HintPath>
|
||||||
</Reference>
|
</Reference>
|
||||||
<Reference Include="JetBrains.Annotations, Version=2020.3.0.0, Culture=neutral, PublicKeyToken=1010a0d8d6380325, processorArchitecture=MSIL">
|
<Reference Include="JetBrains.Annotations, Version=4242.42.42.42, Culture=neutral, PublicKeyToken=1010a0d8d6380325, processorArchitecture=MSIL">
|
||||||
<HintPath>..\packages\JetBrains.Annotations.2020.3.0\lib\net20\JetBrains.Annotations.dll</HintPath>
|
<HintPath>..\packages\JetBrains.Annotations.2022.3.1\lib\net20\JetBrains.Annotations.dll</HintPath>
|
||||||
</Reference>
|
</Reference>
|
||||||
<Reference Include="System" />
|
<Reference Include="System" />
|
||||||
<Reference Include="System.configuration" />
|
<Reference Include="System.configuration" />
|
||||||
@@ -128,6 +128,7 @@
|
|||||||
<Compile Include="Clock.cs" />
|
<Compile Include="Clock.cs" />
|
||||||
<Compile Include="ComparisonResult.cs" />
|
<Compile Include="ComparisonResult.cs" />
|
||||||
<Compile Include="DoubleExtensions.cs" />
|
<Compile Include="DoubleExtensions.cs" />
|
||||||
|
<Compile Include="ExtensionMethods\DoubelExtensions.cs" />
|
||||||
<Compile Include="IClock.cs" />
|
<Compile Include="IClock.cs" />
|
||||||
<Compile Include="StringExtensions.cs" />
|
<Compile Include="StringExtensions.cs" />
|
||||||
<Compile Include="Telescope.cs" />
|
<Compile Include="Telescope.cs" />
|
||||||
@@ -155,7 +156,6 @@
|
|||||||
<None Include="app.config" />
|
<None Include="app.config" />
|
||||||
<None Include="ASCOM.png" />
|
<None Include="ASCOM.png" />
|
||||||
<None Include="ASCOMDriverTemplate.snk" />
|
<None Include="ASCOMDriverTemplate.snk" />
|
||||||
<None Include="BootstrapAscomProfileStore.ps1" />
|
|
||||||
<None Include="packages.config" />
|
<None Include="packages.config" />
|
||||||
<None Include="Properties\Settings.settings">
|
<None Include="Properties\Settings.settings">
|
||||||
<Generator>SettingsSingleFileGenerator</Generator>
|
<Generator>SettingsSingleFileGenerator</Generator>
|
||||||
@@ -187,11 +187,16 @@
|
|||||||
<Name>Meade.net</Name>
|
<Name>Meade.net</Name>
|
||||||
</ProjectReference>
|
</ProjectReference>
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
|
<ItemGroup />
|
||||||
<Import Project="$(MSBuildBinPath)\Microsoft.CSharp.targets" />
|
<Import Project="$(MSBuildBinPath)\Microsoft.CSharp.targets" />
|
||||||
<PropertyGroup>
|
<PropertyGroup>
|
||||||
<PreBuildEvent>
|
<PreBuildEvent>
|
||||||
</PreBuildEvent>
|
</PreBuildEvent>
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
|
<PropertyGroup>
|
||||||
|
<PostBuildEvent>
|
||||||
|
</PostBuildEvent>
|
||||||
|
</PropertyGroup>
|
||||||
<!-- To modify your build process, add your task inside one of the targets below and uncomment it.
|
<!-- To modify your build process, add your task inside one of the targets below and uncomment it.
|
||||||
Other similar extension points exist, see Microsoft.Common.targets.
|
Other similar extension points exist, see Microsoft.Common.targets.
|
||||||
<Target Name="BeforeBuild">
|
<Target Name="BeforeBuild">
|
||||||
|
|||||||
@@ -1,5 +1,8 @@
|
|||||||
<ProjectConfiguration>
|
<ProjectConfiguration>
|
||||||
<Settings>
|
<Settings>
|
||||||
|
<HiddenComponentWarnings>
|
||||||
|
<Value>CopyReferencedAssembliesToWorkspaceIsOn</Value>
|
||||||
|
</HiddenComponentWarnings>
|
||||||
<UseCPUArchitecture>x86</UseCPUArchitecture>
|
<UseCPUArchitecture>x86</UseCPUArchitecture>
|
||||||
</Settings>
|
</Settings>
|
||||||
</ProjectConfiguration>
|
</ProjectConfiguration>
|
||||||
+2458
-1295
File diff suppressed because it is too large
Load Diff
@@ -1,5 +1,5 @@
|
|||||||
<?xml version="1.0" encoding="utf-8"?>
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
<packages>
|
<packages>
|
||||||
<package id="ASCOM.Platform" version="6.5.1" targetFramework="net472" />
|
<package id="ASCOM.Platform" version="6.5.2" targetFramework="net472" />
|
||||||
<package id="JetBrains.Annotations" version="2020.3.0" targetFramework="net472" />
|
<package id="JetBrains.Annotations" version="2022.3.1" targetFramework="net472" />
|
||||||
</packages>
|
</packages>
|
||||||
@@ -1,6 +1,10 @@
|
|||||||
<?xml version="1.0" encoding="utf-8"?>
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
<Project ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
<Project ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||||
<Import Project="..\packages\NUnit.3.13.0\build\NUnit.props" Condition="Exists('..\packages\NUnit.3.13.0\build\NUnit.props')" />
|
<Import Project="..\packages\NUnit3TestAdapter.5.1.0\build\net462\NUnit3TestAdapter.props" Condition="Exists('..\packages\NUnit3TestAdapter.5.1.0\build\net462\NUnit3TestAdapter.props')" />
|
||||||
|
<Import Project="..\packages\Microsoft.Testing.Extensions.Telemetry.1.7.3\build\netstandard2.0\Microsoft.Testing.Extensions.Telemetry.props" Condition="Exists('..\packages\Microsoft.Testing.Extensions.Telemetry.1.7.3\build\netstandard2.0\Microsoft.Testing.Extensions.Telemetry.props')" />
|
||||||
|
<Import Project="..\packages\Microsoft.Testing.Platform.MSBuild.1.7.3\build\Microsoft.Testing.Platform.MSBuild.props" Condition="Exists('..\packages\Microsoft.Testing.Platform.MSBuild.1.7.3\build\Microsoft.Testing.Platform.MSBuild.props')" />
|
||||||
|
<Import Project="..\packages\Microsoft.Testing.Platform.1.7.3\build\netstandard2.0\Microsoft.Testing.Platform.props" Condition="Exists('..\packages\Microsoft.Testing.Platform.1.7.3\build\netstandard2.0\Microsoft.Testing.Platform.props')" />
|
||||||
|
<Import Project="..\packages\NUnit.3.13.3\build\NUnit.props" Condition="Exists('..\packages\NUnit.3.13.3\build\NUnit.props')" />
|
||||||
<Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" />
|
<Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" />
|
||||||
<PropertyGroup>
|
<PropertyGroup>
|
||||||
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
|
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
|
||||||
@@ -35,56 +39,107 @@
|
|||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<Reference Include="ASCOM.Astrometry, Version=6.0.0.0, Culture=neutral, PublicKeyToken=565de7938946fba7, processorArchitecture=MSIL">
|
<Reference Include="ASCOM.Astrometry, Version=6.0.0.0, Culture=neutral, PublicKeyToken=565de7938946fba7, processorArchitecture=MSIL">
|
||||||
<HintPath>..\packages\ASCOM.Platform.6.5.1\lib\net40\ASCOM.Astrometry.dll</HintPath>
|
<HintPath>..\packages\ASCOM.Platform.6.5.2\lib\net40\ASCOM.Astrometry.dll</HintPath>
|
||||||
</Reference>
|
</Reference>
|
||||||
<Reference Include="ASCOM.Attributes, Version=6.0.0.0, Culture=neutral, PublicKeyToken=565de7938946fba7, processorArchitecture=MSIL">
|
<Reference Include="ASCOM.Attributes, Version=6.0.0.0, Culture=neutral, PublicKeyToken=565de7938946fba7, processorArchitecture=MSIL">
|
||||||
<HintPath>..\packages\ASCOM.Platform.6.5.1\lib\net40\ASCOM.Attributes.dll</HintPath>
|
<HintPath>..\packages\ASCOM.Platform.6.5.2\lib\net40\ASCOM.Attributes.dll</HintPath>
|
||||||
</Reference>
|
</Reference>
|
||||||
<Reference Include="ASCOM.Cache, Version=6.0.0.0, Culture=neutral, PublicKeyToken=565de7938946fba7, processorArchitecture=MSIL">
|
<Reference Include="ASCOM.Cache, Version=6.0.0.0, Culture=neutral, PublicKeyToken=565de7938946fba7, processorArchitecture=MSIL">
|
||||||
<HintPath>..\packages\ASCOM.Platform.6.5.1\lib\net40\ASCOM.Cache.dll</HintPath>
|
<HintPath>..\packages\ASCOM.Platform.6.5.2\lib\net40\ASCOM.Cache.dll</HintPath>
|
||||||
</Reference>
|
</Reference>
|
||||||
<Reference Include="ASCOM.Controls, Version=6.0.0.0, Culture=neutral, PublicKeyToken=565de7938946fba7, processorArchitecture=MSIL">
|
<Reference Include="ASCOM.Controls, Version=6.0.0.0, Culture=neutral, PublicKeyToken=565de7938946fba7, processorArchitecture=MSIL">
|
||||||
<HintPath>..\packages\ASCOM.Platform.6.5.1\lib\net40\ASCOM.Controls.dll</HintPath>
|
<HintPath>..\packages\ASCOM.Platform.6.5.2\lib\net40\ASCOM.Controls.dll</HintPath>
|
||||||
</Reference>
|
</Reference>
|
||||||
<Reference Include="ASCOM.DeviceInterfaces, Version=6.0.0.0, Culture=neutral, PublicKeyToken=565de7938946fba7, processorArchitecture=MSIL">
|
<Reference Include="ASCOM.DeviceInterfaces, Version=6.0.0.0, Culture=neutral, PublicKeyToken=565de7938946fba7, processorArchitecture=MSIL">
|
||||||
<HintPath>..\packages\ASCOM.Platform.6.5.1\lib\net40\ASCOM.DeviceInterfaces.dll</HintPath>
|
<HintPath>..\packages\ASCOM.Platform.6.5.2\lib\net40\ASCOM.DeviceInterfaces.dll</HintPath>
|
||||||
</Reference>
|
</Reference>
|
||||||
<Reference Include="ASCOM.DriverAccess, Version=6.0.0.0, Culture=neutral, PublicKeyToken=565de7938946fba7, processorArchitecture=MSIL">
|
<Reference Include="ASCOM.DriverAccess, Version=6.0.0.0, Culture=neutral, PublicKeyToken=565de7938946fba7, processorArchitecture=MSIL">
|
||||||
<HintPath>..\packages\ASCOM.Platform.6.5.1\lib\net40\ASCOM.DriverAccess.dll</HintPath>
|
<HintPath>..\packages\ASCOM.Platform.6.5.2\lib\net40\ASCOM.DriverAccess.dll</HintPath>
|
||||||
</Reference>
|
</Reference>
|
||||||
<Reference Include="ASCOM.Exceptions, Version=6.0.0.0, Culture=neutral, PublicKeyToken=565de7938946fba7, processorArchitecture=MSIL">
|
<Reference Include="ASCOM.Exceptions, Version=6.0.0.0, Culture=neutral, PublicKeyToken=565de7938946fba7, processorArchitecture=MSIL">
|
||||||
<HintPath>..\packages\ASCOM.Platform.6.5.1\lib\net40\ASCOM.Exceptions.dll</HintPath>
|
<HintPath>..\packages\ASCOM.Platform.6.5.2\lib\net40\ASCOM.Exceptions.dll</HintPath>
|
||||||
</Reference>
|
</Reference>
|
||||||
<Reference Include="ASCOM.Internal.Extensions, Version=6.0.0.0, Culture=neutral, PublicKeyToken=565de7938946fba7, processorArchitecture=MSIL">
|
<Reference Include="ASCOM.Internal.Extensions, Version=6.0.0.0, Culture=neutral, PublicKeyToken=565de7938946fba7, processorArchitecture=MSIL">
|
||||||
<HintPath>..\packages\ASCOM.Platform.6.5.1\lib\net40\ASCOM.Internal.Extensions.dll</HintPath>
|
<HintPath>..\packages\ASCOM.Platform.6.5.2\lib\net40\ASCOM.Internal.Extensions.dll</HintPath>
|
||||||
</Reference>
|
</Reference>
|
||||||
<Reference Include="ASCOM.SettingsProvider, Version=6.0.0.0, Culture=neutral, PublicKeyToken=565de7938946fba7, processorArchitecture=MSIL">
|
<Reference Include="ASCOM.SettingsProvider, Version=6.0.0.0, Culture=neutral, PublicKeyToken=565de7938946fba7, processorArchitecture=MSIL">
|
||||||
<HintPath>..\packages\ASCOM.Platform.6.5.1\lib\net40\ASCOM.SettingsProvider.dll</HintPath>
|
<HintPath>..\packages\ASCOM.Platform.6.5.2\lib\net40\ASCOM.SettingsProvider.dll</HintPath>
|
||||||
</Reference>
|
</Reference>
|
||||||
<Reference Include="ASCOM.Utilities, Version=6.0.0.0, Culture=neutral, PublicKeyToken=565de7938946fba7, processorArchitecture=MSIL">
|
<Reference Include="ASCOM.Utilities, Version=6.0.0.0, Culture=neutral, PublicKeyToken=565de7938946fba7, processorArchitecture=MSIL">
|
||||||
<HintPath>..\packages\ASCOM.Platform.6.5.1\lib\net40\ASCOM.Utilities.dll</HintPath>
|
<HintPath>..\packages\ASCOM.Platform.6.5.2\lib\net40\ASCOM.Utilities.dll</HintPath>
|
||||||
</Reference>
|
</Reference>
|
||||||
<Reference Include="ASCOM.Utilities.Video, Version=6.1.0.0, Culture=neutral, PublicKeyToken=565de7938946fba7, processorArchitecture=MSIL">
|
<Reference Include="ASCOM.Utilities.Video, Version=6.1.0.0, Culture=neutral, PublicKeyToken=565de7938946fba7, processorArchitecture=MSIL">
|
||||||
<HintPath>..\packages\ASCOM.Platform.6.5.1\lib\net40\ASCOM.Utilities.Video.dll</HintPath>
|
<HintPath>..\packages\ASCOM.Platform.6.5.2\lib\net40\ASCOM.Utilities.Video.dll</HintPath>
|
||||||
</Reference>
|
</Reference>
|
||||||
<Reference Include="Castle.Core, Version=4.0.0.0, Culture=neutral, PublicKeyToken=407dd0808d44fbdc, processorArchitecture=MSIL">
|
<Reference Include="Castle.Core, Version=5.0.0.0, Culture=neutral, PublicKeyToken=407dd0808d44fbdc, processorArchitecture=MSIL">
|
||||||
<HintPath>..\packages\Castle.Core.4.4.1\lib\net45\Castle.Core.dll</HintPath>
|
<HintPath>..\packages\Castle.Core.5.1.0\lib\net462\Castle.Core.dll</HintPath>
|
||||||
</Reference>
|
</Reference>
|
||||||
<Reference Include="JetBrains.Annotations, Version=2020.3.0.0, Culture=neutral, PublicKeyToken=1010a0d8d6380325, processorArchitecture=MSIL">
|
<Reference Include="JetBrains.Annotations, Version=4242.42.42.42, Culture=neutral, PublicKeyToken=1010a0d8d6380325, processorArchitecture=MSIL">
|
||||||
<HintPath>..\packages\JetBrains.Annotations.2020.3.0\lib\net20\JetBrains.Annotations.dll</HintPath>
|
<HintPath>..\packages\JetBrains.Annotations.2022.3.1\lib\net20\JetBrains.Annotations.dll</HintPath>
|
||||||
</Reference>
|
</Reference>
|
||||||
<Reference Include="Moq, Version=4.15.0.0, Culture=neutral, PublicKeyToken=69f491c39445e920, processorArchitecture=MSIL">
|
<Reference Include="Microsoft.ApplicationInsights, Version=2.23.0.29, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
|
||||||
<HintPath>..\packages\Moq.4.15.2\lib\net45\Moq.dll</HintPath>
|
<HintPath>..\packages\Microsoft.ApplicationInsights.2.23.0\lib\net46\Microsoft.ApplicationInsights.dll</HintPath>
|
||||||
</Reference>
|
</Reference>
|
||||||
<Reference Include="nunit.framework, Version=3.13.0.0, Culture=neutral, PublicKeyToken=2638cd05610744eb, processorArchitecture=MSIL">
|
<Reference Include="Microsoft.Testing.Extensions.MSBuild, Version=1.7.3.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
|
||||||
<HintPath>..\packages\NUnit.3.13.0\lib\net45\nunit.framework.dll</HintPath>
|
<HintPath>..\packages\Microsoft.Testing.Platform.MSBuild.1.7.3\lib\netstandard2.0\Microsoft.Testing.Extensions.MSBuild.dll</HintPath>
|
||||||
|
</Reference>
|
||||||
|
<Reference Include="Microsoft.Testing.Extensions.Telemetry, Version=1.7.3.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
|
||||||
|
<HintPath>..\packages\Microsoft.Testing.Extensions.Telemetry.1.7.3\lib\netstandard2.0\Microsoft.Testing.Extensions.Telemetry.dll</HintPath>
|
||||||
|
</Reference>
|
||||||
|
<Reference Include="Microsoft.Testing.Extensions.TrxReport.Abstractions, Version=1.7.3.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
|
||||||
|
<HintPath>..\packages\Microsoft.Testing.Extensions.TrxReport.Abstractions.1.7.3\lib\netstandard2.0\Microsoft.Testing.Extensions.TrxReport.Abstractions.dll</HintPath>
|
||||||
|
</Reference>
|
||||||
|
<Reference Include="Microsoft.Testing.Extensions.VSTestBridge, Version=1.7.3.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
|
||||||
|
<HintPath>..\packages\Microsoft.Testing.Extensions.VSTestBridge.1.7.3\lib\netstandard2.0\Microsoft.Testing.Extensions.VSTestBridge.dll</HintPath>
|
||||||
|
</Reference>
|
||||||
|
<Reference Include="Microsoft.Testing.Platform, Version=1.7.3.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
|
||||||
|
<HintPath>..\packages\Microsoft.Testing.Platform.1.7.3\lib\netstandard2.0\Microsoft.Testing.Platform.dll</HintPath>
|
||||||
|
</Reference>
|
||||||
|
<Reference Include="Microsoft.TestPlatform.AdapterUtilities, Version=15.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
|
||||||
|
<HintPath>..\packages\Microsoft.TestPlatform.AdapterUtilities.17.13.0\lib\net462\Microsoft.TestPlatform.AdapterUtilities.dll</HintPath>
|
||||||
|
</Reference>
|
||||||
|
<Reference Include="Microsoft.TestPlatform.CoreUtilities, Version=15.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
|
||||||
|
<HintPath>..\packages\Microsoft.TestPlatform.ObjectModel.17.13.0\lib\net462\Microsoft.TestPlatform.CoreUtilities.dll</HintPath>
|
||||||
|
</Reference>
|
||||||
|
<Reference Include="Microsoft.TestPlatform.PlatformAbstractions, Version=15.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
|
||||||
|
<HintPath>..\packages\Microsoft.TestPlatform.ObjectModel.17.13.0\lib\net462\Microsoft.TestPlatform.PlatformAbstractions.dll</HintPath>
|
||||||
|
</Reference>
|
||||||
|
<Reference Include="Microsoft.VisualStudio.TestPlatform.ObjectModel, Version=15.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
|
||||||
|
<HintPath>..\packages\Microsoft.TestPlatform.ObjectModel.17.13.0\lib\net462\Microsoft.VisualStudio.TestPlatform.ObjectModel.dll</HintPath>
|
||||||
|
</Reference>
|
||||||
|
<Reference Include="Moq, Version=4.18.0.0, Culture=neutral, PublicKeyToken=69f491c39445e920, processorArchitecture=MSIL">
|
||||||
|
<HintPath>..\packages\Moq.4.18.2\lib\net462\Moq.dll</HintPath>
|
||||||
|
</Reference>
|
||||||
|
<Reference Include="nunit.framework, Version=3.13.3.0, Culture=neutral, PublicKeyToken=2638cd05610744eb, processorArchitecture=MSIL">
|
||||||
|
<HintPath>..\packages\NUnit.3.13.3\lib\net45\nunit.framework.dll</HintPath>
|
||||||
</Reference>
|
</Reference>
|
||||||
<Reference Include="System" />
|
<Reference Include="System" />
|
||||||
|
<Reference Include="System.Buffers, Version=4.0.3.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL">
|
||||||
|
<HintPath>..\packages\System.Buffers.4.5.1\lib\net461\System.Buffers.dll</HintPath>
|
||||||
|
</Reference>
|
||||||
|
<Reference Include="System.Collections.Immutable, Version=1.2.3.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
|
||||||
|
<HintPath>..\packages\System.Collections.Immutable.1.5.0\lib\netstandard2.0\System.Collections.Immutable.dll</HintPath>
|
||||||
|
</Reference>
|
||||||
<Reference Include="System.Configuration" />
|
<Reference Include="System.Configuration" />
|
||||||
<Reference Include="System.Core" />
|
<Reference Include="System.Core" />
|
||||||
<Reference Include="System.Runtime.CompilerServices.Unsafe, Version=5.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
|
<Reference Include="System.Diagnostics.DiagnosticSource, Version=5.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL">
|
||||||
<HintPath>..\packages\System.Runtime.CompilerServices.Unsafe.5.0.0\lib\net45\System.Runtime.CompilerServices.Unsafe.dll</HintPath>
|
<HintPath>..\packages\System.Diagnostics.DiagnosticSource.5.0.0\lib\net46\System.Diagnostics.DiagnosticSource.dll</HintPath>
|
||||||
</Reference>
|
</Reference>
|
||||||
|
<Reference Include="System.Memory, Version=4.0.1.1, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL">
|
||||||
|
<HintPath>..\packages\System.Memory.4.5.4\lib\net461\System.Memory.dll</HintPath>
|
||||||
|
</Reference>
|
||||||
|
<Reference Include="System.Numerics" />
|
||||||
|
<Reference Include="System.Numerics.Vectors, Version=4.1.4.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
|
||||||
|
<HintPath>..\packages\System.Numerics.Vectors.4.5.0\lib\net46\System.Numerics.Vectors.dll</HintPath>
|
||||||
|
</Reference>
|
||||||
|
<Reference Include="System.Reflection.Metadata, Version=1.4.3.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
|
||||||
|
<HintPath>..\packages\System.Reflection.Metadata.1.6.0\lib\netstandard2.0\System.Reflection.Metadata.dll</HintPath>
|
||||||
|
</Reference>
|
||||||
|
<Reference Include="System.Runtime" />
|
||||||
|
<Reference Include="System.Runtime.CompilerServices.Unsafe, Version=7.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
|
||||||
|
<HintPath>..\packages\System.Runtime.CompilerServices.Unsafe.7.0.0-preview.2.22152.2\lib\net462\System.Runtime.CompilerServices.Unsafe.dll</HintPath>
|
||||||
|
</Reference>
|
||||||
|
<Reference Include="System.Runtime.Serialization" />
|
||||||
<Reference Include="System.Threading.Tasks.Extensions, Version=4.2.0.1, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL">
|
<Reference Include="System.Threading.Tasks.Extensions, Version=4.2.0.1, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL">
|
||||||
<HintPath>..\packages\System.Threading.Tasks.Extensions.4.5.4\lib\net461\System.Threading.Tasks.Extensions.dll</HintPath>
|
<HintPath>..\packages\System.Threading.Tasks.Extensions.4.5.4\lib\net461\System.Threading.Tasks.Extensions.dll</HintPath>
|
||||||
</Reference>
|
</Reference>
|
||||||
@@ -111,7 +166,6 @@
|
|||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<None Include="app.config" />
|
<None Include="app.config" />
|
||||||
<None Include="BootstrapAscomProfileStore.ps1" />
|
|
||||||
<None Include="packages.config" />
|
<None Include="packages.config" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
|
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
|
||||||
@@ -119,6 +173,16 @@
|
|||||||
<PropertyGroup>
|
<PropertyGroup>
|
||||||
<ErrorText>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}.</ErrorText>
|
<ErrorText>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}.</ErrorText>
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
<Error Condition="!Exists('..\packages\NUnit.3.13.0\build\NUnit.props')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\NUnit.3.13.0\build\NUnit.props'))" />
|
<Error Condition="!Exists('..\packages\NUnit.3.13.3\build\NUnit.props')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\NUnit.3.13.3\build\NUnit.props'))" />
|
||||||
|
<Error Condition="!Exists('..\packages\Microsoft.Testing.Platform.1.7.3\build\netstandard2.0\Microsoft.Testing.Platform.props')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\Microsoft.Testing.Platform.1.7.3\build\netstandard2.0\Microsoft.Testing.Platform.props'))" />
|
||||||
|
<Error Condition="!Exists('..\packages\Microsoft.Testing.Platform.1.7.3\build\netstandard2.0\Microsoft.Testing.Platform.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\Microsoft.Testing.Platform.1.7.3\build\netstandard2.0\Microsoft.Testing.Platform.targets'))" />
|
||||||
|
<Error Condition="!Exists('..\packages\Microsoft.Testing.Platform.MSBuild.1.7.3\build\Microsoft.Testing.Platform.MSBuild.props')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\Microsoft.Testing.Platform.MSBuild.1.7.3\build\Microsoft.Testing.Platform.MSBuild.props'))" />
|
||||||
|
<Error Condition="!Exists('..\packages\Microsoft.Testing.Platform.MSBuild.1.7.3\build\Microsoft.Testing.Platform.MSBuild.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\Microsoft.Testing.Platform.MSBuild.1.7.3\build\Microsoft.Testing.Platform.MSBuild.targets'))" />
|
||||||
|
<Error Condition="!Exists('..\packages\Microsoft.Testing.Extensions.Telemetry.1.7.3\build\netstandard2.0\Microsoft.Testing.Extensions.Telemetry.props')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\Microsoft.Testing.Extensions.Telemetry.1.7.3\build\netstandard2.0\Microsoft.Testing.Extensions.Telemetry.props'))" />
|
||||||
|
<Error Condition="!Exists('..\packages\NUnit3TestAdapter.5.1.0\build\net462\NUnit3TestAdapter.props')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\NUnit3TestAdapter.5.1.0\build\net462\NUnit3TestAdapter.props'))" />
|
||||||
|
<Error Condition="!Exists('..\packages\NUnit3TestAdapter.5.1.0\build\net462\NUnit3TestAdapter.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\NUnit3TestAdapter.5.1.0\build\net462\NUnit3TestAdapter.targets'))" />
|
||||||
</Target>
|
</Target>
|
||||||
|
<Import Project="..\packages\Microsoft.Testing.Platform.1.7.3\build\netstandard2.0\Microsoft.Testing.Platform.targets" Condition="Exists('..\packages\Microsoft.Testing.Platform.1.7.3\build\netstandard2.0\Microsoft.Testing.Platform.targets')" />
|
||||||
|
<Import Project="..\packages\Microsoft.Testing.Platform.MSBuild.1.7.3\build\Microsoft.Testing.Platform.MSBuild.targets" Condition="Exists('..\packages\Microsoft.Testing.Platform.MSBuild.1.7.3\build\Microsoft.Testing.Platform.MSBuild.targets')" />
|
||||||
|
<Import Project="..\packages\NUnit3TestAdapter.5.1.0\build\net462\NUnit3TestAdapter.targets" Condition="Exists('..\packages\NUnit3TestAdapter.5.1.0\build\net462\NUnit3TestAdapter.targets')" />
|
||||||
</Project>
|
</Project>
|
||||||
@@ -38,7 +38,7 @@ namespace Meade.net.UnitTests
|
|||||||
public void SendBlind_WhenCalled_Then_ClearsBuffersAndSendsMessage(bool raw, string expectedMessage)
|
public void SendBlind_WhenCalled_Then_ClearsBuffersAndSendsMessage(bool raw, string expectedMessage)
|
||||||
{
|
{
|
||||||
var sendMessage = "Test";
|
var sendMessage = "Test";
|
||||||
SharedResources.SendBlind(sendMessage, raw);
|
SharedResources.SendBlind(_traceLoggerMock.Object, sendMessage, raw);
|
||||||
|
|
||||||
_serialMock.Verify(x=> x.ClearBuffers(), Times.Once);
|
_serialMock.Verify(x=> x.ClearBuffers(), Times.Once);
|
||||||
_serialMock.Verify(x=>x.Transmit(expectedMessage), Times.Once);
|
_serialMock.Verify(x=>x.Transmit(expectedMessage), Times.Once);
|
||||||
@@ -53,7 +53,7 @@ namespace Meade.net.UnitTests
|
|||||||
|
|
||||||
_serialMock.Setup(x => x.ReceiveCounted(1)).Returns(expectedResult);
|
_serialMock.Setup(x => x.ReceiveCounted(1)).Returns(expectedResult);
|
||||||
|
|
||||||
var result = SharedResources.SendChar(command, raw);
|
var result = SharedResources.SendChar(_traceLoggerMock.Object, command, raw);
|
||||||
|
|
||||||
_serialMock.Verify(x => x.ClearBuffers(), Times.Once);
|
_serialMock.Verify(x => x.ClearBuffers(), Times.Once);
|
||||||
_serialMock.Verify(x => x.Transmit(expectedCommand), Times.Once);
|
_serialMock.Verify(x => x.Transmit(expectedCommand), Times.Once);
|
||||||
@@ -70,7 +70,7 @@ namespace Meade.net.UnitTests
|
|||||||
|
|
||||||
_serialMock.Setup(x => x.ReceiveTerminated("#")).Returns(expectedResult);
|
_serialMock.Setup(x => x.ReceiveTerminated("#")).Returns(expectedResult);
|
||||||
|
|
||||||
var result = SharedResources.SendString(transmitMessage, includePrefix);
|
var result = SharedResources.SendString(_traceLoggerMock.Object, transmitMessage, includePrefix);
|
||||||
|
|
||||||
_serialMock.Verify(x => x.ClearBuffers(), Times.Once);
|
_serialMock.Verify(x => x.ClearBuffers(), Times.Once);
|
||||||
_serialMock.Verify(x => x.Transmit(expectedMessage), Times.Once);
|
_serialMock.Verify(x => x.Transmit(expectedMessage), Times.Once);
|
||||||
@@ -151,26 +151,29 @@ namespace Meade.net.UnitTests
|
|||||||
string TraceStateDefault = "false";
|
string TraceStateDefault = "false";
|
||||||
|
|
||||||
string ComPortDefault = "COM1";
|
string ComPortDefault = "COM1";
|
||||||
string SpeedDefault = "9600";
|
int SpeedDefault = 9600;
|
||||||
string DataBitsDefault = "8";
|
int DataBitsDefault = 8;
|
||||||
string StopBitsDefault = "One";
|
string StopBitsDefault = "One";
|
||||||
string HandshakeDefault = "None";
|
string HandshakeDefault = "None";
|
||||||
string ParityDefault = "None";
|
string ParityDefault = "None";
|
||||||
string RtsDtrEnabledDefault = "true";
|
bool RtsDtrEnabledDefault = true;
|
||||||
|
|
||||||
string GuideRateProfileNameDefault = "10.077939"; //67% of sidereal rate
|
double GuideRateProfileNameDefault = 10.077939; //67% of sidereal rate
|
||||||
string PrecisionDefault = "Unchanged";
|
string PrecisionDefault = "Unchanged";
|
||||||
string GuidingStyleDefault = "Auto";
|
string GuidingStyleDefault = "Auto";
|
||||||
|
|
||||||
string BacklashCompensationDefault = "3000";
|
int BacklashCompensationDefault = 3000;
|
||||||
string ReverseFocuserDiectionDefault = "true";
|
bool ReverseFocuserDiectionDefault = true;
|
||||||
|
|
||||||
string SendDateTimeDefault = "true";
|
bool SendDateTimeDefault = true;
|
||||||
string SkipPromptsDefault = "true";
|
string SkipPromptsDefault = "true";
|
||||||
|
|
||||||
string ParkedBehaviourDefault = "No Coordinates";
|
string ParkedBehaviourDefault = "No Coordinates";
|
||||||
string ParkedAltDefault = "0";
|
string ParkedAltDefault = "0";
|
||||||
string ParkedAzimuthDefault = "180";
|
string ParkedAzimuthDefault = "180";
|
||||||
|
string FocalLengthDefault = "2000";
|
||||||
|
string ApertureAreaDefault = "32685";
|
||||||
|
string ApertureDiameterDefault = "203";
|
||||||
|
|
||||||
Mock<IProfileWrapper> profileWrapperMock = new Mock<IProfileWrapper>();
|
Mock<IProfileWrapper> profileWrapperMock = new Mock<IProfileWrapper>();
|
||||||
profileWrapperMock.SetupAllProperties();
|
profileWrapperMock.SetupAllProperties();
|
||||||
@@ -181,23 +184,23 @@ namespace Meade.net.UnitTests
|
|||||||
profileWrapperMock.Setup(x => x.GetValue(DriverId, "COM Port", string.Empty, ComPortDefault))
|
profileWrapperMock.Setup(x => x.GetValue(DriverId, "COM Port", string.Empty, ComPortDefault))
|
||||||
.Returns(ComPortDefault);
|
.Returns(ComPortDefault);
|
||||||
profileWrapperMock
|
profileWrapperMock
|
||||||
.Setup(x => x.GetValue(DriverId, "Guide Rate Arc Seconds Per Second", string.Empty,
|
.Setup(x => x.GetValueDouble(DriverId, "Guide Rate Arc Seconds Per Second", string.Empty,
|
||||||
GuideRateProfileNameDefault)).Returns(GuideRateProfileNameDefault);
|
GuideRateProfileNameDefault.ToString())).Returns(GuideRateProfileNameDefault);
|
||||||
profileWrapperMock.Setup(x => x.GetValue(DriverId, "Precision", string.Empty, PrecisionDefault))
|
profileWrapperMock.Setup(x => x.GetValue(DriverId, "Precision", string.Empty, PrecisionDefault))
|
||||||
.Returns(PrecisionDefault);
|
.Returns(PrecisionDefault);
|
||||||
profileWrapperMock.Setup(x => x.GetValue(DriverId, "Guiding Style", string.Empty, GuidingStyleDefault))
|
profileWrapperMock.Setup(x => x.GetValue(DriverId, "Guiding Style", string.Empty, GuidingStyleDefault))
|
||||||
.Returns(GuidingStyleDefault);
|
.Returns(GuidingStyleDefault);
|
||||||
profileWrapperMock.Setup(x =>
|
profileWrapperMock.Setup(x =>
|
||||||
x.GetValue(DriverId, "Backlash Compensation", string.Empty, BacklashCompensationDefault))
|
x.GetValueInt(DriverId, "Backlash Compensation", string.Empty, BacklashCompensationDefault.ToString()))
|
||||||
.Returns(BacklashCompensationDefault);
|
.Returns(BacklashCompensationDefault);
|
||||||
profileWrapperMock.Setup(x =>
|
profileWrapperMock.Setup(x =>
|
||||||
x.GetValue(DriverId, "Reverse Focuser Direction", string.Empty, "true"))
|
x.GetValueBool(DriverId, "Reverse Focuser Direction", string.Empty, "true"))
|
||||||
.Returns(() => ReverseFocuserDiectionDefault);
|
.Returns(() => ReverseFocuserDiectionDefault);
|
||||||
profileWrapperMock.Setup(x =>
|
profileWrapperMock.Setup(x =>
|
||||||
x.GetValue(DriverId, "Speed", string.Empty, SpeedDefault))
|
x.GetValueInt(DriverId, "Speed", string.Empty, SpeedDefault.ToString()))
|
||||||
.Returns(() => SpeedDefault);
|
.Returns(() => SpeedDefault);
|
||||||
profileWrapperMock.Setup(x =>
|
profileWrapperMock.Setup(x =>
|
||||||
x.GetValue(DriverId, "Data Bits", string.Empty, DataBitsDefault))
|
x.GetValueInt(DriverId, "Data Bits", string.Empty, DataBitsDefault.ToString()))
|
||||||
.Returns(() => DataBitsDefault);
|
.Returns(() => DataBitsDefault);
|
||||||
profileWrapperMock.Setup(x =>
|
profileWrapperMock.Setup(x =>
|
||||||
x.GetValue(DriverId, "Stop Bits", string.Empty, StopBitsDefault))
|
x.GetValue(DriverId, "Stop Bits", string.Empty, StopBitsDefault))
|
||||||
@@ -209,7 +212,7 @@ namespace Meade.net.UnitTests
|
|||||||
x.GetValue(DriverId, "Parity", string.Empty, ParityDefault))
|
x.GetValue(DriverId, "Parity", string.Empty, ParityDefault))
|
||||||
.Returns(() => ParityDefault);
|
.Returns(() => ParityDefault);
|
||||||
profileWrapperMock.Setup(x =>
|
profileWrapperMock.Setup(x =>
|
||||||
x.GetValue(DriverId, "Rts / Dtr", string.Empty, "false"))
|
x.GetValueBool(DriverId, "Rts / Dtr", string.Empty, "false"))
|
||||||
.Returns(() => RtsDtrEnabledDefault);
|
.Returns(() => RtsDtrEnabledDefault);
|
||||||
|
|
||||||
profileWrapperMock.Setup(x =>
|
profileWrapperMock.Setup(x =>
|
||||||
@@ -223,7 +226,20 @@ namespace Meade.net.UnitTests
|
|||||||
.Returns(() => ParkedAzimuthDefault);
|
.Returns(() => ParkedAzimuthDefault);
|
||||||
|
|
||||||
profileWrapperMock.Setup(x =>
|
profileWrapperMock.Setup(x =>
|
||||||
x.GetValue(DriverId, "Send Date and time on connect", string.Empty, "false"))
|
x.GetValue(DriverId, "Focal Length (mm)", string.Empty, FocalLengthDefault))
|
||||||
|
.Returns(() => FocalLengthDefault);
|
||||||
|
|
||||||
|
profileWrapperMock.Setup(x =>
|
||||||
|
x.GetValue(DriverId, "Aperture Area (mm²)", string.Empty, ApertureAreaDefault))
|
||||||
|
.Returns(() => ApertureAreaDefault);
|
||||||
|
|
||||||
|
profileWrapperMock.Setup(x =>
|
||||||
|
x.GetValue(DriverId, "Aperture Diameter (mm)", string.Empty, ApertureDiameterDefault))
|
||||||
|
.Returns(() => ApertureDiameterDefault);
|
||||||
|
|
||||||
|
|
||||||
|
profileWrapperMock.Setup(x =>
|
||||||
|
x.GetValueBool(DriverId, "Send Date and time on connect", string.Empty, "false"))
|
||||||
.Returns(() => SendDateTimeDefault);
|
.Returns(() => SendDateTimeDefault);
|
||||||
|
|
||||||
profileWrapperMock.Setup(x =>
|
profileWrapperMock.Setup(x =>
|
||||||
@@ -248,21 +264,21 @@ namespace Meade.net.UnitTests
|
|||||||
Assert.That(profileProperties.ComPort, Is.EqualTo(ComPortDefault));
|
Assert.That(profileProperties.ComPort, Is.EqualTo(ComPortDefault));
|
||||||
|
|
||||||
Assert.That(profileProperties.GuideRateArcSecondsPerSecond,
|
Assert.That(profileProperties.GuideRateArcSecondsPerSecond,
|
||||||
Is.EqualTo(double.Parse(GuideRateProfileNameDefault)));
|
Is.EqualTo(GuideRateProfileNameDefault));
|
||||||
Assert.That(profileProperties.Precision, Is.EqualTo(PrecisionDefault));
|
Assert.That(profileProperties.Precision, Is.EqualTo(PrecisionDefault));
|
||||||
Assert.That(profileProperties.GuidingStyle, Is.EqualTo(GuidingStyleDefault));
|
Assert.That(profileProperties.GuidingStyle, Is.EqualTo(GuidingStyleDefault));
|
||||||
|
|
||||||
Assert.That(profileProperties.BacklashCompensation, Is.EqualTo(int.Parse(BacklashCompensationDefault)));
|
Assert.That(profileProperties.BacklashCompensation, Is.EqualTo(BacklashCompensationDefault));
|
||||||
Assert.That(profileProperties.ReverseFocusDirection, Is.EqualTo(bool.Parse(ReverseFocuserDiectionDefault)));
|
Assert.That(profileProperties.ReverseFocusDirection, Is.EqualTo(ReverseFocuserDiectionDefault));
|
||||||
|
|
||||||
Assert.That(profileProperties.Speed, Is.EqualTo(int.Parse(SpeedDefault)));
|
Assert.That(profileProperties.Speed, Is.EqualTo(SpeedDefault));
|
||||||
Assert.That(profileProperties.DataBits, Is.EqualTo(int.Parse(DataBitsDefault)));
|
Assert.That(profileProperties.DataBits, Is.EqualTo(DataBitsDefault));
|
||||||
Assert.That(profileProperties.StopBits, Is.EqualTo(StopBitsDefault));
|
Assert.That(profileProperties.StopBits, Is.EqualTo(StopBitsDefault));
|
||||||
Assert.That(profileProperties.Handshake, Is.EqualTo(HandshakeDefault));
|
Assert.That(profileProperties.Handshake, Is.EqualTo(HandshakeDefault));
|
||||||
Assert.That(profileProperties.Parity, Is.EqualTo(ParityDefault));
|
Assert.That(profileProperties.Parity, Is.EqualTo(ParityDefault));
|
||||||
Assert.That(profileProperties.RtsDtrEnabled, Is.EqualTo(bool.Parse(RtsDtrEnabledDefault)));
|
Assert.That(profileProperties.RtsDtrEnabled, Is.EqualTo(RtsDtrEnabledDefault));
|
||||||
|
|
||||||
Assert.That(profileProperties.SendDateTime, Is.EqualTo(bool.Parse(SendDateTimeDefault)));
|
Assert.That(profileProperties.SendDateTime, Is.EqualTo(SendDateTimeDefault));
|
||||||
}
|
}
|
||||||
|
|
||||||
[TestCase("TCP")]
|
[TestCase("TCP")]
|
||||||
@@ -295,6 +311,9 @@ namespace Meade.net.UnitTests
|
|||||||
string ParkedBehaviourDefault = "No Coordinates";
|
string ParkedBehaviourDefault = "No Coordinates";
|
||||||
string ParkedAltDefault = "0";
|
string ParkedAltDefault = "0";
|
||||||
string ParkedAzimuthDefault = "180";
|
string ParkedAzimuthDefault = "180";
|
||||||
|
string FocalLengthDefault = "2000";
|
||||||
|
string ApertureAreaDefault = "32685";
|
||||||
|
string ApertureDiameterDefault = "203";
|
||||||
|
|
||||||
Mock<IProfileWrapper> profileWrapperMock = new Mock<IProfileWrapper>();
|
Mock<IProfileWrapper> profileWrapperMock = new Mock<IProfileWrapper>();
|
||||||
profileWrapperMock.SetupAllProperties();
|
profileWrapperMock.SetupAllProperties();
|
||||||
@@ -337,6 +356,18 @@ namespace Meade.net.UnitTests
|
|||||||
profileWrapperMock.Setup(x =>
|
profileWrapperMock.Setup(x =>
|
||||||
x.GetValue(DriverId, "Parked Azimuth", string.Empty, ParkedAzimuthDefault))
|
x.GetValue(DriverId, "Parked Azimuth", string.Empty, ParkedAzimuthDefault))
|
||||||
.Returns(() => ParkedAzimuthDefault);
|
.Returns(() => ParkedAzimuthDefault);
|
||||||
|
profileWrapperMock.Setup(x =>
|
||||||
|
x.GetValue(DriverId, "Focal Length (mm)", string.Empty, FocalLengthDefault))
|
||||||
|
.Returns(() => FocalLengthDefault);
|
||||||
|
|
||||||
|
profileWrapperMock.Setup(x =>
|
||||||
|
x.GetValue(DriverId, "Aperture Area (mm²)", string.Empty, ApertureAreaDefault))
|
||||||
|
.Returns(() => ApertureAreaDefault);
|
||||||
|
|
||||||
|
profileWrapperMock.Setup(x =>
|
||||||
|
x.GetValue(DriverId, "Aperture Diameter (mm)", string.Empty, ApertureDiameterDefault))
|
||||||
|
.Returns(() => ApertureDiameterDefault);
|
||||||
|
|
||||||
|
|
||||||
Mock<IProfileFactory> profileFactoryMock = new Mock<IProfileFactory>();
|
Mock<IProfileFactory> profileFactoryMock = new Mock<IProfileFactory>();
|
||||||
profileFactoryMock.Setup(x => x.Create()).Returns(profileWrapperMock.Object);
|
profileFactoryMock.Setup(x => x.Create()).Returns(profileWrapperMock.Object);
|
||||||
@@ -347,7 +378,7 @@ namespace Meade.net.UnitTests
|
|||||||
|
|
||||||
_serialMock.Setup(x => x.Transmit("#:GVP#")).Callback(() => { serialPortReturn = ":GVP#"; });
|
_serialMock.Setup(x => x.Transmit("#:GVP#")).Callback(() => { serialPortReturn = ":GVP#"; });
|
||||||
_serialMock.Setup(x => x.Transmit("#:GG#")).Callback(() => { serialPortReturn = "0"; });
|
_serialMock.Setup(x => x.Transmit("#:GG#")).Callback(() => { serialPortReturn = "0"; });
|
||||||
_serialMock.Setup(x => x.ReceiveTerminated("#")).Returns( () => serialPortReturn);
|
_serialMock.Setup(x => x.ReceiveTerminated("#")).Returns(() => serialPortReturn);
|
||||||
|
|
||||||
var result = Assert.Throws<Exception>(() => { SharedResources.Connect(deviceId, string.Empty, _traceLoggerMock.Object); });
|
var result = Assert.Throws<Exception>(() => { SharedResources.Connect(deviceId, string.Empty, _traceLoggerMock.Object); });
|
||||||
Assert.That(result.Message, Is.EqualTo("Serial port is looping back data, something is wrong with the hardware."));
|
Assert.That(result.Message, Is.EqualTo("Serial port is looping back data, something is wrong with the hardware."));
|
||||||
@@ -375,6 +406,9 @@ namespace Meade.net.UnitTests
|
|||||||
string ParkedBehaviourDefault = "No Coordinates";
|
string ParkedBehaviourDefault = "No Coordinates";
|
||||||
string ParkedAltDefault = "0";
|
string ParkedAltDefault = "0";
|
||||||
string ParkedAzimuthDefault = "180";
|
string ParkedAzimuthDefault = "180";
|
||||||
|
string FocalLengthDefault = "2000";
|
||||||
|
string ApertureAreaDefault = "32685";
|
||||||
|
string ApertureDiameterDefault = "203";
|
||||||
|
|
||||||
Mock<IProfileWrapper> profileWrapperMock = new Mock<IProfileWrapper>();
|
Mock<IProfileWrapper> profileWrapperMock = new Mock<IProfileWrapper>();
|
||||||
profileWrapperMock.SetupAllProperties();
|
profileWrapperMock.SetupAllProperties();
|
||||||
@@ -416,6 +450,15 @@ namespace Meade.net.UnitTests
|
|||||||
profileWrapperMock.Setup(x =>
|
profileWrapperMock.Setup(x =>
|
||||||
x.GetValue(DriverId, "Parked Azimuth", string.Empty, ParkedAzimuthDefault))
|
x.GetValue(DriverId, "Parked Azimuth", string.Empty, ParkedAzimuthDefault))
|
||||||
.Returns(() => ParkedAzimuthDefault);
|
.Returns(() => ParkedAzimuthDefault);
|
||||||
|
profileWrapperMock.Setup(x =>
|
||||||
|
x.GetValue(DriverId, "Focal Length (mm)", string.Empty, FocalLengthDefault))
|
||||||
|
.Returns(() => FocalLengthDefault);
|
||||||
|
profileWrapperMock.Setup(x =>
|
||||||
|
x.GetValue(DriverId, "Aperture Area (mm²)", string.Empty, ApertureAreaDefault))
|
||||||
|
.Returns(() => ApertureAreaDefault);
|
||||||
|
profileWrapperMock.Setup(x =>
|
||||||
|
x.GetValue(DriverId, "Aperture Diameter (mm)", string.Empty, ApertureDiameterDefault))
|
||||||
|
.Returns(() => ApertureDiameterDefault);
|
||||||
|
|
||||||
Mock<IProfileFactory> profileFactoryMock = new Mock<IProfileFactory>();
|
Mock<IProfileFactory> profileFactoryMock = new Mock<IProfileFactory>();
|
||||||
profileFactoryMock.Setup(x => x.Create()).Returns(profileWrapperMock.Object);
|
profileFactoryMock.Setup(x => x.Create()).Returns(profileWrapperMock.Object);
|
||||||
@@ -445,6 +488,109 @@ namespace Meade.net.UnitTests
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
[Test]
|
||||||
|
public void Connect_WhenDeviceIdIsSerialGVPGVTPartiallySupported_ThenConnectsAndSetsProductToLXD600()
|
||||||
|
{
|
||||||
|
string deviceId = "Serial";
|
||||||
|
string DriverId = "ASCOM.MeadeGeneric.Telescope";
|
||||||
|
|
||||||
|
string TraceStateDefault = "false";
|
||||||
|
|
||||||
|
string ComPortDefault = "COM1";
|
||||||
|
string SpeedDefault = "9600";
|
||||||
|
string DataBitsDefault = "8";
|
||||||
|
string StopBitsDefault = "One";
|
||||||
|
string HandshakeDefault = "None";
|
||||||
|
string ParityDefault = "None";
|
||||||
|
string RtsDtrEnabledDefault = "false";
|
||||||
|
|
||||||
|
string GuideRateProfileNameDefault = "10.077939"; //67% of sidereal rate
|
||||||
|
string PrecisionDefault = "Unchanged";
|
||||||
|
|
||||||
|
string ParkedBehaviourDefault = "No Coordinates";
|
||||||
|
string ParkedAltDefault = "0";
|
||||||
|
string ParkedAzimuthDefault = "180";
|
||||||
|
string FocalLengthDefault = "2000";
|
||||||
|
string ApertureAreaDefault = "32685";
|
||||||
|
string ApertureDiameterDefault = "203";
|
||||||
|
|
||||||
|
Mock<IProfileWrapper> profileWrapperMock = new Mock<IProfileWrapper>();
|
||||||
|
profileWrapperMock.SetupAllProperties();
|
||||||
|
|
||||||
|
profileWrapperMock.Setup(x => x.GetValue(DriverId, "Trace Level", string.Empty, TraceStateDefault))
|
||||||
|
.Returns(TraceStateDefault);
|
||||||
|
profileWrapperMock.Setup(x => x.GetValue(DriverId, "COM Port", string.Empty, ComPortDefault))
|
||||||
|
.Returns(ComPortDefault);
|
||||||
|
profileWrapperMock
|
||||||
|
.Setup(x => x.GetValue(DriverId, "Guide Rate Arc Seconds Per Second", string.Empty,
|
||||||
|
GuideRateProfileNameDefault)).Returns(GuideRateProfileNameDefault);
|
||||||
|
profileWrapperMock.Setup(x => x.GetValue(DriverId, "Precision", string.Empty, PrecisionDefault))
|
||||||
|
.Returns(PrecisionDefault);
|
||||||
|
profileWrapperMock.Setup(x =>
|
||||||
|
x.GetValue(DriverId, "Speed", string.Empty, SpeedDefault))
|
||||||
|
.Returns(() => SpeedDefault);
|
||||||
|
profileWrapperMock.Setup(x =>
|
||||||
|
x.GetValue(DriverId, "Data Bits", string.Empty, DataBitsDefault))
|
||||||
|
.Returns(() => DataBitsDefault);
|
||||||
|
profileWrapperMock.Setup(x =>
|
||||||
|
x.GetValue(DriverId, "Stop Bits", string.Empty, StopBitsDefault))
|
||||||
|
.Returns(() => StopBitsDefault);
|
||||||
|
profileWrapperMock.Setup(x =>
|
||||||
|
x.GetValue(DriverId, "Hand Shake", string.Empty, HandshakeDefault))
|
||||||
|
.Returns(() => HandshakeDefault);
|
||||||
|
profileWrapperMock.Setup(x =>
|
||||||
|
x.GetValue(DriverId, "Parity", string.Empty, ParityDefault))
|
||||||
|
.Returns(() => ParityDefault);
|
||||||
|
profileWrapperMock.Setup(x =>
|
||||||
|
x.GetValue(DriverId, "Rts / Dtr", string.Empty, RtsDtrEnabledDefault))
|
||||||
|
.Returns(() => RtsDtrEnabledDefault);
|
||||||
|
|
||||||
|
profileWrapperMock.Setup(x =>
|
||||||
|
x.GetValue(DriverId, "Parked Behaviour", string.Empty, ParkedBehaviourDefault))
|
||||||
|
.Returns(() => ParityDefault);
|
||||||
|
profileWrapperMock.Setup(x =>
|
||||||
|
x.GetValue(DriverId, "Parked Altitude", string.Empty, ParkedAltDefault))
|
||||||
|
.Returns(() => ParkedAltDefault);
|
||||||
|
profileWrapperMock.Setup(x =>
|
||||||
|
x.GetValue(DriverId, "Parked Azimuth", string.Empty, ParkedAzimuthDefault))
|
||||||
|
.Returns(() => ParkedAzimuthDefault);
|
||||||
|
profileWrapperMock.Setup(x =>
|
||||||
|
x.GetValue(DriverId, "Focal Length (mm)", string.Empty, FocalLengthDefault))
|
||||||
|
.Returns(() => FocalLengthDefault);
|
||||||
|
profileWrapperMock.Setup(x =>
|
||||||
|
x.GetValue(DriverId, "Aperture Area (mm²)", string.Empty, ApertureAreaDefault))
|
||||||
|
.Returns(() => ApertureAreaDefault);
|
||||||
|
profileWrapperMock.Setup(x =>
|
||||||
|
x.GetValue(DriverId, "Aperture Diameter (mm)", string.Empty, ApertureDiameterDefault))
|
||||||
|
.Returns(() => ApertureDiameterDefault);
|
||||||
|
|
||||||
|
Mock<IProfileFactory> profileFactoryMock = new Mock<IProfileFactory>();
|
||||||
|
profileFactoryMock.Setup(x => x.Create()).Returns(profileWrapperMock.Object);
|
||||||
|
|
||||||
|
SharedResources.ProfileFactory = profileFactoryMock.Object;
|
||||||
|
|
||||||
|
string serialPortReturn = string.Empty;
|
||||||
|
string productNameAndFirmwareVersion = TelescopeList.LXD600_6_12S;
|
||||||
|
|
||||||
|
_serialMock.Setup(x => x.Transmit("#:GVP#")).Callback(() => { serialPortReturn = productNameAndFirmwareVersion; });
|
||||||
|
_serialMock.Setup(x => x.Transmit("#:GVN#")).Callback(() => { serialPortReturn = productNameAndFirmwareVersion; });
|
||||||
|
|
||||||
|
_serialMock.Setup(x => x.Transmit("#:GG#")).Callback(() => { serialPortReturn = "0"; });
|
||||||
|
_serialMock.Setup(x => x.ReceiveTerminated("#")).Returns(() => serialPortReturn);
|
||||||
|
|
||||||
|
var connectionResult = SharedResources.Connect(deviceId, string.Empty, _traceLoggerMock.Object);
|
||||||
|
try
|
||||||
|
{
|
||||||
|
Assert.That(connectionResult.SameDevice, Is.EqualTo(1));
|
||||||
|
Assert.That(SharedResources.ProductName, Is.EqualTo(TelescopeList.LXD600));
|
||||||
|
Assert.That(SharedResources.FirmwareVersion, Is.EqualTo(productNameAndFirmwareVersion));
|
||||||
|
}
|
||||||
|
finally
|
||||||
|
{
|
||||||
|
SharedResources.Disconnect(deviceId, String.Empty);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
[Test]
|
[Test]
|
||||||
public void Connect_WhenDeviceIdIsSerialButGVPIsAutostar_ThenConnectsAndSetsProductToAutostarAndFirmware()
|
public void Connect_WhenDeviceIdIsSerialButGVPIsAutostar_ThenConnectsAndSetsProductToAutostarAndFirmware()
|
||||||
{
|
{
|
||||||
@@ -468,6 +614,9 @@ namespace Meade.net.UnitTests
|
|||||||
string ParkedBehaviourDefault = "No Coordinates";
|
string ParkedBehaviourDefault = "No Coordinates";
|
||||||
string ParkedAltDefault = "0";
|
string ParkedAltDefault = "0";
|
||||||
string ParkedAzimuthDefault = "180";
|
string ParkedAzimuthDefault = "180";
|
||||||
|
string FocalLengthDefault = "2000";
|
||||||
|
string ApertureAreaDefault = "32685";
|
||||||
|
string ApertureDiameterDefault = "203";
|
||||||
|
|
||||||
Mock<IProfileWrapper> profileWrapperMock = new Mock<IProfileWrapper>();
|
Mock<IProfileWrapper> profileWrapperMock = new Mock<IProfileWrapper>();
|
||||||
profileWrapperMock.SetupAllProperties();
|
profileWrapperMock.SetupAllProperties();
|
||||||
@@ -509,6 +658,15 @@ namespace Meade.net.UnitTests
|
|||||||
profileWrapperMock.Setup(x =>
|
profileWrapperMock.Setup(x =>
|
||||||
x.GetValue(DriverId, "Parked Azimuth", string.Empty, ParkedAzimuthDefault))
|
x.GetValue(DriverId, "Parked Azimuth", string.Empty, ParkedAzimuthDefault))
|
||||||
.Returns(() => ParkedAzimuthDefault);
|
.Returns(() => ParkedAzimuthDefault);
|
||||||
|
profileWrapperMock.Setup(x =>
|
||||||
|
x.GetValue(DriverId, "Focal Length (mm)", string.Empty, FocalLengthDefault))
|
||||||
|
.Returns(() => FocalLengthDefault);
|
||||||
|
profileWrapperMock.Setup(x =>
|
||||||
|
x.GetValue(DriverId, "Aperture Area (mm²)", string.Empty, ApertureAreaDefault))
|
||||||
|
.Returns(() => ApertureAreaDefault);
|
||||||
|
profileWrapperMock.Setup(x =>
|
||||||
|
x.GetValue(DriverId, "Aperture Diameter (mm)", string.Empty, ApertureDiameterDefault))
|
||||||
|
.Returns(() => ApertureDiameterDefault);
|
||||||
|
|
||||||
Mock<IProfileFactory> profileFactoryMock = new Mock<IProfileFactory>();
|
Mock<IProfileFactory> profileFactoryMock = new Mock<IProfileFactory>();
|
||||||
profileFactoryMock.Setup(x => x.Create()).Returns(profileWrapperMock.Object);
|
profileFactoryMock.Setup(x => x.Create()).Returns(profileWrapperMock.Object);
|
||||||
@@ -535,6 +693,349 @@ namespace Meade.net.UnitTests
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
[Test]
|
||||||
|
public void Connect_WhenSpeedIsFastAndAutostarSetToFast_ThenConnectsDirectlyAtFastSpeed()
|
||||||
|
{
|
||||||
|
string deviceId = "Serial";
|
||||||
|
|
||||||
|
string DriverId = "ASCOM.MeadeGeneric.Telescope";
|
||||||
|
|
||||||
|
string TraceStateDefault = "false";
|
||||||
|
|
||||||
|
string ComPortDefault = "COM1";
|
||||||
|
string SpeedDefault = "57600";
|
||||||
|
string DataBitsDefault = "8";
|
||||||
|
string StopBitsDefault = "One";
|
||||||
|
string HandshakeDefault = "None";
|
||||||
|
string ParityDefault = "None";
|
||||||
|
string RtsDtrEnabledDefault = "false";
|
||||||
|
|
||||||
|
string GuideRateProfileNameDefault = "10.077939"; //67% of sidereal rate
|
||||||
|
string PrecisionDefault = "Unchanged";
|
||||||
|
|
||||||
|
string ParkedBehaviourDefault = "No Coordinates";
|
||||||
|
string ParkedAltDefault = "0";
|
||||||
|
string ParkedAzimuthDefault = "180";
|
||||||
|
string FocalLengthDefault = "2000";
|
||||||
|
string ApertureAreaDefault = "32685";
|
||||||
|
string ApertureDiameterDefault = "203";
|
||||||
|
|
||||||
|
Mock<IProfileWrapper> profileWrapperMock = new Mock<IProfileWrapper>();
|
||||||
|
profileWrapperMock.SetupAllProperties();
|
||||||
|
|
||||||
|
profileWrapperMock.Setup(x => x.GetValue(DriverId, "Trace Level", string.Empty, TraceStateDefault))
|
||||||
|
.Returns(TraceStateDefault);
|
||||||
|
profileWrapperMock.Setup(x => x.GetValue(DriverId, "COM Port", string.Empty, ComPortDefault))
|
||||||
|
.Returns(ComPortDefault);
|
||||||
|
profileWrapperMock
|
||||||
|
.Setup(x => x.GetValue(DriverId, "Guide Rate Arc Seconds Per Second", string.Empty,
|
||||||
|
GuideRateProfileNameDefault)).Returns(GuideRateProfileNameDefault);
|
||||||
|
profileWrapperMock.Setup(x => x.GetValue(DriverId, "Precision", string.Empty, PrecisionDefault))
|
||||||
|
.Returns(PrecisionDefault);
|
||||||
|
profileWrapperMock.Setup(x =>
|
||||||
|
x.GetValue(DriverId, "Speed", string.Empty, SpeedDefault))
|
||||||
|
.Returns(() => SpeedDefault);
|
||||||
|
profileWrapperMock.Setup(x =>
|
||||||
|
x.GetValue(DriverId, "Data Bits", string.Empty, DataBitsDefault))
|
||||||
|
.Returns(() => DataBitsDefault);
|
||||||
|
profileWrapperMock.Setup(x =>
|
||||||
|
x.GetValue(DriverId, "Stop Bits", string.Empty, StopBitsDefault))
|
||||||
|
.Returns(() => StopBitsDefault);
|
||||||
|
profileWrapperMock.Setup(x =>
|
||||||
|
x.GetValue(DriverId, "Hand Shake", string.Empty, HandshakeDefault))
|
||||||
|
.Returns(() => HandshakeDefault);
|
||||||
|
profileWrapperMock.Setup(x =>
|
||||||
|
x.GetValue(DriverId, "Parity", string.Empty, ParityDefault))
|
||||||
|
.Returns(() => ParityDefault);
|
||||||
|
profileWrapperMock.Setup(x =>
|
||||||
|
x.GetValue(DriverId, "Rts / Dtr", string.Empty, RtsDtrEnabledDefault))
|
||||||
|
.Returns(() => RtsDtrEnabledDefault);
|
||||||
|
|
||||||
|
profileWrapperMock.Setup(x =>
|
||||||
|
x.GetValue(DriverId, "Parked Behaviour", string.Empty, ParkedBehaviourDefault))
|
||||||
|
.Returns(() => ParityDefault);
|
||||||
|
profileWrapperMock.Setup(x =>
|
||||||
|
x.GetValue(DriverId, "Parked Altitude", string.Empty, ParkedAltDefault))
|
||||||
|
.Returns(() => ParkedAltDefault);
|
||||||
|
profileWrapperMock.Setup(x =>
|
||||||
|
x.GetValue(DriverId, "Parked Azimuth", string.Empty, ParkedAzimuthDefault))
|
||||||
|
.Returns(() => ParkedAzimuthDefault);
|
||||||
|
profileWrapperMock.Setup(x =>
|
||||||
|
x.GetValue(DriverId, "Focal Length (mm)", string.Empty, FocalLengthDefault))
|
||||||
|
.Returns(() => FocalLengthDefault);
|
||||||
|
profileWrapperMock.Setup(x =>
|
||||||
|
x.GetValue(DriverId, "Aperture Area (mm²)", string.Empty, ApertureAreaDefault))
|
||||||
|
.Returns(() => ApertureAreaDefault);
|
||||||
|
profileWrapperMock.Setup(x =>
|
||||||
|
x.GetValue(DriverId, "Aperture Diameter (mm)", string.Empty, ApertureDiameterDefault))
|
||||||
|
.Returns(() => ApertureDiameterDefault);
|
||||||
|
|
||||||
|
Mock<IProfileFactory> profileFactoryMock = new Mock<IProfileFactory>();
|
||||||
|
profileFactoryMock.Setup(x => x.Create()).Returns(profileWrapperMock.Object);
|
||||||
|
|
||||||
|
SharedResources.ProfileFactory = profileFactoryMock.Object;
|
||||||
|
|
||||||
|
string serialPortReturn = string.Empty;
|
||||||
|
|
||||||
|
_serialMock.Setup(x => x.Transmit("#:GVP#")).Callback(() => { serialPortReturn = TelescopeList.LX200GPS; });
|
||||||
|
_serialMock.Setup(x => x.Transmit("#:GVN#")).Callback(() => { serialPortReturn = TelescopeList.LX200GPS_42G; });
|
||||||
|
_serialMock.Setup(x => x.Transmit("#:GG#")).Callback(() => { serialPortReturn = "0"; });
|
||||||
|
_serialMock.Setup(x => x.ReceiveTerminated("#")).Returns(() => serialPortReturn);
|
||||||
|
|
||||||
|
var connectionResult = SharedResources.Connect(deviceId, string.Empty, _traceLoggerMock.Object);
|
||||||
|
try
|
||||||
|
{
|
||||||
|
Assert.That(connectionResult.SameDevice, Is.EqualTo(1));
|
||||||
|
Assert.That(SharedResources.ProductName, Is.EqualTo(TelescopeList.LX200GPS));
|
||||||
|
Assert.That(SharedResources.FirmwareVersion, Is.EqualTo(TelescopeList.LX200GPS_42G));
|
||||||
|
}
|
||||||
|
finally
|
||||||
|
{
|
||||||
|
SharedResources.Disconnect(deviceId, String.Empty);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
[TestCase(57600)]
|
||||||
|
[TestCase(38400)]
|
||||||
|
[TestCase(28800)]
|
||||||
|
[TestCase(19200)]
|
||||||
|
[TestCase(14400)]
|
||||||
|
[TestCase(4800)]
|
||||||
|
[TestCase(2400)]
|
||||||
|
[TestCase(1200)]
|
||||||
|
public void Connect_WhenSpeedIsFastAndAutostarAtDefault_ThenConnectsAutoStarSpeedChanged(int WantedSpeed)
|
||||||
|
{
|
||||||
|
string deviceId = "Serial";
|
||||||
|
|
||||||
|
string DriverId = "ASCOM.MeadeGeneric.Telescope";
|
||||||
|
|
||||||
|
string TraceStateDefault = "false";
|
||||||
|
|
||||||
|
string ComPortDefault = "COM1";
|
||||||
|
string SpeedDefault = "9600";
|
||||||
|
string DataBitsDefault = "8";
|
||||||
|
string StopBitsDefault = "One";
|
||||||
|
string HandshakeDefault = "None";
|
||||||
|
string ParityDefault = "None";
|
||||||
|
string RtsDtrEnabledDefault = "false";
|
||||||
|
|
||||||
|
string GuideRateProfileNameDefault = "10.077939"; //67% of sidereal rate
|
||||||
|
string PrecisionDefault = "Unchanged";
|
||||||
|
|
||||||
|
string ParkedBehaviourDefault = "No Coordinates";
|
||||||
|
string ParkedAltDefault = "0";
|
||||||
|
string ParkedAzimuthDefault = "180";
|
||||||
|
string FocalLengthDefault = "2000";
|
||||||
|
string ApertureAreaDefault = "32685";
|
||||||
|
string ApertureDiameterDefault = "203";
|
||||||
|
|
||||||
|
Mock<IProfileWrapper> profileWrapperMock = new Mock<IProfileWrapper>();
|
||||||
|
profileWrapperMock.SetupAllProperties();
|
||||||
|
|
||||||
|
profileWrapperMock.Setup(x => x.GetValue(DriverId, "Trace Level", string.Empty, TraceStateDefault))
|
||||||
|
.Returns(TraceStateDefault);
|
||||||
|
profileWrapperMock.Setup(x => x.GetValue(DriverId, "COM Port", string.Empty, ComPortDefault))
|
||||||
|
.Returns(ComPortDefault);
|
||||||
|
profileWrapperMock
|
||||||
|
.Setup(x => x.GetValue(DriverId, "Guide Rate Arc Seconds Per Second", string.Empty,
|
||||||
|
GuideRateProfileNameDefault)).Returns(GuideRateProfileNameDefault);
|
||||||
|
profileWrapperMock.Setup(x => x.GetValue(DriverId, "Precision", string.Empty, PrecisionDefault))
|
||||||
|
.Returns(PrecisionDefault);
|
||||||
|
profileWrapperMock.Setup(x =>
|
||||||
|
x.GetValueInt(DriverId, "Speed", string.Empty, SpeedDefault))
|
||||||
|
.Returns(() => WantedSpeed);
|
||||||
|
profileWrapperMock.Setup(x =>
|
||||||
|
x.GetValue(DriverId, "Data Bits", string.Empty, DataBitsDefault))
|
||||||
|
.Returns(() => DataBitsDefault);
|
||||||
|
profileWrapperMock.Setup(x =>
|
||||||
|
x.GetValue(DriverId, "Stop Bits", string.Empty, StopBitsDefault))
|
||||||
|
.Returns(() => StopBitsDefault);
|
||||||
|
profileWrapperMock.Setup(x =>
|
||||||
|
x.GetValue(DriverId, "Hand Shake", string.Empty, HandshakeDefault))
|
||||||
|
.Returns(() => HandshakeDefault);
|
||||||
|
profileWrapperMock.Setup(x =>
|
||||||
|
x.GetValue(DriverId, "Parity", string.Empty, ParityDefault))
|
||||||
|
.Returns(() => ParityDefault);
|
||||||
|
profileWrapperMock.Setup(x =>
|
||||||
|
x.GetValue(DriverId, "Rts / Dtr", string.Empty, RtsDtrEnabledDefault))
|
||||||
|
.Returns(() => RtsDtrEnabledDefault);
|
||||||
|
|
||||||
|
profileWrapperMock.Setup(x =>
|
||||||
|
x.GetValue(DriverId, "Parked Behaviour", string.Empty, ParkedBehaviourDefault))
|
||||||
|
.Returns(() => ParityDefault);
|
||||||
|
profileWrapperMock.Setup(x =>
|
||||||
|
x.GetValue(DriverId, "Parked Altitude", string.Empty, ParkedAltDefault))
|
||||||
|
.Returns(() => ParkedAltDefault);
|
||||||
|
profileWrapperMock.Setup(x =>
|
||||||
|
x.GetValue(DriverId, "Parked Azimuth", string.Empty, ParkedAzimuthDefault))
|
||||||
|
.Returns(() => ParkedAzimuthDefault);
|
||||||
|
profileWrapperMock.Setup(x =>
|
||||||
|
x.GetValue(DriverId, "Focal Length (mm)", string.Empty, FocalLengthDefault))
|
||||||
|
.Returns(() => FocalLengthDefault);
|
||||||
|
profileWrapperMock.Setup(x =>
|
||||||
|
x.GetValue(DriverId, "Aperture Area (mm²)", string.Empty, ApertureAreaDefault))
|
||||||
|
.Returns(() => ApertureAreaDefault);
|
||||||
|
profileWrapperMock.Setup(x =>
|
||||||
|
x.GetValue(DriverId, "Aperture Diameter (mm)", string.Empty, ApertureDiameterDefault))
|
||||||
|
.Returns(() => ApertureDiameterDefault);
|
||||||
|
|
||||||
|
Mock<IProfileFactory> profileFactoryMock = new Mock<IProfileFactory>();
|
||||||
|
profileFactoryMock.Setup(x => x.Create()).Returns(profileWrapperMock.Object);
|
||||||
|
|
||||||
|
SharedResources.ProfileFactory = profileFactoryMock.Object;
|
||||||
|
|
||||||
|
string serialPortReturn = string.Empty;
|
||||||
|
|
||||||
|
_serialMock.Setup(x => x.Transmit("#:GVP#")).Callback(() => { serialPortReturn = TelescopeList.LX200GPS; });
|
||||||
|
_serialMock.Setup(x => x.Transmit("#:GVN#")).Callback(() => { serialPortReturn = TelescopeList.LX200GPS_42G; });
|
||||||
|
_serialMock.Setup(x => x.Transmit("#:SB1#")).Callback(() => { serialPortReturn = "1"; });
|
||||||
|
|
||||||
|
var ggCall = 0;
|
||||||
|
|
||||||
|
_serialMock.Setup(x => x.Transmit("#:GG#")).Callback(() => {
|
||||||
|
ggCall++;
|
||||||
|
if (ggCall == 1)
|
||||||
|
throw new Exception("Fake Timeout");
|
||||||
|
else
|
||||||
|
serialPortReturn = "0"; });
|
||||||
|
_serialMock.Setup(x => x.ReceiveTerminated("#")).Returns(() => serialPortReturn);
|
||||||
|
_serialMock.Setup(x => x.ReceiveCounted(1)).Returns(() => "1");
|
||||||
|
|
||||||
|
var connectionResult = SharedResources.Connect(deviceId, string.Empty, _traceLoggerMock.Object);
|
||||||
|
try
|
||||||
|
{
|
||||||
|
Assert.That(SharedResources.ProductName, Is.EqualTo(TelescopeList.LX200GPS));
|
||||||
|
Assert.That(SharedResources.FirmwareVersion, Is.EqualTo(TelescopeList.LX200GPS_42G));
|
||||||
|
|
||||||
|
_traceLoggerMock.Verify(x => x.LogIssue("Connect", $"Telescope serial port speed change, connecting at ps{WantedSpeed}."), Times.Once);
|
||||||
|
}
|
||||||
|
finally
|
||||||
|
{
|
||||||
|
SharedResources.Disconnect(deviceId, String.Empty);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
[TestCase(57600)]
|
||||||
|
[TestCase(38400)]
|
||||||
|
[TestCase(28800)]
|
||||||
|
[TestCase(19200)]
|
||||||
|
[TestCase(14400)]
|
||||||
|
[TestCase(4800)]
|
||||||
|
[TestCase(2400)]
|
||||||
|
[TestCase(1200)]
|
||||||
|
public void Connect_WhenAutostarReportsFailedToChangeSpeec_ThenConnectsAutoStarAtDefaultSpeed(int WantedSpeed)
|
||||||
|
{
|
||||||
|
string deviceId = "Serial";
|
||||||
|
|
||||||
|
string DriverId = "ASCOM.MeadeGeneric.Telescope";
|
||||||
|
|
||||||
|
string TraceStateDefault = "false";
|
||||||
|
|
||||||
|
string ComPortDefault = "COM1";
|
||||||
|
string SpeedDefault = "9600";
|
||||||
|
string DataBitsDefault = "8";
|
||||||
|
string StopBitsDefault = "One";
|
||||||
|
string HandshakeDefault = "None";
|
||||||
|
string ParityDefault = "None";
|
||||||
|
string RtsDtrEnabledDefault = "false";
|
||||||
|
|
||||||
|
string GuideRateProfileNameDefault = "10.077939"; //67% of sidereal rate
|
||||||
|
string PrecisionDefault = "Unchanged";
|
||||||
|
|
||||||
|
string ParkedBehaviourDefault = "No Coordinates";
|
||||||
|
string ParkedAltDefault = "0";
|
||||||
|
string ParkedAzimuthDefault = "180";
|
||||||
|
string FocalLengthDefault = "2000";
|
||||||
|
string ApertureAreaDefault = "32685";
|
||||||
|
string ApertureDiameterDefault = "203";
|
||||||
|
|
||||||
|
Mock<IProfileWrapper> profileWrapperMock = new Mock<IProfileWrapper>();
|
||||||
|
profileWrapperMock.SetupAllProperties();
|
||||||
|
|
||||||
|
profileWrapperMock.Setup(x => x.GetValue(DriverId, "Trace Level", string.Empty, TraceStateDefault))
|
||||||
|
.Returns(TraceStateDefault);
|
||||||
|
profileWrapperMock.Setup(x => x.GetValue(DriverId, "COM Port", string.Empty, ComPortDefault))
|
||||||
|
.Returns(ComPortDefault);
|
||||||
|
profileWrapperMock
|
||||||
|
.Setup(x => x.GetValue(DriverId, "Guide Rate Arc Seconds Per Second", string.Empty,
|
||||||
|
GuideRateProfileNameDefault)).Returns(GuideRateProfileNameDefault);
|
||||||
|
profileWrapperMock.Setup(x => x.GetValue(DriverId, "Precision", string.Empty, PrecisionDefault))
|
||||||
|
.Returns(PrecisionDefault);
|
||||||
|
profileWrapperMock.Setup(x =>
|
||||||
|
x.GetValueInt(DriverId, "Speed", string.Empty, SpeedDefault))
|
||||||
|
.Returns(() => WantedSpeed);
|
||||||
|
profileWrapperMock.Setup(x =>
|
||||||
|
x.GetValue(DriverId, "Data Bits", string.Empty, DataBitsDefault))
|
||||||
|
.Returns(() => DataBitsDefault);
|
||||||
|
profileWrapperMock.Setup(x =>
|
||||||
|
x.GetValue(DriverId, "Stop Bits", string.Empty, StopBitsDefault))
|
||||||
|
.Returns(() => StopBitsDefault);
|
||||||
|
profileWrapperMock.Setup(x =>
|
||||||
|
x.GetValue(DriverId, "Hand Shake", string.Empty, HandshakeDefault))
|
||||||
|
.Returns(() => HandshakeDefault);
|
||||||
|
profileWrapperMock.Setup(x =>
|
||||||
|
x.GetValue(DriverId, "Parity", string.Empty, ParityDefault))
|
||||||
|
.Returns(() => ParityDefault);
|
||||||
|
profileWrapperMock.Setup(x =>
|
||||||
|
x.GetValue(DriverId, "Rts / Dtr", string.Empty, RtsDtrEnabledDefault))
|
||||||
|
.Returns(() => RtsDtrEnabledDefault);
|
||||||
|
|
||||||
|
profileWrapperMock.Setup(x =>
|
||||||
|
x.GetValue(DriverId, "Parked Behaviour", string.Empty, ParkedBehaviourDefault))
|
||||||
|
.Returns(() => ParityDefault);
|
||||||
|
profileWrapperMock.Setup(x =>
|
||||||
|
x.GetValue(DriverId, "Parked Altitude", string.Empty, ParkedAltDefault))
|
||||||
|
.Returns(() => ParkedAltDefault);
|
||||||
|
profileWrapperMock.Setup(x =>
|
||||||
|
x.GetValue(DriverId, "Parked Azimuth", string.Empty, ParkedAzimuthDefault))
|
||||||
|
.Returns(() => ParkedAzimuthDefault);
|
||||||
|
profileWrapperMock.Setup(x =>
|
||||||
|
x.GetValue(DriverId, "Focal Length (mm)", string.Empty, FocalLengthDefault))
|
||||||
|
.Returns(() => FocalLengthDefault);
|
||||||
|
profileWrapperMock.Setup(x =>
|
||||||
|
x.GetValue(DriverId, "Aperture Area (mm²)", string.Empty, ApertureAreaDefault))
|
||||||
|
.Returns(() => ApertureAreaDefault);
|
||||||
|
profileWrapperMock.Setup(x =>
|
||||||
|
x.GetValue(DriverId, "Aperture Diameter (mm)", string.Empty, ApertureDiameterDefault))
|
||||||
|
.Returns(() => ApertureDiameterDefault);
|
||||||
|
|
||||||
|
Mock<IProfileFactory> profileFactoryMock = new Mock<IProfileFactory>();
|
||||||
|
profileFactoryMock.Setup(x => x.Create()).Returns(profileWrapperMock.Object);
|
||||||
|
|
||||||
|
SharedResources.ProfileFactory = profileFactoryMock.Object;
|
||||||
|
|
||||||
|
string serialPortReturn = string.Empty;
|
||||||
|
|
||||||
|
_serialMock.Setup(x => x.Transmit("#:GVP#")).Callback(() => { serialPortReturn = TelescopeList.LX200GPS; });
|
||||||
|
_serialMock.Setup(x => x.Transmit("#:GVN#")).Callback(() => { serialPortReturn = TelescopeList.LX200GPS_42G; });
|
||||||
|
_serialMock.Setup(x => x.Transmit("#:SB1#")).Callback(() => { serialPortReturn = "1"; });
|
||||||
|
|
||||||
|
var ggCall = 0;
|
||||||
|
|
||||||
|
_serialMock.Setup(x => x.Transmit("#:GG#")).Callback(() => {
|
||||||
|
ggCall++;
|
||||||
|
if (ggCall == 1)
|
||||||
|
throw new Exception("Fake Timeout");
|
||||||
|
else
|
||||||
|
serialPortReturn = "0";
|
||||||
|
});
|
||||||
|
_serialMock.Setup(x => x.ReceiveTerminated("#")).Returns(() => serialPortReturn);
|
||||||
|
_serialMock.Setup(x => x.ReceiveCounted(1)).Returns(() => "0");
|
||||||
|
|
||||||
|
var connectionResult = SharedResources.Connect(deviceId, string.Empty, _traceLoggerMock.Object);
|
||||||
|
try
|
||||||
|
{
|
||||||
|
Assert.That(SharedResources.ProductName, Is.EqualTo(TelescopeList.LX200GPS));
|
||||||
|
Assert.That(SharedResources.FirmwareVersion, Is.EqualTo(TelescopeList.LX200GPS_42G));
|
||||||
|
|
||||||
|
_traceLoggerMock.Verify(x => x.LogIssue("Connect", $"Telescope not responding to speed change, connecting at ps{SpeedDefault}."), Times.Once);
|
||||||
|
}
|
||||||
|
finally
|
||||||
|
{
|
||||||
|
SharedResources.Disconnect(deviceId, String.Empty);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
[Test]
|
[Test]
|
||||||
public void Connect_WhenSerialPortIsNotRespondingCorrectly_ThenExceptionThrown()
|
public void Connect_WhenSerialPortIsNotRespondingCorrectly_ThenExceptionThrown()
|
||||||
{
|
{
|
||||||
@@ -558,6 +1059,9 @@ namespace Meade.net.UnitTests
|
|||||||
string ParkedBehaviourDefault = "No Coordinates";
|
string ParkedBehaviourDefault = "No Coordinates";
|
||||||
string ParkedAltDefault = "0";
|
string ParkedAltDefault = "0";
|
||||||
string ParkedAzimuthDefault = "180";
|
string ParkedAzimuthDefault = "180";
|
||||||
|
string FocalLengthDefault = "2000";
|
||||||
|
string ApertureAreaDefault = "32685";
|
||||||
|
string ApertureDiameterDefault = "203";
|
||||||
|
|
||||||
Mock<IProfileWrapper> profileWrapperMock = new Mock<IProfileWrapper>();
|
Mock<IProfileWrapper> profileWrapperMock = new Mock<IProfileWrapper>();
|
||||||
profileWrapperMock.SetupAllProperties();
|
profileWrapperMock.SetupAllProperties();
|
||||||
@@ -598,6 +1102,15 @@ namespace Meade.net.UnitTests
|
|||||||
profileWrapperMock.Setup(x =>
|
profileWrapperMock.Setup(x =>
|
||||||
x.GetValue(DriverId, "Parked Azimuth", string.Empty, ParkedAzimuthDefault))
|
x.GetValue(DriverId, "Parked Azimuth", string.Empty, ParkedAzimuthDefault))
|
||||||
.Returns(() => ParkedAzimuthDefault);
|
.Returns(() => ParkedAzimuthDefault);
|
||||||
|
profileWrapperMock.Setup(x =>
|
||||||
|
x.GetValue(DriverId, "Focal Length (mm)", string.Empty, FocalLengthDefault))
|
||||||
|
.Returns(() => FocalLengthDefault);
|
||||||
|
profileWrapperMock.Setup(x =>
|
||||||
|
x.GetValue(DriverId, "Aperture Area (mm²)", string.Empty, ApertureAreaDefault))
|
||||||
|
.Returns(() => ApertureAreaDefault);
|
||||||
|
profileWrapperMock.Setup(x =>
|
||||||
|
x.GetValue(DriverId, "Aperture Diameter (mm)", string.Empty, ApertureDiameterDefault))
|
||||||
|
.Returns(() => ApertureDiameterDefault);
|
||||||
|
|
||||||
Mock<IProfileFactory> profileFactoryMock = new Mock<IProfileFactory>();
|
Mock<IProfileFactory> profileFactoryMock = new Mock<IProfileFactory>();
|
||||||
profileFactoryMock.Setup(x => x.Create()).Returns(profileWrapperMock.Object);
|
profileFactoryMock.Setup(x => x.Create()).Returns(profileWrapperMock.Object);
|
||||||
|
|||||||
@@ -8,7 +8,7 @@
|
|||||||
</dependentAssembly>
|
</dependentAssembly>
|
||||||
<dependentAssembly>
|
<dependentAssembly>
|
||||||
<assemblyIdentity name="System.Runtime.CompilerServices.Unsafe" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
|
<assemblyIdentity name="System.Runtime.CompilerServices.Unsafe" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
|
||||||
<bindingRedirect oldVersion="0.0.0.0-5.0.0.0" newVersion="5.0.0.0" />
|
<bindingRedirect oldVersion="0.0.0.0-7.0.0.0" newVersion="7.0.0.0" />
|
||||||
</dependentAssembly>
|
</dependentAssembly>
|
||||||
</assemblyBinding>
|
</assemblyBinding>
|
||||||
</runtime>
|
</runtime>
|
||||||
|
|||||||
@@ -1,11 +1,26 @@
|
|||||||
<?xml version="1.0" encoding="utf-8"?>
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
<packages>
|
<packages>
|
||||||
<package id="ASCOM.Platform" version="6.5.1" targetFramework="net472" />
|
<package id="ASCOM.Platform" version="6.5.2" targetFramework="net472" />
|
||||||
<package id="Castle.Core" version="4.4.1" targetFramework="net472" />
|
<package id="Castle.Core" version="5.1.0" targetFramework="net472" />
|
||||||
<package id="JetBrains.Annotations" version="2020.3.0" targetFramework="net472" />
|
<package id="JetBrains.Annotations" version="2022.3.1" targetFramework="net472" />
|
||||||
<package id="Moq" version="4.15.2" targetFramework="net472" />
|
<package id="Microsoft.ApplicationInsights" version="2.23.0" targetFramework="net472" />
|
||||||
<package id="NUnit" version="3.13.0" targetFramework="net472" />
|
<package id="Microsoft.Testing.Extensions.Telemetry" version="1.7.3" targetFramework="net472" />
|
||||||
<package id="NUnit.ConsoleRunner" version="3.12.0" targetFramework="net472" />
|
<package id="Microsoft.Testing.Extensions.TrxReport.Abstractions" version="1.7.3" targetFramework="net472" />
|
||||||
<package id="System.Runtime.CompilerServices.Unsafe" version="5.0.0" targetFramework="net472" />
|
<package id="Microsoft.Testing.Extensions.VSTestBridge" version="1.7.3" targetFramework="net472" />
|
||||||
|
<package id="Microsoft.Testing.Platform" version="1.7.3" targetFramework="net472" />
|
||||||
|
<package id="Microsoft.Testing.Platform.MSBuild" version="1.7.3" targetFramework="net472" />
|
||||||
|
<package id="Microsoft.TestPlatform.AdapterUtilities" version="17.13.0" targetFramework="net472" />
|
||||||
|
<package id="Microsoft.TestPlatform.ObjectModel" version="17.13.0" targetFramework="net472" />
|
||||||
|
<package id="Moq" version="4.18.2" targetFramework="net472" />
|
||||||
|
<package id="NUnit" version="3.13.3" targetFramework="net472" />
|
||||||
|
<package id="NUnit.ConsoleRunner" version="3.15.2" targetFramework="net472" />
|
||||||
|
<package id="NUnit3TestAdapter" version="5.1.0" targetFramework="net472" />
|
||||||
|
<package id="System.Buffers" version="4.5.1" targetFramework="net472" />
|
||||||
|
<package id="System.Collections.Immutable" version="1.5.0" targetFramework="net472" />
|
||||||
|
<package id="System.Diagnostics.DiagnosticSource" version="5.0.0" targetFramework="net472" />
|
||||||
|
<package id="System.Memory" version="4.5.4" targetFramework="net472" />
|
||||||
|
<package id="System.Numerics.Vectors" version="4.5.0" targetFramework="net472" />
|
||||||
|
<package id="System.Reflection.Metadata" version="1.6.0" targetFramework="net472" />
|
||||||
|
<package id="System.Runtime.CompilerServices.Unsafe" version="7.0.0-preview.2.22152.2" targetFramework="net472" />
|
||||||
<package id="System.Threading.Tasks.Extensions" version="4.5.4" targetFramework="net472" />
|
<package id="System.Threading.Tasks.Extensions" version="4.5.4" targetFramework="net472" />
|
||||||
</packages>
|
</packages>
|
||||||
@@ -57,11 +57,11 @@ namespace ASCOM.Meade.net
|
|||||||
Initialise(nameof(Focuser));
|
Initialise(nameof(Focuser));
|
||||||
}
|
}
|
||||||
|
|
||||||
public Focuser(IUtil util, ISharedResourcesWrapper sharedResourcesWrapper) : base(sharedResourcesWrapper)
|
public Focuser(IUtil util, ISharedResourcesWrapper sharedResourcesWrapper, ITraceLogger traceLogger) : base(sharedResourcesWrapper)
|
||||||
{
|
{
|
||||||
_utilities = util;
|
_utilities = util;
|
||||||
|
|
||||||
Initialise(nameof(Focuser));
|
Initialise(nameof(Focuser), traceLogger);
|
||||||
}
|
}
|
||||||
|
|
||||||
//
|
//
|
||||||
@@ -78,17 +78,17 @@ namespace ASCOM.Meade.net
|
|||||||
/// </summary>
|
/// </summary>
|
||||||
public void SetupDialog()
|
public void SetupDialog()
|
||||||
{
|
{
|
||||||
Tl.LogMessage("SetupDialog", "Opening setup dialog");
|
Tl.LogMessage("SetupDialog", "Opening setup dialog", false);
|
||||||
SharedResourcesWrapper.SetupDialog();
|
SharedResourcesWrapper.SetupDialog();
|
||||||
ReadProfile();
|
ReadProfile();
|
||||||
Tl.LogMessage("SetupDialog", "complete");
|
Tl.LogMessage("SetupDialog", "complete", false);
|
||||||
}
|
}
|
||||||
|
|
||||||
public ArrayList SupportedActions
|
public ArrayList SupportedActions
|
||||||
{
|
{
|
||||||
get
|
get
|
||||||
{
|
{
|
||||||
Tl.LogMessage("SupportedActions Get", "Returning empty arraylist");
|
Tl.LogMessage("SupportedActions Get", "Returning empty arraylist", false);
|
||||||
return new ArrayList();
|
return new ArrayList();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -105,7 +105,7 @@ namespace ASCOM.Meade.net
|
|||||||
CheckConnected("CommandBlind");
|
CheckConnected("CommandBlind");
|
||||||
// Call CommandString and return as soon as it finishes
|
// Call CommandString and return as soon as it finishes
|
||||||
//this.CommandString(command, raw);
|
//this.CommandString(command, raw);
|
||||||
SharedResourcesWrapper.SendBlind(command, raw);
|
SharedResourcesWrapper.SendBlind(Tl, command, raw);
|
||||||
// or
|
// or
|
||||||
//throw new ASCOM.MethodNotImplementedException("CommandBlind");
|
//throw new ASCOM.MethodNotImplementedException("CommandBlind");
|
||||||
// DO NOT have both these sections! One or the other
|
// DO NOT have both these sections! One or the other
|
||||||
@@ -116,7 +116,7 @@ namespace ASCOM.Meade.net
|
|||||||
{
|
{
|
||||||
LogMessage("CommandBool", "raw: {0} command {0}", raw, command);
|
LogMessage("CommandBool", "raw: {0} command {0}", raw, command);
|
||||||
CheckConnected("CommandBool");
|
CheckConnected("CommandBool");
|
||||||
var result = SharedResourcesWrapper.SendBool(command, raw);
|
var result = SharedResourcesWrapper.SendBool(Tl, command, raw);
|
||||||
LogMessage("CommandBool", "Completed: {0}", result);
|
LogMessage("CommandBool", "Completed: {0}", result);
|
||||||
return result;
|
return result;
|
||||||
// or
|
// or
|
||||||
@@ -131,7 +131,7 @@ namespace ASCOM.Meade.net
|
|||||||
// it's a good idea to put all the low level communication with the device here,
|
// it's a good idea to put all the low level communication with the device here,
|
||||||
// then all communication calls this function
|
// then all communication calls this function
|
||||||
// you need something to ensure that only one command is in progress at a time
|
// you need something to ensure that only one command is in progress at a time
|
||||||
var result = SharedResourcesWrapper.SendString(command, raw);
|
var result = SharedResourcesWrapper.SendString(Tl, command, raw);
|
||||||
LogMessage("CommandBool", "Completed: {0}", result);
|
LogMessage("CommandBool", "Completed: {0}", result);
|
||||||
return result;
|
return result;
|
||||||
//throw new ASCOM.MethodNotImplementedException("CommandString");
|
//throw new ASCOM.MethodNotImplementedException("CommandString");
|
||||||
@@ -141,8 +141,8 @@ namespace ASCOM.Meade.net
|
|||||||
{
|
{
|
||||||
// Clean up the tracelogger and util objects
|
// Clean up the tracelogger and util objects
|
||||||
Tl.Enabled = false;
|
Tl.Enabled = false;
|
||||||
Tl.Dispose();
|
//Tl.Dispose();
|
||||||
Tl = null;
|
//Tl = null;
|
||||||
}
|
}
|
||||||
|
|
||||||
public bool Connected
|
public bool Connected
|
||||||
@@ -176,12 +176,12 @@ namespace ASCOM.Meade.net
|
|||||||
}
|
}
|
||||||
catch (Exception ex)
|
catch (Exception ex)
|
||||||
{
|
{
|
||||||
LogMessage("Connected Set", "Error connecting to port {0} - {1}", ComPort, ex.Message);
|
LogMessage("Connected Set", "Error connecting to port {0} - {1}", _profileProperties.ComPort, ex.Message);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
LogMessage("Connected Set", "Disconnecting from port {0}", ComPort);
|
LogMessage("Connected Set", "Disconnecting from port {0}", _profileProperties.ComPort);
|
||||||
SharedResourcesWrapper.Disconnect("Serial", DriverId);
|
SharedResourcesWrapper.Disconnect("Serial", DriverId);
|
||||||
IsConnected = false;
|
IsConnected = false;
|
||||||
}
|
}
|
||||||
@@ -204,7 +204,7 @@ namespace ASCOM.Meade.net
|
|||||||
{
|
{
|
||||||
//string name = "Short driver name - please customise";
|
//string name = "Short driver name - please customise";
|
||||||
string name = DriverDescription;
|
string name = DriverDescription;
|
||||||
Tl.LogMessage("Name Get", name);
|
Tl.LogMessage("Name Get", name, false);
|
||||||
return name;
|
return name;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -219,20 +219,20 @@ namespace ASCOM.Meade.net
|
|||||||
{
|
{
|
||||||
CheckConnected("Absolute Get");
|
CheckConnected("Absolute Get");
|
||||||
|
|
||||||
Tl.LogMessage("Absolute Get", false.ToString());
|
Tl.LogMessage("Absolute Get", false.ToString(), false);
|
||||||
return false; // This is a relative focuser
|
return false; // This is a relative focuser
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public void Halt()
|
public void Halt()
|
||||||
{
|
{
|
||||||
Tl.LogMessage("Halt", "Halting");
|
Tl.LogMessage("Halt", "Halting", false);
|
||||||
|
|
||||||
CheckConnected("Halt");
|
CheckConnected("Halt");
|
||||||
|
|
||||||
//todo fix this issue: A single halt command is sometimes missed by the #909 apm, so let's do it a few times to be safe.
|
//todo fix this issue: A single halt command is sometimes missed by the #909 apm, so let's do it a few times to be safe.
|
||||||
|
|
||||||
SharedResourcesWrapper.SendBlind("FQ");
|
SharedResourcesWrapper.SendBlind(Tl, "FQ");
|
||||||
//:FQ# Halt Focuser Motion
|
//:FQ# Halt Focuser Motion
|
||||||
//Returns: Nothing
|
//Returns: Nothing
|
||||||
}
|
}
|
||||||
@@ -241,7 +241,7 @@ namespace ASCOM.Meade.net
|
|||||||
{
|
{
|
||||||
get
|
get
|
||||||
{
|
{
|
||||||
Tl.LogMessage("IsMoving Get", false.ToString());
|
Tl.LogMessage("IsMoving Get", false.ToString(), false);
|
||||||
return false; // This focuser always moves instantaneously so no need for IsMoving ever to be True
|
return false; // This focuser always moves instantaneously so no need for IsMoving ever to be True
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -250,40 +250,40 @@ namespace ASCOM.Meade.net
|
|||||||
{
|
{
|
||||||
get
|
get
|
||||||
{
|
{
|
||||||
Tl.LogMessage("Link Get", Connected.ToString());
|
Tl.LogMessage("Link Get", Connected.ToString(), false);
|
||||||
return Connected; // Direct function to the connected method, the Link method is just here for backwards compatibility
|
return Connected; // Direct function to the connected method, the Link method is just here for backwards compatibility
|
||||||
}
|
}
|
||||||
set
|
set
|
||||||
{
|
{
|
||||||
Tl.LogMessage("Link Set", value.ToString());
|
Tl.LogMessage("Link Set", value.ToString(), false);
|
||||||
Connected = value; // Direct function to the connected method, the Link method is just here for backwards compatibility
|
Connected = value; // Direct function to the connected method, the Link method is just here for backwards compatibility
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private readonly int _maxIncrement = 7000;
|
private readonly int _maxIncrement = 30000;
|
||||||
public int MaxIncrement
|
public int MaxIncrement
|
||||||
{
|
{
|
||||||
get
|
get
|
||||||
{
|
{
|
||||||
Tl.LogMessage("MaxIncrement Get", _maxIncrement.ToString());
|
Tl.LogMessage("MaxIncrement Get", _maxIncrement.ToString(), false);
|
||||||
return _maxIncrement; // Maximum change in one move
|
return _maxIncrement; // Maximum change in one move
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private readonly int _maxStep = 7000;
|
private readonly int _maxStep = 30000;
|
||||||
|
|
||||||
public int MaxStep
|
public int MaxStep
|
||||||
{
|
{
|
||||||
get
|
get
|
||||||
{
|
{
|
||||||
Tl.LogMessage("MaxStep Get", _maxStep.ToString());
|
Tl.LogMessage("MaxStep Get", _maxStep.ToString(), false);
|
||||||
return _maxStep;
|
return _maxStep;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public void Move(int position)
|
public void Move(int position)
|
||||||
{
|
{
|
||||||
Tl.LogMessage("Move", position.ToString());
|
Tl.LogMessage("Move", position.ToString(), false);
|
||||||
CheckConnected("Move");
|
CheckConnected("Move");
|
||||||
|
|
||||||
if (position < -MaxIncrement || position > MaxIncrement)
|
if (position < -MaxIncrement || position > MaxIncrement)
|
||||||
@@ -295,40 +295,37 @@ namespace ASCOM.Meade.net
|
|||||||
return;
|
return;
|
||||||
|
|
||||||
var direction = position > 0;
|
var direction = position > 0;
|
||||||
if (ReverseFocusDirection)
|
if (_profileProperties.ReverseFocusDirection)
|
||||||
direction = !direction;
|
direction = !direction;
|
||||||
|
|
||||||
|
//backlash compensation.
|
||||||
|
var backlashCompensationSteps = direction ? Math.Abs(_profileProperties.BacklashCompensation) : 0;
|
||||||
|
|
||||||
SharedResourcesWrapper.Lock(() =>
|
var steps = Math.Abs(position) + backlashCompensationSteps;
|
||||||
|
|
||||||
|
|
||||||
|
MoveFocuser(direction, steps);
|
||||||
|
|
||||||
|
|
||||||
|
//todo refactor the backlash compensation to combine the commands into as few moves as practicle.
|
||||||
|
//ApplyBacklashCompensation(direction);
|
||||||
|
if (direction & backlashCompensationSteps != 0)
|
||||||
{
|
{
|
||||||
//backlash compensation.
|
Tl.LogMessage("Move", "Applying backlash compensation", false);
|
||||||
var backlashCompensationSteps = direction ? Math.Abs(BacklashCompensation) : 0;
|
MoveFocuser(!direction, backlashCompensationSteps);
|
||||||
|
}
|
||||||
|
|
||||||
var steps = Math.Abs(position) + backlashCompensationSteps;
|
DynamicBreaking(direction);
|
||||||
|
//todo implement dynamic braking
|
||||||
|
//dynamic breaking is sending the command to move in the opposite direction immediatly followed by the command to stop.
|
||||||
MoveFocuser(direction, steps);
|
|
||||||
|
|
||||||
|
|
||||||
//todo refactor the backlash compensation to combine the commands into as few moves as practicle.
|
|
||||||
//ApplyBacklashCompensation(direction);
|
|
||||||
if (direction & backlashCompensationSteps != 0)
|
|
||||||
{
|
|
||||||
Tl.LogMessage("Move", "Applying backlash compensation");
|
|
||||||
MoveFocuser(!direction, backlashCompensationSteps);
|
|
||||||
}
|
|
||||||
|
|
||||||
DynamicBreaking(direction);
|
|
||||||
//todo implement dynamic braking
|
|
||||||
//dynamic breaking is sending the command to move in the opposite direction immediatly followed by the command to stop.
|
|
||||||
});
|
|
||||||
}
|
}
|
||||||
|
|
||||||
private void DynamicBreaking(bool directionOut)
|
private void DynamicBreaking(bool directionOut)
|
||||||
{
|
{
|
||||||
if (!UseDynamicBreaking)
|
if (!_profileProperties.DynamicBreaking)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
Tl.LogMessage("Move", "Applying dynamic breaking");
|
Tl.LogMessage("Move", "Applying dynamic breaking", false);
|
||||||
|
|
||||||
PerformFocuserMove(directionOut);
|
PerformFocuserMove(directionOut);
|
||||||
Halt();
|
Halt();
|
||||||
@@ -357,7 +354,7 @@ namespace ASCOM.Meade.net
|
|||||||
|
|
||||||
private void PerformFocuserMove(bool directionOut)
|
private void PerformFocuserMove(bool directionOut)
|
||||||
{
|
{
|
||||||
SharedResourcesWrapper.SendBlind(directionOut ? "F+" : "F-");
|
SharedResourcesWrapper.SendBlind(Tl, directionOut ? "F+" : "F-");
|
||||||
//:F+# Start Focuser moving inward (toward objective)
|
//:F+# Start Focuser moving inward (toward objective)
|
||||||
//Returns: None
|
//Returns: None
|
||||||
|
|
||||||
@@ -371,7 +368,7 @@ namespace ASCOM.Meade.net
|
|||||||
{
|
{
|
||||||
get
|
get
|
||||||
{
|
{
|
||||||
Tl.LogMessage("StepSize Get", "Not implemented");
|
Tl.LogMessage("StepSize Get", "Not implemented", false);
|
||||||
throw new PropertyNotImplementedException("StepSize", false);
|
throw new PropertyNotImplementedException("StepSize", false);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -380,13 +377,13 @@ namespace ASCOM.Meade.net
|
|||||||
{
|
{
|
||||||
get
|
get
|
||||||
{
|
{
|
||||||
Tl.LogMessage("TempComp Get", false.ToString());
|
Tl.LogMessage("TempComp Get", false.ToString(), false);
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
// ReSharper disable once ValueParameterNotUsed
|
// ReSharper disable once ValueParameterNotUsed
|
||||||
set
|
set
|
||||||
{
|
{
|
||||||
Tl.LogMessage("TempComp Set", "Not implemented");
|
Tl.LogMessage("TempComp Set", "Not implemented", false);
|
||||||
throw new PropertyNotImplementedException("TempComp", false);
|
throw new PropertyNotImplementedException("TempComp", false);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -395,7 +392,7 @@ namespace ASCOM.Meade.net
|
|||||||
{
|
{
|
||||||
get
|
get
|
||||||
{
|
{
|
||||||
Tl.LogMessage("TempCompAvailable Get", false.ToString());
|
Tl.LogMessage("TempCompAvailable Get", false.ToString(), false);
|
||||||
return false; // Temperature compensation is not available in this driver
|
return false; // Temperature compensation is not available in this driver
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -404,7 +401,7 @@ namespace ASCOM.Meade.net
|
|||||||
{
|
{
|
||||||
get
|
get
|
||||||
{
|
{
|
||||||
Tl.LogMessage("Temperature Get", "Not implemented");
|
Tl.LogMessage("Temperature Get", "Not implemented", false);
|
||||||
throw new PropertyNotImplementedException("Temperature", false);
|
throw new PropertyNotImplementedException("Temperature", false);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -83,40 +83,40 @@
|
|||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<Reference Include="ASCOM.Astrometry, Version=6.0.0.0, Culture=neutral, PublicKeyToken=565de7938946fba7, processorArchitecture=MSIL">
|
<Reference Include="ASCOM.Astrometry, Version=6.0.0.0, Culture=neutral, PublicKeyToken=565de7938946fba7, processorArchitecture=MSIL">
|
||||||
<HintPath>..\packages\ASCOM.Platform.6.5.1\lib\net40\ASCOM.Astrometry.dll</HintPath>
|
<HintPath>..\packages\ASCOM.Platform.6.5.2\lib\net40\ASCOM.Astrometry.dll</HintPath>
|
||||||
</Reference>
|
</Reference>
|
||||||
<Reference Include="ASCOM.Attributes, Version=6.0.0.0, Culture=neutral, PublicKeyToken=565de7938946fba7, processorArchitecture=MSIL">
|
<Reference Include="ASCOM.Attributes, Version=6.0.0.0, Culture=neutral, PublicKeyToken=565de7938946fba7, processorArchitecture=MSIL">
|
||||||
<HintPath>..\packages\ASCOM.Platform.6.5.1\lib\net40\ASCOM.Attributes.dll</HintPath>
|
<HintPath>..\packages\ASCOM.Platform.6.5.2\lib\net40\ASCOM.Attributes.dll</HintPath>
|
||||||
</Reference>
|
</Reference>
|
||||||
<Reference Include="ASCOM.Cache, Version=6.0.0.0, Culture=neutral, PublicKeyToken=565de7938946fba7, processorArchitecture=MSIL">
|
<Reference Include="ASCOM.Cache, Version=6.0.0.0, Culture=neutral, PublicKeyToken=565de7938946fba7, processorArchitecture=MSIL">
|
||||||
<HintPath>..\packages\ASCOM.Platform.6.5.1\lib\net40\ASCOM.Cache.dll</HintPath>
|
<HintPath>..\packages\ASCOM.Platform.6.5.2\lib\net40\ASCOM.Cache.dll</HintPath>
|
||||||
</Reference>
|
</Reference>
|
||||||
<Reference Include="ASCOM.Controls, Version=6.0.0.0, Culture=neutral, PublicKeyToken=565de7938946fba7, processorArchitecture=MSIL">
|
<Reference Include="ASCOM.Controls, Version=6.0.0.0, Culture=neutral, PublicKeyToken=565de7938946fba7, processorArchitecture=MSIL">
|
||||||
<HintPath>..\packages\ASCOM.Platform.6.5.1\lib\net40\ASCOM.Controls.dll</HintPath>
|
<HintPath>..\packages\ASCOM.Platform.6.5.2\lib\net40\ASCOM.Controls.dll</HintPath>
|
||||||
</Reference>
|
</Reference>
|
||||||
<Reference Include="ASCOM.DeviceInterfaces, Version=6.0.0.0, Culture=neutral, PublicKeyToken=565de7938946fba7, processorArchitecture=MSIL">
|
<Reference Include="ASCOM.DeviceInterfaces, Version=6.0.0.0, Culture=neutral, PublicKeyToken=565de7938946fba7, processorArchitecture=MSIL">
|
||||||
<HintPath>..\packages\ASCOM.Platform.6.5.1\lib\net40\ASCOM.DeviceInterfaces.dll</HintPath>
|
<HintPath>..\packages\ASCOM.Platform.6.5.2\lib\net40\ASCOM.DeviceInterfaces.dll</HintPath>
|
||||||
</Reference>
|
</Reference>
|
||||||
<Reference Include="ASCOM.DriverAccess, Version=6.0.0.0, Culture=neutral, PublicKeyToken=565de7938946fba7, processorArchitecture=MSIL">
|
<Reference Include="ASCOM.DriverAccess, Version=6.0.0.0, Culture=neutral, PublicKeyToken=565de7938946fba7, processorArchitecture=MSIL">
|
||||||
<HintPath>..\packages\ASCOM.Platform.6.5.1\lib\net40\ASCOM.DriverAccess.dll</HintPath>
|
<HintPath>..\packages\ASCOM.Platform.6.5.2\lib\net40\ASCOM.DriverAccess.dll</HintPath>
|
||||||
</Reference>
|
</Reference>
|
||||||
<Reference Include="ASCOM.Exceptions, Version=6.0.0.0, Culture=neutral, PublicKeyToken=565de7938946fba7, processorArchitecture=MSIL">
|
<Reference Include="ASCOM.Exceptions, Version=6.0.0.0, Culture=neutral, PublicKeyToken=565de7938946fba7, processorArchitecture=MSIL">
|
||||||
<HintPath>..\packages\ASCOM.Platform.6.5.1\lib\net40\ASCOM.Exceptions.dll</HintPath>
|
<HintPath>..\packages\ASCOM.Platform.6.5.2\lib\net40\ASCOM.Exceptions.dll</HintPath>
|
||||||
</Reference>
|
</Reference>
|
||||||
<Reference Include="ASCOM.Internal.Extensions, Version=6.0.0.0, Culture=neutral, PublicKeyToken=565de7938946fba7, processorArchitecture=MSIL">
|
<Reference Include="ASCOM.Internal.Extensions, Version=6.0.0.0, Culture=neutral, PublicKeyToken=565de7938946fba7, processorArchitecture=MSIL">
|
||||||
<HintPath>..\packages\ASCOM.Platform.6.5.1\lib\net40\ASCOM.Internal.Extensions.dll</HintPath>
|
<HintPath>..\packages\ASCOM.Platform.6.5.2\lib\net40\ASCOM.Internal.Extensions.dll</HintPath>
|
||||||
</Reference>
|
</Reference>
|
||||||
<Reference Include="ASCOM.SettingsProvider, Version=6.0.0.0, Culture=neutral, PublicKeyToken=565de7938946fba7, processorArchitecture=MSIL">
|
<Reference Include="ASCOM.SettingsProvider, Version=6.0.0.0, Culture=neutral, PublicKeyToken=565de7938946fba7, processorArchitecture=MSIL">
|
||||||
<HintPath>..\packages\ASCOM.Platform.6.5.1\lib\net40\ASCOM.SettingsProvider.dll</HintPath>
|
<HintPath>..\packages\ASCOM.Platform.6.5.2\lib\net40\ASCOM.SettingsProvider.dll</HintPath>
|
||||||
</Reference>
|
</Reference>
|
||||||
<Reference Include="ASCOM.Utilities, Version=6.0.0.0, Culture=neutral, PublicKeyToken=565de7938946fba7, processorArchitecture=MSIL">
|
<Reference Include="ASCOM.Utilities, Version=6.0.0.0, Culture=neutral, PublicKeyToken=565de7938946fba7, processorArchitecture=MSIL">
|
||||||
<HintPath>..\packages\ASCOM.Platform.6.5.1\lib\net40\ASCOM.Utilities.dll</HintPath>
|
<HintPath>..\packages\ASCOM.Platform.6.5.2\lib\net40\ASCOM.Utilities.dll</HintPath>
|
||||||
</Reference>
|
</Reference>
|
||||||
<Reference Include="ASCOM.Utilities.Video, Version=6.1.0.0, Culture=neutral, PublicKeyToken=565de7938946fba7, processorArchitecture=MSIL">
|
<Reference Include="ASCOM.Utilities.Video, Version=6.1.0.0, Culture=neutral, PublicKeyToken=565de7938946fba7, processorArchitecture=MSIL">
|
||||||
<HintPath>..\packages\ASCOM.Platform.6.5.1\lib\net40\ASCOM.Utilities.Video.dll</HintPath>
|
<HintPath>..\packages\ASCOM.Platform.6.5.2\lib\net40\ASCOM.Utilities.Video.dll</HintPath>
|
||||||
</Reference>
|
</Reference>
|
||||||
<Reference Include="JetBrains.Annotations, Version=2020.3.0.0, Culture=neutral, PublicKeyToken=1010a0d8d6380325, processorArchitecture=MSIL">
|
<Reference Include="JetBrains.Annotations, Version=4242.42.42.42, Culture=neutral, PublicKeyToken=1010a0d8d6380325, processorArchitecture=MSIL">
|
||||||
<HintPath>..\packages\JetBrains.Annotations.2020.3.0\lib\net20\JetBrains.Annotations.dll</HintPath>
|
<HintPath>..\packages\JetBrains.Annotations.2022.3.1\lib\net20\JetBrains.Annotations.dll</HintPath>
|
||||||
</Reference>
|
</Reference>
|
||||||
<Reference Include="System" />
|
<Reference Include="System" />
|
||||||
<Reference Include="System.configuration" />
|
<Reference Include="System.configuration" />
|
||||||
@@ -154,7 +154,6 @@
|
|||||||
<None Include="app.config" />
|
<None Include="app.config" />
|
||||||
<None Include="ASCOM.png" />
|
<None Include="ASCOM.png" />
|
||||||
<None Include="ASCOMDriverTemplate.snk" />
|
<None Include="ASCOMDriverTemplate.snk" />
|
||||||
<None Include="BootstrapAscomProfileStore.ps1" />
|
|
||||||
<None Include="packages.config" />
|
<None Include="packages.config" />
|
||||||
<None Include="Properties\Settings.settings">
|
<None Include="Properties\Settings.settings">
|
||||||
<Generator>SettingsSingleFileGenerator</Generator>
|
<Generator>SettingsSingleFileGenerator</Generator>
|
||||||
|
|||||||
@@ -1,5 +1,8 @@
|
|||||||
<ProjectConfiguration>
|
<ProjectConfiguration>
|
||||||
<Settings>
|
<Settings>
|
||||||
|
<HiddenComponentWarnings>
|
||||||
|
<Value>CopyReferencedAssembliesToWorkspaceIsOn</Value>
|
||||||
|
</HiddenComponentWarnings>
|
||||||
<UseCPUArchitecture>x86</UseCPUArchitecture>
|
<UseCPUArchitecture>x86</UseCPUArchitecture>
|
||||||
</Settings>
|
</Settings>
|
||||||
</ProjectConfiguration>
|
</ProjectConfiguration>
|
||||||
@@ -1,5 +1,5 @@
|
|||||||
<?xml version="1.0" encoding="utf-8"?>
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
<packages>
|
<packages>
|
||||||
<package id="ASCOM.Platform" version="6.5.1" targetFramework="net472" />
|
<package id="ASCOM.Platform" version="6.5.2" targetFramework="net472" />
|
||||||
<package id="JetBrains.Annotations" version="2020.3.0" targetFramework="net472" />
|
<package id="JetBrains.Annotations" version="2022.3.1" targetFramework="net472" />
|
||||||
</packages>
|
</packages>
|
||||||
@@ -2,10 +2,12 @@
|
|||||||
<Settings>
|
<Settings>
|
||||||
<AllowParallelTestExecution>True</AllowParallelTestExecution>
|
<AllowParallelTestExecution>True</AllowParallelTestExecution>
|
||||||
<CopyReferencedAssembliesToWorkspace>True</CopyReferencedAssembliesToWorkspace>
|
<CopyReferencedAssembliesToWorkspace>True</CopyReferencedAssembliesToWorkspace>
|
||||||
|
<EnableRDI>True</EnableRDI>
|
||||||
<MetricsExclusionList>
|
<MetricsExclusionList>
|
||||||
<Value>FocuserTestConsole\FocuserTestConsole.csproj</Value>
|
<Value>FocuserTestConsole\FocuserTestConsole.csproj</Value>
|
||||||
<Value>TelescopeTestConsole\TelescopeTestConsole.csproj</Value>
|
<Value>TelescopeTestConsole\TelescopeTestConsole.csproj</Value>
|
||||||
</MetricsExclusionList>
|
</MetricsExclusionList>
|
||||||
|
<RdiConfigured>True</RdiConfigured>
|
||||||
<SolutionConfigured>True</SolutionConfigured>
|
<SolutionConfigured>True</SolutionConfigured>
|
||||||
</Settings>
|
</Settings>
|
||||||
</SolutionConfiguration>
|
</SolutionConfiguration>
|
||||||
+14
-14
@@ -86,40 +86,40 @@
|
|||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<Reference Include="ASCOM.Astrometry, Version=6.0.0.0, Culture=neutral, PublicKeyToken=565de7938946fba7, processorArchitecture=MSIL">
|
<Reference Include="ASCOM.Astrometry, Version=6.0.0.0, Culture=neutral, PublicKeyToken=565de7938946fba7, processorArchitecture=MSIL">
|
||||||
<HintPath>..\packages\ASCOM.Platform.6.5.1\lib\net40\ASCOM.Astrometry.dll</HintPath>
|
<HintPath>..\packages\ASCOM.Platform.6.5.2\lib\net40\ASCOM.Astrometry.dll</HintPath>
|
||||||
</Reference>
|
</Reference>
|
||||||
<Reference Include="ASCOM.Attributes, Version=6.0.0.0, Culture=neutral, PublicKeyToken=565de7938946fba7, processorArchitecture=MSIL">
|
<Reference Include="ASCOM.Attributes, Version=6.0.0.0, Culture=neutral, PublicKeyToken=565de7938946fba7, processorArchitecture=MSIL">
|
||||||
<HintPath>..\packages\ASCOM.Platform.6.5.1\lib\net40\ASCOM.Attributes.dll</HintPath>
|
<HintPath>..\packages\ASCOM.Platform.6.5.2\lib\net40\ASCOM.Attributes.dll</HintPath>
|
||||||
</Reference>
|
</Reference>
|
||||||
<Reference Include="ASCOM.Cache, Version=6.0.0.0, Culture=neutral, PublicKeyToken=565de7938946fba7, processorArchitecture=MSIL">
|
<Reference Include="ASCOM.Cache, Version=6.0.0.0, Culture=neutral, PublicKeyToken=565de7938946fba7, processorArchitecture=MSIL">
|
||||||
<HintPath>..\packages\ASCOM.Platform.6.5.1\lib\net40\ASCOM.Cache.dll</HintPath>
|
<HintPath>..\packages\ASCOM.Platform.6.5.2\lib\net40\ASCOM.Cache.dll</HintPath>
|
||||||
</Reference>
|
</Reference>
|
||||||
<Reference Include="ASCOM.Controls, Version=6.0.0.0, Culture=neutral, PublicKeyToken=565de7938946fba7, processorArchitecture=MSIL">
|
<Reference Include="ASCOM.Controls, Version=6.0.0.0, Culture=neutral, PublicKeyToken=565de7938946fba7, processorArchitecture=MSIL">
|
||||||
<HintPath>..\packages\ASCOM.Platform.6.5.1\lib\net40\ASCOM.Controls.dll</HintPath>
|
<HintPath>..\packages\ASCOM.Platform.6.5.2\lib\net40\ASCOM.Controls.dll</HintPath>
|
||||||
</Reference>
|
</Reference>
|
||||||
<Reference Include="ASCOM.DeviceInterfaces, Version=6.0.0.0, Culture=neutral, PublicKeyToken=565de7938946fba7, processorArchitecture=MSIL">
|
<Reference Include="ASCOM.DeviceInterfaces, Version=6.0.0.0, Culture=neutral, PublicKeyToken=565de7938946fba7, processorArchitecture=MSIL">
|
||||||
<HintPath>..\packages\ASCOM.Platform.6.5.1\lib\net40\ASCOM.DeviceInterfaces.dll</HintPath>
|
<HintPath>..\packages\ASCOM.Platform.6.5.2\lib\net40\ASCOM.DeviceInterfaces.dll</HintPath>
|
||||||
</Reference>
|
</Reference>
|
||||||
<Reference Include="ASCOM.DriverAccess, Version=6.0.0.0, Culture=neutral, PublicKeyToken=565de7938946fba7, processorArchitecture=MSIL">
|
<Reference Include="ASCOM.DriverAccess, Version=6.0.0.0, Culture=neutral, PublicKeyToken=565de7938946fba7, processorArchitecture=MSIL">
|
||||||
<HintPath>..\packages\ASCOM.Platform.6.5.1\lib\net40\ASCOM.DriverAccess.dll</HintPath>
|
<HintPath>..\packages\ASCOM.Platform.6.5.2\lib\net40\ASCOM.DriverAccess.dll</HintPath>
|
||||||
</Reference>
|
</Reference>
|
||||||
<Reference Include="ASCOM.Exceptions, Version=6.0.0.0, Culture=neutral, PublicKeyToken=565de7938946fba7, processorArchitecture=MSIL">
|
<Reference Include="ASCOM.Exceptions, Version=6.0.0.0, Culture=neutral, PublicKeyToken=565de7938946fba7, processorArchitecture=MSIL">
|
||||||
<HintPath>..\packages\ASCOM.Platform.6.5.1\lib\net40\ASCOM.Exceptions.dll</HintPath>
|
<HintPath>..\packages\ASCOM.Platform.6.5.2\lib\net40\ASCOM.Exceptions.dll</HintPath>
|
||||||
</Reference>
|
</Reference>
|
||||||
<Reference Include="ASCOM.Internal.Extensions, Version=6.0.0.0, Culture=neutral, PublicKeyToken=565de7938946fba7, processorArchitecture=MSIL">
|
<Reference Include="ASCOM.Internal.Extensions, Version=6.0.0.0, Culture=neutral, PublicKeyToken=565de7938946fba7, processorArchitecture=MSIL">
|
||||||
<HintPath>..\packages\ASCOM.Platform.6.5.1\lib\net40\ASCOM.Internal.Extensions.dll</HintPath>
|
<HintPath>..\packages\ASCOM.Platform.6.5.2\lib\net40\ASCOM.Internal.Extensions.dll</HintPath>
|
||||||
</Reference>
|
</Reference>
|
||||||
<Reference Include="ASCOM.SettingsProvider, Version=6.0.0.0, Culture=neutral, PublicKeyToken=565de7938946fba7, processorArchitecture=MSIL">
|
<Reference Include="ASCOM.SettingsProvider, Version=6.0.0.0, Culture=neutral, PublicKeyToken=565de7938946fba7, processorArchitecture=MSIL">
|
||||||
<HintPath>..\packages\ASCOM.Platform.6.5.1\lib\net40\ASCOM.SettingsProvider.dll</HintPath>
|
<HintPath>..\packages\ASCOM.Platform.6.5.2\lib\net40\ASCOM.SettingsProvider.dll</HintPath>
|
||||||
</Reference>
|
</Reference>
|
||||||
<Reference Include="ASCOM.Utilities, Version=6.0.0.0, Culture=neutral, PublicKeyToken=565de7938946fba7, processorArchitecture=MSIL">
|
<Reference Include="ASCOM.Utilities, Version=6.0.0.0, Culture=neutral, PublicKeyToken=565de7938946fba7, processorArchitecture=MSIL">
|
||||||
<HintPath>..\packages\ASCOM.Platform.6.5.1\lib\net40\ASCOM.Utilities.dll</HintPath>
|
<HintPath>..\packages\ASCOM.Platform.6.5.2\lib\net40\ASCOM.Utilities.dll</HintPath>
|
||||||
</Reference>
|
</Reference>
|
||||||
<Reference Include="ASCOM.Utilities.Video, Version=6.1.0.0, Culture=neutral, PublicKeyToken=565de7938946fba7, processorArchitecture=MSIL">
|
<Reference Include="ASCOM.Utilities.Video, Version=6.1.0.0, Culture=neutral, PublicKeyToken=565de7938946fba7, processorArchitecture=MSIL">
|
||||||
<HintPath>..\packages\ASCOM.Platform.6.5.1\lib\net40\ASCOM.Utilities.Video.dll</HintPath>
|
<HintPath>..\packages\ASCOM.Platform.6.5.2\lib\net40\ASCOM.Utilities.Video.dll</HintPath>
|
||||||
</Reference>
|
</Reference>
|
||||||
<Reference Include="JetBrains.Annotations, Version=2020.3.0.0, Culture=neutral, PublicKeyToken=1010a0d8d6380325, processorArchitecture=MSIL">
|
<Reference Include="JetBrains.Annotations, Version=4242.42.42.42, Culture=neutral, PublicKeyToken=1010a0d8d6380325, processorArchitecture=MSIL">
|
||||||
<HintPath>..\packages\JetBrains.Annotations.2020.3.0\lib\net20\JetBrains.Annotations.dll</HintPath>
|
<HintPath>..\packages\JetBrains.Annotations.2022.3.1\lib\net20\JetBrains.Annotations.dll</HintPath>
|
||||||
</Reference>
|
</Reference>
|
||||||
<Reference Include="System" />
|
<Reference Include="System" />
|
||||||
<Reference Include="System.Drawing" />
|
<Reference Include="System.Drawing" />
|
||||||
@@ -148,6 +148,7 @@
|
|||||||
<Compile Include="TelescopeList.cs" />
|
<Compile Include="TelescopeList.cs" />
|
||||||
<Compile Include="ThreadSafeValue.cs" />
|
<Compile Include="ThreadSafeValue.cs" />
|
||||||
<Compile Include="Win32Utilities.cs" />
|
<Compile Include="Win32Utilities.cs" />
|
||||||
|
<Compile Include="Wrapper\GetValueException.cs" />
|
||||||
<Compile Include="Wrapper\IProfileWrapper.cs" />
|
<Compile Include="Wrapper\IProfileWrapper.cs" />
|
||||||
<Compile Include="Wrapper\SharedResourcesWrapper.cs" />
|
<Compile Include="Wrapper\SharedResourcesWrapper.cs" />
|
||||||
<EmbeddedResource Include="frmMain.resx">
|
<EmbeddedResource Include="frmMain.resx">
|
||||||
@@ -179,7 +180,6 @@
|
|||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<Content Include="ASCOM.ico" />
|
<Content Include="ASCOM.ico" />
|
||||||
<Content Include="ASCOM.png" />
|
<Content Include="ASCOM.png" />
|
||||||
<None Include="BootstrapAscomProfileStore.ps1" />
|
|
||||||
<None Include="packages.config" />
|
<None Include="packages.config" />
|
||||||
<None Include="Resources\ASCOM.bmp" />
|
<None Include="Resources\ASCOM.bmp" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
|
|||||||
@@ -1,9 +1,9 @@
|
|||||||
using System;
|
using System;
|
||||||
using System.Reflection;
|
using System.Reflection;
|
||||||
using System.Runtime.InteropServices;
|
using System.Runtime.InteropServices;
|
||||||
using ASCOM.Meade.net.AstroMaths;
|
|
||||||
using ASCOM.Meade.net.Wrapper;
|
using ASCOM.Meade.net.Wrapper;
|
||||||
using ASCOM.Utilities;
|
using ASCOM.Utilities;
|
||||||
|
using ASCOM.Utilities.Interfaces;
|
||||||
|
|
||||||
namespace ASCOM.Meade.net
|
namespace ASCOM.Meade.net
|
||||||
{
|
{
|
||||||
@@ -13,27 +13,15 @@ namespace ASCOM.Meade.net
|
|||||||
/// <summary>
|
/// <summary>
|
||||||
/// Variable to hold the trace logger object (creates a diagnostic log file with information that you specify)
|
/// Variable to hold the trace logger object (creates a diagnostic log file with information that you specify)
|
||||||
/// </summary>
|
/// </summary>
|
||||||
protected static TraceLogger Tl;
|
protected static ITraceLogger Tl;
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Driver description that displays in the ASCOM Chooser.
|
/// Driver description that displays in the ASCOM Chooser.
|
||||||
/// </summary>
|
/// </summary>
|
||||||
protected static readonly string DriverDescription = "Meade Generic";
|
protected static readonly string DriverDescription = "Meade Generic";
|
||||||
|
|
||||||
protected static string ComPort; // Variables to hold the currrent device configuration
|
|
||||||
protected static int BacklashCompensation;
|
|
||||||
protected static bool ReverseFocusDirection;
|
|
||||||
protected static bool UseDynamicBreaking;
|
|
||||||
protected double GuideRate;
|
|
||||||
protected string Precision;
|
|
||||||
protected string GuidingStyle;
|
|
||||||
protected double SiteElevation;
|
|
||||||
protected short ProfileSettleTime;
|
|
||||||
protected bool SendDateTime;
|
|
||||||
protected ParkedBehaviour ParkedBehaviour;
|
|
||||||
protected HorizonCoordinates ParkedAltAz;
|
|
||||||
|
|
||||||
protected readonly ISharedResourcesWrapper SharedResourcesWrapper;
|
protected readonly ISharedResourcesWrapper SharedResourcesWrapper;
|
||||||
|
protected ProfileProperties _profileProperties;
|
||||||
|
|
||||||
public MeadeTelescopeBase()
|
public MeadeTelescopeBase()
|
||||||
{
|
{
|
||||||
@@ -45,9 +33,9 @@ namespace ASCOM.Meade.net
|
|||||||
SharedResourcesWrapper = sharedResourcesWrapper;
|
SharedResourcesWrapper = sharedResourcesWrapper;
|
||||||
}
|
}
|
||||||
|
|
||||||
protected void Initialise(string className)
|
protected void Initialise(string className, ITraceLogger traceLogger = null)
|
||||||
{
|
{
|
||||||
Tl = new TraceLogger("", $"Meade.Generic.{className}");
|
Tl = traceLogger ?? new TraceLogger("", $"Meade.Generic.{className}");
|
||||||
|
|
||||||
ReadProfile(); // Read device configuration from the ASCOM Profile store
|
ReadProfile(); // Read device configuration from the ASCOM Profile store
|
||||||
|
|
||||||
@@ -62,39 +50,25 @@ namespace ASCOM.Meade.net
|
|||||||
/// </summary>
|
/// </summary>
|
||||||
protected void ReadProfile()
|
protected void ReadProfile()
|
||||||
{
|
{
|
||||||
var profileProperties = SharedResourcesWrapper.ReadProfile();
|
_profileProperties = SharedResourcesWrapper.ReadProfile();
|
||||||
Tl.Enabled = profileProperties.TraceLogger;
|
Tl.Enabled = _profileProperties.TraceLogger;
|
||||||
ComPort = profileProperties.ComPort;
|
|
||||||
BacklashCompensation = profileProperties.BacklashCompensation;
|
|
||||||
ReverseFocusDirection = profileProperties.ReverseFocusDirection;
|
|
||||||
UseDynamicBreaking = profileProperties.DynamicBreaking;
|
|
||||||
GuideRate = profileProperties.GuideRateArcSecondsPerSecond;
|
|
||||||
Precision = profileProperties.Precision;
|
|
||||||
GuidingStyle = profileProperties.GuidingStyle.ToLower();
|
|
||||||
SiteElevation = profileProperties.SiteElevation;
|
|
||||||
ProfileSettleTime = profileProperties.SettleTime;
|
|
||||||
SendDateTime = profileProperties.SendDateTime;
|
|
||||||
ParkedBehaviour = profileProperties.ParkedBehaviour;
|
|
||||||
|
|
||||||
ParkedAltAz = new HorizonCoordinates
|
|
||||||
{
|
|
||||||
Altitude = profileProperties.ParkedAlt,
|
|
||||||
Azimuth = profileProperties.ParkedAz
|
|
||||||
};
|
|
||||||
|
|
||||||
LogMessage("ReadProfile", $"Trace logger enabled: {Tl.Enabled}");
|
LogMessage("ReadProfile", $"Trace logger enabled: {Tl.Enabled}");
|
||||||
LogMessage("ReadProfile", $"Com Port: {ComPort}");
|
LogMessage("ReadProfile", $"Com Port: {_profileProperties.ComPort}");
|
||||||
LogMessage("ReadProfile", $"Backlash Steps: {BacklashCompensation}");
|
LogMessage("ReadProfile", $"Backlash Steps: {_profileProperties.BacklashCompensation}");
|
||||||
LogMessage("ReadProfile", $"Dynamic breaking: {UseDynamicBreaking}");
|
LogMessage("ReadProfile", $"Dynamic breaking: {_profileProperties.DynamicBreaking}");
|
||||||
LogMessage("ReadProfile", $"Guide Rate: {GuideRate}");
|
LogMessage("ReadProfile", $"Guide Rate: {_profileProperties.GuideRateArcSecondsPerSecond}");
|
||||||
LogMessage("ReadProfile", $"Precision: {Precision}");
|
LogMessage("ReadProfile", $"Precision: {_profileProperties.Precision}");
|
||||||
LogMessage("ReadProfile", $"Guiding Style: {GuidingStyle}");
|
LogMessage("ReadProfile", $"Guiding Style: {_profileProperties.GuidingStyle}");
|
||||||
LogMessage("ReadProfile", $"Site Elevation: {SiteElevation}");
|
LogMessage("ReadProfile", $"Site Elevation: {_profileProperties.SiteElevation}");
|
||||||
LogMessage("ReadProfile", $"Settle Time after slew: {ProfileSettleTime}");
|
LogMessage("ReadProfile", $"Settle Time after slew: {_profileProperties.SettleTime}");
|
||||||
LogMessage("ReadProfile", $"Send date and time on connect: {SendDateTime}");
|
LogMessage("ReadProfile", $"Send date and time on connect: {_profileProperties.SendDateTime}");
|
||||||
LogMessage("ReadProfile", $"Parked Behaviour: {ParkedBehaviour}");
|
LogMessage("ReadProfile", $"Parked Behaviour: {_profileProperties.ParkedBehaviour}");
|
||||||
LogMessage("ReadProfile", $"Parked Alt: {ParkedAltAz.Altitude}");
|
LogMessage("ReadProfile", $"Parked Alt: {_profileProperties.ParkedAlt}");
|
||||||
LogMessage("ReadProfile", $"Parked Az: {ParkedAltAz.Azimuth}");
|
LogMessage("ReadProfile", $"Parked Az: {_profileProperties.ParkedAz}");
|
||||||
|
LogMessage("ReadProfile", $"Focal Length: {_profileProperties.FocalLength}");
|
||||||
|
LogMessage("ReadProfile", $"Aperture Area: {_profileProperties.ApertureArea}");
|
||||||
|
LogMessage("ReadProfile", $"Aperture Area: {_profileProperties.ApertureDiameter}");
|
||||||
}
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
@@ -106,7 +80,7 @@ namespace ASCOM.Meade.net
|
|||||||
public static void LogMessage(string identifier, string message, params object[] args)
|
public static void LogMessage(string identifier, string message, params object[] args)
|
||||||
{
|
{
|
||||||
var msg = string.Format(message, args);
|
var msg = string.Format(message, args);
|
||||||
Tl.LogMessage(identifier, msg);
|
Tl.LogMessage(identifier, msg, false);
|
||||||
}
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
@@ -118,7 +92,7 @@ namespace ASCOM.Meade.net
|
|||||||
{
|
{
|
||||||
get
|
get
|
||||||
{
|
{
|
||||||
Tl.LogMessage("Description Get", DriverDescription);
|
Tl.LogMessage("Description Get", DriverDescription, false);
|
||||||
return DriverDescription;
|
return DriverDescription;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -159,7 +133,7 @@ namespace ASCOM.Meade.net
|
|||||||
protected void UpdateSiteElevation()
|
protected void UpdateSiteElevation()
|
||||||
{
|
{
|
||||||
var profileProperties = SharedResourcesWrapper.ReadProfile();
|
var profileProperties = SharedResourcesWrapper.ReadProfile();
|
||||||
profileProperties.SiteElevation = SiteElevation;
|
profileProperties.SiteElevation = _profileProperties.SiteElevation;
|
||||||
SharedResourcesWrapper.WriteProfile(profileProperties);
|
SharedResourcesWrapper.WriteProfile(profileProperties);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -23,5 +23,9 @@ namespace ASCOM.Meade.net
|
|||||||
public ParkedBehaviour ParkedBehaviour { get; set; }
|
public ParkedBehaviour ParkedBehaviour { get; set; }
|
||||||
public double ParkedAlt { get; set; }
|
public double ParkedAlt { get; set; }
|
||||||
public double ParkedAz { get; set; }
|
public double ParkedAz { get; set; }
|
||||||
|
public double FocalLength { get; set; }
|
||||||
|
public double ApertureArea { get; set; }
|
||||||
|
public double ApertureDiameter { get; set; }
|
||||||
|
public int TimeoutMs { get; set; }
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
+9
@@ -144,5 +144,14 @@ namespace ASCOM.Meade.net.Properties {
|
|||||||
return ResourceManager.GetString("SetupDialogForm_txtElevation_TextChanged_1_Please_enter_only_numbers_", resourceCulture);
|
return ResourceManager.GetString("SetupDialogForm_txtElevation_TextChanged_1_Please_enter_only_numbers_", resourceCulture);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Looks up a localized string similar to Please enter only numbers..
|
||||||
|
/// </summary>
|
||||||
|
internal static string SetupDialogForm_txtFocalLength_TextChanged_1_Please_enter_only_numbers_ {
|
||||||
|
get {
|
||||||
|
return ResourceManager.GetString("SetupDialogForm_txtFocalLength_TextChanged_1_Please_enter_only_numbers_", resourceCulture);
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -147,4 +147,7 @@ Valid are : -register, -unregister and -embedding</value>
|
|||||||
<data name="SetupDialogForm_txtElevation_TextChanged_1_Please_enter_only_numbers_" xml:space="preserve">
|
<data name="SetupDialogForm_txtElevation_TextChanged_1_Please_enter_only_numbers_" xml:space="preserve">
|
||||||
<value>Please enter only numbers.</value>
|
<value>Please enter only numbers.</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="SetupDialogForm_txtFocalLength_TextChanged_1_Please_enter_only_numbers_" xml:space="preserve">
|
||||||
|
<value>Please enter only numbers.</value>
|
||||||
|
</data>
|
||||||
</root>
|
</root>
|
||||||
@@ -25,7 +25,7 @@ namespace ASCOM.Meade.net
|
|||||||
|
|
||||||
SetItemsFromEnum(cboStopBits.Items, typeof(SerialStopBits));
|
SetItemsFromEnum(cboStopBits.Items, typeof(SerialStopBits));
|
||||||
SetItemsFromEnum(cboParity.Items, typeof(SerialParity));
|
SetItemsFromEnum(cboParity.Items, typeof(SerialParity));
|
||||||
SetItemsFromEnumValues(cboSpeed.Items, typeof(SerialSpeed));
|
SetItemFromEnumValues(cboSpeed.Items, SerialSpeed.ps1200, SerialSpeed.ps57600);
|
||||||
SetItemsFromEnum(cboHandShake.Items, typeof(SerialHandshake));
|
SetItemsFromEnum(cboHandShake.Items, typeof(SerialHandshake));
|
||||||
SetItemsFromEnum(cboParkedBehaviour.Items, typeof(ParkedBehaviour));
|
SetItemsFromEnum(cboParkedBehaviour.Items, typeof(ParkedBehaviour));
|
||||||
}
|
}
|
||||||
@@ -41,13 +41,30 @@ namespace ASCOM.Meade.net
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private void SetItemsFromEnumValues(IList items, Type enumItems)
|
//private void SetItemsFromEnumValues(IList items, Type enumItems)
|
||||||
|
//{
|
||||||
|
// items.Clear();
|
||||||
|
|
||||||
|
// foreach (int item in Enum.GetValues(enumItems))
|
||||||
|
// {
|
||||||
|
// items.Add(item);
|
||||||
|
// }
|
||||||
|
//}
|
||||||
|
|
||||||
|
private void SetItemFromEnumValues<T>(IList items, T minValue, T maxValue)
|
||||||
{
|
{
|
||||||
items.Clear();
|
items.Clear();
|
||||||
|
|
||||||
foreach (int item in Enum.GetValues(enumItems))
|
var type = typeof(T);
|
||||||
|
|
||||||
|
var intMinValue = (int)Convert.ChangeType(minValue, typeof(int));
|
||||||
|
|
||||||
|
var intMaxValue = (int)Convert.ChangeType(maxValue, typeof(int));
|
||||||
|
|
||||||
|
foreach (int item in Enum.GetValues(type))
|
||||||
{
|
{
|
||||||
items.Add(item);
|
if ((item >= intMinValue) && (item <= intMaxValue))
|
||||||
|
items.Add(item);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -188,6 +205,42 @@ namespace ASCOM.Meade.net
|
|||||||
txtParkedAz.Text = "180";
|
txtParkedAz.Text = "180";
|
||||||
}
|
}
|
||||||
|
|
||||||
|
try
|
||||||
|
{
|
||||||
|
txtFocalLength.Text = profileProperties.FocalLength.ToString(CultureInfo.CurrentCulture);
|
||||||
|
}
|
||||||
|
catch (Exception)
|
||||||
|
{
|
||||||
|
txtFocalLength.Text = "2000";
|
||||||
|
}
|
||||||
|
|
||||||
|
try
|
||||||
|
{
|
||||||
|
txtApertureArea.Text = profileProperties.ApertureArea.ToString(CultureInfo.CurrentCulture);
|
||||||
|
}
|
||||||
|
catch (Exception)
|
||||||
|
{
|
||||||
|
txtApertureArea.Text = "32685";
|
||||||
|
}
|
||||||
|
|
||||||
|
try
|
||||||
|
{
|
||||||
|
txtApertureDiameter.Text = profileProperties.ApertureDiameter.ToString(CultureInfo.CurrentCulture);
|
||||||
|
}
|
||||||
|
catch (Exception)
|
||||||
|
{
|
||||||
|
txtApertureDiameter.Text = "203";
|
||||||
|
}
|
||||||
|
|
||||||
|
try
|
||||||
|
{
|
||||||
|
txtTimeout.Text = profileProperties.TimeoutMs.ToString(CultureInfo.CurrentCulture);
|
||||||
|
}
|
||||||
|
catch (Exception)
|
||||||
|
{
|
||||||
|
txtTimeout.Text = "5000";
|
||||||
|
}
|
||||||
|
|
||||||
UpdateParkedItemsEnabled();
|
UpdateParkedItemsEnabled();
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -197,6 +250,7 @@ namespace ASCOM.Meade.net
|
|||||||
{
|
{
|
||||||
TraceLogger = chkTrace.Checked,
|
TraceLogger = chkTrace.Checked,
|
||||||
ComPort = comboBoxComPort.SelectedItem.ToString(),
|
ComPort = comboBoxComPort.SelectedItem.ToString(),
|
||||||
|
TimeoutMs = Convert.ToInt32(txtTimeout.Text),
|
||||||
RtsDtrEnabled = cbxRtsDtr.Checked,
|
RtsDtrEnabled = cbxRtsDtr.Checked,
|
||||||
DataBits = Convert.ToInt32(numDatabits.Value),
|
DataBits = Convert.ToInt32(numDatabits.Value),
|
||||||
StopBits = cboStopBits.SelectedItem.ToString(),
|
StopBits = cboStopBits.SelectedItem.ToString(),
|
||||||
@@ -214,7 +268,10 @@ namespace ASCOM.Meade.net
|
|||||||
SendDateTime = cbxSendDateTime.Checked,
|
SendDateTime = cbxSendDateTime.Checked,
|
||||||
ParkedBehaviour = EnumExtensionMethods.GetValueFromDescription<ParkedBehaviour>(cboParkedBehaviour.SelectedItem.ToString()),
|
ParkedBehaviour = EnumExtensionMethods.GetValueFromDescription<ParkedBehaviour>(cboParkedBehaviour.SelectedItem.ToString()),
|
||||||
ParkedAlt = double.Parse(txtParkedAlt.Text),
|
ParkedAlt = double.Parse(txtParkedAlt.Text),
|
||||||
ParkedAz = double.Parse(txtParkedAz.Text)
|
ParkedAz = double.Parse(txtParkedAz.Text),
|
||||||
|
FocalLength = double.Parse(txtFocalLength.Text),
|
||||||
|
ApertureArea = double.Parse(txtApertureArea.Text),
|
||||||
|
ApertureDiameter = double.Parse(txtApertureDiameter.Text)
|
||||||
};
|
};
|
||||||
|
|
||||||
return profileProperties;
|
return profileProperties;
|
||||||
@@ -320,6 +377,32 @@ namespace ASCOM.Meade.net
|
|||||||
txtParkedAz.Text = txtParkedAz.Text.Remove(txtParkedAz.Text.Length - 1);
|
txtParkedAz.Text = txtParkedAz.Text.Remove(txtParkedAz.Text.Length - 1);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private void txt_FocalLength_TextChanged_1(object sender, EventArgs e)
|
||||||
|
{
|
||||||
|
if (System.Text.RegularExpressions.Regex.IsMatch(txtFocalLength.Text, "[^0-9]"))
|
||||||
|
{
|
||||||
|
MessageBox.Show(Resources.SetupDialogForm_txtFocalLength_TextChanged_1_Please_enter_only_numbers_);
|
||||||
|
txtFocalLength.Text = txtFocalLength.Text.Remove(txtFocalLength.Text.Length - 1);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private void button1_Click(object sender, EventArgs e)
|
||||||
|
{
|
||||||
|
string myDocumentsPath = Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments);
|
||||||
|
|
||||||
|
Process.Start(new ProcessStartInfo()
|
||||||
|
{
|
||||||
|
FileName = $"{myDocumentsPath}\\ASCOM",
|
||||||
|
UseShellExecute = true,
|
||||||
|
Verb = "open"
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
private void label29_Click(object sender, EventArgs e)
|
||||||
|
{
|
||||||
|
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Generated
+108
@@ -82,6 +82,19 @@ namespace ASCOM.Meade.net
|
|||||||
this.label24 = new System.Windows.Forms.Label();
|
this.label24 = new System.Windows.Forms.Label();
|
||||||
this.txtParkedAlt = new System.Windows.Forms.TextBox();
|
this.txtParkedAlt = new System.Windows.Forms.TextBox();
|
||||||
this.txtParkedAz = new System.Windows.Forms.TextBox();
|
this.txtParkedAz = new System.Windows.Forms.TextBox();
|
||||||
|
this.label25 = new System.Windows.Forms.Label();
|
||||||
|
this.txtFocalLength = new System.Windows.Forms.TextBox();
|
||||||
|
this.label26 = new System.Windows.Forms.Label();
|
||||||
|
this.label27 = new System.Windows.Forms.Label();
|
||||||
|
this.txtApertureDiameter = new System.Windows.Forms.TextBox();
|
||||||
|
this.label28 = new System.Windows.Forms.Label();
|
||||||
|
this.label29 = new System.Windows.Forms.Label();
|
||||||
|
this.txtApertureArea = new System.Windows.Forms.TextBox();
|
||||||
|
this.label30 = new System.Windows.Forms.Label();
|
||||||
|
this.button1 = new System.Windows.Forms.Button();
|
||||||
|
this.txtTimeout = new System.Windows.Forms.TextBox();
|
||||||
|
this.label31 = new System.Windows.Forms.Label();
|
||||||
|
this.label32 = new System.Windows.Forms.Label();
|
||||||
((System.ComponentModel.ISupportInitialize)(this.picASCOM)).BeginInit();
|
((System.ComponentModel.ISupportInitialize)(this.picASCOM)).BeginInit();
|
||||||
((System.ComponentModel.ISupportInitialize)(this.nudSettleTime)).BeginInit();
|
((System.ComponentModel.ISupportInitialize)(this.nudSettleTime)).BeginInit();
|
||||||
((System.ComponentModel.ISupportInitialize)(this.numDatabits)).BeginInit();
|
((System.ComponentModel.ISupportInitialize)(this.numDatabits)).BeginInit();
|
||||||
@@ -389,10 +402,92 @@ namespace ASCOM.Meade.net
|
|||||||
this.txtParkedAz.Name = "txtParkedAz";
|
this.txtParkedAz.Name = "txtParkedAz";
|
||||||
this.txtParkedAz.TextChanged += new System.EventHandler(this.txtParkedAz_TextChanged);
|
this.txtParkedAz.TextChanged += new System.EventHandler(this.txtParkedAz_TextChanged);
|
||||||
//
|
//
|
||||||
|
// label25
|
||||||
|
//
|
||||||
|
resources.ApplyResources(this.label25, "label25");
|
||||||
|
this.label25.Name = "label25";
|
||||||
|
//
|
||||||
|
// txtFocalLength
|
||||||
|
//
|
||||||
|
resources.ApplyResources(this.txtFocalLength, "txtFocalLength");
|
||||||
|
this.txtFocalLength.Name = "txtFocalLength";
|
||||||
|
this.txtFocalLength.TextChanged += new System.EventHandler(this.txt_FocalLength_TextChanged_1);
|
||||||
|
//
|
||||||
|
// label26
|
||||||
|
//
|
||||||
|
resources.ApplyResources(this.label26, "label26");
|
||||||
|
this.label26.Name = "label26";
|
||||||
|
//
|
||||||
|
// label27
|
||||||
|
//
|
||||||
|
resources.ApplyResources(this.label27, "label27");
|
||||||
|
this.label27.Name = "label27";
|
||||||
|
//
|
||||||
|
// txtApertureDiameter
|
||||||
|
//
|
||||||
|
resources.ApplyResources(this.txtApertureDiameter, "txtApertureDiameter");
|
||||||
|
this.txtApertureDiameter.Name = "txtApertureDiameter";
|
||||||
|
//
|
||||||
|
// label28
|
||||||
|
//
|
||||||
|
resources.ApplyResources(this.label28, "label28");
|
||||||
|
this.label28.Name = "label28";
|
||||||
|
//
|
||||||
|
// label29
|
||||||
|
//
|
||||||
|
resources.ApplyResources(this.label29, "label29");
|
||||||
|
this.label29.Name = "label29";
|
||||||
|
this.label29.Click += new System.EventHandler(this.label29_Click);
|
||||||
|
//
|
||||||
|
// txtApertureArea
|
||||||
|
//
|
||||||
|
resources.ApplyResources(this.txtApertureArea, "txtApertureArea");
|
||||||
|
this.txtApertureArea.Name = "txtApertureArea";
|
||||||
|
//
|
||||||
|
// label30
|
||||||
|
//
|
||||||
|
resources.ApplyResources(this.label30, "label30");
|
||||||
|
this.label30.Name = "label30";
|
||||||
|
//
|
||||||
|
// button1
|
||||||
|
//
|
||||||
|
resources.ApplyResources(this.button1, "button1");
|
||||||
|
this.button1.Name = "button1";
|
||||||
|
this.button1.UseVisualStyleBackColor = true;
|
||||||
|
this.button1.Click += new System.EventHandler(this.button1_Click);
|
||||||
|
//
|
||||||
|
// txtTimeout
|
||||||
|
//
|
||||||
|
resources.ApplyResources(this.txtTimeout, "txtTimeout");
|
||||||
|
this.txtTimeout.Name = "txtTimeout";
|
||||||
|
//
|
||||||
|
// label31
|
||||||
|
//
|
||||||
|
resources.ApplyResources(this.label31, "label31");
|
||||||
|
this.label31.Name = "label31";
|
||||||
|
//
|
||||||
|
// label32
|
||||||
|
//
|
||||||
|
resources.ApplyResources(this.label32, "label32");
|
||||||
|
this.label32.Name = "label32";
|
||||||
|
//
|
||||||
// SetupDialogForm
|
// SetupDialogForm
|
||||||
//
|
//
|
||||||
resources.ApplyResources(this, "$this");
|
resources.ApplyResources(this, "$this");
|
||||||
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
|
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
|
||||||
|
this.Controls.Add(this.label32);
|
||||||
|
this.Controls.Add(this.label31);
|
||||||
|
this.Controls.Add(this.txtTimeout);
|
||||||
|
this.Controls.Add(this.button1);
|
||||||
|
this.Controls.Add(this.label29);
|
||||||
|
this.Controls.Add(this.txtApertureArea);
|
||||||
|
this.Controls.Add(this.label30);
|
||||||
|
this.Controls.Add(this.label27);
|
||||||
|
this.Controls.Add(this.txtApertureDiameter);
|
||||||
|
this.Controls.Add(this.label28);
|
||||||
|
this.Controls.Add(this.label26);
|
||||||
|
this.Controls.Add(this.txtFocalLength);
|
||||||
|
this.Controls.Add(this.label25);
|
||||||
this.Controls.Add(this.txtParkedAz);
|
this.Controls.Add(this.txtParkedAz);
|
||||||
this.Controls.Add(this.txtParkedAlt);
|
this.Controls.Add(this.txtParkedAlt);
|
||||||
this.Controls.Add(this.label24);
|
this.Controls.Add(this.label24);
|
||||||
@@ -507,5 +602,18 @@ namespace ASCOM.Meade.net
|
|||||||
private Label label24;
|
private Label label24;
|
||||||
private TextBox txtParkedAlt;
|
private TextBox txtParkedAlt;
|
||||||
private TextBox txtParkedAz;
|
private TextBox txtParkedAz;
|
||||||
|
private Label label25;
|
||||||
|
private TextBox txtFocalLength;
|
||||||
|
private Label label26;
|
||||||
|
private Label label27;
|
||||||
|
private TextBox txtApertureDiameter;
|
||||||
|
private Label label28;
|
||||||
|
private Label label29;
|
||||||
|
private TextBox txtApertureArea;
|
||||||
|
private Label label30;
|
||||||
|
private Button button1;
|
||||||
|
private TextBox txtTimeout;
|
||||||
|
private Label label31;
|
||||||
|
private Label label32;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
+682
-151
File diff suppressed because it is too large
Load Diff
+167
-52
@@ -8,7 +8,7 @@
|
|||||||
//
|
//
|
||||||
// NOTES:
|
// NOTES:
|
||||||
//
|
//
|
||||||
// * ALL DECLARATIONS MUST BE STATIC HERE!! INSTANCES OF THIS CLASS MUST NEVER BE CREATED!
|
// * ALL DECLARATIONS MUST BE STATIC HERE!! INSTANCES OF THIS CLASS MUST NEVER BE CREATEDReceiveTimeout
|
||||||
//
|
//
|
||||||
// Written by: Bob Denny 29-May-2007
|
// Written by: Bob Denny 29-May-2007
|
||||||
// Modified by Chris Rowland and Peter Simpson to hamdle multiple hardware devices March 2011
|
// Modified by Chris Rowland and Peter Simpson to hamdle multiple hardware devices March 2011
|
||||||
@@ -18,7 +18,6 @@ using System;
|
|||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
using System.Globalization;
|
using System.Globalization;
|
||||||
using System.Runtime.InteropServices;
|
using System.Runtime.InteropServices;
|
||||||
using System.Security.AccessControl;
|
|
||||||
using System.Threading;
|
using System.Threading;
|
||||||
using System.Windows.Forms;
|
using System.Windows.Forms;
|
||||||
using ASCOM.DeviceInterface;
|
using ASCOM.DeviceInterface;
|
||||||
@@ -80,12 +79,13 @@ namespace ASCOM.Meade.net
|
|||||||
}
|
}
|
||||||
|
|
||||||
//todo add code to ensure that there is a minimum gap between commands. 5ms as default.
|
//todo add code to ensure that there is a minimum gap between commands. 5ms as default.
|
||||||
public static void SendBlind(string message, bool raw = false)
|
public static void SendBlind(ITraceLogger traceLogger, string message, bool raw = false)
|
||||||
{
|
{
|
||||||
lock (LockObject)
|
lock (LockObject)
|
||||||
{
|
{
|
||||||
SharedSerial.ClearBuffers();
|
SharedSerial.ClearBuffers();
|
||||||
var encodedMessage = raw ? message : $"#:{message}#";
|
var encodedMessage = raw ? message : $"#:{message}#";
|
||||||
|
traceLogger.LogMessage("SendBlind", $"Transmitting {encodedMessage}", false);
|
||||||
SharedSerial.Transmit(encodedMessage);
|
SharedSerial.Transmit(encodedMessage);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -99,21 +99,25 @@ namespace ASCOM.Meade.net
|
|||||||
/// <param name="message"></param>
|
/// <param name="message"></param>
|
||||||
/// <param name="raw"></param>
|
/// <param name="raw"></param>
|
||||||
/// <returns></returns>
|
/// <returns></returns>
|
||||||
public static string SendString(string message, bool raw = false)
|
public static string SendString(ITraceLogger traceLogger, string message, bool raw = false)
|
||||||
{
|
{
|
||||||
lock (LockObject)
|
lock (LockObject)
|
||||||
{
|
{
|
||||||
SharedSerial.ClearBuffers();
|
SharedSerial.ClearBuffers();
|
||||||
|
|
||||||
var encodedMessage = raw ? message : $"#:{message}#";
|
var encodedMessage = raw ? message : $"#:{message}#";
|
||||||
|
traceLogger.LogMessage("SendString", $"Transmitting {encodedMessage}", false);
|
||||||
SharedSerial.Transmit(encodedMessage);
|
SharedSerial.Transmit(encodedMessage);
|
||||||
|
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
return SharedSerial.ReceiveTerminated("#").TrimEnd('#');
|
var result = SharedSerial.ReceiveTerminated("#");
|
||||||
|
traceLogger.LogMessage("SendString", $"Received {result}", false);
|
||||||
|
return result.TrimEnd('#');
|
||||||
}
|
}
|
||||||
catch (COMException ex)
|
catch (COMException ex)
|
||||||
{
|
{
|
||||||
|
traceLogger.LogIssue("SendString", ex.Message);
|
||||||
if (ex.Message.Contains("Timed out waiting for received data"))
|
if (ex.Message.Contains("Timed out waiting for received data"))
|
||||||
throw new TimeoutException(ex.Message, ex);
|
throw new TimeoutException(ex.Message, ex);
|
||||||
|
|
||||||
@@ -122,34 +126,41 @@ namespace ASCOM.Meade.net
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public static bool SendBool(string command, bool raw = false)
|
public static bool SendBool(ITraceLogger traceLogger, string command, bool raw = false)
|
||||||
{
|
{
|
||||||
var result = SendChar(command, raw);
|
var result = SendChar(traceLogger, command, raw);
|
||||||
|
|
||||||
return result == "1";
|
return result == "1";
|
||||||
}
|
}
|
||||||
|
|
||||||
public static string SendChar(string command, bool raw = false)
|
public static string SendChar(ITraceLogger traceLogger, string command, bool raw = false)
|
||||||
{
|
{
|
||||||
return SendChars(command, raw, count: 1);
|
return SendChars(traceLogger, command, raw, count: 1);
|
||||||
}
|
}
|
||||||
|
|
||||||
public static string SendChars(string command, bool raw = false, int count = 1)
|
public static string SendChars(ITraceLogger traceLogger, string command, bool raw = false, int count = 1)
|
||||||
{
|
{
|
||||||
lock (LockObject)
|
lock (LockObject)
|
||||||
{
|
{
|
||||||
SharedSerial.ClearBuffers();
|
SharedSerial.ClearBuffers();
|
||||||
|
|
||||||
var encodedMessage = raw ? command : $"#:{command}#";
|
var encodedMessage = raw ? command : $"#:{command}#";
|
||||||
|
traceLogger.LogMessage("SendChars", $"Transmitting {encodedMessage}", false);
|
||||||
SharedSerial.Transmit(encodedMessage);
|
SharedSerial.Transmit(encodedMessage);
|
||||||
|
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
return SharedSerial.ReceiveCounted(count);
|
var result = SharedSerial.ReceiveCounted(count);
|
||||||
|
traceLogger.LogMessage("SendChars", $"Received {result}", false);
|
||||||
|
return result;
|
||||||
}
|
}
|
||||||
catch (COMException ex) when (ex.Message.Contains("Timed out waiting for received data"))
|
catch (COMException ex)
|
||||||
{
|
{
|
||||||
throw new TimeoutException(ex.Message, ex);
|
traceLogger.LogIssue("SendString", ex.Message);
|
||||||
|
if (ex.Message.Contains("Timed out waiting for received data"))
|
||||||
|
throw new TimeoutException(ex.Message, ex);
|
||||||
|
|
||||||
|
throw;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -178,6 +189,7 @@ namespace ASCOM.Meade.net
|
|||||||
|
|
||||||
// Constants used for Profile persistence
|
// Constants used for Profile persistence
|
||||||
private const string ComPortProfileName = "COM Port";
|
private const string ComPortProfileName = "COM Port";
|
||||||
|
private const string TimeoutMsName = "Serial Timeout (MS)";
|
||||||
private const string RtsDtrProfileName = "Rts / Dtr";
|
private const string RtsDtrProfileName = "Rts / Dtr";
|
||||||
private const string TraceStateProfileName = "Trace Level";
|
private const string TraceStateProfileName = "Trace Level";
|
||||||
private const string GuideRateProfileName = "Guide Rate Arc Seconds Per Second";
|
private const string GuideRateProfileName = "Guide Rate Arc Seconds Per Second";
|
||||||
@@ -198,6 +210,9 @@ namespace ASCOM.Meade.net
|
|||||||
private const string ParkedBehaviourName = "Parked Behaviour";
|
private const string ParkedBehaviourName = "Parked Behaviour";
|
||||||
private const string ParkedAltName = "Parked Altitude";
|
private const string ParkedAltName = "Parked Altitude";
|
||||||
private const string ParkedAzimuthName = "Parked Azimuth";
|
private const string ParkedAzimuthName = "Parked Azimuth";
|
||||||
|
private const string FocalLengthName = "Focal Length (mm)";
|
||||||
|
private const string ApertureAreaName = "Aperture Area (mm�)";
|
||||||
|
private const string ApertureDiameterName = "Aperture Diameter (mm)";
|
||||||
|
|
||||||
public static void WriteProfile(ProfileProperties profileProperties)
|
public static void WriteProfile(ProfileProperties profileProperties)
|
||||||
{
|
{
|
||||||
@@ -208,6 +223,7 @@ namespace ASCOM.Meade.net
|
|||||||
driverProfile.DeviceType = "Telescope";
|
driverProfile.DeviceType = "Telescope";
|
||||||
driverProfile.WriteValue(DriverId, TraceStateProfileName, profileProperties.TraceLogger.ToString());
|
driverProfile.WriteValue(DriverId, TraceStateProfileName, profileProperties.TraceLogger.ToString());
|
||||||
driverProfile.WriteValue(DriverId, ComPortProfileName, profileProperties.ComPort);
|
driverProfile.WriteValue(DriverId, ComPortProfileName, profileProperties.ComPort);
|
||||||
|
driverProfile.WriteValue(DriverId, TimeoutMsName, profileProperties.TimeoutMs.ToString());
|
||||||
driverProfile.WriteValue(DriverId, RtsDtrProfileName, profileProperties.RtsDtrEnabled.ToString());
|
driverProfile.WriteValue(DriverId, RtsDtrProfileName, profileProperties.RtsDtrEnabled.ToString());
|
||||||
driverProfile.WriteValue(DriverId, SpeedName, profileProperties.Speed.ToString(CultureInfo.InvariantCulture));
|
driverProfile.WriteValue(DriverId, SpeedName, profileProperties.Speed.ToString(CultureInfo.InvariantCulture));
|
||||||
driverProfile.WriteValue(DriverId, DataBitsName, profileProperties.DataBits.ToString(CultureInfo.InvariantCulture));
|
driverProfile.WriteValue(DriverId, DataBitsName, profileProperties.DataBits.ToString(CultureInfo.InvariantCulture));
|
||||||
@@ -226,11 +242,15 @@ namespace ASCOM.Meade.net
|
|||||||
driverProfile.WriteValue(DriverId, ParkedBehaviourName, profileProperties.ParkedBehaviour.GetDescription());
|
driverProfile.WriteValue(DriverId, ParkedBehaviourName, profileProperties.ParkedBehaviour.GetDescription());
|
||||||
driverProfile.WriteValue(DriverId, ParkedAltName, profileProperties.ParkedAlt.ToString(CultureInfo.InvariantCulture));
|
driverProfile.WriteValue(DriverId, ParkedAltName, profileProperties.ParkedAlt.ToString(CultureInfo.InvariantCulture));
|
||||||
driverProfile.WriteValue(DriverId, ParkedAzimuthName, profileProperties.ParkedAz.ToString(CultureInfo.InvariantCulture));
|
driverProfile.WriteValue(DriverId, ParkedAzimuthName, profileProperties.ParkedAz.ToString(CultureInfo.InvariantCulture));
|
||||||
|
driverProfile.WriteValue(DriverId, FocalLengthName, profileProperties.FocalLength.ToString(CultureInfo.InvariantCulture));
|
||||||
|
driverProfile.WriteValue(DriverId, ApertureAreaName, profileProperties.ApertureArea.ToString(CultureInfo.InvariantCulture));
|
||||||
|
driverProfile.WriteValue(DriverId, ApertureDiameterName, profileProperties.ApertureDiameter.ToString(CultureInfo.InvariantCulture));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private const string ComPortDefault = "COM1";
|
private const string ComPortDefault = "COM1";
|
||||||
|
private const string TimeoutMsDefault = "5000";
|
||||||
private const string RtsDtrDefault = "false";
|
private const string RtsDtrDefault = "false";
|
||||||
private const string TraceStateDefault = "false";
|
private const string TraceStateDefault = "false";
|
||||||
private const string GuideRateProfileNameDefault = "10.077939"; //67% of sidereal rate
|
private const string GuideRateProfileNameDefault = "10.077939"; //67% of sidereal rate
|
||||||
@@ -250,6 +270,9 @@ namespace ASCOM.Meade.net
|
|||||||
private const string ParkedBehaviourDefault = "No Coordinates";
|
private const string ParkedBehaviourDefault = "No Coordinates";
|
||||||
private const string ParkedAltDefault = "0";
|
private const string ParkedAltDefault = "0";
|
||||||
private const string ParkedAzimuthDefault = "180";
|
private const string ParkedAzimuthDefault = "180";
|
||||||
|
private const string FocalLengthDefault = "2000";
|
||||||
|
private const string ApertureAreaDefault = "32685";
|
||||||
|
private const string ApertureDiameterDefault = "203";
|
||||||
|
|
||||||
public static ProfileProperties ReadProfile()
|
public static ProfileProperties ReadProfile()
|
||||||
{
|
{
|
||||||
@@ -260,26 +283,30 @@ namespace ASCOM.Meade.net
|
|||||||
{
|
{
|
||||||
driverProfile.DeviceType = "Telescope";
|
driverProfile.DeviceType = "Telescope";
|
||||||
profileProperties.ComPort = driverProfile.GetValue(DriverId, ComPortProfileName, string.Empty, ComPortDefault);
|
profileProperties.ComPort = driverProfile.GetValue(DriverId, ComPortProfileName, string.Empty, ComPortDefault);
|
||||||
profileProperties.RtsDtrEnabled = Convert.ToBoolean(driverProfile.GetValue(DriverId, RtsDtrProfileName, string.Empty, RtsDtrDefault));
|
profileProperties.TimeoutMs = driverProfile.GetValueInt(DriverId, TimeoutMsName, string.Empty, TimeoutMsDefault);
|
||||||
profileProperties.TraceLogger = Convert.ToBoolean(driverProfile.GetValue(DriverId, TraceStateProfileName, string.Empty, TraceStateDefault));
|
profileProperties.RtsDtrEnabled = driverProfile.GetValueBool(DriverId, RtsDtrProfileName, string.Empty, RtsDtrDefault);
|
||||||
profileProperties.GuideRateArcSecondsPerSecond = double.Parse(driverProfile.GetValue(DriverId, GuideRateProfileName, string.Empty, GuideRateProfileNameDefault), NumberFormatInfo.InvariantInfo);
|
profileProperties.TraceLogger = driverProfile.GetValueBool(DriverId, TraceStateProfileName, string.Empty, TraceStateDefault);
|
||||||
|
profileProperties.GuideRateArcSecondsPerSecond = driverProfile.GetValueDouble(DriverId, GuideRateProfileName, string.Empty, GuideRateProfileNameDefault);
|
||||||
profileProperties.Precision = driverProfile.GetValue(DriverId, PrecisionProfileName, string.Empty, PrecisionDefault);
|
profileProperties.Precision = driverProfile.GetValue(DriverId, PrecisionProfileName, string.Empty, PrecisionDefault);
|
||||||
profileProperties.GuidingStyle = driverProfile.GetValue(DriverId, GuidingStyleProfileName, string.Empty, GuidingStyleDefault);
|
profileProperties.GuidingStyle = driverProfile.GetValue(DriverId, GuidingStyleProfileName, string.Empty, GuidingStyleDefault);
|
||||||
profileProperties.BacklashCompensation = Convert.ToInt32(driverProfile.GetValue(DriverId, BacklashCompensationName, string.Empty, BacklashCompensationDefault));
|
profileProperties.BacklashCompensation = driverProfile.GetValueInt(DriverId, BacklashCompensationName, string.Empty, BacklashCompensationDefault);
|
||||||
profileProperties.ReverseFocusDirection = Convert.ToBoolean(driverProfile.GetValue(DriverId, ReverseFocusDirectionName, string.Empty, ReverseFocuserDiectionDefault));
|
profileProperties.ReverseFocusDirection = driverProfile.GetValueBool(DriverId, ReverseFocusDirectionName, string.Empty, ReverseFocuserDiectionDefault);
|
||||||
profileProperties.DynamicBreaking = Convert.ToBoolean(driverProfile.GetValue(DriverId, DynamicBreakingName, string.Empty, DynamicBreakingDefault));
|
profileProperties.DynamicBreaking = driverProfile.GetValueBool(DriverId, DynamicBreakingName, string.Empty, DynamicBreakingDefault);
|
||||||
profileProperties.SiteElevation = Convert.ToInt32(driverProfile.GetValue(DriverId, SiteElevationName, string.Empty, SiteElevationDefault));
|
profileProperties.SiteElevation = driverProfile.GetValueInt(DriverId, SiteElevationName, string.Empty, SiteElevationDefault);
|
||||||
profileProperties.SettleTime = Convert.ToInt16(driverProfile.GetValue(DriverId, SettleTimeName, string.Empty, SettleTimeDefault));
|
profileProperties.SettleTime = driverProfile.GetValueShort(DriverId, SettleTimeName, string.Empty, SettleTimeDefault);
|
||||||
profileProperties.StopBits = driverProfile.GetValue(DriverId, StopBitsName, string.Empty, StopBitsDefault);
|
profileProperties.StopBits = driverProfile.GetValue(DriverId, StopBitsName, string.Empty, StopBitsDefault);
|
||||||
profileProperties.DataBits = Convert.ToInt32(driverProfile.GetValue(DriverId, DataBitsName, string.Empty, DataBitsDefault));
|
profileProperties.DataBits = driverProfile.GetValueInt(DriverId, DataBitsName, string.Empty, DataBitsDefault);
|
||||||
profileProperties.Handshake = driverProfile.GetValue(DriverId, HandShakeName, string.Empty, HandShakeDefault);
|
profileProperties.Handshake = driverProfile.GetValue(DriverId, HandShakeName, string.Empty, HandShakeDefault);
|
||||||
profileProperties.Speed = Convert.ToInt32(driverProfile.GetValue(DriverId, SpeedName, string.Empty, SpeedDefault));
|
profileProperties.Speed = driverProfile.GetValueInt(DriverId, SpeedName, string.Empty, SpeedDefault);
|
||||||
profileProperties.Parity = driverProfile.GetValue(DriverId, ParityName, string.Empty, ParityDefault);
|
profileProperties.Parity = driverProfile.GetValue(DriverId, ParityName, string.Empty, ParityDefault);
|
||||||
profileProperties.SendDateTime = Convert.ToBoolean(driverProfile.GetValue(DriverId, SendDateTimeName, string.Empty, SendDateTimeDefault));
|
profileProperties.SendDateTime = driverProfile.GetValueBool(DriverId, SendDateTimeName, string.Empty, SendDateTimeDefault);
|
||||||
|
|
||||||
profileProperties.ParkedBehaviour = EnumExtensionMethods.GetValueFromDescription<ParkedBehaviour>(driverProfile.GetValue(DriverId, ParkedBehaviourName, string.Empty, ParkedBehaviourDefault));
|
profileProperties.ParkedBehaviour = EnumExtensionMethods.GetValueFromDescription<ParkedBehaviour>(driverProfile.GetValue(DriverId, ParkedBehaviourName, string.Empty, ParkedBehaviourDefault));
|
||||||
profileProperties.ParkedAlt = double.Parse(driverProfile.GetValue(DriverId, ParkedAltName, string.Empty, ParkedAltDefault), NumberFormatInfo.InvariantInfo);
|
profileProperties.ParkedAlt = driverProfile.GetValueDouble(DriverId, ParkedAltName, string.Empty, ParkedAltDefault);
|
||||||
profileProperties.ParkedAz = double.Parse(driverProfile.GetValue(DriverId, ParkedAzimuthName, string.Empty, ParkedAzimuthDefault), NumberFormatInfo.InvariantInfo);
|
profileProperties.ParkedAz = driverProfile.GetValueDouble(DriverId, ParkedAzimuthName, string.Empty, ParkedAzimuthDefault);
|
||||||
|
profileProperties.FocalLength = driverProfile.GetValueDouble(DriverId, FocalLengthName, string.Empty, FocalLengthDefault);
|
||||||
|
profileProperties.ApertureArea = driverProfile.GetValueDouble(DriverId, ApertureAreaName, string.Empty, ApertureAreaDefault);
|
||||||
|
profileProperties.ApertureDiameter = driverProfile.GetValueDouble(DriverId, ApertureDiameterName, string.Empty, ApertureDiameterDefault);
|
||||||
}
|
}
|
||||||
|
|
||||||
return profileProperties;
|
return profileProperties;
|
||||||
@@ -377,14 +404,86 @@ namespace ASCOM.Meade.net
|
|||||||
SharedSerial.DataBits = profileProperties.DataBits;
|
SharedSerial.DataBits = profileProperties.DataBits;
|
||||||
SharedSerial.StopBits = (SerialStopBits)Enum.Parse(typeof(SerialStopBits), profileProperties.StopBits);
|
SharedSerial.StopBits = (SerialStopBits)Enum.Parse(typeof(SerialStopBits), profileProperties.StopBits);
|
||||||
SharedSerial.Parity = (SerialParity)Enum.Parse(typeof(SerialParity), profileProperties.Parity);
|
SharedSerial.Parity = (SerialParity)Enum.Parse(typeof(SerialParity), profileProperties.Parity);
|
||||||
SharedSerial.Speed = (SerialSpeed)profileProperties.Speed;
|
|
||||||
SharedSerial.Handshake = (SerialHandshake)Enum.Parse(typeof(SerialHandshake), profileProperties.Handshake);
|
SharedSerial.Handshake = (SerialHandshake)Enum.Parse(typeof(SerialHandshake), profileProperties.Handshake);
|
||||||
|
SharedSerial.ReceiveTimeoutMs = profileProperties.TimeoutMs;
|
||||||
|
SharedSerial.Speed = SerialSpeed.ps9600;
|
||||||
|
|
||||||
|
var wantedSpeed = (SerialSpeed)profileProperties.Speed;
|
||||||
|
if (wantedSpeed != SerialSpeed.ps9600)
|
||||||
|
{
|
||||||
|
SharedSerial.Speed = wantedSpeed;
|
||||||
|
SharedSerial.Connected = true;
|
||||||
|
|
||||||
|
var speedRampNeeded = false;
|
||||||
|
|
||||||
|
//Test if communication is working.
|
||||||
|
try
|
||||||
|
{
|
||||||
|
string utcOffSet = SendString( traceLogger, "GG");
|
||||||
|
}
|
||||||
|
catch (Exception)
|
||||||
|
{
|
||||||
|
speedRampNeeded = true;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (speedRampNeeded)
|
||||||
|
{
|
||||||
|
SharedSerial.Connected = false;
|
||||||
|
SharedSerial.Speed = SerialSpeed.ps9600;
|
||||||
|
SharedSerial.Connected = true;
|
||||||
|
|
||||||
|
int newSpeedIndex = GetSpeedIndex(wantedSpeed);
|
||||||
|
//:SBn# Set Baud Rate n, where n is an ASCII digit (1..9) with the following interpertation
|
||||||
|
// 1 56.7K
|
||||||
|
// 2 38.4K
|
||||||
|
// 3 28.8K
|
||||||
|
// 4 19.2K
|
||||||
|
// 5 14.4K
|
||||||
|
// 6 9600
|
||||||
|
// 7 4800
|
||||||
|
// 8 2400
|
||||||
|
// 9 1200
|
||||||
|
//Returns:
|
||||||
|
// 1 At the current baud rate and then changes to the new rate for further communication
|
||||||
|
//SendBlind($"SB{newSpeedIndex}");
|
||||||
|
try
|
||||||
|
{
|
||||||
|
var speedChanged = SendChar(traceLogger, $"SB{newSpeedIndex}");
|
||||||
|
if (speedChanged == "1")
|
||||||
|
{
|
||||||
|
SharedSerial.Connected = false;
|
||||||
|
SharedSerial.Speed = wantedSpeed;
|
||||||
|
traceLogger.LogIssue("Connect",
|
||||||
|
$"Telescope serial port speed change, connecting at {SharedSerial.Speed}.");
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
throw new Exception("Autostar not signalled speed change.");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
catch (Exception)
|
||||||
|
{
|
||||||
|
SharedSerial.Connected = false;
|
||||||
|
SharedSerial.Speed = SerialSpeed.ps9600;
|
||||||
|
traceLogger.LogIssue("Connect", $"Telescope not responding to speed change, connecting at {SharedSerial.Speed}.");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
SharedSerial.Connected = true;
|
SharedSerial.Connected = true;
|
||||||
|
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
ProductName = SendString("GVP");
|
ProductName = SendString(traceLogger, "GVP");
|
||||||
FirmwareVersion = SendString("GVN");
|
FirmwareVersion = SendString(traceLogger, "GVN");
|
||||||
|
|
||||||
|
//LXD600 mount uses LX-200 based firmware. When both above commands are sent to the scope,
|
||||||
|
//they both return the "6.12S" string.
|
||||||
|
//There may be other values of the string applicable to LXD600 mount or other values of the string
|
||||||
|
//may allow identify LXD650/LXD700 or other scopes. May require further adjustments.
|
||||||
|
if (String.Equals(ProductName, FirmwareVersion) && String.Equals(ProductName, TelescopeList.LXD600_6_12S))
|
||||||
|
{
|
||||||
|
ProductName = TelescopeList.LXD600;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
catch (Exception ex)
|
catch (Exception ex)
|
||||||
{
|
{
|
||||||
@@ -404,7 +503,7 @@ namespace ASCOM.Meade.net
|
|||||||
|
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
string utcOffSet = SendString("GG");
|
string utcOffSet = SendString(traceLogger, "GG");
|
||||||
//:GG# Get UTC offset time
|
//:GG# Get UTC offset time
|
||||||
//Returns: sHH# or sHH.H#
|
//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
|
//The number of decimal hours to add to local time to convert it to UTC. If the number is a whole number the
|
||||||
@@ -439,6 +538,23 @@ namespace ASCOM.Meade.net
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private static int GetSpeedIndex(SerialSpeed speed)
|
||||||
|
{
|
||||||
|
switch (speed)
|
||||||
|
{
|
||||||
|
case SerialSpeed.ps57600: return 1;
|
||||||
|
case SerialSpeed.ps38400: return 2;
|
||||||
|
case SerialSpeed.ps28800: return 3;
|
||||||
|
case SerialSpeed.ps19200: return 4;
|
||||||
|
case SerialSpeed.ps14400: return 5;
|
||||||
|
case SerialSpeed.ps9600: return 6;
|
||||||
|
case SerialSpeed.ps4800: return 7;
|
||||||
|
case SerialSpeed.ps2400: return 8;
|
||||||
|
case SerialSpeed.ps1200: return 9;
|
||||||
|
default: throw new NotSupportedException($"{SpeedDefault} not supported");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
public static void Disconnect(string deviceId, string driverId)
|
public static void Disconnect(string deviceId, string driverId)
|
||||||
{
|
{
|
||||||
lock (LockObject)
|
lock (LockObject)
|
||||||
@@ -475,23 +591,7 @@ namespace ASCOM.Meade.net
|
|||||||
}
|
}
|
||||||
|
|
||||||
#endregion
|
#endregion
|
||||||
|
|
||||||
public static void Lock(Action action)
|
|
||||||
{
|
|
||||||
lock (LockObject)
|
|
||||||
{
|
|
||||||
action();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
public static T Lock<T>(Func<T> func)
|
|
||||||
{
|
|
||||||
lock (LockObject)
|
|
||||||
{
|
|
||||||
return func();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Skeleton of a hardware class, all this does is hold a count of the connections,
|
/// Skeleton of a hardware class, all this does is hold a count of the connections,
|
||||||
/// in reality extra code will be needed to handle the hardware in some way
|
/// in reality extra code will be needed to handle the hardware in some way
|
||||||
@@ -506,10 +606,25 @@ namespace ASCOM.Meade.net
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public static void SetParked(bool atPark, ParkedPosition parkedPosition)
|
public static void SetParked(bool atPark, ParkedPosition parkedPosition, bool restartTracking)
|
||||||
{
|
{
|
||||||
IsParked = atPark;
|
IsParked = atPark;
|
||||||
ParkedPosition = parkedPosition;
|
ParkedPosition = parkedPosition;
|
||||||
|
RestartTracking = restartTracking;
|
||||||
|
}
|
||||||
|
|
||||||
|
private static readonly ThreadSafeValue<bool> _restartTracking = false;
|
||||||
|
public static bool RestartTracking
|
||||||
|
{
|
||||||
|
get => _restartTracking;
|
||||||
|
private set => _restartTracking.Set(value);
|
||||||
|
}
|
||||||
|
|
||||||
|
private static ParkedPosition _parkedPosition;
|
||||||
|
public static ParkedPosition ParkedPosition
|
||||||
|
{
|
||||||
|
get => _parkedPosition;
|
||||||
|
private set => Interlocked.Exchange(ref _parkedPosition, value);
|
||||||
}
|
}
|
||||||
|
|
||||||
private static readonly ThreadSafeValue<bool> _isParked = false;
|
private static readonly ThreadSafeValue<bool> _isParked = false;
|
||||||
@@ -519,11 +634,11 @@ namespace ASCOM.Meade.net
|
|||||||
private set => _isParked.Set(value);
|
private set => _isParked.Set(value);
|
||||||
}
|
}
|
||||||
|
|
||||||
private static ParkedPosition _parkedPosition;
|
private static readonly ThreadSafeValue<AlignmentModes> _alignmentMode = AlignmentModes.algAltAz;
|
||||||
public static ParkedPosition ParkedPosition
|
public static AlignmentModes AlignmentMode
|
||||||
{
|
{
|
||||||
get => _parkedPosition;
|
get => _alignmentMode;
|
||||||
private set => Interlocked.Exchange(ref _parkedPosition, value);
|
set => _alignmentMode.Set(value);
|
||||||
}
|
}
|
||||||
|
|
||||||
private static readonly ThreadSafeValue<PierSide> _sideOfPier = PierSide.pierUnknown;
|
private static readonly ThreadSafeValue<PierSide> _sideOfPier = PierSide.pierUnknown;
|
||||||
|
|||||||
@@ -4,6 +4,7 @@
|
|||||||
{
|
{
|
||||||
#region Autostar 497/Audiostar
|
#region Autostar 497/Audiostar
|
||||||
|
|
||||||
|
public const string Audiostar = "Audiostar"; //This is a synonym for Autostar which can be returned by some of the Audiostar firmware revisions A1f7
|
||||||
public const string Autostar497 = "Autostar";
|
public const string Autostar497 = "Autostar";
|
||||||
|
|
||||||
//Autostar/Audiostar firmware revisions
|
//Autostar/Audiostar firmware revisions
|
||||||
@@ -14,6 +15,8 @@
|
|||||||
// ReSharper disable once InconsistentNaming
|
// ReSharper disable once InconsistentNaming
|
||||||
public const string Autostar497_43Eg = "43Eg";
|
public const string Autostar497_43Eg = "43Eg";
|
||||||
|
|
||||||
|
// ReSharper disable once InconsistentNaming
|
||||||
|
public const string AudioStar_A1F7 = "A1F7";
|
||||||
// ReSharper disable once InconsistentNaming
|
// ReSharper disable once InconsistentNaming
|
||||||
public const string AudioStar_A4S4 = "A4S4";
|
public const string AudioStar_A4S4 = "A4S4";
|
||||||
#endregion
|
#endregion
|
||||||
@@ -23,13 +26,38 @@
|
|||||||
// ReSharper disable once InconsistentNaming
|
// ReSharper disable once InconsistentNaming
|
||||||
public const string LX200GPS = "LX2001";
|
public const string LX200GPS = "LX2001";
|
||||||
|
|
||||||
|
public const string LX200GPS_42F = "4.2f";
|
||||||
// ReSharper disable once InconsistentNaming
|
// ReSharper disable once InconsistentNaming
|
||||||
public const string LX200GPS_42G = "4.2G";
|
public const string LX200GPS_42G = "4.2g";
|
||||||
|
|
||||||
|
public const string LX200GPS_4G0M = "4G0m";
|
||||||
|
#endregion
|
||||||
|
|
||||||
|
#region LX800
|
||||||
|
public const string LX800 = "LX800";
|
||||||
|
|
||||||
|
public const string LX800_11i = "1.1i";
|
||||||
|
|
||||||
#endregion
|
#endregion
|
||||||
|
|
||||||
#region LX200EMC
|
#region LX200EMC
|
||||||
// ReSharper disable once InconsistentNaming
|
// ReSharper disable once InconsistentNaming
|
||||||
public const string LX200CLASSIC = "LX200 Classic"; //GVP command is not supported!
|
public const string LX200CLASSIC = "LX200 Classic"; //GVP command is not supported!
|
||||||
#endregion
|
#endregion
|
||||||
|
|
||||||
|
#region LXD600
|
||||||
|
public const string LXD600 = "LXD600";
|
||||||
|
|
||||||
|
public const string LXD600_6_12S = "6.12S";
|
||||||
|
|
||||||
|
#endregion
|
||||||
|
|
||||||
|
#region RCX400
|
||||||
|
// ReSharper disable once InconsistentNaming
|
||||||
|
public const string RCX400 = "RCX400";
|
||||||
|
|
||||||
|
public const string RCX400_22I = "2.2i";
|
||||||
|
|
||||||
|
#endregion
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -0,0 +1,28 @@
|
|||||||
|
using System;
|
||||||
|
|
||||||
|
namespace ASCOM.Meade.net.Wrapper
|
||||||
|
{
|
||||||
|
public class GetValueException : Exception
|
||||||
|
{
|
||||||
|
public GetValueException(
|
||||||
|
string driverId,
|
||||||
|
string name,
|
||||||
|
string subKey,
|
||||||
|
string defaultValue,
|
||||||
|
Exception innerException
|
||||||
|
) : base ( $"Error getting value {name} from driver {driverId} in {subKey} and default value {defaultValue} cannot be used.", innerException)
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
public GetValueException(
|
||||||
|
string driverId,
|
||||||
|
string name,
|
||||||
|
string subKey,
|
||||||
|
string defaultValue,
|
||||||
|
string value,
|
||||||
|
Exception innerException):
|
||||||
|
base($"Error converting value {name} from {value}", innerException)
|
||||||
|
{
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -1,5 +1,6 @@
|
|||||||
using System;
|
using System;
|
||||||
using System.Collections;
|
using System.Collections;
|
||||||
|
using System.Globalization;
|
||||||
using ASCOM.Utilities;
|
using ASCOM.Utilities;
|
||||||
using ASCOM.Utilities.Interfaces;
|
using ASCOM.Utilities.Interfaces;
|
||||||
|
|
||||||
@@ -7,7 +8,11 @@ namespace ASCOM.Meade.net.Wrapper
|
|||||||
{
|
{
|
||||||
public interface IProfileWrapper : IProfile, IProfileExtra, IDisposable
|
public interface IProfileWrapper : IProfile, IProfileExtra, IDisposable
|
||||||
{
|
{
|
||||||
|
int GetValueInt(string driverId, string name, string subKey, string defaultValue);
|
||||||
|
short GetValueShort(string driverId, string name, string subKey, string defaultValue);
|
||||||
|
|
||||||
|
bool GetValueBool(string driverId, string name, string subKey, string defaultValue);
|
||||||
|
double GetValueDouble(string driverId, string name, string subKey, string defaultValue);
|
||||||
}
|
}
|
||||||
|
|
||||||
public class ProfileWrapper : IProfileWrapper
|
public class ProfileWrapper : IProfileWrapper
|
||||||
@@ -36,7 +41,68 @@ namespace ASCOM.Meade.net.Wrapper
|
|||||||
|
|
||||||
public string GetValue(string driverId, string name, string subKey, string defaultValue)
|
public string GetValue(string driverId, string name, string subKey, string defaultValue)
|
||||||
{
|
{
|
||||||
return _profile.GetValue(driverId, name, subKey, defaultValue);
|
try
|
||||||
|
{
|
||||||
|
return _profile.GetValue(driverId, name, subKey, defaultValue);
|
||||||
|
}
|
||||||
|
catch (Exception e)
|
||||||
|
{
|
||||||
|
throw new GetValueException(driverId, name, subKey, defaultValue, e);
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
public int GetValueInt(string driverId, string name, string subKey, string defaultValue)
|
||||||
|
{
|
||||||
|
var value = GetValue(driverId, name, subKey, defaultValue);
|
||||||
|
try
|
||||||
|
{
|
||||||
|
return int.Parse(value, CultureInfo.InvariantCulture);
|
||||||
|
}
|
||||||
|
catch (Exception e)
|
||||||
|
{
|
||||||
|
throw new GetValueException(driverId, name, subKey, defaultValue, value, e);
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
public short GetValueShort(string driverId, string name, string subKey, string defaultValue)
|
||||||
|
{
|
||||||
|
var value = GetValue(driverId, name, subKey, defaultValue);
|
||||||
|
try
|
||||||
|
{
|
||||||
|
return short.Parse(value, CultureInfo.InvariantCulture);
|
||||||
|
}
|
||||||
|
catch (Exception e)
|
||||||
|
{
|
||||||
|
throw new GetValueException(driverId, name, subKey, defaultValue, value, e);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public bool GetValueBool(string driverId, string name, string subKey, string defaultValue)
|
||||||
|
{
|
||||||
|
var value = GetValue(driverId, name, subKey, defaultValue);
|
||||||
|
try
|
||||||
|
{
|
||||||
|
return bool.Parse(value);
|
||||||
|
}
|
||||||
|
catch (Exception e)
|
||||||
|
{
|
||||||
|
throw new GetValueException(driverId, name, subKey, defaultValue, value, e);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public double GetValueDouble(string driverId, string name, string subKey, string defaultValue)
|
||||||
|
{
|
||||||
|
var value = GetValue(driverId, name, subKey, defaultValue);
|
||||||
|
try
|
||||||
|
{
|
||||||
|
return double.Parse(value, CultureInfo.InvariantCulture);
|
||||||
|
}
|
||||||
|
catch (Exception e)
|
||||||
|
{
|
||||||
|
throw new GetValueException(driverId, name, subKey, defaultValue, value, e);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public void WriteValue(string driverId, string name, string value, string subKey)
|
public void WriteValue(string driverId, string name, string value, string subKey)
|
||||||
|
|||||||
@@ -12,15 +12,12 @@ namespace ASCOM.Meade.net.Wrapper
|
|||||||
string ProductName { get; }
|
string ProductName { get; }
|
||||||
|
|
||||||
string FirmwareVersion { get; }
|
string FirmwareVersion { get; }
|
||||||
|
|
||||||
void Lock(Action action);
|
string SendString(ITraceLogger traceLogger, string message, bool raw = false);
|
||||||
T Lock<T>(Func<T> func);
|
void SendBlind(ITraceLogger traceLogger, string message, bool raw = false);
|
||||||
|
bool SendBool(ITraceLogger traceLogger, string command, bool raw = false);
|
||||||
string SendString(string message, bool raw = false);
|
string SendChar(ITraceLogger traceLogger, string message, bool raw = false);
|
||||||
void SendBlind(string message, bool raw = false);
|
string SendChars(ITraceLogger traceLogger, string message, bool raw = false, int count = 1);
|
||||||
bool SendBool(string command, bool raw = false);
|
|
||||||
string SendChar(string message, bool raw = false);
|
|
||||||
string SendChars(string message, bool raw = false, int count = 1);
|
|
||||||
|
|
||||||
string ReadTerminated();
|
string ReadTerminated();
|
||||||
|
|
||||||
@@ -30,11 +27,11 @@ namespace ASCOM.Meade.net.Wrapper
|
|||||||
void WriteProfile(ProfileProperties profileProperties);
|
void WriteProfile(ProfileProperties profileProperties);
|
||||||
void ReadCharacters(int throwAwayCharacters);
|
void ReadCharacters(int throwAwayCharacters);
|
||||||
|
|
||||||
void SetParked(bool atPark, ParkedPosition parkedPosition);
|
void SetParked(bool atPark, ParkedPosition parkedPosition, bool restartTracking);
|
||||||
bool IsParked { get; }
|
bool IsParked { get; }
|
||||||
ParkedPosition ParkedPosition { get; }
|
ParkedPosition ParkedPosition { get; }
|
||||||
|
bool RestartTracking { get; }
|
||||||
PierSide SideOfPier { get; set; }
|
|
||||||
double? TargetRightAscension { get; set; }
|
double? TargetRightAscension { get; set; }
|
||||||
double? TargetDeclination { get; set; }
|
double? TargetDeclination { get; set; }
|
||||||
|
|
||||||
@@ -69,39 +66,29 @@ namespace ASCOM.Meade.net.Wrapper
|
|||||||
|
|
||||||
public string FirmwareVersion => SharedResources.FirmwareVersion;
|
public string FirmwareVersion => SharedResources.FirmwareVersion;
|
||||||
|
|
||||||
public void Lock(Action action)
|
public string SendString(ITraceLogger traceLogger, string message, bool raw = false)
|
||||||
{
|
{
|
||||||
SharedResources.Lock(action);
|
return SharedResources.SendString(traceLogger, message, raw);
|
||||||
}
|
}
|
||||||
|
|
||||||
public T Lock<T>(Func<T> func)
|
public void SendBlind(ITraceLogger traceLogger, string message, bool raw = false)
|
||||||
{
|
{
|
||||||
return SharedResources.Lock(func);
|
SharedResources.SendBlind(traceLogger, message, raw);
|
||||||
}
|
}
|
||||||
|
|
||||||
public string SendString(string message, bool raw = false)
|
public bool SendBool(ITraceLogger traceLogger, string command, bool raw = false)
|
||||||
{
|
{
|
||||||
return SharedResources.SendString(message, raw);
|
return SharedResources.SendBool(traceLogger, command, raw);
|
||||||
}
|
}
|
||||||
|
|
||||||
public void SendBlind(string message, bool raw = false)
|
public string SendChar(ITraceLogger traceLogger, string message, bool raw = false)
|
||||||
{
|
{
|
||||||
SharedResources.SendBlind(message, raw);
|
return SharedResources.SendChar(traceLogger, message, raw);
|
||||||
}
|
}
|
||||||
|
|
||||||
public bool SendBool(string command, bool raw = false)
|
public string SendChars(ITraceLogger traceLogger, string message, bool raw = false, int count = 1)
|
||||||
{
|
{
|
||||||
return SharedResources.SendBool(command, raw);
|
return SharedResources.SendChars(traceLogger, message, raw, count);
|
||||||
}
|
|
||||||
|
|
||||||
public string SendChar(string message, bool raw = false)
|
|
||||||
{
|
|
||||||
return SharedResources.SendChar(message, raw);
|
|
||||||
}
|
|
||||||
|
|
||||||
public string SendChars(string message, bool raw = false, int count = 1)
|
|
||||||
{
|
|
||||||
return SharedResources.SendChars(message, raw, count);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public string ReadTerminated()
|
public string ReadTerminated()
|
||||||
@@ -129,13 +116,15 @@ namespace ASCOM.Meade.net.Wrapper
|
|||||||
SharedResources.WriteProfile(profileProperties);
|
SharedResources.WriteProfile(profileProperties);
|
||||||
}
|
}
|
||||||
|
|
||||||
public void SetParked(bool atPark, ParkedPosition parkedPosition)
|
public void SetParked(bool atPark, ParkedPosition parkedPosition, bool restartTracking)
|
||||||
{
|
{
|
||||||
SharedResources.SetParked(atPark, parkedPosition);
|
SharedResources.SetParked(atPark, parkedPosition, restartTracking);
|
||||||
}
|
}
|
||||||
|
|
||||||
public bool IsParked => SharedResources.IsParked;
|
public bool IsParked => SharedResources.IsParked;
|
||||||
|
|
||||||
|
public bool RestartTracking => SharedResources.RestartTracking;
|
||||||
|
|
||||||
public ParkedPosition ParkedPosition => SharedResources.ParkedPosition;
|
public ParkedPosition ParkedPosition => SharedResources.ParkedPosition;
|
||||||
|
|
||||||
public PierSide SideOfPier
|
public PierSide SideOfPier
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
<?xml version="1.0" encoding="utf-8"?>
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
<packages>
|
<packages>
|
||||||
<package id="ASCOM.Platform" version="6.5.1" targetFramework="net472" />
|
<package id="ASCOM.Platform" version="6.5.2" targetFramework="net472" />
|
||||||
<package id="JetBrains.Annotations" version="2020.3.0" targetFramework="net472" />
|
<package id="JetBrains.Annotations" version="2022.3.1" targetFramework="net472" />
|
||||||
</packages>
|
</packages>
|
||||||
@@ -10,7 +10,7 @@
|
|||||||
<AppDesignerFolder>Properties</AppDesignerFolder>
|
<AppDesignerFolder>Properties</AppDesignerFolder>
|
||||||
<RootNamespace>ASCOM.Meade.net</RootNamespace>
|
<RootNamespace>ASCOM.Meade.net</RootNamespace>
|
||||||
<AssemblyName>ASCOM.Meade.net.Test</AssemblyName>
|
<AssemblyName>ASCOM.Meade.net.Test</AssemblyName>
|
||||||
<TargetFrameworkVersion>v4.5</TargetFrameworkVersion>
|
<TargetFrameworkVersion>v4.8</TargetFrameworkVersion>
|
||||||
<TargetFrameworkProfile>
|
<TargetFrameworkProfile>
|
||||||
</TargetFrameworkProfile>
|
</TargetFrameworkProfile>
|
||||||
<FileAlignment>512</FileAlignment>
|
<FileAlignment>512</FileAlignment>
|
||||||
@@ -59,8 +59,8 @@
|
|||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<Reference Include="ASCOM.DeviceInterfaces, Version=6.0.0.0, Culture=neutral, PublicKeyToken=565de7938946fba7, processorArchitecture=MSIL" />
|
<Reference Include="ASCOM.DeviceInterfaces, Version=6.0.0.0, Culture=neutral, PublicKeyToken=565de7938946fba7, processorArchitecture=MSIL" />
|
||||||
<Reference Include="ASCOM.DriverAccess, Version=6.0.0.0, Culture=neutral, PublicKeyToken=565de7938946fba7, processorArchitecture=MSIL" />
|
<Reference Include="ASCOM.DriverAccess, Version=6.0.0.0, Culture=neutral, PublicKeyToken=565de7938946fba7, processorArchitecture=MSIL" />
|
||||||
<Reference Include="JetBrains.Annotations, Version=2020.3.0.0, Culture=neutral, PublicKeyToken=1010a0d8d6380325, processorArchitecture=MSIL">
|
<Reference Include="JetBrains.Annotations, Version=4242.42.42.42, Culture=neutral, PublicKeyToken=1010a0d8d6380325, processorArchitecture=MSIL">
|
||||||
<HintPath>..\packages\JetBrains.Annotations.2020.3.0\lib\net20\JetBrains.Annotations.dll</HintPath>
|
<HintPath>..\packages\JetBrains.Annotations.2022.3.1\lib\net20\JetBrains.Annotations.dll</HintPath>
|
||||||
</Reference>
|
</Reference>
|
||||||
<Reference Include="System" />
|
<Reference Include="System" />
|
||||||
<Reference Include="System.Core" />
|
<Reference Include="System.Core" />
|
||||||
|
|||||||
@@ -1,3 +1,3 @@
|
|||||||
<?xml version="1.0"?>
|
<?xml version="1.0"?>
|
||||||
<configuration>
|
<configuration>
|
||||||
<startup><supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5"/></startup></configuration>
|
<startup><supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.8"/></startup></configuration>
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
<?xml version="1.0" encoding="utf-8"?>
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
<packages>
|
<packages>
|
||||||
<package id="JetBrains.Annotations" version="2020.3.0" targetFramework="net45" />
|
<package id="JetBrains.Annotations" version="2022.3.1" targetFramework="net48" />
|
||||||
</packages>
|
</packages>
|
||||||
Reference in New Issue
Block a user