Merge remote-tracking branch 'origin/Dev_MagFlux'
This commit is contained in:
+468
-133
@@ -73,8 +73,6 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "RequestProtocol", "Hardware
|
||||
EndProject
|
||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "StreamingProtocol", "Hardware\WaterMeter\Genesis\Protocols\StreamingProtocol\StreamingProtocol.csproj", "{29617814-313E-409E-AA5D-59C78A9D4DF1}"
|
||||
EndProject
|
||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ProtocolCore", "Hardware\WaterMeter\Genesis\Protocols\ProtocolCore\ProtocolCore.csproj", "{8BDD2789-96D4-43EA-AAD7-0F49D0347998}"
|
||||
EndProject
|
||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "PortCore", "Hardware\Interfaces\Ports\PortCore\PortCore.csproj", "{2E139F63-B6FE-4EA9-A098-85364FE9B26C}"
|
||||
EndProject
|
||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SerialPorts", "Hardware\Interfaces\Ports\SerialPorts\SerialPorts.csproj", "{72037E89-4F63-4B3F-BEFF-4138E578CE99}"
|
||||
@@ -161,7 +159,19 @@ Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "MjkControlledCodeRef", "Mjk
|
||||
EndProject
|
||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "modbus_master_csharp", "..\..\..\MJK\Code\C#\modbus_master_csharp\src\modbus_master_csharp\modbus_master_csharp.csproj", "{F14940F8-3C86-4BB7-A915-B021E4B3052D}"
|
||||
EndProject
|
||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "MagFluxToolBox", "MagFluxToolBox\MagFluxToolBox.csproj", "{FD55E1DE-E2C9-496A-B4E0-DC81A54F8F43}"
|
||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "MagFluxToolBox", "Ui\MagFluxToolBox\MagFluxToolBox.csproj", "{A5E7CE52-3101-4E9B-B896-C2C0FADE4812}"
|
||||
EndProject
|
||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "MagFluxConfig", "Hardware\WaterMeter\MagFlux\MagFluxConfig\MagFluxConfig.csproj", "{70398B99-B134-4BBD-968B-7399B70C3CE2}"
|
||||
EndProject
|
||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "MagFluxCore", "Hardware\WaterMeter\MagFlux\MagFluxCore\MagFluxCore.csproj", "{B5DA260C-71CC-45CA-B79E-D1B376AF718C}"
|
||||
EndProject
|
||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "RequestProtocol", "Hardware\WaterMeter\MagFlux\Protocols\RequestProtocol\RequestProtocol.csproj", "{00748F11-4B49-4D8B-93C4-4A11A210CCE2}"
|
||||
EndProject
|
||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "StreamingProtocol", "Hardware\WaterMeter\MagFlux\Protocols\StreamingProtocol\StreamingProtocol.csproj", "{D6B81C60-2763-4C4D-989F-90822F53B01A}"
|
||||
EndProject
|
||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "DataPackages", "Hardware\WaterMeter\MagFlux\DataPackages\DataPackages.csproj", "{BA17D20E-0CEB-4B27-9772-2392BD750ED5}"
|
||||
EndProject
|
||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ProtocolCore", "Hardware\Interfaces\Protocols\ProtocolCore\ProtocolCore.csproj", "{8BDD2789-96D4-43EA-AAD7-0F49D0347998}"
|
||||
EndProject
|
||||
Global
|
||||
GlobalSection(SharedMSBuildProjectFiles) = preSolution
|
||||
@@ -1223,70 +1233,6 @@ Global
|
||||
{29617814-313E-409E-AA5D-59C78A9D4DF1}.XP32bit|x64.Build.0 = XP32bit|x64
|
||||
{29617814-313E-409E-AA5D-59C78A9D4DF1}.XP32bit|x86.ActiveCfg = XP32bit|x86
|
||||
{29617814-313E-409E-AA5D-59C78A9D4DF1}.XP32bit|x86.Build.0 = XP32bit|x86
|
||||
{8BDD2789-96D4-43EA-AAD7-0F49D0347998}._MANUAL_CONTROL|Any CPU.ActiveCfg = _MANUAL_CONTROL|Any CPU
|
||||
{8BDD2789-96D4-43EA-AAD7-0F49D0347998}._MANUAL_CONTROL|Any CPU.Build.0 = _MANUAL_CONTROL|Any CPU
|
||||
{8BDD2789-96D4-43EA-AAD7-0F49D0347998}._MANUAL_CONTROL|Mixed Platforms.ActiveCfg = _MANUAL_CONTROL|x86
|
||||
{8BDD2789-96D4-43EA-AAD7-0F49D0347998}._MANUAL_CONTROL|Mixed Platforms.Build.0 = _MANUAL_CONTROL|x86
|
||||
{8BDD2789-96D4-43EA-AAD7-0F49D0347998}._MANUAL_CONTROL|x64.ActiveCfg = _MANUAL_CONTROL|x64
|
||||
{8BDD2789-96D4-43EA-AAD7-0F49D0347998}._MANUAL_CONTROL|x64.Build.0 = _MANUAL_CONTROL|x64
|
||||
{8BDD2789-96D4-43EA-AAD7-0F49D0347998}._MANUAL_CONTROL|x86.ActiveCfg = _MANUAL_CONTROL|x86
|
||||
{8BDD2789-96D4-43EA-AAD7-0F49D0347998}._MANUAL_CONTROL|x86.Build.0 = _MANUAL_CONTROL|x86
|
||||
{8BDD2789-96D4-43EA-AAD7-0F49D0347998}.COM|Any CPU.ActiveCfg = PerformTest|Any CPU
|
||||
{8BDD2789-96D4-43EA-AAD7-0F49D0347998}.COM|Any CPU.Build.0 = PerformTest|Any CPU
|
||||
{8BDD2789-96D4-43EA-AAD7-0F49D0347998}.COM|Mixed Platforms.ActiveCfg = PerformTest|x86
|
||||
{8BDD2789-96D4-43EA-AAD7-0F49D0347998}.COM|Mixed Platforms.Build.0 = PerformTest|x86
|
||||
{8BDD2789-96D4-43EA-AAD7-0F49D0347998}.COM|x64.ActiveCfg = PerformTest|x64
|
||||
{8BDD2789-96D4-43EA-AAD7-0F49D0347998}.COM|x64.Build.0 = PerformTest|x64
|
||||
{8BDD2789-96D4-43EA-AAD7-0F49D0347998}.COM|x86.ActiveCfg = PerformTest|x86
|
||||
{8BDD2789-96D4-43EA-AAD7-0F49D0347998}.COM|x86.Build.0 = PerformTest|x86
|
||||
{8BDD2789-96D4-43EA-AAD7-0F49D0347998}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{8BDD2789-96D4-43EA-AAD7-0F49D0347998}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{8BDD2789-96D4-43EA-AAD7-0F49D0347998}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU
|
||||
{8BDD2789-96D4-43EA-AAD7-0F49D0347998}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU
|
||||
{8BDD2789-96D4-43EA-AAD7-0F49D0347998}.Debug|x64.ActiveCfg = Debug|x64
|
||||
{8BDD2789-96D4-43EA-AAD7-0F49D0347998}.Debug|x64.Build.0 = Debug|x64
|
||||
{8BDD2789-96D4-43EA-AAD7-0F49D0347998}.Debug|x86.ActiveCfg = Debug|x86
|
||||
{8BDD2789-96D4-43EA-AAD7-0F49D0347998}.Debug|x86.Build.0 = Debug|x86
|
||||
{8BDD2789-96D4-43EA-AAD7-0F49D0347998}.GenesisDisplayTool_V01|Any CPU.ActiveCfg = PerformTest|Any CPU
|
||||
{8BDD2789-96D4-43EA-AAD7-0F49D0347998}.GenesisDisplayTool_V01|Any CPU.Build.0 = PerformTest|Any CPU
|
||||
{8BDD2789-96D4-43EA-AAD7-0F49D0347998}.GenesisDisplayTool_V01|Mixed Platforms.ActiveCfg = PerformTest|x86
|
||||
{8BDD2789-96D4-43EA-AAD7-0F49D0347998}.GenesisDisplayTool_V01|Mixed Platforms.Build.0 = PerformTest|x86
|
||||
{8BDD2789-96D4-43EA-AAD7-0F49D0347998}.GenesisDisplayTool_V01|x64.ActiveCfg = PerformTest|x64
|
||||
{8BDD2789-96D4-43EA-AAD7-0F49D0347998}.GenesisDisplayTool_V01|x64.Build.0 = PerformTest|x64
|
||||
{8BDD2789-96D4-43EA-AAD7-0F49D0347998}.GenesisDisplayTool_V01|x86.ActiveCfg = PerformTest|x86
|
||||
{8BDD2789-96D4-43EA-AAD7-0F49D0347998}.GenesisDisplayTool_V01|x86.Build.0 = PerformTest|x86
|
||||
{8BDD2789-96D4-43EA-AAD7-0F49D0347998}.PerformTest|Any CPU.ActiveCfg = PerformTest|Any CPU
|
||||
{8BDD2789-96D4-43EA-AAD7-0F49D0347998}.PerformTest|Any CPU.Build.0 = PerformTest|Any CPU
|
||||
{8BDD2789-96D4-43EA-AAD7-0F49D0347998}.PerformTest|Mixed Platforms.ActiveCfg = PerformTest|x86
|
||||
{8BDD2789-96D4-43EA-AAD7-0F49D0347998}.PerformTest|Mixed Platforms.Build.0 = PerformTest|x86
|
||||
{8BDD2789-96D4-43EA-AAD7-0F49D0347998}.PerformTest|x64.ActiveCfg = PerformTest|x64
|
||||
{8BDD2789-96D4-43EA-AAD7-0F49D0347998}.PerformTest|x64.Build.0 = PerformTest|x64
|
||||
{8BDD2789-96D4-43EA-AAD7-0F49D0347998}.PerformTest|x86.ActiveCfg = PerformTest|x86
|
||||
{8BDD2789-96D4-43EA-AAD7-0F49D0347998}.PerformTest|x86.Build.0 = PerformTest|x86
|
||||
{8BDD2789-96D4-43EA-AAD7-0F49D0347998}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{8BDD2789-96D4-43EA-AAD7-0F49D0347998}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{8BDD2789-96D4-43EA-AAD7-0F49D0347998}.Release|Mixed Platforms.ActiveCfg = Release|x86
|
||||
{8BDD2789-96D4-43EA-AAD7-0F49D0347998}.Release|Mixed Platforms.Build.0 = Release|x86
|
||||
{8BDD2789-96D4-43EA-AAD7-0F49D0347998}.Release|x64.ActiveCfg = Release|x64
|
||||
{8BDD2789-96D4-43EA-AAD7-0F49D0347998}.Release|x64.Build.0 = Release|x64
|
||||
{8BDD2789-96D4-43EA-AAD7-0F49D0347998}.Release|x86.ActiveCfg = Release|x86
|
||||
{8BDD2789-96D4-43EA-AAD7-0F49D0347998}.Release|x86.Build.0 = Release|x86
|
||||
{8BDD2789-96D4-43EA-AAD7-0F49D0347998}.ReleaseTest|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{8BDD2789-96D4-43EA-AAD7-0F49D0347998}.ReleaseTest|Any CPU.Build.0 = Release|Any CPU
|
||||
{8BDD2789-96D4-43EA-AAD7-0F49D0347998}.ReleaseTest|Mixed Platforms.ActiveCfg = Release|x86
|
||||
{8BDD2789-96D4-43EA-AAD7-0F49D0347998}.ReleaseTest|Mixed Platforms.Build.0 = Release|x86
|
||||
{8BDD2789-96D4-43EA-AAD7-0F49D0347998}.ReleaseTest|x64.ActiveCfg = Release|x64
|
||||
{8BDD2789-96D4-43EA-AAD7-0F49D0347998}.ReleaseTest|x64.Build.0 = Release|x64
|
||||
{8BDD2789-96D4-43EA-AAD7-0F49D0347998}.ReleaseTest|x86.ActiveCfg = Release|x86
|
||||
{8BDD2789-96D4-43EA-AAD7-0F49D0347998}.ReleaseTest|x86.Build.0 = Release|x86
|
||||
{8BDD2789-96D4-43EA-AAD7-0F49D0347998}.XP32bit|Any CPU.ActiveCfg = XP32bit|Any CPU
|
||||
{8BDD2789-96D4-43EA-AAD7-0F49D0347998}.XP32bit|Any CPU.Build.0 = XP32bit|Any CPU
|
||||
{8BDD2789-96D4-43EA-AAD7-0F49D0347998}.XP32bit|Mixed Platforms.ActiveCfg = XP32bit|x86
|
||||
{8BDD2789-96D4-43EA-AAD7-0F49D0347998}.XP32bit|Mixed Platforms.Build.0 = XP32bit|x86
|
||||
{8BDD2789-96D4-43EA-AAD7-0F49D0347998}.XP32bit|x64.ActiveCfg = XP32bit|x64
|
||||
{8BDD2789-96D4-43EA-AAD7-0F49D0347998}.XP32bit|x64.Build.0 = XP32bit|x64
|
||||
{8BDD2789-96D4-43EA-AAD7-0F49D0347998}.XP32bit|x86.ActiveCfg = XP32bit|x86
|
||||
{8BDD2789-96D4-43EA-AAD7-0F49D0347998}.XP32bit|x86.Build.0 = XP32bit|x86
|
||||
{2E139F63-B6FE-4EA9-A098-85364FE9B26C}._MANUAL_CONTROL|Any CPU.ActiveCfg = _MANUAL_CONTROL|Any CPU
|
||||
{2E139F63-B6FE-4EA9-A098-85364FE9B26C}._MANUAL_CONTROL|Any CPU.Build.0 = _MANUAL_CONTROL|Any CPU
|
||||
{2E139F63-B6FE-4EA9-A098-85364FE9B26C}._MANUAL_CONTROL|Mixed Platforms.ActiveCfg = _MANUAL_CONTROL|Any CPU
|
||||
@@ -3589,70 +3535,454 @@ Global
|
||||
{F14940F8-3C86-4BB7-A915-B021E4B3052D}.XP32bit|x64.Build.0 = Release|Any CPU
|
||||
{F14940F8-3C86-4BB7-A915-B021E4B3052D}.XP32bit|x86.ActiveCfg = Release|Any CPU
|
||||
{F14940F8-3C86-4BB7-A915-B021E4B3052D}.XP32bit|x86.Build.0 = Release|Any CPU
|
||||
{FD55E1DE-E2C9-496A-B4E0-DC81A54F8F43}._MANUAL_CONTROL|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{FD55E1DE-E2C9-496A-B4E0-DC81A54F8F43}._MANUAL_CONTROL|Any CPU.Build.0 = Release|Any CPU
|
||||
{FD55E1DE-E2C9-496A-B4E0-DC81A54F8F43}._MANUAL_CONTROL|Mixed Platforms.ActiveCfg = Release|Any CPU
|
||||
{FD55E1DE-E2C9-496A-B4E0-DC81A54F8F43}._MANUAL_CONTROL|Mixed Platforms.Build.0 = Release|Any CPU
|
||||
{FD55E1DE-E2C9-496A-B4E0-DC81A54F8F43}._MANUAL_CONTROL|x64.ActiveCfg = Release|Any CPU
|
||||
{FD55E1DE-E2C9-496A-B4E0-DC81A54F8F43}._MANUAL_CONTROL|x64.Build.0 = Release|Any CPU
|
||||
{FD55E1DE-E2C9-496A-B4E0-DC81A54F8F43}._MANUAL_CONTROL|x86.ActiveCfg = Release|Any CPU
|
||||
{FD55E1DE-E2C9-496A-B4E0-DC81A54F8F43}._MANUAL_CONTROL|x86.Build.0 = Release|Any CPU
|
||||
{FD55E1DE-E2C9-496A-B4E0-DC81A54F8F43}.COM|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{FD55E1DE-E2C9-496A-B4E0-DC81A54F8F43}.COM|Any CPU.Build.0 = Release|Any CPU
|
||||
{FD55E1DE-E2C9-496A-B4E0-DC81A54F8F43}.COM|Mixed Platforms.ActiveCfg = Release|Any CPU
|
||||
{FD55E1DE-E2C9-496A-B4E0-DC81A54F8F43}.COM|Mixed Platforms.Build.0 = Release|Any CPU
|
||||
{FD55E1DE-E2C9-496A-B4E0-DC81A54F8F43}.COM|x64.ActiveCfg = Release|Any CPU
|
||||
{FD55E1DE-E2C9-496A-B4E0-DC81A54F8F43}.COM|x64.Build.0 = Release|Any CPU
|
||||
{FD55E1DE-E2C9-496A-B4E0-DC81A54F8F43}.COM|x86.ActiveCfg = Release|Any CPU
|
||||
{FD55E1DE-E2C9-496A-B4E0-DC81A54F8F43}.COM|x86.Build.0 = Release|Any CPU
|
||||
{FD55E1DE-E2C9-496A-B4E0-DC81A54F8F43}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{FD55E1DE-E2C9-496A-B4E0-DC81A54F8F43}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{FD55E1DE-E2C9-496A-B4E0-DC81A54F8F43}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU
|
||||
{FD55E1DE-E2C9-496A-B4E0-DC81A54F8F43}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU
|
||||
{FD55E1DE-E2C9-496A-B4E0-DC81A54F8F43}.Debug|x64.ActiveCfg = Debug|Any CPU
|
||||
{FD55E1DE-E2C9-496A-B4E0-DC81A54F8F43}.Debug|x64.Build.0 = Debug|Any CPU
|
||||
{FD55E1DE-E2C9-496A-B4E0-DC81A54F8F43}.Debug|x86.ActiveCfg = Debug|Any CPU
|
||||
{FD55E1DE-E2C9-496A-B4E0-DC81A54F8F43}.Debug|x86.Build.0 = Debug|Any CPU
|
||||
{FD55E1DE-E2C9-496A-B4E0-DC81A54F8F43}.GenesisDisplayTool_V01|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{FD55E1DE-E2C9-496A-B4E0-DC81A54F8F43}.GenesisDisplayTool_V01|Any CPU.Build.0 = Release|Any CPU
|
||||
{FD55E1DE-E2C9-496A-B4E0-DC81A54F8F43}.GenesisDisplayTool_V01|Mixed Platforms.ActiveCfg = Release|Any CPU
|
||||
{FD55E1DE-E2C9-496A-B4E0-DC81A54F8F43}.GenesisDisplayTool_V01|Mixed Platforms.Build.0 = Release|Any CPU
|
||||
{FD55E1DE-E2C9-496A-B4E0-DC81A54F8F43}.GenesisDisplayTool_V01|x64.ActiveCfg = Release|Any CPU
|
||||
{FD55E1DE-E2C9-496A-B4E0-DC81A54F8F43}.GenesisDisplayTool_V01|x64.Build.0 = Release|Any CPU
|
||||
{FD55E1DE-E2C9-496A-B4E0-DC81A54F8F43}.GenesisDisplayTool_V01|x86.ActiveCfg = Release|Any CPU
|
||||
{FD55E1DE-E2C9-496A-B4E0-DC81A54F8F43}.GenesisDisplayTool_V01|x86.Build.0 = Release|Any CPU
|
||||
{FD55E1DE-E2C9-496A-B4E0-DC81A54F8F43}.PerformTest|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{FD55E1DE-E2C9-496A-B4E0-DC81A54F8F43}.PerformTest|Any CPU.Build.0 = Release|Any CPU
|
||||
{FD55E1DE-E2C9-496A-B4E0-DC81A54F8F43}.PerformTest|Mixed Platforms.ActiveCfg = Release|Any CPU
|
||||
{FD55E1DE-E2C9-496A-B4E0-DC81A54F8F43}.PerformTest|Mixed Platforms.Build.0 = Release|Any CPU
|
||||
{FD55E1DE-E2C9-496A-B4E0-DC81A54F8F43}.PerformTest|x64.ActiveCfg = Release|Any CPU
|
||||
{FD55E1DE-E2C9-496A-B4E0-DC81A54F8F43}.PerformTest|x64.Build.0 = Release|Any CPU
|
||||
{FD55E1DE-E2C9-496A-B4E0-DC81A54F8F43}.PerformTest|x86.ActiveCfg = Release|Any CPU
|
||||
{FD55E1DE-E2C9-496A-B4E0-DC81A54F8F43}.PerformTest|x86.Build.0 = Release|Any CPU
|
||||
{FD55E1DE-E2C9-496A-B4E0-DC81A54F8F43}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{FD55E1DE-E2C9-496A-B4E0-DC81A54F8F43}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{FD55E1DE-E2C9-496A-B4E0-DC81A54F8F43}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU
|
||||
{FD55E1DE-E2C9-496A-B4E0-DC81A54F8F43}.Release|Mixed Platforms.Build.0 = Release|Any CPU
|
||||
{FD55E1DE-E2C9-496A-B4E0-DC81A54F8F43}.Release|x64.ActiveCfg = Release|Any CPU
|
||||
{FD55E1DE-E2C9-496A-B4E0-DC81A54F8F43}.Release|x64.Build.0 = Release|Any CPU
|
||||
{FD55E1DE-E2C9-496A-B4E0-DC81A54F8F43}.Release|x86.ActiveCfg = Release|Any CPU
|
||||
{FD55E1DE-E2C9-496A-B4E0-DC81A54F8F43}.Release|x86.Build.0 = Release|Any CPU
|
||||
{FD55E1DE-E2C9-496A-B4E0-DC81A54F8F43}.ReleaseTest|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{FD55E1DE-E2C9-496A-B4E0-DC81A54F8F43}.ReleaseTest|Any CPU.Build.0 = Release|Any CPU
|
||||
{FD55E1DE-E2C9-496A-B4E0-DC81A54F8F43}.ReleaseTest|Mixed Platforms.ActiveCfg = Release|Any CPU
|
||||
{FD55E1DE-E2C9-496A-B4E0-DC81A54F8F43}.ReleaseTest|Mixed Platforms.Build.0 = Release|Any CPU
|
||||
{FD55E1DE-E2C9-496A-B4E0-DC81A54F8F43}.ReleaseTest|x64.ActiveCfg = Release|Any CPU
|
||||
{FD55E1DE-E2C9-496A-B4E0-DC81A54F8F43}.ReleaseTest|x64.Build.0 = Release|Any CPU
|
||||
{FD55E1DE-E2C9-496A-B4E0-DC81A54F8F43}.ReleaseTest|x86.ActiveCfg = Release|Any CPU
|
||||
{FD55E1DE-E2C9-496A-B4E0-DC81A54F8F43}.ReleaseTest|x86.Build.0 = Release|Any CPU
|
||||
{FD55E1DE-E2C9-496A-B4E0-DC81A54F8F43}.XP32bit|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{FD55E1DE-E2C9-496A-B4E0-DC81A54F8F43}.XP32bit|Any CPU.Build.0 = Release|Any CPU
|
||||
{FD55E1DE-E2C9-496A-B4E0-DC81A54F8F43}.XP32bit|Mixed Platforms.ActiveCfg = Release|Any CPU
|
||||
{FD55E1DE-E2C9-496A-B4E0-DC81A54F8F43}.XP32bit|Mixed Platforms.Build.0 = Release|Any CPU
|
||||
{FD55E1DE-E2C9-496A-B4E0-DC81A54F8F43}.XP32bit|x64.ActiveCfg = Release|Any CPU
|
||||
{FD55E1DE-E2C9-496A-B4E0-DC81A54F8F43}.XP32bit|x64.Build.0 = Release|Any CPU
|
||||
{FD55E1DE-E2C9-496A-B4E0-DC81A54F8F43}.XP32bit|x86.ActiveCfg = Release|Any CPU
|
||||
{FD55E1DE-E2C9-496A-B4E0-DC81A54F8F43}.XP32bit|x86.Build.0 = Release|Any CPU
|
||||
{A5E7CE52-3101-4E9B-B896-C2C0FADE4812}._MANUAL_CONTROL|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{A5E7CE52-3101-4E9B-B896-C2C0FADE4812}._MANUAL_CONTROL|Any CPU.Build.0 = Release|Any CPU
|
||||
{A5E7CE52-3101-4E9B-B896-C2C0FADE4812}._MANUAL_CONTROL|Mixed Platforms.ActiveCfg = Release|Any CPU
|
||||
{A5E7CE52-3101-4E9B-B896-C2C0FADE4812}._MANUAL_CONTROL|Mixed Platforms.Build.0 = Release|Any CPU
|
||||
{A5E7CE52-3101-4E9B-B896-C2C0FADE4812}._MANUAL_CONTROL|x64.ActiveCfg = Release|Any CPU
|
||||
{A5E7CE52-3101-4E9B-B896-C2C0FADE4812}._MANUAL_CONTROL|x64.Build.0 = Release|Any CPU
|
||||
{A5E7CE52-3101-4E9B-B896-C2C0FADE4812}._MANUAL_CONTROL|x86.ActiveCfg = Release|Any CPU
|
||||
{A5E7CE52-3101-4E9B-B896-C2C0FADE4812}._MANUAL_CONTROL|x86.Build.0 = Release|Any CPU
|
||||
{A5E7CE52-3101-4E9B-B896-C2C0FADE4812}.COM|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{A5E7CE52-3101-4E9B-B896-C2C0FADE4812}.COM|Any CPU.Build.0 = Release|Any CPU
|
||||
{A5E7CE52-3101-4E9B-B896-C2C0FADE4812}.COM|Mixed Platforms.ActiveCfg = Release|Any CPU
|
||||
{A5E7CE52-3101-4E9B-B896-C2C0FADE4812}.COM|Mixed Platforms.Build.0 = Release|Any CPU
|
||||
{A5E7CE52-3101-4E9B-B896-C2C0FADE4812}.COM|x64.ActiveCfg = Release|Any CPU
|
||||
{A5E7CE52-3101-4E9B-B896-C2C0FADE4812}.COM|x64.Build.0 = Release|Any CPU
|
||||
{A5E7CE52-3101-4E9B-B896-C2C0FADE4812}.COM|x86.ActiveCfg = Release|Any CPU
|
||||
{A5E7CE52-3101-4E9B-B896-C2C0FADE4812}.COM|x86.Build.0 = Release|Any CPU
|
||||
{A5E7CE52-3101-4E9B-B896-C2C0FADE4812}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{A5E7CE52-3101-4E9B-B896-C2C0FADE4812}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{A5E7CE52-3101-4E9B-B896-C2C0FADE4812}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU
|
||||
{A5E7CE52-3101-4E9B-B896-C2C0FADE4812}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU
|
||||
{A5E7CE52-3101-4E9B-B896-C2C0FADE4812}.Debug|x64.ActiveCfg = Debug|Any CPU
|
||||
{A5E7CE52-3101-4E9B-B896-C2C0FADE4812}.Debug|x64.Build.0 = Debug|Any CPU
|
||||
{A5E7CE52-3101-4E9B-B896-C2C0FADE4812}.Debug|x86.ActiveCfg = Debug|Any CPU
|
||||
{A5E7CE52-3101-4E9B-B896-C2C0FADE4812}.Debug|x86.Build.0 = Debug|Any CPU
|
||||
{A5E7CE52-3101-4E9B-B896-C2C0FADE4812}.GenesisDisplayTool_V01|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{A5E7CE52-3101-4E9B-B896-C2C0FADE4812}.GenesisDisplayTool_V01|Any CPU.Build.0 = Release|Any CPU
|
||||
{A5E7CE52-3101-4E9B-B896-C2C0FADE4812}.GenesisDisplayTool_V01|Mixed Platforms.ActiveCfg = Release|Any CPU
|
||||
{A5E7CE52-3101-4E9B-B896-C2C0FADE4812}.GenesisDisplayTool_V01|Mixed Platforms.Build.0 = Release|Any CPU
|
||||
{A5E7CE52-3101-4E9B-B896-C2C0FADE4812}.GenesisDisplayTool_V01|x64.ActiveCfg = Release|Any CPU
|
||||
{A5E7CE52-3101-4E9B-B896-C2C0FADE4812}.GenesisDisplayTool_V01|x64.Build.0 = Release|Any CPU
|
||||
{A5E7CE52-3101-4E9B-B896-C2C0FADE4812}.GenesisDisplayTool_V01|x86.ActiveCfg = Release|Any CPU
|
||||
{A5E7CE52-3101-4E9B-B896-C2C0FADE4812}.GenesisDisplayTool_V01|x86.Build.0 = Release|Any CPU
|
||||
{A5E7CE52-3101-4E9B-B896-C2C0FADE4812}.PerformTest|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{A5E7CE52-3101-4E9B-B896-C2C0FADE4812}.PerformTest|Any CPU.Build.0 = Release|Any CPU
|
||||
{A5E7CE52-3101-4E9B-B896-C2C0FADE4812}.PerformTest|Mixed Platforms.ActiveCfg = Release|Any CPU
|
||||
{A5E7CE52-3101-4E9B-B896-C2C0FADE4812}.PerformTest|Mixed Platforms.Build.0 = Release|Any CPU
|
||||
{A5E7CE52-3101-4E9B-B896-C2C0FADE4812}.PerformTest|x64.ActiveCfg = Release|Any CPU
|
||||
{A5E7CE52-3101-4E9B-B896-C2C0FADE4812}.PerformTest|x64.Build.0 = Release|Any CPU
|
||||
{A5E7CE52-3101-4E9B-B896-C2C0FADE4812}.PerformTest|x86.ActiveCfg = Release|Any CPU
|
||||
{A5E7CE52-3101-4E9B-B896-C2C0FADE4812}.PerformTest|x86.Build.0 = Release|Any CPU
|
||||
{A5E7CE52-3101-4E9B-B896-C2C0FADE4812}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{A5E7CE52-3101-4E9B-B896-C2C0FADE4812}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{A5E7CE52-3101-4E9B-B896-C2C0FADE4812}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU
|
||||
{A5E7CE52-3101-4E9B-B896-C2C0FADE4812}.Release|Mixed Platforms.Build.0 = Release|Any CPU
|
||||
{A5E7CE52-3101-4E9B-B896-C2C0FADE4812}.Release|x64.ActiveCfg = Release|Any CPU
|
||||
{A5E7CE52-3101-4E9B-B896-C2C0FADE4812}.Release|x64.Build.0 = Release|Any CPU
|
||||
{A5E7CE52-3101-4E9B-B896-C2C0FADE4812}.Release|x86.ActiveCfg = Release|Any CPU
|
||||
{A5E7CE52-3101-4E9B-B896-C2C0FADE4812}.Release|x86.Build.0 = Release|Any CPU
|
||||
{A5E7CE52-3101-4E9B-B896-C2C0FADE4812}.ReleaseTest|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{A5E7CE52-3101-4E9B-B896-C2C0FADE4812}.ReleaseTest|Any CPU.Build.0 = Release|Any CPU
|
||||
{A5E7CE52-3101-4E9B-B896-C2C0FADE4812}.ReleaseTest|Mixed Platforms.ActiveCfg = Release|Any CPU
|
||||
{A5E7CE52-3101-4E9B-B896-C2C0FADE4812}.ReleaseTest|Mixed Platforms.Build.0 = Release|Any CPU
|
||||
{A5E7CE52-3101-4E9B-B896-C2C0FADE4812}.ReleaseTest|x64.ActiveCfg = Release|Any CPU
|
||||
{A5E7CE52-3101-4E9B-B896-C2C0FADE4812}.ReleaseTest|x64.Build.0 = Release|Any CPU
|
||||
{A5E7CE52-3101-4E9B-B896-C2C0FADE4812}.ReleaseTest|x86.ActiveCfg = Release|Any CPU
|
||||
{A5E7CE52-3101-4E9B-B896-C2C0FADE4812}.ReleaseTest|x86.Build.0 = Release|Any CPU
|
||||
{A5E7CE52-3101-4E9B-B896-C2C0FADE4812}.XP32bit|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{A5E7CE52-3101-4E9B-B896-C2C0FADE4812}.XP32bit|Any CPU.Build.0 = Release|Any CPU
|
||||
{A5E7CE52-3101-4E9B-B896-C2C0FADE4812}.XP32bit|Mixed Platforms.ActiveCfg = Release|Any CPU
|
||||
{A5E7CE52-3101-4E9B-B896-C2C0FADE4812}.XP32bit|Mixed Platforms.Build.0 = Release|Any CPU
|
||||
{A5E7CE52-3101-4E9B-B896-C2C0FADE4812}.XP32bit|x64.ActiveCfg = Release|Any CPU
|
||||
{A5E7CE52-3101-4E9B-B896-C2C0FADE4812}.XP32bit|x64.Build.0 = Release|Any CPU
|
||||
{A5E7CE52-3101-4E9B-B896-C2C0FADE4812}.XP32bit|x86.ActiveCfg = Release|Any CPU
|
||||
{A5E7CE52-3101-4E9B-B896-C2C0FADE4812}.XP32bit|x86.Build.0 = Release|Any CPU
|
||||
{70398B99-B134-4BBD-968B-7399B70C3CE2}._MANUAL_CONTROL|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{70398B99-B134-4BBD-968B-7399B70C3CE2}._MANUAL_CONTROL|Any CPU.Build.0 = Release|Any CPU
|
||||
{70398B99-B134-4BBD-968B-7399B70C3CE2}._MANUAL_CONTROL|Mixed Platforms.ActiveCfg = Release|Any CPU
|
||||
{70398B99-B134-4BBD-968B-7399B70C3CE2}._MANUAL_CONTROL|Mixed Platforms.Build.0 = Release|Any CPU
|
||||
{70398B99-B134-4BBD-968B-7399B70C3CE2}._MANUAL_CONTROL|x64.ActiveCfg = Release|Any CPU
|
||||
{70398B99-B134-4BBD-968B-7399B70C3CE2}._MANUAL_CONTROL|x64.Build.0 = Release|Any CPU
|
||||
{70398B99-B134-4BBD-968B-7399B70C3CE2}._MANUAL_CONTROL|x86.ActiveCfg = Release|Any CPU
|
||||
{70398B99-B134-4BBD-968B-7399B70C3CE2}._MANUAL_CONTROL|x86.Build.0 = Release|Any CPU
|
||||
{70398B99-B134-4BBD-968B-7399B70C3CE2}.COM|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{70398B99-B134-4BBD-968B-7399B70C3CE2}.COM|Any CPU.Build.0 = Release|Any CPU
|
||||
{70398B99-B134-4BBD-968B-7399B70C3CE2}.COM|Mixed Platforms.ActiveCfg = Release|Any CPU
|
||||
{70398B99-B134-4BBD-968B-7399B70C3CE2}.COM|Mixed Platforms.Build.0 = Release|Any CPU
|
||||
{70398B99-B134-4BBD-968B-7399B70C3CE2}.COM|x64.ActiveCfg = Release|Any CPU
|
||||
{70398B99-B134-4BBD-968B-7399B70C3CE2}.COM|x64.Build.0 = Release|Any CPU
|
||||
{70398B99-B134-4BBD-968B-7399B70C3CE2}.COM|x86.ActiveCfg = Release|Any CPU
|
||||
{70398B99-B134-4BBD-968B-7399B70C3CE2}.COM|x86.Build.0 = Release|Any CPU
|
||||
{70398B99-B134-4BBD-968B-7399B70C3CE2}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{70398B99-B134-4BBD-968B-7399B70C3CE2}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{70398B99-B134-4BBD-968B-7399B70C3CE2}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU
|
||||
{70398B99-B134-4BBD-968B-7399B70C3CE2}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU
|
||||
{70398B99-B134-4BBD-968B-7399B70C3CE2}.Debug|x64.ActiveCfg = Debug|Any CPU
|
||||
{70398B99-B134-4BBD-968B-7399B70C3CE2}.Debug|x64.Build.0 = Debug|Any CPU
|
||||
{70398B99-B134-4BBD-968B-7399B70C3CE2}.Debug|x86.ActiveCfg = Debug|Any CPU
|
||||
{70398B99-B134-4BBD-968B-7399B70C3CE2}.Debug|x86.Build.0 = Debug|Any CPU
|
||||
{70398B99-B134-4BBD-968B-7399B70C3CE2}.GenesisDisplayTool_V01|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{70398B99-B134-4BBD-968B-7399B70C3CE2}.GenesisDisplayTool_V01|Any CPU.Build.0 = Release|Any CPU
|
||||
{70398B99-B134-4BBD-968B-7399B70C3CE2}.GenesisDisplayTool_V01|Mixed Platforms.ActiveCfg = Release|Any CPU
|
||||
{70398B99-B134-4BBD-968B-7399B70C3CE2}.GenesisDisplayTool_V01|Mixed Platforms.Build.0 = Release|Any CPU
|
||||
{70398B99-B134-4BBD-968B-7399B70C3CE2}.GenesisDisplayTool_V01|x64.ActiveCfg = Release|Any CPU
|
||||
{70398B99-B134-4BBD-968B-7399B70C3CE2}.GenesisDisplayTool_V01|x64.Build.0 = Release|Any CPU
|
||||
{70398B99-B134-4BBD-968B-7399B70C3CE2}.GenesisDisplayTool_V01|x86.ActiveCfg = Release|Any CPU
|
||||
{70398B99-B134-4BBD-968B-7399B70C3CE2}.GenesisDisplayTool_V01|x86.Build.0 = Release|Any CPU
|
||||
{70398B99-B134-4BBD-968B-7399B70C3CE2}.PerformTest|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{70398B99-B134-4BBD-968B-7399B70C3CE2}.PerformTest|Any CPU.Build.0 = Release|Any CPU
|
||||
{70398B99-B134-4BBD-968B-7399B70C3CE2}.PerformTest|Mixed Platforms.ActiveCfg = Release|Any CPU
|
||||
{70398B99-B134-4BBD-968B-7399B70C3CE2}.PerformTest|Mixed Platforms.Build.0 = Release|Any CPU
|
||||
{70398B99-B134-4BBD-968B-7399B70C3CE2}.PerformTest|x64.ActiveCfg = Release|Any CPU
|
||||
{70398B99-B134-4BBD-968B-7399B70C3CE2}.PerformTest|x64.Build.0 = Release|Any CPU
|
||||
{70398B99-B134-4BBD-968B-7399B70C3CE2}.PerformTest|x86.ActiveCfg = Release|Any CPU
|
||||
{70398B99-B134-4BBD-968B-7399B70C3CE2}.PerformTest|x86.Build.0 = Release|Any CPU
|
||||
{70398B99-B134-4BBD-968B-7399B70C3CE2}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{70398B99-B134-4BBD-968B-7399B70C3CE2}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{70398B99-B134-4BBD-968B-7399B70C3CE2}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU
|
||||
{70398B99-B134-4BBD-968B-7399B70C3CE2}.Release|Mixed Platforms.Build.0 = Release|Any CPU
|
||||
{70398B99-B134-4BBD-968B-7399B70C3CE2}.Release|x64.ActiveCfg = Release|Any CPU
|
||||
{70398B99-B134-4BBD-968B-7399B70C3CE2}.Release|x64.Build.0 = Release|Any CPU
|
||||
{70398B99-B134-4BBD-968B-7399B70C3CE2}.Release|x86.ActiveCfg = Release|Any CPU
|
||||
{70398B99-B134-4BBD-968B-7399B70C3CE2}.Release|x86.Build.0 = Release|Any CPU
|
||||
{70398B99-B134-4BBD-968B-7399B70C3CE2}.ReleaseTest|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{70398B99-B134-4BBD-968B-7399B70C3CE2}.ReleaseTest|Any CPU.Build.0 = Release|Any CPU
|
||||
{70398B99-B134-4BBD-968B-7399B70C3CE2}.ReleaseTest|Mixed Platforms.ActiveCfg = Release|Any CPU
|
||||
{70398B99-B134-4BBD-968B-7399B70C3CE2}.ReleaseTest|Mixed Platforms.Build.0 = Release|Any CPU
|
||||
{70398B99-B134-4BBD-968B-7399B70C3CE2}.ReleaseTest|x64.ActiveCfg = Release|Any CPU
|
||||
{70398B99-B134-4BBD-968B-7399B70C3CE2}.ReleaseTest|x64.Build.0 = Release|Any CPU
|
||||
{70398B99-B134-4BBD-968B-7399B70C3CE2}.ReleaseTest|x86.ActiveCfg = Release|Any CPU
|
||||
{70398B99-B134-4BBD-968B-7399B70C3CE2}.ReleaseTest|x86.Build.0 = Release|Any CPU
|
||||
{70398B99-B134-4BBD-968B-7399B70C3CE2}.XP32bit|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{70398B99-B134-4BBD-968B-7399B70C3CE2}.XP32bit|Any CPU.Build.0 = Release|Any CPU
|
||||
{70398B99-B134-4BBD-968B-7399B70C3CE2}.XP32bit|Mixed Platforms.ActiveCfg = Release|Any CPU
|
||||
{70398B99-B134-4BBD-968B-7399B70C3CE2}.XP32bit|Mixed Platforms.Build.0 = Release|Any CPU
|
||||
{70398B99-B134-4BBD-968B-7399B70C3CE2}.XP32bit|x64.ActiveCfg = Release|Any CPU
|
||||
{70398B99-B134-4BBD-968B-7399B70C3CE2}.XP32bit|x64.Build.0 = Release|Any CPU
|
||||
{70398B99-B134-4BBD-968B-7399B70C3CE2}.XP32bit|x86.ActiveCfg = Release|Any CPU
|
||||
{70398B99-B134-4BBD-968B-7399B70C3CE2}.XP32bit|x86.Build.0 = Release|Any CPU
|
||||
{B5DA260C-71CC-45CA-B79E-D1B376AF718C}._MANUAL_CONTROL|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{B5DA260C-71CC-45CA-B79E-D1B376AF718C}._MANUAL_CONTROL|Any CPU.Build.0 = Release|Any CPU
|
||||
{B5DA260C-71CC-45CA-B79E-D1B376AF718C}._MANUAL_CONTROL|Mixed Platforms.ActiveCfg = Release|Any CPU
|
||||
{B5DA260C-71CC-45CA-B79E-D1B376AF718C}._MANUAL_CONTROL|Mixed Platforms.Build.0 = Release|Any CPU
|
||||
{B5DA260C-71CC-45CA-B79E-D1B376AF718C}._MANUAL_CONTROL|x64.ActiveCfg = Release|Any CPU
|
||||
{B5DA260C-71CC-45CA-B79E-D1B376AF718C}._MANUAL_CONTROL|x64.Build.0 = Release|Any CPU
|
||||
{B5DA260C-71CC-45CA-B79E-D1B376AF718C}._MANUAL_CONTROL|x86.ActiveCfg = Release|Any CPU
|
||||
{B5DA260C-71CC-45CA-B79E-D1B376AF718C}._MANUAL_CONTROL|x86.Build.0 = Release|Any CPU
|
||||
{B5DA260C-71CC-45CA-B79E-D1B376AF718C}.COM|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{B5DA260C-71CC-45CA-B79E-D1B376AF718C}.COM|Any CPU.Build.0 = Release|Any CPU
|
||||
{B5DA260C-71CC-45CA-B79E-D1B376AF718C}.COM|Mixed Platforms.ActiveCfg = Release|Any CPU
|
||||
{B5DA260C-71CC-45CA-B79E-D1B376AF718C}.COM|Mixed Platforms.Build.0 = Release|Any CPU
|
||||
{B5DA260C-71CC-45CA-B79E-D1B376AF718C}.COM|x64.ActiveCfg = Release|Any CPU
|
||||
{B5DA260C-71CC-45CA-B79E-D1B376AF718C}.COM|x64.Build.0 = Release|Any CPU
|
||||
{B5DA260C-71CC-45CA-B79E-D1B376AF718C}.COM|x86.ActiveCfg = Release|Any CPU
|
||||
{B5DA260C-71CC-45CA-B79E-D1B376AF718C}.COM|x86.Build.0 = Release|Any CPU
|
||||
{B5DA260C-71CC-45CA-B79E-D1B376AF718C}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{B5DA260C-71CC-45CA-B79E-D1B376AF718C}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{B5DA260C-71CC-45CA-B79E-D1B376AF718C}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU
|
||||
{B5DA260C-71CC-45CA-B79E-D1B376AF718C}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU
|
||||
{B5DA260C-71CC-45CA-B79E-D1B376AF718C}.Debug|x64.ActiveCfg = Debug|Any CPU
|
||||
{B5DA260C-71CC-45CA-B79E-D1B376AF718C}.Debug|x64.Build.0 = Debug|Any CPU
|
||||
{B5DA260C-71CC-45CA-B79E-D1B376AF718C}.Debug|x86.ActiveCfg = Debug|Any CPU
|
||||
{B5DA260C-71CC-45CA-B79E-D1B376AF718C}.Debug|x86.Build.0 = Debug|Any CPU
|
||||
{B5DA260C-71CC-45CA-B79E-D1B376AF718C}.GenesisDisplayTool_V01|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{B5DA260C-71CC-45CA-B79E-D1B376AF718C}.GenesisDisplayTool_V01|Any CPU.Build.0 = Release|Any CPU
|
||||
{B5DA260C-71CC-45CA-B79E-D1B376AF718C}.GenesisDisplayTool_V01|Mixed Platforms.ActiveCfg = Release|Any CPU
|
||||
{B5DA260C-71CC-45CA-B79E-D1B376AF718C}.GenesisDisplayTool_V01|Mixed Platforms.Build.0 = Release|Any CPU
|
||||
{B5DA260C-71CC-45CA-B79E-D1B376AF718C}.GenesisDisplayTool_V01|x64.ActiveCfg = Release|Any CPU
|
||||
{B5DA260C-71CC-45CA-B79E-D1B376AF718C}.GenesisDisplayTool_V01|x64.Build.0 = Release|Any CPU
|
||||
{B5DA260C-71CC-45CA-B79E-D1B376AF718C}.GenesisDisplayTool_V01|x86.ActiveCfg = Release|Any CPU
|
||||
{B5DA260C-71CC-45CA-B79E-D1B376AF718C}.GenesisDisplayTool_V01|x86.Build.0 = Release|Any CPU
|
||||
{B5DA260C-71CC-45CA-B79E-D1B376AF718C}.PerformTest|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{B5DA260C-71CC-45CA-B79E-D1B376AF718C}.PerformTest|Any CPU.Build.0 = Release|Any CPU
|
||||
{B5DA260C-71CC-45CA-B79E-D1B376AF718C}.PerformTest|Mixed Platforms.ActiveCfg = Release|Any CPU
|
||||
{B5DA260C-71CC-45CA-B79E-D1B376AF718C}.PerformTest|Mixed Platforms.Build.0 = Release|Any CPU
|
||||
{B5DA260C-71CC-45CA-B79E-D1B376AF718C}.PerformTest|x64.ActiveCfg = Release|Any CPU
|
||||
{B5DA260C-71CC-45CA-B79E-D1B376AF718C}.PerformTest|x64.Build.0 = Release|Any CPU
|
||||
{B5DA260C-71CC-45CA-B79E-D1B376AF718C}.PerformTest|x86.ActiveCfg = Release|Any CPU
|
||||
{B5DA260C-71CC-45CA-B79E-D1B376AF718C}.PerformTest|x86.Build.0 = Release|Any CPU
|
||||
{B5DA260C-71CC-45CA-B79E-D1B376AF718C}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{B5DA260C-71CC-45CA-B79E-D1B376AF718C}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{B5DA260C-71CC-45CA-B79E-D1B376AF718C}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU
|
||||
{B5DA260C-71CC-45CA-B79E-D1B376AF718C}.Release|Mixed Platforms.Build.0 = Release|Any CPU
|
||||
{B5DA260C-71CC-45CA-B79E-D1B376AF718C}.Release|x64.ActiveCfg = Release|Any CPU
|
||||
{B5DA260C-71CC-45CA-B79E-D1B376AF718C}.Release|x64.Build.0 = Release|Any CPU
|
||||
{B5DA260C-71CC-45CA-B79E-D1B376AF718C}.Release|x86.ActiveCfg = Release|Any CPU
|
||||
{B5DA260C-71CC-45CA-B79E-D1B376AF718C}.Release|x86.Build.0 = Release|Any CPU
|
||||
{B5DA260C-71CC-45CA-B79E-D1B376AF718C}.ReleaseTest|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{B5DA260C-71CC-45CA-B79E-D1B376AF718C}.ReleaseTest|Any CPU.Build.0 = Release|Any CPU
|
||||
{B5DA260C-71CC-45CA-B79E-D1B376AF718C}.ReleaseTest|Mixed Platforms.ActiveCfg = Release|Any CPU
|
||||
{B5DA260C-71CC-45CA-B79E-D1B376AF718C}.ReleaseTest|Mixed Platforms.Build.0 = Release|Any CPU
|
||||
{B5DA260C-71CC-45CA-B79E-D1B376AF718C}.ReleaseTest|x64.ActiveCfg = Release|Any CPU
|
||||
{B5DA260C-71CC-45CA-B79E-D1B376AF718C}.ReleaseTest|x64.Build.0 = Release|Any CPU
|
||||
{B5DA260C-71CC-45CA-B79E-D1B376AF718C}.ReleaseTest|x86.ActiveCfg = Release|Any CPU
|
||||
{B5DA260C-71CC-45CA-B79E-D1B376AF718C}.ReleaseTest|x86.Build.0 = Release|Any CPU
|
||||
{B5DA260C-71CC-45CA-B79E-D1B376AF718C}.XP32bit|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{B5DA260C-71CC-45CA-B79E-D1B376AF718C}.XP32bit|Any CPU.Build.0 = Release|Any CPU
|
||||
{B5DA260C-71CC-45CA-B79E-D1B376AF718C}.XP32bit|Mixed Platforms.ActiveCfg = Release|Any CPU
|
||||
{B5DA260C-71CC-45CA-B79E-D1B376AF718C}.XP32bit|Mixed Platforms.Build.0 = Release|Any CPU
|
||||
{B5DA260C-71CC-45CA-B79E-D1B376AF718C}.XP32bit|x64.ActiveCfg = Release|Any CPU
|
||||
{B5DA260C-71CC-45CA-B79E-D1B376AF718C}.XP32bit|x64.Build.0 = Release|Any CPU
|
||||
{B5DA260C-71CC-45CA-B79E-D1B376AF718C}.XP32bit|x86.ActiveCfg = Release|Any CPU
|
||||
{B5DA260C-71CC-45CA-B79E-D1B376AF718C}.XP32bit|x86.Build.0 = Release|Any CPU
|
||||
{00748F11-4B49-4D8B-93C4-4A11A210CCE2}._MANUAL_CONTROL|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{00748F11-4B49-4D8B-93C4-4A11A210CCE2}._MANUAL_CONTROL|Any CPU.Build.0 = Release|Any CPU
|
||||
{00748F11-4B49-4D8B-93C4-4A11A210CCE2}._MANUAL_CONTROL|Mixed Platforms.ActiveCfg = Release|Any CPU
|
||||
{00748F11-4B49-4D8B-93C4-4A11A210CCE2}._MANUAL_CONTROL|Mixed Platforms.Build.0 = Release|Any CPU
|
||||
{00748F11-4B49-4D8B-93C4-4A11A210CCE2}._MANUAL_CONTROL|x64.ActiveCfg = Release|Any CPU
|
||||
{00748F11-4B49-4D8B-93C4-4A11A210CCE2}._MANUAL_CONTROL|x64.Build.0 = Release|Any CPU
|
||||
{00748F11-4B49-4D8B-93C4-4A11A210CCE2}._MANUAL_CONTROL|x86.ActiveCfg = Release|Any CPU
|
||||
{00748F11-4B49-4D8B-93C4-4A11A210CCE2}._MANUAL_CONTROL|x86.Build.0 = Release|Any CPU
|
||||
{00748F11-4B49-4D8B-93C4-4A11A210CCE2}.COM|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{00748F11-4B49-4D8B-93C4-4A11A210CCE2}.COM|Any CPU.Build.0 = Release|Any CPU
|
||||
{00748F11-4B49-4D8B-93C4-4A11A210CCE2}.COM|Mixed Platforms.ActiveCfg = Release|Any CPU
|
||||
{00748F11-4B49-4D8B-93C4-4A11A210CCE2}.COM|Mixed Platforms.Build.0 = Release|Any CPU
|
||||
{00748F11-4B49-4D8B-93C4-4A11A210CCE2}.COM|x64.ActiveCfg = Release|Any CPU
|
||||
{00748F11-4B49-4D8B-93C4-4A11A210CCE2}.COM|x64.Build.0 = Release|Any CPU
|
||||
{00748F11-4B49-4D8B-93C4-4A11A210CCE2}.COM|x86.ActiveCfg = Release|Any CPU
|
||||
{00748F11-4B49-4D8B-93C4-4A11A210CCE2}.COM|x86.Build.0 = Release|Any CPU
|
||||
{00748F11-4B49-4D8B-93C4-4A11A210CCE2}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{00748F11-4B49-4D8B-93C4-4A11A210CCE2}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{00748F11-4B49-4D8B-93C4-4A11A210CCE2}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU
|
||||
{00748F11-4B49-4D8B-93C4-4A11A210CCE2}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU
|
||||
{00748F11-4B49-4D8B-93C4-4A11A210CCE2}.Debug|x64.ActiveCfg = Debug|Any CPU
|
||||
{00748F11-4B49-4D8B-93C4-4A11A210CCE2}.Debug|x64.Build.0 = Debug|Any CPU
|
||||
{00748F11-4B49-4D8B-93C4-4A11A210CCE2}.Debug|x86.ActiveCfg = Debug|Any CPU
|
||||
{00748F11-4B49-4D8B-93C4-4A11A210CCE2}.Debug|x86.Build.0 = Debug|Any CPU
|
||||
{00748F11-4B49-4D8B-93C4-4A11A210CCE2}.GenesisDisplayTool_V01|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{00748F11-4B49-4D8B-93C4-4A11A210CCE2}.GenesisDisplayTool_V01|Any CPU.Build.0 = Release|Any CPU
|
||||
{00748F11-4B49-4D8B-93C4-4A11A210CCE2}.GenesisDisplayTool_V01|Mixed Platforms.ActiveCfg = Release|Any CPU
|
||||
{00748F11-4B49-4D8B-93C4-4A11A210CCE2}.GenesisDisplayTool_V01|Mixed Platforms.Build.0 = Release|Any CPU
|
||||
{00748F11-4B49-4D8B-93C4-4A11A210CCE2}.GenesisDisplayTool_V01|x64.ActiveCfg = Release|Any CPU
|
||||
{00748F11-4B49-4D8B-93C4-4A11A210CCE2}.GenesisDisplayTool_V01|x64.Build.0 = Release|Any CPU
|
||||
{00748F11-4B49-4D8B-93C4-4A11A210CCE2}.GenesisDisplayTool_V01|x86.ActiveCfg = Release|Any CPU
|
||||
{00748F11-4B49-4D8B-93C4-4A11A210CCE2}.GenesisDisplayTool_V01|x86.Build.0 = Release|Any CPU
|
||||
{00748F11-4B49-4D8B-93C4-4A11A210CCE2}.PerformTest|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{00748F11-4B49-4D8B-93C4-4A11A210CCE2}.PerformTest|Any CPU.Build.0 = Release|Any CPU
|
||||
{00748F11-4B49-4D8B-93C4-4A11A210CCE2}.PerformTest|Mixed Platforms.ActiveCfg = Release|Any CPU
|
||||
{00748F11-4B49-4D8B-93C4-4A11A210CCE2}.PerformTest|Mixed Platforms.Build.0 = Release|Any CPU
|
||||
{00748F11-4B49-4D8B-93C4-4A11A210CCE2}.PerformTest|x64.ActiveCfg = Release|Any CPU
|
||||
{00748F11-4B49-4D8B-93C4-4A11A210CCE2}.PerformTest|x64.Build.0 = Release|Any CPU
|
||||
{00748F11-4B49-4D8B-93C4-4A11A210CCE2}.PerformTest|x86.ActiveCfg = Release|Any CPU
|
||||
{00748F11-4B49-4D8B-93C4-4A11A210CCE2}.PerformTest|x86.Build.0 = Release|Any CPU
|
||||
{00748F11-4B49-4D8B-93C4-4A11A210CCE2}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{00748F11-4B49-4D8B-93C4-4A11A210CCE2}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{00748F11-4B49-4D8B-93C4-4A11A210CCE2}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU
|
||||
{00748F11-4B49-4D8B-93C4-4A11A210CCE2}.Release|Mixed Platforms.Build.0 = Release|Any CPU
|
||||
{00748F11-4B49-4D8B-93C4-4A11A210CCE2}.Release|x64.ActiveCfg = Release|Any CPU
|
||||
{00748F11-4B49-4D8B-93C4-4A11A210CCE2}.Release|x64.Build.0 = Release|Any CPU
|
||||
{00748F11-4B49-4D8B-93C4-4A11A210CCE2}.Release|x86.ActiveCfg = Release|Any CPU
|
||||
{00748F11-4B49-4D8B-93C4-4A11A210CCE2}.Release|x86.Build.0 = Release|Any CPU
|
||||
{00748F11-4B49-4D8B-93C4-4A11A210CCE2}.ReleaseTest|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{00748F11-4B49-4D8B-93C4-4A11A210CCE2}.ReleaseTest|Any CPU.Build.0 = Release|Any CPU
|
||||
{00748F11-4B49-4D8B-93C4-4A11A210CCE2}.ReleaseTest|Mixed Platforms.ActiveCfg = Release|Any CPU
|
||||
{00748F11-4B49-4D8B-93C4-4A11A210CCE2}.ReleaseTest|Mixed Platforms.Build.0 = Release|Any CPU
|
||||
{00748F11-4B49-4D8B-93C4-4A11A210CCE2}.ReleaseTest|x64.ActiveCfg = Release|Any CPU
|
||||
{00748F11-4B49-4D8B-93C4-4A11A210CCE2}.ReleaseTest|x64.Build.0 = Release|Any CPU
|
||||
{00748F11-4B49-4D8B-93C4-4A11A210CCE2}.ReleaseTest|x86.ActiveCfg = Release|Any CPU
|
||||
{00748F11-4B49-4D8B-93C4-4A11A210CCE2}.ReleaseTest|x86.Build.0 = Release|Any CPU
|
||||
{00748F11-4B49-4D8B-93C4-4A11A210CCE2}.XP32bit|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{00748F11-4B49-4D8B-93C4-4A11A210CCE2}.XP32bit|Any CPU.Build.0 = Release|Any CPU
|
||||
{00748F11-4B49-4D8B-93C4-4A11A210CCE2}.XP32bit|Mixed Platforms.ActiveCfg = Release|Any CPU
|
||||
{00748F11-4B49-4D8B-93C4-4A11A210CCE2}.XP32bit|Mixed Platforms.Build.0 = Release|Any CPU
|
||||
{00748F11-4B49-4D8B-93C4-4A11A210CCE2}.XP32bit|x64.ActiveCfg = Release|Any CPU
|
||||
{00748F11-4B49-4D8B-93C4-4A11A210CCE2}.XP32bit|x64.Build.0 = Release|Any CPU
|
||||
{00748F11-4B49-4D8B-93C4-4A11A210CCE2}.XP32bit|x86.ActiveCfg = Release|Any CPU
|
||||
{00748F11-4B49-4D8B-93C4-4A11A210CCE2}.XP32bit|x86.Build.0 = Release|Any CPU
|
||||
{D6B81C60-2763-4C4D-989F-90822F53B01A}._MANUAL_CONTROL|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{D6B81C60-2763-4C4D-989F-90822F53B01A}._MANUAL_CONTROL|Any CPU.Build.0 = Release|Any CPU
|
||||
{D6B81C60-2763-4C4D-989F-90822F53B01A}._MANUAL_CONTROL|Mixed Platforms.ActiveCfg = Release|Any CPU
|
||||
{D6B81C60-2763-4C4D-989F-90822F53B01A}._MANUAL_CONTROL|Mixed Platforms.Build.0 = Release|Any CPU
|
||||
{D6B81C60-2763-4C4D-989F-90822F53B01A}._MANUAL_CONTROL|x64.ActiveCfg = Release|Any CPU
|
||||
{D6B81C60-2763-4C4D-989F-90822F53B01A}._MANUAL_CONTROL|x64.Build.0 = Release|Any CPU
|
||||
{D6B81C60-2763-4C4D-989F-90822F53B01A}._MANUAL_CONTROL|x86.ActiveCfg = Release|Any CPU
|
||||
{D6B81C60-2763-4C4D-989F-90822F53B01A}._MANUAL_CONTROL|x86.Build.0 = Release|Any CPU
|
||||
{D6B81C60-2763-4C4D-989F-90822F53B01A}.COM|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{D6B81C60-2763-4C4D-989F-90822F53B01A}.COM|Any CPU.Build.0 = Release|Any CPU
|
||||
{D6B81C60-2763-4C4D-989F-90822F53B01A}.COM|Mixed Platforms.ActiveCfg = Release|Any CPU
|
||||
{D6B81C60-2763-4C4D-989F-90822F53B01A}.COM|Mixed Platforms.Build.0 = Release|Any CPU
|
||||
{D6B81C60-2763-4C4D-989F-90822F53B01A}.COM|x64.ActiveCfg = Release|Any CPU
|
||||
{D6B81C60-2763-4C4D-989F-90822F53B01A}.COM|x64.Build.0 = Release|Any CPU
|
||||
{D6B81C60-2763-4C4D-989F-90822F53B01A}.COM|x86.ActiveCfg = Release|Any CPU
|
||||
{D6B81C60-2763-4C4D-989F-90822F53B01A}.COM|x86.Build.0 = Release|Any CPU
|
||||
{D6B81C60-2763-4C4D-989F-90822F53B01A}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{D6B81C60-2763-4C4D-989F-90822F53B01A}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{D6B81C60-2763-4C4D-989F-90822F53B01A}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU
|
||||
{D6B81C60-2763-4C4D-989F-90822F53B01A}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU
|
||||
{D6B81C60-2763-4C4D-989F-90822F53B01A}.Debug|x64.ActiveCfg = Debug|Any CPU
|
||||
{D6B81C60-2763-4C4D-989F-90822F53B01A}.Debug|x64.Build.0 = Debug|Any CPU
|
||||
{D6B81C60-2763-4C4D-989F-90822F53B01A}.Debug|x86.ActiveCfg = Debug|Any CPU
|
||||
{D6B81C60-2763-4C4D-989F-90822F53B01A}.Debug|x86.Build.0 = Debug|Any CPU
|
||||
{D6B81C60-2763-4C4D-989F-90822F53B01A}.GenesisDisplayTool_V01|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{D6B81C60-2763-4C4D-989F-90822F53B01A}.GenesisDisplayTool_V01|Any CPU.Build.0 = Release|Any CPU
|
||||
{D6B81C60-2763-4C4D-989F-90822F53B01A}.GenesisDisplayTool_V01|Mixed Platforms.ActiveCfg = Release|Any CPU
|
||||
{D6B81C60-2763-4C4D-989F-90822F53B01A}.GenesisDisplayTool_V01|Mixed Platforms.Build.0 = Release|Any CPU
|
||||
{D6B81C60-2763-4C4D-989F-90822F53B01A}.GenesisDisplayTool_V01|x64.ActiveCfg = Release|Any CPU
|
||||
{D6B81C60-2763-4C4D-989F-90822F53B01A}.GenesisDisplayTool_V01|x64.Build.0 = Release|Any CPU
|
||||
{D6B81C60-2763-4C4D-989F-90822F53B01A}.GenesisDisplayTool_V01|x86.ActiveCfg = Release|Any CPU
|
||||
{D6B81C60-2763-4C4D-989F-90822F53B01A}.GenesisDisplayTool_V01|x86.Build.0 = Release|Any CPU
|
||||
{D6B81C60-2763-4C4D-989F-90822F53B01A}.PerformTest|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{D6B81C60-2763-4C4D-989F-90822F53B01A}.PerformTest|Any CPU.Build.0 = Release|Any CPU
|
||||
{D6B81C60-2763-4C4D-989F-90822F53B01A}.PerformTest|Mixed Platforms.ActiveCfg = Release|Any CPU
|
||||
{D6B81C60-2763-4C4D-989F-90822F53B01A}.PerformTest|Mixed Platforms.Build.0 = Release|Any CPU
|
||||
{D6B81C60-2763-4C4D-989F-90822F53B01A}.PerformTest|x64.ActiveCfg = Release|Any CPU
|
||||
{D6B81C60-2763-4C4D-989F-90822F53B01A}.PerformTest|x64.Build.0 = Release|Any CPU
|
||||
{D6B81C60-2763-4C4D-989F-90822F53B01A}.PerformTest|x86.ActiveCfg = Release|Any CPU
|
||||
{D6B81C60-2763-4C4D-989F-90822F53B01A}.PerformTest|x86.Build.0 = Release|Any CPU
|
||||
{D6B81C60-2763-4C4D-989F-90822F53B01A}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{D6B81C60-2763-4C4D-989F-90822F53B01A}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{D6B81C60-2763-4C4D-989F-90822F53B01A}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU
|
||||
{D6B81C60-2763-4C4D-989F-90822F53B01A}.Release|Mixed Platforms.Build.0 = Release|Any CPU
|
||||
{D6B81C60-2763-4C4D-989F-90822F53B01A}.Release|x64.ActiveCfg = Release|Any CPU
|
||||
{D6B81C60-2763-4C4D-989F-90822F53B01A}.Release|x64.Build.0 = Release|Any CPU
|
||||
{D6B81C60-2763-4C4D-989F-90822F53B01A}.Release|x86.ActiveCfg = Release|Any CPU
|
||||
{D6B81C60-2763-4C4D-989F-90822F53B01A}.Release|x86.Build.0 = Release|Any CPU
|
||||
{D6B81C60-2763-4C4D-989F-90822F53B01A}.ReleaseTest|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{D6B81C60-2763-4C4D-989F-90822F53B01A}.ReleaseTest|Any CPU.Build.0 = Release|Any CPU
|
||||
{D6B81C60-2763-4C4D-989F-90822F53B01A}.ReleaseTest|Mixed Platforms.ActiveCfg = Release|Any CPU
|
||||
{D6B81C60-2763-4C4D-989F-90822F53B01A}.ReleaseTest|Mixed Platforms.Build.0 = Release|Any CPU
|
||||
{D6B81C60-2763-4C4D-989F-90822F53B01A}.ReleaseTest|x64.ActiveCfg = Release|Any CPU
|
||||
{D6B81C60-2763-4C4D-989F-90822F53B01A}.ReleaseTest|x64.Build.0 = Release|Any CPU
|
||||
{D6B81C60-2763-4C4D-989F-90822F53B01A}.ReleaseTest|x86.ActiveCfg = Release|Any CPU
|
||||
{D6B81C60-2763-4C4D-989F-90822F53B01A}.ReleaseTest|x86.Build.0 = Release|Any CPU
|
||||
{D6B81C60-2763-4C4D-989F-90822F53B01A}.XP32bit|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{D6B81C60-2763-4C4D-989F-90822F53B01A}.XP32bit|Any CPU.Build.0 = Release|Any CPU
|
||||
{D6B81C60-2763-4C4D-989F-90822F53B01A}.XP32bit|Mixed Platforms.ActiveCfg = Release|Any CPU
|
||||
{D6B81C60-2763-4C4D-989F-90822F53B01A}.XP32bit|Mixed Platforms.Build.0 = Release|Any CPU
|
||||
{D6B81C60-2763-4C4D-989F-90822F53B01A}.XP32bit|x64.ActiveCfg = Release|Any CPU
|
||||
{D6B81C60-2763-4C4D-989F-90822F53B01A}.XP32bit|x64.Build.0 = Release|Any CPU
|
||||
{D6B81C60-2763-4C4D-989F-90822F53B01A}.XP32bit|x86.ActiveCfg = Release|Any CPU
|
||||
{D6B81C60-2763-4C4D-989F-90822F53B01A}.XP32bit|x86.Build.0 = Release|Any CPU
|
||||
{BA17D20E-0CEB-4B27-9772-2392BD750ED5}._MANUAL_CONTROL|Any CPU.ActiveCfg = _MANUAL_CONTROL|Any CPU
|
||||
{BA17D20E-0CEB-4B27-9772-2392BD750ED5}._MANUAL_CONTROL|Any CPU.Build.0 = _MANUAL_CONTROL|Any CPU
|
||||
{BA17D20E-0CEB-4B27-9772-2392BD750ED5}._MANUAL_CONTROL|Mixed Platforms.ActiveCfg = _MANUAL_CONTROL|x86
|
||||
{BA17D20E-0CEB-4B27-9772-2392BD750ED5}._MANUAL_CONTROL|Mixed Platforms.Build.0 = _MANUAL_CONTROL|x86
|
||||
{BA17D20E-0CEB-4B27-9772-2392BD750ED5}._MANUAL_CONTROL|x64.ActiveCfg = _MANUAL_CONTROL|x64
|
||||
{BA17D20E-0CEB-4B27-9772-2392BD750ED5}._MANUAL_CONTROL|x64.Build.0 = _MANUAL_CONTROL|x64
|
||||
{BA17D20E-0CEB-4B27-9772-2392BD750ED5}._MANUAL_CONTROL|x86.ActiveCfg = _MANUAL_CONTROL|x86
|
||||
{BA17D20E-0CEB-4B27-9772-2392BD750ED5}._MANUAL_CONTROL|x86.Build.0 = _MANUAL_CONTROL|x86
|
||||
{BA17D20E-0CEB-4B27-9772-2392BD750ED5}.COM|Any CPU.ActiveCfg = COM|Any CPU
|
||||
{BA17D20E-0CEB-4B27-9772-2392BD750ED5}.COM|Any CPU.Build.0 = COM|Any CPU
|
||||
{BA17D20E-0CEB-4B27-9772-2392BD750ED5}.COM|Mixed Platforms.ActiveCfg = COM|x86
|
||||
{BA17D20E-0CEB-4B27-9772-2392BD750ED5}.COM|Mixed Platforms.Build.0 = COM|x86
|
||||
{BA17D20E-0CEB-4B27-9772-2392BD750ED5}.COM|x64.ActiveCfg = COM|x64
|
||||
{BA17D20E-0CEB-4B27-9772-2392BD750ED5}.COM|x64.Build.0 = COM|x64
|
||||
{BA17D20E-0CEB-4B27-9772-2392BD750ED5}.COM|x86.ActiveCfg = COM|x86
|
||||
{BA17D20E-0CEB-4B27-9772-2392BD750ED5}.COM|x86.Build.0 = COM|x86
|
||||
{BA17D20E-0CEB-4B27-9772-2392BD750ED5}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{BA17D20E-0CEB-4B27-9772-2392BD750ED5}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{BA17D20E-0CEB-4B27-9772-2392BD750ED5}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU
|
||||
{BA17D20E-0CEB-4B27-9772-2392BD750ED5}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU
|
||||
{BA17D20E-0CEB-4B27-9772-2392BD750ED5}.Debug|x64.ActiveCfg = Debug|x64
|
||||
{BA17D20E-0CEB-4B27-9772-2392BD750ED5}.Debug|x64.Build.0 = Debug|x64
|
||||
{BA17D20E-0CEB-4B27-9772-2392BD750ED5}.Debug|x86.ActiveCfg = Debug|x86
|
||||
{BA17D20E-0CEB-4B27-9772-2392BD750ED5}.Debug|x86.Build.0 = Debug|x86
|
||||
{BA17D20E-0CEB-4B27-9772-2392BD750ED5}.GenesisDisplayTool_V01|Any CPU.ActiveCfg = _MANUAL_CONTROL|Any CPU
|
||||
{BA17D20E-0CEB-4B27-9772-2392BD750ED5}.GenesisDisplayTool_V01|Any CPU.Build.0 = _MANUAL_CONTROL|Any CPU
|
||||
{BA17D20E-0CEB-4B27-9772-2392BD750ED5}.GenesisDisplayTool_V01|Mixed Platforms.ActiveCfg = _MANUAL_CONTROL|x86
|
||||
{BA17D20E-0CEB-4B27-9772-2392BD750ED5}.GenesisDisplayTool_V01|Mixed Platforms.Build.0 = _MANUAL_CONTROL|x86
|
||||
{BA17D20E-0CEB-4B27-9772-2392BD750ED5}.GenesisDisplayTool_V01|x64.ActiveCfg = _MANUAL_CONTROL|x64
|
||||
{BA17D20E-0CEB-4B27-9772-2392BD750ED5}.GenesisDisplayTool_V01|x64.Build.0 = _MANUAL_CONTROL|x64
|
||||
{BA17D20E-0CEB-4B27-9772-2392BD750ED5}.GenesisDisplayTool_V01|x86.ActiveCfg = _MANUAL_CONTROL|x86
|
||||
{BA17D20E-0CEB-4B27-9772-2392BD750ED5}.GenesisDisplayTool_V01|x86.Build.0 = _MANUAL_CONTROL|x86
|
||||
{BA17D20E-0CEB-4B27-9772-2392BD750ED5}.PerformTest|Any CPU.ActiveCfg = PerformTest|Any CPU
|
||||
{BA17D20E-0CEB-4B27-9772-2392BD750ED5}.PerformTest|Any CPU.Build.0 = PerformTest|Any CPU
|
||||
{BA17D20E-0CEB-4B27-9772-2392BD750ED5}.PerformTest|Mixed Platforms.ActiveCfg = PerformTest|x86
|
||||
{BA17D20E-0CEB-4B27-9772-2392BD750ED5}.PerformTest|Mixed Platforms.Build.0 = PerformTest|x86
|
||||
{BA17D20E-0CEB-4B27-9772-2392BD750ED5}.PerformTest|x64.ActiveCfg = PerformTest|x64
|
||||
{BA17D20E-0CEB-4B27-9772-2392BD750ED5}.PerformTest|x64.Build.0 = PerformTest|x64
|
||||
{BA17D20E-0CEB-4B27-9772-2392BD750ED5}.PerformTest|x86.ActiveCfg = PerformTest|x86
|
||||
{BA17D20E-0CEB-4B27-9772-2392BD750ED5}.PerformTest|x86.Build.0 = PerformTest|x86
|
||||
{BA17D20E-0CEB-4B27-9772-2392BD750ED5}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{BA17D20E-0CEB-4B27-9772-2392BD750ED5}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{BA17D20E-0CEB-4B27-9772-2392BD750ED5}.Release|Mixed Platforms.ActiveCfg = Release|x86
|
||||
{BA17D20E-0CEB-4B27-9772-2392BD750ED5}.Release|Mixed Platforms.Build.0 = Release|x86
|
||||
{BA17D20E-0CEB-4B27-9772-2392BD750ED5}.Release|x64.ActiveCfg = Release|x64
|
||||
{BA17D20E-0CEB-4B27-9772-2392BD750ED5}.Release|x64.Build.0 = Release|x64
|
||||
{BA17D20E-0CEB-4B27-9772-2392BD750ED5}.Release|x86.ActiveCfg = Release|x86
|
||||
{BA17D20E-0CEB-4B27-9772-2392BD750ED5}.Release|x86.Build.0 = Release|x86
|
||||
{BA17D20E-0CEB-4B27-9772-2392BD750ED5}.ReleaseTest|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{BA17D20E-0CEB-4B27-9772-2392BD750ED5}.ReleaseTest|Any CPU.Build.0 = Release|Any CPU
|
||||
{BA17D20E-0CEB-4B27-9772-2392BD750ED5}.ReleaseTest|Mixed Platforms.ActiveCfg = Release|x86
|
||||
{BA17D20E-0CEB-4B27-9772-2392BD750ED5}.ReleaseTest|Mixed Platforms.Build.0 = Release|x86
|
||||
{BA17D20E-0CEB-4B27-9772-2392BD750ED5}.ReleaseTest|x64.ActiveCfg = Release|x64
|
||||
{BA17D20E-0CEB-4B27-9772-2392BD750ED5}.ReleaseTest|x64.Build.0 = Release|x64
|
||||
{BA17D20E-0CEB-4B27-9772-2392BD750ED5}.ReleaseTest|x86.ActiveCfg = Release|x86
|
||||
{BA17D20E-0CEB-4B27-9772-2392BD750ED5}.ReleaseTest|x86.Build.0 = Release|x86
|
||||
{BA17D20E-0CEB-4B27-9772-2392BD750ED5}.XP32bit|Any CPU.ActiveCfg = XP32bit|Any CPU
|
||||
{BA17D20E-0CEB-4B27-9772-2392BD750ED5}.XP32bit|Any CPU.Build.0 = XP32bit|Any CPU
|
||||
{BA17D20E-0CEB-4B27-9772-2392BD750ED5}.XP32bit|Mixed Platforms.ActiveCfg = XP32bit|x86
|
||||
{BA17D20E-0CEB-4B27-9772-2392BD750ED5}.XP32bit|Mixed Platforms.Build.0 = XP32bit|x86
|
||||
{BA17D20E-0CEB-4B27-9772-2392BD750ED5}.XP32bit|x64.ActiveCfg = XP32bit|x64
|
||||
{BA17D20E-0CEB-4B27-9772-2392BD750ED5}.XP32bit|x64.Build.0 = XP32bit|x64
|
||||
{BA17D20E-0CEB-4B27-9772-2392BD750ED5}.XP32bit|x86.ActiveCfg = XP32bit|x86
|
||||
{BA17D20E-0CEB-4B27-9772-2392BD750ED5}.XP32bit|x86.Build.0 = XP32bit|x86
|
||||
{8BDD2789-96D4-43EA-AAD7-0F49D0347998}._MANUAL_CONTROL|Any CPU.ActiveCfg = _MANUAL_CONTROL|Any CPU
|
||||
{8BDD2789-96D4-43EA-AAD7-0F49D0347998}._MANUAL_CONTROL|Any CPU.Build.0 = _MANUAL_CONTROL|Any CPU
|
||||
{8BDD2789-96D4-43EA-AAD7-0F49D0347998}._MANUAL_CONTROL|Mixed Platforms.ActiveCfg = _MANUAL_CONTROL|x86
|
||||
{8BDD2789-96D4-43EA-AAD7-0F49D0347998}._MANUAL_CONTROL|Mixed Platforms.Build.0 = _MANUAL_CONTROL|x86
|
||||
{8BDD2789-96D4-43EA-AAD7-0F49D0347998}._MANUAL_CONTROL|x64.ActiveCfg = _MANUAL_CONTROL|x64
|
||||
{8BDD2789-96D4-43EA-AAD7-0F49D0347998}._MANUAL_CONTROL|x64.Build.0 = _MANUAL_CONTROL|x64
|
||||
{8BDD2789-96D4-43EA-AAD7-0F49D0347998}._MANUAL_CONTROL|x86.ActiveCfg = _MANUAL_CONTROL|x86
|
||||
{8BDD2789-96D4-43EA-AAD7-0F49D0347998}._MANUAL_CONTROL|x86.Build.0 = _MANUAL_CONTROL|x86
|
||||
{8BDD2789-96D4-43EA-AAD7-0F49D0347998}.COM|Any CPU.ActiveCfg = _MANUAL_CONTROL|Any CPU
|
||||
{8BDD2789-96D4-43EA-AAD7-0F49D0347998}.COM|Any CPU.Build.0 = _MANUAL_CONTROL|Any CPU
|
||||
{8BDD2789-96D4-43EA-AAD7-0F49D0347998}.COM|Mixed Platforms.ActiveCfg = _MANUAL_CONTROL|x86
|
||||
{8BDD2789-96D4-43EA-AAD7-0F49D0347998}.COM|Mixed Platforms.Build.0 = _MANUAL_CONTROL|x86
|
||||
{8BDD2789-96D4-43EA-AAD7-0F49D0347998}.COM|x64.ActiveCfg = _MANUAL_CONTROL|x64
|
||||
{8BDD2789-96D4-43EA-AAD7-0F49D0347998}.COM|x64.Build.0 = _MANUAL_CONTROL|x64
|
||||
{8BDD2789-96D4-43EA-AAD7-0F49D0347998}.COM|x86.ActiveCfg = _MANUAL_CONTROL|x86
|
||||
{8BDD2789-96D4-43EA-AAD7-0F49D0347998}.COM|x86.Build.0 = _MANUAL_CONTROL|x86
|
||||
{8BDD2789-96D4-43EA-AAD7-0F49D0347998}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{8BDD2789-96D4-43EA-AAD7-0F49D0347998}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{8BDD2789-96D4-43EA-AAD7-0F49D0347998}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU
|
||||
{8BDD2789-96D4-43EA-AAD7-0F49D0347998}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU
|
||||
{8BDD2789-96D4-43EA-AAD7-0F49D0347998}.Debug|x64.ActiveCfg = Debug|x64
|
||||
{8BDD2789-96D4-43EA-AAD7-0F49D0347998}.Debug|x64.Build.0 = Debug|x64
|
||||
{8BDD2789-96D4-43EA-AAD7-0F49D0347998}.Debug|x86.ActiveCfg = Debug|x86
|
||||
{8BDD2789-96D4-43EA-AAD7-0F49D0347998}.Debug|x86.Build.0 = Debug|x86
|
||||
{8BDD2789-96D4-43EA-AAD7-0F49D0347998}.GenesisDisplayTool_V01|Any CPU.ActiveCfg = _MANUAL_CONTROL|Any CPU
|
||||
{8BDD2789-96D4-43EA-AAD7-0F49D0347998}.GenesisDisplayTool_V01|Any CPU.Build.0 = _MANUAL_CONTROL|Any CPU
|
||||
{8BDD2789-96D4-43EA-AAD7-0F49D0347998}.GenesisDisplayTool_V01|Mixed Platforms.ActiveCfg = _MANUAL_CONTROL|x86
|
||||
{8BDD2789-96D4-43EA-AAD7-0F49D0347998}.GenesisDisplayTool_V01|Mixed Platforms.Build.0 = _MANUAL_CONTROL|x86
|
||||
{8BDD2789-96D4-43EA-AAD7-0F49D0347998}.GenesisDisplayTool_V01|x64.ActiveCfg = _MANUAL_CONTROL|x64
|
||||
{8BDD2789-96D4-43EA-AAD7-0F49D0347998}.GenesisDisplayTool_V01|x64.Build.0 = _MANUAL_CONTROL|x64
|
||||
{8BDD2789-96D4-43EA-AAD7-0F49D0347998}.GenesisDisplayTool_V01|x86.ActiveCfg = _MANUAL_CONTROL|x86
|
||||
{8BDD2789-96D4-43EA-AAD7-0F49D0347998}.GenesisDisplayTool_V01|x86.Build.0 = _MANUAL_CONTROL|x86
|
||||
{8BDD2789-96D4-43EA-AAD7-0F49D0347998}.PerformTest|Any CPU.ActiveCfg = PerformTest|Any CPU
|
||||
{8BDD2789-96D4-43EA-AAD7-0F49D0347998}.PerformTest|Any CPU.Build.0 = PerformTest|Any CPU
|
||||
{8BDD2789-96D4-43EA-AAD7-0F49D0347998}.PerformTest|Mixed Platforms.ActiveCfg = PerformTest|x86
|
||||
{8BDD2789-96D4-43EA-AAD7-0F49D0347998}.PerformTest|Mixed Platforms.Build.0 = PerformTest|x86
|
||||
{8BDD2789-96D4-43EA-AAD7-0F49D0347998}.PerformTest|x64.ActiveCfg = PerformTest|x64
|
||||
{8BDD2789-96D4-43EA-AAD7-0F49D0347998}.PerformTest|x64.Build.0 = PerformTest|x64
|
||||
{8BDD2789-96D4-43EA-AAD7-0F49D0347998}.PerformTest|x86.ActiveCfg = PerformTest|x86
|
||||
{8BDD2789-96D4-43EA-AAD7-0F49D0347998}.PerformTest|x86.Build.0 = PerformTest|x86
|
||||
{8BDD2789-96D4-43EA-AAD7-0F49D0347998}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{8BDD2789-96D4-43EA-AAD7-0F49D0347998}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{8BDD2789-96D4-43EA-AAD7-0F49D0347998}.Release|Mixed Platforms.ActiveCfg = Release|x86
|
||||
{8BDD2789-96D4-43EA-AAD7-0F49D0347998}.Release|Mixed Platforms.Build.0 = Release|x86
|
||||
{8BDD2789-96D4-43EA-AAD7-0F49D0347998}.Release|x64.ActiveCfg = Release|x64
|
||||
{8BDD2789-96D4-43EA-AAD7-0F49D0347998}.Release|x64.Build.0 = Release|x64
|
||||
{8BDD2789-96D4-43EA-AAD7-0F49D0347998}.Release|x86.ActiveCfg = Release|x86
|
||||
{8BDD2789-96D4-43EA-AAD7-0F49D0347998}.Release|x86.Build.0 = Release|x86
|
||||
{8BDD2789-96D4-43EA-AAD7-0F49D0347998}.ReleaseTest|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{8BDD2789-96D4-43EA-AAD7-0F49D0347998}.ReleaseTest|Any CPU.Build.0 = Release|Any CPU
|
||||
{8BDD2789-96D4-43EA-AAD7-0F49D0347998}.ReleaseTest|Mixed Platforms.ActiveCfg = Release|x86
|
||||
{8BDD2789-96D4-43EA-AAD7-0F49D0347998}.ReleaseTest|Mixed Platforms.Build.0 = Release|x86
|
||||
{8BDD2789-96D4-43EA-AAD7-0F49D0347998}.ReleaseTest|x64.ActiveCfg = Release|x64
|
||||
{8BDD2789-96D4-43EA-AAD7-0F49D0347998}.ReleaseTest|x64.Build.0 = Release|x64
|
||||
{8BDD2789-96D4-43EA-AAD7-0F49D0347998}.ReleaseTest|x86.ActiveCfg = Release|x86
|
||||
{8BDD2789-96D4-43EA-AAD7-0F49D0347998}.ReleaseTest|x86.Build.0 = Release|x86
|
||||
{8BDD2789-96D4-43EA-AAD7-0F49D0347998}.XP32bit|Any CPU.ActiveCfg = XP32bit|Any CPU
|
||||
{8BDD2789-96D4-43EA-AAD7-0F49D0347998}.XP32bit|Any CPU.Build.0 = XP32bit|Any CPU
|
||||
{8BDD2789-96D4-43EA-AAD7-0F49D0347998}.XP32bit|Mixed Platforms.ActiveCfg = XP32bit|x86
|
||||
{8BDD2789-96D4-43EA-AAD7-0F49D0347998}.XP32bit|Mixed Platforms.Build.0 = XP32bit|x86
|
||||
{8BDD2789-96D4-43EA-AAD7-0F49D0347998}.XP32bit|x64.ActiveCfg = XP32bit|x64
|
||||
{8BDD2789-96D4-43EA-AAD7-0F49D0347998}.XP32bit|x64.Build.0 = XP32bit|x64
|
||||
{8BDD2789-96D4-43EA-AAD7-0F49D0347998}.XP32bit|x86.ActiveCfg = XP32bit|x86
|
||||
{8BDD2789-96D4-43EA-AAD7-0F49D0347998}.XP32bit|x86.Build.0 = XP32bit|x86
|
||||
EndGlobalSection
|
||||
GlobalSection(SolutionProperties) = preSolution
|
||||
HideSolutionNode = FALSE
|
||||
@@ -3684,7 +4014,6 @@ Global
|
||||
{04201E95-90A0-4B73-A72F-379739B2A3AE} = {B5F43F61-4448-4992-85B5-7EDFB82FD643}
|
||||
{D32ED790-7E1E-435B-8619-9F906C992066} = {45631019-6C25-429E-AD17-F7425E462CC8}
|
||||
{29617814-313E-409E-AA5D-59C78A9D4DF1} = {45631019-6C25-429E-AD17-F7425E462CC8}
|
||||
{8BDD2789-96D4-43EA-AAD7-0F49D0347998} = {45631019-6C25-429E-AD17-F7425E462CC8}
|
||||
{2E139F63-B6FE-4EA9-A098-85364FE9B26C} = {B9444AB7-1EB1-484A-8DE6-4EEE03498CD7}
|
||||
{72037E89-4F63-4B3F-BEFF-4138E578CE99} = {B9444AB7-1EB1-484A-8DE6-4EEE03498CD7}
|
||||
{EC10DAFE-88CF-42D5-99E7-D247938B6430} = {B98D02A6-6AE6-4736-BAA0-E53B0653B2D4}
|
||||
@@ -3725,7 +4054,13 @@ Global
|
||||
{94579693-7AC6-4FF0-B540-1F3780E1BCFA} = {C9393A97-C0BB-4D59-A879-B572BE04CE15}
|
||||
{B4F8545B-F379-42A5-BDE9-763FD7B79598} = {C9393A97-C0BB-4D59-A879-B572BE04CE15}
|
||||
{F14940F8-3C86-4BB7-A915-B021E4B3052D} = {B4F8545B-F379-42A5-BDE9-763FD7B79598}
|
||||
{FD55E1DE-E2C9-496A-B4E0-DC81A54F8F43} = {03D4F23E-7E4A-4091-BC96-036C996D351A}
|
||||
{A5E7CE52-3101-4E9B-B896-C2C0FADE4812} = {03D4F23E-7E4A-4091-BC96-036C996D351A}
|
||||
{70398B99-B134-4BBD-968B-7399B70C3CE2} = {C9393A97-C0BB-4D59-A879-B572BE04CE15}
|
||||
{B5DA260C-71CC-45CA-B79E-D1B376AF718C} = {C9393A97-C0BB-4D59-A879-B572BE04CE15}
|
||||
{00748F11-4B49-4D8B-93C4-4A11A210CCE2} = {94579693-7AC6-4FF0-B540-1F3780E1BCFA}
|
||||
{D6B81C60-2763-4C4D-989F-90822F53B01A} = {94579693-7AC6-4FF0-B540-1F3780E1BCFA}
|
||||
{BA17D20E-0CEB-4B27-9772-2392BD750ED5} = {C9393A97-C0BB-4D59-A879-B572BE04CE15}
|
||||
{8BDD2789-96D4-43EA-AAD7-0F49D0347998} = {EC10DAFE-88CF-42D5-99E7-D247938B6430}
|
||||
EndGlobalSection
|
||||
GlobalSection(ExtensibilityGlobals) = postSolution
|
||||
SolutionGuid = {4BCB7B69-696C-436A-86F7-C91EA5588164}
|
||||
|
||||
@@ -28,6 +28,8 @@
|
||||
<s:Boolean x:Key="/Default/Environment/ExcludedFiles/FilesAndFoldersToSkip/=1057AD21_002DBA22_002D4CAB_002DB3FE_002D88C5C9980E6A_002Fd_003AScripts_002Ff_003Ajquery_002D1_002E10_002E2_002Eintellisense_002Ejs/@EntryIndexedValue">True</s:Boolean>
|
||||
<s:String x:Key="/Default/Environment/Hierarchy/Build/SolBuilderDuo/UseMsbuildSolutionBuilder/@EntryValue">NewVersion</s:String>
|
||||
<s:Boolean x:Key="/Default/Environment/Hierarchy/EntityFrameworkOptions/IsAlreadyNotifiedAboutEntityFramework/@EntryValue">True</s:Boolean>
|
||||
<s:String x:Key="/Default/Environment/Highlighting/HighlightingSourceSnapshotLocation/@EntryValue">C:\Users\Thomas\AppData\Local\Temp\JetBrains\ReSharperPlatformVs15\vAny_33007af5\CoverageData\_Common.-1885154465\Snapshot\snapshot.utdcvr</s:String>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -226,6 +226,10 @@
|
||||
<Project>{2E139F63-B6FE-4EA9-A098-85364FE9B26C}</Project>
|
||||
<Name>PortCore</Name>
|
||||
</ProjectReference>
|
||||
<ProjectReference Include="..\Hardware\Interfaces\Protocols\ProtocolCore\ProtocolCore.csproj">
|
||||
<Project>{8BDD2789-96D4-43EA-AAD7-0F49D0347998}</Project>
|
||||
<Name>ProtocolCore</Name>
|
||||
</ProjectReference>
|
||||
<ProjectReference Include="..\Hardware\WaterMeter\Genesis\DataPackages\DataPackages.csproj">
|
||||
<Project>{0E524D43-7B66-45CD-AA74-41D51AFC3D99}</Project>
|
||||
<Name>DataPackages</Name>
|
||||
|
||||
@@ -6,6 +6,7 @@ using System.IO;
|
||||
using System.Text;
|
||||
using System.Windows.Forms;
|
||||
using Xylem.Common.CommonCore.Consts;
|
||||
using Xylem.Common.Hardware.Interfaces.Ports.PortCore;
|
||||
using Xylem.Common.Hardware.WaterMeter.Genesis.GenesisConfig;
|
||||
using Xylem.Common.Hardware.WaterMeter.WaterMeterCore;
|
||||
|
||||
|
||||
@@ -9,6 +9,8 @@ using System.Linq;
|
||||
using System.Threading;
|
||||
using Logic.ProductionToProductMapper.Cordonel;
|
||||
using Xylem.Common.CommonCore.Consts;
|
||||
using Xylem.Common.Hardware.Interfaces.Ports.PortCore;
|
||||
using Xylem.Common.Hardware.Interfaces.Protocols.ProtocolCore.EventArguments;
|
||||
using Xylem.Common.Hardware.WaterMeter.Genesis.DataPackages.EventArguments;
|
||||
using Xylem.Common.Hardware.WaterMeter.Genesis.DataPackages.MeasurementRecords;
|
||||
using Xylem.Common.Hardware.WaterMeter.Genesis.GenesisConfig;
|
||||
|
||||
Binary file not shown.
Binary file not shown.
+1
-1
@@ -1,7 +1,7 @@
|
||||
using System;
|
||||
using System.IO.Ports;
|
||||
|
||||
namespace Xylem.Common.Hardware.WaterMeter.Genesis.GenesisConfig
|
||||
namespace Xylem.Common.Hardware.Interfaces.Ports.PortCore
|
||||
{
|
||||
/// <summary>
|
||||
/// Collection of port settings
|
||||
@@ -94,7 +94,10 @@
|
||||
<Compile Include="EventArguments\ListBytePortDataEventArgs.cs" />
|
||||
<Compile Include="EventArguments\StringPortDataEventArgs.cs" />
|
||||
<Compile Include="IPort.cs" />
|
||||
<Compile Include="PortConfig.cs" />
|
||||
<Compile Include="Properties\AssemblyInfo.cs" />
|
||||
<Compile Include="SlotConfig.cs" />
|
||||
<Compile Include="SlotType.cs" />
|
||||
<Compile Include="TransmitPortSettings.cs" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
@@ -107,6 +110,7 @@
|
||||
<Reference Include="Newtonsoft.Json, Version=12.0.0.0, Culture=neutral, PublicKeyToken=30ad4fe6b2a6aeed, processorArchitecture=MSIL">
|
||||
<HintPath>..\..\..\..\..\ServiceFwUpdate\packages\Newtonsoft.Json.12.0.3\lib\net40\Newtonsoft.Json.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="System" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<None Include="packages.config" />
|
||||
|
||||
+1
-1
@@ -1,6 +1,6 @@
|
||||
using System;
|
||||
|
||||
namespace Xylem.Common.Hardware.WaterMeter.Genesis.GenesisConfig
|
||||
namespace Xylem.Common.Hardware.Interfaces.Ports.PortCore
|
||||
{
|
||||
/// <summary>
|
||||
/// Container for port configuration
|
||||
@@ -0,0 +1,17 @@
|
||||
namespace Xylem.Common.Hardware.Interfaces.Ports.PortCore
|
||||
{
|
||||
/// <summary>
|
||||
/// Definition of type for slot
|
||||
/// </summary>
|
||||
public enum SlotType
|
||||
{
|
||||
/// <summary>
|
||||
/// Cordonel used as DUT with two serial ports
|
||||
/// </summary>
|
||||
DutMeter,
|
||||
/// <summary>
|
||||
/// Cordonel used as temperature meter with one serial port streaming the temperature
|
||||
/// </summary>
|
||||
TemperatureMeter,
|
||||
}
|
||||
}
|
||||
+5
-7
@@ -3,10 +3,10 @@ using System.Collections.Concurrent;
|
||||
using System.Threading;
|
||||
using Xylem.Common.CommonCore.ThreadWatcher;
|
||||
using Xylem.Common.Hardware.Interfaces.Ports.PortCore.EventArguments;
|
||||
using Xylem.Common.Hardware.Interfaces.Protocols.ProtocolCore.EventArguments;
|
||||
using Xylem.Common.Hardware.Interfaces.Protocols.TransmitProtocol;
|
||||
using Xylem.Common.Hardware.WaterMeter.Genesis.DataPackages.EventArguments;
|
||||
|
||||
namespace Xylem.Common.Hardware.WaterMeter.Genesis.Protocols.ProtocolCore
|
||||
namespace Xylem.Common.Hardware.Interfaces.Protocols.ProtocolCore
|
||||
{
|
||||
/// <inheritdoc />
|
||||
/// <summary>
|
||||
@@ -56,7 +56,7 @@ namespace Xylem.Common.Hardware.WaterMeter.Genesis.Protocols.ProtocolCore
|
||||
/// <remarks date="2018-Feb-14" author="T.Wiedebusch">
|
||||
/// - Initial
|
||||
/// </remarks>
|
||||
public void Dispose()
|
||||
public virtual void Dispose()
|
||||
{
|
||||
//Cancel receive tokens
|
||||
_decodingToken.Cancel();
|
||||
@@ -70,7 +70,7 @@ namespace Xylem.Common.Hardware.WaterMeter.Genesis.Protocols.ProtocolCore
|
||||
while (_decodingThread.ThreadState != ThreadState.Stopped && timeoutCounter > 0)
|
||||
{
|
||||
Thread.Sleep(1);
|
||||
timeoutCounter = timeoutCounter - 1;
|
||||
timeoutCounter -= 1;
|
||||
}
|
||||
|
||||
if (_decodingThread.ThreadState != ThreadState.Stopped)
|
||||
@@ -110,9 +110,7 @@ namespace Xylem.Common.Hardware.WaterMeter.Genesis.Protocols.ProtocolCore
|
||||
{
|
||||
while (!_decodingToken.IsCancellationRequested)
|
||||
{
|
||||
|
||||
IPortDataEventArgs receivedRecord;
|
||||
while (_decodingFifo.TryDequeue(out receivedRecord))
|
||||
while (_decodingFifo.TryDequeue(out var receivedRecord))
|
||||
{
|
||||
DecodeRecord(receivedRecord);
|
||||
}
|
||||
+1
-1
@@ -1,6 +1,6 @@
|
||||
using System;
|
||||
|
||||
namespace Xylem.Common.Hardware.WaterMeter.Genesis.DataPackages.EventArguments
|
||||
namespace Xylem.Common.Hardware.Interfaces.Protocols.ProtocolCore.EventArguments
|
||||
{
|
||||
|
||||
/// <inheritdoc />
|
||||
+2
-2
@@ -1,9 +1,9 @@
|
||||
using System;
|
||||
using Xylem.Common.Hardware.Interfaces.Ports.PortCore.EventArguments;
|
||||
using Xylem.Common.Hardware.Interfaces.Protocols.ProtocolCore.EventArguments;
|
||||
using Xylem.Common.Hardware.Interfaces.Protocols.TransmitProtocol;
|
||||
using Xylem.Common.Hardware.WaterMeter.Genesis.DataPackages.EventArguments;
|
||||
|
||||
namespace Xylem.Common.Hardware.WaterMeter.Genesis.Protocols.ProtocolCore
|
||||
namespace Xylem.Common.Hardware.Interfaces.Protocols.ProtocolCore
|
||||
{
|
||||
/// <inheritdoc />
|
||||
/// <summary>
|
||||
+1
-1
@@ -1,7 +1,7 @@
|
||||
using System.Runtime.InteropServices;
|
||||
using System.Reflection;
|
||||
|
||||
[assembly: AssemblyTitle("Xylem.Common.Hardware.WaterMeter.Protocols.ProtocolCore")]
|
||||
[assembly: AssemblyTitle("Xylem.Common.Hardware.Interfaces.Protocols.ProtocolCore")]
|
||||
[assembly: AssemblyDescription("")]
|
||||
[assembly: Guid("1A402949-095C-4039-8AE3-6594A7FB2242")]
|
||||
|
||||
+11
-19
@@ -7,8 +7,8 @@
|
||||
<ProjectGuid>{8BDD2789-96D4-43EA-AAD7-0F49D0347998}</ProjectGuid>
|
||||
<OutputType>Library</OutputType>
|
||||
<AppDesignerFolder>Properties</AppDesignerFolder>
|
||||
<RootNamespace>Xylem.Common.Hardware.WaterMeter.Genesis.Protocols.ProtocolCore</RootNamespace>
|
||||
<AssemblyName>Xylem.Common.Hardware.WaterMeter.Genesis.Protocols.ProtocolCore</AssemblyName>
|
||||
<RootNamespace>Xylem.Common.Hardware.Interfaces.Protocols.ProtocolCore</RootNamespace>
|
||||
<AssemblyName>Xylem.Common.Hardware.Interfaces.Protocols.ProtocolCore</AssemblyName>
|
||||
<TargetFrameworkVersion>v4.0</TargetFrameworkVersion>
|
||||
<FileAlignment>512</FileAlignment>
|
||||
<AutoGenerateBindingRedirects>true</AutoGenerateBindingRedirects>
|
||||
@@ -51,7 +51,7 @@
|
||||
<ErrorReport>prompt</ErrorReport>
|
||||
<CodeAnalysisRuleSet>MinimumRecommendedRules.ruleset</CodeAnalysisRuleSet>
|
||||
<LangVersion>6</LangVersion>
|
||||
<DocumentationFile>bin\x86\Debug\Xylem.Common.Hardware.WaterMeter.Genesis.Protocols.ProtocolCore.xml</DocumentationFile>
|
||||
<DocumentationFile>bin\x86\Debug\Xylem.Common.Hardware.Interfaces.Protocols.ProtocolCore.xml</DocumentationFile>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Release|x86'">
|
||||
<OutputPath>bin\x86\Release\</OutputPath>
|
||||
@@ -174,44 +174,36 @@
|
||||
<CodeAnalysisRuleSet>MinimumRecommendedRules.ruleset</CodeAnalysisRuleSet>
|
||||
</PropertyGroup>
|
||||
<ItemGroup>
|
||||
<Reference Include="Newtonsoft.Json, Version=12.0.0.0, Culture=neutral, PublicKeyToken=30ad4fe6b2a6aeed, processorArchitecture=MSIL">
|
||||
<HintPath>..\..\..\..\..\..\ServiceFwUpdate\packages\Newtonsoft.Json.12.0.3\lib\net40\Newtonsoft.Json.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="NLog, Version=4.0.0.0, Culture=neutral, PublicKeyToken=5120e14c03d0593c, processorArchitecture=MSIL">
|
||||
<HintPath>..\..\..\..\..\packages\NLog.4.6.7\lib\net40-client\NLog.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="System" />
|
||||
<Reference Include="System.Core" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Compile Include="..\..\..\..\..\.shared\SharedAssemblyInfo.cs">
|
||||
<Compile Include="..\..\..\..\.shared\SharedAssemblyInfo.cs">
|
||||
<Link>Properties\SharedAssemblyInfo.cs</Link>
|
||||
</Compile>
|
||||
<Compile Include="BaseProtocol.cs" />
|
||||
<Compile Include="EventArguments\BaseDataEventArgs.cs" />
|
||||
<Compile Include="IProtocol.cs" />
|
||||
<Compile Include="Properties\AssemblyInfo.cs" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ProjectReference Include="..\..\..\..\..\CommonCore\ThreadWatcher\ThreadWatcher.csproj">
|
||||
<Project>{94ca71f3-c5d7-4ec6-ba47-fa8eea3c9406}</Project>
|
||||
<ProjectReference Include="..\..\..\..\CommonCore\ThreadWatcher\ThreadWatcher.csproj">
|
||||
<Project>{94CA71F3-C5D7-4EC6-BA47-FA8EEA3C9406}</Project>
|
||||
<Name>ThreadWatcher</Name>
|
||||
</ProjectReference>
|
||||
<ProjectReference Include="..\..\..\..\Interfaces\Ports\PortCore\PortCore.csproj">
|
||||
<Project>{2e139f63-b6fe-4ea9-a098-85364fe9b26c}</Project>
|
||||
<ProjectReference Include="..\..\Ports\PortCore\PortCore.csproj">
|
||||
<Project>{2E139F63-B6FE-4EA9-A098-85364FE9B26C}</Project>
|
||||
<Name>PortCore</Name>
|
||||
</ProjectReference>
|
||||
<ProjectReference Include="..\..\..\..\Interfaces\Protocols\TransmitProtocol\TransmitProtocol.csproj">
|
||||
<ProjectReference Include="..\TransmitProtocol\TransmitProtocol.csproj">
|
||||
<Project>{63E0AC5E-B7C8-4363-A2FE-BE489E648FF0}</Project>
|
||||
<Name>TransmitProtocol</Name>
|
||||
</ProjectReference>
|
||||
<ProjectReference Include="..\..\DataPackages\DataPackages.csproj">
|
||||
<Project>{0e524d43-7b66-45cd-aa74-41d51afc3d99}</Project>
|
||||
<Name>DataPackages</Name>
|
||||
</ProjectReference>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<None Include="packages.config" />
|
||||
</ItemGroup>
|
||||
<ItemGroup />
|
||||
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
|
||||
<!-- 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.
|
||||
@@ -215,13 +215,11 @@
|
||||
<Compile Include="..\..\..\..\.shared\SharedAssemblyInfo.cs">
|
||||
<Link>Properties\SharedAssemblyInfo.cs</Link>
|
||||
</Compile>
|
||||
<Compile Include="EventArguments\BaseDataEventArgs.cs" />
|
||||
<Compile Include="EventArguments\CalibDataEventArgs.cs" />
|
||||
<Compile Include="EventArguments\FlowDataEventArgs.cs" />
|
||||
<Compile Include="EventArguments\RegisterUpdateEventArgs.cs" />
|
||||
<Compile Include="EventArguments\RequestResponseDataEventArgs.cs" />
|
||||
<Compile Include="MeasurementRecords\CalibrationRecord.cs" />
|
||||
<Compile Include="MeasurementRecords\MagFluxRecord.cs" />
|
||||
<Compile Include="MeasurementRecords\FlowTestRecord.cs" />
|
||||
<Compile Include="Properties\AssemblyInfo.cs" />
|
||||
<Compile Include="RadioConfigurationParams.cs" />
|
||||
@@ -246,6 +244,10 @@
|
||||
<Project>{6CCDB656-C676-4360-BABA-C4596AAD175D}</Project>
|
||||
<Name>Measurements</Name>
|
||||
</ProjectReference>
|
||||
<ProjectReference Include="..\..\..\Interfaces\Protocols\ProtocolCore\ProtocolCore.csproj">
|
||||
<Project>{8BDD2789-96D4-43EA-AAD7-0F49D0347998}</Project>
|
||||
<Name>ProtocolCore</Name>
|
||||
</ProjectReference>
|
||||
<ProjectReference Include="..\Registers\Registers.csproj">
|
||||
<Project>{F4AAF7E6-7333-4284-B735-E32DEB076C64}</Project>
|
||||
<Name>Registers</Name>
|
||||
@@ -254,6 +256,7 @@
|
||||
<ItemGroup>
|
||||
<None Include="packages.config" />
|
||||
</ItemGroup>
|
||||
<ItemGroup />
|
||||
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
|
||||
<!-- 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.
|
||||
|
||||
@@ -1,6 +1,8 @@
|
||||
using System;
|
||||
using Xylem.Common.Hardware.Interfaces.Protocols.ProtocolCore.EventArguments;
|
||||
using Xylem.Common.Hardware.WaterMeter.Genesis.DataPackages.MeasurementRecords;
|
||||
|
||||
|
||||
namespace Xylem.Common.Hardware.WaterMeter.Genesis.DataPackages.EventArguments
|
||||
{
|
||||
/// <inheritdoc />
|
||||
|
||||
@@ -1,6 +1,8 @@
|
||||
using System;
|
||||
using Xylem.Common.Hardware.Interfaces.Protocols.ProtocolCore.EventArguments;
|
||||
using Xylem.Common.Hardware.WaterMeter.Genesis.DataPackages.MeasurementRecords;
|
||||
|
||||
|
||||
namespace Xylem.Common.Hardware.WaterMeter.Genesis.DataPackages.EventArguments
|
||||
{
|
||||
/// <inheritdoc />
|
||||
|
||||
+1
@@ -1,5 +1,6 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using Xylem.Common.Hardware.Interfaces.Protocols.ProtocolCore.EventArguments;
|
||||
|
||||
namespace Xylem.Common.Hardware.WaterMeter.Genesis.DataPackages.EventArguments
|
||||
{
|
||||
|
||||
@@ -94,10 +94,7 @@
|
||||
<Compile Include="CommunicationConfig.cs" />
|
||||
<Compile Include="Const\MeterConfig.cs" />
|
||||
<Compile Include="ProcessConfig.cs" />
|
||||
<Compile Include="PortConfig.cs" />
|
||||
<Compile Include="Properties\AssemblyInfo.cs" />
|
||||
<Compile Include="SlotConfig.cs" />
|
||||
<Compile Include="SlotType.cs" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ProjectReference Include="..\..\..\Interfaces\Ports\PortCore\PortCore.csproj">
|
||||
|
||||
@@ -1,8 +0,0 @@
|
||||
namespace Xylem.Common.Hardware.WaterMeter.Genesis.GenesisConfig
|
||||
{
|
||||
public enum SlotType
|
||||
{
|
||||
DutMeter,
|
||||
TemperatureMeter,
|
||||
}
|
||||
}
|
||||
@@ -303,6 +303,10 @@
|
||||
<Project>{72037E89-4F63-4B3F-BEFF-4138E578CE99}</Project>
|
||||
<Name>SerialPorts</Name>
|
||||
</ProjectReference>
|
||||
<ProjectReference Include="..\..\..\Interfaces\Protocols\ProtocolCore\ProtocolCore.csproj">
|
||||
<Project>{8BDD2789-96D4-43EA-AAD7-0F49D0347998}</Project>
|
||||
<Name>ProtocolCore</Name>
|
||||
</ProjectReference>
|
||||
<ProjectReference Include="..\..\..\Interfaces\Protocols\TransmitProtocol\TransmitProtocol.csproj">
|
||||
<Project>{63E0AC5E-B7C8-4363-A2FE-BE489E648FF0}</Project>
|
||||
<Name>TransmitProtocol</Name>
|
||||
@@ -331,10 +335,6 @@
|
||||
<Project>{AC434B18-4D7B-49BA-9AD5-0527C79E8297}</Project>
|
||||
<Name>GenesisPwd</Name>
|
||||
</ProjectReference>
|
||||
<ProjectReference Include="..\Protocols\ProtocolCore\ProtocolCore.csproj">
|
||||
<Project>{8BDD2789-96D4-43EA-AAD7-0F49D0347998}</Project>
|
||||
<Name>ProtocolCore</Name>
|
||||
</ProjectReference>
|
||||
<ProjectReference Include="..\Protocols\RequestProtocol\RequestProtocol.csproj">
|
||||
<Project>{D32ED790-7E1E-435B-8619-9F906C992066}</Project>
|
||||
<Name>RequestProtocol</Name>
|
||||
|
||||
@@ -19,6 +19,8 @@ using Xylem.Common.CommonCore.ThreadWatcher;
|
||||
using Xylem.Common.Hardware.Interfaces.Ports.PortCore;
|
||||
using Xylem.Common.Hardware.Interfaces.Ports.PortCore.EventArguments;
|
||||
using Xylem.Common.Hardware.Interfaces.Ports.SerialPorts;
|
||||
using Xylem.Common.Hardware.Interfaces.Protocols.ProtocolCore;
|
||||
using Xylem.Common.Hardware.Interfaces.Protocols.ProtocolCore.EventArguments;
|
||||
using Xylem.Common.Hardware.Interfaces.Protocols.TransmitProtocol;
|
||||
using Xylem.Common.Hardware.WaterMeter.Genesis.Applications;
|
||||
using Xylem.Common.Hardware.WaterMeter.Genesis.Applications.Const;
|
||||
@@ -27,7 +29,6 @@ using Xylem.Common.Hardware.WaterMeter.Genesis.DataPackages.EventArguments;
|
||||
using Xylem.Common.Hardware.WaterMeter.Genesis.DataPackages.MeasurementRecords;
|
||||
using Xylem.Common.Hardware.WaterMeter.Genesis.GenesisConfig;
|
||||
using Xylem.Common.Hardware.WaterMeter.Genesis.GenesisPwd;
|
||||
using Xylem.Common.Hardware.WaterMeter.Genesis.Protocols.ProtocolCore;
|
||||
using Xylem.Common.Hardware.WaterMeter.Genesis.Protocols.RequestProtocol;
|
||||
using Xylem.Common.Hardware.WaterMeter.Genesis.Protocols.RequestProtocol.Consts;
|
||||
using Xylem.Common.Hardware.WaterMeter.Genesis.Protocols.RequestProtocol.EventArguments;
|
||||
@@ -648,7 +649,7 @@ namespace Xylem.Common.Hardware.WaterMeter.Genesis.GenesisCore
|
||||
{
|
||||
var ledTransmit = new LedTransmitProtocol(streamingPort.Value.PortName);
|
||||
|
||||
var streamingIdent = $"Slot:{Slot}/{streamingPort.Value.PortName}-Protocol:LED";
|
||||
var streamingIdent = $"Slot:{Slot}, Port:{streamingPort.Value.PortName}, Protocol:LED";
|
||||
|
||||
StreamingPort = new LedSerialPort(streamingIdent, streamingPort.Value.GetSerialPort(),
|
||||
ledTransmit.GetTransmitPortSettings());
|
||||
|
||||
@@ -4,6 +4,7 @@ using System.IO;
|
||||
using System.IO.Ports;
|
||||
using System.Linq;
|
||||
using Newtonsoft.Json;
|
||||
using Xylem.Common.Hardware.Interfaces.Ports.PortCore;
|
||||
using Xylem.Common.Hardware.WaterMeter.Genesis.GenesisConfig;
|
||||
using Xylem.Common.Hardware.WaterMeter.Genesis.GenesisCore.Properties;
|
||||
using Xylem.Common.Hardware.WaterMeter.WaterMeterCore;
|
||||
|
||||
@@ -87,12 +87,10 @@ namespace Xylem.Common.Hardware.WaterMeter.Genesis.GenesisCore
|
||||
}
|
||||
catch (Exception)
|
||||
{
|
||||
|
||||
|
||||
// ignored
|
||||
}
|
||||
|
||||
|
||||
|
||||
WriteRegister("GENESISFLOW_DisplayPow10", (new Byte[] { 0x00, 0x00, 0x00, 0xFA }).Reverse().ToArray());
|
||||
WriteRegister(Register.Genesisflow.StoreCalibration, 1);
|
||||
WriteRegister(Register.Genesisflow.StoreConfiguration, 1);
|
||||
|
||||
@@ -6,9 +6,10 @@ using System.Threading;
|
||||
using Xylem.Common.Utils.Logging;
|
||||
using NLog;
|
||||
using Xylem.Common.Hardware.Interfaces.Ports.PortCore.EventArguments;
|
||||
using Xylem.Common.Hardware.Interfaces.Protocols.ProtocolCore;
|
||||
using Xylem.Common.Hardware.Interfaces.Protocols.ProtocolCore.EventArguments;
|
||||
using Xylem.Common.Hardware.WaterMeter.Genesis.DataPackages.EventArguments;
|
||||
using Xylem.Common.Hardware.WaterMeter.Genesis.GenesisConfig;
|
||||
using Xylem.Common.Hardware.WaterMeter.Genesis.Protocols.ProtocolCore;
|
||||
using Xylem.Common.Hardware.WaterMeter.Genesis.Protocols.RequestProtocol.Consts;
|
||||
using Xylem.Common.Hardware.WaterMeter.Genesis.Registers;
|
||||
|
||||
|
||||
@@ -234,6 +234,10 @@
|
||||
<Project>{2E139F63-B6FE-4EA9-A098-85364FE9B26C}</Project>
|
||||
<Name>PortCore</Name>
|
||||
</ProjectReference>
|
||||
<ProjectReference Include="..\..\..\..\Interfaces\Protocols\ProtocolCore\ProtocolCore.csproj">
|
||||
<Project>{8BDD2789-96D4-43EA-AAD7-0F49D0347998}</Project>
|
||||
<Name>ProtocolCore</Name>
|
||||
</ProjectReference>
|
||||
<ProjectReference Include="..\..\..\..\Interfaces\Protocols\TransmitProtocol\TransmitProtocol.csproj">
|
||||
<Project>{63E0AC5E-B7C8-4363-A2FE-BE489E648FF0}</Project>
|
||||
<Name>TransmitProtocol</Name>
|
||||
@@ -250,10 +254,6 @@
|
||||
<Project>{F4AAF7E6-7333-4284-B735-E32DEB076C64}</Project>
|
||||
<Name>Registers</Name>
|
||||
</ProjectReference>
|
||||
<ProjectReference Include="..\ProtocolCore\ProtocolCore.csproj">
|
||||
<Project>{8BDD2789-96D4-43EA-AAD7-0F49D0347998}</Project>
|
||||
<Name>ProtocolCore</Name>
|
||||
</ProjectReference>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Reference Include="Newtonsoft.Json, Version=12.0.0.0, Culture=neutral, PublicKeyToken=30ad4fe6b2a6aeed, processorArchitecture=MSIL">
|
||||
|
||||
@@ -10,7 +10,7 @@ using Xylem.Common.Utils.Crc16Ccitt;
|
||||
namespace Xylem.Common.Hardware.WaterMeter.Genesis.Protocols.StreamingProtocol
|
||||
{
|
||||
/// <summary>
|
||||
/// Data fields and definitions for GENESIS streaming protocol
|
||||
/// Data fields and definitions for GENESIS streaming protocol
|
||||
/// </summary>
|
||||
public class StreamingDecoder
|
||||
{
|
||||
@@ -29,28 +29,8 @@ namespace Xylem.Common.Hardware.WaterMeter.Genesis.Protocols.StreamingProtocol
|
||||
private const Double AmplitudeToVoltFactor = 1.0 / 0x400000 / 1000.0; // 2^22 100 0000 0000 0000 0000 0000b
|
||||
private const Double PulseWidthToRelFactor = 1.0 / 0x100; // 2^8
|
||||
|
||||
// protocol 'l' MagFlux
|
||||
private const Double MaxMagFluxVolumeRaw = UInt64.MaxValue;//0x10000000000000000; //2^64
|
||||
private const Double DefaultMagFluxOverflowVolumeCm = MaxMagFluxVolumeRaw / MilliLitersToCmFactor;
|
||||
/// <summary>
|
||||
/// Default data for
|
||||
/// </summary>
|
||||
private readonly MagFluxRecord _dataMagFluxDefault = new MagFluxRecord
|
||||
{
|
||||
VolumeCm = 0.0,
|
||||
TimeS = 0.0,
|
||||
FlowRateCmPh = 0.0,
|
||||
StatusBits = 0,
|
||||
UniqueId = "?",
|
||||
SensorId = "?",
|
||||
Crc = 0xFFFF,
|
||||
OverflowVolumeCm = DefaultMagFluxOverflowVolumeCm,
|
||||
OverflowTimeS = CpuTimeOverflowS,
|
||||
IsValid = false
|
||||
};
|
||||
|
||||
/// <summary>
|
||||
/// Default data for
|
||||
/// Default data for flow tests of Genesis
|
||||
/// </summary>
|
||||
private readonly FlowTestRecord _dataDefault = new FlowTestRecord
|
||||
{
|
||||
@@ -62,6 +42,9 @@ namespace Xylem.Common.Hardware.WaterMeter.Genesis.Protocols.StreamingProtocol
|
||||
IsValid = false
|
||||
};
|
||||
|
||||
/// <summary>
|
||||
/// Default data for calibration of Genesis
|
||||
/// </summary>
|
||||
private readonly CalibrationRecord _rawDataDefault = new CalibrationRecord
|
||||
{
|
||||
Channel = 0,
|
||||
@@ -93,7 +76,6 @@ namespace Xylem.Common.Hardware.WaterMeter.Genesis.Protocols.StreamingProtocol
|
||||
|
||||
private CalibrationRecord _dataCalibRec;
|
||||
private FlowTestRecord _dataFlowTestRec;
|
||||
private MagFluxRecord _dataMagFluxRec;
|
||||
private readonly Boolean _ignoreCorruptedData;
|
||||
|
||||
/// <summary>
|
||||
@@ -101,7 +83,6 @@ namespace Xylem.Common.Hardware.WaterMeter.Genesis.Protocols.StreamingProtocol
|
||||
/// </summary>
|
||||
public StreamingDecoder(Boolean ignoreCorruptedData = true)
|
||||
{
|
||||
_dataMagFluxRec = _dataMagFluxDefault;
|
||||
_dataFlowTestRec = _dataDefault;
|
||||
_dataCalibRec = _rawDataDefault;
|
||||
_ignoreCorruptedData = ignoreCorruptedData;
|
||||
@@ -115,14 +96,6 @@ namespace Xylem.Common.Hardware.WaterMeter.Genesis.Protocols.StreamingProtocol
|
||||
get; private set;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Data of MagFlux
|
||||
/// </summary>
|
||||
public MagFluxRecord DataMagFlux
|
||||
{
|
||||
get; private set;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Flow test data
|
||||
/// </summary>
|
||||
@@ -148,11 +121,6 @@ namespace Xylem.Common.Hardware.WaterMeter.Genesis.Protocols.StreamingProtocol
|
||||
//_rawMsgForCrc = rawMsg;
|
||||
// extract message and split it to fields
|
||||
|
||||
//MagFlux test string from Jan Bennett 2023-03-14_16-16-31_fromTO.log
|
||||
//rawMsg = "@l 1bd911f 95b8d4 40cf9b5c 0 26004f5232500120373235 0 5863"
|
||||
//DUT:Debug version, DUT:Vol FWD [mL], DUT:Time [s], DUT:Flow_LPS, DUT:StatusBitsHex, DUT:UniqueId, DUT:SensorId, DUT:CRC
|
||||
//dec_AT_l, 29200671, 149.7219849, 6.487714767, 0, 4.59406E+25, 0, 22627 (0x5863)
|
||||
|
||||
//DN50
|
||||
//2022-07-21 07:22:06.9871 | @f 8497D 062E4216 9B2A
|
||||
//2022-07-21 07:22:06.9871 | @h 1 0 0A1F59C4 00017A43 00115C45 72E1596B 00000400 00001998 7D91B652 7D4F37E6 000191E6 0C 062E4A9C 5331
|
||||
@@ -202,16 +170,7 @@ namespace Xylem.Common.Hardware.WaterMeter.Genesis.Protocols.StreamingProtocol
|
||||
|
||||
switch (rawMsgFields[0])
|
||||
{
|
||||
case "@l":
|
||||
_dataMagFluxRec.IsValid = rawRecordIsValid;
|
||||
if (rawRecordIsValid || !_ignoreCorruptedData)
|
||||
{
|
||||
DecodeProtocolL(ref _dataMagFluxRec, rawMsgFields);
|
||||
DataMagFlux = _dataMagFluxRec;
|
||||
}
|
||||
break;
|
||||
|
||||
case "@f":
|
||||
case "@f":
|
||||
_dataFlowTestRec.IsValid = rawRecordIsValid;
|
||||
if (rawRecordIsValid || !_ignoreCorruptedData)
|
||||
{
|
||||
@@ -246,41 +205,6 @@ namespace Xylem.Common.Hardware.WaterMeter.Genesis.Protocols.StreamingProtocol
|
||||
return rawRecordIsValid;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Extracting message from string fields for protocol 'l'
|
||||
/// </summary>
|
||||
/// <param name="dataMagFluxRec">reference to mag flux record</param>
|
||||
/// <param name="fields">fields holding the separated values for decoding</param>
|
||||
/// <remarks date="2023-Mar-09" author="T.Wiedebusch">
|
||||
/// - Initial.
|
||||
/// </remarks>
|
||||
private static void DecodeProtocolL(ref MagFluxRecord dataMagFluxRec, IList<String> fields)
|
||||
{
|
||||
// time stamp attachment
|
||||
dataMagFluxRec.DecodedTime = DateTimeOffset.UtcNow;
|
||||
|
||||
// extract received CRC
|
||||
dataMagFluxRec.Crc = UInt16.Parse(fields[(Int32)ProtLsubString.Crc], NumberStyles.HexNumber);
|
||||
|
||||
// build result values, the display volume can be positive or negative!
|
||||
dataMagFluxRec.VolumeCm = UInt64.Parse(fields[(Int32)ProtLsubString.DisplayVolume],
|
||||
NumberStyles.AllowHexSpecifier) * MilliLitersToCmFactor;
|
||||
dataMagFluxRec.TimeS = UInt32.Parse(fields[(Int32)ProtLsubString.CpuTime],
|
||||
NumberStyles.AllowHexSpecifier) * CpuTimeToSecondsFactor;
|
||||
|
||||
// parse the floating point value of the flow rate which is a string containing the hex value as 32 bit
|
||||
var hex = UInt32.Parse(fields[(Int32)ProtLsubString.FlowRate], NumberStyles.AllowHexSpecifier);
|
||||
var floatValues = BitConverter.GetBytes(hex);
|
||||
dataMagFluxRec.FlowRateCmPh = BitConverter.ToSingle(floatValues, 0) *
|
||||
LitersPerSecondToCmPerHourFactor;
|
||||
|
||||
// get status and identifiers
|
||||
dataMagFluxRec.StatusBits = UInt32.Parse(fields[(Int32)ProtLsubString.StatusBits],
|
||||
NumberStyles.AllowHexSpecifier);
|
||||
dataMagFluxRec.UniqueId = fields[(Int32)ProtLsubString.UniqueId];
|
||||
dataMagFluxRec.SensorId = fields[(Int32)ProtLsubString.SensorId];
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Extracting message from string fields for protocol 'f'
|
||||
/// </summary>
|
||||
@@ -480,19 +404,6 @@ namespace Xylem.Common.Hardware.WaterMeter.Genesis.Protocols.StreamingProtocol
|
||||
NumberStyles.AllowHexSpecifier) * CpuTimeToSecondsFactor;
|
||||
}
|
||||
|
||||
/// field position in protocol 'l'
|
||||
private enum ProtLsubString
|
||||
{
|
||||
//do not remove this needed for position in record
|
||||
ProtType,
|
||||
DisplayVolume,
|
||||
CpuTime,
|
||||
FlowRate,
|
||||
StatusBits,
|
||||
UniqueId,
|
||||
SensorId,
|
||||
Crc
|
||||
}
|
||||
/// field position in protocol 'f'
|
||||
private enum ProtFsubString
|
||||
{
|
||||
|
||||
@@ -1,7 +1,8 @@
|
||||
using System;
|
||||
using Xylem.Common.Hardware.Interfaces.Ports.PortCore.EventArguments;
|
||||
using Xylem.Common.Hardware.Interfaces.Protocols.ProtocolCore;
|
||||
using Xylem.Common.Hardware.Interfaces.Protocols.ProtocolCore.EventArguments;
|
||||
using Xylem.Common.Hardware.WaterMeter.Genesis.DataPackages.EventArguments;
|
||||
using Xylem.Common.Hardware.WaterMeter.Genesis.Protocols.ProtocolCore;
|
||||
|
||||
namespace Xylem.Common.Hardware.WaterMeter.Genesis.Protocols.StreamingProtocol
|
||||
{
|
||||
|
||||
+4
-4
@@ -228,14 +228,14 @@
|
||||
<Project>{2E139F63-B6FE-4EA9-A098-85364FE9B26C}</Project>
|
||||
<Name>PortCore</Name>
|
||||
</ProjectReference>
|
||||
<ProjectReference Include="..\..\..\..\Interfaces\Protocols\ProtocolCore\ProtocolCore.csproj">
|
||||
<Project>{8BDD2789-96D4-43EA-AAD7-0F49D0347998}</Project>
|
||||
<Name>ProtocolCore</Name>
|
||||
</ProjectReference>
|
||||
<ProjectReference Include="..\..\DataPackages\DataPackages.csproj">
|
||||
<Project>{0e524d43-7b66-45cd-aa74-41d51afc3d99}</Project>
|
||||
<Name>DataPackages</Name>
|
||||
</ProjectReference>
|
||||
<ProjectReference Include="..\ProtocolCore\ProtocolCore.csproj">
|
||||
<Project>{8BDD2789-96D4-43EA-AAD7-0F49D0347998}</Project>
|
||||
<Name>ProtocolCore</Name>
|
||||
</ProjectReference>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Reference Include="Newtonsoft.Json, Version=12.0.0.0, Culture=neutral, PublicKeyToken=30ad4fe6b2a6aeed, processorArchitecture=MSIL">
|
||||
|
||||
@@ -0,0 +1,261 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" />
|
||||
<PropertyGroup>
|
||||
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
|
||||
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
|
||||
<ProjectGuid>{BA17D20E-0CEB-4B27-9772-2392BD750ED5}</ProjectGuid>
|
||||
<OutputType>Library</OutputType>
|
||||
<AppDesignerFolder>Properties</AppDesignerFolder>
|
||||
<RootNamespace>Xylem.Common.Hardware.WaterMeter.MagFlux.DataPackages</RootNamespace>
|
||||
<AssemblyName>Xylem.Common.Hardware.WaterMeter.MagFlux.DataPackages</AssemblyName>
|
||||
<TargetFrameworkVersion>v4.0</TargetFrameworkVersion>
|
||||
<FileAlignment>512</FileAlignment>
|
||||
<TargetFrameworkProfile />
|
||||
<NuGetPackageImportStamp>
|
||||
</NuGetPackageImportStamp>
|
||||
<SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\</SolutionDir>
|
||||
<RestorePackages>true</RestorePackages>
|
||||
<SccProjectName>SAK</SccProjectName>
|
||||
<SccLocalPath>SAK</SccLocalPath>
|
||||
<SccAuxPath>SAK</SccAuxPath>
|
||||
<SccProvider>SAK</SccProvider>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
|
||||
<DebugSymbols>true</DebugSymbols>
|
||||
<DebugType>full</DebugType>
|
||||
<Optimize>false</Optimize>
|
||||
<OutputPath>bin\Debug\</OutputPath>
|
||||
<DefineConstants>DEBUG;TRACE</DefineConstants>
|
||||
<ErrorReport>prompt</ErrorReport>
|
||||
<WarningLevel>4</WarningLevel>
|
||||
<Prefer32Bit>false</Prefer32Bit>
|
||||
<DocumentationFile>bin\Debug\Xylem.Common.Hardware.WaterMeter.MagFlux.DataPackages.xml</DocumentationFile>
|
||||
<LangVersion>7.0</LangVersion>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
|
||||
<DebugType>pdbonly</DebugType>
|
||||
<Optimize>true</Optimize>
|
||||
<OutputPath>bin\Release\</OutputPath>
|
||||
<DefineConstants>TRACE</DefineConstants>
|
||||
<ErrorReport>prompt</ErrorReport>
|
||||
<WarningLevel>4</WarningLevel>
|
||||
<Prefer32Bit>false</Prefer32Bit>
|
||||
<LangVersion>7.0</LangVersion>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'COM|AnyCPU'">
|
||||
<DebugSymbols>true</DebugSymbols>
|
||||
<OutputPath>bin\COM\</OutputPath>
|
||||
<DefineConstants>DEBUG;TRACE</DefineConstants>
|
||||
<DebugType>full</DebugType>
|
||||
<PlatformTarget>AnyCPU</PlatformTarget>
|
||||
<ErrorReport>prompt</ErrorReport>
|
||||
<CodeAnalysisRuleSet>MinimumRecommendedRules.ruleset</CodeAnalysisRuleSet>
|
||||
<LangVersion>7.0</LangVersion>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Debug|x86'">
|
||||
<DebugSymbols>true</DebugSymbols>
|
||||
<OutputPath>bin\x86\Debug\</OutputPath>
|
||||
<DefineConstants>DEBUG;TRACE</DefineConstants>
|
||||
<DocumentationFile>bin\x86\Debug\Xylem.Common.Hardware.WaterMeter.MagFlux.DataPackages.xml</DocumentationFile>
|
||||
<DebugType>full</DebugType>
|
||||
<PlatformTarget>x86</PlatformTarget>
|
||||
<ErrorReport>prompt</ErrorReport>
|
||||
<CodeAnalysisRuleSet>MinimumRecommendedRules.ruleset</CodeAnalysisRuleSet>
|
||||
<LangVersion>6</LangVersion>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Release|x86'">
|
||||
<OutputPath>bin\x86\Release\</OutputPath>
|
||||
<DefineConstants>TRACE</DefineConstants>
|
||||
<Optimize>true</Optimize>
|
||||
<DebugType>pdbonly</DebugType>
|
||||
<PlatformTarget>x86</PlatformTarget>
|
||||
<ErrorReport>prompt</ErrorReport>
|
||||
<CodeAnalysisRuleSet>MinimumRecommendedRules.ruleset</CodeAnalysisRuleSet>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'COM|x86'">
|
||||
<DebugSymbols>true</DebugSymbols>
|
||||
<OutputPath>bin\x86\COM\</OutputPath>
|
||||
<DefineConstants>DEBUG;TRACE</DefineConstants>
|
||||
<DebugType>full</DebugType>
|
||||
<PlatformTarget>x86</PlatformTarget>
|
||||
<ErrorReport>prompt</ErrorReport>
|
||||
<CodeAnalysisRuleSet>MinimumRecommendedRules.ruleset</CodeAnalysisRuleSet>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'XP32bit|AnyCPU'">
|
||||
<DebugSymbols>true</DebugSymbols>
|
||||
<OutputPath>bin\XP32bit\</OutputPath>
|
||||
<DefineConstants>DEBUG;TRACE</DefineConstants>
|
||||
<DocumentationFile>bin\Debug\Xylem.Common.Hardware.WaterMeter.Genesis.DataPackages.xml</DocumentationFile>
|
||||
<DebugType>full</DebugType>
|
||||
<PlatformTarget>AnyCPU</PlatformTarget>
|
||||
<ErrorReport>prompt</ErrorReport>
|
||||
<CodeAnalysisRuleSet>MinimumRecommendedRules.ruleset</CodeAnalysisRuleSet>
|
||||
<LangVersion>7.0</LangVersion>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'XP32bit|x86'">
|
||||
<DebugSymbols>true</DebugSymbols>
|
||||
<OutputPath>bin\x86\XP32bit\</OutputPath>
|
||||
<DefineConstants>DEBUG;TRACE</DefineConstants>
|
||||
<DocumentationFile>bin\Debug\Xylem.Common.Hardware.WaterMeter.Genesis.DataPackages.xml</DocumentationFile>
|
||||
<DebugType>full</DebugType>
|
||||
<PlatformTarget>x86</PlatformTarget>
|
||||
<ErrorReport>prompt</ErrorReport>
|
||||
<CodeAnalysisRuleSet>MinimumRecommendedRules.ruleset</CodeAnalysisRuleSet>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Debug|x64'">
|
||||
<DebugSymbols>true</DebugSymbols>
|
||||
<OutputPath>bin\x64\Debug\</OutputPath>
|
||||
<DefineConstants>DEBUG;TRACE</DefineConstants>
|
||||
<DocumentationFile>bin\Debug\Xylem.Common.Hardware.WaterMeter.Genesis.DataPackages.xml</DocumentationFile>
|
||||
<DebugType>full</DebugType>
|
||||
<PlatformTarget>x64</PlatformTarget>
|
||||
<ErrorReport>prompt</ErrorReport>
|
||||
<CodeAnalysisRuleSet>MinimumRecommendedRules.ruleset</CodeAnalysisRuleSet>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Release|x64'">
|
||||
<OutputPath>bin\x64\Release\</OutputPath>
|
||||
<DefineConstants>TRACE</DefineConstants>
|
||||
<Optimize>true</Optimize>
|
||||
<DebugType>pdbonly</DebugType>
|
||||
<PlatformTarget>x64</PlatformTarget>
|
||||
<ErrorReport>prompt</ErrorReport>
|
||||
<CodeAnalysisRuleSet>MinimumRecommendedRules.ruleset</CodeAnalysisRuleSet>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'COM|x64'">
|
||||
<DebugSymbols>true</DebugSymbols>
|
||||
<OutputPath>bin\x64\COM\</OutputPath>
|
||||
<DefineConstants>DEBUG;TRACE</DefineConstants>
|
||||
<DebugType>full</DebugType>
|
||||
<PlatformTarget>x64</PlatformTarget>
|
||||
<ErrorReport>prompt</ErrorReport>
|
||||
<CodeAnalysisRuleSet>MinimumRecommendedRules.ruleset</CodeAnalysisRuleSet>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'XP32bit|x64'">
|
||||
<DebugSymbols>true</DebugSymbols>
|
||||
<OutputPath>bin\x64\XP32bit\</OutputPath>
|
||||
<DefineConstants>DEBUG;TRACE</DefineConstants>
|
||||
<DocumentationFile>bin\Debug\Xylem.Common.Hardware.WaterMeter.Genesis.DataPackages.xml</DocumentationFile>
|
||||
<DebugType>full</DebugType>
|
||||
<PlatformTarget>x64</PlatformTarget>
|
||||
<ErrorReport>prompt</ErrorReport>
|
||||
<CodeAnalysisRuleSet>MinimumRecommendedRules.ruleset</CodeAnalysisRuleSet>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup>
|
||||
<SignAssembly>false</SignAssembly>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup>
|
||||
<AssemblyOriginatorKeyFile>
|
||||
</AssemblyOriginatorKeyFile>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'PerformTest|AnyCPU'">
|
||||
<DebugSymbols>true</DebugSymbols>
|
||||
<OutputPath>bin\PerformTest\</OutputPath>
|
||||
<DefineConstants>DEBUG;TRACE</DefineConstants>
|
||||
<DocumentationFile>bin\Debug\Xylem.Common.Hardware.WaterMeter.Genesis.DataPackages.xml</DocumentationFile>
|
||||
<DebugType>full</DebugType>
|
||||
<PlatformTarget>AnyCPU</PlatformTarget>
|
||||
<ErrorReport>prompt</ErrorReport>
|
||||
<CodeAnalysisRuleSet>MinimumRecommendedRules.ruleset</CodeAnalysisRuleSet>
|
||||
<LangVersion>7.0</LangVersion>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'PerformTest|x86'">
|
||||
<DebugSymbols>true</DebugSymbols>
|
||||
<OutputPath>bin\x86\PerformTest\</OutputPath>
|
||||
<DefineConstants>DEBUG;TRACE</DefineConstants>
|
||||
<DocumentationFile>bin\Debug\Xylem.Common.Hardware.WaterMeter.Genesis.DataPackages.xml</DocumentationFile>
|
||||
<DebugType>full</DebugType>
|
||||
<PlatformTarget>x86</PlatformTarget>
|
||||
<ErrorReport>prompt</ErrorReport>
|
||||
<CodeAnalysisRuleSet>MinimumRecommendedRules.ruleset</CodeAnalysisRuleSet>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'PerformTest|x64'">
|
||||
<DebugSymbols>true</DebugSymbols>
|
||||
<OutputPath>bin\x64\PerformTest\</OutputPath>
|
||||
<DefineConstants>DEBUG;TRACE</DefineConstants>
|
||||
<DocumentationFile>bin\Debug\Xylem.Common.Hardware.WaterMeter.Genesis.DataPackages.xml</DocumentationFile>
|
||||
<DebugType>full</DebugType>
|
||||
<PlatformTarget>x64</PlatformTarget>
|
||||
<ErrorReport>prompt</ErrorReport>
|
||||
<CodeAnalysisRuleSet>MinimumRecommendedRules.ruleset</CodeAnalysisRuleSet>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == '_MANUAL_CONTROL|AnyCPU'">
|
||||
<DebugSymbols>true</DebugSymbols>
|
||||
<OutputPath>bin\_MANUAL_CONTROL\</OutputPath>
|
||||
<DefineConstants>DEBUG;TRACE</DefineConstants>
|
||||
<DocumentationFile>bin\Debug\Xylem.Common.Hardware.WaterMeter.Genesis.DataPackages.xml</DocumentationFile>
|
||||
<DebugType>full</DebugType>
|
||||
<PlatformTarget>AnyCPU</PlatformTarget>
|
||||
<ErrorReport>prompt</ErrorReport>
|
||||
<CodeAnalysisRuleSet>MinimumRecommendedRules.ruleset</CodeAnalysisRuleSet>
|
||||
<LangVersion>7.0</LangVersion>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == '_MANUAL_CONTROL|x86'">
|
||||
<DebugSymbols>true</DebugSymbols>
|
||||
<OutputPath>bin\x86\_MANUAL_CONTROL\</OutputPath>
|
||||
<DefineConstants>DEBUG;TRACE</DefineConstants>
|
||||
<DocumentationFile>bin\x86\Debug\Xylem.Common.Hardware.WaterMeter.Genesis.DataPackages.xml</DocumentationFile>
|
||||
<DebugType>full</DebugType>
|
||||
<PlatformTarget>x86</PlatformTarget>
|
||||
<LangVersion>6</LangVersion>
|
||||
<ErrorReport>prompt</ErrorReport>
|
||||
<CodeAnalysisRuleSet>MinimumRecommendedRules.ruleset</CodeAnalysisRuleSet>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == '_MANUAL_CONTROL|x64'">
|
||||
<DebugSymbols>true</DebugSymbols>
|
||||
<OutputPath>bin\x64\_MANUAL_CONTROL\</OutputPath>
|
||||
<DefineConstants>DEBUG;TRACE</DefineConstants>
|
||||
<DocumentationFile>bin\Debug\Xylem.Common.Hardware.WaterMeter.Genesis.DataPackages.xml</DocumentationFile>
|
||||
<DebugType>full</DebugType>
|
||||
<PlatformTarget>x64</PlatformTarget>
|
||||
<ErrorReport>prompt</ErrorReport>
|
||||
<CodeAnalysisRuleSet>MinimumRecommendedRules.ruleset</CodeAnalysisRuleSet>
|
||||
</PropertyGroup>
|
||||
<ItemGroup>
|
||||
<Compile Include="..\..\..\..\.shared\SharedAssemblyInfo.cs">
|
||||
<Link>Properties\SharedAssemblyInfo.cs</Link>
|
||||
</Compile>
|
||||
<Compile Include="EventArguments\MagFluxFlowDataEventArgs.cs" />
|
||||
<Compile Include="EventArguments\RequestResponseDataEventArgs.cs" />
|
||||
<Compile Include="MeasurementRecords\MagFluxRecord.cs" />
|
||||
<Compile Include="Properties\AssemblyInfo.cs" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Reference Include="Newtonsoft.Json, Version=12.0.0.0, Culture=neutral, PublicKeyToken=30ad4fe6b2a6aeed, processorArchitecture=MSIL">
|
||||
<HintPath>..\..\..\..\..\ServiceFwUpdate\packages\Newtonsoft.Json.12.0.3\lib\net40\Newtonsoft.Json.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="NLog, Version=4.0.0.0, Culture=neutral, PublicKeyToken=5120e14c03d0593c, processorArchitecture=MSIL">
|
||||
<HintPath>..\..\..\..\packages\NLog.4.6.7\lib\net40-client\NLog.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="System" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ProjectReference Include="..\..\..\..\CommonCore\CommonCore.csproj">
|
||||
<Project>{1B02C79E-0B19-43E2-8F6B-71EF0C786C97}</Project>
|
||||
<Name>CommonCore</Name>
|
||||
</ProjectReference>
|
||||
<ProjectReference Include="..\..\..\..\Metrology\Measurements\Measurements.csproj">
|
||||
<Project>{6CCDB656-C676-4360-BABA-C4596AAD175D}</Project>
|
||||
<Name>Measurements</Name>
|
||||
</ProjectReference>
|
||||
<ProjectReference Include="..\..\..\Interfaces\Protocols\ProtocolCore\ProtocolCore.csproj">
|
||||
<Project>{8BDD2789-96D4-43EA-AAD7-0F49D0347998}</Project>
|
||||
<Name>ProtocolCore</Name>
|
||||
</ProjectReference>
|
||||
<ProjectReference Include="..\..\Genesis\Registers\Registers.csproj">
|
||||
<Project>{F4AAF7E6-7333-4284-B735-E32DEB076C64}</Project>
|
||||
<Name>Registers</Name>
|
||||
</ProjectReference>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<None Include="packages.config" />
|
||||
</ItemGroup>
|
||||
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
|
||||
<!-- 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.
|
||||
<Target Name="BeforeBuild">
|
||||
</Target>
|
||||
<Target Name="AfterBuild">
|
||||
</Target>
|
||||
-->
|
||||
</Project>
|
||||
+21
@@ -0,0 +1,21 @@
|
||||
using System;
|
||||
using Xylem.Common.Hardware.Interfaces.Protocols.ProtocolCore.EventArguments;
|
||||
using Xylem.Common.Hardware.WaterMeter.MagFlux.DataPackages.MeasurementRecords;
|
||||
|
||||
namespace Xylem.Common.Hardware.WaterMeter.MagFlux.DataPackages.EventArguments
|
||||
{
|
||||
/// <inheritdoc />
|
||||
public class MagFluxFlowDataEventArgs : BaseDataEventArgs
|
||||
{
|
||||
/// <summary>
|
||||
/// new record from Stream
|
||||
/// </summary>
|
||||
public MagFluxRecord NewData;
|
||||
|
||||
/// <inheritdoc />
|
||||
public override Object GetEventData()
|
||||
{
|
||||
return NewData;
|
||||
}
|
||||
}
|
||||
}
|
||||
+24
@@ -0,0 +1,24 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using Xylem.Common.Hardware.Interfaces.Protocols.ProtocolCore.EventArguments;
|
||||
|
||||
namespace Xylem.Common.Hardware.WaterMeter.MagFlux.DataPackages.EventArguments
|
||||
{
|
||||
/// <inheritdoc />
|
||||
/// <summary>
|
||||
/// EventArgs for Request Responses
|
||||
/// </summary>
|
||||
public class RequestResponseDataEventArgs : BaseDataEventArgs
|
||||
{
|
||||
/// <summary>
|
||||
/// Request response from meter
|
||||
/// </summary>
|
||||
public List<Byte> RequestResponseData;
|
||||
|
||||
/// <inheritdoc />
|
||||
public override Object GetEventData()
|
||||
{
|
||||
return RequestResponseData;
|
||||
}
|
||||
}
|
||||
}
|
||||
+1
-1
@@ -2,7 +2,7 @@
|
||||
using System.Text;
|
||||
using Xylem.Common.Metrology.Measurements;
|
||||
|
||||
namespace Xylem.Common.Hardware.WaterMeter.Genesis.DataPackages.MeasurementRecords
|
||||
namespace Xylem.Common.Hardware.WaterMeter.MagFlux.DataPackages.MeasurementRecords
|
||||
{
|
||||
/// <inheritdoc />
|
||||
/// <summary>
|
||||
@@ -0,0 +1,10 @@
|
||||
using System.Runtime.InteropServices;
|
||||
using System.Reflection;
|
||||
|
||||
// Allgemeine Informationen über eine Assembly werden über die folgenden
|
||||
// Attribute gesteuert. Ändern Sie diese Attributwerte, um die Informationen zu ändern,
|
||||
// die einer Assembly zugeordnet sind.
|
||||
[assembly: AssemblyTitle("Xylem.Common.Hardware.WaterMeter.MagFlux.DataPackages")]
|
||||
[assembly: AssemblyDescription("")]
|
||||
[assembly: Guid("DBE76882-217A-4446-89BB-8F5E8CD8CB65")]
|
||||
|
||||
@@ -0,0 +1,5 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<packages>
|
||||
<package id="Newtonsoft.Json" version="12.0.3" targetFramework="net40" />
|
||||
<package id="NLog" version="4.6.7" targetFramework="net40" />
|
||||
</packages>
|
||||
@@ -0,0 +1,88 @@
|
||||
using System;
|
||||
|
||||
namespace Xylem.Common.Hardware.WaterMeter.MagFlux.MagFluxConfig
|
||||
{
|
||||
/// <summary>
|
||||
/// Setup of communication timeouts and retries for request and streaming protocol,
|
||||
/// this timeout starts the retry.
|
||||
///
|
||||
/// The individual timings of the hardware will be covert by the
|
||||
/// <see cref="TransmitPortSettings.ResponseTimeoutMs"/>
|
||||
/// injected by the different transmit protocols:
|
||||
/// <see cref="IrdaTransmitProtocol"/>
|
||||
/// <see cref="LedTransmitProtocol"/>
|
||||
/// <see cref="RfidTransmitProtocol"/>
|
||||
/// <see cref="UartTransmitProtocol"/>
|
||||
/// </summary>
|
||||
public static class CommunicationConfig
|
||||
{
|
||||
private static Int32 _requestRetries = DefaultRequestRetries;
|
||||
|
||||
/// <summary>
|
||||
/// Maximum retries for one command at request protocol
|
||||
/// at missing response.
|
||||
/// </summary>
|
||||
public static Int32 RequestRetries
|
||||
{
|
||||
get => _requestRetries;
|
||||
set => _requestRetries = value > MaxRequestRetries ? MaxRequestRetries : value;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Acceptable error code as valid answer to skip retries,
|
||||
/// this might be 0x0004 for not installed application.
|
||||
/// </summary>
|
||||
public const UInt16 SkipRetryErrorCode = 0x0004;
|
||||
|
||||
/// <summary>
|
||||
/// Default retries for one command at request protocol
|
||||
/// at missing response.
|
||||
/// </summary>
|
||||
public const Int32 DefaultRequestRetries = 2;
|
||||
|
||||
/// <summary>
|
||||
/// Limit retries to this value.
|
||||
/// </summary>
|
||||
private const Int32 MaxRequestRetries = 6;
|
||||
|
||||
/// <summary>
|
||||
/// Send delay between records in milliseconds before
|
||||
/// new record is going to be send or between retries,
|
||||
/// this time is independent of the timeout, it is
|
||||
/// used to delay the next send record after successful
|
||||
/// response from meter.
|
||||
/// </summary>
|
||||
public const Int32 InterRecordSendDelayMs = 5;
|
||||
//public const Int32 InterRecordSendDelayMs = 50;
|
||||
|
||||
/// <summary>
|
||||
/// Timeout before retry will be initiated in milliseconds
|
||||
/// for the response of the request protocol. This is an
|
||||
/// offset value, the transmission specific timing will be
|
||||
/// added from the transmit protocol timeout. This timeout
|
||||
/// will be multiplied with the (retry + 1)!
|
||||
/// </summary>
|
||||
public const Int32 ResponseTimeoutMs = 250;
|
||||
// public const Int32 ResponseTimeoutMs = 100;
|
||||
|
||||
/// <summary>
|
||||
/// Timeout before retry will be initiated if the meter is
|
||||
/// not ready indicated by a wakeup-message or decoding error.
|
||||
/// </summary>
|
||||
public const Int32 BusyTimeoutMs = 500;
|
||||
// public const Int32 BusyTimeoutMs = 1000;
|
||||
|
||||
/// <summary>
|
||||
/// Time to avoid automatic lock off of genesis device due to
|
||||
/// missing communication with request protocol in seconds
|
||||
/// </summary>
|
||||
public const Int32 KeepSessionTimeS = 60 * 3;
|
||||
|
||||
/// <summary>
|
||||
/// Time to update intermediate record for overflow detection
|
||||
/// during a measurement and update of short-term measurement
|
||||
/// in seconds
|
||||
/// </summary>
|
||||
public const Int32 MeasurementUpdateTimeS = 10;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,24 @@
|
||||
using System;
|
||||
|
||||
namespace Xylem.Common.Hardware.WaterMeter.MagFlux.MagFluxConfig.Const
|
||||
{
|
||||
public static class MeterConfig
|
||||
{
|
||||
/// <summary>
|
||||
/// Calibration Factor on init from meter
|
||||
/// Is also the factor to convert CalibrationFactors to readable number,
|
||||
/// this is the default if the ProcessConfig.json file cannot be read.
|
||||
/// </summary>
|
||||
public const UInt16 CalibrationDefault = 15625;
|
||||
|
||||
/// <summary>
|
||||
/// Channels for calibration
|
||||
/// </summary>
|
||||
public const Int32 CalibChannels = 3;
|
||||
|
||||
/// <summary>
|
||||
/// Maximum calibration value in percent
|
||||
/// </summary>
|
||||
public const Double DefaultMaxCalibFactorTolerancePercent = 100.0;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,56 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" />
|
||||
<PropertyGroup>
|
||||
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
|
||||
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
|
||||
<ProjectGuid>{70398B99-B134-4BBD-968B-7399B70C3CE2}</ProjectGuid>
|
||||
<OutputType>Library</OutputType>
|
||||
<AppDesignerFolder>Properties</AppDesignerFolder>
|
||||
<RootNamespace>Xylem.Common.Hardware.WaterMeter.MagFlux.MagFluxConfig</RootNamespace>
|
||||
<AssemblyName>Xylem.Common.Hardware.WaterMeter.MagFlux.MagFluxConfig</AssemblyName>
|
||||
<TargetFrameworkVersion>v4.8</TargetFrameworkVersion>
|
||||
<FileAlignment>512</FileAlignment>
|
||||
<Deterministic>true</Deterministic>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
|
||||
<DebugSymbols>true</DebugSymbols>
|
||||
<DebugType>full</DebugType>
|
||||
<Optimize>false</Optimize>
|
||||
<OutputPath>bin\Debug\</OutputPath>
|
||||
<DefineConstants>DEBUG;TRACE</DefineConstants>
|
||||
<ErrorReport>prompt</ErrorReport>
|
||||
<WarningLevel>4</WarningLevel>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
|
||||
<DebugType>pdbonly</DebugType>
|
||||
<Optimize>true</Optimize>
|
||||
<OutputPath>bin\Release\</OutputPath>
|
||||
<DefineConstants>TRACE</DefineConstants>
|
||||
<ErrorReport>prompt</ErrorReport>
|
||||
<WarningLevel>4</WarningLevel>
|
||||
</PropertyGroup>
|
||||
<ItemGroup>
|
||||
<Reference Include="Newtonsoft.Json, Version=12.0.0.0, Culture=neutral, PublicKeyToken=30ad4fe6b2a6aeed, processorArchitecture=MSIL">
|
||||
<HintPath>..\..\..\..\packages\Newtonsoft.Json.12.0.3\lib\net45\Newtonsoft.Json.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="System" />
|
||||
<Reference Include="System.Core" />
|
||||
<Reference Include="System.Xml.Linq" />
|
||||
<Reference Include="System.Data.DataSetExtensions" />
|
||||
<Reference Include="Microsoft.CSharp" />
|
||||
<Reference Include="System.Data" />
|
||||
<Reference Include="System.Net.Http" />
|
||||
<Reference Include="System.Xml" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Compile Include="CommunicationConfig.cs" />
|
||||
<Compile Include="Const\MeterConfig.cs" />
|
||||
<Compile Include="ProcessConfig.cs" />
|
||||
<Compile Include="Properties\AssemblyInfo.cs" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<None Include="packages.config" />
|
||||
</ItemGroup>
|
||||
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
|
||||
</Project>
|
||||
@@ -0,0 +1,121 @@
|
||||
using System;
|
||||
using System.ComponentModel;
|
||||
using System.IO;
|
||||
using Newtonsoft.Json;
|
||||
|
||||
namespace Xylem.Common.Hardware.WaterMeter.MagFlux.MagFluxConfig
|
||||
{
|
||||
/// <summary>
|
||||
/// Configuration of meter
|
||||
/// </summary>
|
||||
public class ProcessConfig
|
||||
{
|
||||
/// <summary>
|
||||
/// ctor
|
||||
/// </summary>
|
||||
public ProcessConfig()
|
||||
{
|
||||
UseRegisterWatchService = false;
|
||||
UseErrorLogger = false;
|
||||
AutoUpdateFiles = false;
|
||||
ProductionMode = true;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Load configuration file from AppRoaming or working directory
|
||||
/// </summary>
|
||||
/// <param name="file"></param>
|
||||
public ProcessConfig(String file)
|
||||
{
|
||||
// check for AppRoaming
|
||||
var configFile = Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData),
|
||||
nameof(MagFlux), file);
|
||||
|
||||
if (!File.Exists(configFile))
|
||||
{
|
||||
// take actual working directory
|
||||
configFile = Path.Combine(file);
|
||||
if (!File.Exists(configFile))
|
||||
{
|
||||
UseRegisterWatchService = false;
|
||||
UseErrorLogger = false;
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
using (var tr = new StreamReader(configFile))
|
||||
{
|
||||
var meterConfig = JsonConvert.DeserializeObject<ProcessConfig>(tr.ReadToEnd());
|
||||
UseRegisterWatchService = meterConfig.UseRegisterWatchService;
|
||||
RegisterWatchServiceUrl = meterConfig.RegisterWatchServiceUrl;
|
||||
UseMinMaxCheck = meterConfig.UseMinMaxCheck;
|
||||
UseErrorLogger = meterConfig.UseErrorLogger;
|
||||
ErrorLoggerServiceUrl = meterConfig.ErrorLoggerServiceUrl;
|
||||
UseCalibrationLogger = meterConfig.UseCalibrationLogger;
|
||||
CalibrationLoggerServiceUrl = meterConfig.CalibrationLoggerServiceUrl;
|
||||
AutoUpdateFiles = meterConfig.AutoUpdateFiles;
|
||||
ProductionMode = meterConfig.ProductionMode;
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Write file to AppRoaming and backup it to actual working directory
|
||||
/// </summary>
|
||||
/// <param name="file"></param>
|
||||
public void Update(String file)
|
||||
{
|
||||
var configFile = Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData),
|
||||
nameof(MagFlux), file);
|
||||
|
||||
File.WriteAllText(configFile, JsonConvert.SerializeObject(this));
|
||||
File.WriteAllText(file, JsonConvert.SerializeObject(this));
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
///
|
||||
/// </summary>
|
||||
public Boolean UseRegisterWatchService { get; set; }
|
||||
|
||||
/// <summary>
|
||||
///
|
||||
/// </summary>
|
||||
public String RegisterWatchServiceUrl { get; set; }
|
||||
|
||||
/// <summary>
|
||||
///
|
||||
/// </summary>
|
||||
public Boolean UseMinMaxCheck { get; set; }
|
||||
|
||||
/// <summary>
|
||||
///
|
||||
/// </summary>
|
||||
public Boolean UseErrorLogger { get; set; }
|
||||
|
||||
/// <summary>
|
||||
///
|
||||
/// </summary>
|
||||
public String ErrorLoggerServiceUrl { get; set; }
|
||||
|
||||
/// <summary>
|
||||
///
|
||||
/// </summary>
|
||||
public Boolean UseCalibrationLogger { get; set; }
|
||||
|
||||
/// <summary>
|
||||
///
|
||||
/// </summary>
|
||||
public String CalibrationLoggerServiceUrl { get; set; }
|
||||
|
||||
/// <summary>
|
||||
///
|
||||
/// </summary>
|
||||
public Boolean AutoUpdateFiles { get; set; }
|
||||
|
||||
[DefaultValue(true)]
|
||||
[JsonProperty(DefaultValueHandling = DefaultValueHandling.Populate)]
|
||||
|
||||
public Boolean ProductionMode { get; set; } = true;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,36 @@
|
||||
using System.Reflection;
|
||||
using System.Runtime.CompilerServices;
|
||||
using System.Runtime.InteropServices;
|
||||
|
||||
// General Information about an assembly is controlled through the following
|
||||
// set of attributes. Change these attribute values to modify the information
|
||||
// associated with an assembly.
|
||||
[assembly: AssemblyTitle("Xylem.Common.Hardware.WaterMeter.MagFlux.MagFluxConfig")]
|
||||
[assembly: AssemblyDescription("")]
|
||||
[assembly: AssemblyConfiguration("")]
|
||||
[assembly: AssemblyCompany("Xylem")]
|
||||
[assembly: AssemblyProduct("MagFluxConfig")]
|
||||
[assembly: AssemblyCopyright("Copyright © Xylem 2023")]
|
||||
[assembly: AssemblyTrademark("")]
|
||||
[assembly: AssemblyCulture("")]
|
||||
|
||||
// Setting ComVisible to false makes the types in this assembly not visible
|
||||
// to COM components. If you need to access a type in this assembly from
|
||||
// COM, set the ComVisible attribute to true on that type.
|
||||
[assembly: ComVisible(false)]
|
||||
|
||||
// The following GUID is for the ID of the typelib if this project is exposed to COM
|
||||
[assembly: Guid("70398b99-b134-4bbd-968b-7399b70c3ce2")]
|
||||
|
||||
// Version information for an assembly consists of the following four values:
|
||||
//
|
||||
// Major Version
|
||||
// Minor Version
|
||||
// Build Number
|
||||
// Revision
|
||||
//
|
||||
// You can specify all the values or you can default the Build and Revision Numbers
|
||||
// by using the '*' as shown below:
|
||||
// [assembly: AssemblyVersion("1.0.*")]
|
||||
[assembly: AssemblyVersion("1.0.0.0")]
|
||||
[assembly: AssemblyFileVersion("1.0.0.0")]
|
||||
@@ -0,0 +1,4 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<packages>
|
||||
<package id="Newtonsoft.Json" version="12.0.3" targetFramework="net48" />
|
||||
</packages>
|
||||
@@ -0,0 +1,136 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" />
|
||||
<PropertyGroup>
|
||||
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
|
||||
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
|
||||
<ProjectGuid>{B5DA260C-71CC-45CA-B79E-D1B376AF718C}</ProjectGuid>
|
||||
<OutputType>Library</OutputType>
|
||||
<AppDesignerFolder>Properties</AppDesignerFolder>
|
||||
<RootNamespace>Xylem.Common.Hardware.WaterMeter.MagFlux.MagFluxCore</RootNamespace>
|
||||
<AssemblyName>Xylem.Common.Hardware.WaterMeter.MagFlux.MagFluxCore</AssemblyName>
|
||||
<TargetFrameworkVersion>v4.8</TargetFrameworkVersion>
|
||||
<FileAlignment>512</FileAlignment>
|
||||
<Deterministic>true</Deterministic>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
|
||||
<DebugSymbols>true</DebugSymbols>
|
||||
<DebugType>full</DebugType>
|
||||
<Optimize>false</Optimize>
|
||||
<OutputPath>bin\Debug\</OutputPath>
|
||||
<DefineConstants>DEBUG;TRACE</DefineConstants>
|
||||
<ErrorReport>prompt</ErrorReport>
|
||||
<WarningLevel>4</WarningLevel>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
|
||||
<DebugType>pdbonly</DebugType>
|
||||
<Optimize>true</Optimize>
|
||||
<OutputPath>bin\Release\</OutputPath>
|
||||
<DefineConstants>TRACE</DefineConstants>
|
||||
<ErrorReport>prompt</ErrorReport>
|
||||
<WarningLevel>4</WarningLevel>
|
||||
</PropertyGroup>
|
||||
<ItemGroup>
|
||||
<Reference Include="Newtonsoft.Json, Version=12.0.0.0, Culture=neutral, PublicKeyToken=30ad4fe6b2a6aeed, processorArchitecture=MSIL">
|
||||
<HintPath>..\..\..\..\packages\Newtonsoft.Json.12.0.3\lib\net45\Newtonsoft.Json.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="NLog, Version=4.0.0.0, Culture=neutral, PublicKeyToken=5120e14c03d0593c, processorArchitecture=MSIL">
|
||||
<HintPath>..\..\..\..\packages\NLog.4.6.7\lib\net45\NLog.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="System" />
|
||||
<Reference Include="System.Configuration" />
|
||||
<Reference Include="System.Core" />
|
||||
<Reference Include="System.IO.Compression" />
|
||||
<Reference Include="System.Runtime.Serialization" />
|
||||
<Reference Include="System.ServiceModel" />
|
||||
<Reference Include="System.Transactions" />
|
||||
<Reference Include="System.Xml.Linq" />
|
||||
<Reference Include="System.Data.DataSetExtensions" />
|
||||
<Reference Include="Microsoft.CSharp" />
|
||||
<Reference Include="System.Data" />
|
||||
<Reference Include="System.Net.Http" />
|
||||
<Reference Include="System.Xml" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Compile Include="MagFluxMeter.cs" />
|
||||
<Compile Include="Properties\AssemblyInfo.cs" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ProjectReference Include="..\..\..\..\..\..\..\MJK\Code\C#\modbus_master_csharp\src\modbus_master_csharp\modbus_master_csharp.csproj">
|
||||
<Project>{f14940f8-3c86-4bb7-a915-b021e4b3052d}</Project>
|
||||
<Name>modbus_master_csharp</Name>
|
||||
</ProjectReference>
|
||||
<ProjectReference Include="..\..\..\..\CommonCore.Configuration\CommonCore.Configuration.csproj">
|
||||
<Project>{9eb1f659-6f73-4f65-bcab-4114fd94f5fc}</Project>
|
||||
<Name>CommonCore.Configuration</Name>
|
||||
</ProjectReference>
|
||||
<ProjectReference Include="..\..\..\..\CommonCore\CommonCore.csproj">
|
||||
<Project>{1b02c79e-0b19-43e2-8f6b-71ef0c786c97}</Project>
|
||||
<Name>CommonCore</Name>
|
||||
</ProjectReference>
|
||||
<ProjectReference Include="..\..\..\..\CommonCore\ThreadWatcher\ThreadWatcher.csproj">
|
||||
<Project>{94ca71f3-c5d7-4ec6-ba47-fa8eea3c9406}</Project>
|
||||
<Name>ThreadWatcher</Name>
|
||||
</ProjectReference>
|
||||
<ProjectReference Include="..\..\..\..\Metrology\Measurements\Measurements.csproj">
|
||||
<Project>{6ccdb656-c676-4360-baba-c4596aad175d}</Project>
|
||||
<Name>Measurements</Name>
|
||||
</ProjectReference>
|
||||
<ProjectReference Include="..\..\..\..\SoftwareAccessHelper\SoftwareAccessHelper.csproj">
|
||||
<Project>{a33e3c6d-eaae-4a20-a0ee-f9e6922fd029}</Project>
|
||||
<Name>SoftwareAccessHelper</Name>
|
||||
</ProjectReference>
|
||||
<ProjectReference Include="..\..\..\..\Tools\Tools.JsonToXlsHelper\Tools.JsonToXlsHelper.csproj">
|
||||
<Project>{20f137fd-c25e-42b7-a68f-58c746475897}</Project>
|
||||
<Name>Tools.JsonToXlsHelper</Name>
|
||||
</ProjectReference>
|
||||
<ProjectReference Include="..\..\..\..\Utils\Logging\Logging.csproj">
|
||||
<Project>{4b88b0d3-e791-4774-9521-eabeacdc420e}</Project>
|
||||
<Name>Logging</Name>
|
||||
</ProjectReference>
|
||||
<ProjectReference Include="..\..\..\Interfaces\Ports\PortCore\PortCore.csproj">
|
||||
<Project>{2e139f63-b6fe-4ea9-a098-85364fe9b26c}</Project>
|
||||
<Name>PortCore</Name>
|
||||
</ProjectReference>
|
||||
<ProjectReference Include="..\..\..\Interfaces\Ports\SerialPorts\SerialPorts.csproj">
|
||||
<Project>{72037e89-4f63-4b3f-beff-4138e578ce99}</Project>
|
||||
<Name>SerialPorts</Name>
|
||||
</ProjectReference>
|
||||
<ProjectReference Include="..\..\..\Interfaces\Protocols\ProtocolCore\ProtocolCore.csproj">
|
||||
<Project>{8BDD2789-96D4-43EA-AAD7-0F49D0347998}</Project>
|
||||
<Name>ProtocolCore</Name>
|
||||
</ProjectReference>
|
||||
<ProjectReference Include="..\..\..\Interfaces\Protocols\TransmitProtocol\TransmitProtocol.csproj">
|
||||
<Project>{63e0ac5e-b7c8-4363-a2fe-be489e648ff0}</Project>
|
||||
<Name>TransmitProtocol</Name>
|
||||
</ProjectReference>
|
||||
<ProjectReference Include="..\..\WaterMeterCore\WaterMeterCore.csproj">
|
||||
<Project>{8203abb8-38e5-472e-a742-33f38b7a74a6}</Project>
|
||||
<Name>WaterMeterCore</Name>
|
||||
</ProjectReference>
|
||||
<ProjectReference Include="..\..\WaterMeterCore\WaterMeterRegisters\WaterMeterRegisters.csproj">
|
||||
<Project>{26afcf1e-1287-48b8-a506-32b1e8a0dd0e}</Project>
|
||||
<Name>WaterMeterRegisters</Name>
|
||||
</ProjectReference>
|
||||
<ProjectReference Include="..\DataPackages\DataPackages.csproj">
|
||||
<Project>{BA17D20E-0CEB-4B27-9772-2392BD750ED5}</Project>
|
||||
<Name>DataPackages</Name>
|
||||
</ProjectReference>
|
||||
<ProjectReference Include="..\MagFluxConfig\MagFluxConfig.csproj">
|
||||
<Project>{70398b99-b134-4bbd-968b-7399b70c3ce2}</Project>
|
||||
<Name>MagFluxConfig</Name>
|
||||
</ProjectReference>
|
||||
<ProjectReference Include="..\Protocols\RequestProtocol\RequestProtocol.csproj">
|
||||
<Project>{00748F11-4B49-4D8B-93C4-4A11A210CCE2}</Project>
|
||||
<Name>RequestProtocol</Name>
|
||||
</ProjectReference>
|
||||
<ProjectReference Include="..\Protocols\StreamingProtocol\StreamingProtocol.csproj">
|
||||
<Project>{d6b81c60-2763-4c4d-989f-90822f53b01a}</Project>
|
||||
<Name>StreamingProtocol</Name>
|
||||
</ProjectReference>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<None Include="packages.config" />
|
||||
</ItemGroup>
|
||||
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
|
||||
</Project>
|
||||
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,36 @@
|
||||
using System.Reflection;
|
||||
using System.Runtime.CompilerServices;
|
||||
using System.Runtime.InteropServices;
|
||||
|
||||
// General Information about an assembly is controlled through the following
|
||||
// set of attributes. Change these attribute values to modify the information
|
||||
// associated with an assembly.
|
||||
[assembly: AssemblyTitle("MagFluxCore")]
|
||||
[assembly: AssemblyDescription("")]
|
||||
[assembly: AssemblyConfiguration("")]
|
||||
[assembly: AssemblyCompany("Xylem")]
|
||||
[assembly: AssemblyProduct("MagFluxCore")]
|
||||
[assembly: AssemblyCopyright("Copyright © Xylem 2023")]
|
||||
[assembly: AssemblyTrademark("")]
|
||||
[assembly: AssemblyCulture("")]
|
||||
|
||||
// Setting ComVisible to false makes the types in this assembly not visible
|
||||
// to COM components. If you need to access a type in this assembly from
|
||||
// COM, set the ComVisible attribute to true on that type.
|
||||
[assembly: ComVisible(false)]
|
||||
|
||||
// The following GUID is for the ID of the typelib if this project is exposed to COM
|
||||
[assembly: Guid("b5da260c-71cc-45ca-b79e-d1b376af718c")]
|
||||
|
||||
// Version information for an assembly consists of the following four values:
|
||||
//
|
||||
// Major Version
|
||||
// Minor Version
|
||||
// Build Number
|
||||
// Revision
|
||||
//
|
||||
// You can specify all the values or you can default the Build and Revision Numbers
|
||||
// by using the '*' as shown below:
|
||||
// [assembly: AssemblyVersion("1.0.*")]
|
||||
[assembly: AssemblyVersion("1.0.0.0")]
|
||||
[assembly: AssemblyFileVersion("1.0.0.0")]
|
||||
@@ -0,0 +1,5 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<packages>
|
||||
<package id="Newtonsoft.Json" version="12.0.3" targetFramework="net48" />
|
||||
<package id="NLog" version="4.6.7" targetFramework="net48" />
|
||||
</packages>
|
||||
+36
@@ -0,0 +1,36 @@
|
||||
using System.Reflection;
|
||||
using System.Runtime.CompilerServices;
|
||||
using System.Runtime.InteropServices;
|
||||
|
||||
// General Information about an assembly is controlled through the following
|
||||
// set of attributes. Change these attribute values to modify the information
|
||||
// associated with an assembly.
|
||||
[assembly: AssemblyTitle("Xylem.Common.Hardware.WaterMeter.MagFlux.Protocols.RequestProtocol")]
|
||||
[assembly: AssemblyDescription("")]
|
||||
[assembly: AssemblyConfiguration("")]
|
||||
[assembly: AssemblyCompany("Xylem")]
|
||||
[assembly: AssemblyProduct("")]
|
||||
[assembly: AssemblyCopyright("Copyright © Xylem 2023")]
|
||||
[assembly: AssemblyTrademark("")]
|
||||
[assembly: AssemblyCulture("")]
|
||||
|
||||
// Setting ComVisible to false makes the types in this assembly not visible
|
||||
// to COM components. If you need to access a type in this assembly from
|
||||
// COM, set the ComVisible attribute to true on that type.
|
||||
[assembly: ComVisible(false)]
|
||||
|
||||
// The following GUID is for the ID of the typelib if this project is exposed to COM
|
||||
[assembly: Guid("00748f11-4b49-4d8b-93c4-4a11a210cce2")]
|
||||
|
||||
// Version information for an assembly consists of the following four values:
|
||||
//
|
||||
// Major Version
|
||||
// Minor Version
|
||||
// Build Number
|
||||
// Revision
|
||||
//
|
||||
// You can specify all the values or you can default the Build and Revision Numbers
|
||||
// by using the '*' as shown below:
|
||||
// [assembly: AssemblyVersion("1.0.*")]
|
||||
[assembly: AssemblyVersion("1.0.0.0")]
|
||||
[assembly: AssemblyFileVersion("1.0.0.0")]
|
||||
@@ -0,0 +1,194 @@
|
||||
using System;
|
||||
using XYLEM.Device;
|
||||
using NLog;
|
||||
using Xylem.Common.Hardware.Interfaces.Ports.PortCore.EventArguments;
|
||||
using Xylem.Common.Hardware.Interfaces.Protocols.ProtocolCore;
|
||||
using Xylem.Common.Hardware.Interfaces.Protocols.ProtocolCore.EventArguments;
|
||||
using Xylem.Common.Utils.Logging;
|
||||
|
||||
|
||||
namespace Xylem.Common.Hardware.WaterMeter.MagFlux.Protocols.RequestProtocol
|
||||
{
|
||||
/// <summary>
|
||||
/// Wrapper for MagFlux request protocol implemented in <see cref="IMagFluxRequestProtocol"/>
|
||||
/// </summary>
|
||||
public class RequestProtocol : BaseProtocol
|
||||
{
|
||||
private readonly String _ident;
|
||||
private readonly ILogger _logger;
|
||||
private IMagFluxRequestProtocol _magFluxProtocol;
|
||||
|
||||
/// <inheritdoc />
|
||||
public RequestProtocol(String ident) : base(ident)
|
||||
{
|
||||
_ident = ident;
|
||||
_magFluxProtocol = new MagFlux6200();
|
||||
_logger = NLogHelper.CreateOrGetMultiLogger(ident, "", "RequestProtocol", "MeterBase", "MeterBase");
|
||||
}
|
||||
|
||||
/// <inheritdoc/>>
|
||||
public override void Dispose()
|
||||
{
|
||||
_magFluxProtocol?.CloseConnection();
|
||||
_magFluxProtocol = null;
|
||||
base.Dispose();
|
||||
}
|
||||
|
||||
/// <inheritdoc />
|
||||
public override event EventHandler<BasePortDataEventArgs> OnRecordReadyToSend;
|
||||
|
||||
/// <inheritdoc />
|
||||
public override event EventHandler<BaseDataEventArgs> OnRecordIsDecoded;
|
||||
|
||||
public override void DecodeRecord(IPortDataEventArgs data)
|
||||
{
|
||||
throw new System.NotImplementedException();
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Wrapper to connect mag flux
|
||||
/// </summary>
|
||||
/// <param name="portName"></param>
|
||||
/// <returns></returns>
|
||||
/// <remarks date="2023-Mai-04" author="T.Wiedebusch">
|
||||
/// - Initial
|
||||
/// </remarks>
|
||||
public Boolean Connect(String portName)
|
||||
{
|
||||
if (_magFluxProtocol == null) return false;
|
||||
var retVal = _magFluxProtocol.Connect(portName);
|
||||
return retVal;
|
||||
}
|
||||
/// <summary>
|
||||
/// Wrapper to set the log location for MagFlux direct raw output
|
||||
/// </summary>
|
||||
/// <param name="path"></param>
|
||||
/// <returns></returns>
|
||||
/// <remarks date="2023-Mai-04" author="T.Wiedebusch">
|
||||
/// - Initial
|
||||
/// </remarks>
|
||||
public Boolean SetLogLocation(String path)
|
||||
{
|
||||
if (_magFluxProtocol == null) return false;
|
||||
var retVal = _magFluxProtocol.SetLogLocation(path);
|
||||
return retVal;
|
||||
}
|
||||
/// <summary>
|
||||
/// Wrapper to connect mag flux
|
||||
/// </summary>
|
||||
/// <returns></returns>
|
||||
/// <remarks date="2023-Mai-04" author="T.Wiedebusch">
|
||||
/// - Initial
|
||||
/// </remarks>
|
||||
public Boolean CloseConnection()
|
||||
{
|
||||
if (_magFluxProtocol == null) return false;
|
||||
var retVal = _magFluxProtocol.CloseConnection();
|
||||
return retVal;
|
||||
}
|
||||
/// <summary>
|
||||
/// Wrapper to connect mag flux
|
||||
/// </summary>
|
||||
/// <returns></returns>
|
||||
/// <remarks date="2023-Mai-04" author="T.Wiedebusch">
|
||||
/// - Initial
|
||||
/// </remarks>
|
||||
public Boolean IsConnected()
|
||||
{
|
||||
if (_magFluxProtocol == null) return false;
|
||||
var retVal = _magFluxProtocol.IsConnected();
|
||||
return retVal;
|
||||
}
|
||||
/// <summary>
|
||||
/// Wrapper to get FW version
|
||||
/// </summary>
|
||||
/// <param name="fwVersion"></param>
|
||||
/// <returns></returns>
|
||||
/// <remarks date="2023-Mai-04" author="T.Wiedebusch">
|
||||
/// - Initial
|
||||
/// </remarks>
|
||||
public Boolean GetFwVersion(out String fwVersion)
|
||||
{
|
||||
fwVersion = "?";
|
||||
if (_magFluxProtocol == null) return false;
|
||||
var retVal = _magFluxProtocol.GetFirmwareVersion(out fwVersion);
|
||||
return retVal;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Wrapper to get FW GIT hash
|
||||
/// </summary>
|
||||
/// <param name="fwGitHash"></param>
|
||||
/// <returns></returns>
|
||||
/// <remarks date="2023-Mai-04" author="T.Wiedebusch">
|
||||
/// - Initial
|
||||
/// </remarks>
|
||||
public Boolean GetFwGitHash(out String fwGitHash)
|
||||
{
|
||||
fwGitHash = "?";
|
||||
if (_magFluxProtocol == null) return false;
|
||||
var retVal = _magFluxProtocol.GetFwGitHash(out fwGitHash);
|
||||
return retVal;
|
||||
}
|
||||
/// <summary>
|
||||
/// Wrapper to get FW Build Date
|
||||
/// </summary>
|
||||
/// <param name="fwBuildDate"></param>
|
||||
/// <returns></returns>
|
||||
/// <remarks date="2023-Mai-04" author="T.Wiedebusch">
|
||||
/// - Initial
|
||||
/// </remarks>
|
||||
public Boolean GetFwBuildDate(out String fwBuildDate)
|
||||
{
|
||||
fwBuildDate = "?";
|
||||
if (_magFluxProtocol == null) return false;
|
||||
var retVal = _magFluxProtocol.GetFwBuildDate(out fwBuildDate);
|
||||
return retVal;
|
||||
}
|
||||
/// <summary>
|
||||
/// Wrapper to get the sensor serial number
|
||||
/// </summary>
|
||||
/// <param name="serialNumber"></param>
|
||||
/// <returns></returns>
|
||||
/// <remarks date="2023-Mai-04" author="T.Wiedebusch">
|
||||
/// - Initial
|
||||
/// </remarks>
|
||||
public Boolean GetSensorSerialNo(out String serialNumber)
|
||||
{
|
||||
serialNumber = "?";
|
||||
if (_magFluxProtocol == null) return false;
|
||||
var retVal = _magFluxProtocol.GetSensorSerialNo(out serialNumber);
|
||||
return retVal;
|
||||
}
|
||||
/// <summary>
|
||||
/// Wrapper to get unique id referenced as PCBID
|
||||
/// </summary>
|
||||
/// <param name="pcbId"></param>
|
||||
/// <returns></returns>
|
||||
/// <remarks date="2023-Mai-04" author="T.Wiedebusch">
|
||||
/// - Initial
|
||||
/// </remarks>
|
||||
public Boolean GetUniqueId(out String pcbId)
|
||||
{
|
||||
pcbId = "?";
|
||||
if (_magFluxProtocol == null) return false;
|
||||
var retVal = _magFluxProtocol.GetUniqueId(out pcbId);
|
||||
return retVal;
|
||||
}
|
||||
/// <summary>
|
||||
/// Wrapper to get meter size in mm
|
||||
/// </summary>
|
||||
/// <param name="meterSize"></param>
|
||||
/// <returns></returns>
|
||||
/// <remarks date="2023-Mai-04" author="T.Wiedebusch">
|
||||
/// - Initial
|
||||
/// </remarks>
|
||||
public Boolean GetMeterSize_mm(out Int32 meterSize)
|
||||
{
|
||||
meterSize = 0;
|
||||
if (_magFluxProtocol == null) return false;
|
||||
var retVal = _magFluxProtocol.GetDn_mm(out meterSize);
|
||||
return retVal;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,81 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" />
|
||||
<PropertyGroup>
|
||||
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
|
||||
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
|
||||
<ProjectGuid>{00748F11-4B49-4D8B-93C4-4A11A210CCE2}</ProjectGuid>
|
||||
<OutputType>Library</OutputType>
|
||||
<AppDesignerFolder>Properties</AppDesignerFolder>
|
||||
<RootNamespace>Xylem.Common.Hardware.WaterMeter.MagFlux.Protocols.RequestProtocol</RootNamespace>
|
||||
<AssemblyName>Xylem.Common.Hardware.WaterMeter.MagFlux.Protocols.RequestProtocol</AssemblyName>
|
||||
<TargetFrameworkVersion>v4.8</TargetFrameworkVersion>
|
||||
<FileAlignment>512</FileAlignment>
|
||||
<Deterministic>true</Deterministic>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
|
||||
<DebugSymbols>true</DebugSymbols>
|
||||
<DebugType>full</DebugType>
|
||||
<Optimize>false</Optimize>
|
||||
<OutputPath>bin\Debug\</OutputPath>
|
||||
<DefineConstants>DEBUG;TRACE</DefineConstants>
|
||||
<ErrorReport>prompt</ErrorReport>
|
||||
<WarningLevel>4</WarningLevel>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
|
||||
<DebugType>pdbonly</DebugType>
|
||||
<Optimize>true</Optimize>
|
||||
<OutputPath>bin\Release\</OutputPath>
|
||||
<DefineConstants>TRACE</DefineConstants>
|
||||
<ErrorReport>prompt</ErrorReport>
|
||||
<WarningLevel>4</WarningLevel>
|
||||
</PropertyGroup>
|
||||
<ItemGroup>
|
||||
<Reference Include="NLog, Version=4.0.0.0, Culture=neutral, PublicKeyToken=5120e14c03d0593c, processorArchitecture=MSIL">
|
||||
<HintPath>..\..\..\..\..\packages\NLog.4.6.7\lib\net45\NLog.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="System" />
|
||||
<Reference Include="System.Configuration" />
|
||||
<Reference Include="System.Core" />
|
||||
<Reference Include="System.IO.Compression" />
|
||||
<Reference Include="System.Runtime.Serialization" />
|
||||
<Reference Include="System.ServiceModel" />
|
||||
<Reference Include="System.Transactions" />
|
||||
<Reference Include="System.Xml.Linq" />
|
||||
<Reference Include="System.Data.DataSetExtensions" />
|
||||
<Reference Include="Microsoft.CSharp" />
|
||||
<Reference Include="System.Data" />
|
||||
<Reference Include="System.Net.Http" />
|
||||
<Reference Include="System.Xml" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Compile Include="RequestProtocol.cs" />
|
||||
<Compile Include="Properties\AssemblyInfo.cs" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ProjectReference Include="..\..\..\..\..\..\..\..\MJK\Code\C#\modbus_master_csharp\src\modbus_master_csharp\modbus_master_csharp.csproj">
|
||||
<Project>{f14940f8-3c86-4bb7-a915-b021e4b3052d}</Project>
|
||||
<Name>modbus_master_csharp</Name>
|
||||
</ProjectReference>
|
||||
<ProjectReference Include="..\..\..\..\..\Utils\Logging\Logging.csproj">
|
||||
<Project>{4B88B0D3-E791-4774-9521-EABEACDC420E}</Project>
|
||||
<Name>Logging</Name>
|
||||
</ProjectReference>
|
||||
<ProjectReference Include="..\..\..\..\Interfaces\Ports\PortCore\PortCore.csproj">
|
||||
<Project>{2E139F63-B6FE-4EA9-A098-85364FE9B26C}</Project>
|
||||
<Name>PortCore</Name>
|
||||
</ProjectReference>
|
||||
<ProjectReference Include="..\..\..\..\Interfaces\Protocols\ProtocolCore\ProtocolCore.csproj">
|
||||
<Project>{8BDD2789-96D4-43EA-AAD7-0F49D0347998}</Project>
|
||||
<Name>ProtocolCore</Name>
|
||||
</ProjectReference>
|
||||
<ProjectReference Include="..\..\DataPackages\DataPackages.csproj">
|
||||
<Project>{BA17D20E-0CEB-4B27-9772-2392BD750ED5}</Project>
|
||||
<Name>DataPackages</Name>
|
||||
</ProjectReference>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<None Include="packages.config" />
|
||||
</ItemGroup>
|
||||
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
|
||||
</Project>
|
||||
@@ -0,0 +1,4 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<packages>
|
||||
<package id="NLog" version="4.6.7" targetFramework="net48" />
|
||||
</packages>
|
||||
+36
@@ -0,0 +1,36 @@
|
||||
using System.Reflection;
|
||||
using System.Runtime.CompilerServices;
|
||||
using System.Runtime.InteropServices;
|
||||
|
||||
// General Information about an assembly is controlled through the following
|
||||
// set of attributes. Change these attribute values to modify the information
|
||||
// associated with an assembly.
|
||||
[assembly: AssemblyTitle("Xylem.Common.Hardware.WaterMeter.MagFlux.Protocols.StreamingProtocol")]
|
||||
[assembly: AssemblyDescription("")]
|
||||
[assembly: AssemblyConfiguration("")]
|
||||
[assembly: AssemblyCompany("Xylem")]
|
||||
[assembly: AssemblyProduct("")]
|
||||
[assembly: AssemblyCopyright("Copyright © Xylem 2023")]
|
||||
[assembly: AssemblyTrademark("")]
|
||||
[assembly: AssemblyCulture("")]
|
||||
|
||||
// Setting ComVisible to false makes the types in this assembly not visible
|
||||
// to COM components. If you need to access a type in this assembly from
|
||||
// COM, set the ComVisible attribute to true on that type.
|
||||
[assembly: ComVisible(false)]
|
||||
|
||||
// The following GUID is for the ID of the typelib if this project is exposed to COM
|
||||
[assembly: Guid("d6b81c60-2763-4c4d-989f-90822f53b01a")]
|
||||
|
||||
// Version information for an assembly consists of the following four values:
|
||||
//
|
||||
// Major Version
|
||||
// Minor Version
|
||||
// Build Number
|
||||
// Revision
|
||||
//
|
||||
// You can specify all the values or you can default the Build and Revision Numbers
|
||||
// by using the '*' as shown below:
|
||||
// [assembly: AssemblyVersion("1.0.*")]
|
||||
[assembly: AssemblyVersion("1.0.0.0")]
|
||||
[assembly: AssemblyFileVersion("1.0.0.0")]
|
||||
@@ -0,0 +1,193 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Globalization;
|
||||
using Xylem.Common.Hardware.WaterMeter.MagFlux.DataPackages.MeasurementRecords;
|
||||
using Xylem.Common.Utils.Crc16Ccitt;
|
||||
|
||||
namespace Xylem.Common.Hardware.WaterMeter.MagFlux.Protocols.StreamingProtocol
|
||||
{
|
||||
/// <summary>
|
||||
/// Data fields and definitions for GENESIS streaming protocol
|
||||
/// </summary>
|
||||
public class StreamingDecoder
|
||||
{
|
||||
private const Double MilliLitersToCmFactor = 1.0E-6;
|
||||
private const Double CpuTimeToSecondsFactor = 1.0 / 0x10000;
|
||||
private const Double CpuTimeOverflowS = 0x100000000 * CpuTimeToSecondsFactor;
|
||||
private const Double LitersPerSecondToCmPerHourFactor = 3600.0 / 1000.0;
|
||||
|
||||
private const Double DefaultVolumeScaleRawPerMl = 1024.0;
|
||||
private const Double DefaultVolumeFactorRawToCm = MilliLitersToCmFactor / DefaultVolumeScaleRawPerMl;
|
||||
private const Double MaxGenesisAccuVolumeRaw = UInt32.MaxValue; //0x100000000; //2^32
|
||||
private const Double DefaultAccuDutOverflowVolumeCm = MaxGenesisAccuVolumeRaw * DefaultVolumeFactorRawToCm;
|
||||
|
||||
private const Double DisplayMlSetupDutOverflowVolumeCm = 1000.0; //overflow of LCD if set to ml
|
||||
private const Double TofToSecondsFactor38Bit = 1.0 / 0x4000000000; // 2^38
|
||||
private const Double AmplitudeToVoltFactor = 1.0 / 0x400000 / 1000.0; // 2^22 100 0000 0000 0000 0000 0000b
|
||||
private const Double PulseWidthToRelFactor = 1.0 / 0x100; // 2^8
|
||||
|
||||
// protocol 'l' MagFlux
|
||||
private const Double MaxMagFluxVolumeRaw = UInt64.MaxValue;//0x10000000000000000; //2^64
|
||||
private const Double DefaultMagFluxOverflowVolumeCm = MaxMagFluxVolumeRaw / MilliLitersToCmFactor;
|
||||
/// <summary>
|
||||
/// Default data for
|
||||
/// </summary>
|
||||
private readonly MagFluxRecord _dataMagFluxDefault = new MagFluxRecord
|
||||
{
|
||||
VolumeCm = 0.0,
|
||||
TimeS = 0.0,
|
||||
FlowRateCmPh = 0.0,
|
||||
StatusBits = 0,
|
||||
UniqueId = "?",
|
||||
SensorId = "?",
|
||||
Crc = 0xFFFF,
|
||||
OverflowVolumeCm = DefaultMagFluxOverflowVolumeCm,
|
||||
OverflowTimeS = CpuTimeOverflowS,
|
||||
IsValid = false
|
||||
};
|
||||
|
||||
private MagFluxRecord _dataMagFluxRec;
|
||||
private readonly Boolean _ignoreCorruptedData;
|
||||
|
||||
/// <summary>
|
||||
/// Constructor initializes all decoded members with default values
|
||||
/// </summary>
|
||||
public StreamingDecoder(Boolean ignoreCorruptedData = true)
|
||||
{
|
||||
_dataMagFluxRec = _dataMagFluxDefault;
|
||||
_ignoreCorruptedData = ignoreCorruptedData;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Data of MagFlux
|
||||
/// </summary>
|
||||
public MagFluxRecord DataMagFlux
|
||||
{
|
||||
get; private set;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Decoding the raw message
|
||||
/// </summary>
|
||||
/// <param name="rawMsg">message received as one line delimited with LF</param>
|
||||
/// <returns>true if decoding was successful and data has been validated</returns>
|
||||
/// <remarks date="2023-Mar-09" author="T.Wiedebusch">
|
||||
/// - Modified using common CRC check before branching to the protocol specific decoder.
|
||||
/// </remarks>
|
||||
public Boolean DecodeMsg(String rawMsg)
|
||||
{
|
||||
var rawRecordIsValid = false;
|
||||
try
|
||||
{
|
||||
// save the raw message for CRC calculation before separation to fields
|
||||
//_rawMsgForCrc = rawMsg;
|
||||
// extract message and split it to fields
|
||||
|
||||
//MagFlux test string from Jan Bennett 2023-03-14_16-16-31_fromTO.log
|
||||
//rawMsg = "@l 1bd911f 95b8d4 40cf9b5c 0 26004f5232500120373235 0 5863"
|
||||
//DUT:Debug version, DUT:Vol FWD [mL], DUT:Time [s], DUT:Flow_LPS, DUT:StatusBitsHex, DUT:UniqueId, DUT:SensorId, DUT:CRC
|
||||
//dec_AT_l, 29200671, 149.7219849, 6.487714767, 0, 4.59406E+25, 0, 22627 (0x5863)
|
||||
|
||||
// The received message is a string with a line delimiter.
|
||||
rawMsg = rawMsg.Replace('\n', ' ');
|
||||
|
||||
// The raw message fields are the separated values from the received string with a blank as field separator
|
||||
var rawMsgFields = rawMsg.Split(' ');
|
||||
|
||||
// The last element is the CRC, the CRC can be separated, calculated and validated before trying to decode the content
|
||||
var rawRecordForCrc = "";
|
||||
// get all fields excluding the CRC (length - 1)
|
||||
for (var x = 0; x < rawMsgFields.Length - 1; x++)
|
||||
{
|
||||
rawRecordForCrc += rawMsgFields[x];
|
||||
// add the field delimiter from raw data
|
||||
rawRecordForCrc += " ";
|
||||
}
|
||||
|
||||
// extract bytes of raw message for CRC calculation each character, CRC field is already removed
|
||||
var byteArraySize = rawRecordForCrc.Length;
|
||||
var byteArray = new Byte[byteArraySize];
|
||||
for (var i = 0; i < byteArraySize; i++)
|
||||
{
|
||||
byteArray[i] = (Byte)rawRecordForCrc[i];
|
||||
}
|
||||
|
||||
// calculate the CRC from the received data
|
||||
var calculatedCrc = Crc16Ccitt.CalculateMsb1021(byteArray);
|
||||
|
||||
// extract received CRC
|
||||
var receivedCrc = UInt16.Parse(rawMsgFields[rawMsgFields.Length - 1], NumberStyles.HexNumber);
|
||||
|
||||
// compare received with calculated CRC and remind valid decoding
|
||||
rawRecordIsValid = calculatedCrc == receivedCrc;
|
||||
|
||||
switch (rawMsgFields[0])
|
||||
{
|
||||
case "@l":
|
||||
_dataMagFluxRec.IsValid = rawRecordIsValid;
|
||||
if (rawRecordIsValid || !_ignoreCorruptedData)
|
||||
{
|
||||
DecodeProtocolL(ref _dataMagFluxRec, rawMsgFields);
|
||||
DataMagFlux = _dataMagFluxRec;
|
||||
}
|
||||
break;
|
||||
|
||||
}
|
||||
}
|
||||
catch (Exception)
|
||||
{
|
||||
// ignored
|
||||
}
|
||||
return rawRecordIsValid;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Extracting message from string fields for protocol 'l'
|
||||
/// </summary>
|
||||
/// <param name="dataMagFluxRec">reference to mag flux record</param>
|
||||
/// <param name="fields">fields holding the separated values for decoding</param>
|
||||
/// <remarks date="2023-Mar-09" author="T.Wiedebusch">
|
||||
/// - Initial.
|
||||
/// </remarks>
|
||||
private static void DecodeProtocolL(ref MagFluxRecord dataMagFluxRec, IList<String> fields)
|
||||
{
|
||||
// time stamp attachment
|
||||
dataMagFluxRec.DecodedTime = DateTimeOffset.UtcNow;
|
||||
|
||||
// extract received CRC
|
||||
dataMagFluxRec.Crc = UInt16.Parse(fields[(Int32)ProtLsubString.Crc], NumberStyles.HexNumber);
|
||||
|
||||
// build result values, the display volume can be positive or negative!
|
||||
dataMagFluxRec.VolumeCm = UInt64.Parse(fields[(Int32)ProtLsubString.DisplayVolume],
|
||||
NumberStyles.AllowHexSpecifier) * MilliLitersToCmFactor;
|
||||
dataMagFluxRec.TimeS = UInt32.Parse(fields[(Int32)ProtLsubString.CpuTime],
|
||||
NumberStyles.AllowHexSpecifier) * CpuTimeToSecondsFactor;
|
||||
|
||||
// parse the floating point value of the flow rate which is a string containing the hex value as 32 bit
|
||||
var hex = UInt32.Parse(fields[(Int32)ProtLsubString.FlowRate], NumberStyles.AllowHexSpecifier);
|
||||
var floatValues = BitConverter.GetBytes(hex);
|
||||
dataMagFluxRec.FlowRateCmPh = BitConverter.ToSingle(floatValues, 0) *
|
||||
LitersPerSecondToCmPerHourFactor;
|
||||
|
||||
// get status and identifiers
|
||||
dataMagFluxRec.StatusBits = UInt32.Parse(fields[(Int32)ProtLsubString.StatusBits],
|
||||
NumberStyles.AllowHexSpecifier);
|
||||
dataMagFluxRec.UniqueId = fields[(Int32)ProtLsubString.UniqueId];
|
||||
dataMagFluxRec.SensorId = fields[(Int32)ProtLsubString.SensorId];
|
||||
}
|
||||
|
||||
/// field position in protocol 'l'
|
||||
private enum ProtLsubString
|
||||
{
|
||||
//do not remove this needed for position in record
|
||||
ProtType,
|
||||
DisplayVolume,
|
||||
CpuTime,
|
||||
FlowRate,
|
||||
StatusBits,
|
||||
UniqueId,
|
||||
SensorId,
|
||||
Crc
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,63 @@
|
||||
using System;
|
||||
using Xylem.Common.Hardware.Interfaces.Ports.PortCore.EventArguments;
|
||||
using Xylem.Common.Hardware.Interfaces.Protocols.ProtocolCore;
|
||||
using Xylem.Common.Hardware.Interfaces.Protocols.ProtocolCore.EventArguments;
|
||||
using Xylem.Common.Hardware.WaterMeter.MagFlux.DataPackages.EventArguments;
|
||||
|
||||
namespace Xylem.Common.Hardware.WaterMeter.MagFlux.Protocols.StreamingProtocol
|
||||
{
|
||||
/// <inheritdoc />
|
||||
/// <summary>
|
||||
/// Layer between <see cref="StreamingDecoder" /> CRC16CCITT handler and Events
|
||||
/// block trashy telegrams
|
||||
/// </summary>
|
||||
public class StreamingProtocol : BaseProtocol
|
||||
{
|
||||
|
||||
/// <summary>
|
||||
/// Decode data and hold results
|
||||
/// </summary>
|
||||
private StreamingDecoder _streamingDecode;
|
||||
private readonly Boolean _ignoreCorruptedData;
|
||||
|
||||
/// <inheritdoc />
|
||||
public override event EventHandler<BaseDataEventArgs> OnRecordIsDecoded;
|
||||
|
||||
/// <inheritdoc />
|
||||
public override void DecodeRecord(IPortDataEventArgs dataArgs)
|
||||
{
|
||||
var data = (String)dataArgs.GetData();
|
||||
|
||||
//Data decoding
|
||||
_streamingDecode = new StreamingDecoder(_ignoreCorruptedData);
|
||||
_streamingDecode.DecodeMsg(data);
|
||||
|
||||
//Event for new data
|
||||
if (_streamingDecode.DataMagFlux != null)
|
||||
{
|
||||
_streamingDecode.DataMagFlux.SyncMarkRecord = dataArgs.GetSyncMarkRecord();
|
||||
_streamingDecode.DataMagFlux.ReceivedTime = dataArgs.GetReceivedTime();
|
||||
|
||||
if (_streamingDecode.DataMagFlux.IsValid)
|
||||
{
|
||||
OnRecordIsDecoded?.Invoke(this,
|
||||
new MagFluxFlowDataEventArgs { NewData = _streamingDecode.DataMagFlux, RawData = data });
|
||||
}
|
||||
else if (!_ignoreCorruptedData)
|
||||
{
|
||||
OnRecordIsDecoded?.Invoke(this,
|
||||
new MagFluxFlowDataEventArgs { NewData = _streamingDecode.DataMagFlux, RawData = data });
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
//toDo: handle trashy telegrams
|
||||
}
|
||||
|
||||
/// <inheritdoc />
|
||||
public StreamingProtocol(String ident, Boolean ignoreCorruptedData = true) : base(ident)
|
||||
{
|
||||
_ignoreCorruptedData = ignoreCorruptedData;
|
||||
}
|
||||
}
|
||||
}
|
||||
+75
@@ -0,0 +1,75 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" />
|
||||
<PropertyGroup>
|
||||
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
|
||||
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
|
||||
<ProjectGuid>{D6B81C60-2763-4C4D-989F-90822F53B01A}</ProjectGuid>
|
||||
<OutputType>Library</OutputType>
|
||||
<AppDesignerFolder>Properties</AppDesignerFolder>
|
||||
<RootNamespace>Xylem.Common.Hardware.WaterMeter.MagFlux.Protocols.StreamingProtocol</RootNamespace>
|
||||
<AssemblyName>Xylem.Common.Hardware.WaterMeter.MagFlux.Protocols.StreamingProtocol</AssemblyName>
|
||||
<TargetFrameworkVersion>v4.8</TargetFrameworkVersion>
|
||||
<FileAlignment>512</FileAlignment>
|
||||
<Deterministic>true</Deterministic>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
|
||||
<DebugSymbols>true</DebugSymbols>
|
||||
<DebugType>full</DebugType>
|
||||
<Optimize>false</Optimize>
|
||||
<OutputPath>bin\Debug\</OutputPath>
|
||||
<DefineConstants>DEBUG;TRACE</DefineConstants>
|
||||
<ErrorReport>prompt</ErrorReport>
|
||||
<WarningLevel>4</WarningLevel>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
|
||||
<DebugType>pdbonly</DebugType>
|
||||
<Optimize>true</Optimize>
|
||||
<OutputPath>bin\Release\</OutputPath>
|
||||
<DefineConstants>TRACE</DefineConstants>
|
||||
<ErrorReport>prompt</ErrorReport>
|
||||
<WarningLevel>4</WarningLevel>
|
||||
</PropertyGroup>
|
||||
<ItemGroup>
|
||||
<Reference Include="System" />
|
||||
<Reference Include="System.Core" />
|
||||
<Reference Include="System.Xml.Linq" />
|
||||
<Reference Include="System.Data.DataSetExtensions" />
|
||||
<Reference Include="Microsoft.CSharp" />
|
||||
<Reference Include="System.Data" />
|
||||
<Reference Include="System.Net.Http" />
|
||||
<Reference Include="System.Xml" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Compile Include="Properties\AssemblyInfo.cs" />
|
||||
<Compile Include="StreamingDecoder.cs" />
|
||||
<Compile Include="StreamingProtocol.cs" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ProjectReference Include="..\..\..\..\..\CommonCore\CommonCore.csproj">
|
||||
<Project>{1B02C79E-0B19-43E2-8F6B-71EF0C786C97}</Project>
|
||||
<Name>CommonCore</Name>
|
||||
</ProjectReference>
|
||||
<ProjectReference Include="..\..\..\..\..\Metrology\Measurements\Measurements.csproj">
|
||||
<Project>{6CCDB656-C676-4360-BABA-C4596AAD175D}</Project>
|
||||
<Name>Measurements</Name>
|
||||
</ProjectReference>
|
||||
<ProjectReference Include="..\..\..\..\..\Utils\Crc16Ccitt\Crc16Ccitt.csproj">
|
||||
<Project>{91DEF0C0-AA4F-40AE-8F18-CB717FDE7E7F}</Project>
|
||||
<Name>Crc16Ccitt</Name>
|
||||
</ProjectReference>
|
||||
<ProjectReference Include="..\..\..\..\Interfaces\Ports\PortCore\PortCore.csproj">
|
||||
<Project>{2E139F63-B6FE-4EA9-A098-85364FE9B26C}</Project>
|
||||
<Name>PortCore</Name>
|
||||
</ProjectReference>
|
||||
<ProjectReference Include="..\..\..\..\Interfaces\Protocols\ProtocolCore\ProtocolCore.csproj">
|
||||
<Project>{8BDD2789-96D4-43EA-AAD7-0F49D0347998}</Project>
|
||||
<Name>ProtocolCore</Name>
|
||||
</ProjectReference>
|
||||
<ProjectReference Include="..\..\DataPackages\DataPackages.csproj">
|
||||
<Project>{BA17D20E-0CEB-4B27-9772-2392BD750ED5}</Project>
|
||||
<Name>DataPackages</Name>
|
||||
</ProjectReference>
|
||||
</ItemGroup>
|
||||
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
|
||||
</Project>
|
||||
@@ -1,9 +0,0 @@
|
||||
<Application x:Class="MagFluxToolBox.App"
|
||||
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
|
||||
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
|
||||
xmlns:local="clr-namespace:MagFluxToolBox"
|
||||
StartupUri="MainWindow.xaml">
|
||||
<Application.Resources>
|
||||
|
||||
</Application.Resources>
|
||||
</Application>
|
||||
@@ -1,17 +0,0 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Configuration;
|
||||
using System.Data;
|
||||
using System.Linq;
|
||||
using System.Threading.Tasks;
|
||||
using System.Windows;
|
||||
|
||||
namespace MagFluxToolBox
|
||||
{
|
||||
/// <summary>
|
||||
/// Interaction logic for App.xaml
|
||||
/// </summary>
|
||||
public partial class App : Application
|
||||
{
|
||||
}
|
||||
}
|
||||
@@ -1,104 +0,0 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" />
|
||||
<PropertyGroup>
|
||||
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
|
||||
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
|
||||
<ProjectGuid>{FD55E1DE-E2C9-496A-B4E0-DC81A54F8F43}</ProjectGuid>
|
||||
<OutputType>WinExe</OutputType>
|
||||
<RootNamespace>MagFluxToolBox</RootNamespace>
|
||||
<AssemblyName>MagFluxToolBox</AssemblyName>
|
||||
<TargetFrameworkVersion>v4.8</TargetFrameworkVersion>
|
||||
<FileAlignment>512</FileAlignment>
|
||||
<ProjectTypeGuids>{60dc8134-eba5-43b8-bcc9-bb4bc16c2548};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
|
||||
<WarningLevel>4</WarningLevel>
|
||||
<AutoGenerateBindingRedirects>true</AutoGenerateBindingRedirects>
|
||||
<Deterministic>true</Deterministic>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
|
||||
<PlatformTarget>AnyCPU</PlatformTarget>
|
||||
<DebugSymbols>true</DebugSymbols>
|
||||
<DebugType>full</DebugType>
|
||||
<Optimize>false</Optimize>
|
||||
<OutputPath>bin\Debug\</OutputPath>
|
||||
<DefineConstants>DEBUG;TRACE</DefineConstants>
|
||||
<ErrorReport>prompt</ErrorReport>
|
||||
<WarningLevel>4</WarningLevel>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
|
||||
<PlatformTarget>AnyCPU</PlatformTarget>
|
||||
<DebugType>pdbonly</DebugType>
|
||||
<Optimize>true</Optimize>
|
||||
<OutputPath>bin\Release\</OutputPath>
|
||||
<DefineConstants>TRACE</DefineConstants>
|
||||
<ErrorReport>prompt</ErrorReport>
|
||||
<WarningLevel>4</WarningLevel>
|
||||
</PropertyGroup>
|
||||
<ItemGroup>
|
||||
<Reference Include="System" />
|
||||
<Reference Include="System.Data" />
|
||||
<Reference Include="System.Xml" />
|
||||
<Reference Include="Microsoft.CSharp" />
|
||||
<Reference Include="System.Core" />
|
||||
<Reference Include="System.Xml.Linq" />
|
||||
<Reference Include="System.Data.DataSetExtensions" />
|
||||
<Reference Include="System.Net.Http" />
|
||||
<Reference Include="System.Xaml">
|
||||
<RequiredTargetFramework>4.0</RequiredTargetFramework>
|
||||
</Reference>
|
||||
<Reference Include="WindowsBase" />
|
||||
<Reference Include="PresentationCore" />
|
||||
<Reference Include="PresentationFramework" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ApplicationDefinition Include="App.xaml">
|
||||
<Generator>MSBuild:Compile</Generator>
|
||||
<SubType>Designer</SubType>
|
||||
</ApplicationDefinition>
|
||||
<Page Include="MainWindow.xaml">
|
||||
<Generator>MSBuild:Compile</Generator>
|
||||
<SubType>Designer</SubType>
|
||||
</Page>
|
||||
<Compile Include="App.xaml.cs">
|
||||
<DependentUpon>App.xaml</DependentUpon>
|
||||
<SubType>Code</SubType>
|
||||
</Compile>
|
||||
<Compile Include="MainWindow.xaml.cs">
|
||||
<DependentUpon>MainWindow.xaml</DependentUpon>
|
||||
<SubType>Code</SubType>
|
||||
</Compile>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Compile Include="Properties\AssemblyInfo.cs">
|
||||
<SubType>Code</SubType>
|
||||
</Compile>
|
||||
<Compile Include="Properties\Resources.Designer.cs">
|
||||
<AutoGen>True</AutoGen>
|
||||
<DesignTime>True</DesignTime>
|
||||
<DependentUpon>Resources.resx</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Include="Properties\Settings.Designer.cs">
|
||||
<AutoGen>True</AutoGen>
|
||||
<DependentUpon>Settings.settings</DependentUpon>
|
||||
<DesignTimeSharedInput>True</DesignTimeSharedInput>
|
||||
</Compile>
|
||||
<EmbeddedResource Include="Properties\Resources.resx">
|
||||
<Generator>ResXFileCodeGenerator</Generator>
|
||||
<LastGenOutput>Resources.Designer.cs</LastGenOutput>
|
||||
</EmbeddedResource>
|
||||
<None Include="Properties\Settings.settings">
|
||||
<Generator>SettingsSingleFileGenerator</Generator>
|
||||
<LastGenOutput>Settings.Designer.cs</LastGenOutput>
|
||||
</None>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<None Include="App.config" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ProjectReference Include="..\..\..\..\MJK\Code\C#\modbus_master_csharp\src\modbus_master_csharp\modbus_master_csharp.csproj">
|
||||
<Project>{f14940f8-3c86-4bb7-a915-b021e4b3052d}</Project>
|
||||
<Name>modbus_master_csharp</Name>
|
||||
</ProjectReference>
|
||||
</ItemGroup>
|
||||
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
|
||||
</Project>
|
||||
@@ -1,12 +0,0 @@
|
||||
<Window x:Class="MagFluxToolBox.MainWindow"
|
||||
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
|
||||
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
|
||||
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
|
||||
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
|
||||
xmlns:local="clr-namespace:MagFluxToolBox"
|
||||
mc:Ignorable="d"
|
||||
Title="MainWindow" Height="450" Width="800">
|
||||
<Grid>
|
||||
|
||||
</Grid>
|
||||
</Window>
|
||||
@@ -1,28 +0,0 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
using System.Windows;
|
||||
using System.Windows.Controls;
|
||||
using System.Windows.Data;
|
||||
using System.Windows.Documents;
|
||||
using System.Windows.Input;
|
||||
using System.Windows.Media;
|
||||
using System.Windows.Media.Imaging;
|
||||
using System.Windows.Navigation;
|
||||
using System.Windows.Shapes;
|
||||
|
||||
namespace MagFluxToolBox
|
||||
{
|
||||
/// <summary>
|
||||
/// Interaction logic for MainWindow.xaml
|
||||
/// </summary>
|
||||
public partial class MainWindow : Window
|
||||
{
|
||||
public MainWindow()
|
||||
{
|
||||
InitializeComponent();
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,55 +0,0 @@
|
||||
using System.Reflection;
|
||||
using System.Resources;
|
||||
using System.Runtime.CompilerServices;
|
||||
using System.Runtime.InteropServices;
|
||||
using System.Windows;
|
||||
|
||||
// General Information about an assembly is controlled through the following
|
||||
// set of attributes. Change these attribute values to modify the information
|
||||
// associated with an assembly.
|
||||
[assembly: AssemblyTitle("MagFluxToolBox")]
|
||||
[assembly: AssemblyDescription("")]
|
||||
[assembly: AssemblyConfiguration("")]
|
||||
[assembly: AssemblyCompany("Microsoft")]
|
||||
[assembly: AssemblyProduct("MagFluxToolBox")]
|
||||
[assembly: AssemblyCopyright("Copyright © Microsoft 2023")]
|
||||
[assembly: AssemblyTrademark("")]
|
||||
[assembly: AssemblyCulture("")]
|
||||
|
||||
// Setting ComVisible to false makes the types in this assembly not visible
|
||||
// to COM components. If you need to access a type in this assembly from
|
||||
// COM, set the ComVisible attribute to true on that type.
|
||||
[assembly: ComVisible(false)]
|
||||
|
||||
//In order to begin building localizable applications, set
|
||||
//<UICulture>CultureYouAreCodingWith</UICulture> in your .csproj file
|
||||
//inside a <PropertyGroup>. For example, if you are using US english
|
||||
//in your source files, set the <UICulture> to en-US. Then uncomment
|
||||
//the NeutralResourceLanguage attribute below. Update the "en-US" in
|
||||
//the line below to match the UICulture setting in the project file.
|
||||
|
||||
//[assembly: NeutralResourcesLanguage("en-US", UltimateResourceFallbackLocation.Satellite)]
|
||||
|
||||
|
||||
[assembly: ThemeInfo(
|
||||
ResourceDictionaryLocation.None, //where theme specific resource dictionaries are located
|
||||
//(used if a resource is not found in the page,
|
||||
// or application resource dictionaries)
|
||||
ResourceDictionaryLocation.SourceAssembly //where the generic resource dictionary is located
|
||||
//(used if a resource is not found in the page,
|
||||
// app, or any theme specific resource dictionaries)
|
||||
)]
|
||||
|
||||
|
||||
// Version information for an assembly consists of the following four values:
|
||||
//
|
||||
// Major Version
|
||||
// Minor Version
|
||||
// Build Number
|
||||
// Revision
|
||||
//
|
||||
// You can specify all the values or you can default the Build and Revision Numbers
|
||||
// by using the '*' as shown below:
|
||||
// [assembly: AssemblyVersion("1.0.*")]
|
||||
[assembly: AssemblyVersion("1.0.0.0")]
|
||||
[assembly: AssemblyFileVersion("1.0.0.0")]
|
||||
@@ -1,7 +0,0 @@
|
||||
<?xml version='1.0' encoding='utf-8'?>
|
||||
<SettingsFile xmlns="uri:settings" CurrentProfile="(Default)">
|
||||
<Profiles>
|
||||
<Profile Name="(Default)" />
|
||||
</Profiles>
|
||||
<Settings />
|
||||
</SettingsFile>
|
||||
@@ -20,6 +20,7 @@ using System.Windows.Input;
|
||||
using System.Windows.Threading;
|
||||
using Xylem.Common.CommonCore.Configuration;
|
||||
using Xylem.Common.CommonCore.Consts;
|
||||
using Xylem.Common.Hardware.Interfaces.Ports.PortCore;
|
||||
using Xylem.Common.Hardware.WaterMeter.Genesis.GenesisConfig;
|
||||
using Xylem.Common.Hardware.WaterMeter.Genesis.GenesisCore;
|
||||
using Xylem.Common.Hardware.WaterMeter.WaterMeterCore;
|
||||
|
||||
@@ -12,6 +12,7 @@ using Newtonsoft.Json;
|
||||
using ProductionUiCordonel.Model;
|
||||
using Xylem.Common.CommonCore.Configuration;
|
||||
using Xylem.Common.CommonCore.Consts;
|
||||
using Xylem.Common.Hardware.Interfaces.Ports.PortCore;
|
||||
using Xylem.Common.Hardware.WaterMeter.Genesis.GenesisConfig;
|
||||
using Xylem.Common.Hardware.WaterMeter.Genesis.GenesisCore;
|
||||
using Xylem.Common.Hardware.WaterMeter.WaterMeterCore;
|
||||
|
||||
@@ -315,6 +315,10 @@
|
||||
<Project>{1B02C79E-0B19-43E2-8F6B-71EF0C786C97}</Project>
|
||||
<Name>CommonCore</Name>
|
||||
</ProjectReference>
|
||||
<ProjectReference Include="..\Hardware\Interfaces\Ports\PortCore\PortCore.csproj">
|
||||
<Project>{2E139F63-B6FE-4EA9-A098-85364FE9B26C}</Project>
|
||||
<Name>PortCore</Name>
|
||||
</ProjectReference>
|
||||
<ProjectReference Include="..\Hardware\WaterMeter\Genesis\Applications\Applications.csproj">
|
||||
<Project>{315E94B8-B82F-4B25-B5BD-297DF3BC1D54}</Project>
|
||||
<Name>Applications</Name>
|
||||
|
||||
@@ -1,45 +1,45 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<configuration>
|
||||
<configSections>
|
||||
<sectionGroup name="userSettings" type="System.Configuration.UserSettingsGroup, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<section name="Xylem.Common.Ui.GenesisToolBox.Properties.Settings" type="System.Configuration.ClientSettingsSection, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" allowExeDefinition="MachineToLocalUser" requirePermission="false" />
|
||||
<section name="Xylem.Common.Ui.GenesisToolBox.Properties.Settings" type="System.Configuration.ClientSettingsSection, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" allowExeDefinition="MachineToLocalUser" requirePermission="false"/>
|
||||
</sectionGroup>
|
||||
</configSections>
|
||||
<startup>
|
||||
<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.0" />
|
||||
<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.0"/>
|
||||
</startup>
|
||||
<userSettings>
|
||||
<Xylem.Common.Ui.GenesisToolBox.Properties.Settings>
|
||||
<setting name="InitialBinaryPath" serializeAs="String">
|
||||
<value />
|
||||
<value/>
|
||||
</setting>
|
||||
<setting name="InitialPackageFile" serializeAs="String">
|
||||
<value />
|
||||
<value/>
|
||||
</setting>
|
||||
</Xylem.Common.Ui.GenesisToolBox.Properties.Settings>
|
||||
</userSettings>
|
||||
<appSettings>
|
||||
<add key="AdminName" value="My Name" />
|
||||
<add key="AdminEMail" value="MyEMailAddress" />
|
||||
<add key="ClientSettingsProvider.ServiceUri" value="" />
|
||||
<add key="AdminName" value="My Name"/>
|
||||
<add key="AdminEMail" value="MyEMailAddress"/>
|
||||
<add key="ClientSettingsProvider.ServiceUri" value=""/>
|
||||
</appSettings>
|
||||
<runtime>
|
||||
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
|
||||
<dependentAssembly>
|
||||
<assemblyIdentity name="Newtonsoft.Json" publicKeyToken="30ad4fe6b2a6aeed" culture="neutral" />
|
||||
<bindingRedirect oldVersion="0.0.0.0-12.0.0.0" newVersion="12.0.0.0" />
|
||||
<assemblyIdentity name="Newtonsoft.Json" publicKeyToken="30ad4fe6b2a6aeed" culture="neutral"/>
|
||||
<bindingRedirect oldVersion="0.0.0.0-12.0.0.0" newVersion="12.0.0.0"/>
|
||||
</dependentAssembly>
|
||||
</assemblyBinding>
|
||||
</runtime>
|
||||
<system.web>
|
||||
<membership defaultProvider="ClientAuthenticationMembershipProvider">
|
||||
<providers>
|
||||
<add name="ClientAuthenticationMembershipProvider" type="System.Web.ClientServices.Providers.ClientFormsAuthenticationMembershipProvider, System.Web.Extensions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" serviceUri="" />
|
||||
<add name="ClientAuthenticationMembershipProvider" type="System.Web.ClientServices.Providers.ClientFormsAuthenticationMembershipProvider, System.Web.Extensions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" serviceUri=""/>
|
||||
</providers>
|
||||
</membership>
|
||||
<roleManager defaultProvider="ClientRoleProvider" enabled="true">
|
||||
<providers>
|
||||
<add name="ClientRoleProvider" type="System.Web.ClientServices.Providers.ClientRoleProvider, System.Web.Extensions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" serviceUri="" cacheTimeout="86400" />
|
||||
<add name="ClientRoleProvider" type="System.Web.ClientServices.Providers.ClientRoleProvider, System.Web.Extensions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" serviceUri="" cacheTimeout="86400"/>
|
||||
</providers>
|
||||
</roleManager>
|
||||
</system.web>
|
||||
|
||||
@@ -5,6 +5,7 @@ using System.Collections.Generic;
|
||||
using System.IO;
|
||||
using System.Windows.Forms;
|
||||
using Xylem.Common.CommonCore.Consts;
|
||||
using Xylem.Common.Hardware.Interfaces.Ports.PortCore;
|
||||
using Xylem.Common.Hardware.WaterMeter.Genesis.GenesisConfig;
|
||||
using Xylem.Common.Hardware.WaterMeter.Genesis.GenesisCore;
|
||||
using Xylem.Common.Hardware.WaterMeter.Genesis.Registers;
|
||||
|
||||
@@ -8,6 +8,7 @@ using System.Threading;
|
||||
using System.Threading.Tasks;
|
||||
using System.Windows.Forms;
|
||||
using Xylem.Common.CommonCore.Consts;
|
||||
using Xylem.Common.Hardware.Interfaces.Ports.PortCore;
|
||||
using Xylem.Common.Hardware.WaterMeter.Genesis.GenesisConfig;
|
||||
using Xylem.Common.Hardware.WaterMeter.Genesis.GenesisCore;
|
||||
using Xylem.Common.Hardware.WaterMeter.WaterMeterCore;
|
||||
|
||||
@@ -10,6 +10,7 @@ using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
using System.Windows.Forms;
|
||||
using Xylem.Common.CommonCore.Consts;
|
||||
using Xylem.Common.Hardware.Interfaces.Ports.PortCore;
|
||||
using Xylem.Common.Hardware.WaterMeter.Genesis.GenesisConfig;
|
||||
|
||||
namespace Xylem.Common.Ui.GenesisToolBox
|
||||
|
||||
@@ -4,6 +4,7 @@ using System.IO;
|
||||
using System.Text;
|
||||
using System.Windows.Forms;
|
||||
using Xylem.Common.CommonCore.Consts;
|
||||
using Xylem.Common.Hardware.Interfaces.Ports.PortCore;
|
||||
using Xylem.Common.Hardware.WaterMeter.Genesis.GenesisConfig;
|
||||
using Xylem.Common.Hardware.WaterMeter.Genesis.GenesisCore;
|
||||
using Xylem.Common.Hardware.WaterMeter.Genesis.Registers;
|
||||
|
||||
@@ -11,7 +11,7 @@ using System.Windows.Forms;
|
||||
using Newtonsoft.Json;
|
||||
using NLog;
|
||||
using Xylem.Common.CommonCore.Consts;
|
||||
using Xylem.Common.Hardware.WaterMeter.Genesis.GenesisConfig;
|
||||
using Xylem.Common.Hardware.Interfaces.Ports.PortCore;
|
||||
using Xylem.Common.Hardware.WaterMeter.Genesis.GenesisCore;
|
||||
using Xylem.Common.Hardware.WaterMeter.Genesis.GenesisCore.Consts;
|
||||
using Xylem.Common.Hardware.WaterMeter.Genesis.Registers;
|
||||
|
||||
@@ -75,6 +75,7 @@
|
||||
<LangVersion>7.0</LangVersion>
|
||||
<ErrorReport>prompt</ErrorReport>
|
||||
<CodeAnalysisRuleSet>MinimumRecommendedRules.ruleset</CodeAnalysisRuleSet>
|
||||
<Prefer32Bit>false</Prefer32Bit>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup>
|
||||
<ManifestCertificateThumbprint>14673934DFE995F28E9579F4A18DBDA05F7C1AFE</ManifestCertificateThumbprint>
|
||||
@@ -115,6 +116,7 @@
|
||||
<LangVersion>7.0</LangVersion>
|
||||
<ErrorReport>prompt</ErrorReport>
|
||||
<CodeAnalysisRuleSet>MinimumRecommendedRules.ruleset</CodeAnalysisRuleSet>
|
||||
<Prefer32Bit>false</Prefer32Bit>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Release|x64'">
|
||||
<OutputPath>bin\x64\Release\</OutputPath>
|
||||
@@ -125,6 +127,7 @@
|
||||
<LangVersion>7.0</LangVersion>
|
||||
<ErrorReport>prompt</ErrorReport>
|
||||
<CodeAnalysisRuleSet>MinimumRecommendedRules.ruleset</CodeAnalysisRuleSet>
|
||||
<Prefer32Bit>false</Prefer32Bit>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'PerformTest|x64'">
|
||||
<DebugSymbols>true</DebugSymbols>
|
||||
@@ -146,6 +149,7 @@
|
||||
<LangVersion>7.0</LangVersion>
|
||||
<ErrorReport>prompt</ErrorReport>
|
||||
<CodeAnalysisRuleSet>MinimumRecommendedRules.ruleset</CodeAnalysisRuleSet>
|
||||
<Prefer32Bit>false</Prefer32Bit>
|
||||
</PropertyGroup>
|
||||
<ItemGroup>
|
||||
<Reference Include="Microsoft.CSharp" />
|
||||
@@ -605,6 +609,10 @@
|
||||
<Project>{72037e89-4f63-4b3f-beff-4138e578ce99}</Project>
|
||||
<Name>SerialPorts</Name>
|
||||
</ProjectReference>
|
||||
<ProjectReference Include="..\..\Hardware\Interfaces\Protocols\ProtocolCore\ProtocolCore.csproj">
|
||||
<Project>{8BDD2789-96D4-43EA-AAD7-0F49D0347998}</Project>
|
||||
<Name>ProtocolCore</Name>
|
||||
</ProjectReference>
|
||||
<ProjectReference Include="..\..\Hardware\WaterMeter\Genesis\Applications\Applications.csproj">
|
||||
<Project>{315e94b8-b82f-4b25-b5bd-297df3bc1d54}</Project>
|
||||
<Name>Applications</Name>
|
||||
@@ -625,18 +633,10 @@
|
||||
<Project>{2c6378c6-6ba1-4cee-8992-8404d8369a90}</Project>
|
||||
<Name>GenesisFile</Name>
|
||||
</ProjectReference>
|
||||
<ProjectReference Include="..\..\Hardware\WaterMeter\Genesis\GenesisPwd\GenesisPwd.csproj">
|
||||
<Project>{ac434b18-4d7b-49ba-9ad5-0527c79e8297}</Project>
|
||||
<Name>GenesisPwd</Name>
|
||||
</ProjectReference>
|
||||
<ProjectReference Include="..\..\Hardware\WaterMeter\Genesis\GenesisStatus\GenesisStatus.csproj">
|
||||
<Project>{0F646872-D8DC-4EE5-989F-D4C73F0ACE3F}</Project>
|
||||
<Name>GenesisStatus</Name>
|
||||
</ProjectReference>
|
||||
<ProjectReference Include="..\..\Hardware\WaterMeter\Genesis\Protocols\ProtocolCore\ProtocolCore.csproj">
|
||||
<Project>{8BDD2789-96D4-43EA-AAD7-0F49D0347998}</Project>
|
||||
<Name>ProtocolCore</Name>
|
||||
</ProjectReference>
|
||||
<ProjectReference Include="..\..\Hardware\WaterMeter\Genesis\Protocols\RequestProtocol\RequestProtocol.csproj">
|
||||
<Project>{d32ed790-7e1e-435b-8619-9f906c992066}</Project>
|
||||
<Name>RequestProtocol</Name>
|
||||
@@ -710,8 +710,6 @@
|
||||
<Content Include="RegAsm4.exe">
|
||||
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
|
||||
</Content>
|
||||
<None Include="Resources\SensusLogoXylem2.JPG" />
|
||||
<None Include="Resources\SensusLogoXylem1.JPG" />
|
||||
<None Include="Resources\SensusLogoXylem.JPG" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
|
||||
@@ -1,5 +1,4 @@
|
||||
using GenesisToolBox;
|
||||
using System;
|
||||
using System;
|
||||
using System.Windows.Forms;
|
||||
|
||||
namespace Xylem.Common.Ui.GenesisToolBox
|
||||
|
||||
+1
-1
@@ -19,7 +19,7 @@ namespace Xylem.Common.Ui.GenesisToolBox.Properties {
|
||||
// class via a tool like ResGen or Visual Studio.
|
||||
// To add or remove a member, edit your .ResX file then rerun ResGen
|
||||
// with the /str option, or rebuild your VS project.
|
||||
[global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "4.0.0.0")]
|
||||
[global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "15.0.0.0")]
|
||||
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
|
||||
[global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
|
||||
internal class Resources {
|
||||
|
||||
+1
-1
@@ -12,7 +12,7 @@ namespace Xylem.Common.Ui.GenesisToolBox.Properties {
|
||||
|
||||
|
||||
[global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
|
||||
[global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "14.0.0.0")]
|
||||
[global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "15.9.0.0")]
|
||||
internal sealed partial class Settings : global::System.Configuration.ApplicationSettingsBase {
|
||||
|
||||
private static Settings defaultInstance = ((Settings)(global::System.Configuration.ApplicationSettingsBase.Synchronized(new Settings())));
|
||||
|
||||
@@ -8,7 +8,8 @@ using System.IO;
|
||||
using System.Threading.Tasks;
|
||||
using System.Windows.Forms;
|
||||
using Xylem.Common.CommonCore.Consts;
|
||||
using Xylem.Common.Hardware.WaterMeter.Genesis.DataPackages.EventArguments;
|
||||
using Xylem.Common.Hardware.Interfaces.Ports.PortCore;
|
||||
using Xylem.Common.Hardware.Interfaces.Protocols.ProtocolCore.EventArguments;
|
||||
using Xylem.Common.Hardware.WaterMeter.Genesis.DataPackages.MeasurementRecords;
|
||||
using Xylem.Common.Hardware.WaterMeter.Genesis.GenesisConfig;
|
||||
using Xylem.Common.Hardware.WaterMeter.WaterMeterCore;
|
||||
|
||||
@@ -15,6 +15,7 @@ using System.Threading.Tasks;
|
||||
using System.Windows.Forms;
|
||||
using Xylem.Common.CommonCore.Configuration;
|
||||
using Xylem.Common.CommonCore.Consts;
|
||||
using Xylem.Common.Hardware.Interfaces.Ports.PortCore;
|
||||
using Xylem.Common.Hardware.WaterMeter.Genesis.GenesisConfig;
|
||||
using Xylem.Common.Hardware.WaterMeter.Genesis.GenesisCore;
|
||||
using Xylem.Common.Hardware.WaterMeter.Genesis.GenesisStatus;
|
||||
|
||||
@@ -11,6 +11,7 @@ using System.Threading;
|
||||
using System.Windows.Forms;
|
||||
using System.Xml.Linq;
|
||||
using Xylem.Common.CommonCore.Consts;
|
||||
using Xylem.Common.Hardware.Interfaces.Ports.PortCore;
|
||||
using Xylem.Common.Hardware.Interfaces.Ports.PortCore.EventArguments;
|
||||
using Xylem.Common.Hardware.Interfaces.Ports.SerialPorts;
|
||||
using Xylem.Common.Hardware.WaterMeter.Genesis.GenesisConfig;
|
||||
|
||||
@@ -3,6 +3,7 @@ using System.Collections.Generic;
|
||||
using System.IO;
|
||||
using System.Threading.Tasks;
|
||||
using Xylem.Common.CommonCore.Consts;
|
||||
using Xylem.Common.Hardware.Interfaces.Ports.PortCore;
|
||||
using Xylem.Common.Hardware.Interfaces.Ports.PortCore.EventArguments;
|
||||
using Xylem.Common.Hardware.Interfaces.Ports.SerialPorts;
|
||||
using Xylem.Common.Hardware.WaterMeter.Genesis.GenesisConfig;
|
||||
|
||||
@@ -186,6 +186,14 @@
|
||||
<Project>{D0C8D887-ED52-40AB-A069-90BCE0E801E2}</Project>
|
||||
<Name>CordonelPreadjustmentUi</Name>
|
||||
</ProjectReference>
|
||||
<ProjectReference Include="..\..\Hardware\Interfaces\Ports\PortCore\PortCore.csproj">
|
||||
<Project>{2E139F63-B6FE-4EA9-A098-85364FE9B26C}</Project>
|
||||
<Name>PortCore</Name>
|
||||
</ProjectReference>
|
||||
<ProjectReference Include="..\..\Hardware\Interfaces\Protocols\ProtocolCore\ProtocolCore.csproj">
|
||||
<Project>{8BDD2789-96D4-43EA-AAD7-0F49D0347998}</Project>
|
||||
<Name>ProtocolCore</Name>
|
||||
</ProjectReference>
|
||||
<ProjectReference Include="..\..\Hardware\WaterMeter\Genesis\DataPackages\DataPackages.csproj">
|
||||
<Project>{0E524D43-7B66-45CD-AA74-41D51AFC3D99}</Project>
|
||||
<Name>DataPackages</Name>
|
||||
@@ -198,10 +206,6 @@
|
||||
<Project>{04201e95-90a0-4b73-a72f-379739b2a3ae}</Project>
|
||||
<Name>GenesisCore</Name>
|
||||
</ProjectReference>
|
||||
<ProjectReference Include="..\..\Hardware\WaterMeter\Genesis\Protocols\ProtocolCore\ProtocolCore.csproj">
|
||||
<Project>{8BDD2789-96D4-43EA-AAD7-0F49D0347998}</Project>
|
||||
<Name>ProtocolCore</Name>
|
||||
</ProjectReference>
|
||||
<ProjectReference Include="..\..\Hardware\WaterMeter\Genesis\Protocols\RequestProtocol\RequestProtocol.csproj">
|
||||
<Project>{D32ED790-7E1E-435B-8619-9F906C992066}</Project>
|
||||
<Name>RequestProtocol</Name>
|
||||
|
||||
@@ -10,6 +10,7 @@ using System.Runtime.InteropServices;
|
||||
using System.Text;
|
||||
using System.Windows.Forms;
|
||||
using Xylem.Common.CommonCore.Consts;
|
||||
using Xylem.Common.Hardware.Interfaces.Ports.PortCore;
|
||||
using Xylem.Common.Hardware.WaterMeter.Genesis.GenesisConfig;
|
||||
using Xylem.Common.Ui.CordonelPreadjustmentUi.Parameters;
|
||||
using Xylem.Common.Utils.Logging;
|
||||
|
||||
@@ -9,6 +9,7 @@ using System.Threading;
|
||||
using System.Threading.Tasks;
|
||||
using System.Windows.Forms;
|
||||
using Xylem.Common.CommonCore.Configuration;
|
||||
using Xylem.Common.Hardware.Interfaces.Protocols.ProtocolCore.EventArguments;
|
||||
using Xylem.Common.Hardware.WaterMeter.Genesis.DataPackages.EventArguments;
|
||||
using Xylem.Common.Hardware.WaterMeter.Genesis.DataPackages.MeasurementRecords;
|
||||
using Xylem.Common.Hardware.WaterMeter.Genesis.GenesisCore;
|
||||
|
||||
@@ -10,6 +10,7 @@ using System.Threading;
|
||||
using System.Threading.Tasks;
|
||||
using System.Windows.Forms;
|
||||
using Xylem.Common.CommonCore.Configuration;
|
||||
using Xylem.Common.Hardware.Interfaces.Protocols.ProtocolCore.EventArguments;
|
||||
using Xylem.Common.Hardware.WaterMeter.Genesis.DataPackages.EventArguments;
|
||||
using Xylem.Common.Hardware.WaterMeter.Genesis.DataPackages.MeasurementRecords;
|
||||
using Xylem.Common.Hardware.WaterMeter.Genesis.GenesisCore;
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
<?xml version="1.0" encoding="utf-8" ?>
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<configuration>
|
||||
<startup>
|
||||
<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.8" />
|
||||
<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.8"/>
|
||||
</startup>
|
||||
</configuration>
|
||||
+338
@@ -0,0 +1,338 @@
|
||||
namespace Xylem.Common.Ui.MagFluxToolBox
|
||||
{
|
||||
partial class FrmSetup
|
||||
{
|
||||
|
||||
/// <summary>
|
||||
/// Required designer variable.
|
||||
/// </summary>
|
||||
private System.ComponentModel.IContainer components = null;
|
||||
|
||||
/// <summary>
|
||||
/// Clean up any resources being used.
|
||||
/// </summary>
|
||||
/// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
|
||||
protected override void Dispose(bool disposing)
|
||||
{
|
||||
if (disposing && (components != null))
|
||||
{
|
||||
components.Dispose();
|
||||
}
|
||||
base.Dispose(disposing);
|
||||
}
|
||||
|
||||
#region Windows Form Designer generated code
|
||||
|
||||
/// <summary>
|
||||
/// Required method for Designer support - do not modify
|
||||
/// the contents of this method with the code editor.
|
||||
/// </summary>
|
||||
private void InitializeComponent()
|
||||
{
|
||||
this.btnReload = new System.Windows.Forms.Button();
|
||||
this.btnStore = new System.Windows.Forms.Button();
|
||||
this.tabPage4 = new System.Windows.Forms.TabPage();
|
||||
this.lblGlobalCurrentPath = new System.Windows.Forms.Label();
|
||||
this.btnGlobalSearch = new System.Windows.Forms.Button();
|
||||
this.btnGlobalDefaultLan = new System.Windows.Forms.Button();
|
||||
this.btnGlobalDefaultLocal = new System.Windows.Forms.Button();
|
||||
this.label6 = new System.Windows.Forms.Label();
|
||||
this.lblLocalCurrentPath = new System.Windows.Forms.Label();
|
||||
this.btnLocalSearch = new System.Windows.Forms.Button();
|
||||
this.btnLocalDefaultLan = new System.Windows.Forms.Button();
|
||||
this.btnLocalDefaultLocal = new System.Windows.Forms.Button();
|
||||
this.lblLocalPath = new System.Windows.Forms.Label();
|
||||
this.label4 = new System.Windows.Forms.Label();
|
||||
this.label3 = new System.Windows.Forms.Label();
|
||||
this.label2 = new System.Windows.Forms.Label();
|
||||
this.tabPage1 = new System.Windows.Forms.TabPage();
|
||||
this.btnAddRow = new System.Windows.Forms.Button();
|
||||
this.dgvConfig = new System.Windows.Forms.DataGridView();
|
||||
this.tabControl1 = new System.Windows.Forms.TabControl();
|
||||
this.cbxSlot = new System.Windows.Forms.DataGridViewTextBoxColumn();
|
||||
this.cbxRequestPort = new System.Windows.Forms.DataGridViewComboBoxColumn();
|
||||
this.cbxStreamingPort = new System.Windows.Forms.DataGridViewComboBoxColumn();
|
||||
this.tabPage4.SuspendLayout();
|
||||
this.tabPage1.SuspendLayout();
|
||||
((System.ComponentModel.ISupportInitialize)(this.dgvConfig)).BeginInit();
|
||||
this.tabControl1.SuspendLayout();
|
||||
this.SuspendLayout();
|
||||
//
|
||||
// btnReload
|
||||
//
|
||||
this.btnReload.Location = new System.Drawing.Point(12, 12);
|
||||
this.btnReload.Name = "btnReload";
|
||||
this.btnReload.Size = new System.Drawing.Size(140, 43);
|
||||
this.btnReload.TabIndex = 1;
|
||||
this.btnReload.Text = "Reload Setup";
|
||||
this.btnReload.UseVisualStyleBackColor = true;
|
||||
this.btnReload.Click += new System.EventHandler(this.BtnReload_Click);
|
||||
//
|
||||
// btnStore
|
||||
//
|
||||
this.btnStore.Location = new System.Drawing.Point(158, 12);
|
||||
this.btnStore.Name = "btnStore";
|
||||
this.btnStore.Size = new System.Drawing.Size(140, 43);
|
||||
this.btnStore.TabIndex = 2;
|
||||
this.btnStore.Text = "Save Setup";
|
||||
this.btnStore.UseVisualStyleBackColor = true;
|
||||
this.btnStore.Click += new System.EventHandler(this.BtnStore_Click);
|
||||
//
|
||||
// tabPage4
|
||||
//
|
||||
this.tabPage4.Controls.Add(this.lblGlobalCurrentPath);
|
||||
this.tabPage4.Controls.Add(this.btnGlobalSearch);
|
||||
this.tabPage4.Controls.Add(this.btnGlobalDefaultLan);
|
||||
this.tabPage4.Controls.Add(this.btnGlobalDefaultLocal);
|
||||
this.tabPage4.Controls.Add(this.label6);
|
||||
this.tabPage4.Controls.Add(this.lblLocalCurrentPath);
|
||||
this.tabPage4.Controls.Add(this.btnLocalSearch);
|
||||
this.tabPage4.Controls.Add(this.btnLocalDefaultLan);
|
||||
this.tabPage4.Controls.Add(this.btnLocalDefaultLocal);
|
||||
this.tabPage4.Controls.Add(this.lblLocalPath);
|
||||
this.tabPage4.Controls.Add(this.label4);
|
||||
this.tabPage4.Controls.Add(this.label3);
|
||||
this.tabPage4.Controls.Add(this.label2);
|
||||
this.tabPage4.Location = new System.Drawing.Point(4, 22);
|
||||
this.tabPage4.Name = "tabPage4";
|
||||
this.tabPage4.Size = new System.Drawing.Size(760, 361);
|
||||
this.tabPage4.TabIndex = 3;
|
||||
this.tabPage4.Text = "Logging";
|
||||
this.tabPage4.UseVisualStyleBackColor = true;
|
||||
this.tabPage4.Enter += new System.EventHandler(this.tabPage4_Click);
|
||||
//
|
||||
// lblGlobalCurrentPath
|
||||
//
|
||||
this.lblGlobalCurrentPath.AutoSize = true;
|
||||
this.lblGlobalCurrentPath.Location = new System.Drawing.Point(132, 211);
|
||||
this.lblGlobalCurrentPath.Name = "lblGlobalCurrentPath";
|
||||
this.lblGlobalCurrentPath.Size = new System.Drawing.Size(10, 13);
|
||||
this.lblGlobalCurrentPath.TabIndex = 12;
|
||||
this.lblGlobalCurrentPath.Text = "-";
|
||||
//
|
||||
// btnGlobalSearch
|
||||
//
|
||||
this.btnGlobalSearch.Location = new System.Drawing.Point(52, 307);
|
||||
this.btnGlobalSearch.Name = "btnGlobalSearch";
|
||||
this.btnGlobalSearch.Size = new System.Drawing.Size(314, 29);
|
||||
this.btnGlobalSearch.TabIndex = 11;
|
||||
this.btnGlobalSearch.Text = "Search";
|
||||
this.btnGlobalSearch.UseVisualStyleBackColor = true;
|
||||
this.btnGlobalSearch.Click += new System.EventHandler(this.btnGlobalSearch_Click);
|
||||
//
|
||||
// btnGlobalDefaultLan
|
||||
//
|
||||
this.btnGlobalDefaultLan.Location = new System.Drawing.Point(52, 272);
|
||||
this.btnGlobalDefaultLan.Name = "btnGlobalDefaultLan";
|
||||
this.btnGlobalDefaultLan.Size = new System.Drawing.Size(314, 29);
|
||||
this.btnGlobalDefaultLan.TabIndex = 10;
|
||||
this.btnGlobalDefaultLan.Text = "\\\\sla12buma\\MagFlux$\\${machinename}";
|
||||
this.btnGlobalDefaultLan.UseVisualStyleBackColor = true;
|
||||
this.btnGlobalDefaultLan.Click += new System.EventHandler(this.btnGlobalDefaultLan_Click);
|
||||
//
|
||||
// btnGlobalDefaultLocal
|
||||
//
|
||||
this.btnGlobalDefaultLocal.Location = new System.Drawing.Point(52, 237);
|
||||
this.btnGlobalDefaultLocal.Name = "btnGlobalDefaultLocal";
|
||||
this.btnGlobalDefaultLocal.Size = new System.Drawing.Size(314, 29);
|
||||
this.btnGlobalDefaultLocal.TabIndex = 9;
|
||||
this.btnGlobalDefaultLocal.Text = "C:\\MagFluxLog\\";
|
||||
this.btnGlobalDefaultLocal.UseVisualStyleBackColor = true;
|
||||
this.btnGlobalDefaultLocal.Click += new System.EventHandler(this.btnGlobalDefaultLocal_Click);
|
||||
//
|
||||
// label6
|
||||
//
|
||||
this.label6.AutoSize = true;
|
||||
this.label6.Location = new System.Drawing.Point(49, 211);
|
||||
this.label6.Name = "label6";
|
||||
this.label6.Size = new System.Drawing.Size(66, 13);
|
||||
this.label6.TabIndex = 8;
|
||||
this.label6.Text = "CurrentPath:";
|
||||
//
|
||||
// lblLocalCurrentPath
|
||||
//
|
||||
this.lblLocalCurrentPath.AutoSize = true;
|
||||
this.lblLocalCurrentPath.Location = new System.Drawing.Point(132, 57);
|
||||
this.lblLocalCurrentPath.Name = "lblLocalCurrentPath";
|
||||
this.lblLocalCurrentPath.Size = new System.Drawing.Size(10, 13);
|
||||
this.lblLocalCurrentPath.TabIndex = 7;
|
||||
this.lblLocalCurrentPath.Text = "-";
|
||||
//
|
||||
// btnLocalSearch
|
||||
//
|
||||
this.btnLocalSearch.Location = new System.Drawing.Point(52, 153);
|
||||
this.btnLocalSearch.Name = "btnLocalSearch";
|
||||
this.btnLocalSearch.Size = new System.Drawing.Size(314, 29);
|
||||
this.btnLocalSearch.TabIndex = 6;
|
||||
this.btnLocalSearch.Text = "Search";
|
||||
this.btnLocalSearch.UseVisualStyleBackColor = true;
|
||||
this.btnLocalSearch.Click += new System.EventHandler(this.btnLocalSearch_Click);
|
||||
//
|
||||
// btnLocalDefaultLan
|
||||
//
|
||||
this.btnLocalDefaultLan.Location = new System.Drawing.Point(52, 118);
|
||||
this.btnLocalDefaultLan.Name = "btnLocalDefaultLan";
|
||||
this.btnLocalDefaultLan.Size = new System.Drawing.Size(314, 29);
|
||||
this.btnLocalDefaultLan.TabIndex = 5;
|
||||
this.btnLocalDefaultLan.Text = "\\\\sla12buma\\MagFlux$\\${machinename}";
|
||||
this.btnLocalDefaultLan.UseVisualStyleBackColor = true;
|
||||
this.btnLocalDefaultLan.Click += new System.EventHandler(this.btnLocalDefaultLan_Click);
|
||||
//
|
||||
// btnLocalDefaultLocal
|
||||
//
|
||||
this.btnLocalDefaultLocal.Location = new System.Drawing.Point(52, 83);
|
||||
this.btnLocalDefaultLocal.Name = "btnLocalDefaultLocal";
|
||||
this.btnLocalDefaultLocal.Size = new System.Drawing.Size(314, 29);
|
||||
this.btnLocalDefaultLocal.TabIndex = 4;
|
||||
this.btnLocalDefaultLocal.Text = "C:\\MagFluxLog\\";
|
||||
this.btnLocalDefaultLocal.UseVisualStyleBackColor = true;
|
||||
this.btnLocalDefaultLocal.Click += new System.EventHandler(this.btnLocalDefaultLocal_Click);
|
||||
//
|
||||
// lblLocalPath
|
||||
//
|
||||
this.lblLocalPath.AutoSize = true;
|
||||
this.lblLocalPath.Location = new System.Drawing.Point(121, 57);
|
||||
this.lblLocalPath.Name = "lblLocalPath";
|
||||
this.lblLocalPath.Size = new System.Drawing.Size(0, 13);
|
||||
this.lblLocalPath.TabIndex = 3;
|
||||
//
|
||||
// label4
|
||||
//
|
||||
this.label4.AutoSize = true;
|
||||
this.label4.Location = new System.Drawing.Point(49, 57);
|
||||
this.label4.Name = "label4";
|
||||
this.label4.Size = new System.Drawing.Size(66, 13);
|
||||
this.label4.TabIndex = 2;
|
||||
this.label4.Text = "CurrentPath:";
|
||||
//
|
||||
// label3
|
||||
//
|
||||
this.label3.AutoSize = true;
|
||||
this.label3.Location = new System.Drawing.Point(13, 190);
|
||||
this.label3.Name = "label3";
|
||||
this.label3.Size = new System.Drawing.Size(37, 13);
|
||||
this.label3.TabIndex = 1;
|
||||
this.label3.Text = "Global";
|
||||
//
|
||||
// label2
|
||||
//
|
||||
this.label2.AutoSize = true;
|
||||
this.label2.Location = new System.Drawing.Point(13, 32);
|
||||
this.label2.Name = "label2";
|
||||
this.label2.Size = new System.Drawing.Size(103, 13);
|
||||
this.label2.TabIndex = 0;
|
||||
this.label2.Text = "Local (only ToolBox)";
|
||||
//
|
||||
// tabPage1
|
||||
//
|
||||
this.tabPage1.Controls.Add(this.btnAddRow);
|
||||
this.tabPage1.Controls.Add(this.dgvConfig);
|
||||
this.tabPage1.Location = new System.Drawing.Point(4, 22);
|
||||
this.tabPage1.Name = "tabPage1";
|
||||
this.tabPage1.Padding = new System.Windows.Forms.Padding(3);
|
||||
this.tabPage1.Size = new System.Drawing.Size(760, 361);
|
||||
this.tabPage1.TabIndex = 0;
|
||||
this.tabPage1.Text = "Slots";
|
||||
this.tabPage1.UseVisualStyleBackColor = true;
|
||||
//
|
||||
// btnAddRow
|
||||
//
|
||||
this.btnAddRow.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right)));
|
||||
this.btnAddRow.Location = new System.Drawing.Point(6, 255);
|
||||
this.btnAddRow.Name = "btnAddRow";
|
||||
this.btnAddRow.Size = new System.Drawing.Size(199, 29);
|
||||
this.btnAddRow.TabIndex = 5;
|
||||
this.btnAddRow.Text = "Add Slot";
|
||||
this.btnAddRow.UseVisualStyleBackColor = true;
|
||||
this.btnAddRow.Click += new System.EventHandler(this.btnAddRow_Click);
|
||||
//
|
||||
// dgvConfig
|
||||
//
|
||||
this.dgvConfig.AllowUserToAddRows = false;
|
||||
this.dgvConfig.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom)
|
||||
| System.Windows.Forms.AnchorStyles.Left)
|
||||
| System.Windows.Forms.AnchorStyles.Right)));
|
||||
this.dgvConfig.ColumnHeadersHeightSizeMode = System.Windows.Forms.DataGridViewColumnHeadersHeightSizeMode.AutoSize;
|
||||
this.dgvConfig.Columns.AddRange(new System.Windows.Forms.DataGridViewColumn[] {
|
||||
this.cbxSlot,
|
||||
this.cbxRequestPort,
|
||||
this.cbxStreamingPort});
|
||||
this.dgvConfig.Location = new System.Drawing.Point(6, 6);
|
||||
this.dgvConfig.Name = "dgvConfig";
|
||||
this.dgvConfig.Size = new System.Drawing.Size(746, 243);
|
||||
this.dgvConfig.TabIndex = 4;
|
||||
this.dgvConfig.CellContentClick += new System.Windows.Forms.DataGridViewCellEventHandler(this.DgvConfig_CellContentClick);
|
||||
this.dgvConfig.DataError += new System.Windows.Forms.DataGridViewDataErrorEventHandler(this.dgvConfig_DataError);
|
||||
//
|
||||
// tabControl1
|
||||
//
|
||||
this.tabControl1.Controls.Add(this.tabPage1);
|
||||
this.tabControl1.Controls.Add(this.tabPage4);
|
||||
this.tabControl1.Location = new System.Drawing.Point(12, 74);
|
||||
this.tabControl1.Name = "tabControl1";
|
||||
this.tabControl1.SelectedIndex = 0;
|
||||
this.tabControl1.Size = new System.Drawing.Size(768, 387);
|
||||
this.tabControl1.TabIndex = 17;
|
||||
//
|
||||
// cbxSlot
|
||||
//
|
||||
this.cbxSlot.HeaderText = "Slot";
|
||||
this.cbxSlot.Name = "cbxSlot";
|
||||
//
|
||||
// cbxRequestPort
|
||||
//
|
||||
this.cbxRequestPort.HeaderText = "RequestPort";
|
||||
this.cbxRequestPort.Name = "cbxRequestPort";
|
||||
//
|
||||
// cbxStreamingPort
|
||||
//
|
||||
this.cbxStreamingPort.HeaderText = "StreamingPort";
|
||||
this.cbxStreamingPort.Name = "cbxStreamingPort";
|
||||
//
|
||||
// FrmSetup
|
||||
//
|
||||
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
|
||||
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
|
||||
this.ClientSize = new System.Drawing.Size(780, 671);
|
||||
this.Controls.Add(this.tabControl1);
|
||||
this.Controls.Add(this.btnStore);
|
||||
this.Controls.Add(this.btnReload);
|
||||
this.MinimumSize = new System.Drawing.Size(755, 410);
|
||||
this.Name = "FrmSetup";
|
||||
this.Text = "Setup";
|
||||
this.Load += new System.EventHandler(this.FrmSetup_Load);
|
||||
this.tabPage4.ResumeLayout(false);
|
||||
this.tabPage4.PerformLayout();
|
||||
this.tabPage1.ResumeLayout(false);
|
||||
((System.ComponentModel.ISupportInitialize)(this.dgvConfig)).EndInit();
|
||||
this.tabControl1.ResumeLayout(false);
|
||||
this.ResumeLayout(false);
|
||||
|
||||
}
|
||||
|
||||
#endregion
|
||||
private System.Windows.Forms.Button btnReload;
|
||||
private System.Windows.Forms.Button btnStore;
|
||||
private System.Windows.Forms.TabPage tabPage4;
|
||||
private System.Windows.Forms.Label lblGlobalCurrentPath;
|
||||
private System.Windows.Forms.Button btnGlobalSearch;
|
||||
private System.Windows.Forms.Button btnGlobalDefaultLan;
|
||||
private System.Windows.Forms.Button btnGlobalDefaultLocal;
|
||||
private System.Windows.Forms.Label label6;
|
||||
private System.Windows.Forms.Label lblLocalCurrentPath;
|
||||
private System.Windows.Forms.Button btnLocalSearch;
|
||||
private System.Windows.Forms.Button btnLocalDefaultLan;
|
||||
private System.Windows.Forms.Button btnLocalDefaultLocal;
|
||||
private System.Windows.Forms.Label lblLocalPath;
|
||||
private System.Windows.Forms.Label label4;
|
||||
private System.Windows.Forms.Label label3;
|
||||
private System.Windows.Forms.Label label2;
|
||||
private System.Windows.Forms.TabPage tabPage1;
|
||||
private System.Windows.Forms.Button btnAddRow;
|
||||
private System.Windows.Forms.DataGridView dgvConfig;
|
||||
private System.Windows.Forms.TabControl tabControl1;
|
||||
private System.Windows.Forms.DataGridViewTextBoxColumn cbxSlot;
|
||||
private System.Windows.Forms.DataGridViewComboBoxColumn cbxRequestPort;
|
||||
private System.Windows.Forms.DataGridViewComboBoxColumn cbxStreamingPort;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,421 @@
|
||||
using Newtonsoft.Json;
|
||||
using System;
|
||||
using System.Collections.Concurrent;
|
||||
using System.Collections.Generic;
|
||||
using System.Data;
|
||||
using System.IO;
|
||||
using System.IO.Ports;
|
||||
using System.Linq;
|
||||
using System.Windows.Forms;
|
||||
using System.Xml.Linq;
|
||||
using Xylem.Common.CommonCore.Consts;
|
||||
using Xylem.Common.Hardware.Interfaces.Ports.PortCore;
|
||||
using Xylem.Common.Hardware.Interfaces.Ports.SerialPorts;
|
||||
using Xylem.Common.Utils.Logging;
|
||||
|
||||
namespace Xylem.Common.Ui.MagFluxToolBox
|
||||
{
|
||||
/// <summary>
|
||||
/// Setup of GTB
|
||||
/// </summary>
|
||||
public partial class FrmSetup : Form
|
||||
{
|
||||
private const String RequestPortString = "RequestPort";
|
||||
private const String StreamingPortString = "StreamingPort";
|
||||
private const String SlotString = "Slot";
|
||||
private const String ValueString = "Value";
|
||||
private const String TextString = "Text";
|
||||
private String _fileString;
|
||||
private readonly String _serialConfigFile;
|
||||
private readonly DataTable _slotConfigDataTable = new DataTable();
|
||||
|
||||
/// <summary>
|
||||
/// Ctor
|
||||
/// </summary>
|
||||
public FrmSetup()
|
||||
{
|
||||
_serialConfigFile = Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData),
|
||||
"MagFlux", ProgramConfig.SerialConfigFileName);
|
||||
|
||||
//build header of data table for reference by name
|
||||
_slotConfigDataTable.Columns.Add(SlotString, typeof(String));
|
||||
_slotConfigDataTable.Columns.Add(StreamingPortString, typeof(String));
|
||||
_slotConfigDataTable.Columns.Add(RequestPortString, typeof(String));
|
||||
|
||||
InitializeComponent();
|
||||
cbxSlot.Name = SlotString;
|
||||
cbxRequestPort.Name = RequestPortString;
|
||||
cbxStreamingPort.Name = StreamingPortString;
|
||||
|
||||
cbxSlot.HeaderText = SlotString;
|
||||
cbxRequestPort.HeaderText = RequestPortString;
|
||||
cbxStreamingPort.HeaderText = StreamingPortString;
|
||||
|
||||
LoadFromFile();
|
||||
}
|
||||
|
||||
private void BtnReload_Click(Object sender, EventArgs e)
|
||||
{
|
||||
LoadFromFile();
|
||||
}
|
||||
|
||||
private void BtnStore_Click(Object sender, EventArgs e)
|
||||
{
|
||||
StoreToPc();
|
||||
}
|
||||
|
||||
private void StoreToPc()
|
||||
{
|
||||
var newFileContent = new List<SlotConfig>();
|
||||
|
||||
for (var row = 0; row < dgvConfig.Rows.Count; row++)
|
||||
{
|
||||
var slotStr = (String)dgvConfig.Rows[row].Cells[SlotString].Value;
|
||||
int.TryParse(slotStr, out var slot);
|
||||
|
||||
|
||||
var requestPort = new PortConfig()
|
||||
{
|
||||
PortName = (String)dgvConfig.Rows[row].Cells[RequestPortString].Value,
|
||||
Type = typeof(UartSerialPort).FullName
|
||||
};
|
||||
|
||||
var streamingPort = new PortConfig()
|
||||
{
|
||||
PortName = (String)dgvConfig.Rows[row].Cells[StreamingPortString].Value,
|
||||
Type = typeof(UartSerialPort).FullName
|
||||
};
|
||||
|
||||
if (!string.IsNullOrEmpty(slotStr))
|
||||
{
|
||||
newFileContent.Add(new SlotConfig()
|
||||
{
|
||||
Slot = slot, Request = requestPort, Streaming = streamingPort
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
var text = JsonConvert.SerializeObject(newFileContent);
|
||||
// Overwrite only on changed content
|
||||
if (text == _fileString)
|
||||
{
|
||||
LoadFromFile();
|
||||
return;
|
||||
}
|
||||
|
||||
//save file only on changed content
|
||||
if (File.Exists(_serialConfigFile))
|
||||
{
|
||||
var backupSerialConfigFile = $"{Path.GetDirectoryName(_serialConfigFile)}" +
|
||||
$"\\Backup_{DateTime.Now:yyyyMMdd}_{DateTime.Now:HHmmss}" +
|
||||
$"_{ProgramConfig.SerialConfigFileName}";
|
||||
File.Move(_serialConfigFile, backupSerialConfigFile);
|
||||
}
|
||||
|
||||
File.WriteAllText(_serialConfigFile, text);
|
||||
LoadFromFile();
|
||||
}
|
||||
|
||||
private void LoadFromFile()
|
||||
{
|
||||
_slotConfigDataTable.Clear();
|
||||
dgvConfig.Rows.Clear();
|
||||
|
||||
if (!File.Exists(_serialConfigFile))
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
SlotConfig[] meterConfigList;
|
||||
using (var tr = new StreamReader(_serialConfigFile))
|
||||
{
|
||||
_fileString = tr.ReadToEnd();
|
||||
meterConfigList = JsonConvert.DeserializeObject<SlotConfig[]>(_fileString);
|
||||
}
|
||||
|
||||
foreach (var item in meterConfigList)
|
||||
{
|
||||
var row = _slotConfigDataTable.NewRow();
|
||||
row[SlotString] = item.Slot;
|
||||
row[RequestPortString] = item.Request.PortName;
|
||||
row[StreamingPortString] = item.Streaming.PortName;
|
||||
_slotConfigDataTable.Rows.Add(row);
|
||||
}
|
||||
|
||||
foreach (DataRow row in _slotConfigDataTable.Rows)
|
||||
{
|
||||
dgvConfig.Rows.Add(AddRowToGrid(row));
|
||||
}
|
||||
}
|
||||
|
||||
private DataGridViewRow AddRowToGrid(DataRow row = null)
|
||||
{
|
||||
var newRow = new DataGridViewRow();
|
||||
|
||||
var slotCell = new DataGridViewTextBoxCell();
|
||||
newRow.Cells.Add(slotCell);
|
||||
|
||||
var requestPortCell = new DataGridViewComboBoxCell
|
||||
{
|
||||
DataSource = GetPorts(),
|
||||
DisplayMember = TextString,
|
||||
ValueMember = ValueString
|
||||
};
|
||||
newRow.Cells.Add(requestPortCell);
|
||||
|
||||
var streamingPortCell = new DataGridViewComboBoxCell
|
||||
{
|
||||
DataSource = GetPorts(),
|
||||
DisplayMember = TextString,
|
||||
ValueMember = ValueString
|
||||
};
|
||||
newRow.Cells.Add(streamingPortCell);
|
||||
|
||||
if (row == null)
|
||||
{
|
||||
return newRow;
|
||||
}
|
||||
|
||||
slotCell.Value = row[SlotString];
|
||||
streamingPortCell.Value = row[StreamingPortString];
|
||||
requestPortCell.Value = row[RequestPortString];
|
||||
|
||||
return newRow;
|
||||
}
|
||||
|
||||
private DataTable GetPorts()
|
||||
{
|
||||
var ret = new DataTable();
|
||||
ret.Columns.Add(ValueString);
|
||||
ret.Columns.Add(TextString);
|
||||
var portList = SerialPort.GetPortNames().ToList();
|
||||
|
||||
foreach (var item in portList)
|
||||
{
|
||||
ret.Rows.Add(item, item);
|
||||
}
|
||||
|
||||
foreach (DataRow row in _slotConfigDataTable.Rows)
|
||||
{
|
||||
if (portList.All(pl => pl != (String)row[StreamingPortString]))
|
||||
{
|
||||
ret.Rows.Add(row[StreamingPortString].ToString(), BaseSerialPort.PortNotAssigned);
|
||||
}
|
||||
if (portList.All(pl => pl != (String)row[RequestPortString]))
|
||||
{
|
||||
ret.Rows.Add(row[RequestPortString].ToString(), BaseSerialPort.PortNotAssigned);
|
||||
}
|
||||
}
|
||||
|
||||
return ret;
|
||||
}
|
||||
|
||||
|
||||
private static DataTable GetTypes()
|
||||
{
|
||||
var ret = new DataTable();
|
||||
ret.Columns.Add(ValueString);
|
||||
ret.Columns.Add(TextString);
|
||||
|
||||
ret.Rows.Add(typeof(UartSerialPort).FullName, nameof(UartSerialPort));
|
||||
//ret.Rows.Add(typeof(RfidSerialPort).FullName, nameof(RfidSerialPort));
|
||||
//ret.Rows.Add(typeof(IrdaSerialPort).FullName, nameof(IrdaSerialPort));
|
||||
|
||||
return ret;
|
||||
}
|
||||
|
||||
private ConcurrentBag<String> _countRawData = new ConcurrentBag<String>();
|
||||
|
||||
private void DgvConfig_CellContentClick(Object sender, DataGridViewCellEventArgs e)
|
||||
{
|
||||
//if (!dgvConfig.Columns[e.ColumnIndex].Name.Contains(StreamingDetectString) &&
|
||||
// !dgvConfig.Columns[e.ColumnIndex].Name.Contains(RequestDetectString))
|
||||
//{
|
||||
// return;
|
||||
//}
|
||||
|
||||
//StoreToPc();
|
||||
|
||||
//var slotString = (String)dgvConfig.Rows[e.RowIndex].Cells[SlotString].Value;
|
||||
//int.TryParse(slotString, out var slot);
|
||||
|
||||
//using (var mb = new MeterBatch())
|
||||
//{
|
||||
// using (var meter = new GenesisMeter())
|
||||
// {
|
||||
// meter.SetupFromConfigFile(slot, false);
|
||||
// mb.AddMeter(meter);
|
||||
|
||||
// const String checkMark = "\u2714";
|
||||
|
||||
// if (dgvConfig.Columns[e.ColumnIndex].Name.Contains(StreamingDetectString))
|
||||
// {
|
||||
// _countRawData = new ConcurrentBag<String>();
|
||||
|
||||
// meter.StreamingPort.OnRawRecordReceived += delegate (Object o, BasePortDataEventArgs rawMsg)
|
||||
// {
|
||||
// _countRawData.Add((String)rawMsg.GetData());
|
||||
// };
|
||||
|
||||
// Thread.Sleep(500);
|
||||
|
||||
// if (_countRawData.Any())
|
||||
// {
|
||||
// var text = $"SUCCESS\nSlot: {slot}\nStreaming port: {meter.StreamingPort.GetPortName()}\n\n{checkMark}";
|
||||
// MessageBox.Show(text, @"SUCCESS", MessageBoxButtons.OK);
|
||||
// dgvConfig.Rows[e.RowIndex].Cells[StreamingDetectString].Style.BackColor = Color.Green;
|
||||
// }
|
||||
// else
|
||||
// {
|
||||
// var text = $"FAILED\nSlot: {slot}\nStreaming port: {meter.StreamingPort.GetPortName()}";
|
||||
// MessageBox.Show(text, @"FAILED", MessageBoxButtons.OK, MessageBoxIcon.Error);
|
||||
// dgvConfig.Rows[e.RowIndex].Cells[StreamingDetectString].Style.BackColor = Color.Red;
|
||||
// }
|
||||
|
||||
// _countRawData = new ConcurrentBag<String>();
|
||||
// }
|
||||
// else
|
||||
// {
|
||||
// meter.Logout();
|
||||
// var pcbId = meter.GetPcbId();
|
||||
// if (string.IsNullOrEmpty(pcbId))
|
||||
// {
|
||||
// var text = $"FAILED\nSlot: {slot}\nRequest port: {meter.RequestPort.GetPortName()}";
|
||||
// MessageBox.Show(text, @"FAILED", MessageBoxButtons.OK, MessageBoxIcon.Error);
|
||||
// dgvConfig.Rows[e.RowIndex].Cells[RequestDetectString].Style.BackColor = Color.Red;
|
||||
// }
|
||||
// else
|
||||
// {
|
||||
// var text = $"SUCCESS\nSlot: {slot}\nRequest port: {meter.RequestPort.GetPortName()}\n\n{checkMark}";
|
||||
// MessageBox.Show(text, @"SUCCESS", MessageBoxButtons.OK);
|
||||
// dgvConfig.Rows[e.RowIndex].Cells[RequestDetectString].Style.BackColor = Color.Green;
|
||||
// }
|
||||
|
||||
// }
|
||||
|
||||
// }
|
||||
//}
|
||||
}
|
||||
|
||||
|
||||
|
||||
private void dgvConfig_DataError(Object sender, DataGridViewDataErrorEventArgs e)
|
||||
{
|
||||
}
|
||||
|
||||
private void FrmSetup_Load(Object sender, EventArgs e)
|
||||
{
|
||||
}
|
||||
|
||||
private void tabPage4_Click(Object sender, EventArgs e)
|
||||
{
|
||||
try
|
||||
{
|
||||
var path = NLogHelper.GetCurrentApplicationFolder();
|
||||
var a = XElement.Load(path);
|
||||
lblLocalCurrentPath.Text = a.Elements().First(
|
||||
s => s.Name.LocalName == "variable").Attributes().First(
|
||||
s => s.Value == "BasePath").NextAttribute.Value;
|
||||
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
lblLocalCurrentPath.Text = ex.Message;
|
||||
}
|
||||
|
||||
try
|
||||
{
|
||||
var path = NLogHelper.GetApplicationDataPath();
|
||||
var b = XElement.Load(path);
|
||||
lblGlobalCurrentPath.Text = b.Elements().First(
|
||||
s => s.Name.LocalName == "variable").Attributes().First(
|
||||
s => s.Value == "BasePath").NextAttribute.Value;
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
lblGlobalCurrentPath.Text = ex.Message;
|
||||
}
|
||||
}
|
||||
|
||||
private void Add(String path, String newDest)
|
||||
{
|
||||
try
|
||||
{
|
||||
var a = XElement.Load(path);
|
||||
var firstIsVariable = a.Elements().First();
|
||||
if (firstIsVariable.Name.LocalName != "variable")
|
||||
{
|
||||
var newElm = new XElement("variable", null);
|
||||
newElm.SetAttributeValue("name", "BasePath");
|
||||
newElm.SetAttributeValue("value", newDest);
|
||||
a.AddFirst(newElm);
|
||||
}
|
||||
|
||||
else if (a.Elements().First(b => b.Name.LocalName == "variable").Attributes()
|
||||
.All(s => s.Value != "BasePath"))
|
||||
{
|
||||
var newElm = new XElement("variable", null);
|
||||
newElm.SetAttributeValue("name", "BasePath");
|
||||
newElm.SetAttributeValue("value", newDest);
|
||||
a.AddFirst(newElm);
|
||||
}
|
||||
else
|
||||
{
|
||||
a.Elements().First(b => b.Name.LocalName == "variable").Attributes()
|
||||
.First(s => s.Value == "BasePath").NextAttribute.Value = newDest;
|
||||
|
||||
}
|
||||
|
||||
a.Save(path);
|
||||
tabPage4_Click(this, null);
|
||||
}
|
||||
catch (Exception)
|
||||
{
|
||||
// ignore;
|
||||
}
|
||||
}
|
||||
private void btnLocalDefaultLocal_Click(Object sender, EventArgs e)
|
||||
{
|
||||
Add(NLogHelper.GetCurrentApplicationFolder(), "C:\\MagFluxLog\\");
|
||||
|
||||
}
|
||||
|
||||
private void btnLocalDefaultLan_Click(Object sender, EventArgs e)
|
||||
{
|
||||
//Add(NLogHelper.GetCurrentApplicationFolder(), "\\\\sla12buma\\cordonelds$\\${machinename}");
|
||||
}
|
||||
|
||||
private void btnGlobalDefaultLocal_Click(Object sender, EventArgs e)
|
||||
{
|
||||
Add(NLogHelper.GetApplicationDataPath(), "C:\\MagFluxLog\\");
|
||||
}
|
||||
|
||||
private void btnGlobalDefaultLan_Click(Object sender, EventArgs e)
|
||||
{
|
||||
//Add(NLogHelper.GetApplicationDataPath(), "\\\\sla12buma\\cordonelds$\\${{machinename}}");
|
||||
}
|
||||
|
||||
private void btnGlobalSearch_Click(Object sender, EventArgs e)
|
||||
{
|
||||
var dia = new FolderBrowserDialog();
|
||||
|
||||
dia.ShowDialog();
|
||||
|
||||
Add(NLogHelper.GetApplicationDataPath(), dia.SelectedPath);
|
||||
}
|
||||
|
||||
private void btnLocalSearch_Click(Object sender, EventArgs e)
|
||||
{
|
||||
var dia = new FolderBrowserDialog();
|
||||
|
||||
dia.ShowDialog();
|
||||
|
||||
Add(NLogHelper.GetCurrentApplicationFolder(), dia.SelectedPath);
|
||||
}
|
||||
|
||||
private void btnAddRow_Click(Object sender, EventArgs e)
|
||||
{
|
||||
dgvConfig.Rows.Add(AddRowToGrid());
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,129 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<root>
|
||||
<!--
|
||||
Microsoft ResX Schema
|
||||
|
||||
Version 2.0
|
||||
|
||||
The primary goals of this format is to allow a simple XML format
|
||||
that is mostly human readable. The generation and parsing of the
|
||||
various data types are done through the TypeConverter classes
|
||||
associated with the data types.
|
||||
|
||||
Example:
|
||||
|
||||
... ado.net/XML headers & schema ...
|
||||
<resheader name="resmimetype">text/microsoft-resx</resheader>
|
||||
<resheader name="version">2.0</resheader>
|
||||
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
|
||||
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
|
||||
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
|
||||
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
|
||||
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
|
||||
<value>[base64 mime encoded serialized .NET Framework object]</value>
|
||||
</data>
|
||||
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
|
||||
<comment>This is a comment</comment>
|
||||
</data>
|
||||
|
||||
There are any number of "resheader" rows that contain simple
|
||||
name/value pairs.
|
||||
|
||||
Each data row contains a name, and value. The row also contains a
|
||||
type or mimetype. Type corresponds to a .NET class that support
|
||||
text/value conversion through the TypeConverter architecture.
|
||||
Classes that don't support this are serialized and stored with the
|
||||
mimetype set.
|
||||
|
||||
The mimetype is used for serialized objects, and tells the
|
||||
ResXResourceReader how to depersist the object. This is currently not
|
||||
extensible. For a given mimetype the value must be set accordingly:
|
||||
|
||||
Note - application/x-microsoft.net.object.binary.base64 is the format
|
||||
that the ResXResourceWriter will generate, however the reader can
|
||||
read any of the formats listed below.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.binary.base64
|
||||
value : The object must be serialized with
|
||||
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
|
||||
: and then encoded with base64 encoding.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.soap.base64
|
||||
value : The object must be serialized with
|
||||
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
|
||||
: and then encoded with base64 encoding.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.bytearray.base64
|
||||
value : The object must be serialized into a byte array
|
||||
: using a System.ComponentModel.TypeConverter
|
||||
: and then encoded with base64 encoding.
|
||||
-->
|
||||
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
|
||||
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
|
||||
<xsd:element name="root" msdata:IsDataSet="true">
|
||||
<xsd:complexType>
|
||||
<xsd:choice maxOccurs="unbounded">
|
||||
<xsd:element name="metadata">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" use="required" type="xsd:string" />
|
||||
<xsd:attribute name="type" type="xsd:string" />
|
||||
<xsd:attribute name="mimetype" type="xsd:string" />
|
||||
<xsd:attribute ref="xml:space" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="assembly">
|
||||
<xsd:complexType>
|
||||
<xsd:attribute name="alias" type="xsd:string" />
|
||||
<xsd:attribute name="name" type="xsd:string" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="data">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
|
||||
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
|
||||
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
|
||||
<xsd:attribute ref="xml:space" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="resheader">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" type="xsd:string" use="required" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:choice>
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:schema>
|
||||
<resheader name="resmimetype">
|
||||
<value>text/microsoft-resx</value>
|
||||
</resheader>
|
||||
<resheader name="version">
|
||||
<value>2.0</value>
|
||||
</resheader>
|
||||
<resheader name="reader">
|
||||
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<resheader name="writer">
|
||||
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<metadata name="cbxSlot.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>True</value>
|
||||
</metadata>
|
||||
<metadata name="cbxRequestPort.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>True</value>
|
||||
</metadata>
|
||||
<metadata name="cbxStreamingPort.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>True</value>
|
||||
</metadata>
|
||||
</root>
|
||||
+525
@@ -0,0 +1,525 @@
|
||||
namespace Xylem.Common.Ui.MagFluxToolBox
|
||||
{
|
||||
partial class FrmTest
|
||||
{
|
||||
/// <summary>
|
||||
/// Required designer variable.
|
||||
/// </summary>
|
||||
private System.ComponentModel.IContainer components = null;
|
||||
|
||||
/// <summary>
|
||||
/// Clean up any resources being used.
|
||||
/// </summary>
|
||||
/// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
|
||||
protected override void Dispose(bool disposing)
|
||||
{
|
||||
if (disposing && (components != null))
|
||||
{
|
||||
components.Dispose();
|
||||
}
|
||||
base.Dispose(disposing);
|
||||
}
|
||||
|
||||
#region Windows Form Designer generated code
|
||||
|
||||
/// <summary>
|
||||
/// Required method for Designer support - do not modify
|
||||
/// the contents of this method with the code editor.
|
||||
/// </summary>
|
||||
private void InitializeComponent()
|
||||
{
|
||||
this.components = new System.ComponentModel.Container();
|
||||
this.grpSetup = new System.Windows.Forms.GroupBox();
|
||||
this.btnConnect = new System.Windows.Forms.Button();
|
||||
this.label2 = new System.Windows.Forms.Label();
|
||||
this.cbComSlot = new System.Windows.Forms.ComboBox();
|
||||
this.lblSensorNo = new System.Windows.Forms.Label();
|
||||
this.tbxSensorNo = new System.Windows.Forms.TextBox();
|
||||
this.lblWaitingForMeterResponse = new System.Windows.Forms.Label();
|
||||
this.lblOverall = new System.Windows.Forms.Label();
|
||||
this.barSingleProgressUpdate = new System.Windows.Forms.ProgressBar();
|
||||
this.lblActualProcess = new System.Windows.Forms.Label();
|
||||
this.barOverallProgressUpdate = new System.Windows.Forms.ProgressBar();
|
||||
this.tmrProgressUpdate = new System.Windows.Forms.Timer(this.components);
|
||||
this.dlgOpenLuFile = new System.Windows.Forms.OpenFileDialog();
|
||||
this.lblFwUpdateInfo = new System.Windows.Forms.Label();
|
||||
this.openFileDialog1 = new System.Windows.Forms.OpenFileDialog();
|
||||
this.label9 = new System.Windows.Forms.Label();
|
||||
this.lblUpdateTime = new System.Windows.Forms.Label();
|
||||
this.pictureBox1 = new System.Windows.Forms.PictureBox();
|
||||
this.picLogo = new System.Windows.Forms.PictureBox();
|
||||
this.grpMeasurements = new System.Windows.Forms.GroupBox();
|
||||
this.tbxVolume = new System.Windows.Forms.TextBox();
|
||||
this.tbxFlowRate = new System.Windows.Forms.TextBox();
|
||||
this.label7 = new System.Windows.Forms.Label();
|
||||
this.label11 = new System.Windows.Forms.Label();
|
||||
this.tbxUniqueId = new System.Windows.Forms.TextBox();
|
||||
this.lblUniqueId = new System.Windows.Forms.Label();
|
||||
this.grpInfo = new System.Windows.Forms.GroupBox();
|
||||
this.lblSensorId = new System.Windows.Forms.Label();
|
||||
this.tbxStatus = new System.Windows.Forms.TextBox();
|
||||
this.lblStatus = new System.Windows.Forms.Label();
|
||||
this.lblFwVersion = new System.Windows.Forms.Label();
|
||||
this.tbxFwVersion = new System.Windows.Forms.TextBox();
|
||||
this.lblFwBuildDate = new System.Windows.Forms.Label();
|
||||
this.tbxFwBuildDate = new System.Windows.Forms.TextBox();
|
||||
this.lblFwGitHash = new System.Windows.Forms.Label();
|
||||
this.tbxFwGitHash = new System.Windows.Forms.TextBox();
|
||||
this.lblMeterSize = new System.Windows.Forms.Label();
|
||||
this.tbxMeterSize = new System.Windows.Forms.TextBox();
|
||||
this.grpSetup.SuspendLayout();
|
||||
((System.ComponentModel.ISupportInitialize)(this.pictureBox1)).BeginInit();
|
||||
((System.ComponentModel.ISupportInitialize)(this.picLogo)).BeginInit();
|
||||
this.grpMeasurements.SuspendLayout();
|
||||
this.grpInfo.SuspendLayout();
|
||||
this.SuspendLayout();
|
||||
//
|
||||
// grpSetup
|
||||
//
|
||||
this.grpSetup.Controls.Add(this.btnConnect);
|
||||
this.grpSetup.Controls.Add(this.label2);
|
||||
this.grpSetup.Controls.Add(this.cbComSlot);
|
||||
this.grpSetup.Controls.Add(this.lblSensorNo);
|
||||
this.grpSetup.Location = new System.Drawing.Point(100, -1);
|
||||
this.grpSetup.Name = "grpSetup";
|
||||
this.grpSetup.Size = new System.Drawing.Size(214, 102);
|
||||
this.grpSetup.TabIndex = 24;
|
||||
this.grpSetup.TabStop = false;
|
||||
this.grpSetup.Text = "Setup";
|
||||
//
|
||||
// btnConnect
|
||||
//
|
||||
this.btnConnect.Location = new System.Drawing.Point(86, 71);
|
||||
this.btnConnect.Name = "btnConnect";
|
||||
this.btnConnect.Size = new System.Drawing.Size(116, 25);
|
||||
this.btnConnect.TabIndex = 24;
|
||||
this.btnConnect.Text = "Connect";
|
||||
this.btnConnect.UseVisualStyleBackColor = true;
|
||||
this.btnConnect.Click += new System.EventHandler(this.btnConnect_Click);
|
||||
//
|
||||
// label2
|
||||
//
|
||||
this.label2.AutoSize = true;
|
||||
this.label2.Location = new System.Drawing.Point(9, 77);
|
||||
this.label2.Name = "label2";
|
||||
this.label2.Size = new System.Drawing.Size(28, 13);
|
||||
this.label2.TabIndex = 20;
|
||||
this.label2.Text = "Slot:";
|
||||
//
|
||||
// cbComSlot
|
||||
//
|
||||
this.cbComSlot.FormattingEnabled = true;
|
||||
this.cbComSlot.Items.AddRange(new object[] {
|
||||
"1",
|
||||
"2",
|
||||
"3",
|
||||
"4",
|
||||
"5",
|
||||
"6",
|
||||
"7",
|
||||
"8",
|
||||
"9",
|
||||
"10",
|
||||
"11",
|
||||
"12",
|
||||
"13",
|
||||
"14",
|
||||
"15",
|
||||
"16",
|
||||
"17",
|
||||
"18",
|
||||
"19",
|
||||
"20"});
|
||||
this.cbComSlot.Location = new System.Drawing.Point(43, 73);
|
||||
this.cbComSlot.Name = "cbComSlot";
|
||||
this.cbComSlot.Size = new System.Drawing.Size(37, 21);
|
||||
this.cbComSlot.TabIndex = 5;
|
||||
this.cbComSlot.Text = "1";
|
||||
this.cbComSlot.SelectedIndexChanged += new System.EventHandler(this.cbComSlot_SelectedIndexChanged);
|
||||
//
|
||||
// lblSensorNo
|
||||
//
|
||||
this.lblSensorNo.AutoSize = true;
|
||||
this.lblSensorNo.Location = new System.Drawing.Point(9, 20);
|
||||
this.lblSensorNo.Name = "lblSensorNo";
|
||||
this.lblSensorNo.Size = new System.Drawing.Size(33, 13);
|
||||
this.lblSensorNo.TabIndex = 23;
|
||||
this.lblSensorNo.Text = "NOT ";
|
||||
//
|
||||
// tbxSensorNo
|
||||
//
|
||||
this.tbxSensorNo.Location = new System.Drawing.Point(103, 45);
|
||||
this.tbxSensorNo.Name = "tbxSensorNo";
|
||||
this.tbxSensorNo.ReadOnly = true;
|
||||
this.tbxSensorNo.Size = new System.Drawing.Size(116, 20);
|
||||
this.tbxSensorNo.TabIndex = 32;
|
||||
//
|
||||
// lblWaitingForMeterResponse
|
||||
//
|
||||
this.lblWaitingForMeterResponse.AutoSize = true;
|
||||
this.lblWaitingForMeterResponse.ForeColor = System.Drawing.Color.Red;
|
||||
this.lblWaitingForMeterResponse.Location = new System.Drawing.Point(529, 351);
|
||||
this.lblWaitingForMeterResponse.Name = "lblWaitingForMeterResponse";
|
||||
this.lblWaitingForMeterResponse.Size = new System.Drawing.Size(182, 13);
|
||||
this.lblWaitingForMeterResponse.TabIndex = 18;
|
||||
this.lblWaitingForMeterResponse.Text = "WAITING FOR METER RESPONSE";
|
||||
//
|
||||
// lblOverall
|
||||
//
|
||||
this.lblOverall.AutoSize = true;
|
||||
this.lblOverall.Location = new System.Drawing.Point(18, 388);
|
||||
this.lblOverall.Name = "lblOverall";
|
||||
this.lblOverall.Size = new System.Drawing.Size(80, 13);
|
||||
this.lblOverall.TabIndex = 7;
|
||||
this.lblOverall.Text = "Overall process";
|
||||
//
|
||||
// barSingleProgressUpdate
|
||||
//
|
||||
this.barSingleProgressUpdate.Location = new System.Drawing.Point(9, 367);
|
||||
this.barSingleProgressUpdate.Name = "barSingleProgressUpdate";
|
||||
this.barSingleProgressUpdate.Size = new System.Drawing.Size(702, 18);
|
||||
this.barSingleProgressUpdate.TabIndex = 6;
|
||||
this.barSingleProgressUpdate.Visible = false;
|
||||
//
|
||||
// lblActualProcess
|
||||
//
|
||||
this.lblActualProcess.AutoSize = true;
|
||||
this.lblActualProcess.Location = new System.Drawing.Point(18, 351);
|
||||
this.lblActualProcess.Name = "lblActualProcess";
|
||||
this.lblActualProcess.Size = new System.Drawing.Size(76, 13);
|
||||
this.lblActualProcess.TabIndex = 4;
|
||||
this.lblActualProcess.Text = "Process status";
|
||||
//
|
||||
// barOverallProgressUpdate
|
||||
//
|
||||
this.barOverallProgressUpdate.Location = new System.Drawing.Point(9, 404);
|
||||
this.barOverallProgressUpdate.Name = "barOverallProgressUpdate";
|
||||
this.barOverallProgressUpdate.Size = new System.Drawing.Size(702, 18);
|
||||
this.barOverallProgressUpdate.TabIndex = 3;
|
||||
this.barOverallProgressUpdate.Visible = false;
|
||||
//
|
||||
// tmrProgressUpdate
|
||||
//
|
||||
this.tmrProgressUpdate.Interval = 200;
|
||||
this.tmrProgressUpdate.Tick += new System.EventHandler(this.tmrProgressUpdate_Tick);
|
||||
//
|
||||
// dlgOpenLuFile
|
||||
//
|
||||
this.dlgOpenLuFile.Filter = "metrology lookup tables (*.lut)|*.lut";
|
||||
//
|
||||
// lblFwUpdateInfo
|
||||
//
|
||||
this.lblFwUpdateInfo.AutoSize = true;
|
||||
this.lblFwUpdateInfo.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
|
||||
this.lblFwUpdateInfo.Location = new System.Drawing.Point(623, 66);
|
||||
this.lblFwUpdateInfo.Name = "lblFwUpdateInfo";
|
||||
this.lblFwUpdateInfo.Size = new System.Drawing.Size(72, 13);
|
||||
this.lblFwUpdateInfo.TabIndex = 27;
|
||||
this.lblFwUpdateInfo.Text = "Version: 0.0.0";
|
||||
//
|
||||
// openFileDialog1
|
||||
//
|
||||
this.openFileDialog1.FileName = "openFileDialog1";
|
||||
//
|
||||
// label9
|
||||
//
|
||||
this.label9.AutoSize = true;
|
||||
this.label9.Location = new System.Drawing.Point(247, 351);
|
||||
this.label9.Name = "label9";
|
||||
this.label9.Size = new System.Drawing.Size(101, 13);
|
||||
this.label9.TabIndex = 30;
|
||||
this.label9.Text = "UpdateTime [min:s]:";
|
||||
//
|
||||
// lblUpdateTime
|
||||
//
|
||||
this.lblUpdateTime.AutoSize = true;
|
||||
this.lblUpdateTime.Location = new System.Drawing.Point(354, 351);
|
||||
this.lblUpdateTime.Name = "lblUpdateTime";
|
||||
this.lblUpdateTime.Size = new System.Drawing.Size(28, 13);
|
||||
this.lblUpdateTime.TabIndex = 31;
|
||||
this.lblUpdateTime.Text = "0:00";
|
||||
//
|
||||
// pictureBox1
|
||||
//
|
||||
this.pictureBox1.BorderStyle = System.Windows.Forms.BorderStyle.Fixed3D;
|
||||
this.pictureBox1.Image = global::Xylem.Common.Ui.MagFluxToolBox.Properties.Resources.MagFluxVerySmall;
|
||||
this.pictureBox1.Location = new System.Drawing.Point(9, 5);
|
||||
this.pictureBox1.Name = "pictureBox1";
|
||||
this.pictureBox1.Size = new System.Drawing.Size(85, 96);
|
||||
this.pictureBox1.TabIndex = 33;
|
||||
this.pictureBox1.TabStop = false;
|
||||
//
|
||||
// picLogo
|
||||
//
|
||||
this.picLogo.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
|
||||
this.picLogo.Image = global::Xylem.Common.Ui.MagFluxToolBox.Properties.Resources.MjK_LogoSmall;
|
||||
this.picLogo.InitialImage = null;
|
||||
this.picLogo.Location = new System.Drawing.Point(620, 5);
|
||||
this.picLogo.Name = "picLogo";
|
||||
this.picLogo.Size = new System.Drawing.Size(91, 58);
|
||||
this.picLogo.TabIndex = 34;
|
||||
this.picLogo.TabStop = false;
|
||||
//
|
||||
// grpMeasurements
|
||||
//
|
||||
this.grpMeasurements.Controls.Add(this.tbxStatus);
|
||||
this.grpMeasurements.Controls.Add(this.lblStatus);
|
||||
this.grpMeasurements.Controls.Add(this.tbxVolume);
|
||||
this.grpMeasurements.Controls.Add(this.tbxFlowRate);
|
||||
this.grpMeasurements.Controls.Add(this.label7);
|
||||
this.grpMeasurements.Controls.Add(this.label11);
|
||||
this.grpMeasurements.Location = new System.Drawing.Point(320, -1);
|
||||
this.grpMeasurements.Name = "grpMeasurements";
|
||||
this.grpMeasurements.Size = new System.Drawing.Size(203, 102);
|
||||
this.grpMeasurements.TabIndex = 37;
|
||||
this.grpMeasurements.TabStop = false;
|
||||
this.grpMeasurements.Text = "Measurements";
|
||||
//
|
||||
// tbxVolume
|
||||
//
|
||||
this.tbxVolume.Location = new System.Drawing.Point(114, 17);
|
||||
this.tbxVolume.Name = "tbxVolume";
|
||||
this.tbxVolume.ReadOnly = true;
|
||||
this.tbxVolume.Size = new System.Drawing.Size(68, 20);
|
||||
this.tbxVolume.TabIndex = 31;
|
||||
//
|
||||
// tbxFlowRate
|
||||
//
|
||||
this.tbxFlowRate.Location = new System.Drawing.Point(114, 47);
|
||||
this.tbxFlowRate.Name = "tbxFlowRate";
|
||||
this.tbxFlowRate.ReadOnly = true;
|
||||
this.tbxFlowRate.Size = new System.Drawing.Size(68, 20);
|
||||
this.tbxFlowRate.TabIndex = 29;
|
||||
//
|
||||
// label7
|
||||
//
|
||||
this.label7.AutoSize = true;
|
||||
this.label7.Location = new System.Drawing.Point(6, 50);
|
||||
this.label7.Name = "label7";
|
||||
this.label7.Size = new System.Drawing.Size(89, 13);
|
||||
this.label7.TabIndex = 27;
|
||||
this.label7.Text = "Flow Rate [m²/h]:";
|
||||
//
|
||||
// label11
|
||||
//
|
||||
this.label11.AutoSize = true;
|
||||
this.label11.Location = new System.Drawing.Point(6, 20);
|
||||
this.label11.Name = "label11";
|
||||
this.label11.Size = new System.Drawing.Size(65, 13);
|
||||
this.label11.TabIndex = 25;
|
||||
this.label11.Text = "Volume [m²]:";
|
||||
//
|
||||
// tbxUniqueId
|
||||
//
|
||||
this.tbxUniqueId.Location = new System.Drawing.Point(103, 20);
|
||||
this.tbxUniqueId.Name = "tbxUniqueId";
|
||||
this.tbxUniqueId.ReadOnly = true;
|
||||
this.tbxUniqueId.Size = new System.Drawing.Size(190, 20);
|
||||
this.tbxUniqueId.TabIndex = 34;
|
||||
//
|
||||
// lblUniqueId
|
||||
//
|
||||
this.lblUniqueId.AutoSize = true;
|
||||
this.lblUniqueId.Location = new System.Drawing.Point(3, 23);
|
||||
this.lblUniqueId.Name = "lblUniqueId";
|
||||
this.lblUniqueId.Size = new System.Drawing.Size(58, 13);
|
||||
this.lblUniqueId.TabIndex = 35;
|
||||
this.lblUniqueId.Text = "Unique ID:";
|
||||
//
|
||||
// grpInfo
|
||||
//
|
||||
this.grpInfo.Controls.Add(this.lblMeterSize);
|
||||
this.grpInfo.Controls.Add(this.tbxMeterSize);
|
||||
this.grpInfo.Controls.Add(this.lblFwGitHash);
|
||||
this.grpInfo.Controls.Add(this.tbxFwGitHash);
|
||||
this.grpInfo.Controls.Add(this.lblFwBuildDate);
|
||||
this.grpInfo.Controls.Add(this.tbxFwBuildDate);
|
||||
this.grpInfo.Controls.Add(this.lblFwVersion);
|
||||
this.grpInfo.Controls.Add(this.tbxFwVersion);
|
||||
this.grpInfo.Controls.Add(this.lblSensorId);
|
||||
this.grpInfo.Controls.Add(this.tbxUniqueId);
|
||||
this.grpInfo.Controls.Add(this.tbxSensorNo);
|
||||
this.grpInfo.Controls.Add(this.lblUniqueId);
|
||||
this.grpInfo.Location = new System.Drawing.Point(9, 107);
|
||||
this.grpInfo.Name = "grpInfo";
|
||||
this.grpInfo.Size = new System.Drawing.Size(305, 232);
|
||||
this.grpInfo.TabIndex = 25;
|
||||
this.grpInfo.TabStop = false;
|
||||
this.grpInfo.Text = "Info";
|
||||
//
|
||||
// lblSensorId
|
||||
//
|
||||
this.lblSensorId.AutoSize = true;
|
||||
this.lblSensorId.Location = new System.Drawing.Point(4, 48);
|
||||
this.lblSensorId.Name = "lblSensorId";
|
||||
this.lblSensorId.Size = new System.Drawing.Size(57, 13);
|
||||
this.lblSensorId.TabIndex = 36;
|
||||
this.lblSensorId.Text = "Sensor ID:";
|
||||
//
|
||||
// tbxStatus
|
||||
//
|
||||
this.tbxStatus.Location = new System.Drawing.Point(114, 74);
|
||||
this.tbxStatus.Name = "tbxStatus";
|
||||
this.tbxStatus.ReadOnly = true;
|
||||
this.tbxStatus.Size = new System.Drawing.Size(68, 20);
|
||||
this.tbxStatus.TabIndex = 33;
|
||||
//
|
||||
// lblStatus
|
||||
//
|
||||
this.lblStatus.AutoSize = true;
|
||||
this.lblStatus.Location = new System.Drawing.Point(6, 77);
|
||||
this.lblStatus.Name = "lblStatus";
|
||||
this.lblStatus.Size = new System.Drawing.Size(40, 13);
|
||||
this.lblStatus.TabIndex = 32;
|
||||
this.lblStatus.Text = "Status:";
|
||||
//
|
||||
// lblFwVersion
|
||||
//
|
||||
this.lblFwVersion.AutoSize = true;
|
||||
this.lblFwVersion.Location = new System.Drawing.Point(4, 73);
|
||||
this.lblFwVersion.Name = "lblFwVersion";
|
||||
this.lblFwVersion.Size = new System.Drawing.Size(65, 13);
|
||||
this.lblFwVersion.TabIndex = 38;
|
||||
this.lblFwVersion.Text = "FW Version:";
|
||||
//
|
||||
// tbxFwVersion
|
||||
//
|
||||
this.tbxFwVersion.Location = new System.Drawing.Point(103, 70);
|
||||
this.tbxFwVersion.Name = "tbxFwVersion";
|
||||
this.tbxFwVersion.ReadOnly = true;
|
||||
this.tbxFwVersion.Size = new System.Drawing.Size(116, 20);
|
||||
this.tbxFwVersion.TabIndex = 37;
|
||||
//
|
||||
// lblFwBuildDate
|
||||
//
|
||||
this.lblFwBuildDate.AutoSize = true;
|
||||
this.lblFwBuildDate.Location = new System.Drawing.Point(4, 98);
|
||||
this.lblFwBuildDate.Name = "lblFwBuildDate";
|
||||
this.lblFwBuildDate.Size = new System.Drawing.Size(79, 13);
|
||||
this.lblFwBuildDate.TabIndex = 40;
|
||||
this.lblFwBuildDate.Text = "FW Build Date:";
|
||||
//
|
||||
// tbxFwBuildDate
|
||||
//
|
||||
this.tbxFwBuildDate.Location = new System.Drawing.Point(103, 95);
|
||||
this.tbxFwBuildDate.Name = "tbxFwBuildDate";
|
||||
this.tbxFwBuildDate.ReadOnly = true;
|
||||
this.tbxFwBuildDate.Size = new System.Drawing.Size(116, 20);
|
||||
this.tbxFwBuildDate.TabIndex = 39;
|
||||
//
|
||||
// lblFwGitHash
|
||||
//
|
||||
this.lblFwGitHash.AutoSize = true;
|
||||
this.lblFwGitHash.Location = new System.Drawing.Point(6, 123);
|
||||
this.lblFwGitHash.Name = "lblFwGitHash";
|
||||
this.lblFwGitHash.Size = new System.Drawing.Size(76, 13);
|
||||
this.lblFwGitHash.TabIndex = 42;
|
||||
this.lblFwGitHash.Text = "FW GIT Hash:";
|
||||
//
|
||||
// tbxFwGitHash
|
||||
//
|
||||
this.tbxFwGitHash.Location = new System.Drawing.Point(103, 120);
|
||||
this.tbxFwGitHash.Name = "tbxFwGitHash";
|
||||
this.tbxFwGitHash.ReadOnly = true;
|
||||
this.tbxFwGitHash.Size = new System.Drawing.Size(116, 20);
|
||||
this.tbxFwGitHash.TabIndex = 41;
|
||||
//
|
||||
// lblMeterSize
|
||||
//
|
||||
this.lblMeterSize.AutoSize = true;
|
||||
this.lblMeterSize.Location = new System.Drawing.Point(4, 148);
|
||||
this.lblMeterSize.Name = "lblMeterSize";
|
||||
this.lblMeterSize.Size = new System.Drawing.Size(85, 13);
|
||||
this.lblMeterSize.TabIndex = 44;
|
||||
this.lblMeterSize.Text = "Meter Size [DN]:";
|
||||
//
|
||||
// tbxMeterSize
|
||||
//
|
||||
this.tbxMeterSize.Location = new System.Drawing.Point(103, 145);
|
||||
this.tbxMeterSize.Name = "tbxMeterSize";
|
||||
this.tbxMeterSize.ReadOnly = true;
|
||||
this.tbxMeterSize.Size = new System.Drawing.Size(116, 20);
|
||||
this.tbxMeterSize.TabIndex = 43;
|
||||
//
|
||||
// FrmTest
|
||||
//
|
||||
this.AccessibleRole = System.Windows.Forms.AccessibleRole.Sound;
|
||||
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
|
||||
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
|
||||
this.ClientSize = new System.Drawing.Size(723, 432);
|
||||
this.Controls.Add(this.grpInfo);
|
||||
this.Controls.Add(this.grpMeasurements);
|
||||
this.Controls.Add(this.picLogo);
|
||||
this.Controls.Add(this.lblUpdateTime);
|
||||
this.Controls.Add(this.label9);
|
||||
this.Controls.Add(this.pictureBox1);
|
||||
this.Controls.Add(this.lblWaitingForMeterResponse);
|
||||
this.Controls.Add(this.lblOverall);
|
||||
this.Controls.Add(this.lblFwUpdateInfo);
|
||||
this.Controls.Add(this.barSingleProgressUpdate);
|
||||
this.Controls.Add(this.lblActualProcess);
|
||||
this.Controls.Add(this.grpSetup);
|
||||
this.Controls.Add(this.barOverallProgressUpdate);
|
||||
this.MaximizeBox = false;
|
||||
this.MaximumSize = new System.Drawing.Size(739, 500);
|
||||
this.MinimizeBox = false;
|
||||
this.MinimumSize = new System.Drawing.Size(739, 405);
|
||||
this.Name = "FrmTest";
|
||||
this.Text = "MagFlux Test";
|
||||
this.FormClosing += new System.Windows.Forms.FormClosingEventHandler(this.FrmTest_FormClosing);
|
||||
this.Load += new System.EventHandler(this.FrmTest_Load);
|
||||
this.grpSetup.ResumeLayout(false);
|
||||
this.grpSetup.PerformLayout();
|
||||
((System.ComponentModel.ISupportInitialize)(this.pictureBox1)).EndInit();
|
||||
((System.ComponentModel.ISupportInitialize)(this.picLogo)).EndInit();
|
||||
this.grpMeasurements.ResumeLayout(false);
|
||||
this.grpMeasurements.PerformLayout();
|
||||
this.grpInfo.ResumeLayout(false);
|
||||
this.grpInfo.PerformLayout();
|
||||
this.ResumeLayout(false);
|
||||
this.PerformLayout();
|
||||
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
private System.Windows.Forms.GroupBox grpSetup;
|
||||
private System.Windows.Forms.Button btnConnect;
|
||||
private System.Windows.Forms.Label lblSensorNo;
|
||||
private System.Windows.Forms.Label label2;
|
||||
private System.Windows.Forms.ComboBox cbComSlot;
|
||||
private System.Windows.Forms.ProgressBar barOverallProgressUpdate;
|
||||
private System.Windows.Forms.Timer tmrProgressUpdate;
|
||||
private System.Windows.Forms.Label lblActualProcess;
|
||||
private System.Windows.Forms.Label lblOverall;
|
||||
private System.Windows.Forms.ProgressBar barSingleProgressUpdate;
|
||||
private System.Windows.Forms.OpenFileDialog dlgOpenLuFile;
|
||||
private System.Windows.Forms.Label lblFwUpdateInfo;
|
||||
private System.Windows.Forms.OpenFileDialog openFileDialog1;
|
||||
private System.Windows.Forms.Label lblWaitingForMeterResponse;
|
||||
private System.Windows.Forms.Label label9;
|
||||
private System.Windows.Forms.Label lblUpdateTime;
|
||||
private System.Windows.Forms.TextBox tbxSensorNo;
|
||||
private System.Windows.Forms.PictureBox pictureBox1;
|
||||
private System.Windows.Forms.PictureBox picLogo;
|
||||
private System.Windows.Forms.GroupBox grpMeasurements;
|
||||
private System.Windows.Forms.TextBox tbxVolume;
|
||||
private System.Windows.Forms.TextBox tbxFlowRate;
|
||||
private System.Windows.Forms.Label label7;
|
||||
private System.Windows.Forms.Label label11;
|
||||
private System.Windows.Forms.TextBox tbxUniqueId;
|
||||
private System.Windows.Forms.Label lblUniqueId;
|
||||
private System.Windows.Forms.GroupBox grpInfo;
|
||||
private System.Windows.Forms.Label lblSensorId;
|
||||
private System.Windows.Forms.TextBox tbxStatus;
|
||||
private System.Windows.Forms.Label lblStatus;
|
||||
private System.Windows.Forms.Label lblMeterSize;
|
||||
private System.Windows.Forms.TextBox tbxMeterSize;
|
||||
private System.Windows.Forms.Label lblFwGitHash;
|
||||
private System.Windows.Forms.TextBox tbxFwGitHash;
|
||||
private System.Windows.Forms.Label lblFwBuildDate;
|
||||
private System.Windows.Forms.TextBox tbxFwBuildDate;
|
||||
private System.Windows.Forms.Label lblFwVersion;
|
||||
private System.Windows.Forms.TextBox tbxFwVersion;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,576 @@
|
||||
using System;
|
||||
using System.Drawing;
|
||||
using System.Globalization;
|
||||
using System.Reflection;
|
||||
using System.Threading;
|
||||
using System.Threading.Tasks;
|
||||
using System.Windows.Forms;
|
||||
using Xylem.Common.Hardware.WaterMeter.MagFlux.DataPackages.EventArguments;
|
||||
using Xylem.Common.Hardware.WaterMeter.MagFlux.MagFluxCore;
|
||||
using Xylem.Common.Hardware.WaterMeter.WaterMeterCore;
|
||||
using Xylem.Common.Utils.ProcessExec.EventArguments;
|
||||
|
||||
|
||||
namespace Xylem.Common.Ui.MagFluxToolBox
|
||||
{
|
||||
/// <summary>
|
||||
/// Test form for MagFlux operation
|
||||
/// </summary>
|
||||
public partial class FrmTest : Form
|
||||
{
|
||||
#region Variables
|
||||
private readonly MeterBatch _meterBatch = new MeterBatch();
|
||||
private MagFluxMeter _magFluxMeter;
|
||||
private const String StrConnecting = "Connecting to PCB";
|
||||
private const String StrNotConnected = "NOT CONNECTED";
|
||||
private const String StrOverallProcess = "Overall Process";
|
||||
|
||||
private String _lastState;
|
||||
private Int32 _lastSingleProgress;
|
||||
private DateTimeOffset _startTime;
|
||||
private Boolean _resetTimeMeasurement;
|
||||
private readonly Boolean _updateGui = true;
|
||||
|
||||
private Boolean _tryConnectPcb;
|
||||
|
||||
// external update remarks form
|
||||
// private readonly FrmHistory _frmHistory = new FrmHistory();
|
||||
|
||||
private readonly Version _version;
|
||||
|
||||
// marker for initial connection to update information just needed once
|
||||
private Boolean _initialConnect;
|
||||
|
||||
// status information
|
||||
private static readonly Color ColorDefault = Color.Black;
|
||||
private static readonly Color ColorSuccess = Color.Green;
|
||||
private static readonly Color ColorProcessFailed = Color.Red;
|
||||
//private static readonly Color ColorOngoingProcess = Color.Blue;
|
||||
//private static readonly Color ColorUnknownStatus = Color.Gray;
|
||||
//private const String SuccessSign = @"✔";
|
||||
//private const String FailedSign = @"✘";
|
||||
|
||||
private const String StrSeparator = "-----------------------------------------------------" +
|
||||
"-----------------------------------------------------";
|
||||
#endregion
|
||||
|
||||
#region FormControls
|
||||
/// <summary>
|
||||
/// Ctor FW update
|
||||
/// </summary>
|
||||
public FrmTest()
|
||||
{
|
||||
InitializeComponent();
|
||||
var cultureInfo = new CultureInfo("en-GB");
|
||||
Thread.CurrentThread.CurrentUICulture = cultureInfo;
|
||||
Thread.CurrentThread.CurrentCulture = cultureInfo;
|
||||
_version = Assembly.GetExecutingAssembly().GetName().Version;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Clear data table and set genesis to not connected
|
||||
/// </summary>
|
||||
private void Init()
|
||||
{
|
||||
ProcessViewControl(false);
|
||||
lblSensorNo.Text = StrNotConnected;
|
||||
lblSensorNo.ForeColor = Color.Red;
|
||||
lblWaitingForMeterResponse.Visible = false;
|
||||
btnConnect.Enabled = true;
|
||||
SetControlDownloadsLocked();
|
||||
_initialConnect = true;
|
||||
}
|
||||
|
||||
private void FrmTest_Load(Object sender, EventArgs e)
|
||||
{
|
||||
var version = Assembly.GetExecutingAssembly().GetName().Version;
|
||||
lblFwUpdateInfo.Text = $@"Version: {version.Major}.{version.Minor}.{version.Build}";
|
||||
_resetTimeMeasurement = true;
|
||||
Init();
|
||||
|
||||
LogText($"MagFluxToolBox: {_version.Major}.{_version.Minor}.{_version.Build}");
|
||||
LogText(StrSeparator);
|
||||
}
|
||||
|
||||
private void FrmTest_FormClosing(Object sender, FormClosingEventArgs e)
|
||||
{
|
||||
_magFluxMeter.OnStreamingRecordDecoded -= StreamingCatcher_OnStreamingRecordDecoded;
|
||||
_magFluxMeter?.Logout();
|
||||
_magFluxMeter?.StopStreamingCatcher();
|
||||
_meterBatch?.RemoveAllMeters();
|
||||
_meterBatch?.Dispose();
|
||||
|
||||
Dispose();
|
||||
}
|
||||
|
||||
private void cbComSlot_SelectedIndexChanged(Object sender, EventArgs e)
|
||||
{
|
||||
_resetTimeMeasurement = true;
|
||||
Init();
|
||||
}
|
||||
#endregion
|
||||
#region ActivationControls
|
||||
|
||||
private void SetControlDownloadsLocked()
|
||||
{
|
||||
btnConnect.Enabled = true;
|
||||
}
|
||||
|
||||
private void SetControlsDownloadIsOngoing()
|
||||
{
|
||||
btnConnect.Enabled = false;
|
||||
}
|
||||
|
||||
private void SetControlsDownloadIsFinished()
|
||||
{
|
||||
btnConnect.Enabled = true;
|
||||
}
|
||||
private void SetControlsDownloadEnabled()
|
||||
{
|
||||
btnConnect.Enabled = true;
|
||||
}
|
||||
#endregion
|
||||
|
||||
#region BoardControls
|
||||
|
||||
/// <summary>
|
||||
/// Cyclic execution of catcher on incoming events.
|
||||
/// </summary>
|
||||
/// <param name="sender"></param>
|
||||
/// <param name="e"></param>
|
||||
private void StreamingCatcher_OnStreamingRecordDecoded(Object sender, MagFluxFlowDataEventArgs e)
|
||||
{
|
||||
Invoke(new Action(() =>
|
||||
{
|
||||
tbxVolume.Text = $@"{e.NewData.VolumeCm:F3}";
|
||||
tbxFlowRate.Text = $@"{e.NewData.FlowRateCmPh:F3}";
|
||||
tbxStatus.Text = $@"0x{e.NewData.StatusBits:X8}";
|
||||
}));
|
||||
|
||||
}
|
||||
|
||||
|
||||
private void Connect()
|
||||
{
|
||||
try
|
||||
{
|
||||
Init();
|
||||
|
||||
if (string.IsNullOrEmpty(cbComSlot.SelectedItem.ToString()) ||
|
||||
!int.TryParse(cbComSlot.SelectedItem.ToString(), out var slotNr))
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
//lblOverall.Text = @"Establish data base connection..";
|
||||
|
||||
Task.Factory.StartNew(() =>
|
||||
{
|
||||
ViewProgressPcb(true);
|
||||
|
||||
_magFluxMeter?.DisposeMeter();
|
||||
//dispose old meter
|
||||
_meterBatch.RemoveAllMeters();
|
||||
_magFluxMeter = null;
|
||||
Thread.Sleep(200);
|
||||
|
||||
//assign new meter and assign meter to FW update file if this exists
|
||||
_magFluxMeter = new MagFluxMeter();
|
||||
|
||||
_magFluxMeter.SetupFromConfigFile(slotNr);
|
||||
_meterBatch.AddMeter(_magFluxMeter);
|
||||
|
||||
_magFluxMeter.Configuration.UseRegisterWatchService = false;
|
||||
_magFluxMeter.Configuration.UseMinMaxCheck = false;
|
||||
_magFluxMeter.OnStreamingRecordDecoded += StreamingCatcher_OnStreamingRecordDecoded;
|
||||
|
||||
_meterBatch.MetersLogin();
|
||||
|
||||
Invoke(new Action(() =>
|
||||
{
|
||||
if (_magFluxMeter != null && _magFluxMeter.IsLoggedOn)
|
||||
{
|
||||
lblSensorNo.Text = "";
|
||||
tbxUniqueId.Text = _magFluxMeter.PcbId;
|
||||
tbxSensorNo.Text = _magFluxMeter.SerialNumber;
|
||||
tbxFwVersion.Text = _magFluxMeter.FwVersion;
|
||||
tbxFwBuildDate.Text = _magFluxMeter.FwBuildDate;
|
||||
tbxFwGitHash.Text = _magFluxMeter.FwGitHash;
|
||||
tbxMeterSize.Text = _magFluxMeter.MeterSize_mm.ToString();
|
||||
lblSensorNo.ForeColor = Color.Green;
|
||||
CheckUpdateEnabled();
|
||||
_magFluxMeter.StartStreamingCatcher();
|
||||
_magFluxMeter.Logout();
|
||||
LogInstalledMeterFw();
|
||||
}
|
||||
}));
|
||||
}).ContinueWith(delegate
|
||||
{
|
||||
ViewProgressPcb(false);
|
||||
});
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
MessageBox.Show(ex.Message);
|
||||
LogErrorText(ex.Message);
|
||||
}
|
||||
}
|
||||
#endregion
|
||||
|
||||
#region ProcessControls
|
||||
private void ViewProgressPcb(Boolean isActive)
|
||||
{
|
||||
if (_updateGui)
|
||||
{
|
||||
if (isActive)
|
||||
{
|
||||
Invoke(new Action(() =>
|
||||
{
|
||||
_tryConnectPcb = true;
|
||||
ProcessViewControl(true);
|
||||
lblActualProcess.Text = StrConnecting;
|
||||
lblOverall.Text = StrOverallProcess;
|
||||
}));
|
||||
}
|
||||
else
|
||||
{
|
||||
Invoke(new Action(() =>
|
||||
{
|
||||
_tryConnectPcb = false;
|
||||
ProcessViewControl(false);
|
||||
}));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// View all process bars and labels
|
||||
/// </summary>
|
||||
private void ProcessViewControl(Boolean view)
|
||||
{
|
||||
if (view)
|
||||
{
|
||||
lblActualProcess.Visible = true;
|
||||
lblOverall.Visible = true;
|
||||
barOverallProgressUpdate.Visible = true;
|
||||
barSingleProgressUpdate.Visible = true;
|
||||
_lastState = "";
|
||||
tmrProgressUpdate.Enabled = true;
|
||||
}
|
||||
else
|
||||
{
|
||||
lblActualProcess.Visible = false;
|
||||
lblOverall.Visible = false;
|
||||
barOverallProgressUpdate.Visible = false;
|
||||
barSingleProgressUpdate.Visible = false;
|
||||
tmrProgressUpdate.Enabled = false;
|
||||
_lastState = "";
|
||||
lblWaitingForMeterResponse.Visible = false;
|
||||
lblActualProcess.Text = "";
|
||||
lblOverall.Text = "";
|
||||
}
|
||||
|
||||
//common actions and settings
|
||||
lblActualProcess.Update();
|
||||
lblOverall.Update();
|
||||
barOverallProgressUpdate.Value = 0;
|
||||
barOverallProgressUpdate.Update();
|
||||
barSingleProgressUpdate.Value = 0;
|
||||
barSingleProgressUpdate.Update();
|
||||
Update();
|
||||
}
|
||||
|
||||
private void StartStopDownload(Boolean isActive)
|
||||
{
|
||||
if (isActive)
|
||||
{
|
||||
Invoke(new Action(() =>
|
||||
{
|
||||
ProcessViewControl(true);
|
||||
tmrProgressUpdate.Enabled = true;
|
||||
}));
|
||||
}
|
||||
else
|
||||
{
|
||||
Invoke(new Action(() =>
|
||||
{
|
||||
ProcessViewControl(false);
|
||||
SetControlsDownloadIsFinished();
|
||||
|
||||
//// update the display of the meter size, LUT CRC and region
|
||||
//tbxMeterFw.Text = _magFluxMeter.FwVersion;
|
||||
//tbxMeterMeterSize.Text = _magFluxMeter.MeterSize_mm;
|
||||
//tbxMeterLutCrc.Text = _magFluxMeter.LutCrc;
|
||||
//tbxRegion.Text = _magFluxMeter.Region;
|
||||
|
||||
//if (!_lutFileSuccessfulWritten)
|
||||
//{
|
||||
// lblLutFileLoadedInfo.ForeColor = Color.Red;
|
||||
// lblLutFileLoadedInfo.Text = StrUpdateErrorMessage;
|
||||
// var txt = StrUpdateErrorMessage;
|
||||
// if (!string.IsNullOrEmpty(_meterLutUpdate?.ErrorMessage))
|
||||
// {
|
||||
// txt += "\n";
|
||||
// txt += _meterLutUpdate?.ErrorMessage;
|
||||
// }
|
||||
|
||||
// LogErrorText(txt);
|
||||
// MessageBoxShow(txt, @"FAILED",
|
||||
// MessageBoxButtons.OK, MessageBoxIcon.Error);
|
||||
//}
|
||||
//else
|
||||
//{
|
||||
// LogSuccessText(StrUpdateSuccessMessage);
|
||||
// MessageBoxShow(StrUpdateSuccessMessage, @"SUCCESS",
|
||||
// MessageBoxButtons.OK, MessageBoxIcon.Information);
|
||||
//}
|
||||
}));
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Display installed meter FW.
|
||||
/// </summary>
|
||||
/// <remarks date="2022-Mar-25" author="Thomas Wiedebusch">
|
||||
/// - Init.
|
||||
/// </remarks>
|
||||
private void LogInstalledMeterFw()
|
||||
{
|
||||
//if (_magFluxMeter == null)
|
||||
// return;
|
||||
//LogText(StrSeparator);
|
||||
//LogText($"PCB ID: {_magFluxMeter.PcbId}");
|
||||
//LogText($"Core Version: {GenesisMeter.BuildFwVersionString(_magFluxMeter.CoreRevision)}");
|
||||
//LogText("");
|
||||
//LogText("Installed Applications:");
|
||||
|
||||
//foreach (var app in _magFluxMeter.MeterAppListVersion)
|
||||
//{
|
||||
// var versionString = app.IsInstalled ? $"V: {app.StrVersion} - CRC: 0x{app.Crc:X4}" :
|
||||
// "App NOT Installed";
|
||||
// LogText($"AppId: 0x{app.AppId:X2} - {versionString} - " + $"AppName: {app.AppName}");
|
||||
|
||||
// if (app.IsInstalled)
|
||||
// {
|
||||
// var appVersion = new CordonelAppVersion(app.AppId, app.StrVersion);
|
||||
|
||||
// // Copy metrology update permission
|
||||
// if (app.AppName == MeterFwUpdateCapability.MetrologyName &&
|
||||
// _magFluxMeter.MetrologyUpgradePermission != MeterFwUpdateCapability.MetrologyUpgradePermitted)
|
||||
// {
|
||||
// appVersion.IsUpdateable = false;
|
||||
// }
|
||||
// }
|
||||
//}
|
||||
//LogText(StrSeparator);
|
||||
}
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// Output exclusively to user update remarks text window.
|
||||
/// </summary>
|
||||
/// <remarks date="2021-Apr-26" author="Thomas Wiedebusch">
|
||||
/// - Color added.
|
||||
/// </remarks>
|
||||
private void LogText(String txtHistory)
|
||||
{
|
||||
InfoWindowColoredText(txtHistory, ColorDefault);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Output exclusively to user update remarks text window.
|
||||
/// </summary>
|
||||
private void LogErrorText(String txtHistory)
|
||||
{
|
||||
InfoWindowColoredText(txtHistory, ColorProcessFailed);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Output exclusively to user update remarks text window.
|
||||
/// </summary>
|
||||
private void LogSuccessText(String txtHistory)
|
||||
{
|
||||
InfoWindowColoredText(txtHistory, ColorSuccess);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Output exclusively to user update remarks text window.
|
||||
/// </summary>
|
||||
private void InfoWindowColoredText(String txtHistory, Color color)
|
||||
{
|
||||
//if (_frmHistory?.rtbHistory == null)
|
||||
// return;
|
||||
//Invoke(new Action(() =>
|
||||
//{
|
||||
// _frmHistory.rtbHistory.SuspendLayout();
|
||||
// _frmHistory.rtbHistory.SelectionStart = _frmHistory.rtbHistory.Text.Length;
|
||||
// _frmHistory.rtbHistory.SelectionLength = 0;
|
||||
// _frmHistory.rtbHistory.SelectionColor = color;
|
||||
// _frmHistory.rtbHistory.AppendText($"{txtHistory}{Environment.NewLine}");
|
||||
// _frmHistory.rtbHistory.SelectionColor = _frmHistory.rtbHistory.ForeColor;
|
||||
// _frmHistory.rtbHistory.ScrollToCaret();
|
||||
// _frmHistory.rtbHistory.ResumeLayout();
|
||||
//}));
|
||||
}
|
||||
#endregion
|
||||
|
||||
#region Checks
|
||||
private void CheckUpdateEnabled()
|
||||
{
|
||||
//this check has been placed here to force display update
|
||||
if (_magFluxMeter != null)
|
||||
{
|
||||
SetControlsDownloadEnabled();
|
||||
return;
|
||||
}
|
||||
SetControlDownloadsLocked();
|
||||
}
|
||||
#endregion
|
||||
|
||||
#region Events
|
||||
|
||||
/// <summary>
|
||||
/// Process update event for displaying messages in history window
|
||||
/// </summary>
|
||||
/// <param name="sender"></param>
|
||||
/// <param name="e"></param>
|
||||
/// <remarks date="2020-Dec-10" author="Thomas Wiedebusch">
|
||||
/// - Initial
|
||||
/// </remarks>
|
||||
public virtual void ProcessUpdate_Event(Object sender, ProcessExecEventArgs e)
|
||||
{
|
||||
LogText(e.OverallProcessMessage);
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
#region TimerControls
|
||||
private void tmrProgressUpdate_Tick(Object sender, EventArgs e)
|
||||
{
|
||||
//cbxManualControl.Visible = true;
|
||||
if (_tryConnectPcb)
|
||||
{
|
||||
barOverallProgressUpdate.Value = barOverallProgressUpdate.Value + 1 > 100 ? 0 :
|
||||
barOverallProgressUpdate.Value + 1;
|
||||
barSingleProgressUpdate.Value = barSingleProgressUpdate.Value + 4 > 100 ? 0 :
|
||||
barSingleProgressUpdate.Value + 4;
|
||||
lblOverall.Text = StrOverallProcess;
|
||||
}
|
||||
else
|
||||
{
|
||||
//lblOverall.Text = _meterLutUpdate?.GetLutUpdateStateOperation();
|
||||
//lblActualProcess.Text = _meterLutUpdate?.GetActualOperation();
|
||||
|
||||
//var overallProgress = (Int32)(_meterLutUpdate?.OverallProcessCtrPercent ?? 0);
|
||||
//if (overallProgress < 0)
|
||||
// overallProgress = 0;
|
||||
//barOverallProgressUpdate.Value = overallProgress > 100 ? 100 : overallProgress;
|
||||
//barOverallProgressUpdate.Update();
|
||||
|
||||
//var singleProgress = (Int32)(_meterLutUpdate?.SingleFileProcessCtrPercent ?? 0);
|
||||
//if (_meterLutUpdate?.GetActualOperation() != _lastState)
|
||||
//{
|
||||
// _lastState = _meterLutUpdate?.GetActualOperation();
|
||||
// lblWaitingForMeterResponse.Visible = false;
|
||||
//}
|
||||
//else
|
||||
//{
|
||||
// //if the communication gets frozen
|
||||
// lblWaitingForMeterResponse.Visible = _lastSingleProgress == singleProgress;
|
||||
//}
|
||||
|
||||
//barSingleProgressUpdate.Value = singleProgress > 100 ? 100 : singleProgress;
|
||||
//_lastSingleProgress = singleProgress;
|
||||
//barSingleProgressUpdate.Update();
|
||||
}
|
||||
SetTimeDisplay();
|
||||
Update();
|
||||
}
|
||||
|
||||
private void SetTimeDisplay()
|
||||
{
|
||||
var time = DateTimeOffset.UtcNow;
|
||||
var timeSpan = time - _startTime;
|
||||
lblUpdateTime.Text = $@"{(UInt32)timeSpan.TotalMinutes}:{timeSpan.Seconds:00}";
|
||||
}
|
||||
#endregion
|
||||
#region Buttons
|
||||
private void btnConnect_Click(Object sender, EventArgs e)
|
||||
{
|
||||
if (_resetTimeMeasurement)
|
||||
{
|
||||
_startTime = DateTimeOffset.UtcNow;
|
||||
_resetTimeMeasurement = false;
|
||||
}
|
||||
Connect();
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Download calibration to MagFlux
|
||||
/// </summary>
|
||||
/// <param name="sender"></param>
|
||||
/// <param name="e"></param>
|
||||
private void btnDownloadCalibration_Click(Object sender, EventArgs e)
|
||||
{
|
||||
if (_magFluxMeter == null)
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
SetControlsDownloadIsOngoing();
|
||||
StartStopDownload(true);
|
||||
|
||||
_startTime = DateTimeOffset.UtcNow;
|
||||
_resetTimeMeasurement = false;
|
||||
}
|
||||
|
||||
#endregion
|
||||
#region ExternalCalls
|
||||
|
||||
/// <summary>
|
||||
///
|
||||
/// </summary>
|
||||
public MsgEventArgs LastMsgEvent;
|
||||
|
||||
/// <inheritdoc />
|
||||
public class MsgEventArgs : EventArgs
|
||||
{
|
||||
/// <summary>
|
||||
/// Text to display
|
||||
/// </summary>
|
||||
public String Text;
|
||||
/// <summary>
|
||||
/// Headline
|
||||
/// </summary>
|
||||
public String Caption;
|
||||
/// <summary>
|
||||
/// Buttons
|
||||
/// </summary>
|
||||
public MessageBoxButtons Buttons;
|
||||
/// <summary>
|
||||
/// Icon
|
||||
/// </summary>
|
||||
public MessageBoxIcon Icon;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Message pop up event handler
|
||||
/// </summary>
|
||||
public event EventHandler<MsgEventArgs> OnMsgPopUp;
|
||||
private void MessageBoxShow(String text, String caption, MessageBoxButtons buttons, MessageBoxIcon icon)
|
||||
{
|
||||
if (_updateGui)
|
||||
{
|
||||
MessageBox.Show(text, caption, buttons, icon);
|
||||
}
|
||||
else
|
||||
{
|
||||
LastMsgEvent = new MsgEventArgs() { Text = text, Caption = caption, Buttons = buttons, Icon = icon };
|
||||
OnMsgPopUp?.Invoke(this, LastMsgEvent);
|
||||
}
|
||||
|
||||
}
|
||||
#endregion
|
||||
}
|
||||
}
|
||||
|
||||
@@ -0,0 +1,129 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<root>
|
||||
<!--
|
||||
Microsoft ResX Schema
|
||||
|
||||
Version 2.0
|
||||
|
||||
The primary goals of this format is to allow a simple XML format
|
||||
that is mostly human readable. The generation and parsing of the
|
||||
various data types are done through the TypeConverter classes
|
||||
associated with the data types.
|
||||
|
||||
Example:
|
||||
|
||||
... ado.net/XML headers & schema ...
|
||||
<resheader name="resmimetype">text/microsoft-resx</resheader>
|
||||
<resheader name="version">2.0</resheader>
|
||||
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
|
||||
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
|
||||
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
|
||||
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
|
||||
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
|
||||
<value>[base64 mime encoded serialized .NET Framework object]</value>
|
||||
</data>
|
||||
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
|
||||
<comment>This is a comment</comment>
|
||||
</data>
|
||||
|
||||
There are any number of "resheader" rows that contain simple
|
||||
name/value pairs.
|
||||
|
||||
Each data row contains a name, and value. The row also contains a
|
||||
type or mimetype. Type corresponds to a .NET class that support
|
||||
text/value conversion through the TypeConverter architecture.
|
||||
Classes that don't support this are serialized and stored with the
|
||||
mimetype set.
|
||||
|
||||
The mimetype is used for serialized objects, and tells the
|
||||
ResXResourceReader how to depersist the object. This is currently not
|
||||
extensible. For a given mimetype the value must be set accordingly:
|
||||
|
||||
Note - application/x-microsoft.net.object.binary.base64 is the format
|
||||
that the ResXResourceWriter will generate, however the reader can
|
||||
read any of the formats listed below.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.binary.base64
|
||||
value : The object must be serialized with
|
||||
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
|
||||
: and then encoded with base64 encoding.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.soap.base64
|
||||
value : The object must be serialized with
|
||||
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
|
||||
: and then encoded with base64 encoding.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.bytearray.base64
|
||||
value : The object must be serialized into a byte array
|
||||
: using a System.ComponentModel.TypeConverter
|
||||
: and then encoded with base64 encoding.
|
||||
-->
|
||||
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
|
||||
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
|
||||
<xsd:element name="root" msdata:IsDataSet="true">
|
||||
<xsd:complexType>
|
||||
<xsd:choice maxOccurs="unbounded">
|
||||
<xsd:element name="metadata">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" use="required" type="xsd:string" />
|
||||
<xsd:attribute name="type" type="xsd:string" />
|
||||
<xsd:attribute name="mimetype" type="xsd:string" />
|
||||
<xsd:attribute ref="xml:space" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="assembly">
|
||||
<xsd:complexType>
|
||||
<xsd:attribute name="alias" type="xsd:string" />
|
||||
<xsd:attribute name="name" type="xsd:string" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="data">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
|
||||
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
|
||||
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
|
||||
<xsd:attribute ref="xml:space" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="resheader">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" type="xsd:string" use="required" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:choice>
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:schema>
|
||||
<resheader name="resmimetype">
|
||||
<value>text/microsoft-resx</value>
|
||||
</resheader>
|
||||
<resheader name="version">
|
||||
<value>2.0</value>
|
||||
</resheader>
|
||||
<resheader name="reader">
|
||||
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<resheader name="writer">
|
||||
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<metadata name="tmrProgressUpdate.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
|
||||
<value>274, 17</value>
|
||||
</metadata>
|
||||
<metadata name="dlgOpenLuFile.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
|
||||
<value>144, 17</value>
|
||||
</metadata>
|
||||
<metadata name="openFileDialog1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
|
||||
<value>432, 17</value>
|
||||
</metadata>
|
||||
</root>
|
||||
@@ -0,0 +1,176 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" />
|
||||
<PropertyGroup>
|
||||
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
|
||||
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
|
||||
<ProjectGuid>{A5E7CE52-3101-4E9B-B896-C2C0FADE4812}</ProjectGuid>
|
||||
<OutputType>WinExe</OutputType>
|
||||
<RootNamespace>Xylem.Common.Ui.MagFluxToolBox</RootNamespace>
|
||||
<AssemblyName>MagFluxToolBox</AssemblyName>
|
||||
<TargetFrameworkVersion>v4.8</TargetFrameworkVersion>
|
||||
<FileAlignment>512</FileAlignment>
|
||||
<AutoGenerateBindingRedirects>true</AutoGenerateBindingRedirects>
|
||||
<Deterministic>true</Deterministic>
|
||||
<TargetFrameworkProfile />
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
|
||||
<PlatformTarget>AnyCPU</PlatformTarget>
|
||||
<DebugSymbols>true</DebugSymbols>
|
||||
<DebugType>full</DebugType>
|
||||
<Optimize>false</Optimize>
|
||||
<OutputPath>bin\Debug\</OutputPath>
|
||||
<DefineConstants>DEBUG;TRACE</DefineConstants>
|
||||
<ErrorReport>prompt</ErrorReport>
|
||||
<WarningLevel>4</WarningLevel>
|
||||
<Prefer32Bit>false</Prefer32Bit>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
|
||||
<PlatformTarget>AnyCPU</PlatformTarget>
|
||||
<DebugType>pdbonly</DebugType>
|
||||
<Optimize>true</Optimize>
|
||||
<OutputPath>bin\Release\</OutputPath>
|
||||
<DefineConstants>TRACE</DefineConstants>
|
||||
<ErrorReport>prompt</ErrorReport>
|
||||
<WarningLevel>4</WarningLevel>
|
||||
<Prefer32Bit>false</Prefer32Bit>
|
||||
</PropertyGroup>
|
||||
<ItemGroup>
|
||||
<Reference Include="Newtonsoft.Json, Version=12.0.0.0, Culture=neutral, PublicKeyToken=30ad4fe6b2a6aeed, processorArchitecture=MSIL">
|
||||
<HintPath>..\..\packages\Newtonsoft.Json.12.0.3\lib\net45\Newtonsoft.Json.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="NLog, Version=4.0.0.0, Culture=neutral, PublicKeyToken=5120e14c03d0593c, processorArchitecture=MSIL">
|
||||
<HintPath>..\..\packages\NLog.4.6.7\lib\net45\NLog.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="System" />
|
||||
<Reference Include="System.Configuration" />
|
||||
<Reference Include="System.Core" />
|
||||
<Reference Include="System.IO.Compression" />
|
||||
<Reference Include="System.Runtime.Serialization" />
|
||||
<Reference Include="System.ServiceModel" />
|
||||
<Reference Include="System.Transactions" />
|
||||
<Reference Include="System.Xml.Linq" />
|
||||
<Reference Include="System.Data.DataSetExtensions" />
|
||||
<Reference Include="Microsoft.CSharp" />
|
||||
<Reference Include="System.Data" />
|
||||
<Reference Include="System.Deployment" />
|
||||
<Reference Include="System.Drawing" />
|
||||
<Reference Include="System.Net.Http" />
|
||||
<Reference Include="System.Windows.Forms" />
|
||||
<Reference Include="System.Xml" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Compile Include="FrmTest.cs">
|
||||
<SubType>Form</SubType>
|
||||
</Compile>
|
||||
<Compile Include="FrmTest.Designer.cs">
|
||||
<DependentUpon>FrmTest.cs</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Include="FrmMainForm.cs">
|
||||
<SubType>Form</SubType>
|
||||
</Compile>
|
||||
<Compile Include="FrmMainForm.Designer.cs">
|
||||
<DependentUpon>FrmMainForm.cs</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Include="FrmSetup.cs">
|
||||
<SubType>Form</SubType>
|
||||
</Compile>
|
||||
<Compile Include="FrmSetup.Designer.cs">
|
||||
<DependentUpon>FrmSetup.cs</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Include="Program.cs" />
|
||||
<Compile Include="Properties\AssemblyInfo.cs" />
|
||||
<EmbeddedResource Include="FrmTest.resx">
|
||||
<DependentUpon>FrmTest.cs</DependentUpon>
|
||||
<SubType>Designer</SubType>
|
||||
</EmbeddedResource>
|
||||
<EmbeddedResource Include="FrmMainForm.resx">
|
||||
<DependentUpon>FrmMainForm.cs</DependentUpon>
|
||||
<SubType>Designer</SubType>
|
||||
</EmbeddedResource>
|
||||
<EmbeddedResource Include="FrmSetup.resx">
|
||||
<DependentUpon>FrmSetup.cs</DependentUpon>
|
||||
<SubType>Designer</SubType>
|
||||
</EmbeddedResource>
|
||||
<EmbeddedResource Include="Properties\Resources.resx">
|
||||
<Generator>ResXFileCodeGenerator</Generator>
|
||||
<LastGenOutput>Resources.Designer.cs</LastGenOutput>
|
||||
<SubType>Designer</SubType>
|
||||
</EmbeddedResource>
|
||||
<Compile Include="Properties\Resources.Designer.cs">
|
||||
<AutoGen>True</AutoGen>
|
||||
<DependentUpon>Resources.resx</DependentUpon>
|
||||
<DesignTime>True</DesignTime>
|
||||
</Compile>
|
||||
<None Include="packages.config" />
|
||||
<None Include="Properties\Settings.settings">
|
||||
<Generator>SettingsSingleFileGenerator</Generator>
|
||||
<LastGenOutput>Settings.Designer.cs</LastGenOutput>
|
||||
</None>
|
||||
<Compile Include="Properties\Settings.Designer.cs">
|
||||
<AutoGen>True</AutoGen>
|
||||
<DependentUpon>Settings.settings</DependentUpon>
|
||||
<DesignTimeSharedInput>True</DesignTimeSharedInput>
|
||||
</Compile>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<None Include="App.config" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ProjectReference Include="..\..\CommonCore\CommonCore.csproj">
|
||||
<Project>{1B02C79E-0B19-43E2-8F6B-71EF0C786C97}</Project>
|
||||
<Name>CommonCore</Name>
|
||||
</ProjectReference>
|
||||
<ProjectReference Include="..\..\Hardware\Interfaces\Ports\PortCore\PortCore.csproj">
|
||||
<Project>{2e139f63-b6fe-4ea9-a098-85364fe9b26c}</Project>
|
||||
<Name>PortCore</Name>
|
||||
</ProjectReference>
|
||||
<ProjectReference Include="..\..\Hardware\Interfaces\Ports\SerialPorts\SerialPorts.csproj">
|
||||
<Project>{72037e89-4f63-4b3f-beff-4138e578ce99}</Project>
|
||||
<Name>SerialPorts</Name>
|
||||
</ProjectReference>
|
||||
<ProjectReference Include="..\..\Hardware\WaterMeter\MagFlux\DataPackages\DataPackages.csproj">
|
||||
<Project>{BA17D20E-0CEB-4B27-9772-2392BD750ED5}</Project>
|
||||
<Name>DataPackages</Name>
|
||||
</ProjectReference>
|
||||
<ProjectReference Include="..\..\Hardware\WaterMeter\MagFlux\MagFluxConfig\MagFluxConfig.csproj">
|
||||
<Project>{70398b99-b134-4bbd-968b-7399b70c3ce2}</Project>
|
||||
<Name>MagFluxConfig</Name>
|
||||
</ProjectReference>
|
||||
<ProjectReference Include="..\..\Hardware\WaterMeter\MagFlux\MagFluxCore\MagFluxCore.csproj">
|
||||
<Project>{b5da260c-71cc-45ca-b79e-d1b376af718c}</Project>
|
||||
<Name>MagFluxCore</Name>
|
||||
</ProjectReference>
|
||||
<ProjectReference Include="..\..\Hardware\WaterMeter\WaterMeterCore\WaterMeterCore.csproj">
|
||||
<Project>{8203abb8-38e5-472e-a742-33f38b7a74a6}</Project>
|
||||
<Name>WaterMeterCore</Name>
|
||||
</ProjectReference>
|
||||
<ProjectReference Include="..\..\Metrology\Measurements\Measurements.csproj">
|
||||
<Project>{6CCDB656-C676-4360-BABA-C4596AAD175D}</Project>
|
||||
<Name>Measurements</Name>
|
||||
</ProjectReference>
|
||||
<ProjectReference Include="..\..\SoftwareAccessHelper\SoftwareAccessHelper.csproj">
|
||||
<Project>{a33e3c6d-eaae-4a20-a0ee-f9e6922fd029}</Project>
|
||||
<Name>SoftwareAccessHelper</Name>
|
||||
</ProjectReference>
|
||||
<ProjectReference Include="..\..\Utils\Logging\Logging.csproj">
|
||||
<Project>{4B88B0D3-E791-4774-9521-EABEACDC420E}</Project>
|
||||
<Name>Logging</Name>
|
||||
</ProjectReference>
|
||||
<ProjectReference Include="..\..\Utils\ProcessExec\ProcessExec.csproj">
|
||||
<Project>{2FD60CF1-45CD-4060-B8E5-4F39FBA7F1CB}</Project>
|
||||
<Name>ProcessExec</Name>
|
||||
</ProjectReference>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Content Include="NlogConfig.xml">
|
||||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||
</Content>
|
||||
<None Include="Resources\MagFluxVerySmall.jpg" />
|
||||
<None Include="Resources\MagFluxSmall.jpg" />
|
||||
<None Include="Resources\MjK-LogoSmall.jpg" />
|
||||
<None Include="Resources\MjK-Logo.JPG" />
|
||||
<None Include="Resources\MJK Logo.bmp" />
|
||||
</ItemGroup>
|
||||
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
|
||||
</Project>
|
||||
@@ -0,0 +1,74 @@
|
||||
<?xml version="1.0" encoding="utf-8" ?>
|
||||
|
||||
|
||||
<nlog xmlns="http://www.nlog-project.org/schemas/NLog.xsd" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
|
||||
|
||||
<variable name="BasePath" value="C:\MagFluxLog\"/>
|
||||
<targets>
|
||||
|
||||
<!--CalibrationHelper-->
|
||||
<target name="CalibrationHelper" xsi:type="File" fileName="${BasePath}\${shortdate}\${processname}\CalibrationHelper.log" CreateDirs="True" layout ="${longdate} | ${level} | ${message} ${exception:format=toString}" archiveAboveSize="50000000" archiveFileName="C:\MagFluxLog\${shortdate}\${processname}\{##}_CalibrationHelper.log" />
|
||||
|
||||
<!--LedRawData-->
|
||||
<target xsi:type="BufferingWrapper"
|
||||
name="TargetLedRawDataBase"
|
||||
bufferSize="10000"
|
||||
flushTimeout="-1"
|
||||
slidingTimeout="true"
|
||||
>
|
||||
<target name="LedRawDataBase" xsi:type="File" fileName="${BasePath}\${shortdate}\${processname}\LedRawData_BASE.log" CreateDirs="True" layout ="${longdate} | ${message} ${exception:format=toString}" archiveAboveSize="50000000" archiveFileName="C:\MagFluxLog\${shortdate}\${processname}\{##}_LedRawData_BASE.log" />
|
||||
</target>
|
||||
|
||||
<!--MeterBatch-->
|
||||
<target name="MeterBatch" xsi:type="File" fileName="${BasePath}\${shortdate}\${processname}\Meter_BASE.log" CreateDirs="True" layout ="${longdate} | ${level} | ${message} ${exception:format=toString}" archiveAboveSize="50000000" archiveFileName="C:\MagFluxLog\${shortdate}\${processname}\{##}_Meter_BASE.log" />
|
||||
|
||||
<!--Meter-->
|
||||
<target name="MeterBase" xsi:type="File" fileName="${BasePath}\${shortdate}\${processname}\Meter_BASE.log" CreateDirs="True" layout ="${longdate} | ${level} | ${message} ${exception:format=toString}" archiveAboveSize="50000000" archiveFileName="C:\MagFluxLog\${shortdate}\${processname}\{##}_Meter_BASE.log" />
|
||||
<target name="Slot:0" xsi:type="File" fileName="${BasePath}\${shortdate}\${processname}\Meter_SlotSlot:0.log" CreateDirs="True" layout ="${longdate} | ${level} | ${message} ${exception:format=toString}" archiveAboveSize="50000000" archiveFileName="C:\MagFluxLog\${shortdate}\${processname}\{##}_Meter_SlotSlot:0.log" />
|
||||
|
||||
<!--COM-->
|
||||
<target name="COMBase" xsi:type="File" fileName="${BasePath}\${shortdate}\${processname}\COM_BASE.log" CreateDirs="True" layout ="${longdate} | ${level} | ${message} ${exception:format=toString}" archiveAboveSize="50000000" archiveFileName="C:\MagFluxLog\${shortdate}\${processname}\{##}_COM_BASE.log" />
|
||||
|
||||
<!--MagFluxToolBox-->
|
||||
<target name="MagFluxToolBox" xsi:type="File" fileName="${BasePath}\${shortdate}\${processname}\MagFluxToolBox.log" CreateDirs="True" layout ="${longdate} | ${level} | ${message} ${exception:format=toString}" archiveAboveSize="50000000" archiveFileName="C:\MagFluxLog\${shortdate}\${processname}\{##}_ServiceFwUpdateBuilder.log" />
|
||||
|
||||
<!--default-->
|
||||
<target name="default" xsi:type="File" fileName="${BasePath}\${shortdate}\${processname}\default.log" CreateDirs="True" layout ="${longdate} | ${level} | ${message} ${exception:format=toString}" archiveAboveSize="50000000" archiveFileName="C:\MagFluxLog\${shortdate}\${processname}\{##}_default.log" />
|
||||
<target name="PreAdjWr" xsi:type="File" fileName="${BasePath}\${shortdate}\${processname}\PreAdjWr.log" CreateDirs="True" layout ="${longdate} | ${level} | ${message} ${exception:format=toString}" />
|
||||
|
||||
<target name="ctlBatch" xsi:type="File" fileName="${BasePath}\${shortdate}\${processname}\ctlBatch.log" CreateDirs="True" layout ="${longdate} | ${level} | ${message} ${exception:format=toString}" archiveAboveSize="50000000" archiveFileName="C:\MagFluxLog\${shortdate}\${processname}\{##}_ctlBatch.log" />
|
||||
<target name="StreamingQualityFile" xsi:type="File" fileName="${BasePath}\${shortdate}\${processname}\StreamingQuality.log" CreateDirs="True" layout ="${longdate} | ${level} | ${message} ${exception:format=toString}" />
|
||||
<target name="ProductionUIFile" xsi:type="File" fileName="${BasePath}\${shortdate}\${processname}\ProductionUIFile.log" CreateDirs="True" layout ="${longdate} | ${level} | ${message} ${exception:format=toString}" />
|
||||
</targets>
|
||||
<rules>
|
||||
<!--MagFluxToolBox-->
|
||||
<logger name="MagFluxToolBox" minLevel="Trace" appendTo="MagFluxToolBox"/>
|
||||
<!--CalibrationHelper-->
|
||||
<logger name="CalibrationHelper" minLevel="Trace" appendTo="CalibrationHelper"/>
|
||||
<!--LedRawData-->
|
||||
<logger name="LedRawDataBase" minLevel="Trace" appendTo="TargetLedRawDataBase"/>
|
||||
<!--MeterBatch-->
|
||||
<logger name="MeterBatch" minLevel="Trace" appendTo="MeterBatch"/>
|
||||
<!--Meter-->
|
||||
<logger name="MeterBase" minLevel="Trace" appendTo="MeterBase"/>
|
||||
<logger name="Slot:0" minLevel="Trace" appendTo="Slot:0"/>
|
||||
|
||||
<logger name="GenesisRequestProtocolBase" minLevel="Trace" appendTo="MeterBase"/>
|
||||
<logger name="MeasurementBase" minLevel="Trace" appendTo="MeterBase"/>
|
||||
<!--COM-->
|
||||
<logger name="SerialComPortBase" minLevel="Trace" appendTo="COMBase"/>
|
||||
<logger name="IrdaBase" minLevel="Trace" appendTo="COMBase"/>
|
||||
<logger name="RfidBase" minLevel="Trace" appendTo="COMBase"/>
|
||||
<logger name="TransmitProtocolBase" minLevel="Trace" appendTo="COMBase"/>
|
||||
<!--default-->
|
||||
<logger name="*" minLevel="Debug" appendTo="default"/>
|
||||
|
||||
<!--Ui logger-->
|
||||
<logger name="ctlBatch" minLevel="Trace" appendTo="ctlBatch"/>
|
||||
<logger name="StreamingQuality" minLevel="Trace" appendTo="StreamingQualityFile"/>
|
||||
<logger name="PreAdjWr" minLevel="Trace" appendTo="PreAdjWr"/>
|
||||
|
||||
<logger name="ProductionUI" minLevel="Trace" appendTo="ProductionUIFile"/>
|
||||
|
||||
</rules>
|
||||
</nlog>
|
||||
@@ -0,0 +1,19 @@
|
||||
using System;
|
||||
using System.Windows.Forms;
|
||||
|
||||
namespace Xylem.Common.Ui.MagFluxToolBox
|
||||
{
|
||||
internal static class Program
|
||||
{
|
||||
/// <summary>
|
||||
/// The main entry point for the application.
|
||||
/// </summary>
|
||||
[STAThread]
|
||||
static void Main()
|
||||
{
|
||||
Application.EnableVisualStyles();
|
||||
Application.SetCompatibleTextRenderingDefault(false);
|
||||
Application.Run(new FrmMainForm());
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,35 @@
|
||||
using System.Reflection;
|
||||
using System.Runtime.InteropServices;
|
||||
|
||||
// General Information about an assembly is controlled through the following
|
||||
// set of attributes. Change these attribute values to modify the information
|
||||
// associated with an assembly.
|
||||
[assembly: AssemblyTitle("MagFluxToolBox")]
|
||||
[assembly: AssemblyDescription("")]
|
||||
[assembly: AssemblyConfiguration("")]
|
||||
[assembly: AssemblyCompany("Xylem")]
|
||||
[assembly: AssemblyProduct("MagFluxToolBox")]
|
||||
[assembly: AssemblyCopyright("Copyright © Xylem 2023")]
|
||||
[assembly: AssemblyTrademark("")]
|
||||
[assembly: AssemblyCulture("")]
|
||||
|
||||
// Setting ComVisible to false makes the types in this assembly not visible
|
||||
// to COM components. If you need to access a type in this assembly from
|
||||
// COM, set the ComVisible attribute to true on that type.
|
||||
[assembly: ComVisible(false)]
|
||||
|
||||
// The following GUID is for the ID of the typelib if this project is exposed to COM
|
||||
[assembly: Guid("a5e7ce52-3101-4e9b-b896-c2c0fade4812")]
|
||||
|
||||
// Version information for an assembly consists of the following four values:
|
||||
//
|
||||
// Major Version
|
||||
// Minor Version
|
||||
// Build Number
|
||||
// Revision
|
||||
//
|
||||
// You can specify all the values or you can default the Build and Revision Numbers
|
||||
// by using the '*' as shown below:
|
||||
// [assembly: AssemblyVersion("1.0.*")]
|
||||
[assembly: AssemblyVersion("1.0.0.0")]
|
||||
[assembly: AssemblyFileVersion("1.0.0.0")]
|
||||
+32
-20
@@ -8,8 +8,8 @@
|
||||
// </auto-generated>
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
namespace MagFluxToolBox.Properties
|
||||
{
|
||||
namespace Xylem.Common.Ui.MagFluxToolBox.Properties {
|
||||
using System;
|
||||
|
||||
|
||||
/// <summary>
|
||||
@@ -19,32 +19,27 @@ namespace MagFluxToolBox.Properties
|
||||
// class via a tool like ResGen or Visual Studio.
|
||||
// To add or remove a member, edit your .ResX file then rerun ResGen
|
||||
// with the /str option, or rebuild your VS project.
|
||||
[global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "4.0.0.0")]
|
||||
[global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "15.0.0.0")]
|
||||
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
|
||||
[global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
|
||||
internal class Resources
|
||||
{
|
||||
internal class Resources {
|
||||
|
||||
private static global::System.Resources.ResourceManager resourceMan;
|
||||
|
||||
private static global::System.Globalization.CultureInfo resourceCulture;
|
||||
|
||||
[global::System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")]
|
||||
internal Resources()
|
||||
{
|
||||
internal Resources() {
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Returns the cached ResourceManager instance used by this class.
|
||||
/// </summary>
|
||||
[global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
|
||||
internal static global::System.Resources.ResourceManager ResourceManager
|
||||
{
|
||||
get
|
||||
{
|
||||
if ((resourceMan == null))
|
||||
{
|
||||
global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("MagFluxToolBox.Properties.Resources", typeof(Resources).Assembly);
|
||||
internal static global::System.Resources.ResourceManager ResourceManager {
|
||||
get {
|
||||
if (object.ReferenceEquals(resourceMan, null)) {
|
||||
global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("Xylem.Common.Ui.MagFluxToolBox.Properties.Resources", typeof(Resources).Assembly);
|
||||
resourceMan = temp;
|
||||
}
|
||||
return resourceMan;
|
||||
@@ -56,16 +51,33 @@ namespace MagFluxToolBox.Properties
|
||||
/// resource lookups using this strongly typed resource class.
|
||||
/// </summary>
|
||||
[global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
|
||||
internal static global::System.Globalization.CultureInfo Culture
|
||||
{
|
||||
get
|
||||
{
|
||||
internal static global::System.Globalization.CultureInfo Culture {
|
||||
get {
|
||||
return resourceCulture;
|
||||
}
|
||||
set
|
||||
{
|
||||
set {
|
||||
resourceCulture = value;
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized resource of type System.Drawing.Bitmap.
|
||||
/// </summary>
|
||||
internal static System.Drawing.Bitmap MagFluxVerySmall {
|
||||
get {
|
||||
object obj = ResourceManager.GetObject("MagFluxVerySmall", resourceCulture);
|
||||
return ((System.Drawing.Bitmap)(obj));
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized resource of type System.Drawing.Bitmap.
|
||||
/// </summary>
|
||||
internal static System.Drawing.Bitmap MjK_LogoSmall {
|
||||
get {
|
||||
object obj = ResourceManager.GetObject("MjK_LogoSmall", resourceCulture);
|
||||
return ((System.Drawing.Bitmap)(obj));
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
+15
-5
@@ -46,7 +46,7 @@
|
||||
|
||||
mimetype: application/x-microsoft.net.object.binary.base64
|
||||
value : The object must be serialized with
|
||||
: System.Serialization.Formatters.Binary.BinaryFormatter
|
||||
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
|
||||
: and then encoded with base64 encoding.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.soap.base64
|
||||
@@ -60,6 +60,7 @@
|
||||
: and then encoded with base64 encoding.
|
||||
-->
|
||||
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
|
||||
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
|
||||
<xsd:element name="root" msdata:IsDataSet="true">
|
||||
<xsd:complexType>
|
||||
<xsd:choice maxOccurs="unbounded">
|
||||
@@ -68,9 +69,10 @@
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" type="xsd:string" />
|
||||
<xsd:attribute name="name" use="required" type="xsd:string" />
|
||||
<xsd:attribute name="type" type="xsd:string" />
|
||||
<xsd:attribute name="mimetype" type="xsd:string" />
|
||||
<xsd:attribute ref="xml:space" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="assembly">
|
||||
@@ -85,9 +87,10 @@
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" type="xsd:string" msdata:Ordinal="1" />
|
||||
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
|
||||
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
|
||||
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
|
||||
<xsd:attribute ref="xml:space" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="resheader">
|
||||
@@ -109,9 +112,16 @@
|
||||
<value>2.0</value>
|
||||
</resheader>
|
||||
<resheader name="reader">
|
||||
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<resheader name="writer">
|
||||
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<assembly alias="System.Windows.Forms" name="System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
|
||||
<data name="MagFluxVerySmall" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||
<value>..\Resources\MagFluxVerySmall.jpg;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||
</data>
|
||||
<data name="MjK_LogoSmall" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||
<value>..\Resources\MjK-LogoSmall.jpg;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||
</data>
|
||||
</root>
|
||||
+5
-9
@@ -8,21 +8,17 @@
|
||||
// </auto-generated>
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
namespace MagFluxToolBox.Properties
|
||||
{
|
||||
namespace Xylem.Common.Ui.MagFluxToolBox.Properties {
|
||||
|
||||
|
||||
[global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
|
||||
[global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "11.0.0.0")]
|
||||
internal sealed partial class Settings : global::System.Configuration.ApplicationSettingsBase
|
||||
{
|
||||
[global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "15.9.0.0")]
|
||||
internal sealed partial class Settings : global::System.Configuration.ApplicationSettingsBase {
|
||||
|
||||
private static Settings defaultInstance = ((Settings)(global::System.Configuration.ApplicationSettingsBase.Synchronized(new Settings())));
|
||||
|
||||
public static Settings Default
|
||||
{
|
||||
get
|
||||
{
|
||||
public static Settings Default {
|
||||
get {
|
||||
return defaultInstance;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,7 @@
|
||||
<?xml version='1.0' encoding='utf-8'?>
|
||||
<SettingsFile xmlns="http://schemas.microsoft.com/VisualStudio/2004/01/settings" CurrentProfile="(Default)">
|
||||
<Profiles>
|
||||
<Profile Name="(Default)" />
|
||||
</Profiles>
|
||||
<Settings />
|
||||
</SettingsFile>
|
||||
Binary file not shown.
|
After Width: | Height: | Size: 3.3 KiB |
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user