cleans up formatting

This commit is contained in:
Andrew Welker
2020-03-24 15:57:34 -06:00
parent c47f7ba7e3
commit ffc0f8f58e
4 changed files with 56 additions and 74 deletions

View File

@@ -1,11 +1,5 @@
using System; using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Crestron.SimplSharp; using Crestron.SimplSharp;
using Newtonsoft.Json;
using PepperDash.Core; using PepperDash.Core;
using PepperDash.Essentials.Core.Monitoring; using PepperDash.Essentials.Core.Monitoring;
@@ -23,11 +17,11 @@ namespace PepperDash.Essentials.AppServer.Messengers
SysMon = sysMon; SysMon = sysMon;
SysMon.SystemMonitorPropertiesChanged += new EventHandler<EventArgs>(SysMon_SystemMonitorPropertiesChanged); SysMon.SystemMonitorPropertiesChanged += SysMon_SystemMonitorPropertiesChanged;
foreach (var p in SysMon.ProgramStatusFeedbackCollection) foreach (var p in SysMon.ProgramStatusFeedbackCollection)
{ {
p.Value.ProgramInfoChanged += new EventHandler<ProgramInfoEventArgs>(ProgramInfoChanged); p.Value.ProgramInfoChanged += ProgramInfoChanged;
} }
CrestronConsole.AddNewConsoleCommand(s => SendFullStatusMessage(), "SendFullSysMonStatus", "Sends the full System Monitor Status", ConsoleAccessLevelEnum.AccessOperator); CrestronConsole.AddNewConsoleCommand(s => SendFullStatusMessage(), "SendFullSysMonStatus", "Sends the full System Monitor Status", ConsoleAccessLevelEnum.AccessOperator);
@@ -72,18 +66,15 @@ namespace PepperDash.Essentials.AppServer.Messengers
Debug.Console(1, "Posting System Monitor Status Message."); Debug.Console(1, "Posting System Monitor Status Message.");
// This takes a while, launch a new thread // This takes a while, launch a new thread
CrestronInvoke.BeginInvoke((o) => CrestronInvoke.BeginInvoke(o => PostStatusMessage(new
{ {
PostStatusMessage(new timeZone = SysMon.TimeZoneFeedback.IntValue,
{ timeZoneName = SysMon.TimeZoneTextFeedback.StringValue,
timeZone = SysMon.TimeZoneFeedback.IntValue, ioControllerVersion = SysMon.IoControllerVersionFeedback.StringValue,
timeZoneName = SysMon.TimeZoneTextFeedback.StringValue, snmpVersion = SysMon.SnmpVersionFeedback.StringValue,
ioControllerVersion = SysMon.IOControllerVersionFeedback.StringValue, bacnetVersion = SysMon.BaCnetAppVersionFeedback.StringValue,
snmpVersion = SysMon.SnmpVersionFeedback.StringValue, controllerVersion = SysMon.ControllerVersionFeedback.StringValue
bacnetVersion = SysMon.BACnetAppVersionFeedback.StringValue, }));
controllerVersion = SysMon.ControllerVersionFeedback.StringValue
});
});
} }
protected override void CustomRegisterWithAppServer(MobileControlSystemController appServerController) protected override void CustomRegisterWithAppServer(MobileControlSystemController appServerController)

View File

