mirror of
https://github.com/PepperDash/Essentials.git
synced 2026-04-12 12:06:58 +00:00
System Monitor Bridge updates
Add processor reboot to join map and controller class. Add program reset to join map and controller class.
This commit is contained in:
parent
1411add591
commit
4919a863c3
2 changed files with 67 additions and 4 deletions
|
|
@ -43,7 +43,20 @@ namespace PepperDash.Essentials.Core.Monitoring
|
|||
public StringFeedback UptimeFeedback { get; set; }
|
||||
public StringFeedback LastStartFeedback { get; set; }
|
||||
|
||||
public SystemMonitorController(string key)
|
||||
public BoolFeedback IsApplianceFeedback { get; protected set; }
|
||||
private bool _isApplianceFb
|
||||
{
|
||||
get { return CrestronEnvironment.DevicePlatform == eDevicePlatform.Appliance; }
|
||||
}
|
||||
|
||||
public BoolFeedback IsServerFeedback { get; protected set; }
|
||||
private bool _isServerFb
|
||||
{
|
||||
get { return CrestronEnvironment.DevicePlatform == eDevicePlatform.Server; }
|
||||
}
|
||||
|
||||
|
||||
public SystemMonitorController(string key)
|
||||
: base(key)
|
||||
{
|
||||
Debug.Console(2, this, "Adding SystemMonitorController.");
|
||||
|
|
@ -63,6 +76,9 @@ namespace PepperDash.Essentials.Core.Monitoring
|
|||
UptimeFeedback = new StringFeedback(() => _uptime);
|
||||
LastStartFeedback = new StringFeedback(()=> _lastStart);
|
||||
|
||||
IsApplianceFeedback = new BoolFeedback(() => _isApplianceFb);
|
||||
IsServerFeedback = new BoolFeedback(() => _isServerFb);
|
||||
|
||||
ProgramStatusFeedbackCollection = new Dictionary<uint, ProgramStatusFeedbacks>();
|
||||
|
||||
foreach (var prog in SystemMonitor.ProgramCollection)
|
||||
|
|
@ -123,6 +139,26 @@ namespace PepperDash.Essentials.Core.Monitoring
|
|||
_uptime = uptimeRaw.Substring(forIndex + 4);
|
||||
}
|
||||
|
||||
private static void ProcessorReboot()
|
||||
{
|
||||
if (CrestronEnvironment.DevicePlatform == eDevicePlatform.Server) return;
|
||||
|
||||
var response = string.Empty;
|
||||
CrestronConsole.SendControlSystemCommand("reboot", ref response);
|
||||
}
|
||||
|
||||
private static void ProgramReset(uint index)
|
||||
{
|
||||
if (CrestronEnvironment.DevicePlatform == eDevicePlatform.Server) return;
|
||||
|
||||
if (index <= 0 || index > 10) return;
|
||||
|
||||
var cmd = string.Format("progreset -p:{0}", index);
|
||||
|
||||
var response = string.Empty;
|
||||
CrestronConsole.SendControlSystemCommand(cmd, ref response);
|
||||
}
|
||||
|
||||
private void CrestronEnvironmentOnEthernetEventHandler(EthernetEventArgs ethernetEventArgs)
|
||||
{
|
||||
if (ethernetEventArgs.EthernetEventType != eEthernetEventType.LinkUp) return;
|
||||
|
|
@ -185,6 +221,9 @@ namespace PepperDash.Essentials.Core.Monitoring
|
|||
SerialNumberFeedback.FireUpdate();
|
||||
ModelFeedback.FireUpdate();
|
||||
|
||||
IsApplianceFeedback.FireUpdate();
|
||||
IsServerFeedback.FireUpdate();
|
||||
|
||||
OnSystemMonitorPropertiesChanged();
|
||||
}
|
||||
|
||||
|
|
@ -237,6 +276,11 @@ namespace PepperDash.Essentials.Core.Monitoring
|
|||
UptimeFeedback.LinkInputSig(trilist.StringInput[joinMap.Uptime.JoinNumber]);
|
||||
LastStartFeedback.LinkInputSig(trilist.StringInput[joinMap.LastBoot.JoinNumber]);
|
||||
|
||||
trilist.SetSigHeldAction(joinMap.ProcessorReboot.JoinNumber, 10000, ProcessorReboot);
|
||||
|
||||
IsApplianceFeedback.LinkInputSig(trilist.BooleanInput[joinMap.IsAppliance.JoinNumber]);
|
||||
IsServerFeedback.LinkInputSig(trilist.BooleanInput[joinMap.IsServer.JoinNumber]);
|
||||
|
||||
// iterate the program status feedback collection and map all the joins
|
||||
LinkProgramInfoJoins(this, trilist, joinMap);
|
||||
|
||||
|
|
@ -301,11 +345,13 @@ namespace PepperDash.Essentials.Core.Monitoring
|
|||
p.Value.AggregatedProgramInfoFeedback.LinkInputSig(
|
||||
trilist.StringInput[programSlotJoinStart + joinMap.AggregatedProgramInfo.JoinNumber]);
|
||||
|
||||
trilist.SetSigHeldAction(programSlotJoinStart + joinMap.ProgramReset.JoinNumber, 10000, () => ProgramReset(programNumber));
|
||||
|
||||
programSlotJoinStart = programSlotJoinStart + joinMap.ProgramOffsetJoin.JoinSpan;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
//// Sets the time zone
|
||||
//// Sets the time zone
|
||||
//public void SetTimeZone(int timeZone)
|
||||
//{
|
||||
// SystemMonitor.TimeZoneInformation.TimeZoneNumber = timeZone;
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue