Upgrade (develop) - GCI - GciBridge - GCI-Laatzen interface debugging

This commit is contained in:
Marek Frniak 2026-05-12 13:30:21 +02:00
parent 76e7ccb4a6
commit 378917f59d
3 changed files with 37 additions and 19 deletions

View File

@ -168,7 +168,7 @@ namespace GenesisCordonelInterface.API
#endregion
#region ================================== INIT ==================================
#region ================================== INIT/UPDATE ==================================
public Task<PublicModels.GciInitSlotResult> InitSlotAsync(
int slot,
@ -198,8 +198,8 @@ namespace GenesisCordonelInterface.API
slot,
cfg,
pwd,
req.HasValue ? req.Value.PortName : "<empty>",
str.HasValue ? str.Value.PortName : "<empty>"));
req.HasValue ? req.Value.PortName : "NA",
str.HasValue ? str.Value.PortName : "NA"));
var existingMeter = GetMeter(slot);
@ -249,8 +249,8 @@ namespace GenesisCordonelInterface.API
slot,
cfg,
pwd,
req.HasValue ? req.Value.PortName : "<empty>",
str.HasValue ? str.Value.PortName : "<empty>"));
req.HasValue ? req.Value.PortName : "NA",
str.HasValue ? str.Value.PortName : "NA"));
var meter = GetMeter(slot);
@ -259,7 +259,10 @@ namespace GenesisCordonelInterface.API
return SlotFailed(slot, "Meter does not exist for this slot.");
}
meter.Dispose();
if (meter.IsConnected)
{
return SlotFailed(slot, "Slot update is not allowed while meter is connected. Disconnect the meter first.");
}
UpdateMeterForSlot(meter, slot, cfg, pwd, req, str);
@ -285,8 +288,10 @@ namespace GenesisCordonelInterface.API
meter.useConfigSource = cfg;
meter.usePasswordSource = pwd;
meter.requestPortConfig = req;
meter.streamingPortConfig = str;
meter.SetupGenesisMeter(slot, req, str, true);
//meter.SetupGenesisMeter(slot, req, str, true);
_meterBatch.AddMeter2(meter);
return meter;
@ -307,11 +312,10 @@ namespace GenesisCordonelInterface.API
meter.useConfigSource = cfg;
meter.usePasswordSource = pwd;
meter.requestPortConfig = req;
meter.streamingPortConfig = str;
meter.SetupGenesisMeter(slot, req, str, true);
//meter.ConnectMeter();
//meter.SetupGenesisMeter(slot, req, str, true);
}
private PublicModels.GciInitSlotResult SlotCreated(int slot, GenesisMeter meter)
@ -495,6 +499,9 @@ namespace GenesisCordonelInterface.API
{
return Task.Run(() => CleanSlot(slot), token);
}
#endregion
#region ================================== CLEAN ==================================
public PublicModels.GciCleanSlotResult CleanSlot(int slot)
{
@ -716,7 +723,7 @@ namespace GenesisCordonelInterface.API
if (!meter.IsLoggedOn)
{
meter.Login2();
meter.Login();
if (meter.IsLoggedOn)
{
@ -790,7 +797,8 @@ namespace GenesisCordonelInterface.API
if (!meter.IsConnected)
{
meter.ConnectMeter2();
meter.SetupGenesisMeter(slot, meter.requestPortConfig, meter.streamingPortConfig, true);
meter.ConnectMeter();
LogInfo(operation, $"New Slot {slot} connection success.");
@ -801,7 +809,7 @@ namespace GenesisCordonelInterface.API
IsConnected = meter.IsConnected,
Message = meter.IsConnected
? "Connected now"
: meter.LastConnectError
: meter.LastConnectStatus
};
}
@ -878,10 +886,9 @@ namespace GenesisCordonelInterface.API
var meter = GetMeter(slot);
if (meter.IsLoggedOn)
meter.Logout();
meter.DisposeMeter();
meter.Logout();
meter.Disconnect();
//meter.Dispose();
//meter.SoftDispose();
LogInfo(operation, $"Success. Slot={slot}");
@ -890,7 +897,14 @@ namespace GenesisCordonelInterface.API
{
SlotId = slot,
Success = true,
Message = "Disconnected successfully."
Message = string.Join(
" | ",
new[]
{
meter.LastLogoutStatus,
meter.LastDisposeStatus
}
.Where(x => !string.IsNullOrWhiteSpace(x)))
};
}
catch (Exception ex)

View File

@ -12,6 +12,8 @@
<ItemGroup>
<GciRuntimeFiles Include="$(TargetDir)*.dll" />
<GciRuntimeFiles Include="$(TargetDir)*.pdb" />
<GciRuntimeFiles Include="$(TargetDir)*.xml" />
<GciRuntimeFiles Include="$(TargetDir)*.exe" />
<GciRuntimeFiles Include="$(TargetDir)*.config" />
<GciRuntimeFiles Include="$(TargetDir)*.json" />

View File

@ -4,6 +4,8 @@
<ItemGroup>
<CommonPackageFiles Include="$(SolutionDir)packages\Common\*.dll" />
<CommonPackageFiles Include="$(SolutionDir)packages\Common\*.exe" />
<CommonPackageFiles Include="$(SolutionDir)packages\Common\*.pdb" />
<CommonPackageFiles Include="$(SolutionDir)packages\Common\*.xml" />
<CommonPackageFiles Include="$(SolutionDir)packages\Common\*.config" />
<CommonPackageFiles Include="$(SolutionDir)packages\Common\*.json" />
</ItemGroup>