@@ -1,9 +1,4 @@
using System; using PepperDash.Essentials.Core;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Crestron.SimplSharp;
using PepperDash.Essentials.Core;
namespace PepperDash.Essentials.Bridges namespace PepperDash.Essentials.Bridges
{ {

View File

@@ -1,9 +1,4 @@
using System; using Crestron.SimplSharpPro.DeviceSupport;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Crestron.SimplSharp;
using Crestron.SimplSharpPro.DeviceSupport;
using Crestron.SimplSharpPro.Diagnostics; using Crestron.SimplSharpPro.Diagnostics;
using PepperDash.Core; using PepperDash.Core;
using PepperDash.Essentials.Core; using PepperDash.Essentials.Core;
@@ -17,7 +12,7 @@ namespace PepperDash.Essentials.Bridges
{ {
public static void LinkToApi(this SystemMonitorController systemMonitorController, BasicTriList trilist, uint joinStart, string joinMapKey) public static void LinkToApi(this SystemMonitorController systemMonitorController, BasicTriList trilist, uint joinStart, string joinMapKey)
{ {
SystemMonitorJoinMap joinMap = new SystemMonitorJoinMap(); var joinMap = new SystemMonitorJoinMap();
var joinMapSerialized = JoinMapHelper.GetJoinMapForDevice(joinMapKey); var joinMapSerialized = JoinMapHelper.GetJoinMapForDevice(joinMapKey);
@@ -30,12 +25,11 @@ namespace PepperDash.Essentials.Bridges
Debug.Console(2, systemMonitorController, "Linking API starting at join: {0}", joinStart); Debug.Console(2, systemMonitorController, "Linking API starting at join: {0}", joinStart);
systemMonitorController.TimeZoneFeedback.LinkInputSig(trilist.UShortInput[joinMap.TimeZone]); systemMonitorController.TimeZoneFeedback.LinkInputSig(trilist.UShortInput[joinMap.TimeZone]);
//trilist.SetUShortSigAction(joinMap.TimeZone, new Action<ushort>(u => systemMonitorController.SetTimeZone(u)));
systemMonitorController.TimeZoneTextFeedback.LinkInputSig(trilist.StringInput[joinMap.TimeZoneName]); systemMonitorController.TimeZoneTextFeedback.LinkInputSig(trilist.StringInput[joinMap.TimeZoneName]);
systemMonitorController.IOControllerVersionFeedback.LinkInputSig(trilist.StringInput[joinMap.IOControllerVersion]); systemMonitorController.IoControllerVersionFeedback.LinkInputSig(trilist.StringInput[joinMap.IOControllerVersion]);
systemMonitorController.SnmpVersionFeedback.LinkInputSig(trilist.StringInput[joinMap.SnmpAppVersion]); systemMonitorController.SnmpVersionFeedback.LinkInputSig(trilist.StringInput[joinMap.SnmpAppVersion]);
systemMonitorController.BACnetAppVersionFeedback.LinkInputSig(trilist.StringInput[joinMap.BACnetAppVersion]); systemMonitorController.BaCnetAppVersionFeedback.LinkInputSig(trilist.StringInput[joinMap.BACnetAppVersion]);
systemMonitorController.ControllerVersionFeedback.LinkInputSig(trilist.StringInput[joinMap.ControllerVersion]); systemMonitorController.ControllerVersionFeedback.LinkInputSig(trilist.StringInput[joinMap.ControllerVersion]);
// iterate the program status feedback collection and map all the joins // iterate the program status feedback collection and map all the joins
@@ -45,20 +39,16 @@ namespace PepperDash.Essentials.Bridges
{ {
var programNumber = p.Value.Program.Number; var programNumber = p.Value.Program.Number;
trilist.SetBoolSigAction(programSlotJoinStart + joinMap.ProgramStart, new Action<bool> trilist.SetBoolSigAction(programSlotJoinStart + joinMap.ProgramStart, b => SystemMonitor.ProgramCollection[programNumber].OperatingState = eProgramOperatingState.Start);
(b => SystemMonitor.ProgramCollection[programNumber].OperatingState = eProgramOperatingState.Start));
p.Value.ProgramStartedFeedback.LinkInputSig(trilist.BooleanInput[programSlotJoinStart + joinMap.ProgramStart]); p.Value.ProgramStartedFeedback.LinkInputSig(trilist.BooleanInput[programSlotJoinStart + joinMap.ProgramStart]);
trilist.SetBoolSigAction(programSlotJoinStart + joinMap.ProgramStop, new Action<bool> trilist.SetBoolSigAction(programSlotJoinStart + joinMap.ProgramStop, b => SystemMonitor.ProgramCollection[programNumber].OperatingState = eProgramOperatingState.Stop);
(b => SystemMonitor.ProgramCollection[programNumber].OperatingState = eProgramOperatingState.Stop));
p.Value.ProgramStoppedFeedback.LinkInputSig(trilist.BooleanInput[programSlotJoinStart + joinMap.ProgramStop]); p.Value.ProgramStoppedFeedback.LinkInputSig(trilist.BooleanInput[programSlotJoinStart + joinMap.ProgramStop]);
trilist.SetBoolSigAction(programSlotJoinStart + joinMap.ProgramRegister, new Action<bool> trilist.SetBoolSigAction(programSlotJoinStart + joinMap.ProgramRegister, b => SystemMonitor.ProgramCollection[programNumber].RegistrationState = eProgramRegistrationState.Register);
(b => SystemMonitor.ProgramCollection[programNumber].RegistrationState = eProgramRegistrationState.Register));
p.Value.ProgramRegisteredFeedback.LinkInputSig(trilist.BooleanInput[programSlotJoinStart + joinMap.ProgramRegister]); p.Value.ProgramRegisteredFeedback.LinkInputSig(trilist.BooleanInput[programSlotJoinStart + joinMap.ProgramRegister]);
trilist.SetBoolSigAction(programSlotJoinStart + joinMap.ProgramUnregister, new Action<bool> trilist.SetBoolSigAction(programSlotJoinStart + joinMap.ProgramUnregister, b => SystemMonitor.ProgramCollection[programNumber].RegistrationState = eProgramRegistrationState.Unregister);
(b => SystemMonitor.ProgramCollection[programNumber].RegistrationState = eProgramRegistrationState.Unregister));
p.Value.ProgramUnregisteredFeedback.LinkInputSig(trilist.BooleanInput[programSlotJoinStart + joinMap.ProgramUnregister]); p.Value.ProgramUnregisteredFeedback.LinkInputSig(trilist.BooleanInput[programSlotJoinStart + joinMap.ProgramUnregister]);
p.Value.ProgramNameFeedback.LinkInputSig(trilist.StringInput[programSlotJoinStart + joinMap.ProgramName]); p.Value.ProgramNameFeedback.LinkInputSig(trilist.StringInput[programSlotJoinStart + joinMap.ProgramName]);

View File

@@ -2,7 +2,6 @@
using System.Collections.Generic; using System.Collections.Generic;
using Crestron.SimplSharp; using Crestron.SimplSharp;
using Crestron.SimplSharpPro.Diagnostics; using Crestron.SimplSharpPro.Diagnostics;
using PepperDash.Core; using PepperDash.Core;
using Newtonsoft.Json; using Newtonsoft.Json;
using Newtonsoft.Json.Converters; using Newtonsoft.Json.Converters;
@@ -26,7 +25,7 @@ namespace PepperDash.Essentials.Core.Monitoring
public StringFeedback SnmpVersionFeedback { get; set; } public StringFeedback SnmpVersionFeedback { get; set; }
public StringFeedback BaCnetAppVersionFeedback { get; set; } public StringFeedback BaCnetAppVersionFeedback { get; set; }
public StringFeedback ControllerVersionFeedback { get; set; } public StringFeedback ControllerVersionFeedback { get; set; }
public SystemMonitorController(string key) public SystemMonitorController(string key)
: base(key) : base(key)
{ {
@@ -34,8 +33,6 @@ namespace PepperDash.Essentials.Core.Monitoring
SystemMonitor.ProgramInitialization.ProgramInitializationUnderUserControl = true; SystemMonitor.ProgramInitialization.ProgramInitializationUnderUserControl = true;
//CrestronConsole.AddNewConsoleCommand(RefreshSystemMonitorData, "RefreshSystemMonitor", "Refreshes System Monitor Feedbacks", ConsoleAccessLevelEnum.AccessOperator);
TimeZoneFeedback = new IntFeedback(() => SystemMonitor.TimeZoneInformation.TimeZoneNumber); TimeZoneFeedback = new IntFeedback(() => SystemMonitor.TimeZoneInformation.TimeZoneNumber);
TimeZoneTextFeedback = new StringFeedback(() => SystemMonitor.TimeZoneInformation.TimeZoneName); TimeZoneTextFeedback = new StringFeedback(() => SystemMonitor.TimeZoneInformation.TimeZoneName);
@@ -44,12 +41,6 @@ namespace PepperDash.Essentials.Core.Monitoring
BaCnetAppVersionFeedback = new StringFeedback(() => SystemMonitor.VersionInformation.BACNetVersion); BaCnetAppVersionFeedback = new StringFeedback(() => SystemMonitor.VersionInformation.BACNetVersion);
ControllerVersionFeedback = new StringFeedback(() => SystemMonitor.VersionInformation.ControlSystemVersion); ControllerVersionFeedback = new StringFeedback(() => SystemMonitor.VersionInformation.ControlSystemVersion);
//var status = string.Format("System Monitor Status: \r TimeZone: {0}\rTimeZoneText: {1}\rIOControllerVersion: {2}\rSnmpAppVersionFeedback: {3}\rBACnetAppVersionFeedback: {4}\rControllerVersionFeedback: {5}",
// SystemMonitor.TimeZoneInformation.TimeZoneNumber, SystemMonitor.TimeZoneInformation.TimeZoneName, SystemMonitor.VersionInformation.IOPVersion, SystemMonitor.VersionInformation.SNMPVersion,
// SystemMonitor.VersionInformation.BACNetVersion, SystemMonitor.VersionInformation.ControlSystemVersion);
//Debug.Console(1, this, status);
ProgramStatusFeedbackCollection = new Dictionary<uint, ProgramStatusFeedbacks>(); ProgramStatusFeedbackCollection = new Dictionary<uint, ProgramStatusFeedbacks>();
foreach (var prog in SystemMonitor.ProgramCollection) foreach (var prog in SystemMonitor.ProgramCollection)
@@ -88,7 +79,7 @@ namespace PepperDash.Essentials.Core.Monitoring
var handler = SystemMonitorPropertiesChanged; var handler = SystemMonitorPropertiesChanged;
if (handler != null) if (handler != null)
{ {
handler(this, new EventArgs()); handler(this, new EventArgs());
} }
} }
@@ -124,15 +115,15 @@ namespace PepperDash.Essentials.Core.Monitoring
program.ProgramInfo.OperatingState = args.OperatingState; program.ProgramInfo.OperatingState = args.OperatingState;
//program.GetProgramInfo(); //program.GetProgramInfo();
if (args.OperatingState == eProgramOperatingState.Start) if (args.OperatingState == eProgramOperatingState.Start)
program.GetProgramInfo(); program.GetProgramInfo();
else else
{ {
program.AggregatedProgramInfoFeedback.FireUpdate(); program.AggregatedProgramInfoFeedback.FireUpdate();
program.OnProgramInfoChanged(); program.OnProgramInfoChanged();
} }
} }
else if (args.EventType == eProgramChangeEventType.RegistrationState) else if (args.EventType == eProgramChangeEventType.RegistrationState)
{ {
@@ -142,7 +133,7 @@ namespace PepperDash.Essentials.Core.Monitoring
program.ProgramInfo.RegistrationState = args.RegistrationState; program.ProgramInfo.RegistrationState = args.RegistrationState;
program.GetProgramInfo(); program.GetProgramInfo();
} }
} }
/// <summary> /// <summary>
@@ -190,8 +181,10 @@ namespace PepperDash.Essentials.Core.Monitoring
ProgramStartedFeedback = new BoolFeedback(() => Program.OperatingState == eProgramOperatingState.Start); ProgramStartedFeedback = new BoolFeedback(() => Program.OperatingState == eProgramOperatingState.Start);
ProgramStoppedFeedback = new BoolFeedback(() => Program.OperatingState == eProgramOperatingState.Stop); ProgramStoppedFeedback = new BoolFeedback(() => Program.OperatingState == eProgramOperatingState.Stop);
ProgramRegisteredFeedback = new BoolFeedback(() => Program.RegistrationState == eProgramRegistrationState.Register); ProgramRegisteredFeedback =
ProgramUnregisteredFeedback = new BoolFeedback(() => Program.RegistrationState == eProgramRegistrationState.Unregister); new BoolFeedback(() => Program.RegistrationState == eProgramRegistrationState.Register);
ProgramUnregisteredFeedback =
new BoolFeedback(() => Program.RegistrationState == eProgramRegistrationState.Unregister);
ProgramNameFeedback = new StringFeedback(() => ProgramInfo.ProgramFile); ProgramNameFeedback = new StringFeedback(() => ProgramInfo.ProgramFile);
ProgramCompileTimeFeedback = new StringFeedback(() => ProgramInfo.CompileTime); ProgramCompileTimeFeedback = new StringFeedback(() => ProgramInfo.CompileTime);
@@ -211,13 +204,14 @@ namespace PepperDash.Essentials.Core.Monitoring
CrestronInvoke.BeginInvoke(GetProgramInfo); CrestronInvoke.BeginInvoke(GetProgramInfo);
} }
private void GetProgramInfo(object o) private void GetProgramInfo(object o)
{ {
Debug.Console(2, "Attempting to get program info for slot: {0}", Program.Number); Debug.Console(2, "Attempting to get program info for slot: {0}", Program.Number);
string response = null; string response = null;
var success = CrestronConsole.SendControlSystemCommand(string.Format("progcomments:{0}", Program.Number), ref response); var success = CrestronConsole.SendControlSystemCommand(
string.Format("progcomments:{0}", Program.Number), ref response);
if (success) if (success)
{ {
@@ -238,7 +232,8 @@ namespace PepperDash.Essentials.Core.Monitoring
ProgramInfo.FriendlyName = ParseConsoleData(response, "Friendly Name", ": ", "\n"); ProgramInfo.FriendlyName = ParseConsoleData(response, "Friendly Name", ": ", "\n");
ProgramInfo.ApplicationName = ParseConsoleData(response, "Application Name", ": ", "\n"); ProgramInfo.ApplicationName = ParseConsoleData(response, "Application Name", ": ", "\n");
ProgramInfo.ProgramTool = ParseConsoleData(response, "Program Tool", ": ", "\n"); ProgramInfo.ProgramTool = ParseConsoleData(response, "Program Tool", ": ", "\n");
ProgramInfo.MinFirmwareVersion = ParseConsoleData(response, "Min Firmware Version", ": ", "\n"); ProgramInfo.MinFirmwareVersion = ParseConsoleData(response, "Min Firmware Version", ": ",
"\n");
ProgramInfo.PlugInVersion = ParseConsoleData(response, "PlugInVersion", ": ", "\n"); ProgramInfo.PlugInVersion = ParseConsoleData(response, "PlugInVersion", ": ", "\n");
} }
else if (ProgramInfo.ProgramFile.Contains(".smw")) else if (ProgramInfo.ProgramFile.Contains(".smw"))
@@ -254,7 +249,9 @@ namespace PepperDash.Essentials.Core.Monitoring
} }
else else
{ {
Debug.Console(2, "Bad or incomplete console command response. Initializing ProgramInfo for slot: {0}", Program.Number); Debug.Console(2,
"Bad or incomplete console command response. Initializing ProgramInfo for slot: {0}",
Program.Number);
// Assume no valid program info. Constructing a new object will wipe all properties // Assume no valid program info. Constructing a new object will wipe all properties
ProgramInfo = new ProgramInfo(Program.Number) ProgramInfo = new ProgramInfo(Program.Number)
@@ -297,10 +294,10 @@ namespace PepperDash.Essentials.Core.Monitoring
try try
{ {
//Debug.Console(2, "ParseConsoleData Data: {0}, Line {1}, startStirng {2}, endString {3}", data, line, startString, endString); //Debug.Console(2, "ParseConsoleData Data: {0}, Line {1}, startStirng {2}, endString {3}", data, line, startString, endString);
var linePosition = data.IndexOf(line, StringComparison.Ordinal); var linePosition = data.IndexOf(line, StringComparison.Ordinal);
var startPosition = data.IndexOf(startString, linePosition, StringComparison.Ordinal) + startString.Length; var startPosition = data.IndexOf(startString, linePosition, StringComparison.Ordinal) +
startString.Length;
var endPosition = data.IndexOf(endString, startPosition, StringComparison.Ordinal); var endPosition = data.IndexOf(endString, startPosition, StringComparison.Ordinal);
outputData = data.Substring(startPosition, endPosition - startPosition).Trim(); outputData = data.Substring(startPosition, endPosition - startPosition).Trim();
//Debug.Console(2, "ParseConsoleData Return: {0}", outputData); //Debug.Console(2, "ParseConsoleData Return: {0}", outputData);
@@ -313,7 +310,6 @@ namespace PepperDash.Essentials.Core.Monitoring
return outputData; return outputData;
} }
} }
} }
/// <summary> /// <summary>
@@ -326,32 +322,39 @@ namespace PepperDash.Essentials.Core.Monitoring
[JsonProperty("programNumber")] [JsonProperty("programNumber")]
public uint ProgramNumber { get; private set; } public uint ProgramNumber { get; private set; }
[JsonConverter(typeof(StringEnumConverter))] [JsonConverter(typeof (StringEnumConverter))]
[JsonProperty("operatingState")] [JsonProperty("operatingState")]
public eProgramOperatingState OperatingState { get; set; } public eProgramOperatingState OperatingState { get; set; }
[JsonConverter(typeof(StringEnumConverter))] [JsonConverter(typeof (StringEnumConverter))]
[JsonProperty("registrationState")] [JsonProperty("registrationState")]
public eProgramRegistrationState RegistrationState { get; set; } public eProgramRegistrationState RegistrationState { get; set; }
[JsonProperty("programFile")] [JsonProperty("programFile")]
public string ProgramFile { get; set; } public string ProgramFile { get; set; }
[JsonProperty("friendlyName")] [JsonProperty("friendlyName")]
public string FriendlyName { get; set; } public string FriendlyName { get; set; }
[JsonProperty("compilerRevision")] [JsonProperty("compilerRevision")]
public string CompilerRevision { get; set; } public string CompilerRevision { get; set; }
[JsonProperty("compileTime")] [JsonProperty("compileTime")]
public string CompileTime { get; set; } public string CompileTime { get; set; }
[JsonProperty("include4Dat")] [JsonProperty("include4Dat")]
public string Include4Dat { get; set; } public string Include4Dat { get; set; }
// SIMPL Windows properties // SIMPL Windows properties
[JsonProperty("systemName")] [JsonProperty("systemName")]
public string SystemName { get; set; } public string SystemName { get; set; }
[JsonProperty("crestronDb")] [JsonProperty("crestronDb")]
public string CrestronDb { get; set; } public string CrestronDb { get; set; }
[JsonProperty("environment")] [JsonProperty("environment")]
public string Environment { get; set; } public string Environment { get; set; }
[JsonProperty("programmer")] [JsonProperty("programmer")]
public string Programmer { get; set; } public string Programmer { get; set; }
@@ -359,10 +362,13 @@ namespace PepperDash.Essentials.Core.Monitoring
// SSP Properties // SSP Properties
[JsonProperty("applicationName")] [JsonProperty("applicationName")]
public string ApplicationName { get; set; } public string ApplicationName { get; set; }
[JsonProperty("programTool")] [JsonProperty("programTool")]
public string ProgramTool { get; set; } public string ProgramTool { get; set; }
[JsonProperty("minFirmwareVersion")] [JsonProperty("minFirmwareVersion")]
public string MinFirmwareVersion { get; set; } public string MinFirmwareVersion { get; set; }
[JsonProperty("plugInVersion")] [JsonProperty("plugInVersion")]
public string PlugInVersion { get; set; } public string PlugInVersion { get; set; }