Basic scaffold of VC driver.

This commit is contained in:
Heath Volmer
2017-09-11 20:37:38 -06:00
parent 682c21f37c
commit 2180521004
8 changed files with 67 additions and 49 deletions

View File

@@ -6,6 +6,8 @@ using Crestron.SimplSharp;
using Crestron.SimplSharpPro;
using Crestron.SimplSharpPro.DeviceSupport;
using PepperDash.Core;
namespace PepperDash.Essentials.Core.SmartObjects
{
public class SmartObjectHelperBase
@@ -33,13 +35,37 @@ namespace PepperDash.Essentials.Core.SmartObjects
SmartObject.SigChange -= this.SmartObject_SigChange;
}
/// <summary>
/// Helper to get a sig name with debugging when fail
/// </summary>
/// <param name="name"></param>
/// <returns></returns>
public BoolOutputSig GetBoolOutputNamed(string name)
{
if (SmartObject.BooleanOutput.Contains(name))
return SmartObject.BooleanOutput[name];
else
Debug.Console(0, "WARNING: Cannot get signal. Smart object {0} on trilist {1:x2} does not contain signal '{2}'",
SmartObject.ID, SmartObject.Device.ID, name);
return null;
}
/// <summary>
/// Sets action on signal after checking for existence.
/// </summary>
/// <param name="name"></param>
/// <param name="a"></param>
public void SetBoolAction(string name, Action<bool> a)
{
if (SmartObject.BooleanOutput.Contains(name))
SmartObject.BooleanOutput[name].UserObject = a;
else
{
Debug.Console(0, "WARNING: Cannot set action. Smart object {0} on trilist {1:x2} does not contain signal '{2}'",
SmartObject.ID, SmartObject.Device.ID, name);
}
}
/// <summary>
/// Standard Action listener
/// </summary>