diff --git a/PepperDashEssentials/Bridges/BridgeBase.cs b/PepperDashEssentials/Bridges/BridgeBase.cs
index cf2d2f27..b8cf0fc0 100644
--- a/PepperDashEssentials/Bridges/BridgeBase.cs
+++ b/PepperDashEssentials/Bridges/BridgeBase.cs
@@ -5,6 +5,8 @@ using System.Text;
using Crestron.SimplSharp;
using Crestron.SimplSharpPro.EthernetCommunication;
+using Newtonsoft.Json;
+
using PepperDash.Core;
using PepperDash.Essentials.Core;
using PepperDash.Essentials.Core.Devices;
@@ -76,20 +78,24 @@ namespace PepperDash.Essentials.Bridges
}
}
-
-
-
- ///
- /// Defines each type and it's matching API type
- ///
- public static class DeviceApiFactory
+ public class EiscApiPropertiesConfig
{
- public static Dictionary TypeMap = new Dictionary
+ [JsonProperty("control")]
+ public EssentialsControlPropertiesConfig Control { get; set; }
+
+
+ [JsonProperty("devices")]
+ public List Devices { get; set; }
+
+ public class ApiDevice
{
- { typeof(DmChassisController), typeof(DmChassisControllerApi) },
- { typeof(IBasicCommunication), typeof(IBasicCommunicationApi) }
- //{ typeof(SomeShittyDisplayController), typeof(SomeShittyDisplayControllerApi) }
- };
+ [JsonProperty("deviceKey")]
+ public string DeviceKey { get; set; }
+
+ [JsonProperty("joinStart")]
+ public int JoinStart { get; set; }
+ }
+
}
@@ -159,20 +165,6 @@ namespace PepperDash.Essentials.Bridges
- public class DmChassisController : Device
- {
- public DmChassisController(string key)
- : base(key)
- {
-
- }
-
- public void SetInput(int input)
- {
- Debug.Console(2, this, "Dm Chassis {0}, input {1}", Key, input);
- }
- }
-
///
/// Each flavor of API is a static class with static properties and a static constructor that
/// links up the things to do.
diff --git a/PepperDashEssentials/Bridges/IBasicCommunicationBridgeMap.cs b/PepperDashEssentials/Bridges/IBasicCommunicationBridgeMap.cs
index 5b7998cd..69806109 100644
--- a/PepperDashEssentials/Bridges/IBasicCommunicationBridgeMap.cs
+++ b/PepperDashEssentials/Bridges/IBasicCommunicationBridgeMap.cs
@@ -15,9 +15,9 @@ namespace PepperDash.Essentials.Bridges.TEST
///
///
///
- public static class DmChassisControllerTrilistBridgeExtensions
+ public static class DmChassisControllerApiExtensions
{
- public static void LinkMeToTrilist(this PepperDash.Essentials.DM.DmChassisController chassis,
+ public static void LinkToApi(this PepperDash.Essentials.DM.DmChassisController chassis,
BasicTriList trilist, Dictionary map, uint joinstart)
{
uint joinOffset = joinstart - 1;
@@ -48,7 +48,7 @@ namespace PepperDash.Essentials.Bridges.TEST
///
/// For trilists to com sockets only
///
- public static class IBasicCommunicationTrilistBridgeExtensions
+ public static class IBasicCommunicationApiExtensions
{
///
///
@@ -56,11 +56,12 @@ namespace PepperDash.Essentials.Bridges.TEST
///
///
///
- public static void LinkMeToTrilist(this IBasicCommunication comm, BasicTriList trilist, uint joinStart)
+ public static void LinkToApi(this IBasicCommunication comm, BasicTriList trilist, uint joinStart)
{
// this is a permanent event handler. This cannot be -= from event
comm.TextReceived += (s, a) => trilist.SetString(joinStart, a.Text);
trilist.SetStringSigAction(joinStart, new Action(s => comm.SendText(s)));
+
var sComm = comm as ISocketStatus;
if (sComm != null)
{
diff --git a/PepperDashEssentials/ControlSystem.cs b/PepperDashEssentials/ControlSystem.cs
index f33537ae..02a95d85 100644
--- a/PepperDashEssentials/ControlSystem.cs
+++ b/PepperDashEssentials/ControlSystem.cs
@@ -235,6 +235,8 @@ namespace PepperDash.Essentials
var newDev = DeviceFactory.GetDevice(devConf);
// Then associated library factories
+ if (newDev == null)
+ newDev = PepperDash.Essentials.Core.DeviceFactory.GetDevice(devConf);
if (newDev == null)
newDev = PepperDash.Essentials.Devices.Common.DeviceFactory.GetDevice(devConf);
if (newDev == null)
diff --git a/Release Package/PepperDashEssentials.cpz b/Release Package/PepperDashEssentials.cpz
index 47114c83..7da84300 100644
Binary files a/Release Package/PepperDashEssentials.cpz and b/Release Package/PepperDashEssentials.cpz differ
diff --git a/Release Package/PepperDashEssentials.dll b/Release Package/PepperDashEssentials.dll
index b888de8f..40f3f54b 100644
Binary files a/Release Package/PepperDashEssentials.dll and b/Release Package/PepperDashEssentials.dll differ
diff --git a/essentials-framework b/essentials-framework
index 5f438394..ae1719ee 160000
--- a/essentials-framework
+++ b/essentials-framework
@@ -1 +1 @@
-Subproject commit 5f438394e02474347ed8c18c47e98b4e95bef3af
+Subproject commit ae1719ee9b2864c91b42be05874d0d5b13e27ed5