diff --git a/.gitmodules b/.gitmodules
index 2d6bfa38..e69de29b 100644
--- a/.gitmodules
+++ b/.gitmodules
@@ -1,3 +0,0 @@
-[submodule "Essentials-Template-UI"]
- path = Essentials-Template-UI
- url = https://github.com/PepperDash/Essentials-Template-UI.git
diff --git a/Essentials-Template-UI b/Essentials-Template-UI
deleted file mode 160000
index 8eaf8879..00000000
--- a/Essentials-Template-UI
+++ /dev/null
@@ -1 +0,0 @@
-Subproject commit 8eaf88791b42318fbe7c64402af46d747516e4fa
diff --git a/PepperDashEssentials.sln b/PepperDashEssentials.sln
index af0007ba..149c208c 100644
--- a/PepperDashEssentials.sln
+++ b/PepperDashEssentials.sln
@@ -1,21 +1,21 @@
Microsoft Visual Studio Solution File, Format Version 10.00
# Visual Studio 2008
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "PepperDashEssentials", "PepperDashEssentials\PepperDashEssentials.csproj", "{1BED5BA9-88C4-4365-9362-6F4B128071D3}"
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "PepperDash.Essentials", "Src/PepperDash.Essentials/PepperDash.Essentials.csproj", "{1BED5BA9-88C4-4365-9362-6F4B128071D3}"
ProjectSection(ProjectDependencies) = postProject
{892B761C-E479-44CE-BD74-243E9214AF13} = {892B761C-E479-44CE-BD74-243E9214AF13}
{9199CE8A-0C9F-4952-8672-3EED798B284F} = {9199CE8A-0C9F-4952-8672-3EED798B284F}
{A49AD6C8-FC0A-4CC0-9089-DFB4CF92D2B5} = {A49AD6C8-FC0A-4CC0-9089-DFB4CF92D2B5}
EndProjectSection
EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "PepperDash_Essentials_Core", "essentials-framework\Essentials Core\PepperDashEssentialsBase\PepperDash_Essentials_Core.csproj", "{A49AD6C8-FC0A-4CC0-9089-DFB4CF92D2B5}"
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "PepperDash.Essentials.Core", "Src/PepperDash.Essentials.Core/PepperDash.Essentials.Core.csproj", "{A49AD6C8-FC0A-4CC0-9089-DFB4CF92D2B5}"
EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Essentials Devices Common", "essentials-framework\Essentials Devices Common\Essentials Devices Common\Essentials Devices Common.csproj", "{892B761C-E479-44CE-BD74-243E9214AF13}"
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "PepperDash.Essentials.Devices.Common", "Src/PepperDash.Essentials.Devices.Common/PepperDash.Essentials.Devices.Common.csproj", "{892B761C-E479-44CE-BD74-243E9214AF13}"
ProjectSection(ProjectDependencies) = postProject
{A49AD6C8-FC0A-4CC0-9089-DFB4CF92D2B5} = {A49AD6C8-FC0A-4CC0-9089-DFB4CF92D2B5}
EndProjectSection
EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "PepperDash_Essentials_DM", "essentials-framework\Essentials DM\Essentials_DM\PepperDash_Essentials_DM.csproj", "{9199CE8A-0C9F-4952-8672-3EED798B284F}"
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "PepperDash.Essentials.Devices.Dm", "SRc/PepperDash.Essentials.Devices.DM/PepperDash.Essentials.Devices.Dm.csproj", "{9199CE8A-0C9F-4952-8672-3EED798B284F}"
ProjectSection(ProjectDependencies) = postProject
{A49AD6C8-FC0A-4CC0-9089-DFB4CF92D2B5} = {A49AD6C8-FC0A-4CC0-9089-DFB4CF92D2B5}
EndProjectSection
diff --git a/PepperDashEssentials/UI - FILES ORPHANED-DELETE/CrestronTouchpanelPropertiesConfig.cs b/PepperDashEssentials/UI - FILES ORPHANED-DELETE/CrestronTouchpanelPropertiesConfig.cs
deleted file mode 100644
index f327e0d5..00000000
--- a/PepperDashEssentials/UI - FILES ORPHANED-DELETE/CrestronTouchpanelPropertiesConfig.cs
+++ /dev/null
@@ -1,33 +0,0 @@
-namespace PepperDash.Essentials
-{
- public class CrestronTouchpanelPropertiesConfig
- {
- public string IpId { get; set; }
- public string DefaultRoomKey { get; set; }
- public string RoomListKey { get; set; }
- public string SgdFile { get; set; }
- public string ProjectName { get; set; }
- public bool ShowVolumeGauge { get; set; }
- public bool UsesSplashPage { get; set; }
- public bool ShowDate { get; set; }
- public bool ShowTime { get; set; }
- public UiSetupPropertiesConfig Setup { get; set; }
-
- ///
- /// The count of sources that will trigger the "additional" arrows to show on the SRL.
- /// Defaults to 5
- ///
- public int SourcesOverflowCount { get; set; }
-
- public CrestronTouchpanelPropertiesConfig()
- {
- SourcesOverflowCount = 5;
- }
- }
-
- public class UiSetupPropertiesConfig
- {
- public bool IsVisible { get; set; }
- }
-
-}
\ No newline at end of file
diff --git a/PepperDashEssentials/UI - FILES ORPHANED-DELETE/EssentialsTouchpanelController.cs b/PepperDashEssentials/UI - FILES ORPHANED-DELETE/EssentialsTouchpanelController.cs
deleted file mode 100644
index 8ad6ab1a..00000000
--- a/PepperDashEssentials/UI - FILES ORPHANED-DELETE/EssentialsTouchpanelController.cs
+++ /dev/null
@@ -1,221 +0,0 @@
-using System;
-using System.Collections.Generic;
-using System.Linq;
-using System.Text;
-using Crestron.SimplSharp;
-using Crestron.SimplSharp.CrestronIO;
-using Crestron.SimplSharpPro;
-using Crestron.SimplSharpPro.DeviceSupport;
-using Crestron.SimplSharpPro.UI;
-using PepperDash.Core;
-using PepperDash.Essentials.Core;
-using PepperDash.Essentials.Core.PageManagers;
-
-namespace PepperDash.Essentials
-{
- public class EssentialsTouchpanelController : Device
- {
- public BasicTriListWithSmartObject Panel { get; private set; }
-
- public PanelDriverBase PanelDriver { get; private set; }
-
- CTimer BacklightTransitionedOnTimer;
-
- public EssentialsTouchpanelController(string key, string name, Tswx52ButtonVoiceControl tsw,
- string projectName, string sgdPath)
- : base(key, name)
- {
- Panel = tsw;
- tsw.LoadSmartObjects(sgdPath);
- tsw.SigChange += new Crestron.SimplSharpPro.DeviceSupport.SigEventHandler(Tsw_SigChange);
- }
-
- ///
- /// Config constructor
- ///
- public EssentialsTouchpanelController(string key, string name, string type, CrestronTouchpanelPropertiesConfig props, uint id)
- : base(key, name)
- {
- AddPostActivationAction(() =>
- {
- Debug.Console(0, this, "post-activation linking");
- type = type.ToLower();
- try
- {
- if (type == "crestronapp")
- {
- var app = new CrestronApp(id, Global.ControlSystem);
- app.ParameterProjectName.Value = props.ProjectName;
- Panel = app;
- }
- else if (type == "tsw560")
- Panel = new Tsw560(id, Global.ControlSystem);
- else if (type == "tsw752")
- Panel = new Tsw752(id, Global.ControlSystem);
- else if (type == "tsw1052")
- Panel = new Tsw1052(id, Global.ControlSystem);
- else
- {
- Debug.Console(0, this, "WARNING: Cannot create TSW controller with type '{0}'", type);
- return;
- }
- }
- catch (Exception e)
- {
- Debug.Console(0, this, "WARNING: Cannot create TSW base class. Panel will not function: {0}", e.Message);
- return;
- }
-
- // Reserved sigs
- if (Panel is TswFt5ButtonSystem)
- {
- var tsw = Panel as TswFt5ButtonSystem;
- tsw.ExtenderSystemReservedSigs.Use();
- tsw.ExtenderSystemReservedSigs.DeviceExtenderSigChange
- += ExtenderSystemReservedSigs_DeviceExtenderSigChange;
- }
-
- new CTimer(o =>
- {
- var regSuccess = Panel.Register();
- if (regSuccess != eDeviceRegistrationUnRegistrationResponse.Success)
- Debug.Console(0, this, "WARNING: Registration failed. Continuing, but panel may not function: {0}", regSuccess);
-
- // Give up cleanly if SGD is not present.
- var sgdName = @"\NVRAM\Program" + InitialParametersClass.ApplicationNumber
- + @"\sgd\" + props.SgdFile;
- if (!File.Exists(sgdName))
- {
- Debug.Console(0, this, "WARNING: Smart object file '{0}' not present. Exiting TSW load", sgdName);
- return;
- }
-
- Panel.LoadSmartObjects(sgdName);
- Panel.SigChange += Tsw_SigChange;
-
- var mainDriver = new EssentialsPanelMainInterfaceDriver(Panel, props);
- // Then the AV driver
-
- // spin up different room drivers depending on room type
- var room = DeviceManager.GetDeviceForKey(props.DefaultRoomKey);
- if (room is EssentialsHuddleSpaceRoom)
- {
- Debug.Console(0, this, "Adding huddle space driver");
- var avDriver = new EssentialsHuddlePanelAvFunctionsDriver(mainDriver, props);
- avDriver.CurrentRoom = room as EssentialsHuddleSpaceRoom;
- avDriver.DefaultRoomKey = props.DefaultRoomKey;
- mainDriver.AvDriver = avDriver;
- LoadAndShowDriver(mainDriver); // This is a little convoluted.
-
- if (Panel is TswFt5ButtonSystem)
- {
- var tsw = Panel as TswFt5ButtonSystem;
- // Wire up hard keys
- tsw.Power.UserObject = new Action(b => { if (!b) avDriver.PowerButtonPressed(); });
- //tsw.Home.UserObject = new Action(b => { if (!b) HomePressed(); });
- tsw.Up.UserObject = new Action(avDriver.VolumeUpPress);
- tsw.Down.UserObject = new Action(avDriver.VolumeDownPress);
- tsw.ButtonStateChange += new ButtonEventHandler(Tsw_ButtonStateChange);
- }
- }
- else if (room is EssentialsPresentationRoom)
- {
- Debug.Console(0, this, "Adding presentation room driver");
- var avDriver = new EssentialsPresentationPanelAvFunctionsDriver(mainDriver, props);
- avDriver.CurrentRoom = room as EssentialsPresentationRoom;
- avDriver.DefaultRoomKey = props.DefaultRoomKey;
- mainDriver.AvDriver = avDriver;
- LoadAndShowDriver(mainDriver);
-
- if (Panel is TswFt5ButtonSystem)
- {
- var tsw = Panel as TswFt5ButtonSystem;
- // Wire up hard keys
- tsw.Power.UserObject = new Action(b => { if (!b) avDriver.PowerButtonPressed(); });
- //tsw.Home.UserObject = new Action(b => { if (!b) HomePressed(); });
- tsw.Up.UserObject = new Action(avDriver.VolumeUpPress);
- tsw.Down.UserObject = new Action(avDriver.VolumeDownPress);
- tsw.ButtonStateChange += new ButtonEventHandler(Tsw_ButtonStateChange);
- }
- }
- else
- {
- Debug.Console(0, this, "ERROR: Cannot load AvFunctionsDriver for room '{0}'", props.DefaultRoomKey);
- }
- }, 0);
- });
- }
-
- public void LoadAndShowDriver(PanelDriverBase driver)
- {
- PanelDriver = driver;
- driver.Show();
- }
-
- void HomePressed()
- {
- if (BacklightTransitionedOnTimer == null)
- PanelDriver.BackButtonPressed();
- }
-
-
- void ExtenderSystemReservedSigs_DeviceExtenderSigChange(DeviceExtender currentDeviceExtender, SigEventArgs args)
- {
- // If the sig is transitioning on, mark it in case it was home button that transitioned it
- var blOnSig = (Panel as TswFt5ButtonSystem).ExtenderSystemReservedSigs.BacklightOnFeedback;
- if (args.Sig == blOnSig && blOnSig.BoolValue)
- {
- BacklightTransitionedOnTimer = new CTimer(o =>
- {
- BacklightTransitionedOnTimer = null;
- }, 200);
- }
- }
-
- public void PulseBool(uint join)
- {
- var act = Panel.BooleanInput[join].UserObject as Action;
- if (act != null)
- {
- act(true);
- act(false);
- }
- }
-
- public void SetBoolSig(uint join, bool value)
- {
- var act = Panel.BooleanInput[join].UserObject as Action;
- if (act != null)
- act(value);
- }
-
- public void SetIntSig(uint join, ushort value)
- {
- var act = Panel.BooleanInput[join].UserObject as Action;
- if (act != null)
- {
- act(value);
- }
- }
-
- void Tsw_SigChange(object currentDevice, Crestron.SimplSharpPro.SigEventArgs args)
- {
- if (Debug.Level == 2)
- Debug.Console(2, this, "Sig change: {0} {1}={2}", args.Sig.Type, args.Sig.Number, args.Sig.StringValue);
- var uo = args.Sig.UserObject;
- if (uo is Action)
- (uo as Action)(args.Sig.BoolValue);
- else if (uo is Action)
- (uo as Action)(args.Sig.UShortValue);
- else if (uo is Action)
- (uo as Action)(args.Sig.StringValue);
- }
-
- void Tsw_ButtonStateChange(GenericBase device, ButtonEventArgs args)
- {
- var uo = args.Button.UserObject;
- if(uo is Action)
- (uo as Action)(args.Button.State == eButtonState.Pressed);
- }
- }
-}
\ No newline at end of file
diff --git a/PepperDashEssentials/UI - FILES ORPHANED-DELETE/SubpageReferenceListSourceItem.cs b/PepperDashEssentials/UI - FILES ORPHANED-DELETE/SubpageReferenceListSourceItem.cs
deleted file mode 100644
index 73cc5e71..00000000
--- a/PepperDashEssentials/UI - FILES ORPHANED-DELETE/SubpageReferenceListSourceItem.cs
+++ /dev/null
@@ -1,65 +0,0 @@
-using System;
-using System.Collections.Generic;
-using System.Linq;
-using System.Text;
-using Crestron.SimplSharp;
-using Crestron.SimplSharpPro;
-using Crestron.SimplSharpPro.UI;
-
-using PepperDash.Essentials.Core;
-
-namespace PepperDash.Essentials
-{
- public class SubpageReferenceListSourceItem : SubpageReferenceListItem
- {
- public SourceListItem SourceItem { get; private set; }
-
- public SubpageReferenceListSourceItem(uint index, SubpageReferenceList owner,
- SourceListItem sourceItem, Action routeAction)
- : base(index, owner)
- {
- SourceItem = sourceItem;
- owner.GetBoolFeedbackSig(index, 1).UserObject = new Action(routeAction);
- owner.StringInputSig(index, 1).StringValue = SourceItem.PreferredName;
- }
-
- public void RegisterForSourceChange(IHasCurrentSourceInfoChange room)
- {
- room.CurrentSingleSourceChange -= room_CurrentSourceInfoChange;
- room.CurrentSingleSourceChange += room_CurrentSourceInfoChange;
- }
-
- void room_CurrentSourceInfoChange(EssentialsRoomBase room, SourceListItem info, ChangeType type)
- {
- if (type == ChangeType.WillChange && info == SourceItem)
- ClearFeedback();
- else if (type == ChangeType.DidChange && info == SourceItem)
- SetFeedback();
- }
-
- ///
- /// Called by SRL to release all referenced objects
- ///
- public override void Clear()
- {
- Owner.BoolInputSig(Index, 1).UserObject = null;
- Owner.StringInputSig(Index, 1).StringValue = "";
- }
-
- ///
- /// Sets the selected feedback on the button
- ///
- public void SetFeedback()
- {
- Owner.BoolInputSig(Index, 1).BoolValue = true;
- }
-
- ///
- /// Clears the selected feedback on the button
- ///
- public void ClearFeedback()
- {
- Owner.BoolInputSig(Index, 1).BoolValue = false;
- }
- }
-}
\ No newline at end of file
diff --git a/PepperDashEssentials/UI/DualDisplaySourceSRLController.cs b/PepperDashEssentials/UI/DualDisplaySourceSRLController.cs
deleted file mode 100644
index c91d72f1..00000000
--- a/PepperDashEssentials/UI/DualDisplaySourceSRLController.cs
+++ /dev/null
@@ -1,28 +0,0 @@
-//using System;
-//using System.Collections.Generic;
-//using System.Linq;
-//using System.Text;
-//using Crestron.SimplSharp;
-//using Crestron.SimplSharpPro;
-//using Crestron.SimplSharpPro.DeviceSupport;
-//using Crestron.SimplSharpPro.UI;
-
-//using PepperDash.Essentials.Core;
-
-//namespace PepperDash.Essentials
-//{
-// public class DualDisplaySourceSRLController : SubpageReferenceList
-// {
-// public DualDisplaySourceSRLController(BasicTriListWithSmartObject triList,
-// uint smartObjectId, EssentialsPresentationRoom room)
-// : base(triList, smartObjectId, 3, 3, 3)
-// {
-// var srcList = room.s items.Values.ToList().OrderBy(s => s.Order);
-// foreach (var item in srcList)
-// {
-// GetBoolFeedbackSig(index, 1).UserObject = new Action(routeAction);
-
-// }
-// }
-// }
-//}
\ No newline at end of file
diff --git a/PepperDashEssentials/UI/SubpageReferenceListActivityItem.cs b/PepperDashEssentials/UI/SubpageReferenceListActivityItem.cs
deleted file mode 100644
index 4747a61a..00000000
--- a/PepperDashEssentials/UI/SubpageReferenceListActivityItem.cs
+++ /dev/null
@@ -1,39 +0,0 @@
-using System;
-using System.Collections.Generic;
-using System.Linq;
-using System.Text;
-using Crestron.SimplSharp;
-using Crestron.SimplSharpPro;
-using Crestron.SimplSharpPro.UI;
-
-using PepperDash.Essentials.Core;
-
-namespace PepperDash.Essentials
-{
- public class SubpageReferenceListActivityItem : SubpageReferenceListItem
- {
- ///
- ///
- ///
- ///
- ///
- /// 0=Share, 1=Phone Call, 2=Video Call, 3=End Meeting
- ///
- public SubpageReferenceListActivityItem(uint index, SubpageReferenceList owner,
- ushort buttonMode, Action pressAction)
- : base(index, owner)
- {
- Owner.GetBoolFeedbackSig(Index, 1).UserObject = pressAction;
- Owner.UShortInputSig(Index, 1).UShortValue = buttonMode;
- }
-
- ///
- /// Called by SRL to release all referenced objects
- ///
- public override void Clear()
- {
- Owner.BoolInputSig(Index, 1).UserObject = null;
- Owner.UShortInputSig(Index, 1).UShortValue = 0;
- }
- }
-}
\ No newline at end of file
diff --git a/essentials-framework/Essentials Core/PepperDashEssentialsBase/PepperDash_Essentials_Core.nuspec b/PepperDash_Essentials.nuspec
similarity index 100%
rename from essentials-framework/Essentials Core/PepperDashEssentialsBase/PepperDash_Essentials_Core.nuspec
rename to PepperDash_Essentials.nuspec
diff --git a/Sample Presets/SampleDirecTV.json b/Sample Presets/SampleDirecTV.json
deleted file mode 100644
index 9300872d..00000000
--- a/Sample Presets/SampleDirecTV.json
+++ /dev/null
@@ -1,35 +0,0 @@
-{
- "name": "Sample DirecTV List",
- "channels": [
- {
- "name": "HBO",
- "IconUrl": "HBO",
- "Channel": "501"
- },
- {
- "name": "HBO",
- "IconUrl": "HBO",
- "Channel": "501"
- },
- {
- "name": "HBO",
- "IconUrl": "HBO",
- "Channel": "501"
- },
- {
- "name": "HBO",
- "IconUrl": "HBO",
- "Channel": "501"
- },
- {
- "name": "HBO",
- "IconUrl": "HBO",
- "Channel": "501"
- },
- {
- "name": "HBO",
- "IconUrl": "HBO",
- "Channel": "501"
- }
- ]
-}
\ No newline at end of file
diff --git a/devjson commands.json b/devjson commands.json
deleted file mode 100644
index c7ed7291..00000000
--- a/devjson commands.json
+++ /dev/null
@@ -1,47 +0,0 @@
-devjson:1 {"deviceKey":"display-1-comMonitor","methodName":"PrintStatus"}
-
-devjson:1 {"deviceKey":"display-1-com","methodName":"SimulateReceive", "params": ["\\x05\\x06taco\\xAA"]}
-
-devjson:1 {"deviceKey":"display-1","methodName":"InputHdmi1", "params": []}
-
-devjson:1 {"deviceKey":"display-1","methodName":"PowerOff", "params": []}
-
-devjson:1 {"deviceKey":"timer","methodName":"Start" }
-
-devjson:1 {"deviceKey":"timer","methodName":"Cancel" }
-
-devjson:1 {"deviceKey":"timer","methodName":"Reset" }
-
-devjson:1 {"deviceKey":"room1","methodName":"Shutdown" }
-
-devjson:1 {"deviceKey":"mockVc-1", "methodName":"TestIncomingVideoCall", "params": ["123-456-7890"]}
-
-devjson:1 {"deviceKey":"mockVc-1", "methodName":"TestIncomingAudioCall", "params": ["111-111-1111"]}
-
-devjson:1 {"deviceKey":"mockVc-1", "methodName":"TestIncomingVideoCall", "params": ["444-444-4444"]}
-
-devjson:1 {"deviceKey":"mockVc-1", "methodName":"ListCalls"}
-
-devjson:1 {"deviceKey":"room1-emergency", "methodName":"RunEmergencyBehavior"}
-
-devjson:1 {"deviceKey":"microphonePrivacyController-1", "methodName":"TogglePrivacyMute"}
-
-devjson:1 {"deviceKey":"room1.InCallFeedback","methodName":"SetTestValue", "params": [ true ]}
-
-devjson:1 {"deviceKey":"room1.InCallFeedback","methodName":"ClearTestValue", "params": []}
-
-devjson:3 {"deviceKey":"room1.RoomOccupancy.RoomIsOccupiedFeedback","methodName":"SetTestValue", "params": [ true ]}
-
-devjson:2 {"deviceKey":"codec-comms-ssh", "methodName":"SendText", "params": ["xcommand dial number: 10.11.50.211\r"]}
-
-devjson:2 {"deviceKey":"codec-comms-ssh", "methodName":"Connect", "params": []}
-
-devjson:1 {"deviceKey":"commBridge", "methodName":"ExecuteJoinAction", "params":[ 301, "digital", true ]}
-
-devjson:2 {"deviceKey":"display01Comm-com", "methodName":"SendText", "params": [ "I'M GETTING TIRED OF THIS" ]}
-
-devjson:10 {"deviceKey":"dmLink-ssh", "methodName":"Connect", "params": []}
-
-devjson:2 {"deviceKey":"roomCombiner", "methodName":"SetRoomCombinationScenario", "params": ["combined"]}
-
-devjson:2 {"deviceKey":"roomCombiner", "methodName":"SetRoomCombinationScenario", "params": ["divided"]}
\ No newline at end of file
diff --git a/essentials-framework/Essentials DM/Essentials_DM/Essentials_DM.csproj b/essentials-framework/Essentials DM/Essentials_DM/Essentials_DM.csproj
deleted file mode 100644
index cc9d85c6..00000000
--- a/essentials-framework/Essentials DM/Essentials_DM/Essentials_DM.csproj
+++ /dev/null
@@ -1,159 +0,0 @@
-
-
- Release
- AnyCPU
- 9.0.30729
- 2.0
- {9199CE8A-0C9F-4952-8672-3EED798B284F}
- Library
- Properties
- PepperDash.Essentials.DM
- PepperDash_Essentials_DM
- {0B4745B0-194B-4BB6-8E21-E9057CA92300};{4D628B5B-2FBC-4AA6-8C16-197242AEB884};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}
- WindowsCE
- E2BECB1F-8C8C-41ba-B736-9BE7D946A398
- 5.0
- SmartDeviceProject1
- v3.5
- Windows CE
-
-
-
-
- .allowedReferenceRelatedFileExtensions
- true
- full
- false
- bin\
- DEBUG;TRACE;
- prompt
- 4
- 512
- true
- true
- off
-
-
- .allowedReferenceRelatedFileExtensions
- none
- true
- bin\
- prompt
- 4
- 512
- true
- true
- off
-
-
-
- False
- ..\..\..\..\..\..\..\..\..\..\ProgramData\Crestron\SDK\SSPDevices\Crestron.SimplSharpPro.DeviceSupport.dll
-
-
- False
- ..\..\..\..\..\..\..\..\..\..\ProgramData\Crestron\SDK\SSPDevices\Crestron.SimplSharpPro.DM.dll
-
-
- False
- ..\..\..\..\..\..\..\..\..\..\ProgramData\Crestron\SDK\SSPDevices\Crestron.SimplSharpPro.UI.dll
-
-
-
- False
- ..\..\pepperdashcore-builds\PepperDash_Core.dll
-
-
- False
- ..\..\..\..\..\..\..\..\..\..\ProgramData\Crestron\SDK\SimplSharpCustomAttributesInterface.dll
- False
-
-
- False
- ..\..\..\..\..\..\..\..\..\..\ProgramData\Crestron\SDK\SimplSharpHelperInterface.dll
- False
-
-
- False
- ..\..\..\..\..\..\..\..\..\..\ProgramData\Crestron\SDK\SimplSharpNewtonsoft.dll
-
-
- False
- ..\..\..\..\..\..\..\..\..\..\ProgramData\Crestron\SDK\SimplSharpPro.exe
- False
-
-
- False
- ..\..\..\..\..\..\..\..\ProgramData\Crestron\SDK\SimplSharpReflectionInterface.dll
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- {A49AD6C8-FC0A-4CC0-9089-DFB4CF92D2B5}
- PepperDash_Essentials_Core
-
-
-
-
-
-
-
-
- rem S# Pro preparation will execute after these operations
-
-
\ No newline at end of file
diff --git a/essentials-framework/Essentials Framework.sln b/essentials-framework/Essentials Framework.sln
deleted file mode 100644
index c508ad29..00000000
--- a/essentials-framework/Essentials Framework.sln
+++ /dev/null
@@ -1,32 +0,0 @@
-
-Microsoft Visual Studio Solution File, Format Version 10.00
-# Visual Studio 2008
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "PepperDash_Essentials_Core", ".\Essentials Core\PepperDashEssentialsBase\PepperDash_Essentials_Core.csproj", "{A49AD6C8-FC0A-4CC0-9089-DFB4CF92D2B5}"
-EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Essentials_DM", ".\Essentials DM\Essentials_DM\Essentials_DM.csproj", "{9199CE8A-0C9F-4952-8672-3EED798B284F}"
-EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Essentials Devices Common", ".\Essentials Devices Common\Essentials Devices Common\Essentials Devices Common.csproj", "{892B761C-E479-44CE-BD74-243E9214AF13}"
-EndProject
-Global
- GlobalSection(SolutionConfigurationPlatforms) = preSolution
- Debug|Any CPU = Debug|Any CPU
- Release|Any CPU = Release|Any CPU
- EndGlobalSection
- GlobalSection(ProjectConfigurationPlatforms) = postSolution
- {A49AD6C8-FC0A-4CC0-9089-DFB4CF92D2B5}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {A49AD6C8-FC0A-4CC0-9089-DFB4CF92D2B5}.Debug|Any CPU.Build.0 = Debug|Any CPU
- {A49AD6C8-FC0A-4CC0-9089-DFB4CF92D2B5}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {A49AD6C8-FC0A-4CC0-9089-DFB4CF92D2B5}.Release|Any CPU.Build.0 = Release|Any CPU
- {9199CE8A-0C9F-4952-8672-3EED798B284F}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {9199CE8A-0C9F-4952-8672-3EED798B284F}.Debug|Any CPU.Build.0 = Debug|Any CPU
- {9199CE8A-0C9F-4952-8672-3EED798B284F}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {9199CE8A-0C9F-4952-8672-3EED798B284F}.Release|Any CPU.Build.0 = Release|Any CPU
- {892B761C-E479-44CE-BD74-243E9214AF13}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {892B761C-E479-44CE-BD74-243E9214AF13}.Debug|Any CPU.Build.0 = Debug|Any CPU
- {892B761C-E479-44CE-BD74-243E9214AF13}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {892B761C-E479-44CE-BD74-243E9214AF13}.Release|Any CPU.Build.0 = Release|Any CPU
- EndGlobalSection
- GlobalSection(SolutionProperties) = preSolution
- HideSolutionNode = FALSE
- EndGlobalSection
-EndGlobal
diff --git a/essentials-framework/Essentials/PepperDashEssentials/Bridges/Bridges.BridgeFactory.cs b/essentials-framework/Essentials/PepperDashEssentials/Bridges/Bridges.BridgeFactory.cs
deleted file mode 100644
index f65d4e65..00000000
--- a/essentials-framework/Essentials/PepperDashEssentials/Bridges/Bridges.BridgeFactory.cs
+++ /dev/null
@@ -1,69 +0,0 @@
-using System;
-using System.Collections.Generic;
-using System.Linq;
-using System.Text;
-using Crestron.SimplSharp;
-using Newtonsoft.Json;
-using Newtonsoft.Json.Linq;
-using PepperDash.Essentials.Core;
-using PepperDash.Essentials.Core.Config;
-using PepperDash.Core;
-using PepperDash.Essentials.Core.Routing;
-using Crestron.SimplSharpPro;
-using Crestron.SimplSharpPro.EthernetCommunication;
-
-namespace PepperDash.Essentials {
- public class BridgeFactory {
- public static IKeyed GetDevice(PepperDash.Essentials.Core.Config.DeviceConfig dc) {
- // ? why is this static JTA 2018-06-13?
-
- var key = dc.Key;
- var name = dc.Name;
- var type = dc.Type;
- var properties = dc.Properties;
- var propAnon = new { };
- JsonConvert.DeserializeAnonymousType(dc.Properties.ToString(), propAnon);
-
- var typeName = dc.Type.ToLower();
- var groupName = dc.Group.ToLower();
-
- Debug.Console(0, "Name {0}, Key {1}, Type {2}, Properties {3}", name, key, type, properties.ToString());
- if (typeName == "essentialdm") {
- return new EssentialDM(key, name, properties);
- } else if (typeName == "essentialcomm") {
-
- Debug.Console(0, "Launch Essential Comm");
- return new EssentialComm(key, name, properties);
-
- }
- return null;
- }
- }
- public class BridgeApiEisc {
- public uint Ipid;
- public ThreeSeriesTcpIpEthernetIntersystemCommunications Eisc;
- public BridgeApiEisc(string ipid) {
- Ipid = (UInt32)int.Parse(ipid, System.Globalization.NumberStyles.HexNumber);
- Eisc = new ThreeSeriesTcpIpEthernetIntersystemCommunications(Ipid, "127.0.0.2", Global.ControlSystem);
- Eisc.Register();
- Eisc.SigChange += Eisc_SigChange;
- Debug.Console(0, "BridgeApiEisc Created at Ipid {0}", ipid);
- }
- void Eisc_SigChange(object currentDevice, Crestron.SimplSharpPro.SigEventArgs args) {
- if (Debug.Level >= 1)
- Debug.Console(1, "DDVC EISC change: {0} {1}={2}", args.Sig.Type, args.Sig.Number, args.Sig.StringValue);
- var uo = args.Sig.UserObject;
- if (uo is Action)
- (uo as Action)(args.Sig.BoolValue);
- else if (uo is Action)
- (uo as Action)(args.Sig.UShortValue);
- else if (uo is Action)
- (uo as Action)(args.Sig.StringValue);
- }
- }
-
- }
-
-
-
-
\ No newline at end of file
diff --git a/essentials-framework/Essentials/PepperDashEssentials/Bridges/EssentialComms.cs b/essentials-framework/Essentials/PepperDashEssentials/Bridges/EssentialComms.cs
deleted file mode 100644
index 9102a1e2..00000000
--- a/essentials-framework/Essentials/PepperDashEssentials/Bridges/EssentialComms.cs
+++ /dev/null
@@ -1,138 +0,0 @@
-using System;
-using System.Collections.Generic;
-using System.Linq;
-using System.Text;
-using Crestron.SimplSharp;
-using Newtonsoft.Json;
-using Newtonsoft.Json.Linq;
-using PepperDash.Essentials.Core;
-using PepperDash.Essentials.Core.Config;
-using PepperDash.Core;
-using PepperDash.Essentials.Core.Routing;
-using Crestron.SimplSharpPro;
-using Crestron.SimplSharpPro.EthernetCommunication;
-using Crestron.SimplSharpPro.CrestronThread;
-
-namespace PepperDash.Essentials {
- public class EssentialCommConfig {
- public string[] EiscApiIpids;
- public EssentialCommCommConnectionConfigs[] CommConnections;
- }
- public class EssentialCommCommConnectionConfigs {
- public uint joinNumber {get; set; }
- public EssentialsControlPropertiesConfig control { get; set; }
- }
-
- public class EssentialCommsPort {
- public IBasicCommunication Comm;
- public IntFeedback StatusFeedback;
- public BoolFeedback ConnectedFeedback;
- public List Outputs = new List();
- public String RxBuffer;
- public EssentialCommsPort(EssentialsControlPropertiesConfig config, string keyPrefix) {
- Comm = CommFactory.CreateCommForConfig(config, keyPrefix);
- // var PortGather = new CommunicationGather(Comm, config.EndOfLineChar);
- Comm.TextReceived += new EventHandler(Communication_TextReceived);
-
- var socket = Comm as ISocketStatus;
- StatusFeedback = new IntFeedback(() => { return (int)socket.ClientStatus; });
- ConnectedFeedback = new BoolFeedback(() => { return Comm.IsConnected; });
-
- if (socket != null) {
- socket.ConnectionChange += new EventHandler(socket_ConnectionChange);
- } else {
- }
-
- }
- void socket_ConnectionChange(object sender, GenericSocketStatusChageEventArgs e) {
- StatusFeedback.FireUpdate();
- ConnectedFeedback.FireUpdate();
- if (e.Client.IsConnected) {
- // Tasks on connect
- } else {
- // Cleanup items from this session
- }
- }
- void Communication_TextReceived(object sender, GenericCommMethodReceiveTextArgs args) {
- try {
- foreach (var Output in Outputs) {
- Output.Api.Eisc.StringInput[Output.Join].StringValue = args.Text;
- }
-
- }
- catch (Exception) {
- throw new FormatException(string.Format("ERROR:{0}"));
- }
- }
- }
-
- public class EssentialComm : Device {
- public EssentialCommConfig Properties;
- public String Key;
- public CommunicationGather PortGather { get; private set; }
- public List Apis {get; set;}
- public Dictionary CommFeedbacks {get; private set; }
- public StatusMonitorBase CommunicationMonitor { get; private set; }
- public Dictionary CommDictionary { get; private set; }
-
- public EssentialComm(string key, string name, JToken properties) : base(key, name) {
- Properties = JsonConvert.DeserializeObject(properties.ToString());
- CommFeedbacks = new Dictionary();
- CommDictionary = new Dictionary();
- Apis = new List();
- Key = key;
-
- }
-
-
-
- public override bool CustomActivate()
- {
- int commNumber = 1;
- foreach (var commConfig in Properties.CommConnections) {
- var commPort = new EssentialCommsPort(commConfig.control, string.Format("{0}-{1}", Key, commConfig.joinNumber));
- CommDictionary.Add(commConfig.joinNumber, commPort);
- commNumber++;
- }
-
- foreach (var Ipid in Properties.EiscApiIpids) {
- var ApiEisc = new BridgeApiEisc(Ipid);
- Apis.Add(ApiEisc);
- foreach (var commConnection in CommDictionary) {
- Debug.Console(0, "Joining Api{0} to comm {1}", Ipid, commConnection.Key);
- var tempComm = commConnection.Value;
- var tempJoin = (uint)commConnection.Key;
- EssentialComApiMap ApiMap = new EssentialComApiMap(ApiEisc, (uint)tempJoin);
-
- tempComm.Outputs.Add(ApiMap);
- // Check for ApiMap Overide Values here
-
- ApiEisc.Eisc.SetBoolSigAction(tempJoin, b => {
- if (b) { tempComm.Comm.Connect(); } else { tempComm.Comm.Disconnect(); }
- });
- ApiEisc.Eisc.SetStringSigAction(tempJoin, s => tempComm.Comm.SendText(s));
-
- tempComm.StatusFeedback.LinkInputSig(ApiEisc.Eisc.UShortInput[tempJoin]);
- tempComm.ConnectedFeedback.LinkInputSig(ApiEisc.Eisc.BooleanInput[tempJoin]);
-
-
-
- }
-
- }
-
- return true;
- }
-
-
- }
- public class EssentialComApiMap {
- public uint Join;
- public BridgeApiEisc Api;
- public uint connectJoin;
- public EssentialComApiMap(BridgeApiEisc api, uint join) {
- Join = join;
- Api = api;
- }
- }
- }
\ No newline at end of file
diff --git a/essentials-framework/Essentials/PepperDashEssentials/Bridges/EssentialDM.cs b/essentials-framework/Essentials/PepperDashEssentials/Bridges/EssentialDM.cs
deleted file mode 100644
index f6484ca1..00000000
--- a/essentials-framework/Essentials/PepperDashEssentials/Bridges/EssentialDM.cs
+++ /dev/null
@@ -1,120 +0,0 @@
-using System;
-using System.Collections.Generic;
-using System.Linq;
-using System.Text;
-using Crestron.SimplSharp;
-using Newtonsoft.Json;
-using Newtonsoft.Json.Linq;
-using PepperDash.Essentials.Core;
-using PepperDash.Essentials.Core.Config;
-using PepperDash.Core;
-using PepperDash.Essentials.Core.Routing;
-using Crestron.SimplSharpPro;
-using Crestron.SimplSharpPro.EthernetCommunication;
-
-namespace PepperDash.Essentials {
- public class EssentialDM : PepperDash.Core.Device {
- public EssentialDMProperties Properties;
- public List BridgeApiEiscs;
- private PepperDash.Essentials.DM.DmChassisController DmSwitch;
- private EssentialDMApiMap ApiMap = new EssentialDMApiMap();
- public EssentialDM(string key, string name, JToken properties)
- : base(key, name) {
- Properties = JsonConvert.DeserializeObject(properties.ToString());
-
-
- }
- public override bool CustomActivate() {
- // Create EiscApis
- try {
- foreach (var device in DeviceManager.AllDevices) {
- if (device.Key == this.Properties.connectionDeviceKey) {
- Debug.Console(0, "deviceKey {0} Matches", device.Key);
- DmSwitch = DeviceManager.GetDeviceForKey(device.Key) as PepperDash.Essentials.DM.DmChassisController;
-
- } else {
- Debug.Console(0, "deviceKey {0} doesn't match", device.Key);
- }
- }
- if (Properties.EiscApiIpids != null) {
- foreach (string Ipid in Properties.EiscApiIpids) {
- var ApiEisc = new BridgeApiEisc(Ipid);
- // BridgeApiEiscs.Add(ApiEisc);
- //Essentials.Core.CommFactory.CreateCommForConfig();
-
- ApiEisc.Eisc.SetUShortSigAction(ApiMap.OutputVideoRoutes[1], u => DmSwitch.ExecuteSwitch(u, 1, eRoutingSignalType.Video));
- ApiEisc.Eisc.SetUShortSigAction(ApiMap.OutputVideoRoutes[2], u => DmSwitch.ExecuteSwitch(u, 2, eRoutingSignalType.Video));
- ApiEisc.Eisc.SetUShortSigAction(ApiMap.OutputVideoRoutes[3], u => DmSwitch.ExecuteSwitch(u, 3, eRoutingSignalType.Video));
- ApiEisc.Eisc.SetUShortSigAction(ApiMap.OutputVideoRoutes[4], u => DmSwitch.ExecuteSwitch(u, 4, eRoutingSignalType.Video));
- ApiEisc.Eisc.SetUShortSigAction(ApiMap.OutputVideoRoutes[5], u => DmSwitch.ExecuteSwitch(u, 5, eRoutingSignalType.Video));
- ApiEisc.Eisc.SetUShortSigAction(ApiMap.OutputVideoRoutes[6], u => DmSwitch.ExecuteSwitch(u, 6, eRoutingSignalType.Video));
- ApiEisc.Eisc.SetUShortSigAction(ApiMap.OutputVideoRoutes[7], u => DmSwitch.ExecuteSwitch(u, 7, eRoutingSignalType.Video));
- ApiEisc.Eisc.SetUShortSigAction(ApiMap.OutputVideoRoutes[8], u => DmSwitch.ExecuteSwitch(u, 8, eRoutingSignalType.Video));
-
- ApiEisc.Eisc.SetUShortSigAction(ApiMap.OutputAudioRoutes[1], u => DmSwitch.ExecuteSwitch(u, 1, eRoutingSignalType.Audio));
- ApiEisc.Eisc.SetUShortSigAction(ApiMap.OutputAudioRoutes[2], u => DmSwitch.ExecuteSwitch(u, 2, eRoutingSignalType.Audio));
- ApiEisc.Eisc.SetUShortSigAction(ApiMap.OutputAudioRoutes[3], u => DmSwitch.ExecuteSwitch(u, 3, eRoutingSignalType.Audio));
- ApiEisc.Eisc.SetUShortSigAction(ApiMap.OutputAudioRoutes[4], u => DmSwitch.ExecuteSwitch(u, 4, eRoutingSignalType.Audio));
- ApiEisc.Eisc.SetUShortSigAction(ApiMap.OutputAudioRoutes[5], u => DmSwitch.ExecuteSwitch(u, 5, eRoutingSignalType.Audio));
- ApiEisc.Eisc.SetUShortSigAction(ApiMap.OutputAudioRoutes[6], u => DmSwitch.ExecuteSwitch(u, 6, eRoutingSignalType.Audio));
- ApiEisc.Eisc.SetUShortSigAction(ApiMap.OutputAudioRoutes[7], u => DmSwitch.ExecuteSwitch(u, 7, eRoutingSignalType.Audio));
- ApiEisc.Eisc.SetUShortSigAction(ApiMap.OutputAudioRoutes[8], u => DmSwitch.ExecuteSwitch(u, 8, eRoutingSignalType.Audio));
-
- foreach (var output in DmSwitch.Chassis.Outputs) {
- Debug.Console(0, "Creating EiscActions {0}", output.Number);
-
- DmSwitch.InputEndpointOnlineFeedbacks[(ushort)output.Number].LinkInputSig(ApiEisc.Eisc.BooleanInput[(ushort)(output.Number + 300)]);
-
-
- /* This wont work...routes to 8 every time i tried for loops, forweach. For some reason the test number keeps going to max value of the loop
- * always routing testNum to MaxLoopValue, the above works though.*/
-
- for (uint testNum = 1; testNum < 8; testNum++) {
- uint num = testNum;
- ApiEisc.Eisc.SetUShortSigAction((ushort)(output.Number + 300), u => DmSwitch.ExecuteSwitch(u, num, eRoutingSignalType.Audio));
- ApiEisc.Eisc.SetUShortSigAction((ushort)(output.Number + 100), u => DmSwitch.ExecuteSwitch(u, num, eRoutingSignalType.Video));
- }
-
- DmSwitch.OutputRouteFeedbacks[(ushort)output.Number].LinkInputSig(ApiEisc.Eisc.UShortInput[ApiMap.OutputVideoRoutes[(int)output.Number]]);
- }
- DmSwitch.IsOnline.LinkInputSig(ApiEisc.Eisc.BooleanInput[ApiMap.ChassisOnline]);
- ApiEisc.Eisc.Register();
- }
- }
-
-
-
- Debug.Console(0, "Name {0} Activated", this.Name);
- return true;
- } catch (Exception e) {
- Debug.Console(0, "BRidge {0}", e);
- return false;
- }
- }
- }
- public class EssentialDMProperties {
- public string connectionDeviceKey;
- public string[] EiscApiIpids;
-
-
- }
-
-
- public class EssentialDMApiMap {
- public ushort ChassisOnline = 11;
- public Dictionary OutputVideoRoutes;
- public Dictionary OutputAudioRoutes;
-
- public EssentialDMApiMap() {
- OutputVideoRoutes = new Dictionary();
- OutputAudioRoutes = new Dictionary();
-
- for (int x = 1; x <= 200; x++) {
- // Debug.Console(0, "Init Value {0}", x);
- OutputVideoRoutes[x] = (ushort)(x + 100);
- OutputAudioRoutes[x] = (ushort)(x + 300);
- }
- }
- }
- }
-
\ No newline at end of file
diff --git a/essentials-framework/Essentials/PepperDashEssentials/Configuration Original/Factories/DmFactory.cs b/essentials-framework/Essentials/PepperDashEssentials/Configuration Original/Factories/DmFactory.cs
deleted file mode 100644
index 0a0d4370..00000000
--- a/essentials-framework/Essentials/PepperDashEssentials/Configuration Original/Factories/DmFactory.cs
+++ /dev/null
@@ -1,96 +0,0 @@
-using System;
-using Crestron.SimplSharpPro;
-using Crestron.SimplSharpPro.DM;
-using Crestron.SimplSharpPro.DM.Endpoints.Receivers;
-using Crestron.SimplSharpPro.DM.Endpoints.Transmitters;
-
-using Newtonsoft.Json.Linq;
-
-using PepperDash.Essentials.Core;
-using PepperDash.Essentials.Devices;
-//using PepperDash.Essentials.Devices.Dm;
-using PepperDash.Core;
-
-namespace PepperDash.Essentials
-{
- public class DmFactory
- {
- public static Device Create(JToken devToken)
- {
- Device dev = null;
- try
- {
- var devType = devToken.Value("type");
- var devKey = devToken.Value("key");
- var devName = devToken.Value("name");
- // Catch all 200 series TX
- var devprops = devToken["properties"];
- var ipId = Convert.ToUInt32(devprops.Value("ipId"), 16);
- var parent = devprops.Value("parent");
- if (parent == null)
- parent = "controlSystem";
-
- if (devType.StartsWith("DmTx2", StringComparison.OrdinalIgnoreCase))
- {
- DmTx201C tx;
- if (parent.Equals("controlSystem", StringComparison.OrdinalIgnoreCase))
- {
- tx = new DmTx201C(ipId, Global.ControlSystem);
- //dev = new DmTx201SBasicController(devKey, devName, tx);
- }
-
- }
- else if (devType.StartsWith("DmRmc", StringComparison.OrdinalIgnoreCase))
- {
- DmRmc100C rmc;
- if (parent.Equals("controlSystem", StringComparison.OrdinalIgnoreCase))
- {
- rmc = new DmRmc100C(ipId, Global.ControlSystem);
- //dev = new DmRmcBaseController(devKey, devName, rmc);
- }
- }
- else
- FactoryHelper.HandleUnknownType(devToken, devType);
- }
- catch (Exception e)
- {
- FactoryHelper.HandleDeviceCreationError(devToken, e);
- }
- return dev;
- }
-
-
- public static Device CreateChassis(JToken devToken)
- {
- Device dev = null;
- try
- {
- var devType = devToken.Value("type");
- var devKey = devToken.Value("key");
- var devName = devToken.Value("name");
- // Catch all 200 series TX
- var devprops = devToken["properties"];
- var ipId = Convert.ToUInt32(devprops.Value("ipId"), 16);
- var parent = devprops.Value("parent");
- if (parent == null)
- parent = "controlSystem";
-
- if (devType.Equals("dmmd8x8", StringComparison.OrdinalIgnoreCase))
- {
- var dm = new DmMd8x8(ipId, Global.ControlSystem);
- //dev = new DmChassisController(devKey, devName, dm);
- }
- else if (devType.Equals("dmmd16x16", StringComparison.OrdinalIgnoreCase))
- {
- var dm = new DmMd16x16(ipId, Global.ControlSystem);
- //dev = new DmChassisController(devKey, devName, dm);
- }
- }
- catch (Exception e)
- {
- FactoryHelper.HandleDeviceCreationError(devToken, e);
- }
- return dev;
- }
- }
-}
\ No newline at end of file
diff --git a/essentials-framework/Essentials/PepperDashEssentials/ControlSystem.cs b/essentials-framework/Essentials/PepperDashEssentials/ControlSystem.cs
deleted file mode 100644
index bde618c0..00000000
--- a/essentials-framework/Essentials/PepperDashEssentials/ControlSystem.cs
+++ /dev/null
@@ -1,309 +0,0 @@
-using System;
-using System.Linq;
-using Crestron.SimplSharp;
-using Crestron.SimplSharp.CrestronIO;
-using Crestron.SimplSharpPro;
-using Crestron.SimplSharpPro.CrestronThread;
-using PepperDash.Core;
-// using PepperDash.Core.PortalSync;
-using PepperDash.Essentials.Core;
-using PepperDash.Essentials.Devices.Common;
-using PepperDash.Essentials.DM;
-using PepperDash.Essentials.Fusion;
-using PepperDash.Essentials.Room.Cotija;
-
-namespace PepperDash.Essentials
-{
- public class ControlSystem : CrestronControlSystem
- {
- // PepperDashPortalSyncClient PortalSync;
- HttpLogoServer LogoServer;
-
- public ControlSystem()
- : base()
- {
- Thread.MaxNumberOfUserThreads = 400;
- Global.ControlSystem = this;
- DeviceManager.Initialize(this);
- }
-
- ///
- /// Git 'er goin'
- ///
- public override void InitializeSystem()
- {
- CrestronConsole.AddNewConsoleCommand(s =>
- {
- foreach (var tl in TieLineCollection.Default)
- CrestronConsole.ConsoleCommandResponse(" {0}\r", tl);
- },
- "listtielines", "Prints out all tie lines", ConsoleAccessLevelEnum.AccessOperator);
-
- CrestronConsole.AddNewConsoleCommand(s =>
- {
- CrestronConsole.ConsoleCommandResponse
- ("Current running configuration. This is the merged system and template configuration");
- CrestronConsole.ConsoleCommandResponse(Newtonsoft.Json.JsonConvert.SerializeObject
- (ConfigReader.ConfigObject, Newtonsoft.Json.Formatting.Indented));
- }, "showconfig", "Shows the current running merged config", ConsoleAccessLevelEnum.AccessOperator);
-
- CrestronConsole.AddNewConsoleCommand(s =>
- {
- CrestronConsole.ConsoleCommandResponse("This system can be found at the following URLs:\r" +
- "System URL: {0}\r" +
- "Template URL: {1}", ConfigReader.ConfigObject.SystemUrl, ConfigReader.ConfigObject.TemplateUrl);
- }, "portalinfo", "Shows portal URLS from configuration", ConsoleAccessLevelEnum.AccessOperator);
-
- GoWithLoad();
- }
-
- ///
- /// Do it, yo
- ///
- public void GoWithLoad()
- {
- try
- {
- CrestronConsole.AddNewConsoleCommand(EnablePortalSync, "portalsync", "Loads Portal Sync",
- ConsoleAccessLevelEnum.AccessOperator);
-
- //PortalSync = new PepperDashPortalSyncClient();
-
- Debug.Console(0, "Starting Essentials load from configuration");
-
- var filesReady = SetupFilesystem();
- if (filesReady)
- {
- Debug.Console(0, "Folder structure verified. Loading config...");
- if (!ConfigReader.LoadConfig2())
- return;
-
- Load();
- Debug.Console(0, "Essentials load complete\r" +
- "-------------------------------------------------------------");
- }
- else
- {
- Debug.Console(0,
- "------------------------------------------------\r" +
- "------------------------------------------------\r" +
- "------------------------------------------------\r" +
- "Essentials file structure setup completed.\r" +
- "Please load config, sgd and ir files and\r" +
- "restart program.\r" +
- "------------------------------------------------\r" +
- "------------------------------------------------\r" +
- "------------------------------------------------");
- }
- }
- catch (Exception e)
- {
- Debug.Console(0, "FATAL INITIALIZE ERROR. System is in an inconsistent state:\r{0}", e);
- }
-
- }
-
- ///
- /// Verifies filesystem is set up. IR, SGD, and program1 folders
- ///
- bool SetupFilesystem()
- {
- Debug.Console(0, "Verifying and/or creating folder structure");
- var appNum = InitialParametersClass.ApplicationNumber;
- var configDir = @"\NVRAM\Program" + appNum;
- var configExists = Directory.Exists(configDir);
- if (!configExists)
- Directory.Create(configDir);
-
- var irDir = string.Format(@"\NVRAM\Program{0}\ir", appNum);
- if (!Directory.Exists(irDir))
- Directory.Create(irDir);
-
- var sgdDir = string.Format(@"\NVRAM\Program{0}\sgd", appNum);
- if (!Directory.Exists(sgdDir))
- Directory.Create(sgdDir);
-
- return configExists;
- }
-
- public void EnablePortalSync(string s)
- {
- if (s.ToLower() == "enable")
- {
- CrestronConsole.ConsoleCommandResponse("Portal Sync features enabled");
- // PortalSync = new PepperDashPortalSyncClient();
- }
- }
-
- public void TearDown()
- {
- Debug.Console(0, "Tearing down existing system");
- DeviceManager.DeactivateAll();
-
- TieLineCollection.Default.Clear();
-
- foreach (var key in DeviceManager.GetDevices())
- DeviceManager.RemoveDevice(key);
-
- Debug.Console(0, "Tear down COMPLETE");
- }
-
- ///
- ///
- ///
- void Load()
- {
- LoadDevices();
- LoadTieLines();
- LoadRooms();
- LoadLogoServer();
-
- DeviceManager.ActivateAll();
- }
-
-
- ///
- /// Reads all devices from config and adds them to DeviceManager
- ///
- public void LoadDevices()
- {
- foreach (var devConf in ConfigReader.ConfigObject.Devices)
- {
-
- try
- {
- Debug.Console(0, "Creating device '{0}'", devConf.Key);
- // Skip this to prevent unnecessary warnings
- if (devConf.Key == "processor")
- continue;
-
- // Try local factory first
- var newDev = DeviceFactory.GetDevice(devConf);
-
- // Then associated library factories
- if (newDev == null)
- newDev = PepperDash.Essentials.Devices.Common.DeviceFactory.GetDevice(devConf);
- if (newDev == null)
- newDev = PepperDash.Essentials.DM.DeviceFactory.GetDevice(devConf);
- if (newDev == null)
- newDev = PepperDash.Essentials.Devices.Displays.DisplayDeviceFactory.GetDevice(devConf);
- if (newDev == null)
- newDev = PepperDash.Essentials.BridgeFactory.GetDevice(devConf);
-
- if (newDev != null)
- DeviceManager.AddDevice(newDev);
- else
- Debug.Console(0, "ERROR: Cannot load unknown device type '{0}', key '{1}'.", devConf.Type, devConf.Key);
- }
- catch (Exception e)
- {
- Debug.Console(0, "ERROR: Creating device {0}. Skipping device. \r{1}", devConf.Key, e);
- }
- }
- }
-
- ///
- /// Helper method to load tie lines. This should run after devices have loaded
- ///
- public void LoadTieLines()
- {
- // In the future, we can't necessarily just clear here because devices
- // might be making their own internal sources/tie lines
-
- var tlc = TieLineCollection.Default;
- //tlc.Clear();
- if (ConfigReader.ConfigObject.TieLines == null)
- {
- return;
- }
-
- foreach (var tieLineConfig in ConfigReader.ConfigObject.TieLines)
- {
- var newTL = tieLineConfig.GetTieLine();
- if (newTL != null)
- tlc.Add(newTL);
- }
- }
-
- ///
- /// Reads all rooms from config and adds them to DeviceManager
- ///
- public void LoadRooms()
- {
- if (ConfigReader.ConfigObject.Rooms == null)
- {
- Debug.Console(0, "WARNING: Configuration contains no rooms");
- return;
- }
-
- foreach (var roomConfig in ConfigReader.ConfigObject.Rooms)
- {
- var room = roomConfig.GetRoomObject();
- if (room != null)
- {
- if (room is EssentialsHuddleSpaceRoom)
- {
- DeviceManager.AddDevice(room);
-
- Debug.Console(1, "Room is EssentialsHuddleSpaceRoom, attempting to add to DeviceManager with Fusion");
- DeviceManager.AddDevice(new EssentialsHuddleSpaceFusionSystemControllerBase((EssentialsHuddleSpaceRoom)room, 0xf1));
-
- // Cotija bridge
- var bridge = new CotijaEssentialsHuddleSpaceRoomBridge(room as EssentialsHuddleSpaceRoom);
- AddBridgePostActivationHelper(bridge); // Lets things happen later when all devices are present
- DeviceManager.AddDevice(bridge);
- }
- else if (room is EssentialsHuddleVtc1Room)
- {
- DeviceManager.AddDevice(room);
-
- Debug.Console(1, "Room is EssentialsHuddleVtc1Room, attempting to add to DeviceManager with Fusion");
- DeviceManager.AddDevice(new EssentialsHuddleVtc1FusionController((EssentialsHuddleVtc1Room)room, 0xf1));
- }
- else
- {
- Debug.Console(1, "Room is NOT EssentialsHuddleSpaceRoom, attempting to add to DeviceManager w/o Fusion");
- DeviceManager.AddDevice(room);
- }
-
- }
- else
- Debug.Console(0, "WARNING: Cannot create room from config, key '{0}'", roomConfig.Key);
- }
- }
-
- ///
- /// Helps add the post activation steps that link bridges to main controller
- ///
- ///
- void AddBridgePostActivationHelper(CotijaBridgeBase bridge)
- {
- bridge.AddPostActivationAction(() =>
- {
- var parent = DeviceManager.AllDevices.FirstOrDefault(d => d.Key == "appServer") as CotijaSystemController;
- if (parent == null)
- {
- Debug.Console(0, bridge, "ERROR: Cannot connect bridge. System controller not present");
- }
- Debug.Console(0, bridge, "Linking to parent controller");
- bridge.AddParent(parent);
- parent.AddBridge(bridge);
- });
- }
-
- ///
- /// Fires up a logo server if not already running
- ///
- void LoadLogoServer()
- {
- try
- {
- LogoServer = new HttpLogoServer(8080, @"\html\logo");
- }
- catch (Exception)
- {
- Debug.Console(0, "NOTICE: Logo server cannot be started. Likely already running in another program");
- }
- }
- }
-}
diff --git a/essentials-framework/Essentials/PepperDashEssentials/PepperDashEssentials.csproj b/essentials-framework/Essentials/PepperDashEssentials/PepperDashEssentials.csproj
deleted file mode 100644
index 463928a4..00000000
--- a/essentials-framework/Essentials/PepperDashEssentials/PepperDashEssentials.csproj
+++ /dev/null
@@ -1,224 +0,0 @@
-
-
- Release
- AnyCPU
- 9.0.30729
- 2.0
- {1BED5BA9-88C4-4365-9362-6F4B128071D3}
- Library
- Properties
- PepperDash.Essentials
- PepperDashEssentials
- {0B4745B0-194B-4BB6-8E21-E9057CA92230};{4D628B5B-2FBC-4AA6-8C16-197242AEB884};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}
- WindowsCE
- E2BECB1F-8C8C-41ba-B736-9BE7D946A398
- 5.0
- SmartDeviceProject1
- v3.5
- Windows CE
-
-
-
-
- .allowedReferenceRelatedFileExtensions
- true
- full
- false
- bin\
- DEBUG;TRACE;
- prompt
- 4
- 512
- true
- true
- off
-
-
- .allowedReferenceRelatedFileExtensions
- none
- true
- bin\
- prompt
- 4
- 512
- true
- true
- off
-
-
-
- False
- ..\..\..\..\..\..\..\..\..\ProgramData\Crestron\SDK\SSPDevices\Crestron.SimplSharpPro.DeviceSupport.dll
-
-
- False
- ..\..\..\..\..\..\..\..\..\ProgramData\Crestron\SDK\SSPDevices\Crestron.SimplSharpPro.DM.dll
-
-
- False
- ..\..\..\..\..\..\..\..\..\ProgramData\Crestron\SDK\SSPDevices\Crestron.SimplSharpPro.EthernetCommunications.dll
-
-
- False
- ..\..\..\..\..\..\..\..\..\ProgramData\Crestron\SDK\SSPDevices\Crestron.SimplSharpPro.Fusion.dll
-
-
- False
- ..\..\..\..\..\..\..\..\..\ProgramData\Crestron\SDK\SSPDevices\Crestron.SimplSharpPro.Remotes.dll
-
-
- False
- ..\..\..\..\..\..\..\..\..\ProgramData\Crestron\SDK\SSPDevices\Crestron.SimplSharpPro.UI.dll
-
-
-
- False
- ..\..\Release Package\PepperDash_Core.dll
-
-
- False
- ..\..\Essentials DM\Essentials_DM\bin\PepperDash_Essentials_DM.dll
-
-
- False
- ..\..\..\..\..\..\..\..\..\ProgramData\Crestron\SDK\SimplSharpCustomAttributesInterface.dll
-
-
- False
- ..\..\..\..\..\..\..\..\..\ProgramData\Crestron\SDK\SimplSharpHelperInterface.dll
-
-
- False
- ..\..\..\..\..\..\..\..\..\ProgramData\Crestron\SDK\SimplSharpNewtonsoft.dll
-
-
- False
- ..\..\..\..\..\..\..\..\..\ProgramData\Crestron\SDK\SimplSharpPro.exe
-
-
- False
- ..\..\..\..\..\..\..\..\..\ProgramData\Crestron\SDK\SimplSharpReflectionInterface.dll
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- {A49AD6C8-FC0A-4CC0-9089-DFB4CF92D2B5}
- PepperDash_Essentials_Core
-
-
- {892B761C-E479-44CE-BD74-243E9214AF13}
- Essentials Devices Common
-
-
-
-
-
-
-
-
- rem S# Pro preparation will execute after these operations
-
-
\ No newline at end of file
diff --git a/essentials-framework/Essentials/PepperDashEssentials/UIDrivers/DualDisplayRouting REMOVE.cs b/essentials-framework/Essentials/PepperDashEssentials/UIDrivers/DualDisplayRouting REMOVE.cs
deleted file mode 100644
index 1aeb7a3c..00000000
--- a/essentials-framework/Essentials/PepperDashEssentials/UIDrivers/DualDisplayRouting REMOVE.cs
+++ /dev/null
@@ -1,231 +0,0 @@
-//using System;
-//using System.Collections.Generic;
-//using System.Linq;
-//using System.Text;
-//using Crestron.SimplSharp;
-//using Crestron.SimplSharpPro;
-//using Crestron.SimplSharpPro.DeviceSupport;
-//using PepperDash.Core;
-//using PepperDash.Essentials.Core;
-//using PepperDash.Essentials.Core.SmartObjects;
-//using PepperDash.Essentials.Core.PageManagers;
-
-//namespace PepperDash.Essentials
-//{
-// public class DualDisplaySimpleOrAdvancedRouting : PanelDriverBase
-// {
-// EssentialsPresentationPanelAvFunctionsDriver Parent;
-
-// ///
-// /// Smart Object 3200
-// ///
-// SubpageReferenceList SourcesSrl;
-
-// ///
-// /// For tracking feedback on last selected
-// ///
-// BoolInputSig LastSelectedSourceSig;
-
-// ///
-// /// The source that has been selected and is awaiting assignment to a display
-// ///
-// SourceListItem PendingSource;
-
-// bool IsSharingModeAdvanced;
-
-// public DualDisplaySimpleOrAdvancedRouting(EssentialsPresentationPanelAvFunctionsDriver parent) : base(parent.TriList)
-// {
-// Parent = parent;
-// SourcesSrl = new SubpageReferenceList(TriList, 3200, 3, 3, 3);
-
-// TriList.SetSigFalseAction(UIBoolJoin.ToggleSharingModePress, ToggleSharingModePressed);
-
-// TriList.SetSigFalseAction(UIBoolJoin.Display1AudioButtonPressAndFb, Display1AudioPress);
-// TriList.SetSigFalseAction(UIBoolJoin.Display1ControlButtonPress, Display1ControlPress);
-// TriList.SetSigTrueAction(UIBoolJoin.Display1SelectPressAndFb, Display1Press);
-
-// TriList.SetSigFalseAction(UIBoolJoin.Display2AudioButtonPressAndFb, Display2AudioPress);
-// TriList.SetSigFalseAction(UIBoolJoin.Display2ControlButtonPress, Display2ControlPress);
-// TriList.SetSigTrueAction(UIBoolJoin.Display2SelectPressAndFb, Display2Press);
-// }
-
-// ///
-// ///
-// ///
-// public override void Show()
-// {
-// TriList.BooleanInput[UIBoolJoin.ToggleSharingModeVisible].BoolValue = true;
-// TriList.BooleanInput[UIBoolJoin.StagingPageVisible].BoolValue = true;
-// if(IsSharingModeAdvanced)
-// TriList.BooleanInput[UIBoolJoin.DualDisplayPageVisible].BoolValue = true;
-// else
-// TriList.BooleanInput[UIBoolJoin.SelectASourceVisible].BoolValue = true;
-// base.Show();
-// }
-
-// ///
-// ///
-// ///
-// //public override void Hide()
-// //{
-// // TriList.BooleanInput[UIBoolJoin.ToggleSharingModeVisible].BoolValue = false;
-// // TriList.BooleanInput[UIBoolJoin.StagingPageVisible].BoolValue = false;
-// // if(IsSharingModeAdvanced)
-// // TriList.BooleanInput[UIBoolJoin.DualDisplayPageVisible].BoolValue = false;
-// // else
-// // TriList.BooleanInput[UIBoolJoin.SelectASourceVisible].BoolValue = false;
-// // base.Hide();
-// //}
-
-// public void SetCurrentRoomFromParent()
-// {
-// if (IsSharingModeAdvanced)
-// return; // add stuff here
-// else
-// SetupSourceListForSimpleRouting();
-// }
-
-// ///
-// ///
-// ///
-// void SetupSourceListForSimpleRouting()
-// {
-// // get the source list config and set up the source list
-// var config = ConfigReader.ConfigObject.SourceLists;
-// if (config.ContainsKey(Parent.CurrentRoom.SourceListKey))
-// {
-// var srcList = config[Parent.CurrentRoom.SourceListKey]
-// .Values.ToList().OrderBy(s => s.Order);
-// // Setup sources list
-// uint i = 1; // counter for UI list
-// foreach (var srcConfig in srcList)
-// {
-// if (!srcConfig.IncludeInSourceList) // Skip sources marked this way
-// continue;
-
-// var sourceKey = srcConfig.SourceKey;
-// var actualSource = DeviceManager.GetDeviceForKey(sourceKey) as Device;
-// if (actualSource == null)
-// {
-// Debug.Console(0, "Cannot assign missing source '{0}' to source UI list",
-// srcConfig.SourceKey);
-// continue;
-// }
-// var localSrcItem = srcConfig; // lambda scope below
-// var localIndex = i;
-// SourcesSrl.GetBoolFeedbackSig(i, 1).UserObject = new Action(b =>
-// {
-// if (IsSharingModeAdvanced)
-// {
-// if (LastSelectedSourceSig != null)
-// LastSelectedSourceSig.BoolValue = false;
-// SourceListButtonPress(localSrcItem);
-// LastSelectedSourceSig = SourcesSrl.BoolInputSig(localIndex, 1);
-// LastSelectedSourceSig.BoolValue = true;
-// }
-// else
-// Parent.CurrentRoom.DoSourceToAllDestinationsRoute(localSrcItem);
-// });
-// SourcesSrl.StringInputSig(i, 1).StringValue = srcConfig.PreferredName;
-// i++;
-
-// //var item = new SubpageReferenceListSourceItem(i++, SourcesSrl, srcConfig,
-// // b => { if (!b) UiSelectSource(localSrcConfig); });
-// //SourcesSrl.AddItem(item); // add to the SRL
-// //item.RegisterForSourceChange(Parent.CurrentRoom);
-// }
-// SourcesSrl.Count = (ushort)(i - 1);
-// Parent.CurrentRoom.CurrentSingleSourceChange += CurrentRoom_CurrentSourceInfoChange;
-// Parent.CurrentRoom.CurrentDisplay1SourceChange += CurrentRoom_CurrentDisplay1SourceChange;
-// Parent.CurrentRoom.CurrentDisplay2SourceChange += CurrentRoom_CurrentDisplay2SourceChange;
-// }
-// }
-
-// void SetupSourceListForAdvancedRouting()
-// {
-
-// }
-
-// void CurrentRoom_CurrentSourceInfoChange(EssentialsRoomBase room, SourceListItem info, ChangeType type)
-// {
-
-// }
-
-// void CurrentRoom_CurrentDisplay1SourceChange(EssentialsRoomBase room, SourceListItem info, ChangeType type)
-// {
-// TriList.StringInput[UIStringJoin.Display1SourceLabel].StringValue = PendingSource.PreferredName;
-
-// }
-
-// void CurrentRoom_CurrentDisplay2SourceChange(EssentialsRoomBase room, SourceListItem info, ChangeType type)
-// {
-// TriList.StringInput[UIStringJoin.Display2SourceLabel].StringValue = PendingSource.PreferredName;
-// }
-
-// ///
-// ///
-// ///
-// void ToggleSharingModePressed()
-// {
-// Hide();
-// IsSharingModeAdvanced = !IsSharingModeAdvanced;
-// TriList.BooleanInput[UIBoolJoin.ToggleSharingModePress].BoolValue = IsSharingModeAdvanced;
-// Show();
-// }
-
-// public void SourceListButtonPress(SourceListItem item)
-// {
-// // start the timer
-// // show FB on potential source
-// TriList.BooleanInput[UIBoolJoin.Display1AudioButtonEnable].BoolValue = false;
-// TriList.BooleanInput[UIBoolJoin.Display1ControlButtonEnable].BoolValue = false;
-// TriList.BooleanInput[UIBoolJoin.Display2AudioButtonEnable].BoolValue = false;
-// TriList.BooleanInput[UIBoolJoin.Display2ControlButtonEnable].BoolValue = false;
-// PendingSource = item;
-// }
-
-// void EnableAppropriateDisplayButtons()
-// {
-// TriList.BooleanInput[UIBoolJoin.Display1AudioButtonEnable].BoolValue = true;
-// TriList.BooleanInput[UIBoolJoin.Display1ControlButtonEnable].BoolValue = true;
-// TriList.BooleanInput[UIBoolJoin.Display2AudioButtonEnable].BoolValue = true;
-// TriList.BooleanInput[UIBoolJoin.Display2ControlButtonEnable].BoolValue = true;
-// if (LastSelectedSourceSig != null)
-// LastSelectedSourceSig.BoolValue = false;
-// }
-
-// public void Display1Press()
-// {
-// EnableAppropriateDisplayButtons();
-// Parent.CurrentRoom.SourceToDisplay1(PendingSource);
-// // Enable end meeting
-// }
-
-// public void Display1AudioPress()
-// {
-
-// }
-
-
-// public void Display1ControlPress()
-// {
-
-// }
-
-// public void Display2Press()
-// {
-// EnableAppropriateDisplayButtons();
-// Parent.CurrentRoom.SourceToDisplay2(PendingSource);
-// }
-
-// public void Display2AudioPress()
-// {
-
-// }
-
-// public void Display2ControlPress()
-// {
-
-// }
-// }
-//}
\ No newline at end of file
diff --git a/IR Drivers/Apple_AppleTV_4th_Gen_Essentials.ir b/ir/Apple_AppleTV_4th_Gen_Essentials.ir
similarity index 100%
rename from IR Drivers/Apple_AppleTV_4th_Gen_Essentials.ir
rename to ir/Apple_AppleTV_4th_Gen_Essentials.ir
diff --git a/IR Drivers/Cisco Explorer 4642HDC.ir b/ir/Cisco Explorer 4642HDC.ir
similarity index 100%
rename from IR Drivers/Cisco Explorer 4642HDC.ir
rename to ir/Cisco Explorer 4642HDC.ir
diff --git a/IR Drivers/Comcast Motorola DVR.ir b/ir/Comcast Motorola DVR.ir
similarity index 100%
rename from IR Drivers/Comcast Motorola DVR.ir
rename to ir/Comcast Motorola DVR.ir
diff --git a/IR Drivers/Comcast X1.ir b/ir/Comcast X1.ir
similarity index 100%
rename from IR Drivers/Comcast X1.ir
rename to ir/Comcast X1.ir
diff --git a/IR Drivers/DirecTV H21.ir b/ir/DirecTV H21.ir
similarity index 100%
rename from IR Drivers/DirecTV H21.ir
rename to ir/DirecTV H21.ir
diff --git a/IR Drivers/EXPLORER 8200HD Full Set Pulsed.ir b/ir/EXPLORER 8200HD Full Set Pulsed.ir
similarity index 100%
rename from IR Drivers/EXPLORER 8200HD Full Set Pulsed.ir
rename to ir/EXPLORER 8200HD Full Set Pulsed.ir
diff --git a/IR Drivers/Etisalat Cable Box.ir b/ir/Etisalat Cable Box.ir
similarity index 100%
rename from IR Drivers/Etisalat Cable Box.ir
rename to ir/Etisalat Cable Box.ir
diff --git a/IR Drivers/Etisalat e-Vision.ir b/ir/Etisalat e-Vision.ir
similarity index 100%
rename from IR Drivers/Etisalat e-Vision.ir
rename to ir/Etisalat e-Vision.ir
diff --git a/IR Drivers/Panasonic DMP-BD70.ir b/ir/Panasonic DMP-BD70.ir
similarity index 100%
rename from IR Drivers/Panasonic DMP-BD70.ir
rename to ir/Panasonic DMP-BD70.ir
diff --git a/IR Drivers/Sony BDP Series.ir b/ir/Sony BDP Series.ir
similarity index 100%
rename from IR Drivers/Sony BDP Series.ir
rename to ir/Sony BDP Series.ir
diff --git a/IR Drivers/samsung_un_series.ir b/ir/samsung_un_series.ir
similarity index 100%
rename from IR Drivers/samsung_un_series.ir
rename to ir/samsung_un_series.ir
diff --git a/essentials-framework/Essentials Core/PepperDashEssentialsBase/Bridges/BridgeBase.cs b/src/PepperDash.Essentials.Core/Bridges/BridgeBase.cs
similarity index 100%
rename from essentials-framework/Essentials Core/PepperDashEssentialsBase/Bridges/BridgeBase.cs
rename to src/PepperDash.Essentials.Core/Bridges/BridgeBase.cs
diff --git a/essentials-framework/Essentials Core/PepperDashEssentialsBase/Bridges/IBridge.cs b/src/PepperDash.Essentials.Core/Bridges/IBridge.cs
similarity index 100%
rename from essentials-framework/Essentials Core/PepperDashEssentialsBase/Bridges/IBridge.cs
rename to src/PepperDash.Essentials.Core/Bridges/IBridge.cs
diff --git a/essentials-framework/Essentials Core/PepperDashEssentialsBase/Bridges/JoinMaps/AirMediaControllerJoinMap.cs b/src/PepperDash.Essentials.Core/Bridges/JoinMaps/AirMediaControllerJoinMap.cs
similarity index 98%
rename from essentials-framework/Essentials Core/PepperDashEssentialsBase/Bridges/JoinMaps/AirMediaControllerJoinMap.cs
rename to src/PepperDash.Essentials.Core/Bridges/JoinMaps/AirMediaControllerJoinMap.cs
index 126c6112..fa5f2ac4 100644
--- a/essentials-framework/Essentials Core/PepperDashEssentialsBase/Bridges/JoinMaps/AirMediaControllerJoinMap.cs
+++ b/src/PepperDash.Essentials.Core/Bridges/JoinMaps/AirMediaControllerJoinMap.cs
@@ -1,71 +1,71 @@
-using System;
-
-namespace PepperDash.Essentials.Core.Bridges
-{
- public class AirMediaControllerJoinMap : JoinMapBaseAdvanced
- {
- [JoinName("IsOnline")]
- public JoinDataComplete IsOnline = new JoinDataComplete(new JoinData { JoinNumber = 1, JoinSpan = 1 },
- new JoinMetadata { Description = "Air Media Online", JoinCapabilities = eJoinCapabilities.ToSIMPL, JoinType = eJoinType.Digital });
-
- [JoinName("IsInSession")]
- public JoinDataComplete IsInSession = new JoinDataComplete(new JoinData { JoinNumber = 2, JoinSpan = 1 },
- new JoinMetadata { Description = "Air Media In Sharing Session", JoinCapabilities = eJoinCapabilities.ToSIMPL, JoinType = eJoinType.Digital });
-
- [JoinName("HdmiVideoSync")]
- public JoinDataComplete HdmiVideoSync = new JoinDataComplete(new JoinData { JoinNumber = 3, JoinSpan = 1 },
- new JoinMetadata { Description = "Air Media Has HDMI Video Sync", JoinCapabilities = eJoinCapabilities.ToSIMPL, JoinType = eJoinType.Digital });
-
- [JoinName("AutomaticInputRoutingEnabled")]
- public JoinDataComplete AutomaticInputRoutingEnabled = new JoinDataComplete(new JoinData { JoinNumber = 4, JoinSpan = 1 },
- new JoinMetadata { Description = "Air Media Automatic Input Routing Enable(d)", JoinCapabilities = eJoinCapabilities.ToFromSIMPL, JoinType = eJoinType.Digital });
-
- [JoinName("VideoOut")]
- public JoinDataComplete VideoOut = new JoinDataComplete(new JoinData { JoinNumber = 1, JoinSpan = 1 },
- new JoinMetadata { Description = "Air Media Video Route Select / Feedback", JoinCapabilities = eJoinCapabilities.ToFromSIMPL, JoinType = eJoinType.Analog });
-
- [JoinName("ErrorFB")]
- public JoinDataComplete ErrorFB = new JoinDataComplete(new JoinData { JoinNumber = 2, JoinSpan = 1 },
- new JoinMetadata { Description = "Air Media Error Status", JoinCapabilities = eJoinCapabilities.ToSIMPL, JoinType = eJoinType.Analog });
-
- [JoinName("NumberOfUsersConnectedFB")]
- public JoinDataComplete NumberOfUsersConnectedFB = new JoinDataComplete(new JoinData { JoinNumber = 3, JoinSpan = 1 },
- new JoinMetadata { Description = "Air Media Number of Users Connected", JoinCapabilities = eJoinCapabilities.ToSIMPL, JoinType = eJoinType.Analog });
-
- [JoinName("LoginCode")]
- public JoinDataComplete LoginCode = new JoinDataComplete(new JoinData { JoinNumber = 4, JoinSpan = 1 },
- new JoinMetadata { Description = "Air Media Login Code Set / Get", JoinCapabilities = eJoinCapabilities.ToFromSIMPL, JoinType = eJoinType.Analog });
-
- [JoinName("Name")]
- public JoinDataComplete Name = new JoinDataComplete(new JoinData { JoinNumber = 1, JoinSpan = 1 },
- new JoinMetadata { Description = "Air Media Device Name", JoinCapabilities = eJoinCapabilities.ToSIMPL, JoinType = eJoinType.Serial });
-
- [JoinName("ConnectionAddressFB")]
- public JoinDataComplete ConnectionAddressFB = new JoinDataComplete(new JoinData { JoinNumber = 2, JoinSpan = 1 },
- new JoinMetadata { Description = "Air Media IP Address", JoinCapabilities = eJoinCapabilities.ToSIMPL, JoinType = eJoinType.Serial });
-
- [JoinName("HostnameFB")]
- public JoinDataComplete HostnameFB = new JoinDataComplete(new JoinData { JoinNumber = 3, JoinSpan = 1 },
- new JoinMetadata { Description = "Air Media Hostname", JoinCapabilities = eJoinCapabilities.ToSIMPL, JoinType = eJoinType.Serial });
-
- [JoinName("SerialNumberFeedback")]
- public JoinDataComplete SerialNumberFeedback = new JoinDataComplete(new JoinData { JoinNumber = 4, JoinSpan = 1 },
- new JoinMetadata { Description = "Air Media Serial Number", JoinCapabilities = eJoinCapabilities.ToSIMPL, JoinType = eJoinType.Serial });
-
- ///
- /// Constructor to use when instantiating this Join Map without inheriting from it
- ///
- /// Join this join map will start at
- public AirMediaControllerJoinMap(uint joinStart)
- : this(joinStart, typeof(AirMediaControllerJoinMap))
- {
- }
-
- ///
- /// Constructor to use when extending this Join map
- ///
- /// Join this join map will start at
- /// Type of the child join map
- protected AirMediaControllerJoinMap(uint joinStart, Type type) : base(joinStart, type){}
- }
+using System;
+
+namespace PepperDash.Essentials.Core.Bridges
+{
+ public class AirMediaControllerJoinMap : JoinMapBaseAdvanced
+ {
+ [JoinName("IsOnline")]
+ public JoinDataComplete IsOnline = new JoinDataComplete(new JoinData { JoinNumber = 1, JoinSpan = 1 },
+ new JoinMetadata { Description = "Air Media Online", JoinCapabilities = eJoinCapabilities.ToSIMPL, JoinType = eJoinType.Digital });
+
+ [JoinName("IsInSession")]
+ public JoinDataComplete IsInSession = new JoinDataComplete(new JoinData { JoinNumber = 2, JoinSpan = 1 },
+ new JoinMetadata { Description = "Air Media In Sharing Session", JoinCapabilities = eJoinCapabilities.ToSIMPL, JoinType = eJoinType.Digital });
+
+ [JoinName("HdmiVideoSync")]
+ public JoinDataComplete HdmiVideoSync = new JoinDataComplete(new JoinData { JoinNumber = 3, JoinSpan = 1 },
+ new JoinMetadata { Description = "Air Media Has HDMI Video Sync", JoinCapabilities = eJoinCapabilities.ToSIMPL, JoinType = eJoinType.Digital });
+
+ [JoinName("AutomaticInputRoutingEnabled")]
+ public JoinDataComplete AutomaticInputRoutingEnabled = new JoinDataComplete(new JoinData { JoinNumber = 4, JoinSpan = 1 },
+ new JoinMetadata { Description = "Air Media Automatic Input Routing Enable(d)", JoinCapabilities = eJoinCapabilities.ToFromSIMPL, JoinType = eJoinType.Digital });
+
+ [JoinName("VideoOut")]
+ public JoinDataComplete VideoOut = new JoinDataComplete(new JoinData { JoinNumber = 1, JoinSpan = 1 },
+ new JoinMetadata { Description = "Air Media Video Route Select / Feedback", JoinCapabilities = eJoinCapabilities.ToFromSIMPL, JoinType = eJoinType.Analog });
+
+ [JoinName("ErrorFB")]
+ public JoinDataComplete ErrorFB = new JoinDataComplete(new JoinData { JoinNumber = 2, JoinSpan = 1 },
+ new JoinMetadata { Description = "Air Media Error Status", JoinCapabilities = eJoinCapabilities.ToSIMPL, JoinType = eJoinType.Analog });
+
+ [JoinName("NumberOfUsersConnectedFB")]
+ public JoinDataComplete NumberOfUsersConnectedFB = new JoinDataComplete(new JoinData { JoinNumber = 3, JoinSpan = 1 },
+ new JoinMetadata { Description = "Air Media Number of Users Connected", JoinCapabilities = eJoinCapabilities.ToSIMPL, JoinType = eJoinType.Analog });
+
+ [JoinName("LoginCode")]
+ public JoinDataComplete LoginCode = new JoinDataComplete(new JoinData { JoinNumber = 4, JoinSpan = 1 },
+ new JoinMetadata { Description = "Air Media Login Code Set / Get", JoinCapabilities = eJoinCapabilities.ToFromSIMPL, JoinType = eJoinType.Analog });
+
+ [JoinName("Name")]
+ public JoinDataComplete Name = new JoinDataComplete(new JoinData { JoinNumber = 1, JoinSpan = 1 },
+ new JoinMetadata { Description = "Air Media Device Name", JoinCapabilities = eJoinCapabilities.ToSIMPL, JoinType = eJoinType.Serial });
+
+ [JoinName("ConnectionAddressFB")]
+ public JoinDataComplete ConnectionAddressFB = new JoinDataComplete(new JoinData { JoinNumber = 2, JoinSpan = 1 },
+ new JoinMetadata { Description = "Air Media IP Address", JoinCapabilities = eJoinCapabilities.ToSIMPL, JoinType = eJoinType.Serial });
+
+ [JoinName("HostnameFB")]
+ public JoinDataComplete HostnameFB = new JoinDataComplete(new JoinData { JoinNumber = 3, JoinSpan = 1 },
+ new JoinMetadata { Description = "Air Media Hostname", JoinCapabilities = eJoinCapabilities.ToSIMPL, JoinType = eJoinType.Serial });
+
+ [JoinName("SerialNumberFeedback")]
+ public JoinDataComplete SerialNumberFeedback = new JoinDataComplete(new JoinData { JoinNumber = 4, JoinSpan = 1 },
+ new JoinMetadata { Description = "Air Media Serial Number", JoinCapabilities = eJoinCapabilities.ToSIMPL, JoinType = eJoinType.Serial });
+
+ ///
+ /// Constructor to use when instantiating this Join Map without inheriting from it
+ ///
+ /// Join this join map will start at
+ public AirMediaControllerJoinMap(uint joinStart)
+ : this(joinStart, typeof(AirMediaControllerJoinMap))
+ {
+ }
+
+ ///
+ /// Constructor to use when extending this Join map
+ ///
+ /// Join this join map will start at
+ /// Type of the child join map
+ protected AirMediaControllerJoinMap(uint joinStart, Type type) : base(joinStart, type){}
+ }
}
\ No newline at end of file
diff --git a/essentials-framework/Essentials Core/PepperDashEssentialsBase/Bridges/JoinMaps/AppleTvJoinMap.cs b/src/PepperDash.Essentials.Core/Bridges/JoinMaps/AppleTvJoinMap.cs
similarity index 98%
rename from essentials-framework/Essentials Core/PepperDashEssentialsBase/Bridges/JoinMaps/AppleTvJoinMap.cs
rename to src/PepperDash.Essentials.Core/Bridges/JoinMaps/AppleTvJoinMap.cs
index 478f4e29..7a9dfa74 100644
--- a/essentials-framework/Essentials Core/PepperDashEssentialsBase/Bridges/JoinMaps/AppleTvJoinMap.cs
+++ b/src/PepperDash.Essentials.Core/Bridges/JoinMaps/AppleTvJoinMap.cs
@@ -1,53 +1,53 @@
-using System;
-
-namespace PepperDash.Essentials.Core.Bridges
-{
- public class AppleTvJoinMap : JoinMapBaseAdvanced
- {
- [JoinName("UpArrow")]
- public JoinDataComplete UpArrow = new JoinDataComplete(new JoinData { JoinNumber = 1, JoinSpan = 1 },
- new JoinMetadata { Description = "AppleTv Nav Up", JoinCapabilities = eJoinCapabilities.FromSIMPL, JoinType = eJoinType.Digital });
-
- [JoinName("DnArrow")]
- public JoinDataComplete DnArrow = new JoinDataComplete(new JoinData { JoinNumber = 2, JoinSpan = 1 },
- new JoinMetadata { Description = "AppleTv Nav Down", JoinCapabilities = eJoinCapabilities.FromSIMPL, JoinType = eJoinType.Digital });
-
- [JoinName("LeftArrow")]
- public JoinDataComplete LeftArrow = new JoinDataComplete(new JoinData { JoinNumber = 3, JoinSpan = 1 },
- new JoinMetadata { Description = "AppleTv Nav Left", JoinCapabilities = eJoinCapabilities.FromSIMPL, JoinType = eJoinType.Digital });
-
- [JoinName("RightArrow")]
- public JoinDataComplete RightArrow = new JoinDataComplete(new JoinData { JoinNumber = 4, JoinSpan = 1 },
- new JoinMetadata { Description = "AppleTv Nav Right", JoinCapabilities = eJoinCapabilities.FromSIMPL, JoinType = eJoinType.Digital });
-
- [JoinName("Menu")]
- public JoinDataComplete Menu = new JoinDataComplete(new JoinData { JoinNumber = 5, JoinSpan = 1 },
- new JoinMetadata { Description = "AppleTv Menu", JoinCapabilities = eJoinCapabilities.FromSIMPL, JoinType = eJoinType.Digital });
-
- [JoinName("Select")]
- public JoinDataComplete Select = new JoinDataComplete(new JoinData { JoinNumber = 6, JoinSpan = 1 },
- new JoinMetadata { Description = "AppleTv Select", JoinCapabilities = eJoinCapabilities.FromSIMPL, JoinType = eJoinType.Digital });
-
- [JoinName("PlayPause")]
- public JoinDataComplete PlayPause = new JoinDataComplete(new JoinData { JoinNumber = 7, JoinSpan = 1 },
- new JoinMetadata { Description = "AppleTv Play/Pause", JoinCapabilities = eJoinCapabilities.FromSIMPL, JoinType = eJoinType.Digital });
-
- ///
- /// Constructor to use when instantiating this Join Map without inheriting from it
- ///
- /// Join this join map will start at
- public AppleTvJoinMap(uint joinStart)
- : base(joinStart, typeof(AppleTvJoinMap))
- {
- }
-
- ///
- /// Constructor to use when extending this Join map
- ///
- /// Join this join map will start at
- /// Type of the child join map
- public AppleTvJoinMap(uint joinStart, Type type) : base(joinStart, type)
- {
- }
- }
+using System;
+
+namespace PepperDash.Essentials.Core.Bridges
+{
+ public class AppleTvJoinMap : JoinMapBaseAdvanced
+ {
+ [JoinName("UpArrow")]
+ public JoinDataComplete UpArrow = new JoinDataComplete(new JoinData { JoinNumber = 1, JoinSpan = 1 },
+ new JoinMetadata { Description = "AppleTv Nav Up", JoinCapabilities = eJoinCapabilities.FromSIMPL, JoinType = eJoinType.Digital });
+
+ [JoinName("DnArrow")]
+ public JoinDataComplete DnArrow = new JoinDataComplete(new JoinData { JoinNumber = 2, JoinSpan = 1 },
+ new JoinMetadata { Description = "AppleTv Nav Down", JoinCapabilities = eJoinCapabilities.FromSIMPL, JoinType = eJoinType.Digital });
+
+ [JoinName("LeftArrow")]
+ public JoinDataComplete LeftArrow = new JoinDataComplete(new JoinData { JoinNumber = 3, JoinSpan = 1 },
+ new JoinMetadata { Description = "AppleTv Nav Left", JoinCapabilities = eJoinCapabilities.FromSIMPL, JoinType = eJoinType.Digital });
+
+ [JoinName("RightArrow")]
+ public JoinDataComplete RightArrow = new JoinDataComplete(new JoinData { JoinNumber = 4, JoinSpan = 1 },
+ new JoinMetadata { Description = "AppleTv Nav Right", JoinCapabilities = eJoinCapabilities.FromSIMPL, JoinType = eJoinType.Digital });
+
+ [JoinName("Menu")]
+ public JoinDataComplete Menu = new JoinDataComplete(new JoinData { JoinNumber = 5, JoinSpan = 1 },
+ new JoinMetadata { Description = "AppleTv Menu", JoinCapabilities = eJoinCapabilities.FromSIMPL, JoinType = eJoinType.Digital });
+
+ [JoinName("Select")]
+ public JoinDataComplete Select = new JoinDataComplete(new JoinData { JoinNumber = 6, JoinSpan = 1 },
+ new JoinMetadata { Description = "AppleTv Select", JoinCapabilities = eJoinCapabilities.FromSIMPL, JoinType = eJoinType.Digital });
+
+ [JoinName("PlayPause")]
+ public JoinDataComplete PlayPause = new JoinDataComplete(new JoinData { JoinNumber = 7, JoinSpan = 1 },
+ new JoinMetadata { Description = "AppleTv Play/Pause", JoinCapabilities = eJoinCapabilities.FromSIMPL, JoinType = eJoinType.Digital });
+
+ ///
+ /// Constructor to use when instantiating this Join Map without inheriting from it
+ ///
+ /// Join this join map will start at
+ public AppleTvJoinMap(uint joinStart)
+ : base(joinStart, typeof(AppleTvJoinMap))
+ {
+ }
+
+ ///
+ /// Constructor to use when extending this Join map
+ ///
+ /// Join this join map will start at
+ /// Type of the child join map
+ public AppleTvJoinMap(uint joinStart, Type type) : base(joinStart, type)
+ {
+ }
+ }
}
\ No newline at end of file
diff --git a/essentials-framework/Essentials Core/PepperDashEssentialsBase/Bridges/JoinMaps/C2nRthsControllerJoinMap.cs b/src/PepperDash.Essentials.Core/Bridges/JoinMaps/C2nRthsControllerJoinMap.cs
similarity index 98%
rename from essentials-framework/Essentials Core/PepperDashEssentialsBase/Bridges/JoinMaps/C2nRthsControllerJoinMap.cs
rename to src/PepperDash.Essentials.Core/Bridges/JoinMaps/C2nRthsControllerJoinMap.cs
index f9618035..dd141c8e 100644
--- a/essentials-framework/Essentials Core/PepperDashEssentialsBase/Bridges/JoinMaps/C2nRthsControllerJoinMap.cs
+++ b/src/PepperDash.Essentials.Core/Bridges/JoinMaps/C2nRthsControllerJoinMap.cs
@@ -1,45 +1,45 @@
-using System;
-
-namespace PepperDash.Essentials.Core.Bridges
-{
- public class C2nRthsControllerJoinMap : JoinMapBaseAdvanced
- {
- [JoinName("IsOnline")]
- public JoinDataComplete IsOnline = new JoinDataComplete(new JoinData { JoinNumber = 1, JoinSpan = 1 },
- new JoinMetadata { Description = "Temp Sensor Online", JoinCapabilities = eJoinCapabilities.ToSIMPL, JoinType = eJoinType.Digital });
-
- [JoinName("TemperatureFormat")]
- public JoinDataComplete TemperatureFormat = new JoinDataComplete(new JoinData { JoinNumber = 2, JoinSpan = 1 },
- new JoinMetadata { Description = "Temp Sensor Unit Format", JoinCapabilities = eJoinCapabilities.FromSIMPL, JoinType = eJoinType.Digital });
-
- [JoinName("Temperature")]
- public JoinDataComplete Temperature = new JoinDataComplete(new JoinData { JoinNumber = 2, JoinSpan = 1 },
- new JoinMetadata { Description = "Temp Sensor Temperature Feedback", JoinCapabilities = eJoinCapabilities.ToSIMPL, JoinType = eJoinType.Analog });
-
- [JoinName("Humidity")]
- public JoinDataComplete Humidity = new JoinDataComplete(new JoinData { JoinNumber = 3, JoinSpan = 1 },
- new JoinMetadata { Description = "Temp Sensor Humidity Feedback", JoinCapabilities = eJoinCapabilities.ToSIMPL, JoinType = eJoinType.Analog });
-
- [JoinName("Name")]
- public JoinDataComplete Name = new JoinDataComplete(new JoinData { JoinNumber = 1, JoinSpan = 1 },
- new JoinMetadata { Description = "Temp Sensor Name", JoinCapabilities = eJoinCapabilities.ToSIMPL, JoinType = eJoinType.Serial });
-
- ///
- /// Constructor to use when instantiating this Join Map without inheriting from it
- ///
- /// Join this join map will start at
- public C2nRthsControllerJoinMap(uint joinStart)
- : this(joinStart, typeof(C2nRthsControllerJoinMap))
- {
- }
-
- ///
- /// Constructor to use when extending this Join map
- ///
- /// Join this join map will start at
- /// Type of the child join map
- protected C2nRthsControllerJoinMap(uint joinStart, Type type) : base(joinStart, type)
- {
- }
- }
+using System;
+
+namespace PepperDash.Essentials.Core.Bridges
+{
+ public class C2nRthsControllerJoinMap : JoinMapBaseAdvanced
+ {
+ [JoinName("IsOnline")]
+ public JoinDataComplete IsOnline = new JoinDataComplete(new JoinData { JoinNumber = 1, JoinSpan = 1 },
+ new JoinMetadata { Description = "Temp Sensor Online", JoinCapabilities = eJoinCapabilities.ToSIMPL, JoinType = eJoinType.Digital });
+
+ [JoinName("TemperatureFormat")]
+ public JoinDataComplete TemperatureFormat = new JoinDataComplete(new JoinData { JoinNumber = 2, JoinSpan = 1 },
+ new JoinMetadata { Description = "Temp Sensor Unit Format", JoinCapabilities = eJoinCapabilities.FromSIMPL, JoinType = eJoinType.Digital });
+
+ [JoinName("Temperature")]
+ public JoinDataComplete Temperature = new JoinDataComplete(new JoinData { JoinNumber = 2, JoinSpan = 1 },
+ new JoinMetadata { Description = "Temp Sensor Temperature Feedback", JoinCapabilities = eJoinCapabilities.ToSIMPL, JoinType = eJoinType.Analog });
+
+ [JoinName("Humidity")]
+ public JoinDataComplete Humidity = new JoinDataComplete(new JoinData { JoinNumber = 3, JoinSpan = 1 },
+ new JoinMetadata { Description = "Temp Sensor Humidity Feedback", JoinCapabilities = eJoinCapabilities.ToSIMPL, JoinType = eJoinType.Analog });
+
+ [JoinName("Name")]
+ public JoinDataComplete Name = new JoinDataComplete(new JoinData { JoinNumber = 1, JoinSpan = 1 },
+ new JoinMetadata { Description = "Temp Sensor Name", JoinCapabilities = eJoinCapabilities.ToSIMPL, JoinType = eJoinType.Serial });
+
+ ///
+ /// Constructor to use when instantiating this Join Map without inheriting from it
+ ///
+ /// Join this join map will start at
+ public C2nRthsControllerJoinMap(uint joinStart)
+ : this(joinStart, typeof(C2nRthsControllerJoinMap))
+ {
+ }
+
+ ///
+ /// Constructor to use when extending this Join map
+ ///
+ /// Join this join map will start at
+ /// Type of the child join map
+ protected C2nRthsControllerJoinMap(uint joinStart, Type type) : base(joinStart, type)
+ {
+ }
+ }
}
\ No newline at end of file
diff --git a/essentials-framework/Essentials Core/PepperDashEssentialsBase/Bridges/JoinMaps/CameraControllerJoinMap.cs b/src/PepperDash.Essentials.Core/Bridges/JoinMaps/CameraControllerJoinMap.cs
similarity index 100%
rename from essentials-framework/Essentials Core/PepperDashEssentialsBase/Bridges/JoinMaps/CameraControllerJoinMap.cs
rename to src/PepperDash.Essentials.Core/Bridges/JoinMaps/CameraControllerJoinMap.cs
diff --git a/essentials-framework/Essentials Core/PepperDashEssentialsBase/Bridges/JoinMaps/CenOdtOccupancySensorBaseJoinMap.cs b/src/PepperDash.Essentials.Core/Bridges/JoinMaps/CenOdtOccupancySensorBaseJoinMap.cs
similarity index 98%
rename from essentials-framework/Essentials Core/PepperDashEssentialsBase/Bridges/JoinMaps/CenOdtOccupancySensorBaseJoinMap.cs
rename to src/PepperDash.Essentials.Core/Bridges/JoinMaps/CenOdtOccupancySensorBaseJoinMap.cs
index 63684837..e306bf85 100644
--- a/essentials-framework/Essentials Core/PepperDashEssentialsBase/Bridges/JoinMaps/CenOdtOccupancySensorBaseJoinMap.cs
+++ b/src/PepperDash.Essentials.Core/Bridges/JoinMaps/CenOdtOccupancySensorBaseJoinMap.cs
@@ -1,198 +1,198 @@
-using System;
-
-namespace PepperDash.Essentials.Core.Bridges
-{
- public class CenOdtOccupancySensorBaseJoinMap : JoinMapBaseAdvanced
- {
- #region Digitals
-
- [JoinName("Online")]
- public JoinDataComplete Online = new JoinDataComplete(new JoinData { JoinNumber = 1, JoinSpan = 1 },
- new JoinMetadata { Description = "Online", JoinCapabilities = eJoinCapabilities.ToSIMPL, JoinType = eJoinType.Digital });
-
- [JoinName("ForceOccupied")]
- public JoinDataComplete ForceOccupied = new JoinDataComplete(new JoinData { JoinNumber = 2, JoinSpan = 1 },
- new JoinMetadata { Description = "Force Occupied", JoinCapabilities = eJoinCapabilities.FromSIMPL, JoinType = eJoinType.Digital });
-
- [JoinName("ForceVacant")]
- public JoinDataComplete ForceVacant = new JoinDataComplete(new JoinData { JoinNumber = 3, JoinSpan = 1 },
- new JoinMetadata { Description = "Force Vacant", JoinCapabilities = eJoinCapabilities.FromSIMPL, JoinType = eJoinType.Digital });
-
- [JoinName("EnableRawStates")]
- public JoinDataComplete EnableRawStates = new JoinDataComplete(new JoinData { JoinNumber = 4, JoinSpan = 1 },
- new JoinMetadata { Description = "Enable Raw States", JoinCapabilities = eJoinCapabilities.FromSIMPL, JoinType = eJoinType.Digital });
-
- [JoinName("RoomOccupiedFeedback")]
- public JoinDataComplete RoomOccupiedFeedback = new JoinDataComplete(new JoinData { JoinNumber = 2, JoinSpan = 1 },
- new JoinMetadata { Description = "Room Occupied Feedback", JoinCapabilities = eJoinCapabilities.ToSIMPL, JoinType = eJoinType.Digital });
-
- [JoinName("GraceOccupancyDetectedFeedback")]
- public JoinDataComplete GraceOccupancyDetectedFeedback = new JoinDataComplete(new JoinData { JoinNumber = 3, JoinSpan = 1 },
- new JoinMetadata { Description = "Grace Occupancy Detected Feedback", JoinCapabilities = eJoinCapabilities.ToSIMPL, JoinType = eJoinType.Digital });
-
- [JoinName("RoomVacantFeedback")]
- public JoinDataComplete RoomVacantFeedback = new JoinDataComplete(new JoinData { JoinNumber = 4, JoinSpan = 1 },
- new JoinMetadata { Description = "Room Vacant Feedback", JoinCapabilities = eJoinCapabilities.ToSIMPL, JoinType = eJoinType.Digital });
-
- [JoinName("RawOccupancyFeedback")]
- public JoinDataComplete RawOccupancyFeedback = new JoinDataComplete(new JoinData { JoinNumber = 5, JoinSpan = 1 },
- new JoinMetadata { Description = "Raw Occupancy Feedback", JoinCapabilities = eJoinCapabilities.ToSIMPL, JoinType = eJoinType.Digital });
-
- [JoinName("RawOccupancyPirFeedback")]
- public JoinDataComplete RawOccupancyPirFeedback = new JoinDataComplete(new JoinData { JoinNumber = 6, JoinSpan = 1 },
- new JoinMetadata { Description = "Raw Occupancy Pir Feedback", JoinCapabilities = eJoinCapabilities.ToSIMPL, JoinType = eJoinType.Digital });
-
- [JoinName("RawOccupancyUsFeedback")]
- public JoinDataComplete RawOccupancyUsFeedback = new JoinDataComplete(new JoinData { JoinNumber = 7, JoinSpan = 1 },
- new JoinMetadata { Description = "Raw Occupancy Us Feedback", JoinCapabilities = eJoinCapabilities.ToSIMPL, JoinType = eJoinType.Digital });
-
- [JoinName("IdentityModeOn")]
- public JoinDataComplete IdentityMode = new JoinDataComplete(new JoinData { JoinNumber = 8, JoinSpan = 1 },
- new JoinMetadata { Description = "Enable Identity Mode", JoinCapabilities = eJoinCapabilities.FromSIMPL, JoinType = eJoinType.Digital });
-
- [JoinName("IdentityModeFeedback")]
- public JoinDataComplete IdentityModeFeedback = new JoinDataComplete(new JoinData { JoinNumber = 8, JoinSpan = 1 },
- new JoinMetadata { Description = "Identity Mode Feedback", JoinCapabilities = eJoinCapabilities.ToSIMPL, JoinType = eJoinType.Digital });
-
- [JoinName("EnableLedFlash")]
- public JoinDataComplete EnableLedFlash = new JoinDataComplete(new JoinData { JoinNumber = 11, JoinSpan = 1 },
- new JoinMetadata { Description = "Enable Led Flash", JoinCapabilities = eJoinCapabilities.ToFromSIMPL, JoinType = eJoinType.Digital });
-
- [JoinName("DisableLedFlash")]
- public JoinDataComplete DisableLedFlash = new JoinDataComplete(new JoinData { JoinNumber = 12, JoinSpan = 1 },
- new JoinMetadata { Description = "Disable Led Flash", JoinCapabilities = eJoinCapabilities.FromSIMPL, JoinType = eJoinType.Digital });
-
- [JoinName("EnableShortTimeout")]
- public JoinDataComplete EnableShortTimeout = new JoinDataComplete(new JoinData { JoinNumber = 13, JoinSpan = 1 },
- new JoinMetadata { Description = "Enable Short Timeout", JoinCapabilities = eJoinCapabilities.ToFromSIMPL, JoinType = eJoinType.Digital });
-
- [JoinName("DisableShortTimeout")]
- public JoinDataComplete DisableShortTimeout = new JoinDataComplete(new JoinData { JoinNumber = 14, JoinSpan = 1 },
- new JoinMetadata { Description = "Disable Short Timeout", JoinCapabilities = eJoinCapabilities.FromSIMPL, JoinType = eJoinType.Digital });
-
- [JoinName("OrWhenVacated")]
- public JoinDataComplete OrWhenVacated = new JoinDataComplete(new JoinData { JoinNumber = 15, JoinSpan = 1 },
- new JoinMetadata { Description = "Or When Vacated", JoinCapabilities = eJoinCapabilities.ToFromSIMPL, JoinType = eJoinType.Digital });
-
- [JoinName("AndWhenVacated")]
- public JoinDataComplete AndWhenVacated = new JoinDataComplete(new JoinData { JoinNumber = 16, JoinSpan = 1 },
- new JoinMetadata { Description = "AndWhenVacated", JoinCapabilities = eJoinCapabilities.ToFromSIMPL, JoinType = eJoinType.Digital });
-
- [JoinName("EnableUsA")]
- public JoinDataComplete EnableUsA = new JoinDataComplete(new JoinData { JoinNumber = 17, JoinSpan = 1 },
- new JoinMetadata { Description = "Enable Us A", JoinCapabilities = eJoinCapabilities.ToFromSIMPL, JoinType = eJoinType.Digital });
-
- [JoinName("DisableUsA")]
- public JoinDataComplete DisableUsA = new JoinDataComplete(new JoinData { JoinNumber = 18, JoinSpan = 1 },
- new JoinMetadata { Description = "Disable Us A", JoinCapabilities = eJoinCapabilities.FromSIMPL, JoinType = eJoinType.Digital });
-
- [JoinName("EnableUsB")]
- public JoinDataComplete EnableUsB = new JoinDataComplete(new JoinData { JoinNumber = 19, JoinSpan = 1 },
- new JoinMetadata { Description = "Enable Us B", JoinCapabilities = eJoinCapabilities.ToFromSIMPL, JoinType = eJoinType.Digital });
-
- [JoinName("DisableUsB")]
- public JoinDataComplete DisableUsB = new JoinDataComplete(new JoinData { JoinNumber = 20, JoinSpan = 1 },
- new JoinMetadata { Description = "Disable Us B", JoinCapabilities = eJoinCapabilities.FromSIMPL, JoinType = eJoinType.Digital });
-
- [JoinName("EnablePir")]
- public JoinDataComplete EnablePir = new JoinDataComplete(new JoinData { JoinNumber = 21, JoinSpan = 1 },
- new JoinMetadata { Description = "Enable Pir", JoinCapabilities = eJoinCapabilities.ToFromSIMPL, JoinType = eJoinType.Digital });
-
- [JoinName("DisablePir")]
- public JoinDataComplete DisablePir = new JoinDataComplete(new JoinData { JoinNumber = 22, JoinSpan = 1 },
- new JoinMetadata { Description = "Disable Pir", JoinCapabilities = eJoinCapabilities.FromSIMPL, JoinType = eJoinType.Digital });
-
- [JoinName("IncrementUsInOccupiedState")]
- public JoinDataComplete IncrementUsInOccupiedState = new JoinDataComplete(new JoinData { JoinNumber = 23, JoinSpan = 1 },
- new JoinMetadata { Description = "Increment Us In OccupiedState", JoinCapabilities = eJoinCapabilities.FromSIMPL, JoinType = eJoinType.Digital });
-
- [JoinName("DecrementUsInOccupiedState")]
- public JoinDataComplete DecrementUsInOccupiedState = new JoinDataComplete(new JoinData { JoinNumber = 24, JoinSpan = 1 },
- new JoinMetadata { Description = "Dencrement Us In Occupied State", JoinCapabilities = eJoinCapabilities.FromSIMPL, JoinType = eJoinType.Digital });
-
- [JoinName("IncrementUsInVacantState")]
- public JoinDataComplete IncrementUsInVacantState = new JoinDataComplete(new JoinData { JoinNumber = 25, JoinSpan = 1 },
- new JoinMetadata { Description = "Increment Us In VacantState", JoinCapabilities = eJoinCapabilities.FromSIMPL, JoinType = eJoinType.Digital });
-
- [JoinName("DecrementUsInVacantState")]
- public JoinDataComplete DecrementUsInVacantState = new JoinDataComplete(new JoinData { JoinNumber = 26, JoinSpan = 1 },
- new JoinMetadata { Description = "Decrement Us In VacantState", JoinCapabilities = eJoinCapabilities.FromSIMPL, JoinType = eJoinType.Digital });
-
- [JoinName("IncrementPirInOccupiedState")]
- public JoinDataComplete IncrementPirInOccupiedState = new JoinDataComplete(new JoinData { JoinNumber = 27, JoinSpan = 1 },
- new JoinMetadata { Description = "Increment Pir In Occupied State", JoinCapabilities = eJoinCapabilities.FromSIMPL, JoinType = eJoinType.Digital });
-
- [JoinName("DecrementPirInOccupiedState")]
- public JoinDataComplete DecrementPirInOccupiedState = new JoinDataComplete(new JoinData { JoinNumber = 28, JoinSpan = 1 },
- new JoinMetadata { Description = "Decrement Pir In OccupiedState", JoinCapabilities = eJoinCapabilities.FromSIMPL, JoinType = eJoinType.Digital });
-
- [JoinName("IncrementPirInVacantState")]
- public JoinDataComplete IncrementPirInVacantState = new JoinDataComplete(new JoinData { JoinNumber = 29, JoinSpan = 1 },
- new JoinMetadata { Description = "Increment Pir In Vacant State", JoinCapabilities = eJoinCapabilities.FromSIMPL, JoinType = eJoinType.Digital });
-
- [JoinName("DecrementPirInVacantState")]
- public JoinDataComplete DecrementPirInVacantState = new JoinDataComplete(new JoinData { JoinNumber = 30, JoinSpan = 1 },
- new JoinMetadata { Description = "Decrement Pir In Vacant State", JoinCapabilities = eJoinCapabilities.FromSIMPL, JoinType = eJoinType.Digital });
-
- #endregion
-
- #region Analog
-
- [JoinName("Timeout")]
- public JoinDataComplete Timeout = new JoinDataComplete(new JoinData { JoinNumber = 1, JoinSpan = 1 },
- new JoinMetadata { Description = "Timeout", JoinCapabilities = eJoinCapabilities.ToFromSIMPL, JoinType = eJoinType.Analog });
-
- [JoinName("TimeoutLocalFeedback")]
- public JoinDataComplete TimeoutLocalFeedback = new JoinDataComplete(new JoinData { JoinNumber = 2, JoinSpan = 1 },
- new JoinMetadata { Description = "Timeout Local Feedback", JoinCapabilities = eJoinCapabilities.ToSIMPL, JoinType = eJoinType.Analog });
-
- [JoinName("InternalPhotoSensorValue")]
- public JoinDataComplete InternalPhotoSensorValue = new JoinDataComplete(new JoinData { JoinNumber = 3, JoinSpan = 1 },
- new JoinMetadata { Description = "Internal PhotoSensor Value", JoinCapabilities = eJoinCapabilities.ToFromSIMPL, JoinType = eJoinType.Analog });
-
- [JoinName("UsSensitivityInOccupiedState")]
- public JoinDataComplete UsSensitivityInOccupiedState = new JoinDataComplete(new JoinData { JoinNumber = 5, JoinSpan = 1 },
- new JoinMetadata { Description = "Us Sensitivity In Occupied State", JoinCapabilities = eJoinCapabilities.ToSIMPL, JoinType = eJoinType.Analog });
-
- [JoinName("UsSensitivityInVacantState")]
- public JoinDataComplete UsSensitivityInVacantState = new JoinDataComplete(new JoinData { JoinNumber = 6, JoinSpan = 1 },
- new JoinMetadata { Description = "Us Sensitivity In Vacant State", JoinCapabilities = eJoinCapabilities.ToSIMPL, JoinType = eJoinType.Analog });
-
- [JoinName("PirSensitivityInOccupiedState")]
- public JoinDataComplete PirSensitivityInOccupiedState = new JoinDataComplete(new JoinData { JoinNumber = 7, JoinSpan = 1 },
- new JoinMetadata { Description = "Pir Sensitivity In Occupied State", JoinCapabilities = eJoinCapabilities.ToSIMPL, JoinType = eJoinType.Analog });
-
- [JoinName("PirSensitivityInVacantState")]
- public JoinDataComplete PirSensitivityInVacantState = new JoinDataComplete(new JoinData { JoinNumber = 8, JoinSpan = 1 },
- new JoinMetadata { Description = "Pir Sensitivity In Vacant State", JoinCapabilities = eJoinCapabilities.ToSIMPL, JoinType = eJoinType.Analog });
-
- #endregion
-
- #region Serial
-
- [JoinName("Name")]
- public JoinDataComplete Name = new JoinDataComplete(new JoinData { JoinNumber = 1, JoinSpan = 1 },
- new JoinMetadata { Description = "Name", JoinCapabilities = eJoinCapabilities.ToSIMPL, JoinType = eJoinType.Serial });
-
- #endregion
-
- ///
- /// Constructor to use when instantiating this Join Map without inheriting from it
- ///
- /// Join this join map will start at
- public CenOdtOccupancySensorBaseJoinMap(uint joinStart)
- : this(joinStart, typeof(CenOdtOccupancySensorBaseJoinMap))
- {
- }
-
- ///
- /// Constructor to use when extending this Join map
- ///
- /// Join this join map will start at
- /// Type of the child join map
- protected CenOdtOccupancySensorBaseJoinMap(uint joinStart, Type type) : base(joinStart, type)
- {
- }
- }
-
-}
+using System;
+
+namespace PepperDash.Essentials.Core.Bridges
+{
+ public class CenOdtOccupancySensorBaseJoinMap : JoinMapBaseAdvanced
+ {
+ #region Digitals
+
+ [JoinName("Online")]
+ public JoinDataComplete Online = new JoinDataComplete(new JoinData { JoinNumber = 1, JoinSpan = 1 },
+ new JoinMetadata { Description = "Online", JoinCapabilities = eJoinCapabilities.ToSIMPL, JoinType = eJoinType.Digital });
+
+ [JoinName("ForceOccupied")]
+ public JoinDataComplete ForceOccupied = new JoinDataComplete(new JoinData { JoinNumber = 2, JoinSpan = 1 },
+ new JoinMetadata { Description = "Force Occupied", JoinCapabilities = eJoinCapabilities.FromSIMPL, JoinType = eJoinType.Digital });
+
+ [JoinName("ForceVacant")]
+ public JoinDataComplete ForceVacant = new JoinDataComplete(new JoinData { JoinNumber = 3, JoinSpan = 1 },
+ new JoinMetadata { Description = "Force Vacant", JoinCapabilities = eJoinCapabilities.FromSIMPL, JoinType = eJoinType.Digital });
+
+ [JoinName("EnableRawStates")]
+ public JoinDataComplete EnableRawStates = new JoinDataComplete(new JoinData { JoinNumber = 4, JoinSpan = 1 },
+ new JoinMetadata { Description = "Enable Raw States", JoinCapabilities = eJoinCapabilities.FromSIMPL, JoinType = eJoinType.Digital });
+
+ [JoinName("RoomOccupiedFeedback")]
+ public JoinDataComplete RoomOccupiedFeedback = new JoinDataComplete(new JoinData { JoinNumber = 2, JoinSpan = 1 },
+ new JoinMetadata { Description = "Room Occupied Feedback", JoinCapabilities = eJoinCapabilities.ToSIMPL, JoinType = eJoinType.Digital });
+
+ [JoinName("GraceOccupancyDetectedFeedback")]
+ public JoinDataComplete GraceOccupancyDetectedFeedback = new JoinDataComplete(new JoinData { JoinNumber = 3, JoinSpan = 1 },
+ new JoinMetadata { Description = "Grace Occupancy Detected Feedback", JoinCapabilities = eJoinCapabilities.ToSIMPL, JoinType = eJoinType.Digital });
+
+ [JoinName("RoomVacantFeedback")]
+ public JoinDataComplete RoomVacantFeedback = new JoinDataComplete(new JoinData { JoinNumber = 4, JoinSpan = 1 },
+ new JoinMetadata { Description = "Room Vacant Feedback", JoinCapabilities = eJoinCapabilities.ToSIMPL, JoinType = eJoinType.Digital });
+
+ [JoinName("RawOccupancyFeedback")]
+ public JoinDataComplete RawOccupancyFeedback = new JoinDataComplete(new JoinData { JoinNumber = 5, JoinSpan = 1 },
+ new JoinMetadata { Description = "Raw Occupancy Feedback", JoinCapabilities = eJoinCapabilities.ToSIMPL, JoinType = eJoinType.Digital });
+
+ [JoinName("RawOccupancyPirFeedback")]
+ public JoinDataComplete RawOccupancyPirFeedback = new JoinDataComplete(new JoinData { JoinNumber = 6, JoinSpan = 1 },
+ new JoinMetadata { Description = "Raw Occupancy Pir Feedback", JoinCapabilities = eJoinCapabilities.ToSIMPL, JoinType = eJoinType.Digital });
+
+ [JoinName("RawOccupancyUsFeedback")]
+ public JoinDataComplete RawOccupancyUsFeedback = new JoinDataComplete(new JoinData { JoinNumber = 7, JoinSpan = 1 },
+ new JoinMetadata { Description = "Raw Occupancy Us Feedback", JoinCapabilities = eJoinCapabilities.ToSIMPL, JoinType = eJoinType.Digital });
+
+ [JoinName("IdentityModeOn")]
+ public JoinDataComplete IdentityMode = new JoinDataComplete(new JoinData { JoinNumber = 8, JoinSpan = 1 },
+ new JoinMetadata { Description = "Enable Identity Mode", JoinCapabilities = eJoinCapabilities.FromSIMPL, JoinType = eJoinType.Digital });
+
+ [JoinName("IdentityModeFeedback")]
+ public JoinDataComplete IdentityModeFeedback = new JoinDataComplete(new JoinData { JoinNumber = 8, JoinSpan = 1 },
+ new JoinMetadata { Description = "Identity Mode Feedback", JoinCapabilities = eJoinCapabilities.ToSIMPL, JoinType = eJoinType.Digital });
+
+ [JoinName("EnableLedFlash")]
+ public JoinDataComplete EnableLedFlash = new JoinDataComplete(new JoinData { JoinNumber = 11, JoinSpan = 1 },
+ new JoinMetadata { Description = "Enable Led Flash", JoinCapabilities = eJoinCapabilities.ToFromSIMPL, JoinType = eJoinType.Digital });
+
+ [JoinName("DisableLedFlash")]
+ public JoinDataComplete DisableLedFlash = new JoinDataComplete(new JoinData { JoinNumber = 12, JoinSpan = 1 },
+ new JoinMetadata { Description = "Disable Led Flash", JoinCapabilities = eJoinCapabilities.FromSIMPL, JoinType = eJoinType.Digital });
+
+ [JoinName("EnableShortTimeout")]
+ public JoinDataComplete EnableShortTimeout = new JoinDataComplete(new JoinData { JoinNumber = 13, JoinSpan = 1 },
+ new JoinMetadata { Description = "Enable Short Timeout", JoinCapabilities = eJoinCapabilities.ToFromSIMPL, JoinType = eJoinType.Digital });
+
+ [JoinName("DisableShortTimeout")]
+ public JoinDataComplete DisableShortTimeout = new JoinDataComplete(new JoinData { JoinNumber = 14, JoinSpan = 1 },
+ new JoinMetadata { Description = "Disable Short Timeout", JoinCapabilities = eJoinCapabilities.FromSIMPL, JoinType = eJoinType.Digital });
+
+ [JoinName("OrWhenVacated")]
+ public JoinDataComplete OrWhenVacated = new JoinDataComplete(new JoinData { JoinNumber = 15, JoinSpan = 1 },
+ new JoinMetadata { Description = "Or When Vacated", JoinCapabilities = eJoinCapabilities.ToFromSIMPL, JoinType = eJoinType.Digital });
+
+ [JoinName("AndWhenVacated")]
+ public JoinDataComplete AndWhenVacated = new JoinDataComplete(new JoinData { JoinNumber = 16, JoinSpan = 1 },
+ new JoinMetadata { Description = "AndWhenVacated", JoinCapabilities = eJoinCapabilities.ToFromSIMPL, JoinType = eJoinType.Digital });
+
+ [JoinName("EnableUsA")]
+ public JoinDataComplete EnableUsA = new JoinDataComplete(new JoinData { JoinNumber = 17, JoinSpan = 1 },
+ new JoinMetadata { Description = "Enable Us A", JoinCapabilities = eJoinCapabilities.ToFromSIMPL, JoinType = eJoinType.Digital });
+
+ [JoinName("DisableUsA")]
+ public JoinDataComplete DisableUsA = new JoinDataComplete(new JoinData { JoinNumber = 18, JoinSpan = 1 },
+ new JoinMetadata { Description = "Disable Us A", JoinCapabilities = eJoinCapabilities.FromSIMPL, JoinType = eJoinType.Digital });
+
+ [JoinName("EnableUsB")]
+ public JoinDataComplete EnableUsB = new JoinDataComplete(new JoinData { JoinNumber = 19, JoinSpan = 1 },
+ new JoinMetadata { Description = "Enable Us B", JoinCapabilities = eJoinCapabilities.ToFromSIMPL, JoinType = eJoinType.Digital });
+
+ [JoinName("DisableUsB")]
+ public JoinDataComplete DisableUsB = new JoinDataComplete(new JoinData { JoinNumber = 20, JoinSpan = 1 },
+ new JoinMetadata { Description = "Disable Us B", JoinCapabilities = eJoinCapabilities.FromSIMPL, JoinType = eJoinType.Digital });
+
+ [JoinName("EnablePir")]
+ public JoinDataComplete EnablePir = new JoinDataComplete(new JoinData { JoinNumber = 21, JoinSpan = 1 },
+ new JoinMetadata { Description = "Enable Pir", JoinCapabilities = eJoinCapabilities.ToFromSIMPL, JoinType = eJoinType.Digital });
+
+ [JoinName("DisablePir")]
+ public JoinDataComplete DisablePir = new JoinDataComplete(new JoinData { JoinNumber = 22, JoinSpan = 1 },
+ new JoinMetadata { Description = "Disable Pir", JoinCapabilities = eJoinCapabilities.FromSIMPL, JoinType = eJoinType.Digital });
+
+ [JoinName("IncrementUsInOccupiedState")]
+ public JoinDataComplete IncrementUsInOccupiedState = new JoinDataComplete(new JoinData { JoinNumber = 23, JoinSpan = 1 },
+ new JoinMetadata { Description = "Increment Us In OccupiedState", JoinCapabilities = eJoinCapabilities.FromSIMPL, JoinType = eJoinType.Digital });
+
+ [JoinName("DecrementUsInOccupiedState")]
+ public JoinDataComplete DecrementUsInOccupiedState = new JoinDataComplete(new JoinData { JoinNumber = 24, JoinSpan = 1 },
+ new JoinMetadata { Description = "Dencrement Us In Occupied State", JoinCapabilities = eJoinCapabilities.FromSIMPL, JoinType = eJoinType.Digital });
+
+ [JoinName("IncrementUsInVacantState")]
+ public JoinDataComplete IncrementUsInVacantState = new JoinDataComplete(new JoinData { JoinNumber = 25, JoinSpan = 1 },
+ new JoinMetadata { Description = "Increment Us In VacantState", JoinCapabilities = eJoinCapabilities.FromSIMPL, JoinType = eJoinType.Digital });
+
+ [JoinName("DecrementUsInVacantState")]
+ public JoinDataComplete DecrementUsInVacantState = new JoinDataComplete(new JoinData { JoinNumber = 26, JoinSpan = 1 },
+ new JoinMetadata { Description = "Decrement Us In VacantState", JoinCapabilities = eJoinCapabilities.FromSIMPL, JoinType = eJoinType.Digital });
+
+ [JoinName("IncrementPirInOccupiedState")]
+ public JoinDataComplete IncrementPirInOccupiedState = new JoinDataComplete(new JoinData { JoinNumber = 27, JoinSpan = 1 },
+ new JoinMetadata { Description = "Increment Pir In Occupied State", JoinCapabilities = eJoinCapabilities.FromSIMPL, JoinType = eJoinType.Digital });
+
+ [JoinName("DecrementPirInOccupiedState")]
+ public JoinDataComplete DecrementPirInOccupiedState = new JoinDataComplete(new JoinData { JoinNumber = 28, JoinSpan = 1 },
+ new JoinMetadata { Description = "Decrement Pir In OccupiedState", JoinCapabilities = eJoinCapabilities.FromSIMPL, JoinType = eJoinType.Digital });
+
+ [JoinName("IncrementPirInVacantState")]
+ public JoinDataComplete IncrementPirInVacantState = new JoinDataComplete(new JoinData { JoinNumber = 29, JoinSpan = 1 },
+ new JoinMetadata { Description = "Increment Pir In Vacant State", JoinCapabilities = eJoinCapabilities.FromSIMPL, JoinType = eJoinType.Digital });
+
+ [JoinName("DecrementPirInVacantState")]
+ public JoinDataComplete DecrementPirInVacantState = new JoinDataComplete(new JoinData { JoinNumber = 30, JoinSpan = 1 },
+ new JoinMetadata { Description = "Decrement Pir In Vacant State", JoinCapabilities = eJoinCapabilities.FromSIMPL, JoinType = eJoinType.Digital });
+
+ #endregion
+
+ #region Analog
+
+ [JoinName("Timeout")]
+ public JoinDataComplete Timeout = new JoinDataComplete(new JoinData { JoinNumber = 1, JoinSpan = 1 },
+ new JoinMetadata { Description = "Timeout", JoinCapabilities = eJoinCapabilities.ToFromSIMPL, JoinType = eJoinType.Analog });
+
+ [JoinName("TimeoutLocalFeedback")]
+ public JoinDataComplete TimeoutLocalFeedback = new JoinDataComplete(new JoinData { JoinNumber = 2, JoinSpan = 1 },
+ new JoinMetadata { Description = "Timeout Local Feedback", JoinCapabilities = eJoinCapabilities.ToSIMPL, JoinType = eJoinType.Analog });
+
+ [JoinName("InternalPhotoSensorValue")]
+ public JoinDataComplete InternalPhotoSensorValue = new JoinDataComplete(new JoinData { JoinNumber = 3, JoinSpan = 1 },
+ new JoinMetadata { Description = "Internal PhotoSensor Value", JoinCapabilities = eJoinCapabilities.ToFromSIMPL, JoinType = eJoinType.Analog });
+
+ [JoinName("UsSensitivityInOccupiedState")]
+ public JoinDataComplete UsSensitivityInOccupiedState = new JoinDataComplete(new JoinData { JoinNumber = 5, JoinSpan = 1 },
+ new JoinMetadata { Description = "Us Sensitivity In Occupied State", JoinCapabilities = eJoinCapabilities.ToSIMPL, JoinType = eJoinType.Analog });
+
+ [JoinName("UsSensitivityInVacantState")]
+ public JoinDataComplete UsSensitivityInVacantState = new JoinDataComplete(new JoinData { JoinNumber = 6, JoinSpan = 1 },
+ new JoinMetadata { Description = "Us Sensitivity In Vacant State", JoinCapabilities = eJoinCapabilities.ToSIMPL, JoinType = eJoinType.Analog });
+
+ [JoinName("PirSensitivityInOccupiedState")]
+ public JoinDataComplete PirSensitivityInOccupiedState = new JoinDataComplete(new JoinData { JoinNumber = 7, JoinSpan = 1 },
+ new JoinMetadata { Description = "Pir Sensitivity In Occupied State", JoinCapabilities = eJoinCapabilities.ToSIMPL, JoinType = eJoinType.Analog });
+
+ [JoinName("PirSensitivityInVacantState")]
+ public JoinDataComplete PirSensitivityInVacantState = new JoinDataComplete(new JoinData { JoinNumber = 8, JoinSpan = 1 },
+ new JoinMetadata { Description = "Pir Sensitivity In Vacant State", JoinCapabilities = eJoinCapabilities.ToSIMPL, JoinType = eJoinType.Analog });
+
+ #endregion
+
+ #region Serial
+
+ [JoinName("Name")]
+ public JoinDataComplete Name = new JoinDataComplete(new JoinData { JoinNumber = 1, JoinSpan = 1 },
+ new JoinMetadata { Description = "Name", JoinCapabilities = eJoinCapabilities.ToSIMPL, JoinType = eJoinType.Serial });
+
+ #endregion
+
+ ///
+ /// Constructor to use when instantiating this Join Map without inheriting from it
+ ///
+ /// Join this join map will start at
+ public CenOdtOccupancySensorBaseJoinMap(uint joinStart)
+ : this(joinStart, typeof(CenOdtOccupancySensorBaseJoinMap))
+ {
+ }
+
+ ///
+ /// Constructor to use when extending this Join map
+ ///
+ /// Join this join map will start at
+ /// Type of the child join map
+ protected CenOdtOccupancySensorBaseJoinMap(uint joinStart, Type type) : base(joinStart, type)
+ {
+ }
+ }
+
+}
diff --git a/essentials-framework/Essentials Core/PepperDashEssentialsBase/Bridges/JoinMaps/DigitalLoggerJoinMap.cs b/src/PepperDash.Essentials.Core/Bridges/JoinMaps/DigitalLoggerJoinMap.cs
similarity index 97%
rename from essentials-framework/Essentials Core/PepperDashEssentialsBase/Bridges/JoinMaps/DigitalLoggerJoinMap.cs
rename to src/PepperDash.Essentials.Core/Bridges/JoinMaps/DigitalLoggerJoinMap.cs
index 5a7d00a6..7959a511 100644
--- a/essentials-framework/Essentials Core/PepperDashEssentialsBase/Bridges/JoinMaps/DigitalLoggerJoinMap.cs
+++ b/src/PepperDash.Essentials.Core/Bridges/JoinMaps/DigitalLoggerJoinMap.cs
@@ -1,43 +1,43 @@
-using System;
-
-namespace PepperDash.Essentials.Core.Bridges
-{
- [Obsolete("This Device will be moved to a plugin in a future update")]
- public class DigitalLoggerJoinMap : JoinMapBase
- {
- public uint IsOnline { get; set; }
- public uint CircuitNames { get; set; }
- public uint CircuitState { get; set; }
- public uint CircuitCycle { get; set; }
- public uint CircuitIsCritical { get; set; }
- public uint CircuitOnCmd { get; set; }
- public uint CircuitOffCmd { get; set; }
-
- public DigitalLoggerJoinMap()
- {
- // Digital
- IsOnline = 9;
- CircuitState = 0;
- CircuitCycle = 0;
- CircuitIsCritical = 10;
- CircuitOnCmd = 10;
- CircuitOffCmd = 20;
- // Serial
- CircuitNames = 0;
- // Analog
- }
-
- public override void OffsetJoinNumbers(uint joinStart)
- {
- var joinOffset = joinStart - 1;
-
- IsOnline = IsOnline + joinOffset;
- CircuitNames = CircuitNames + joinOffset;
- CircuitState = CircuitState + joinOffset;
- CircuitCycle = CircuitCycle + joinOffset;
- CircuitIsCritical = CircuitIsCritical + joinOffset;
- CircuitOnCmd = CircuitOnCmd + joinOffset;
- CircuitOffCmd = CircuitOffCmd + joinOffset;
- }
- }
+using System;
+
+namespace PepperDash.Essentials.Core.Bridges
+{
+ [Obsolete("This Device will be moved to a plugin in a future update")]
+ public class DigitalLoggerJoinMap : JoinMapBase
+ {
+ public uint IsOnline { get; set; }
+ public uint CircuitNames { get; set; }
+ public uint CircuitState { get; set; }
+ public uint CircuitCycle { get; set; }
+ public uint CircuitIsCritical { get; set; }
+ public uint CircuitOnCmd { get; set; }
+ public uint CircuitOffCmd { get; set; }
+
+ public DigitalLoggerJoinMap()
+ {
+ // Digital
+ IsOnline = 9;
+ CircuitState = 0;
+ CircuitCycle = 0;
+ CircuitIsCritical = 10;
+ CircuitOnCmd = 10;
+ CircuitOffCmd = 20;
+ // Serial
+ CircuitNames = 0;
+ // Analog
+ }
+
+ public override void OffsetJoinNumbers(uint joinStart)
+ {
+ var joinOffset = joinStart - 1;
+
+ IsOnline = IsOnline + joinOffset;
+ CircuitNames = CircuitNames + joinOffset;
+ CircuitState = CircuitState + joinOffset;
+ CircuitCycle = CircuitCycle + joinOffset;
+ CircuitIsCritical = CircuitIsCritical + joinOffset;
+ CircuitOnCmd = CircuitOnCmd + joinOffset;
+ CircuitOffCmd = CircuitOffCmd + joinOffset;
+ }
+ }
}
\ No newline at end of file
diff --git a/essentials-framework/Essentials Core/PepperDashEssentialsBase/Bridges/JoinMaps/DisplayControllerJoinMap.cs b/src/PepperDash.Essentials.Core/Bridges/JoinMaps/DisplayControllerJoinMap.cs
similarity index 98%
rename from essentials-framework/Essentials Core/PepperDashEssentialsBase/Bridges/JoinMaps/DisplayControllerJoinMap.cs
rename to src/PepperDash.Essentials.Core/Bridges/JoinMaps/DisplayControllerJoinMap.cs
index eaf77ed8..8e51c952 100644
--- a/essentials-framework/Essentials Core/PepperDashEssentialsBase/Bridges/JoinMaps/DisplayControllerJoinMap.cs
+++ b/src/PepperDash.Essentials.Core/Bridges/JoinMaps/DisplayControllerJoinMap.cs
@@ -1,85 +1,85 @@
-using System;
-
-namespace PepperDash.Essentials.Core.Bridges
-{
- public class DisplayControllerJoinMap : JoinMapBaseAdvanced
- {
- [JoinName("Name")]
- public JoinDataComplete Name = new JoinDataComplete(new JoinData { JoinNumber = 1, JoinSpan = 1 },
- new JoinMetadata { Description = "Name", JoinCapabilities = eJoinCapabilities.ToSIMPL, JoinType = eJoinType.Serial });
-
- [JoinName("PowerOff")]
- public JoinDataComplete PowerOff = new JoinDataComplete(new JoinData { JoinNumber = 1, JoinSpan = 1 },
- new JoinMetadata { Description = "Power Off", JoinCapabilities = eJoinCapabilities.FromSIMPL, JoinType = eJoinType.Digital });
-
- [JoinName("PowerOn")]
- public JoinDataComplete PowerOn = new JoinDataComplete(new JoinData { JoinNumber = 2, JoinSpan = 1 },
- new JoinMetadata { Description = "Power On", JoinCapabilities = eJoinCapabilities.ToFromSIMPL, JoinType = eJoinType.Digital });
-
- [JoinName("IsTwoWayDisplay")]
- public JoinDataComplete IsTwoWayDisplay = new JoinDataComplete(new JoinData { JoinNumber = 3, JoinSpan = 1 },
- new JoinMetadata { Description = "Is Two Way Display", JoinCapabilities = eJoinCapabilities.ToSIMPL, JoinType = eJoinType.Digital });
-
- [JoinName("VolumeUp")]
- public JoinDataComplete VolumeUp = new JoinDataComplete(new JoinData { JoinNumber = 5, JoinSpan = 1 },
- new JoinMetadata { Description = "Volume Up", JoinCapabilities = eJoinCapabilities.FromSIMPL, JoinType = eJoinType.Digital });
-
- [JoinName("VolumeLevel")]
- public JoinDataComplete VolumeLevel = new JoinDataComplete(new JoinData { JoinNumber = 5, JoinSpan = 1 },
- new JoinMetadata { Description = "Volume Level", JoinCapabilities = eJoinCapabilities.ToFromSIMPL, JoinType = eJoinType.Analog });
-
- [JoinName("VolumeDown")]
- public JoinDataComplete VolumeDown = new JoinDataComplete(new JoinData { JoinNumber = 6, JoinSpan = 1 },
- new JoinMetadata { Description = "Volume Down", JoinCapabilities = eJoinCapabilities.FromSIMPL, JoinType = eJoinType.Digital });
-
- [JoinName("VolumeMute")]
- public JoinDataComplete VolumeMute = new JoinDataComplete(new JoinData { JoinNumber = 7, JoinSpan = 1 },
- new JoinMetadata { Description = "Volume Mute", JoinCapabilities = eJoinCapabilities.ToFromSIMPL, JoinType = eJoinType.Digital });
-
- [JoinName("VolumeMuteOn")]
- public JoinDataComplete VolumeMuteOn = new JoinDataComplete(new JoinData { JoinNumber = 8, JoinSpan = 1 },
- new JoinMetadata { Description = "Volume Mute On", JoinCapabilities = eJoinCapabilities.ToFromSIMPL, JoinType = eJoinType.Digital });
-
- [JoinName("VolumeMuteOff")]
- public JoinDataComplete VolumeMuteOff = new JoinDataComplete(new JoinData { JoinNumber = 9, JoinSpan = 1 },
- new JoinMetadata { Description = "Volume Mute Off", JoinCapabilities = eJoinCapabilities.ToFromSIMPL, JoinType = eJoinType.Digital });
-
- [JoinName("InputSelectOffset")]
- public JoinDataComplete InputSelectOffset = new JoinDataComplete(new JoinData { JoinNumber = 11, JoinSpan = 10 },
- new JoinMetadata { Description = "Input Select", JoinCapabilities = eJoinCapabilities.ToFromSIMPL, JoinType = eJoinType.Digital });
-
- [JoinName("InputNamesOffset")]
- public JoinDataComplete InputNamesOffset = new JoinDataComplete(new JoinData { JoinNumber = 11, JoinSpan = 10 },
- new JoinMetadata { Description = "Input Names Offset", JoinCapabilities = eJoinCapabilities.ToSIMPL, JoinType = eJoinType.Serial });
-
- [JoinName("InputSelect")]
- public JoinDataComplete InputSelect = new JoinDataComplete(new JoinData { JoinNumber = 11, JoinSpan = 1 },
- new JoinMetadata { Description = "Input Select", JoinCapabilities = eJoinCapabilities.ToFromSIMPL, JoinType = eJoinType.Analog });
-
- [JoinName("ButtonVisibilityOffset")]
- public JoinDataComplete ButtonVisibilityOffset = new JoinDataComplete(new JoinData { JoinNumber = 41, JoinSpan = 10 },
- new JoinMetadata { Description = "Button Visibility Offset", JoinCapabilities = eJoinCapabilities.ToFromSIMPL, JoinType = eJoinType.DigitalSerial });
-
- [JoinName("IsOnline")]
- public JoinDataComplete IsOnline = new JoinDataComplete(new JoinData { JoinNumber = 50, JoinSpan = 1 },
- new JoinMetadata { Description = "Is Online", JoinCapabilities = eJoinCapabilities.ToSIMPL, JoinType = eJoinType.Digital });
-
- ///
- /// Constructor to use when instantiating this Join Map without inheriting from it
- ///
- /// Join this join map will start at
- public DisplayControllerJoinMap(uint joinStart)
- : this(joinStart, typeof(DisplayControllerJoinMap))
- {
- }
-
- ///
- /// Constructor to use when extending this Join map
- ///
- /// Join this join map will start at
- /// Type of the child join map
- protected DisplayControllerJoinMap(uint joinStart, Type type) : base(joinStart, type)
- {
- }
- }
+using System;
+
+namespace PepperDash.Essentials.Core.Bridges
+{
+ public class DisplayControllerJoinMap : JoinMapBaseAdvanced
+ {
+ [JoinName("Name")]
+ public JoinDataComplete Name = new JoinDataComplete(new JoinData { JoinNumber = 1, JoinSpan = 1 },
+ new JoinMetadata { Description = "Name", JoinCapabilities = eJoinCapabilities.ToSIMPL, JoinType = eJoinType.Serial });
+
+ [JoinName("PowerOff")]
+ public JoinDataComplete PowerOff = new JoinDataComplete(new JoinData { JoinNumber = 1, JoinSpan = 1 },
+ new JoinMetadata { Description = "Power Off", JoinCapabilities = eJoinCapabilities.FromSIMPL, JoinType = eJoinType.Digital });
+
+ [JoinName("PowerOn")]
+ public JoinDataComplete PowerOn = new JoinDataComplete(new JoinData { JoinNumber = 2, JoinSpan = 1 },
+ new JoinMetadata { Description = "Power On", JoinCapabilities = eJoinCapabilities.ToFromSIMPL, JoinType = eJoinType.Digital });
+
+ [JoinName("IsTwoWayDisplay")]
+ public JoinDataComplete IsTwoWayDisplay = new JoinDataComplete(new JoinData { JoinNumber = 3, JoinSpan = 1 },
+ new JoinMetadata { Description = "Is Two Way Display", JoinCapabilities = eJoinCapabilities.ToSIMPL, JoinType = eJoinType.Digital });
+
+ [JoinName("VolumeUp")]
+ public JoinDataComplete VolumeUp = new JoinDataComplete(new JoinData { JoinNumber = 5, JoinSpan = 1 },
+ new JoinMetadata { Description = "Volume Up", JoinCapabilities = eJoinCapabilities.FromSIMPL, JoinType = eJoinType.Digital });
+
+ [JoinName("VolumeLevel")]
+ public JoinDataComplete VolumeLevel = new JoinDataComplete(new JoinData { JoinNumber = 5, JoinSpan = 1 },
+ new JoinMetadata { Description = "Volume Level", JoinCapabilities = eJoinCapabilities.ToFromSIMPL, JoinType = eJoinType.Analog });
+
+ [JoinName("VolumeDown")]
+ public JoinDataComplete VolumeDown = new JoinDataComplete(new JoinData { JoinNumber = 6, JoinSpan = 1 },
+ new JoinMetadata { Description = "Volume Down", JoinCapabilities = eJoinCapabilities.FromSIMPL, JoinType = eJoinType.Digital });
+
+ [JoinName("VolumeMute")]
+ public JoinDataComplete VolumeMute = new JoinDataComplete(new JoinData { JoinNumber = 7, JoinSpan = 1 },
+ new JoinMetadata { Description = "Volume Mute", JoinCapabilities = eJoinCapabilities.ToFromSIMPL, JoinType = eJoinType.Digital });
+
+ [JoinName("VolumeMuteOn")]
+ public JoinDataComplete VolumeMuteOn = new JoinDataComplete(new JoinData { JoinNumber = 8, JoinSpan = 1 },
+ new JoinMetadata { Description = "Volume Mute On", JoinCapabilities = eJoinCapabilities.ToFromSIMPL, JoinType = eJoinType.Digital });
+
+ [JoinName("VolumeMuteOff")]
+ public JoinDataComplete VolumeMuteOff = new JoinDataComplete(new JoinData { JoinNumber = 9, JoinSpan = 1 },
+ new JoinMetadata { Description = "Volume Mute Off", JoinCapabilities = eJoinCapabilities.ToFromSIMPL, JoinType = eJoinType.Digital });
+
+ [JoinName("InputSelectOffset")]
+ public JoinDataComplete InputSelectOffset = new JoinDataComplete(new JoinData { JoinNumber = 11, JoinSpan = 10 },
+ new JoinMetadata { Description = "Input Select", JoinCapabilities = eJoinCapabilities.ToFromSIMPL, JoinType = eJoinType.Digital });
+
+ [JoinName("InputNamesOffset")]
+ public JoinDataComplete InputNamesOffset = new JoinDataComplete(new JoinData { JoinNumber = 11, JoinSpan = 10 },
+ new JoinMetadata { Description = "Input Names Offset", JoinCapabilities = eJoinCapabilities.ToSIMPL, JoinType = eJoinType.Serial });
+
+ [JoinName("InputSelect")]
+ public JoinDataComplete InputSelect = new JoinDataComplete(new JoinData { JoinNumber = 11, JoinSpan = 1 },
+ new JoinMetadata { Description = "Input Select", JoinCapabilities = eJoinCapabilities.ToFromSIMPL, JoinType = eJoinType.Analog });
+
+ [JoinName("ButtonVisibilityOffset")]
+ public JoinDataComplete ButtonVisibilityOffset = new JoinDataComplete(new JoinData { JoinNumber = 41, JoinSpan = 10 },
+ new JoinMetadata { Description = "Button Visibility Offset", JoinCapabilities = eJoinCapabilities.ToFromSIMPL, JoinType = eJoinType.DigitalSerial });
+
+ [JoinName("IsOnline")]
+ public JoinDataComplete IsOnline = new JoinDataComplete(new JoinData { JoinNumber = 50, JoinSpan = 1 },
+ new JoinMetadata { Description = "Is Online", JoinCapabilities = eJoinCapabilities.ToSIMPL, JoinType = eJoinType.Digital });
+
+ ///
+ /// Constructor to use when instantiating this Join Map without inheriting from it
+ ///
+ /// Join this join map will start at
+ public DisplayControllerJoinMap(uint joinStart)
+ : this(joinStart, typeof(DisplayControllerJoinMap))
+ {
+ }
+
+ ///
+ /// Constructor to use when extending this Join map
+ ///
+ /// Join this join map will start at
+ /// Type of the child join map
+ protected DisplayControllerJoinMap(uint joinStart, Type type) : base(joinStart, type)
+ {
+ }
+ }
}
\ No newline at end of file
diff --git a/essentials-framework/Essentials Core/PepperDashEssentialsBase/Bridges/JoinMaps/DmBladeChassisControllerJoinMap.cs b/src/PepperDash.Essentials.Core/Bridges/JoinMaps/DmBladeChassisControllerJoinMap.cs
similarity index 98%
rename from essentials-framework/Essentials Core/PepperDashEssentialsBase/Bridges/JoinMaps/DmBladeChassisControllerJoinMap.cs
rename to src/PepperDash.Essentials.Core/Bridges/JoinMaps/DmBladeChassisControllerJoinMap.cs
index 4c9cba41..3a4c4255 100644
--- a/essentials-framework/Essentials Core/PepperDashEssentialsBase/Bridges/JoinMaps/DmBladeChassisControllerJoinMap.cs
+++ b/src/PepperDash.Essentials.Core/Bridges/JoinMaps/DmBladeChassisControllerJoinMap.cs
@@ -1,74 +1,74 @@
-using System;
-
-namespace PepperDash.Essentials.Core.Bridges {
- public class DmBladeChassisControllerJoinMap : JoinMapBaseAdvanced {
-
- [JoinName("IsOnline")]
- public JoinDataComplete IsOnline = new JoinDataComplete(new JoinData { JoinNumber = 11, JoinSpan = 1 },
- new JoinMetadata { Description = "DM Blade Chassis Online", JoinCapabilities = eJoinCapabilities.ToSIMPL, JoinType = eJoinType.Digital });
-
- [JoinName("VideoSyncStatus")]
- public JoinDataComplete VideoSyncStatus = new JoinDataComplete(new JoinData { JoinNumber = 101, JoinSpan = 128 },
- new JoinMetadata { Description = "DM Blade Input Video Sync", JoinCapabilities = eJoinCapabilities.ToSIMPL, JoinType = eJoinType.Digital });
-
- [JoinName("InputEndpointOnline")]
- public JoinDataComplete InputEndpointOnline = new JoinDataComplete(new JoinData { JoinNumber = 501, JoinSpan = 128 },
- new JoinMetadata { Description = "DM Blade Chassis Input Endpoint Online", JoinCapabilities = eJoinCapabilities.ToSIMPL, JoinType = eJoinType.Digital });
-
- [JoinName("OutputEndpointOnline")]
- public JoinDataComplete OutputEndpointOnline = new JoinDataComplete(new JoinData { JoinNumber = 701, JoinSpan = 128 },
- new JoinMetadata { Description = "DM Blade Chassis Output Endpoint Online", JoinCapabilities = eJoinCapabilities.ToSIMPL, JoinType = eJoinType.Digital });
-
- [JoinName("TxAdvancedIsPresent")]
- public JoinDataComplete TxAdvancedIsPresent = new JoinDataComplete(new JoinData { JoinNumber = 1001, JoinSpan = 128 },
- new JoinMetadata { Description = "DM Blade Chassis Tx Advanced Is Present", JoinCapabilities = eJoinCapabilities.ToSIMPL, JoinType = eJoinType.Digital });
-
- [JoinName("OutputVideo")]
- public JoinDataComplete OutputVideo = new JoinDataComplete(new JoinData { JoinNumber = 101, JoinSpan = 128 },
- new JoinMetadata { Description = "DM Blade Chassis Output Set / Get", JoinCapabilities = eJoinCapabilities.ToFromSIMPL, JoinType = eJoinType.Analog });
-
- [JoinName("HdcpSupportState")]
- public JoinDataComplete HdcpSupportState = new JoinDataComplete(new JoinData { JoinNumber = 1001, JoinSpan = 128 },
- new JoinMetadata { Description = "DM Blade Chassis Input HDCP Support State", JoinCapabilities = eJoinCapabilities.ToSIMPL, JoinType = eJoinType.Analog });
-
- [JoinName("HdcpSupportCapability")]
- public JoinDataComplete HdcpSupportCapability = new JoinDataComplete(new JoinData { JoinNumber = 1201, JoinSpan = 128 },
- new JoinMetadata { Description = "DM Blade Chassis Input HDCP Support Capability", JoinCapabilities = eJoinCapabilities.FromSIMPL, JoinType = eJoinType.Analog });
-
- [JoinName("InputNames")]
- public JoinDataComplete InputNames = new JoinDataComplete(new JoinData { JoinNumber = 101, JoinSpan = 128 },
- new JoinMetadata { Description = "DM Blade Chassis Input Name", JoinCapabilities = eJoinCapabilities.ToSIMPL, JoinType = eJoinType.Serial });
-
- [JoinName("OutputNames")]
- public JoinDataComplete OutputNames = new JoinDataComplete(new JoinData { JoinNumber = 301, JoinSpan = 128 },
- new JoinMetadata { Description = "DM Blade Chassis Output Name", JoinCapabilities = eJoinCapabilities.ToSIMPL, JoinType = eJoinType.Serial });
-
- [JoinName("OutputCurrentVideoInputNames")]
- public JoinDataComplete OutputCurrentVideoInputNames = new JoinDataComplete(new JoinData { JoinNumber = 2001, JoinSpan = 128 },
- new JoinMetadata { Description = "DM Blade Chassis Video Output Currently Routed Video Input Name", JoinCapabilities = eJoinCapabilities.ToSIMPL, JoinType = eJoinType.Serial });
-
- [JoinName("InputCurrentResolution")]
- public JoinDataComplete InputCurrentResolution = new JoinDataComplete(new JoinData { JoinNumber = 2401, JoinSpan = 128 },
- new JoinMetadata { Description = "DM Blade Chassis Input Current Resolution", JoinCapabilities = eJoinCapabilities.ToSIMPL, JoinType = eJoinType.Serial });
-
-
- ///
- /// Constructor to use when instantiating this Join Map without inheriting from it
- ///
- /// Join this join map will start at
- public DmBladeChassisControllerJoinMap(uint joinStart)
- : this(joinStart, typeof(DmBladeChassisControllerJoinMap))
- {
- }
-
- ///
- /// Constructor to use when extending this Join map
- ///
- /// Join this join map will start at
- /// Type of the child join map
- protected DmBladeChassisControllerJoinMap(uint joinStart, Type type) : base(joinStart, type)
- {
- }
-
- }
-}
+using System;
+
+namespace PepperDash.Essentials.Core.Bridges {
+ public class DmBladeChassisControllerJoinMap : JoinMapBaseAdvanced {
+
+ [JoinName("IsOnline")]
+ public JoinDataComplete IsOnline = new JoinDataComplete(new JoinData { JoinNumber = 11, JoinSpan = 1 },
+ new JoinMetadata { Description = "DM Blade Chassis Online", JoinCapabilities = eJoinCapabilities.ToSIMPL, JoinType = eJoinType.Digital });
+
+ [JoinName("VideoSyncStatus")]
+ public JoinDataComplete VideoSyncStatus = new JoinDataComplete(new JoinData { JoinNumber = 101, JoinSpan = 128 },
+ new JoinMetadata { Description = "DM Blade Input Video Sync", JoinCapabilities = eJoinCapabilities.ToSIMPL, JoinType = eJoinType.Digital });
+
+ [JoinName("InputEndpointOnline")]
+ public JoinDataComplete InputEndpointOnline = new JoinDataComplete(new JoinData { JoinNumber = 501, JoinSpan = 128 },
+ new JoinMetadata { Description = "DM Blade Chassis Input Endpoint Online", JoinCapabilities = eJoinCapabilities.ToSIMPL, JoinType = eJoinType.Digital });
+
+ [JoinName("OutputEndpointOnline")]
+ public JoinDataComplete OutputEndpointOnline = new JoinDataComplete(new JoinData { JoinNumber = 701, JoinSpan = 128 },
+ new JoinMetadata { Description = "DM Blade Chassis Output Endpoint Online", JoinCapabilities = eJoinCapabilities.ToSIMPL, JoinType = eJoinType.Digital });
+
+ [JoinName("TxAdvancedIsPresent")]
+ public JoinDataComplete TxAdvancedIsPresent = new JoinDataComplete(new JoinData { JoinNumber = 1001, JoinSpan = 128 },
+ new JoinMetadata { Description = "DM Blade Chassis Tx Advanced Is Present", JoinCapabilities = eJoinCapabilities.ToSIMPL, JoinType = eJoinType.Digital });
+
+ [JoinName("OutputVideo")]
+ public JoinDataComplete OutputVideo = new JoinDataComplete(new JoinData { JoinNumber = 101, JoinSpan = 128 },
+ new JoinMetadata { Description = "DM Blade Chassis Output Set / Get", JoinCapabilities = eJoinCapabilities.ToFromSIMPL, JoinType = eJoinType.Analog });
+
+ [JoinName("HdcpSupportState")]
+ public JoinDataComplete HdcpSupportState = new JoinDataComplete(new JoinData { JoinNumber = 1001, JoinSpan = 128 },
+ new JoinMetadata { Description = "DM Blade Chassis Input HDCP Support State", JoinCapabilities = eJoinCapabilities.ToSIMPL, JoinType = eJoinType.Analog });
+
+ [JoinName("HdcpSupportCapability")]
+ public JoinDataComplete HdcpSupportCapability = new JoinDataComplete(new JoinData { JoinNumber = 1201, JoinSpan = 128 },
+ new JoinMetadata { Description = "DM Blade Chassis Input HDCP Support Capability", JoinCapabilities = eJoinCapabilities.FromSIMPL, JoinType = eJoinType.Analog });
+
+ [JoinName("InputNames")]
+ public JoinDataComplete InputNames = new JoinDataComplete(new JoinData { JoinNumber = 101, JoinSpan = 128 },
+ new JoinMetadata { Description = "DM Blade Chassis Input Name", JoinCapabilities = eJoinCapabilities.ToSIMPL, JoinType = eJoinType.Serial });
+
+ [JoinName("OutputNames")]
+ public JoinDataComplete OutputNames = new JoinDataComplete(new JoinData { JoinNumber = 301, JoinSpan = 128 },
+ new JoinMetadata { Description = "DM Blade Chassis Output Name", JoinCapabilities = eJoinCapabilities.ToSIMPL, JoinType = eJoinType.Serial });
+
+ [JoinName("OutputCurrentVideoInputNames")]
+ public JoinDataComplete OutputCurrentVideoInputNames = new JoinDataComplete(new JoinData { JoinNumber = 2001, JoinSpan = 128 },
+ new JoinMetadata { Description = "DM Blade Chassis Video Output Currently Routed Video Input Name", JoinCapabilities = eJoinCapabilities.ToSIMPL, JoinType = eJoinType.Serial });
+
+ [JoinName("InputCurrentResolution")]
+ public JoinDataComplete InputCurrentResolution = new JoinDataComplete(new JoinData { JoinNumber = 2401, JoinSpan = 128 },
+ new JoinMetadata { Description = "DM Blade Chassis Input Current Resolution", JoinCapabilities = eJoinCapabilities.ToSIMPL, JoinType = eJoinType.Serial });
+
+
+ ///
+ /// Constructor to use when instantiating this Join Map without inheriting from it
+ ///
+ /// Join this join map will start at
+ public DmBladeChassisControllerJoinMap(uint joinStart)
+ : this(joinStart, typeof(DmBladeChassisControllerJoinMap))
+ {
+ }
+
+ ///
+ /// Constructor to use when extending this Join map
+ ///
+ /// Join this join map will start at
+ /// Type of the child join map
+ protected DmBladeChassisControllerJoinMap(uint joinStart, Type type) : base(joinStart, type)
+ {
+ }
+
+ }
+}
diff --git a/essentials-framework/Essentials Core/PepperDashEssentialsBase/Bridges/JoinMaps/DmChassisControllerJoinMap.cs b/src/PepperDash.Essentials.Core/Bridges/JoinMaps/DmChassisControllerJoinMap.cs
similarity index 98%
rename from essentials-framework/Essentials Core/PepperDashEssentialsBase/Bridges/JoinMaps/DmChassisControllerJoinMap.cs
rename to src/PepperDash.Essentials.Core/Bridges/JoinMaps/DmChassisControllerJoinMap.cs
index 3582e6cf..2b9ee042 100644
--- a/essentials-framework/Essentials Core/PepperDashEssentialsBase/Bridges/JoinMaps/DmChassisControllerJoinMap.cs
+++ b/src/PepperDash.Essentials.Core/Bridges/JoinMaps/DmChassisControllerJoinMap.cs
@@ -1,166 +1,166 @@
-using System;
-
-namespace PepperDash.Essentials.Core.Bridges
-{
- public class DmChassisControllerJoinMap : JoinMapBaseAdvanced
- {
- [JoinName("EnableAudioBreakaway")]
- public JoinDataComplete EnableAudioBreakaway = new JoinDataComplete(
- new JoinData {JoinNumber = 4, JoinSpan = 1},
- new JoinMetadata
- {
- Description = "DM Chassis enable audio breakaway routing",
- JoinCapabilities = eJoinCapabilities.FromSIMPL,
- JoinType = eJoinType.Digital
- });
-
- [JoinName("EnableUsbBreakaway")]
- public JoinDataComplete EnableUsbBreakaway = new JoinDataComplete(
- new JoinData { JoinNumber = 5, JoinSpan = 1 },
- new JoinMetadata
- {
- Description = "DM Chassis enable USB breakaway routing",
- JoinCapabilities = eJoinCapabilities.FromSIMPL,
- JoinType = eJoinType.Digital
- });
-
- [JoinName("SystemId")]
- public JoinDataComplete SystemId = new JoinDataComplete(new JoinData { JoinNumber = 10, JoinSpan = 1 },
- new JoinMetadata { Description = "DM Chassis SystemId Get/Set/Trigger/", JoinCapabilities = eJoinCapabilities.ToFromSIMPL, JoinType = eJoinType.DigitalAnalog });
-
- [JoinName("IsOnline")]
- public JoinDataComplete IsOnline = new JoinDataComplete(new JoinData { JoinNumber = 11, JoinSpan = 1 },
- new JoinMetadata { Description = "DM Chassis Online", JoinCapabilities = eJoinCapabilities.ToSIMPL, JoinType = eJoinType.Digital });
-
- [JoinName("VideoSyncStatus")]
- public JoinDataComplete VideoSyncStatus = new JoinDataComplete(new JoinData { JoinNumber = 101, JoinSpan = 32 },
- new JoinMetadata { Description = "DM Input Video Sync", JoinCapabilities = eJoinCapabilities.ToSIMPL, JoinType = eJoinType.Digital });
-
- [JoinName("InputEndpointOnline")]
- public JoinDataComplete InputEndpointOnline = new JoinDataComplete(new JoinData { JoinNumber = 501, JoinSpan = 32 },
- new JoinMetadata { Description = "DM Chassis Input Endpoint Online", JoinCapabilities = eJoinCapabilities.ToSIMPL, JoinType = eJoinType.Digital });
-
- [JoinName("OutputEndpointOnline")]
- public JoinDataComplete OutputEndpointOnline = new JoinDataComplete(new JoinData { JoinNumber = 701, JoinSpan = 32 },
- new JoinMetadata { Description = "DM Chassis Output Endpoint Online", JoinCapabilities = eJoinCapabilities.ToSIMPL, JoinType = eJoinType.Digital });
-
- [JoinName("TxAdvancedIsPresent")]
- public JoinDataComplete TxAdvancedIsPresent = new JoinDataComplete(new JoinData { JoinNumber = 1001, JoinSpan = 32 },
- new JoinMetadata { Description = "DM Chassis Tx Advanced Is Present", JoinCapabilities = eJoinCapabilities.ToSIMPL, JoinType = eJoinType.Digital });
-
- [JoinName("OutputDisabledByHdcp")]
- public JoinDataComplete OutputDisabledByHdcp = new JoinDataComplete(new JoinData { JoinNumber = 1201, JoinSpan = 32 },
- new JoinMetadata { Description = "DM Chassis Output Disabled by HDCP", JoinCapabilities = eJoinCapabilities.ToSIMPL, JoinType = eJoinType.Digital });
-
- [JoinName("OutputVideo")]
- public JoinDataComplete OutputVideo = new JoinDataComplete(new JoinData { JoinNumber = 101, JoinSpan = 32 },
- new JoinMetadata { Description = "DM Chassis Output Video Set / Get", JoinCapabilities = eJoinCapabilities.ToFromSIMPL, JoinType = eJoinType.Analog });
-
- [JoinName("OutputAudio")]
- public JoinDataComplete OutputAudio = new JoinDataComplete(new JoinData { JoinNumber = 301, JoinSpan = 32 },
- new JoinMetadata { Description = "DM Chassis Output Audio Set / Get", JoinCapabilities = eJoinCapabilities.ToFromSIMPL, JoinType = eJoinType.Analog });
-
- [JoinName("OutputUsb")]
- public JoinDataComplete OutputUsb = new JoinDataComplete(new JoinData { JoinNumber = 501, JoinSpan = 32 },
- new JoinMetadata { Description = "DM Chassis Output USB Set / Get", JoinCapabilities = eJoinCapabilities.ToFromSIMPL, JoinType = eJoinType.Analog });
-
- [JoinName("InputUsb")]
- public JoinDataComplete InputUsb = new JoinDataComplete(new JoinData { JoinNumber = 701, JoinSpan = 32 },
- new JoinMetadata { Description = "DM Chassis Input Usb Set / Get", JoinCapabilities = eJoinCapabilities.ToFromSIMPL, JoinType = eJoinType.Analog });
-
- [JoinName("HdcpSupportState")]
- public JoinDataComplete HdcpSupportState = new JoinDataComplete(new JoinData { JoinNumber = 1001, JoinSpan = 32 },
- new JoinMetadata { Description = "DM Chassis Input HDCP Support State", JoinCapabilities = eJoinCapabilities.ToSIMPL, JoinType = eJoinType.Analog });
-
- [JoinName("HdcpSupportCapability")]
- public JoinDataComplete HdcpSupportCapability = new JoinDataComplete(new JoinData { JoinNumber = 1201, JoinSpan = 32 },
- new JoinMetadata { Description = "DM Chassis Input HDCP Support Capability", JoinCapabilities = eJoinCapabilities.FromSIMPL, JoinType = eJoinType.Analog });
-
- [JoinName("InputStreamCardState")]
- public JoinDataComplete InputStreamCardState = new JoinDataComplete(new JoinData { JoinNumber = 1501, JoinSpan = 32 },
- new JoinMetadata { Description = "DM Chassis Stream Input Start (1), Stop (2), Pause (3) with Feedback", JoinCapabilities = eJoinCapabilities.FromSIMPL, JoinType = eJoinType.Analog });
-
- [JoinName("OutputStreamCardState")]
- public JoinDataComplete OutputStreamCardState = new JoinDataComplete(new JoinData { JoinNumber = 1601, JoinSpan = 32 },
- new JoinMetadata { Description = "DM Chassis Stream Output Start (1), Stop (2), Pause (3) with Feedback", JoinCapabilities = eJoinCapabilities.FromSIMPL, JoinType = eJoinType.Analog });
-
- [JoinName("NoRouteName")]
- public JoinDataComplete NoRouteName = new JoinDataComplete(new JoinData { JoinNumber = 100, JoinSpan = 1 },
- new JoinMetadata { Description = "DM Chassis Input Name", JoinCapabilities = eJoinCapabilities.ToSIMPL, JoinType = eJoinType.Serial });
-
- [JoinName("InputNames")]
- public JoinDataComplete InputNames = new JoinDataComplete(new JoinData { JoinNumber = 101, JoinSpan = 32 },
- new JoinMetadata { Description = "DM Chassis Input Name", JoinCapabilities = eJoinCapabilities.ToSIMPL, JoinType = eJoinType.Serial });
-
- [JoinName("OutputNames")]
- public JoinDataComplete OutputNames = new JoinDataComplete(new JoinData { JoinNumber = 301, JoinSpan = 32 },
- new JoinMetadata { Description = "DM Chassis Output Name", JoinCapabilities = eJoinCapabilities.ToSIMPL, JoinType = eJoinType.Serial });
-
- [JoinName("InputVideoNames")] public JoinDataComplete InputVideoNames =
- new JoinDataComplete(new JoinData {JoinNumber = 501, JoinSpan = 200},
- new JoinMetadata
- {
- Description = "DM Chassis Video Input Names",
- JoinCapabilities = eJoinCapabilities.ToFromSIMPL,
- JoinType = eJoinType.Serial
- });
-
- [JoinName("InputAudioNames")]
- public JoinDataComplete InputAudioNames =
- new JoinDataComplete(new JoinData { JoinNumber = 701, JoinSpan = 200 },
- new JoinMetadata
- {
- Description = "DM Chassis Audio Input Names",
- JoinCapabilities = eJoinCapabilities.ToFromSIMPL,
- JoinType = eJoinType.Serial
- });
- [JoinName("OutputVideoNames")]
- public JoinDataComplete OutputVideoNames =
- new JoinDataComplete(new JoinData { JoinNumber = 901, JoinSpan = 200 },
- new JoinMetadata
- {
- Description = "DM Chassis Video Output Names",
- JoinCapabilities = eJoinCapabilities.ToFromSIMPL,
- JoinType = eJoinType.Serial
- });
- [JoinName("OutputAudioNames")]
- public JoinDataComplete OutputAudioNames =
- new JoinDataComplete(new JoinData { JoinNumber = 1101, JoinSpan = 200 },
- new JoinMetadata
- {
- Description = "DM Chassis Audio Output Names",
- JoinCapabilities = eJoinCapabilities.ToFromSIMPL,
- JoinType = eJoinType.Serial
- });
-
- [JoinName("OutputCurrentVideoInputNames")]
- public JoinDataComplete OutputCurrentVideoInputNames = new JoinDataComplete(new JoinData { JoinNumber = 2001, JoinSpan = 32 },
- new JoinMetadata { Description = "DM Chassis Video Output Currently Routed Video Input Name", JoinCapabilities = eJoinCapabilities.ToSIMPL, JoinType = eJoinType.Serial });
-
- [JoinName("OutputCurrentAudioInputNames")]
- public JoinDataComplete OutputCurrentAudioInputNames = new JoinDataComplete(new JoinData { JoinNumber = 2201, JoinSpan = 32 },
- new JoinMetadata { Description = "DM Chassis Audio Output Currently Routed Video Input Name", JoinCapabilities = eJoinCapabilities.ToSIMPL, JoinType = eJoinType.Serial });
-
- [JoinName("InputCurrentResolution")]
- public JoinDataComplete InputCurrentResolution = new JoinDataComplete(new JoinData { JoinNumber = 2401, JoinSpan = 32 },
- new JoinMetadata { Description = "DM Chassis Input Current Resolution", JoinCapabilities = eJoinCapabilities.ToSIMPL, JoinType = eJoinType.Serial });
-
- ///
- /// Constructor to use when instantiating this Join Map without inheriting from it
- ///
- /// Join this join map will start at
- public DmChassisControllerJoinMap(uint joinStart)
- : this(joinStart, typeof(DmChassisControllerJoinMap))
- {
- }
-
- ///
- /// Constructor to use when extending this Join map
- ///
- /// Join this join map will start at
- /// Type of the child join map
- protected DmChassisControllerJoinMap(uint joinStart, Type type) : base(joinStart, type)
- {
- }
- }
-}
+using System;
+
+namespace PepperDash.Essentials.Core.Bridges
+{
+ public class DmChassisControllerJoinMap : JoinMapBaseAdvanced
+ {
+ [JoinName("EnableAudioBreakaway")]
+ public JoinDataComplete EnableAudioBreakaway = new JoinDataComplete(
+ new JoinData {JoinNumber = 4, JoinSpan = 1},
+ new JoinMetadata
+ {
+ Description = "DM Chassis enable audio breakaway routing",
+ JoinCapabilities = eJoinCapabilities.FromSIMPL,
+ JoinType = eJoinType.Digital
+ });
+
+ [JoinName("EnableUsbBreakaway")]
+ public JoinDataComplete EnableUsbBreakaway = new JoinDataComplete(
+ new JoinData { JoinNumber = 5, JoinSpan = 1 },
+ new JoinMetadata
+ {
+ Description = "DM Chassis enable USB breakaway routing",
+ JoinCapabilities = eJoinCapabilities.FromSIMPL,
+ JoinType = eJoinType.Digital
+ });
+
+ [JoinName("SystemId")]
+ public JoinDataComplete SystemId = new JoinDataComplete(new JoinData { JoinNumber = 10, JoinSpan = 1 },
+ new JoinMetadata { Description = "DM Chassis SystemId Get/Set/Trigger/", JoinCapabilities = eJoinCapabilities.ToFromSIMPL, JoinType = eJoinType.DigitalAnalog });
+
+ [JoinName("IsOnline")]
+ public JoinDataComplete IsOnline = new JoinDataComplete(new JoinData { JoinNumber = 11, JoinSpan = 1 },
+ new JoinMetadata { Description = "DM Chassis Online", JoinCapabilities = eJoinCapabilities.ToSIMPL, JoinType = eJoinType.Digital });
+
+ [JoinName("VideoSyncStatus")]
+ public JoinDataComplete VideoSyncStatus = new JoinDataComplete(new JoinData { JoinNumber = 101, JoinSpan = 32 },
+ new JoinMetadata { Description = "DM Input Video Sync", JoinCapabilities = eJoinCapabilities.ToSIMPL, JoinType = eJoinType.Digital });
+
+ [JoinName("InputEndpointOnline")]
+ public JoinDataComplete InputEndpointOnline = new JoinDataComplete(new JoinData { JoinNumber = 501, JoinSpan = 32 },
+ new JoinMetadata { Description = "DM Chassis Input Endpoint Online", JoinCapabilities = eJoinCapabilities.ToSIMPL, JoinType = eJoinType.Digital });
+
+ [JoinName("OutputEndpointOnline")]
+ public JoinDataComplete OutputEndpointOnline = new JoinDataComplete(new JoinData { JoinNumber = 701, JoinSpan = 32 },
+ new JoinMetadata { Description = "DM Chassis Output Endpoint Online", JoinCapabilities = eJoinCapabilities.ToSIMPL, JoinType = eJoinType.Digital });
+
+ [JoinName("TxAdvancedIsPresent")]
+ public JoinDataComplete TxAdvancedIsPresent = new JoinDataComplete(new JoinData { JoinNumber = 1001, JoinSpan = 32 },
+ new JoinMetadata { Description = "DM Chassis Tx Advanced Is Present", JoinCapabilities = eJoinCapabilities.ToSIMPL, JoinType = eJoinType.Digital });
+
+ [JoinName("OutputDisabledByHdcp")]
+ public JoinDataComplete OutputDisabledByHdcp = new JoinDataComplete(new JoinData { JoinNumber = 1201, JoinSpan = 32 },
+ new JoinMetadata { Description = "DM Chassis Output Disabled by HDCP", JoinCapabilities = eJoinCapabilities.ToSIMPL, JoinType = eJoinType.Digital });
+
+ [JoinName("OutputVideo")]
+ public JoinDataComplete OutputVideo = new JoinDataComplete(new JoinData { JoinNumber = 101, JoinSpan = 32 },
+ new JoinMetadata { Description = "DM Chassis Output Video Set / Get", JoinCapabilities = eJoinCapabilities.ToFromSIMPL, JoinType = eJoinType.Analog });
+
+ [JoinName("OutputAudio")]
+ public JoinDataComplete OutputAudio = new JoinDataComplete(new JoinData { JoinNumber = 301, JoinSpan = 32 },
+ new JoinMetadata { Description = "DM Chassis Output Audio Set / Get", JoinCapabilities = eJoinCapabilities.ToFromSIMPL, JoinType = eJoinType.Analog });
+
+ [JoinName("OutputUsb")]
+ public JoinDataComplete OutputUsb = new JoinDataComplete(new JoinData { JoinNumber = 501, JoinSpan = 32 },
+ new JoinMetadata { Description = "DM Chassis Output USB Set / Get", JoinCapabilities = eJoinCapabilities.ToFromSIMPL, JoinType = eJoinType.Analog });
+
+ [JoinName("InputUsb")]
+ public JoinDataComplete InputUsb = new JoinDataComplete(new JoinData { JoinNumber = 701, JoinSpan = 32 },
+ new JoinMetadata { Description = "DM Chassis Input Usb Set / Get", JoinCapabilities = eJoinCapabilities.ToFromSIMPL, JoinType = eJoinType.Analog });
+
+ [JoinName("HdcpSupportState")]
+ public JoinDataComplete HdcpSupportState = new JoinDataComplete(new JoinData { JoinNumber = 1001, JoinSpan = 32 },
+ new JoinMetadata { Description = "DM Chassis Input HDCP Support State", JoinCapabilities = eJoinCapabilities.ToSIMPL, JoinType = eJoinType.Analog });
+
+ [JoinName("HdcpSupportCapability")]
+ public JoinDataComplete HdcpSupportCapability = new JoinDataComplete(new JoinData { JoinNumber = 1201, JoinSpan = 32 },
+ new JoinMetadata { Description = "DM Chassis Input HDCP Support Capability", JoinCapabilities = eJoinCapabilities.FromSIMPL, JoinType = eJoinType.Analog });
+
+ [JoinName("InputStreamCardState")]
+ public JoinDataComplete InputStreamCardState = new JoinDataComplete(new JoinData { JoinNumber = 1501, JoinSpan = 32 },
+ new JoinMetadata { Description = "DM Chassis Stream Input Start (1), Stop (2), Pause (3) with Feedback", JoinCapabilities = eJoinCapabilities.FromSIMPL, JoinType = eJoinType.Analog });
+
+ [JoinName("OutputStreamCardState")]
+ public JoinDataComplete OutputStreamCardState = new JoinDataComplete(new JoinData { JoinNumber = 1601, JoinSpan = 32 },
+ new JoinMetadata { Description = "DM Chassis Stream Output Start (1), Stop (2), Pause (3) with Feedback", JoinCapabilities = eJoinCapabilities.FromSIMPL, JoinType = eJoinType.Analog });
+
+ [JoinName("NoRouteName")]
+ public JoinDataComplete NoRouteName = new JoinDataComplete(new JoinData { JoinNumber = 100, JoinSpan = 1 },
+ new JoinMetadata { Description = "DM Chassis Input Name", JoinCapabilities = eJoinCapabilities.ToSIMPL, JoinType = eJoinType.Serial });
+
+ [JoinName("InputNames")]
+ public JoinDataComplete InputNames = new JoinDataComplete(new JoinData { JoinNumber = 101, JoinSpan = 32 },
+ new JoinMetadata { Description = "DM Chassis Input Name", JoinCapabilities = eJoinCapabilities.ToSIMPL, JoinType = eJoinType.Serial });
+
+ [JoinName("OutputNames")]
+ public JoinDataComplete OutputNames = new JoinDataComplete(new JoinData { JoinNumber = 301, JoinSpan = 32 },
+ new JoinMetadata { Description = "DM Chassis Output Name", JoinCapabilities = eJoinCapabilities.ToSIMPL, JoinType = eJoinType.Serial });
+
+ [JoinName("InputVideoNames")] public JoinDataComplete InputVideoNames =
+ new JoinDataComplete(new JoinData {JoinNumber = 501, JoinSpan = 200},
+ new JoinMetadata
+ {
+ Description = "DM Chassis Video Input Names",
+ JoinCapabilities = eJoinCapabilities.ToFromSIMPL,
+ JoinType = eJoinType.Serial
+ });
+
+ [JoinName("InputAudioNames")]
+ public JoinDataComplete InputAudioNames =
+ new JoinDataComplete(new JoinData { JoinNumber = 701, JoinSpan = 200 },
+ new JoinMetadata
+ {
+ Description = "DM Chassis Audio Input Names",
+ JoinCapabilities = eJoinCapabilities.ToFromSIMPL,
+ JoinType = eJoinType.Serial
+ });
+ [JoinName("OutputVideoNames")]
+ public JoinDataComplete OutputVideoNames =
+ new JoinDataComplete(new JoinData { JoinNumber = 901, JoinSpan = 200 },
+ new JoinMetadata
+ {
+ Description = "DM Chassis Video Output Names",
+ JoinCapabilities = eJoinCapabilities.ToFromSIMPL,
+ JoinType = eJoinType.Serial
+ });
+ [JoinName("OutputAudioNames")]
+ public JoinDataComplete OutputAudioNames =
+ new JoinDataComplete(new JoinData { JoinNumber = 1101, JoinSpan = 200 },
+ new JoinMetadata
+ {
+ Description = "DM Chassis Audio Output Names",
+ JoinCapabilities = eJoinCapabilities.ToFromSIMPL,
+ JoinType = eJoinType.Serial
+ });
+
+ [JoinName("OutputCurrentVideoInputNames")]
+ public JoinDataComplete OutputCurrentVideoInputNames = new JoinDataComplete(new JoinData { JoinNumber = 2001, JoinSpan = 32 },
+ new JoinMetadata { Description = "DM Chassis Video Output Currently Routed Video Input Name", JoinCapabilities = eJoinCapabilities.ToSIMPL, JoinType = eJoinType.Serial });
+
+ [JoinName("OutputCurrentAudioInputNames")]
+ public JoinDataComplete OutputCurrentAudioInputNames = new JoinDataComplete(new JoinData { JoinNumber = 2201, JoinSpan = 32 },
+ new JoinMetadata { Description = "DM Chassis Audio Output Currently Routed Video Input Name", JoinCapabilities = eJoinCapabilities.ToSIMPL, JoinType = eJoinType.Serial });
+
+ [JoinName("InputCurrentResolution")]
+ public JoinDataComplete InputCurrentResolution = new JoinDataComplete(new JoinData { JoinNumber = 2401, JoinSpan = 32 },
+ new JoinMetadata { Description = "DM Chassis Input Current Resolution", JoinCapabilities = eJoinCapabilities.ToSIMPL, JoinType = eJoinType.Serial });
+
+ ///
+ /// Constructor to use when instantiating this Join Map without inheriting from it
+ ///
+ /// Join this join map will start at
+ public DmChassisControllerJoinMap(uint joinStart)
+ : this(joinStart, typeof(DmChassisControllerJoinMap))
+ {
+ }
+
+ ///
+ /// Constructor to use when extending this Join map
+ ///
+ /// Join this join map will start at
+ /// Type of the child join map
+ protected DmChassisControllerJoinMap(uint joinStart, Type type) : base(joinStart, type)
+ {
+ }
+ }
+}
diff --git a/essentials-framework/Essentials Core/PepperDashEssentialsBase/Bridges/JoinMaps/DmRmcControllerJoinMap.cs b/src/PepperDash.Essentials.Core/Bridges/JoinMaps/DmRmcControllerJoinMap.cs
similarity index 98%
rename from essentials-framework/Essentials Core/PepperDashEssentialsBase/Bridges/JoinMaps/DmRmcControllerJoinMap.cs
rename to src/PepperDash.Essentials.Core/Bridges/JoinMaps/DmRmcControllerJoinMap.cs
index ec4661a4..8c2386fd 100644
--- a/essentials-framework/Essentials Core/PepperDashEssentialsBase/Bridges/JoinMaps/DmRmcControllerJoinMap.cs
+++ b/src/PepperDash.Essentials.Core/Bridges/JoinMaps/DmRmcControllerJoinMap.cs
@@ -1,57 +1,57 @@
-using System;
-
-namespace PepperDash.Essentials.Core.Bridges
-{
- public class DmRmcControllerJoinMap : JoinMapBaseAdvanced
- {
- [JoinName("IsOnline")]
- public JoinDataComplete IsOnline = new JoinDataComplete(new JoinData { JoinNumber = 1, JoinSpan = 1 },
- new JoinMetadata { Description = "DM RMC Online", JoinCapabilities = eJoinCapabilities.ToSIMPL, JoinType = eJoinType.Digital });
-
- [JoinName("CurrentOutputResolution")]
- public JoinDataComplete CurrentOutputResolution = new JoinDataComplete(new JoinData { JoinNumber = 1, JoinSpan = 1 },
- new JoinMetadata { Description = "DM RMC Current Output Resolution", JoinCapabilities = eJoinCapabilities.ToSIMPL, JoinType = eJoinType.Serial });
-
- [JoinName("EdidManufacturer")]
- public JoinDataComplete EdidManufacturer = new JoinDataComplete(new JoinData { JoinNumber = 2, JoinSpan = 1 },
- new JoinMetadata { Description = "DM RMC EDID Manufacturer", JoinCapabilities = eJoinCapabilities.ToSIMPL, JoinType = eJoinType.Serial });
-
- [JoinName("EdidName")]
- public JoinDataComplete EdidName = new JoinDataComplete(new JoinData { JoinNumber = 3, JoinSpan = 1 },
- new JoinMetadata { Description = "DM RMC EDID Name", JoinCapabilities = eJoinCapabilities.ToSIMPL, JoinType = eJoinType.Serial });
-
- [JoinName("EdidPrefferedTiming")]
- public JoinDataComplete EdidPrefferedTiming = new JoinDataComplete(new JoinData { JoinNumber = 4, JoinSpan = 1 },
- new JoinMetadata { Description = "DM RMC EDID Preferred Timing", JoinCapabilities = eJoinCapabilities.ToSIMPL, JoinType = eJoinType.Serial });
-
- [JoinName("EdidSerialNumber")]
- public JoinDataComplete EdidSerialNumber = new JoinDataComplete(new JoinData { JoinNumber = 5, JoinSpan = 1 },
- new JoinMetadata { Description = "DM RMC EDID Serial Number", JoinCapabilities = eJoinCapabilities.ToSIMPL, JoinType = eJoinType.Serial });
-
- [JoinName("Name")]
- public JoinDataComplete Name = new JoinDataComplete(new JoinData { JoinNumber = 6, JoinSpan = 1 },
- new JoinMetadata { Description = "DM RMC Name", JoinCapabilities = eJoinCapabilities.ToSIMPL, JoinType = eJoinType.Serial });
-
- [JoinName("AudioVideoSource")]
- public JoinDataComplete AudioVideoSource = new JoinDataComplete(new JoinData { JoinNumber = 1, JoinSpan = 1 },
- new JoinMetadata { Description = "DM RMC Audio Video Source Set / Get", JoinCapabilities = eJoinCapabilities.ToFromSIMPL, JoinType = eJoinType.Analog });
-
- ///
- /// Constructor to use when instantiating this Join Map without inheriting from it
- ///
- /// Join this join map will start at
- public DmRmcControllerJoinMap(uint joinStart)
- : this(joinStart, typeof(DmRmcControllerJoinMap))
- {
- }
-
- ///
- /// Constructor to use when extending this Join map
- ///
- /// Join this join map will start at
- /// Type of the child join map
- protected DmRmcControllerJoinMap(uint joinStart, Type type) : base(joinStart, type)
- {
- }
- }
+using System;
+
+namespace PepperDash.Essentials.Core.Bridges
+{
+ public class DmRmcControllerJoinMap : JoinMapBaseAdvanced
+ {
+ [JoinName("IsOnline")]
+ public JoinDataComplete IsOnline = new JoinDataComplete(new JoinData { JoinNumber = 1, JoinSpan = 1 },
+ new JoinMetadata { Description = "DM RMC Online", JoinCapabilities = eJoinCapabilities.ToSIMPL, JoinType = eJoinType.Digital });
+
+ [JoinName("CurrentOutputResolution")]
+ public JoinDataComplete CurrentOutputResolution = new JoinDataComplete(new JoinData { JoinNumber = 1, JoinSpan = 1 },
+ new JoinMetadata { Description = "DM RMC Current Output Resolution", JoinCapabilities = eJoinCapabilities.ToSIMPL, JoinType = eJoinType.Serial });
+
+ [JoinName("EdidManufacturer")]
+ public JoinDataComplete EdidManufacturer = new JoinDataComplete(new JoinData { JoinNumber = 2, JoinSpan = 1 },
+ new JoinMetadata { Description = "DM RMC EDID Manufacturer", JoinCapabilities = eJoinCapabilities.ToSIMPL, JoinType = eJoinType.Serial });
+
+ [JoinName("EdidName")]
+ public JoinDataComplete EdidName = new JoinDataComplete(new JoinData { JoinNumber = 3, JoinSpan = 1 },
+ new JoinMetadata { Description = "DM RMC EDID Name", JoinCapabilities = eJoinCapabilities.ToSIMPL, JoinType = eJoinType.Serial });
+
+ [JoinName("EdidPrefferedTiming")]
+ public JoinDataComplete EdidPrefferedTiming = new JoinDataComplete(new JoinData { JoinNumber = 4, JoinSpan = 1 },
+ new JoinMetadata { Description = "DM RMC EDID Preferred Timing", JoinCapabilities = eJoinCapabilities.ToSIMPL, JoinType = eJoinType.Serial });
+
+ [JoinName("EdidSerialNumber")]
+ public JoinDataComplete EdidSerialNumber = new JoinDataComplete(new JoinData { JoinNumber = 5, JoinSpan = 1 },
+ new JoinMetadata { Description = "DM RMC EDID Serial Number", JoinCapabilities = eJoinCapabilities.ToSIMPL, JoinType = eJoinType.Serial });
+
+ [JoinName("Name")]
+ public JoinDataComplete Name = new JoinDataComplete(new JoinData { JoinNumber = 6, JoinSpan = 1 },
+ new JoinMetadata { Description = "DM RMC Name", JoinCapabilities = eJoinCapabilities.ToSIMPL, JoinType = eJoinType.Serial });
+
+ [JoinName("AudioVideoSource")]
+ public JoinDataComplete AudioVideoSource = new JoinDataComplete(new JoinData { JoinNumber = 1, JoinSpan = 1 },
+ new JoinMetadata { Description = "DM RMC Audio Video Source Set / Get", JoinCapabilities = eJoinCapabilities.ToFromSIMPL, JoinType = eJoinType.Analog });
+
+ ///
+ /// Constructor to use when instantiating this Join Map without inheriting from it
+ ///
+ /// Join this join map will start at
+ public DmRmcControllerJoinMap(uint joinStart)
+ : this(joinStart, typeof(DmRmcControllerJoinMap))
+ {
+ }
+
+ ///
+ /// Constructor to use when extending this Join map
+ ///
+ /// Join this join map will start at
+ /// Type of the child join map
+ protected DmRmcControllerJoinMap(uint joinStart, Type type) : base(joinStart, type)
+ {
+ }
+ }
}
\ No newline at end of file
diff --git a/essentials-framework/Essentials Core/PepperDashEssentialsBase/Bridges/JoinMaps/DmTxControllerJoinMap.cs b/src/PepperDash.Essentials.Core/Bridges/JoinMaps/DmTxControllerJoinMap.cs
similarity index 98%
rename from essentials-framework/Essentials Core/PepperDashEssentialsBase/Bridges/JoinMaps/DmTxControllerJoinMap.cs
rename to src/PepperDash.Essentials.Core/Bridges/JoinMaps/DmTxControllerJoinMap.cs
index 6d783639..23d240d5 100644
--- a/essentials-framework/Essentials Core/PepperDashEssentialsBase/Bridges/JoinMaps/DmTxControllerJoinMap.cs
+++ b/src/PepperDash.Essentials.Core/Bridges/JoinMaps/DmTxControllerJoinMap.cs
@@ -1,85 +1,85 @@
-using System;
-
-namespace PepperDash.Essentials.Core.Bridges
-{
- public class DmTxControllerJoinMap : JoinMapBaseAdvanced
- {
- [JoinName("IsOnline")]
- public JoinDataComplete IsOnline = new JoinDataComplete(new JoinData { JoinNumber = 1, JoinSpan = 1 },
- new JoinMetadata { Description = "DM TX Online", JoinCapabilities = eJoinCapabilities.ToSIMPL, JoinType = eJoinType.Digital });
-
- [JoinName("VideoSyncStatus")]
- public JoinDataComplete VideoSyncStatus = new JoinDataComplete(new JoinData { JoinNumber = 2, JoinSpan = 1 },
- new JoinMetadata { Description = "DM TX Video Sync", JoinCapabilities = eJoinCapabilities.ToSIMPL, JoinType = eJoinType.Digital });
-
- [JoinName("FreeRunEnabled")]
- public JoinDataComplete FreeRunEnabled = new JoinDataComplete(new JoinData { JoinNumber = 3, JoinSpan = 1 },
- new JoinMetadata { Description = "DM TX Enable Free Run Set / Get", JoinCapabilities = eJoinCapabilities.ToFromSIMPL, JoinType = eJoinType.Digital });
-
- [JoinName("Input1VideoSyncStatus")]
- public JoinDataComplete Input1VideoSyncStatus = new JoinDataComplete(new JoinData { JoinNumber = 4, JoinSpan = 1 },
- new JoinMetadata { Description = "Input 1 Video Sync Status", JoinCapabilities = eJoinCapabilities.ToSIMPL, JoinType = eJoinType.Digital });
-
- [JoinName("Input2VideoSyncStatus")]
- public JoinDataComplete Input2VideoSyncStatus = new JoinDataComplete(new JoinData { JoinNumber = 5, JoinSpan = 1 },
- new JoinMetadata { Description = "Input 2 Video Sync Status", JoinCapabilities = eJoinCapabilities.ToSIMPL, JoinType = eJoinType.Digital });
-
- [JoinName("Input3VideoSyncStatus")]
- public JoinDataComplete Input3VideoSyncStatus = new JoinDataComplete(new JoinData { JoinNumber = 6, JoinSpan = 1 },
- new JoinMetadata { Description = "Input 3 Video Sync Status", JoinCapabilities = eJoinCapabilities.ToSIMPL, JoinType = eJoinType.Digital });
-
- [JoinName("CurrentInputResolution")]
- public JoinDataComplete CurrentInputResolution = new JoinDataComplete(new JoinData { JoinNumber = 1, JoinSpan = 1 },
- new JoinMetadata { Description = "DM TX Current Input Resolution", JoinCapabilities = eJoinCapabilities.ToSIMPL, JoinType = eJoinType.Serial });
-
- [JoinName("Name")]
- public JoinDataComplete Name = new JoinDataComplete(new JoinData { JoinNumber = 2, JoinSpan = 1 },
- new JoinMetadata { Description = "DM TX Name", JoinCapabilities = eJoinCapabilities.ToSIMPL, JoinType = eJoinType.Serial });
-
- [JoinName("VideoInput")]
- public JoinDataComplete VideoInput = new JoinDataComplete(new JoinData { JoinNumber = 1, JoinSpan = 1 },
- new JoinMetadata { Description = "DM TX Video Input Set / Get", JoinCapabilities = eJoinCapabilities.ToFromSIMPL, JoinType = eJoinType.Analog });
-
- [JoinName("AudioInput")]
- public JoinDataComplete AudioInput = new JoinDataComplete(new JoinData { JoinNumber = 2, JoinSpan = 1 },
- new JoinMetadata { Description = "DM TX Audio Input Set / Get", JoinCapabilities = eJoinCapabilities.ToFromSIMPL, JoinType = eJoinType.Analog });
-
- [JoinName("HdcpSupportCapability")]
- public JoinDataComplete HdcpSupportCapability = new JoinDataComplete(new JoinData { JoinNumber = 3, JoinSpan = 1 },
- new JoinMetadata { Description = "DM TX HDCP Support Capability", JoinCapabilities = eJoinCapabilities.ToSIMPL, JoinType = eJoinType.Analog });
-
- [JoinName("Port1HdcpState")]
- public JoinDataComplete Port1HdcpState = new JoinDataComplete(new JoinData { JoinNumber = 4, JoinSpan = 1 },
- new JoinMetadata { Description = "DM TX Port 1 HDCP State Set / Get", JoinCapabilities = eJoinCapabilities.ToFromSIMPL, JoinType = eJoinType.Analog });
-
- [JoinName("Port2HdcpState")]
- public JoinDataComplete Port2HdcpState = new JoinDataComplete(new JoinData { JoinNumber = 5, JoinSpan = 1 },
- new JoinMetadata { Description = "DM TX Port 2 HDCP State Set / Get", JoinCapabilities = eJoinCapabilities.ToFromSIMPL, JoinType = eJoinType.Analog });
-
- [JoinName("VgaBrightness")]
- public JoinDataComplete VgaBrightness = new JoinDataComplete(new JoinData { JoinNumber = 6, JoinSpan = 1 },
- new JoinMetadata { Description = "DM TX VGA Brightness", JoinCapabilities = eJoinCapabilities.ToFromSIMPL, JoinType = eJoinType.Analog });
-
- [JoinName("VgaContrast")]
- public JoinDataComplete VgaContrast = new JoinDataComplete(new JoinData { JoinNumber = 7, JoinSpan = 1 },
- new JoinMetadata { Description = "DM TX Online", JoinCapabilities = eJoinCapabilities.ToFromSIMPL, JoinType = eJoinType.Analog });
-
- ///
- /// Constructor to use when instantiating this Join Map without inheriting from it
- ///
- /// Join this join map will start at
- public DmTxControllerJoinMap(uint joinStart)
- : this(joinStart, typeof(DmTxControllerJoinMap))
- {
- }
-
- ///
- /// Constructor to use when extending this Join map
- ///
- /// Join this join map will start at
- /// Type of the child join map
- protected DmTxControllerJoinMap(uint joinStart, Type type) : base(joinStart, type)
- {
- }
- }
+using System;
+
+namespace PepperDash.Essentials.Core.Bridges
+{
+ public class DmTxControllerJoinMap : JoinMapBaseAdvanced
+ {
+ [JoinName("IsOnline")]
+ public JoinDataComplete IsOnline = new JoinDataComplete(new JoinData { JoinNumber = 1, JoinSpan = 1 },
+ new JoinMetadata { Description = "DM TX Online", JoinCapabilities = eJoinCapabilities.ToSIMPL, JoinType = eJoinType.Digital });
+
+ [JoinName("VideoSyncStatus")]
+ public JoinDataComplete VideoSyncStatus = new JoinDataComplete(new JoinData { JoinNumber = 2, JoinSpan = 1 },
+ new JoinMetadata { Description = "DM TX Video Sync", JoinCapabilities = eJoinCapabilities.ToSIMPL, JoinType = eJoinType.Digital });
+
+ [JoinName("FreeRunEnabled")]
+ public JoinDataComplete FreeRunEnabled = new JoinDataComplete(new JoinData { JoinNumber = 3, JoinSpan = 1 },
+ new JoinMetadata { Description = "DM TX Enable Free Run Set / Get", JoinCapabilities = eJoinCapabilities.ToFromSIMPL, JoinType = eJoinType.Digital });
+
+ [JoinName("Input1VideoSyncStatus")]
+ public JoinDataComplete Input1VideoSyncStatus = new JoinDataComplete(new JoinData { JoinNumber = 4, JoinSpan = 1 },
+ new JoinMetadata { Description = "Input 1 Video Sync Status", JoinCapabilities = eJoinCapabilities.ToSIMPL, JoinType = eJoinType.Digital });
+
+ [JoinName("Input2VideoSyncStatus")]
+ public JoinDataComplete Input2VideoSyncStatus = new JoinDataComplete(new JoinData { JoinNumber = 5, JoinSpan = 1 },
+ new JoinMetadata { Description = "Input 2 Video Sync Status", JoinCapabilities = eJoinCapabilities.ToSIMPL, JoinType = eJoinType.Digital });
+
+ [JoinName("Input3VideoSyncStatus")]
+ public JoinDataComplete Input3VideoSyncStatus = new JoinDataComplete(new JoinData { JoinNumber = 6, JoinSpan = 1 },
+ new JoinMetadata { Description = "Input 3 Video Sync Status", JoinCapabilities = eJoinCapabilities.ToSIMPL, JoinType = eJoinType.Digital });
+
+ [JoinName("CurrentInputResolution")]
+ public JoinDataComplete CurrentInputResolution = new JoinDataComplete(new JoinData { JoinNumber = 1, JoinSpan = 1 },
+ new JoinMetadata { Description = "DM TX Current Input Resolution", JoinCapabilities = eJoinCapabilities.ToSIMPL, JoinType = eJoinType.Serial });
+
+ [JoinName("Name")]
+ public JoinDataComplete Name = new JoinDataComplete(new JoinData { JoinNumber = 2, JoinSpan = 1 },
+ new JoinMetadata { Description = "DM TX Name", JoinCapabilities = eJoinCapabilities.ToSIMPL, JoinType = eJoinType.Serial });
+
+ [JoinName("VideoInput")]
+ public JoinDataComplete VideoInput = new JoinDataComplete(new JoinData { JoinNumber = 1, JoinSpan = 1 },
+ new JoinMetadata { Description = "DM TX Video Input Set / Get", JoinCapabilities = eJoinCapabilities.ToFromSIMPL, JoinType = eJoinType.Analog });
+
+ [JoinName("AudioInput")]
+ public JoinDataComplete AudioInput = new JoinDataComplete(new JoinData { JoinNumber = 2, JoinSpan = 1 },
+ new JoinMetadata { Description = "DM TX Audio Input Set / Get", JoinCapabilities = eJoinCapabilities.ToFromSIMPL, JoinType = eJoinType.Analog });
+
+ [JoinName("HdcpSupportCapability")]
+ public JoinDataComplete HdcpSupportCapability = new JoinDataComplete(new JoinData { JoinNumber = 3, JoinSpan = 1 },
+ new JoinMetadata { Description = "DM TX HDCP Support Capability", JoinCapabilities = eJoinCapabilities.ToSIMPL, JoinType = eJoinType.Analog });
+
+ [JoinName("Port1HdcpState")]
+ public JoinDataComplete Port1HdcpState = new JoinDataComplete(new JoinData { JoinNumber = 4, JoinSpan = 1 },
+ new JoinMetadata { Description = "DM TX Port 1 HDCP State Set / Get", JoinCapabilities = eJoinCapabilities.ToFromSIMPL, JoinType = eJoinType.Analog });
+
+ [JoinName("Port2HdcpState")]
+ public JoinDataComplete Port2HdcpState = new JoinDataComplete(new JoinData { JoinNumber = 5, JoinSpan = 1 },
+ new JoinMetadata { Description = "DM TX Port 2 HDCP State Set / Get", JoinCapabilities = eJoinCapabilities.ToFromSIMPL, JoinType = eJoinType.Analog });
+
+ [JoinName("VgaBrightness")]
+ public JoinDataComplete VgaBrightness = new JoinDataComplete(new JoinData { JoinNumber = 6, JoinSpan = 1 },
+ new JoinMetadata { Description = "DM TX VGA Brightness", JoinCapabilities = eJoinCapabilities.ToFromSIMPL, JoinType = eJoinType.Analog });
+
+ [JoinName("VgaContrast")]
+ public JoinDataComplete VgaContrast = new JoinDataComplete(new JoinData { JoinNumber = 7, JoinSpan = 1 },
+ new JoinMetadata { Description = "DM TX Online", JoinCapabilities = eJoinCapabilities.ToFromSIMPL, JoinType = eJoinType.Analog });
+
+ ///
+ /// Constructor to use when instantiating this Join Map without inheriting from it
+ ///
+ /// Join this join map will start at
+ public DmTxControllerJoinMap(uint joinStart)
+ : this(joinStart, typeof(DmTxControllerJoinMap))
+ {
+ }
+
+ ///
+ /// Constructor to use when extending this Join map
+ ///
+ /// Join this join map will start at
+ /// Type of the child join map
+ protected DmTxControllerJoinMap(uint joinStart, Type type) : base(joinStart, type)
+ {
+ }
+ }
}
\ No newline at end of file
diff --git a/essentials-framework/Essentials Core/PepperDashEssentialsBase/Bridges/JoinMaps/DmpsAudioOutputControllerJoinMap.cs b/src/PepperDash.Essentials.Core/Bridges/JoinMaps/DmpsAudioOutputControllerJoinMap.cs
similarity index 98%
rename from essentials-framework/Essentials Core/PepperDashEssentialsBase/Bridges/JoinMaps/DmpsAudioOutputControllerJoinMap.cs
rename to src/PepperDash.Essentials.Core/Bridges/JoinMaps/DmpsAudioOutputControllerJoinMap.cs
index c7d5c0e5..39d2faab 100644
--- a/essentials-framework/Essentials Core/PepperDashEssentialsBase/Bridges/JoinMaps/DmpsAudioOutputControllerJoinMap.cs
+++ b/src/PepperDash.Essentials.Core/Bridges/JoinMaps/DmpsAudioOutputControllerJoinMap.cs
@@ -1,170 +1,170 @@
-using System;
-
-namespace PepperDash.Essentials.Core.Bridges
-{
- public class DmpsAudioOutputControllerJoinMap : JoinMapBaseAdvanced
- {
-
- [JoinName("MasterVolumeLevel")]
- public JoinDataComplete MasterVolumeLevel = new JoinDataComplete(new JoinData { JoinNumber = 1, JoinSpan = 1 },
- new JoinMetadata { Description = "Master Volume Signed dB Set / Get", JoinCapabilities = eJoinCapabilities.ToFromSIMPL, JoinType = eJoinType.Analog });
-
- [JoinName("MasterVolumeLevelScaled")]
- public JoinDataComplete MasterVolumeLevelScaled = new JoinDataComplete(new JoinData { JoinNumber = 2, JoinSpan = 1 },
- new JoinMetadata { Description = "Master Volume 16bit Scaled Set / Get", JoinCapabilities = eJoinCapabilities.ToFromSIMPL, JoinType = eJoinType.Analog });
-
- [JoinName("MixerPresetRecall")]
- public JoinDataComplete MixerPresetRecall = new JoinDataComplete(new JoinData { JoinNumber = 3, JoinSpan = 1 },
- new JoinMetadata { Description = "Mixer Preset Recall Set", JoinCapabilities = eJoinCapabilities.FromSIMPL, JoinType = eJoinType.Analog });
-
- [JoinName("MasterVolumeMuteOn")]
- public JoinDataComplete MasterVolumeMuteOn = new JoinDataComplete(new JoinData { JoinNumber = 1, JoinSpan = 1 },
- new JoinMetadata { Description = "Master Volume Mute On Set / Get", JoinCapabilities = eJoinCapabilities.ToFromSIMPL, JoinType = eJoinType.Digital });
-
- [JoinName("MasterVolumeMuteOff")]
- public JoinDataComplete MasterVolumeMuteOff = new JoinDataComplete(new JoinData { JoinNumber = 2, JoinSpan = 1 },
- new JoinMetadata { Description = "Master Volume Mute Off Set / Get", JoinCapabilities = eJoinCapabilities.ToFromSIMPL, JoinType = eJoinType.Digital });
-
- [JoinName("MasterVolumeUp")]
- public JoinDataComplete MasterVolumeUp = new JoinDataComplete(new JoinData { JoinNumber = 3, JoinSpan = 1 },
- new JoinMetadata { Description = "Master Volume Level Up", JoinCapabilities = eJoinCapabilities.FromSIMPL, JoinType = eJoinType.Digital });
-
- [JoinName("MasterVolumeDown")]
- public JoinDataComplete MasterVolumeDown = new JoinDataComplete(new JoinData { JoinNumber = 4, JoinSpan = 1 },
- new JoinMetadata { Description = "Master Volume Level Down", JoinCapabilities = eJoinCapabilities.FromSIMPL, JoinType = eJoinType.Digital });
-
- [JoinName("MasterVolumeLevelScaledSend")]
- public JoinDataComplete MasterVolumeLevelScaledSend = new JoinDataComplete(new JoinData { JoinNumber = 5, JoinSpan = 1 },
- new JoinMetadata { Description = "Master Volume Scaled Send Enable/Disable", JoinCapabilities = eJoinCapabilities.FromSIMPL, JoinType = eJoinType.Digital });
-
- [JoinName("SourceVolumeLevel")]
- public JoinDataComplete SourceVolumeLevel = new JoinDataComplete(new JoinData { JoinNumber = 11, JoinSpan = 1 },
- new JoinMetadata { Description = "Source Volume Signed dB Set / Get", JoinCapabilities = eJoinCapabilities.ToFromSIMPL, JoinType = eJoinType.Analog });
-
- [JoinName("SourceVolumeLevelScaled")]
- public JoinDataComplete SourceVolumeLevelScaled = new JoinDataComplete(new JoinData { JoinNumber = 12, JoinSpan = 1 },
- new JoinMetadata { Description = "Source Volume 16bit Scaled Set / Get", JoinCapabilities = eJoinCapabilities.ToFromSIMPL, JoinType = eJoinType.Analog });
-
- [JoinName("SourceVolumeMuteOn")]
- public JoinDataComplete SourceVolumeMuteOn = new JoinDataComplete(new JoinData { JoinNumber = 11, JoinSpan = 1 },
- new JoinMetadata { Description = "Source Volume Mute On Set / Get", JoinCapabilities = eJoinCapabilities.ToFromSIMPL, JoinType = eJoinType.Digital });
-
- [JoinName("SourceVolumeMuteOff")]
- public JoinDataComplete SourceVolumeMuteOff = new JoinDataComplete(new JoinData { JoinNumber = 12, JoinSpan = 1 },
- new JoinMetadata { Description = "Source Volume Mute Off Set / Get", JoinCapabilities = eJoinCapabilities.ToFromSIMPL, JoinType = eJoinType.Digital });
-
- [JoinName("SourceVolumeUp")]
- public JoinDataComplete SourceVolumeUp = new JoinDataComplete(new JoinData { JoinNumber = 13, JoinSpan = 1 },
- new JoinMetadata { Description = "Source Volume Level Up", JoinCapabilities = eJoinCapabilities.FromSIMPL, JoinType = eJoinType.Digital });
-
- [JoinName("SourceVolumeDown")]
- public JoinDataComplete SourceVolumeDown = new JoinDataComplete(new JoinData { JoinNumber = 14, JoinSpan = 1 },
- new JoinMetadata { Description = "Source Volume Level Down", JoinCapabilities = eJoinCapabilities.FromSIMPL, JoinType = eJoinType.Digital });
-
- [JoinName("SourceVolumeLevelScaledSend")]
- public JoinDataComplete SourceVolumeLevelScaledSend = new JoinDataComplete(new JoinData { JoinNumber = 15, JoinSpan = 1 },
- new JoinMetadata { Description = "Source Volume Scaled Send Enable/Disable", JoinCapabilities = eJoinCapabilities.FromSIMPL, JoinType = eJoinType.Digital });
-
- [JoinName("Codec1VolumeLevel")]
- public JoinDataComplete Codec1VolumeLevel = new JoinDataComplete(new JoinData { JoinNumber = 21, JoinSpan = 1 },
- new JoinMetadata { Description = "Codec1 Volume Signed dB Set / Get", JoinCapabilities = eJoinCapabilities.ToFromSIMPL, JoinType = eJoinType.Analog });
-
- [JoinName("Codec1VolumeLevelScaled")]
- public JoinDataComplete Codec1VolumeLevelScaled = new JoinDataComplete(new JoinData { JoinNumber = 22, JoinSpan = 1 },
- new JoinMetadata { Description = "Codec1 Volume 16bit Scaled Set / Get", JoinCapabilities = eJoinCapabilities.ToFromSIMPL, JoinType = eJoinType.Analog });
-
- [JoinName("Codec1VolumeMuteOn")]
- public JoinDataComplete Codec1VolumeMuteOn = new JoinDataComplete(new JoinData { JoinNumber = 21, JoinSpan = 1 },
- new JoinMetadata { Description = "Codec1 Volume Mute On Set / Get", JoinCapabilities = eJoinCapabilities.ToFromSIMPL, JoinType = eJoinType.Digital });
-
- [JoinName("Codec1VolumeMuteOff")]
- public JoinDataComplete Codec1VolumeMuteOff = new JoinDataComplete(new JoinData { JoinNumber = 22, JoinSpan = 1 },
- new JoinMetadata { Description = "Codec1 Volume Mute Off Set / Get", JoinCapabilities = eJoinCapabilities.ToFromSIMPL, JoinType = eJoinType.Digital });
-
- [JoinName("Codec1VolumeUp")]
- public JoinDataComplete Codec1VolumeUp = new JoinDataComplete(new JoinData { JoinNumber = 23, JoinSpan = 1 },
- new JoinMetadata { Description = "Codec1 Volume Level Up", JoinCapabilities = eJoinCapabilities.FromSIMPL, JoinType = eJoinType.Digital });
-
- [JoinName("Codec1VolumeDown")]
- public JoinDataComplete Codec1VolumeDown = new JoinDataComplete(new JoinData { JoinNumber = 24, JoinSpan = 1 },
- new JoinMetadata { Description = "Codec1 Volume Level Down", JoinCapabilities = eJoinCapabilities.FromSIMPL, JoinType = eJoinType.Digital });
-
- [JoinName("Codec1VolumeLevelScaledSend")]
- public JoinDataComplete Codec1VolumeLevelScaledSend = new JoinDataComplete(new JoinData { JoinNumber = 25, JoinSpan = 1 },
- new JoinMetadata { Description = "Codec1 Volume Scaled Send Enable/Disable", JoinCapabilities = eJoinCapabilities.FromSIMPL, JoinType = eJoinType.Digital });
-
- [JoinName("Codec2VolumeLevel")]
- public JoinDataComplete Codec2VolumeLevel = new JoinDataComplete(new JoinData { JoinNumber = 31, JoinSpan = 1 },
- new JoinMetadata { Description = "Codec2 Volume Signed dB Set / Get", JoinCapabilities = eJoinCapabilities.ToFromSIMPL, JoinType = eJoinType.Analog });
-
- [JoinName("Codec2VolumeLevelScaled")]
- public JoinDataComplete Codec2VolumeLevelScaled = new JoinDataComplete(new JoinData { JoinNumber = 32, JoinSpan = 1 },
- new JoinMetadata { Description = "Codec2 Volume 16bit Scaled Set / Get", JoinCapabilities = eJoinCapabilities.ToFromSIMPL, JoinType = eJoinType.Analog });
-
- [JoinName("Codec2VolumeMuteOn")]
- public JoinDataComplete Codec2VolumeMuteOn = new JoinDataComplete(new JoinData { JoinNumber = 31, JoinSpan = 1 },
- new JoinMetadata { Description = "Codec2 Volume Mute On Set / Get", JoinCapabilities = eJoinCapabilities.ToFromSIMPL, JoinType = eJoinType.Digital });
-
- [JoinName("Codec2VolumeMuteOff")]
- public JoinDataComplete Codec2VolumeMuteOff = new JoinDataComplete(new JoinData { JoinNumber = 32, JoinSpan = 1 },
- new JoinMetadata { Description = "Codec2 Volume Mute Off Set / Get", JoinCapabilities = eJoinCapabilities.ToFromSIMPL, JoinType = eJoinType.Digital });
-
- [JoinName("Codec2VolumeUp")]
- public JoinDataComplete Codec2VolumeUp = new JoinDataComplete(new JoinData { JoinNumber = 33, JoinSpan = 1 },
- new JoinMetadata { Description = "Codec2 Volume Level Up", JoinCapabilities = eJoinCapabilities.FromSIMPL, JoinType = eJoinType.Digital });
-
- [JoinName("Codec2VolumeDown")]
- public JoinDataComplete Codec2VolumeDown = new JoinDataComplete(new JoinData { JoinNumber = 34, JoinSpan = 1 },
- new JoinMetadata { Description = "Codec2 Volume Level Down", JoinCapabilities = eJoinCapabilities.FromSIMPL, JoinType = eJoinType.Digital });
-
- [JoinName("Codec2VolumeLevelScaledSend")]
- public JoinDataComplete Codec2VolumeLevelScaledSend = new JoinDataComplete(new JoinData { JoinNumber = 35, JoinSpan = 1 },
- new JoinMetadata { Description = "Codec2 Volume Scaled Send Enable/Disable", JoinCapabilities = eJoinCapabilities.FromSIMPL, JoinType = eJoinType.Digital });
-
- [JoinName("MicsMasterVolumeLevel")]
- public JoinDataComplete MicsMasterVolumeLevel = new JoinDataComplete(new JoinData { JoinNumber = 41, JoinSpan = 1 },
- new JoinMetadata { Description = "MicsMaster Volume Signed dB Set / Get", JoinCapabilities = eJoinCapabilities.ToFromSIMPL, JoinType = eJoinType.Analog });
-
- [JoinName("MicsMasterVolumeLevelScaled")]
- public JoinDataComplete MicsMasterVolumeLevelScaled = new JoinDataComplete(new JoinData { JoinNumber = 42, JoinSpan = 1 },
- new JoinMetadata { Description = "MicsMaster Volume 16bit Scaled Set / Get", JoinCapabilities = eJoinCapabilities.ToFromSIMPL, JoinType = eJoinType.Analog });
-
- [JoinName("MicsMasterVolumeMuteOn")]
- public JoinDataComplete MicsMasterVolumeMuteOn = new JoinDataComplete(new JoinData { JoinNumber = 41, JoinSpan = 1 },
- new JoinMetadata { Description = "MicsMaster Volume Mute On Set / Get", JoinCapabilities = eJoinCapabilities.ToFromSIMPL, JoinType = eJoinType.Digital });
-
- [JoinName("MicsMasterVolumeMuteOff")]
- public JoinDataComplete MicsMasterVolumeMuteOff = new JoinDataComplete(new JoinData { JoinNumber = 42, JoinSpan = 1 },
- new JoinMetadata { Description = "MicsMaster Volume Mute Off Set / Get", JoinCapabilities = eJoinCapabilities.ToFromSIMPL, JoinType = eJoinType.Digital });
-
- [JoinName("MicsMasterVolumeUp")]
- public JoinDataComplete MicsMasterVolumeUp = new JoinDataComplete(new JoinData { JoinNumber = 43, JoinSpan = 1 },
- new JoinMetadata { Description = "MicsMaster Volume Level Up", JoinCapabilities = eJoinCapabilities.FromSIMPL, JoinType = eJoinType.Digital });
-
- [JoinName("MicsMasterVolumeDown")]
- public JoinDataComplete MicsMasterVolumeDown = new JoinDataComplete(new JoinData { JoinNumber = 44, JoinSpan = 1 },
- new JoinMetadata { Description = "MicsMaster Volume Level Down", JoinCapabilities = eJoinCapabilities.FromSIMPL, JoinType = eJoinType.Digital });
-
- [JoinName("MicsMasterVolumeLevelScaledSend")]
- public JoinDataComplete MicsMasterVolumeLevelScaledSend = new JoinDataComplete(new JoinData { JoinNumber = 45, JoinSpan = 1 },
- new JoinMetadata { Description = "Mics Master Volume Scaled Send Enable/Disable", JoinCapabilities = eJoinCapabilities.FromSIMPL, JoinType = eJoinType.Digital });
-
- ///
- /// Constructor to use when instantiating this Join Map without inheriting from it
- ///
- /// Join this join map will start at
- public DmpsAudioOutputControllerJoinMap(uint joinStart)
- : this(joinStart, typeof(DmpsAudioOutputControllerJoinMap))
- {
- }
-
- ///
- /// Constructor to use when extending this Join map
- ///
- /// Join this join map will start at
- /// Type of the child join map
- protected DmpsAudioOutputControllerJoinMap(uint joinStart, Type type) : base(joinStart, type)
- {
- }
- }
+using System;
+
+namespace PepperDash.Essentials.Core.Bridges
+{
+ public class DmpsAudioOutputControllerJoinMap : JoinMapBaseAdvanced
+ {
+
+ [JoinName("MasterVolumeLevel")]
+ public JoinDataComplete MasterVolumeLevel = new JoinDataComplete(new JoinData { JoinNumber = 1, JoinSpan = 1 },
+ new JoinMetadata { Description = "Master Volume Signed dB Set / Get", JoinCapabilities = eJoinCapabilities.ToFromSIMPL, JoinType = eJoinType.Analog });
+
+ [JoinName("MasterVolumeLevelScaled")]
+ public JoinDataComplete MasterVolumeLevelScaled = new JoinDataComplete(new JoinData { JoinNumber = 2, JoinSpan = 1 },
+ new JoinMetadata { Description = "Master Volume 16bit Scaled Set / Get", JoinCapabilities = eJoinCapabilities.ToFromSIMPL, JoinType = eJoinType.Analog });
+
+ [JoinName("MixerPresetRecall")]
+ public JoinDataComplete MixerPresetRecall = new JoinDataComplete(new JoinData { JoinNumber = 3, JoinSpan = 1 },
+ new JoinMetadata { Description = "Mixer Preset Recall Set", JoinCapabilities = eJoinCapabilities.FromSIMPL, JoinType = eJoinType.Analog });
+
+ [JoinName("MasterVolumeMuteOn")]
+ public JoinDataComplete MasterVolumeMuteOn = new JoinDataComplete(new JoinData { JoinNumber = 1, JoinSpan = 1 },
+ new JoinMetadata { Description = "Master Volume Mute On Set / Get", JoinCapabilities = eJoinCapabilities.ToFromSIMPL, JoinType = eJoinType.Digital });
+
+ [JoinName("MasterVolumeMuteOff")]
+ public JoinDataComplete MasterVolumeMuteOff = new JoinDataComplete(new JoinData { JoinNumber = 2, JoinSpan = 1 },
+ new JoinMetadata { Description = "Master Volume Mute Off Set / Get", JoinCapabilities = eJoinCapabilities.ToFromSIMPL, JoinType = eJoinType.Digital });
+
+ [JoinName("MasterVolumeUp")]
+ public JoinDataComplete MasterVolumeUp = new JoinDataComplete(new JoinData { JoinNumber = 3, JoinSpan = 1 },
+ new JoinMetadata { Description = "Master Volume Level Up", JoinCapabilities = eJoinCapabilities.FromSIMPL, JoinType = eJoinType.Digital });
+
+ [JoinName("MasterVolumeDown")]
+ public JoinDataComplete MasterVolumeDown = new JoinDataComplete(new JoinData { JoinNumber = 4, JoinSpan = 1 },
+ new JoinMetadata { Description = "Master Volume Level Down", JoinCapabilities = eJoinCapabilities.FromSIMPL, JoinType = eJoinType.Digital });
+
+ [JoinName("MasterVolumeLevelScaledSend")]
+ public JoinDataComplete MasterVolumeLevelScaledSend = new JoinDataComplete(new JoinData { JoinNumber = 5, JoinSpan = 1 },
+ new JoinMetadata { Description = "Master Volume Scaled Send Enable/Disable", JoinCapabilities = eJoinCapabilities.FromSIMPL, JoinType = eJoinType.Digital });
+
+ [JoinName("SourceVolumeLevel")]
+ public JoinDataComplete SourceVolumeLevel = new JoinDataComplete(new JoinData { JoinNumber = 11, JoinSpan = 1 },
+ new JoinMetadata { Description = "Source Volume Signed dB Set / Get", JoinCapabilities = eJoinCapabilities.ToFromSIMPL, JoinType = eJoinType.Analog });
+
+ [JoinName("SourceVolumeLevelScaled")]
+ public JoinDataComplete SourceVolumeLevelScaled = new JoinDataComplete(new JoinData { JoinNumber = 12, JoinSpan = 1 },
+ new JoinMetadata { Description = "Source Volume 16bit Scaled Set / Get", JoinCapabilities = eJoinCapabilities.ToFromSIMPL, JoinType = eJoinType.Analog });
+
+ [JoinName("SourceVolumeMuteOn")]
+ public JoinDataComplete SourceVolumeMuteOn = new JoinDataComplete(new JoinData { JoinNumber = 11, JoinSpan = 1 },
+ new JoinMetadata { Description = "Source Volume Mute On Set / Get", JoinCapabilities = eJoinCapabilities.ToFromSIMPL, JoinType = eJoinType.Digital });
+
+ [JoinName("SourceVolumeMuteOff")]
+ public JoinDataComplete SourceVolumeMuteOff = new JoinDataComplete(new JoinData { JoinNumber = 12, JoinSpan = 1 },
+ new JoinMetadata { Description = "Source Volume Mute Off Set / Get", JoinCapabilities = eJoinCapabilities.ToFromSIMPL, JoinType = eJoinType.Digital });
+
+ [JoinName("SourceVolumeUp")]
+ public JoinDataComplete SourceVolumeUp = new JoinDataComplete(new JoinData { JoinNumber = 13, JoinSpan = 1 },
+ new JoinMetadata { Description = "Source Volume Level Up", JoinCapabilities = eJoinCapabilities.FromSIMPL, JoinType = eJoinType.Digital });
+
+ [JoinName("SourceVolumeDown")]
+ public JoinDataComplete SourceVolumeDown = new JoinDataComplete(new JoinData { JoinNumber = 14, JoinSpan = 1 },
+ new JoinMetadata { Description = "Source Volume Level Down", JoinCapabilities = eJoinCapabilities.FromSIMPL, JoinType = eJoinType.Digital });
+
+ [JoinName("SourceVolumeLevelScaledSend")]
+ public JoinDataComplete SourceVolumeLevelScaledSend = new JoinDataComplete(new JoinData { JoinNumber = 15, JoinSpan = 1 },
+ new JoinMetadata { Description = "Source Volume Scaled Send Enable/Disable", JoinCapabilities = eJoinCapabilities.FromSIMPL, JoinType = eJoinType.Digital });
+
+ [JoinName("Codec1VolumeLevel")]
+ public JoinDataComplete Codec1VolumeLevel = new JoinDataComplete(new JoinData { JoinNumber = 21, JoinSpan = 1 },
+ new JoinMetadata { Description = "Codec1 Volume Signed dB Set / Get", JoinCapabilities = eJoinCapabilities.ToFromSIMPL, JoinType = eJoinType.Analog });
+
+ [JoinName("Codec1VolumeLevelScaled")]
+ public JoinDataComplete Codec1VolumeLevelScaled = new JoinDataComplete(new JoinData { JoinNumber = 22, JoinSpan = 1 },
+ new JoinMetadata { Description = "Codec1 Volume 16bit Scaled Set / Get", JoinCapabilities = eJoinCapabilities.ToFromSIMPL, JoinType = eJoinType.Analog });
+
+ [JoinName("Codec1VolumeMuteOn")]
+ public JoinDataComplete Codec1VolumeMuteOn = new JoinDataComplete(new JoinData { JoinNumber = 21, JoinSpan = 1 },
+ new JoinMetadata { Description = "Codec1 Volume Mute On Set / Get", JoinCapabilities = eJoinCapabilities.ToFromSIMPL, JoinType = eJoinType.Digital });
+
+ [JoinName("Codec1VolumeMuteOff")]
+ public JoinDataComplete Codec1VolumeMuteOff = new JoinDataComplete(new JoinData { JoinNumber = 22, JoinSpan = 1 },
+ new JoinMetadata { Description = "Codec1 Volume Mute Off Set / Get", JoinCapabilities = eJoinCapabilities.ToFromSIMPL, JoinType = eJoinType.Digital });
+
+ [JoinName("Codec1VolumeUp")]
+ public JoinDataComplete Codec1VolumeUp = new JoinDataComplete(new JoinData { JoinNumber = 23, JoinSpan = 1 },
+ new JoinMetadata { Description = "Codec1 Volume Level Up", JoinCapabilities = eJoinCapabilities.FromSIMPL, JoinType = eJoinType.Digital });
+
+ [JoinName("Codec1VolumeDown")]
+ public JoinDataComplete Codec1VolumeDown = new JoinDataComplete(new JoinData { JoinNumber = 24, JoinSpan = 1 },
+ new JoinMetadata { Description = "Codec1 Volume Level Down", JoinCapabilities = eJoinCapabilities.FromSIMPL, JoinType = eJoinType.Digital });
+
+ [JoinName("Codec1VolumeLevelScaledSend")]
+ public JoinDataComplete Codec1VolumeLevelScaledSend = new JoinDataComplete(new JoinData { JoinNumber = 25, JoinSpan = 1 },
+ new JoinMetadata { Description = "Codec1 Volume Scaled Send Enable/Disable", JoinCapabilities = eJoinCapabilities.FromSIMPL, JoinType = eJoinType.Digital });
+
+ [JoinName("Codec2VolumeLevel")]
+ public JoinDataComplete Codec2VolumeLevel = new JoinDataComplete(new JoinData { JoinNumber = 31, JoinSpan = 1 },
+ new JoinMetadata { Description = "Codec2 Volume Signed dB Set / Get", JoinCapabilities = eJoinCapabilities.ToFromSIMPL, JoinType = eJoinType.Analog });
+
+ [JoinName("Codec2VolumeLevelScaled")]
+ public JoinDataComplete Codec2VolumeLevelScaled = new JoinDataComplete(new JoinData { JoinNumber = 32, JoinSpan = 1 },
+ new JoinMetadata { Description = "Codec2 Volume 16bit Scaled Set / Get", JoinCapabilities = eJoinCapabilities.ToFromSIMPL, JoinType = eJoinType.Analog });
+
+ [JoinName("Codec2VolumeMuteOn")]
+ public JoinDataComplete Codec2VolumeMuteOn = new JoinDataComplete(new JoinData { JoinNumber = 31, JoinSpan = 1 },
+ new JoinMetadata { Description = "Codec2 Volume Mute On Set / Get", JoinCapabilities = eJoinCapabilities.ToFromSIMPL, JoinType = eJoinType.Digital });
+
+ [JoinName("Codec2VolumeMuteOff")]
+ public JoinDataComplete Codec2VolumeMuteOff = new JoinDataComplete(new JoinData { JoinNumber = 32, JoinSpan = 1 },
+ new JoinMetadata { Description = "Codec2 Volume Mute Off Set / Get", JoinCapabilities = eJoinCapabilities.ToFromSIMPL, JoinType = eJoinType.Digital });
+
+ [JoinName("Codec2VolumeUp")]
+ public JoinDataComplete Codec2VolumeUp = new JoinDataComplete(new JoinData { JoinNumber = 33, JoinSpan = 1 },
+ new JoinMetadata { Description = "Codec2 Volume Level Up", JoinCapabilities = eJoinCapabilities.FromSIMPL, JoinType = eJoinType.Digital });
+
+ [JoinName("Codec2VolumeDown")]
+ public JoinDataComplete Codec2VolumeDown = new JoinDataComplete(new JoinData { JoinNumber = 34, JoinSpan = 1 },
+ new JoinMetadata { Description = "Codec2 Volume Level Down", JoinCapabilities = eJoinCapabilities.FromSIMPL, JoinType = eJoinType.Digital });
+
+ [JoinName("Codec2VolumeLevelScaledSend")]
+ public JoinDataComplete Codec2VolumeLevelScaledSend = new JoinDataComplete(new JoinData { JoinNumber = 35, JoinSpan = 1 },
+ new JoinMetadata { Description = "Codec2 Volume Scaled Send Enable/Disable", JoinCapabilities = eJoinCapabilities.FromSIMPL, JoinType = eJoinType.Digital });
+
+ [JoinName("MicsMasterVolumeLevel")]
+ public JoinDataComplete MicsMasterVolumeLevel = new JoinDataComplete(new JoinData { JoinNumber = 41, JoinSpan = 1 },
+ new JoinMetadata { Description = "MicsMaster Volume Signed dB Set / Get", JoinCapabilities = eJoinCapabilities.ToFromSIMPL, JoinType = eJoinType.Analog });
+
+ [JoinName("MicsMasterVolumeLevelScaled")]
+ public JoinDataComplete MicsMasterVolumeLevelScaled = new JoinDataComplete(new JoinData { JoinNumber = 42, JoinSpan = 1 },
+ new JoinMetadata { Description = "MicsMaster Volume 16bit Scaled Set / Get", JoinCapabilities = eJoinCapabilities.ToFromSIMPL, JoinType = eJoinType.Analog });
+
+ [JoinName("MicsMasterVolumeMuteOn")]
+ public JoinDataComplete MicsMasterVolumeMuteOn = new JoinDataComplete(new JoinData { JoinNumber = 41, JoinSpan = 1 },
+ new JoinMetadata { Description = "MicsMaster Volume Mute On Set / Get", JoinCapabilities = eJoinCapabilities.ToFromSIMPL, JoinType = eJoinType.Digital });
+
+ [JoinName("MicsMasterVolumeMuteOff")]
+ public JoinDataComplete MicsMasterVolumeMuteOff = new JoinDataComplete(new JoinData { JoinNumber = 42, JoinSpan = 1 },
+ new JoinMetadata { Description = "MicsMaster Volume Mute Off Set / Get", JoinCapabilities = eJoinCapabilities.ToFromSIMPL, JoinType = eJoinType.Digital });
+
+ [JoinName("MicsMasterVolumeUp")]
+ public JoinDataComplete MicsMasterVolumeUp = new JoinDataComplete(new JoinData { JoinNumber = 43, JoinSpan = 1 },
+ new JoinMetadata { Description = "MicsMaster Volume Level Up", JoinCapabilities = eJoinCapabilities.FromSIMPL, JoinType = eJoinType.Digital });
+
+ [JoinName("MicsMasterVolumeDown")]
+ public JoinDataComplete MicsMasterVolumeDown = new JoinDataComplete(new JoinData { JoinNumber = 44, JoinSpan = 1 },
+ new JoinMetadata { Description = "MicsMaster Volume Level Down", JoinCapabilities = eJoinCapabilities.FromSIMPL, JoinType = eJoinType.Digital });
+
+ [JoinName("MicsMasterVolumeLevelScaledSend")]
+ public JoinDataComplete MicsMasterVolumeLevelScaledSend = new JoinDataComplete(new JoinData { JoinNumber = 45, JoinSpan = 1 },
+ new JoinMetadata { Description = "Mics Master Volume Scaled Send Enable/Disable", JoinCapabilities = eJoinCapabilities.FromSIMPL, JoinType = eJoinType.Digital });
+
+ ///
+ /// Constructor to use when instantiating this Join Map without inheriting from it
+ ///
+ /// Join this join map will start at
+ public DmpsAudioOutputControllerJoinMap(uint joinStart)
+ : this(joinStart, typeof(DmpsAudioOutputControllerJoinMap))
+ {
+ }
+
+ ///
+ /// Constructor to use when extending this Join map
+ ///
+ /// Join this join map will start at
+ /// Type of the child join map
+ protected DmpsAudioOutputControllerJoinMap(uint joinStart, Type type) : base(joinStart, type)
+ {
+ }
+ }
}
\ No newline at end of file
diff --git a/essentials-framework/Essentials Core/PepperDashEssentialsBase/Bridges/JoinMaps/DmpsMicrophoneControllerJoinMap.cs b/src/PepperDash.Essentials.Core/Bridges/JoinMaps/DmpsMicrophoneControllerJoinMap.cs
similarity index 100%
rename from essentials-framework/Essentials Core/PepperDashEssentialsBase/Bridges/JoinMaps/DmpsMicrophoneControllerJoinMap.cs
rename to src/PepperDash.Essentials.Core/Bridges/JoinMaps/DmpsMicrophoneControllerJoinMap.cs
diff --git a/essentials-framework/Essentials Core/PepperDashEssentialsBase/Bridges/JoinMaps/DmpsRoutingControllerJoinMap.cs b/src/PepperDash.Essentials.Core/Bridges/JoinMaps/DmpsRoutingControllerJoinMap.cs
similarity index 98%
rename from essentials-framework/Essentials Core/PepperDashEssentialsBase/Bridges/JoinMaps/DmpsRoutingControllerJoinMap.cs
rename to src/PepperDash.Essentials.Core/Bridges/JoinMaps/DmpsRoutingControllerJoinMap.cs
index 44917899..a0d8d7b8 100644
--- a/essentials-framework/Essentials Core/PepperDashEssentialsBase/Bridges/JoinMaps/DmpsRoutingControllerJoinMap.cs
+++ b/src/PepperDash.Essentials.Core/Bridges/JoinMaps/DmpsRoutingControllerJoinMap.cs
@@ -1,123 +1,123 @@
-using System;
-
-namespace PepperDash.Essentials.Core.Bridges
-{
- public class DmpsRoutingControllerJoinMap : JoinMapBaseAdvanced
- {
- [JoinName("EnableRouting")]
- public JoinDataComplete EnableRouting = new JoinDataComplete(new JoinData { JoinNumber = 1, JoinSpan = 1 },
- new JoinMetadata { Description = "DMPS Enable Audio and Video Routing", JoinCapabilities = eJoinCapabilities.FromSIMPL, JoinType = eJoinType.Digital });
-
- [JoinName("SystemPowerOn")]
- public JoinDataComplete SystemPowerOn = new JoinDataComplete(new JoinData { JoinNumber = 12, JoinSpan = 1 },
- new JoinMetadata { Description = "DMPS System Power On Get/Set", JoinCapabilities = eJoinCapabilities.ToFromSIMPL, JoinType = eJoinType.Digital });
-
- [JoinName("SystemPowerOff")]
- public JoinDataComplete SystemPowerOff = new JoinDataComplete(new JoinData { JoinNumber = 13, JoinSpan = 1 },
- new JoinMetadata { Description = "DMPS System Power Off Get/Set", JoinCapabilities = eJoinCapabilities.ToFromSIMPL, JoinType = eJoinType.Digital });
-
- [JoinName("FrontPanelLockOn")]
- public JoinDataComplete FrontPanelLockOn = new JoinDataComplete(new JoinData { JoinNumber = 14, JoinSpan = 1 },
- new JoinMetadata { Description = "DMPS Front Panel Lock On Get/Set", JoinCapabilities = eJoinCapabilities.ToFromSIMPL, JoinType = eJoinType.Digital });
-
- [JoinName("FrontPanelLockOff")]
- public JoinDataComplete FrontPanelLockOff = new JoinDataComplete(new JoinData { JoinNumber = 15, JoinSpan = 1 },
- new JoinMetadata { Description = "DMPS Front Panel Lock Off Get/Set", JoinCapabilities = eJoinCapabilities.ToFromSIMPL, JoinType = eJoinType.Digital });
-
- [JoinName("VideoSyncStatus")]
- public JoinDataComplete VideoSyncStatus = new JoinDataComplete(new JoinData { JoinNumber = 101, JoinSpan = 32 },
- new JoinMetadata { Description = "DM Input Video Sync", JoinCapabilities = eJoinCapabilities.ToSIMPL, JoinType = eJoinType.Digital });
-
- [JoinName("InputEndpointOnline")]
- public JoinDataComplete InputEndpointOnline = new JoinDataComplete(new JoinData { JoinNumber = 501, JoinSpan = 32 },
- new JoinMetadata { Description = "DM Chassis Input Endpoint Online", JoinCapabilities = eJoinCapabilities.ToSIMPL, JoinType = eJoinType.Digital });
-
- [JoinName("OutputEndpointOnline")]
- public JoinDataComplete OutputEndpointOnline = new JoinDataComplete(new JoinData { JoinNumber = 701, JoinSpan = 32 },
- new JoinMetadata { Description = "DM Chassis Output Endpoint Online", JoinCapabilities = eJoinCapabilities.ToSIMPL, JoinType = eJoinType.Digital });
-
- [JoinName("OutputVideo")]
- public JoinDataComplete OutputVideo = new JoinDataComplete(new JoinData { JoinNumber = 101, JoinSpan = 32 },
- new JoinMetadata { Description = "DM Chassis Output Video Set / Get", JoinCapabilities = eJoinCapabilities.ToFromSIMPL, JoinType = eJoinType.Analog });
-
- [JoinName("OutputAudio")]
- public JoinDataComplete OutputAudio = new JoinDataComplete(new JoinData { JoinNumber = 301, JoinSpan = 32 },
- new JoinMetadata { Description = "DM Chassis Output Audio Set / Get", JoinCapabilities = eJoinCapabilities.ToFromSIMPL, JoinType = eJoinType.Analog });
-
- [JoinName("InputNames")]
- public JoinDataComplete InputNames = new JoinDataComplete(new JoinData { JoinNumber = 101, JoinSpan = 32 },
- new JoinMetadata { Description = "DM Chassis Input Name", JoinCapabilities = eJoinCapabilities.ToSIMPL, JoinType = eJoinType.Serial });
-
- [JoinName("OutputNames")]
- public JoinDataComplete OutputNames = new JoinDataComplete(new JoinData { JoinNumber = 301, JoinSpan = 32 },
- new JoinMetadata { Description = "DM Chassis Output Name", JoinCapabilities = eJoinCapabilities.ToSIMPL, JoinType = eJoinType.Serial });
-
- [JoinName("InputVideoNames")]
- public JoinDataComplete InputVideoNames =
- new JoinDataComplete(new JoinData { JoinNumber = 501, JoinSpan = 32 },
- new JoinMetadata
- {
- Description = "Video Input Name",
- JoinCapabilities = eJoinCapabilities.ToSIMPL,
- JoinType = eJoinType.Serial
- });
-
- [JoinName("InputAudioNames")]
- public JoinDataComplete InputAudioNames =
- new JoinDataComplete(new JoinData { JoinNumber = 701, JoinSpan = 32 },
- new JoinMetadata
- {
- Description = "Audio Input Name",
- JoinCapabilities = eJoinCapabilities.ToSIMPL,
- JoinType = eJoinType.Serial
- });
- [JoinName("OutputVideoNames")]
- public JoinDataComplete OutputVideoNames =
- new JoinDataComplete(new JoinData { JoinNumber = 901, JoinSpan = 32 },
- new JoinMetadata
- {
- Description = "Video Output Name",
- JoinCapabilities = eJoinCapabilities.ToSIMPL,
- JoinType = eJoinType.Serial
- });
- [JoinName("OutputAudioNames")]
- public JoinDataComplete OutputAudioNames =
- new JoinDataComplete(new JoinData { JoinNumber = 1101, JoinSpan = 32 },
- new JoinMetadata
- {
- Description = "Audio Output Name",
- JoinCapabilities = eJoinCapabilities.ToSIMPL,
- JoinType = eJoinType.Serial
- });
-
- [JoinName("OutputCurrentVideoInputNames")]
- public JoinDataComplete OutputCurrentVideoInputNames = new JoinDataComplete(new JoinData { JoinNumber = 2001, JoinSpan = 32 },
- new JoinMetadata { Description = "DM Chassis Video Output Currently Routed Video Input Name", JoinCapabilities = eJoinCapabilities.ToSIMPL, JoinType = eJoinType.Serial });
-
- [JoinName("OutputCurrentAudioInputNames")]
- public JoinDataComplete OutputCurrentAudioInputNames = new JoinDataComplete(new JoinData { JoinNumber = 2201, JoinSpan = 32 },
- new JoinMetadata { Description = "DM Chassis Audio Output Currently Routed Video Input Name", JoinCapabilities = eJoinCapabilities.ToSIMPL, JoinType = eJoinType.Serial });
-
- [JoinName("InputCurrentResolution")]
- public JoinDataComplete InputCurrentResolution = new JoinDataComplete(new JoinData { JoinNumber = 2401, JoinSpan = 32 },
- new JoinMetadata { Description = "DM Chassis Input Current Resolution", JoinCapabilities = eJoinCapabilities.ToSIMPL, JoinType = eJoinType.Serial });
-
- ///
- /// Constructor to use when instantiating this Join Map without inheriting from it
- ///
- /// Join this join map will start at
- public DmpsRoutingControllerJoinMap(uint joinStart)
- : this(joinStart, typeof(DmpsRoutingControllerJoinMap))
- {
- }
-
- ///
- /// Constructor to use when extending this Join map
- ///
- /// Join this join map will start at
- /// Type of the child join map
- protected DmpsRoutingControllerJoinMap(uint joinStart, Type type) : base(joinStart, type)
- {
- }
- }
+using System;
+
+namespace PepperDash.Essentials.Core.Bridges
+{
+ public class DmpsRoutingControllerJoinMap : JoinMapBaseAdvanced
+ {
+ [JoinName("EnableRouting")]
+ public JoinDataComplete EnableRouting = new JoinDataComplete(new JoinData { JoinNumber = 1, JoinSpan = 1 },
+ new JoinMetadata { Description = "DMPS Enable Audio and Video Routing", JoinCapabilities = eJoinCapabilities.FromSIMPL, JoinType = eJoinType.Digital });
+
+ [JoinName("SystemPowerOn")]
+ public JoinDataComplete SystemPowerOn = new JoinDataComplete(new JoinData { JoinNumber = 12, JoinSpan = 1 },
+ new JoinMetadata { Description = "DMPS System Power On Get/Set", JoinCapabilities = eJoinCapabilities.ToFromSIMPL, JoinType = eJoinType.Digital });
+
+ [JoinName("SystemPowerOff")]
+ public JoinDataComplete SystemPowerOff = new JoinDataComplete(new JoinData { JoinNumber = 13, JoinSpan = 1 },
+ new JoinMetadata { Description = "DMPS System Power Off Get/Set", JoinCapabilities = eJoinCapabilities.ToFromSIMPL, JoinType = eJoinType.Digital });
+
+ [JoinName("FrontPanelLockOn")]
+ public JoinDataComplete FrontPanelLockOn = new JoinDataComplete(new JoinData { JoinNumber = 14, JoinSpan = 1 },
+ new JoinMetadata { Description = "DMPS Front Panel Lock On Get/Set", JoinCapabilities = eJoinCapabilities.ToFromSIMPL, JoinType = eJoinType.Digital });
+
+ [JoinName("FrontPanelLockOff")]
+ public JoinDataComplete FrontPanelLockOff = new JoinDataComplete(new JoinData { JoinNumber = 15, JoinSpan = 1 },
+ new JoinMetadata { Description = "DMPS Front Panel Lock Off Get/Set", JoinCapabilities = eJoinCapabilities.ToFromSIMPL, JoinType = eJoinType.Digital });
+
+ [JoinName("VideoSyncStatus")]
+ public JoinDataComplete VideoSyncStatus = new JoinDataComplete(new JoinData { JoinNumber = 101, JoinSpan = 32 },
+ new JoinMetadata { Description = "DM Input Video Sync", JoinCapabilities = eJoinCapabilities.ToSIMPL, JoinType = eJoinType.Digital });
+
+ [JoinName("InputEndpointOnline")]
+ public JoinDataComplete InputEndpointOnline = new JoinDataComplete(new JoinData { JoinNumber = 501, JoinSpan = 32 },
+ new JoinMetadata { Description = "DM Chassis Input Endpoint Online", JoinCapabilities = eJoinCapabilities.ToSIMPL, JoinType = eJoinType.Digital });
+
+ [JoinName("OutputEndpointOnline")]
+ public JoinDataComplete OutputEndpointOnline = new JoinDataComplete(new JoinData { JoinNumber = 701, JoinSpan = 32 },
+ new JoinMetadata { Description = "DM Chassis Output Endpoint Online", JoinCapabilities = eJoinCapabilities.ToSIMPL, JoinType = eJoinType.Digital });
+
+ [JoinName("OutputVideo")]
+ public JoinDataComplete OutputVideo = new JoinDataComplete(new JoinData { JoinNumber = 101, JoinSpan = 32 },
+ new JoinMetadata { Description = "DM Chassis Output Video Set / Get", JoinCapabilities = eJoinCapabilities.ToFromSIMPL, JoinType = eJoinType.Analog });
+
+ [JoinName("OutputAudio")]
+ public JoinDataComplete OutputAudio = new JoinDataComplete(new JoinData { JoinNumber = 301, JoinSpan = 32 },
+ new JoinMetadata { Description = "DM Chassis Output Audio Set / Get", JoinCapabilities = eJoinCapabilities.ToFromSIMPL, JoinType = eJoinType.Analog });
+
+ [JoinName("InputNames")]
+ public JoinDataComplete InputNames = new JoinDataComplete(new JoinData { JoinNumber = 101, JoinSpan = 32 },
+ new JoinMetadata { Description = "DM Chassis Input Name", JoinCapabilities = eJoinCapabilities.ToSIMPL, JoinType = eJoinType.Serial });
+
+ [JoinName("OutputNames")]
+ public JoinDataComplete OutputNames = new JoinDataComplete(new JoinData { JoinNumber = 301, JoinSpan = 32 },
+ new JoinMetadata { Description = "DM Chassis Output Name", JoinCapabilities = eJoinCapabilities.ToSIMPL, JoinType = eJoinType.Serial });
+
+ [JoinName("InputVideoNames")]
+ public JoinDataComplete InputVideoNames =
+ new JoinDataComplete(new JoinData { JoinNumber = 501, JoinSpan = 32 },
+ new JoinMetadata
+ {
+ Description = "Video Input Name",
+ JoinCapabilities = eJoinCapabilities.ToSIMPL,
+ JoinType = eJoinType.Serial
+ });
+
+ [JoinName("InputAudioNames")]
+ public JoinDataComplete InputAudioNames =
+ new JoinDataComplete(new JoinData { JoinNumber = 701, JoinSpan = 32 },
+ new JoinMetadata
+ {
+ Description = "Audio Input Name",
+ JoinCapabilities = eJoinCapabilities.ToSIMPL,
+ JoinType = eJoinType.Serial
+ });
+ [JoinName("OutputVideoNames")]
+ public JoinDataComplete OutputVideoNames =
+ new JoinDataComplete(new JoinData { JoinNumber = 901, JoinSpan = 32 },
+ new JoinMetadata
+ {
+ Description = "Video Output Name",
+ JoinCapabilities = eJoinCapabilities.ToSIMPL,
+ JoinType = eJoinType.Serial
+ });
+ [JoinName("OutputAudioNames")]
+ public JoinDataComplete OutputAudioNames =
+ new JoinDataComplete(new JoinData { JoinNumber = 1101, JoinSpan = 32 },
+ new JoinMetadata
+ {
+ Description = "Audio Output Name",
+ JoinCapabilities = eJoinCapabilities.ToSIMPL,
+ JoinType = eJoinType.Serial
+ });
+
+ [JoinName("OutputCurrentVideoInputNames")]
+ public JoinDataComplete OutputCurrentVideoInputNames = new JoinDataComplete(new JoinData { JoinNumber = 2001, JoinSpan = 32 },
+ new JoinMetadata { Description = "DM Chassis Video Output Currently Routed Video Input Name", JoinCapabilities = eJoinCapabilities.ToSIMPL, JoinType = eJoinType.Serial });
+
+ [JoinName("OutputCurrentAudioInputNames")]
+ public JoinDataComplete OutputCurrentAudioInputNames = new JoinDataComplete(new JoinData { JoinNumber = 2201, JoinSpan = 32 },
+ new JoinMetadata { Description = "DM Chassis Audio Output Currently Routed Video Input Name", JoinCapabilities = eJoinCapabilities.ToSIMPL, JoinType = eJoinType.Serial });
+
+ [JoinName("InputCurrentResolution")]
+ public JoinDataComplete InputCurrentResolution = new JoinDataComplete(new JoinData { JoinNumber = 2401, JoinSpan = 32 },
+ new JoinMetadata { Description = "DM Chassis Input Current Resolution", JoinCapabilities = eJoinCapabilities.ToSIMPL, JoinType = eJoinType.Serial });
+
+ ///
+ /// Constructor to use when instantiating this Join Map without inheriting from it
+ ///
+ /// Join this join map will start at
+ public DmpsRoutingControllerJoinMap(uint joinStart)
+ : this(joinStart, typeof(DmpsRoutingControllerJoinMap))
+ {
+ }
+
+ ///
+ /// Constructor to use when extending this Join map
+ ///
+ /// Join this join map will start at
+ /// Type of the child join map
+ protected DmpsRoutingControllerJoinMap(uint joinStart, Type type) : base(joinStart, type)
+ {
+ }
+ }
}
\ No newline at end of file
diff --git a/essentials-framework/Essentials Core/PepperDashEssentialsBase/Bridges/JoinMaps/GenericLightingJoinMap.cs b/src/PepperDash.Essentials.Core/Bridges/JoinMaps/GenericLightingJoinMap.cs
similarity index 98%
rename from essentials-framework/Essentials Core/PepperDashEssentialsBase/Bridges/JoinMaps/GenericLightingJoinMap.cs
rename to src/PepperDash.Essentials.Core/Bridges/JoinMaps/GenericLightingJoinMap.cs
index 9a14c332..2a3015f1 100644
--- a/essentials-framework/Essentials Core/PepperDashEssentialsBase/Bridges/JoinMaps/GenericLightingJoinMap.cs
+++ b/src/PepperDash.Essentials.Core/Bridges/JoinMaps/GenericLightingJoinMap.cs
@@ -1,49 +1,49 @@
-using System;
-
-
+using System;
+
+
namespace PepperDash.Essentials.Core.Bridges
{
public class GenericLightingJoinMap : JoinMapBaseAdvanced
- {
-
- [JoinName("IsOnline")]
- public JoinDataComplete IsOnline = new JoinDataComplete(new JoinData { JoinNumber = 1, JoinSpan = 1 },
- new JoinMetadata { Description = "Lighting Controller Online", JoinCapabilities = eJoinCapabilities.ToSIMPL, JoinType = eJoinType.Digital });
-
- [JoinName("SelectScene")]
- public JoinDataComplete SelectScene = new JoinDataComplete(new JoinData { JoinNumber = 1, JoinSpan = 1 },
- new JoinMetadata { Description = "Lighting Controller Select Scene By Index", JoinCapabilities = eJoinCapabilities.FromSIMPL, JoinType = eJoinType.Digital });
-
- [JoinName("SelectSceneDirect")]
- public JoinDataComplete SelectSceneDirect = new JoinDataComplete(new JoinData { JoinNumber = 11, JoinSpan = 10 },
- new JoinMetadata { Description = "Lighting Controller Select Scene", JoinCapabilities = eJoinCapabilities.ToFromSIMPL, JoinType = eJoinType.DigitalSerial });
-
- [JoinName("ButtonVisibility")]
- public JoinDataComplete ButtonVisibility = new JoinDataComplete(new JoinData { JoinNumber = 41, JoinSpan = 10 },
- new JoinMetadata { Description = "Lighting Controller Button Visibility", JoinCapabilities = eJoinCapabilities.ToSIMPL, JoinType = eJoinType.Digital });
-
- [JoinName("IntegrationIdSet")]
- public JoinDataComplete IntegrationIdSet = new JoinDataComplete(new JoinData { JoinNumber = 1, JoinSpan = 1 },
- new JoinMetadata { Description = "Lighting Controller Set Integration Id", JoinCapabilities = eJoinCapabilities.FromSIMPL, JoinType = eJoinType.Serial });
-
-
-
- ///
- /// Constructor to use when instantiating this Join Map without inheriting from it
- ///
- /// Join this join map will start at
- public GenericLightingJoinMap(uint joinStart)
- : this(joinStart, typeof(GenericLightingJoinMap))
- {
- }
-
- ///
- /// Constructor to use when extending this Join map
- ///
- /// Join this join map will start at
- /// Type of the child join map
- protected GenericLightingJoinMap(uint joinStart, Type type) : base(joinStart, type)
- {
- }
+ {
+
+ [JoinName("IsOnline")]
+ public JoinDataComplete IsOnline = new JoinDataComplete(new JoinData { JoinNumber = 1, JoinSpan = 1 },
+ new JoinMetadata { Description = "Lighting Controller Online", JoinCapabilities = eJoinCapabilities.ToSIMPL, JoinType = eJoinType.Digital });
+
+ [JoinName("SelectScene")]
+ public JoinDataComplete SelectScene = new JoinDataComplete(new JoinData { JoinNumber = 1, JoinSpan = 1 },
+ new JoinMetadata { Description = "Lighting Controller Select Scene By Index", JoinCapabilities = eJoinCapabilities.FromSIMPL, JoinType = eJoinType.Digital });
+
+ [JoinName("SelectSceneDirect")]
+ public JoinDataComplete SelectSceneDirect = new JoinDataComplete(new JoinData { JoinNumber = 11, JoinSpan = 10 },
+ new JoinMetadata { Description = "Lighting Controller Select Scene", JoinCapabilities = eJoinCapabilities.ToFromSIMPL, JoinType = eJoinType.DigitalSerial });
+
+ [JoinName("ButtonVisibility")]
+ public JoinDataComplete ButtonVisibility = new JoinDataComplete(new JoinData { JoinNumber = 41, JoinSpan = 10 },
+ new JoinMetadata { Description = "Lighting Controller Button Visibility", JoinCapabilities = eJoinCapabilities.ToSIMPL, JoinType = eJoinType.Digital });
+
+ [JoinName("IntegrationIdSet")]
+ public JoinDataComplete IntegrationIdSet = new JoinDataComplete(new JoinData { JoinNumber = 1, JoinSpan = 1 },
+ new JoinMetadata { Description = "Lighting Controller Set Integration Id", JoinCapabilities = eJoinCapabilities.FromSIMPL, JoinType = eJoinType.Serial });
+
+
+
+ ///
+ /// Constructor to use when instantiating this Join Map without inheriting from it
+ ///
+ /// Join this join map will start at
+ public GenericLightingJoinMap(uint joinStart)
+ : this(joinStart, typeof(GenericLightingJoinMap))
+ {
+ }
+
+ ///
+ /// Constructor to use when extending this Join map
+ ///
+ /// Join this join map will start at
+ /// Type of the child join map
+ protected GenericLightingJoinMap(uint joinStart, Type type) : base(joinStart, type)
+ {
+ }
}
}
\ No newline at end of file
diff --git a/essentials-framework/Essentials Core/PepperDashEssentialsBase/Bridges/JoinMaps/GenericRelayControllerJoinMap.cs b/src/PepperDash.Essentials.Core/Bridges/JoinMaps/GenericRelayControllerJoinMap.cs
similarity index 98%
rename from essentials-framework/Essentials Core/PepperDashEssentialsBase/Bridges/JoinMaps/GenericRelayControllerJoinMap.cs
rename to src/PepperDash.Essentials.Core/Bridges/JoinMaps/GenericRelayControllerJoinMap.cs
index 0dc830bb..68897767 100644
--- a/essentials-framework/Essentials Core/PepperDashEssentialsBase/Bridges/JoinMaps/GenericRelayControllerJoinMap.cs
+++ b/src/PepperDash.Essentials.Core/Bridges/JoinMaps/GenericRelayControllerJoinMap.cs
@@ -1,31 +1,31 @@
-using System;
-
+using System;
+
namespace PepperDash.Essentials.Core.Bridges
{
public class GenericRelayControllerJoinMap : JoinMapBaseAdvanced
{
- [JoinName("Relay")]
- public JoinDataComplete Relay = new JoinDataComplete(new JoinData { JoinNumber = 1, JoinSpan = 1 },
- new JoinMetadata { Description = "Device Relay State Set / Get", JoinCapabilities = eJoinCapabilities.ToFromSIMPL, JoinType = eJoinType.Digital });
-
- ///
- /// Constructor to use when instantiating this Join Map without inheriting from it
- ///
- /// Join this join map will start at
- public GenericRelayControllerJoinMap(uint joinStart)
- : this(joinStart, typeof(GenericRelayControllerJoinMap))
- {
- }
-
- ///
- /// Constructor to use when extending this Join map
- ///
- /// Join this join map will start at
- /// Type of the child join map
- protected GenericRelayControllerJoinMap(uint joinStart, Type type) : base(joinStart, type)
- {
-
+ [JoinName("Relay")]
+ public JoinDataComplete Relay = new JoinDataComplete(new JoinData { JoinNumber = 1, JoinSpan = 1 },
+ new JoinMetadata { Description = "Device Relay State Set / Get", JoinCapabilities = eJoinCapabilities.ToFromSIMPL, JoinType = eJoinType.Digital });
+
+ ///
+ /// Constructor to use when instantiating this Join Map without inheriting from it
+ ///
+ /// Join this join map will start at
+ public GenericRelayControllerJoinMap(uint joinStart)
+ : this(joinStart, typeof(GenericRelayControllerJoinMap))
+ {
+ }
+
+ ///
+ /// Constructor to use when extending this Join map
+ ///
+ /// Join this join map will start at
+ /// Type of the child join map
+ protected GenericRelayControllerJoinMap(uint joinStart, Type type) : base(joinStart, type)
+ {
+
}
}
}
\ No newline at end of file
diff --git a/essentials-framework/Essentials Core/PepperDashEssentialsBase/Bridges/JoinMaps/GlsOccupancySensorBaseJoinMap.cs b/src/PepperDash.Essentials.Core/Bridges/JoinMaps/GlsOccupancySensorBaseJoinMap.cs
similarity index 98%
rename from essentials-framework/Essentials Core/PepperDashEssentialsBase/Bridges/JoinMaps/GlsOccupancySensorBaseJoinMap.cs
rename to src/PepperDash.Essentials.Core/Bridges/JoinMaps/GlsOccupancySensorBaseJoinMap.cs
index 72cb1433..ded7343f 100644
--- a/essentials-framework/Essentials Core/PepperDashEssentialsBase/Bridges/JoinMaps/GlsOccupancySensorBaseJoinMap.cs
+++ b/src/PepperDash.Essentials.Core/Bridges/JoinMaps/GlsOccupancySensorBaseJoinMap.cs
@@ -1,184 +1,184 @@
-using System;
-
-namespace PepperDash.Essentials.Core.Bridges
-{
- public class GlsOccupancySensorBaseJoinMap : JoinMapBaseAdvanced
- {
- [JoinName("IsOnline")]
- public JoinDataComplete IsOnline = new JoinDataComplete(new JoinData { JoinNumber = 1, JoinSpan = 1 },
- new JoinMetadata { Description = "Occ Sensor Is Online", JoinCapabilities = eJoinCapabilities.ToSIMPL, JoinType = eJoinType.Digital });
-
- [JoinName("ForceOccupied")]
- public JoinDataComplete ForceOccupied = new JoinDataComplete(new JoinData { JoinNumber = 2, JoinSpan = 1 },
- new JoinMetadata { Description = "Occ Sensor Set to Occupied", JoinCapabilities = eJoinCapabilities.FromSIMPL, JoinType = eJoinType.Digital });
-
- [JoinName("ForceVacant")]
- public JoinDataComplete ForceVacant = new JoinDataComplete(new JoinData { JoinNumber = 3, JoinSpan = 1 },
- new JoinMetadata { Description = "Occ Sensor Set to Vacant", JoinCapabilities = eJoinCapabilities.FromSIMPL, JoinType = eJoinType.Digital });
-
- [JoinName("EnableRawStates")]
- public JoinDataComplete EnableRawStates = new JoinDataComplete(new JoinData { JoinNumber = 4, JoinSpan = 1 },
- new JoinMetadata { Description = "Occ Sensor Enable Raw", JoinCapabilities = eJoinCapabilities.FromSIMPL, JoinType = eJoinType.Digital });
-
- [JoinName("RoomOccupiedFeedback")]
- public JoinDataComplete RoomOccupiedFeedback = new JoinDataComplete(new JoinData { JoinNumber = 2, JoinSpan = 1 },
- new JoinMetadata { Description = "Occ Sensor Room Is Occupied", JoinCapabilities = eJoinCapabilities.ToSIMPL, JoinType = eJoinType.Digital });
-
- [JoinName("GraceOccupancyDetectedFeedback")]
- public JoinDataComplete GraceOccupancyDetectedFeedback = new JoinDataComplete(new JoinData { JoinNumber = 3, JoinSpan = 1 },
- new JoinMetadata { Description = "Occ Sensor Grace Occupancy Detected", JoinCapabilities = eJoinCapabilities.ToSIMPL, JoinType = eJoinType.Digital });
-
- [JoinName("RoomVacantFeedback")]
- public JoinDataComplete RoomVacantFeedback = new JoinDataComplete(new JoinData { JoinNumber = 4, JoinSpan = 1 },
- new JoinMetadata { Description = "Occ Sensor Room Is Vacant", JoinCapabilities = eJoinCapabilities.ToSIMPL, JoinType = eJoinType.Digital });
-
- [JoinName("RawOccupancyFeedback")]
- public JoinDataComplete RawOccupancyFeedback = new JoinDataComplete(new JoinData { JoinNumber = 5, JoinSpan = 1 },
- new JoinMetadata { Description = "Occ Sensor Raw Occupancy Detected", JoinCapabilities = eJoinCapabilities.ToSIMPL, JoinType = eJoinType.Digital });
-
- [JoinName("RawOccupancyPirFeedback")]
- public JoinDataComplete RawOccupancyPirFeedback = new JoinDataComplete(new JoinData { JoinNumber = 6, JoinSpan = 1 },
- new JoinMetadata { Description = "Occ Sensor Raw PIR Occupancy Detected", JoinCapabilities = eJoinCapabilities.ToSIMPL, JoinType = eJoinType.Digital });
-
- [JoinName("RawOccupancyUsFeedback")]
- public JoinDataComplete RawOccupancyUsFeedback = new JoinDataComplete(new JoinData { JoinNumber = 7, JoinSpan = 1 },
- new JoinMetadata { Description = "Occ Sensor Raw US Occupancy Detected", JoinCapabilities = eJoinCapabilities.ToSIMPL, JoinType = eJoinType.Digital });
-
- [JoinName("EnableLedFlash")]
- public JoinDataComplete EnableLedFlash = new JoinDataComplete(new JoinData { JoinNumber = 11, JoinSpan = 1 },
- new JoinMetadata { Description = "Occ Sensor Enable LED Flash", JoinCapabilities = eJoinCapabilities.ToFromSIMPL, JoinType = eJoinType.Digital });
-
- [JoinName("DisableLedFlash")]
- public JoinDataComplete DisableLedFlash = new JoinDataComplete(new JoinData { JoinNumber = 12, JoinSpan = 1 },
- new JoinMetadata { Description = "Occ Sensor Disable LED Flash", JoinCapabilities = eJoinCapabilities.FromSIMPL, JoinType = eJoinType.Digital });
-
- [JoinName("EnableShortTimeout")]
- public JoinDataComplete EnableShortTimeout = new JoinDataComplete(new JoinData { JoinNumber = 13, JoinSpan = 1 },
- new JoinMetadata { Description = "Occ Sensor Enable Short Timeout", JoinCapabilities = eJoinCapabilities.ToFromSIMPL, JoinType = eJoinType.Digital });
-
- [JoinName("DisableShortTimeout")]
- public JoinDataComplete DisableShortTimeout = new JoinDataComplete(new JoinData { JoinNumber = 14, JoinSpan = 1 },
- new JoinMetadata { Description = "Occ Sensor Disable Short Timeout", JoinCapabilities = eJoinCapabilities.ToSIMPL, JoinType = eJoinType.Digital });
-
- [JoinName("OrWhenVacated")]
- public JoinDataComplete OrWhenVacated = new JoinDataComplete(new JoinData { JoinNumber = 15, JoinSpan = 1 },
- new JoinMetadata { Description = "Occ Sensor Set To Vacant when Either Sensor is Vacant", JoinCapabilities = eJoinCapabilities.ToFromSIMPL, JoinType = eJoinType.Digital });
-
- [JoinName("AndWhenVacated")]
- public JoinDataComplete AndWhenVacated = new JoinDataComplete(new JoinData { JoinNumber = 16, JoinSpan = 1 },
- new JoinMetadata { Description = "Occ Sensor Set To Vacant when Both Sensors are Vacant", JoinCapabilities = eJoinCapabilities.ToFromSIMPL, JoinType = eJoinType.Digital });
-
- [JoinName("EnableUsA")]
- public JoinDataComplete EnableUsA = new JoinDataComplete(new JoinData { JoinNumber = 17, JoinSpan = 1 },
- new JoinMetadata { Description = "Occ Sensor Enable Ultrasonic Sensor A", JoinCapabilities = eJoinCapabilities.ToFromSIMPL, JoinType = eJoinType.Digital });
-
- [JoinName("DisableUsA")]
- public JoinDataComplete DisableUsA = new JoinDataComplete(new JoinData { JoinNumber = 18, JoinSpan = 1 },
- new JoinMetadata { Description = "Occ Sensor Disable Ultrasonic Sensor A", JoinCapabilities = eJoinCapabilities.FromSIMPL, JoinType = eJoinType.Digital });
-
- [JoinName("EnableUsB")]
- public JoinDataComplete EnableUsB = new JoinDataComplete(new JoinData { JoinNumber = 19, JoinSpan = 1 },
- new JoinMetadata { Description = "Occ Sensor Enable Ultrasonic Sensor B", JoinCapabilities = eJoinCapabilities.ToFromSIMPL, JoinType = eJoinType.Digital });
-
- [JoinName("DisableUsB")]
- public JoinDataComplete DisableUsB = new JoinDataComplete(new JoinData { JoinNumber = 20, JoinSpan = 1 },
- new JoinMetadata { Description = "Occ Sensor Disable Ultrasonic Sensor B", JoinCapabilities = eJoinCapabilities.FromSIMPL, JoinType = eJoinType.Digital });
-
- [JoinName("EnablePir")]
- public JoinDataComplete EnablePir = new JoinDataComplete(new JoinData { JoinNumber = 21, JoinSpan = 1 },
- new JoinMetadata { Description = "Occ Sensor Enable IR Sensor", JoinCapabilities = eJoinCapabilities.ToFromSIMPL, JoinType = eJoinType.Digital });
-
- [JoinName("DisablePir")]
- public JoinDataComplete DisablePir = new JoinDataComplete(new JoinData { JoinNumber = 22, JoinSpan = 1 },
- new JoinMetadata { Description = "Occ Sensor Disable IR Sensor", JoinCapabilities = eJoinCapabilities.FromSIMPL, JoinType = eJoinType.Digital });
-
- [JoinName("IncrementUsInOccupiedState")]
- public JoinDataComplete IncrementUsInOccupiedState = new JoinDataComplete(new JoinData { JoinNumber = 23, JoinSpan = 1 },
- new JoinMetadata { Description = "Occ Sensor Increment US Occupied State Sensitivity", JoinCapabilities = eJoinCapabilities.FromSIMPL, JoinType = eJoinType.Digital });
-
- [JoinName("DecrementUsInOccupiedState")]
- public JoinDataComplete DecrementUsInOccupiedState = new JoinDataComplete(new JoinData { JoinNumber = 24, JoinSpan = 1 },
- new JoinMetadata { Description = "Occ Sensor Decrement US Occupied State Sensitivity", JoinCapabilities = eJoinCapabilities.FromSIMPL, JoinType = eJoinType.Digital });
-
- [JoinName("IncrementUsInVacantState")]
- public JoinDataComplete IncrementUsInVacantState = new JoinDataComplete(new JoinData { JoinNumber = 25, JoinSpan = 1 },
- new JoinMetadata { Description = "Occ Sensor Increment US Vacant State Sensitivity", JoinCapabilities = eJoinCapabilities.FromSIMPL, JoinType = eJoinType.Digital });
-
- [JoinName("DecrementUsInVacantState")]
- public JoinDataComplete DecrementUsInVacantState = new JoinDataComplete(new JoinData { JoinNumber = 26, JoinSpan = 1 },
- new JoinMetadata { Description = "Occ Sensor Decrement US Vacant State Sensitivity", JoinCapabilities = eJoinCapabilities.FromSIMPL, JoinType = eJoinType.Digital });
-
- [JoinName("IncrementPirInOccupiedState")]
- public JoinDataComplete IncrementPirInOccupiedState = new JoinDataComplete(new JoinData { JoinNumber = 27, JoinSpan = 1 },
- new JoinMetadata { Description = "Occ Sensor Increment IR Occupied State Sensitivity", JoinCapabilities = eJoinCapabilities.FromSIMPL, JoinType = eJoinType.Digital });
-
- [JoinName("DecrementPirInOccupiedState")]
- public JoinDataComplete DecrementPirInOccupiedState = new JoinDataComplete(new JoinData { JoinNumber = 28, JoinSpan = 1 },
- new JoinMetadata { Description = "Occ Sensor Decrement IR Occupied State Sensitivity", JoinCapabilities = eJoinCapabilities.FromSIMPL, JoinType = eJoinType.Digital });
-
- [JoinName("IncrementPirInVacantState")]
- public JoinDataComplete IncrementPirInVacantState = new JoinDataComplete(new JoinData { JoinNumber = 29, JoinSpan = 1 },
- new JoinMetadata { Description = "Occ Sensor Increment IR Vacant State Sensitivity", JoinCapabilities = eJoinCapabilities.FromSIMPL, JoinType = eJoinType.Digital });
-
- [JoinName("DecrementPirInVacantState")]
- public JoinDataComplete DecrementPirInVacantState = new JoinDataComplete(new JoinData { JoinNumber = 30, JoinSpan = 1 },
- new JoinMetadata { Description = "Occ Sensor Decrement IR Vacant State Sensitivity", JoinCapabilities = eJoinCapabilities.FromSIMPL, JoinType = eJoinType.Digital });
-
- [JoinName("Timeout")]
- public JoinDataComplete Timeout = new JoinDataComplete(new JoinData { JoinNumber = 1, JoinSpan = 1 },
- new JoinMetadata { Description = "Occ Sensor Timeout Value", JoinCapabilities = eJoinCapabilities.ToFromSIMPL, JoinType = eJoinType.Analog });
-
- [JoinName("TimeoutLocalFeedback")]
- public JoinDataComplete TimeoutLocalFeedback = new JoinDataComplete(new JoinData { JoinNumber = 2, JoinSpan = 1 },
- new JoinMetadata { Description = "Occ Sensor Local Timeout Value", JoinCapabilities = eJoinCapabilities.ToSIMPL, JoinType = eJoinType.Analog });
-
- [JoinName("InternalPhotoSensorValue")]
- public JoinDataComplete InternalPhotoSensorValue = new JoinDataComplete(new JoinData { JoinNumber = 3, JoinSpan = 1 },
- new JoinMetadata { Description = "Occ Sensor Internal PhotoSensor Value", JoinCapabilities = eJoinCapabilities.ToSIMPL, JoinType = eJoinType.Analog });
-
- [JoinName("ExternalPhotoSensorValue")]
- public JoinDataComplete ExternalPhotoSensorValue = new JoinDataComplete(new JoinData { JoinNumber = 4, JoinSpan = 1 },
- new JoinMetadata { Description = "Occ Sensor External PhotoSensor Value", JoinCapabilities = eJoinCapabilities.ToSIMPL, JoinType = eJoinType.Analog });
-
- [JoinName("UsSensitivityInOccupiedState")]
- public JoinDataComplete UsSensitivityInOccupiedState = new JoinDataComplete(new JoinData { JoinNumber = 5, JoinSpan = 1 },
- new JoinMetadata { Description = "Occ Sensor Ultrasonic Sensitivity in Occupied State", JoinCapabilities = eJoinCapabilities.ToSIMPL, JoinType = eJoinType.Analog });
-
- [JoinName("UsSensitivityInVacantState")]
- public JoinDataComplete UsSensitivityInVacantState = new JoinDataComplete(new JoinData { JoinNumber = 6, JoinSpan = 1 },
- new JoinMetadata { Description = "Occ Sensor Ultrasonic Sensitivity in Vacant State", JoinCapabilities = eJoinCapabilities.ToSIMPL, JoinType = eJoinType.Analog });
-
- [JoinName("PirSensitivityInOccupiedState")]
- public JoinDataComplete PirSensitivityInOccupiedState = new JoinDataComplete(new JoinData { JoinNumber = 7, JoinSpan = 1 },
- new JoinMetadata { Description = "Occ Sensor PIR Sensitivity in Occupied State", JoinCapabilities = eJoinCapabilities.ToSIMPL, JoinType = eJoinType.Analog });
-
- [JoinName("PirSensitivityInVacantState")]
- public JoinDataComplete PirSensitivityInVacantState = new JoinDataComplete(new JoinData { JoinNumber = 8, JoinSpan = 1 },
- new JoinMetadata { Description = "Occ Sensor PIR Sensitivity in Vacant State", JoinCapabilities = eJoinCapabilities.ToSIMPL, JoinType = eJoinType.Analog });
-
- [JoinName("Name")]
- public JoinDataComplete Name = new JoinDataComplete(new JoinData { JoinNumber = 1, JoinSpan = 1 },
- new JoinMetadata { Description = "Occ Sensor Name", JoinCapabilities = eJoinCapabilities.ToSIMPL, JoinType = eJoinType.Serial });
-
-
- ///
- /// Constructor to use when instantiating this Join Map without inheriting from it
- ///
- /// Join this join map will start at
- public GlsOccupancySensorBaseJoinMap(uint joinStart)
- : this(joinStart, typeof(GlsOccupancySensorBaseJoinMap))
- {
- }
-
- ///
- /// Constructor to use when extending this Join map
- ///
- /// Join this join map will start at
- /// Type of the child join map
- protected GlsOccupancySensorBaseJoinMap(uint joinStart, Type type)
- : base(joinStart, type)
- {
- }
-
- }
-}
+using System;
+
+namespace PepperDash.Essentials.Core.Bridges
+{
+ public class GlsOccupancySensorBaseJoinMap : JoinMapBaseAdvanced
+ {
+ [JoinName("IsOnline")]
+ public JoinDataComplete IsOnline = new JoinDataComplete(new JoinData { JoinNumber = 1, JoinSpan = 1 },
+ new JoinMetadata { Description = "Occ Sensor Is Online", JoinCapabilities = eJoinCapabilities.ToSIMPL, JoinType = eJoinType.Digital });
+
+ [JoinName("ForceOccupied")]
+ public JoinDataComplete ForceOccupied = new JoinDataComplete(new JoinData { JoinNumber = 2, JoinSpan = 1 },
+ new JoinMetadata { Description = "Occ Sensor Set to Occupied", JoinCapabilities = eJoinCapabilities.FromSIMPL, JoinType = eJoinType.Digital });
+
+ [JoinName("ForceVacant")]
+ public JoinDataComplete ForceVacant = new JoinDataComplete(new JoinData { JoinNumber = 3, JoinSpan = 1 },
+ new JoinMetadata { Description = "Occ Sensor Set to Vacant", JoinCapabilities = eJoinCapabilities.FromSIMPL, JoinType = eJoinType.Digital });
+
+ [JoinName("EnableRawStates")]
+ public JoinDataComplete EnableRawStates = new JoinDataComplete(new JoinData { JoinNumber = 4, JoinSpan = 1 },
+ new JoinMetadata { Description = "Occ Sensor Enable Raw", JoinCapabilities = eJoinCapabilities.FromSIMPL, JoinType = eJoinType.Digital });
+
+ [JoinName("RoomOccupiedFeedback")]
+ public JoinDataComplete RoomOccupiedFeedback = new JoinDataComplete(new JoinData { JoinNumber = 2, JoinSpan = 1 },
+ new JoinMetadata { Description = "Occ Sensor Room Is Occupied", JoinCapabilities = eJoinCapabilities.ToSIMPL, JoinType = eJoinType.Digital });
+
+ [JoinName("GraceOccupancyDetectedFeedback")]
+ public JoinDataComplete GraceOccupancyDetectedFeedback = new JoinDataComplete(new JoinData { JoinNumber = 3, JoinSpan = 1 },
+ new JoinMetadata { Description = "Occ Sensor Grace Occupancy Detected", JoinCapabilities = eJoinCapabilities.ToSIMPL, JoinType = eJoinType.Digital });
+
+ [JoinName("RoomVacantFeedback")]
+ public JoinDataComplete RoomVacantFeedback = new JoinDataComplete(new JoinData { JoinNumber = 4, JoinSpan = 1 },
+ new JoinMetadata { Description = "Occ Sensor Room Is Vacant", JoinCapabilities = eJoinCapabilities.ToSIMPL, JoinType = eJoinType.Digital });
+
+ [JoinName("RawOccupancyFeedback")]
+ public JoinDataComplete RawOccupancyFeedback = new JoinDataComplete(new JoinData { JoinNumber = 5, JoinSpan = 1 },
+ new JoinMetadata { Description = "Occ Sensor Raw Occupancy Detected", JoinCapabilities = eJoinCapabilities.ToSIMPL, JoinType = eJoinType.Digital });
+
+ [JoinName("RawOccupancyPirFeedback")]
+ public JoinDataComplete RawOccupancyPirFeedback = new JoinDataComplete(new JoinData { JoinNumber = 6, JoinSpan = 1 },
+ new JoinMetadata { Description = "Occ Sensor Raw PIR Occupancy Detected", JoinCapabilities = eJoinCapabilities.ToSIMPL, JoinType = eJoinType.Digital });
+
+ [JoinName("RawOccupancyUsFeedback")]
+ public JoinDataComplete RawOccupancyUsFeedback = new JoinDataComplete(new JoinData { JoinNumber = 7, JoinSpan = 1 },
+ new JoinMetadata { Description = "Occ Sensor Raw US Occupancy Detected", JoinCapabilities = eJoinCapabilities.ToSIMPL, JoinType = eJoinType.Digital });
+
+ [JoinName("EnableLedFlash")]
+ public JoinDataComplete EnableLedFlash = new JoinDataComplete(new JoinData { JoinNumber = 11, JoinSpan = 1 },
+ new JoinMetadata { Description = "Occ Sensor Enable LED Flash", JoinCapabilities = eJoinCapabilities.ToFromSIMPL, JoinType = eJoinType.Digital });
+
+ [JoinName("DisableLedFlash")]
+ public JoinDataComplete DisableLedFlash = new JoinDataComplete(new JoinData { JoinNumber = 12, JoinSpan = 1 },
+ new JoinMetadata { Description = "Occ Sensor Disable LED Flash", JoinCapabilities = eJoinCapabilities.FromSIMPL, JoinType = eJoinType.Digital });
+
+ [JoinName("EnableShortTimeout")]
+ public JoinDataComplete EnableShortTimeout = new JoinDataComplete(new JoinData { JoinNumber = 13, JoinSpan = 1 },
+ new JoinMetadata { Description = "Occ Sensor Enable Short Timeout", JoinCapabilities = eJoinCapabilities.ToFromSIMPL, JoinType = eJoinType.Digital });
+
+ [JoinName("DisableShortTimeout")]
+ public JoinDataComplete DisableShortTimeout = new JoinDataComplete(new JoinData { JoinNumber = 14, JoinSpan = 1 },
+ new JoinMetadata { Description = "Occ Sensor Disable Short Timeout", JoinCapabilities = eJoinCapabilities.ToSIMPL, JoinType = eJoinType.Digital });
+
+ [JoinName("OrWhenVacated")]
+ public JoinDataComplete OrWhenVacated = new JoinDataComplete(new JoinData { JoinNumber = 15, JoinSpan = 1 },
+ new JoinMetadata { Description = "Occ Sensor Set To Vacant when Either Sensor is Vacant", JoinCapabilities = eJoinCapabilities.ToFromSIMPL, JoinType = eJoinType.Digital });
+
+ [JoinName("AndWhenVacated")]
+ public JoinDataComplete AndWhenVacated = new JoinDataComplete(new JoinData { JoinNumber = 16, JoinSpan = 1 },
+ new JoinMetadata { Description = "Occ Sensor Set To Vacant when Both Sensors are Vacant", JoinCapabilities = eJoinCapabilities.ToFromSIMPL, JoinType = eJoinType.Digital });
+
+ [JoinName("EnableUsA")]
+ public JoinDataComplete EnableUsA = new JoinDataComplete(new JoinData { JoinNumber = 17, JoinSpan = 1 },
+ new JoinMetadata { Description = "Occ Sensor Enable Ultrasonic Sensor A", JoinCapabilities = eJoinCapabilities.ToFromSIMPL, JoinType = eJoinType.Digital });
+
+ [JoinName("DisableUsA")]
+ public JoinDataComplete DisableUsA = new JoinDataComplete(new JoinData { JoinNumber = 18, JoinSpan = 1 },
+ new JoinMetadata { Description = "Occ Sensor Disable Ultrasonic Sensor A", JoinCapabilities = eJoinCapabilities.FromSIMPL, JoinType = eJoinType.Digital });
+
+ [JoinName("EnableUsB")]
+ public JoinDataComplete EnableUsB = new JoinDataComplete(new JoinData { JoinNumber = 19, JoinSpan = 1 },
+ new JoinMetadata { Description = "Occ Sensor Enable Ultrasonic Sensor B", JoinCapabilities = eJoinCapabilities.ToFromSIMPL, JoinType = eJoinType.Digital });
+
+ [JoinName("DisableUsB")]
+ public JoinDataComplete DisableUsB = new JoinDataComplete(new JoinData { JoinNumber = 20, JoinSpan = 1 },
+ new JoinMetadata { Description = "Occ Sensor Disable Ultrasonic Sensor B", JoinCapabilities = eJoinCapabilities.FromSIMPL, JoinType = eJoinType.Digital });
+
+ [JoinName("EnablePir")]
+ public JoinDataComplete EnablePir = new JoinDataComplete(new JoinData { JoinNumber = 21, JoinSpan = 1 },
+ new JoinMetadata { Description = "Occ Sensor Enable IR Sensor", JoinCapabilities = eJoinCapabilities.ToFromSIMPL, JoinType = eJoinType.Digital });
+
+ [JoinName("DisablePir")]
+ public JoinDataComplete DisablePir = new JoinDataComplete(new JoinData { JoinNumber = 22, JoinSpan = 1 },
+ new JoinMetadata { Description = "Occ Sensor Disable IR Sensor", JoinCapabilities = eJoinCapabilities.FromSIMPL, JoinType = eJoinType.Digital });
+
+ [JoinName("IncrementUsInOccupiedState")]
+ public JoinDataComplete IncrementUsInOccupiedState = new JoinDataComplete(new JoinData { JoinNumber = 23, JoinSpan = 1 },
+ new JoinMetadata { Description = "Occ Sensor Increment US Occupied State Sensitivity", JoinCapabilities = eJoinCapabilities.FromSIMPL, JoinType = eJoinType.Digital });
+
+ [JoinName("DecrementUsInOccupiedState")]
+ public JoinDataComplete DecrementUsInOccupiedState = new JoinDataComplete(new JoinData { JoinNumber = 24, JoinSpan = 1 },
+ new JoinMetadata { Description = "Occ Sensor Decrement US Occupied State Sensitivity", JoinCapabilities = eJoinCapabilities.FromSIMPL, JoinType = eJoinType.Digital });
+
+ [JoinName("IncrementUsInVacantState")]
+ public JoinDataComplete IncrementUsInVacantState = new JoinDataComplete(new JoinData { JoinNumber = 25, JoinSpan = 1 },
+ new JoinMetadata { Description = "Occ Sensor Increment US Vacant State Sensitivity", JoinCapabilities = eJoinCapabilities.FromSIMPL, JoinType = eJoinType.Digital });
+
+ [JoinName("DecrementUsInVacantState")]
+ public JoinDataComplete DecrementUsInVacantState = new JoinDataComplete(new JoinData { JoinNumber = 26, JoinSpan = 1 },
+ new JoinMetadata { Description = "Occ Sensor Decrement US Vacant State Sensitivity", JoinCapabilities = eJoinCapabilities.FromSIMPL, JoinType = eJoinType.Digital });
+
+ [JoinName("IncrementPirInOccupiedState")]
+ public JoinDataComplete IncrementPirInOccupiedState = new JoinDataComplete(new JoinData { JoinNumber = 27, JoinSpan = 1 },
+ new JoinMetadata { Description = "Occ Sensor Increment IR Occupied State Sensitivity", JoinCapabilities = eJoinCapabilities.FromSIMPL, JoinType = eJoinType.Digital });
+
+ [JoinName("DecrementPirInOccupiedState")]
+ public JoinDataComplete DecrementPirInOccupiedState = new JoinDataComplete(new JoinData { JoinNumber = 28, JoinSpan = 1 },
+ new JoinMetadata { Description = "Occ Sensor Decrement IR Occupied State Sensitivity", JoinCapabilities = eJoinCapabilities.FromSIMPL, JoinType = eJoinType.Digital });
+
+ [JoinName("IncrementPirInVacantState")]
+ public JoinDataComplete IncrementPirInVacantState = new JoinDataComplete(new JoinData { JoinNumber = 29, JoinSpan = 1 },
+ new JoinMetadata { Description = "Occ Sensor Increment IR Vacant State Sensitivity", JoinCapabilities = eJoinCapabilities.FromSIMPL, JoinType = eJoinType.Digital });
+
+ [JoinName("DecrementPirInVacantState")]
+ public JoinDataComplete DecrementPirInVacantState = new JoinDataComplete(new JoinData { JoinNumber = 30, JoinSpan = 1 },
+ new JoinMetadata { Description = "Occ Sensor Decrement IR Vacant State Sensitivity", JoinCapabilities = eJoinCapabilities.FromSIMPL, JoinType = eJoinType.Digital });
+
+ [JoinName("Timeout")]
+ public JoinDataComplete Timeout = new JoinDataComplete(new JoinData { JoinNumber = 1, JoinSpan = 1 },
+ new JoinMetadata { Description = "Occ Sensor Timeout Value", JoinCapabilities = eJoinCapabilities.ToFromSIMPL, JoinType = eJoinType.Analog });
+
+ [JoinName("TimeoutLocalFeedback")]
+ public JoinDataComplete TimeoutLocalFeedback = new JoinDataComplete(new JoinData { JoinNumber = 2, JoinSpan = 1 },
+ new JoinMetadata { Description = "Occ Sensor Local Timeout Value", JoinCapabilities = eJoinCapabilities.ToSIMPL, JoinType = eJoinType.Analog });
+
+ [JoinName("InternalPhotoSensorValue")]
+ public JoinDataComplete InternalPhotoSensorValue = new JoinDataComplete(new JoinData { JoinNumber = 3, JoinSpan = 1 },
+ new JoinMetadata { Description = "Occ Sensor Internal PhotoSensor Value", JoinCapabilities = eJoinCapabilities.ToSIMPL, JoinType = eJoinType.Analog });
+
+ [JoinName("ExternalPhotoSensorValue")]
+ public JoinDataComplete ExternalPhotoSensorValue = new JoinDataComplete(new JoinData { JoinNumber = 4, JoinSpan = 1 },
+ new JoinMetadata { Description = "Occ Sensor External PhotoSensor Value", JoinCapabilities = eJoinCapabilities.ToSIMPL, JoinType = eJoinType.Analog });
+
+ [JoinName("UsSensitivityInOccupiedState")]
+ public JoinDataComplete UsSensitivityInOccupiedState = new JoinDataComplete(new JoinData { JoinNumber = 5, JoinSpan = 1 },
+ new JoinMetadata { Description = "Occ Sensor Ultrasonic Sensitivity in Occupied State", JoinCapabilities = eJoinCapabilities.ToSIMPL, JoinType = eJoinType.Analog });
+
+ [JoinName("UsSensitivityInVacantState")]
+ public JoinDataComplete UsSensitivityInVacantState = new JoinDataComplete(new JoinData { JoinNumber = 6, JoinSpan = 1 },
+ new JoinMetadata { Description = "Occ Sensor Ultrasonic Sensitivity in Vacant State", JoinCapabilities = eJoinCapabilities.ToSIMPL, JoinType = eJoinType.Analog });
+
+ [JoinName("PirSensitivityInOccupiedState")]
+ public JoinDataComplete PirSensitivityInOccupiedState = new JoinDataComplete(new JoinData { JoinNumber = 7, JoinSpan = 1 },
+ new JoinMetadata { Description = "Occ Sensor PIR Sensitivity in Occupied State", JoinCapabilities = eJoinCapabilities.ToSIMPL, JoinType = eJoinType.Analog });
+
+ [JoinName("PirSensitivityInVacantState")]
+ public JoinDataComplete PirSensitivityInVacantState = new JoinDataComplete(new JoinData { JoinNumber = 8, JoinSpan = 1 },
+ new JoinMetadata { Description = "Occ Sensor PIR Sensitivity in Vacant State", JoinCapabilities = eJoinCapabilities.ToSIMPL, JoinType = eJoinType.Analog });
+
+ [JoinName("Name")]
+ public JoinDataComplete Name = new JoinDataComplete(new JoinData { JoinNumber = 1, JoinSpan = 1 },
+ new JoinMetadata { Description = "Occ Sensor Name", JoinCapabilities = eJoinCapabilities.ToSIMPL, JoinType = eJoinType.Serial });
+
+
+ ///
+ /// Constructor to use when instantiating this Join Map without inheriting from it
+ ///
+ /// Join this join map will start at
+ public GlsOccupancySensorBaseJoinMap(uint joinStart)
+ : this(joinStart, typeof(GlsOccupancySensorBaseJoinMap))
+ {
+ }
+
+ ///
+ /// Constructor to use when extending this Join map
+ ///
+ /// Join this join map will start at
+ /// Type of the child join map
+ protected GlsOccupancySensorBaseJoinMap(uint joinStart, Type type)
+ : base(joinStart, type)
+ {
+ }
+
+ }
+}
diff --git a/essentials-framework/Essentials Core/PepperDashEssentialsBase/Bridges/JoinMaps/GlsPartitionSensorJoinMap.cs b/src/PepperDash.Essentials.Core/Bridges/JoinMaps/GlsPartitionSensorJoinMap.cs
similarity index 96%
rename from essentials-framework/Essentials Core/PepperDashEssentialsBase/Bridges/JoinMaps/GlsPartitionSensorJoinMap.cs
rename to src/PepperDash.Essentials.Core/Bridges/JoinMaps/GlsPartitionSensorJoinMap.cs
index 5a583d69..0ee3d049 100644
--- a/essentials-framework/Essentials Core/PepperDashEssentialsBase/Bridges/JoinMaps/GlsPartitionSensorJoinMap.cs
+++ b/src/PepperDash.Essentials.Core/Bridges/JoinMaps/GlsPartitionSensorJoinMap.cs
@@ -1,300 +1,300 @@
-using System;
-using PepperDash.Essentials.Core;
-
-namespace PepperDash.Essentials.Core.Bridges.JoinMaps
-{
- public class GlsPartitionSensorJoinMap : JoinMapBaseAdvanced
- {
-
- #region Digital
-
- [JoinName("IsOnline")]
- public JoinDataComplete IsOnline = new JoinDataComplete(
- new JoinData
- {
- JoinNumber = 1,
- JoinSpan = 1
- },
- new JoinMetadata
- {
- Description = "Sensor Is Online",
- JoinCapabilities = eJoinCapabilities.ToSIMPL,
- JoinType = eJoinType.Digital
- });
-
-
- [JoinName("Enable")]
- public JoinDataComplete Enable = new JoinDataComplete(
- new JoinData
- {
- JoinNumber = 2,
- JoinSpan = 1
- },
- new JoinMetadata
- {
- Description = "Sensor Enable",
- JoinCapabilities = eJoinCapabilities.ToFromSIMPL,
- JoinType = eJoinType.Digital
- });
-
- [JoinName("PartitionSensed")]
- public JoinDataComplete PartitionSensed = new JoinDataComplete(
- new JoinData
- {
- JoinNumber = 3,
- JoinSpan = 1
- },
- new JoinMetadata
- {
- Description = "Sensor Partition Sensed",
- JoinCapabilities = eJoinCapabilities.ToSIMPL,
- JoinType = eJoinType.Digital
- });
-
- [JoinName("PartitionNotSensed")]
- public JoinDataComplete PartitionNotSensed = new JoinDataComplete(
- new JoinData
- {
- JoinNumber = 4,
- JoinSpan = 1
- },
- new JoinMetadata
- {
- Description = "Sensor Partition Not Sensed",
- JoinCapabilities = eJoinCapabilities.ToSIMPL,
- JoinType = eJoinType.Digital
- });
-
- [JoinName("IncreaseSensitivity")]
- public JoinDataComplete IncreaseSensitivity = new JoinDataComplete(
- new JoinData
- {
- JoinNumber = 6,
- JoinSpan = 1
- },
- new JoinMetadata
- {
- Description = "Sensor Increase Sensitivity",
- JoinCapabilities = eJoinCapabilities.FromSIMPL,
- JoinType = eJoinType.Digital
- });
-
- [JoinName("DecreaseSensitivity")]
- public JoinDataComplete DecreaseSensitivity = new JoinDataComplete(
- new JoinData
- {
- JoinNumber = 7,
- JoinSpan = 1
- },
- new JoinMetadata
- {
- Description = "Sensor Decrease Sensitivity",
- JoinCapabilities = eJoinCapabilities.FromSIMPL,
- JoinType = eJoinType.Digital
- });
-
- #endregion
-
- #region Analog
-
- [JoinName("Sensitivity")]
- public JoinDataComplete Sensitivity = new JoinDataComplete(
- new JoinData
- {
- JoinNumber = 2,
- JoinSpan = 1
- },
- new JoinMetadata
- {
- Description = "Sensor Sensitivity",
- JoinCapabilities = eJoinCapabilities.ToFromSIMPL,
- JoinType = eJoinType.Analog
- });
-
- #endregion
-
-
- #region Serial
-
- [JoinName("Name")]
- public JoinDataComplete Name = new JoinDataComplete(
- new JoinData
- {
- JoinNumber = 1,
- JoinSpan = 1
- },
- new JoinMetadata
- {
- Description = "Sensor Name",
- JoinCapabilities = eJoinCapabilities.ToSIMPL,
- JoinType = eJoinType.Serial
- });
-
- #endregion
-
-
- ///
- /// Constructor to use when instantiating this Join Map without inheriting from it
- ///
- /// Join this join map will start at
- public GlsPartitionSensorJoinMap(uint joinStart)
- : this(joinStart, typeof(GlsPartitionSensorJoinMap))
- {
-
- }
-
- ///
- /// Constructor to use when extending this Join map
- ///
- /// Join this join map will start at
- /// Type of the child join map
- protected GlsPartitionSensorJoinMap(uint joinStart, Type type)
- : base(joinStart, type)
- {
-
- }
- }
-}
-
-namespace PepperDash_Essentials_Core.Bridges.JoinMaps
-{
- ///
- ///
- ///
- [Obsolete("use PepperDash.Essentials.Core.Bridges.JoinMaps version")]
- public class GlsPartitionSensorJoinMap:JoinMapBaseAdvanced
- {
- [JoinName("IsOnline")]
- public JoinDataComplete IsOnline = new JoinDataComplete(
- new JoinData
- {
- JoinNumber = 1,
- JoinSpan = 1
- },
- new JoinMetadata
- {
- Description = "Sensor Is Online",
- JoinCapabilities = eJoinCapabilities.ToSIMPL,
- JoinType = eJoinType.Digital
- });
-
- [JoinName("Name")]
- public JoinDataComplete Name = new JoinDataComplete(
- new JoinData
- {
- JoinNumber = 1,
- JoinSpan = 1
- },
- new JoinMetadata
- {
- Description = "Sensor Name",
- JoinCapabilities = eJoinCapabilities.ToSIMPL,
- JoinType = eJoinType.Serial
- });
-
- [JoinName("Enable")]
- public JoinDataComplete Enable = new JoinDataComplete(
- new JoinData
- {
- JoinNumber = 2,
- JoinSpan = 1
- },
- new JoinMetadata
- {
- Description = "Sensor Enable",
- JoinCapabilities = eJoinCapabilities.ToFromSIMPL,
- JoinType = eJoinType.Digital
- });
-
- [JoinName("PartitionSensed")]
- public JoinDataComplete PartitionSensed = new JoinDataComplete(
- new JoinData
- {
- JoinNumber = 3,
- JoinSpan = 1
- },
- new JoinMetadata
- {
- Description = "Sensor Partition Sensed",
- JoinCapabilities = eJoinCapabilities.ToSIMPL,
- JoinType = eJoinType.Digital
- });
-
- [JoinName("PartitionNotSensed")]
- public JoinDataComplete PartitionNotSensed = new JoinDataComplete(
- new JoinData
- {
- JoinNumber = 4,
- JoinSpan = 1
- },
- new JoinMetadata
- {
- Description = "Sensor Partition Not Sensed",
- JoinCapabilities = eJoinCapabilities.ToSIMPL,
- JoinType = eJoinType.Digital
- });
-
- [JoinName("IncreaseSensitivity")]
- public JoinDataComplete IncreaseSensitivity = new JoinDataComplete(
- new JoinData
- {
- JoinNumber = 6,
- JoinSpan = 1
- },
- new JoinMetadata
- {
- Description = "Sensor Increase Sensitivity",
- JoinCapabilities = eJoinCapabilities.FromSIMPL,
- JoinType = eJoinType.Digital
- });
-
- [JoinName("DecreaseSensitivity")]
- public JoinDataComplete DecreaseSensitivity = new JoinDataComplete(
- new JoinData
- {
- JoinNumber = 7,
- JoinSpan = 1
- },
- new JoinMetadata
- {
- Description = "Sensor Decrease Sensitivity",
- JoinCapabilities = eJoinCapabilities.FromSIMPL,
- JoinType = eJoinType.Digital
- });
-
- [JoinName("Sensitivity")]
- public JoinDataComplete Sensitivity = new JoinDataComplete(
- new JoinData
- {
- JoinNumber = 2,
- JoinSpan = 1
- },
- new JoinMetadata
- {
- Description = "Sensor Sensitivity",
- JoinCapabilities = eJoinCapabilities.ToFromSIMPL,
- JoinType = eJoinType.Analog
- });
-
- ///
- /// Constructor to use when instantiating this Join Map without inheriting from it
- ///
- /// Join this join map will start at
- public GlsPartitionSensorJoinMap(uint joinStart)
- : this(joinStart, typeof(GlsPartitionSensorJoinMap))
- {
-
- }
-
- ///
- /// Constructor to use when extending this Join map
- ///
- /// Join this join map will start at
- /// Type of the child join map
- protected GlsPartitionSensorJoinMap(uint joinStart, Type type)
- : base(joinStart, type)
- {
-
- }
- }
+using System;
+using PepperDash.Essentials.Core;
+
+namespace PepperDash.Essentials.Core.Bridges.JoinMaps
+{
+ public class GlsPartitionSensorJoinMap : JoinMapBaseAdvanced
+ {
+
+ #region Digital
+
+ [JoinName("IsOnline")]
+ public JoinDataComplete IsOnline = new JoinDataComplete(
+ new JoinData
+ {
+ JoinNumber = 1,
+ JoinSpan = 1
+ },
+ new JoinMetadata
+ {
+ Description = "Sensor Is Online",
+ JoinCapabilities = eJoinCapabilities.ToSIMPL,
+ JoinType = eJoinType.Digital
+ });
+
+
+ [JoinName("Enable")]
+ public JoinDataComplete Enable = new JoinDataComplete(
+ new JoinData
+ {
+ JoinNumber = 2,
+ JoinSpan = 1
+ },
+ new JoinMetadata
+ {
+ Description = "Sensor Enable",
+ JoinCapabilities = eJoinCapabilities.ToFromSIMPL,
+ JoinType = eJoinType.Digital
+ });
+
+ [JoinName("PartitionSensed")]
+ public JoinDataComplete PartitionSensed = new JoinDataComplete(
+ new JoinData
+ {
+ JoinNumber = 3,
+ JoinSpan = 1
+ },
+ new JoinMetadata
+ {
+ Description = "Sensor Partition Sensed",
+ JoinCapabilities = eJoinCapabilities.ToSIMPL,
+ JoinType = eJoinType.Digital
+ });
+
+ [JoinName("PartitionNotSensed")]
+ public JoinDataComplete PartitionNotSensed = new JoinDataComplete(
+ new JoinData
+ {
+ JoinNumber = 4,
+ JoinSpan = 1
+ },
+ new JoinMetadata
+ {
+ Description = "Sensor Partition Not Sensed",
+ JoinCapabilities = eJoinCapabilities.ToSIMPL,
+ JoinType = eJoinType.Digital
+ });
+
+ [JoinName("IncreaseSensitivity")]
+ public JoinDataComplete IncreaseSensitivity = new JoinDataComplete(
+ new JoinData
+ {
+ JoinNumber = 6,
+ JoinSpan = 1
+ },
+ new JoinMetadata
+ {
+ Description = "Sensor Increase Sensitivity",
+ JoinCapabilities = eJoinCapabilities.FromSIMPL,
+ JoinType = eJoinType.Digital
+ });
+
+ [JoinName("DecreaseSensitivity")]
+ public JoinDataComplete DecreaseSensitivity = new JoinDataComplete(
+ new JoinData
+ {
+ JoinNumber = 7,
+ JoinSpan = 1
+ },
+ new JoinMetadata
+ {
+ Description = "Sensor Decrease Sensitivity",
+ JoinCapabilities = eJoinCapabilities.FromSIMPL,
+ JoinType = eJoinType.Digital
+ });
+
+ #endregion
+
+ #region Analog
+
+ [JoinName("Sensitivity")]
+ public JoinDataComplete Sensitivity = new JoinDataComplete(
+ new JoinData
+ {
+ JoinNumber = 2,
+ JoinSpan = 1
+ },
+ new JoinMetadata
+ {
+ Description = "Sensor Sensitivity",
+ JoinCapabilities = eJoinCapabilities.ToFromSIMPL,
+ JoinType = eJoinType.Analog
+ });
+
+ #endregion
+
+
+ #region Serial
+
+ [JoinName("Name")]
+ public JoinDataComplete Name = new JoinDataComplete(
+ new JoinData
+ {
+ JoinNumber = 1,
+ JoinSpan = 1
+ },
+ new JoinMetadata
+ {
+ Description = "Sensor Name",
+ JoinCapabilities = eJoinCapabilities.ToSIMPL,
+ JoinType = eJoinType.Serial
+ });
+
+ #endregion
+
+
+ ///
+ /// Constructor to use when instantiating this Join Map without inheriting from it
+ ///
+ /// Join this join map will start at
+ public GlsPartitionSensorJoinMap(uint joinStart)
+ : this(joinStart, typeof(GlsPartitionSensorJoinMap))
+ {
+
+ }
+
+ ///
+ /// Constructor to use when extending this Join map
+ ///
+ /// Join this join map will start at
+ /// Type of the child join map
+ protected GlsPartitionSensorJoinMap(uint joinStart, Type type)
+ : base(joinStart, type)
+ {
+
+ }
+ }
+}
+
+namespace PepperDash_Essentials_Core.Bridges.JoinMaps
+{
+ ///
+ ///
+ ///
+ [Obsolete("use PepperDash.Essentials.Core.Bridges.JoinMaps version")]
+ public class GlsPartitionSensorJoinMap:JoinMapBaseAdvanced
+ {
+ [JoinName("IsOnline")]
+ public JoinDataComplete IsOnline = new JoinDataComplete(
+ new JoinData
+ {
+ JoinNumber = 1,
+ JoinSpan = 1
+ },
+ new JoinMetadata
+ {
+ Description = "Sensor Is Online",
+ JoinCapabilities = eJoinCapabilities.ToSIMPL,
+ JoinType = eJoinType.Digital
+ });
+
+ [JoinName("Name")]
+ public JoinDataComplete Name = new JoinDataComplete(
+ new JoinData
+ {
+ JoinNumber = 1,
+ JoinSpan = 1
+ },
+ new JoinMetadata
+ {
+ Description = "Sensor Name",
+ JoinCapabilities = eJoinCapabilities.ToSIMPL,
+ JoinType = eJoinType.Serial
+ });
+
+ [JoinName("Enable")]
+ public JoinDataComplete Enable = new JoinDataComplete(
+ new JoinData
+ {
+ JoinNumber = 2,
+ JoinSpan = 1
+ },
+ new JoinMetadata
+ {
+ Description = "Sensor Enable",
+ JoinCapabilities = eJoinCapabilities.ToFromSIMPL,
+ JoinType = eJoinType.Digital
+ });
+
+ [JoinName("PartitionSensed")]
+ public JoinDataComplete PartitionSensed = new JoinDataComplete(
+ new JoinData
+ {
+ JoinNumber = 3,
+ JoinSpan = 1
+ },
+ new JoinMetadata
+ {
+ Description = "Sensor Partition Sensed",
+ JoinCapabilities = eJoinCapabilities.ToSIMPL,
+ JoinType = eJoinType.Digital
+ });
+
+ [JoinName("PartitionNotSensed")]
+ public JoinDataComplete PartitionNotSensed = new JoinDataComplete(
+ new JoinData
+ {
+ JoinNumber = 4,
+ JoinSpan = 1
+ },
+ new JoinMetadata
+ {
+ Description = "Sensor Partition Not Sensed",
+ JoinCapabilities = eJoinCapabilities.ToSIMPL,
+ JoinType = eJoinType.Digital
+ });
+
+ [JoinName("IncreaseSensitivity")]
+ public JoinDataComplete IncreaseSensitivity = new JoinDataComplete(
+ new JoinData
+ {
+ JoinNumber = 6,
+ JoinSpan = 1
+ },
+ new JoinMetadata
+ {
+ Description = "Sensor Increase Sensitivity",
+ JoinCapabilities = eJoinCapabilities.FromSIMPL,
+ JoinType = eJoinType.Digital
+ });
+
+ [JoinName("DecreaseSensitivity")]
+ public JoinDataComplete DecreaseSensitivity = new JoinDataComplete(
+ new JoinData
+ {
+ JoinNumber = 7,
+ JoinSpan = 1
+ },
+ new JoinMetadata
+ {
+ Description = "Sensor Decrease Sensitivity",
+ JoinCapabilities = eJoinCapabilities.FromSIMPL,
+ JoinType = eJoinType.Digital
+ });
+
+ [JoinName("Sensitivity")]
+ public JoinDataComplete Sensitivity = new JoinDataComplete(
+ new JoinData
+ {
+ JoinNumber = 2,
+ JoinSpan = 1
+ },
+ new JoinMetadata
+ {
+ Description = "Sensor Sensitivity",
+ JoinCapabilities = eJoinCapabilities.ToFromSIMPL,
+ JoinType = eJoinType.Analog
+ });
+
+ ///
+ /// Constructor to use when instantiating this Join Map without inheriting from it
+ ///
+ /// Join this join map will start at
+ public GlsPartitionSensorJoinMap(uint joinStart)
+ : this(joinStart, typeof(GlsPartitionSensorJoinMap))
+ {
+
+ }
+
+ ///
+ /// Constructor to use when extending this Join map
+ ///
+ /// Join this join map will start at
+ /// Type of the child join map
+ protected GlsPartitionSensorJoinMap(uint joinStart, Type type)
+ : base(joinStart, type)
+ {
+
+ }
+ }
}
\ No newline at end of file
diff --git a/essentials-framework/Essentials Core/PepperDashEssentialsBase/Bridges/JoinMaps/HdMdNxM4kEControllerJoinMap.cs b/src/PepperDash.Essentials.Core/Bridges/JoinMaps/HdMdNxM4kEControllerJoinMap.cs
similarity index 98%
rename from essentials-framework/Essentials Core/PepperDashEssentialsBase/Bridges/JoinMaps/HdMdNxM4kEControllerJoinMap.cs
rename to src/PepperDash.Essentials.Core/Bridges/JoinMaps/HdMdNxM4kEControllerJoinMap.cs
index a0406982..e69946ea 100644
--- a/essentials-framework/Essentials Core/PepperDashEssentialsBase/Bridges/JoinMaps/HdMdNxM4kEControllerJoinMap.cs
+++ b/src/PepperDash.Essentials.Core/Bridges/JoinMaps/HdMdNxM4kEControllerJoinMap.cs
@@ -1,66 +1,66 @@
-using System;
-
-namespace PepperDash.Essentials.Core.Bridges
-{
- public class HdMdNxM4kEControllerJoinMap : JoinMapBaseAdvanced
- {
- [JoinName("Name")]
- public JoinDataComplete Name = new JoinDataComplete(new JoinData { JoinNumber = 1, JoinSpan = 1 },
- new JoinMetadata { Description = "Device Name", JoinCapabilities = eJoinCapabilities.ToSIMPL, JoinType = eJoinType.Serial });
-
- [JoinName("EnableAutoRoute")]
- public JoinDataComplete EnableAutoRoute = new JoinDataComplete(new JoinData { JoinNumber = 1, JoinSpan = 1 },
- new JoinMetadata { Description = "Enable Automatic Routing on 4x1 Switchers", JoinCapabilities = eJoinCapabilities.ToFromSIMPL, JoinType = eJoinType.Digital });
-
- [JoinName("InputName")]
- public JoinDataComplete InputName = new JoinDataComplete(new JoinData { JoinNumber = 2, JoinSpan = 8 },
- new JoinMetadata { Description = "Device Input Name", JoinCapabilities = eJoinCapabilities.ToSIMPL, JoinType = eJoinType.Serial });
-
- [JoinName("InputSync")]
- public JoinDataComplete InputSync = new JoinDataComplete(new JoinData { JoinNumber = 2, JoinSpan = 8 },
- new JoinMetadata { Description = "Device Input Sync", JoinCapabilities = eJoinCapabilities.ToSIMPL, JoinType = eJoinType.Digital });
-
- [JoinName("OutputName")]
- public JoinDataComplete OutputName = new JoinDataComplete(new JoinData { JoinNumber = 11, JoinSpan = 2 },
- new JoinMetadata { Description = "Device Output Name", JoinCapabilities = eJoinCapabilities.ToSIMPL, JoinType = eJoinType.Serial });
-
- [JoinName("OutputRoute")]
- public JoinDataComplete OutputRoute = new JoinDataComplete(new JoinData { JoinNumber = 11, JoinSpan = 2 },
- new JoinMetadata { Description = "Device Output Route Set/Get", JoinCapabilities = eJoinCapabilities.ToFromSIMPL, JoinType = eJoinType.Analog });
-
- [JoinName("OutputRoutedName")]
- public JoinDataComplete OutputRoutedName = new JoinDataComplete(new JoinData { JoinNumber = 16, JoinSpan = 2 },
- new JoinMetadata { Description = "Device Output Route Name", JoinCapabilities = eJoinCapabilities.ToSIMPL, JoinType = eJoinType.Serial });
-
- [JoinName("EnableInputHdcp")]
- public JoinDataComplete EnableInputHdcp = new JoinDataComplete(new JoinData { JoinNumber = 11, JoinSpan = 8 },
- new JoinMetadata { Description = "Device Enable Input Hdcp", JoinCapabilities = eJoinCapabilities.ToFromSIMPL, JoinType = eJoinType.Digital });
-
- [JoinName("DisableInputHdcp")]
- public JoinDataComplete DisableInputHdcp = new JoinDataComplete(new JoinData { JoinNumber = 21, JoinSpan = 8 },
- new JoinMetadata { Description = "Device Disnable Input Hdcp", JoinCapabilities = eJoinCapabilities.ToFromSIMPL, JoinType = eJoinType.Digital });
-
- [JoinName("IsOnline")]
- public JoinDataComplete IsOnline = new JoinDataComplete(new JoinData { JoinNumber = 30, JoinSpan = 1 },
- new JoinMetadata { Description = "Device Onlne", JoinCapabilities = eJoinCapabilities.ToSIMPL, JoinType = eJoinType.Digital });
-
- ///
- /// Constructor to use when instantiating this Join Map without inheriting from it
- ///
- /// Join this join map will start at
- public HdMdNxM4kEControllerJoinMap(uint joinStart)
- : this(joinStart, typeof(HdMdNxM4kEControllerJoinMap))
- {
- }
-
- ///
- /// Constructor to use when extending this Join map
- ///
- /// Join this join map will start at
- /// Type of the child join map
- protected HdMdNxM4kEControllerJoinMap(uint joinStart, Type type)
- : base(joinStart, type)
- {
- }
- }
+using System;
+
+namespace PepperDash.Essentials.Core.Bridges
+{
+ public class HdMdNxM4kEControllerJoinMap : JoinMapBaseAdvanced
+ {
+ [JoinName("Name")]
+ public JoinDataComplete Name = new JoinDataComplete(new JoinData { JoinNumber = 1, JoinSpan = 1 },
+ new JoinMetadata { Description = "Device Name", JoinCapabilities = eJoinCapabilities.ToSIMPL, JoinType = eJoinType.Serial });
+
+ [JoinName("EnableAutoRoute")]
+ public JoinDataComplete EnableAutoRoute = new JoinDataComplete(new JoinData { JoinNumber = 1, JoinSpan = 1 },
+ new JoinMetadata { Description = "Enable Automatic Routing on 4x1 Switchers", JoinCapabilities = eJoinCapabilities.ToFromSIMPL, JoinType = eJoinType.Digital });
+
+ [JoinName("InputName")]
+ public JoinDataComplete InputName = new JoinDataComplete(new JoinData { JoinNumber = 2, JoinSpan = 8 },
+ new JoinMetadata { Description = "Device Input Name", JoinCapabilities = eJoinCapabilities.ToSIMPL, JoinType = eJoinType.Serial });
+
+ [JoinName("InputSync")]
+ public JoinDataComplete InputSync = new JoinDataComplete(new JoinData { JoinNumber = 2, JoinSpan = 8 },
+ new JoinMetadata { Description = "Device Input Sync", JoinCapabilities = eJoinCapabilities.ToSIMPL, JoinType = eJoinType.Digital });
+
+ [JoinName("OutputName")]
+ public JoinDataComplete OutputName = new JoinDataComplete(new JoinData { JoinNumber = 11, JoinSpan = 2 },
+ new JoinMetadata { Description = "Device Output Name", JoinCapabilities = eJoinCapabilities.ToSIMPL, JoinType = eJoinType.Serial });
+
+ [JoinName("OutputRoute")]
+ public JoinDataComplete OutputRoute = new JoinDataComplete(new JoinData { JoinNumber = 11, JoinSpan = 2 },
+ new JoinMetadata { Description = "Device Output Route Set/Get", JoinCapabilities = eJoinCapabilities.ToFromSIMPL, JoinType = eJoinType.Analog });
+
+ [JoinName("OutputRoutedName")]
+ public JoinDataComplete OutputRoutedName = new JoinDataComplete(new JoinData { JoinNumber = 16, JoinSpan = 2 },
+ new JoinMetadata { Description = "Device Output Route Name", JoinCapabilities = eJoinCapabilities.ToSIMPL, JoinType = eJoinType.Serial });
+
+ [JoinName("EnableInputHdcp")]
+ public JoinDataComplete EnableInputHdcp = new JoinDataComplete(new JoinData { JoinNumber = 11, JoinSpan = 8 },
+ new JoinMetadata { Description = "Device Enable Input Hdcp", JoinCapabilities = eJoinCapabilities.ToFromSIMPL, JoinType = eJoinType.Digital });
+
+ [JoinName("DisableInputHdcp")]
+ public JoinDataComplete DisableInputHdcp = new JoinDataComplete(new JoinData { JoinNumber = 21, JoinSpan = 8 },
+ new JoinMetadata { Description = "Device Disnable Input Hdcp", JoinCapabilities = eJoinCapabilities.ToFromSIMPL, JoinType = eJoinType.Digital });
+
+ [JoinName("IsOnline")]
+ public JoinDataComplete IsOnline = new JoinDataComplete(new JoinData { JoinNumber = 30, JoinSpan = 1 },
+ new JoinMetadata { Description = "Device Onlne", JoinCapabilities = eJoinCapabilities.ToSIMPL, JoinType = eJoinType.Digital });
+
+ ///
+ /// Constructor to use when instantiating this Join Map without inheriting from it
+ ///
+ /// Join this join map will start at
+ public HdMdNxM4kEControllerJoinMap(uint joinStart)
+ : this(joinStart, typeof(HdMdNxM4kEControllerJoinMap))
+ {
+ }
+
+ ///
+ /// Constructor to use when extending this Join map
+ ///
+ /// Join this join map will start at
+ /// Type of the child join map
+ protected HdMdNxM4kEControllerJoinMap(uint joinStart, Type type)
+ : base(joinStart, type)
+ {
+ }
+ }
}
\ No newline at end of file
diff --git a/essentials-framework/Essentials Core/PepperDashEssentialsBase/Bridges/JoinMaps/HdMdxxxCEControllerJoinMap.cs b/src/PepperDash.Essentials.Core/Bridges/JoinMaps/HdMdxxxCEControllerJoinMap.cs
similarity index 98%
rename from essentials-framework/Essentials Core/PepperDashEssentialsBase/Bridges/JoinMaps/HdMdxxxCEControllerJoinMap.cs
rename to src/PepperDash.Essentials.Core/Bridges/JoinMaps/HdMdxxxCEControllerJoinMap.cs
index 61a66e05..0936f75d 100644
--- a/essentials-framework/Essentials Core/PepperDashEssentialsBase/Bridges/JoinMaps/HdMdxxxCEControllerJoinMap.cs
+++ b/src/PepperDash.Essentials.Core/Bridges/JoinMaps/HdMdxxxCEControllerJoinMap.cs
@@ -1,76 +1,76 @@
-using System;
-
+using System;
+
namespace PepperDash.Essentials.Core.Bridges
{
public class HdMdxxxCEControllerJoinMap : JoinMapBaseAdvanced
{
- [JoinName("IsOnline")]
- public JoinDataComplete IsOnline = new JoinDataComplete(new JoinData { JoinNumber = 1, JoinSpan = 1 },
- new JoinMetadata { Description = "Device Online", JoinCapabilities = eJoinCapabilities.ToSIMPL, JoinType = eJoinType.Digital });
-
- [JoinName("RemoteEndDetected")]
- public JoinDataComplete RemoteEndDetected = new JoinDataComplete(new JoinData { JoinNumber = 2, JoinSpan = 1 },
- new JoinMetadata { Description = "Device Remote End Detected", JoinCapabilities = eJoinCapabilities.ToSIMPL, JoinType = eJoinType.Digital });
-
- [JoinName("AutoRouteOn")]
- public JoinDataComplete AutoRouteOn = new JoinDataComplete(new JoinData { JoinNumber = 3, JoinSpan = 1 },
- new JoinMetadata { Description = "Device Auto Route On", JoinCapabilities = eJoinCapabilities.ToFromSIMPL, JoinType = eJoinType.Digital });
-
- [JoinName("AutoRouteOff")]
- public JoinDataComplete AutoRouteOff = new JoinDataComplete(new JoinData { JoinNumber = 4, JoinSpan = 1 },
- new JoinMetadata { Description = "Device Auto Route Off", JoinCapabilities = eJoinCapabilities.ToFromSIMPL, JoinType = eJoinType.Digital });
-
- [JoinName("PriorityRoutingOn")]
- public JoinDataComplete PriorityRoutingOn = new JoinDataComplete(new JoinData { JoinNumber = 5, JoinSpan = 1 },
- new JoinMetadata { Description = "Device Priority Routing On", JoinCapabilities = eJoinCapabilities.ToFromSIMPL, JoinType = eJoinType.Digital });
-
- [JoinName("PriorityRoutingOff")]
- public JoinDataComplete PriorityRoutingOff = new JoinDataComplete(new JoinData { JoinNumber = 6, JoinSpan = 1 },
- new JoinMetadata { Description = "Device Priority Routing Off", JoinCapabilities = eJoinCapabilities.ToFromSIMPL, JoinType = eJoinType.Digital });
-
- [JoinName("InputOnScreenDisplayEnabled")]
- public JoinDataComplete InputOnScreenDisplayEnabled = new JoinDataComplete(new JoinData { JoinNumber = 7, JoinSpan = 1 },
- new JoinMetadata { Description = "Device Input OSD Enabled", JoinCapabilities = eJoinCapabilities.ToFromSIMPL, JoinType = eJoinType.Digital });
-
- [JoinName("InputOnScreenDisplayDisabled")]
- public JoinDataComplete InputOnScreenDisplayDisabled = new JoinDataComplete(new JoinData { JoinNumber = 8, JoinSpan = 1 },
- new JoinMetadata { Description = "Device Input OSD Disabled", JoinCapabilities = eJoinCapabilities.ToFromSIMPL, JoinType = eJoinType.Digital });
-
- [JoinName("SyncDetected")]
- public JoinDataComplete SyncDetected = new JoinDataComplete(new JoinData { JoinNumber = 11, JoinSpan = 5 },
- new JoinMetadata { Description = "Device Sync Detected", JoinCapabilities = eJoinCapabilities.ToSIMPL, JoinType = eJoinType.Digital });
-
- [JoinName("VideoSource")]
- public JoinDataComplete VideoSource = new JoinDataComplete(new JoinData { JoinNumber = 1, JoinSpan = 5 },
- new JoinMetadata { Description = "Device Video Source Set / Get", JoinCapabilities = eJoinCapabilities.ToFromSIMPL, JoinType = eJoinType.Analog });
-
- [JoinName("SourceCount")]
- public JoinDataComplete SourceCount = new JoinDataComplete(new JoinData { JoinNumber = 2, JoinSpan = 5 },
- new JoinMetadata { Description = "Device Video Source Count", JoinCapabilities = eJoinCapabilities.ToSIMPL, JoinType = eJoinType.Analog });
-
- [JoinName("SourceNames")]
- public JoinDataComplete SourceNames = new JoinDataComplete(new JoinData { JoinNumber = 11, JoinSpan = 5 },
- new JoinMetadata { Description = "Device Video Source Name", JoinCapabilities = eJoinCapabilities.ToSIMPL, JoinType = eJoinType.Serial });
-
-
- ///
- /// Constructor to use when instantiating this Join Map without inheriting from it
- ///
- /// Join this join map will start at
- public HdMdxxxCEControllerJoinMap(uint joinStart)
- : this(joinStart, typeof(HdMdxxxCEControllerJoinMap))
- {
- }
-
- ///
- /// Constructor to use when extending this Join map
- ///
- /// Join this join map will start at
- /// Type of the child join map
- protected HdMdxxxCEControllerJoinMap(uint joinStart, Type type)
- : base(joinStart, type)
- {
+ [JoinName("IsOnline")]
+ public JoinDataComplete IsOnline = new JoinDataComplete(new JoinData { JoinNumber = 1, JoinSpan = 1 },
+ new JoinMetadata { Description = "Device Online", JoinCapabilities = eJoinCapabilities.ToSIMPL, JoinType = eJoinType.Digital });
+
+ [JoinName("RemoteEndDetected")]
+ public JoinDataComplete RemoteEndDetected = new JoinDataComplete(new JoinData { JoinNumber = 2, JoinSpan = 1 },
+ new JoinMetadata { Description = "Device Remote End Detected", JoinCapabilities = eJoinCapabilities.ToSIMPL, JoinType = eJoinType.Digital });
+
+ [JoinName("AutoRouteOn")]
+ public JoinDataComplete AutoRouteOn = new JoinDataComplete(new JoinData { JoinNumber = 3, JoinSpan = 1 },
+ new JoinMetadata { Description = "Device Auto Route On", JoinCapabilities = eJoinCapabilities.ToFromSIMPL, JoinType = eJoinType.Digital });
+
+ [JoinName("AutoRouteOff")]
+ public JoinDataComplete AutoRouteOff = new JoinDataComplete(new JoinData { JoinNumber = 4, JoinSpan = 1 },
+ new JoinMetadata { Description = "Device Auto Route Off", JoinCapabilities = eJoinCapabilities.ToFromSIMPL, JoinType = eJoinType.Digital });
+
+ [JoinName("PriorityRoutingOn")]
+ public JoinDataComplete PriorityRoutingOn = new JoinDataComplete(new JoinData { JoinNumber = 5, JoinSpan = 1 },
+ new JoinMetadata { Description = "Device Priority Routing On", JoinCapabilities = eJoinCapabilities.ToFromSIMPL, JoinType = eJoinType.Digital });
+
+ [JoinName("PriorityRoutingOff")]
+ public JoinDataComplete PriorityRoutingOff = new JoinDataComplete(new JoinData { JoinNumber = 6, JoinSpan = 1 },
+ new JoinMetadata { Description = "Device Priority Routing Off", JoinCapabilities = eJoinCapabilities.ToFromSIMPL, JoinType = eJoinType.Digital });
+
+ [JoinName("InputOnScreenDisplayEnabled")]
+ public JoinDataComplete InputOnScreenDisplayEnabled = new JoinDataComplete(new JoinData { JoinNumber = 7, JoinSpan = 1 },
+ new JoinMetadata { Description = "Device Input OSD Enabled", JoinCapabilities = eJoinCapabilities.ToFromSIMPL, JoinType = eJoinType.Digital });
+
+ [JoinName("InputOnScreenDisplayDisabled")]
+ public JoinDataComplete InputOnScreenDisplayDisabled = new JoinDataComplete(new JoinData { JoinNumber = 8, JoinSpan = 1 },
+ new JoinMetadata { Description = "Device Input OSD Disabled", JoinCapabilities = eJoinCapabilities.ToFromSIMPL, JoinType = eJoinType.Digital });
+
+ [JoinName("SyncDetected")]
+ public JoinDataComplete SyncDetected = new JoinDataComplete(new JoinData { JoinNumber = 11, JoinSpan = 5 },
+ new JoinMetadata { Description = "Device Sync Detected", JoinCapabilities = eJoinCapabilities.ToSIMPL, JoinType = eJoinType.Digital });
+
+ [JoinName("VideoSource")]
+ public JoinDataComplete VideoSource = new JoinDataComplete(new JoinData { JoinNumber = 1, JoinSpan = 5 },
+ new JoinMetadata { Description = "Device Video Source Set / Get", JoinCapabilities = eJoinCapabilities.ToFromSIMPL, JoinType = eJoinType.Analog });
+
+ [JoinName("SourceCount")]
+ public JoinDataComplete SourceCount = new JoinDataComplete(new JoinData { JoinNumber = 2, JoinSpan = 5 },
+ new JoinMetadata { Description = "Device Video Source Count", JoinCapabilities = eJoinCapabilities.ToSIMPL, JoinType = eJoinType.Analog });
+
+ [JoinName("SourceNames")]
+ public JoinDataComplete SourceNames = new JoinDataComplete(new JoinData { JoinNumber = 11, JoinSpan = 5 },
+ new JoinMetadata { Description = "Device Video Source Name", JoinCapabilities = eJoinCapabilities.ToSIMPL, JoinType = eJoinType.Serial });
+
+
+ ///
+ /// Constructor to use when instantiating this Join Map without inheriting from it
+ ///
+ /// Join this join map will start at
+ public HdMdxxxCEControllerJoinMap(uint joinStart)
+ : this(joinStart, typeof(HdMdxxxCEControllerJoinMap))
+ {
+ }
+
+ ///
+ /// Constructor to use when extending this Join map
+ ///
+ /// Join this join map will start at
+ /// Type of the child join map
+ protected HdMdxxxCEControllerJoinMap(uint joinStart, Type type)
+ : base(joinStart, type)
+ {
}
}
}
\ No newline at end of file
diff --git a/essentials-framework/Essentials Core/PepperDashEssentialsBase/Bridges/JoinMaps/Hrxxx0WirelessRemoteControllerJoinMap.cs b/src/PepperDash.Essentials.Core/Bridges/JoinMaps/Hrxxx0WirelessRemoteControllerJoinMap.cs
similarity index 98%
rename from essentials-framework/Essentials Core/PepperDashEssentialsBase/Bridges/JoinMaps/Hrxxx0WirelessRemoteControllerJoinMap.cs
rename to src/PepperDash.Essentials.Core/Bridges/JoinMaps/Hrxxx0WirelessRemoteControllerJoinMap.cs
index c001733e..23305b20 100644
--- a/essentials-framework/Essentials Core/PepperDashEssentialsBase/Bridges/JoinMaps/Hrxxx0WirelessRemoteControllerJoinMap.cs
+++ b/src/PepperDash.Essentials.Core/Bridges/JoinMaps/Hrxxx0WirelessRemoteControllerJoinMap.cs
@@ -1,246 +1,246 @@
-using System;
-
-namespace PepperDash.Essentials.Core.Bridges
-{
- public class Hrxxx0WirelessRemoteControllerJoinMap : JoinMapBaseAdvanced
- {
- [JoinName("Power")]
- public JoinDataComplete Power = new JoinDataComplete(new JoinData { JoinNumber = 1, JoinSpan = 1 },
- new JoinMetadata { Description = "Power", JoinCapabilities = eJoinCapabilities.ToSIMPL, JoinType = eJoinType.Digital });
-
- [JoinName("Menu")]
- public JoinDataComplete Menu = new JoinDataComplete(new JoinData { JoinNumber = 2, JoinSpan = 1 },
- new JoinMetadata { Description = "Menu", JoinCapabilities = eJoinCapabilities.ToSIMPL, JoinType = eJoinType.Digital });
-
- [JoinName("Guide")]
- public JoinDataComplete Guide = new JoinDataComplete(new JoinData { JoinNumber = 3, JoinSpan = 1 },
- new JoinMetadata { Description = "Guide", JoinCapabilities = eJoinCapabilities.ToSIMPL, JoinType = eJoinType.Digital });
-
- [JoinName("Info")]
- public JoinDataComplete Info = new JoinDataComplete(new JoinData { JoinNumber = 4, JoinSpan = 1 },
- new JoinMetadata { Description = "Info", JoinCapabilities = eJoinCapabilities.ToSIMPL, JoinType = eJoinType.Digital });
-
- [JoinName("VolumeUp")]
- public JoinDataComplete VolumeUp = new JoinDataComplete(new JoinData { JoinNumber = 5, JoinSpan = 1 },
- new JoinMetadata { Description = "VolumeUp", JoinCapabilities = eJoinCapabilities.ToSIMPL, JoinType = eJoinType.Digital });
-
- [JoinName("VolumeDown")]
- public JoinDataComplete VolumeDown = new JoinDataComplete(new JoinData { JoinNumber = 6, JoinSpan = 1 },
- new JoinMetadata { Description = "VolumeDown", JoinCapabilities = eJoinCapabilities.ToSIMPL, JoinType = eJoinType.Digital });
-
- [JoinName("DialPadUp")]
- public JoinDataComplete DialPadUp = new JoinDataComplete(new JoinData { JoinNumber = 7, JoinSpan = 1 },
- new JoinMetadata { Description = "DialPadUp", JoinCapabilities = eJoinCapabilities.ToSIMPL, JoinType = eJoinType.Digital });
-
- [JoinName("DialPadDown")]
- public JoinDataComplete DialPadDown = new JoinDataComplete(new JoinData { JoinNumber = 8, JoinSpan = 1 },
- new JoinMetadata { Description = "DialPadDown", JoinCapabilities = eJoinCapabilities.ToSIMPL, JoinType = eJoinType.Digital });
-
- [JoinName("DialPadLeft")]
- public JoinDataComplete DialPadLeft = new JoinDataComplete(new JoinData { JoinNumber = 9, JoinSpan = 1 },
- new JoinMetadata { Description = "DialPadLeft", JoinCapabilities = eJoinCapabilities.ToSIMPL, JoinType = eJoinType.Digital });
-
- [JoinName("DialPadRight")]
- public JoinDataComplete DialPadRight = new JoinDataComplete(new JoinData { JoinNumber = 10, JoinSpan = 1 },
- new JoinMetadata { Description = "DialPadRight", JoinCapabilities = eJoinCapabilities.ToSIMPL, JoinType = eJoinType.Digital });
-
- [JoinName("DialPadSelect")]
- public JoinDataComplete DialPadSelect = new JoinDataComplete(new JoinData { JoinNumber = 11, JoinSpan = 1 },
- new JoinMetadata { Description = "DialPadSelect", JoinCapabilities = eJoinCapabilities.ToSIMPL, JoinType = eJoinType.Digital });
-
- [JoinName("ChannelUp")]
- public JoinDataComplete ChannelUp = new JoinDataComplete(new JoinData { JoinNumber = 12, JoinSpan = 1 },
- new JoinMetadata { Description = "ChannelUp", JoinCapabilities = eJoinCapabilities.ToSIMPL, JoinType = eJoinType.Digital });
-
- [JoinName("ChannelDown")]
- public JoinDataComplete ChannelDown = new JoinDataComplete(new JoinData { JoinNumber = 13, JoinSpan = 1 },
- new JoinMetadata { Description = "ChannelDown", JoinCapabilities = eJoinCapabilities.ToSIMPL, JoinType = eJoinType.Digital });
-
- [JoinName("Mute")]
- public JoinDataComplete Mute = new JoinDataComplete(new JoinData { JoinNumber = 14, JoinSpan = 1 },
- new JoinMetadata { Description = "Mute", JoinCapabilities = eJoinCapabilities.ToSIMPL, JoinType = eJoinType.Digital });
-
- [JoinName("Exit")]
- public JoinDataComplete Exit = new JoinDataComplete(new JoinData { JoinNumber = 15, JoinSpan = 1 },
- new JoinMetadata { Description = "Exit", JoinCapabilities = eJoinCapabilities.ToSIMPL, JoinType = eJoinType.Digital });
-
- [JoinName("Last")]
- public JoinDataComplete Last = new JoinDataComplete(new JoinData { JoinNumber = 16, JoinSpan = 1 },
- new JoinMetadata { Description = "Last", JoinCapabilities = eJoinCapabilities.ToSIMPL, JoinType = eJoinType.Digital });
-
- [JoinName("Play")]
- public JoinDataComplete Play = new JoinDataComplete(new JoinData { JoinNumber = 17, JoinSpan = 1 },
- new JoinMetadata { Description = "Play", JoinCapabilities = eJoinCapabilities.ToSIMPL, JoinType = eJoinType.Digital });
-
- [JoinName("Pause")]
- public JoinDataComplete Pause = new JoinDataComplete(new JoinData { JoinNumber = 18, JoinSpan = 1 },
- new JoinMetadata { Description = "Pause", JoinCapabilities = eJoinCapabilities.ToSIMPL, JoinType = eJoinType.Digital });
-
- [JoinName("Rewind")]
- public JoinDataComplete Rewind = new JoinDataComplete(new JoinData { JoinNumber = 19, JoinSpan = 1 },
- new JoinMetadata { Description = "Rewind", JoinCapabilities = eJoinCapabilities.ToSIMPL, JoinType = eJoinType.Digital });
-
- [JoinName("FastForward")]
- public JoinDataComplete FastForward = new JoinDataComplete(new JoinData { JoinNumber = 20, JoinSpan = 1 },
- new JoinMetadata { Description = "FastForward", JoinCapabilities = eJoinCapabilities.ToSIMPL, JoinType = eJoinType.Digital });
-
- [JoinName("PreviousTrack")]
- public JoinDataComplete PreviousTrack = new JoinDataComplete(new JoinData { JoinNumber = 21, JoinSpan = 1 },
- new JoinMetadata { Description = "PreviousTrack", JoinCapabilities = eJoinCapabilities.ToSIMPL, JoinType = eJoinType.Digital });
-
- [JoinName("NextTrack")]
- public JoinDataComplete NextTrack = new JoinDataComplete(new JoinData { JoinNumber = 22, JoinSpan = 1 },
- new JoinMetadata { Description = "NextTrack", JoinCapabilities = eJoinCapabilities.ToSIMPL, JoinType = eJoinType.Digital });
-
- [JoinName("Stop")]
- public JoinDataComplete Stop = new JoinDataComplete(new JoinData { JoinNumber = 23, JoinSpan = 1 },
- new JoinMetadata { Description = "Stop", JoinCapabilities = eJoinCapabilities.ToSIMPL, JoinType = eJoinType.Digital });
-
- [JoinName("Record")]
- public JoinDataComplete Record = new JoinDataComplete(new JoinData { JoinNumber = 24, JoinSpan = 1 },
- new JoinMetadata { Description = "Record", JoinCapabilities = eJoinCapabilities.ToSIMPL, JoinType = eJoinType.Digital });
-
- [JoinName("Dvr")]
- public JoinDataComplete Dvr = new JoinDataComplete(new JoinData { JoinNumber = 25, JoinSpan = 1 },
- new JoinMetadata { Description = "Dvr", JoinCapabilities = eJoinCapabilities.ToSIMPL, JoinType = eJoinType.Digital });
-
- [JoinName("Keypad1")]
- public JoinDataComplete Keypad1 = new JoinDataComplete(new JoinData { JoinNumber = 26, JoinSpan = 1 },
- new JoinMetadata { Description = "Keypad1", JoinCapabilities = eJoinCapabilities.ToSIMPL, JoinType = eJoinType.Digital });
-
- [JoinName("Keypad2Abc")]
- public JoinDataComplete Keypad2 = new JoinDataComplete(new JoinData { JoinNumber = 27, JoinSpan = 1 },
- new JoinMetadata { Description = "Keypad2Abc", JoinCapabilities = eJoinCapabilities.ToSIMPL, JoinType = eJoinType.Digital });
-
- [JoinName("Keypad3Def")]
- public JoinDataComplete Keypad3Def = new JoinDataComplete(new JoinData { JoinNumber = 28, JoinSpan = 1 },
- new JoinMetadata { Description = "Keypad3Def", JoinCapabilities = eJoinCapabilities.ToSIMPL, JoinType = eJoinType.Digital });
-
- [JoinName("Keypad4Ghi")]
- public JoinDataComplete Keypad4Ghi = new JoinDataComplete(new JoinData { JoinNumber = 29, JoinSpan = 1 },
- new JoinMetadata { Description = "Keypad4Ghi", JoinCapabilities = eJoinCapabilities.ToSIMPL, JoinType = eJoinType.Digital });
-
- [JoinName("Keypad5Jkl")]
- public JoinDataComplete Keypad5Jkl = new JoinDataComplete(new JoinData { JoinNumber = 30, JoinSpan = 1 },
- new JoinMetadata { Description = "Keypad5Jkl", JoinCapabilities = eJoinCapabilities.ToSIMPL, JoinType = eJoinType.Digital });
-
- [JoinName("Keypad6Mno")]
- public JoinDataComplete Keypad6Mno = new JoinDataComplete(new JoinData { JoinNumber = 31, JoinSpan = 1 },
- new JoinMetadata { Description = "Keypad6Mno", JoinCapabilities = eJoinCapabilities.ToSIMPL, JoinType = eJoinType.Digital });
-
- [JoinName("Keypad7Pqrs")]
- public JoinDataComplete Keypad7Pqrs = new JoinDataComplete(new JoinData { JoinNumber = 32, JoinSpan = 1 },
- new JoinMetadata { Description = "Keypad7Pqrs", JoinCapabilities = eJoinCapabilities.ToSIMPL, JoinType = eJoinType.Digital });
-
- [JoinName("Keypad8Tuv")]
- public JoinDataComplete Keypad8Tuv = new JoinDataComplete(new JoinData { JoinNumber = 33, JoinSpan = 1 },
- new JoinMetadata { Description = "Keypad8Tuv", JoinCapabilities = eJoinCapabilities.ToSIMPL, JoinType = eJoinType.Digital });
-
- [JoinName("Keypad9Wxyz")]
- public JoinDataComplete Keypad9Wxyz = new JoinDataComplete(new JoinData { JoinNumber = 34, JoinSpan = 1 },
- new JoinMetadata { Description = "Keypad9Wxyz", JoinCapabilities = eJoinCapabilities.ToSIMPL, JoinType = eJoinType.Digital });
-
- [JoinName("Keypad0")]
- public JoinDataComplete Keypad0 = new JoinDataComplete(new JoinData { JoinNumber = 35, JoinSpan = 1 },
- new JoinMetadata { Description = "Keypad0", JoinCapabilities = eJoinCapabilities.ToSIMPL, JoinType = eJoinType.Digital });
-
- [JoinName("Clear")]
- public JoinDataComplete Clear = new JoinDataComplete(new JoinData { JoinNumber = 36, JoinSpan = 1 },
- new JoinMetadata { Description = "Clear", JoinCapabilities = eJoinCapabilities.ToSIMPL, JoinType = eJoinType.Digital });
-
- [JoinName("Enter")]
- public JoinDataComplete Enter = new JoinDataComplete(new JoinData { JoinNumber = 37, JoinSpan = 1 },
- new JoinMetadata { Description = "Enter", JoinCapabilities = eJoinCapabilities.ToSIMPL, JoinType = eJoinType.Digital });
-
- [JoinName("Red")]
- public JoinDataComplete Red = new JoinDataComplete(new JoinData { JoinNumber = 38, JoinSpan = 1 },
- new JoinMetadata { Description = "Red", JoinCapabilities = eJoinCapabilities.ToSIMPL, JoinType = eJoinType.Digital });
-
- [JoinName("Green")]
- public JoinDataComplete Green = new JoinDataComplete(new JoinData { JoinNumber = 39, JoinSpan = 1 },
- new JoinMetadata { Description = "Green", JoinCapabilities = eJoinCapabilities.ToSIMPL, JoinType = eJoinType.Digital });
-
- [JoinName("Yellow")]
- public JoinDataComplete Yellow = new JoinDataComplete(new JoinData { JoinNumber = 40, JoinSpan = 1 },
- new JoinMetadata { Description = "Yellow", JoinCapabilities = eJoinCapabilities.ToSIMPL, JoinType = eJoinType.Digital });
-
- [JoinName("Blue")]
- public JoinDataComplete Blue = new JoinDataComplete(new JoinData { JoinNumber = 41, JoinSpan = 1 },
- new JoinMetadata { Description = "Blue", JoinCapabilities = eJoinCapabilities.ToSIMPL, JoinType = eJoinType.Digital });
-
- [JoinName("Custom1")]
- public JoinDataComplete Custom1 = new JoinDataComplete(new JoinData { JoinNumber = 42, JoinSpan = 1 },
- new JoinMetadata { Description = "Custom1", JoinCapabilities = eJoinCapabilities.ToSIMPL, JoinType = eJoinType.Digital });
-
- [JoinName("Custom2")]
- public JoinDataComplete Custom2 = new JoinDataComplete(new JoinData { JoinNumber = 43, JoinSpan = 1 },
- new JoinMetadata { Description = "Custom2", JoinCapabilities = eJoinCapabilities.ToSIMPL, JoinType = eJoinType.Digital });
-
- [JoinName("Custom3")]
- public JoinDataComplete Custom3 = new JoinDataComplete(new JoinData { JoinNumber = 44, JoinSpan = 1 },
- new JoinMetadata { Description = "Custom3", JoinCapabilities = eJoinCapabilities.ToSIMPL, JoinType = eJoinType.Digital });
-
- [JoinName("Custom4")]
- public JoinDataComplete Custom4 = new JoinDataComplete(new JoinData { JoinNumber = 45, JoinSpan = 1 },
- new JoinMetadata { Description = "Custom4", JoinCapabilities = eJoinCapabilities.ToSIMPL, JoinType = eJoinType.Digital });
-
- [JoinName("Custom5")]
- public JoinDataComplete Custom5 = new JoinDataComplete(new JoinData { JoinNumber = 46, JoinSpan = 1 },
- new JoinMetadata { Description = "Custom5", JoinCapabilities = eJoinCapabilities.ToSIMPL, JoinType = eJoinType.Digital });
-
- [JoinName("Custom6")]
- public JoinDataComplete Custom6 = new JoinDataComplete(new JoinData { JoinNumber = 47, JoinSpan = 1 },
- new JoinMetadata { Description = "Custom6", JoinCapabilities = eJoinCapabilities.ToSIMPL, JoinType = eJoinType.Digital });
-
- [JoinName("Custom7")]
- public JoinDataComplete Custom7 = new JoinDataComplete(new JoinData { JoinNumber = 48, JoinSpan = 1 },
- new JoinMetadata { Description = "Custom7", JoinCapabilities = eJoinCapabilities.ToSIMPL, JoinType = eJoinType.Digital });
-
- [JoinName("Custom8")]
- public JoinDataComplete Custom8 = new JoinDataComplete(new JoinData { JoinNumber = 49, JoinSpan = 1 },
- new JoinMetadata { Description = "Custom8", JoinCapabilities = eJoinCapabilities.ToSIMPL, JoinType = eJoinType.Digital });
-
- [JoinName("Custom9")]
- public JoinDataComplete Custom9 = new JoinDataComplete(new JoinData { JoinNumber = 50, JoinSpan = 1 },
- new JoinMetadata { Description = "Custom9", JoinCapabilities = eJoinCapabilities.ToSIMPL, JoinType = eJoinType.Digital });
-
- [JoinName("Fav")]
- public JoinDataComplete Fav = new JoinDataComplete(new JoinData { JoinNumber = 51, JoinSpan = 1 },
- new JoinMetadata { Description = "Fav", JoinCapabilities = eJoinCapabilities.ToSIMPL, JoinType = eJoinType.Digital });
-
- [JoinName("Home")]
- public JoinDataComplete Home = new JoinDataComplete(new JoinData { JoinNumber = 52, JoinSpan = 1 },
- new JoinMetadata { Description = "Home", JoinCapabilities = eJoinCapabilities.ToSIMPL, JoinType = eJoinType.Digital });
-
- [JoinName("BatteryLow")]
- public JoinDataComplete BatteryLow = new JoinDataComplete(new JoinData { JoinNumber = 53, JoinSpan = 1 },
- new JoinMetadata { Description = "BatteryLow", JoinCapabilities = eJoinCapabilities.ToSIMPL, JoinType = eJoinType.Digital });
-
- [JoinName("BatteryCritical")]
- public JoinDataComplete BatteryCritical = new JoinDataComplete(new JoinData { JoinNumber = 54, JoinSpan = 1 },
- new JoinMetadata { Description = "BatteryCritical", JoinCapabilities = eJoinCapabilities.ToSIMPL, JoinType = eJoinType.Digital });
-
- [JoinName("BatteryVoltage")]
- public JoinDataComplete BatteryVoltage = new JoinDataComplete(new JoinData { JoinNumber = 1, JoinSpan = 1 },
- new JoinMetadata { Description = "BatteryVoltage", JoinCapabilities = eJoinCapabilities.ToSIMPL, JoinType = eJoinType.Analog });
-
- ///
- /// Constructor to use when instantiating this Join Map without inheriting from it
- ///
- /// Join this join map will start at
- public Hrxxx0WirelessRemoteControllerJoinMap(uint joinStart)
- : this(joinStart, typeof(Hrxxx0WirelessRemoteControllerJoinMap))
- {
- }
-
- ///
- /// Constructor to use when extending this Join map
- ///
- /// Join this join map will start at
- /// Type of the child join map
- protected Hrxxx0WirelessRemoteControllerJoinMap(uint joinStart, Type type)
- : base(joinStart, type)
- {
- }
- }
+using System;
+
+namespace PepperDash.Essentials.Core.Bridges
+{
+ public class Hrxxx0WirelessRemoteControllerJoinMap : JoinMapBaseAdvanced
+ {
+ [JoinName("Power")]
+ public JoinDataComplete Power = new JoinDataComplete(new JoinData { JoinNumber = 1, JoinSpan = 1 },
+ new JoinMetadata { Description = "Power", JoinCapabilities = eJoinCapabilities.ToSIMPL, JoinType = eJoinType.Digital });
+
+ [JoinName("Menu")]
+ public JoinDataComplete Menu = new JoinDataComplete(new JoinData { JoinNumber = 2, JoinSpan = 1 },
+ new JoinMetadata { Description = "Menu", JoinCapabilities = eJoinCapabilities.ToSIMPL, JoinType = eJoinType.Digital });
+
+ [JoinName("Guide")]
+ public JoinDataComplete Guide = new JoinDataComplete(new JoinData { JoinNumber = 3, JoinSpan = 1 },
+ new JoinMetadata { Description = "Guide", JoinCapabilities = eJoinCapabilities.ToSIMPL, JoinType = eJoinType.Digital });
+
+ [JoinName("Info")]
+ public JoinDataComplete Info = new JoinDataComplete(new JoinData { JoinNumber = 4, JoinSpan = 1 },
+ new JoinMetadata { Description = "Info", JoinCapabilities = eJoinCapabilities.ToSIMPL, JoinType = eJoinType.Digital });
+
+ [JoinName("VolumeUp")]
+ public JoinDataComplete VolumeUp = new JoinDataComplete(new JoinData { JoinNumber = 5, JoinSpan = 1 },
+ new JoinMetadata { Description = "VolumeUp", JoinCapabilities = eJoinCapabilities.ToSIMPL, JoinType = eJoinType.Digital });
+
+ [JoinName("VolumeDown")]
+ public JoinDataComplete VolumeDown = new JoinDataComplete(new JoinData { JoinNumber = 6, JoinSpan = 1 },
+ new JoinMetadata { Description = "VolumeDown", JoinCapabilities = eJoinCapabilities.ToSIMPL, JoinType = eJoinType.Digital });
+
+ [JoinName("DialPadUp")]
+ public JoinDataComplete DialPadUp = new JoinDataComplete(new JoinData { JoinNumber = 7, JoinSpan = 1 },
+ new JoinMetadata { Description = "DialPadUp", JoinCapabilities = eJoinCapabilities.ToSIMPL, JoinType = eJoinType.Digital });
+
+ [JoinName("DialPadDown")]
+ public JoinDataComplete DialPadDown = new JoinDataComplete(new JoinData { JoinNumber = 8, JoinSpan = 1 },
+ new JoinMetadata { Description = "DialPadDown", JoinCapabilities = eJoinCapabilities.ToSIMPL, JoinType = eJoinType.Digital });
+
+ [JoinName("DialPadLeft")]
+ public JoinDataComplete DialPadLeft = new JoinDataComplete(new JoinData { JoinNumber = 9, JoinSpan = 1 },
+ new JoinMetadata { Description = "DialPadLeft", JoinCapabilities = eJoinCapabilities.ToSIMPL, JoinType = eJoinType.Digital });
+
+ [JoinName("DialPadRight")]
+ public JoinDataComplete DialPadRight = new JoinDataComplete(new JoinData { JoinNumber = 10, JoinSpan = 1 },
+ new JoinMetadata { Description = "DialPadRight", JoinCapabilities = eJoinCapabilities.ToSIMPL, JoinType = eJoinType.Digital });
+
+ [JoinName("DialPadSelect")]
+ public JoinDataComplete DialPadSelect = new JoinDataComplete(new JoinData { JoinNumber = 11, JoinSpan = 1 },
+ new JoinMetadata { Description = "DialPadSelect", JoinCapabilities = eJoinCapabilities.ToSIMPL, JoinType = eJoinType.Digital });
+
+ [JoinName("ChannelUp")]
+ public JoinDataComplete ChannelUp = new JoinDataComplete(new JoinData { JoinNumber = 12, JoinSpan = 1 },
+ new JoinMetadata { Description = "ChannelUp", JoinCapabilities = eJoinCapabilities.ToSIMPL, JoinType = eJoinType.Digital });
+
+ [JoinName("ChannelDown")]
+ public JoinDataComplete ChannelDown = new JoinDataComplete(new JoinData { JoinNumber = 13, JoinSpan = 1 },
+ new JoinMetadata { Description = "ChannelDown", JoinCapabilities = eJoinCapabilities.ToSIMPL, JoinType = eJoinType.Digital });
+
+ [JoinName("Mute")]
+ public JoinDataComplete Mute = new JoinDataComplete(new JoinData { JoinNumber = 14, JoinSpan = 1 },
+ new JoinMetadata { Description = "Mute", JoinCapabilities = eJoinCapabilities.ToSIMPL, JoinType = eJoinType.Digital });
+
+ [JoinName("Exit")]
+ public JoinDataComplete Exit = new JoinDataComplete(new JoinData { JoinNumber = 15, JoinSpan = 1 },
+ new JoinMetadata { Description = "Exit", JoinCapabilities = eJoinCapabilities.ToSIMPL, JoinType = eJoinType.Digital });
+
+ [JoinName("Last")]
+ public JoinDataComplete Last = new JoinDataComplete(new JoinData { JoinNumber = 16, JoinSpan = 1 },
+ new JoinMetadata { Description = "Last", JoinCapabilities = eJoinCapabilities.ToSIMPL, JoinType = eJoinType.Digital });
+
+ [JoinName("Play")]
+ public JoinDataComplete Play = new JoinDataComplete(new JoinData { JoinNumber = 17, JoinSpan = 1 },
+ new JoinMetadata { Description = "Play", JoinCapabilities = eJoinCapabilities.ToSIMPL, JoinType = eJoinType.Digital });
+
+ [JoinName("Pause")]
+ public JoinDataComplete Pause = new JoinDataComplete(new JoinData { JoinNumber = 18, JoinSpan = 1 },
+ new JoinMetadata { Description = "Pause", JoinCapabilities = eJoinCapabilities.ToSIMPL, JoinType = eJoinType.Digital });
+
+ [JoinName("Rewind")]
+ public JoinDataComplete Rewind = new JoinDataComplete(new JoinData { JoinNumber = 19, JoinSpan = 1 },
+ new JoinMetadata { Description = "Rewind", JoinCapabilities = eJoinCapabilities.ToSIMPL, JoinType = eJoinType.Digital });
+
+ [JoinName("FastForward")]
+ public JoinDataComplete FastForward = new JoinDataComplete(new JoinData { JoinNumber = 20, JoinSpan = 1 },
+ new JoinMetadata { Description = "FastForward", JoinCapabilities = eJoinCapabilities.ToSIMPL, JoinType = eJoinType.Digital });
+
+ [JoinName("PreviousTrack")]
+ public JoinDataComplete PreviousTrack = new JoinDataComplete(new JoinData { JoinNumber = 21, JoinSpan = 1 },
+ new JoinMetadata { Description = "PreviousTrack", JoinCapabilities = eJoinCapabilities.ToSIMPL, JoinType = eJoinType.Digital });
+
+ [JoinName("NextTrack")]
+ public JoinDataComplete NextTrack = new JoinDataComplete(new JoinData { JoinNumber = 22, JoinSpan = 1 },
+ new JoinMetadata { Description = "NextTrack", JoinCapabilities = eJoinCapabilities.ToSIMPL, JoinType = eJoinType.Digital });
+
+ [JoinName("Stop")]
+ public JoinDataComplete Stop = new JoinDataComplete(new JoinData { JoinNumber = 23, JoinSpan = 1 },
+ new JoinMetadata { Description = "Stop", JoinCapabilities = eJoinCapabilities.ToSIMPL, JoinType = eJoinType.Digital });
+
+ [JoinName("Record")]
+ public JoinDataComplete Record = new JoinDataComplete(new JoinData { JoinNumber = 24, JoinSpan = 1 },
+ new JoinMetadata { Description = "Record", JoinCapabilities = eJoinCapabilities.ToSIMPL, JoinType = eJoinType.Digital });
+
+ [JoinName("Dvr")]
+ public JoinDataComplete Dvr = new JoinDataComplete(new JoinData { JoinNumber = 25, JoinSpan = 1 },
+ new JoinMetadata { Description = "Dvr", JoinCapabilities = eJoinCapabilities.ToSIMPL, JoinType = eJoinType.Digital });
+
+ [JoinName("Keypad1")]
+ public JoinDataComplete Keypad1 = new JoinDataComplete(new JoinData { JoinNumber = 26, JoinSpan = 1 },
+ new JoinMetadata { Description = "Keypad1", JoinCapabilities = eJoinCapabilities.ToSIMPL, JoinType = eJoinType.Digital });
+
+ [JoinName("Keypad2Abc")]
+ public JoinDataComplete Keypad2 = new JoinDataComplete(new JoinData { JoinNumber = 27, JoinSpan = 1 },
+ new JoinMetadata { Description = "Keypad2Abc", JoinCapabilities = eJoinCapabilities.ToSIMPL, JoinType = eJoinType.Digital });
+
+ [JoinName("Keypad3Def")]
+ public JoinDataComplete Keypad3Def = new JoinDataComplete(new JoinData { JoinNumber = 28, JoinSpan = 1 },
+ new JoinMetadata { Description = "Keypad3Def", JoinCapabilities = eJoinCapabilities.ToSIMPL, JoinType = eJoinType.Digital });
+
+ [JoinName("Keypad4Ghi")]
+ public JoinDataComplete Keypad4Ghi = new JoinDataComplete(new JoinData { JoinNumber = 29, JoinSpan = 1 },
+ new JoinMetadata { Description = "Keypad4Ghi", JoinCapabilities = eJoinCapabilities.ToSIMPL, JoinType = eJoinType.Digital });
+
+ [JoinName("Keypad5Jkl")]
+ public JoinDataComplete Keypad5Jkl = new JoinDataComplete(new JoinData { JoinNumber = 30, JoinSpan = 1 },
+ new JoinMetadata { Description = "Keypad5Jkl", JoinCapabilities = eJoinCapabilities.ToSIMPL, JoinType = eJoinType.Digital });
+
+ [JoinName("Keypad6Mno")]
+ public JoinDataComplete Keypad6Mno = new JoinDataComplete(new JoinData { JoinNumber = 31, JoinSpan = 1 },
+ new JoinMetadata { Description = "Keypad6Mno", JoinCapabilities = eJoinCapabilities.ToSIMPL, JoinType = eJoinType.Digital });
+
+ [JoinName("Keypad7Pqrs")]
+ public JoinDataComplete Keypad7Pqrs = new JoinDataComplete(new JoinData { JoinNumber = 32, JoinSpan = 1 },
+ new JoinMetadata { Description = "Keypad7Pqrs", JoinCapabilities = eJoinCapabilities.ToSIMPL, JoinType = eJoinType.Digital });
+
+ [JoinName("Keypad8Tuv")]
+ public JoinDataComplete Keypad8Tuv = new JoinDataComplete(new JoinData { JoinNumber = 33, JoinSpan = 1 },
+ new JoinMetadata { Description = "Keypad8Tuv", JoinCapabilities = eJoinCapabilities.ToSIMPL, JoinType = eJoinType.Digital });
+
+ [JoinName("Keypad9Wxyz")]
+ public JoinDataComplete Keypad9Wxyz = new JoinDataComplete(new JoinData { JoinNumber = 34, JoinSpan = 1 },
+ new JoinMetadata { Description = "Keypad9Wxyz", JoinCapabilities = eJoinCapabilities.ToSIMPL, JoinType = eJoinType.Digital });
+
+ [JoinName("Keypad0")]
+ public JoinDataComplete Keypad0 = new JoinDataComplete(new JoinData { JoinNumber = 35, JoinSpan = 1 },
+ new JoinMetadata { Description = "Keypad0", JoinCapabilities = eJoinCapabilities.ToSIMPL, JoinType = eJoinType.Digital });
+
+ [JoinName("Clear")]
+ public JoinDataComplete Clear = new JoinDataComplete(new JoinData { JoinNumber = 36, JoinSpan = 1 },
+ new JoinMetadata { Description = "Clear", JoinCapabilities = eJoinCapabilities.ToSIMPL, JoinType = eJoinType.Digital });
+
+ [JoinName("Enter")]
+ public JoinDataComplete Enter = new JoinDataComplete(new JoinData { JoinNumber = 37, JoinSpan = 1 },
+ new JoinMetadata { Description = "Enter", JoinCapabilities = eJoinCapabilities.ToSIMPL, JoinType = eJoinType.Digital });
+
+ [JoinName("Red")]
+ public JoinDataComplete Red = new JoinDataComplete(new JoinData { JoinNumber = 38, JoinSpan = 1 },
+ new JoinMetadata { Description = "Red", JoinCapabilities = eJoinCapabilities.ToSIMPL, JoinType = eJoinType.Digital });
+
+ [JoinName("Green")]
+ public JoinDataComplete Green = new JoinDataComplete(new JoinData { JoinNumber = 39, JoinSpan = 1 },
+ new JoinMetadata { Description = "Green", JoinCapabilities = eJoinCapabilities.ToSIMPL, JoinType = eJoinType.Digital });
+
+ [JoinName("Yellow")]
+ public JoinDataComplete Yellow = new JoinDataComplete(new JoinData { JoinNumber = 40, JoinSpan = 1 },
+ new JoinMetadata { Description = "Yellow", JoinCapabilities = eJoinCapabilities.ToSIMPL, JoinType = eJoinType.Digital });
+
+ [JoinName("Blue")]
+ public JoinDataComplete Blue = new JoinDataComplete(new JoinData { JoinNumber = 41, JoinSpan = 1 },
+ new JoinMetadata { Description = "Blue", JoinCapabilities = eJoinCapabilities.ToSIMPL, JoinType = eJoinType.Digital });
+
+ [JoinName("Custom1")]
+ public JoinDataComplete Custom1 = new JoinDataComplete(new JoinData { JoinNumber = 42, JoinSpan = 1 },
+ new JoinMetadata { Description = "Custom1", JoinCapabilities = eJoinCapabilities.ToSIMPL, JoinType = eJoinType.Digital });
+
+ [JoinName("Custom2")]
+ public JoinDataComplete Custom2 = new JoinDataComplete(new JoinData { JoinNumber = 43, JoinSpan = 1 },
+ new JoinMetadata { Description = "Custom2", JoinCapabilities = eJoinCapabilities.ToSIMPL, JoinType = eJoinType.Digital });
+
+ [JoinName("Custom3")]
+ public JoinDataComplete Custom3 = new JoinDataComplete(new JoinData { JoinNumber = 44, JoinSpan = 1 },
+ new JoinMetadata { Description = "Custom3", JoinCapabilities = eJoinCapabilities.ToSIMPL, JoinType = eJoinType.Digital });
+
+ [JoinName("Custom4")]
+ public JoinDataComplete Custom4 = new JoinDataComplete(new JoinData { JoinNumber = 45, JoinSpan = 1 },
+ new JoinMetadata { Description = "Custom4", JoinCapabilities = eJoinCapabilities.ToSIMPL, JoinType = eJoinType.Digital });
+
+ [JoinName("Custom5")]
+ public JoinDataComplete Custom5 = new JoinDataComplete(new JoinData { JoinNumber = 46, JoinSpan = 1 },
+ new JoinMetadata { Description = "Custom5", JoinCapabilities = eJoinCapabilities.ToSIMPL, JoinType = eJoinType.Digital });
+
+ [JoinName("Custom6")]
+ public JoinDataComplete Custom6 = new JoinDataComplete(new JoinData { JoinNumber = 47, JoinSpan = 1 },
+ new JoinMetadata { Description = "Custom6", JoinCapabilities = eJoinCapabilities.ToSIMPL, JoinType = eJoinType.Digital });
+
+ [JoinName("Custom7")]
+ public JoinDataComplete Custom7 = new JoinDataComplete(new JoinData { JoinNumber = 48, JoinSpan = 1 },
+ new JoinMetadata { Description = "Custom7", JoinCapabilities = eJoinCapabilities.ToSIMPL, JoinType = eJoinType.Digital });
+
+ [JoinName("Custom8")]
+ public JoinDataComplete Custom8 = new JoinDataComplete(new JoinData { JoinNumber = 49, JoinSpan = 1 },
+ new JoinMetadata { Description = "Custom8", JoinCapabilities = eJoinCapabilities.ToSIMPL, JoinType = eJoinType.Digital });
+
+ [JoinName("Custom9")]
+ public JoinDataComplete Custom9 = new JoinDataComplete(new JoinData { JoinNumber = 50, JoinSpan = 1 },
+ new JoinMetadata { Description = "Custom9", JoinCapabilities = eJoinCapabilities.ToSIMPL, JoinType = eJoinType.Digital });
+
+ [JoinName("Fav")]
+ public JoinDataComplete Fav = new JoinDataComplete(new JoinData { JoinNumber = 51, JoinSpan = 1 },
+ new JoinMetadata { Description = "Fav", JoinCapabilities = eJoinCapabilities.ToSIMPL, JoinType = eJoinType.Digital });
+
+ [JoinName("Home")]
+ public JoinDataComplete Home = new JoinDataComplete(new JoinData { JoinNumber = 52, JoinSpan = 1 },
+ new JoinMetadata { Description = "Home", JoinCapabilities = eJoinCapabilities.ToSIMPL, JoinType = eJoinType.Digital });
+
+ [JoinName("BatteryLow")]
+ public JoinDataComplete BatteryLow = new JoinDataComplete(new JoinData { JoinNumber = 53, JoinSpan = 1 },
+ new JoinMetadata { Description = "BatteryLow", JoinCapabilities = eJoinCapabilities.ToSIMPL, JoinType = eJoinType.Digital });
+
+ [JoinName("BatteryCritical")]
+ public JoinDataComplete BatteryCritical = new JoinDataComplete(new JoinData { JoinNumber = 54, JoinSpan = 1 },
+ new JoinMetadata { Description = "BatteryCritical", JoinCapabilities = eJoinCapabilities.ToSIMPL, JoinType = eJoinType.Digital });
+
+ [JoinName("BatteryVoltage")]
+ public JoinDataComplete BatteryVoltage = new JoinDataComplete(new JoinData { JoinNumber = 1, JoinSpan = 1 },
+ new JoinMetadata { Description = "BatteryVoltage", JoinCapabilities = eJoinCapabilities.ToSIMPL, JoinType = eJoinType.Analog });
+
+ ///
+ /// Constructor to use when instantiating this Join Map without inheriting from it
+ ///
+ /// Join this join map will start at
+ public Hrxxx0WirelessRemoteControllerJoinMap(uint joinStart)
+ : this(joinStart, typeof(Hrxxx0WirelessRemoteControllerJoinMap))
+ {
+ }
+
+ ///
+ /// Constructor to use when extending this Join map
+ ///
+ /// Join this join map will start at
+ /// Type of the child join map
+ protected Hrxxx0WirelessRemoteControllerJoinMap(uint joinStart, Type type)
+ : base(joinStart, type)
+ {
+ }
+ }
}
\ No newline at end of file
diff --git a/essentials-framework/Essentials Core/PepperDashEssentialsBase/Bridges/JoinMaps/IBasicCommunicationJoinMap.cs b/src/PepperDash.Essentials.Core/Bridges/JoinMaps/IBasicCommunicationJoinMap.cs
similarity index 98%
rename from essentials-framework/Essentials Core/PepperDashEssentialsBase/Bridges/JoinMaps/IBasicCommunicationJoinMap.cs
rename to src/PepperDash.Essentials.Core/Bridges/JoinMaps/IBasicCommunicationJoinMap.cs
index 18b98fe6..0d077284 100644
--- a/essentials-framework/Essentials Core/PepperDashEssentialsBase/Bridges/JoinMaps/IBasicCommunicationJoinMap.cs
+++ b/src/PepperDash.Essentials.Core/Bridges/JoinMaps/IBasicCommunicationJoinMap.cs
@@ -1,50 +1,50 @@
-using System;
-
-namespace PepperDash.Essentials.Core.Bridges
-{
- public class IBasicCommunicationJoinMap : JoinMapBaseAdvanced
- {
- [JoinName("TextReceived")]
- public JoinDataComplete TextReceived = new JoinDataComplete(new JoinData { JoinNumber = 1, JoinSpan = 1 },
- new JoinMetadata { Description = "Text Received From Remote Device", JoinCapabilities = eJoinCapabilities.ToSIMPL, JoinType = eJoinType.Serial });
-
- [JoinName("SendText")]
- public JoinDataComplete SendText = new JoinDataComplete(new JoinData { JoinNumber = 1, JoinSpan = 1 },
- new JoinMetadata { Description = "Text Sent To Remote Device", JoinCapabilities = eJoinCapabilities.FromSIMPL, JoinType = eJoinType.Serial });
-
- [JoinName("SetPortConfig")]
- public JoinDataComplete SetPortConfig = new JoinDataComplete(new JoinData { JoinNumber = 2, JoinSpan = 1 },
- new JoinMetadata { Description = "Set Port Config", JoinCapabilities = eJoinCapabilities.FromSIMPL, JoinType = eJoinType.Serial });
-
- [JoinName("Connect")]
- public JoinDataComplete Connect = new JoinDataComplete(new JoinData { JoinNumber = 1, JoinSpan = 1 },
- new JoinMetadata { Description = "Connect", JoinCapabilities = eJoinCapabilities.FromSIMPL, JoinType = eJoinType.Digital });
-
- [JoinName("Connected")]
- public JoinDataComplete Connected = new JoinDataComplete(new JoinData { JoinNumber = 1, JoinSpan = 1 },
- new JoinMetadata { Description = "Connected", JoinCapabilities = eJoinCapabilities.ToSIMPL, JoinType = eJoinType.Digital });
-
- [JoinName("Status")]
- public JoinDataComplete Status = new JoinDataComplete(new JoinData { JoinNumber = 1, JoinSpan = 1 },
- new JoinMetadata { Description = "Status", JoinCapabilities = eJoinCapabilities.ToSIMPL, JoinType = eJoinType.Analog });
-
- ///
- /// Constructor to use when instantiating this Join Map without inheriting from it
- ///
- /// Join this join map will start at
- public IBasicCommunicationJoinMap(uint joinStart)
- : this(joinStart, typeof(IBasicCommunicationJoinMap))
- {
- }
-
- ///
- /// Constructor to use when extending this Join map
- ///
- /// Join this join map will start at
- /// Type of the child join map
- protected IBasicCommunicationJoinMap(uint joinStart, Type type)
- : base(joinStart, type)
- {
- }
- }
+using System;
+
+namespace PepperDash.Essentials.Core.Bridges
+{
+ public class IBasicCommunicationJoinMap : JoinMapBaseAdvanced
+ {
+ [JoinName("TextReceived")]
+ public JoinDataComplete TextReceived = new JoinDataComplete(new JoinData { JoinNumber = 1, JoinSpan = 1 },
+ new JoinMetadata { Description = "Text Received From Remote Device", JoinCapabilities = eJoinCapabilities.ToSIMPL, JoinType = eJoinType.Serial });
+
+ [JoinName("SendText")]
+ public JoinDataComplete SendText = new JoinDataComplete(new JoinData { JoinNumber = 1, JoinSpan = 1 },
+ new JoinMetadata { Description = "Text Sent To Remote Device", JoinCapabilities = eJoinCapabilities.FromSIMPL, JoinType = eJoinType.Serial });
+
+ [JoinName("SetPortConfig")]
+ public JoinDataComplete SetPortConfig = new JoinDataComplete(new JoinData { JoinNumber = 2, JoinSpan = 1 },
+ new JoinMetadata { Description = "Set Port Config", JoinCapabilities = eJoinCapabilities.FromSIMPL, JoinType = eJoinType.Serial });
+
+ [JoinName("Connect")]
+ public JoinDataComplete Connect = new JoinDataComplete(new JoinData { JoinNumber = 1, JoinSpan = 1 },
+ new JoinMetadata { Description = "Connect", JoinCapabilities = eJoinCapabilities.FromSIMPL, JoinType = eJoinType.Digital });
+
+ [JoinName("Connected")]
+ public JoinDataComplete Connected = new JoinDataComplete(new JoinData { JoinNumber = 1, JoinSpan = 1 },
+ new JoinMetadata { Description = "Connected", JoinCapabilities = eJoinCapabilities.ToSIMPL, JoinType = eJoinType.Digital });
+
+ [JoinName("Status")]
+ public JoinDataComplete Status = new JoinDataComplete(new JoinData { JoinNumber = 1, JoinSpan = 1 },
+ new JoinMetadata { Description = "Status", JoinCapabilities = eJoinCapabilities.ToSIMPL, JoinType = eJoinType.Analog });
+
+ ///
+ /// Constructor to use when instantiating this Join Map without inheriting from it
+ ///
+ /// Join this join map will start at
+ public IBasicCommunicationJoinMap(uint joinStart)
+ : this(joinStart, typeof(IBasicCommunicationJoinMap))
+ {
+ }
+
+ ///
+ /// Constructor to use when extending this Join map
+ ///
+ /// Join this join map will start at
+ /// Type of the child join map
+ protected IBasicCommunicationJoinMap(uint joinStart, Type type)
+ : base(joinStart, type)
+ {
+ }
+ }
}
\ No newline at end of file
diff --git a/essentials-framework/Essentials Core/PepperDashEssentialsBase/Bridges/JoinMaps/IDigitalInputJoinMap.cs b/src/PepperDash.Essentials.Core/Bridges/JoinMaps/IDigitalInputJoinMap.cs
similarity index 98%
rename from essentials-framework/Essentials Core/PepperDashEssentialsBase/Bridges/JoinMaps/IDigitalInputJoinMap.cs
rename to src/PepperDash.Essentials.Core/Bridges/JoinMaps/IDigitalInputJoinMap.cs
index 085a33bd..506d8473 100644
--- a/essentials-framework/Essentials Core/PepperDashEssentialsBase/Bridges/JoinMaps/IDigitalInputJoinMap.cs
+++ b/src/PepperDash.Essentials.Core/Bridges/JoinMaps/IDigitalInputJoinMap.cs
@@ -1,31 +1,31 @@
-using System;
-
+using System;
+
namespace PepperDash.Essentials.Core.Bridges
{
public class IDigitalInputJoinMap : JoinMapBaseAdvanced
{
- [JoinName("InputState")]
- public JoinDataComplete InputState = new JoinDataComplete(new JoinData { JoinNumber = 1, JoinSpan = 1 },
- new JoinMetadata { Description = "Room Email Url", JoinCapabilities = eJoinCapabilities.ToSIMPL, JoinType = eJoinType.Digital });
-
- ///
- /// Constructor to use when instantiating this Join Map without inheriting from it
- ///
- /// Join this join map will start at
- public IDigitalInputJoinMap(uint joinStart)
- : this(joinStart, typeof(IDigitalInputJoinMap))
- {
- }
-
- ///
- /// Constructor to use when extending this Join map
- ///
- /// Join this join map will start at
- /// Type of the child join map
- protected IDigitalInputJoinMap(uint joinStart, Type type)
- : base(joinStart, type)
- {
+ [JoinName("InputState")]
+ public JoinDataComplete InputState = new JoinDataComplete(new JoinData { JoinNumber = 1, JoinSpan = 1 },
+ new JoinMetadata { Description = "Room Email Url", JoinCapabilities = eJoinCapabilities.ToSIMPL, JoinType = eJoinType.Digital });
+
+ ///
+ /// Constructor to use when instantiating this Join Map without inheriting from it
+ ///
+ /// Join this join map will start at
+ public IDigitalInputJoinMap(uint joinStart)
+ : this(joinStart, typeof(IDigitalInputJoinMap))
+ {
+ }
+
+ ///
+ /// Constructor to use when extending this Join map
+ ///
+ /// Join this join map will start at
+ /// Type of the child join map
+ protected IDigitalInputJoinMap(uint joinStart, Type type)
+ : base(joinStart, type)
+ {
}
}
}
\ No newline at end of file
diff --git a/essentials-framework/Essentials Core/PepperDashEssentialsBase/Bridges/JoinMaps/IRBlurayBaseJoinMap.cs b/src/PepperDash.Essentials.Core/Bridges/JoinMaps/IRBlurayBaseJoinMap.cs
similarity index 100%
rename from essentials-framework/Essentials Core/PepperDashEssentialsBase/Bridges/JoinMaps/IRBlurayBaseJoinMap.cs
rename to src/PepperDash.Essentials.Core/Bridges/JoinMaps/IRBlurayBaseJoinMap.cs
diff --git a/essentials-framework/Essentials Core/PepperDashEssentialsBase/Bridges/JoinMaps/SetTopBoxControllerJoinMap.cs b/src/PepperDash.Essentials.Core/Bridges/JoinMaps/SetTopBoxControllerJoinMap.cs
similarity index 98%
rename from essentials-framework/Essentials Core/PepperDashEssentialsBase/Bridges/JoinMaps/SetTopBoxControllerJoinMap.cs
rename to src/PepperDash.Essentials.Core/Bridges/JoinMaps/SetTopBoxControllerJoinMap.cs
index a65c537c..ec0ff8d2 100644
--- a/essentials-framework/Essentials Core/PepperDashEssentialsBase/Bridges/JoinMaps/SetTopBoxControllerJoinMap.cs
+++ b/src/PepperDash.Essentials.Core/Bridges/JoinMaps/SetTopBoxControllerJoinMap.cs
@@ -1,240 +1,240 @@
-using System;
-
-
-namespace PepperDash.Essentials.Core.Bridges
-{
- public class SetTopBoxControllerJoinMap : JoinMapBaseAdvanced
- {
- [JoinName("PowerOn")]
- public JoinDataComplete PowerOn = new JoinDataComplete(new JoinData { JoinNumber = 1, JoinSpan = 1 },
- new JoinMetadata { Description = "STB Power On", JoinCapabilities = eJoinCapabilities.FromSIMPL, JoinType = eJoinType.Digital });
-
- [JoinName("PowerOff")]
- public JoinDataComplete PowerOff = new JoinDataComplete(new JoinData { JoinNumber = 2, JoinSpan = 1 },
- new JoinMetadata { Description = "STB Power Off", JoinCapabilities = eJoinCapabilities.FromSIMPL, JoinType = eJoinType.Digital });
-
- [JoinName("PowerToggle")]
- public JoinDataComplete PowerToggle = new JoinDataComplete(new JoinData { JoinNumber = 3, JoinSpan = 1 },
- new JoinMetadata { Description = "STB Power Toggle", JoinCapabilities = eJoinCapabilities.FromSIMPL, JoinType = eJoinType.Digital });
-
- [JoinName("HasDpad")]
- public JoinDataComplete HasDpad = new JoinDataComplete(new JoinData { JoinNumber = 4, JoinSpan = 1 },
- new JoinMetadata { Description = "STB Has DPad", JoinCapabilities = eJoinCapabilities.ToSIMPL, JoinType = eJoinType.Digital });
-
- [JoinName("Up")]
- public JoinDataComplete Up = new JoinDataComplete(new JoinData { JoinNumber = 4, JoinSpan = 1 },
- new JoinMetadata { Description = "STB Nav Up", JoinCapabilities = eJoinCapabilities.FromSIMPL, JoinType = eJoinType.Digital });
-
- [JoinName("Down")]
- public JoinDataComplete Down = new JoinDataComplete(new JoinData { JoinNumber = 5, JoinSpan = 1 },
- new JoinMetadata { Description = "STB Nav Down", JoinCapabilities = eJoinCapabilities.FromSIMPL, JoinType = eJoinType.Digital });
-
- [JoinName("Left")]
- public JoinDataComplete Left = new JoinDataComplete(new JoinData { JoinNumber = 6, JoinSpan = 1 },
- new JoinMetadata { Description = "STB Nav Left", JoinCapabilities = eJoinCapabilities.FromSIMPL, JoinType = eJoinType.Digital });
-
- [JoinName("Right")]
- public JoinDataComplete Right = new JoinDataComplete(new JoinData { JoinNumber = 7, JoinSpan = 1 },
- new JoinMetadata { Description = "STB Nav Right", JoinCapabilities = eJoinCapabilities.FromSIMPL, JoinType = eJoinType.Digital });
-
- [JoinName("Select")]
- public JoinDataComplete Select = new JoinDataComplete(new JoinData { JoinNumber = 8, JoinSpan = 1 },
- new JoinMetadata { Description = "STB Select", JoinCapabilities = eJoinCapabilities.FromSIMPL, JoinType = eJoinType.Digital });
-
- [JoinName("Menu")]
- public JoinDataComplete Menu = new JoinDataComplete(new JoinData { JoinNumber = 9, JoinSpan = 1 },
- new JoinMetadata { Description = "STB Menu", JoinCapabilities = eJoinCapabilities.FromSIMPL, JoinType = eJoinType.Digital });
-
- [JoinName("Exit")]
- public JoinDataComplete Exit = new JoinDataComplete(new JoinData { JoinNumber = 10, JoinSpan = 1 },
- new JoinMetadata { Description = "STB Exit", JoinCapabilities = eJoinCapabilities.FromSIMPL, JoinType = eJoinType.Digital });
-
- [JoinName("HasNumeric")]
- public JoinDataComplete HasNumeric = new JoinDataComplete(new JoinData { JoinNumber = 11, JoinSpan = 1 },
- new JoinMetadata { Description = "STB Has Numeric", JoinCapabilities = eJoinCapabilities.ToSIMPL, JoinType = eJoinType.Digital });
-
- [JoinName("Digit0")]
- public JoinDataComplete Digit0 = new JoinDataComplete(new JoinData { JoinNumber = 11, JoinSpan = 1 },
- new JoinMetadata { Description = "STB Digit 0", JoinCapabilities = eJoinCapabilities.FromSIMPL, JoinType = eJoinType.Digital });
-
- [JoinName("Digit1")]
- public JoinDataComplete Digit1 = new JoinDataComplete(new JoinData { JoinNumber = 12, JoinSpan = 1 },
- new JoinMetadata { Description = "STB Digit 1", JoinCapabilities = eJoinCapabilities.FromSIMPL, JoinType = eJoinType.Digital });
-
- [JoinName("Digit2")]
- public JoinDataComplete Digit2 = new JoinDataComplete(new JoinData { JoinNumber = 13, JoinSpan = 1 },
- new JoinMetadata { Description = "STB Digit 2", JoinCapabilities = eJoinCapabilities.FromSIMPL, JoinType = eJoinType.Digital });
-
- [JoinName("Digit3")]
- public JoinDataComplete Digit3 = new JoinDataComplete(new JoinData { JoinNumber = 14, JoinSpan = 1 },
- new JoinMetadata { Description = "STB Digit 3", JoinCapabilities = eJoinCapabilities.FromSIMPL, JoinType = eJoinType.Digital });
-
- [JoinName("Digit4")]
- public JoinDataComplete Digit4 = new JoinDataComplete(new JoinData { JoinNumber = 15, JoinSpan = 1 },
- new JoinMetadata { Description = "STB Digit 4", JoinCapabilities = eJoinCapabilities.FromSIMPL, JoinType = eJoinType.Digital });
-
- [JoinName("Digit5")]
- public JoinDataComplete Digit5 = new JoinDataComplete(new JoinData { JoinNumber = 16, JoinSpan = 1 },
- new JoinMetadata { Description = "STB Digit 5", JoinCapabilities = eJoinCapabilities.FromSIMPL, JoinType = eJoinType.Digital });
-
- [JoinName("Digit6")]
- public JoinDataComplete Digit6 = new JoinDataComplete(new JoinData { JoinNumber = 17, JoinSpan = 1 },
- new JoinMetadata { Description = "STB Digit 6", JoinCapabilities = eJoinCapabilities.FromSIMPL, JoinType = eJoinType.Digital });
-
- [JoinName("Digit7")]
- public JoinDataComplete Digit7 = new JoinDataComplete(new JoinData { JoinNumber = 18, JoinSpan = 1 },
- new JoinMetadata { Description = "STB Digit 7", JoinCapabilities = eJoinCapabilities.FromSIMPL, JoinType = eJoinType.Digital });
-
- [JoinName("Digit8")]
- public JoinDataComplete Digit8 = new JoinDataComplete(new JoinData { JoinNumber = 19, JoinSpan = 1 },
- new JoinMetadata { Description = "STB Digit 8", JoinCapabilities = eJoinCapabilities.FromSIMPL, JoinType = eJoinType.Digital });
-
- [JoinName("Digit9")]
- public JoinDataComplete Digit9 = new JoinDataComplete(new JoinData { JoinNumber = 20, JoinSpan = 1 },
- new JoinMetadata { Description = "STB Digit 9", JoinCapabilities = eJoinCapabilities.FromSIMPL, JoinType = eJoinType.Digital });
-
- [JoinName("Dash")]
- public JoinDataComplete Dash = new JoinDataComplete(new JoinData { JoinNumber = 21, JoinSpan = 1 },
- new JoinMetadata { Description = "STB Dash", JoinCapabilities = eJoinCapabilities.FromSIMPL, JoinType = eJoinType.Digital });
-
- [JoinName("KeypadEnter")]
- public JoinDataComplete KeypadEnter = new JoinDataComplete(new JoinData { JoinNumber = 22, JoinSpan = 1 },
- new JoinMetadata { Description = "STB Keypad Enter", JoinCapabilities = eJoinCapabilities.FromSIMPL, JoinType = eJoinType.Digital });
-
- [JoinName("ChannelUp")]
- public JoinDataComplete ChannelUp = new JoinDataComplete(new JoinData { JoinNumber = 23, JoinSpan = 1 },
- new JoinMetadata { Description = "STB Channel Up", JoinCapabilities = eJoinCapabilities.FromSIMPL, JoinType = eJoinType.Digital });
-
- [JoinName("ChannelDown")]
- public JoinDataComplete ChannelDown = new JoinDataComplete(new JoinData { JoinNumber = 24, JoinSpan = 1 },
- new JoinMetadata { Description = "STB Channel Down", JoinCapabilities = eJoinCapabilities.FromSIMPL, JoinType = eJoinType.Digital });
-
- [JoinName("LastChannel")]
- public JoinDataComplete LastChannel = new JoinDataComplete(new JoinData { JoinNumber = 25, JoinSpan = 1 },
- new JoinMetadata { Description = "STB Last Channel", JoinCapabilities = eJoinCapabilities.FromSIMPL, JoinType = eJoinType.Digital });
-
- [JoinName("Guide")]
- public JoinDataComplete Guide = new JoinDataComplete(new JoinData { JoinNumber = 26, JoinSpan = 1 },
- new JoinMetadata { Description = "STB Guide", JoinCapabilities = eJoinCapabilities.FromSIMPL, JoinType = eJoinType.Digital });
-
- [JoinName("Info")]
- public JoinDataComplete Info = new JoinDataComplete(new JoinData { JoinNumber = 27, JoinSpan = 1 },
- new JoinMetadata { Description = "STB Info", JoinCapabilities = eJoinCapabilities.FromSIMPL, JoinType = eJoinType.Digital });
-
- [JoinName("Red")]
- public JoinDataComplete Red = new JoinDataComplete(new JoinData { JoinNumber = 28, JoinSpan = 1 },
- new JoinMetadata { Description = "STB Red", JoinCapabilities = eJoinCapabilities.FromSIMPL, JoinType = eJoinType.Digital });
-
- [JoinName("Green")]
- public JoinDataComplete Green = new JoinDataComplete(new JoinData { JoinNumber = 29, JoinSpan = 1 },
- new JoinMetadata { Description = "STB Green", JoinCapabilities = eJoinCapabilities.FromSIMPL, JoinType = eJoinType.Digital });
-
- [JoinName("Yellow")]
- public JoinDataComplete Yellow = new JoinDataComplete(new JoinData { JoinNumber = 30, JoinSpan = 1 },
- new JoinMetadata { Description = "STB Yellow", JoinCapabilities = eJoinCapabilities.FromSIMPL, JoinType = eJoinType.Digital });
-
- [JoinName("Blue")]
- public JoinDataComplete Blue = new JoinDataComplete(new JoinData { JoinNumber = 31, JoinSpan = 1 },
- new JoinMetadata { Description = "STB Blue", JoinCapabilities = eJoinCapabilities.FromSIMPL, JoinType = eJoinType.Digital });
-
- [JoinName("HasDvr")]
- public JoinDataComplete HasDvr = new JoinDataComplete(new JoinData { JoinNumber = 32, JoinSpan = 1 },
- new JoinMetadata { Description = "STB Has DVR", JoinCapabilities = eJoinCapabilities.ToSIMPL, JoinType = eJoinType.Digital });
-
- [JoinName("DvrList")]
- public JoinDataComplete DvrList = new JoinDataComplete(new JoinData { JoinNumber = 32, JoinSpan = 1 },
- new JoinMetadata { Description = "STB DvrList", JoinCapabilities = eJoinCapabilities.FromSIMPL, JoinType = eJoinType.Digital });
-
- [JoinName("Play")]
- public JoinDataComplete Play = new JoinDataComplete(new JoinData { JoinNumber = 33, JoinSpan = 1 },
- new JoinMetadata { Description = "STB Play", JoinCapabilities = eJoinCapabilities.FromSIMPL, JoinType = eJoinType.Digital });
-
- [JoinName("Pause")]
- public JoinDataComplete Pause = new JoinDataComplete(new JoinData { JoinNumber = 34, JoinSpan = 1 },
- new JoinMetadata { Description = "STB Pause", JoinCapabilities = eJoinCapabilities.FromSIMPL, JoinType = eJoinType.Digital });
-
- [JoinName("Stop")]
- public JoinDataComplete Stop = new JoinDataComplete(new JoinData { JoinNumber = 35, JoinSpan = 1 },
- new JoinMetadata { Description = "STB Stop", JoinCapabilities = eJoinCapabilities.FromSIMPL, JoinType = eJoinType.Digital });
-
- [JoinName("FFwd")]
- public JoinDataComplete FFwd = new JoinDataComplete(new JoinData { JoinNumber = 36, JoinSpan = 1 },
- new JoinMetadata { Description = "STB FFwd", JoinCapabilities = eJoinCapabilities.FromSIMPL, JoinType = eJoinType.Digital });
-
- [JoinName("Rewind")]
- public JoinDataComplete Rewind = new JoinDataComplete(new JoinData { JoinNumber = 37, JoinSpan = 1 },
- new JoinMetadata { Description = "STB Rewind", JoinCapabilities = eJoinCapabilities.FromSIMPL, JoinType = eJoinType.Digital });
-
- [JoinName("ChapPlus")]
- public JoinDataComplete ChapPlus = new JoinDataComplete(new JoinData { JoinNumber = 38, JoinSpan = 1 },
- new JoinMetadata { Description = "STB Chapter Plus", JoinCapabilities = eJoinCapabilities.FromSIMPL, JoinType = eJoinType.Digital });
-
- [JoinName("ChapMinus")]
- public JoinDataComplete ChapMinus = new JoinDataComplete(new JoinData { JoinNumber = 39, JoinSpan = 1 },
- new JoinMetadata { Description = "STB Chapter Minus", JoinCapabilities = eJoinCapabilities.FromSIMPL, JoinType = eJoinType.Digital });
-
- [JoinName("Replay")]
- public JoinDataComplete Replay = new JoinDataComplete(new JoinData { JoinNumber = 40, JoinSpan = 1 },
- new JoinMetadata { Description = "STB Replay", JoinCapabilities = eJoinCapabilities.FromSIMPL, JoinType = eJoinType.Digital });
-
- [JoinName("Record")]
- public JoinDataComplete Record = new JoinDataComplete(new JoinData { JoinNumber = 41, JoinSpan = 1 },
- new JoinMetadata { Description = "STB Record", JoinCapabilities = eJoinCapabilities.FromSIMPL, JoinType = eJoinType.Digital });
-
- [JoinName("HasKeypadAccessoryButton1")]
- public JoinDataComplete HasKeypadAccessoryButton1 = new JoinDataComplete(new JoinData { JoinNumber = 42, JoinSpan = 1 },
- new JoinMetadata { Description = "STB Has Keypad Accessory Button 1", JoinCapabilities = eJoinCapabilities.ToSIMPL, JoinType = eJoinType.Digital });
-
- [JoinName("HasKeypadAccessoryButton2")]
- public JoinDataComplete HasKeypadAccessoryButton2 = new JoinDataComplete(new JoinData { JoinNumber = 43, JoinSpan = 1 },
- new JoinMetadata { Description = "STB Has Keypad Accessory Button 2", JoinCapabilities = eJoinCapabilities.ToSIMPL, JoinType = eJoinType.Digital });
-
- [JoinName("KeypadAccessoryButton1Press")]
- public JoinDataComplete KeypadAccessoryButton1Press = new JoinDataComplete(new JoinData { JoinNumber = 42, JoinSpan = 2 },
- new JoinMetadata { Description = "STB Keypad Accessory Button 1 Press", JoinCapabilities = eJoinCapabilities.FromSIMPL, JoinType = eJoinType.Digital });
-
- [JoinName("KeypadAccessoryButton2Press")]
- public JoinDataComplete KeypadAccessoryButton2Press = new JoinDataComplete(new JoinData { JoinNumber = 43, JoinSpan = 2 },
- new JoinMetadata { Description = "STB Keypad Accessory Button 2 Press", JoinCapabilities = eJoinCapabilities.FromSIMPL, JoinType = eJoinType.Digital });
-
- [JoinName("Name")]
- public JoinDataComplete Name = new JoinDataComplete(new JoinData { JoinNumber = 1, JoinSpan = 1 },
- new JoinMetadata { Description = "STB Name", JoinCapabilities = eJoinCapabilities.ToSIMPL, JoinType = eJoinType.Digital });
-
- [JoinName("KeypadAccessoryButton1Label")]
- public JoinDataComplete KeypadAccessoryButton1Label = new JoinDataComplete(new JoinData { JoinNumber = 42, JoinSpan = 1 },
- new JoinMetadata { Description = "STB Keypad Accessory Button 1 Label", JoinCapabilities = eJoinCapabilities.ToSIMPL, JoinType = eJoinType.Serial });
-
- [JoinName("KeypadAccessoryButton2Label")]
- public JoinDataComplete KeypadAccessoryButton2Label = new JoinDataComplete(new JoinData { JoinNumber = 43, JoinSpan = 1 },
- new JoinMetadata { Description = "STB Keypad Accessory Button 1 Label", JoinCapabilities = eJoinCapabilities.ToSIMPL, JoinType = eJoinType.Serial });
-
- [JoinName("LoadPresets")]
- public JoinDataComplete LoadPresets = new JoinDataComplete(new JoinData { JoinNumber = 50, JoinSpan = 1 },
- new JoinMetadata { Description = "STB Load Presets", JoinCapabilities = eJoinCapabilities.FromSIMPL, JoinType = eJoinType.Digital });
-
- [JoinName("HasPresets")]
- public JoinDataComplete HasPresets = new JoinDataComplete(new JoinData { JoinNumber = 50, JoinSpan = 1 },
- new JoinMetadata { Description = "STB Load Presets", JoinCapabilities = eJoinCapabilities.ToSIMPL, JoinType = eJoinType.Digital });
-
-
- ///
- /// Constructor to use when instantiating this Join Map without inheriting from it
- ///
- /// Join this join map will start at
- public SetTopBoxControllerJoinMap(uint joinStart)
- : this(joinStart, typeof(SetTopBoxControllerJoinMap))
- {
- }
-
- ///
- /// Constructor to use when extending this Join map
- ///
- /// Join this join map will start at
- /// Type of the child join map
- protected SetTopBoxControllerJoinMap(uint joinStart, Type type)
- : base(joinStart, type)
- {
- }
- }
+using System;
+
+
+namespace PepperDash.Essentials.Core.Bridges
+{
+ public class SetTopBoxControllerJoinMap : JoinMapBaseAdvanced
+ {
+ [JoinName("PowerOn")]
+ public JoinDataComplete PowerOn = new JoinDataComplete(new JoinData { JoinNumber = 1, JoinSpan = 1 },
+ new JoinMetadata { Description = "STB Power On", JoinCapabilities = eJoinCapabilities.FromSIMPL, JoinType = eJoinType.Digital });
+
+ [JoinName("PowerOff")]
+ public JoinDataComplete PowerOff = new JoinDataComplete(new JoinData { JoinNumber = 2, JoinSpan = 1 },
+ new JoinMetadata { Description = "STB Power Off", JoinCapabilities = eJoinCapabilities.FromSIMPL, JoinType = eJoinType.Digital });
+
+ [JoinName("PowerToggle")]
+ public JoinDataComplete PowerToggle = new JoinDataComplete(new JoinData { JoinNumber = 3, JoinSpan = 1 },
+ new JoinMetadata { Description = "STB Power Toggle", JoinCapabilities = eJoinCapabilities.FromSIMPL, JoinType = eJoinType.Digital });
+
+ [JoinName("HasDpad")]
+ public JoinDataComplete HasDpad = new JoinDataComplete(new JoinData { JoinNumber = 4, JoinSpan = 1 },
+ new JoinMetadata { Description = "STB Has DPad", JoinCapabilities = eJoinCapabilities.ToSIMPL, JoinType = eJoinType.Digital });
+
+ [JoinName("Up")]
+ public JoinDataComplete Up = new JoinDataComplete(new JoinData { JoinNumber = 4, JoinSpan = 1 },
+ new JoinMetadata { Description = "STB Nav Up", JoinCapabilities = eJoinCapabilities.FromSIMPL, JoinType = eJoinType.Digital });
+
+ [JoinName("Down")]
+ public JoinDataComplete Down = new JoinDataComplete(new JoinData { JoinNumber = 5, JoinSpan = 1 },
+ new JoinMetadata { Description = "STB Nav Down", JoinCapabilities = eJoinCapabilities.FromSIMPL, JoinType = eJoinType.Digital });
+
+ [JoinName("Left")]
+ public JoinDataComplete Left = new JoinDataComplete(new JoinData { JoinNumber = 6, JoinSpan = 1 },
+ new JoinMetadata { Description = "STB Nav Left", JoinCapabilities = eJoinCapabilities.FromSIMPL, JoinType = eJoinType.Digital });
+
+ [JoinName("Right")]
+ public JoinDataComplete Right = new JoinDataComplete(new JoinData { JoinNumber = 7, JoinSpan = 1 },
+ new JoinMetadata { Description = "STB Nav Right", JoinCapabilities = eJoinCapabilities.FromSIMPL, JoinType = eJoinType.Digital });
+
+ [JoinName("Select")]
+ public JoinDataComplete Select = new JoinDataComplete(new JoinData { JoinNumber = 8, JoinSpan = 1 },
+ new JoinMetadata { Description = "STB Select", JoinCapabilities = eJoinCapabilities.FromSIMPL, JoinType = eJoinType.Digital });
+
+ [JoinName("Menu")]
+ public JoinDataComplete Menu = new JoinDataComplete(new JoinData { JoinNumber = 9, JoinSpan = 1 },
+ new JoinMetadata { Description = "STB Menu", JoinCapabilities = eJoinCapabilities.FromSIMPL, JoinType = eJoinType.Digital });
+
+ [JoinName("Exit")]
+ public JoinDataComplete Exit = new JoinDataComplete(new JoinData { JoinNumber = 10, JoinSpan = 1 },
+ new JoinMetadata { Description = "STB Exit", JoinCapabilities = eJoinCapabilities.FromSIMPL, JoinType = eJoinType.Digital });
+
+ [JoinName("HasNumeric")]
+ public JoinDataComplete HasNumeric = new JoinDataComplete(new JoinData { JoinNumber = 11, JoinSpan = 1 },
+ new JoinMetadata { Description = "STB Has Numeric", JoinCapabilities = eJoinCapabilities.ToSIMPL, JoinType = eJoinType.Digital });
+
+ [JoinName("Digit0")]
+ public JoinDataComplete Digit0 = new JoinDataComplete(new JoinData { JoinNumber = 11, JoinSpan = 1 },
+ new JoinMetadata { Description = "STB Digit 0", JoinCapabilities = eJoinCapabilities.FromSIMPL, JoinType = eJoinType.Digital });
+
+ [JoinName("Digit1")]
+ public JoinDataComplete Digit1 = new JoinDataComplete(new JoinData { JoinNumber = 12, JoinSpan = 1 },
+ new JoinMetadata { Description = "STB Digit 1", JoinCapabilities = eJoinCapabilities.FromSIMPL, JoinType = eJoinType.Digital });
+
+ [JoinName("Digit2")]
+ public JoinDataComplete Digit2 = new JoinDataComplete(new JoinData { JoinNumber = 13, JoinSpan = 1 },
+ new JoinMetadata { Description = "STB Digit 2", JoinCapabilities = eJoinCapabilities.FromSIMPL, JoinType = eJoinType.Digital });
+
+ [JoinName("Digit3")]
+ public JoinDataComplete Digit3 = new JoinDataComplete(new JoinData { JoinNumber = 14, JoinSpan = 1 },
+ new JoinMetadata { Description = "STB Digit 3", JoinCapabilities = eJoinCapabilities.FromSIMPL, JoinType = eJoinType.Digital });
+
+ [JoinName("Digit4")]
+ public JoinDataComplete Digit4 = new JoinDataComplete(new JoinData { JoinNumber = 15, JoinSpan = 1 },
+ new JoinMetadata { Description = "STB Digit 4", JoinCapabilities = eJoinCapabilities.FromSIMPL, JoinType = eJoinType.Digital });
+
+ [JoinName("Digit5")]
+ public JoinDataComplete Digit5 = new JoinDataComplete(new JoinData { JoinNumber = 16, JoinSpan = 1 },
+ new JoinMetadata { Description = "STB Digit 5", JoinCapabilities = eJoinCapabilities.FromSIMPL, JoinType = eJoinType.Digital });
+
+ [JoinName("Digit6")]
+ public JoinDataComplete Digit6 = new JoinDataComplete(new JoinData { JoinNumber = 17, JoinSpan = 1 },
+ new JoinMetadata { Description = "STB Digit 6", JoinCapabilities = eJoinCapabilities.FromSIMPL, JoinType = eJoinType.Digital });
+
+ [JoinName("Digit7")]
+ public JoinDataComplete Digit7 = new JoinDataComplete(new JoinData { JoinNumber = 18, JoinSpan = 1 },
+ new JoinMetadata { Description = "STB Digit 7", JoinCapabilities = eJoinCapabilities.FromSIMPL, JoinType = eJoinType.Digital });
+
+ [JoinName("Digit8")]
+ public JoinDataComplete Digit8 = new JoinDataComplete(new JoinData { JoinNumber = 19, JoinSpan = 1 },
+ new JoinMetadata { Description = "STB Digit 8", JoinCapabilities = eJoinCapabilities.FromSIMPL, JoinType = eJoinType.Digital });
+
+ [JoinName("Digit9")]
+ public JoinDataComplete Digit9 = new JoinDataComplete(new JoinData { JoinNumber = 20, JoinSpan = 1 },
+ new JoinMetadata { Description = "STB Digit 9", JoinCapabilities = eJoinCapabilities.FromSIMPL, JoinType = eJoinType.Digital });
+
+ [JoinName("Dash")]
+ public JoinDataComplete Dash = new JoinDataComplete(new JoinData { JoinNumber = 21, JoinSpan = 1 },
+ new JoinMetadata { Description = "STB Dash", JoinCapabilities = eJoinCapabilities.FromSIMPL, JoinType = eJoinType.Digital });
+
+ [JoinName("KeypadEnter")]
+ public JoinDataComplete KeypadEnter = new JoinDataComplete(new JoinData { JoinNumber = 22, JoinSpan = 1 },
+ new JoinMetadata { Description = "STB Keypad Enter", JoinCapabilities = eJoinCapabilities.FromSIMPL, JoinType = eJoinType.Digital });
+
+ [JoinName("ChannelUp")]
+ public JoinDataComplete ChannelUp = new JoinDataComplete(new JoinData { JoinNumber = 23, JoinSpan = 1 },
+ new JoinMetadata { Description = "STB Channel Up", JoinCapabilities = eJoinCapabilities.FromSIMPL, JoinType = eJoinType.Digital });
+
+ [JoinName("ChannelDown")]
+ public JoinDataComplete ChannelDown = new JoinDataComplete(new JoinData { JoinNumber = 24, JoinSpan = 1 },
+ new JoinMetadata { Description = "STB Channel Down", JoinCapabilities = eJoinCapabilities.FromSIMPL, JoinType = eJoinType.Digital });
+
+ [JoinName("LastChannel")]
+ public JoinDataComplete LastChannel = new JoinDataComplete(new JoinData { JoinNumber = 25, JoinSpan = 1 },
+ new JoinMetadata { Description = "STB Last Channel", JoinCapabilities = eJoinCapabilities.FromSIMPL, JoinType = eJoinType.Digital });
+
+ [JoinName("Guide")]
+ public JoinDataComplete Guide = new JoinDataComplete(new JoinData { JoinNumber = 26, JoinSpan = 1 },
+ new JoinMetadata { Description = "STB Guide", JoinCapabilities = eJoinCapabilities.FromSIMPL, JoinType = eJoinType.Digital });
+
+ [JoinName("Info")]
+ public JoinDataComplete Info = new JoinDataComplete(new JoinData { JoinNumber = 27, JoinSpan = 1 },
+ new JoinMetadata { Description = "STB Info", JoinCapabilities = eJoinCapabilities.FromSIMPL, JoinType = eJoinType.Digital });
+
+ [JoinName("Red")]
+ public JoinDataComplete Red = new JoinDataComplete(new JoinData { JoinNumber = 28, JoinSpan = 1 },
+ new JoinMetadata { Description = "STB Red", JoinCapabilities = eJoinCapabilities.FromSIMPL, JoinType = eJoinType.Digital });
+
+ [JoinName("Green")]
+ public JoinDataComplete Green = new JoinDataComplete(new JoinData { JoinNumber = 29, JoinSpan = 1 },
+ new JoinMetadata { Description = "STB Green", JoinCapabilities = eJoinCapabilities.FromSIMPL, JoinType = eJoinType.Digital });
+
+ [JoinName("Yellow")]
+ public JoinDataComplete Yellow = new JoinDataComplete(new JoinData { JoinNumber = 30, JoinSpan = 1 },
+ new JoinMetadata { Description = "STB Yellow", JoinCapabilities = eJoinCapabilities.FromSIMPL, JoinType = eJoinType.Digital });
+
+ [JoinName("Blue")]
+ public JoinDataComplete Blue = new JoinDataComplete(new JoinData { JoinNumber = 31, JoinSpan = 1 },
+ new JoinMetadata { Description = "STB Blue", JoinCapabilities = eJoinCapabilities.FromSIMPL, JoinType = eJoinType.Digital });
+
+ [JoinName("HasDvr")]
+ public JoinDataComplete HasDvr = new JoinDataComplete(new JoinData { JoinNumber = 32, JoinSpan = 1 },
+ new JoinMetadata { Description = "STB Has DVR", JoinCapabilities = eJoinCapabilities.ToSIMPL, JoinType = eJoinType.Digital });
+
+ [JoinName("DvrList")]
+ public JoinDataComplete DvrList = new JoinDataComplete(new JoinData { JoinNumber = 32, JoinSpan = 1 },
+ new JoinMetadata { Description = "STB DvrList", JoinCapabilities = eJoinCapabilities.FromSIMPL, JoinType = eJoinType.Digital });
+
+ [JoinName("Play")]
+ public JoinDataComplete Play = new JoinDataComplete(new JoinData { JoinNumber = 33, JoinSpan = 1 },
+ new JoinMetadata { Description = "STB Play", JoinCapabilities = eJoinCapabilities.FromSIMPL, JoinType = eJoinType.Digital });
+
+ [JoinName("Pause")]
+ public JoinDataComplete Pause = new JoinDataComplete(new JoinData { JoinNumber = 34, JoinSpan = 1 },
+ new JoinMetadata { Description = "STB Pause", JoinCapabilities = eJoinCapabilities.FromSIMPL, JoinType = eJoinType.Digital });
+
+ [JoinName("Stop")]
+ public JoinDataComplete Stop = new JoinDataComplete(new JoinData { JoinNumber = 35, JoinSpan = 1 },
+ new JoinMetadata { Description = "STB Stop", JoinCapabilities = eJoinCapabilities.FromSIMPL, JoinType = eJoinType.Digital });
+
+ [JoinName("FFwd")]
+ public JoinDataComplete FFwd = new JoinDataComplete(new JoinData { JoinNumber = 36, JoinSpan = 1 },
+ new JoinMetadata { Description = "STB FFwd", JoinCapabilities = eJoinCapabilities.FromSIMPL, JoinType = eJoinType.Digital });
+
+ [JoinName("Rewind")]
+ public JoinDataComplete Rewind = new JoinDataComplete(new JoinData { JoinNumber = 37, JoinSpan = 1 },
+ new JoinMetadata { Description = "STB Rewind", JoinCapabilities = eJoinCapabilities.FromSIMPL, JoinType = eJoinType.Digital });
+
+ [JoinName("ChapPlus")]
+ public JoinDataComplete ChapPlus = new JoinDataComplete(new JoinData { JoinNumber = 38, JoinSpan = 1 },
+ new JoinMetadata { Description = "STB Chapter Plus", JoinCapabilities = eJoinCapabilities.FromSIMPL, JoinType = eJoinType.Digital });
+
+ [JoinName("ChapMinus")]
+ public JoinDataComplete ChapMinus = new JoinDataComplete(new JoinData { JoinNumber = 39, JoinSpan = 1 },
+ new JoinMetadata { Description = "STB Chapter Minus", JoinCapabilities = eJoinCapabilities.FromSIMPL, JoinType = eJoinType.Digital });
+
+ [JoinName("Replay")]
+ public JoinDataComplete Replay = new JoinDataComplete(new JoinData { JoinNumber = 40, JoinSpan = 1 },
+ new JoinMetadata { Description = "STB Replay", JoinCapabilities = eJoinCapabilities.FromSIMPL, JoinType = eJoinType.Digital });
+
+ [JoinName("Record")]
+ public JoinDataComplete Record = new JoinDataComplete(new JoinData { JoinNumber = 41, JoinSpan = 1 },
+ new JoinMetadata { Description = "STB Record", JoinCapabilities = eJoinCapabilities.FromSIMPL, JoinType = eJoinType.Digital });
+
+ [JoinName("HasKeypadAccessoryButton1")]
+ public JoinDataComplete HasKeypadAccessoryButton1 = new JoinDataComplete(new JoinData { JoinNumber = 42, JoinSpan = 1 },
+ new JoinMetadata { Description = "STB Has Keypad Accessory Button 1", JoinCapabilities = eJoinCapabilities.ToSIMPL, JoinType = eJoinType.Digital });
+
+ [JoinName("HasKeypadAccessoryButton2")]
+ public JoinDataComplete HasKeypadAccessoryButton2 = new JoinDataComplete(new JoinData { JoinNumber = 43, JoinSpan = 1 },
+ new JoinMetadata { Description = "STB Has Keypad Accessory Button 2", JoinCapabilities = eJoinCapabilities.ToSIMPL, JoinType = eJoinType.Digital });
+
+ [JoinName("KeypadAccessoryButton1Press")]
+ public JoinDataComplete KeypadAccessoryButton1Press = new JoinDataComplete(new JoinData { JoinNumber = 42, JoinSpan = 2 },
+ new JoinMetadata { Description = "STB Keypad Accessory Button 1 Press", JoinCapabilities = eJoinCapabilities.FromSIMPL, JoinType = eJoinType.Digital });
+
+ [JoinName("KeypadAccessoryButton2Press")]
+ public JoinDataComplete KeypadAccessoryButton2Press = new JoinDataComplete(new JoinData { JoinNumber = 43, JoinSpan = 2 },
+ new JoinMetadata { Description = "STB Keypad Accessory Button 2 Press", JoinCapabilities = eJoinCapabilities.FromSIMPL, JoinType = eJoinType.Digital });
+
+ [JoinName("Name")]
+ public JoinDataComplete Name = new JoinDataComplete(new JoinData { JoinNumber = 1, JoinSpan = 1 },
+ new JoinMetadata { Description = "STB Name", JoinCapabilities = eJoinCapabilities.ToSIMPL, JoinType = eJoinType.Digital });
+
+ [JoinName("KeypadAccessoryButton1Label")]
+ public JoinDataComplete KeypadAccessoryButton1Label = new JoinDataComplete(new JoinData { JoinNumber = 42, JoinSpan = 1 },
+ new JoinMetadata { Description = "STB Keypad Accessory Button 1 Label", JoinCapabilities = eJoinCapabilities.ToSIMPL, JoinType = eJoinType.Serial });
+
+ [JoinName("KeypadAccessoryButton2Label")]
+ public JoinDataComplete KeypadAccessoryButton2Label = new JoinDataComplete(new JoinData { JoinNumber = 43, JoinSpan = 1 },
+ new JoinMetadata { Description = "STB Keypad Accessory Button 1 Label", JoinCapabilities = eJoinCapabilities.ToSIMPL, JoinType = eJoinType.Serial });
+
+ [JoinName("LoadPresets")]
+ public JoinDataComplete LoadPresets = new JoinDataComplete(new JoinData { JoinNumber = 50, JoinSpan = 1 },
+ new JoinMetadata { Description = "STB Load Presets", JoinCapabilities = eJoinCapabilities.FromSIMPL, JoinType = eJoinType.Digital });
+
+ [JoinName("HasPresets")]
+ public JoinDataComplete HasPresets = new JoinDataComplete(new JoinData { JoinNumber = 50, JoinSpan = 1 },
+ new JoinMetadata { Description = "STB Load Presets", JoinCapabilities = eJoinCapabilities.ToSIMPL, JoinType = eJoinType.Digital });
+
+
+ ///
+ /// Constructor to use when instantiating this Join Map without inheriting from it
+ ///
+ /// Join this join map will start at
+ public SetTopBoxControllerJoinMap(uint joinStart)
+ : this(joinStart, typeof(SetTopBoxControllerJoinMap))
+ {
+ }
+
+ ///
+ /// Constructor to use when extending this Join map
+ ///
+ /// Join this join map will start at
+ /// Type of the child join map
+ protected SetTopBoxControllerJoinMap(uint joinStart, Type type)
+ : base(joinStart, type)
+ {
+ }
+ }
}
\ No newline at end of file
diff --git a/essentials-framework/Essentials Core/PepperDashEssentialsBase/Bridges/JoinMaps/StatusSignControllerJoinMap.cs b/src/PepperDash.Essentials.Core/Bridges/JoinMaps/StatusSignControllerJoinMap.cs
similarity index 98%
rename from essentials-framework/Essentials Core/PepperDashEssentialsBase/Bridges/JoinMaps/StatusSignControllerJoinMap.cs
rename to src/PepperDash.Essentials.Core/Bridges/JoinMaps/StatusSignControllerJoinMap.cs
index ea844732..ba441ef0 100644
--- a/essentials-framework/Essentials Core/PepperDashEssentialsBase/Bridges/JoinMaps/StatusSignControllerJoinMap.cs
+++ b/src/PepperDash.Essentials.Core/Bridges/JoinMaps/StatusSignControllerJoinMap.cs
@@ -1,58 +1,58 @@
-using System;
-
+using System;
+
namespace PepperDash.Essentials.Core.Bridges
{
public class StatusSignControllerJoinMap : JoinMapBaseAdvanced
{
- [JoinName("IsOnline")]
- public JoinDataComplete IsOnline = new JoinDataComplete(new JoinData { JoinNumber = 1, JoinSpan = 1 },
- new JoinMetadata { Description = "Status Sign Online", JoinCapabilities = eJoinCapabilities.ToSIMPL, JoinType = eJoinType.Digital });
-
- [JoinName("Name")]
- public JoinDataComplete Name = new JoinDataComplete(new JoinData { JoinNumber = 1, JoinSpan = 1 },
- new JoinMetadata { Description = "Status Sign Name", JoinCapabilities = eJoinCapabilities.ToSIMPL, JoinType = eJoinType.Serial });
-
- [JoinName("RedControl")]
- public JoinDataComplete RedControl = new JoinDataComplete(new JoinData { JoinNumber = 2, JoinSpan = 1 },
- new JoinMetadata { Description = "Status Red LED Enable / Disable", JoinCapabilities = eJoinCapabilities.ToFromSIMPL, JoinType = eJoinType.Digital });
-
- [JoinName("RedLed")]
- public JoinDataComplete RedLed = new JoinDataComplete(new JoinData { JoinNumber = 2, JoinSpan = 1 },
- new JoinMetadata { Description = "Status Red LED Intensity", JoinCapabilities = eJoinCapabilities.ToFromSIMPL, JoinType = eJoinType.Analog });
-
- [JoinName("GreenControl")]
- public JoinDataComplete GreenControl = new JoinDataComplete(new JoinData { JoinNumber = 3, JoinSpan = 1 },
- new JoinMetadata { Description = "Status Green LED Enable / Disable", JoinCapabilities = eJoinCapabilities.ToFromSIMPL, JoinType = eJoinType.Digital });
-
- [JoinName("GreenLed")]
- public JoinDataComplete GreenLed = new JoinDataComplete(new JoinData { JoinNumber = 3, JoinSpan = 1 },
- new JoinMetadata { Description = "Status Green LED Intensity", JoinCapabilities = eJoinCapabilities.ToFromSIMPL, JoinType = eJoinType.Analog });
-
- [JoinName("BlueControl")]
- public JoinDataComplete BlueControl = new JoinDataComplete(new JoinData { JoinNumber = 4, JoinSpan = 1 },
- new JoinMetadata { Description = "Status Blue LED Enable / Disable", JoinCapabilities = eJoinCapabilities.ToFromSIMPL, JoinType = eJoinType.Digital });
-
- [JoinName("BlueLed")]
- public JoinDataComplete BlueLed = new JoinDataComplete(new JoinData { JoinNumber = 4, JoinSpan = 1 },
- new JoinMetadata { Description = "Status Blue LED Intensity", JoinCapabilities = eJoinCapabilities.ToFromSIMPL, JoinType = eJoinType.Analog });
-
- ///
- /// Constructor to use when instantiating this Join Map without inheriting from it
- ///
- /// Join this join map will start at
- public StatusSignControllerJoinMap(uint joinStart)
- : this(joinStart, typeof(StatusSignControllerJoinMap))
- {
- }
-
- ///
- /// Constructor to use when extending this Join map
- ///
- /// Join this join map will start at
- /// Type of the child join map
- protected StatusSignControllerJoinMap(uint joinStart, Type type)
- : base(joinStart, type)
- {
+ [JoinName("IsOnline")]
+ public JoinDataComplete IsOnline = new JoinDataComplete(new JoinData { JoinNumber = 1, JoinSpan = 1 },
+ new JoinMetadata { Description = "Status Sign Online", JoinCapabilities = eJoinCapabilities.ToSIMPL, JoinType = eJoinType.Digital });
+
+ [JoinName("Name")]
+ public JoinDataComplete Name = new JoinDataComplete(new JoinData { JoinNumber = 1, JoinSpan = 1 },
+ new JoinMetadata { Description = "Status Sign Name", JoinCapabilities = eJoinCapabilities.ToSIMPL, JoinType = eJoinType.Serial });
+
+ [JoinName("RedControl")]
+ public JoinDataComplete RedControl = new JoinDataComplete(new JoinData { JoinNumber = 2, JoinSpan = 1 },
+ new JoinMetadata { Description = "Status Red LED Enable / Disable", JoinCapabilities = eJoinCapabilities.ToFromSIMPL, JoinType = eJoinType.Digital });
+
+ [JoinName("RedLed")]
+ public JoinDataComplete RedLed = new JoinDataComplete(new JoinData { JoinNumber = 2, JoinSpan = 1 },
+ new JoinMetadata { Description = "Status Red LED Intensity", JoinCapabilities = eJoinCapabilities.ToFromSIMPL, JoinType = eJoinType.Analog });
+
+ [JoinName("GreenControl")]
+ public JoinDataComplete GreenControl = new JoinDataComplete(new JoinData { JoinNumber = 3, JoinSpan = 1 },
+ new JoinMetadata { Description = "Status Green LED Enable / Disable", JoinCapabilities = eJoinCapabilities.ToFromSIMPL, JoinType = eJoinType.Digital });
+
+ [JoinName("GreenLed")]
+ public JoinDataComplete GreenLed = new JoinDataComplete(new JoinData { JoinNumber = 3, JoinSpan = 1 },
+ new JoinMetadata { Description = "Status Green LED Intensity", JoinCapabilities = eJoinCapabilities.ToFromSIMPL, JoinType = eJoinType.Analog });
+
+ [JoinName("BlueControl")]
+ public JoinDataComplete BlueControl = new JoinDataComplete(new JoinData { JoinNumber = 4, JoinSpan = 1 },
+ new JoinMetadata { Description = "Status Blue LED Enable / Disable", JoinCapabilities = eJoinCapabilities.ToFromSIMPL, JoinType = eJoinType.Digital });
+
+ [JoinName("BlueLed")]
+ public JoinDataComplete BlueLed = new JoinDataComplete(new JoinData { JoinNumber = 4, JoinSpan = 1 },
+ new JoinMetadata { Description = "Status Blue LED Intensity", JoinCapabilities = eJoinCapabilities.ToFromSIMPL, JoinType = eJoinType.Analog });
+
+ ///
+ /// Constructor to use when instantiating this Join Map without inheriting from it
+ ///
+ /// Join this join map will start at
+ public StatusSignControllerJoinMap(uint joinStart)
+ : this(joinStart, typeof(StatusSignControllerJoinMap))
+ {
+ }
+
+ ///
+ /// Constructor to use when extending this Join map
+ ///
+ /// Join this join map will start at
+ /// Type of the child join map
+ protected StatusSignControllerJoinMap(uint joinStart, Type type)
+ : base(joinStart, type)
+ {
}
}
diff --git a/essentials-framework/Essentials Core/PepperDashEssentialsBase/Bridges/JoinMaps/SystemMonitorJoinMap.cs b/src/PepperDash.Essentials.Core/Bridges/JoinMaps/SystemMonitorJoinMap.cs
similarity index 98%
rename from essentials-framework/Essentials Core/PepperDashEssentialsBase/Bridges/JoinMaps/SystemMonitorJoinMap.cs
rename to src/PepperDash.Essentials.Core/Bridges/JoinMaps/SystemMonitorJoinMap.cs
index 363d389b..ffcd5777 100644
--- a/essentials-framework/Essentials Core/PepperDashEssentialsBase/Bridges/JoinMaps/SystemMonitorJoinMap.cs
+++ b/src/PepperDash.Essentials.Core/Bridges/JoinMaps/SystemMonitorJoinMap.cs
@@ -1,154 +1,154 @@
-using System;
-
-namespace PepperDash.Essentials.Core.Bridges
-{
- public class SystemMonitorJoinMap : JoinMapBaseAdvanced
- {
- [JoinName("TimeZone")]
- public JoinDataComplete TimeZone = new JoinDataComplete(new JoinData { JoinNumber = 1, JoinSpan = 1 },
- new JoinMetadata { Description = "Processor Timezone", JoinCapabilities = eJoinCapabilities.ToSIMPL, JoinType = eJoinType.Analog });
-
- [JoinName("TimeZoneName")]
- public JoinDataComplete TimeZoneName = new JoinDataComplete(new JoinData { JoinNumber = 1, JoinSpan = 1 },
- new JoinMetadata { Description = "Processor Timezone Name", JoinCapabilities = eJoinCapabilities.ToSIMPL, JoinType = eJoinType.Serial });
-
- [JoinName("IOControllerVersion")]
- public JoinDataComplete IOControllerVersion = new JoinDataComplete(new JoinData { JoinNumber = 2, JoinSpan = 1 },
- new JoinMetadata { Description = "Processor IO Controller Version", JoinCapabilities = eJoinCapabilities.ToSIMPL, JoinType = eJoinType.Serial });
-
- [JoinName("SnmpAppVersion")]
- public JoinDataComplete SnmpAppVersion = new JoinDataComplete(new JoinData { JoinNumber = 3, JoinSpan = 1 },
- new JoinMetadata { Description = "Processor SNMP App Version", JoinCapabilities = eJoinCapabilities.ToSIMPL, JoinType = eJoinType.Serial });
-
- [JoinName("BACnetAppVersion")]
- public JoinDataComplete BACnetAppVersion = new JoinDataComplete(new JoinData { JoinNumber = 4, JoinSpan = 1 },
- new JoinMetadata { Description = "Processor BACNet App Version", JoinCapabilities = eJoinCapabilities.ToSIMPL, JoinType = eJoinType.Serial });
-
- [JoinName("ControllerVersion")]
- public JoinDataComplete ControllerVersion = new JoinDataComplete(new JoinData { JoinNumber = 5, JoinSpan = 1 },
- new JoinMetadata { Description = "Processor Controller Version", JoinCapabilities = eJoinCapabilities.ToSIMPL, JoinType = eJoinType.Serial });
-
- [JoinName("SerialNumber")]
- public JoinDataComplete SerialNumber = new JoinDataComplete(new JoinData { JoinNumber = 6, JoinSpan = 1 },
- new JoinMetadata { Description = "Processor Serial Number", JoinCapabilities = eJoinCapabilities.ToSIMPL, JoinType = eJoinType.Serial });
-
- [JoinName("Model")]
- public JoinDataComplete Model = new JoinDataComplete(new JoinData { JoinNumber = 7, JoinSpan = 1 },
- new JoinMetadata { Description = "Processor Model", JoinCapabilities = eJoinCapabilities.ToSIMPL, JoinType = eJoinType.Serial });
-
- [JoinName("Uptime")]
- public JoinDataComplete Uptime = new JoinDataComplete(new JoinData { JoinNumber = 8, JoinSpan = 1 },
- new JoinMetadata { Description = "Processor Uptime", JoinCapabilities = eJoinCapabilities.ToSIMPL, JoinType = eJoinType.Serial });
-
- [JoinName("LastBoot")]
- public JoinDataComplete LastBoot = new JoinDataComplete(new JoinData { JoinNumber = 9, JoinSpan = 1 },
- new JoinMetadata { Description = "Processor Last Boot", JoinCapabilities = eJoinCapabilities.ToSIMPL, JoinType = eJoinType.Serial });
-
- [JoinName("ProgramOffsetJoin")]
- public JoinDataComplete ProgramOffsetJoin = new JoinDataComplete(new JoinData { JoinNumber = 5, JoinSpan = 5 },
- new JoinMetadata { Description = "All Program Data is offset between slots by 5 - First Joins Start at 11", JoinCapabilities = eJoinCapabilities.None, JoinType = eJoinType.None });
-
- [JoinName("ProgramStart")]
- public JoinDataComplete ProgramStart = new JoinDataComplete(new JoinData { JoinNumber = 11, JoinSpan = 1 },
- new JoinMetadata { Description = "Processor Program Start / Fb", JoinCapabilities = eJoinCapabilities.ToFromSIMPL, JoinType = eJoinType.Digital });
-
- [JoinName("ProgramStop")]
- public JoinDataComplete ProgramStop = new JoinDataComplete(new JoinData { JoinNumber = 12, JoinSpan = 1 },
- new JoinMetadata { Description = "Processor Program Stop / Fb", JoinCapabilities = eJoinCapabilities.ToFromSIMPL, JoinType = eJoinType.Digital });
-
- [JoinName("ProgramRegister")]
- public JoinDataComplete ProgramRegister = new JoinDataComplete(new JoinData { JoinNumber = 13, JoinSpan = 1 },
- new JoinMetadata { Description = "Processor Program Register / Fb", JoinCapabilities = eJoinCapabilities.ToFromSIMPL, JoinType = eJoinType.Digital });
-
- [JoinName("ProgramUnregister")]
- public JoinDataComplete ProgramUnregister = new JoinDataComplete(new JoinData { JoinNumber = 14, JoinSpan = 1 },
- new JoinMetadata { Description = "Processor Program UnRegister / Fb", JoinCapabilities = eJoinCapabilities.ToFromSIMPL, JoinType = eJoinType.Digital });
-
- [JoinName("ProgramName")]
- public JoinDataComplete ProgramName = new JoinDataComplete(new JoinData { JoinNumber = 11, JoinSpan = 1 },
- new JoinMetadata { Description = "Processor Program Name", JoinCapabilities = eJoinCapabilities.ToSIMPL, JoinType = eJoinType.Serial });
-
- [JoinName("ProgramCompiledTime")]
- public JoinDataComplete ProgramCompiledTime = new JoinDataComplete(new JoinData { JoinNumber = 12, JoinSpan = 1 },
- new JoinMetadata { Description = "Processor Program Compile Time", JoinCapabilities = eJoinCapabilities.ToSIMPL, JoinType = eJoinType.Serial });
-
- [JoinName("ProgramCrestronDatabaseVersion")]
- public JoinDataComplete ProgramCrestronDatabaseVersion = new JoinDataComplete(new JoinData { JoinNumber = 13, JoinSpan = 1 },
- new JoinMetadata { Description = "Processor Program Database Version", JoinCapabilities = eJoinCapabilities.ToSIMPL, JoinType = eJoinType.Serial });
-
- [JoinName("ProgramEnvironmentVersion")]
- public JoinDataComplete ProgramEnvironmentVersion = new JoinDataComplete(new JoinData { JoinNumber = 14, JoinSpan = 1 },
- new JoinMetadata { Description = "Processor Program Environment Version", JoinCapabilities = eJoinCapabilities.ToSIMPL, JoinType = eJoinType.Serial });
-
- [JoinName("AggregatedProgramInfo")]
- public JoinDataComplete AggregatedProgramInfo = new JoinDataComplete(new JoinData { JoinNumber = 15, JoinSpan = 1 },
- new JoinMetadata { Description = "Processor Program Aggregate Info Json", JoinCapabilities = eJoinCapabilities.ToSIMPL, JoinType = eJoinType.Serial });
-
- [JoinName("EthernetOffsetJoin")]
- public JoinDataComplete EthernetOffsetJoin = new JoinDataComplete(new JoinData { JoinNumber = 15, JoinSpan = 1 },
- new JoinMetadata { Description = "All Ethernet Data is offset between Nics by 5 - First Joins Start at 76", JoinCapabilities = eJoinCapabilities.None, JoinType = eJoinType.None });
-
- [JoinName("HostName")]
- public JoinDataComplete HostName = new JoinDataComplete(new JoinData { JoinNumber = 76, JoinSpan = 1 },
- new JoinMetadata { Description = "Processor Ethernet Hostname", JoinCapabilities = eJoinCapabilities.ToSIMPL, JoinType = eJoinType.Serial });
-
- [JoinName("CurrentIpAddress")]
- public JoinDataComplete CurrentIpAddress = new JoinDataComplete(new JoinData { JoinNumber = 77, JoinSpan = 1 },
- new JoinMetadata { Description = "Processor Ethernet Current Ip Address", JoinCapabilities = eJoinCapabilities.ToSIMPL, JoinType = eJoinType.Serial });
-
- [JoinName("CurrentSubnetMask")]
- public JoinDataComplete CurrentSubnetMask = new JoinDataComplete(new JoinData { JoinNumber = 78, JoinSpan = 1 },
- new JoinMetadata { Description = "Processor Ethernet Current Subnet Mask", JoinCapabilities = eJoinCapabilities.ToSIMPL, JoinType = eJoinType.Serial });
-
- [JoinName("CurrentDefaultGateway")]
- public JoinDataComplete CurrentDefaultGateway = new JoinDataComplete(new JoinData { JoinNumber = 79, JoinSpan = 1 },
- new JoinMetadata { Description = "Processor Ethernet Current Default Gateway", JoinCapabilities = eJoinCapabilities.ToSIMPL, JoinType = eJoinType.Serial });
-
- [JoinName("StaticIpAddress")]
- public JoinDataComplete StaticIpAddress = new JoinDataComplete(new JoinData { JoinNumber = 80, JoinSpan = 1 },
- new JoinMetadata { Description = "Processor Ethernet Static Ip Address", JoinCapabilities = eJoinCapabilities.ToSIMPL, JoinType = eJoinType.Serial });
-
- [JoinName("StaticSubnetMask")]
- public JoinDataComplete StaticSubnetMask = new JoinDataComplete(new JoinData { JoinNumber = 81, JoinSpan = 1 },
- new JoinMetadata { Description = "Processor Ethernet Static Subnet Mask", JoinCapabilities = eJoinCapabilities.ToSIMPL, JoinType = eJoinType.Serial });
-
- [JoinName("StaticDefaultGateway")]
- public JoinDataComplete StaticDefaultGateway = new JoinDataComplete(new JoinData { JoinNumber = 82, JoinSpan = 1 },
- new JoinMetadata { Description = "Processor Ethernet Static Default Gateway", JoinCapabilities = eJoinCapabilities.ToSIMPL, JoinType = eJoinType.Serial });
-
- [JoinName("Domain")]
- public JoinDataComplete Domain = new JoinDataComplete(new JoinData { JoinNumber = 83, JoinSpan = 1 },
- new JoinMetadata { Description = "Processor Ethernet Domain", JoinCapabilities = eJoinCapabilities.ToSIMPL, JoinType = eJoinType.Serial });
-
- [JoinName("DnsServer")]
- public JoinDataComplete DnsServer = new JoinDataComplete(new JoinData { JoinNumber = 84, JoinSpan = 1 },
- new JoinMetadata { Description = "Processor Ethernet Dns Server", JoinCapabilities = eJoinCapabilities.ToSIMPL, JoinType = eJoinType.Serial });
-
- [JoinName("MacAddress")]
- public JoinDataComplete MacAddress = new JoinDataComplete(new JoinData { JoinNumber = 85, JoinSpan = 1 },
- new JoinMetadata { Description = "Processor Ethernet Mac Address", JoinCapabilities = eJoinCapabilities.ToSIMPL, JoinType = eJoinType.Serial });
-
- [JoinName("DhcpStatus")]
- public JoinDataComplete DhcpStatus = new JoinDataComplete(new JoinData { JoinNumber = 86, JoinSpan = 1 },
- new JoinMetadata { Description = "Processor Ethernet Dhcp Status", JoinCapabilities = eJoinCapabilities.ToSIMPL, JoinType = eJoinType.Serial });
-
- ///
- /// Constructor to use when instantiating this Join Map without inheriting from it
- ///
- /// Join this join map will start at
- public SystemMonitorJoinMap(uint joinStart)
- : this(joinStart, typeof(SystemMonitorJoinMap))
- {
- }
-
- ///
- /// Constructor to use when extending this Join map
- ///
- /// Join this join map will start at
- /// Type of the child join map
- protected SystemMonitorJoinMap(uint joinStart, Type type)
- : base(joinStart, type)
- {
- }
- }
+using System;
+
+namespace PepperDash.Essentials.Core.Bridges
+{
+ public class SystemMonitorJoinMap : JoinMapBaseAdvanced
+ {
+ [JoinName("TimeZone")]
+ public JoinDataComplete TimeZone = new JoinDataComplete(new JoinData { JoinNumber = 1, JoinSpan = 1 },
+ new JoinMetadata { Description = "Processor Timezone", JoinCapabilities = eJoinCapabilities.ToSIMPL, JoinType = eJoinType.Analog });
+
+ [JoinName("TimeZoneName")]
+ public JoinDataComplete TimeZoneName = new JoinDataComplete(new JoinData { JoinNumber = 1, JoinSpan = 1 },
+ new JoinMetadata { Description = "Processor Timezone Name", JoinCapabilities = eJoinCapabilities.ToSIMPL, JoinType = eJoinType.Serial });
+
+ [JoinName("IOControllerVersion")]
+ public JoinDataComplete IOControllerVersion = new JoinDataComplete(new JoinData { JoinNumber = 2, JoinSpan = 1 },
+ new JoinMetadata { Description = "Processor IO Controller Version", JoinCapabilities = eJoinCapabilities.ToSIMPL, JoinType = eJoinType.Serial });
+
+ [JoinName("SnmpAppVersion")]
+ public JoinDataComplete SnmpAppVersion = new JoinDataComplete(new JoinData { JoinNumber = 3, JoinSpan = 1 },
+ new JoinMetadata { Description = "Processor SNMP App Version", JoinCapabilities = eJoinCapabilities.ToSIMPL, JoinType = eJoinType.Serial });
+
+ [JoinName("BACnetAppVersion")]
+ public JoinDataComplete BACnetAppVersion = new JoinDataComplete(new JoinData { JoinNumber = 4, JoinSpan = 1 },
+ new JoinMetadata { Description = "Processor BACNet App Version", JoinCapabilities = eJoinCapabilities.ToSIMPL, JoinType = eJoinType.Serial });
+
+ [JoinName("ControllerVersion")]
+ public JoinDataComplete ControllerVersion = new JoinDataComplete(new JoinData { JoinNumber = 5, JoinSpan = 1 },
+ new JoinMetadata { Description = "Processor Controller Version", JoinCapabilities = eJoinCapabilities.ToSIMPL, JoinType = eJoinType.Serial });
+
+ [JoinName("SerialNumber")]
+ public JoinDataComplete SerialNumber = new JoinDataComplete(new JoinData { JoinNumber = 6, JoinSpan = 1 },
+ new JoinMetadata { Description = "Processor Serial Number", JoinCapabilities = eJoinCapabilities.ToSIMPL, JoinType = eJoinType.Serial });
+
+ [JoinName("Model")]
+ public JoinDataComplete Model = new JoinDataComplete(new JoinData { JoinNumber = 7, JoinSpan = 1 },
+ new JoinMetadata { Description = "Processor Model", JoinCapabilities = eJoinCapabilities.ToSIMPL, JoinType = eJoinType.Serial });
+
+ [JoinName("Uptime")]
+ public JoinDataComplete Uptime = new JoinDataComplete(new JoinData { JoinNumber = 8, JoinSpan = 1 },
+ new JoinMetadata { Description = "Processor Uptime", JoinCapabilities = eJoinCapabilities.ToSIMPL, JoinType = eJoinType.Serial });
+
+ [JoinName("LastBoot")]
+ public JoinDataComplete LastBoot = new JoinDataComplete(new JoinData { JoinNumber = 9, JoinSpan = 1 },
+ new JoinMetadata { Description = "Processor Last Boot", JoinCapabilities = eJoinCapabilities.ToSIMPL, JoinType = eJoinType.Serial });
+
+ [JoinName("ProgramOffsetJoin")]
+ public JoinDataComplete ProgramOffsetJoin = new JoinDataComplete(new JoinData { JoinNumber = 5, JoinSpan = 5 },
+ new JoinMetadata { Description = "All Program Data is offset between slots by 5 - First Joins Start at 11", JoinCapabilities = eJoinCapabilities.None, JoinType = eJoinType.None });
+
+ [JoinName("ProgramStart")]
+ public JoinDataComplete ProgramStart = new JoinDataComplete(new JoinData { JoinNumber = 11, JoinSpan = 1 },
+ new JoinMetadata { Description = "Processor Program Start / Fb", JoinCapabilities = eJoinCapabilities.ToFromSIMPL, JoinType = eJoinType.Digital });
+
+ [JoinName("ProgramStop")]
+ public JoinDataComplete ProgramStop = new JoinDataComplete(new JoinData { JoinNumber = 12, JoinSpan = 1 },
+ new JoinMetadata { Description = "Processor Program Stop / Fb", JoinCapabilities = eJoinCapabilities.ToFromSIMPL, JoinType = eJoinType.Digital });
+
+ [JoinName("ProgramRegister")]
+ public JoinDataComplete ProgramRegister = new JoinDataComplete(new JoinData { JoinNumber = 13, JoinSpan = 1 },
+ new JoinMetadata { Description = "Processor Program Register / Fb", JoinCapabilities = eJoinCapabilities.ToFromSIMPL, JoinType = eJoinType.Digital });
+
+ [JoinName("ProgramUnregister")]
+ public JoinDataComplete ProgramUnregister = new JoinDataComplete(new JoinData { JoinNumber = 14, JoinSpan = 1 },
+ new JoinMetadata { Description = "Processor Program UnRegister / Fb", JoinCapabilities = eJoinCapabilities.ToFromSIMPL, JoinType = eJoinType.Digital });
+
+ [JoinName("ProgramName")]
+ public JoinDataComplete ProgramName = new JoinDataComplete(new JoinData { JoinNumber = 11, JoinSpan = 1 },
+ new JoinMetadata { Description = "Processor Program Name", JoinCapabilities = eJoinCapabilities.ToSIMPL, JoinType = eJoinType.Serial });
+
+ [JoinName("ProgramCompiledTime")]
+ public JoinDataComplete ProgramCompiledTime = new JoinDataComplete(new JoinData { JoinNumber = 12, JoinSpan = 1 },
+ new JoinMetadata { Description = "Processor Program Compile Time", JoinCapabilities = eJoinCapabilities.ToSIMPL, JoinType = eJoinType.Serial });
+
+ [JoinName("ProgramCrestronDatabaseVersion")]
+ public JoinDataComplete ProgramCrestronDatabaseVersion = new JoinDataComplete(new JoinData { JoinNumber = 13, JoinSpan = 1 },
+ new JoinMetadata { Description = "Processor Program Database Version", JoinCapabilities = eJoinCapabilities.ToSIMPL, JoinType = eJoinType.Serial });
+
+ [JoinName("ProgramEnvironmentVersion")]
+ public JoinDataComplete ProgramEnvironmentVersion = new JoinDataComplete(new JoinData { JoinNumber = 14, JoinSpan = 1 },
+ new JoinMetadata { Description = "Processor Program Environment Version", JoinCapabilities = eJoinCapabilities.ToSIMPL, JoinType = eJoinType.Serial });
+
+ [JoinName("AggregatedProgramInfo")]
+ public JoinDataComplete AggregatedProgramInfo = new JoinDataComplete(new JoinData { JoinNumber = 15, JoinSpan = 1 },
+ new JoinMetadata { Description = "Processor Program Aggregate Info Json", JoinCapabilities = eJoinCapabilities.ToSIMPL, JoinType = eJoinType.Serial });
+
+ [JoinName("EthernetOffsetJoin")]
+ public JoinDataComplete EthernetOffsetJoin = new JoinDataComplete(new JoinData { JoinNumber = 15, JoinSpan = 1 },
+ new JoinMetadata { Description = "All Ethernet Data is offset between Nics by 5 - First Joins Start at 76", JoinCapabilities = eJoinCapabilities.None, JoinType = eJoinType.None });
+
+ [JoinName("HostName")]
+ public JoinDataComplete HostName = new JoinDataComplete(new JoinData { JoinNumber = 76, JoinSpan = 1 },
+ new JoinMetadata { Description = "Processor Ethernet Hostname", JoinCapabilities = eJoinCapabilities.ToSIMPL, JoinType = eJoinType.Serial });
+
+ [JoinName("CurrentIpAddress")]
+ public JoinDataComplete CurrentIpAddress = new JoinDataComplete(new JoinData { JoinNumber = 77, JoinSpan = 1 },
+ new JoinMetadata { Description = "Processor Ethernet Current Ip Address", JoinCapabilities = eJoinCapabilities.ToSIMPL, JoinType = eJoinType.Serial });
+
+ [JoinName("CurrentSubnetMask")]
+ public JoinDataComplete CurrentSubnetMask = new JoinDataComplete(new JoinData { JoinNumber = 78, JoinSpan = 1 },
+ new JoinMetadata { Description = "Processor Ethernet Current Subnet Mask", JoinCapabilities = eJoinCapabilities.ToSIMPL, JoinType = eJoinType.Serial });
+
+ [JoinName("CurrentDefaultGateway")]
+ public JoinDataComplete CurrentDefaultGateway = new JoinDataComplete(new JoinData { JoinNumber = 79, JoinSpan = 1 },
+ new JoinMetadata { Description = "Processor Ethernet Current Default Gateway", JoinCapabilities = eJoinCapabilities.ToSIMPL, JoinType = eJoinType.Serial });
+
+ [JoinName("StaticIpAddress")]
+ public JoinDataComplete StaticIpAddress = new JoinDataComplete(new JoinData { JoinNumber = 80, JoinSpan = 1 },
+ new JoinMetadata { Description = "Processor Ethernet Static Ip Address", JoinCapabilities = eJoinCapabilities.ToSIMPL, JoinType = eJoinType.Serial });
+
+ [JoinName("StaticSubnetMask")]
+ public JoinDataComplete StaticSubnetMask = new JoinDataComplete(new JoinData { JoinNumber = 81, JoinSpan = 1 },
+ new JoinMetadata { Description = "Processor Ethernet Static Subnet Mask", JoinCapabilities = eJoinCapabilities.ToSIMPL, JoinType = eJoinType.Serial });
+
+ [JoinName("StaticDefaultGateway")]
+ public JoinDataComplete StaticDefaultGateway = new JoinDataComplete(new JoinData { JoinNumber = 82, JoinSpan = 1 },
+ new JoinMetadata { Description = "Processor Ethernet Static Default Gateway", JoinCapabilities = eJoinCapabilities.ToSIMPL, JoinType = eJoinType.Serial });
+
+ [JoinName("Domain")]
+ public JoinDataComplete Domain = new JoinDataComplete(new JoinData { JoinNumber = 83, JoinSpan = 1 },
+ new JoinMetadata { Description = "Processor Ethernet Domain", JoinCapabilities = eJoinCapabilities.ToSIMPL, JoinType = eJoinType.Serial });
+
+ [JoinName("DnsServer")]
+ public JoinDataComplete DnsServer = new JoinDataComplete(new JoinData { JoinNumber = 84, JoinSpan = 1 },
+ new JoinMetadata { Description = "Processor Ethernet Dns Server", JoinCapabilities = eJoinCapabilities.ToSIMPL, JoinType = eJoinType.Serial });
+
+ [JoinName("MacAddress")]
+ public JoinDataComplete MacAddress = new JoinDataComplete(new JoinData { JoinNumber = 85, JoinSpan = 1 },
+ new JoinMetadata { Description = "Processor Ethernet Mac Address", JoinCapabilities = eJoinCapabilities.ToSIMPL, JoinType = eJoinType.Serial });
+
+ [JoinName("DhcpStatus")]
+ public JoinDataComplete DhcpStatus = new JoinDataComplete(new JoinData { JoinNumber = 86, JoinSpan = 1 },
+ new JoinMetadata { Description = "Processor Ethernet Dhcp Status", JoinCapabilities = eJoinCapabilities.ToSIMPL, JoinType = eJoinType.Serial });
+
+ ///
+ /// Constructor to use when instantiating this Join Map without inheriting from it
+ ///
+ /// Join this join map will start at
+ public SystemMonitorJoinMap(uint joinStart)
+ : this(joinStart, typeof(SystemMonitorJoinMap))
+ {
+ }
+
+ ///
+ /// Constructor to use when extending this Join map
+ ///
+ /// Join this join map will start at
+ /// Type of the child join map
+ protected SystemMonitorJoinMap(uint joinStart, Type type)
+ : base(joinStart, type)
+ {
+ }
+ }
}
\ No newline at end of file
diff --git a/essentials-framework/Essentials Core/PepperDashEssentialsBase/Bridges/JoinMaps/VideoCodecControllerJoinMap.cs b/src/PepperDash.Essentials.Core/Bridges/JoinMaps/VideoCodecControllerJoinMap.cs
similarity index 99%
rename from essentials-framework/Essentials Core/PepperDashEssentialsBase/Bridges/JoinMaps/VideoCodecControllerJoinMap.cs
rename to src/PepperDash.Essentials.Core/Bridges/JoinMaps/VideoCodecControllerJoinMap.cs
index 21b88ed3..175fdd27 100644
--- a/essentials-framework/Essentials Core/PepperDashEssentialsBase/Bridges/JoinMaps/VideoCodecControllerJoinMap.cs
+++ b/src/PepperDash.Essentials.Core/Bridges/JoinMaps/VideoCodecControllerJoinMap.cs
@@ -922,21 +922,21 @@ namespace PepperDash.Essentials.Core.Bridges.JoinMaps
- #region Analog
-
- // TODO [ ] hotfix/videocodecbase-max-meeting-xsig-set
- [JoinName("MeetingsToDisplay")]
- public JoinDataComplete MeetingsToDisplay = new JoinDataComplete(
- new JoinData
- {
- JoinNumber = 40,
- JoinSpan = 1
- },
- new JoinMetadata
- {
- Description = "Set/FB the number of meetings to display via the bridge xsig; default: 3 meetings.",
- JoinCapabilities = eJoinCapabilities.ToFromSIMPL,
- JoinType = eJoinType.Analog
+ #region Analog
+
+ // TODO [ ] hotfix/videocodecbase-max-meeting-xsig-set
+ [JoinName("MeetingsToDisplay")]
+ public JoinDataComplete MeetingsToDisplay = new JoinDataComplete(
+ new JoinData
+ {
+ JoinNumber = 40,
+ JoinSpan = 1
+ },
+ new JoinMetadata
+ {
+ Description = "Set/FB the number of meetings to display via the bridge xsig; default: 3 meetings.",
+ JoinCapabilities = eJoinCapabilities.ToFromSIMPL,
+ JoinType = eJoinType.Analog
});
[JoinName("MinutesBeforeMeetingStart")]
diff --git a/essentials-framework/Essentials Core/PepperDashEssentialsBase/Comm and IR/CecPortController.cs b/src/PepperDash.Essentials.Core/Comm and IR/CecPortController.cs
similarity index 100%
rename from essentials-framework/Essentials Core/PepperDashEssentialsBase/Comm and IR/CecPortController.cs
rename to src/PepperDash.Essentials.Core/Comm and IR/CecPortController.cs
diff --git a/essentials-framework/Essentials Core/PepperDashEssentialsBase/Comm and IR/ComPortController.cs b/src/PepperDash.Essentials.Core/Comm and IR/ComPortController.cs
similarity index 100%
rename from essentials-framework/Essentials Core/PepperDashEssentialsBase/Comm and IR/ComPortController.cs
rename to src/PepperDash.Essentials.Core/Comm and IR/ComPortController.cs
diff --git a/essentials-framework/Essentials Core/PepperDashEssentialsBase/Comm and IR/ComSpecJsonConverter.cs b/src/PepperDash.Essentials.Core/Comm and IR/ComSpecJsonConverter.cs
similarity index 100%
rename from essentials-framework/Essentials Core/PepperDashEssentialsBase/Comm and IR/ComSpecJsonConverter.cs
rename to src/PepperDash.Essentials.Core/Comm and IR/ComSpecJsonConverter.cs
diff --git a/essentials-framework/Essentials Core/PepperDashEssentialsBase/Comm and IR/CommFactory.cs b/src/PepperDash.Essentials.Core/Comm and IR/CommFactory.cs
similarity index 97%
rename from essentials-framework/Essentials Core/PepperDashEssentialsBase/Comm and IR/CommFactory.cs
rename to src/PepperDash.Essentials.Core/Comm and IR/CommFactory.cs
index 8a5efe47..244a67f6 100644
--- a/essentials-framework/Essentials Core/PepperDashEssentialsBase/Comm and IR/CommFactory.cs
+++ b/src/PepperDash.Essentials.Core/Comm and IR/CommFactory.cs
@@ -1,233 +1,233 @@
-using System;
-using Crestron.SimplSharp;
-using Crestron.SimplSharpPro;
-using Crestron.SimplSharpPro.DM;
-using Newtonsoft.Json;
-using Newtonsoft.Json.Linq;
-using PepperDash.Core;
-using PepperDash.Essentials.Core.Config;
-
-namespace PepperDash.Essentials.Core
-{
- ///
- ///
- ///
- public class CommFactory
- {
- public static EssentialsControlPropertiesConfig GetControlPropertiesConfig(DeviceConfig deviceConfig)
- {
- try
- {
- return JsonConvert.DeserializeObject
- (deviceConfig.Properties["control"].ToString());
- //Debug.Console(2, "Control TEST: {0}", JsonConvert.SerializeObject(controlConfig));
- }
- catch (Exception e)
- {
-
- Debug.Console(0, "ERROR: [{0}] Control properties deserialize failed:\r{1}", deviceConfig.Key, e);
- return null;
- }
- }
-
-
- ///
- /// Returns a comm method of either com port, TCP, SSH, and puts this into the DeviceManager
- ///
- /// The Device config object
- public static IBasicCommunication CreateCommForDevice(DeviceConfig deviceConfig)
- {
- EssentialsControlPropertiesConfig controlConfig = GetControlPropertiesConfig(deviceConfig);
- if (controlConfig == null)
- return null;
-
- IBasicCommunication comm = null;
- try
- {
- var c = controlConfig.TcpSshProperties;
- switch (controlConfig.Method)
- {
- case eControlMethod.Com:
- comm = new ComPortController(deviceConfig.Key + "-com", GetComPort, controlConfig.ComParams, controlConfig);
- break;
- case eControlMethod.Cec:
- comm = new CecPortController(deviceConfig.Key + "-cec", GetCecPort, controlConfig);
- break;
- case eControlMethod.IR:
- break;
- case eControlMethod.Ssh:
- {
- var ssh = new GenericSshClient(deviceConfig.Key + "-ssh", c.Address, c.Port, c.Username, c.Password);
- ssh.AutoReconnect = c.AutoReconnect;
- if(ssh.AutoReconnect)
- ssh.AutoReconnectIntervalMs = c.AutoReconnectIntervalMs;
- comm = ssh;
- break;
- }
- case eControlMethod.Tcpip:
- {
- var tcp = new GenericTcpIpClient(deviceConfig.Key + "-tcp", c.Address, c.Port, c.BufferSize);
- tcp.AutoReconnect = c.AutoReconnect;
- if (tcp.AutoReconnect)
- tcp.AutoReconnectIntervalMs = c.AutoReconnectIntervalMs;
- comm = tcp;
- break;
- }
- case eControlMethod.Udp:
- {
- var udp = new GenericUdpServer(deviceConfig.Key + "-udp", c.Address, c.Port, c.BufferSize);
- comm = udp;
- break;
- }
- case eControlMethod.Telnet:
- break;
- default:
- break;
- }
- }
- catch (Exception e)
- {
- Debug.Console(0, "Cannot create communication from JSON:\r{0}\r\rException:\r{1}",
- deviceConfig.Properties.ToString(), e);
- }
-
- // put it in the device manager if it's the right flavor
- var comDev = comm as Device;
- if (comDev != null)
- DeviceManager.AddDevice(comDev);
- return comm;
- }
-
- public static ComPort GetComPort(EssentialsControlPropertiesConfig config)
- {
- var comPar = config.ComParams;
- var dev = GetIComPortsDeviceFromManagedDevice(config.ControlPortDevKey);
- if (dev != null && config.ControlPortNumber <= dev.NumberOfComPorts)
- return dev.ComPorts[config.ControlPortNumber];
- Debug.Console(0,Debug.ErrorLogLevel.Notice, "GetComPort: Device '{0}' does not have com port {1}", config.ControlPortDevKey, config.ControlPortNumber);
- return null;
- }
-
- ///
- /// Gets an ICec port from a RoutingInput or RoutingOutput on a device
- ///
- ///
- ///
- public static ICec GetCecPort(ControlPropertiesConfig config)
- {
- var dev = DeviceManager.GetDeviceForKey(config.ControlPortDevKey);
-
- if (dev != null)
- {
- if (!String.IsNullOrEmpty(config.ControlPortName))
- {
-
- var inputPort = (dev as IRoutingInputsOutputs).InputPorts[config.ControlPortName];
-
- if (inputPort != null)
- {
- if (inputPort.Port is ICec)
- return inputPort.Port as ICec;
- }
-
- var outputPort = (dev as IRoutingInputsOutputs).OutputPorts[config.ControlPortName];
-
- if (outputPort != null)
- {
- if (outputPort.Port is ICec)
- return outputPort.Port as ICec;
- }
-
- else
- Debug.Console(0, "GetCecPort: Device '{0}' does not have a CEC port called: '{1}'",
- config.ControlPortDevKey, config.ControlPortName);
- }
- else
- {
- Debug.Console(0, "GetCecPort: '{0}' - Configuration missing 'ControlPortName'", config.ControlPortDevKey);
- }
- }
- Debug.Console(0, "GetCecPort: Device '{0}' is not a valid device.", config.ControlPortDevKey);
-
- return null;
- }
-
- ///
- /// Helper to grab the IComPorts device for this PortDeviceKey. Key "controlSystem" will
- /// return the ControlSystem object from the Global class.
- ///
- /// IComPorts device or null if the device is not found or does not implement IComPorts
- public static IComPorts GetIComPortsDeviceFromManagedDevice(string ComPortDevKey)
- {
- if ((ComPortDevKey.Equals("controlSystem", System.StringComparison.OrdinalIgnoreCase)
- || ComPortDevKey.Equals("processor", System.StringComparison.OrdinalIgnoreCase))
- && Global.ControlSystem is IComPorts)
- return Global.ControlSystem;
- else
- {
- var dev = DeviceManager.GetDeviceForKey(ComPortDevKey) as IComPorts;
- if (dev == null)
- Debug.Console(0, "ComPortConfig: Cannot find com port device '{0}'", ComPortDevKey);
- return dev;
- }
- }
- }
-
- ///
- ///
- ///
- public class EssentialsControlPropertiesConfig :
- PepperDash.Core.ControlPropertiesConfig
- {
-
- [JsonConverter(typeof(ComSpecJsonConverter))]
- public ComPort.ComPortSpec ComParams { get; set; }
-
- public string CresnetId { get; set; }
-
- ///
- /// Attempts to provide uint conversion of string CresnetId
- ///
- public uint CresnetIdInt
- {
- get
- {
- try
- {
- return Convert.ToUInt32(CresnetId, 16);
- }
- catch (Exception)
- {
- throw new FormatException(string.Format("ERROR:Unable to convert Cresnet ID: {0} to hex. Error:\n{1}", CresnetId));
- }
- }
- }
-
- public string InfinetId { get; set; }
-
- ///
- /// Attepmts to provide uiont conversion of string InifinetId
- ///
- public uint InfinetIdInt
- {
- get
- {
- try
- {
- return Convert.ToUInt32(InfinetId, 16);
- }
- catch (Exception)
- {
- throw new FormatException(string.Format("ERROR:Unable to conver Infinet ID: {0} to hex. Error:\n{1}", InfinetId));
- }
- }
- }
- }
-
- public class IrControlSpec
- {
- public string PortDeviceKey { get; set; }
- public uint PortNumber { get; set; }
- public string File { get; set; }
- }
+using System;
+using Crestron.SimplSharp;
+using Crestron.SimplSharpPro;
+using Crestron.SimplSharpPro.DM;
+using Newtonsoft.Json;
+using Newtonsoft.Json.Linq;
+using PepperDash.Core;
+using PepperDash.Essentials.Core.Config;
+
+namespace PepperDash.Essentials.Core
+{
+ ///
+ ///
+ ///
+ public class CommFactory
+ {
+ public static EssentialsControlPropertiesConfig GetControlPropertiesConfig(DeviceConfig deviceConfig)
+ {
+ try
+ {
+ return JsonConvert.DeserializeObject
+ (deviceConfig.Properties["control"].ToString());
+ //Debug.Console(2, "Control TEST: {0}", JsonConvert.SerializeObject(controlConfig));
+ }
+ catch (Exception e)
+ {
+
+ Debug.Console(0, "ERROR: [{0}] Control properties deserialize failed:\r{1}", deviceConfig.Key, e);
+ return null;
+ }
+ }
+
+
+ ///
+ /// Returns a comm method of either com port, TCP, SSH, and puts this into the DeviceManager
+ ///
+ /// The Device config object
+ public static IBasicCommunication CreateCommForDevice(DeviceConfig deviceConfig)
+ {
+ EssentialsControlPropertiesConfig controlConfig = GetControlPropertiesConfig(deviceConfig);
+ if (controlConfig == null)
+ return null;
+
+ IBasicCommunication comm = null;
+ try
+ {
+ var c = controlConfig.TcpSshProperties;
+ switch (controlConfig.Method)
+ {
+ case eControlMethod.Com:
+ comm = new ComPortController(deviceConfig.Key + "-com", GetComPort, controlConfig.ComParams, controlConfig);
+ break;
+ case eControlMethod.Cec:
+ comm = new CecPortController(deviceConfig.Key + "-cec", GetCecPort, controlConfig);
+ break;
+ case eControlMethod.IR:
+ break;
+ case eControlMethod.Ssh:
+ {
+ var ssh = new GenericSshClient(deviceConfig.Key + "-ssh", c.Address, c.Port, c.Username, c.Password);
+ ssh.AutoReconnect = c.AutoReconnect;
+ if(ssh.AutoReconnect)
+ ssh.AutoReconnectIntervalMs = c.AutoReconnectIntervalMs;
+ comm = ssh;
+ break;
+ }
+ case eControlMethod.Tcpip:
+ {
+ var tcp = new GenericTcpIpClient(deviceConfig.Key + "-tcp", c.Address, c.Port, c.BufferSize);
+ tcp.AutoReconnect = c.AutoReconnect;
+ if (tcp.AutoReconnect)
+ tcp.AutoReconnectIntervalMs = c.AutoReconnectIntervalMs;
+ comm = tcp;
+ break;
+ }
+ case eControlMethod.Udp:
+ {
+ var udp = new GenericUdpServer(deviceConfig.Key + "-udp", c.Address, c.Port, c.BufferSize);
+ comm = udp;
+ break;
+ }
+ case eControlMethod.Telnet:
+ break;
+ default:
+ break;
+ }
+ }
+ catch (Exception e)
+ {
+ Debug.Console(0, "Cannot create communication from JSON:\r{0}\r\rException:\r{1}",
+ deviceConfig.Properties.ToString(), e);
+ }
+
+ // put it in the device manager if it's the right flavor
+ var comDev = comm as Device;
+ if (comDev != null)
+ DeviceManager.AddDevice(comDev);
+ return comm;
+ }
+
+ public static ComPort GetComPort(EssentialsControlPropertiesConfig config)
+ {
+ var comPar = config.ComParams;
+ var dev = GetIComPortsDeviceFromManagedDevice(config.ControlPortDevKey);
+ if (dev != null && config.ControlPortNumber <= dev.NumberOfComPorts)
+ return dev.ComPorts[config.ControlPortNumber];
+ Debug.Console(0,Debug.ErrorLogLevel.Notice, "GetComPort: Device '{0}' does not have com port {1}", config.ControlPortDevKey, config.ControlPortNumber);
+ return null;
+ }
+
+ ///
+ /// Gets an ICec port from a RoutingInput or RoutingOutput on a device
+ ///
+ ///
+ ///
+ public static ICec GetCecPort(ControlPropertiesConfig config)
+ {
+ var dev = DeviceManager.GetDeviceForKey(config.ControlPortDevKey);
+
+ if (dev != null)
+ {
+ if (!String.IsNullOrEmpty(config.ControlPortName))
+ {
+
+ var inputPort = (dev as IRoutingInputsOutputs).InputPorts[config.ControlPortName];
+
+ if (inputPort != null)
+ {
+ if (inputPort.Port is ICec)
+ return inputPort.Port as ICec;
+ }
+
+ var outputPort = (dev as IRoutingInputsOutputs).OutputPorts[config.ControlPortName];
+
+ if (outputPort != null)
+ {
+ if (outputPort.Port is ICec)
+ return outputPort.Port as ICec;
+ }
+
+ else
+ Debug.Console(0, "GetCecPort: Device '{0}' does not have a CEC port called: '{1}'",
+ config.ControlPortDevKey, config.ControlPortName);
+ }
+ else
+ {
+ Debug.Console(0, "GetCecPort: '{0}' - Configuration missing 'ControlPortName'", config.ControlPortDevKey);
+ }
+ }
+ Debug.Console(0, "GetCecPort: Device '{0}' is not a valid device.", config.ControlPortDevKey);
+
+ return null;
+ }
+
+ ///
+ /// Helper to grab the IComPorts device for this PortDeviceKey. Key "controlSystem" will
+ /// return the ControlSystem object from the Global class.
+ ///
+ /// IComPorts device or null if the device is not found or does not implement IComPorts
+ public static IComPorts GetIComPortsDeviceFromManagedDevice(string ComPortDevKey)
+ {
+ if ((ComPortDevKey.Equals("controlSystem", System.StringComparison.OrdinalIgnoreCase)
+ || ComPortDevKey.Equals("processor", System.StringComparison.OrdinalIgnoreCase))
+ && Global.ControlSystem is IComPorts)
+ return Global.ControlSystem;
+ else
+ {
+ var dev = DeviceManager.GetDeviceForKey(ComPortDevKey) as IComPorts;
+ if (dev == null)
+ Debug.Console(0, "ComPortConfig: Cannot find com port device '{0}'", ComPortDevKey);
+ return dev;
+ }
+ }
+ }
+
+ ///
+ ///
+ ///
+ public class EssentialsControlPropertiesConfig :
+ PepperDash.Core.ControlPropertiesConfig
+ {
+
+ [JsonConverter(typeof(ComSpecJsonConverter))]
+ public ComPort.ComPortSpec ComParams { get; set; }
+
+ public string CresnetId { get; set; }
+
+ ///
+ /// Attempts to provide uint conversion of string CresnetId
+ ///
+ public uint CresnetIdInt
+ {
+ get
+ {
+ try
+ {
+ return Convert.ToUInt32(CresnetId, 16);
+ }
+ catch (Exception)
+ {
+ throw new FormatException(string.Format("ERROR:Unable to convert Cresnet ID: {0} to hex. Error:\n{1}", CresnetId));
+ }
+ }
+ }
+
+ public string InfinetId { get; set; }
+
+ ///
+ /// Attepmts to provide uiont conversion of string InifinetId
+ ///
+ public uint InfinetIdInt
+ {
+ get
+ {
+ try
+ {
+ return Convert.ToUInt32(InfinetId, 16);
+ }
+ catch (Exception)
+ {
+ throw new FormatException(string.Format("ERROR:Unable to conver Infinet ID: {0} to hex. Error:\n{1}", InfinetId));
+ }
+ }
+ }
+ }
+
+ public class IrControlSpec
+ {
+ public string PortDeviceKey { get; set; }
+ public uint PortNumber { get; set; }
+ public string File { get; set; }
+ }
}
\ No newline at end of file
diff --git a/essentials-framework/Essentials Core/PepperDashEssentialsBase/Comm and IR/CommunicationExtras.cs b/src/PepperDash.Essentials.Core/Comm and IR/CommunicationExtras.cs
similarity index 100%
rename from essentials-framework/Essentials Core/PepperDashEssentialsBase/Comm and IR/CommunicationExtras.cs
rename to src/PepperDash.Essentials.Core/Comm and IR/CommunicationExtras.cs
diff --git a/essentials-framework/Essentials Core/PepperDashEssentialsBase/Comm and IR/ConsoleCommMockDevice.cs b/src/PepperDash.Essentials.Core/Comm and IR/ConsoleCommMockDevice.cs
similarity index 100%
rename from essentials-framework/Essentials Core/PepperDashEssentialsBase/Comm and IR/ConsoleCommMockDevice.cs
rename to src/PepperDash.Essentials.Core/Comm and IR/ConsoleCommMockDevice.cs
diff --git a/essentials-framework/Essentials Core/PepperDashEssentialsBase/Comm and IR/GenericComm.cs b/src/PepperDash.Essentials.Core/Comm and IR/GenericComm.cs
similarity index 97%
rename from essentials-framework/Essentials Core/PepperDashEssentialsBase/Comm and IR/GenericComm.cs
rename to src/PepperDash.Essentials.Core/Comm and IR/GenericComm.cs
index 7648a379..309d5659 100644
--- a/essentials-framework/Essentials Core/PepperDashEssentialsBase/Comm and IR/GenericComm.cs
+++ b/src/PepperDash.Essentials.Core/Comm and IR/GenericComm.cs
@@ -1,142 +1,142 @@
-using System;
-using System.Collections.Generic;
-using Crestron.SimplSharp.CrestronSockets;
-using Crestron.SimplSharpPro.DeviceSupport;
-using Newtonsoft.Json;
-
-using PepperDash.Core;
-using PepperDash.Essentials.Core.Bridges;
-using PepperDash.Essentials.Core.Devices;
-using PepperDash.Essentials.Core.Config;
-
-
-namespace PepperDash.Essentials.Core
-{
- ///
- /// Serves as a generic wrapper class for all styles of IBasicCommuncation ports
- ///
- [Description("Generic communication wrapper class for any IBasicCommunication type")]
- public class GenericComm : ReconfigurableBridgableDevice
- {
- EssentialsControlPropertiesConfig PropertiesConfig;
-
- public IBasicCommunication CommPort { get; private set; }
-
- public GenericComm(DeviceConfig config)
- : base(config)
- {
-
- PropertiesConfig = CommFactory.GetControlPropertiesConfig(config);
-
- var commPort = CommFactory.CreateCommForDevice(config);
-
- //Fixing decision to require '-comPorts' in delcaration for DGE in order to get a device with comports included
- if (commPort == null)
- {
- config.Key = config.Key + "-comPorts";
- commPort = CommFactory.CreateCommForDevice(config);
- }
-
- CommPort = commPort;
-
- }
-
- public static IKeyed BuildDevice(DeviceConfig dc)
- {
- Debug.Console(1, "Factory Attempting to create new Generic Comm Device");
- return new GenericComm(dc);
- }
-
- public void SetPortConfig(string portConfig)
- {
- // TODO: Deserialize new EssentialsControlPropertiesConfig and handle as necessary
- try
- {
- PropertiesConfig = JsonConvert.DeserializeObject
- (portConfig);
- }
- catch (Exception e)
- {
- Debug.Console(2, this, "Error deserializing port config: {0}", e);
- }
- }
-
- protected override void CustomSetConfig(DeviceConfig config)
- {
- PropertiesConfig = CommFactory.GetControlPropertiesConfig(config);
-
- ConfigWriter.UpdateDeviceConfig(config);
- }
-
- public override void LinkToApi(BasicTriList trilist, uint joinStart, string joinMapKey, EiscApiAdvanced bridge)
- {
- var joinMap = new IBasicCommunicationJoinMap(joinStart);
-
- var joinMapSerialized = JoinMapHelper.GetSerializedJoinMapForDevice(joinMapKey);
-
- if (!string.IsNullOrEmpty(joinMapSerialized))
- joinMap = JsonConvert.DeserializeObject(joinMapSerialized);
-
- if (bridge != null)
- {
- bridge.AddJoinMap(Key, joinMap);
- }
- else
- {
- Debug.Console(0, this, "Please update config to use 'eiscapiadvanced' to get all join map features for this device.");
- }
-
- if (CommPort == null)
- {
- Debug.Console(1, this, "Unable to link device '{0}'. CommPort is null", Key);
- return;
- }
-
- Debug.Console(1, this, "Linking to Trilist '{0}'", trilist.ID.ToString("X"));
-
- // this is a permanent event handler. This cannot be -= from event
- CommPort.TextReceived += (s, a) =>
- {
- trilist.SetString(joinMap.TextReceived.JoinNumber, a.Text);
- };
- trilist.SetStringSigAction(joinMap.SendText.JoinNumber, s => CommPort.SendText(s));
- trilist.SetStringSigAction(joinMap.SetPortConfig.JoinNumber, SetPortConfig);
-
-
- var sComm = CommPort as ISocketStatus;
- if (sComm == null) return;
- sComm.ConnectionChange += (s, a) =>
- {
- trilist.SetUshort(joinMap.Status.JoinNumber, (ushort)(a.Client.ClientStatus));
- trilist.SetBool(joinMap.Connected.JoinNumber, a.Client.ClientStatus ==
- SocketStatus.SOCKET_STATUS_CONNECTED);
- };
-
- trilist.SetBoolSigAction(joinMap.Connect.JoinNumber, b =>
- {
- if (b)
- {
- sComm.Connect();
- }
- else
- {
- sComm.Disconnect();
- }
- });
- }
- }
-
- public class GenericCommFactory : EssentialsDeviceFactory
- {
- public GenericCommFactory()
- {
- TypeNames = new List() { "genericComm" };
- }
-
- public override EssentialsDevice BuildDevice(DeviceConfig dc)
- {
- Debug.Console(1, "Factory Attempting to create new Generic Comm Device");
- return new GenericComm(dc);
- }
- }
+using System;
+using System.Collections.Generic;
+using Crestron.SimplSharp.CrestronSockets;
+using Crestron.SimplSharpPro.DeviceSupport;
+using Newtonsoft.Json;
+
+using PepperDash.Core;
+using PepperDash.Essentials.Core.Bridges;
+using PepperDash.Essentials.Core.Devices;
+using PepperDash.Essentials.Core.Config;
+
+
+namespace PepperDash.Essentials.Core
+{
+ ///
+ /// Serves as a generic wrapper class for all styles of IBasicCommuncation ports
+ ///
+ [Description("Generic communication wrapper class for any IBasicCommunication type")]
+ public class GenericComm : ReconfigurableBridgableDevice
+ {
+ EssentialsControlPropertiesConfig PropertiesConfig;
+
+ public IBasicCommunication CommPort { get; private set; }
+
+ public GenericComm(DeviceConfig config)
+ : base(config)
+ {
+
+ PropertiesConfig = CommFactory.GetControlPropertiesConfig(config);
+
+ var commPort = CommFactory.CreateCommForDevice(config);
+
+ //Fixing decision to require '-comPorts' in delcaration for DGE in order to get a device with comports included
+ if (commPort == null)
+ {
+ config.Key = config.Key + "-comPorts";
+ commPort = CommFactory.CreateCommForDevice(config);
+ }
+
+ CommPort = commPort;
+
+ }
+
+ public static IKeyed BuildDevice(DeviceConfig dc)
+ {
+ Debug.Console(1, "Factory Attempting to create new Generic Comm Device");
+ return new GenericComm(dc);
+ }
+
+ public void SetPortConfig(string portConfig)
+ {
+ // TODO: Deserialize new EssentialsControlPropertiesConfig and handle as necessary
+ try
+ {
+ PropertiesConfig = JsonConvert.DeserializeObject
+ (portConfig);
+ }
+ catch (Exception e)
+ {
+ Debug.Console(2, this, "Error deserializing port config: {0}", e);
+ }
+ }
+
+ protected override void CustomSetConfig(DeviceConfig config)
+ {
+ PropertiesConfig = CommFactory.GetControlPropertiesConfig(config);
+
+ ConfigWriter.UpdateDeviceConfig(config);
+ }
+
+ public override void LinkToApi(BasicTriList trilist, uint joinStart, string joinMapKey, EiscApiAdvanced bridge)
+ {
+ var joinMap = new IBasicCommunicationJoinMap(joinStart);
+
+ var joinMapSerialized = JoinMapHelper.GetSerializedJoinMapForDevice(joinMapKey);
+
+ if (!string.IsNullOrEmpty(joinMapSerialized))
+ joinMap = JsonConvert.DeserializeObject(joinMapSerialized);
+
+ if (bridge != null)
+ {
+ bridge.AddJoinMap(Key, joinMap);
+ }
+ else
+ {
+ Debug.Console(0, this, "Please update config to use 'eiscapiadvanced' to get all join map features for this device.");
+ }
+
+ if (CommPort == null)
+ {
+ Debug.Console(1, this, "Unable to link device '{0}'. CommPort is null", Key);
+ return;
+ }
+
+ Debug.Console(1, this, "Linking to Trilist '{0}'", trilist.ID.ToString("X"));
+
+ // this is a permanent event handler. This cannot be -= from event
+ CommPort.TextReceived += (s, a) =>
+ {
+ trilist.SetString(joinMap.TextReceived.JoinNumber, a.Text);
+ };
+ trilist.SetStringSigAction(joinMap.SendText.JoinNumber, s => CommPort.SendText(s));
+ trilist.SetStringSigAction(joinMap.SetPortConfig.JoinNumber, SetPortConfig);
+
+
+ var sComm = CommPort as ISocketStatus;
+ if (sComm == null) return;
+ sComm.ConnectionChange += (s, a) =>
+ {
+ trilist.SetUshort(joinMap.Status.JoinNumber, (ushort)(a.Client.ClientStatus));
+ trilist.SetBool(joinMap.Connected.JoinNumber, a.Client.ClientStatus ==
+ SocketStatus.SOCKET_STATUS_CONNECTED);
+ };
+
+ trilist.SetBoolSigAction(joinMap.Connect.JoinNumber, b =>
+ {
+ if (b)
+ {
+ sComm.Connect();
+ }
+ else
+ {
+ sComm.Disconnect();
+ }
+ });
+ }
+ }
+
+ public class GenericCommFactory : EssentialsDeviceFactory
+ {
+ public GenericCommFactory()
+ {
+ TypeNames = new List() { "genericComm" };
+ }
+
+ public override EssentialsDevice BuildDevice(DeviceConfig dc)
+ {
+ Debug.Console(1, "Factory Attempting to create new Generic Comm Device");
+ return new GenericComm(dc);
+ }
+ }
}
\ No newline at end of file
diff --git a/essentials-framework/Essentials Core/PepperDashEssentialsBase/Comm and IR/GenericHttpClient.cs b/src/PepperDash.Essentials.Core/Comm and IR/GenericHttpClient.cs
similarity index 100%
rename from essentials-framework/Essentials Core/PepperDashEssentialsBase/Comm and IR/GenericHttpClient.cs
rename to src/PepperDash.Essentials.Core/Comm and IR/GenericHttpClient.cs
diff --git a/essentials-framework/Essentials Core/PepperDashEssentialsBase/Comm and IR/IRPortHelper.cs b/src/PepperDash.Essentials.Core/Comm and IR/IRPortHelper.cs
similarity index 97%
rename from essentials-framework/Essentials Core/PepperDashEssentialsBase/Comm and IR/IRPortHelper.cs
rename to src/PepperDash.Essentials.Core/Comm and IR/IRPortHelper.cs
index c75630e4..9cb73986 100644
--- a/essentials-framework/Essentials Core/PepperDashEssentialsBase/Comm and IR/IRPortHelper.cs
+++ b/src/PepperDash.Essentials.Core/Comm and IR/IRPortHelper.cs
@@ -1,235 +1,235 @@
-using System;
-using System.Collections.Generic;
-using Crestron.SimplSharp;
-using Crestron.SimplSharp.CrestronIO;
-using Crestron.SimplSharpPro;
-
-using Newtonsoft.Json;
-using Newtonsoft.Json.Linq;
-using PepperDash.Core;
-using PepperDash.Essentials.Core.Config;
-
-namespace PepperDash.Essentials.Core
-{
- ///
- ///
- ///
- public static class IRPortHelper
- {
- public static string IrDriverPathPrefix
- {
- get
- {
- return Global.FilePathPrefix + "IR" + Global.DirectorySeparator;
- }
- }
-
- ///
- /// Finds either the ControlSystem or a device controller that contains IR ports and
- /// returns a port from the hardware device
- ///
- ///
- /// IrPortConfig object. The port and or filename will be empty/null
- /// if valid values don't exist on config
- public static IrOutPortConfig GetIrPort(JToken propsToken)
- {
- var control = propsToken["control"];
- if (control == null)
- return null;
- if (control["method"].Value() != "ir")
- {
- Debug.Console(0, "IRPortHelper called with non-IR properties");
- return null;
- }
-
- var port = new IrOutPortConfig();
-
- var portDevKey = control.Value("controlPortDevKey");
- var portNum = control.Value("controlPortNumber");
- if (portDevKey == null || portNum == 0)
- {
- Debug.Console(1, "WARNING: Properties is missing port device or port number");
- return port;
- }
-
- IIROutputPorts irDev = null;
- if (portDevKey.Equals("controlSystem", StringComparison.OrdinalIgnoreCase)
- || portDevKey.Equals("processor", StringComparison.OrdinalIgnoreCase))
- irDev = Global.ControlSystem;
- else
- irDev = DeviceManager.GetDeviceForKey(portDevKey) as IIROutputPorts;
-
- if (irDev == null)
- {
- Debug.Console(1, "[Config] Error, device with IR ports '{0}' not found", portDevKey);
- return port;
- }
-
- if (portNum <= irDev.NumberOfIROutputPorts) // success!
- {
- var file = IrDriverPathPrefix + control["irFile"].Value();
- port.Port = irDev.IROutputPorts[portNum];
- port.FileName = file;
- return port; // new IrOutPortConfig { Port = irDev.IROutputPorts[portNum], FileName = file };
- }
- else
- {
- Debug.Console(1, "[Config] Error, device '{0}' IR port {1} out of range",
- portDevKey, portNum);
- return port;
- }
- }
-
- public static IROutputPort GetIrOutputPort(DeviceConfig dc)
- {
- var irControllerKey = dc.Key + "-ir";
- if (dc.Properties == null)
- {
- Debug.Console(0, "[{0}] WARNING: Device config does not include properties. IR will not function.", dc.Key);
- return null;
- }
-
- var control = dc.Properties["control"];
- if (control == null)
- {
- Debug.Console(0,
- "WARNING: Device config does not include control properties. IR will not function for {0}", dc.Key);
- return null;
- }
-
- var portDevKey = control.Value("controlPortDevKey");
- var portNum = control.Value("controlPortNumber");
- IIROutputPorts irDev = null;
-
- if (portDevKey == null)
- {
- Debug.Console(0, "WARNING: control properties is missing ir device for {0}", dc.Key);
- return null;
- }
-
- if (portNum == 0)
- {
- Debug.Console(0, "WARNING: control properties is missing ir port number for {0}", dc.Key);
- return null;
- }
-
- if (portDevKey.Equals("controlSystem", StringComparison.OrdinalIgnoreCase)
- || portDevKey.Equals("processor", StringComparison.OrdinalIgnoreCase))
- irDev = Global.ControlSystem;
- else
- irDev = DeviceManager.GetDeviceForKey(portDevKey) as IIROutputPorts;
-
- if (irDev == null)
- {
- Debug.Console(0, "WARNING: device with IR ports '{0}' not found", portDevKey);
- return null;
- }
- if (portNum > irDev.NumberOfIROutputPorts)
- {
- Debug.Console(0, "WARNING: device '{0}' IR port {1} out of range",
- portDevKey, portNum);
- return null;
- }
-
-
- var port = irDev.IROutputPorts[portNum];
-
-
-
- return port;
- }
-
- public static IrOutputPortController GetIrOutputPortController(DeviceConfig config)
- {
- Debug.Console(1, "Attempting to create new Ir Port Controller");
-
- if (config == null)
- {
- return null;
- }
-
- var postActivationFunc = new Func (GetIrOutputPort);
- var irDevice = new IrOutputPortController(config.Key + "-ir", postActivationFunc, config);
-
- return irDevice;
- }
-
- /*
- ///
- /// Returns a ready-to-go IrOutputPortController from a DeviceConfig object.
- ///
- public static IrOutputPortController GetIrOutputPortController(DeviceConfig devConf)
- {
- var irControllerKey = devConf.Key + "-ir";
- if (devConf.Properties == null)
- {
- Debug.Console(0, "[{0}] WARNING: Device config does not include properties. IR will not function.", devConf.Key);
- return new IrOutputPortController(irControllerKey, null, "");
- }
-
- var control = devConf.Properties["control"];
- if (control == null)
- {
- var c = new IrOutputPortController(irControllerKey, null, "");
- Debug.Console(0, c, "WARNING: Device config does not include control properties. IR will not function");
- return c;
- }
-
- var portDevKey = control.Value("controlPortDevKey");
- var portNum = control.Value("controlPortNumber");
- IIROutputPorts irDev = null;
-
- if (portDevKey == null)
- {
- var c = new IrOutputPortController(irControllerKey, null, "");
- Debug.Console(0, c, "WARNING: control properties is missing ir device");
- return c;
- }
-
- if (portNum == 0)
- {
- var c = new IrOutputPortController(irControllerKey, null, "");
- Debug.Console(0, c, "WARNING: control properties is missing ir port number");
- return c;
- }
-
- if (portDevKey.Equals("controlSystem", StringComparison.OrdinalIgnoreCase)
- || portDevKey.Equals("processor", StringComparison.OrdinalIgnoreCase))
- irDev = Global.ControlSystem;
- else
- irDev = DeviceManager.GetDeviceForKey(portDevKey) as IIROutputPorts;
-
- if (irDev == null)
- {
- var c = new IrOutputPortController(irControllerKey, null, "");
- Debug.Console(0, c, "WARNING: device with IR ports '{0}' not found", portDevKey);
- return c;
- }
-
- if (portNum <= irDev.NumberOfIROutputPorts) // success!
- return new IrOutputPortController(irControllerKey, irDev.IROutputPorts[portNum],
- IrDriverPathPrefix + control["irFile"].Value());
- else
- {
- var c = new IrOutputPortController(irControllerKey, null, "");
- Debug.Console(0, c, "WARNING: device '{0}' IR port {1} out of range",
- portDevKey, portNum);
- return c;
- }
- }*/
- }
-
- ///
- /// Wrapper to help in IR port creation
- ///
- public class IrOutPortConfig
- {
- public IROutputPort Port { get; set; }
- public string FileName { get; set; }
-
- public IrOutPortConfig()
- {
- FileName = "";
- }
- }
+using System;
+using System.Collections.Generic;
+using Crestron.SimplSharp;
+using Crestron.SimplSharp.CrestronIO;
+using Crestron.SimplSharpPro;
+
+using Newtonsoft.Json;
+using Newtonsoft.Json.Linq;
+using PepperDash.Core;
+using PepperDash.Essentials.Core.Config;
+
+namespace PepperDash.Essentials.Core
+{
+ ///
+ ///
+ ///
+ public static class IRPortHelper
+ {
+ public static string IrDriverPathPrefix
+ {
+ get
+ {
+ return Global.FilePathPrefix + "IR" + Global.DirectorySeparator;
+ }
+ }
+
+ ///
+ /// Finds either the ControlSystem or a device controller that contains IR ports and
+ /// returns a port from the hardware device
+ ///
+ ///
+ /// IrPortConfig object. The port and or filename will be empty/null
+ /// if valid values don't exist on config
+ public static IrOutPortConfig GetIrPort(JToken propsToken)
+ {
+ var control = propsToken["control"];
+ if (control == null)
+ return null;
+ if (control["method"].Value() != "ir")
+ {
+ Debug.Console(0, "IRPortHelper called with non-IR properties");
+ return null;
+ }
+
+ var port = new IrOutPortConfig();
+
+ var portDevKey = control.Value("controlPortDevKey");
+ var portNum = control.Value("controlPortNumber");
+ if (portDevKey == null || portNum == 0)
+ {
+ Debug.Console(1, "WARNING: Properties is missing port device or port number");
+ return port;
+ }
+
+ IIROutputPorts irDev = null;
+ if (portDevKey.Equals("controlSystem", StringComparison.OrdinalIgnoreCase)
+ || portDevKey.Equals("processor", StringComparison.OrdinalIgnoreCase))
+ irDev = Global.ControlSystem;
+ else
+ irDev = DeviceManager.GetDeviceForKey(portDevKey) as IIROutputPorts;
+
+ if (irDev == null)
+ {
+ Debug.Console(1, "[Config] Error, device with IR ports '{0}' not found", portDevKey);
+ return port;
+ }
+
+ if (portNum <= irDev.NumberOfIROutputPorts) // success!
+ {
+ var file = IrDriverPathPrefix + control["irFile"].Value();
+ port.Port = irDev.IROutputPorts[portNum];
+ port.FileName = file;
+ return port; // new IrOutPortConfig { Port = irDev.IROutputPorts[portNum], FileName = file };
+ }
+ else
+ {
+ Debug.Console(1, "[Config] Error, device '{0}' IR port {1} out of range",
+ portDevKey, portNum);
+ return port;
+ }
+ }
+
+ public static IROutputPort GetIrOutputPort(DeviceConfig dc)
+ {
+ var irControllerKey = dc.Key + "-ir";
+ if (dc.Properties == null)
+ {
+ Debug.Console(0, "[{0}] WARNING: Device config does not include properties. IR will not function.", dc.Key);
+ return null;
+ }
+
+ var control = dc.Properties["control"];
+ if (control == null)
+ {
+ Debug.Console(0,
+ "WARNING: Device config does not include control properties. IR will not function for {0}", dc.Key);
+ return null;
+ }
+
+ var portDevKey = control.Value("controlPortDevKey");
+ var portNum = control.Value("controlPortNumber");
+ IIROutputPorts irDev = null;
+
+ if (portDevKey == null)
+ {
+ Debug.Console(0, "WARNING: control properties is missing ir device for {0}", dc.Key);
+ return null;
+ }
+
+ if (portNum == 0)
+ {
+ Debug.Console(0, "WARNING: control properties is missing ir port number for {0}", dc.Key);
+ return null;
+ }
+
+ if (portDevKey.Equals("controlSystem", StringComparison.OrdinalIgnoreCase)
+ || portDevKey.Equals("processor", StringComparison.OrdinalIgnoreCase))
+ irDev = Global.ControlSystem;
+ else
+ irDev = DeviceManager.GetDeviceForKey(portDevKey) as IIROutputPorts;
+
+ if (irDev == null)
+ {
+ Debug.Console(0, "WARNING: device with IR ports '{0}' not found", portDevKey);
+ return null;
+ }
+ if (portNum > irDev.NumberOfIROutputPorts)
+ {
+ Debug.Console(0, "WARNING: device '{0}' IR port {1} out of range",
+ portDevKey, portNum);
+ return null;
+ }
+
+
+ var port = irDev.IROutputPorts[portNum];
+
+
+
+ return port;
+ }
+
+ public static IrOutputPortController GetIrOutputPortController(DeviceConfig config)
+ {
+ Debug.Console(1, "Attempting to create new Ir Port Controller");
+
+ if (config == null)
+ {
+ return null;
+ }
+
+ var postActivationFunc = new Func (GetIrOutputPort);
+ var irDevice = new IrOutputPortController(config.Key + "-ir", postActivationFunc, config);
+
+ return irDevice;
+ }
+
+ /*
+ ///
+ /// Returns a ready-to-go IrOutputPortController from a DeviceConfig object.
+ ///
+ public static IrOutputPortController GetIrOutputPortController(DeviceConfig devConf)
+ {
+ var irControllerKey = devConf.Key + "-ir";
+ if (devConf.Properties == null)
+ {
+ Debug.Console(0, "[{0}] WARNING: Device config does not include properties. IR will not function.", devConf.Key);
+ return new IrOutputPortController(irControllerKey, null, "");
+ }
+
+ var control = devConf.Properties["control"];
+ if (control == null)
+ {
+ var c = new IrOutputPortController(irControllerKey, null, "");
+ Debug.Console(0, c, "WARNING: Device config does not include control properties. IR will not function");
+ return c;
+ }
+
+ var portDevKey = control.Value("controlPortDevKey");
+ var portNum = control.Value("controlPortNumber");
+ IIROutputPorts irDev = null;
+
+ if (portDevKey == null)
+ {
+ var c = new IrOutputPortController(irControllerKey, null, "");
+ Debug.Console(0, c, "WARNING: control properties is missing ir device");
+ return c;
+ }
+
+ if (portNum == 0)
+ {
+ var c = new IrOutputPortController(irControllerKey, null, "");
+ Debug.Console(0, c, "WARNING: control properties is missing ir port number");
+ return c;
+ }
+
+ if (portDevKey.Equals("controlSystem", StringComparison.OrdinalIgnoreCase)
+ || portDevKey.Equals("processor", StringComparison.OrdinalIgnoreCase))
+ irDev = Global.ControlSystem;
+ else
+ irDev = DeviceManager.GetDeviceForKey(portDevKey) as IIROutputPorts;
+
+ if (irDev == null)
+ {
+ var c = new IrOutputPortController(irControllerKey, null, "");
+ Debug.Console(0, c, "WARNING: device with IR ports '{0}' not found", portDevKey);
+ return c;
+ }
+
+ if (portNum <= irDev.NumberOfIROutputPorts) // success!
+ return new IrOutputPortController(irControllerKey, irDev.IROutputPorts[portNum],
+ IrDriverPathPrefix + control["irFile"].Value());
+ else
+ {
+ var c = new IrOutputPortController(irControllerKey, null, "");
+ Debug.Console(0, c, "WARNING: device '{0}' IR port {1} out of range",
+ portDevKey, portNum);
+ return c;
+ }
+ }*/
+ }
+
+ ///
+ /// Wrapper to help in IR port creation
+ ///
+ public class IrOutPortConfig
+ {
+ public IROutputPort Port { get; set; }
+ public string FileName { get; set; }
+
+ public IrOutPortConfig()
+ {
+ FileName = "";
+ }
+ }
}
\ No newline at end of file
diff --git a/essentials-framework/Essentials Core/PepperDashEssentialsBase/Config/BasicConfig.cs b/src/PepperDash.Essentials.Core/Config/BasicConfig.cs
similarity index 100%
rename from essentials-framework/Essentials Core/PepperDashEssentialsBase/Config/BasicConfig.cs
rename to src/PepperDash.Essentials.Core/Config/BasicConfig.cs
diff --git a/essentials-framework/Essentials Core/PepperDashEssentialsBase/Config/ConfigPropertiesHelpers.cs b/src/PepperDash.Essentials.Core/Config/ConfigPropertiesHelpers.cs
similarity index 100%
rename from essentials-framework/Essentials Core/PepperDashEssentialsBase/Config/ConfigPropertiesHelpers.cs
rename to src/PepperDash.Essentials.Core/Config/ConfigPropertiesHelpers.cs
diff --git a/essentials-framework/Essentials Core/PepperDashEssentialsBase/Config/DeviceConfig.cs b/src/PepperDash.Essentials.Core/Config/DeviceConfig.cs
similarity index 99%
rename from essentials-framework/Essentials Core/PepperDashEssentialsBase/Config/DeviceConfig.cs
rename to src/PepperDash.Essentials.Core/Config/DeviceConfig.cs
index 1d9ed1c2..3a4e18f0 100644
--- a/essentials-framework/Essentials Core/PepperDashEssentialsBase/Config/DeviceConfig.cs
+++ b/src/PepperDash.Essentials.Core/Config/DeviceConfig.cs
@@ -30,19 +30,19 @@ namespace PepperDash.Essentials.Core.Config
[JsonProperty("properties")]
[JsonConverter(typeof(DevicePropertiesConverter))]
- public JToken Properties { get; set; }
-
- public DeviceConfig(DeviceConfig dc)
- {
- Key = dc.Key;
- Uid = dc.Uid;
- Name = dc.Name;
- Group = dc.Group;
- Type = dc.Type;
- Properties = JToken.FromObject(dc.Properties);
- }
-
- public DeviceConfig() {}
+ public JToken Properties { get; set; }
+
+ public DeviceConfig(DeviceConfig dc)
+ {
+ Key = dc.Key;
+ Uid = dc.Uid;
+ Name = dc.Name;
+ Group = dc.Group;
+ Type = dc.Type;
+ Properties = JToken.FromObject(dc.Properties);
+ }
+
+ public DeviceConfig() {}
}
///
diff --git a/essentials-framework/Essentials Core/PepperDashEssentialsBase/Config/Essentials/ConfigReader.cs b/src/PepperDash.Essentials.Core/Config/Essentials/ConfigReader.cs
similarity index 97%
rename from essentials-framework/Essentials Core/PepperDashEssentialsBase/Config/Essentials/ConfigReader.cs
rename to src/PepperDash.Essentials.Core/Config/Essentials/ConfigReader.cs
index e99206e8..c9cec345 100644
--- a/essentials-framework/Essentials Core/PepperDashEssentialsBase/Config/Essentials/ConfigReader.cs
+++ b/src/PepperDash.Essentials.Core/Config/Essentials/ConfigReader.cs
@@ -1,254 +1,254 @@
-using System;
-using System.Linq;
-using System.Text;
-using Crestron.SimplSharp;
-using Crestron.SimplSharp.CrestronIO;
-using Newtonsoft.Json;
-using Newtonsoft.Json.Linq;
-using PepperDash.Core;
-using PepperDash.Core.Config;
-
-namespace PepperDash.Essentials.Core.Config
-{
- ///
- /// Loads the ConfigObject from the file
- ///
- public class ConfigReader
- {
- public const string LocalConfigPresent =
- @"
-***************************************************
-************* Using Local config file *************
-***************************************************";
-
- public static EssentialsConfig ConfigObject { get; private set; }
-
- public static bool LoadConfig2()
- {
- Debug.Console(0, Debug.ErrorLogLevel.Notice, "Loading unmerged system/template portal configuration file.");
- try
- {
- // Check for local config file first
- var filePath = Global.FilePathPrefix + ConfigWriter.LocalConfigFolder + Global.DirectorySeparator + Global.ConfigFileName;
-
- bool localConfigFound = false;
-
- Debug.Console(0, Debug.ErrorLogLevel.Notice, "Attempting to load Local config file: '{0}'", filePath);
-
- // Check for local config directory first
-
- var configFiles = GetConfigFiles(filePath);
-
- if (configFiles != null)
- {
- if (configFiles.Length > 1)
- {
- Debug.Console(0, Debug.ErrorLogLevel.Error,
- "****Error: Multiple Local Configuration files present. Please ensure only a single file exists and reset program.****");
- return false;
- }
- if(configFiles.Length == 1)
- {
- localConfigFound = true;
-
- }
- }
- else
- {
- Debug.Console(0, Debug.ErrorLogLevel.Notice,
- "Local Configuration file not present.", filePath);
-
- }
-
- // Check for Portal Config
- if(!localConfigFound)
- {
- filePath = Global.FilePathPrefix + Global.ConfigFileName;
-
- Debug.Console(0, Debug.ErrorLogLevel.Notice, "Attempting to load Portal config file: '{0}'", filePath);
-
- configFiles = GetConfigFiles(filePath);
-
- if (configFiles != null)
- {
- Debug.Console(2, "{0} config files found matching pattern", configFiles.Length);
-
- if (configFiles.Length > 1)
- {
- Debug.Console(0, Debug.ErrorLogLevel.Error,
- "****Error: Multiple Portal Configuration files present. Please ensure only a single file exists and reset program.****");
- return false;
- }
- else if (configFiles.Length == 1)
- {
- Debug.Console(0, Debug.ErrorLogLevel.Notice, "Found Portal config file: '{0}'", filePath);
- }
- else
- {
- Debug.Console(0, Debug.ErrorLogLevel.Notice, "No config file found.");
- return false;
- }
- }
- else
- {
- Debug.Console(0, Debug.ErrorLogLevel.Error,
- "ERROR: Portal Configuration file not present. Please load file and reset program.");
- return false;
- }
- }
-
- // Get the actual file path
- filePath = configFiles[0].FullName;
-
- // Generate debug statement if using a local file.
- if (localConfigFound)
- {
- GetLocalFileMessage(filePath);
- }
-
- // Read the file
- using (StreamReader fs = new StreamReader(filePath))
- {
- Debug.Console(0, Debug.ErrorLogLevel.Notice, "Loading config file: '{0}'", filePath);
-
- if (localConfigFound)
- {
- ConfigObject = JObject.Parse(fs.ReadToEnd()).ToObject();
-
- Debug.Console(0, Debug.ErrorLogLevel.Notice, "Successfully Loaded Local Config");
-
- return true;
- }
- else
- {
- var doubleObj = JObject.Parse(fs.ReadToEnd());
- ConfigObject = PortalConfigReader.MergeConfigs(doubleObj).ToObject();
-
- // Extract SystemUrl and TemplateUrl into final config output
-
- if (doubleObj["system_url"] != null)
- {
- ConfigObject.SystemUrl = doubleObj["system_url"].Value();
- }
-
- if (doubleObj["template_url"] != null)
- {
- ConfigObject.TemplateUrl = doubleObj["template_url"].Value();
- }
- }
-
- Debug.Console(0, Debug.ErrorLogLevel.Notice, "Successfully Loaded Merged Config");
-
- return true;
- }
- }
- catch (Exception e)
- {
- Debug.Console(0, Debug.ErrorLogLevel.Error, "ERROR: Config load failed: \r{0}", e);
- return false;
- }
- }
-
- ///
- /// Returns all the files from the directory specified.
- ///
- ///
- ///
- public static FileInfo[] GetConfigFiles(string filePath)
- {
- // Get the directory
- var dir = Path.GetDirectoryName(filePath);
-
- if (Directory.Exists(dir))
- {
- Debug.Console(1, "Searching in Directory '{0}'", dir);
- // Get the directory info
- var dirInfo = new DirectoryInfo(dir);
-
- // Get the file name
- var fileName = Path.GetFileName(filePath);
- Debug.Console(1, "For Config Files matching: '{0}'", fileName);
-
- // Get the files that match from the directory
- return dirInfo.GetFiles(fileName);
- }
- else
- {
- Debug.Console(0, Debug.ErrorLogLevel.Notice,
- "Directory not found: ", dir);
-
- return null;
- }
- }
-
- ///
- /// Returns the group for a given device key in config
- ///
- ///
- ///
- public static string GetGroupForDeviceKey(string key)
- {
- var dev = ConfigObject.Devices.FirstOrDefault(d => d.Key.Equals(key, StringComparison.OrdinalIgnoreCase));
- return dev == null ? null : dev.Group;
- }
-
- private static void GetLocalFileMessage(string filePath)
- {
- var filePathLength = filePath.Length + 2;
- var debugStringWidth = filePathLength + 12;
-
- if (debugStringWidth < 51)
- {
- debugStringWidth = 51;
- }
- var qualifier = (filePathLength % 2 != 0)
- ? " Using Local Config File "
- : " Using Local Config File ";
- var bookend1 = (debugStringWidth - qualifier.Length) / 2;
- var bookend2 = (debugStringWidth - filePathLength) / 2;
-
-
- var newDebugString = new StringBuilder()
- .Append(CrestronEnvironment.NewLine)
- // Line 1
- .Append(new string('*', debugStringWidth))
- .Append(CrestronEnvironment.NewLine)
- // Line 2
- .Append(new string('*', debugStringWidth))
- .Append(CrestronEnvironment.NewLine)
- // Line 3
- .Append(new string('*', 2))
- .Append(new string(' ', debugStringWidth - 4))
- .Append(new string('*', 2))
- .Append(CrestronEnvironment.NewLine)
- // Line 4
- .Append(new string('*', 2))
- .Append(new string(' ', bookend1 - 2))
- .Append(qualifier)
- .Append(new string(' ', bookend1 - 2))
- .Append(new string('*', 2))
- .Append(CrestronEnvironment.NewLine)
- // Line 5
- .Append(new string('*', 2))
- .Append(new string(' ', bookend2 - 2))
- .Append(" " + filePath + " ")
- .Append(new string(' ', bookend2 - 2))
- .Append(new string('*', 2))
- .Append(CrestronEnvironment.NewLine)
- // Line 6
- .Append(new string('*', 2))
- .Append(new string(' ', debugStringWidth - 4))
- .Append(new string('*', 2))
- .Append(CrestronEnvironment.NewLine)
- // Line 7
- .Append(new string('*', debugStringWidth))
- .Append(CrestronEnvironment.NewLine)
- // Line 8
- .Append(new string('*', debugStringWidth));
-
- Debug.Console(2, Debug.ErrorLogLevel.Notice, "Found Local config file: '{0}'", filePath);
- Debug.Console(0, newDebugString.ToString());
- }
-
- }
+using System;
+using System.Linq;
+using System.Text;
+using Crestron.SimplSharp;
+using Crestron.SimplSharp.CrestronIO;
+using Newtonsoft.Json;
+using Newtonsoft.Json.Linq;
+using PepperDash.Core;
+using PepperDash.Core.Config;
+
+namespace PepperDash.Essentials.Core.Config
+{
+ ///
+ /// Loads the ConfigObject from the file
+ ///
+ public class ConfigReader
+ {
+ public const string LocalConfigPresent =
+ @"
+***************************************************
+************* Using Local config file *************
+***************************************************";
+
+ public static EssentialsConfig ConfigObject { get; private set; }
+
+ public static bool LoadConfig2()
+ {
+ Debug.Console(0, Debug.ErrorLogLevel.Notice, "Loading unmerged system/template portal configuration file.");
+ try
+ {
+ // Check for local config file first
+ var filePath = Global.FilePathPrefix + ConfigWriter.LocalConfigFolder + Global.DirectorySeparator + Global.ConfigFileName;
+
+ bool localConfigFound = false;
+
+ Debug.Console(0, Debug.ErrorLogLevel.Notice, "Attempting to load Local config file: '{0}'", filePath);
+
+ // Check for local config directory first
+
+ var configFiles = GetConfigFiles(filePath);
+
+ if (configFiles != null)
+ {
+ if (configFiles.Length > 1)
+ {
+ Debug.Console(0, Debug.ErrorLogLevel.Error,
+ "****Error: Multiple Local Configuration files present. Please ensure only a single file exists and reset program.****");
+ return false;
+ }
+ if(configFiles.Length == 1)
+ {
+ localConfigFound = true;
+
+ }
+ }
+ else
+ {
+ Debug.Console(0, Debug.ErrorLogLevel.Notice,
+ "Local Configuration file not present.", filePath);
+
+ }
+
+ // Check for Portal Config
+ if(!localConfigFound)
+ {
+ filePath = Global.FilePathPrefix + Global.ConfigFileName;
+
+ Debug.Console(0, Debug.ErrorLogLevel.Notice, "Attempting to load Portal config file: '{0}'", filePath);
+
+ configFiles = GetConfigFiles(filePath);
+
+ if (configFiles != null)
+ {
+ Debug.Console(2, "{0} config files found matching pattern", configFiles.Length);
+
+ if (configFiles.Length > 1)
+ {
+ Debug.Console(0, Debug.ErrorLogLevel.Error,
+ "****Error: Multiple Portal Configuration files present. Please ensure only a single file exists and reset program.****");
+ return false;
+ }
+ else if (configFiles.Length == 1)
+ {
+ Debug.Console(0, Debug.ErrorLogLevel.Notice, "Found Portal config file: '{0}'", filePath);
+ }
+ else
+ {
+ Debug.Console(0, Debug.ErrorLogLevel.Notice, "No config file found.");
+ return false;
+ }
+ }
+ else
+ {
+ Debug.Console(0, Debug.ErrorLogLevel.Error,
+ "ERROR: Portal Configuration file not present. Please load file and reset program.");
+ return false;
+ }
+ }
+
+ // Get the actual file path
+ filePath = configFiles[0].FullName;
+
+ // Generate debug statement if using a local file.
+ if (localConfigFound)
+ {
+ GetLocalFileMessage(filePath);
+ }
+
+ // Read the file
+ using (StreamReader fs = new StreamReader(filePath))
+ {
+ Debug.Console(0, Debug.ErrorLogLevel.Notice, "Loading config file: '{0}'", filePath);
+
+ if (localConfigFound)
+ {
+ ConfigObject = JObject.Parse(fs.ReadToEnd()).ToObject();
+
+ Debug.Console(0, Debug.ErrorLogLevel.Notice, "Successfully Loaded Local Config");
+
+ return true;
+ }
+ else
+ {
+ var doubleObj = JObject.Parse(fs.ReadToEnd());
+ ConfigObject = PortalConfigReader.MergeConfigs(doubleObj).ToObject();
+
+ // Extract SystemUrl and TemplateUrl into final config output
+
+ if (doubleObj["system_url"] != null)
+ {
+ ConfigObject.SystemUrl = doubleObj["system_url"].Value();
+ }
+
+ if (doubleObj["template_url"] != null)
+ {
+ ConfigObject.TemplateUrl = doubleObj["template_url"].Value();
+ }
+ }
+
+ Debug.Console(0, Debug.ErrorLogLevel.Notice, "Successfully Loaded Merged Config");
+
+ return true;
+ }
+ }
+ catch (Exception e)
+ {
+ Debug.Console(0, Debug.ErrorLogLevel.Error, "ERROR: Config load failed: \r{0}", e);
+ return false;
+ }
+ }
+
+ ///
+ /// Returns all the files from the directory specified.
+ ///
+ ///
+ ///
+ public static FileInfo[] GetConfigFiles(string filePath)
+ {
+ // Get the directory
+ var dir = Path.GetDirectoryName(filePath);
+
+ if (Directory.Exists(dir))
+ {
+ Debug.Console(1, "Searching in Directory '{0}'", dir);
+ // Get the directory info
+ var dirInfo = new DirectoryInfo(dir);
+
+ // Get the file name
+ var fileName = Path.GetFileName(filePath);
+ Debug.Console(1, "For Config Files matching: '{0}'", fileName);
+
+ // Get the files that match from the directory
+ return dirInfo.GetFiles(fileName);
+ }
+ else
+ {
+ Debug.Console(0, Debug.ErrorLogLevel.Notice,
+ "Directory not found: ", dir);
+
+ return null;
+ }
+ }
+
+ ///
+ /// Returns the group for a given device key in config
+ ///
+ ///
+ ///
+ public static string GetGroupForDeviceKey(string key)
+ {
+ var dev = ConfigObject.Devices.FirstOrDefault(d => d.Key.Equals(key, StringComparison.OrdinalIgnoreCase));
+ return dev == null ? null : dev.Group;
+ }
+
+ private static void GetLocalFileMessage(string filePath)
+ {
+ var filePathLength = filePath.Length + 2;
+ var debugStringWidth = filePathLength + 12;
+
+ if (debugStringWidth < 51)
+ {
+ debugStringWidth = 51;
+ }
+ var qualifier = (filePathLength % 2 != 0)
+ ? " Using Local Config File "
+ : " Using Local Config File ";
+ var bookend1 = (debugStringWidth - qualifier.Length) / 2;
+ var bookend2 = (debugStringWidth - filePathLength) / 2;
+
+
+ var newDebugString = new StringBuilder()
+ .Append(CrestronEnvironment.NewLine)
+ // Line 1
+ .Append(new string('*', debugStringWidth))
+ .Append(CrestronEnvironment.NewLine)
+ // Line 2
+ .Append(new string('*', debugStringWidth))
+ .Append(CrestronEnvironment.NewLine)
+ // Line 3
+ .Append(new string('*', 2))
+ .Append(new string(' ', debugStringWidth - 4))
+ .Append(new string('*', 2))
+ .Append(CrestronEnvironment.NewLine)
+ // Line 4
+ .Append(new string('*', 2))
+ .Append(new string(' ', bookend1 - 2))
+ .Append(qualifier)
+ .Append(new string(' ', bookend1 - 2))
+ .Append(new string('*', 2))
+ .Append(CrestronEnvironment.NewLine)
+ // Line 5
+ .Append(new string('*', 2))
+ .Append(new string(' ', bookend2 - 2))
+ .Append(" " + filePath + " ")
+ .Append(new string(' ', bookend2 - 2))
+ .Append(new string('*', 2))
+ .Append(CrestronEnvironment.NewLine)
+ // Line 6
+ .Append(new string('*', 2))
+ .Append(new string(' ', debugStringWidth - 4))
+ .Append(new string('*', 2))
+ .Append(CrestronEnvironment.NewLine)
+ // Line 7
+ .Append(new string('*', debugStringWidth))
+ .Append(CrestronEnvironment.NewLine)
+ // Line 8
+ .Append(new string('*', debugStringWidth));
+
+ Debug.Console(2, Debug.ErrorLogLevel.Notice, "Found Local config file: '{0}'", filePath);
+ Debug.Console(0, newDebugString.ToString());
+ }
+
+ }
}
\ No newline at end of file
diff --git a/essentials-framework/Essentials Core/PepperDashEssentialsBase/Config/Essentials/ConfigUpdater.cs b/src/PepperDash.Essentials.Core/Config/Essentials/ConfigUpdater.cs
similarity index 100%
rename from essentials-framework/Essentials Core/PepperDashEssentialsBase/Config/Essentials/ConfigUpdater.cs
rename to src/PepperDash.Essentials.Core/Config/Essentials/ConfigUpdater.cs
diff --git a/essentials-framework/Essentials Core/PepperDashEssentialsBase/Config/Essentials/ConfigWriter.cs b/src/PepperDash.Essentials.Core/Config/Essentials/ConfigWriter.cs
similarity index 96%
rename from essentials-framework/Essentials Core/PepperDashEssentialsBase/Config/Essentials/ConfigWriter.cs
rename to src/PepperDash.Essentials.Core/Config/Essentials/ConfigWriter.cs
index c6224859..30c0244c 100644
--- a/essentials-framework/Essentials Core/PepperDashEssentialsBase/Config/Essentials/ConfigWriter.cs
+++ b/src/PepperDash.Essentials.Core/Config/Essentials/ConfigWriter.cs
@@ -1,162 +1,162 @@
-using System;
-using System.Collections.Generic;
-using System.Linq;
-using System.Text;
-using Crestron.SimplSharp;
-using Crestron.SimplSharp.CrestronIO;
-using Newtonsoft.Json;
-using Newtonsoft.Json.Linq;
-using PepperDash.Core;
-
-namespace PepperDash.Essentials.Core.Config
-{
- ///
- /// Responsible for updating config at runtime, and writing the updates out to a local file
- ///
- public class ConfigWriter
- {
- public const string LocalConfigFolder = "LocalConfig";
-
- public const long WriteTimeout = 30000;
-
- public static CTimer WriteTimer;
- static CCriticalSection fileLock = new CCriticalSection();
-
- ///
- /// Updates the config properties of a device
- ///
- ///
- ///
- ///
- public static bool UpdateDeviceProperties(string deviceKey, JToken properties)
- {
- bool success = false;
-
- // Get the current device config
- var deviceConfig = ConfigReader.ConfigObject.Devices.FirstOrDefault(d => d.Key.Equals(deviceKey));
-
- if (deviceConfig != null)
- {
- // Replace the current properties JToken with the new one passed into this method
- deviceConfig.Properties = properties;
-
- Debug.Console(1, "Updated properties of device: '{0}'", deviceKey);
-
- success = true;
- }
-
- ResetTimer();
-
- return success;
- }
-
- public static bool UpdateDeviceConfig(DeviceConfig config)
- {
- bool success = false;
-
- var deviceConfigIndex = ConfigReader.ConfigObject.Devices.FindIndex(d => d.Key.Equals(config.Key));
-
- if (deviceConfigIndex >= 0)
- {
- ConfigReader.ConfigObject.Devices[deviceConfigIndex] = config;
-
- Debug.Console(1, "Updated config of device: '{0}'", config.Key);
-
- success = true;
- }
-
- ResetTimer();
-
- return success;
- }
-
- public static bool UpdateRoomConfig(DeviceConfig config)
- {
- bool success = false;
-
- var roomConfigIndex = ConfigReader.ConfigObject.Rooms.FindIndex(d => d.Key.Equals(config.Key));
-
- if (roomConfigIndex >= 0)
- {
- ConfigReader.ConfigObject.Rooms[roomConfigIndex] = config;
-
- Debug.Console(1, "Updated room of device: '{0}'", config.Key);
-
- success = true;
- }
-
- ResetTimer();
-
- return success;
- }
-
- ///
- /// Resets (or starts) the write timer
- ///
- static void ResetTimer()
- {
- if (WriteTimer == null)
- WriteTimer = new CTimer(WriteConfigFile, WriteTimeout);
-
- WriteTimer.Reset(WriteTimeout);
-
- Debug.Console(1, "Config File write timer has been reset.");
- }
-
- ///
- /// Writes the current config to a file in the LocalConfig subfolder
- ///
- ///
- private static void WriteConfigFile(object o)
- {
- var filePath = Global.FilePathPrefix + LocalConfigFolder + Global.DirectorySeparator + "configurationFile.json";
-
- var configData = JsonConvert.SerializeObject(ConfigReader.ConfigObject);
-
- WriteFile(filePath, configData);
- }
-
- ///
- /// Writes
- ///
- ///
- ///
- public static void WriteFile(string filePath, string configData)
- {
- if (WriteTimer != null)
- WriteTimer.Stop();
-
- Debug.Console(0, Debug.ErrorLogLevel.Notice, "Writing Configuration to file");
-
- Debug.Console(0, Debug.ErrorLogLevel.Notice, "Attempting to write config file: '{0}'", filePath);
-
- try
- {
- if (fileLock.TryEnter())
- {
- using (StreamWriter sw = new StreamWriter(filePath))
- {
- sw.Write(configData);
- sw.Flush();
- }
- }
- else
- {
- Debug.Console(0, Debug.ErrorLogLevel.Error, "Unable to enter FileLock");
- }
- }
- catch (Exception e)
- {
- Debug.Console(0, Debug.ErrorLogLevel.Error, "Error: Config write failed: \r{0}", e);
- }
- finally
- {
- if (fileLock != null && !fileLock.Disposed)
- fileLock.Leave();
-
- }
- }
-
-
- }
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using Crestron.SimplSharp;
+using Crestron.SimplSharp.CrestronIO;
+using Newtonsoft.Json;
+using Newtonsoft.Json.Linq;
+using PepperDash.Core;
+
+namespace PepperDash.Essentials.Core.Config
+{
+ ///
+ /// Responsible for updating config at runtime, and writing the updates out to a local file
+ ///
+ public class ConfigWriter
+ {
+ public const string LocalConfigFolder = "LocalConfig";
+
+ public const long WriteTimeout = 30000;
+
+ public static CTimer WriteTimer;
+ static CCriticalSection fileLock = new CCriticalSection();
+
+ ///
+ /// Updates the config properties of a device
+ ///
+ ///
+ ///
+ ///
+ public static bool UpdateDeviceProperties(string deviceKey, JToken properties)
+ {
+ bool success = false;
+
+ // Get the current device config
+ var deviceConfig = ConfigReader.ConfigObject.Devices.FirstOrDefault(d => d.Key.Equals(deviceKey));
+
+ if (deviceConfig != null)
+ {
+ // Replace the current properties JToken with the new one passed into this method
+ deviceConfig.Properties = properties;
+
+ Debug.Console(1, "Updated properties of device: '{0}'", deviceKey);
+
+ success = true;
+ }
+
+ ResetTimer();
+
+ return success;
+ }
+
+ public static bool UpdateDeviceConfig(DeviceConfig config)
+ {
+ bool success = false;
+
+ var deviceConfigIndex = ConfigReader.ConfigObject.Devices.FindIndex(d => d.Key.Equals(config.Key));
+
+ if (deviceConfigIndex >= 0)
+ {
+ ConfigReader.ConfigObject.Devices[deviceConfigIndex] = config;
+
+ Debug.Console(1, "Updated config of device: '{0}'", config.Key);
+
+ success = true;
+ }
+
+ ResetTimer();
+
+ return success;
+ }
+
+ public static bool UpdateRoomConfig(DeviceConfig config)
+ {
+ bool success = false;
+
+ var roomConfigIndex = ConfigReader.ConfigObject.Rooms.FindIndex(d => d.Key.Equals(config.Key));
+
+ if (roomConfigIndex >= 0)
+ {
+ ConfigReader.ConfigObject.Rooms[roomConfigIndex] = config;
+
+ Debug.Console(1, "Updated room of device: '{0}'", config.Key);
+
+ success = true;
+ }
+
+ ResetTimer();
+
+ return success;
+ }
+
+ ///
+ /// Resets (or starts) the write timer
+ ///
+ static void ResetTimer()
+ {
+ if (WriteTimer == null)
+ WriteTimer = new CTimer(WriteConfigFile, WriteTimeout);
+
+ WriteTimer.Reset(WriteTimeout);
+
+ Debug.Console(1, "Config File write timer has been reset.");
+ }
+
+ ///
+ /// Writes the current config to a file in the LocalConfig subfolder
+ ///
+ ///
+ private static void WriteConfigFile(object o)
+ {
+ var filePath = Global.FilePathPrefix + LocalConfigFolder + Global.DirectorySeparator + "configurationFile.json";
+
+ var configData = JsonConvert.SerializeObject(ConfigReader.ConfigObject);
+
+ WriteFile(filePath, configData);
+ }
+
+ ///
+ /// Writes
+ ///
+ ///
+ ///
+ public static void WriteFile(string filePath, string configData)
+ {
+ if (WriteTimer != null)
+ WriteTimer.Stop();
+
+ Debug.Console(0, Debug.ErrorLogLevel.Notice, "Writing Configuration to file");
+
+ Debug.Console(0, Debug.ErrorLogLevel.Notice, "Attempting to write config file: '{0}'", filePath);
+
+ try
+ {
+ if (fileLock.TryEnter())
+ {
+ using (StreamWriter sw = new StreamWriter(filePath))
+ {
+ sw.Write(configData);
+ sw.Flush();
+ }
+ }
+ else
+ {
+ Debug.Console(0, Debug.ErrorLogLevel.Error, "Unable to enter FileLock");
+ }
+ }
+ catch (Exception e)
+ {
+ Debug.Console(0, Debug.ErrorLogLevel.Error, "Error: Config write failed: \r{0}", e);
+ }
+ finally
+ {
+ if (fileLock != null && !fileLock.Disposed)
+ fileLock.Leave();
+
+ }
+ }
+
+
+ }
}
\ No newline at end of file
diff --git a/essentials-framework/Essentials Core/PepperDashEssentialsBase/Config/Essentials/EssentialsConfig.cs b/src/PepperDash.Essentials.Core/Config/Essentials/EssentialsConfig.cs
similarity index 100%
rename from essentials-framework/Essentials Core/PepperDashEssentialsBase/Config/Essentials/EssentialsConfig.cs
rename to src/PepperDash.Essentials.Core/Config/Essentials/EssentialsConfig.cs
diff --git a/essentials-framework/Essentials Core/PepperDashEssentialsBase/Config/InfoConfig.cs b/src/PepperDash.Essentials.Core/Config/InfoConfig.cs
similarity index 100%
rename from essentials-framework/Essentials Core/PepperDashEssentialsBase/Config/InfoConfig.cs
rename to src/PepperDash.Essentials.Core/Config/InfoConfig.cs
diff --git a/essentials-framework/Essentials Core/PepperDashEssentialsBase/Config/SourceDevicePropertiesConfigBase.cs b/src/PepperDash.Essentials.Core/Config/SourceDevicePropertiesConfigBase.cs
similarity index 100%
rename from essentials-framework/Essentials Core/PepperDashEssentialsBase/Config/SourceDevicePropertiesConfigBase.cs
rename to src/PepperDash.Essentials.Core/Config/SourceDevicePropertiesConfigBase.cs
diff --git a/essentials-framework/Essentials Core/PepperDashEssentialsBase/Crestron IO/C2nIo/C2nIoController.cs b/src/PepperDash.Essentials.Core/Crestron IO/C2nIo/C2nIoController.cs
similarity index 100%
rename from essentials-framework/Essentials Core/PepperDashEssentialsBase/Crestron IO/C2nIo/C2nIoController.cs
rename to src/PepperDash.Essentials.Core/Crestron IO/C2nIo/C2nIoController.cs
diff --git a/essentials-framework/Essentials Core/PepperDashEssentialsBase/Crestron IO/C2nRts/C2nRthsController.cs b/src/PepperDash.Essentials.Core/Crestron IO/C2nRts/C2nRthsController.cs
similarity index 97%
rename from essentials-framework/Essentials Core/PepperDashEssentialsBase/Crestron IO/C2nRts/C2nRthsController.cs
rename to src/PepperDash.Essentials.Core/Crestron IO/C2nRts/C2nRthsController.cs
index e1aa545e..803e466b 100644
--- a/essentials-framework/Essentials Core/PepperDashEssentialsBase/Crestron IO/C2nRts/C2nRthsController.cs
+++ b/src/PepperDash.Essentials.Core/Crestron IO/C2nRts/C2nRthsController.cs
@@ -1,148 +1,148 @@
-using System;
-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;
-
-
-namespace PepperDash.Essentials.Core.CrestronIO
-{
- [Description("Wrapper class for the C2N-RTHS sensor")]
- public class C2nRthsController : CrestronGenericBridgeableBaseDevice
- {
- private C2nRths _device;
-
- public IntFeedback TemperatureFeedback { get; private set; }
- public IntFeedback HumidityFeedback { get; private set; }
-
- public C2nRthsController(string key, Func preActivationFunc,
- DeviceConfig config)
- : base(key, config.Name)
- {
-
- AddPreActivationAction(() =>
- {
- _device = preActivationFunc(config);
-
- RegisterCrestronGenericBase(_device);
-
- TemperatureFeedback = new IntFeedback(() => _device.TemperatureFeedback.UShortValue);
- HumidityFeedback = new IntFeedback(() => _device.HumidityFeedback.UShortValue);
-
- if (_device != null) _device.BaseEvent += DeviceOnBaseEvent;
- });
- }
-
-
- private void DeviceOnBaseEvent(GenericBase device, BaseEventArgs args)
- {
- switch (args.EventId)
- {
- case C2nRths.TemperatureFeedbackEventId:
- TemperatureFeedback.FireUpdate();
- break;
- case C2nRths.HumidityFeedbackEventId:
- HumidityFeedback.FireUpdate();
- break;
- }
- }
-
- public void SetTemperatureFormat(bool setToC)
- {
- _device.TemperatureFormat.BoolValue = setToC;
- }
-
- public override void LinkToApi(BasicTriList trilist, uint joinStart, string joinMapKey, EiscApiAdvanced bridge)
- {
- var joinMap = new C2nRthsControllerJoinMap(joinStart);
-
- var joinMapSerialized = JoinMapHelper.GetSerializedJoinMapForDevice(joinMapKey);
-
- if (!string.IsNullOrEmpty(joinMapSerialized))
- joinMap = JsonConvert.DeserializeObject(joinMapSerialized);
-
- if (bridge != null)
- {
- bridge.AddJoinMap(Key, joinMap);
- }
- else
- {
- Debug.Console(0, this, "Please update config to use 'eiscapiadvanced' to get all join map features for this device.");
- }
-
- Debug.Console(1, this, "Linking to Trilist '{0}'", trilist.ID.ToString("X"));
-
-
- trilist.SetBoolSigAction(joinMap.TemperatureFormat.JoinNumber, SetTemperatureFormat);
-
-
-
- IsOnline.LinkInputSig(trilist.BooleanInput[joinMap.IsOnline.JoinNumber]);
- TemperatureFeedback.LinkInputSig(trilist.UShortInput[joinMap.Temperature.JoinNumber]);
- HumidityFeedback.LinkInputSig(trilist.UShortInput[joinMap.Humidity.JoinNumber]);
-
- trilist.StringInput[joinMap.Name.JoinNumber].StringValue = Name;
-
- trilist.OnlineStatusChange += (d, args) =>
- {
- if (!args.DeviceOnLine) return;
-
- UpdateFeedbacksWhenOnline();
-
- trilist.StringInput[joinMap.Name.JoinNumber].StringValue = Name;
- };
- }
-
- private void UpdateFeedbacksWhenOnline()
- {
- IsOnline.FireUpdate();
- TemperatureFeedback.FireUpdate();
- HumidityFeedback.FireUpdate();
- }
-
- #region PreActivation
-
- private static C2nRths GetC2nRthsDevice(DeviceConfig dc)
- {
- var control = CommFactory.GetControlPropertiesConfig(dc);
- var cresnetId = control.CresnetIdInt;
- var branchId = control.ControlPortNumber;
- var parentKey = string.IsNullOrEmpty(control.ControlPortDevKey) ? "processor" : control.ControlPortDevKey;
-
- if (parentKey.Equals("processor", StringComparison.CurrentCultureIgnoreCase))
- {
- Debug.Console(0, "Device {0} is a valid cresnet master - creating new C2nRths", parentKey);
- return new C2nRths(cresnetId, Global.ControlSystem);
- }
- var cresnetBridge = DeviceManager.GetDeviceForKey(parentKey) as IHasCresnetBranches;
-
- if (cresnetBridge != null)
- {
- Debug.Console(0, "Device {0} is a valid cresnet master - creating new C2nRths", parentKey);
- return new C2nRths(cresnetId, cresnetBridge.CresnetBranches[branchId]);
- }
- Debug.Console(0, "Device {0} is not a valid cresnet master", parentKey);
- return null;
- }
- #endregion
-
- public class C2nRthsControllerFactory : EssentialsDeviceFactory
- {
- public C2nRthsControllerFactory()
- {
- TypeNames = new List() { "c2nrths" };
- }
-
- public override EssentialsDevice BuildDevice(DeviceConfig dc)
- {
- Debug.Console(1, "Factory Attempting to create new C2N-RTHS Device");
-
- return new C2nRthsController(dc.Key, GetC2nRthsDevice, dc);
- }
- }
- }
+using System;
+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;
+
+
+namespace PepperDash.Essentials.Core.CrestronIO
+{
+ [Description("Wrapper class for the C2N-RTHS sensor")]
+ public class C2nRthsController : CrestronGenericBridgeableBaseDevice
+ {
+ private C2nRths _device;
+
+ public IntFeedback TemperatureFeedback { get; private set; }
+ public IntFeedback HumidityFeedback { get; private set; }
+
+ public C2nRthsController(string key, Func preActivationFunc,
+ DeviceConfig config)
+ : base(key, config.Name)
+ {
+
+ AddPreActivationAction(() =>
+ {
+ _device = preActivationFunc(config);
+
+ RegisterCrestronGenericBase(_device);
+
+ TemperatureFeedback = new IntFeedback(() => _device.TemperatureFeedback.UShortValue);
+ HumidityFeedback = new IntFeedback(() => _device.HumidityFeedback.UShortValue);
+
+ if (_device != null) _device.BaseEvent += DeviceOnBaseEvent;
+ });
+ }
+
+
+ private void DeviceOnBaseEvent(GenericBase device, BaseEventArgs args)
+ {
+ switch (args.EventId)
+ {
+ case C2nRths.TemperatureFeedbackEventId:
+ TemperatureFeedback.FireUpdate();
+ break;
+ case C2nRths.HumidityFeedbackEventId:
+ HumidityFeedback.FireUpdate();
+ break;
+ }
+ }
+
+ public void SetTemperatureFormat(bool setToC)
+ {
+ _device.TemperatureFormat.BoolValue = setToC;
+ }
+
+ public override void LinkToApi(BasicTriList trilist, uint joinStart, string joinMapKey, EiscApiAdvanced bridge)
+ {
+ var joinMap = new C2nRthsControllerJoinMap(joinStart);
+
+ var joinMapSerialized = JoinMapHelper.GetSerializedJoinMapForDevice(joinMapKey);
+
+ if (!string.IsNullOrEmpty(joinMapSerialized))
+ joinMap = JsonConvert.DeserializeObject(joinMapSerialized);
+
+ if (bridge != null)
+ {
+ bridge.AddJoinMap(Key, joinMap);
+ }
+ else
+ {
+ Debug.Console(0, this, "Please update config to use 'eiscapiadvanced' to get all join map features for this device.");
+ }
+
+ Debug.Console(1, this, "Linking to Trilist '{0}'", trilist.ID.ToString("X"));
+
+
+ trilist.SetBoolSigAction(joinMap.TemperatureFormat.JoinNumber, SetTemperatureFormat);
+
+
+
+ IsOnline.LinkInputSig(trilist.BooleanInput[joinMap.IsOnline.JoinNumber]);
+ TemperatureFeedback.LinkInputSig(trilist.UShortInput[joinMap.Temperature.JoinNumber]);
+ HumidityFeedback.LinkInputSig(trilist.UShortInput[joinMap.Humidity.JoinNumber]);
+
+ trilist.StringInput[joinMap.Name.JoinNumber].StringValue = Name;
+
+ trilist.OnlineStatusChange += (d, args) =>
+ {
+ if (!args.DeviceOnLine) return;
+
+ UpdateFeedbacksWhenOnline();
+
+ trilist.StringInput[joinMap.Name.JoinNumber].StringValue = Name;
+ };
+ }
+
+ private void UpdateFeedbacksWhenOnline()
+ {
+ IsOnline.FireUpdate();
+ TemperatureFeedback.FireUpdate();
+ HumidityFeedback.FireUpdate();
+ }
+
+ #region PreActivation
+
+ private static C2nRths GetC2nRthsDevice(DeviceConfig dc)
+ {
+ var control = CommFactory.GetControlPropertiesConfig(dc);
+ var cresnetId = control.CresnetIdInt;
+ var branchId = control.ControlPortNumber;
+ var parentKey = string.IsNullOrEmpty(control.ControlPortDevKey) ? "processor" : control.ControlPortDevKey;
+
+ if (parentKey.Equals("processor", StringComparison.CurrentCultureIgnoreCase))
+ {
+ Debug.Console(0, "Device {0} is a valid cresnet master - creating new C2nRths", parentKey);
+ return new C2nRths(cresnetId, Global.ControlSystem);
+ }
+ var cresnetBridge = DeviceManager.GetDeviceForKey(parentKey) as IHasCresnetBranches;
+
+ if (cresnetBridge != null)
+ {
+ Debug.Console(0, "Device {0} is a valid cresnet master - creating new C2nRths", parentKey);
+ return new C2nRths(cresnetId, cresnetBridge.CresnetBranches[branchId]);
+ }
+ Debug.Console(0, "Device {0} is not a valid cresnet master", parentKey);
+ return null;
+ }
+ #endregion
+
+ public class C2nRthsControllerFactory : EssentialsDeviceFactory
+ {
+ public C2nRthsControllerFactory()
+ {
+ TypeNames = new List() { "c2nrths" };
+ }
+
+ public override EssentialsDevice BuildDevice(DeviceConfig dc)
+ {
+ Debug.Console(1, "Factory Attempting to create new C2N-RTHS Device");
+
+ return new C2nRthsController(dc.Key, GetC2nRthsDevice, dc);
+ }
+ }
+ }
}
\ No newline at end of file
diff --git a/essentials-framework/Essentials Core/PepperDashEssentialsBase/Crestron IO/Cards/C3CardControllerBase.cs b/src/PepperDash.Essentials.Core/Crestron IO/Cards/C3CardControllerBase.cs
similarity index 100%
rename from essentials-framework/Essentials Core/PepperDashEssentialsBase/Crestron IO/Cards/C3CardControllerBase.cs
rename to src/PepperDash.Essentials.Core/Crestron IO/Cards/C3CardControllerBase.cs
diff --git a/essentials-framework/Essentials Core/PepperDashEssentialsBase/Crestron IO/Cards/C3Com3Controller.cs b/src/PepperDash.Essentials.Core/Crestron IO/Cards/C3Com3Controller.cs
similarity index 100%
rename from essentials-framework/Essentials Core/PepperDashEssentialsBase/Crestron IO/Cards/C3Com3Controller.cs
rename to src/PepperDash.Essentials.Core/Crestron IO/Cards/C3Com3Controller.cs
diff --git a/essentials-framework/Essentials Core/PepperDashEssentialsBase/Crestron IO/Cards/C3Io16Controller.cs b/src/PepperDash.Essentials.Core/Crestron IO/Cards/C3Io16Controller.cs
similarity index 100%
rename from essentials-framework/Essentials Core/PepperDashEssentialsBase/Crestron IO/Cards/C3Io16Controller.cs
rename to src/PepperDash.Essentials.Core/Crestron IO/Cards/C3Io16Controller.cs
diff --git a/essentials-framework/Essentials Core/PepperDashEssentialsBase/Crestron IO/Cards/C3Ir8Controller.cs b/src/PepperDash.Essentials.Core/Crestron IO/Cards/C3Ir8Controller.cs
similarity index 100%
rename from essentials-framework/Essentials Core/PepperDashEssentialsBase/Crestron IO/Cards/C3Ir8Controller.cs
rename to src/PepperDash.Essentials.Core/Crestron IO/Cards/C3Ir8Controller.cs
diff --git a/essentials-framework/Essentials Core/PepperDashEssentialsBase/Crestron IO/Cards/C3Ry16Controller.cs b/src/PepperDash.Essentials.Core/Crestron IO/Cards/C3Ry16Controller.cs
similarity index 100%
rename from essentials-framework/Essentials Core/PepperDashEssentialsBase/Crestron IO/Cards/C3Ry16Controller.cs
rename to src/PepperDash.Essentials.Core/Crestron IO/Cards/C3Ry16Controller.cs
diff --git a/essentials-framework/Essentials Core/PepperDashEssentialsBase/Crestron IO/Cards/C3Ry8Controller.cs b/src/PepperDash.Essentials.Core/Crestron IO/Cards/C3Ry8Controller.cs
similarity index 100%
rename from essentials-framework/Essentials Core/PepperDashEssentialsBase/Crestron IO/Cards/C3Ry8Controller.cs
rename to src/PepperDash.Essentials.Core/Crestron IO/Cards/C3Ry8Controller.cs
diff --git a/essentials-framework/Essentials Core/PepperDashEssentialsBase/Crestron IO/Cards/CenCi31Controller.cs b/src/PepperDash.Essentials.Core/Crestron IO/Cards/CenCi31Controller.cs
similarity index 100%
rename from essentials-framework/Essentials Core/PepperDashEssentialsBase/Crestron IO/Cards/CenCi31Controller.cs
rename to src/PepperDash.Essentials.Core/Crestron IO/Cards/CenCi31Controller.cs
diff --git a/essentials-framework/Essentials Core/PepperDashEssentialsBase/Crestron IO/Cards/CenCi33Controller.cs b/src/PepperDash.Essentials.Core/Crestron IO/Cards/CenCi33Controller.cs
similarity index 100%
rename from essentials-framework/Essentials Core/PepperDashEssentialsBase/Crestron IO/Cards/CenCi33Controller.cs
rename to src/PepperDash.Essentials.Core/Crestron IO/Cards/CenCi33Controller.cs
diff --git a/essentials-framework/Essentials Core/PepperDashEssentialsBase/Crestron IO/Cards/InternalCardCageController.cs b/src/PepperDash.Essentials.Core/Crestron IO/Cards/InternalCardCageController.cs
similarity index 100%
rename from essentials-framework/Essentials Core/PepperDashEssentialsBase/Crestron IO/Cards/InternalCardCageController.cs
rename to src/PepperDash.Essentials.Core/Crestron IO/Cards/InternalCardCageController.cs
diff --git a/essentials-framework/Essentials Core/PepperDashEssentialsBase/Crestron IO/DinCenCn/DinCenCnController.cs b/src/PepperDash.Essentials.Core/Crestron IO/DinCenCn/DinCenCnController.cs
similarity index 97%
rename from essentials-framework/Essentials Core/PepperDashEssentialsBase/Crestron IO/DinCenCn/DinCenCnController.cs
rename to src/PepperDash.Essentials.Core/Crestron IO/DinCenCn/DinCenCnController.cs
index 68fedc82..97edb03f 100644
--- a/essentials-framework/Essentials Core/PepperDashEssentialsBase/Crestron IO/DinCenCn/DinCenCnController.cs
+++ b/src/PepperDash.Essentials.Core/Crestron IO/DinCenCn/DinCenCnController.cs
@@ -1,51 +1,51 @@
-using System.Collections.Generic;
-using Crestron.SimplSharpPro;
-using Crestron.SimplSharpPro.DeviceSupport;
-using Crestron.SimplSharpPro.GeneralIO;
-using PepperDash.Core;
-using PepperDash.Essentials.Core.Config;
-
-
-namespace PepperDash.Essentials.Core
-{
- public class DinCenCn2Controller : CrestronGenericBaseDevice, IHasCresnetBranches
- {
- private readonly DinCenCn2 _device;
-
- public CrestronCollection 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
- {
- public DinCenCn2ControllerFactory()
- {
- TypeNames = new List() { "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);
- }
- }
- }
+using System.Collections.Generic;
+using Crestron.SimplSharpPro;
+using Crestron.SimplSharpPro.DeviceSupport;
+using Crestron.SimplSharpPro.GeneralIO;
+using PepperDash.Core;
+using PepperDash.Essentials.Core.Config;
+
+
+namespace PepperDash.Essentials.Core
+{
+ public class DinCenCn2Controller : CrestronGenericBaseDevice, IHasCresnetBranches
+ {
+ private readonly DinCenCn2 _device;
+
+ public CrestronCollection 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
+ {
+ public DinCenCn2ControllerFactory()
+ {
+ TypeNames = new List() { "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);
+ }
+ }
+ }
}
\ No newline at end of file
diff --git a/essentials-framework/Essentials Core/PepperDashEssentialsBase/Crestron IO/DinCenCn/IHasCresnetBranches.cs b/src/PepperDash.Essentials.Core/Crestron IO/DinCenCn/IHasCresnetBranches.cs
similarity index 96%
rename from essentials-framework/Essentials Core/PepperDashEssentialsBase/Crestron IO/DinCenCn/IHasCresnetBranches.cs
rename to src/PepperDash.Essentials.Core/Crestron IO/DinCenCn/IHasCresnetBranches.cs
index 11e1b707..a13aca1a 100644
--- a/essentials-framework/Essentials Core/PepperDashEssentialsBase/Crestron IO/DinCenCn/IHasCresnetBranches.cs
+++ b/src/PepperDash.Essentials.Core/Crestron IO/DinCenCn/IHasCresnetBranches.cs
@@ -1,15 +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
-{
- public interface IHasCresnetBranches
- {
- CrestronCollection CresnetBranches { get; }
- }
+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
+{
+ public interface IHasCresnetBranches
+ {
+ CrestronCollection CresnetBranches { get; }
+ }
}
\ No newline at end of file
diff --git a/essentials-framework/Essentials Core/PepperDashEssentialsBase/Crestron IO/IOPortConfig.cs b/src/PepperDash.Essentials.Core/Crestron IO/IOPortConfig.cs
similarity index 100%
rename from essentials-framework/Essentials Core/PepperDashEssentialsBase/Crestron IO/IOPortConfig.cs
rename to src/PepperDash.Essentials.Core/Crestron IO/IOPortConfig.cs
diff --git a/essentials-framework/Essentials Core/PepperDashEssentialsBase/Crestron IO/Inputs/CenIoDigIn104Controller.cs b/src/PepperDash.Essentials.Core/Crestron IO/Inputs/CenIoDigIn104Controller.cs
similarity index 100%
rename from essentials-framework/Essentials Core/PepperDashEssentialsBase/Crestron IO/Inputs/CenIoDigIn104Controller.cs
rename to src/PepperDash.Essentials.Core/Crestron IO/Inputs/CenIoDigIn104Controller.cs
diff --git a/essentials-framework/Essentials Core/PepperDashEssentialsBase/Crestron IO/Inputs/GenericDigitalInputDevice.cs b/src/PepperDash.Essentials.Core/Crestron IO/Inputs/GenericDigitalInputDevice.cs
similarity index 96%
rename from essentials-framework/Essentials Core/PepperDashEssentialsBase/Crestron IO/Inputs/GenericDigitalInputDevice.cs
rename to src/PepperDash.Essentials.Core/Crestron IO/Inputs/GenericDigitalInputDevice.cs
index db905bfa..72210429 100644
--- a/essentials-framework/Essentials Core/PepperDashEssentialsBase/Crestron IO/Inputs/GenericDigitalInputDevice.cs
+++ b/src/PepperDash.Essentials.Core/Crestron IO/Inputs/GenericDigitalInputDevice.cs
@@ -1,165 +1,165 @@
-using System;
-using System.Collections.Generic;
-using System.Linq;
-using System.Text;
-using Crestron.SimplSharp;
-using Crestron.SimplSharpPro;
-using Crestron.SimplSharpPro.DeviceSupport;
-using Newtonsoft.Json;
-using PepperDash.Core;
-using PepperDash.Essentials.Core.Bridges;
-using PepperDash.Essentials.Core.Config;
-
-
-namespace PepperDash.Essentials.Core.CrestronIO
-{
- [Description("Wrapper class for Digital Input")]
- public class GenericDigitalInputDevice : EssentialsBridgeableDevice, IDigitalInput
- {
- public DigitalInput InputPort { get; private set; }
-
- public BoolFeedback InputStateFeedback { get; private set; }
-
- Func InputStateFeedbackFunc
- {
- get
- {
- return () => InputPort.State;
- }
- }
-
-
- public GenericDigitalInputDevice(string key, string name, Func postActivationFunc,
- IOPortConfig config)
- : base(key, name)
- {
- InputStateFeedback = new BoolFeedback(InputStateFeedbackFunc);
-
- AddPostActivationAction(() =>
- {
- InputPort = postActivationFunc(config);
-
- InputPort.Register();
-
- InputPort.StateChange += InputPort_StateChange;
-
- });
- }
-
- #region Events
-
- void InputPort_StateChange(DigitalInput digitalInput, DigitalInputEventArgs args)
- {
- InputStateFeedback.FireUpdate();
- }
-
- #endregion
-
- #region PreActivate
-
- private static DigitalInput GetDigitalInput(IOPortConfig dc)
- {
- IDigitalInputPorts ioPortDevice;
-
- if (dc.PortDeviceKey.Equals("processor"))
- {
- if (!Global.ControlSystem.SupportsDigitalInput)
- {
- Debug.Console(0, "GetDigitalInput: Processor does not support Digital Inputs");
- return null;
- }
- ioPortDevice = Global.ControlSystem;
- }
- else
- {
- var ioPortDev = DeviceManager.GetDeviceForKey(dc.PortDeviceKey) as IDigitalInputPorts;
- if (ioPortDev == null)
- {
- Debug.Console(0, "GetDigitalInput: Device {0} is not a valid device", dc.PortDeviceKey);
- return null;
- }
- ioPortDevice = ioPortDev;
- }
- if (ioPortDevice == null)
- {
- Debug.Console(0, "GetDigitalInput: Device '0' is not a valid IDigitalInputPorts Device", dc.PortDeviceKey);
- return null;
- }
-
- if (dc.PortNumber > ioPortDevice.NumberOfDigitalInputPorts)
- {
- Debug.Console(0, "GetDigitalInput: Device {0} does not contain a port {1}", dc.PortDeviceKey, dc.PortNumber);
- }
-
- return ioPortDevice.DigitalInputPorts[dc.PortNumber];
-
-
- }
-
- #endregion
-
- #region Bridge Linking
-
- public override void LinkToApi(BasicTriList trilist, uint joinStart, string joinMapKey, EiscApiAdvanced bridge)
- {
- var joinMap = new IDigitalInputJoinMap(joinStart);
-
- var joinMapSerialized = JoinMapHelper.GetSerializedJoinMapForDevice(joinMapKey);
-
- if (!string.IsNullOrEmpty(joinMapSerialized))
- joinMap = JsonConvert.DeserializeObject(joinMapSerialized);
-
- if (bridge != null)
- {
- bridge.AddJoinMap(Key, joinMap);
- }
- else
- {
- Debug.Console(0, this, "Please update config to use 'eiscapiadvanced' to get all join map features for this device.");
- }
-
- try
- {
- Debug.Console(1, this, "Linking to Trilist '{0}'", trilist.ID.ToString("X"));
-
- // Link feedback for input state
- InputStateFeedback.LinkInputSig(trilist.BooleanInput[joinMap.InputState.JoinNumber]);
- }
- catch (Exception e)
- {
- Debug.Console(1, this, "Unable to link device '{0}'. Input is null", Key);
- Debug.Console(1, this, "Error: {0}", e);
- }
- }
-
- #endregion
-
- #region Factory
-
- public class GenericDigitalInputDeviceFactory : EssentialsDeviceFactory
- {
- public GenericDigitalInputDeviceFactory()
- {
- TypeNames = new List() { "digitalinput" };
- }
-
- public override EssentialsDevice BuildDevice(DeviceConfig dc)
- {
- Debug.Console(1, "Factory Attempting to create new Generic Digital Input Device");
-
- var props = JsonConvert.DeserializeObject(dc.Properties.ToString());
-
- if (props == null) return null;
-
- var portDevice = new GenericDigitalInputDevice(dc.Key, dc.Name, GetDigitalInput, props);
-
- return portDevice;
- }
- }
-
- #endregion
-
- }
-
-
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using Crestron.SimplSharp;
+using Crestron.SimplSharpPro;
+using Crestron.SimplSharpPro.DeviceSupport;
+using Newtonsoft.Json;
+using PepperDash.Core;
+using PepperDash.Essentials.Core.Bridges;
+using PepperDash.Essentials.Core.Config;
+
+
+namespace PepperDash.Essentials.Core.CrestronIO
+{
+ [Description("Wrapper class for Digital Input")]
+ public class GenericDigitalInputDevice : EssentialsBridgeableDevice, IDigitalInput
+ {
+ public DigitalInput InputPort { get; private set; }
+
+ public BoolFeedback InputStateFeedback { get; private set; }
+
+ Func InputStateFeedbackFunc
+ {
+ get
+ {
+ return () => InputPort.State;
+ }
+ }
+
+
+ public GenericDigitalInputDevice(string key, string name, Func postActivationFunc,
+ IOPortConfig config)
+ : base(key, name)
+ {
+ InputStateFeedback = new BoolFeedback(InputStateFeedbackFunc);
+
+ AddPostActivationAction(() =>
+ {
+ InputPort = postActivationFunc(config);
+
+ InputPort.Register();
+
+ InputPort.StateChange += InputPort_StateChange;
+
+ });
+ }
+
+ #region Events
+
+ void InputPort_StateChange(DigitalInput digitalInput, DigitalInputEventArgs args)
+ {
+ InputStateFeedback.FireUpdate();
+ }
+
+ #endregion
+
+ #region PreActivate
+
+ private static DigitalInput GetDigitalInput(IOPortConfig dc)
+ {
+ IDigitalInputPorts ioPortDevice;
+
+ if (dc.PortDeviceKey.Equals("processor"))
+ {
+ if (!Global.ControlSystem.SupportsDigitalInput)
+ {
+ Debug.Console(0, "GetDigitalInput: Processor does not support Digital Inputs");
+ return null;
+ }
+ ioPortDevice = Global.ControlSystem;
+ }
+ else
+ {
+ var ioPortDev = DeviceManager.GetDeviceForKey(dc.PortDeviceKey) as IDigitalInputPorts;
+ if (ioPortDev == null)
+ {
+ Debug.Console(0, "GetDigitalInput: Device {0} is not a valid device", dc.PortDeviceKey);
+ return null;
+ }
+ ioPortDevice = ioPortDev;
+ }
+ if (ioPortDevice == null)
+ {
+ Debug.Console(0, "GetDigitalInput: Device '0' is not a valid IDigitalInputPorts Device", dc.PortDeviceKey);
+ return null;
+ }
+
+ if (dc.PortNumber > ioPortDevice.NumberOfDigitalInputPorts)
+ {
+ Debug.Console(0, "GetDigitalInput: Device {0} does not contain a port {1}", dc.PortDeviceKey, dc.PortNumber);
+ }
+
+ return ioPortDevice.DigitalInputPorts[dc.PortNumber];
+
+
+ }
+
+ #endregion
+
+ #region Bridge Linking
+
+ public override void LinkToApi(BasicTriList trilist, uint joinStart, string joinMapKey, EiscApiAdvanced bridge)
+ {
+ var joinMap = new IDigitalInputJoinMap(joinStart);
+
+ var joinMapSerialized = JoinMapHelper.GetSerializedJoinMapForDevice(joinMapKey);
+
+ if (!string.IsNullOrEmpty(joinMapSerialized))
+ joinMap = JsonConvert.DeserializeObject(joinMapSerialized);
+
+ if (bridge != null)
+ {
+ bridge.AddJoinMap(Key, joinMap);
+ }
+ else
+ {
+ Debug.Console(0, this, "Please update config to use 'eiscapiadvanced' to get all join map features for this device.");
+ }
+
+ try
+ {
+ Debug.Console(1, this, "Linking to Trilist '{0}'", trilist.ID.ToString("X"));
+
+ // Link feedback for input state
+ InputStateFeedback.LinkInputSig(trilist.BooleanInput[joinMap.InputState.JoinNumber]);
+ }
+ catch (Exception e)
+ {
+ Debug.Console(1, this, "Unable to link device '{0}'. Input is null", Key);
+ Debug.Console(1, this, "Error: {0}", e);
+ }
+ }
+
+ #endregion
+
+ #region Factory
+
+ public class GenericDigitalInputDeviceFactory : EssentialsDeviceFactory
+ {
+ public GenericDigitalInputDeviceFactory()
+ {
+ TypeNames = new List() { "digitalinput" };
+ }
+
+ public override EssentialsDevice BuildDevice(DeviceConfig dc)
+ {
+ Debug.Console(1, "Factory Attempting to create new Generic Digital Input Device");
+
+ var props = JsonConvert.DeserializeObject(dc.Properties.ToString());
+
+ if (props == null) return null;
+
+ var portDevice = new GenericDigitalInputDevice(dc.Key, dc.Name, GetDigitalInput, props);
+
+ return portDevice;
+ }
+ }
+
+ #endregion
+
+ }
+
+
}
\ No newline at end of file
diff --git a/essentials-framework/Essentials Core/PepperDashEssentialsBase/Crestron IO/Inputs/GenericVersiportInputDevice.cs b/src/PepperDash.Essentials.Core/Crestron IO/Inputs/GenericVersiportInputDevice.cs
similarity index 100%
rename from essentials-framework/Essentials Core/PepperDashEssentialsBase/Crestron IO/Inputs/GenericVersiportInputDevice.cs
rename to src/PepperDash.Essentials.Core/Crestron IO/Inputs/GenericVersiportInputDevice.cs
diff --git a/essentials-framework/Essentials Core/PepperDashEssentialsBase/Crestron IO/Inputs/IDigitalInput.cs b/src/PepperDash.Essentials.Core/Crestron IO/Inputs/IDigitalInput.cs
similarity index 100%
rename from essentials-framework/Essentials Core/PepperDashEssentialsBase/Crestron IO/Inputs/IDigitalInput.cs
rename to src/PepperDash.Essentials.Core/Crestron IO/Inputs/IDigitalInput.cs
diff --git a/essentials-framework/Essentials Core/PepperDashEssentialsBase/Crestron IO/Relay/CenIoRy104Controller.cs b/src/PepperDash.Essentials.Core/Crestron IO/Relay/CenIoRy104Controller.cs
similarity index 100%
rename from essentials-framework/Essentials Core/PepperDashEssentialsBase/Crestron IO/Relay/CenIoRy104Controller.cs
rename to src/PepperDash.Essentials.Core/Crestron IO/Relay/CenIoRy104Controller.cs
diff --git a/essentials-framework/Essentials Core/PepperDashEssentialsBase/Crestron IO/Relay/GenericRelayDevice.cs b/src/PepperDash.Essentials.Core/Crestron IO/Relay/GenericRelayDevice.cs
similarity index 96%
rename from essentials-framework/Essentials Core/PepperDashEssentialsBase/Crestron IO/Relay/GenericRelayDevice.cs
rename to src/PepperDash.Essentials.Core/Crestron IO/Relay/GenericRelayDevice.cs
index 69c588ae..421aa3b1 100644
--- a/essentials-framework/Essentials Core/PepperDashEssentialsBase/Crestron IO/Relay/GenericRelayDevice.cs
+++ b/src/PepperDash.Essentials.Core/Crestron IO/Relay/GenericRelayDevice.cs
@@ -1,221 +1,221 @@
-using System;
-using System.Collections.Generic;
-using System.Linq;
-using System.Text;
-using Crestron.SimplSharp;
-using Crestron.SimplSharpPro;
-using Crestron.SimplSharpPro.DeviceSupport;
-using Newtonsoft.Json;
-using PepperDash.Core;
-using PepperDash.Essentials.Core.Bridges;
-using PepperDash.Essentials.Core.Config;
-
-namespace PepperDash.Essentials.Core.CrestronIO
-{
- ///
- /// Represents a generic device controlled by relays
- ///
- [Description("Wrapper class for a Relay")]
- public class GenericRelayDevice : EssentialsBridgeableDevice, ISwitchedOutput
- {
- public Relay RelayOutput { get; private set; }
-
- public BoolFeedback OutputIsOnFeedback { get; private set; }
-
- //Maintained for compatibility with PepperDash.Essentials.Core.Devices.CrestronProcessor
- public GenericRelayDevice(string key, Relay relay) :
- base(key)
- {
- OutputIsOnFeedback = new BoolFeedback(new Func(() => RelayOutput.State));
-
- RelayOutput = relay;
- RelayOutput.Register();
-
- RelayOutput.StateChange += RelayOutput_StateChange;
- }
-
- public GenericRelayDevice(string key, string name, Func postActivationFunc,
- IOPortConfig config)
- : base(key, name)
- {
- OutputIsOnFeedback = new BoolFeedback(() => RelayOutput.State);
-
- AddPostActivationAction(() =>
- {
- RelayOutput = postActivationFunc(config);
-
- if (RelayOutput == null)
- {
- Debug.Console(0, this, Debug.ErrorLogLevel.Error, "Unable to get parent relay device for device key {0} and port {1}", config.PortDeviceKey, config.PortNumber);
- return;
- }
-
- RelayOutput.Register();
-
- RelayOutput.StateChange += RelayOutput_StateChange;
- });
- }
-
- #region PreActivate
-
- private static Relay GetRelay(IOPortConfig dc)
- {
-
- IRelayPorts relayDevice;
-
- if(dc.PortDeviceKey.Equals("processor"))
- {
- if (!Global.ControlSystem.SupportsRelay)
- {
- Debug.Console(0, "Processor does not support relays");
- return null;
- }
- relayDevice = Global.ControlSystem;
-
- return relayDevice.RelayPorts[dc.PortNumber];
- }
-
- var essentialsDevice = DeviceManager.GetDeviceForKey(dc.PortDeviceKey);
- if (essentialsDevice == null)
- {
- Debug.Console(0, "Device {0} was not found in Device Manager. Check configuration or for errors with device.", dc.PortDeviceKey);
- return null;
- }
-
- relayDevice = essentialsDevice as IRelayPorts;
-
- if (relayDevice == null)
- {
- Debug.Console(0, "Device {0} is not a valid relay parent. Please check configuration.", dc.PortDeviceKey);
- return null;
- }
-
- if (dc.PortNumber <= relayDevice.NumberOfRelayPorts)
- {
- return relayDevice.RelayPorts[dc.PortNumber];
- }
-
- Debug.Console(0, "Device {0} does not contain a port {1}", dc.PortDeviceKey, dc.PortNumber);
- return null;
- }
-
- #endregion
-
- #region Events
-
- void RelayOutput_StateChange(Relay relay, RelayEventArgs args)
- {
- OutputIsOnFeedback.FireUpdate();
- }
-
- #endregion
-
- #region Methods
-
- public void OpenRelay()
- {
- RelayOutput.State = false;
- }
-
- public void CloseRelay()
- {
- RelayOutput.State = true;
- }
-
- public void ToggleRelayState()
- {
- if (RelayOutput.State == true)
- OpenRelay();
- else
- CloseRelay();
- }
-
- #endregion
-
- #region ISwitchedOutput Members
-
- void ISwitchedOutput.On()
- {
- CloseRelay();
- }
-
- void ISwitchedOutput.Off()
- {
- OpenRelay();
- }
-
- #endregion
-
- #region Bridge Linking
-
- public override void LinkToApi(BasicTriList trilist, uint joinStart, string joinMapKey, EiscApiAdvanced bridge)
- {
- var joinMap = new GenericRelayControllerJoinMap(joinStart);
-
- var joinMapSerialized = JoinMapHelper.GetSerializedJoinMapForDevice(joinMapKey);
-
- if (!string.IsNullOrEmpty(joinMapSerialized))
- joinMap = JsonConvert.DeserializeObject(joinMapSerialized);
-
- if (bridge != null)
- {
- bridge.AddJoinMap(Key, joinMap);
- }
- else
- {
- Debug.Console(0, this, "Please update config to use 'eiscapiadvanced' to get all join map features for this device.");
- }
-
- if (RelayOutput == null)
- {
- Debug.Console(1, this, "Unable to link device '{0}'. Relay is null", Key);
- return;
- }
-
- Debug.Console(1, this, "Linking to Trilist '{0}'", trilist.ID.ToString("X"));
-
- trilist.SetBoolSigAction(joinMap.Relay.JoinNumber, b =>
- {
- if (b)
- CloseRelay();
- else
- OpenRelay();
- });
-
- // feedback for relay state
-
- OutputIsOnFeedback.LinkInputSig(trilist.BooleanInput[joinMap.Relay.JoinNumber]);
- }
-
- #endregion
-
- #region Factory
-
- public class GenericRelayDeviceFactory : EssentialsDeviceFactory
- {
- public GenericRelayDeviceFactory()
- {
- TypeNames = new List() { "relayoutput" };
- }
-
- public override EssentialsDevice BuildDevice(DeviceConfig dc)
- {
- Debug.Console(1, "Factory Attempting to create new Generic Relay Device");
-
- var props = JsonConvert.DeserializeObject(dc.Properties.ToString());
-
- if (props == null) return null;
-
- var portDevice = new GenericRelayDevice(dc.Key, dc.Name, GetRelay, props);
-
- return portDevice;
- }
- }
-
- #endregion
-
-
- }
-
-
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using Crestron.SimplSharp;
+using Crestron.SimplSharpPro;
+using Crestron.SimplSharpPro.DeviceSupport;
+using Newtonsoft.Json;
+using PepperDash.Core;
+using PepperDash.Essentials.Core.Bridges;
+using PepperDash.Essentials.Core.Config;
+
+namespace PepperDash.Essentials.Core.CrestronIO
+{
+ ///
+ /// Represents a generic device controlled by relays
+ ///
+ [Description("Wrapper class for a Relay")]
+ public class GenericRelayDevice : EssentialsBridgeableDevice, ISwitchedOutput
+ {
+ public Relay RelayOutput { get; private set; }
+
+ public BoolFeedback OutputIsOnFeedback { get; private set; }
+
+ //Maintained for compatibility with PepperDash.Essentials.Core.Devices.CrestronProcessor
+ public GenericRelayDevice(string key, Relay relay) :
+ base(key)
+ {
+ OutputIsOnFeedback = new BoolFeedback(new Func(() => RelayOutput.State));
+
+ RelayOutput = relay;
+ RelayOutput.Register();
+
+ RelayOutput.StateChange += RelayOutput_StateChange;
+ }
+
+ public GenericRelayDevice(string key, string name, Func postActivationFunc,
+ IOPortConfig config)
+ : base(key, name)
+ {
+ OutputIsOnFeedback = new BoolFeedback(() => RelayOutput.State);
+
+ AddPostActivationAction(() =>
+ {
+ RelayOutput = postActivationFunc(config);
+
+ if (RelayOutput == null)
+ {
+ Debug.Console(0, this, Debug.ErrorLogLevel.Error, "Unable to get parent relay device for device key {0} and port {1}", config.PortDeviceKey, config.PortNumber);
+ return;
+ }
+
+ RelayOutput.Register();
+
+ RelayOutput.StateChange += RelayOutput_StateChange;
+ });
+ }
+
+ #region PreActivate
+
+ private static Relay GetRelay(IOPortConfig dc)
+ {
+
+ IRelayPorts relayDevice;
+
+ if(dc.PortDeviceKey.Equals("processor"))
+ {
+ if (!Global.ControlSystem.SupportsRelay)
+ {
+ Debug.Console(0, "Processor does not support relays");
+ return null;
+ }
+ relayDevice = Global.ControlSystem;
+
+ return relayDevice.RelayPorts[dc.PortNumber];
+ }
+
+ var essentialsDevice = DeviceManager.GetDeviceForKey(dc.PortDeviceKey);
+ if (essentialsDevice == null)
+ {
+ Debug.Console(0, "Device {0} was not found in Device Manager. Check configuration or for errors with device.", dc.PortDeviceKey);
+ return null;
+ }
+
+ relayDevice = essentialsDevice as IRelayPorts;
+
+ if (relayDevice == null)
+ {
+ Debug.Console(0, "Device {0} is not a valid relay parent. Please check configuration.", dc.PortDeviceKey);
+ return null;
+ }
+
+ if (dc.PortNumber <= relayDevice.NumberOfRelayPorts)
+ {
+ return relayDevice.RelayPorts[dc.PortNumber];
+ }
+
+ Debug.Console(0, "Device {0} does not contain a port {1}", dc.PortDeviceKey, dc.PortNumber);
+ return null;
+ }
+
+ #endregion
+
+ #region Events
+
+ void RelayOutput_StateChange(Relay relay, RelayEventArgs args)
+ {
+ OutputIsOnFeedback.FireUpdate();
+ }
+
+ #endregion
+
+ #region Methods
+
+ public void OpenRelay()
+ {
+ RelayOutput.State = false;
+ }
+
+ public void CloseRelay()
+ {
+ RelayOutput.State = true;
+ }
+
+ public void ToggleRelayState()
+ {
+ if (RelayOutput.State == true)
+ OpenRelay();
+ else
+ CloseRelay();
+ }
+
+ #endregion
+
+ #region ISwitchedOutput Members
+
+ void ISwitchedOutput.On()
+ {
+ CloseRelay();
+ }
+
+ void ISwitchedOutput.Off()
+ {
+ OpenRelay();
+ }
+
+ #endregion
+
+ #region Bridge Linking
+
+ public override void LinkToApi(BasicTriList trilist, uint joinStart, string joinMapKey, EiscApiAdvanced bridge)
+ {
+ var joinMap = new GenericRelayControllerJoinMap(joinStart);
+
+ var joinMapSerialized = JoinMapHelper.GetSerializedJoinMapForDevice(joinMapKey);
+
+ if (!string.IsNullOrEmpty(joinMapSerialized))
+ joinMap = JsonConvert.DeserializeObject(joinMapSerialized);
+
+ if (bridge != null)
+ {
+ bridge.AddJoinMap(Key, joinMap);
+ }
+ else
+ {
+ Debug.Console(0, this, "Please update config to use 'eiscapiadvanced' to get all join map features for this device.");
+ }
+
+ if (RelayOutput == null)
+ {
+ Debug.Console(1, this, "Unable to link device '{0}'. Relay is null", Key);
+ return;
+ }
+
+ Debug.Console(1, this, "Linking to Trilist '{0}'", trilist.ID.ToString("X"));
+
+ trilist.SetBoolSigAction(joinMap.Relay.JoinNumber, b =>
+ {
+ if (b)
+ CloseRelay();
+ else
+ OpenRelay();
+ });
+
+ // feedback for relay state
+
+ OutputIsOnFeedback.LinkInputSig(trilist.BooleanInput[joinMap.Relay.JoinNumber]);
+ }
+
+ #endregion
+
+ #region Factory
+
+ public class GenericRelayDeviceFactory : EssentialsDeviceFactory
+ {
+ public GenericRelayDeviceFactory()
+ {
+ TypeNames = new List() { "relayoutput" };
+ }
+
+ public override EssentialsDevice BuildDevice(DeviceConfig dc)
+ {
+ Debug.Console(1, "Factory Attempting to create new Generic Relay Device");
+
+ var props = JsonConvert.DeserializeObject(dc.Properties.ToString());
+
+ if (props == null) return null;
+
+ var portDevice = new GenericRelayDevice(dc.Key, dc.Name, GetRelay, props);
+
+ return portDevice;
+ }
+ }
+
+ #endregion
+
+
+ }
+
+
}
\ No newline at end of file
diff --git a/essentials-framework/Essentials Core/PepperDashEssentialsBase/Crestron IO/Relay/ISwitchedOutput.cs b/src/PepperDash.Essentials.Core/Crestron IO/Relay/ISwitchedOutput.cs
similarity index 100%
rename from essentials-framework/Essentials Core/PepperDashEssentialsBase/Crestron IO/Relay/ISwitchedOutput.cs
rename to src/PepperDash.Essentials.Core/Crestron IO/Relay/ISwitchedOutput.cs
diff --git a/essentials-framework/Essentials Core/PepperDashEssentialsBase/Crestron IO/StatusSign/StatusSignController.cs b/src/PepperDash.Essentials.Core/Crestron IO/StatusSign/StatusSignController.cs
similarity index 97%
rename from essentials-framework/Essentials Core/PepperDashEssentialsBase/Crestron IO/StatusSign/StatusSignController.cs
rename to src/PepperDash.Essentials.Core/Crestron IO/StatusSign/StatusSignController.cs
index 6f0cf80e..fc8f9a90 100644
--- a/essentials-framework/Essentials Core/PepperDashEssentialsBase/Crestron IO/StatusSign/StatusSignController.cs
+++ b/src/PepperDash.Essentials.Core/Crestron IO/StatusSign/StatusSignController.cs
@@ -1,223 +1,223 @@
-using System;
-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;
-
-namespace PepperDash.Essentials.Core.CrestronIO
-{
- [Description("Wrapper class for the Crestron StatusSign device")]
- public class StatusSignController : CrestronGenericBridgeableBaseDevice
- {
- private StatusSign _device;
-
- public BoolFeedback RedLedEnabledFeedback { get; private set; }
- public BoolFeedback GreenLedEnabledFeedback { get; private set; }
- public BoolFeedback BlueLedEnabledFeedback { get; private set; }
-
- public IntFeedback RedLedBrightnessFeedback { get; private set; }
- public IntFeedback GreenLedBrightnessFeedback { get; private set; }
- public IntFeedback BlueLedBrightnessFeedback { get; private set; }
-
- public StatusSignController(string key, Func preActivationFunc, DeviceConfig config) : base(key, config.Name)
- {
- AddPreActivationAction(() =>
- {
- _device = preActivationFunc(config);
-
- RegisterCrestronGenericBase(_device);
-
- RedLedEnabledFeedback =
- new BoolFeedback(
- () =>
- _device.Leds[(uint)StatusSign.Led.eLedColor.Red]
- .ControlFeedback.BoolValue);
- GreenLedEnabledFeedback =
- new BoolFeedback(
- () =>
- _device.Leds[(uint)StatusSign.Led.eLedColor.Green]
- .ControlFeedback.BoolValue);
- BlueLedEnabledFeedback =
- new BoolFeedback(
- () =>
- _device.Leds[(uint)StatusSign.Led.eLedColor.Blue]
- .ControlFeedback.BoolValue);
-
- RedLedBrightnessFeedback =
- new IntFeedback(() => (int)_device.Leds[(uint)StatusSign.Led.eLedColor.Red].BrightnessFeedback);
- GreenLedBrightnessFeedback =
- new IntFeedback(() => (int)_device.Leds[(uint)StatusSign.Led.eLedColor.Green].BrightnessFeedback);
- BlueLedBrightnessFeedback =
- new IntFeedback(() => (int)_device.Leds[(uint)StatusSign.Led.eLedColor.Blue].BrightnessFeedback);
-
- if (_device != null) _device.BaseEvent += _device_BaseEvent;
-
- });
- }
-
- void _device_BaseEvent(GenericBase device, BaseEventArgs args)
- {
- switch (args.EventId)
- {
- case StatusSign.LedBrightnessFeedbackEventId:
- RedLedBrightnessFeedback.FireUpdate();
- GreenLedBrightnessFeedback.FireUpdate();
- BlueLedBrightnessFeedback.FireUpdate();
- break;
- case StatusSign.LedControlFeedbackEventId:
- RedLedEnabledFeedback.FireUpdate();
- GreenLedEnabledFeedback.FireUpdate();
- BlueLedEnabledFeedback.FireUpdate();
- break;
- }
- }
-
- public void EnableLedControl(bool red, bool green, bool blue)
- {
- _device.Leds[(uint) StatusSign.Led.eLedColor.Red].Control.BoolValue = red;
- _device.Leds[(uint)StatusSign.Led.eLedColor.Green].Control.BoolValue = green;
- _device.Leds[(uint)StatusSign.Led.eLedColor.Blue].Control.BoolValue = blue;
- }
-
- public void SetColor(uint red, uint green, uint blue)
- {
- try
- {
- _device.Leds[(uint)StatusSign.Led.eLedColor.Red].Brightness =
- (StatusSign.Led.eBrightnessPercentageValues)SimplSharpDeviceHelper.PercentToUshort(red);
- }
- catch (InvalidOperationException)
- {
- Debug.Console(1, this, "Error converting value to Red LED brightness. value: {0}", red);
- }
- try
- {
- _device.Leds[(uint)StatusSign.Led.eLedColor.Green].Brightness =
- (StatusSign.Led.eBrightnessPercentageValues)SimplSharpDeviceHelper.PercentToUshort(green);
- }
- catch (InvalidOperationException)
- {
- Debug.Console(1, this, "Error converting value to Green LED brightness. value: {0}", green);
- }
-
- try
- {
- _device.Leds[(uint)StatusSign.Led.eLedColor.Blue].Brightness =
- (StatusSign.Led.eBrightnessPercentageValues)SimplSharpDeviceHelper.PercentToUshort(blue);
- }
- catch (InvalidOperationException)
- {
- Debug.Console(1, this, "Error converting value to Blue LED brightness. value: {0}", blue);
- }
- }
-
- public override void LinkToApi(BasicTriList trilist, uint joinStart, string joinMapKey, EiscApiAdvanced bridge)
- {
- var joinMap = new StatusSignControllerJoinMap(joinStart);
-
- var joinMapSerialized = JoinMapHelper.GetSerializedJoinMapForDevice(joinMapKey);
-
- if (!string.IsNullOrEmpty(joinMapSerialized))
- joinMap = JsonConvert.DeserializeObject(joinMapSerialized);
-
- if (bridge != null)
- {
- bridge.AddJoinMap(Key, joinMap);
- }
- else
- {
- Debug.Console(0, this, "Please update config to use 'eiscapiadvanced' to get all join map features for this device.");
- }
-
- Debug.Console(1, this, "Linking to Trilist '{0}'", trilist.ID.ToString("X"));
-
- trilist.SetBoolSigAction(joinMap.RedControl.JoinNumber, b => EnableControl(trilist, joinMap, this));
- trilist.SetBoolSigAction(joinMap.GreenControl.JoinNumber, b => EnableControl(trilist, joinMap, this));
- trilist.SetBoolSigAction(joinMap.BlueControl.JoinNumber, b => EnableControl(trilist, joinMap, this));
-
- trilist.SetUShortSigAction(joinMap.RedLed.JoinNumber, u => SetColor(trilist, joinMap, this));
- trilist.SetUShortSigAction(joinMap.GreenLed.JoinNumber, u => SetColor(trilist, joinMap, this));
- trilist.SetUShortSigAction(joinMap.BlueLed.JoinNumber, u => SetColor(trilist, joinMap, this));
-
- trilist.StringInput[joinMap.Name.JoinNumber].StringValue = Name;
-
- IsOnline.LinkInputSig(trilist.BooleanInput[joinMap.IsOnline.JoinNumber]);
- RedLedEnabledFeedback.LinkInputSig(trilist.BooleanInput[joinMap.RedControl.JoinNumber]);
- BlueLedEnabledFeedback.LinkInputSig(trilist.BooleanInput[joinMap.BlueControl.JoinNumber]);
- GreenLedEnabledFeedback.LinkInputSig(trilist.BooleanInput[joinMap.GreenControl.JoinNumber]);
-
- RedLedBrightnessFeedback.LinkInputSig(trilist.UShortInput[joinMap.RedLed.JoinNumber]);
- BlueLedBrightnessFeedback.LinkInputSig(trilist.UShortInput[joinMap.BlueLed.JoinNumber]);
- GreenLedBrightnessFeedback.LinkInputSig(trilist.UShortInput[joinMap.GreenLed.JoinNumber]);
- }
-
- private static void EnableControl(BasicTriList triList, StatusSignControllerJoinMap joinMap,
- StatusSignController device)
- {
- var redEnable = triList.BooleanOutput[joinMap.RedControl.JoinNumber].BoolValue;
- var greenEnable = triList.BooleanOutput[joinMap.GreenControl.JoinNumber].BoolValue;
- var blueEnable = triList.BooleanOutput[joinMap.BlueControl.JoinNumber].BoolValue;
- device.EnableLedControl(redEnable, greenEnable, blueEnable);
- }
-
- private static void SetColor(BasicTriList triList, StatusSignControllerJoinMap joinMap,
- StatusSignController device)
- {
- var redBrightness = triList.UShortOutput[joinMap.RedLed.JoinNumber].UShortValue;
- var greenBrightness = triList.UShortOutput[joinMap.GreenLed.JoinNumber].UShortValue;
- var blueBrightness = triList.UShortOutput[joinMap.BlueLed.JoinNumber].UShortValue;
-
- device.SetColor(redBrightness, greenBrightness, blueBrightness);
- }
-
- #region PreActivation
-
- private static StatusSign GetStatusSignDevice(DeviceConfig dc)
- {
- var control = CommFactory.GetControlPropertiesConfig(dc);
- var cresnetId = control.CresnetIdInt;
- var branchId = control.ControlPortNumber;
- var parentKey = string.IsNullOrEmpty(control.ControlPortDevKey) ? "processor" : control.ControlPortDevKey;
-
- if (parentKey.Equals("processor", StringComparison.CurrentCultureIgnoreCase))
- {
- Debug.Console(0, "Device {0} is a valid cresnet master - creating new StatusSign", parentKey);
- return new StatusSign(cresnetId, Global.ControlSystem);
- }
- var cresnetBridge = DeviceManager.GetDeviceForKey(parentKey) as IHasCresnetBranches;
-
- if (cresnetBridge != null)
- {
- Debug.Console(0, "Device {0} is a valid cresnet master - creating new StatusSign", parentKey);
- return new StatusSign(cresnetId, cresnetBridge.CresnetBranches[branchId]);
- }
- Debug.Console(0, "Device {0} is not a valid cresnet master", parentKey);
- return null;
- }
- #endregion
-
- public class StatusSignControllerFactory : EssentialsDeviceFactory
- {
- public StatusSignControllerFactory()
- {
- TypeNames = new List() { "statussign" };
- }
-
- public override EssentialsDevice BuildDevice(DeviceConfig dc)
- {
- Debug.Console(1, "Factory Attempting to create new StatusSign Device");
-
- var control = CommFactory.GetControlPropertiesConfig(dc);
- var cresnetId = control.CresnetIdInt;
-
- return new StatusSignController(dc.Key, GetStatusSignDevice, dc);
- }
- }
- }
-
-
+using System;
+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;
+
+namespace PepperDash.Essentials.Core.CrestronIO
+{
+ [Description("Wrapper class for the Crestron StatusSign device")]
+ public class StatusSignController : CrestronGenericBridgeableBaseDevice
+ {
+ private StatusSign _device;
+
+ public BoolFeedback RedLedEnabledFeedback { get; private set; }
+ public BoolFeedback GreenLedEnabledFeedback { get; private set; }
+ public BoolFeedback BlueLedEnabledFeedback { get; private set; }
+
+ public IntFeedback RedLedBrightnessFeedback { get; private set; }
+ public IntFeedback GreenLedBrightnessFeedback { get; private set; }
+ public IntFeedback BlueLedBrightnessFeedback { get; private set; }
+
+ public StatusSignController(string key, Func preActivationFunc, DeviceConfig config) : base(key, config.Name)
+ {
+ AddPreActivationAction(() =>
+ {
+ _device = preActivationFunc(config);
+
+ RegisterCrestronGenericBase(_device);
+
+ RedLedEnabledFeedback =
+ new BoolFeedback(
+ () =>
+ _device.Leds[(uint)StatusSign.Led.eLedColor.Red]
+ .ControlFeedback.BoolValue);
+ GreenLedEnabledFeedback =
+ new BoolFeedback(
+ () =>
+ _device.Leds[(uint)StatusSign.Led.eLedColor.Green]
+ .ControlFeedback.BoolValue);
+ BlueLedEnabledFeedback =
+ new BoolFeedback(
+ () =>
+ _device.Leds[(uint)StatusSign.Led.eLedColor.Blue]
+ .ControlFeedback.BoolValue);
+
+ RedLedBrightnessFeedback =
+ new IntFeedback(() => (int)_device.Leds[(uint)StatusSign.Led.eLedColor.Red].BrightnessFeedback);
+ GreenLedBrightnessFeedback =
+ new IntFeedback(() => (int)_device.Leds[(uint)StatusSign.Led.eLedColor.Green].BrightnessFeedback);
+ BlueLedBrightnessFeedback =
+ new IntFeedback(() => (int)_device.Leds[(uint)StatusSign.Led.eLedColor.Blue].BrightnessFeedback);
+
+ if (_device != null) _device.BaseEvent += _device_BaseEvent;
+
+ });
+ }
+
+ void _device_BaseEvent(GenericBase device, BaseEventArgs args)
+ {
+ switch (args.EventId)
+ {
+ case StatusSign.LedBrightnessFeedbackEventId:
+ RedLedBrightnessFeedback.FireUpdate();
+ GreenLedBrightnessFeedback.FireUpdate();
+ BlueLedBrightnessFeedback.FireUpdate();
+ break;
+ case StatusSign.LedControlFeedbackEventId:
+ RedLedEnabledFeedback.FireUpdate();
+ GreenLedEnabledFeedback.FireUpdate();
+ BlueLedEnabledFeedback.FireUpdate();
+ break;
+ }
+ }
+
+ public void EnableLedControl(bool red, bool green, bool blue)
+ {
+ _device.Leds[(uint) StatusSign.Led.eLedColor.Red].Control.BoolValue = red;
+ _device.Leds[(uint)StatusSign.Led.eLedColor.Green].Control.BoolValue = green;
+ _device.Leds[(uint)StatusSign.Led.eLedColor.Blue].Control.BoolValue = blue;
+ }
+
+ public void SetColor(uint red, uint green, uint blue)
+ {
+ try
+ {
+ _device.Leds[(uint)StatusSign.Led.eLedColor.Red].Brightness =
+ (StatusSign.Led.eBrightnessPercentageValues)SimplSharpDeviceHelper.PercentToUshort(red);
+ }
+ catch (InvalidOperationException)
+ {
+ Debug.Console(1, this, "Error converting value to Red LED brightness. value: {0}", red);
+ }
+ try
+ {
+ _device.Leds[(uint)StatusSign.Led.eLedColor.Green].Brightness =
+ (StatusSign.Led.eBrightnessPercentageValues)SimplSharpDeviceHelper.PercentToUshort(green);
+ }
+ catch (InvalidOperationException)
+ {
+ Debug.Console(1, this, "Error converting value to Green LED brightness. value: {0}", green);
+ }
+
+ try
+ {
+ _device.Leds[(uint)StatusSign.Led.eLedColor.Blue].Brightness =
+ (StatusSign.Led.eBrightnessPercentageValues)SimplSharpDeviceHelper.PercentToUshort(blue);
+ }
+ catch (InvalidOperationException)
+ {
+ Debug.Console(1, this, "Error converting value to Blue LED brightness. value: {0}", blue);
+ }
+ }
+
+ public override void LinkToApi(BasicTriList trilist, uint joinStart, string joinMapKey, EiscApiAdvanced bridge)
+ {
+ var joinMap = new StatusSignControllerJoinMap(joinStart);
+
+ var joinMapSerialized = JoinMapHelper.GetSerializedJoinMapForDevice(joinMapKey);
+
+ if (!string.IsNullOrEmpty(joinMapSerialized))
+ joinMap = JsonConvert.DeserializeObject(joinMapSerialized);
+
+ if (bridge != null)
+ {
+ bridge.AddJoinMap(Key, joinMap);
+ }
+ else
+ {
+ Debug.Console(0, this, "Please update config to use 'eiscapiadvanced' to get all join map features for this device.");
+ }
+
+ Debug.Console(1, this, "Linking to Trilist '{0}'", trilist.ID.ToString("X"));
+
+ trilist.SetBoolSigAction(joinMap.RedControl.JoinNumber, b => EnableControl(trilist, joinMap, this));
+ trilist.SetBoolSigAction(joinMap.GreenControl.JoinNumber, b => EnableControl(trilist, joinMap, this));
+ trilist.SetBoolSigAction(joinMap.BlueControl.JoinNumber, b => EnableControl(trilist, joinMap, this));
+
+ trilist.SetUShortSigAction(joinMap.RedLed.JoinNumber, u => SetColor(trilist, joinMap, this));
+ trilist.SetUShortSigAction(joinMap.GreenLed.JoinNumber, u => SetColor(trilist, joinMap, this));
+ trilist.SetUShortSigAction(joinMap.BlueLed.JoinNumber, u => SetColor(trilist, joinMap, this));
+
+ trilist.StringInput[joinMap.Name.JoinNumber].StringValue = Name;
+
+ IsOnline.LinkInputSig(trilist.BooleanInput[joinMap.IsOnline.JoinNumber]);
+ RedLedEnabledFeedback.LinkInputSig(trilist.BooleanInput[joinMap.RedControl.JoinNumber]);
+ BlueLedEnabledFeedback.LinkInputSig(trilist.BooleanInput[joinMap.BlueControl.JoinNumber]);
+ GreenLedEnabledFeedback.LinkInputSig(trilist.BooleanInput[joinMap.GreenControl.JoinNumber]);
+
+ RedLedBrightnessFeedback.LinkInputSig(trilist.UShortInput[joinMap.RedLed.JoinNumber]);
+ BlueLedBrightnessFeedback.LinkInputSig(trilist.UShortInput[joinMap.BlueLed.JoinNumber]);
+ GreenLedBrightnessFeedback.LinkInputSig(trilist.UShortInput[joinMap.GreenLed.JoinNumber]);
+ }
+
+ private static void EnableControl(BasicTriList triList, StatusSignControllerJoinMap joinMap,
+ StatusSignController device)
+ {
+ var redEnable = triList.BooleanOutput[joinMap.RedControl.JoinNumber].BoolValue;
+ var greenEnable = triList.BooleanOutput[joinMap.GreenControl.JoinNumber].BoolValue;
+ var blueEnable = triList.BooleanOutput[joinMap.BlueControl.JoinNumber].BoolValue;
+ device.EnableLedControl(redEnable, greenEnable, blueEnable);
+ }
+
+ private static void SetColor(BasicTriList triList, StatusSignControllerJoinMap joinMap,
+ StatusSignController device)
+ {
+ var redBrightness = triList.UShortOutput[joinMap.RedLed.JoinNumber].UShortValue;
+ var greenBrightness = triList.UShortOutput[joinMap.GreenLed.JoinNumber].UShortValue;
+ var blueBrightness = triList.UShortOutput[joinMap.BlueLed.JoinNumber].UShortValue;
+
+ device.SetColor(redBrightness, greenBrightness, blueBrightness);
+ }
+
+ #region PreActivation
+
+ private static StatusSign GetStatusSignDevice(DeviceConfig dc)
+ {
+ var control = CommFactory.GetControlPropertiesConfig(dc);
+ var cresnetId = control.CresnetIdInt;
+ var branchId = control.ControlPortNumber;
+ var parentKey = string.IsNullOrEmpty(control.ControlPortDevKey) ? "processor" : control.ControlPortDevKey;
+
+ if (parentKey.Equals("processor", StringComparison.CurrentCultureIgnoreCase))
+ {
+ Debug.Console(0, "Device {0} is a valid cresnet master - creating new StatusSign", parentKey);
+ return new StatusSign(cresnetId, Global.ControlSystem);
+ }
+ var cresnetBridge = DeviceManager.GetDeviceForKey(parentKey) as IHasCresnetBranches;
+
+ if (cresnetBridge != null)
+ {
+ Debug.Console(0, "Device {0} is a valid cresnet master - creating new StatusSign", parentKey);
+ return new StatusSign(cresnetId, cresnetBridge.CresnetBranches[branchId]);
+ }
+ Debug.Console(0, "Device {0} is not a valid cresnet master", parentKey);
+ return null;
+ }
+ #endregion
+
+ public class StatusSignControllerFactory : EssentialsDeviceFactory
+ {
+ public StatusSignControllerFactory()
+ {
+ TypeNames = new List() { "statussign" };
+ }
+
+ public override EssentialsDevice BuildDevice(DeviceConfig dc)
+ {
+ Debug.Console(1, "Factory Attempting to create new StatusSign Device");
+
+ var control = CommFactory.GetControlPropertiesConfig(dc);
+ var cresnetId = control.CresnetIdInt;
+
+ return new StatusSignController(dc.Key, GetStatusSignDevice, dc);
+ }
+ }
+ }
+
+
}
\ No newline at end of file
diff --git a/essentials-framework/Essentials Core/PepperDashEssentialsBase/Crestron/CrestronGenericBaseDevice.cs b/src/PepperDash.Essentials.Core/Crestron/CrestronGenericBaseDevice.cs
similarity index 97%
rename from essentials-framework/Essentials Core/PepperDashEssentialsBase/Crestron/CrestronGenericBaseDevice.cs
rename to src/PepperDash.Essentials.Core/Crestron/CrestronGenericBaseDevice.cs
index b7534087..0ce2a8fe 100644
--- a/essentials-framework/Essentials Core/PepperDashEssentialsBase/Crestron/CrestronGenericBaseDevice.cs
+++ b/src/PepperDash.Essentials.Core/Crestron/CrestronGenericBaseDevice.cs
@@ -1,209 +1,209 @@
-using System;
-using System.Linq;
-using Crestron.SimplSharpPro;
-using Crestron.SimplSharpPro.DeviceSupport;
-using PepperDash.Core;
-using PepperDash.Core.JsonStandardObjects;
-using PepperDash.Essentials.Core.Bridges;
-
-namespace PepperDash.Essentials.Core
-{
- ///
- /// A bridge class to cover the basic features of GenericBase hardware
- ///
- public abstract class CrestronGenericBaseDevice : EssentialsDevice, IOnline, IHasFeedback, ICommunicationMonitor, IUsageTracking
- {
- protected GenericBase Hardware;
-
- ///
- /// Returns a list containing the Outputs that we want to expose.
- ///
- public FeedbackCollection Feedbacks { get; private set; }
-
- public BoolFeedback IsOnline { get; private set; }
- public BoolFeedback IsRegistered { get; private set; }
- public StringFeedback IpConnectionsText { get; private set; }
-
- ///
- /// Used by implementing classes to prevent registration with Crestron TLDM. For
- /// devices like RMCs and TXs attached to a chassis.
- ///
- public bool PreventRegistration { get; protected set; }
-
- protected CrestronGenericBaseDevice(string key, string name, GenericBase hardware)
- : base(key, name)
- {
- Feedbacks = new FeedbackCollection();
-
- Hardware = hardware;
- IsOnline = new BoolFeedback("IsOnlineFeedback", () => Hardware.IsOnline);
- IsRegistered = new BoolFeedback("IsRegistered", () => Hardware.Registered);
- IpConnectionsText = new StringFeedback("IpConnectionsText", () => Hardware.ConnectedIpList != null ? string.Join(",", Hardware.ConnectedIpList.Select(cip => cip.DeviceIpAddress).ToArray()) : string.Empty);
- AddToFeedbackList(IsOnline, IpConnectionsText);
-
- CommunicationMonitor = new CrestronGenericBaseCommunicationMonitor(this, hardware, 120000, 300000);
- }
-
- protected CrestronGenericBaseDevice(string key, string name)
- : base(key, name)
- {
- Feedbacks = new FeedbackCollection();
-
- }
-
- protected void RegisterCrestronGenericBase(GenericBase hardware)
- {
- Hardware = hardware;
- IsOnline = new BoolFeedback("IsOnlineFeedback", () => Hardware.IsOnline);
- IsRegistered = new BoolFeedback("IsRegistered", () => Hardware.Registered);
- IpConnectionsText = new StringFeedback("IpConnectionsText", () => Hardware.ConnectedIpList != null ? string.Join(",", Hardware.ConnectedIpList.Select(cip => cip.DeviceIpAddress).ToArray()) : string.Empty);
- AddToFeedbackList(IsOnline, IpConnectionsText);
-
- CommunicationMonitor = new CrestronGenericBaseCommunicationMonitor(this, hardware, 120000, 300000);
- }
-
- ///
- /// Make sure that overriding classes call this!
- /// Registers the Crestron device, connects up to the base events, starts communication monitor
- ///
- public override bool CustomActivate()
- {
- Debug.Console(0, this, "Activating");
- if (!PreventRegistration)
- {
- //Debug.Console(1, this, " Does not require registration. Skipping");
-
- var response = Hardware.RegisterWithLogging(Key);
- if (response != eDeviceRegistrationUnRegistrationResponse.Success)
- {
- //Debug.Console(0, this, "ERROR: Cannot register Crestron device: {0}", response);
- return false;
- }
-
- IsRegistered.FireUpdate();
- }
- else
- {
- AddPostActivationAction(() =>
- {
- var response = Hardware.RegisterWithLogging(Key);
-
- IsRegistered.FireUpdate();
- });
- }
-
- foreach (var f in Feedbacks)
- {
- f.FireUpdate();
- }
-
- Hardware.OnlineStatusChange += Hardware_OnlineStatusChange;
- CommunicationMonitor.Start();
-
- return true;
- }
-
- ///
- /// This disconnects events and unregisters the base hardware device.
- ///
- ///
- public override bool Deactivate()
- {
- CommunicationMonitor.Stop();
- Hardware.OnlineStatusChange -= Hardware_OnlineStatusChange;
-
- var success = Hardware.UnRegister() == eDeviceRegistrationUnRegistrationResponse.Success;
-
- IsRegistered.FireUpdate();
-
- return success;
- }
-
- ///
- /// Adds feedback(s) to the list
- ///
- ///
- public void AddToFeedbackList(params Feedback[] newFbs)
- {
- foreach (var f in newFbs)
- {
- if (f == null) continue;
-
- if (!Feedbacks.Contains(f))
- {
- Feedbacks.Add(f);
- }
- }
- }
-
- void Hardware_OnlineStatusChange(GenericBase currentDevice, OnlineOfflineEventArgs args)
- {
- Debug.Console(2, this, "OnlineStatusChange Event. Online = {0}", args.DeviceOnLine);
-
- if (!Hardware.Registered)
- {
- return; // protects in cases where device has been unregistered and feedbacks would attempt to access null sigs.
- }
-
- foreach (var feedback in Feedbacks)
- {
- if (feedback != null)
- feedback.FireUpdate();
- }
- }
-
- #region IStatusMonitor Members
-
- public StatusMonitorBase CommunicationMonitor { get; private set; }
- #endregion
-
- #region IUsageTracking Members
-
- public UsageTracking UsageTracker { get; set; }
-
- #endregion
- }
-
- public abstract class CrestronGenericBridgeableBaseDevice : CrestronGenericBaseDevice, IBridgeAdvanced
- {
- protected CrestronGenericBridgeableBaseDevice(string key, string name, GenericBase hardware) : base(key, name, hardware)
- {
- }
-
- protected CrestronGenericBridgeableBaseDevice(string key, string name)
- : base(key, name)
- {
- }
-
-
- public abstract void LinkToApi(BasicTriList trilist, uint joinStart, string joinMapKey, EiscApiAdvanced bridge);
- }
-
-
- //***********************************************************************************
- public class CrestronGenericBaseDeviceEventIds
- {
- public const uint IsOnline = 1;
- public const uint IpConnectionsText =2;
- }
-
- ///
- /// Adds logging to Register() failure
- ///
- public static class GenericBaseExtensions
- {
- public static eDeviceRegistrationUnRegistrationResponse RegisterWithLogging(this GenericBase device, string key)
- {
- var result = device.Register();
- var level = result == eDeviceRegistrationUnRegistrationResponse.Success ?
- Debug.ErrorLogLevel.Notice : Debug.ErrorLogLevel.Error;
- Debug.Console(0, level, "Register device result: '{0}', type '{1}', result {2}", key, device, result);
- //if (result != eDeviceRegistrationUnRegistrationResponse.Success)
- //{
- // Debug.Console(0, Debug.ErrorLogLevel.Error, "Cannot register device '{0}': {1}", key, result);
- //}
- return result;
- }
-
- }
+using System;
+using System.Linq;
+using Crestron.SimplSharpPro;
+using Crestron.SimplSharpPro.DeviceSupport;
+using PepperDash.Core;
+using PepperDash.Core.JsonStandardObjects;
+using PepperDash.Essentials.Core.Bridges;
+
+namespace PepperDash.Essentials.Core
+{
+ ///
+ /// A bridge class to cover the basic features of GenericBase hardware
+ ///
+ public abstract class CrestronGenericBaseDevice : EssentialsDevice, IOnline, IHasFeedback, ICommunicationMonitor, IUsageTracking
+ {
+ protected GenericBase Hardware;
+
+ ///
+ /// Returns a list containing the Outputs that we want to expose.
+ ///
+ public FeedbackCollection Feedbacks { get; private set; }
+
+ public BoolFeedback IsOnline { get; private set; }
+ public BoolFeedback IsRegistered { get; private set; }
+ public StringFeedback IpConnectionsText { get; private set; }
+
+ ///
+ /// Used by implementing classes to prevent registration with Crestron TLDM. For
+ /// devices like RMCs and TXs attached to a chassis.
+ ///
+ public bool PreventRegistration { get; protected set; }
+
+ protected CrestronGenericBaseDevice(string key, string name, GenericBase hardware)
+ : base(key, name)
+ {
+ Feedbacks = new FeedbackCollection();
+
+ Hardware = hardware;
+ IsOnline = new BoolFeedback("IsOnlineFeedback", () => Hardware.IsOnline);
+ IsRegistered = new BoolFeedback("IsRegistered", () => Hardware.Registered);
+ IpConnectionsText = new StringFeedback("IpConnectionsText", () => Hardware.ConnectedIpList != null ? string.Join(",", Hardware.ConnectedIpList.Select(cip => cip.DeviceIpAddress).ToArray()) : string.Empty);
+ AddToFeedbackList(IsOnline, IpConnectionsText);
+
+ CommunicationMonitor = new CrestronGenericBaseCommunicationMonitor(this, hardware, 120000, 300000);
+ }
+
+ protected CrestronGenericBaseDevice(string key, string name)
+ : base(key, name)
+ {
+ Feedbacks = new FeedbackCollection();
+
+ }
+
+ protected void RegisterCrestronGenericBase(GenericBase hardware)
+ {
+ Hardware = hardware;
+ IsOnline = new BoolFeedback("IsOnlineFeedback", () => Hardware.IsOnline);
+ IsRegistered = new BoolFeedback("IsRegistered", () => Hardware.Registered);
+ IpConnectionsText = new StringFeedback("IpConnectionsText", () => Hardware.ConnectedIpList != null ? string.Join(",", Hardware.ConnectedIpList.Select(cip => cip.DeviceIpAddress).ToArray()) : string.Empty);
+ AddToFeedbackList(IsOnline, IpConnectionsText);
+
+ CommunicationMonitor = new CrestronGenericBaseCommunicationMonitor(this, hardware, 120000, 300000);
+ }
+
+ ///
+ /// Make sure that overriding classes call this!
+ /// Registers the Crestron device, connects up to the base events, starts communication monitor
+ ///
+ public override bool CustomActivate()
+ {
+ Debug.Console(0, this, "Activating");
+ if (!PreventRegistration)
+ {
+ //Debug.Console(1, this, " Does not require registration. Skipping");
+
+ var response = Hardware.RegisterWithLogging(Key);
+ if (response != eDeviceRegistrationUnRegistrationResponse.Success)
+ {
+ //Debug.Console(0, this, "ERROR: Cannot register Crestron device: {0}", response);
+ return false;
+ }
+
+ IsRegistered.FireUpdate();
+ }
+ else
+ {
+ AddPostActivationAction(() =>
+ {
+ var response = Hardware.RegisterWithLogging(Key);
+
+ IsRegistered.FireUpdate();
+ });
+ }
+
+ foreach (var f in Feedbacks)
+ {
+ f.FireUpdate();
+ }
+
+ Hardware.OnlineStatusChange += Hardware_OnlineStatusChange;
+ CommunicationMonitor.Start();
+
+ return true;
+ }
+
+ ///
+ /// This disconnects events and unregisters the base hardware device.
+ ///
+ ///
+ public override bool Deactivate()
+ {
+ CommunicationMonitor.Stop();
+ Hardware.OnlineStatusChange -= Hardware_OnlineStatusChange;
+
+ var success = Hardware.UnRegister() == eDeviceRegistrationUnRegistrationResponse.Success;
+
+ IsRegistered.FireUpdate();
+
+ return success;
+ }
+
+ ///
+ /// Adds feedback(s) to the list
+ ///
+ ///
+ public void AddToFeedbackList(params Feedback[] newFbs)
+ {
+ foreach (var f in newFbs)
+ {
+ if (f == null) continue;
+
+ if (!Feedbacks.Contains(f))
+ {
+ Feedbacks.Add(f);
+ }
+ }
+ }
+
+ void Hardware_OnlineStatusChange(GenericBase currentDevice, OnlineOfflineEventArgs args)
+ {
+ Debug.Console(2, this, "OnlineStatusChange Event. Online = {0}", args.DeviceOnLine);
+
+ if (!Hardware.Registered)
+ {
+ return; // protects in cases where device has been unregistered and feedbacks would attempt to access null sigs.
+ }
+
+ foreach (var feedback in Feedbacks)
+ {
+ if (feedback != null)
+ feedback.FireUpdate();
+ }
+ }
+
+ #region IStatusMonitor Members
+
+ public StatusMonitorBase CommunicationMonitor { get; private set; }
+ #endregion
+
+ #region IUsageTracking Members
+
+ public UsageTracking UsageTracker { get; set; }
+
+ #endregion
+ }
+
+ public abstract class CrestronGenericBridgeableBaseDevice : CrestronGenericBaseDevice, IBridgeAdvanced
+ {
+ protected CrestronGenericBridgeableBaseDevice(string key, string name, GenericBase hardware) : base(key, name, hardware)
+ {
+ }
+
+ protected CrestronGenericBridgeableBaseDevice(string key, string name)
+ : base(key, name)
+ {
+ }
+
+
+ public abstract void LinkToApi(BasicTriList trilist, uint joinStart, string joinMapKey, EiscApiAdvanced bridge);
+ }
+
+
+ //***********************************************************************************
+ public class CrestronGenericBaseDeviceEventIds
+ {
+ public const uint IsOnline = 1;
+ public const uint IpConnectionsText =2;
+ }
+
+ ///
+ /// Adds logging to Register() failure
+ ///
+ public static class GenericBaseExtensions
+ {
+ public static eDeviceRegistrationUnRegistrationResponse RegisterWithLogging(this GenericBase device, string key)
+ {
+ var result = device.Register();
+ var level = result == eDeviceRegistrationUnRegistrationResponse.Success ?
+ Debug.ErrorLogLevel.Notice : Debug.ErrorLogLevel.Error;
+ Debug.Console(0, level, "Register device result: '{0}', type '{1}', result {2}", key, device, result);
+ //if (result != eDeviceRegistrationUnRegistrationResponse.Success)
+ //{
+ // Debug.Console(0, Debug.ErrorLogLevel.Error, "Cannot register device '{0}': {1}", key, result);
+ //}
+ return result;
+ }
+
+ }
}
\ No newline at end of file
diff --git a/essentials-framework/Essentials Core/PepperDashEssentialsBase/Crestron/CrestronGenericBaseDevice.cs.orig b/src/PepperDash.Essentials.Core/Crestron/CrestronGenericBaseDevice.cs.orig
similarity index 100%
rename from essentials-framework/Essentials Core/PepperDashEssentialsBase/Crestron/CrestronGenericBaseDevice.cs.orig
rename to src/PepperDash.Essentials.Core/Crestron/CrestronGenericBaseDevice.cs.orig
diff --git a/essentials-framework/Essentials Core/PepperDashEssentialsBase/Device Info/DeviceInfo.cs b/src/PepperDash.Essentials.Core/Device Info/DeviceInfo.cs
similarity index 100%
rename from essentials-framework/Essentials Core/PepperDashEssentialsBase/Device Info/DeviceInfo.cs
rename to src/PepperDash.Essentials.Core/Device Info/DeviceInfo.cs
diff --git a/essentials-framework/Essentials Core/PepperDashEssentialsBase/Device Info/DeviceInfoEventArgs.cs b/src/PepperDash.Essentials.Core/Device Info/DeviceInfoEventArgs.cs
similarity index 100%
rename from essentials-framework/Essentials Core/PepperDashEssentialsBase/Device Info/DeviceInfoEventArgs.cs
rename to src/PepperDash.Essentials.Core/Device Info/DeviceInfoEventArgs.cs
diff --git a/essentials-framework/Essentials Core/PepperDashEssentialsBase/Device Info/IDeviceInfoProvider.cs b/src/PepperDash.Essentials.Core/Device Info/IDeviceInfoProvider.cs
similarity index 100%
rename from essentials-framework/Essentials Core/PepperDashEssentialsBase/Device Info/IDeviceInfoProvider.cs
rename to src/PepperDash.Essentials.Core/Device Info/IDeviceInfoProvider.cs
diff --git a/essentials-framework/Essentials Core/PepperDashEssentialsBase/DeviceControlsParentInterfaces/IPresentationSource.cs b/src/PepperDash.Essentials.Core/DeviceControlsParentInterfaces/IPresentationSource.cs
similarity index 100%
rename from essentials-framework/Essentials Core/PepperDashEssentialsBase/DeviceControlsParentInterfaces/IPresentationSource.cs
rename to src/PepperDash.Essentials.Core/DeviceControlsParentInterfaces/IPresentationSource.cs
diff --git a/essentials-framework/Essentials Core/PepperDashEssentialsBase/DeviceTypeInterfaces/IChannel.cs b/src/PepperDash.Essentials.Core/DeviceTypeInterfaces/IChannel.cs
similarity index 100%
rename from essentials-framework/Essentials Core/PepperDashEssentialsBase/DeviceTypeInterfaces/IChannel.cs
rename to src/PepperDash.Essentials.Core/DeviceTypeInterfaces/IChannel.cs
diff --git a/essentials-framework/Essentials Core/PepperDashEssentialsBase/DeviceTypeInterfaces/IColorFunctions.cs b/src/PepperDash.Essentials.Core/DeviceTypeInterfaces/IColorFunctions.cs
similarity index 100%
rename from essentials-framework/Essentials Core/PepperDashEssentialsBase/DeviceTypeInterfaces/IColorFunctions.cs
rename to src/PepperDash.Essentials.Core/DeviceTypeInterfaces/IColorFunctions.cs
diff --git a/essentials-framework/Essentials Core/PepperDashEssentialsBase/DeviceTypeInterfaces/IDPad.cs b/src/PepperDash.Essentials.Core/DeviceTypeInterfaces/IDPad.cs
similarity index 100%
rename from essentials-framework/Essentials Core/PepperDashEssentialsBase/DeviceTypeInterfaces/IDPad.cs
rename to src/PepperDash.Essentials.Core/DeviceTypeInterfaces/IDPad.cs
diff --git a/essentials-framework/Essentials Core/PepperDashEssentialsBase/DeviceTypeInterfaces/IDiscPlayerControls.cs b/src/PepperDash.Essentials.Core/DeviceTypeInterfaces/IDiscPlayerControls.cs
similarity index 100%
rename from essentials-framework/Essentials Core/PepperDashEssentialsBase/DeviceTypeInterfaces/IDiscPlayerControls.cs
rename to src/PepperDash.Essentials.Core/DeviceTypeInterfaces/IDiscPlayerControls.cs
diff --git a/essentials-framework/Essentials Core/PepperDashEssentialsBase/DeviceTypeInterfaces/IDisplayBasic.cs b/src/PepperDash.Essentials.Core/DeviceTypeInterfaces/IDisplayBasic.cs
similarity index 100%
rename from essentials-framework/Essentials Core/PepperDashEssentialsBase/DeviceTypeInterfaces/IDisplayBasic.cs
rename to src/PepperDash.Essentials.Core/DeviceTypeInterfaces/IDisplayBasic.cs
diff --git a/essentials-framework/Essentials Core/PepperDashEssentialsBase/DeviceTypeInterfaces/IDumbSource.cs b/src/PepperDash.Essentials.Core/DeviceTypeInterfaces/IDumbSource.cs
similarity index 100%
rename from essentials-framework/Essentials Core/PepperDashEssentialsBase/DeviceTypeInterfaces/IDumbSource.cs
rename to src/PepperDash.Essentials.Core/DeviceTypeInterfaces/IDumbSource.cs
diff --git a/essentials-framework/Essentials Core/PepperDashEssentialsBase/DeviceTypeInterfaces/IDvr.cs b/src/PepperDash.Essentials.Core/DeviceTypeInterfaces/IDvr.cs
similarity index 100%
rename from essentials-framework/Essentials Core/PepperDashEssentialsBase/DeviceTypeInterfaces/IDvr.cs
rename to src/PepperDash.Essentials.Core/DeviceTypeInterfaces/IDvr.cs
diff --git a/essentials-framework/Essentials Core/PepperDashEssentialsBase/DeviceTypeInterfaces/IHasBranding.cs b/src/PepperDash.Essentials.Core/DeviceTypeInterfaces/IHasBranding.cs
similarity index 100%
rename from essentials-framework/Essentials Core/PepperDashEssentialsBase/DeviceTypeInterfaces/IHasBranding.cs
rename to src/PepperDash.Essentials.Core/DeviceTypeInterfaces/IHasBranding.cs
diff --git a/essentials-framework/Essentials Core/PepperDashEssentialsBase/DeviceTypeInterfaces/IHasFarEndContentStatus.cs b/src/PepperDash.Essentials.Core/DeviceTypeInterfaces/IHasFarEndContentStatus.cs
similarity index 100%
rename from essentials-framework/Essentials Core/PepperDashEssentialsBase/DeviceTypeInterfaces/IHasFarEndContentStatus.cs
rename to src/PepperDash.Essentials.Core/DeviceTypeInterfaces/IHasFarEndContentStatus.cs
diff --git a/essentials-framework/Essentials Core/PepperDashEssentialsBase/DeviceTypeInterfaces/IHasPhoneDialing.cs b/src/PepperDash.Essentials.Core/DeviceTypeInterfaces/IHasPhoneDialing.cs
similarity index 100%
rename from essentials-framework/Essentials Core/PepperDashEssentialsBase/DeviceTypeInterfaces/IHasPhoneDialing.cs
rename to src/PepperDash.Essentials.Core/DeviceTypeInterfaces/IHasPhoneDialing.cs
diff --git a/essentials-framework/Essentials Core/PepperDashEssentialsBase/DeviceTypeInterfaces/ILanguageDefinition.cs b/src/PepperDash.Essentials.Core/DeviceTypeInterfaces/ILanguageDefinition.cs
similarity index 100%
rename from essentials-framework/Essentials Core/PepperDashEssentialsBase/DeviceTypeInterfaces/ILanguageDefinition.cs
rename to src/PepperDash.Essentials.Core/DeviceTypeInterfaces/ILanguageDefinition.cs
diff --git a/essentials-framework/Essentials Core/PepperDashEssentialsBase/DeviceTypeInterfaces/ILanguageProvider.cs b/src/PepperDash.Essentials.Core/DeviceTypeInterfaces/ILanguageProvider.cs
similarity index 100%
rename from essentials-framework/Essentials Core/PepperDashEssentialsBase/DeviceTypeInterfaces/ILanguageProvider.cs
rename to src/PepperDash.Essentials.Core/DeviceTypeInterfaces/ILanguageProvider.cs
diff --git a/essentials-framework/Essentials Core/PepperDashEssentialsBase/DeviceTypeInterfaces/IMobileControl.cs b/src/PepperDash.Essentials.Core/DeviceTypeInterfaces/IMobileControl.cs
similarity index 100%
rename from essentials-framework/Essentials Core/PepperDashEssentialsBase/DeviceTypeInterfaces/IMobileControl.cs
rename to src/PepperDash.Essentials.Core/DeviceTypeInterfaces/IMobileControl.cs
diff --git a/essentials-framework/Essentials Core/PepperDashEssentialsBase/DeviceTypeInterfaces/INumeric.cs b/src/PepperDash.Essentials.Core/DeviceTypeInterfaces/INumeric.cs
similarity index 100%
rename from essentials-framework/Essentials Core/PepperDashEssentialsBase/DeviceTypeInterfaces/INumeric.cs
rename to src/PepperDash.Essentials.Core/DeviceTypeInterfaces/INumeric.cs
diff --git a/essentials-framework/Essentials Core/PepperDashEssentialsBase/DeviceTypeInterfaces/IPasswordPrompt.cs b/src/PepperDash.Essentials.Core/DeviceTypeInterfaces/IPasswordPrompt.cs
similarity index 100%
rename from essentials-framework/Essentials Core/PepperDashEssentialsBase/DeviceTypeInterfaces/IPasswordPrompt.cs
rename to src/PepperDash.Essentials.Core/DeviceTypeInterfaces/IPasswordPrompt.cs
diff --git a/essentials-framework/Essentials Core/PepperDashEssentialsBase/DeviceTypeInterfaces/IPower.cs b/src/PepperDash.Essentials.Core/DeviceTypeInterfaces/IPower.cs
similarity index 100%
rename from essentials-framework/Essentials Core/PepperDashEssentialsBase/DeviceTypeInterfaces/IPower.cs
rename to src/PepperDash.Essentials.Core/DeviceTypeInterfaces/IPower.cs
diff --git a/essentials-framework/Essentials Core/PepperDashEssentialsBase/DeviceTypeInterfaces/ISetTopBoxControls.cs b/src/PepperDash.Essentials.Core/DeviceTypeInterfaces/ISetTopBoxControls.cs
similarity index 100%
rename from essentials-framework/Essentials Core/PepperDashEssentialsBase/DeviceTypeInterfaces/ISetTopBoxControls.cs
rename to src/PepperDash.Essentials.Core/DeviceTypeInterfaces/ISetTopBoxControls.cs
diff --git a/essentials-framework/Essentials Core/PepperDashEssentialsBase/DeviceTypeInterfaces/ITransport.cs b/src/PepperDash.Essentials.Core/DeviceTypeInterfaces/ITransport.cs
similarity index 100%
rename from essentials-framework/Essentials Core/PepperDashEssentialsBase/DeviceTypeInterfaces/ITransport.cs
rename to src/PepperDash.Essentials.Core/DeviceTypeInterfaces/ITransport.cs
diff --git a/essentials-framework/Essentials Core/PepperDashEssentialsBase/DeviceTypeInterfaces/ITvPresetsProvider.cs b/src/PepperDash.Essentials.Core/DeviceTypeInterfaces/ITvPresetsProvider.cs
similarity index 100%
rename from essentials-framework/Essentials Core/PepperDashEssentialsBase/DeviceTypeInterfaces/ITvPresetsProvider.cs
rename to src/PepperDash.Essentials.Core/DeviceTypeInterfaces/ITvPresetsProvider.cs
diff --git a/essentials-framework/Essentials Core/PepperDashEssentialsBase/DeviceTypeInterfaces/IUiDisplayInfo.cs b/src/PepperDash.Essentials.Core/DeviceTypeInterfaces/IUiDisplayInfo.cs
similarity index 100%
rename from essentials-framework/Essentials Core/PepperDashEssentialsBase/DeviceTypeInterfaces/IUiDisplayInfo.cs
rename to src/PepperDash.Essentials.Core/DeviceTypeInterfaces/IUiDisplayInfo.cs
diff --git a/essentials-framework/Essentials Core/PepperDashEssentialsBase/DeviceTypeInterfaces/IWarmingCooling.cs b/src/PepperDash.Essentials.Core/DeviceTypeInterfaces/IWarmingCooling.cs
similarity index 100%
rename from essentials-framework/Essentials Core/PepperDashEssentialsBase/DeviceTypeInterfaces/IWarmingCooling.cs
rename to src/PepperDash.Essentials.Core/DeviceTypeInterfaces/IWarmingCooling.cs
diff --git a/essentials-framework/Essentials Core/PepperDashEssentialsBase/DeviceTypeInterfaces/LanguageLabel.cs b/src/PepperDash.Essentials.Core/DeviceTypeInterfaces/LanguageLabel.cs
similarity index 100%
rename from essentials-framework/Essentials Core/PepperDashEssentialsBase/DeviceTypeInterfaces/LanguageLabel.cs
rename to src/PepperDash.Essentials.Core/DeviceTypeInterfaces/LanguageLabel.cs
diff --git a/essentials-framework/Essentials Core/PepperDashEssentialsBase/DeviceTypeInterfaces/Template.cs b/src/PepperDash.Essentials.Core/DeviceTypeInterfaces/Template.cs
similarity index 100%
rename from essentials-framework/Essentials Core/PepperDashEssentialsBase/DeviceTypeInterfaces/Template.cs
rename to src/PepperDash.Essentials.Core/DeviceTypeInterfaces/Template.cs
diff --git a/essentials-framework/Essentials Core/PepperDashEssentialsBase/Devices/.IHasFeedbacks_BASE_3692.cs.swp b/src/PepperDash.Essentials.Core/Devices/.IHasFeedbacks_BASE_3692.cs.swp
similarity index 100%
rename from essentials-framework/Essentials Core/PepperDashEssentialsBase/Devices/.IHasFeedbacks_BASE_3692.cs.swp
rename to src/PepperDash.Essentials.Core/Devices/.IHasFeedbacks_BASE_3692.cs.swp
diff --git a/essentials-framework/Essentials Core/PepperDashEssentialsBase/Devices/.IHasFeedbacks_LOCAL_3692.cs.swp b/src/PepperDash.Essentials.Core/Devices/.IHasFeedbacks_LOCAL_3692.cs.swp
similarity index 100%
rename from essentials-framework/Essentials Core/PepperDashEssentialsBase/Devices/.IHasFeedbacks_LOCAL_3692.cs.swp
rename to src/PepperDash.Essentials.Core/Devices/.IHasFeedbacks_LOCAL_3692.cs.swp
diff --git a/essentials-framework/Essentials Core/PepperDashEssentialsBase/Devices/.IHasFeedbacks_REMOTE_3692.cs.swp b/src/PepperDash.Essentials.Core/Devices/.IHasFeedbacks_REMOTE_3692.cs.swp
similarity index 100%
rename from essentials-framework/Essentials Core/PepperDashEssentialsBase/Devices/.IHasFeedbacks_REMOTE_3692.cs.swp
rename to src/PepperDash.Essentials.Core/Devices/.IHasFeedbacks_REMOTE_3692.cs.swp
diff --git a/essentials-framework/Essentials Core/PepperDashEssentialsBase/Devices/AudioInterfaces.cs b/src/PepperDash.Essentials.Core/Devices/AudioInterfaces.cs
similarity index 100%
rename from essentials-framework/Essentials Core/PepperDashEssentialsBase/Devices/AudioInterfaces.cs
rename to src/PepperDash.Essentials.Core/Devices/AudioInterfaces.cs
diff --git a/essentials-framework/Essentials Core/PepperDashEssentialsBase/Devices/CodecInterfaces.cs b/src/PepperDash.Essentials.Core/Devices/CodecInterfaces.cs
similarity index 100%
rename from essentials-framework/Essentials Core/PepperDashEssentialsBase/Devices/CodecInterfaces.cs
rename to src/PepperDash.Essentials.Core/Devices/CodecInterfaces.cs
diff --git a/essentials-framework/Essentials Core/PepperDashEssentialsBase/Devices/CodecInterfaces.cs.orig b/src/PepperDash.Essentials.Core/Devices/CodecInterfaces.cs.orig
similarity index 100%
rename from essentials-framework/Essentials Core/PepperDashEssentialsBase/Devices/CodecInterfaces.cs.orig
rename to src/PepperDash.Essentials.Core/Devices/CodecInterfaces.cs.orig
diff --git a/essentials-framework/Essentials Core/PepperDashEssentialsBase/Devices/CrestronProcessor.cs b/src/PepperDash.Essentials.Core/Devices/CrestronProcessor.cs
similarity index 100%
rename from essentials-framework/Essentials Core/PepperDashEssentialsBase/Devices/CrestronProcessor.cs
rename to src/PepperDash.Essentials.Core/Devices/CrestronProcessor.cs
diff --git a/essentials-framework/Essentials Core/PepperDashEssentialsBase/Devices/DestinationListItem.cs b/src/PepperDash.Essentials.Core/Devices/DestinationListItem.cs
similarity index 100%
rename from essentials-framework/Essentials Core/PepperDashEssentialsBase/Devices/DestinationListItem.cs
rename to src/PepperDash.Essentials.Core/Devices/DestinationListItem.cs
diff --git a/essentials-framework/Essentials Core/PepperDashEssentialsBase/Devices/DeviceApiBase.cs b/src/PepperDash.Essentials.Core/Devices/DeviceApiBase.cs
similarity index 100%
rename from essentials-framework/Essentials Core/PepperDashEssentialsBase/Devices/DeviceApiBase.cs
rename to src/PepperDash.Essentials.Core/Devices/DeviceApiBase.cs
diff --git a/essentials-framework/Essentials Core/PepperDashEssentialsBase/Devices/DeviceFeedbackExtensions.cs b/src/PepperDash.Essentials.Core/Devices/DeviceFeedbackExtensions.cs
similarity index 100%
rename from essentials-framework/Essentials Core/PepperDashEssentialsBase/Devices/DeviceFeedbackExtensions.cs
rename to src/PepperDash.Essentials.Core/Devices/DeviceFeedbackExtensions.cs
diff --git a/essentials-framework/Essentials Core/PepperDashEssentialsBase/Devices/DeviceJsonApi.cs b/src/PepperDash.Essentials.Core/Devices/DeviceJsonApi.cs
similarity index 100%
rename from essentials-framework/Essentials Core/PepperDashEssentialsBase/Devices/DeviceJsonApi.cs
rename to src/PepperDash.Essentials.Core/Devices/DeviceJsonApi.cs
diff --git a/essentials-framework/Essentials Core/PepperDashEssentialsBase/Devices/DeviceManager.cs b/src/PepperDash.Essentials.Core/Devices/DeviceManager.cs
similarity index 97%
rename from essentials-framework/Essentials Core/PepperDashEssentialsBase/Devices/DeviceManager.cs
rename to src/PepperDash.Essentials.Core/Devices/DeviceManager.cs
index df864550..20ff805b 100644
--- a/essentials-framework/Essentials Core/PepperDashEssentialsBase/Devices/DeviceManager.cs
+++ b/src/PepperDash.Essentials.Core/Devices/DeviceManager.cs
@@ -1,480 +1,480 @@
-using System;
-using System.Collections.Generic;
-using System.Linq;
-using System.Text;
-using System.Text.RegularExpressions;
-using Crestron.SimplSharp;
-using Crestron.SimplSharpPro;
-
-using PepperDash.Core;
-
-
-namespace PepperDash.Essentials.Core
-{
- public static class DeviceManager
- {
- public static event EventHandler AllDevicesActivated;
-
- private static readonly CCriticalSection DeviceCriticalSection = new CCriticalSection();
- private static readonly CEvent AllowAddDevicesCEvent = new CEvent(false, true);
- //public static List Devices { get { return _Devices; } }
- //static List _Devices = new List();
-
- static readonly Dictionary Devices = new Dictionary(StringComparer.OrdinalIgnoreCase);
-
- ///
- /// Returns a copy of all the devices in a list
- ///
- public static List AllDevices { get { return new List(Devices.Values); } }
-
- public static bool AddDeviceEnabled;
-
- public static void Initialize(CrestronControlSystem cs)
- {
- AddDeviceEnabled = true;
- CrestronConsole.AddNewConsoleCommand(ListDeviceCommStatuses, "devcommstatus", "Lists the communication status of all devices",
- ConsoleAccessLevelEnum.AccessOperator);
- CrestronConsole.AddNewConsoleCommand(ListDeviceFeedbacks, "devfb", "Lists current feedbacks",
- ConsoleAccessLevelEnum.AccessOperator);
- CrestronConsole.AddNewConsoleCommand(ListDevices, "devlist", "Lists current managed devices",
- ConsoleAccessLevelEnum.AccessOperator);
- CrestronConsole.AddNewConsoleCommand(DeviceJsonApi.DoDeviceActionWithJson, "devjson", "",
- ConsoleAccessLevelEnum.AccessOperator);
- CrestronConsole.AddNewConsoleCommand(s => CrestronConsole.ConsoleCommandResponse(DeviceJsonApi.GetProperties(s)), "devprops", "", ConsoleAccessLevelEnum.AccessOperator);
- CrestronConsole.AddNewConsoleCommand(s => CrestronConsole.ConsoleCommandResponse(DeviceJsonApi.GetMethods(s)), "devmethods", "", ConsoleAccessLevelEnum.AccessOperator);
- CrestronConsole.AddNewConsoleCommand(s => CrestronConsole.ConsoleCommandResponse(DeviceJsonApi.GetApiMethods(s)), "apimethods", "", ConsoleAccessLevelEnum.AccessOperator);
- CrestronConsole.AddNewConsoleCommand(SimulateComReceiveOnDevice, "devsimreceive",
- "Simulates incoming data on a com device", ConsoleAccessLevelEnum.AccessOperator);
-
- CrestronConsole.AddNewConsoleCommand(SetDeviceStreamDebugging, "setdevicestreamdebug", "set comm debug [deviceKey] [off/rx/tx/both] ([minutes])", ConsoleAccessLevelEnum.AccessOperator);
- CrestronConsole.AddNewConsoleCommand(s => DisableAllDeviceStreamDebugging(), "disableallstreamdebug", "disables stream debugging on all devices", ConsoleAccessLevelEnum.AccessOperator);
- }
-
- ///
- /// Calls activate steps on all Device class items
- ///
- public static void ActivateAll()
- {
- try
- {
- DeviceCriticalSection.Enter();
- AddDeviceEnabled = false;
- // PreActivate all devices
- Debug.Console(0,"****PreActivation starting...****");
- foreach (var d in Devices.Values)
- {
- try
- {
- if (d is Device)
- (d as Device).PreActivate();
- }
- catch (Exception e)
- {
- Debug.Console(0, d, "ERROR: Device {1} PreActivation failure: {0}", e.Message, d.Key);
- Debug.Console(1, d, "Stack Trace: {0}", e.StackTrace);
- }
- }
- Debug.Console(0, "****PreActivation complete****");
- Debug.Console(0, "****Activation starting...****");
-
- // Activate all devices
- foreach (var d in Devices.Values)
- {
- try
- {
- if (d is Device)
- (d as Device).Activate();
- }
- catch (Exception e)
- {
- Debug.Console(0, d, "ERROR: Device {1} Activation failure: {0}", e.Message, d.Key);
- Debug.Console(1, d, "Stack Trace: {0}", e.StackTrace);
- }
- }
-
- Debug.Console(0, "****Activation complete****");
- Debug.Console(0, "****PostActivation starting...****");
-
- // PostActivate all devices
- foreach (var d in Devices.Values)
- {
- try
- {
- if (d is Device)
- (d as Device).PostActivate();
- }
- catch (Exception e)
- {
- Debug.Console(0, d, "ERROR: Device {1} PostActivation failure: {0}", e.Message, d.Key);
- Debug.Console(1, d, "Stack Trace: {0}", e.StackTrace);
- }
- }
-
- Debug.Console(0, "****PostActivation complete****");
-
- OnAllDevicesActivated();
- }
- finally
- {
- DeviceCriticalSection.Leave();
- }
- }
-
- private static void OnAllDevicesActivated()
- {
- var handler = AllDevicesActivated;
- if (handler != null)
- {
- handler(null, new EventArgs());
- }
- }
-
- ///
- /// Calls activate on all Device class items
- ///
- public static void DeactivateAll()
- {
- try
- {
- DeviceCriticalSection.Enter();
- foreach (var d in Devices.Values.OfType())
- {
- d.Deactivate();
- }
- }
- finally
- {
- DeviceCriticalSection.Leave();
- }
- }
-
- //static void ListMethods(string devKey)
- //{
- // var dev = GetDeviceForKey(devKey);
- // if(dev != null)
- // {
- // var type = dev.GetType().GetCType();
- // var methods = type.GetMethods(BindingFlags.Public|BindingFlags.Instance);
- // var sb = new StringBuilder();
- // sb.AppendLine(string.Format("{2} methods on [{0}] ({1}):", dev.Key, type.Name, methods.Length));
- // foreach (var m in methods)
- // {
- // sb.Append(string.Format("{0}(", m.Name));
- // var pars = m.GetParameters();
- // foreach (var p in pars)
- // sb.Append(string.Format("({1}){0} ", p.Name, p.ParameterType.Name));
- // sb.AppendLine(")");
- // }
- // CrestronConsole.ConsoleCommandResponse(sb.ToString());
- // }
- //}
-
- private static void ListDevices(string s)
- {
- Debug.Console(0, "{0} Devices registered with Device Manager:", Devices.Count);
- var sorted = Devices.Values.ToList();
- sorted.Sort((a, b) => a.Key.CompareTo(b.Key));
-
- foreach (var d in sorted)
- {
- var name = d is IKeyName ? (d as IKeyName).Name : "---";
- Debug.Console(0, " [{0}] {1}", d.Key, name);
- }
- }
-
- private static void ListDeviceFeedbacks(string devKey)
- {
- var dev = GetDeviceForKey(devKey);
- if (dev == null)
- {
- Debug.Console(0, "Device '{0}' not found", devKey);
- return;
- }
- var statusDev = dev as IHasFeedback;
- if (statusDev == null)
- {
- Debug.Console(0, "Device '{0}' does not have visible feedbacks", devKey);
- return;
- }
- statusDev.DumpFeedbacksToConsole(true);
- }
-
- //static void ListDeviceCommands(string devKey)
- //{
- // var dev = GetDeviceForKey(devKey);
- // if (dev == null)
- // {
- // Debug.Console(0, "Device '{0}' not found", devKey);
- // return;
- // }
- // Debug.Console(0, "This needs to be reworked. Stay tuned.", devKey);
- //}
-
- private static void ListDeviceCommStatuses(string input)
- {
- var sb = new StringBuilder();
- foreach (var dev in Devices.Values.OfType())
- {
- sb.Append(string.Format("{0}: {1}\r", dev,
- dev.CommunicationMonitor.Status));
- }
- CrestronConsole.ConsoleCommandResponse(sb.ToString());
- }
-
-
- //static void DoDeviceCommand(string command)
- //{
- // Debug.Console(0, "Not yet implemented. Stay tuned");
- //}
-
- public static void AddDevice(IKeyed newDev)
- {
- try
- {
- if (!DeviceCriticalSection.TryEnter())
- {
- Debug.Console(0, Debug.ErrorLogLevel.Error, "Currently unable to add devices to Device Manager. Please try again");
- return;
- }
- // Check for device with same key
- //var existingDevice = _Devices.FirstOrDefault(d => d.Key.Equals(newDev.Key, StringComparison.OrdinalIgnoreCase));
- ////// If it exists, remove or warn??
- //if (existingDevice != null)
-
- if (!AddDeviceEnabled)
- {
- Debug.Console(0, Debug.ErrorLogLevel.Error, "All devices have been activated. Adding new devices is not allowed.");
- return;
- }
-
- if (Devices.ContainsKey(newDev.Key))
- {
- Debug.Console(0, newDev, "WARNING: A device with this key already exists. Not added to manager");
- return;
- }
- Devices.Add(newDev.Key, newDev);
- //if (!(_Devices.Contains(newDev)))
- // _Devices.Add(newDev);
- }
- finally
- {
- DeviceCriticalSection.Leave();
- }
- }
-
- public static void AddDevice(IEnumerable devicesToAdd)
- {
- try
- {
- if (!DeviceCriticalSection.TryEnter())
- {
- Debug.Console(0, Debug.ErrorLogLevel.Error,
- "Currently unable to add devices to Device Manager. Please try again");
- return;
- }
- if (!AddDeviceEnabled)
- {
- Debug.Console(0, Debug.ErrorLogLevel.Error,
- "All devices have been activated. Adding new devices is not allowed.");
- return;
- }
-
- foreach (var dev in devicesToAdd)
- {
- try
- {
- Devices.Add(dev.Key, dev);
- }
- catch (ArgumentException ex)
- {
- Debug.Console(0, "Error adding device with key {0} to Device Manager: {1}\r\nStack Trace: {2}",
- dev.Key, ex.Message, ex.StackTrace);
- }
- }
- }
- finally
- {
- DeviceCriticalSection.Leave();
- }
- }
-
- public static void RemoveDevice(IKeyed newDev)
- {
- try
- {
- DeviceCriticalSection.Enter();
- if (newDev == null)
- return;
- if (Devices.ContainsKey(newDev.Key))
- Devices.Remove(newDev.Key);
- //if (_Devices.Contains(newDev))
- // _Devices.Remove(newDev);
- else
- Debug.Console(0, "Device manager: Device '{0}' does not exist in manager. Cannot remove", newDev.Key);
- }
- finally
- {
- DeviceCriticalSection.Leave();
- }
- }
-
- public static IEnumerable GetDeviceKeys()
- {
- //return _Devices.Select(d => d.Key).ToList();
- return Devices.Keys;
- }
-
- public static IEnumerable GetDevices()
- {
- //return _Devices.Select(d => d.Key).ToList();
- return Devices.Values;
- }
-
- public static IKeyed GetDeviceForKey(string key)
- {
- //return _Devices.FirstOrDefault(d => d.Key.Equals(key, StringComparison.OrdinalIgnoreCase));
- if (key != null && Devices.ContainsKey(key))
- return Devices[key];
-
- return null;
- }
-
- ///
- /// Console handler that simulates com port data receive
- ///
- ///
- public static void SimulateComReceiveOnDevice(string s)
- {
- // devcomsim:1 xyzabc
- var match = Regex.Match(s, @"(\S*)\s*(.*)");
- if (match.Groups.Count < 3)
- {
- CrestronConsole.ConsoleCommandResponse(" Format: devsimreceive:P ");
- return;
- }
- //Debug.Console(2, "**** {0} - {1} ****", match.Groups[1].Value, match.Groups[2].Value);
-
- var com = GetDeviceForKey(match.Groups[1].Value) as ComPortController;
- if (com == null)
- {
- CrestronConsole.ConsoleCommandResponse("'{0}' is not a comm port device", match.Groups[1].Value);
- return;
- }
- com.SimulateReceive(match.Groups[2].Value);
- }
-
- ///
- /// Prints a list of routing inputs and outputs by device key.
- ///
- /// Device key from which to report data
- public static void GetRoutingPorts(string s)
- {
- var device = GetDeviceForKey(s);
-
- if (device == null) return;
- var inputPorts = ((device as IRoutingInputs) != null) ? (device as IRoutingInputs).InputPorts : null;
- var outputPorts = ((device as IRoutingOutputs) != null) ? (device as IRoutingOutputs).OutputPorts : null;
- if (inputPorts != null)
- {
- Debug.Console(0, "Device {0} has {1} Input Ports:", s, inputPorts.Count);
- foreach (var routingInputPort in inputPorts)
- {
- Debug.Console(0, "{0}", routingInputPort.Key);
- }
- }
- if (outputPorts != null)
- {
- Debug.Console(0, "Device {0} has {1} Output Ports:", s, outputPorts.Count);
- foreach (var routingOutputPort in outputPorts)
- {
- Debug.Console(0, "{0}", routingOutputPort.Key);
- }
- }
- }
-
- ///
- /// Attempts to set the debug level of a device
- ///
- ///
- public static void SetDeviceStreamDebugging(string s)
- {
- if (String.IsNullOrEmpty(s) || s.Contains("?"))
- {
- CrestronConsole.ConsoleCommandResponse(
- @"SETDEVICESTREAMDEBUG [{deviceKey}] [OFF |TX | RX | BOTH] [timeOutInMinutes]
- {deviceKey} [OFF | TX | RX | BOTH] - Device to set stream debugging on, and which setting to use
- timeOutInMinutes - Set timeout for stream debugging. Default is 30 minutes");
- return;
- }
-
- var args = s.Split(' ');
-
- var deviceKey = args[0];
- var setting = args[1];
-
- var timeout= String.Empty;
-
- if (args.Length >= 3)
- {
- timeout = args[2];
- }
-
- var device = GetDeviceForKey(deviceKey) as IStreamDebugging;
-
- if (device == null)
- {
- Debug.Console(0, "Unable to get device with key: {0}", deviceKey);
- return;
- }
-
- eStreamDebuggingSetting debugSetting;
-
- try
- {
- debugSetting = (eStreamDebuggingSetting)Enum.Parse(typeof(eStreamDebuggingSetting), setting, true);
- }
- catch
- {
- Debug.Console(0, "Unable to convert setting value. Please use off/rx/tx/both");
- return;
- }
-
- if (!string.IsNullOrEmpty(timeout))
- {
- try
- {
- var min = Convert.ToUInt32(timeout);
-
- device.StreamDebugging.SetDebuggingWithSpecificTimeout(debugSetting, min);
- Debug.Console(0, "Device: '{0}' debug level set to {1} for {2} minutes", deviceKey, debugSetting, min);
-
- }
- catch (Exception e)
- {
- Debug.Console(0, "Unable to convert minutes or settings value. Please use an integer value for minutes. Errro: {0}", e);
- }
- }
- else
- {
- device.StreamDebugging.SetDebuggingWithDefaultTimeout(debugSetting);
- Debug.Console(0, "Device: '{0}' debug level set to {1} for default time (30 minutes)", deviceKey, debugSetting);
- }
- }
-
- ///
- /// Sets stream debugging settings to off for all devices
- ///
- public static void DisableAllDeviceStreamDebugging()
- {
- foreach (var device in AllDevices)
- {
- var streamDevice = device as IStreamDebugging;
-
- if (streamDevice != null)
- {
- streamDevice.StreamDebugging.SetDebuggingWithDefaultTimeout(eStreamDebuggingSetting.Off);
- }
- }
- }
- }
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Text.RegularExpressions;
+using Crestron.SimplSharp;
+using Crestron.SimplSharpPro;
+
+using PepperDash.Core;
+
+
+namespace PepperDash.Essentials.Core
+{
+ public static class DeviceManager
+ {
+ public static event EventHandler AllDevicesActivated;
+
+ private static readonly CCriticalSection DeviceCriticalSection = new CCriticalSection();
+ private static readonly CEvent AllowAddDevicesCEvent = new CEvent(false, true);
+ //public static List Devices { get { return _Devices; } }
+ //static List _Devices = new List();
+
+ static readonly Dictionary Devices = new Dictionary(StringComparer.OrdinalIgnoreCase);
+
+ ///
+ /// Returns a copy of all the devices in a list
+ ///
+ public static List AllDevices { get { return new List(Devices.Values); } }
+
+ public static bool AddDeviceEnabled;
+
+ public static void Initialize(CrestronControlSystem cs)
+ {
+ AddDeviceEnabled = true;
+ CrestronConsole.AddNewConsoleCommand(ListDeviceCommStatuses, "devcommstatus", "Lists the communication status of all devices",
+ ConsoleAccessLevelEnum.AccessOperator);
+ CrestronConsole.AddNewConsoleCommand(ListDeviceFeedbacks, "devfb", "Lists current feedbacks",
+ ConsoleAccessLevelEnum.AccessOperator);
+ CrestronConsole.AddNewConsoleCommand(ListDevices, "devlist", "Lists current managed devices",
+ ConsoleAccessLevelEnum.AccessOperator);
+ CrestronConsole.AddNewConsoleCommand(DeviceJsonApi.DoDeviceActionWithJson, "devjson", "",
+ ConsoleAccessLevelEnum.AccessOperator);
+ CrestronConsole.AddNewConsoleCommand(s => CrestronConsole.ConsoleCommandResponse(DeviceJsonApi.GetProperties(s)), "devprops", "", ConsoleAccessLevelEnum.AccessOperator);
+ CrestronConsole.AddNewConsoleCommand(s => CrestronConsole.ConsoleCommandResponse(DeviceJsonApi.GetMethods(s)), "devmethods", "", ConsoleAccessLevelEnum.AccessOperator);
+ CrestronConsole.AddNewConsoleCommand(s => CrestronConsole.ConsoleCommandResponse(DeviceJsonApi.GetApiMethods(s)), "apimethods", "", ConsoleAccessLevelEnum.AccessOperator);
+ CrestronConsole.AddNewConsoleCommand(SimulateComReceiveOnDevice, "devsimreceive",
+ "Simulates incoming data on a com device", ConsoleAccessLevelEnum.AccessOperator);
+
+ CrestronConsole.AddNewConsoleCommand(SetDeviceStreamDebugging, "setdevicestreamdebug", "set comm debug [deviceKey] [off/rx/tx/both] ([minutes])", ConsoleAccessLevelEnum.AccessOperator);
+ CrestronConsole.AddNewConsoleCommand(s => DisableAllDeviceStreamDebugging(), "disableallstreamdebug", "disables stream debugging on all devices", ConsoleAccessLevelEnum.AccessOperator);
+ }
+
+ ///
+ /// Calls activate steps on all Device class items
+ ///
+ public static void ActivateAll()
+ {
+ try
+ {
+ DeviceCriticalSection.Enter();
+ AddDeviceEnabled = false;
+ // PreActivate all devices
+ Debug.Console(0,"****PreActivation starting...****");
+ foreach (var d in Devices.Values)
+ {
+ try
+ {
+ if (d is Device)
+ (d as Device).PreActivate();
+ }
+ catch (Exception e)
+ {
+ Debug.Console(0, d, "ERROR: Device {1} PreActivation failure: {0}", e.Message, d.Key);
+ Debug.Console(1, d, "Stack Trace: {0}", e.StackTrace);
+ }
+ }
+ Debug.Console(0, "****PreActivation complete****");
+ Debug.Console(0, "****Activation starting...****");
+
+ // Activate all devices
+ foreach (var d in Devices.Values)
+ {
+ try
+ {
+ if (d is Device)
+ (d as Device).Activate();
+ }
+ catch (Exception e)
+ {
+ Debug.Console(0, d, "ERROR: Device {1} Activation failure: {0}", e.Message, d.Key);
+ Debug.Console(1, d, "Stack Trace: {0}", e.StackTrace);
+ }
+ }
+
+ Debug.Console(0, "****Activation complete****");
+ Debug.Console(0, "****PostActivation starting...****");
+
+ // PostActivate all devices
+ foreach (var d in Devices.Values)
+ {
+ try
+ {
+ if (d is Device)
+ (d as Device).PostActivate();
+ }
+ catch (Exception e)
+ {
+ Debug.Console(0, d, "ERROR: Device {1} PostActivation failure: {0}", e.Message, d.Key);
+ Debug.Console(1, d, "Stack Trace: {0}", e.StackTrace);
+ }
+ }
+
+ Debug.Console(0, "****PostActivation complete****");
+
+ OnAllDevicesActivated();
+ }
+ finally
+ {
+ DeviceCriticalSection.Leave();
+ }
+ }
+
+ private static void OnAllDevicesActivated()
+ {
+ var handler = AllDevicesActivated;
+ if (handler != null)
+ {
+ handler(null, new EventArgs());
+ }
+ }
+
+ ///
+ /// Calls activate on all Device class items
+ ///
+ public static void DeactivateAll()
+ {
+ try
+ {
+ DeviceCriticalSection.Enter();
+ foreach (var d in Devices.Values.OfType())
+ {
+ d.Deactivate();
+ }
+ }
+ finally
+ {
+ DeviceCriticalSection.Leave();
+ }
+ }
+
+ //static void ListMethods(string devKey)
+ //{
+ // var dev = GetDeviceForKey(devKey);
+ // if(dev != null)
+ // {
+ // var type = dev.GetType().GetCType();
+ // var methods = type.GetMethods(BindingFlags.Public|BindingFlags.Instance);
+ // var sb = new StringBuilder();
+ // sb.AppendLine(string.Format("{2} methods on [{0}] ({1}):", dev.Key, type.Name, methods.Length));
+ // foreach (var m in methods)
+ // {
+ // sb.Append(string.Format("{0}(", m.Name));
+ // var pars = m.GetParameters();
+ // foreach (var p in pars)
+ // sb.Append(string.Format("({1}){0} ", p.Name, p.ParameterType.Name));
+ // sb.AppendLine(")");
+ // }
+ // CrestronConsole.ConsoleCommandResponse(sb.ToString());
+ // }
+ //}
+
+ private static void ListDevices(string s)
+ {
+ Debug.Console(0, "{0} Devices registered with Device Manager:", Devices.Count);
+ var sorted = Devices.Values.ToList();
+ sorted.Sort((a, b) => a.Key.CompareTo(b.Key));
+
+ foreach (var d in sorted)
+ {
+ var name = d is IKeyName ? (d as IKeyName).Name : "---";
+ Debug.Console(0, " [{0}] {1}", d.Key, name);
+ }
+ }
+
+ private static void ListDeviceFeedbacks(string devKey)
+ {
+ var dev = GetDeviceForKey(devKey);
+ if (dev == null)
+ {
+ Debug.Console(0, "Device '{0}' not found", devKey);
+ return;
+ }
+ var statusDev = dev as IHasFeedback;
+ if (statusDev == null)
+ {
+ Debug.Console(0, "Device '{0}' does not have visible feedbacks", devKey);
+ return;
+ }
+ statusDev.DumpFeedbacksToConsole(true);
+ }
+
+ //static void ListDeviceCommands(string devKey)
+ //{
+ // var dev = GetDeviceForKey(devKey);
+ // if (dev == null)
+ // {
+ // Debug.Console(0, "Device '{0}' not found", devKey);
+ // return;
+ // }
+ // Debug.Console(0, "This needs to be reworked. Stay tuned.", devKey);
+ //}
+
+ private static void ListDeviceCommStatuses(string input)
+ {
+ var sb = new StringBuilder();
+ foreach (var dev in Devices.Values.OfType())
+ {
+ sb.Append(string.Format("{0}: {1}\r", dev,
+ dev.CommunicationMonitor.Status));
+ }
+ CrestronConsole.ConsoleCommandResponse(sb.ToString());
+ }
+
+
+ //static void DoDeviceCommand(string command)
+ //{
+ // Debug.Console(0, "Not yet implemented. Stay tuned");
+ //}
+
+ public static void AddDevice(IKeyed newDev)
+ {
+ try
+ {
+ if (!DeviceCriticalSection.TryEnter())
+ {
+ Debug.Console(0, Debug.ErrorLogLevel.Error, "Currently unable to add devices to Device Manager. Please try again");
+ return;
+ }
+ // Check for device with same key
+ //var existingDevice = _Devices.FirstOrDefault(d => d.Key.Equals(newDev.Key, StringComparison.OrdinalIgnoreCase));
+ ////// If it exists, remove or warn??
+ //if (existingDevice != null)
+
+ if (!AddDeviceEnabled)
+ {
+ Debug.Console(0, Debug.ErrorLogLevel.Error, "All devices have been activated. Adding new devices is not allowed.");
+ return;
+ }
+
+ if (Devices.ContainsKey(newDev.Key))
+ {
+ Debug.Console(0, newDev, "WARNING: A device with this key already exists. Not added to manager");
+ return;
+ }
+ Devices.Add(newDev.Key, newDev);
+ //if (!(_Devices.Contains(newDev)))
+ // _Devices.Add(newDev);
+ }
+ finally
+ {
+ DeviceCriticalSection.Leave();
+ }
+ }
+
+ public static void AddDevice(IEnumerable devicesToAdd)
+ {
+ try
+ {
+ if (!DeviceCriticalSection.TryEnter())
+ {
+ Debug.Console(0, Debug.ErrorLogLevel.Error,
+ "Currently unable to add devices to Device Manager. Please try again");
+ return;
+ }
+ if (!AddDeviceEnabled)
+ {
+ Debug.Console(0, Debug.ErrorLogLevel.Error,
+ "All devices have been activated. Adding new devices is not allowed.");
+ return;
+ }
+
+ foreach (var dev in devicesToAdd)
+ {
+ try
+ {
+ Devices.Add(dev.Key, dev);
+ }
+ catch (ArgumentException ex)
+ {
+ Debug.Console(0, "Error adding device with key {0} to Device Manager: {1}\r\nStack Trace: {2}",
+ dev.Key, ex.Message, ex.StackTrace);
+ }
+ }
+ }
+ finally
+ {
+ DeviceCriticalSection.Leave();
+ }
+ }
+
+ public static void RemoveDevice(IKeyed newDev)
+ {
+ try
+ {
+ DeviceCriticalSection.Enter();
+ if (newDev == null)
+ return;
+ if (Devices.ContainsKey(newDev.Key))
+ Devices.Remove(newDev.Key);
+ //if (_Devices.Contains(newDev))
+ // _Devices.Remove(newDev);
+ else
+ Debug.Console(0, "Device manager: Device '{0}' does not exist in manager. Cannot remove", newDev.Key);
+ }
+ finally
+ {
+ DeviceCriticalSection.Leave();
+ }
+ }
+
+ public static IEnumerable GetDeviceKeys()
+ {
+ //return _Devices.Select(d => d.Key).ToList();
+ return Devices.Keys;
+ }
+
+ public static IEnumerable GetDevices()
+ {
+ //return _Devices.Select(d => d.Key).ToList();
+ return Devices.Values;
+ }
+
+ public static IKeyed GetDeviceForKey(string key)
+ {
+ //return _Devices.FirstOrDefault(d => d.Key.Equals(key, StringComparison.OrdinalIgnoreCase));
+ if (key != null && Devices.ContainsKey(key))
+ return Devices[key];
+
+ return null;
+ }
+
+ ///
+ /// Console handler that simulates com port data receive
+ ///
+ ///
+ public static void SimulateComReceiveOnDevice(string s)
+ {
+ // devcomsim:1 xyzabc
+ var match = Regex.Match(s, @"(\S*)\s*(.*)");
+ if (match.Groups.Count < 3)
+ {
+ CrestronConsole.ConsoleCommandResponse(" Format: devsimreceive:P ");
+ return;
+ }
+ //Debug.Console(2, "**** {0} - {1} ****", match.Groups[1].Value, match.Groups[2].Value);
+
+ var com = GetDeviceForKey(match.Groups[1].Value) as ComPortController;
+ if (com == null)
+ {
+ CrestronConsole.ConsoleCommandResponse("'{0}' is not a comm port device", match.Groups[1].Value);
+ return;
+ }
+ com.SimulateReceive(match.Groups[2].Value);
+ }
+
+ ///
+ /// Prints a list of routing inputs and outputs by device key.
+ ///
+ /// Device key from which to report data
+ public static void GetRoutingPorts(string s)
+ {
+ var device = GetDeviceForKey(s);
+
+ if (device == null) return;
+ var inputPorts = ((device as IRoutingInputs) != null) ? (device as IRoutingInputs).InputPorts : null;
+ var outputPorts = ((device as IRoutingOutputs) != null) ? (device as IRoutingOutputs).OutputPorts : null;
+ if (inputPorts != null)
+ {
+ Debug.Console(0, "Device {0} has {1} Input Ports:", s, inputPorts.Count);
+ foreach (var routingInputPort in inputPorts)
+ {
+ Debug.Console(0, "{0}", routingInputPort.Key);
+ }
+ }
+ if (outputPorts != null)
+ {
+ Debug.Console(0, "Device {0} has {1} Output Ports:", s, outputPorts.Count);
+ foreach (var routingOutputPort in outputPorts)
+ {
+ Debug.Console(0, "{0}", routingOutputPort.Key);
+ }
+ }
+ }
+
+ ///
+ /// Attempts to set the debug level of a device
+ ///
+ ///
+ public static void SetDeviceStreamDebugging(string s)
+ {
+ if (String.IsNullOrEmpty(s) || s.Contains("?"))
+ {
+ CrestronConsole.ConsoleCommandResponse(
+ @"SETDEVICESTREAMDEBUG [{deviceKey}] [OFF |TX | RX | BOTH] [timeOutInMinutes]
+ {deviceKey} [OFF | TX | RX | BOTH] - Device to set stream debugging on, and which setting to use
+ timeOutInMinutes - Set timeout for stream debugging. Default is 30 minutes");
+ return;
+ }
+
+ var args = s.Split(' ');
+
+ var deviceKey = args[0];
+ var setting = args[1];
+
+ var timeout= String.Empty;
+
+ if (args.Length >= 3)
+ {
+ timeout = args[2];
+ }
+
+ var device = GetDeviceForKey(deviceKey) as IStreamDebugging;
+
+ if (device == null)
+ {
+ Debug.Console(0, "Unable to get device with key: {0}", deviceKey);
+ return;
+ }
+
+ eStreamDebuggingSetting debugSetting;
+
+ try
+ {
+ debugSetting = (eStreamDebuggingSetting)Enum.Parse(typeof(eStreamDebuggingSetting), setting, true);
+ }
+ catch
+ {
+ Debug.Console(0, "Unable to convert setting value. Please use off/rx/tx/both");
+ return;
+ }
+
+ if (!string.IsNullOrEmpty(timeout))
+ {
+ try
+ {
+ var min = Convert.ToUInt32(timeout);
+
+ device.StreamDebugging.SetDebuggingWithSpecificTimeout(debugSetting, min);
+ Debug.Console(0, "Device: '{0}' debug level set to {1} for {2} minutes", deviceKey, debugSetting, min);
+
+ }
+ catch (Exception e)
+ {
+ Debug.Console(0, "Unable to convert minutes or settings value. Please use an integer value for minutes. Errro: {0}", e);
+ }
+ }
+ else
+ {
+ device.StreamDebugging.SetDebuggingWithDefaultTimeout(debugSetting);
+ Debug.Console(0, "Device: '{0}' debug level set to {1} for default time (30 minutes)", deviceKey, debugSetting);
+ }
+ }
+
+ ///
+ /// Sets stream debugging settings to off for all devices
+ ///
+ public static void DisableAllDeviceStreamDebugging()
+ {
+ foreach (var device in AllDevices)
+ {
+ var streamDevice = device as IStreamDebugging;
+
+ if (streamDevice != null)
+ {
+ streamDevice.StreamDebugging.SetDebuggingWithDefaultTimeout(eStreamDebuggingSetting.Off);
+ }
+ }
+ }
+ }
}
\ No newline at end of file
diff --git a/essentials-framework/Essentials Core/PepperDashEssentialsBase/Devices/DeviceManager.cs.orig b/src/PepperDash.Essentials.Core/Devices/DeviceManager.cs.orig
similarity index 100%
rename from essentials-framework/Essentials Core/PepperDashEssentialsBase/Devices/DeviceManager.cs.orig
rename to src/PepperDash.Essentials.Core/Devices/DeviceManager.cs.orig
diff --git a/essentials-framework/Essentials Core/PepperDashEssentialsBase/Devices/DisplayUiConstants.cs b/src/PepperDash.Essentials.Core/Devices/DisplayUiConstants.cs
similarity index 100%
rename from essentials-framework/Essentials Core/PepperDashEssentialsBase/Devices/DisplayUiConstants.cs
rename to src/PepperDash.Essentials.Core/Devices/DisplayUiConstants.cs
diff --git a/essentials-framework/Essentials Core/PepperDashEssentialsBase/Devices/EssentialsBridgeableDevice.cs b/src/PepperDash.Essentials.Core/Devices/EssentialsBridgeableDevice.cs
similarity index 100%
rename from essentials-framework/Essentials Core/PepperDashEssentialsBase/Devices/EssentialsBridgeableDevice.cs
rename to src/PepperDash.Essentials.Core/Devices/EssentialsBridgeableDevice.cs
diff --git a/essentials-framework/Essentials Core/PepperDashEssentialsBase/Devices/EssentialsDevice.cs b/src/PepperDash.Essentials.Core/Devices/EssentialsDevice.cs
similarity index 97%
rename from essentials-framework/Essentials Core/PepperDashEssentialsBase/Devices/EssentialsDevice.cs
rename to src/PepperDash.Essentials.Core/Devices/EssentialsDevice.cs
index a72bd282..70898f0a 100644
--- a/essentials-framework/Essentials Core/PepperDashEssentialsBase/Devices/EssentialsDevice.cs
+++ b/src/PepperDash.Essentials.Core/Devices/EssentialsDevice.cs
@@ -1,134 +1,134 @@
-using System;
-using System.Collections.Generic;
-using System.Linq;
-using System.Text;
-using Crestron.SimplSharp;
-using Crestron.SimplSharp.Reflection;
-
-using PepperDash.Core;
-using PepperDash.Essentials.Core.Config;
-
-namespace PepperDash.Essentials.Core
-{
- ///
- /// Defines the basic needs for an EssentialsDevice to enable it to be build by an IDeviceFactory class
- ///
- [Description("The base Essentials Device Class")]
- public abstract class EssentialsDevice : Device
- {
- protected EssentialsDevice(string key)
- : base(key)
- {
- SubscribeToActivateComplete();
- }
-
- protected EssentialsDevice(string key, string name)
- : base(key, name)
- {
- SubscribeToActivateComplete();
- }
-
- private void SubscribeToActivateComplete()
- {
- DeviceManager.AllDevicesActivated += DeviceManagerOnAllDevicesActivated;
- }
-
- private void DeviceManagerOnAllDevicesActivated(object sender, EventArgs eventArgs)
- {
- CrestronInvoke.BeginInvoke((o) =>
- {
- try
- {
- Initialize();
- }
- catch (Exception ex)
- {
- Debug.Console(0, this, Debug.ErrorLogLevel.Error, "Exception initializing device: {0}", ex.Message);
- Debug.Console(1, this, Debug.ErrorLogLevel.Error, "Stack Trace: {0}", ex.StackTrace);
- }
- });
- }
- }
-
- [AttributeUsage(AttributeTargets.Class, Inherited = true, AllowMultiple = true)]
- public class DescriptionAttribute : Attribute
- {
- private string _Description;
-
- public DescriptionAttribute(string description)
- {
- //Debug.Console(2, "Setting Description: {0}", description);
- _Description = description;
- }
-
- public string Description
- {
- get { return _Description; }
- }
- }
-
- [AttributeUsage(AttributeTargets.Class, Inherited = true, AllowMultiple = true)]
- public class ConfigSnippetAttribute : Attribute
- {
- private string _ConfigSnippet;
-
- public ConfigSnippetAttribute(string configSnippet)
- {
- //Debug.Console(2, "Setting Config Snippet {0}", configSnippet);
- _ConfigSnippet = configSnippet;
- }
-
- public string ConfigSnippet
- {
- get { return _ConfigSnippet; }
- }
- }
-
- ///
- /// Devices the basic needs for a Device Factory
- ///
- public abstract class EssentialsDeviceFactory : IDeviceFactory where T:EssentialsDevice
- {
- #region IDeviceFactory Members
-
- ///
- /// A list of strings that can be used in the type property of a DeviceConfig object to build an instance of this device
- ///
- public List TypeNames { get; protected set; }
-
- ///
- /// Loads an item to the DeviceFactory.FactoryMethods dictionary for each entry in the TypeNames list
- ///
- public void LoadTypeFactories()
- {
- foreach (var typeName in TypeNames)
- {
- //Debug.Console(2, "Getting Description Attribute from class: '{0}'", typeof(T).FullName);
- var descriptionAttribute = typeof(T).GetCustomAttributes(typeof(DescriptionAttribute), true) as DescriptionAttribute[];
- string description = descriptionAttribute[0].Description;
- var snippetAttribute = typeof(T).GetCustomAttributes(typeof(ConfigSnippetAttribute), true) as ConfigSnippetAttribute[];
- DeviceFactory.AddFactoryForType(typeName.ToLower(), description, typeof(T), BuildDevice);
- }
- }
-
- ///
- /// The method that will build the device
- ///
- /// The device config
- /// An instance of the device
- public abstract EssentialsDevice BuildDevice(DeviceConfig dc);
-
- #endregion
- }
-
- ///
- /// Devices the basic needs for a Device Factory
- ///
- public abstract class EssentialsPluginDeviceFactory : EssentialsDeviceFactory, IPluginDeviceFactory where T : EssentialsDevice
- {
- ///
- /// Specifies the minimum version of Essentials required for a plugin to run. Must use the format Major.Minor.Build (ex. "1.4.33")
- ///
- public string MinimumEssentialsFrameworkVersion { get; protected set; }
- }
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using Crestron.SimplSharp;
+using Crestron.SimplSharp.Reflection;
+
+using PepperDash.Core;
+using PepperDash.Essentials.Core.Config;
+
+namespace PepperDash.Essentials.Core
+{
+ ///
+ /// Defines the basic needs for an EssentialsDevice to enable it to be build by an IDeviceFactory class
+ ///
+ [Description("The base Essentials Device Class")]
+ public abstract class EssentialsDevice : Device
+ {
+ protected EssentialsDevice(string key)
+ : base(key)
+ {
+ SubscribeToActivateComplete();
+ }
+
+ protected EssentialsDevice(string key, string name)
+ : base(key, name)
+ {
+ SubscribeToActivateComplete();
+ }
+
+ private void SubscribeToActivateComplete()
+ {
+ DeviceManager.AllDevicesActivated += DeviceManagerOnAllDevicesActivated;
+ }
+
+ private void DeviceManagerOnAllDevicesActivated(object sender, EventArgs eventArgs)
+ {
+ CrestronInvoke.BeginInvoke((o) =>
+ {
+ try
+ {
+ Initialize();
+ }
+ catch (Exception ex)
+ {
+ Debug.Console(0, this, Debug.ErrorLogLevel.Error, "Exception initializing device: {0}", ex.Message);
+ Debug.Console(1, this, Debug.ErrorLogLevel.Error, "Stack Trace: {0}", ex.StackTrace);
+ }
+ });
+ }
+ }
+
+ [AttributeUsage(AttributeTargets.Class, Inherited = true, AllowMultiple = true)]
+ public class DescriptionAttribute : Attribute
+ {
+ private string _Description;
+
+ public DescriptionAttribute(string description)
+ {
+ //Debug.Console(2, "Setting Description: {0}", description);
+ _Description = description;
+ }
+
+ public string Description
+ {
+ get { return _Description; }
+ }
+ }
+
+ [AttributeUsage(AttributeTargets.Class, Inherited = true, AllowMultiple = true)]
+ public class ConfigSnippetAttribute : Attribute
+ {
+ private string _ConfigSnippet;
+
+ public ConfigSnippetAttribute(string configSnippet)
+ {
+ //Debug.Console(2, "Setting Config Snippet {0}", configSnippet);
+ _ConfigSnippet = configSnippet;
+ }
+
+ public string ConfigSnippet
+ {
+ get { return _ConfigSnippet; }
+ }
+ }
+
+ ///
+ /// Devices the basic needs for a Device Factory
+ ///
+ public abstract class EssentialsDeviceFactory : IDeviceFactory where T:EssentialsDevice
+ {
+ #region IDeviceFactory Members
+
+ ///
+ /// A list of strings that can be used in the type property of a DeviceConfig object to build an instance of this device
+ ///
+ public List TypeNames { get; protected set; }
+
+ ///
+ /// Loads an item to the DeviceFactory.FactoryMethods dictionary for each entry in the TypeNames list
+ ///
+ public void LoadTypeFactories()
+ {
+ foreach (var typeName in TypeNames)
+ {
+ //Debug.Console(2, "Getting Description Attribute from class: '{0}'", typeof(T).FullName);
+ var descriptionAttribute = typeof(T).GetCustomAttributes(typeof(DescriptionAttribute), true) as DescriptionAttribute[];
+ string description = descriptionAttribute[0].Description;
+ var snippetAttribute = typeof(T).GetCustomAttributes(typeof(ConfigSnippetAttribute), true) as ConfigSnippetAttribute[];
+ DeviceFactory.AddFactoryForType(typeName.ToLower(), description, typeof(T), BuildDevice);
+ }
+ }
+
+ ///
+ /// The method that will build the device
+ ///
+ /// The device config
+ /// An instance of the device
+ public abstract EssentialsDevice BuildDevice(DeviceConfig dc);
+
+ #endregion
+ }
+
+ ///
+ /// Devices the basic needs for a Device Factory
+ ///
+ public abstract class EssentialsPluginDeviceFactory : EssentialsDeviceFactory, IPluginDeviceFactory where T : EssentialsDevice
+ {
+ ///
+ /// Specifies the minimum version of Essentials required for a plugin to run. Must use the format Major.Minor.Build (ex. "1.4.33")
+ ///
+ public string MinimumEssentialsFrameworkVersion { get; protected set; }
+ }
}
\ No newline at end of file
diff --git a/essentials-framework/Essentials Core/PepperDashEssentialsBase/Devices/FIND HOMES Interfaces.cs b/src/PepperDash.Essentials.Core/Devices/FIND HOMES Interfaces.cs
similarity index 100%
rename from essentials-framework/Essentials Core/PepperDashEssentialsBase/Devices/FIND HOMES Interfaces.cs
rename to src/PepperDash.Essentials.Core/Devices/FIND HOMES Interfaces.cs
diff --git a/essentials-framework/Essentials Core/PepperDashEssentialsBase/Devices/GenericIRController.cs b/src/PepperDash.Essentials.Core/Devices/GenericIRController.cs
similarity index 100%
rename from essentials-framework/Essentials Core/PepperDashEssentialsBase/Devices/GenericIRController.cs
rename to src/PepperDash.Essentials.Core/Devices/GenericIRController.cs
diff --git a/essentials-framework/Essentials Core/PepperDashEssentialsBase/Devices/GenericMonitoredTcpDevice.cs b/src/PepperDash.Essentials.Core/Devices/GenericMonitoredTcpDevice.cs
similarity index 100%
rename from essentials-framework/Essentials Core/PepperDashEssentialsBase/Devices/GenericMonitoredTcpDevice.cs
rename to src/PepperDash.Essentials.Core/Devices/GenericMonitoredTcpDevice.cs
diff --git a/essentials-framework/Essentials Core/PepperDashEssentialsBase/Devices/IAttachVideoStatusExtensions.cs b/src/PepperDash.Essentials.Core/Devices/IAttachVideoStatusExtensions.cs
similarity index 100%
rename from essentials-framework/Essentials Core/PepperDashEssentialsBase/Devices/IAttachVideoStatusExtensions.cs
rename to src/PepperDash.Essentials.Core/Devices/IAttachVideoStatusExtensions.cs
diff --git a/essentials-framework/Essentials Core/PepperDashEssentialsBase/Devices/IDspPreset.cs b/src/PepperDash.Essentials.Core/Devices/IDspPreset.cs
similarity index 94%
rename from essentials-framework/Essentials Core/PepperDashEssentialsBase/Devices/IDspPreset.cs
rename to src/PepperDash.Essentials.Core/Devices/IDspPreset.cs
index 2ec63fcb..645339bb 100644
--- a/essentials-framework/Essentials Core/PepperDashEssentialsBase/Devices/IDspPreset.cs
+++ b/src/PepperDash.Essentials.Core/Devices/IDspPreset.cs
@@ -1,17 +1,17 @@
-using System.Collections.Generic;
-
-namespace PepperDash.Essentials.Core
-{
- public interface IHasDspPresets
- {
- List Presets { get; }
-
- void RecallPreset(IDspPreset preset);
-
- }
-
- public interface IDspPreset
- {
- string Name { get; }
- }
+using System.Collections.Generic;
+
+namespace PepperDash.Essentials.Core
+{
+ public interface IHasDspPresets
+ {
+ List Presets { get; }
+
+ void RecallPreset(IDspPreset preset);
+
+ }
+
+ public interface IDspPreset
+ {
+ string Name { get; }
+ }
}
\ No newline at end of file
diff --git a/essentials-framework/Essentials Core/PepperDashEssentialsBase/Devices/IHasFeedbacks.cs b/src/PepperDash.Essentials.Core/Devices/IHasFeedbacks.cs
similarity index 100%
rename from essentials-framework/Essentials Core/PepperDashEssentialsBase/Devices/IHasFeedbacks.cs
rename to src/PepperDash.Essentials.Core/Devices/IHasFeedbacks.cs
diff --git a/essentials-framework/Essentials Core/PepperDashEssentialsBase/Devices/IHasFeedbacks_BACKUP_3692.cs b/src/PepperDash.Essentials.Core/Devices/IHasFeedbacks_BACKUP_3692.cs
similarity index 100%
rename from essentials-framework/Essentials Core/PepperDashEssentialsBase/Devices/IHasFeedbacks_BACKUP_3692.cs
rename to src/PepperDash.Essentials.Core/Devices/IHasFeedbacks_BACKUP_3692.cs
diff --git a/essentials-framework/Essentials Core/PepperDashEssentialsBase/Devices/IHasFeedbacks_BASE_3692.cs b/src/PepperDash.Essentials.Core/Devices/IHasFeedbacks_BASE_3692.cs
similarity index 100%
rename from essentials-framework/Essentials Core/PepperDashEssentialsBase/Devices/IHasFeedbacks_BASE_3692.cs
rename to src/PepperDash.Essentials.Core/Devices/IHasFeedbacks_BASE_3692.cs
diff --git a/essentials-framework/Essentials Core/PepperDashEssentialsBase/Devices/IHasFeedbacks_LOCAL_3692.cs b/src/PepperDash.Essentials.Core/Devices/IHasFeedbacks_LOCAL_3692.cs
similarity index 100%
rename from essentials-framework/Essentials Core/PepperDashEssentialsBase/Devices/IHasFeedbacks_LOCAL_3692.cs
rename to src/PepperDash.Essentials.Core/Devices/IHasFeedbacks_LOCAL_3692.cs
diff --git a/essentials-framework/Essentials Core/PepperDashEssentialsBase/Devices/IHasFeedbacks_REMOTE_3692.cs b/src/PepperDash.Essentials.Core/Devices/IHasFeedbacks_REMOTE_3692.cs
similarity index 100%
rename from essentials-framework/Essentials Core/PepperDashEssentialsBase/Devices/IHasFeedbacks_REMOTE_3692.cs
rename to src/PepperDash.Essentials.Core/Devices/IHasFeedbacks_REMOTE_3692.cs
diff --git a/essentials-framework/Essentials Core/PepperDashEssentialsBase/Devices/IProjectorInterfaces.cs b/src/PepperDash.Essentials.Core/Devices/IProjectorInterfaces.cs
similarity index 95%
rename from essentials-framework/Essentials Core/PepperDashEssentialsBase/Devices/IProjectorInterfaces.cs
rename to src/PepperDash.Essentials.Core/Devices/IProjectorInterfaces.cs
index 70e2e215..c0cb33ed 100644
--- a/essentials-framework/Essentials Core/PepperDashEssentialsBase/Devices/IProjectorInterfaces.cs
+++ b/src/PepperDash.Essentials.Core/Devices/IProjectorInterfaces.cs
@@ -1,22 +1,22 @@
-using System;
-using System.Collections.Generic;
-using System.Linq;
-using System.Text;
-using Crestron.SimplSharp;
-
-namespace PepperDash.Essentials.Core
-{
- public interface IBasicVideoMute
- {
- void VideoMuteToggle();
- }
-
- public interface IBasicVideoMuteWithFeedback : IBasicVideoMute
- {
- BoolFeedback VideoMuteIsOn { get; }
-
- void VideoMuteOn();
- void VideoMuteOff();
-
- }
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using Crestron.SimplSharp;
+
+namespace PepperDash.Essentials.Core
+{
+ public interface IBasicVideoMute
+ {
+ void VideoMuteToggle();
+ }
+
+ public interface IBasicVideoMuteWithFeedback : IBasicVideoMute
+ {
+ BoolFeedback VideoMuteIsOn { get; }
+
+ void VideoMuteOn();
+ void VideoMuteOff();
+
+ }
}
\ No newline at end of file
diff --git a/essentials-framework/Essentials Core/PepperDashEssentialsBase/Devices/IReconfigurableDevice.cs b/src/PepperDash.Essentials.Core/Devices/IReconfigurableDevice.cs
similarity index 100%
rename from essentials-framework/Essentials Core/PepperDashEssentialsBase/Devices/IReconfigurableDevice.cs
rename to src/PepperDash.Essentials.Core/Devices/IReconfigurableDevice.cs
diff --git a/essentials-framework/Essentials Core/PepperDashEssentialsBase/Devices/IUsageTracking.cs b/src/PepperDash.Essentials.Core/Devices/IUsageTracking.cs
similarity index 100%
rename from essentials-framework/Essentials Core/PepperDashEssentialsBase/Devices/IUsageTracking.cs
rename to src/PepperDash.Essentials.Core/Devices/IUsageTracking.cs
diff --git a/essentials-framework/Essentials Core/PepperDashEssentialsBase/Devices/IUsageTracking.cs.orig b/src/PepperDash.Essentials.Core/Devices/IUsageTracking.cs.orig
similarity index 100%
rename from essentials-framework/Essentials Core/PepperDashEssentialsBase/Devices/IUsageTracking.cs.orig
rename to src/PepperDash.Essentials.Core/Devices/IUsageTracking.cs.orig
diff --git a/essentials-framework/Essentials Core/PepperDashEssentialsBase/Devices/IVolumeAndAudioInterfaces.cs b/src/PepperDash.Essentials.Core/Devices/IVolumeAndAudioInterfaces.cs
similarity index 100%
rename from essentials-framework/Essentials Core/PepperDashEssentialsBase/Devices/IVolumeAndAudioInterfaces.cs
rename to src/PepperDash.Essentials.Core/Devices/IVolumeAndAudioInterfaces.cs
diff --git a/essentials-framework/Essentials Core/PepperDashEssentialsBase/Devices/IrOutputPortController.cs b/src/PepperDash.Essentials.Core/Devices/IrOutputPortController.cs
similarity index 96%
rename from essentials-framework/Essentials Core/PepperDashEssentialsBase/Devices/IrOutputPortController.cs
rename to src/PepperDash.Essentials.Core/Devices/IrOutputPortController.cs
index cce1d46e..8d309da4 100644
--- a/essentials-framework/Essentials Core/PepperDashEssentialsBase/Devices/IrOutputPortController.cs
+++ b/src/PepperDash.Essentials.Core/Devices/IrOutputPortController.cs
@@ -1,169 +1,169 @@
-using System;
-using System.Collections.Generic;
-using System.Linq;
-using Crestron.SimplSharp;
-using Crestron.SimplSharpPro;
-using Crestron.SimplSharpPro.DeviceSupport;
-using Newtonsoft.Json.Linq;
-using PepperDash.Essentials.Core.Config;
-
-
-using PepperDash.Core;
-
-namespace PepperDash.Essentials.Core
-{
-
- ///
- /// IR port wrapper. May act standalone
- ///
- public class IrOutputPortController : Device
- {
- uint IrPortUid;
- IROutputPort IrPort;
-
- public BoolFeedback DriverLoaded { get; private set; }
-
- public ushort StandardIrPulseTime { get; set; }
- public string DriverFilepath { get; private set; }
- public bool DriverIsLoaded { get; private set; }
-
- public string[] IrFileCommands { get { return IrPort.AvailableStandardIRCmds(IrPortUid); } }
-
- ///
- /// Constructor for IrDevice base class. If a null port is provided, this class will
- /// still function without trying to talk to a port.
- ///
- public IrOutputPortController(string key, IROutputPort port, string irDriverFilepath)
- : base(key)
- {
- //if (port == null) throw new ArgumentNullException("port");
-
- DriverLoaded = new BoolFeedback(() => DriverIsLoaded);
- IrPort = port;
- if (port == null)
- {
- Debug.Console(0, this, "WARNING No valid IR Port assigned to controller. IR will not function");
- return;
- }
- LoadDriver(irDriverFilepath);
- }
-
- public IrOutputPortController(string key, Func postActivationFunc,
- DeviceConfig config)
- : base(key)
- {
- DriverLoaded = new BoolFeedback(() => DriverIsLoaded);
- AddPostActivationAction(() =>
- {
- IrPort = postActivationFunc(config);
-
- if (IrPort == null)
- {
- Debug.Console(0, this, "WARNING No valid IR Port assigned to controller. IR will not function");
- return;
- }
-
- var filePath = Global.FilePathPrefix + "ir" + Global.DirectorySeparator + config.Properties["control"]["irFile"].Value();
- Debug.Console(1, "*************Attempting to load IR file: {0}***************", filePath);
-
- LoadDriver(filePath);
-
- PrintAvailableCommands();
- });
- }
-
- public void PrintAvailableCommands()
- {
- Debug.Console(2, this, "Available IR Commands in IR File {0}", IrPortUid);
- foreach (var cmd in IrPort.AvailableIRCmds())
- {
- Debug.Console(2, this, "{0}", cmd);
- }
- }
-
-
- ///
- /// Loads the IR driver at path
- ///
- ///
- public void LoadDriver(string path)
- {
- Debug.Console(2, this, "***Loading IR File***");
- if (string.IsNullOrEmpty(path)) path = DriverFilepath;
- try
- {
- IrPortUid = IrPort.LoadIRDriver(path);
- DriverFilepath = path;
- StandardIrPulseTime = 200;
- DriverIsLoaded = true;
-
- DriverLoaded.FireUpdate();
- }
- catch
- {
- DriverIsLoaded = false;
- var message = string.Format("WARNING IR Driver '{0}' failed to load", path);
- Debug.Console(0, this, Debug.ErrorLogLevel.Error, message);
- DriverLoaded.FireUpdate();
- }
- }
-
-
- ///
- /// Starts and stops IR command on driver. Safe for missing commands
- ///
- public virtual void PressRelease(string command, bool state)
- {
- Debug.Console(2, this, "IR:'{0}'={1}", command, state);
- if (IrPort == null)
- {
- Debug.Console(2, this, "WARNING No IR Port assigned to controller");
- return;
- }
- if (!DriverIsLoaded)
- {
- Debug.Console(2, this, "WARNING IR driver is not loaded");
- return;
- }
- if (state)
- {
- if (IrPort.IsIRCommandAvailable(IrPortUid, command))
- IrPort.Press(IrPortUid, command);
- else
- NoIrCommandError(command);
- }
- else
- IrPort.Release();
- }
-
- ///
- /// Pulses a command on driver. Safe for missing commands
- ///
- public virtual void Pulse(string command, ushort time)
- {
- if (IrPort == null)
- {
- Debug.Console(2, this, "WARNING No IR Port assigned to controller");
- return;
- }
- if (!DriverIsLoaded)
- {
- Debug.Console(2, this, "WARNING IR driver is not loaded");
- return;
- }
- if (IrPort.IsIRCommandAvailable(IrPortUid, command))
- IrPort.PressAndRelease(IrPortUid, command, time);
- else
- NoIrCommandError(command);
- }
-
- ///
- /// Notifies the console when a bad command is used.
- ///
- protected void NoIrCommandError(string command)
- {
- Debug.Console(2, this, "Device {0}: IR Driver {1} does not contain command {2}",
- Key, IrPort.IRDriverFileNameByIRDriverId(IrPortUid), command);
- }
- }
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using Crestron.SimplSharp;
+using Crestron.SimplSharpPro;
+using Crestron.SimplSharpPro.DeviceSupport;
+using Newtonsoft.Json.Linq;
+using PepperDash.Essentials.Core.Config;
+
+
+using PepperDash.Core;
+
+namespace PepperDash.Essentials.Core
+{
+
+ ///
+ /// IR port wrapper. May act standalone
+ ///
+ public class IrOutputPortController : Device
+ {
+ uint IrPortUid;
+ IROutputPort IrPort;
+
+ public BoolFeedback DriverLoaded { get; private set; }
+
+ public ushort StandardIrPulseTime { get; set; }
+ public string DriverFilepath { get; private set; }
+ public bool DriverIsLoaded { get; private set; }
+
+ public string[] IrFileCommands { get { return IrPort.AvailableStandardIRCmds(IrPortUid); } }
+
+ ///
+ /// Constructor for IrDevice base class. If a null port is provided, this class will
+ /// still function without trying to talk to a port.
+ ///
+ public IrOutputPortController(string key, IROutputPort port, string irDriverFilepath)
+ : base(key)
+ {
+ //if (port == null) throw new ArgumentNullException("port");
+
+ DriverLoaded = new BoolFeedback(() => DriverIsLoaded);
+ IrPort = port;
+ if (port == null)
+ {
+ Debug.Console(0, this, "WARNING No valid IR Port assigned to controller. IR will not function");
+ return;
+ }
+ LoadDriver(irDriverFilepath);
+ }
+
+ public IrOutputPortController(string key, Func postActivationFunc,
+ DeviceConfig config)
+ : base(key)
+ {
+ DriverLoaded = new BoolFeedback(() => DriverIsLoaded);
+ AddPostActivationAction(() =>
+ {
+ IrPort = postActivationFunc(config);
+
+ if (IrPort == null)
+ {
+ Debug.Console(0, this, "WARNING No valid IR Port assigned to controller. IR will not function");
+ return;
+ }
+
+ var filePath = Global.FilePathPrefix + "ir" + Global.DirectorySeparator + config.Properties["control"]["irFile"].Value();
+ Debug.Console(1, "*************Attempting to load IR file: {0}***************", filePath);
+
+ LoadDriver(filePath);
+
+ PrintAvailableCommands();
+ });
+ }
+
+ public void PrintAvailableCommands()
+ {
+ Debug.Console(2, this, "Available IR Commands in IR File {0}", IrPortUid);
+ foreach (var cmd in IrPort.AvailableIRCmds())
+ {
+ Debug.Console(2, this, "{0}", cmd);
+ }
+ }
+
+
+ ///
+ /// Loads the IR driver at path
+ ///
+ ///
+ public void LoadDriver(string path)
+ {
+ Debug.Console(2, this, "***Loading IR File***");
+ if (string.IsNullOrEmpty(path)) path = DriverFilepath;
+ try
+ {
+ IrPortUid = IrPort.LoadIRDriver(path);
+ DriverFilepath = path;
+ StandardIrPulseTime = 200;
+ DriverIsLoaded = true;
+
+ DriverLoaded.FireUpdate();
+ }
+ catch
+ {
+ DriverIsLoaded = false;
+ var message = string.Format("WARNING IR Driver '{0}' failed to load", path);
+ Debug.Console(0, this, Debug.ErrorLogLevel.Error, message);
+ DriverLoaded.FireUpdate();
+ }
+ }
+
+
+ ///
+ /// Starts and stops IR command on driver. Safe for missing commands
+ ///
+ public virtual void PressRelease(string command, bool state)
+ {
+ Debug.Console(2, this, "IR:'{0}'={1}", command, state);
+ if (IrPort == null)
+ {
+ Debug.Console(2, this, "WARNING No IR Port assigned to controller");
+ return;
+ }
+ if (!DriverIsLoaded)
+ {
+ Debug.Console(2, this, "WARNING IR driver is not loaded");
+ return;
+ }
+ if (state)
+ {
+ if (IrPort.IsIRCommandAvailable(IrPortUid, command))
+ IrPort.Press(IrPortUid, command);
+ else
+ NoIrCommandError(command);
+ }
+ else
+ IrPort.Release();
+ }
+
+ ///
+ /// Pulses a command on driver. Safe for missing commands
+ ///
+ public virtual void Pulse(string command, ushort time)
+ {
+ if (IrPort == null)
+ {
+ Debug.Console(2, this, "WARNING No IR Port assigned to controller");
+ return;
+ }
+ if (!DriverIsLoaded)
+ {
+ Debug.Console(2, this, "WARNING IR driver is not loaded");
+ return;
+ }
+ if (IrPort.IsIRCommandAvailable(IrPortUid, command))
+ IrPort.PressAndRelease(IrPortUid, command, time);
+ else
+ NoIrCommandError(command);
+ }
+
+ ///
+ /// Notifies the console when a bad command is used.
+ ///
+ protected void NoIrCommandError(string command)
+ {
+ Debug.Console(2, this, "Device {0}: IR Driver {1} does not contain command {2}",
+ Key, IrPort.IRDriverFileNameByIRDriverId(IrPortUid), command);
+ }
+ }
}
\ No newline at end of file
diff --git a/essentials-framework/Essentials Core/PepperDashEssentialsBase/Devices/PC/InRoomPc.cs b/src/PepperDash.Essentials.Core/Devices/PC/InRoomPc.cs
similarity index 100%
rename from essentials-framework/Essentials Core/PepperDashEssentialsBase/Devices/PC/InRoomPc.cs
rename to src/PepperDash.Essentials.Core/Devices/PC/InRoomPc.cs
diff --git a/essentials-framework/Essentials Core/PepperDashEssentialsBase/Devices/PC/Laptop.cs b/src/PepperDash.Essentials.Core/Devices/PC/Laptop.cs
similarity index 100%
rename from essentials-framework/Essentials Core/PepperDashEssentialsBase/Devices/PC/Laptop.cs
rename to src/PepperDash.Essentials.Core/Devices/PC/Laptop.cs
diff --git a/essentials-framework/Essentials Core/PepperDashEssentialsBase/Devices/PresentationDeviceType.cs b/src/PepperDash.Essentials.Core/Devices/PresentationDeviceType.cs
similarity index 100%
rename from essentials-framework/Essentials Core/PepperDashEssentialsBase/Devices/PresentationDeviceType.cs
rename to src/PepperDash.Essentials.Core/Devices/PresentationDeviceType.cs
diff --git a/essentials-framework/Essentials Core/PepperDashEssentialsBase/Devices/REMOVE IHasFeedbacks.cs b/src/PepperDash.Essentials.Core/Devices/REMOVE IHasFeedbacks.cs
similarity index 100%
rename from essentials-framework/Essentials Core/PepperDashEssentialsBase/Devices/REMOVE IHasFeedbacks.cs
rename to src/PepperDash.Essentials.Core/Devices/REMOVE IHasFeedbacks.cs
diff --git a/essentials-framework/Essentials Core/PepperDashEssentialsBase/Devices/ReconfigurableDevice.cs b/src/PepperDash.Essentials.Core/Devices/ReconfigurableDevice.cs
similarity index 100%
rename from essentials-framework/Essentials Core/PepperDashEssentialsBase/Devices/ReconfigurableDevice.cs
rename to src/PepperDash.Essentials.Core/Devices/ReconfigurableDevice.cs
diff --git a/essentials-framework/Essentials Core/PepperDashEssentialsBase/Devices/SmartObjectBaseTypes.cs b/src/PepperDash.Essentials.Core/Devices/SmartObjectBaseTypes.cs
similarity index 100%
rename from essentials-framework/Essentials Core/PepperDashEssentialsBase/Devices/SmartObjectBaseTypes.cs
rename to src/PepperDash.Essentials.Core/Devices/SmartObjectBaseTypes.cs
diff --git a/essentials-framework/Essentials Core/PepperDashEssentialsBase/Devices/SourceListItem.cs b/src/PepperDash.Essentials.Core/Devices/SourceListItem.cs
similarity index 100%
rename from essentials-framework/Essentials Core/PepperDashEssentialsBase/Devices/SourceListItem.cs
rename to src/PepperDash.Essentials.Core/Devices/SourceListItem.cs
diff --git a/essentials-framework/Essentials Core/PepperDashEssentialsBase/Devices/VolumeDeviceChangeEventArgs.cs b/src/PepperDash.Essentials.Core/Devices/VolumeDeviceChangeEventArgs.cs
similarity index 100%
rename from essentials-framework/Essentials Core/PepperDashEssentialsBase/Devices/VolumeDeviceChangeEventArgs.cs
rename to src/PepperDash.Essentials.Core/Devices/VolumeDeviceChangeEventArgs.cs
diff --git a/essentials-framework/Essentials Core/PepperDashEssentialsBase/Display/BasicIrDisplay.cs b/src/PepperDash.Essentials.Core/Display/BasicIrDisplay.cs
similarity index 96%
rename from essentials-framework/Essentials Core/PepperDashEssentialsBase/Display/BasicIrDisplay.cs
rename to src/PepperDash.Essentials.Core/Display/BasicIrDisplay.cs
index 3c691c19..7a8eb8b1 100644
--- a/essentials-framework/Essentials Core/PepperDashEssentialsBase/Display/BasicIrDisplay.cs
+++ b/src/PepperDash.Essentials.Core/Display/BasicIrDisplay.cs
@@ -1,242 +1,242 @@
-using System;
-using System.Collections.Generic;
-using System.Linq;
-using System.Text;
-using Crestron.SimplSharp;
-using Crestron.SimplSharpPro;
-using Crestron.SimplSharpPro.DeviceSupport;
-
-using PepperDash.Core;
-using PepperDash.Essentials.Core;
-using PepperDash.Essentials.Core.Config;
-using PepperDash.Essentials.Core.Bridges;
-using PepperDash.Essentials.Core.Routing;
-
-namespace PepperDash.Essentials.Core
-{
- [Description("Wrapper class for a Basic IR Display")]
- public class BasicIrDisplay : DisplayBase, IBasicVolumeControls, IBridgeAdvanced
- {
- public IrOutputPortController IrPort { get; private set; }
- public ushort IrPulseTime { get; set; }
-
- [Obsolete("This property will be removed in version 2.0.0")]
- public override BoolFeedback PowerIsOnFeedback { get; protected set; }
-
- protected Func PowerIsOnFeedbackFunc
- {
- get { return () => _PowerIsOn; }
- }
- protected override Func IsCoolingDownFeedbackFunc
- {
- get { return () => _IsCoolingDown; }
- }
- protected override Func IsWarmingUpFeedbackFunc
- {
- get { return () => _IsWarmingUp; }
- }
-
- bool _PowerIsOn;
- bool _IsWarmingUp;
- bool _IsCoolingDown;
-
- public BasicIrDisplay(string key, string name, IROutputPort port, string irDriverFilepath)
- : base(key, name)
- {
- IrPort = new IrOutputPortController(key + "-ir", port, irDriverFilepath);
- DeviceManager.AddDevice(IrPort);
-
- PowerIsOnFeedback = new BoolFeedback(PowerIsOnFeedbackFunc);
-
- PowerIsOnFeedback.OutputChange += (o, a) =>
- {
- Debug.Console(2, this, "Power on={0}", _PowerIsOn);
- if (_PowerIsOn) StartWarmingTimer();
- else StartCoolingTimer();
- };
- IsWarmingUpFeedback.OutputChange += (o, a) => Debug.Console(2, this, "Warming up={0}", _IsWarmingUp);
- IsCoolingDownFeedback.OutputChange += (o, a) => Debug.Console(2, this, "Cooling down={0}", _IsCoolingDown);
-
- InputPorts.AddRange(new RoutingPortCollection
- {
- new RoutingInputPort(RoutingPortNames.HdmiIn1, eRoutingSignalType.Audio | eRoutingSignalType.Video,
- eRoutingPortConnectionType.Hdmi, new Action(Hdmi1), this, false),
- new RoutingInputPort(RoutingPortNames.HdmiIn2, eRoutingSignalType.Audio | eRoutingSignalType.Video,
- eRoutingPortConnectionType.Hdmi, new Action(Hdmi2), this, false),
- new RoutingInputPort(RoutingPortNames.HdmiIn3, eRoutingSignalType.Audio | eRoutingSignalType.Video,
- eRoutingPortConnectionType.Hdmi, new Action(Hdmi3), this, false),
- new RoutingInputPort(RoutingPortNames.HdmiIn4, eRoutingSignalType.Audio | eRoutingSignalType.Video,
- eRoutingPortConnectionType.Hdmi, new Action(Hdmi4), this, false),
- new RoutingInputPort(RoutingPortNames.ComponentIn, eRoutingSignalType.Audio | eRoutingSignalType.Video,
- eRoutingPortConnectionType.Hdmi, new Action(Component1), this, false),
- new RoutingInputPort(RoutingPortNames.CompositeIn, eRoutingSignalType.Audio | eRoutingSignalType.Video,
- eRoutingPortConnectionType.Hdmi, new Action(Video1), this, false),
- new RoutingInputPort(RoutingPortNames.AntennaIn, eRoutingSignalType.Audio | eRoutingSignalType.Video,
- eRoutingPortConnectionType.Hdmi, new Action(Antenna), this, false),
- });
- }
-
- public void Hdmi1()
- {
- IrPort.Pulse(IROutputStandardCommands.IROut_HDMI_1, IrPulseTime);
- }
-
- public void Hdmi2()
- {
- IrPort.Pulse(IROutputStandardCommands.IROut_HDMI_2, IrPulseTime);
- }
-
- public void Hdmi3()
- {
- IrPort.Pulse(IROutputStandardCommands.IROut_HDMI_3, IrPulseTime);
- }
-
- public void Hdmi4()
- {
- IrPort.Pulse(IROutputStandardCommands.IROut_HDMI_4, IrPulseTime);
- }
-
- public void Component1()
- {
- IrPort.Pulse(IROutputStandardCommands.IROut_COMPONENT_1, IrPulseTime);
- }
-
- public void Video1()
- {
- IrPort.Pulse(IROutputStandardCommands.IROut_VIDEO_1, IrPulseTime);
- }
-
- public void Antenna()
- {
- IrPort.Pulse(IROutputStandardCommands.IROut_ANTENNA, IrPulseTime);
- }
-
- #region IPower Members
-
- public override void PowerOn()
- {
- IrPort.Pulse(IROutputStandardCommands.IROut_POWER_ON, IrPulseTime);
- _PowerIsOn = true;
- PowerIsOnFeedback.FireUpdate();
- }
-
- public override void PowerOff()
- {
- _PowerIsOn = false;
- PowerIsOnFeedback.FireUpdate();
- IrPort.Pulse(IROutputStandardCommands.IROut_POWER_OFF, IrPulseTime);
- }
-
- public override void PowerToggle()
- {
- _PowerIsOn = false;
- PowerIsOnFeedback.FireUpdate();
- IrPort.Pulse(IROutputStandardCommands.IROut_POWER, IrPulseTime);
- }
-
- #endregion
-
- #region IBasicVolumeControls Members
-
- public void VolumeUp(bool pressRelease)
- {
- IrPort.PressRelease(IROutputStandardCommands.IROut_VOL_PLUS, pressRelease);
- }
-
- public void VolumeDown(bool pressRelease)
- {
- IrPort.PressRelease(IROutputStandardCommands.IROut_VOL_MINUS, pressRelease);
- }
-
- public void MuteToggle()
- {
- IrPort.Pulse(IROutputStandardCommands.IROut_MUTE, 200);
- }
-
- #endregion
-
- void StartWarmingTimer()
- {
- _IsWarmingUp = true;
- IsWarmingUpFeedback.FireUpdate();
- new CTimer(o => {
- _IsWarmingUp = false;
- IsWarmingUpFeedback.FireUpdate();
- }, 10000);
- }
-
- void StartCoolingTimer()
- {
- _IsCoolingDown = true;
- IsCoolingDownFeedback.FireUpdate();
- new CTimer(o =>
- {
- _IsCoolingDown = false;
- IsCoolingDownFeedback.FireUpdate();
- }, 7000);
- }
-
- #region IRoutingSink Members
-
- ///
- /// Typically called by the discovery routing algorithm.
- ///
- /// A delegate containing the input selector method to call
- public override void ExecuteSwitch(object inputSelector)
- {
- Debug.Console(2, this, "Switching to input '{0}'", (inputSelector as Action).ToString());
-
- Action finishSwitch = () =>
- {
- var action = inputSelector as Action;
- if (action != null)
- action();
- };
-
- if (!PowerIsOnFeedback.BoolValue)
- {
- PowerOn();
- EventHandler oneTimer = null;
- oneTimer = (o, a) =>
- {
- if (IsWarmingUpFeedback.BoolValue) return; // Only catch done warming
- IsWarmingUpFeedback.OutputChange -= oneTimer;
- finishSwitch();
- };
- IsWarmingUpFeedback.OutputChange += oneTimer;
- }
- else // Do it!
- finishSwitch();
- }
-
- #endregion
-
- public void LinkToApi(BasicTriList trilist, uint joinStart, string joinMapKey, EiscApiAdvanced bridge)
- {
- LinkDisplayToApi(this, trilist, joinStart, joinMapKey, bridge);
- }
- }
-
- public class BasicIrDisplayFactory : EssentialsDeviceFactory
- {
- public BasicIrDisplayFactory()
- {
- TypeNames = new List() { "basicirdisplay" };
- }
-
- public override EssentialsDevice BuildDevice(DeviceConfig dc)
- {
- Debug.Console(1, "Factory Attempting to create new BasicIrDisplay Device");
- var ir = IRPortHelper.GetIrPort(dc.Properties);
- if (ir != null)
- {
- var display = new BasicIrDisplay(dc.Key, dc.Name, ir.Port, ir.FileName);
- display.IrPulseTime = 200; // Set default pulse time for IR commands.
- return display;
- }
-
- return null;
- }
- }
-
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using Crestron.SimplSharp;
+using Crestron.SimplSharpPro;
+using Crestron.SimplSharpPro.DeviceSupport;
+
+using PepperDash.Core;
+using PepperDash.Essentials.Core;
+using PepperDash.Essentials.Core.Config;
+using PepperDash.Essentials.Core.Bridges;
+using PepperDash.Essentials.Core.Routing;
+
+namespace PepperDash.Essentials.Core
+{
+ [Description("Wrapper class for a Basic IR Display")]
+ public class BasicIrDisplay : DisplayBase, IBasicVolumeControls, IBridgeAdvanced
+ {
+ public IrOutputPortController IrPort { get; private set; }
+ public ushort IrPulseTime { get; set; }
+
+ [Obsolete("This property will be removed in version 2.0.0")]
+ public override BoolFeedback PowerIsOnFeedback { get; protected set; }
+
+ protected Func PowerIsOnFeedbackFunc
+ {
+ get { return () => _PowerIsOn; }
+ }
+ protected override Func IsCoolingDownFeedbackFunc
+ {
+ get { return () => _IsCoolingDown; }
+ }
+ protected override Func IsWarmingUpFeedbackFunc
+ {
+ get { return () => _IsWarmingUp; }
+ }
+
+ bool _PowerIsOn;
+ bool _IsWarmingUp;
+ bool _IsCoolingDown;
+
+ public BasicIrDisplay(string key, string name, IROutputPort port, string irDriverFilepath)
+ : base(key, name)
+ {
+ IrPort = new IrOutputPortController(key + "-ir", port, irDriverFilepath);
+ DeviceManager.AddDevice(IrPort);
+
+ PowerIsOnFeedback = new BoolFeedback(PowerIsOnFeedbackFunc);
+
+ PowerIsOnFeedback.OutputChange += (o, a) =>
+ {
+ Debug.Console(2, this, "Power on={0}", _PowerIsOn);
+ if (_PowerIsOn) StartWarmingTimer();
+ else StartCoolingTimer();
+ };
+ IsWarmingUpFeedback.OutputChange += (o, a) => Debug.Console(2, this, "Warming up={0}", _IsWarmingUp);
+ IsCoolingDownFeedback.OutputChange += (o, a) => Debug.Console(2, this, "Cooling down={0}", _IsCoolingDown);
+
+ InputPorts.AddRange(new RoutingPortCollection
+ {
+ new RoutingInputPort(RoutingPortNames.HdmiIn1, eRoutingSignalType.Audio | eRoutingSignalType.Video,
+ eRoutingPortConnectionType.Hdmi, new Action(Hdmi1), this, false),
+ new RoutingInputPort(RoutingPortNames.HdmiIn2, eRoutingSignalType.Audio | eRoutingSignalType.Video,
+ eRoutingPortConnectionType.Hdmi, new Action(Hdmi2), this, false),
+ new RoutingInputPort(RoutingPortNames.HdmiIn3, eRoutingSignalType.Audio | eRoutingSignalType.Video,
+ eRoutingPortConnectionType.Hdmi, new Action(Hdmi3), this, false),
+ new RoutingInputPort(RoutingPortNames.HdmiIn4, eRoutingSignalType.Audio | eRoutingSignalType.Video,
+ eRoutingPortConnectionType.Hdmi, new Action(Hdmi4), this, false),
+ new RoutingInputPort(RoutingPortNames.ComponentIn, eRoutingSignalType.Audio | eRoutingSignalType.Video,
+ eRoutingPortConnectionType.Hdmi, new Action(Component1), this, false),
+ new RoutingInputPort(RoutingPortNames.CompositeIn, eRoutingSignalType.Audio | eRoutingSignalType.Video,
+ eRoutingPortConnectionType.Hdmi, new Action(Video1), this, false),
+ new RoutingInputPort(RoutingPortNames.AntennaIn, eRoutingSignalType.Audio | eRoutingSignalType.Video,
+ eRoutingPortConnectionType.Hdmi, new Action(Antenna), this, false),
+ });
+ }
+
+ public void Hdmi1()
+ {
+ IrPort.Pulse(IROutputStandardCommands.IROut_HDMI_1, IrPulseTime);
+ }
+
+ public void Hdmi2()
+ {
+ IrPort.Pulse(IROutputStandardCommands.IROut_HDMI_2, IrPulseTime);
+ }
+
+ public void Hdmi3()
+ {
+ IrPort.Pulse(IROutputStandardCommands.IROut_HDMI_3, IrPulseTime);
+ }
+
+ public void Hdmi4()
+ {
+ IrPort.Pulse(IROutputStandardCommands.IROut_HDMI_4, IrPulseTime);
+ }
+
+ public void Component1()
+ {
+ IrPort.Pulse(IROutputStandardCommands.IROut_COMPONENT_1, IrPulseTime);
+ }
+
+ public void Video1()
+ {
+ IrPort.Pulse(IROutputStandardCommands.IROut_VIDEO_1, IrPulseTime);
+ }
+
+ public void Antenna()
+ {
+ IrPort.Pulse(IROutputStandardCommands.IROut_ANTENNA, IrPulseTime);
+ }
+
+ #region IPower Members
+
+ public override void PowerOn()
+ {
+ IrPort.Pulse(IROutputStandardCommands.IROut_POWER_ON, IrPulseTime);
+ _PowerIsOn = true;
+ PowerIsOnFeedback.FireUpdate();
+ }
+
+ public override void PowerOff()
+ {
+ _PowerIsOn = false;
+ PowerIsOnFeedback.FireUpdate();
+ IrPort.Pulse(IROutputStandardCommands.IROut_POWER_OFF, IrPulseTime);
+ }
+
+ public override void PowerToggle()
+ {
+ _PowerIsOn = false;
+ PowerIsOnFeedback.FireUpdate();
+ IrPort.Pulse(IROutputStandardCommands.IROut_POWER, IrPulseTime);
+ }
+
+ #endregion
+
+ #region IBasicVolumeControls Members
+
+ public void VolumeUp(bool pressRelease)
+ {
+ IrPort.PressRelease(IROutputStandardCommands.IROut_VOL_PLUS, pressRelease);
+ }
+
+ public void VolumeDown(bool pressRelease)
+ {
+ IrPort.PressRelease(IROutputStandardCommands.IROut_VOL_MINUS, pressRelease);
+ }
+
+ public void MuteToggle()
+ {
+ IrPort.Pulse(IROutputStandardCommands.IROut_MUTE, 200);
+ }
+
+ #endregion
+
+ void StartWarmingTimer()
+ {
+ _IsWarmingUp = true;
+ IsWarmingUpFeedback.FireUpdate();
+ new CTimer(o => {
+ _IsWarmingUp = false;
+ IsWarmingUpFeedback.FireUpdate();
+ }, 10000);
+ }
+
+ void StartCoolingTimer()
+ {
+ _IsCoolingDown = true;
+ IsCoolingDownFeedback.FireUpdate();
+ new CTimer(o =>
+ {
+ _IsCoolingDown = false;
+ IsCoolingDownFeedback.FireUpdate();
+ }, 7000);
+ }
+
+ #region IRoutingSink Members
+
+ ///
+ /// Typically called by the discovery routing algorithm.
+ ///
+ /// A delegate containing the input selector method to call
+ public override void ExecuteSwitch(object inputSelector)
+ {
+ Debug.Console(2, this, "Switching to input '{0}'", (inputSelector as Action).ToString());
+
+ Action finishSwitch = () =>
+ {
+ var action = inputSelector as Action;
+ if (action != null)
+ action();
+ };
+
+ if (!PowerIsOnFeedback.BoolValue)
+ {
+ PowerOn();
+ EventHandler oneTimer = null;
+ oneTimer = (o, a) =>
+ {
+ if (IsWarmingUpFeedback.BoolValue) return; // Only catch done warming
+ IsWarmingUpFeedback.OutputChange -= oneTimer;
+ finishSwitch();
+ };
+ IsWarmingUpFeedback.OutputChange += oneTimer;
+ }
+ else // Do it!
+ finishSwitch();
+ }
+
+ #endregion
+
+ public void LinkToApi(BasicTriList trilist, uint joinStart, string joinMapKey, EiscApiAdvanced bridge)
+ {
+ LinkDisplayToApi(this, trilist, joinStart, joinMapKey, bridge);
+ }
+ }
+
+ public class BasicIrDisplayFactory : EssentialsDeviceFactory
+ {
+ public BasicIrDisplayFactory()
+ {
+ TypeNames = new List() { "basicirdisplay" };
+ }
+
+ public override EssentialsDevice BuildDevice(DeviceConfig dc)
+ {
+ Debug.Console(1, "Factory Attempting to create new BasicIrDisplay Device");
+ var ir = IRPortHelper.GetIrPort(dc.Properties);
+ if (ir != null)
+ {
+ var display = new BasicIrDisplay(dc.Key, dc.Name, ir.Port, ir.FileName);
+ display.IrPulseTime = 200; // Set default pulse time for IR commands.
+ return display;
+ }
+
+ return null;
+ }
+ }
+
}
\ No newline at end of file
diff --git a/essentials-framework/Essentials Core/PepperDashEssentialsBase/Display/DisplayBase.cs b/src/PepperDash.Essentials.Core/Display/DisplayBase.cs
similarity index 97%
rename from essentials-framework/Essentials Core/PepperDashEssentialsBase/Display/DisplayBase.cs
rename to src/PepperDash.Essentials.Core/Display/DisplayBase.cs
index 17ff8bd1..f4408b7f 100644
--- a/essentials-framework/Essentials Core/PepperDashEssentialsBase/Display/DisplayBase.cs
+++ b/src/PepperDash.Essentials.Core/Display/DisplayBase.cs
@@ -1,321 +1,321 @@
-using System;
-using System.Collections.Generic;
-using System.Linq;
-using System.Text;
-using Crestron.SimplSharp;
-using Crestron.SimplSharpPro;
-using Crestron.SimplSharpPro.DeviceSupport;
-using Crestron.SimplSharpPro.DM;
-using Crestron.SimplSharpPro.DM.Endpoints;
-using Crestron.SimplSharpPro.DM.Endpoints.Transmitters;
-using Newtonsoft.Json;
-using PepperDash.Core;
-using PepperDash.Essentials.Core.Bridges;
-
-
-namespace PepperDash.Essentials.Core
-{
- ///
- ///
- ///
- public abstract class DisplayBase : EssentialsDevice, IHasFeedback, IRoutingSinkWithSwitching, IHasPowerControl, IWarmingCooling, IUsageTracking, IPower
- {
- public event SourceInfoChangeHandler CurrentSourceChange;
-
- public string CurrentSourceInfoKey { get; set; }
- public SourceListItem CurrentSourceInfo
- {
- get
- {
- return _CurrentSourceInfo;
- }
- set
- {
- if (value == _CurrentSourceInfo) return;
-
- var handler = CurrentSourceChange;
-
- if (handler != null)
- handler(_CurrentSourceInfo, ChangeType.WillChange);
-
- _CurrentSourceInfo = value;
-
- if (handler != null)
- handler(_CurrentSourceInfo, ChangeType.DidChange);
- }
- }
- SourceListItem _CurrentSourceInfo;
-
- public BoolFeedback IsCoolingDownFeedback { get; protected set; }
- public BoolFeedback IsWarmingUpFeedback { get; private set; }
-
- [Obsolete("This property will be removed in version 2.0.0")]
- public abstract BoolFeedback PowerIsOnFeedback { get; protected set; }
-
- public UsageTracking UsageTracker { get; set; }
-
- public uint WarmupTime { get; set; }
- public uint CooldownTime { get; set; }
-
- ///
- /// Bool Func that will provide a value for the PowerIsOn Output. Must be implemented
- /// by concrete sub-classes
- ///
- abstract protected Func IsCoolingDownFeedbackFunc { get; }
- abstract protected Func IsWarmingUpFeedbackFunc { get; }
-
-
- protected CTimer WarmupTimer;
- protected CTimer CooldownTimer;
-
- #region IRoutingInputs Members
-
- public RoutingPortCollection InputPorts { get; private set; }
-
- #endregion
-
- protected DisplayBase(string key, string name)
- : base(key, name)
- {
- IsCoolingDownFeedback = new BoolFeedback("IsCoolingDown", IsCoolingDownFeedbackFunc);
- IsWarmingUpFeedback = new BoolFeedback("IsWarmingUp", IsWarmingUpFeedbackFunc);
-
- InputPorts = new RoutingPortCollection();
-
- }
-
- public abstract void PowerOn();
- public abstract void PowerOff();
- public abstract void PowerToggle();
-
- public virtual FeedbackCollection Feedbacks
- {
- get
- {
- return new FeedbackCollection
- {
- IsCoolingDownFeedback,
- IsWarmingUpFeedback
- };
- }
- }
-
- public abstract void ExecuteSwitch(object selector);
-
- protected void LinkDisplayToApi(DisplayBase displayDevice, BasicTriList trilist, uint joinStart, string joinMapKey,
- EiscApiAdvanced bridge)
- {
- var inputNumber = 0;
- var inputKeys = new List();
-
- var joinMap = new DisplayControllerJoinMap(joinStart);
-
- var joinMapSerialized = JoinMapHelper.GetSerializedJoinMapForDevice(joinMapKey);
-
- if (!string.IsNullOrEmpty(joinMapSerialized))
- joinMap = JsonConvert.DeserializeObject(joinMapSerialized);
-
- if (bridge != null)
- {
- bridge.AddJoinMap(Key, joinMap);
- }
- else
- {
- Debug.Console(0,this,"Please update config to use 'eiscapiadvanced' to get all join map features for this device.");
- }
-
- Debug.Console(1, "Linking to Trilist '{0}'", trilist.ID.ToString("X"));
- Debug.Console(0, "Linking to Display: {0}", displayDevice.Name);
-
- trilist.StringInput[joinMap.Name.JoinNumber].StringValue = displayDevice.Name;
-
- var commMonitor = displayDevice as ICommunicationMonitor;
- if (commMonitor != null)
- {
- commMonitor.CommunicationMonitor.IsOnlineFeedback.LinkInputSig(trilist.BooleanInput[joinMap.IsOnline.JoinNumber]);
- }
-
- var inputNumberFeedback = new IntFeedback(() => inputNumber);
-
- // Two way feedbacks
- var twoWayDisplay = displayDevice as TwoWayDisplayBase;
-
- if (twoWayDisplay != null)
- {
- trilist.SetBool(joinMap.IsTwoWayDisplay.JoinNumber, true);
-
- twoWayDisplay.CurrentInputFeedback.OutputChange += (o, a) => Debug.Console(0, "CurrentInputFeedback_OutputChange {0}", a.StringValue);
-
-
- inputNumberFeedback.LinkInputSig(trilist.UShortInput[joinMap.InputSelect.JoinNumber]);
- }
-
- // Power Off
- trilist.SetSigTrueAction(joinMap.PowerOff.JoinNumber, () =>
- {
- inputNumber = 102;
- inputNumberFeedback.FireUpdate();
- displayDevice.PowerOff();
- });
-
- var twoWayDisplayDevice = displayDevice as TwoWayDisplayBase;
- if (twoWayDisplayDevice != null)
- {
- twoWayDisplayDevice.PowerIsOnFeedback.OutputChange += (o, a) =>
- {
- if (!a.BoolValue)
- {
- inputNumber = 102;
- inputNumberFeedback.FireUpdate();
-
- }
- else
- {
- inputNumber = 0;
- inputNumberFeedback.FireUpdate();
- }
- };
-
- twoWayDisplayDevice.PowerIsOnFeedback.LinkComplementInputSig(trilist.BooleanInput[joinMap.PowerOff.JoinNumber]);
- twoWayDisplayDevice.PowerIsOnFeedback.LinkInputSig(trilist.BooleanInput[joinMap.PowerOn.JoinNumber]);
- }
-
- // PowerOn
- trilist.SetSigTrueAction(joinMap.PowerOn.JoinNumber, () =>
- {
- inputNumber = 0;
- inputNumberFeedback.FireUpdate();
- displayDevice.PowerOn();
- });
-
-
-
- for (int i = 0; i < displayDevice.InputPorts.Count; i++)
- {
- if (i < joinMap.InputNamesOffset.JoinSpan)
- {
- inputKeys.Add(displayDevice.InputPorts[i].Key);
- var tempKey = inputKeys.ElementAt(i);
- trilist.SetSigTrueAction((ushort)(joinMap.InputSelectOffset.JoinNumber + i),
- () => displayDevice.ExecuteSwitch(displayDevice.InputPorts[tempKey].Selector));
- Debug.Console(2, displayDevice, "Setting Input Select Action on Digital Join {0} to Input: {1}",
- joinMap.InputSelectOffset.JoinNumber + i, displayDevice.InputPorts[tempKey].Key.ToString());
- trilist.StringInput[(ushort)(joinMap.InputNamesOffset.JoinNumber + i)].StringValue = displayDevice.InputPorts[i].Key.ToString();
- }
- else
- Debug.Console(0, displayDevice, Debug.ErrorLogLevel.Warning, "Device has {0} inputs. The Join Map allows up to {1} inputs. Discarding inputs {2} - {3} from bridge.",
- displayDevice.InputPorts.Count, joinMap.InputNamesOffset.JoinSpan, i + 1, displayDevice.InputPorts.Count);
- }
-
- Debug.Console(2, displayDevice, "Setting Input Select Action on Analog Join {0}", joinMap.InputSelect);
- trilist.SetUShortSigAction(joinMap.InputSelect.JoinNumber, (a) =>
- {
- if (a == 0)
- {
- displayDevice.PowerOff();
- inputNumber = 0;
- }
- else if (a > 0 && a < displayDevice.InputPorts.Count && a != inputNumber)
- {
- displayDevice.ExecuteSwitch(displayDevice.InputPorts.ElementAt(a - 1).Selector);
- inputNumber = a;
- }
- else if (a == 102)
- {
- displayDevice.PowerToggle();
-
- }
- if (twoWayDisplay != null)
- inputNumberFeedback.FireUpdate();
- });
-
-
- var volumeDisplay = displayDevice as IBasicVolumeControls;
- if (volumeDisplay == null) return;
-
- trilist.SetBoolSigAction(joinMap.VolumeUp.JoinNumber, volumeDisplay.VolumeUp);
- trilist.SetBoolSigAction(joinMap.VolumeDown.JoinNumber, volumeDisplay.VolumeDown);
- trilist.SetSigTrueAction(joinMap.VolumeMute.JoinNumber, volumeDisplay.MuteToggle);
-
- var volumeDisplayWithFeedback = volumeDisplay as IBasicVolumeWithFeedback;
-
- if (volumeDisplayWithFeedback == null) return;
- trilist.SetSigTrueAction(joinMap.VolumeMuteOn.JoinNumber, volumeDisplayWithFeedback.MuteOn);
- trilist.SetSigTrueAction(joinMap.VolumeMuteOff.JoinNumber, volumeDisplayWithFeedback.MuteOff);
-
-
- trilist.SetUShortSigAction(joinMap.VolumeLevel.JoinNumber, volumeDisplayWithFeedback.SetVolume);
- volumeDisplayWithFeedback.VolumeLevelFeedback.LinkInputSig(trilist.UShortInput[joinMap.VolumeLevel.JoinNumber]);
- volumeDisplayWithFeedback.MuteFeedback.LinkInputSig(trilist.BooleanInput[joinMap.VolumeMute.JoinNumber]);
- volumeDisplayWithFeedback.MuteFeedback.LinkInputSig(trilist.BooleanInput[joinMap.VolumeMuteOn.JoinNumber]);
- volumeDisplayWithFeedback.MuteFeedback.LinkComplementInputSig(trilist.BooleanInput[joinMap.VolumeMuteOff.JoinNumber]);
- }
-
- }
-
- ///
- ///
- ///
- public abstract class TwoWayDisplayBase : DisplayBase, IRoutingFeedback, IHasPowerControlWithFeedback
- {
- public StringFeedback CurrentInputFeedback { get; private set; }
-
- abstract protected Func CurrentInputFeedbackFunc { get; }
-
- public override BoolFeedback PowerIsOnFeedback { get; protected set; }
-
- abstract protected Func PowerIsOnFeedbackFunc { get; }
-
-
- public static MockDisplay DefaultDisplay
- {
- get
- {
- if (_DefaultDisplay == null)
- _DefaultDisplay = new MockDisplay("default", "Default Display");
- return _DefaultDisplay;
- }
- }
- static MockDisplay _DefaultDisplay;
-
- public TwoWayDisplayBase(string key, string name)
- : base(key, name)
- {
- CurrentInputFeedback = new StringFeedback(CurrentInputFeedbackFunc);
-
- WarmupTime = 7000;
- CooldownTime = 15000;
-
- PowerIsOnFeedback = new BoolFeedback("PowerOnFeedback", PowerIsOnFeedbackFunc);
-
- Feedbacks.Add(CurrentInputFeedback);
- Feedbacks.Add(PowerIsOnFeedback);
-
- PowerIsOnFeedback.OutputChange += PowerIsOnFeedback_OutputChange;
-
- }
-
- void PowerIsOnFeedback_OutputChange(object sender, EventArgs e)
- {
- if (UsageTracker != null)
- {
- if (PowerIsOnFeedback.BoolValue)
- UsageTracker.StartDeviceUsage();
- else
- UsageTracker.EndDeviceUsage();
- }
- }
-
- public event EventHandler NumericSwitchChange;
-
- ///
- /// Raise an event when the status of a switch object changes.
- ///
- /// Arguments defined as IKeyName sender, output, input, and eRoutingSignalType
- protected void OnSwitchChange(RoutingNumericEventArgs e)
- {
- var newEvent = NumericSwitchChange;
- if (newEvent != null) newEvent(this, e);
- }
- }
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using Crestron.SimplSharp;
+using Crestron.SimplSharpPro;
+using Crestron.SimplSharpPro.DeviceSupport;
+using Crestron.SimplSharpPro.DM;
+using Crestron.SimplSharpPro.DM.Endpoints;
+using Crestron.SimplSharpPro.DM.Endpoints.Transmitters;
+using Newtonsoft.Json;
+using PepperDash.Core;
+using PepperDash.Essentials.Core.Bridges;
+
+
+namespace PepperDash.Essentials.Core
+{
+ ///
+ ///
+ ///
+ public abstract class DisplayBase : EssentialsDevice, IHasFeedback, IRoutingSinkWithSwitching, IHasPowerControl, IWarmingCooling, IUsageTracking, IPower
+ {
+ public event SourceInfoChangeHandler CurrentSourceChange;
+
+ public string CurrentSourceInfoKey { get; set; }
+ public SourceListItem CurrentSourceInfo
+ {
+ get
+ {
+ return _CurrentSourceInfo;
+ }
+ set
+ {
+ if (value == _CurrentSourceInfo) return;
+
+ var handler = CurrentSourceChange;
+
+ if (handler != null)
+ handler(_CurrentSourceInfo, ChangeType.WillChange);
+
+ _CurrentSourceInfo = value;
+
+ if (handler != null)
+ handler(_CurrentSourceInfo, ChangeType.DidChange);
+ }
+ }
+ SourceListItem _CurrentSourceInfo;
+
+ public BoolFeedback IsCoolingDownFeedback { get; protected set; }
+ public BoolFeedback IsWarmingUpFeedback { get; private set; }
+
+ [Obsolete("This property will be removed in version 2.0.0")]
+ public abstract BoolFeedback PowerIsOnFeedback { get; protected set; }
+
+ public UsageTracking UsageTracker { get; set; }
+
+ public uint WarmupTime { get; set; }
+ public uint CooldownTime { get; set; }
+
+ ///
+ /// Bool Func that will provide a value for the PowerIsOn Output. Must be implemented
+ /// by concrete sub-classes
+ ///
+ abstract protected Func IsCoolingDownFeedbackFunc { get; }
+ abstract protected Func IsWarmingUpFeedbackFunc { get; }
+
+
+ protected CTimer WarmupTimer;
+ protected CTimer CooldownTimer;
+
+ #region IRoutingInputs Members
+
+ public RoutingPortCollection InputPorts { get; private set; }
+
+ #endregion
+
+ protected DisplayBase(string key, string name)
+ : base(key, name)
+ {
+ IsCoolingDownFeedback = new BoolFeedback("IsCoolingDown", IsCoolingDownFeedbackFunc);
+ IsWarmingUpFeedback = new BoolFeedback("IsWarmingUp", IsWarmingUpFeedbackFunc);
+
+ InputPorts = new RoutingPortCollection();
+
+ }
+
+ public abstract void PowerOn();
+ public abstract void PowerOff();
+ public abstract void PowerToggle();
+
+ public virtual FeedbackCollection Feedbacks
+ {
+ get
+ {
+ return new FeedbackCollection
+ {
+ IsCoolingDownFeedback,
+ IsWarmingUpFeedback
+ };
+ }
+ }
+
+ public abstract void ExecuteSwitch(object selector);
+
+ protected void LinkDisplayToApi(DisplayBase displayDevice, BasicTriList trilist, uint joinStart, string joinMapKey,
+ EiscApiAdvanced bridge)
+ {
+ var inputNumber = 0;
+ var inputKeys = new List();
+
+ var joinMap = new DisplayControllerJoinMap(joinStart);
+
+ var joinMapSerialized = JoinMapHelper.GetSerializedJoinMapForDevice(joinMapKey);
+
+ if (!string.IsNullOrEmpty(joinMapSerialized))
+ joinMap = JsonConvert.DeserializeObject(joinMapSerialized);
+
+ if (bridge != null)
+ {
+ bridge.AddJoinMap(Key, joinMap);
+ }
+ else
+ {
+ Debug.Console(0,this,"Please update config to use 'eiscapiadvanced' to get all join map features for this device.");
+ }
+
+ Debug.Console(1, "Linking to Trilist '{0}'", trilist.ID.ToString("X"));
+ Debug.Console(0, "Linking to Display: {0}", displayDevice.Name);
+
+ trilist.StringInput[joinMap.Name.JoinNumber].StringValue = displayDevice.Name;
+
+ var commMonitor = displayDevice as ICommunicationMonitor;
+ if (commMonitor != null)
+ {
+ commMonitor.CommunicationMonitor.IsOnlineFeedback.LinkInputSig(trilist.BooleanInput[joinMap.IsOnline.JoinNumber]);
+ }
+
+ var inputNumberFeedback = new IntFeedback(() => inputNumber);
+
+ // Two way feedbacks
+ var twoWayDisplay = displayDevice as TwoWayDisplayBase;
+
+ if (twoWayDisplay != null)
+ {
+ trilist.SetBool(joinMap.IsTwoWayDisplay.JoinNumber, true);
+
+ twoWayDisplay.CurrentInputFeedback.OutputChange += (o, a) => Debug.Console(0, "CurrentInputFeedback_OutputChange {0}", a.StringValue);
+
+
+ inputNumberFeedback.LinkInputSig(trilist.UShortInput[joinMap.InputSelect.JoinNumber]);
+ }
+
+ // Power Off
+ trilist.SetSigTrueAction(joinMap.PowerOff.JoinNumber, () =>
+ {
+ inputNumber = 102;
+ inputNumberFeedback.FireUpdate();
+ displayDevice.PowerOff();
+ });
+
+ var twoWayDisplayDevice = displayDevice as TwoWayDisplayBase;
+ if (twoWayDisplayDevice != null)
+ {
+ twoWayDisplayDevice.PowerIsOnFeedback.OutputChange += (o, a) =>
+ {
+ if (!a.BoolValue)
+ {
+ inputNumber = 102;
+ inputNumberFeedback.FireUpdate();
+
+ }
+ else
+ {
+ inputNumber = 0;
+ inputNumberFeedback.FireUpdate();
+ }
+ };
+
+ twoWayDisplayDevice.PowerIsOnFeedback.LinkComplementInputSig(trilist.BooleanInput[joinMap.PowerOff.JoinNumber]);
+ twoWayDisplayDevice.PowerIsOnFeedback.LinkInputSig(trilist.BooleanInput[joinMap.PowerOn.JoinNumber]);
+ }
+
+ // PowerOn
+ trilist.SetSigTrueAction(joinMap.PowerOn.JoinNumber, () =>
+ {
+ inputNumber = 0;
+ inputNumberFeedback.FireUpdate();
+ displayDevice.PowerOn();
+ });
+
+
+
+ for (int i = 0; i < displayDevice.InputPorts.Count; i++)
+ {
+ if (i < joinMap.InputNamesOffset.JoinSpan)
+ {
+ inputKeys.Add(displayDevice.InputPorts[i].Key);
+ var tempKey = inputKeys.ElementAt(i);
+ trilist.SetSigTrueAction((ushort)(joinMap.InputSelectOffset.JoinNumber + i),
+ () => displayDevice.ExecuteSwitch(displayDevice.InputPorts[tempKey].Selector));
+ Debug.Console(2, displayDevice, "Setting Input Select Action on Digital Join {0} to Input: {1}",
+ joinMap.InputSelectOffset.JoinNumber + i, displayDevice.InputPorts[tempKey].Key.ToString());
+ trilist.StringInput[(ushort)(joinMap.InputNamesOffset.JoinNumber + i)].StringValue = displayDevice.InputPorts[i].Key.ToString();
+ }
+ else
+ Debug.Console(0, displayDevice, Debug.ErrorLogLevel.Warning, "Device has {0} inputs. The Join Map allows up to {1} inputs. Discarding inputs {2} - {3} from bridge.",
+ displayDevice.InputPorts.Count, joinMap.InputNamesOffset.JoinSpan, i + 1, displayDevice.InputPorts.Count);
+ }
+
+ Debug.Console(2, displayDevice, "Setting Input Select Action on Analog Join {0}", joinMap.InputSelect);
+ trilist.SetUShortSigAction(joinMap.InputSelect.JoinNumber, (a) =>
+ {
+ if (a == 0)
+ {
+ displayDevice.PowerOff();
+ inputNumber = 0;
+ }
+ else if (a > 0 && a < displayDevice.InputPorts.Count && a != inputNumber)
+ {
+ displayDevice.ExecuteSwitch(displayDevice.InputPorts.ElementAt(a - 1).Selector);
+ inputNumber = a;
+ }
+ else if (a == 102)
+ {
+ displayDevice.PowerToggle();
+
+ }
+ if (twoWayDisplay != null)
+ inputNumberFeedback.FireUpdate();
+ });
+
+
+ var volumeDisplay = displayDevice as IBasicVolumeControls;
+ if (volumeDisplay == null) return;
+
+ trilist.SetBoolSigAction(joinMap.VolumeUp.JoinNumber, volumeDisplay.VolumeUp);
+ trilist.SetBoolSigAction(joinMap.VolumeDown.JoinNumber, volumeDisplay.VolumeDown);
+ trilist.SetSigTrueAction(joinMap.VolumeMute.JoinNumber, volumeDisplay.MuteToggle);
+
+ var volumeDisplayWithFeedback = volumeDisplay as IBasicVolumeWithFeedback;
+
+ if (volumeDisplayWithFeedback == null) return;
+ trilist.SetSigTrueAction(joinMap.VolumeMuteOn.JoinNumber, volumeDisplayWithFeedback.MuteOn);
+ trilist.SetSigTrueAction(joinMap.VolumeMuteOff.JoinNumber, volumeDisplayWithFeedback.MuteOff);
+
+
+ trilist.SetUShortSigAction(joinMap.VolumeLevel.JoinNumber, volumeDisplayWithFeedback.SetVolume);
+ volumeDisplayWithFeedback.VolumeLevelFeedback.LinkInputSig(trilist.UShortInput[joinMap.VolumeLevel.JoinNumber]);
+ volumeDisplayWithFeedback.MuteFeedback.LinkInputSig(trilist.BooleanInput[joinMap.VolumeMute.JoinNumber]);
+ volumeDisplayWithFeedback.MuteFeedback.LinkInputSig(trilist.BooleanInput[joinMap.VolumeMuteOn.JoinNumber]);
+ volumeDisplayWithFeedback.MuteFeedback.LinkComplementInputSig(trilist.BooleanInput[joinMap.VolumeMuteOff.JoinNumber]);
+ }
+
+ }
+
+ ///
+ ///
+ ///
+ public abstract class TwoWayDisplayBase : DisplayBase, IRoutingFeedback, IHasPowerControlWithFeedback
+ {
+ public StringFeedback CurrentInputFeedback { get; private set; }
+
+ abstract protected Func CurrentInputFeedbackFunc { get; }
+
+ public override BoolFeedback PowerIsOnFeedback { get; protected set; }
+
+ abstract protected Func PowerIsOnFeedbackFunc { get; }
+
+
+ public static MockDisplay DefaultDisplay
+ {
+ get
+ {
+ if (_DefaultDisplay == null)
+ _DefaultDisplay = new MockDisplay("default", "Default Display");
+ return _DefaultDisplay;
+ }
+ }
+ static MockDisplay _DefaultDisplay;
+
+ public TwoWayDisplayBase(string key, string name)
+ : base(key, name)
+ {
+ CurrentInputFeedback = new StringFeedback(CurrentInputFeedbackFunc);
+
+ WarmupTime = 7000;
+ CooldownTime = 15000;
+
+ PowerIsOnFeedback = new BoolFeedback("PowerOnFeedback", PowerIsOnFeedbackFunc);
+
+ Feedbacks.Add(CurrentInputFeedback);
+ Feedbacks.Add(PowerIsOnFeedback);
+
+ PowerIsOnFeedback.OutputChange += PowerIsOnFeedback_OutputChange;
+
+ }
+
+ void PowerIsOnFeedback_OutputChange(object sender, EventArgs e)
+ {
+ if (UsageTracker != null)
+ {
+ if (PowerIsOnFeedback.BoolValue)
+ UsageTracker.StartDeviceUsage();
+ else
+ UsageTracker.EndDeviceUsage();
+ }
+ }
+
+ public event EventHandler NumericSwitchChange;
+
+ ///
+ /// Raise an event when the status of a switch object changes.
+ ///
+ /// Arguments defined as IKeyName sender, output, input, and eRoutingSignalType
+ protected void OnSwitchChange(RoutingNumericEventArgs e)
+ {
+ var newEvent = NumericSwitchChange;
+ if (newEvent != null) newEvent(this, e);
+ }
+ }
}
\ No newline at end of file
diff --git a/essentials-framework/Essentials Core/PepperDashEssentialsBase/Display/MockDisplay.cs b/src/PepperDash.Essentials.Core/Display/MockDisplay.cs
similarity index 100%
rename from essentials-framework/Essentials Core/PepperDashEssentialsBase/Display/MockDisplay.cs
rename to src/PepperDash.Essentials.Core/Display/MockDisplay.cs
diff --git a/essentials-framework/Essentials Core/PepperDashEssentialsBase/Ethernet/EthernetStatistics.cs b/src/PepperDash.Essentials.Core/Ethernet/EthernetStatistics.cs
similarity index 100%
rename from essentials-framework/Essentials Core/PepperDashEssentialsBase/Ethernet/EthernetStatistics.cs
rename to src/PepperDash.Essentials.Core/Ethernet/EthernetStatistics.cs
diff --git a/essentials-framework/Essentials Core/PepperDashEssentialsBase/Extensions/JsonExtensions.cs b/src/PepperDash.Essentials.Core/Extensions/JsonExtensions.cs
similarity index 96%
rename from essentials-framework/Essentials Core/PepperDashEssentialsBase/Extensions/JsonExtensions.cs
rename to src/PepperDash.Essentials.Core/Extensions/JsonExtensions.cs
index cdf723ea..05d0044e 100644
--- a/essentials-framework/Essentials Core/PepperDashEssentialsBase/Extensions/JsonExtensions.cs
+++ b/src/PepperDash.Essentials.Core/Extensions/JsonExtensions.cs
@@ -1,42 +1,42 @@
-using System;
-using System.Collections.Generic;
-using System.Linq;
-using System.Text;
-using Crestron.SimplSharp;
-using Newtonsoft.Json;
-using Newtonsoft.Json.Linq;
-
-namespace PepperDash.Essentials.Core
-{
- public static class JsonExtensions
- {
- public static List FindTokens(this JToken containerToken, string name)
- {
- List matches = new List();
- FindTokens(containerToken, name, matches);
- return matches;
- }
-
- private static void FindTokens(JToken containerToken, string name, List matches)
- {
- if (containerToken.Type == JTokenType.Object)
- {
- foreach (JProperty child in containerToken.Children())
- {
- if (child.Name == name)
- {
- matches.Add(child.Value);
- }
- FindTokens(child.Value, name, matches);
- }
- }
- else if (containerToken.Type == JTokenType.Array)
- {
- foreach (JToken child in containerToken.Children())
- {
- FindTokens(child, name, matches);
- }
- }
- }
- }
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using Crestron.SimplSharp;
+using Newtonsoft.Json;
+using Newtonsoft.Json.Linq;
+
+namespace PepperDash.Essentials.Core
+{
+ public static class JsonExtensions
+ {
+ public static List FindTokens(this JToken containerToken, string name)
+ {
+ List matches = new List();
+ FindTokens(containerToken, name, matches);
+ return matches;
+ }
+
+ private static void FindTokens(JToken containerToken, string name, List matches)
+ {
+ if (containerToken.Type == JTokenType.Object)
+ {
+ foreach (JProperty child in containerToken.Children())
+ {
+ if (child.Name == name)
+ {
+ matches.Add(child.Value);
+ }
+ FindTokens(child.Value, name, matches);
+ }
+ }
+ else if (containerToken.Type == JTokenType.Array)
+ {
+ foreach (JToken child in containerToken.Children())
+ {
+ FindTokens(child, name, matches);
+ }
+ }
+ }
+ }
}
\ No newline at end of file
diff --git a/essentials-framework/Essentials Core/PepperDashEssentialsBase/Factory/DeviceFactory.cs b/src/PepperDash.Essentials.Core/Factory/DeviceFactory.cs
similarity index 97%
rename from essentials-framework/Essentials Core/PepperDashEssentialsBase/Factory/DeviceFactory.cs
rename to src/PepperDash.Essentials.Core/Factory/DeviceFactory.cs
index ebdc87b1..9ef7b068 100644
--- a/essentials-framework/Essentials Core/PepperDashEssentialsBase/Factory/DeviceFactory.cs
+++ b/src/PepperDash.Essentials.Core/Factory/DeviceFactory.cs
@@ -1,208 +1,208 @@
-using System;
-using System.Collections.Generic;
-using System.Linq;
-using System.Text;
-using Crestron.SimplSharp;
-using Crestron.SimplSharpPro;
-using Crestron.SimplSharpPro.GeneralIO;
-using Crestron.SimplSharp.Reflection;
-using PepperDash.Core;
-using Newtonsoft.Json.Linq;
-using Newtonsoft.Json;
-using PepperDash.Essentials.Core;
-using PepperDash.Essentials.Core.Config;
-using PepperDash.Essentials.Core.CrestronIO;
-using PepperDash.Essentials.Core.Touchpanels;
-
-namespace PepperDash.Essentials.Core
-{
- public class DeviceFactoryWrapper
- {
- public CType CType { get; set; }
- public string Description { get; set; }
- public Func FactoryMethod { get; set; }
-
- public DeviceFactoryWrapper()
- {
- CType = null;
- Description = "Not Available";
- }
- }
-
- public class DeviceFactory
- {
- public DeviceFactory()
- {
- var assy = Assembly.GetExecutingAssembly();
- PluginLoader.SetEssentialsAssembly(assy.GetName().Name, assy);
-
- var types = assy.GetTypes().Where(ct => typeof(IDeviceFactory).IsAssignableFrom(ct) && !ct.IsInterface && !ct.IsAbstract);
-
- if (types != null)
- {
- foreach (var type in types)
- {
- try
- {
- var factory = (IDeviceFactory)Crestron.SimplSharp.Reflection.Activator.CreateInstance(type);
- factory.LoadTypeFactories();
- }
- catch (Exception e)
- {
- Debug.Console(0, Debug.ErrorLogLevel.Error, "Unable to load type: '{1}' DeviceFactory: {0}", e, type.Name);
- }
- }
- }
- }
-
- ///
- /// A dictionary of factory methods, keyed by config types, added by plugins.
- /// These methods are looked up and called by GetDevice in this class.
- ///
- static Dictionary FactoryMethods =
- new Dictionary(StringComparer.OrdinalIgnoreCase);
-
- ///
- /// Adds a plugin factory method
- ///
- ///
- ///
- public static void AddFactoryForType(string typeName, Func method)
- {
- //Debug.Console(1, Debug.ErrorLogLevel.Notice, "Adding factory method for type '{0}'", typeName);
- DeviceFactory.FactoryMethods.Add(typeName, new DeviceFactoryWrapper() { FactoryMethod = method});
- }
-
- public static void AddFactoryForType(string typeName, string description, CType cType, Func method)
- {
- //Debug.Console(1, Debug.ErrorLogLevel.Notice, "Adding factory method for type '{0}'", typeName);
-
- if(FactoryMethods.ContainsKey(typeName))
- {
- Debug.Console(0, Debug.ErrorLogLevel.Error, "Unable to add type: '{0}'. Already exists in DeviceFactory", typeName);
- return;
- }
-
- var wrapper = new DeviceFactoryWrapper() { CType = cType, Description = description, FactoryMethod = method };
- DeviceFactory.FactoryMethods.Add(typeName, wrapper);
- }
-
- private static void CheckForSecrets(IEnumerable obj)
- {
- foreach (var prop in obj.Where(prop => prop.Value as JObject != null))
- {
- if (prop.Name.ToLower() == "secret")
- {
- var secret = GetSecret(prop.Children().First().ToObject());
- //var secret = GetSecret(JsonConvert.DeserializeObject(prop.Children().First().ToString()));
- prop.Parent.Replace(secret);
- }
- var recurseProp = prop.Value as JObject;
- if (recurseProp == null) return;
- CheckForSecrets(recurseProp.Properties());
- }
- }
-
- private static string GetSecret(SecretsPropertiesConfig data)
- {
- var secretProvider = SecretsManager.GetSecretProviderByKey(data.Provider);
- if (secretProvider == null) return null;
- var secret = secretProvider.GetSecret(data.Key);
- if (secret != null) return (string) secret.Value;
- Debug.Console(1,
- "Unable to retrieve secret {0}{1} - Make sure you've added it to the secrets provider",
- data.Provider, data.Key);
- return String.Empty;
- }
-
-
- ///
- /// The factory method for Core "things". Also iterates the Factory methods that have
- /// been loaded from plugins
- ///
- ///
- ///
- public static IKeyed GetDevice(DeviceConfig dc)
- {
- try
- {
- Debug.Console(0, Debug.ErrorLogLevel.Notice, "Loading '{0}' from Essentials Core", dc.Type);
-
- var localDc = new DeviceConfig(dc);
-
- var key = localDc.Key;
- var name = localDc.Name;
- var type = localDc.Type;
- var properties = localDc.Properties;
- //var propRecurse = properties;
-
- var typeName = localDc.Type.ToLower();
-
-
- var jObject = properties as JObject;
- if (jObject != null)
- {
- var jProp = jObject.Properties();
-
- CheckForSecrets(jProp);
- }
-
- Debug.Console(2, "typeName = {0}", typeName);
- // Check for types that have been added by plugin dlls.
- return !FactoryMethods.ContainsKey(typeName) ? null : FactoryMethods[typeName].FactoryMethod(localDc);
- }
- catch (Exception ex)
- {
- Debug.Console(0, Debug.ErrorLogLevel.Error, "Exception occurred while creating device {0}: {1}", dc.Key, ex.Message);
-
- Debug.Console(2, "{0}", ex.StackTrace);
-
- if (ex.InnerException == null)
- {
- return null;
- }
-
- Debug.Console(0, Debug.ErrorLogLevel.Error, "Inner exception while creating device {0}: {1}", dc.Key,
- ex.InnerException.Message);
- Debug.Console(2, "{0}", ex.InnerException.StackTrace);
- return null;
- }
- }
-
- ///
- /// Prints the type names and associated metadata from the FactoryMethods collection.
- ///
- ///
- public static void GetDeviceFactoryTypes(string filter)
- {
- Dictionary types = new Dictionary();
-
- if (!string.IsNullOrEmpty(filter))
- {
- types = FactoryMethods.Where(k => k.Key.Contains(filter)).ToDictionary(k => k.Key, k => k.Value);
- }
- else
- {
- types = FactoryMethods;
- }
-
- Debug.Console(0, "Device Types:");
-
- foreach (var type in types.OrderBy(t => t.Key))
- {
- var description = type.Value.Description;
- var cType = "Not Specified by Plugin";
-
- if(type.Value.CType != null)
- {
- cType = type.Value.CType.FullName;
- }
-
- Debug.Console(0,
- @"Type: '{0}'
- CType: '{1}'
- Description: {2}", type.Key, cType, description);
- }
- }
- }
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using Crestron.SimplSharp;
+using Crestron.SimplSharpPro;
+using Crestron.SimplSharpPro.GeneralIO;
+using Crestron.SimplSharp.Reflection;
+using PepperDash.Core;
+using Newtonsoft.Json.Linq;
+using Newtonsoft.Json;
+using PepperDash.Essentials.Core;
+using PepperDash.Essentials.Core.Config;
+using PepperDash.Essentials.Core.CrestronIO;
+using PepperDash.Essentials.Core.Touchpanels;
+
+namespace PepperDash.Essentials.Core
+{
+ public class DeviceFactoryWrapper
+ {
+ public CType CType { get; set; }
+ public string Description { get; set; }
+ public Func FactoryMethod { get; set; }
+
+ public DeviceFactoryWrapper()
+ {
+ CType = null;
+ Description = "Not Available";
+ }
+ }
+
+ public class DeviceFactory
+ {
+ public DeviceFactory()
+ {
+ var assy = Assembly.GetExecutingAssembly();
+ PluginLoader.SetEssentialsAssembly(assy.GetName().Name, assy);
+
+ var types = assy.GetTypes().Where(ct => typeof(IDeviceFactory).IsAssignableFrom(ct) && !ct.IsInterface && !ct.IsAbstract);
+
+ if (types != null)
+ {
+ foreach (var type in types)
+ {
+ try
+ {
+ var factory = (IDeviceFactory)Crestron.SimplSharp.Reflection.Activator.CreateInstance(type);
+ factory.LoadTypeFactories();
+ }
+ catch (Exception e)
+ {
+ Debug.Console(0, Debug.ErrorLogLevel.Error, "Unable to load type: '{1}' DeviceFactory: {0}", e, type.Name);
+ }
+ }
+ }
+ }
+
+ ///
+ /// A dictionary of factory methods, keyed by config types, added by plugins.
+ /// These methods are looked up and called by GetDevice in this class.
+ ///
+ static Dictionary FactoryMethods =
+ new Dictionary(StringComparer.OrdinalIgnoreCase);
+
+ ///
+ /// Adds a plugin factory method
+ ///
+ ///
+ ///
+ public static void AddFactoryForType(string typeName, Func method)
+ {
+ //Debug.Console(1, Debug.ErrorLogLevel.Notice, "Adding factory method for type '{0}'", typeName);
+ DeviceFactory.FactoryMethods.Add(typeName, new DeviceFactoryWrapper() { FactoryMethod = method});
+ }
+
+ public static void AddFactoryForType(string typeName, string description, CType cType, Func