mirror of
https://github.com/PepperDash/Essentials.git
synced 2026-02-15 20:54:55 +00:00
Merge pull request #1191 from PepperDash/feature-2.0.0/fix-touchpanel-config
Add JSON Props & Control Config
This commit is contained in:
@@ -23,12 +23,12 @@ namespace PepperDash.Essentials.Core
|
|||||||
{
|
{
|
||||||
public override object ReadJson(JsonReader reader, Type objectType, object existingValue, JsonSerializer serializer)
|
public override object ReadJson(JsonReader reader, Type objectType, object existingValue, JsonSerializer serializer)
|
||||||
{
|
{
|
||||||
if (objectType == typeof(ComPort.ComPortSpec))
|
if (objectType == typeof(ComPort.ComPortSpec?))
|
||||||
{
|
{
|
||||||
var newSer = new JsonSerializer();
|
var newSer = new JsonSerializer();
|
||||||
newSer.Converters.Add(new ComSpecPropsJsonConverter());
|
newSer.Converters.Add(new ComSpecPropsJsonConverter());
|
||||||
newSer.ObjectCreationHandling = ObjectCreationHandling.Replace;
|
newSer.ObjectCreationHandling = ObjectCreationHandling.Replace;
|
||||||
return newSer.Deserialize<ComPort.ComPortSpec>(reader);
|
return newSer.Deserialize<ComPort.ComPortSpec?>(reader);
|
||||||
}
|
}
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
@@ -38,7 +38,7 @@ namespace PepperDash.Essentials.Core
|
|||||||
/// </summary>
|
/// </summary>
|
||||||
public override bool CanConvert(Type objectType)
|
public override bool CanConvert(Type objectType)
|
||||||
{
|
{
|
||||||
return objectType == typeof(ComPort.ComPortSpec);
|
return objectType == typeof(ComPort.ComPortSpec?);
|
||||||
}
|
}
|
||||||
|
|
||||||
public override bool CanRead { get { return true; } }
|
public override bool CanRead { get { return true; } }
|
||||||
|
|||||||
@@ -51,7 +51,7 @@ namespace PepperDash.Essentials.Core
|
|||||||
switch (controlConfig.Method)
|
switch (controlConfig.Method)
|
||||||
{
|
{
|
||||||
case eControlMethod.Com:
|
case eControlMethod.Com:
|
||||||
comm = new ComPortController(deviceConfig.Key + "-com", GetComPort, controlConfig.ComParams, controlConfig);
|
comm = new ComPortController(deviceConfig.Key + "-com", GetComPort, controlConfig.ComParams.Value, controlConfig);
|
||||||
break;
|
break;
|
||||||
case eControlMethod.Cec:
|
case eControlMethod.Cec:
|
||||||
comm = new CecPortController(deviceConfig.Key + "-cec", GetCecPort, controlConfig);
|
comm = new CecPortController(deviceConfig.Key + "-cec", GetCecPort, controlConfig);
|
||||||
@@ -115,7 +115,7 @@ namespace PepperDash.Essentials.Core
|
|||||||
var comPar = config.ComParams;
|
var comPar = config.ComParams;
|
||||||
var dev = GetIComPortsDeviceFromManagedDevice(config.ControlPortDevKey);
|
var dev = GetIComPortsDeviceFromManagedDevice(config.ControlPortDevKey);
|
||||||
if (dev != null && config.ControlPortNumber <= dev.NumberOfComPorts)
|
if (dev != null && config.ControlPortNumber <= dev.NumberOfComPorts)
|
||||||
return dev.ComPorts[config.ControlPortNumber];
|
return dev.ComPorts[config.ControlPortNumber.Value];
|
||||||
Debug.LogMessage(LogEventLevel.Information, "GetComPort: Device '{0}' does not have com port {1}", config.ControlPortDevKey, config.ControlPortNumber);
|
Debug.LogMessage(LogEventLevel.Information, "GetComPort: Device '{0}' does not have com port {1}", config.ControlPortDevKey, config.ControlPortNumber);
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
@@ -202,17 +202,20 @@ namespace PepperDash.Essentials.Core
|
|||||||
///
|
///
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public class EssentialsControlPropertiesConfig :
|
public class EssentialsControlPropertiesConfig :
|
||||||
PepperDash.Core.ControlPropertiesConfig
|
ControlPropertiesConfig
|
||||||
{
|
{
|
||||||
|
|
||||||
|
[JsonProperty("comParams", NullValueHandling = NullValueHandling.Ignore)]
|
||||||
[JsonConverter(typeof(ComSpecJsonConverter))]
|
[JsonConverter(typeof(ComSpecJsonConverter))]
|
||||||
public ComPort.ComPortSpec ComParams { get; set; }
|
public ComPort.ComPortSpec? ComParams { get; set; }
|
||||||
|
|
||||||
|
[JsonProperty("cresnetId", NullValueHandling = NullValueHandling.Ignore)]
|
||||||
public string CresnetId { get; set; }
|
public string CresnetId { get; set; }
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Attempts to provide uint conversion of string CresnetId
|
/// Attempts to provide uint conversion of string CresnetId
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
[JsonIgnore]
|
||||||
public uint CresnetIdInt
|
public uint CresnetIdInt
|
||||||
{
|
{
|
||||||
get
|
get
|
||||||
@@ -228,11 +231,13 @@ namespace PepperDash.Essentials.Core
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
[JsonProperty("infinetId", NullValueHandling = NullValueHandling.Ignore)]
|
||||||
public string InfinetId { get; set; }
|
public string InfinetId { get; set; }
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Attepmts to provide uiont conversion of string InifinetId
|
/// Attepmts to provide uiont conversion of string InifinetId
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
[JsonIgnore]
|
||||||
public uint InfinetIdInt
|
public uint InfinetIdInt
|
||||||
{
|
{
|
||||||
get
|
get
|
||||||
|
|||||||
@@ -28,7 +28,7 @@
|
|||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<PackageReference Include="Crestron.SimplSharp.SDK.ProgramLibrary" Version="2.20.66" />
|
<PackageReference Include="Crestron.SimplSharp.SDK.ProgramLibrary" Version="2.20.66" />
|
||||||
<PackageReference Include="PepperDashCore" Version="2.0.0-beta-418" />
|
<PackageReference Include="PepperDashCore" Version="2.0.0-beta-423" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<None Include="Crestron\CrestronGenericBaseDevice.cs.orig" />
|
<None Include="Crestron\CrestronGenericBaseDevice.cs.orig" />
|
||||||
|
|||||||
@@ -1,33 +1,69 @@
|
|||||||
namespace PepperDash.Essentials.Core
|
using Newtonsoft.Json;
|
||||||
|
|
||||||
|
namespace PepperDash.Essentials.Core
|
||||||
{
|
{
|
||||||
public class CrestronTouchpanelPropertiesConfig
|
public class CrestronTouchpanelPropertiesConfig
|
||||||
{
|
{
|
||||||
|
[JsonProperty("control")]
|
||||||
|
public EssentialsControlPropertiesConfig ControlProperties { get; set; }
|
||||||
|
|
||||||
|
[JsonProperty("ipId", NullValueHandling = NullValueHandling.Ignore)]
|
||||||
public string IpId { get; set; }
|
public string IpId { get; set; }
|
||||||
|
|
||||||
|
[JsonProperty("defaultRoomKey", NullValueHandling = NullValueHandling.Ignore)]
|
||||||
public string DefaultRoomKey { get; set; }
|
public string DefaultRoomKey { get; set; }
|
||||||
|
|
||||||
|
[JsonProperty("roomListKey", NullValueHandling = NullValueHandling.Ignore)]
|
||||||
public string RoomListKey { get; set; }
|
public string RoomListKey { get; set; }
|
||||||
|
|
||||||
|
[JsonProperty("sgdFile", NullValueHandling = NullValueHandling.Ignore)]
|
||||||
public string SgdFile { get; set; }
|
public string SgdFile { get; set; }
|
||||||
|
|
||||||
|
[JsonProperty("projectName", NullValueHandling = NullValueHandling.Ignore)]
|
||||||
public string ProjectName { get; set; }
|
public string ProjectName { get; set; }
|
||||||
public bool ShowVolumeGauge { get; set; }
|
|
||||||
public bool UsesSplashPage { get; set; }
|
[JsonProperty("showVolumeGauge", NullValueHandling = NullValueHandling.Ignore)]
|
||||||
public bool ShowDate { get; set; }
|
public bool? ShowVolumeGauge { get; set; }
|
||||||
public bool ShowTime { get; set; }
|
|
||||||
|
[JsonProperty("usesSplashPage", NullValueHandling = NullValueHandling.Ignore)]
|
||||||
|
public bool? UsesSplashPage { get; set; }
|
||||||
|
|
||||||
|
[JsonProperty("showDate", NullValueHandling = NullValueHandling.Ignore)]
|
||||||
|
public bool? ShowDate { get; set; }
|
||||||
|
|
||||||
|
[JsonProperty("showTime", NullValueHandling = NullValueHandling.Ignore)]
|
||||||
|
public bool? ShowTime { get; set; }
|
||||||
|
|
||||||
|
[JsonProperty("setup", NullValueHandling = NullValueHandling.Ignore)]
|
||||||
public UiSetupPropertiesConfig Setup { get; set; }
|
public UiSetupPropertiesConfig Setup { get; set; }
|
||||||
|
|
||||||
|
[JsonProperty("headerStyle", NullValueHandling = NullValueHandling.Ignore)]
|
||||||
public string HeaderStyle { get; set; }
|
public string HeaderStyle { get; set; }
|
||||||
public bool IncludeInFusionRoomHealth { get; set; }
|
|
||||||
public uint ScreenSaverTimeoutMin { get; set; }
|
[JsonProperty("includeInFusionRoomHealth", NullValueHandling = NullValueHandling.Ignore)]
|
||||||
public uint ScreenSaverMovePositionIntervalMs { get; set; }
|
public bool? IncludeInFusionRoomHealth { get; set; }
|
||||||
|
|
||||||
|
[JsonProperty("screenSaverTimeoutMin", NullValueHandling = NullValueHandling.Ignore)]
|
||||||
|
public uint? ScreenSaverTimeoutMin { get; set; }
|
||||||
|
|
||||||
|
[JsonProperty("screenSaverMovePositionIntervalMs", NullValueHandling = NullValueHandling.Ignore)]
|
||||||
|
public uint? ScreenSaverMovePositionIntervalMs { get; set; }
|
||||||
|
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// The count of sources that will trigger the "additional" arrows to show on the SRL.
|
/// The count of sources that will trigger the "additional" arrows to show on the SRL.
|
||||||
/// Defaults to 5
|
/// Defaults to 5
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public int SourcesOverflowCount { get; set; }
|
[JsonProperty("sourcesOverflowCount", NullValueHandling = NullValueHandling.Ignore)]
|
||||||
|
public int? SourcesOverflowCount { get; set; }
|
||||||
|
|
||||||
public CrestronTouchpanelPropertiesConfig()
|
public CrestronTouchpanelPropertiesConfig() : this(false) { }
|
||||||
|
|
||||||
|
public CrestronTouchpanelPropertiesConfig(bool setDefaultValues = false)
|
||||||
{
|
{
|
||||||
|
if(!setDefaultValues) { return; }
|
||||||
SourcesOverflowCount = 5;
|
SourcesOverflowCount = 5;
|
||||||
HeaderStyle = CrestronTouchpanelPropertiesConfig.Habanero;
|
HeaderStyle = Habanero;
|
||||||
|
|
||||||
// Default values
|
// Default values
|
||||||
ScreenSaverTimeoutMin = 5;
|
ScreenSaverTimeoutMin = 5;
|
||||||
@@ -49,6 +85,7 @@
|
|||||||
/// </summary>
|
/// </summary>
|
||||||
public class UiSetupPropertiesConfig
|
public class UiSetupPropertiesConfig
|
||||||
{
|
{
|
||||||
|
[JsonProperty("isVisible", NullValueHandling = NullValueHandling.Ignore)]
|
||||||
public bool IsVisible { get; set; }
|
public bool IsVisible { get; set; }
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -28,6 +28,6 @@
|
|||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<PackageReference Include="Crestron.SimplSharp.SDK.ProgramLibrary" Version="2.20.66" />
|
<PackageReference Include="Crestron.SimplSharp.SDK.ProgramLibrary" Version="2.20.66" />
|
||||||
<PackageReference Include="PepperDashCore" Version="2.0.0-beta-418" />
|
<PackageReference Include="PepperDashCore" Version="2.0.0-beta-423" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
</Project>
|
</Project>
|
||||||
@@ -47,7 +47,7 @@
|
|||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<PackageReference Include="Crestron.SimplSharp.SDK.Program" Version="2.20.66" />
|
<PackageReference Include="Crestron.SimplSharp.SDK.Program" Version="2.20.66" />
|
||||||
<PackageReference Include="PepperDashCore" Version="2.0.0-beta-418" />
|
<PackageReference Include="PepperDashCore" Version="2.0.0-beta-423" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<ProjectReference Include="..\PepperDash.Essentials.Core\PepperDash.Essentials.Core.csproj" />
|
<ProjectReference Include="..\PepperDash.Essentials.Core\PepperDash.Essentials.Core.csproj" />
|
||||||
|
|||||||
Reference in New Issue
Block a user