Update project references and paths to replace project dependencies with direct DLL references. Standardize formatting in GenesisImplHeadTestCtrl and refine Operations enum declarations.

This commit is contained in:
Michal Buzik 2026-05-06 10:24:33 +02:00
parent 16a76720b8
commit 68a1eb9941
6 changed files with 10288 additions and 4793 deletions

View File

@ -1,4 +1,4 @@
<?xml version="1.0" encoding="utf-8"?>
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" />
<PropertyGroup>
@ -35,6 +35,12 @@
<WarningLevel>4</WarningLevel>
</PropertyGroup>
<ItemGroup>
<Reference Include="Common">
<HintPath>..\packages\Common\Common.dll</HintPath>
</Reference>
<Reference Include="Logic.ProductionToProductMapper">
<HintPath>..\packages\Common\Logic.ProductionToProductMapper.dll</HintPath>
</Reference>
<Reference Include="Newtonsoft.Json, Version=13.0.0.0, Culture=neutral, PublicKeyToken=30ad4fe6b2a6aeed, processorArchitecture=MSIL">
<HintPath>..\packages\Newtonsoft.Json.13.0.3\lib\net45\Newtonsoft.Json.dll</HintPath>
</Reference>
@ -54,6 +60,60 @@
<Reference Include="System.Net.Http" />
<Reference Include="System.Windows.Forms" />
<Reference Include="System.Xml" />
<Reference Include="Xylem.Common.CommonCore">
<HintPath>..\packages\Common\Xylem.Common.CommonCore.dll</HintPath>
</Reference>
<Reference Include="Xylem.Common.CommonCore.Configuration">
<HintPath>..\packages\Common\Xylem.Common.CommonCore.Configuration.dll</HintPath>
</Reference>
<Reference Include="Xylem.Common.CommonCore.ThreadWatcher">
<HintPath>..\packages\Common\Xylem.Common.CommonCore.ThreadWatcher.dll</HintPath>
</Reference>
<Reference Include="Xylem.Common.Hardware.Interfaces.Ports.PortCore">
<HintPath>..\packages\Common\Xylem.Common.Hardware.Interfaces.Ports.PortCore.dll</HintPath>
</Reference>
<Reference Include="Xylem.Common.Hardware.Interfaces.Ports.SerialPorts">
<HintPath>..\packages\Common\Xylem.Common.Hardware.Interfaces.Ports.SerialPorts.dll</HintPath>
</Reference>
<Reference Include="Xylem.Common.Hardware.WaterMeter.Genesis.Applications">
<HintPath>..\packages\Common\Xylem.Common.Hardware.WaterMeter.Genesis.Applications.dll</HintPath>
</Reference>
<Reference Include="Xylem.Common.Hardware.WaterMeter.Genesis.GenesisConfig">
<HintPath>..\packages\Common\Xylem.Common.Hardware.WaterMeter.Genesis.GenesisConfig.dll</HintPath>
</Reference>
<Reference Include="Xylem.Common.Hardware.WaterMeter.Genesis.GenesisCore">
<HintPath>..\packages\Common\Xylem.Common.Hardware.WaterMeter.Genesis.GenesisCore.dll</HintPath>
</Reference>
<Reference Include="Xylem.Common.Hardware.WaterMeter.Genesis.Registers">
<HintPath>..\packages\Common\Xylem.Common.Hardware.WaterMeter.Genesis.Registers.dll</HintPath>
</Reference>
<Reference Include="Xylem.Common.Hardware.WaterMeter.MagFlux.Protocols.RequestProtocol">
<HintPath>..\packages\Common\Xylem.Common.Hardware.WaterMeter.MagFlux.Protocols.RequestProtocol.dll</HintPath>
</Reference>
<Reference Include="Xylem.Common.Hardware.WaterMeter.WaterMeterCore">
<HintPath>..\packages\Common\Xylem.Common.Hardware.WaterMeter.WaterMeterCore.dll</HintPath>
</Reference>
<Reference Include="Xylem.Common.Hardware.WaterMeter.WaterMeterRegisters">
<HintPath>..\packages\Common\Xylem.Common.Hardware.WaterMeter.WaterMeterRegisters.dll</HintPath>
</Reference>
<Reference Include="Xylem.Common.Logic.ProductionOrderCore">
<HintPath>..\packages\Common\Xylem.Common.Logic.ProductionOrderCore.dll</HintPath>
</Reference>
<Reference Include="Xylem.Common.Logic.SoftwareAccessHelper">
<HintPath>..\packages\Common\Xylem.Common.Logic.SoftwareAccessHelper.dll</HintPath>
</Reference>
<Reference Include="Xylem.Common.Utils.ByteArrayStyle">
<HintPath>..\packages\Common\Xylem.Common.Utils.ByteArrayStyle.dll</HintPath>
</Reference>
<Reference Include="Xylem.Common.Utils.Crc16Ccitt">
<HintPath>..\packages\Common\Xylem.Common.Utils.Crc16Ccitt.dll</HintPath>
</Reference>
<Reference Include="Xylem.Common.Utils.Logging">
<HintPath>..\packages\Common\Xylem.Common.Utils.Logging.dll</HintPath>
</Reference>
<Reference Include="Xylem.Common.Utils.ProcessExec">
<HintPath>..\packages\Common\Xylem.Common.Utils.ProcessExec.dll</HintPath>
</Reference>
</ItemGroup>
<ItemGroup>
<Compile Include="API\ModelsMapping.cs" />
@ -189,74 +249,14 @@
<WCFMetadata Include="Connected Services\" />
</ItemGroup>
<ItemGroup>
<ProjectReference Include="..\Common\Common.csproj">
<Project>{c8939821-ba5c-4988-a3d0-bf53b74865c7}</Project>
<Name>Common</Name>
</ProjectReference>
<ProjectReference Include="..\ExternalProjects\Laatzen\Genesis\Common\CommonCore.Configuration\CommonCore.Configuration.csproj">
<Project>{9eb1f659-6f73-4f65-bcab-4114fd94f5fc}</Project>
<Name>CommonCore.Configuration</Name>
</ProjectReference>
<ProjectReference Include="..\ExternalProjects\Laatzen\Genesis\Common\CommonCore\CommonCore.csproj">
<Project>{1b02c79e-0b19-43e2-8f6b-71ef0c786c97}</Project>
<Name>CommonCore</Name>
</ProjectReference>
<ProjectReference Include="..\ExternalProjects\Laatzen\Genesis\Common\CordonelPreadjustmentUi\CordonelPreadjustmentUi.csproj">
<Project>{d0c8d887-ed52-40ab-a069-90bce0e801e2}</Project>
<Project>{D0C8D887-ED52-40AB-A069-90BCE0E801E2}</Project>
<Name>CordonelPreadjustmentUi</Name>
</ProjectReference>
<ProjectReference Include="..\ExternalProjects\Laatzen\Genesis\Common\Hardware\Interfaces\Ports\PortCore\PortCore.csproj">
<Project>{2e139f63-b6fe-4ea9-a098-85364fe9b26c}</Project>
<Name>PortCore</Name>
</ProjectReference>
<ProjectReference Include="..\ExternalProjects\Laatzen\Genesis\Common\Hardware\Interfaces\Ports\SerialPorts\SerialPorts.csproj">
<Project>{72037e89-4f63-4b3f-beff-4138e578ce99}</Project>
<Name>SerialPorts</Name>
</ProjectReference>
<ProjectReference Include="..\ExternalProjects\Laatzen\Genesis\Common\Hardware\WaterMeter\Genesis\Applications\Applications.csproj">
<Project>{315e94b8-b82f-4b25-b5bd-297df3bc1d54}</Project>
<Name>Applications</Name>
</ProjectReference>
<ProjectReference Include="..\ExternalProjects\Laatzen\Genesis\Common\Hardware\WaterMeter\Genesis\GenesisConfig\GenesisConfig.csproj">
<Project>{f013a56b-7be6-4852-9cd8-b971cd1add0c}</Project>
<Name>GenesisConfig</Name>
</ProjectReference>
<ProjectReference Include="..\ExternalProjects\Laatzen\Genesis\Common\Hardware\WaterMeter\Genesis\GenesisCore\GenesisCore.csproj">
<Project>{04201e95-90a0-4b73-a72f-379739b2a3ae}</Project>
<Name>GenesisCore</Name>
</ProjectReference>
<ProjectReference Include="..\ExternalProjects\Laatzen\Genesis\Common\Hardware\WaterMeter\Genesis\Registers\Registers.csproj">
<Project>{f4aaf7e6-7333-4284-b735-e32deb076c64}</Project>
<Name>Registers</Name>
</ProjectReference>
<ProjectReference Include="..\ExternalProjects\Laatzen\Genesis\Common\Hardware\WaterMeter\WaterMeterCore\WaterMeterCore.csproj">
<Project>{8203abb8-38e5-472e-a742-33f38b7a74a6}</Project>
<Name>WaterMeterCore</Name>
</ProjectReference>
<ProjectReference Include="..\ExternalProjects\Laatzen\Genesis\Common\Hardware\WaterMeter\WaterMeterCore\WaterMeterRegisters\WaterMeterRegisters.csproj">
<Project>{26afcf1e-1287-48b8-a506-32b1e8a0dd0e}</Project>
<Name>WaterMeterRegisters</Name>
</ProjectReference>
<ProjectReference Include="..\ExternalProjects\Laatzen\Genesis\Common\Logic.PrdoctionToProductMapper\Logic.ProductionToProductMapper.csproj">
<Project>{d0c859d9-d55e-4e85-ac50-0ff31b1ce50d}</Project>
<Name>Logic.ProductionToProductMapper</Name>
</ProjectReference>
<ProjectReference Include="..\ExternalProjects\Laatzen\Genesis\Common\Logic\ProductionOrderCore\ProductionOrderCore.csproj">
<Project>{6d2777bb-7a88-466d-a49b-3266f9bf0160}</Project>
<Name>ProductionOrderCore</Name>
</ProjectReference>
<ProjectReference Include="..\ExternalProjects\Laatzen\Genesis\Common\SoftwareAccessHelper\SoftwareAccessHelper.csproj">
<Project>{a33e3c6d-eaae-4a20-a0ee-f9e6922fd029}</Project>
<Name>SoftwareAccessHelper</Name>
</ProjectReference>
<ProjectReference Include="..\ExternalProjects\Laatzen\Genesis\Common\Ui\GenesisToolBox\GenesisToolBox.csproj">
<Project>{95a50087-99ee-4349-9a17-c547290db42f}</Project>
<Project>{95A50087-99EE-4349-9A17-C547290DB42F}</Project>
<Name>GenesisToolBox</Name>
</ProjectReference>
<ProjectReference Include="..\ExternalProjects\Laatzen\Genesis\Common\Utils\Logging\Logging.csproj">
<Project>{4b88b0d3-e791-4774-9521-eabeacdc420e}</Project>
<Name>Logging</Name>
</ProjectReference>
</ItemGroup>
<!-- Import custom GCI runtime packaging logic -->
<Import Project="RuntimePackage\Build\Copy.targets.xml" />

