Fixed startup crash when device has out-of-range com port

This commit is contained in:
Heath Volmer
2018-03-13 18:33:16 -06:00
parent ced1efdb47
commit ee55be86e0
6 changed files with 16 additions and 9 deletions

View File

@@ -26,12 +26,20 @@ namespace PepperDash.Essentials.Core
public ComPortController(string key, ComPort port, ComPort.ComPortSpec spec)
: base(key)
{
if (port == null)
{
Debug.Console(0, this, "ERROR: Invalid com port, continuing but comms will not function");
return;
}
Port = port;
Spec = spec;
//IsConnected = new BoolFeedback(CommonBoolCue.IsConnected, () => true);
if (Port.Parent is CrestronControlSystem)
{
var result = Port.Register();
if (result != eDeviceRegistrationUnRegistrationResponse.Success)
{
@@ -80,11 +88,15 @@ namespace PepperDash.Essentials.Core
public void SendText(string text)
{
if (Port == null)
return;
Port.Send(text);
}
public void SendBytes(byte[] bytes)
{
if (Port == null)
return;
var text = Encoding.GetEncoding(28591).GetString(bytes, 0, bytes.Length);
Port.Send(text);
}

View File

@@ -17,9 +17,6 @@ namespace PepperDash.Essentials.Core.Config
[JsonProperty("info")]
public InfoConfig Info { get; set; }
//[JsonProperty("roomLists")]
//public Dictionary<string, List<string>> RoomLists { get; set; }
[JsonProperty("devices")]
public List<DeviceConfig> Devices { get; set; }

View File

@@ -25,7 +25,8 @@ namespace PepperDash.Essentials
//public CotijaConfig Cotija { get; private set; }
public string SystemUuid
[JsonProperty("templateUuid")]
public string SystemUuid
{
get
{
@@ -37,7 +38,8 @@ namespace PepperDash.Essentials
}
}
public string TemplateUuid
[JsonProperty("systemUuid")]
public string TemplateUuid
{
get
{

View File

@@ -32,10 +32,6 @@ namespace PepperDash.Essentials
/// </summary>
public override void InitializeSystem()
{
//CrestronConsole.AddNewConsoleCommand(s => GoWithLoad(), "go", "Reloads configuration file",
// ConsoleAccessLevelEnum.AccessOperator);
//CrestronConsole.AddNewConsoleCommand(s => TearDown(), "ungo", "Unloads configuration file",
// ConsoleAccessLevelEnum.AccessOperator);
CrestronConsole.AddNewConsoleCommand(s =>
{
foreach (var tl in TieLineCollection.Default)