Refactored method names for better consistency. Built out Din8sw8 and Din8sw8Output classes. Added logic for RelayControlledShade class to operate relays based on open/close/stop method calls

This commit is contained in:
Neil Dorin
2018-05-03 10:23:30 -06:00
parent 33f0a1fe32
commit b44613b91f
9 changed files with 196 additions and 32 deletions

View File

@@ -16,8 +16,8 @@ namespace PepperDash.Essentials.Core.Shades
/// </summary>
public interface iShadesRaiseLower
{
void Raise();
void Lower();
void Open();
void Stop();
void Close();
}
}

View File

@@ -0,0 +1,30 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Crestron.SimplSharp;
using PepperDash.Core;
using PepperDash.Essentials.Core.CrestronIO;
namespace PepperDash.Essentials.Core.Shades
{
public abstract class ShadeBase : Device, iShadesRaiseLower
{
public ISwitchedOutput SwitchedOutput;
public ShadeBase(string key, string name)
: base(key, name)
{
}
#region iShadesRaiseLower Members
public abstract void Open();
public abstract void Stop();
public abstract void Close();
#endregion
}
}

View File

@@ -10,24 +10,14 @@ namespace PepperDash.Essentials.Core.Shades
{
public class ShadeController : Device, IShades
{
public List<ShadeBase> IShades.Shades { get; private set; }
public List<ShadeBase> Shades { get; private set; }
}
public abstract class ShadeBase : Device, iShadesRaiseLower
{
public ShadeBase(string key, string name)
public ShadeController(string key, string name)
: base(key, name)
{
Shades = new List<ShadeBase>();
}
#region iShadesRaiseLower Members
public void iShadesRaiseLower.Raise();
public void iShadesRaiseLower.Lower();
public void iShadesRaiseLower.Stop();
#endregion
}
}