feat: add RoutingFeedbackManager

RoutingFeedbackManager keeps track of updates from IRoutingSinkWotjFeedbacl devoces & IRoutingWithFeedback devices to allow for walking tieLines and finding a source.
This commit is contained in:
Andrew Welker
2024-05-08 08:37:26 -05:00
parent e3e7add5b9
commit 19bd5723c8
15 changed files with 98 additions and 34 deletions

View File

@@ -5,6 +5,7 @@ using System.Collections;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Crestron.SimplSharp;
using Crestron.SimplSharp.Reflection;
using Newtonsoft.Json;
@@ -82,7 +83,8 @@ namespace PepperDash.Essentials.Core
var convertedParams = mParams
.Select((p, i) => ConvertType(action.Params[i], p.ParameterType))
.ToArray();
method.Invoke(obj, convertedParams);
Task.Run(() => method.Invoke(obj, convertedParams));
CrestronConsole.ConsoleCommandResponse("Method {0} successfully called on device {1}", method.Name,
action.DeviceKey);

View File

@@ -70,7 +70,7 @@ namespace PepperDash.Essentials.Core.Devices
{
public LaptopFactory()
{
TypeNames = new List<string>() { "laptop" };
TypeNames = new List<string>() { "deprecated" };
}
public override EssentialsDevice BuildDevice(DeviceConfig dc)

View File

@@ -161,8 +161,11 @@ namespace PepperDash.Essentials.Core
Icon = "Blank";
}
}
public override string ToString()
{
return $"{SourceKey}:{Name}";
}
}
public class SourceRouteListItem
{