temp commit
This commit is contained in:
parent
297e329c21
commit
b57d1c67ab
@ -46,30 +46,48 @@
|
||||
|
||||
internal IEnumerable<EregisterTask> LoadInspectionInitializationTasks()
|
||||
{
|
||||
this.executionType = nameof(LoadInspectionInitializationTasks);
|
||||
var features = this.parameters.LoadInspectionInitializationFeatures();
|
||||
//this.executionType = nameof(LoadInspectionInitializationTasks);
|
||||
//var features = this.parameters.LoadInspectionInitializationFeatures();
|
||||
|
||||
if (features.RequestAddress > 0 && features.ResponseAddress > 0)
|
||||
{
|
||||
this.LoadProgrammingParameters(features);
|
||||
//if (features.RequestAddress > 0 && features.ResponseAddress > 0)
|
||||
//{
|
||||
// this.LoadProgrammingParameters(features);
|
||||
|
||||
if (this.runningTasks.Any())
|
||||
{
|
||||
this.runningTasks.Enqueue(new EregisterChangeMeterTypeTask(features.Frequency)
|
||||
{
|
||||
SlotNr = features.SlotNr,
|
||||
PoNr = features.PoNr,
|
||||
SerialNr = features.SerialNr,
|
||||
DelPamSemi = true,
|
||||
RequestAddress = features.RequestAddress,
|
||||
ResponseAddress = features.ResponseAddress,
|
||||
EncryptionKey = features.EncryptionKey,
|
||||
Name = "Change Meter Type"
|
||||
});
|
||||
}
|
||||
}
|
||||
// if (this.runningTasks.Any())
|
||||
// {
|
||||
// this.runningTasks.Enqueue(new EregisterChangeMeterTypeTask(features.Frequency)
|
||||
// {
|
||||
// SlotNr = features.SlotNr,
|
||||
// PoNr = features.PoNr,
|
||||
// SerialNr = features.SerialNr,
|
||||
// DelPamSemi = true,
|
||||
// RequestAddress = features.RequestAddress,
|
||||
// ResponseAddress = features.ResponseAddress,
|
||||
// EncryptionKey = features.EncryptionKey,
|
||||
// Name = "Change Meter Type"
|
||||
// });
|
||||
// }
|
||||
//}
|
||||
|
||||
return this.runningTasks.AsEnumerable();
|
||||
//return this.runningTasks.AsEnumerable();
|
||||
|
||||
return this.LoadInspectionFinalizationTasks();
|
||||
|
||||
//this.runningTasks.Enqueue(new EregisterTask(features.Frequency)
|
||||
//{
|
||||
// //WakeUpCmd = true,
|
||||
// //WakeUpModul = true,
|
||||
// SlotNr = features.SlotNr,
|
||||
// PoNr = features.PoNr,
|
||||
// SerialNr = features.SerialNr,
|
||||
// RequestAddress = features.RequestAddress,
|
||||
// ResponseAddress = features.ResponseAddress,
|
||||
// EncryptionKey = features.EncryptionKey,
|
||||
// IsEncrypted = this.parameters.IsEncrypted,
|
||||
// Data = new ChangeWakeUp(WakeUpMode.StayAwake).Append(new ProvidePin(AuthLevel.II))
|
||||
//});
|
||||
|
||||
//return this.runningTasks.AsEnumerable();
|
||||
}
|
||||
|
||||
internal IEnumerable<EregisterTask> LoadInspectionFinalizationTasks()
|
||||
@ -84,22 +102,22 @@
|
||||
if (this.parameters.StatusFertigung == 30)
|
||||
{
|
||||
// Setting all transmision intervals at the end
|
||||
this.runningTasks.Enqueue(new EregisterTask(features.Frequency)
|
||||
{
|
||||
SlotNr = features.SlotNr,
|
||||
PoNr = features.PoNr,
|
||||
SerialNr = features.SerialNr,
|
||||
RequestAddress = features.RequestAddress,
|
||||
ResponseAddress = features.ResponseAddress,
|
||||
EncryptionKey = features.EncryptionKey,
|
||||
IsEncrypted = this.parameters.IsEncrypted,
|
||||
Data = new ChangeWakeUp((WakeUpMode)this.parameters.Wake_Up_Interval)
|
||||
.Append(new ChangeNumberOfLatWindows(this.parameters.LAT_Interval))
|
||||
.Append(new ChangeTransmissionInterval(this.parameters.Transmission_Intervall))
|
||||
.Append(new OpenMeteringTransmitionIntervalWMBus(this.parameters.OMS_Interval))
|
||||
.Append(new ProvidePin(AuthLevel.II)),
|
||||
Name = "0, 2, 16, 17",
|
||||
});
|
||||
//this.runningTasks.Enqueue(new EregisterTask(features.Frequency)
|
||||
//{
|
||||
// SlotNr = features.SlotNr,
|
||||
// PoNr = features.PoNr,
|
||||
// SerialNr = features.SerialNr,
|
||||
// RequestAddress = features.RequestAddress,
|
||||
// ResponseAddress = features.ResponseAddress,
|
||||
// EncryptionKey = features.EncryptionKey,
|
||||
// IsEncrypted = this.parameters.IsEncrypted,
|
||||
// Data = new ChangeWakeUp((WakeUpMode)this.parameters.Wake_Up_Interval)
|
||||
// .Append(new ChangeNumberOfLatWindows(this.parameters.LAT_Interval))
|
||||
// .Append(new ChangeTransmissionInterval(this.parameters.Transmission_Intervall))
|
||||
// .Append(new OpenMeteringTransmitionIntervalWMBus(this.parameters.OMS_Interval))
|
||||
// .Append(new ProvidePin(AuthLevel.II)),
|
||||
// Name = "0, 2, 16, 17",
|
||||
//});
|
||||
|
||||
// The last checked DEBUG telegram
|
||||
this.runningTasks.Enqueue(new EregisterCheckFinalizationTask(this.parameters, features.Frequency)
|
||||
@ -113,21 +131,6 @@
|
||||
EncryptionKey = features.EncryptionKey,
|
||||
IsEncrypted = this.parameters.IsEncrypted,
|
||||
});
|
||||
|
||||
// Setting all transmision intervals at the end
|
||||
this.runningTasks.Enqueue(new EregisterTask(features.Frequency)
|
||||
{
|
||||
SlotNr = features.SlotNr,
|
||||
PoNr = features.PoNr,
|
||||
SerialNr = features.SerialNr,
|
||||
RequestAddress = features.RequestAddress,
|
||||
ResponseAddress = features.ResponseAddress,
|
||||
EncryptionKey = features.EncryptionKey,
|
||||
IsEncrypted = this.parameters.IsEncrypted,
|
||||
Data = new ChangeWakeUp((WakeUpMode)this.parameters.Wake_Up_Interval)
|
||||
.Append(new ProvidePin(AuthLevel.II)),
|
||||
Name = "Funk aus",
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@ -4,6 +4,7 @@
|
||||
using Common.Hardware.WaterMeter.eRegister.Models;
|
||||
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Threading;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
@ -48,27 +49,23 @@
|
||||
|
||||
public void StartProgrammingAsync(CancellationToken cancellationToken)
|
||||
{
|
||||
var tasks = new List<Task>();
|
||||
var eregisters = default(IEnumerable<Eregister>);
|
||||
var skip = default(int);
|
||||
var take = 5;
|
||||
|
||||
foreach (var eregister in this.eregisters)
|
||||
while (skip < this.eregisters.Count)
|
||||
{
|
||||
var task = Task.Factory.StartNew(() =>
|
||||
{
|
||||
eregisters = this.eregisters
|
||||
.Skip(skip)
|
||||
.Take(take);
|
||||
|
||||
Parallel.ForEach(eregisters, eregister =>
|
||||
{
|
||||
eregister.StartProgrammingAsync(cancellationToken);
|
||||
}
|
||||
, cancellationToken)
|
||||
.ContinueWith(t =>
|
||||
{
|
||||
if (t.Exception != null)
|
||||
{
|
||||
// TODO: exception logging
|
||||
}
|
||||
});
|
||||
|
||||
tasks.Add(task);
|
||||
skip += take;
|
||||
}
|
||||
|
||||
Task.WaitAll(tasks.ToArray(), cancellationToken);
|
||||
}
|
||||
|
||||
public void StopProgramming()
|
||||
|
||||
@ -17,10 +17,12 @@
|
||||
|
||||
public EregisterTask(int frequency)
|
||||
{
|
||||
this.Timeout = 5000;
|
||||
this.DelPamSemi = true;
|
||||
this.Frequency = frequency;
|
||||
this.RSSI = new RSSI(0, frequency);
|
||||
this.Label = nameof(SIRTTaskState.Pending);
|
||||
// this.AnyTelegramReceived = true;
|
||||
}
|
||||
|
||||
public event Action<EregisterTask> Changed;
|
||||
@ -77,6 +79,9 @@
|
||||
|
||||
public override byte[] Start()
|
||||
{
|
||||
this.WakeUpModul = !this.AnyTelegramReceived;
|
||||
this.WakeUpCmd = !this.AnyTelegramReceived;
|
||||
|
||||
var payloadL = this.request.Payload.Length;
|
||||
this.payload = new byte[payloadL];
|
||||
|
||||
@ -185,6 +190,11 @@
|
||||
this.Label = nameof(SIRTConstants.DEBUG);
|
||||
this.DEBUGMessage = new DEBUG(data, this.P11);
|
||||
this.FactoryState = this.DEBUGMessage.FactoryState;
|
||||
|
||||
if (this.LATMessage != null && this.SEMIMessage != null && this.SEMIMessage.PAMStatus == PAMStatus.OK)
|
||||
{
|
||||
this.SetCompleted();
|
||||
}
|
||||
}
|
||||
else if (type == SIRTConstants.SEMI) // plain: 91 - enc: 93
|
||||
{
|
||||
|
||||
@ -16,5 +16,7 @@
|
||||
get => this.bytes.ToUInt16BE(1);
|
||||
set => value.GetBytesBE().CopyTo(this.bytes, 1);
|
||||
}
|
||||
|
||||
public static implicit operator OpenMeteringTransmitionIntervalWMBus(ushort value) => new OpenMeteringTransmitionIntervalWMBus(value);
|
||||
}
|
||||
}
|
||||
|
||||
@ -298,6 +298,10 @@
|
||||
features.Debug.ChangeState = FactoryState.Shipment;
|
||||
}
|
||||
|
||||
features.ChangeWakeUp = (WakeUpMode)this.Wake_Up_Interval;
|
||||
features.ChangeNumberOfLatWindows = this.LAT_Interval;
|
||||
features.ChangeTransmissionInterval = this.Transmission_Intervall;
|
||||
features.OpenMeteringTransmitionIntervalWMBus = this.OMS_Interval;
|
||||
features.ChangeRadioId = (uint)this.Adresse;
|
||||
features.ChangeMeterId = this.MeterId;
|
||||
features.DeactivateAlarms = new DeactivateAlarms
|
||||
|
||||
@ -7,7 +7,7 @@
|
||||
<!--<add key="ConnectionString" value="Server=SLASQL01.emea.sensus.net; Database=Testreplikation; User ID=sa; Password=sqlserver;" />-->
|
||||
<add key="ConnectionString" value="Server=SLASQL01.emea.sensus.net; Database=Auftrag; User ID=sa; Password=sqlserver;" />
|
||||
<add key="EncryptionKeisUrl" value="http://sla12iis01.emea.sensus.net/LaaProductionWeb/api/eregister/radiokey/byserialno/{0}" />
|
||||
<add key="SIRTComPorts" value="COM6,COM8" />
|
||||
<add key="SIRTComPorts" value="COM6" />
|
||||
<add key="PSNR" value="1001" />
|
||||
<add key="SIRT_433" value=""/>
|
||||
<add key="SIRT_868" value=""/>
|
||||
|
||||
@ -17,64 +17,12 @@
|
||||
public static string GetSetting(string key)
|
||||
=> Appsettings.GetSetting(key);
|
||||
|
||||
private static ILogger CreateSIRTMessageLogger()
|
||||
{
|
||||
var dll = new FileInfo(typeof(AppHost).Assembly.Location);
|
||||
var name = "SIRTMessages";
|
||||
var nlogs = dll.Directory.CreateSubdirectory(name);
|
||||
var file = Path.Combine(nlogs.FullName, $"{DateTime.Now:yyyy-MM-dd}.txt");
|
||||
|
||||
LogManager.Configuration = new LoggingConfiguration();
|
||||
LogManager.ThrowConfigExceptions = true;
|
||||
LogManager.ThrowExceptions = true;
|
||||
LogManager.AutoShutdown = true;
|
||||
|
||||
LogManager.Configuration.AddTarget(new FileTarget(name)
|
||||
{
|
||||
CreateDirs = true,
|
||||
KeepFileOpen = true,
|
||||
FileName = file
|
||||
});
|
||||
|
||||
LogManager.Configuration.AddRule(LogLevel.Trace, LogLevel.Fatal, name);
|
||||
LogManager.LogFactory.ReconfigExistingLoggers(true);
|
||||
LogManager.ReconfigExistingLoggers(true);
|
||||
|
||||
return LogManager.GetLogger(name);
|
||||
}
|
||||
|
||||
private static ILogger CreateSIRTStateLogger()
|
||||
{
|
||||
var dll = new FileInfo(typeof(AppHost).Assembly.Location);
|
||||
var name = "SIRTState";
|
||||
var nlogs = dll.Directory.CreateSubdirectory(name);
|
||||
var file = Path.Combine(nlogs.FullName, $"{DateTime.Now:yyyy-MM-dd}.txt");
|
||||
|
||||
LogManager.Configuration = new LoggingConfiguration();
|
||||
LogManager.ThrowConfigExceptions = true;
|
||||
LogManager.ThrowExceptions = true;
|
||||
LogManager.AutoShutdown = true;
|
||||
|
||||
LogManager.Configuration.AddTarget(new FileTarget(name)
|
||||
{
|
||||
CreateDirs = true,
|
||||
KeepFileOpen = true,
|
||||
FileName = file
|
||||
});
|
||||
|
||||
LogManager.Configuration.AddRule(LogLevel.Trace, LogLevel.Fatal, name);
|
||||
LogManager.LogFactory.ReconfigExistingLoggers(true);
|
||||
LogManager.ReconfigExistingLoggers(true);
|
||||
|
||||
return LogManager.GetLogger(name);
|
||||
}
|
||||
|
||||
private static ILogger CreateSIRTLogger()
|
||||
{
|
||||
var dll = new FileInfo(typeof(AppHost).Assembly.Location);
|
||||
var name = "NLogs";
|
||||
var nlogs = dll.Directory.CreateSubdirectory(name);
|
||||
var file = Path.Combine(nlogs.FullName, $"{DateTime.Now:yyyy-MM-dd HH:mm}.txt");
|
||||
var file = Path.Combine(nlogs.FullName, $"{DateTime.Now:yyyy-MM-dd-HH}.txt");
|
||||
|
||||
LogManager.Configuration = new LoggingConfiguration();
|
||||
LogManager.ThrowConfigExceptions = true;
|
||||
@ -100,7 +48,6 @@
|
||||
var sirtHub = new SIRTHub();
|
||||
|
||||
SIRTLogger.Message += NLogger.Debug;
|
||||
SIRTLogger.State += NLogger.Debug;
|
||||
|
||||
return sirtHub;
|
||||
}
|
||||
|
||||
@ -18,7 +18,7 @@
|
||||
this.sqlConnection = SqlConnection.CreateSqlConnection(connectionString);
|
||||
this.Addresses = new ObservableCollection<AddressVM>();
|
||||
|
||||
AppHost.SIRTHub.MessageProcessed += SIRTHub_MessageProcessed;
|
||||
// TODO: SIRTLogger.Message += SIRTHub_MessageProcessed;
|
||||
}
|
||||
|
||||
public ObservableCollection<AddressVM> Addresses { get; }
|
||||
|
||||
@ -39,7 +39,7 @@
|
||||
Interval = 500,
|
||||
};
|
||||
this.timer.Elapsed += this.Timer_Elapsed;
|
||||
AppHost.SIRTHub.StateLogging += x => AppHost.NLogger.Debug(x);
|
||||
// TODO: AppHost.SIRTHub.StateLogging += x => AppHost.NLogger.Debug(x);
|
||||
this.eregisterFactory = new EregisterBatch(AppHost.SIRTHub);
|
||||
this.StartProgrammingCommand = new Command(this.StartProgrammingCommandHandler);
|
||||
this.StopProgrammingCommand = new Command(this.StopProgrammingCommandHandler);
|
||||
|
||||
@ -23,7 +23,7 @@
|
||||
this.timer = new Timer(3000);
|
||||
this.timer.Elapsed += this.Timer_Elapsed;
|
||||
this.sirtHub = new SIRTHub();
|
||||
this.sirtHub.MessageProcessed += this.SirtHub_MessageProcessed;
|
||||
// TODO: this.sirtHub.MessageProcessed += this.SirtHub_MessageProcessed;
|
||||
this.StartScanning = new Command(this.StartScanning_Command);
|
||||
this.Addresses433 = new ObservableCollection<uint>();
|
||||
this.Addresses868 = new ObservableCollection<uint>();
|
||||
|
||||
Loading…
Reference in New Issue
Block a user