mirror of
https://github.com/PepperDash/Essentials.git
synced 2026-02-16 13:15:03 +00:00
Updated SystemMonitorController and System Monitor JoinMap;
resolves #162
This commit is contained in:
@@ -2,224 +2,140 @@
|
|||||||
|
|
||||||
namespace PepperDash.Essentials.Core.Bridges
|
namespace PepperDash.Essentials.Core.Bridges
|
||||||
{
|
{
|
||||||
public class SystemMonitorJoinMap : JoinMapBase
|
public class SystemMonitorJoinMap : JoinMapBaseAdvanced
|
||||||
{
|
{
|
||||||
/// <summary>
|
[JoinName("TimeZone")]
|
||||||
/// Offset to indicate where the range of iterated program joins will start
|
public JoinDataComplete TimeZone = new JoinDataComplete(new JoinData() { JoinNumber = 1, JoinSpan = 1 },
|
||||||
/// </summary>
|
new JoinMetadata() { Label = "Processor Timezone", JoinCapabilities = eJoinCapabilities.ToSIMPL, JoinType = eJoinType.Analog });
|
||||||
public uint ProgramStartJoin { get; set; }
|
|
||||||
|
|
||||||
/// <summary>
|
[JoinName("TimeZoneName")]
|
||||||
/// Offset to indicate where the range of iterated Ethernet joins will start
|
public JoinDataComplete TimeZoneName = new JoinDataComplete(new JoinData() { JoinNumber = 1, JoinSpan = 1 },
|
||||||
/// </summary>
|
new JoinMetadata() { Label = "Processor Timezone Name", JoinCapabilities = eJoinCapabilities.ToSIMPL, JoinType = eJoinType.Serial });
|
||||||
public uint EthernetStartJoin { get; set; }
|
|
||||||
|
|
||||||
/// <summary>
|
[JoinName("IOControllerVersion")]
|
||||||
/// Offset between each program join set
|
public JoinDataComplete IOControllerVersion = new JoinDataComplete(new JoinData() { JoinNumber = 2, JoinSpan = 1 },
|
||||||
/// </summary>
|
new JoinMetadata() { Label = "Processor IO Controller Version", JoinCapabilities = eJoinCapabilities.ToSIMPL, JoinType = eJoinType.Serial });
|
||||||
public uint ProgramOffsetJoin { get; set; }
|
|
||||||
|
|
||||||
/// <summary>
|
[JoinName("SnmpAppVersion")]
|
||||||
/// Offset between each Ethernet Interface join set
|
public JoinDataComplete SnmpAppVersion = new JoinDataComplete(new JoinData() { JoinNumber = 3, JoinSpan = 1 },
|
||||||
/// </summary>
|
new JoinMetadata() { Label = "Processor SNMP App Version", JoinCapabilities = eJoinCapabilities.ToSIMPL, JoinType = eJoinType.Serial });
|
||||||
public uint EthernetOffsetJoin { get; set; }
|
|
||||||
|
|
||||||
#region Digitals
|
[JoinName("BACnetAppVersion")]
|
||||||
/// <summary>
|
public JoinDataComplete BACnetAppVersion = new JoinDataComplete(new JoinData() { JoinNumber = 4, JoinSpan = 1 },
|
||||||
/// Range Sets and reports whether the corresponding program slot is started
|
new JoinMetadata() { Label = "Processor BACNet App Version", JoinCapabilities = eJoinCapabilities.ToSIMPL, JoinType = eJoinType.Serial });
|
||||||
/// </summary>
|
|
||||||
public uint ProgramStart { get; set; }
|
|
||||||
/// <summary>
|
|
||||||
/// Range Sets and reports whether the corresponding program slot is stopped
|
|
||||||
/// </summary>
|
|
||||||
public uint ProgramStop { get; set; }
|
|
||||||
/// <summary>
|
|
||||||
/// Range Sets and reports whether the corresponding program is registered
|
|
||||||
/// </summary>
|
|
||||||
public uint ProgramRegister { get; set; }
|
|
||||||
/// <summary>
|
|
||||||
/// Range Sets and reports whether the corresponding program is unregistered
|
|
||||||
/// </summary>
|
|
||||||
public uint ProgramUnregister { get; set; }
|
|
||||||
#endregion
|
|
||||||
|
|
||||||
#region Analogs
|
[JoinName("ControllerVersion")]
|
||||||
/// <summary>
|
public JoinDataComplete ControllerVersion = new JoinDataComplete(new JoinData() { JoinNumber = 5, JoinSpan = 1 },
|
||||||
/// Sets and reports the time zone
|
new JoinMetadata() { Label = "Processor Controller Version", JoinCapabilities = eJoinCapabilities.ToSIMPL, JoinType = eJoinType.Serial });
|
||||||
/// </summary>
|
|
||||||
public uint TimeZone { get; set; }
|
|
||||||
#endregion
|
|
||||||
|
|
||||||
#region Serials
|
[JoinName("SerialNumber")]
|
||||||
/// <summary>
|
public JoinDataComplete SerialNumber = new JoinDataComplete(new JoinData() { JoinNumber = 6, JoinSpan = 1 },
|
||||||
/// Reports the time zone name
|
new JoinMetadata() { Label = "Processor Serial Number", JoinCapabilities = eJoinCapabilities.ToSIMPL, JoinType = eJoinType.Serial });
|
||||||
/// </summary>
|
|
||||||
public uint TimeZoneName { get; set; }
|
|
||||||
/// <summary>
|
|
||||||
/// Reports the IO Controller Version
|
|
||||||
/// </summary>
|
|
||||||
public uint IOControllerVersion { get; set; }
|
|
||||||
/// <summary>
|
|
||||||
/// Reports the SNMP App Version
|
|
||||||
/// </summary>
|
|
||||||
public uint SnmpAppVersion { get; set; }
|
|
||||||
/// <summary>
|
|
||||||
/// Reports the BACnet App Version
|
|
||||||
/// </summary>
|
|
||||||
public uint BACnetAppVersion { get; set; }
|
|
||||||
/// <summary>
|
|
||||||
/// Reports the firmware version
|
|
||||||
/// </summary>
|
|
||||||
public uint ControllerVersion { get; set; }
|
|
||||||
|
|
||||||
/// <summary>
|
[JoinName("Model")]
|
||||||
/// Reports the name of the corresponding program
|
public JoinDataComplete Model = new JoinDataComplete(new JoinData() { JoinNumber = 7, JoinSpan = 1 },
|
||||||
/// </summary>
|
new JoinMetadata() { Label = "Processor Model", JoinCapabilities = eJoinCapabilities.ToSIMPL, JoinType = eJoinType.Serial });
|
||||||
public uint ProgramName { get; set; }
|
|
||||||
/// <summary>
|
|
||||||
/// Reports the compile time of the corresponding program
|
|
||||||
/// </summary>
|
|
||||||
public uint ProgramCompiledTime { get; set; }
|
|
||||||
/// <summary>
|
|
||||||
/// Reports the Crestron Database version of the corresponding program
|
|
||||||
/// </summary>
|
|
||||||
public uint ProgramCrestronDatabaseVersion { get; set; }
|
|
||||||
/// <summary>
|
|
||||||
/// Reports the Environment Version of the corresponding program
|
|
||||||
/// </summary>
|
|
||||||
public uint ProgramEnvironmentVersion { get; set; }
|
|
||||||
/// <summary>
|
|
||||||
/// Serialized JSON output that aggregates the program info of the corresponding program
|
|
||||||
/// </summary>
|
|
||||||
public uint AggregatedProgramInfo { get; set; }
|
|
||||||
/// <summary>
|
|
||||||
/// Reports the controller serial number
|
|
||||||
/// </summary>
|
|
||||||
public uint SerialNumber { get; set; }
|
|
||||||
/// <summary>
|
|
||||||
/// Reports the controller model
|
|
||||||
/// </summary>
|
|
||||||
public uint Model { get; set; }
|
|
||||||
/// <summary>
|
|
||||||
/// Reports the Host name set on the corresponding interface
|
|
||||||
/// </summary>
|
|
||||||
public uint HostName { get; set; }
|
|
||||||
/// <summary>
|
|
||||||
/// Reports the Current IP address set on the corresponding interface. If DHCP is enabled, this will be the DHCP assigned address.
|
|
||||||
/// </summary>
|
|
||||||
public uint CurrentIpAddress { get; set; }
|
|
||||||
/// <summary>
|
|
||||||
/// Reporst the Current Default Gateway set on the corresponding interface. If DHCP is enabled, this will be the DHCP assigned gateway
|
|
||||||
/// </summary>
|
|
||||||
public uint CurrentDefaultGateway { get; set; }
|
|
||||||
/// <summary>
|
|
||||||
/// Reports the Current Subnet Mask set on the corresponding interface. If DHCP is enabled, this will be the DHCP assigned subnet mask
|
|
||||||
/// </summary>
|
|
||||||
public uint CurrentSubnetMask { get; set; }
|
|
||||||
/// <summary>
|
|
||||||
/// Reports the Static IP address set on the corresponding interface. If DHCP is disabled, this will match the Current IP address
|
|
||||||
/// </summary>
|
|
||||||
public uint StaticIpAddress { get; set; }
|
|
||||||
/// <summary>
|
|
||||||
/// Reporst the Static Default Gateway set on the corresponding interface. If DHCP is disabled, this will match the Current gateway
|
|
||||||
/// </summary>
|
|
||||||
public uint StaticDefaultGateway { get; set; }
|
|
||||||
/// <summary>
|
|
||||||
/// Reports the Current Subnet Mask set on the corresponding interface. If DHCP is enabled, this will be the DHCP assigned subnet mask
|
|
||||||
/// </summary>
|
|
||||||
public uint StaticSubnetMask { get; set; }
|
|
||||||
/// <summary>
|
|
||||||
/// Reports the current DomainFeedback on the corresponding interface
|
|
||||||
/// </summary>
|
|
||||||
public uint Domain { get; set; }
|
|
||||||
/// <summary>
|
|
||||||
/// Reports the current DNS Servers on the corresponding interface
|
|
||||||
/// </summary>
|
|
||||||
public uint DnsServer { get; set; }
|
|
||||||
/// <summary>
|
|
||||||
/// Reports the MAC Address of the corresponding interface
|
|
||||||
/// </summary>
|
|
||||||
public uint MacAddress { get; set; }
|
|
||||||
/// <summary>
|
|
||||||
/// Reports the DHCP Status of the corresponding interface
|
|
||||||
/// </summary>
|
|
||||||
public uint DhcpStatus { get; set; }
|
|
||||||
|
|
||||||
/// <summary>
|
[JoinName("Uptime")]
|
||||||
/// Reports the current uptime. Updated in 5 minute intervals.
|
public JoinDataComplete Uptime = new JoinDataComplete(new JoinData() { JoinNumber = 8, JoinSpan = 1 },
|
||||||
/// </summary>
|
new JoinMetadata() { Label = "Processor Uptime", JoinCapabilities = eJoinCapabilities.ToSIMPL, JoinType = eJoinType.Serial });
|
||||||
public uint Uptime { get; set; }
|
|
||||||
|
|
||||||
/// <summary>
|
[JoinName("LastBoot")]
|
||||||
/// Reports the date of the last boot
|
public JoinDataComplete LastBoot = new JoinDataComplete(new JoinData() { JoinNumber = 9, JoinSpan = 1 },
|
||||||
/// </summary>
|
new JoinMetadata() { Label = "Processor Last Boot", JoinCapabilities = eJoinCapabilities.ToSIMPL, JoinType = eJoinType.Serial });
|
||||||
public uint LastBoot { get; set; }
|
|
||||||
#endregion
|
|
||||||
|
|
||||||
public SystemMonitorJoinMap()
|
[JoinName("ProgramOffsetJoin")]
|
||||||
|
public JoinDataComplete ProgramOffsetJoin = new JoinDataComplete(new JoinData() { JoinNumber = 5, JoinSpan = 1 },
|
||||||
|
new JoinMetadata() { Label = "All Program Data is offset between slots by 5 - First Joins Start at 11", JoinCapabilities = eJoinCapabilities.None, JoinType = eJoinType.None });
|
||||||
|
|
||||||
|
[JoinName("ProgramStart")]
|
||||||
|
public JoinDataComplete ProgramStart = new JoinDataComplete(new JoinData() { JoinNumber = 11, JoinSpan = 1 },
|
||||||
|
new JoinMetadata() { Label = "Processor Program Start / Fb", JoinCapabilities = eJoinCapabilities.ToFromSIMPL, JoinType = eJoinType.Digital });
|
||||||
|
|
||||||
|
[JoinName("ProgramStop")]
|
||||||
|
public JoinDataComplete ProgramStop = new JoinDataComplete(new JoinData() { JoinNumber = 12, JoinSpan = 1 },
|
||||||
|
new JoinMetadata() { Label = "Processor Program Stop / Fb", JoinCapabilities = eJoinCapabilities.ToFromSIMPL, JoinType = eJoinType.Digital });
|
||||||
|
|
||||||
|
[JoinName("ProgramRegister")]
|
||||||
|
public JoinDataComplete ProgramRegister = new JoinDataComplete(new JoinData() { JoinNumber = 13, JoinSpan = 1 },
|
||||||
|
new JoinMetadata() { Label = "Processor Program Register / Fb", JoinCapabilities = eJoinCapabilities.ToFromSIMPL, JoinType = eJoinType.Digital });
|
||||||
|
|
||||||
|
[JoinName("ProgramUnregister")]
|
||||||
|
public JoinDataComplete ProgramUnregister = new JoinDataComplete(new JoinData() { JoinNumber = 14, JoinSpan = 1 },
|
||||||
|
new JoinMetadata() { Label = "Processor Program UnRegister / Fb", JoinCapabilities = eJoinCapabilities.ToFromSIMPL, JoinType = eJoinType.Digital });
|
||||||
|
|
||||||
|
[JoinName("ProgramName")]
|
||||||
|
public JoinDataComplete ProgramName = new JoinDataComplete(new JoinData() { JoinNumber = 11, JoinSpan = 1 },
|
||||||
|
new JoinMetadata() { Label = "Processor Program Name", JoinCapabilities = eJoinCapabilities.ToSIMPL, JoinType = eJoinType.Serial });
|
||||||
|
|
||||||
|
[JoinName("ProgramCompiledTime")]
|
||||||
|
public JoinDataComplete ProgramCompiledTime = new JoinDataComplete(new JoinData() { JoinNumber = 12, JoinSpan = 1 },
|
||||||
|
new JoinMetadata() { Label = "Processor Program Compile Time", JoinCapabilities = eJoinCapabilities.ToSIMPL, JoinType = eJoinType.Serial });
|
||||||
|
|
||||||
|
[JoinName("ProgramCrestronDatabaseVersion")]
|
||||||
|
public JoinDataComplete ProgramCrestronDatabaseVersion = new JoinDataComplete(new JoinData() { JoinNumber = 13, JoinSpan = 1 },
|
||||||
|
new JoinMetadata() { Label = "Processor Program Database Version", JoinCapabilities = eJoinCapabilities.ToSIMPL, JoinType = eJoinType.Serial });
|
||||||
|
|
||||||
|
[JoinName("ProgramEnvironmentVersion")]
|
||||||
|
public JoinDataComplete ProgramEnvironmentVersion = new JoinDataComplete(new JoinData() { JoinNumber = 14, JoinSpan = 1 },
|
||||||
|
new JoinMetadata() { Label = "Processor Program Environment Version", JoinCapabilities = eJoinCapabilities.ToSIMPL, JoinType = eJoinType.Serial });
|
||||||
|
|
||||||
|
[JoinName("AggregatedProgramInfo")]
|
||||||
|
public JoinDataComplete AggregatedProgramInfo = new JoinDataComplete(new JoinData() { JoinNumber = 15, JoinSpan = 1 },
|
||||||
|
new JoinMetadata() { Label = "Processor Program Aggregate Info Json", JoinCapabilities = eJoinCapabilities.ToSIMPL, JoinType = eJoinType.Serial });
|
||||||
|
|
||||||
|
[JoinName("EthernetOffsetJoin")]
|
||||||
|
public JoinDataComplete EthernetOffsetJoin = new JoinDataComplete(new JoinData() { JoinNumber = 15, JoinSpan = 1 },
|
||||||
|
new JoinMetadata() { Label = "All Ethernet Data is offset between Nics by 5 - First Joins Start at 76", JoinCapabilities = eJoinCapabilities.None, JoinType = eJoinType.None });
|
||||||
|
|
||||||
|
[JoinName("HostName")]
|
||||||
|
public JoinDataComplete HostName = new JoinDataComplete(new JoinData() { JoinNumber = 76, JoinSpan = 1 },
|
||||||
|
new JoinMetadata() { Label = "Processor Ethernet Hostname", JoinCapabilities = eJoinCapabilities.ToSIMPL, JoinType = eJoinType.Serial });
|
||||||
|
|
||||||
|
[JoinName("CurrentIpAddress")]
|
||||||
|
public JoinDataComplete CurrentIpAddress = new JoinDataComplete(new JoinData() { JoinNumber = 77, JoinSpan = 1 },
|
||||||
|
new JoinMetadata() { Label = "Processor Ethernet Current Ip Address", JoinCapabilities = eJoinCapabilities.ToSIMPL, JoinType = eJoinType.Serial });
|
||||||
|
|
||||||
|
[JoinName("CurrentSubnetMask")]
|
||||||
|
public JoinDataComplete CurrentSubnetMask = new JoinDataComplete(new JoinData() { JoinNumber = 78, JoinSpan = 1 },
|
||||||
|
new JoinMetadata() { Label = "Processor Ethernet Current Subnet Mask", JoinCapabilities = eJoinCapabilities.ToSIMPL, JoinType = eJoinType.Serial });
|
||||||
|
|
||||||
|
[JoinName("CurrentDefaultGateway")]
|
||||||
|
public JoinDataComplete CurrentDefaultGateway = new JoinDataComplete(new JoinData() { JoinNumber = 79, JoinSpan = 1 },
|
||||||
|
new JoinMetadata() { Label = "Processor Ethernet Current Default Gateway", JoinCapabilities = eJoinCapabilities.ToSIMPL, JoinType = eJoinType.Serial });
|
||||||
|
|
||||||
|
[JoinName("StaticIpAddress")]
|
||||||
|
public JoinDataComplete StaticIpAddress = new JoinDataComplete(new JoinData() { JoinNumber = 80, JoinSpan = 1 },
|
||||||
|
new JoinMetadata() { Label = "Processor Ethernet Static Ip Address", JoinCapabilities = eJoinCapabilities.ToSIMPL, JoinType = eJoinType.Serial });
|
||||||
|
|
||||||
|
[JoinName("StaticSubnetMask")]
|
||||||
|
public JoinDataComplete StaticSubnetMask = new JoinDataComplete(new JoinData() { JoinNumber = 81, JoinSpan = 1 },
|
||||||
|
new JoinMetadata() { Label = "Processor Ethernet Static Subnet Mask", JoinCapabilities = eJoinCapabilities.ToSIMPL, JoinType = eJoinType.Serial });
|
||||||
|
|
||||||
|
[JoinName("StaticDefaultGateway")]
|
||||||
|
public JoinDataComplete StaticDefaultGateway = new JoinDataComplete(new JoinData() { JoinNumber = 82, JoinSpan = 1 },
|
||||||
|
new JoinMetadata() { Label = "Processor Ethernet Static Default Gateway", JoinCapabilities = eJoinCapabilities.ToSIMPL, JoinType = eJoinType.Serial });
|
||||||
|
|
||||||
|
[JoinName("Domain")]
|
||||||
|
public JoinDataComplete Domain = new JoinDataComplete(new JoinData() { JoinNumber = 83, JoinSpan = 1 },
|
||||||
|
new JoinMetadata() { Label = "Processor Ethernet Domain", JoinCapabilities = eJoinCapabilities.ToSIMPL, JoinType = eJoinType.Serial });
|
||||||
|
|
||||||
|
[JoinName("DnsServer")]
|
||||||
|
public JoinDataComplete DnsServer = new JoinDataComplete(new JoinData() { JoinNumber = 84, JoinSpan = 1 },
|
||||||
|
new JoinMetadata() { Label = "Processor Ethernet Dns Server", JoinCapabilities = eJoinCapabilities.ToSIMPL, JoinType = eJoinType.Serial });
|
||||||
|
|
||||||
|
[JoinName("MacAddress")]
|
||||||
|
public JoinDataComplete MacAddress = new JoinDataComplete(new JoinData() { JoinNumber = 85, JoinSpan = 1 },
|
||||||
|
new JoinMetadata() { Label = "Processor Ethernet Mac Address", JoinCapabilities = eJoinCapabilities.ToSIMPL, JoinType = eJoinType.Serial });
|
||||||
|
|
||||||
|
[JoinName("DhcpStatus")]
|
||||||
|
public JoinDataComplete DhcpStatus = new JoinDataComplete(new JoinData() { JoinNumber = 86, JoinSpan = 1 },
|
||||||
|
new JoinMetadata() { Label = "Processor Ethernet Dhcp Status", JoinCapabilities = eJoinCapabilities.ToSIMPL, JoinType = eJoinType.Serial });
|
||||||
|
|
||||||
|
|
||||||
|
public SystemMonitorJoinMap(uint joinStart)
|
||||||
|
: base(joinStart, typeof(SystemMonitorJoinMap))
|
||||||
{
|
{
|
||||||
TimeZone = 1;
|
|
||||||
|
|
||||||
TimeZoneName = 1;
|
|
||||||
IOControllerVersion = 2;
|
|
||||||
SnmpAppVersion = 3;
|
|
||||||
BACnetAppVersion = 4;
|
|
||||||
ControllerVersion = 5;
|
|
||||||
SerialNumber = 6;
|
|
||||||
Model = 7;
|
|
||||||
Uptime = 8;
|
|
||||||
LastBoot = 9;
|
|
||||||
|
|
||||||
|
|
||||||
ProgramStartJoin = 10;
|
|
||||||
|
|
||||||
ProgramOffsetJoin = 5;
|
|
||||||
|
|
||||||
// Offset in groups of 5 joins
|
|
||||||
ProgramStart = 1;
|
|
||||||
ProgramStop = 2;
|
|
||||||
ProgramRegister = 3;
|
|
||||||
ProgramUnregister = 4;
|
|
||||||
|
|
||||||
ProgramName = 1;
|
|
||||||
ProgramCompiledTime = 2;
|
|
||||||
ProgramCrestronDatabaseVersion = 3;
|
|
||||||
ProgramEnvironmentVersion = 4;
|
|
||||||
AggregatedProgramInfo = 5;
|
|
||||||
|
|
||||||
EthernetStartJoin = 75;
|
|
||||||
|
|
||||||
EthernetOffsetJoin = 15;
|
|
||||||
|
|
||||||
// Offset in groups of 15
|
|
||||||
HostName = 1;
|
|
||||||
CurrentIpAddress = 2;
|
|
||||||
CurrentSubnetMask = 3;
|
|
||||||
CurrentDefaultGateway = 4;
|
|
||||||
StaticIpAddress = 5;
|
|
||||||
StaticSubnetMask = 6;
|
|
||||||
StaticDefaultGateway = 7;
|
|
||||||
Domain = 8;
|
|
||||||
DnsServer = 9;
|
|
||||||
MacAddress = 10;
|
|
||||||
DhcpStatus = 11;
|
|
||||||
}
|
|
||||||
|
|
||||||
public override void OffsetJoinNumbers(uint joinStart)
|
|
||||||
{
|
|
||||||
var joinOffset = joinStart - 1;
|
|
||||||
|
|
||||||
TimeZone = TimeZone + joinOffset;
|
|
||||||
|
|
||||||
TimeZoneName = TimeZoneName + joinOffset;
|
|
||||||
IOControllerVersion = IOControllerVersion + joinOffset;
|
|
||||||
SnmpAppVersion = SnmpAppVersion + joinOffset;
|
|
||||||
BACnetAppVersion = BACnetAppVersion + joinOffset;
|
|
||||||
ControllerVersion = ControllerVersion + joinOffset;
|
|
||||||
|
|
||||||
// Sets the initial join value where the iterated program joins will begin
|
|
||||||
ProgramStartJoin = ProgramStartJoin + joinOffset;
|
|
||||||
EthernetStartJoin = EthernetStartJoin + joinOffset;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -202,29 +202,27 @@ namespace PepperDash.Essentials.Core.Monitoring
|
|||||||
|
|
||||||
public override void LinkToApi(BasicTriList trilist, uint joinStart, string joinMapKey, EiscApiAdvanced bridge)
|
public override void LinkToApi(BasicTriList trilist, uint joinStart, string joinMapKey, EiscApiAdvanced bridge)
|
||||||
{
|
{
|
||||||
var joinMap = new SystemMonitorJoinMap();
|
var joinMap = new SystemMonitorJoinMap(joinStart);
|
||||||
|
|
||||||
var joinMapSerialized = JoinMapHelper.GetSerializedJoinMapForDevice(joinMapKey);
|
var joinMapSerialized = JoinMapHelper.GetSerializedJoinMapForDevice(joinMapKey);
|
||||||
|
|
||||||
if (!string.IsNullOrEmpty(joinMapSerialized))
|
if (!string.IsNullOrEmpty(joinMapSerialized))
|
||||||
joinMap = JsonConvert.DeserializeObject<SystemMonitorJoinMap>(joinMapSerialized);
|
joinMap = JsonConvert.DeserializeObject<SystemMonitorJoinMap>(joinMapSerialized);
|
||||||
|
|
||||||
joinMap.OffsetJoinNumbers(joinStart);
|
|
||||||
|
|
||||||
Debug.Console(1, "Linking to Trilist '{0}'", trilist.ID.ToString("X"));
|
Debug.Console(1, "Linking to Trilist '{0}'", trilist.ID.ToString("X"));
|
||||||
Debug.Console(2, this, "Linking API starting at join: {0}", joinStart);
|
Debug.Console(2, this, "Linking API starting at join: {0}", joinStart);
|
||||||
|
|
||||||
TimeZoneFeedback.LinkInputSig(trilist.UShortInput[joinMap.TimeZone]);
|
TimeZoneFeedback.LinkInputSig(trilist.UShortInput[joinMap.TimeZone.JoinNumber]);
|
||||||
TimeZoneTextFeedback.LinkInputSig(trilist.StringInput[joinMap.TimeZoneName]);
|
TimeZoneTextFeedback.LinkInputSig(trilist.StringInput[joinMap.TimeZoneName.JoinNumber]);
|
||||||
|
|
||||||
IoControllerVersionFeedback.LinkInputSig(trilist.StringInput[joinMap.IOControllerVersion]);
|
IoControllerVersionFeedback.LinkInputSig(trilist.StringInput[joinMap.IOControllerVersion.JoinNumber]);
|
||||||
SnmpVersionFeedback.LinkInputSig(trilist.StringInput[joinMap.SnmpAppVersion]);
|
SnmpVersionFeedback.LinkInputSig(trilist.StringInput[joinMap.SnmpAppVersion.JoinNumber]);
|
||||||
BaCnetAppVersionFeedback.LinkInputSig(trilist.StringInput[joinMap.BACnetAppVersion]);
|
BaCnetAppVersionFeedback.LinkInputSig(trilist.StringInput[joinMap.BACnetAppVersion.JoinNumber]);
|
||||||
ControllerVersionFeedback.LinkInputSig(trilist.StringInput[joinMap.ControllerVersion]);
|
ControllerVersionFeedback.LinkInputSig(trilist.StringInput[joinMap.ControllerVersion.JoinNumber]);
|
||||||
SerialNumberFeedback.LinkInputSig(trilist.StringInput[joinMap.SerialNumber]);
|
SerialNumberFeedback.LinkInputSig(trilist.StringInput[joinMap.SerialNumber.JoinNumber]);
|
||||||
ModelFeedback.LinkInputSig(trilist.StringInput[joinMap.Model]);
|
ModelFeedback.LinkInputSig(trilist.StringInput[joinMap.Model.JoinNumber]);
|
||||||
UptimeFeedback.LinkInputSig(trilist.StringInput[joinMap.Uptime]);
|
UptimeFeedback.LinkInputSig(trilist.StringInput[joinMap.Uptime.JoinNumber]);
|
||||||
LastStartFeedback.LinkInputSig(trilist.StringInput[joinMap.LastBoot]);
|
LastStartFeedback.LinkInputSig(trilist.StringInput[joinMap.LastBoot.JoinNumber]);
|
||||||
|
|
||||||
// iterate the program status feedback collection and map all the joins
|
// iterate the program status feedback collection and map all the joins
|
||||||
LinkProgramInfoJoins(this, trilist, joinMap);
|
LinkProgramInfoJoins(this, trilist, joinMap);
|
||||||
@@ -234,64 +232,63 @@ namespace PepperDash.Essentials.Core.Monitoring
|
|||||||
|
|
||||||
private static void LinkEthernetInfoJoins(SystemMonitorController systemMonitorController, BasicTriList trilist, SystemMonitorJoinMap joinMap)
|
private static void LinkEthernetInfoJoins(SystemMonitorController systemMonitorController, BasicTriList trilist, SystemMonitorJoinMap joinMap)
|
||||||
{
|
{
|
||||||
var ethernetSlotJoinStart = joinMap.EthernetStartJoin;
|
uint ethernetSlotJoinStart = 0;
|
||||||
|
|
||||||
foreach (var fb in systemMonitorController.EthernetStatusFeedbackCollection)
|
foreach (var fb in systemMonitorController.EthernetStatusFeedbackCollection)
|
||||||
{
|
{
|
||||||
fb.Value.CurrentIpAddressFeedback.LinkInputSig(trilist.StringInput[ethernetSlotJoinStart + joinMap.CurrentIpAddress]);
|
fb.Value.CurrentIpAddressFeedback.LinkInputSig(trilist.StringInput[ethernetSlotJoinStart + joinMap.CurrentIpAddress.JoinNumber]);
|
||||||
fb.Value.CurrentSubnetMaskFeedback.LinkInputSig(trilist.StringInput[ethernetSlotJoinStart + joinMap.CurrentSubnetMask]);
|
fb.Value.CurrentSubnetMaskFeedback.LinkInputSig(trilist.StringInput[ethernetSlotJoinStart + joinMap.CurrentSubnetMask.JoinNumber]);
|
||||||
fb.Value.CurrentDefaultGatewayFeedback.LinkInputSig(trilist.StringInput[ethernetSlotJoinStart + joinMap.CurrentDefaultGateway]);
|
fb.Value.CurrentDefaultGatewayFeedback.LinkInputSig(trilist.StringInput[ethernetSlotJoinStart + joinMap.CurrentDefaultGateway.JoinNumber]);
|
||||||
fb.Value.StaticIpAddressFeedback.LinkInputSig(trilist.StringInput[ethernetSlotJoinStart + joinMap.StaticIpAddress]);
|
fb.Value.StaticIpAddressFeedback.LinkInputSig(trilist.StringInput[ethernetSlotJoinStart + joinMap.StaticIpAddress.JoinNumber]);
|
||||||
fb.Value.StaticSubnetMaskFeedback.LinkInputSig(trilist.StringInput[ethernetSlotJoinStart + joinMap.StaticSubnetMask]);
|
fb.Value.StaticSubnetMaskFeedback.LinkInputSig(trilist.StringInput[ethernetSlotJoinStart + joinMap.StaticSubnetMask.JoinNumber]);
|
||||||
fb.Value.StaticDefaultGatewayFeedback.LinkInputSig(trilist.StringInput[ethernetSlotJoinStart + joinMap.StaticDefaultGateway]);
|
fb.Value.StaticDefaultGatewayFeedback.LinkInputSig(trilist.StringInput[ethernetSlotJoinStart + joinMap.StaticDefaultGateway.JoinNumber]);
|
||||||
fb.Value.HostNameFeedback.LinkInputSig(trilist.StringInput[ethernetSlotJoinStart + joinMap.HostName]);
|
fb.Value.HostNameFeedback.LinkInputSig(trilist.StringInput[ethernetSlotJoinStart + joinMap.HostName.JoinNumber]);
|
||||||
fb.Value.MacAddressFeedback.LinkInputSig(trilist.StringInput[ethernetSlotJoinStart + joinMap.MacAddress]);
|
fb.Value.MacAddressFeedback.LinkInputSig(trilist.StringInput[ethernetSlotJoinStart + joinMap.MacAddress.JoinNumber]);
|
||||||
fb.Value.DomainFeedback.LinkInputSig(trilist.StringInput[ethernetSlotJoinStart + joinMap.Domain]);
|
fb.Value.DomainFeedback.LinkInputSig(trilist.StringInput[ethernetSlotJoinStart + joinMap.Domain.JoinNumber]);
|
||||||
fb.Value.DnsServerFeedback.LinkInputSig(trilist.StringInput[ethernetSlotJoinStart + joinMap.DnsServer]);
|
fb.Value.DnsServerFeedback.LinkInputSig(trilist.StringInput[ethernetSlotJoinStart + joinMap.DnsServer.JoinNumber]);
|
||||||
fb.Value.DhcpStatusFeedback.LinkInputSig(trilist.StringInput[ethernetSlotJoinStart + joinMap.DhcpStatus]);
|
fb.Value.DhcpStatusFeedback.LinkInputSig(trilist.StringInput[ethernetSlotJoinStart + joinMap.DhcpStatus.JoinNumber]);
|
||||||
|
|
||||||
ethernetSlotJoinStart += joinMap.EthernetOffsetJoin;
|
ethernetSlotJoinStart += joinMap.EthernetOffsetJoin.JoinNumber;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private static void LinkProgramInfoJoins(SystemMonitorController systemMonitorController, BasicTriList trilist,
|
private static void LinkProgramInfoJoins(SystemMonitorController systemMonitorController, BasicTriList trilist,
|
||||||
SystemMonitorJoinMap joinMap)
|
SystemMonitorJoinMap joinMap)
|
||||||
{
|
{
|
||||||
var programSlotJoinStart = joinMap.ProgramStartJoin;
|
uint programSlotJoinStart = 0;
|
||||||
|
|
||||||
foreach (var p in systemMonitorController.ProgramStatusFeedbackCollection)
|
foreach (var p in systemMonitorController.ProgramStatusFeedbackCollection)
|
||||||
{
|
{
|
||||||
var programNumber = p.Value.Program.Number;
|
var programNumber = p.Value.Program.Number;
|
||||||
|
|
||||||
trilist.SetBoolSigAction(programSlotJoinStart + joinMap.ProgramStart,
|
trilist.SetBoolSigAction(programSlotJoinStart + joinMap.ProgramStart.JoinNumber,
|
||||||
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.JoinNumber]);
|
||||||
|
|
||||||
trilist.SetBoolSigAction(programSlotJoinStart + joinMap.ProgramStop,
|
trilist.SetBoolSigAction(programSlotJoinStart + joinMap.ProgramStop.JoinNumber,
|
||||||
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.JoinNumber]);
|
||||||
|
|
||||||
trilist.SetBoolSigAction(programSlotJoinStart + joinMap.ProgramRegister,
|
trilist.SetBoolSigAction(programSlotJoinStart + joinMap.ProgramRegister.JoinNumber,
|
||||||
b => SystemMonitor.ProgramCollection[programNumber].RegistrationState = eProgramRegistrationState.Register);
|
b => SystemMonitor.ProgramCollection[programNumber].RegistrationState = eProgramRegistrationState.Register);
|
||||||
p.Value.ProgramRegisteredFeedback.LinkInputSig(
|
p.Value.ProgramRegisteredFeedback.LinkInputSig(
|
||||||
trilist.BooleanInput[programSlotJoinStart + joinMap.ProgramRegister]);
|
trilist.BooleanInput[programSlotJoinStart + joinMap.ProgramRegister.JoinNumber]);
|
||||||
|
|
||||||
trilist.SetBoolSigAction(programSlotJoinStart + joinMap.ProgramUnregister,
|
trilist.SetBoolSigAction(programSlotJoinStart + joinMap.ProgramUnregister.JoinNumber,
|
||||||
b => SystemMonitor.ProgramCollection[programNumber].RegistrationState = eProgramRegistrationState.Unregister);
|
b => SystemMonitor.ProgramCollection[programNumber].RegistrationState = eProgramRegistrationState.Unregister);
|
||||||
p.Value.ProgramUnregisteredFeedback.LinkInputSig(
|
p.Value.ProgramUnregisteredFeedback.LinkInputSig(
|
||||||
trilist.BooleanInput[programSlotJoinStart + joinMap.ProgramUnregister]);
|
trilist.BooleanInput[programSlotJoinStart + joinMap.ProgramUnregister.JoinNumber]);
|
||||||
|
|
||||||
p.Value.ProgramNameFeedback.LinkInputSig(trilist.StringInput[programSlotJoinStart + joinMap.ProgramName]);
|
p.Value.ProgramNameFeedback.LinkInputSig(trilist.StringInput[programSlotJoinStart + joinMap.ProgramName.JoinNumber]);
|
||||||
p.Value.ProgramCompileTimeFeedback.LinkInputSig(
|
p.Value.ProgramCompileTimeFeedback.LinkInputSig(
|
||||||
trilist.StringInput[programSlotJoinStart + joinMap.ProgramCompiledTime]);
|
trilist.StringInput[programSlotJoinStart + joinMap.ProgramCompiledTime.JoinNumber]);
|
||||||
p.Value.CrestronDataBaseVersionFeedback.LinkInputSig(
|
p.Value.CrestronDataBaseVersionFeedback.LinkInputSig(
|
||||||
trilist.StringInput[programSlotJoinStart + joinMap.ProgramCrestronDatabaseVersion]);
|
trilist.StringInput[programSlotJoinStart + joinMap.ProgramCrestronDatabaseVersion.JoinNumber]);
|
||||||
p.Value.EnvironmentVersionFeedback.LinkInputSig(
|
p.Value.EnvironmentVersionFeedback.LinkInputSig(
|
||||||
trilist.StringInput[programSlotJoinStart + joinMap.ProgramEnvironmentVersion]);
|
trilist.StringInput[programSlotJoinStart + joinMap.ProgramEnvironmentVersion.JoinNumber]);
|
||||||
p.Value.AggregatedProgramInfoFeedback.LinkInputSig(
|
p.Value.AggregatedProgramInfoFeedback.LinkInputSig(
|
||||||
trilist.StringInput[programSlotJoinStart + joinMap.AggregatedProgramInfo]);
|
trilist.StringInput[programSlotJoinStart + joinMap.AggregatedProgramInfo.JoinNumber]);
|
||||||
|
|
||||||
programSlotJoinStart = programSlotJoinStart + joinMap.ProgramOffsetJoin;
|
programSlotJoinStart = programSlotJoinStart + joinMap.ProgramOffsetJoin.JoinNumber;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user