Migliorata simulazione allarmi (lista di allarmia ttivi)
This commit is contained in:
@@ -17,6 +17,7 @@ using MP.MONO.UI;
|
||||
using MP.MONO.UI.Shared;
|
||||
using MP.MONO.UI.Components;
|
||||
using MP.MONO.UI.Data;
|
||||
using Newtonsoft.Json;
|
||||
|
||||
namespace MP.MONO.UI.Components
|
||||
{
|
||||
@@ -32,6 +33,7 @@ namespace MP.MONO.UI.Components
|
||||
private void AlarmPipe_EA_NewMessage(object? sender, EventArgs e)
|
||||
{
|
||||
PubSubEventArgs currArgs = (PubSubEventArgs)e;
|
||||
#if false
|
||||
if (currArgs.newMessage == "reset")
|
||||
{
|
||||
ListRecords = new List<DisplayDataDTO>();
|
||||
@@ -51,6 +53,24 @@ namespace MP.MONO.UI.Components
|
||||
}
|
||||
ListRecords.Add(newRec);
|
||||
ListRecords = ListRecords.OrderByDescending(x => x.Order).ToList();
|
||||
}
|
||||
#endif
|
||||
// conversione on-the-fly List<string> --> allarmi
|
||||
if (!string.IsNullOrEmpty(currArgs.newMessage))
|
||||
{
|
||||
try
|
||||
{
|
||||
var alarmList = JsonConvert.DeserializeObject<List<string>>(currArgs.newMessage);
|
||||
ListRecords = alarmList.Select(x => new DisplayDataDTO()
|
||||
{
|
||||
IsNumeric = false,
|
||||
Title = $"{DateTime.Now:yyyy-MM-dd HH:mm:ss}",
|
||||
Value = x,
|
||||
Order = ListRecords == null ? 0 : ListRecords.Count
|
||||
}).ToList();
|
||||
}
|
||||
catch
|
||||
{ }
|
||||
}
|
||||
InvokeAsync(() =>
|
||||
{
|
||||
|
||||
+17
-6
@@ -53,23 +53,34 @@ void saveAndSendMessage(string memKey, string value, string notifyChannel, strin
|
||||
}
|
||||
void simAlarms()
|
||||
{
|
||||
int minPeriod = 10000;
|
||||
int maxPeriod = 15000;
|
||||
int minPeriod = 3000;
|
||||
int maxPeriod = 10000;
|
||||
|
||||
do
|
||||
{
|
||||
int alarmCode = rand.Next(0, 255);
|
||||
List<string> activeAlarms = new List<string>();
|
||||
//int alarmCode = rand.Next(0, 255);
|
||||
int alarmCode = rand.Next(0, 160);
|
||||
// se >= 128 --> 0 (no alarm)
|
||||
alarmCode = alarmCode <= 127 ? alarmCode : 0;
|
||||
saveAndSendMessage(mHash("Machine:Alarms:Current"), $"{alarmCode}", "allarms", $"{alarmCode}");
|
||||
for (int i = 0; i < 8; i++)
|
||||
{
|
||||
if ((alarmCode & (1 << i)) != 0)
|
||||
{
|
||||
activeAlarms.Add($"Alarm {i:000}");
|
||||
}
|
||||
}
|
||||
string rawData = JsonConvert.SerializeObject(activeAlarms);
|
||||
// decodifico allarme e lo trasformo in List<String> di allarmi attivi...
|
||||
saveAndSendMessage(mHash("Machine:Alarms:Current"), rawData, "allarms", rawData);
|
||||
// attesa random
|
||||
Thread.Sleep(rand.Next(minPeriod, maxPeriod));
|
||||
} while (true);
|
||||
}
|
||||
void simParameters()
|
||||
{
|
||||
int minPeriod = 100;
|
||||
int maxPeriod = 500;
|
||||
int minPeriod = 50;
|
||||
int maxPeriod = 300;
|
||||
|
||||
do
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user