using System;
using PepperDash.Essentials.Core;
namespace PepperDash.Essentials.Bridges
{
[Obsolete("Please use version PepperDash.Essentials.Core.Bridges")]
public class SystemMonitorJoinMap : JoinMapBase
{
///
/// Offset to indicate where the range of iterated program joins will start
///
public uint ProgramStartJoin { get; set; }
///
/// Offset to indicate where the range of iterated Ethernet joins will start
///
public uint EthernetStartJoin { get; set; }
///
/// Offset between each program join set
///
public uint ProgramOffsetJoin { get; set; }
///
/// Offset between each Ethernet Interface join set
///
public uint EthernetOffsetJoin { get; set; }
#region Digitals
///
/// Range Sets and reports whether the corresponding program slot is started
///
public uint ProgramStart { get; set; }
///
/// Range Sets and reports whether the corresponding program slot is stopped
///
public uint ProgramStop { get; set; }
///
/// Range Sets and reports whether the corresponding program is registered
///
public uint ProgramRegister { get; set; }
///
/// Range Sets and reports whether the corresponding program is unregistered
///
public uint ProgramUnregister { get; set; }
#endregion
#region Analogs
///
/// Sets and reports the time zone
///
public uint TimeZone { get; set; }
#endregion
#region Serials
///
/// Reports the time zone name
///
public uint TimeZoneName { get; set; }
///
/// Reports the IO Controller Version
///
public uint IOControllerVersion { get; set; }
///
/// Reports the SNMP App Version
///
public uint SnmpAppVersion { get; set; }
///
/// Reports the BACnet App Version
///
public uint BACnetAppVersion { get; set; }
///
/// Reports the firmware version
///
public uint ControllerVersion { get; set; }
///
/// Reports the name of the corresponding program
///
public uint ProgramName { get; set; }
///
/// Reports the compile time of the corresponding program
///
public uint ProgramCompiledTime { get; set; }
///
/// Reports the Crestron Database version of the corresponding program
///
public uint ProgramCrestronDatabaseVersion { get; set; }
///
/// Reports the Environment Version of the corresponding program
///
public uint ProgramEnvironmentVersion { get; set; }
///
/// Serialized JSON output that aggregates the program info of the corresponding program
///
public uint AggregatedProgramInfo { get; set; }
///
/// Reports the controller serial number
///
public uint SerialNumber { get; set; }
///
/// Reports the controller model
///
public uint Model { get; set; }
///
/// Reports the Host name set on the corresponding interface
///
public uint HostName { get; set; }
///
/// Reports the Current IP address set on the corresponding interface. If DHCP is enabled, this will be the DHCP assigned address.
///
public uint CurrentIpAddress { get; set; }
///
/// Reporst the Current Default Gateway set on the corresponding interface. If DHCP is enabled, this will be the DHCP assigned gateway
///
public uint CurrentDefaultGateway { get; set; }
///
/// Reports the Current Subnet Mask set on the corresponding interface. If DHCP is enabled, this will be the DHCP assigned subnet mask
///
public uint CurrentSubnetMask { get; set; }
///
/// Reports the Static IP address set on the corresponding interface. If DHCP is disabled, this will match the Current IP address
///
public uint StaticIpAddress { get; set; }
///
/// Reporst the Static Default Gateway set on the corresponding interface. If DHCP is disabled, this will match the Current gateway
///
public uint StaticDefaultGateway { get; set; }
///
/// Reports the Current Subnet Mask set on the corresponding interface. If DHCP is enabled, this will be the DHCP assigned subnet mask
///
public uint StaticSubnetMask { get; set; }
///
/// Reports the current DomainFeedback on the corresponding interface
///
public uint Domain { get; set; }
///
/// Reports the current DNS Servers on the corresponding interface
///
public uint DnsServer { get; set; }
///
/// Reports the MAC Address of the corresponding interface
///
public uint MacAddress { get; set; }
///
/// Reports the DHCP Status of the corresponding interface
///
public uint DhcpStatus { get; set; }
///
/// Reports the current uptime. Updated in 5 minute intervals.
///
public uint Uptime { get; set; }
///
/// Reports the date of the last boot
///
public uint LastBoot { get; set; }
#endregion
public 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;
}
}
}