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 } } } } }