91 lines
3.8 KiB
C#
91 lines
3.8 KiB
C#
using System;
|
|
using System.Collections.Generic;
|
|
using System.ComponentModel;
|
|
using System.Data;
|
|
using System.Drawing;
|
|
using System.Linq;
|
|
using System.Globalization;
|
|
using System.Text;
|
|
using System.Threading.Tasks;
|
|
using System.Windows.Forms;
|
|
using System.Drawing.Printing;
|
|
using ZedGraph;
|
|
using System.IO;
|
|
using Newtonsoft.Json;
|
|
|
|
namespace GenesisDisplayTool
|
|
{
|
|
public partial class GENESIS_DISPLAY_TOOL : Form
|
|
{
|
|
private void JsonRxData(object sender, EventArgs e)
|
|
{
|
|
String JsonDataType = GetJsonDataType();
|
|
|
|
#region Definitions and initializations
|
|
UInt16 MeterNumber = Constants.Meter1;
|
|
#endregion
|
|
#region Get meter index
|
|
if (rB_JsonMeter1.Checked)
|
|
MeterNumber = Constants.Meter1;
|
|
if (rB_JsonMeter2.Checked)
|
|
MeterNumber = Constants.Meter2;
|
|
if (rB_JsonMeter3.Checked)
|
|
MeterNumber = Constants.Meter3;
|
|
#endregion
|
|
|
|
if (Int32.Equals(DisplayOnTab, SelectedTab.Json))
|
|
{
|
|
try
|
|
{
|
|
String Timestamp = DateTime.Now.ToString(Formats.RawDataDateTimeLogString, this.globalCulture);
|
|
|
|
#region Decode command
|
|
WaitForBackgroundWorkers();
|
|
if (MassLogging)
|
|
{
|
|
switch (MeterNumber)
|
|
{
|
|
case Constants.Meter1:
|
|
//Display.TextboxJsonRxData($"{Timestamp} {CommandInterface1.ReplyCommand(RxStringCmd[Meter])}");
|
|
Display.LabelJsonRead(CommandInterface1.ReplyCommandLabelText(RxStringCmd[MeterNumber]));
|
|
CommandInterface1.DecodeHighLevelErrors(RxStringCmd[MeterNumber], DisplayOnTab, JsonDataType);
|
|
break;
|
|
|
|
case Constants.Meter2:
|
|
//Display.TextboxJsonRxData($"{Timestamp} {CommandInterface2.ReplyCommand(RxStringCmd[Meter])}");
|
|
Display.LabelJsonRead(CommandInterface2.ReplyCommandLabelText(RxStringCmd[MeterNumber]));
|
|
CommandInterface2.DecodeHighLevelErrors(RxStringCmd[MeterNumber], DisplayOnTab, JsonDataType);
|
|
break;
|
|
|
|
case Constants.Meter3:
|
|
//Display.TextboxJsonRxData($"{Timestamp} {CommandInterface3.ReplyCommand(RxStringCmd[Meter])}");
|
|
Display.LabelJsonRead(CommandInterface3.ReplyCommandLabelText(RxStringCmd[MeterNumber]));
|
|
CommandInterface3.DecodeHighLevelErrors(RxStringCmd[MeterNumber], DisplayOnTab, JsonDataType);
|
|
break;
|
|
default: break;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
//Display.TextboxJsonRxData($"{Timestamp} {CommandInterface1.ReplyCommand(RxStringCmd[Meter])}");
|
|
Display.LabelJsonRead(CommandInterface1.ReplyCommandLabelText(RxStringCmd[MeterNumber]));
|
|
CommandInterface1.DecodeHighLevelErrors(RxStringCmd[MeterNumber], DisplayOnTab, JsonDataType);
|
|
}
|
|
#endregion
|
|
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
#region Error: exception
|
|
ErrorLog.Log(LogErrReason.Exception(), "JsonRxData() failed", $"0x{ex.HResult.ToString("X", this.globalCulture)}", String.Empty);
|
|
MessageBox.Show("COMMAND CHANNEL RX-Dectection error!", "Form closing", MessageBoxButtons.OK, MessageBoxIcon.Error);
|
|
#endregion
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
}
|
|
|
|
}
|