5735
TBF.sln

File diff suppressed because it is too large Load Diff

View File

@ -14,7 +14,7 @@ namespace TBF.Rig.RegisterReaders.GenesisRegReader.communication
{
//protected static readonly ILog rfidDataLogger = LogManager.GetLogger("RfidData");
private static readonly ILog log = LogManager.GetLogger(typeof(OptoHeadTest));
private GenesisSmartReader genesisHead;
//private SerialDriver serialDriver;
@ -30,6 +30,7 @@ namespace TBF.Rig.RegisterReaders.GenesisRegReader.communication
StreamingPort = new PublicModels.GciPortConfig{ PortName = $"COM{genesidHead.OptoComPortNr}", Type = string.Empty}
};
genesidHead?.CommInterfaceBridge.InitSlotAsync(request);
genesidHead?.CommInterfaceBridge?.UpdateSlotAsync(request);
slotDefined = true;
}
@ -112,8 +113,11 @@ namespace TBF.Rig.RegisterReaders.GenesisRegReader.communication
if (genesisHead.CommInterfaceBridge == null)
return string.Empty;
if (!IsSlotDefined) { BuildConnection(genesisHead); }
if (!IsSlotDefined)
{
BuildConnection(genesisHead);
}
GciBridge gciBridge = genesisHead.CommInterfaceBridge;
log.Debug("ReadRequest_PCB() - GciBridge created");
@ -144,7 +148,11 @@ namespace TBF.Rig.RegisterReaders.GenesisRegReader.communication
/// <returns></returns>
public bool SetTestMode()
{
if (!IsSlotDefined) { BuildConnection(genesisHead); }
if (!IsSlotDefined)
{
BuildConnection(genesisHead);
}
log.Debug("SetTestMode called for iHead: " + genesisHead.ToString());
bool activityModeActive = SetActivityMode_Active();
bool optActiveMode = SetOptTestMode();
@ -160,7 +168,11 @@ namespace TBF.Rig.RegisterReaders.GenesisRegReader.communication
/// <returns></returns>
public bool SetActiveMode()
{
if (!IsSlotDefined) { BuildConnection(genesisHead); }
if (!IsSlotDefined)
{
BuildConnection(genesisHead);
}
log.Debug("SetActiveMode called for iHead: " + genesisHead.ToString());
bool optActiveMode = SetOptActiveMode(genesisHead);
//bool activityModeIdle = SetActivityMode_Idle();
@ -200,7 +212,8 @@ namespace TBF.Rig.RegisterReaders.GenesisRegReader.communication
bool testMode = SetTestMode();
isTestModeSuccessful = testMode;
return testMode ? "Set Test Mode - OK" : "Set Test Mode - FAILED";
}catch (Exception ex)
}
catch (Exception ex)
{
log.Error("SetTestMode() - Exception:" + ex.StackTrace);
return "Set Test Mode - Exception";
@ -217,7 +230,6 @@ namespace TBF.Rig.RegisterReaders.GenesisRegReader.communication
/// <exception cref="Exception"></exception>
private bool SetOptTestMode()
{
if (genesisHead.DebugLevel == DebugMode.Simulate)
{
return true;
@ -273,9 +285,10 @@ namespace TBF.Rig.RegisterReaders.GenesisRegReader.communication
// log.Error("SetActiveMode() - Exception:" + ex.StackTrace);
// return "Set Active Mode - Exception";
// }
return "Set Active Mode - No Implemented Exception";
}
/// <summary>
/// Set Optical -> Active mode
/// </summary>

View File

@ -1,4 +1,5 @@
using System;
using System.Threading;
using System.Threading.Tasks;
using GenesisCordonelInterface.API;
using log4net;
@ -13,19 +14,19 @@ namespace TBF.Rig.RegisterReaders.GenesisRegReader.communication
public class RadioService
{
private static readonly ILog log = LogManager.GetLogger(typeof(RadioService));
static string okResponse = "Command complete, no errors";
static string errorResponse = "Unable to execute";
private GciBridge _bridge;
public RadioService(GciBridge genesisHeadCommInterfaceBridgeComponent)
{
this._bridge = genesisHeadCommInterfaceBridgeComponent;
log.Debug("RadioService created with GciBridge= " + genesisHeadCommInterfaceBridgeComponent + "");
this._bridge = genesisHeadCommInterfaceBridgeComponent;
log.Debug("RadioService created with GciBridge= " + genesisHeadCommInterfaceBridgeComponent + "");
}
public async Task<string> ReadRequest_PCBAsync(GenesisSmartReader iHead)
public async Task<string> ReadRequest_PCBAsyn1(GenesisSmartReader iHead)
{
if (iHead?.CommInterfaceBridge == null)
return null;
@ -57,8 +58,117 @@ namespace TBF.Rig.RegisterReaders.GenesisRegReader.communication
return null;
}
public async Task<string> ReadRequest_PCBAsync(GenesisSmartReader iHead)
{
log.Debug("ReadRequest_PCB called for iHead: " + iHead);
if (iHead?.CommInterfaceBridge == null)
return null;
using var cts = new CancellationTokenSource(TimeSpan.FromMinutes(1));
PublicModels.GciConnectResult result;
try
{
log.Debug("ReadRequest_PCB() - calling ConnectAsync");
result = await iHead.CommInterfaceBridge
.ConnectAsync(iHead.GetSlotNr, cts.Token)
.ConfigureAwait(false);
log.Debug("ReadRequest_PCB() - ConnectAsync completed");
}
catch (OperationCanceledException)
{
log.Debug("ReadRequest_PCB() - ConnectAsync timeout/cancelled");
return null;
}
catch (Exception ex)
{
log.Error("ReadRequest_PCB() - ConnectAsync failed", ex);
return null;
}
if (result == null || !result.Success || !result.IsLoggedOn)
{
log.Debug("ReadRequest_PCB() - invalid result: " + result);
return null;
}
string pcbId = result.PcbId;
if (string.IsNullOrEmpty(pcbId))
{
log.Debug("ReadRequest_PCB() - pcbId is empty");
return null;
}
if (iHead.ConfigStruct != null)
{
iHead.ConfigStruct.PCBNumberString = pcbId;
log.Debug("ReadRequest_PCB() - PCBNumberString: " + pcbId);
}
return pcbId;
}
public string ReadRequest_PCB(ref GenesisSmartReader iHead)
{
var head = iHead; // <-- copy to local (no longer ref)
log.Debug("ReadRequest_PCB called for iHead: " + head);
if (head?.CommInterfaceBridge == null)
return null;
try
{
var connectTask = Task.Run(async () =>
await head.CommInterfaceBridge.ConnectAsync(head.GetSlotNr)
);
var completedTask = Task.WhenAny(
connectTask,
Task.Delay(TimeSpan.FromMinutes(1))
).GetAwaiter().GetResult();
if (completedTask != connectTask)
{
log.Debug("ReadRequest_PCB() - Timeout happened");
return null;
}
var result = connectTask.GetAwaiter().GetResult();
log.Debug("ReadRequest_PCB() - Result: " + result);
if (result == null || !result.Success || !result.IsLoggedOn)
return null;
var pcbId = result.PcbId;
log.Debug("Result pcbId: " + pcbId);
if (!string.IsNullOrEmpty(pcbId) && head.ConfigStruct != null)
{
head.ConfigStruct.PCBNumberString = pcbId;
log.Debug("Result set to ConfigStruct.PCBNumberString = " + head.ConfigStruct.PCBNumberString);
}
return pcbId;
}
catch (Exception ex)
{
log.Error("ReadRequest_PCB() failed", ex);
return null;
}
}
public string ReadRequest_PCB2(ref GenesisSmartReader iHead)
{
return ReadRequest_PCBAsync(iHead).GetAwaiter().GetResult();
}
public string ReadRequest_PCB1(ref GenesisSmartReader iHead)
{
log.Debug("ReadRequest_PCB called for iHead: " + iHead.ToString());
if (iHead?.CommInterfaceBridge == null)
@ -72,7 +182,7 @@ namespace TBF.Rig.RegisterReaders.GenesisRegReader.communication
connectTask,
Task.Delay(TimeSpan.FromMinutes(1))
).GetAwaiter().GetResult();
log.Debug("ReadRequest_PCB() - CompletedTask: " + completedTask);
// Timeout happened
@ -98,7 +208,8 @@ namespace TBF.Rig.RegisterReaders.GenesisRegReader.communication
if (iHead.ConfigStruct != null)
{
iHead.ConfigStruct.PCBNumberString = pcbId;
log.Debug("ReadRequest_PCB() - iHead.ConfigStruct.PCBNumberString: " + iHead.ConfigStruct.PCBNumberString);
log.Debug("ReadRequest_PCB() - iHead.ConfigStruct.PCBNumberString: " +
iHead.ConfigStruct.PCBNumberString);
}
return pcbId;
@ -107,7 +218,7 @@ namespace TBF.Rig.RegisterReaders.GenesisRegReader.communication
log.Debug("ReadRequest_PCB() - pcbId is empty");
return null;
}
public ProtocolStatuses GetActivityStatusMode(GenesisSmartReader iHead)
{
if (iHead?.CommInterfaceBridge == null)
@ -136,7 +247,7 @@ namespace TBF.Rig.RegisterReaders.GenesisRegReader.communication
return ProtocolStatuses.Active;
}
public DiagnosticLedState SetOptoStatusMode(GenesisSmartReader iHead, DiagnosticLedState opthoStatusMode)
{
if (iHead?.CommInterfaceBridge == null)
@ -165,12 +276,11 @@ namespace TBF.Rig.RegisterReaders.GenesisRegReader.communication
iHead.ConfigStruct.PCBNumberString = pcbResult.PcbId;
}
return DiagnosticLedState.StatusUnknown;
}
private static ushort SafeIntToUShort(int value)
{
if (value < ushort.MinValue || value > ushort.MaxValue)
@ -179,7 +289,7 @@ namespace TBF.Rig.RegisterReaders.GenesisRegReader.communication
return (ushort)value;
}
public string GetVersion(GenesisSmartReader iHead)
{
if (iHead?.CommInterfaceBridge == null)
@ -201,11 +311,11 @@ namespace TBF.Rig.RegisterReaders.GenesisRegReader.communication
// }
// return version;
// }
return string.Empty;
}
public bool SetActivityMode_Active(GenesisSmartReader iHead)
{
if (iHead?.CommInterfaceBridge == null)
@ -218,7 +328,7 @@ namespace TBF.Rig.RegisterReaders.GenesisRegReader.communication
if (connectResult == null || !connectResult.Success || !connectResult.IsLoggedOn)
return false;
//Set LED to state 4
// string version = _bridge?.GciExternalInterface?.GetPcbId(iHead.GetSlotNr);
// if (!string.IsNullOrEmpty(version))
@ -229,10 +339,10 @@ namespace TBF.Rig.RegisterReaders.GenesisRegReader.communication
// }
// return true;
// }
return false;
}
public bool SetActivityMode_Idle(GenesisSmartReader iHead)
{
if (iHead?.CommInterfaceBridge == null)
@ -245,7 +355,7 @@ namespace TBF.Rig.RegisterReaders.GenesisRegReader.communication
if (connectResult == null || !connectResult.Success || !connectResult.IsLoggedOn)
return false;
//Set Activity State Idle
// string version = _bridge?.GciExternalInterface?.GetPcbId(iHead.GetSlotNr);
// if (!string.IsNullOrEmpty(version))
@ -256,10 +366,10 @@ namespace TBF.Rig.RegisterReaders.GenesisRegReader.communication
// }
// return true;
// }
return false;
}
public bool SetOptTestMode(GenesisSmartReader iHead)
{
if (iHead?.CommInterfaceBridge == null)
@ -272,7 +382,7 @@ namespace TBF.Rig.RegisterReaders.GenesisRegReader.communication
if (connectResult == null || !connectResult.Success || !connectResult.IsLoggedOn)
return false;
//Set LED to state 4
// string version = _bridge?.GciExternalInterface?.GetPcbId(iHead.GetSlotNr);
// if (!string.IsNullOrEmpty(version))
@ -283,9 +393,8 @@ namespace TBF.Rig.RegisterReaders.GenesisRegReader.communication
// }
// return true;
// }
return false;
}
/// <summary>
@ -316,7 +425,7 @@ namespace TBF.Rig.RegisterReaders.GenesisRegReader.communication
// }
// return true;
// }
return false;
}
@ -342,7 +451,7 @@ namespace TBF.Rig.RegisterReaders.GenesisRegReader.communication
// }
// return version;
// }
return string.Empty;
}
}

