mirror of
https://github.com/PepperDash/Essentials.git
synced 2026-02-16 21:24:54 +00:00
Added new interface IHasCresnetBranches
Added new CinCenCn2Controller InProgress #297
This commit is contained in:
@@ -0,0 +1,57 @@
|
|||||||
|
using System;
|
||||||
|
using System.Collections;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using Crestron.SimplSharpPro;
|
||||||
|
using Crestron.SimplSharpPro.DeviceSupport;
|
||||||
|
using Crestron.SimplSharpPro.GeneralIO;
|
||||||
|
using Newtonsoft.Json;
|
||||||
|
using PepperDash.Core;
|
||||||
|
using PepperDash.Essentials.Core.Bridges;
|
||||||
|
using PepperDash.Essentials.Core.Config;
|
||||||
|
using System.Linq;
|
||||||
|
using PepperDash_Essentials_Core.Crestron_IO.DinCenCn;
|
||||||
|
|
||||||
|
|
||||||
|
namespace PepperDash.Essentials.Core
|
||||||
|
{
|
||||||
|
public class DinCenCn2Controller : CrestronGenericBaseDevice, IHasCresnetBranches
|
||||||
|
{
|
||||||
|
private readonly DinCenCn2 _device;
|
||||||
|
|
||||||
|
public CrestronCollection<CresnetBranch> CresnetBranches
|
||||||
|
{
|
||||||
|
get {
|
||||||
|
return _device != null ? _device.Branches : null;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public DinCenCn2Controller(string key, string name, DinCenCn2 device, DeviceConfig config)
|
||||||
|
: base(key, name, device)
|
||||||
|
{
|
||||||
|
_device = device;
|
||||||
|
}
|
||||||
|
|
||||||
|
public class DinCenCn2ControllerFactory : EssentialsDeviceFactory<DinCenCn2Controller>
|
||||||
|
{
|
||||||
|
public DinCenCn2ControllerFactory()
|
||||||
|
{
|
||||||
|
TypeNames = new List<string>() { "dincencn2", "dincencn2poe", "din-cencn2", "din-cencn2-poe" };
|
||||||
|
}
|
||||||
|
|
||||||
|
public override EssentialsDevice BuildDevice(DeviceConfig dc)
|
||||||
|
{
|
||||||
|
Debug.Console(1, "Factory Attempting to create new C2N-RTHS Device");
|
||||||
|
|
||||||
|
var control = CommFactory.GetControlPropertiesConfig(dc);
|
||||||
|
var ipid = control.IpIdInt;
|
||||||
|
|
||||||
|
if (dc.Type.ToLower().Contains("poe"))
|
||||||
|
{
|
||||||
|
return new DinCenCn2Controller(dc.Key, dc.Name, new DinCenCn2Poe(ipid, Global.ControlSystem), dc);
|
||||||
|
}
|
||||||
|
|
||||||
|
return new DinCenCn2Controller(dc.Key, dc.Name, new DinCenCn2(ipid, Global.ControlSystem), dc);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,15 @@
|
|||||||
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using System.Linq;
|
||||||
|
using System.Text;
|
||||||
|
using Crestron.SimplSharp;
|
||||||
|
using Crestron.SimplSharpPro;
|
||||||
|
using Crestron.SimplSharpPro.DeviceSupport;
|
||||||
|
|
||||||
|
namespace PepperDash_Essentials_Core.Crestron_IO.DinCenCn
|
||||||
|
{
|
||||||
|
public interface IHasCresnetBranches
|
||||||
|
{
|
||||||
|
CrestronCollection<CresnetBranch> CresnetBranches { get; }
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -172,6 +172,8 @@
|
|||||||
</Compile>
|
</Compile>
|
||||||
<Compile Include="Crestron IO\Cards\CenCi33Controller.cs" />
|
<Compile Include="Crestron IO\Cards\CenCi33Controller.cs" />
|
||||||
<Compile Include="Crestron IO\Cards\InternalCardCageController.cs" />
|
<Compile Include="Crestron IO\Cards\InternalCardCageController.cs" />
|
||||||
|
<Compile Include="Crestron IO\DinCenCn\DinCenCnController.cs" />
|
||||||
|
<Compile Include="Crestron IO\DinCenCn\IHasCresnetBranches.cs" />
|
||||||
<Compile Include="Crestron IO\Inputs\CenIoDigIn104Controller.cs" />
|
<Compile Include="Crestron IO\Inputs\CenIoDigIn104Controller.cs" />
|
||||||
<Compile Include="Crestron IO\Inputs\GenericDigitalInputDevice.cs" />
|
<Compile Include="Crestron IO\Inputs\GenericDigitalInputDevice.cs" />
|
||||||
<Compile Include="Crestron IO\Inputs\GenericVersiportInputDevice.cs" />
|
<Compile Include="Crestron IO\Inputs\GenericVersiportInputDevice.cs" />
|
||||||
|
|||||||
Reference in New Issue
Block a user