View File

@ -16,11 +16,15 @@ namespace TBF.Rig.RegisterReaders.GenesisRegReader.implementations
{
private static readonly ILog log = LogManager.GetLogger(typeof(GenesisSmartReader));
private static readonly ILog logStream = LogManager.GetLogger("StreamData");
Thread optoThread;
//GenesisSmartReader _genesiHead;
public GenesisSmartReader Head { get { return ISmartReader as GenesisSmartReader;} }
public GenesisSmartReader Head
{
get { return ISmartReader as GenesisSmartReader; }
}
public ISmartReader ISmartReader { get; set; }
public bool stopWorkerThread { get; set; }
@ -42,7 +46,7 @@ namespace TBF.Rig.RegisterReaders.GenesisRegReader.implementations
optoThread.Abort();
}
}
private const string StrReadPcbCmd = "ReadPCB";
private const string StrSetTestModeCmd = "SetTestMode";
private const string StrSetActiveModeCmd = "SetActiveMode";
@ -55,33 +59,33 @@ namespace TBF.Rig.RegisterReaders.GenesisRegReader.implementations
public enum Operations
{
[Description(StrReadPcbCmd)]ReadPcbCmd,
[Description(StrSetTestModeCmd)]SetTestModeCmd,
[Description(StrSetActiveModeCmd)]SetActiveModeCmd,
[Description(StrReadOptoDataCmd)]ReadOptoDataCmd,
[Description(StrStopReadOptoDataCmd)]StopReadOptoDataCmd,
[Description(StrResetNfcHeadCmd)]ResetNfcHeadCmd,
[Description(StrSetNfcHeadCmd)]SetNfcHeadCmd,
[Description(StrSetRfidHeadCmd)]SetRfidHeadCmd,
[Description(StrEmptyCmd)]EmptyCmd
[Description(StrReadPcbCmd)] ReadPcbCmd,
[Description(StrSetTestModeCmd)] SetTestModeCmd,
[Description(StrSetActiveModeCmd)] SetActiveModeCmd,
[Description(StrReadOptoDataCmd)] ReadOptoDataCmd,
[Description(StrStopReadOptoDataCmd)] StopReadOptoDataCmd,
[Description(StrResetNfcHeadCmd)] ResetNfcHeadCmd,
[Description(StrSetNfcHeadCmd)] SetNfcHeadCmd,
[Description(StrSetRfidHeadCmd)] SetRfidHeadCmd,
[Description(StrEmptyCmd)] EmptyCmd
}
private static readonly Dictionary<string, Operations> ItemsForIperlOperations = new Dictionary<string, Operations>
{
{"Read PCB", Operations.ReadPcbCmd},
{"Set Test Mode", Operations.SetTestModeCmd},
{"Set Active Mode", Operations.SetActiveModeCmd},
private static readonly Dictionary<string, Operations> ItemsForIperlOperations =
new Dictionary<string, Operations>
{
{ "Read PCB", Operations.ReadPcbCmd },
{ "Set Test Mode", Operations.SetTestModeCmd },
{ "Set Active Mode", Operations.SetActiveModeCmd },
#if TRUE
{"Start Read Opto Data", Operations.ReadOptoDataCmd},
{"Stop Read Opto Data", Operations.StopReadOptoDataCmd},
{ "Start Read Opto Data", Operations.ReadOptoDataCmd },
{ "Stop Read Opto Data", Operations.StopReadOptoDataCmd },
#endif
{" ", Operations.EmptyCmd},
{"Reset NFC Head", Operations.ResetNfcHeadCmd},
{"Set NFC Head Interface", Operations.SetNfcHeadCmd},
{"Set RFID Head interface", Operations.SetRfidHeadCmd}
};
{ " ", Operations.EmptyCmd },
{ "Reset NFC Head", Operations.ResetNfcHeadCmd },
{ "Set NFC Head Interface", Operations.SetNfcHeadCmd },
{ "Set RFID Head interface", Operations.SetRfidHeadCmd }
};
public (string Name, string Value)[] GetComboOperationsPairs()
{
@ -94,16 +98,17 @@ namespace TBF.Rig.RegisterReaders.GenesisRegReader.implementations
a.RfidOutputListBox.Items.Clear();
log.Debug($"CommandTestButtonClick called: {a?.RfidCommandComboBox?.SelectedValue}");
using (Tools.LogChecker logChecker = new Tools.LogChecker("RfidData", log4net.Core.Level.Debug))
{
ListItem rfidListItem = new ListItem();
rfidListItem.Attributes.Add("style", "font-weight:bold");
Operations selectedOperation;
if(!ItemsForIperlOperations.TryGetValue((string)a.RfidCommandComboBox.SelectedValue, out selectedOperation))
if (!ItemsForIperlOperations.TryGetValue((string)a.RfidCommandComboBox.SelectedValue,
out selectedOperation))
selectedOperation = Operations.EmptyCmd;
bool isTestModeSuccessful = false;
switch (selectedOperation)
switch (selectedOperation)
{
case Operations.ReadPcbCmd:
rfidListItem.Text = $"PCB: {Head.OptoHeadTest.ReadRequest_PCB()}";
@ -121,7 +126,7 @@ namespace TBF.Rig.RegisterReaders.GenesisRegReader.implementations
break;
case Operations.SetActiveModeCmd:
rfidListItem.Text = Head.OptoHeadTest.SetActiveMode( ref isTestModeSuccessful);
rfidListItem.Text = Head.OptoHeadTest.SetActiveMode(ref isTestModeSuccessful);
stopWorkerThread = true;
a.ISmartReader.StopDataStreamProcessing(); // close opto port
break;

File diff suppressed because it is too large Load Diff