diff --git a/QscQsys/Q-Sys Designer File/Test.qsys b/QscQsys/Q-Sys Designer File/Test.qsys
index d83dabb..b06eeb7 100644
Binary files a/QscQsys/Q-Sys Designer File/Test.qsys and b/QscQsys/Q-Sys Designer File/Test.qsys differ
diff --git a/QscQsys/QscQsys/QsysCore.cs b/QscQsys/QscQsys/QsysCore.cs
index d00f9b5..129758b 100644
--- a/QscQsys/QscQsys/QsysCore.cs
+++ b/QscQsys/QscQsys/QsysCore.cs
@@ -12,7 +12,7 @@
namespace QscQsys
{
///
- /// Q-SYS Core class that manages connection and parses responses to be distributed to components and named control classes
+ /// Q-SYS Core class that manages connection and parses responses to be distributed to components and named control classes.
///
public class QsysCore : IDisposable
{
@@ -20,32 +20,53 @@ public class QsysCore : IDisposable
public const double TOLERANCE = .1d;
#region Delegates
+
public delegate void IsLoggedIn(SimplSharpString id, ushort value);
+
public delegate void IsRegistered(SimplSharpString id, ushort value);
- public delegate void IsConnectedStatus(SimplSharpString id, ushort value);
- public delegate void CoreStatus(SimplSharpString id, SimplSharpString designName, ushort isRedundant, ushort isEmulator);
+
+ public delegate void PrimaryIsConnectedStatus(SimplSharpString id, ushort value);
+
+ public delegate void BackupIsConnectedStatus(SimplSharpString id, ushort value);
+
+ public delegate void CoreStatus(
+ SimplSharpString id, SimplSharpString designName, ushort isRedundant, ushort isEmulator);
+
+ public delegate void PrimaryIsActive();
+
+ public delegate void BackupIsActive();
+
public delegate void SendingCommand(SimplSharpString id, SimplSharpString command);
- public IsLoggedIn onIsLoggedIn { get; set; }
- public IsRegistered onIsRegistered { get; set; }
- public IsConnectedStatus onIsConnected { get; set; }
- public CoreStatus onNewCoreStatus { get; set; }
- public SendingCommand onSendingCommand { get; set; }
+
+ public IsLoggedIn OnIsLoggedIn { get; set; }
+ public IsRegistered OnIsRegistered { get; set; }
+ public PrimaryIsConnectedStatus OnPrimaryIsConnected { get; set; }
+ public BackupIsConnectedStatus OnBackupIsConnected { get; set; }
+ public CoreStatus OnNewCoreStatus { get; set; }
+ public PrimaryIsActive OnPrimaryIsActive { get; set; }
+ public BackupIsActive OnBackupIsActive { get; set; }
+ public SendingCommand OnSendingCommand { get; set; }
+
#endregion
private readonly CrestronQueue _commandQueue = new CrestronQueue(1000);
- private CTimer _commandQueueTimer;
- private CTimer _heartbeatTimer;
- private CTimer _waitForConnection;
+ private readonly CTimer _commandQueueTimer;
+ private readonly CTimer _heartbeatTimer;
+ private readonly CTimer _waitForConnection;
private TCPClientDevice _primaryClient;
- private TCPClientDevice _secondaryClient;
- private StringBuilder _rxData = new StringBuilder();
- private readonly object _responseLock = new object();
- private readonly object _parseLock = new object();
+ private TCPClientDevice _backupClient;
+ private StringBuilder _primaryRxData = new StringBuilder();
+ private StringBuilder _backupRxData = new StringBuilder();
+ private readonly object _primaryResponseLock = new object();
+ private readonly object _backupResponseLock = new object();
+ private readonly object _primaryParseLock = new object();
+ private readonly object _backupParseLock = new object();
private readonly object _initLock = new object();
-
+
private readonly CCriticalSection _connectionCritical = new CCriticalSection();
private bool _isInitialized;
- private bool _isConnected;
+ private bool _primaryIsConnected;
+ private bool _backupIsConnected;
private bool _isLoggedIn;
private bool _disposed;
private ushort _debug;
@@ -61,14 +82,15 @@ public class QsysCore : IDisposable
private string _coreId;
private string _username;
private string _password;
- private string _primaryCoreIpA;
- private string _backupCoreIpA;
private readonly Dictionary _components;
- private readonly Dictionary> _componentUpdateCallbacks;
+ private readonly Dictionary> _componentUpdateCallbacks;
private readonly Dictionary _controls;
- private readonly Dictionary> _controlUpdateCallbacks;
+ private readonly Dictionary> _controlUpdateCallbacks;
+ ///
+ /// Initializes a new instance of the class.
+ ///
public QsysCore()
{
_components = new Dictionary();
@@ -80,61 +102,112 @@ public QsysCore()
_waitForConnection = new CTimer(Initialize, Timeout.Infinite);
}
-
#region Properties
+
///
- /// Get initialzation status
+ /// Gets initialzation status.
///
- public bool IsInitialized { get { return _isInitialized; } }
+ public bool IsInitialized
+ {
+ get { return _isInitialized; }
+ }
///
- /// Get disposed status
+ /// Gets disposed status.
///
- public bool IsDisposed { get { return _disposed; } }
+ public bool IsDisposed
+ {
+ get { return _disposed; }
+ }
///
- /// Get connection status
+ /// Gets primary core connection status.
///
- public bool IsConnected { get { return _isConnected; } }
+ public bool PrimaryIsConnected
+ {
+ get { return _primaryIsConnected; }
+ }
///
- /// Get authentication status
+ /// Gets backup core connection status.
///
- public bool IsAuthenticatedIn { get { return _isLoggedIn; } }
+ public bool SecondaryIsConnected
+ {
+ get { return _backupIsConnected; }
+ }
///
- /// Get debug mode
+ /// Gets authentication status.
///
- public ushort IsDebugMode { get { return _debug; } }
+ public bool IsAuthenticated
+ {
+ get { return _isLoggedIn; }
+ }
///
- /// Get or set max logon attempts
+ /// Gets debug mode.
///
- public ushort MaxLogonAttemps { get { return _maxLogonAttempts; } set { _maxLogonAttempts = value; } }
+ public ushort IsDebugMode
+ {
+ get { return _debug; }
+ }
+
+ ///
+ /// Gets or sets the max logon attempts made when trying to authorize with the core.
+ ///
+ public ushort MaxLogonAttemps
+ {
+ get { return _maxLogonAttempts; }
+ set { _maxLogonAttempts = value; }
+ }
///
- /// Get redundant status
+ /// Gets redundant status.
///
- public bool IsRedundant { get { return _isRedundant; } }
+ public bool IsRedundant
+ {
+ get { return _isRedundant; }
+ }
///
- /// Get emulator status
+ /// Gets emulator status.
///
- public bool IsEmulator { get { return _isEmulator; } }
+ public bool IsEmulator
+ {
+ get { return _isEmulator; }
+ }
///
- /// Get running design name
+ /// Gets running design name.
///
- public string DesignName { get { return _designName; } }
+ public string DesignName
+ {
+ get { return _designName; }
+ }
- public bool PrimaryCoreActive { get { return _primaryCoreActive; } }
+ ///
+ /// Gets a bool representing the primary core active status.
+ ///
+ public bool PrimaryCoreActive
+ {
+ get { return _primaryCoreActive; }
+ }
- public bool SecondaryCoreActive { get { return _backupCoreActive; } }
+ ///
+ /// Gets a bool representing the backup core active status.
+ ///
+ public bool BackupCoreActive
+ {
+ get { return _backupCoreActive; }
+ }
///
- /// Get core ID
+ /// Get the core ID.
///
- public string CoreId { get { return _coreId; } }
+ public string CoreId
+ {
+ get { return _coreId; }
+ }
///
/// Set debug mode.
@@ -154,34 +227,36 @@ public void Debug(ushort value)
_primaryClient.Debug = _debug;
}
- if (_debug > 0)
+ if (_backupClient != null)
{
- CrestronConsole.PrintLine("********Qsys Debug Mode Active********");
- CrestronConsole.PrintLine("See log for details");
- ErrorLog.Notice("********Qsys Debug Mode Active********");
- if (QsysCoreManager.Is3Series)
- {
- CrestronConsole.PrintLine("********Qsys Running On 3-Series********");
- ErrorLog.Notice("********Qsys Running On 3-Series********");
- }
- else
- {
- CrestronConsole.PrintLine("********Qsys Running On 4-Series Or Greater********");
- ErrorLog.Notice("********Qsys Running On 4-Series Or Greater********");
- }
-
- if (_debug == 1)
- {
+ _backupClient.Debug = _debug;
+ }
+
+ if (_debug <= 0) return;
+ CrestronConsole.PrintLine("********Qsys Debug Mode Active********");
+ CrestronConsole.PrintLine("See log for details");
+ ErrorLog.Notice("********Qsys Debug Mode Active********");
+ if (QsysCoreManager.Is3Series)
+ {
+ CrestronConsole.PrintLine("********Qsys Running On 3-Series********");
+ ErrorLog.Notice("********Qsys Running On 3-Series********");
+ }
+ else
+ {
+ CrestronConsole.PrintLine("********Qsys Running On 4-Series Or Greater********");
+ ErrorLog.Notice("********Qsys Running On 4-Series Or Greater********");
+ }
+
+ switch (_debug)
+ {
+ case 1:
ErrorLog.Notice("Qsys debug level: Main communications");
- }
- else if (_debug == 2)
- {
+ break;
+ case 2:
ErrorLog.Notice("Qsys debug level: Main communications and verbose console");
- }
- ErrorLog.Notice("Qsys TCP ID 1710");
+ break;
}
-
-
+ ErrorLog.Notice("Qsys TCP ID 1710");
}
///
@@ -189,27 +264,27 @@ public void Debug(ushort value)
///
public ushort Port
{
- get {
- return _primaryClient == null ? ushort.MinValue : _primaryClient.Port;
- }
+ get { return _primaryClient == null ? ushort.MinValue : _primaryClient.Port; }
set
{
if (_primaryClient != null)
{
_primaryClient.Port = value;
}
+
+ if (_backupClient != null)
+ {
+ _backupClient.Port = value;
+ }
}
}
///
- /// Get or set the network host address. If currently connectd, changing the host will reconnect with the new host address.
+ /// Gets or sets the primary core network host address. If currently connected, changing the host will reconnect with the new host address.
///
- public string Host
+ public string PrimaryHost
{
- get
- {
- return _primaryClient == null ? string.Empty : _primaryClient.Host;
- }
+ get { return _primaryClient == null ? string.Empty : _primaryClient.Host; }
set
{
if (_primaryClient != null)
@@ -219,13 +294,50 @@ public string Host
}
}
- #endregion
+ ///
+ /// Gets or sets the backup core network host address. If currently connected, changing the host will reconnect with the new host address.
+ ///
+ public string BackupHost
+ {
+ get { return _backupClient == null ? string.Empty : _backupClient.Host; }
+ set
+ {
+ if (_backupClient == null) return;
+ if (_backupClient.Host == string.Empty)
+ {
+ _backupClient.Host = value;
+ _backupClient.Connect();
+ return;
+ }
+
+ _backupClient.Host = value;
+ }
+ }
+
+ ///
+ /// Gets or sets the username used to authenticate with the core.
+ ///
+ public string Username
+ {
+ get { return _username; }
+ set { _username = value; }
+ }
+
+ ///
+ /// Sets the password used to authenticate with the core.
+ ///
+ public string Password
+ {
+ set { _password = value; }
+ }
+
+ #endregion
#region Initialization
///
/// Initialzes all methods that are required to setup the class. Connection is established on port 1702.
///
- public void Initialize(string id, string host, ushort port, string username, string password, ushort useExternalConnection)
+ public void Initialize(string id, string primaryHost, string backupHost, ushort port, string username, string password, ushort useExternalConnection)
{
lock (_initLock)
{
@@ -238,32 +350,33 @@ public void Initialize(string id, string host, ushort port, string username, str
_externalConnection = Convert.ToBoolean(useExternalConnection);
- if (username.Length > 0)
- _username = username;
- else
- _username = string.Empty;
+ _username = username.Length > 0 ? username : string.Empty;
- if (password.Length > 0)
- _password = password;
- else
- _password = string.Empty;
+ _password = password.Length > 0 ? password : string.Empty;
QsysCoreManager.AddCore(this);
if (_debug > 1)
ErrorLog.Notice("QsysProcessor is initializing");
- if (!_externalConnection)
+ if (_externalConnection)
{
- _primaryClient = new TCPClientDevice();
+ _primaryCoreActive = true;
+ if (OnPrimaryIsActive != null)
+ OnPrimaryIsActive();
+ return;
+ }
- _primaryClient.Debug = _debug;
+ _primaryClient = new TCPClientDevice {Debug = _debug, ID = id + "-primary"};
+ _backupClient = new TCPClientDevice {Debug = _debug, ID = id + "-backup"};
- _primaryClient.ID = id;
- _primaryClient.ConnectionStatus += client_ConnectionStatus;
- _primaryClient.ResponseString += client_ResponseString;
- _primaryClient.Connect(host, port);
- }
+ _primaryClient.ConnectionStatus += primaryClient_ConnectionStatus;
+ _primaryClient.ResponseString += primaryClient_ResponseString;
+ _backupClient.ConnectionStatus += backupClient_ConnectionStatus;
+ _backupClient.ResponseString += backupClient_ResponseString;
+ _primaryClient.Connect(primaryHost, port);
+ if(backupHost != string.Empty)
+ _backupClient.Connect(backupHost, port);
}
catch (Exception e)
{
@@ -297,20 +410,21 @@ private void Initialize(object o)
{
lock (_initLock)
{
- if (!_isConnected)
+
+ if(( _primaryCoreActive && !_primaryIsConnected) || (_backupCoreActive && !_backupIsConnected))
return;
var components = GetNamedComponents().ToArray();
components.ForEach(AddComponentToChangeGroup);
-
- if (!_isConnected)
+
+ if ((_primaryCoreActive && !_primaryIsConnected) || (_backupCoreActive && !_backupIsConnected))
return;
var controls = GetNamedControls().ToArray();
AddControlsToChangeGroup(controls);
- if (!_isConnected)
+ if ((_primaryCoreActive && !_primaryIsConnected) || (_backupCoreActive && !_backupIsConnected))
return;
if(components.Any() || controls.Any())
@@ -324,14 +438,33 @@ private void Initialize(object o)
_isInitialized = true;
- if (onIsRegistered != null)
- onIsRegistered(_coreId, 1);
+ if (OnIsRegistered != null)
+ OnIsRegistered(_coreId, 1);
+ }
+ }
+
+ private void ResetInitialization()
+ {
+ lock (_initLock)
+ {
+ _changeGroupCreated = false;
+ _isLoggedIn = false;
+ _isInitialized = false;
+
+ _heartbeatTimer.Stop();
+ _commandQueue.Clear();
+
+ if (OnIsRegistered != null)
+ OnIsRegistered(_coreId, 0);
+
+ if (OnIsLoggedIn != null)
+ OnIsLoggedIn(_coreId, 0);
}
}
private void StartAutoPoll()
{
- if (!_isConnected || _changeGroupCreated)
+ if (((_primaryCoreActive && !_primaryIsConnected) || (_backupCoreActive && !_backupIsConnected)) || _changeGroupCreated)
return;
_changeGroupCreated = true;
@@ -513,55 +646,135 @@ private void ControlOnSubscribeChanged(object sender, BoolEventArgs args)
#endregion
#region TCP Client Events
- private void client_ResponseString(string response, SimplSharpString id)
+ private void primaryClient_ResponseString(string response, SimplSharpString id)
{
- ProcessResponse(response);
+ lock (_primaryParseLock)
+ {
+ _primaryRxData.Append(response);
+ }
+
+ if (!CMonitor.TryEnter(_primaryResponseLock)) return;
+ while (_primaryRxData.ToString().Contains("\x00"))
+ {
+ string responseData;
+
+ lock (_primaryParseLock)
+ {
+ responseData = _primaryRxData.ToString();
+ var delimeterPos = responseData.IndexOf("\x00", StringComparison.Ordinal);
+ responseData = responseData.Substring(0, delimeterPos);
+ _primaryRxData.Remove(0, delimeterPos + 1);
+ }
+
+ if (_debug == 2)
+ CrestronConsole.PrintLine("Primary response found ** {0} **", responseData);
+
+ ParseInternalResponse(true, responseData);
+ }
+
+ CMonitor.Exit(_primaryResponseLock);
}
- private void client_ConnectionStatus(int status, SimplSharpString id)
+ private void backupClient_ResponseString(string response, SimplSharpString id)
+ {
+ lock (_backupParseLock)
+ {
+ _backupRxData.Append(response);
+ }
+
+ if (!CMonitor.TryEnter(_backupResponseLock)) return;
+ while (_backupRxData.ToString().Contains("\x00"))
+ {
+ string responseData;
+
+ lock (_backupParseLock)
+ {
+ responseData = _backupRxData.ToString();
+ var delimeterPos = responseData.IndexOf("\x00", StringComparison.Ordinal);
+ responseData = responseData.Substring(0, delimeterPos);
+ _backupRxData.Remove(0, delimeterPos + 1);
+ }
+
+ if (_debug == 2)
+ CrestronConsole.PrintLine("Backup response found ** {0} **", responseData);
+
+ ParseInternalResponse(false, responseData);
+ }
+
+ CMonitor.Exit(_backupResponseLock);
+ }
+
+ private void primaryClient_ConnectionStatus(int status, SimplSharpString id)
{
try
{
_connectionCritical.Enter();
- if (status == 2 && !_isConnected)
+ if (status == 2 && !_primaryIsConnected)
{
- _isConnected = true;
+ _primaryIsConnected = true;
if (_debug > 0)
- ErrorLog.Notice("QsysProcessor is connected.");
+ ErrorLog.Notice("QsysProcessor primary is connected.");
- if (onIsConnected != null)
- onIsConnected(_coreId, 1);
+ if (OnPrimaryIsConnected != null)
+ OnPrimaryIsConnected(_coreId, 1);
}
- else if (_isConnected && status != 2)
+ else if (_primaryIsConnected && status != 2)
{
- _isConnected = false;
+ _primaryIsConnected = false;
if (_debug > 0)
- ErrorLog.Error("QsysProcessor disconnected!");
+ ErrorLog.Error("QsysProcessor primary disconnected!");
+
+ if (_primaryCoreActive) ResetInitialization();
+
+ if (OnPrimaryIsConnected != null)
+ OnPrimaryIsConnected(_coreId, 0);
+ }
+ }
+ catch (Exception e)
+ {
+ if (_debug > 0)
+ ErrorLog.Error("Error in QsysProcessor primaryClient_ConnectionStatus: {0}", e.Message);
+ }
+ finally
+ {
+ _connectionCritical.Leave();
+ }
+ }
+
+ private void backupClient_ConnectionStatus(int status, SimplSharpString id)
+ {
+ try
+ {
+ _connectionCritical.Enter();
+ if (status == 2 && !_backupIsConnected)
+ {
+ _backupIsConnected = true;
- _commandQueue.Clear();
- _changeGroupCreated = false;
- _isLoggedIn = false;
- _isInitialized = false;
+ if (_debug > 0)
+ ErrorLog.Notice("QsysProcessor backup is connected.");
- _heartbeatTimer.Stop();
- _commandQueue.Clear();
+ if (OnBackupIsConnected != null)
+ OnBackupIsConnected(_coreId, 1);
+ }
+ else if (_backupIsConnected && status != 2)
+ {
+ _backupIsConnected = false;
- if (onIsRegistered != null)
- onIsRegistered(_coreId, 0);
+ if (_debug > 0)
+ ErrorLog.Error("QsysProcessor backup disconnected!");
- if (onIsLoggedIn != null)
- onIsLoggedIn(_coreId, 0);
+ if (_backupCoreActive) ResetInitialization();
- if (onIsConnected != null)
- onIsConnected(_coreId, 0);
+ if (OnBackupIsConnected != null)
+ OnBackupIsConnected(_coreId, 0);
}
}
catch (Exception e)
{
if (_debug > 0)
- ErrorLog.Error("Error in QsysProcessor client_ConnectionStatus: {0}", e.Message);
+ ErrorLog.Error("Error in QsysProcessor backupClient_ConnectionStatus: {0}", e.Message);
}
finally
{
@@ -576,103 +789,92 @@ private void SendHeartbeat(object o)
#endregion
#region Parsing
- private void ProcessResponse(string response)
+ private void ParseInternalResponse(bool primaryCore, string returnString)
{
- lock (_parseLock)
+ try
{
- _rxData.Append(response); //Append received data to the COM buffer
- }
+ if (returnString.Length <= 0) return;
- if (CMonitor.TryEnter(_responseLock))
- {
- while (_rxData.ToString().Contains("\x00"))
+ if (returnString.Contains("Changes") && !returnString.Contains("\"Changes\":[]"))
{
- string responseData;
+ var response = JObject.Parse(returnString);
+ var changes = response["params"]["Changes"].Children().ToList();
- lock (_parseLock)
+ foreach (var change in changes)
{
- responseData = _rxData.ToString();
- var delimeterPos = responseData.IndexOf("\x00", StringComparison.Ordinal);
- responseData = responseData.Substring(0, delimeterPos);
- _rxData.Remove(0, delimeterPos + 1);
- }
+ var changeResult = JsonConvert.DeserializeObject(change.ToString(),
+ new JsonSerializerSettings
+ { MissingMemberHandling = MissingMemberHandling.Ignore });
- if (_debug == 2)
- CrestronConsole.PrintLine("Response found ** {0} **", responseData);
+ if (changeResult.Component != null)
+ {
+ var choices = changeResult.Choices != null ? changeResult.Choices.ToList() : new List();
- ParseInternalResponse(responseData);
- }
+ Action updateCallback;
+ if (!TryGetNamedComponentUpdateCallback(changeResult.Component, out updateCallback))
+ continue;
- CMonitor.Exit(_responseLock);
- }
- }
+ updateCallback(new QsysStateData("change", changeResult.Name,
+ changeResult.Value,
+ changeResult.Position,
+ changeResult.String, choices));
+ }
+ else if (changeResult.Name != null)
+ {
+ List choices = changeResult.Choices != null ? changeResult.Choices.ToList() : new List();
- private void ParseInternalResponse(string returnString)
- {
- try
- {
- if (returnString.Length > 0 && ((_isConnected && !_externalConnection) || _externalConnection))
+ Action controlUpdateCallback;
+ if (!TryGetNamedControlUpdateCallback(changeResult.Name, out controlUpdateCallback))
+ continue;
+
+ controlUpdateCallback(new QsysStateData("change", changeResult.Name,
+ changeResult.Value,
+ changeResult.Position,
+ changeResult.String, choices));
+ }
+ }
+ }
+ else if (returnString.Contains("EngineStatus"))
{
- if (returnString.Contains("Changes") && !returnString.Contains("\"Changes\":[]"))
+ var response = JObject.Parse(returnString);
+
+ if (_externalConnection)
+ {
+ _isLoggedIn = false;
+ }
+ if (response["params"] != null)
{
- var response = JObject.Parse(returnString);
- var changes = response["params"]["Changes"].Children().ToList();
+ var engineStatus = response["params"];
- foreach (JToken change in changes)
+ if (engineStatus["State"] != null)
{
- ChangeResult changeResult = JsonConvert.DeserializeObject(change.ToString(),
- new JsonSerializerSettings
- { MissingMemberHandling = MissingMemberHandling.Ignore });
-
- if (changeResult.Component != null)
+ if (primaryCore && engineStatus["State"].ToObject() == "Active")
{
- List choices;
-
- if (changeResult.Choices != null)
- choices = changeResult.Choices.ToList();
- else
- choices = new List();
-
- Action updateCallback;
- if (!TryGetNamedComponentUpdateCallback(changeResult.Component, out updateCallback))
- continue;
+ if (_backupCoreActive)
+ {
- updateCallback(new QsysStateData("change", changeResult.Name,
- changeResult.Value,
- changeResult.Position,
- changeResult.String, choices));
+ _backupCoreActive = false;
+ ResetInitialization();
+ }
+ _primaryCoreActive = true;
+ if (OnPrimaryIsActive != null)
+ OnPrimaryIsActive();
}
- else if (changeResult.Name != null)
+ else if (!primaryCore && engineStatus["State"].ToObject() == "Active")
{
- List choices;
-
- if (changeResult.Choices != null)
- choices = changeResult.Choices.ToList();
- else
- choices = new List();
-
- Action controlUpdateCallback;
- if (!TryGetNamedControlUpdateCallback(changeResult.Name, out controlUpdateCallback))
- continue;
-
- controlUpdateCallback(new QsysStateData("change", changeResult.Name,
- changeResult.Value,
- changeResult.Position,
- changeResult.String, choices));
+ if (_primaryCoreActive)
+ {
+ _primaryCoreActive = false;
+ ResetInitialization();
+ }
+ _backupCoreActive = true;
+ if (OnBackupIsActive != null)
+ OnBackupIsActive();
}
}
- }
- else if (returnString.Contains("EngineStatus"))
- {
- var response = JObject.Parse(returnString);
- if (_externalConnection)
+ if ((primaryCore && _primaryCoreActive) || (!primaryCore && _backupCoreActive))
{
- _isLoggedIn = false;
- }
- if (response["params"] != null)
- {
- JToken engineStatus = response["params"];
if (engineStatus["DesignName"] != null)
{
@@ -689,91 +891,91 @@ private void ParseInternalResponse(string returnString)
_isEmulator = Convert.ToBoolean(engineStatus["IsEmulator"].ToString());
}
- if (onNewCoreStatus != null)
- onNewCoreStatus(_coreId, _designName, Convert.ToUInt16(_isRedundant), Convert.ToUInt16(_isEmulator));
+ if (OnNewCoreStatus != null)
+ OnNewCoreStatus(_coreId, _designName, Convert.ToUInt16(_isRedundant), Convert.ToUInt16(_isEmulator));
}
+ }
- if (!_isLoggedIn)
+ if (!_isLoggedIn)
+ {
+ if (_debug == 1 || _debug == 2)
+ ErrorLog.Notice("QsysProcessor server ready, starting to send intialization strings.");
+
+ if (_password.Length > 0 && _username.Length > 0)
+ {
+ _logonAttempts = 1;
+ _commandQueue.Enqueue(JsonConvert.SerializeObject(new Logon { Params = new LogonParams { User = _username, Password = _password } }));
+ }
+ else if((primaryCore && _primaryCoreActive) || (!primaryCore && _backupCoreActive))
{
- if (_debug == 1 || _debug == 2)
- ErrorLog.Notice("QsysProcessor server ready, starting to send intialization strings.");
+ _isLoggedIn = true;
- if (_password.Length > 0 && _username.Length > 0)
+ if (OnIsLoggedIn != null)
{
- _logonAttempts = 1;
- _commandQueue.Enqueue(JsonConvert.SerializeObject(new Logon() { Params = new LogonParams() { User = _username, Password = _password } }));
+ OnIsLoggedIn(_coreId, 1);
}
- else
- {
- _isLoggedIn = true;
- if (onIsLoggedIn != null)
- {
- onIsLoggedIn(_coreId, 1);
- }
-
- _waitForConnection.Reset(5000);
- }
+ _waitForConnection.Reset(5000);
}
}
- else if (returnString.Contains("error"))
+ }
+ else if (returnString.Contains("error"))
+ {
+ var response = JObject.Parse(returnString);
+
+ if (_logonAttempts < _maxLogonAttempts)
{
- var response = JObject.Parse(returnString);
+ var error = response["error"];
- if (_logonAttempts < _maxLogonAttempts)
+ if (error["code"] != null)
{
- JToken error = response["error"];
-
- if (error["code"] != null)
+ if (error["code"].ToString().Replace("\'", string.Empty) == "10")
{
- if (error["code"].ToString().Replace("\'", string.Empty) == "10")
- {
- _logonAttempts++;
- _commandQueue.Enqueue(JsonConvert.SerializeObject(new Logon() { Params = new LogonParams() { User = _username, Password = _password } }));
- }
+ _logonAttempts++;
+ _commandQueue.Enqueue(JsonConvert.SerializeObject(new Logon { Params = new LogonParams { User = _username, Password = _password } }));
}
}
- else
+ }
+ else
+ {
+ if (_debug > 0)
{
- if (_debug > 0)
- {
- ErrorLog.Error("Error in QsysProcessor max logon attempts reached");
- }
+ ErrorLog.Error("Error in QsysProcessor max logon attempts reached");
}
}
- else if (returnString.Contains("\"id\":") && returnString.Contains("\"result\":true"))
+ }
+ else if (returnString.Contains("\"id\":") && returnString.Contains("\"result\":true"))
+ {
+ var response = JObject.Parse(returnString);
+
+ if (response["id"] != null)
{
- var response = JObject.Parse(returnString);
+ var responseData = JsonConvert.DeserializeObject(response["id"].ToObject());
- if (response["id"] != null)
+ if (responseData.Method == "Logon")
{
- var responseData = JsonConvert.DeserializeObject(response["id"].ToObject());
+ _isLoggedIn = true;
- if (responseData.Method == "Logon")
+ if (OnIsLoggedIn != null)
{
- _isLoggedIn = true;
-
- if (onIsLoggedIn != null)
- {
- onIsLoggedIn(_coreId, 1);
- }
-
- _waitForConnection.Reset(5000);
+ OnIsLoggedIn(_coreId, 1);
}
- if (responseData.Caller != string.Empty)
- {
- Action updateCallback;
- if (!TryGetNamedComponentUpdateCallback(responseData.Caller, out updateCallback))
- return;
-
- updateCallback(new QsysStateData(responseData.ValueType,
- responseData.Method,
- responseData.Value,
- responseData.Position,
- responseData.StringValue,
- null));
- }
+ _waitForConnection.Reset(5000);
+ }
+
+ if (responseData.Caller != string.Empty)
+ {
+ Action updateCallback;
+ if (!TryGetNamedComponentUpdateCallback(responseData.Caller, out updateCallback))
+ return;
+
+ updateCallback(new QsysStateData(responseData.ValueType,
+ responseData.Method,
+ responseData.Value,
+ responseData.Position,
+ responseData.StringValue,
+ null));
}
}
}
@@ -791,7 +993,8 @@ private void ParseInternalResponse(string returnString)
/// Response from SIMPL to be parsed
public void NewExternalResponse(string response)
{
- ProcessResponse(response);
+ ParseInternalResponse(true, response);
+ //ProcessResponse(true, response);
}
#endregion
@@ -804,10 +1007,16 @@ internal void Enqueue(string data)
private void CommandQueueDequeue(object o)
{
- var externalSendCallback = onSendingCommand;
+ var externalSendCallback = OnSendingCommand;
- if (!_externalConnection && _primaryClient == null)
- return;
+ if (!_externalConnection)
+ {
+ if (_primaryCoreActive && _primaryClient == null)
+ return;
+
+ if (_backupCoreActive && _backupClient == null)
+ return;
+ }
if (_externalConnection && externalSendCallback == null)
return;
if (_commandQueue.IsEmpty)
@@ -815,7 +1024,7 @@ private void CommandQueueDequeue(object o)
try
{
- string data = _commandQueue.TryToDequeue();
+ var data = _commandQueue.TryToDequeue();
if (data == null)
return;
@@ -824,7 +1033,21 @@ private void CommandQueueDequeue(object o)
CrestronConsole.PrintLine("Command sent -->{0}<--", data);
if (!_externalConnection)
- _primaryClient.SendCommand(data + "\x00");
+ {
+ if (data.Contains("NoOp"))
+ {
+ _primaryClient.SendCommand(data + "\x00");
+ _backupClient.SendCommand(data + "\x00");
+ }
+ else if (_primaryCoreActive)
+ {
+ _primaryClient.SendCommand(data + "\x00");
+ }
+ else if (_backupCoreActive)
+ {
+ _backupClient.SendCommand(data + "\x00");
+ }
+ }
else
{
data = data + "\x00";
@@ -876,7 +1099,8 @@ private void Dispose(bool disposing)
_commandQueueTimer.Dispose();
_commandQueue.Dispose();
- _rxData = null;
+ _primaryRxData = null;
+ _backupRxData = null;
}
}
}
diff --git a/QscQsys/QscQsys/QsysCoreManager.cs b/QscQsys/QscQsys/QsysCoreManager.cs
index f9a7ad6..ba502b2 100644
--- a/QscQsys/QscQsys/QsysCoreManager.cs
+++ b/QscQsys/QscQsys/QsysCoreManager.cs
@@ -6,8 +6,8 @@ namespace QscQsys
{
public static class QsysCoreManager
{
- private static readonly object _coresLock = new object();
- private static readonly Dictionary _cores = new Dictionary();
+ private static readonly object CoresLock = new object();
+ private static readonly Dictionary Cores = new Dictionary();
internal static event EventHandler CoreAdded;
internal static event EventHandler CoreRemoved;
@@ -22,9 +22,9 @@ internal static bool Is3Series
public static bool TryGetCore(string coreId, out QsysCore core)
{
- lock (_coresLock)
+ lock (CoresLock)
{
- return _cores.TryGetValue(coreId, out core);
+ return Cores.TryGetValue(coreId, out core);
}
}
@@ -32,10 +32,10 @@ internal static void AddCore(QsysCore core)
{
try
{
- lock (_coresLock)
+ lock (CoresLock)
{
- if (!_cores.ContainsKey(core.CoreId))
- _cores.Add(core.CoreId, core);
+ if (!Cores.ContainsKey(core.CoreId))
+ Cores.Add(core.CoreId, core);
}
RaiseCoreAdded(new CoreEventArgs(core.CoreId));
@@ -50,10 +50,10 @@ internal static void RemoveCore(QsysCore core)
{
try
{
- lock (_coresLock)
+ lock (CoresLock)
{
- if (_cores.ContainsKey(core.CoreId))
- _cores.Remove(core.CoreId);
+ if (Cores.ContainsKey(core.CoreId))
+ Cores.Remove(core.CoreId);
}
RaiseCoreRemoved(new CoreEventArgs(core.CoreId));
diff --git a/QscQsys/QscQsys/bin/Debug/QscQsys.clz b/QscQsys/QscQsys/bin/Debug/QscQsys.clz
index 4bfd6c8..34accec 100644
Binary files a/QscQsys/QscQsys/bin/Debug/QscQsys.clz and b/QscQsys/QscQsys/bin/Debug/QscQsys.clz differ
diff --git a/QscQsys/QscQsys/bin/Debug/QscQsys.config b/QscQsys/QscQsys/bin/Debug/QscQsys.config
index 3f35b04..1ae6f68 100644
--- a/QscQsys/QscQsys/bin/Debug/QscQsys.config
+++ b/QscQsys/QscQsys/bin/Debug/QscQsys.config
@@ -10,11 +10,11 @@
- 9/21/2023 11:56:12 AM
- 1.0.0.19685
+ 2023-10-06 12:40:34 PM
+ 1.0.0.21016
Crestron.SIMPLSharp, Version=2.0.58.0, Culture=neutral, PublicKeyToken=812d080f93e2de10
- 2.19.069
+ 2.19.076
\ No newline at end of file
diff --git a/QscQsys/QscQsys/bin/Debug/QscQsys.dll b/QscQsys/QscQsys/bin/Debug/QscQsys.dll
index 547c53c..ef02831 100644
Binary files a/QscQsys/QscQsys/bin/Debug/QscQsys.dll and b/QscQsys/QscQsys/bin/Debug/QscQsys.dll differ
diff --git a/QscQsys/QscQsys/bin/Debug/QscQsys.pdb b/QscQsys/QscQsys/bin/Debug/QscQsys.pdb
index 5dd8bd5..429434c 100644
Binary files a/QscQsys/QscQsys/bin/Debug/QscQsys.pdb and b/QscQsys/QscQsys/bin/Debug/QscQsys.pdb differ
diff --git a/QscQsys/QscQsys/bin/Debug/QscQsys.xml b/QscQsys/QscQsys/bin/Debug/QscQsys.xml
index 9bf91b3..d8b9e36 100644
--- a/QscQsys/QscQsys/bin/Debug/QscQsys.xml
+++ b/QscQsys/QscQsys/bin/Debug/QscQsys.xml
@@ -16,11 +16,23 @@
Clean up of unmanaged resources
-
+
- Sets the current mute state.
+ Acts as an intermediary between the QSys Core and the QsysNamedControls
- The state to set the mute.
+
+
+
+ Acts as an intermediary between the QSys Core and the QsysNamedControls
+
+
+
+
+ Sets a crosspoint mute ex. *=everything, 1 2 3=channels 1, 2, 3, 1-6=channels 1 through 6, 1-8 !3=channels 1 through 8 except 3, * !3-5=everything but 3 through 5
+
+ The input channels.
+ The output channels.
+ The value of the crosspoint mute.
@@ -51,103 +63,6 @@
If level is below 0 or above 65535
-
-
- Q-SYS Core class that manages connection and parses responses to be distributed to components and named control classes
-
-
-
-
- Set debug mode.
-
- Debug level to set.
-
- Debug level 0 = off
- Debug level 1 = Main communications
- Debug level 2 = Main communications and verbose console
-
-
-
-
- Initialzes all methods that are required to setup the class. Connection is established on port 1702.
-
-
-
-
- Enqueue response from SIMPL to be parsed
-
- Response from SIMPL to be parsed
-
-
-
- Clean up of unmanaged resources
-
-
-
-
- Get initialzation status
-
-
-
-
- Get disposed status
-
-
-
-
- Get connection status
-
-
-
-
- Get authentication status
-
-
-
-
- Get debug mode
-
-
-
-
- Get or set max logon attempts
-
-
-
-
- Get redundant status
-
-
-
-
- Get emulator status
-
-
-
-
- Get running design name
-
-
-
-
- Get core ID
-
-
-
-
- Get or set the network port. If currently connected, changing the port will reconnect with the new port number.
-
-
-
-
- Get or set the network host address. If currently connectd, changing the host will reconnect with the new host address.
-
-
-
-
- Acts as an intermediary between the QSys Core and the QsysNamedControls
-
-
Indicates that the value of the marked element could be null sometimes,
@@ -508,10 +423,11 @@
System.Web.WebPages.WebPageBase.RenderSection(String)
-
+
- Acts as an intermediary between the QSys Core and the QsysNamedControls
+ Sets the current mute state.
+ The state to set the mute.
@@ -531,18 +447,137 @@
The state to set the mute.
-
+
- Used only for internal methods.
+ Q-SYS Core class that manages connection and parses responses to be distributed to components and named control classes.
-
+
- Sets a crosspoint mute ex. *=everything, 1 2 3=channels 1, 2, 3, 1-6=channels 1 through 6, 1-8 !3=channels 1 through 8 except 3, * !3-5=everything but 3 through 5
+ Initializes a new instance of the class.
+
+
+
+
+ Set debug mode.
+
+ Debug level to set.
+
+ Debug level 0 = off
+ Debug level 1 = Main communications
+ Debug level 2 = Main communications and verbose console
+
+
+
+
+ Initialzes all methods that are required to setup the class. Connection is established on port 1702.
+
+
+
+
+ Enqueue response from SIMPL to be parsed
+
+ Response from SIMPL to be parsed
+
+
+
+ Clean up of unmanaged resources
+
+
+
+
+ Gets initialzation status.
+
+
+
+
+ Gets disposed status.
+
+
+
+
+ Gets primary core connection status.
+
+
+
+
+ Gets backup core connection status.
+
+
+
+
+ Gets authentication status.
+
+
+
+
+ Gets debug mode.
+
+
+
+
+ Gets or sets the max logon attempts made when trying to authorize with the core.
+
+
+
+
+ Gets redundant status.
+
+
+
+
+ Gets emulator status.
+
+
+
+
+ Gets running design name.
+
+
+
+
+ Gets a bool representing the primary core active status.
+
+
+
+
+ Gets a bool representing the backup core active status.
+
+
+
+
+ Get the core ID.
+
+
+
+
+ Get or set the network port. If currently connected, changing the port will reconnect with the new port number.
+
+
+
+
+ Gets or sets the primary core network host address. If currently connected, changing the host will reconnect with the new host address.
+
+
+
+
+ Gets or sets the backup core network host address. If currently connected, changing the host will reconnect with the new host address.
+
+
+
+
+ Gets or sets the username used to authenticate with the core.
+
+
+
+
+ Sets the password used to authenticate with the core.
+
+
+
+
+ Used only for internal methods.
- The input channels.
- The output channels.
- The value of the crosspoint mute.
diff --git a/QscQsys/QscQsys/bin/Debug/SimplSharpCustomAttributesInterface.dll b/QscQsys/QscQsys/bin/Debug/SimplSharpCustomAttributesInterface.dll
index 66c53cd..6fb072b 100644
Binary files a/QscQsys/QscQsys/bin/Debug/SimplSharpCustomAttributesInterface.dll and b/QscQsys/QscQsys/bin/Debug/SimplSharpCustomAttributesInterface.dll differ
diff --git a/QscQsys/QscQsys/bin/Debug/SimplSharpHelperInterface.dll b/QscQsys/QscQsys/bin/Debug/SimplSharpHelperInterface.dll
index 5b5e514..4177baf 100644
Binary files a/QscQsys/QscQsys/bin/Debug/SimplSharpHelperInterface.dll and b/QscQsys/QscQsys/bin/Debug/SimplSharpHelperInterface.dll differ
diff --git a/QscQsys/QscQsys/bin/Debug/SimplSharpNewtonsoft.dll b/QscQsys/QscQsys/bin/Debug/SimplSharpNewtonsoft.dll
index 45d5ba3..8e65ccb 100644
Binary files a/QscQsys/QscQsys/bin/Debug/SimplSharpNewtonsoft.dll and b/QscQsys/QscQsys/bin/Debug/SimplSharpNewtonsoft.dll differ
diff --git a/QscQsys/QscQsys/bin/Debug/SimplSharpReflectionInterface.dll b/QscQsys/QscQsys/bin/Debug/SimplSharpReflectionInterface.dll
index cf520e2..4e2dd67 100644
Binary files a/QscQsys/QscQsys/bin/Debug/SimplSharpReflectionInterface.dll and b/QscQsys/QscQsys/bin/Debug/SimplSharpReflectionInterface.dll differ
diff --git a/QscQsys/QscQsys/bin/Debug/SimplSharpSQLHelperInterface.dll b/QscQsys/QscQsys/bin/Debug/SimplSharpSQLHelperInterface.dll
index 604979e..380c7b7 100644
Binary files a/QscQsys/QscQsys/bin/Debug/SimplSharpSQLHelperInterface.dll and b/QscQsys/QscQsys/bin/Debug/SimplSharpSQLHelperInterface.dll differ
diff --git a/QscQsys/QscQsys/bin/Debug/manifest.info b/QscQsys/QscQsys/bin/Debug/manifest.info
index 0fff002..bcb6bf7 100644
--- a/QscQsys/QscQsys/bin/Debug/manifest.info
+++ b/QscQsys/QscQsys/bin/Debug/manifest.info
@@ -1,6 +1,6 @@
-MainAssembly=QscQsys.dll:580bae242ca2e7f2b70d0d193104155e
+MainAssembly=QscQsys.dll:9aebfa54646b5afab137ed947252fd0f
MainAssemblyMinFirmwareVersion=1.007.0017
-MainAssemblyResource=QscQsys.xml:e340eae22c57ac2970821cf9c52366a2
+MainAssemblyResource=QscQsys.xml:59588033c4d98eef04c508e59e1e843d
MainAssemblyResource=SimplSharpData.dat:820b61c48c8a2cace82957eed4cc377c
MainAssemblyResource=SimplSharpData.dat.der:bf862965c00f3e6ec535e4e00e82d30c
MainAssemblyResource=SimplSharpData.dat:820b61c48c8a2cace82957eed4cc377c
diff --git a/QscQsys/QscQsys/bin/Debug/manifest.ser b/QscQsys/QscQsys/bin/Debug/manifest.ser
index 31e6650..32493e0 100644
Binary files a/QscQsys/QscQsys/bin/Debug/manifest.ser and b/QscQsys/QscQsys/bin/Debug/manifest.ser differ
diff --git a/QscQsys/QscQsys/obj/Debug/QscQsys.csproj.FileListAbsolute.txt b/QscQsys/QscQsys/obj/Debug/QscQsys.csproj.FileListAbsolute.txt
index 5dbd872..f5fa2fa 100644
--- a/QscQsys/QscQsys/obj/Debug/QscQsys.csproj.FileListAbsolute.txt
+++ b/QscQsys/QscQsys/obj/Debug/QscQsys.csproj.FileListAbsolute.txt
@@ -120,3 +120,17 @@ Z:\iporter\Repos\isaaacporter\Qsys\QscQsys\QscQsys\bin\Debug\Newtonsoft.Json.Com
Z:\iporter\Repos\isaaacporter\Qsys\QscQsys\QscQsys\obj\Debug\ResolveAssemblyReference.cache
Z:\iporter\Repos\isaaacporter\Qsys\QscQsys\QscQsys\obj\Debug\QscQsys.dll
Z:\iporter\Repos\isaaacporter\Qsys\QscQsys\QscQsys\obj\Debug\QscQsys.pdb
+C:\Users\mathew.klucznyk.GUSS\OneDrive - GUSS\Crestron Modules\Mat\SIMPLSharp Projects\Qsys\QscQsys\QscQsys\bin\Debug\QscQsys.xml
+C:\Users\mathew.klucznyk.GUSS\OneDrive - GUSS\Crestron Modules\Mat\SIMPLSharp Projects\Qsys\QscQsys\QscQsys\bin\Debug\QscQsys.dll
+C:\Users\mathew.klucznyk.GUSS\OneDrive - GUSS\Crestron Modules\Mat\SIMPLSharp Projects\Qsys\QscQsys\QscQsys\bin\Debug\QscQsys.pdb
+C:\Users\mathew.klucznyk.GUSS\OneDrive - GUSS\Crestron Modules\Mat\SIMPLSharp Projects\Qsys\QscQsys\QscQsys\bin\Debug\ExtensionMethods.dll
+C:\Users\mathew.klucznyk.GUSS\OneDrive - GUSS\Crestron Modules\Mat\SIMPLSharp Projects\Qsys\QscQsys\QscQsys\bin\Debug\SimplSharpCustomAttributesInterface.dll
+C:\Users\mathew.klucznyk.GUSS\OneDrive - GUSS\Crestron Modules\Mat\SIMPLSharp Projects\Qsys\QscQsys\QscQsys\bin\Debug\SimplSharpHelperInterface.dll
+C:\Users\mathew.klucznyk.GUSS\OneDrive - GUSS\Crestron Modules\Mat\SIMPLSharp Projects\Qsys\QscQsys\QscQsys\bin\Debug\SimplSharpNewtonsoft.dll
+C:\Users\mathew.klucznyk.GUSS\OneDrive - GUSS\Crestron Modules\Mat\SIMPLSharp Projects\Qsys\QscQsys\QscQsys\bin\Debug\SimplSharpReflectionInterface.dll
+C:\Users\mathew.klucznyk.GUSS\OneDrive - GUSS\Crestron Modules\Mat\SIMPLSharp Projects\Qsys\QscQsys\QscQsys\bin\Debug\TCPClient.dll
+C:\Users\mathew.klucznyk.GUSS\OneDrive - GUSS\Crestron Modules\Mat\SIMPLSharp Projects\Qsys\QscQsys\QscQsys\bin\Debug\SimplSharpSQLHelperInterface.dll
+C:\Users\mathew.klucznyk.GUSS\OneDrive - GUSS\Crestron Modules\Mat\SIMPLSharp Projects\Qsys\QscQsys\QscQsys\bin\Debug\Newtonsoft.Json.Compact.dll
+C:\Users\mathew.klucznyk.GUSS\OneDrive - GUSS\Crestron Modules\Mat\SIMPLSharp Projects\Qsys\QscQsys\QscQsys\obj\Debug\ResolveAssemblyReference.cache
+C:\Users\mathew.klucznyk.GUSS\OneDrive - GUSS\Crestron Modules\Mat\SIMPLSharp Projects\Qsys\QscQsys\QscQsys\obj\Debug\QscQsys.dll
+C:\Users\mathew.klucznyk.GUSS\OneDrive - GUSS\Crestron Modules\Mat\SIMPLSharp Projects\Qsys\QscQsys\QscQsys\obj\Debug\QscQsys.pdb
diff --git a/QscQsys/QscQsys/obj/Debug/QscQsys.dll b/QscQsys/QscQsys/obj/Debug/QscQsys.dll
index 547c53c..ef02831 100644
Binary files a/QscQsys/QscQsys/obj/Debug/QscQsys.dll and b/QscQsys/QscQsys/obj/Debug/QscQsys.dll differ
diff --git a/QscQsys/QscQsys/obj/Debug/QscQsys.pdb b/QscQsys/QscQsys/obj/Debug/QscQsys.pdb
index d162051..d02d509 100644
Binary files a/QscQsys/QscQsys/obj/Debug/QscQsys.pdb and b/QscQsys/QscQsys/obj/Debug/QscQsys.pdb differ
diff --git a/QscQsys/SIMPL/3 Series Test.smw b/QscQsys/SIMPL/3 Series Test.smw
index 38aa8a6..3e219ae 100644
--- a/QscQsys/SIMPL/3 Series Test.smw
+++ b/QscQsys/SIMPL/3 Series Test.smw
@@ -19,13 +19,13 @@ S1Nd=2
SLNd=3
PrNm=3 Series Test.smw
CmVr=3.03
-DbVr=219.05.001.00
-DvcDbVr=200.285.001.00
+DbVr=221.00.002.00
+DvcDbVr=200.295.001.00
PgmNm=Mat Klucznyk
-DlrNm=RAVE Audio Visual
+DlrNm=Global USS
CltNm=qsysTest
-SmVr=1193
-DvVr=1193
+SmVr=1194
+DvVr=1194
TpN1=1
TpN2=2
TpN3=3
@@ -46,7 +46,7 @@ H=2
PrH=1
DvC=3816
ObjVer=4
-DvVr=1193
+DvVr=1194
Ad=00
RelStat=Release
ProdLine=3-Series
@@ -71,7 +71,7 @@ PrH=2
ObjVer=1
SlC=2
DvF=Sl
-DvVr=1193
+DvVr=1194
Ad=01
mC=1
C1=4
@@ -84,7 +84,7 @@ PrH=3
DvC=3805
ObjVer=1
SlC=2
-DvVr=1193
+DvVr=1194
Ad=01
SmH=6
RelStat=Release
@@ -353,7 +353,7 @@ ObjVer=1
SlC=30
DvF=Sl
SlF=Ex
-DvVr=1193
+DvVr=1194
Ad=None
]
[
@@ -364,7 +364,7 @@ PrH=4
ObjVer=1
SlC=17
DvF=Sl
-DvVr=1193
+DvVr=1194
Ad=02
]
[
@@ -375,7 +375,7 @@ PrH=4
ObjVer=1
SlC=228
DvF=Sl
-DvVr=1193
+DvVr=1194
Ad=03,04,05,06,07,08,09,0A,0B,0C,0D,0E,0F,10,11,12,13,14,15,16,17,18,19,1A,1B,1C,1D,1E,1F,20,21,22,23,24,25,26,27,28,29,2A,2B,2C,2D,2E,2F,30,31,32,33,34,35,36,37,38,39,3A,3B,3C,3D,3E,3F,40,41,42,43,44,45,46,47,48,49,4A,4B,4C,4D,4E,4F,50,51,52,53,54,55,56,57,58,59,5A,5B,5C,5D,5E,5F,60,61,62,63,64,65,66,67,68,69,6A,6B,6C,6D,6E,6F,70,71,72,73,74,75,76,77,78,79,7A,7B,7C,7D,7E,7F,80,81,82,83,84,85,86,87,88,89,8A,8B,8C,8D,8E,8F,90,91,92,93,94,95,96,97,98,99,9A,9B,9C,9D,9E,9F,A0,A1,A2,A3,A4,A5,A6,A7,A8,A9,AA,AB,AC,AD,AE,AF,B0,B1,B2,B3,B4,B5,B6,B7,B8,B9,BA,BB,BC,BD,BE,BF,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,CA,CB,CC,CD,CE,CF,D0,D1,D2,D3,D4,D5,D6,D7,D8,D9,DA,DB,DC,DD,DE,DF,E0,E1,E2,E3,E4,E5,E6,E7,E8,E9,EA,EB,EC,ED,EE,EF,F0,F1,F2,F3,F4,F5,F6,F7,F8,F9,FA,FB,FC,FD,FE
]
[
@@ -386,7 +386,7 @@ PrH=2
ObjVer=1
SlC=2
DvF=Sl
-DvVr=1193
+DvVr=1194
Ad=02
mC=1
C1=260
@@ -399,7 +399,7 @@ PrH=259
DvC=3806
ObjVer=1
SlC=2
-DvVr=1193
+DvVr=1194
Ad=02
SmH=7
RelStat=Release
@@ -667,7 +667,7 @@ PrH=260
ObjVer=1
SlC=17
DvF=Sl
-DvVr=1193
+DvVr=1194
Ad=01,02
]
[
@@ -678,7 +678,7 @@ PrH=260
ObjVer=1
SlC=234
DvF=Sl
-DvVr=1193
+DvVr=1194
Ad=03
mC=1
C1=550
@@ -686,26 +686,13 @@ C1=550
[
ObjTp=Dv
Nm=P3Ethernet
-H=264,266.514
+H=264.514
PrH=260
ObjVer=1
SlC=234
DvF=Sl
-DvVr=1193
-Ad=04,06,07,08,09,0A,0B,0C,0D,0E,0F,10,11,12,13,14,15,16,17,18,19,1A,1B,1C,1D,1E,1F,20,21,22,23,24,25,26,27,28,29,2A,2B,2C,2D,2E,2F,30,31,32,33,34,35,36,37,38,39,3A,3B,3C,3D,3E,3F,40,41,42,43,44,45,46,47,48,49,4A,4B,4C,4D,4E,4F,50,51,52,53,54,55,56,57,58,59,5A,5B,5C,5D,5E,5F,60,61,62,63,64,65,66,67,68,69,6A,6B,6C,6D,6E,6F,70,71,72,73,74,75,76,77,78,79,7A,7B,7C,7D,7E,7F,80,81,82,83,84,85,86,87,88,89,8A,8B,8C,8D,8E,8F,90,91,92,93,94,95,96,97,98,99,9A,9B,9C,9D,9E,9F,A0,A1,A2,A3,A4,A5,A6,A7,A8,A9,AA,AB,AC,AD,AE,AF,B0,B1,B2,B3,B4,B5,B6,B7,B8,B9,BA,BB,BC,BD,BE,BF,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,CA,CB,CC,CD,CE,CF,D0,D1,D2,D3,D4,D5,D6,D7,D8,D9,DA,DB,DC,DD,DE,DF,E0,E1,E2,E3,E4,E5,E6,E7,E8,E9,EA,EB,EC,ED,EE,EF,F0,F1,F2,F3,F4,F5,F6,F7,F8,F9,FA,FB,FC,FD,FE
-]
-[
-ObjTp=Dv
-Nm=P3Ethernet
-H=265
-PrH=260
-ObjVer=1
-SlC=234
-DvF=Sl
-DvVr=1193
-Ad=05
-mC=1
-C1=553
+DvVr=1194
+Ad=04,05,06,07,08,09,0A,0B,0C,0D,0E,0F,10,11,12,13,14,15,16,17,18,19,1A,1B,1C,1D,1E,1F,20,21,22,23,24,25,26,27,28,29,2A,2B,2C,2D,2E,2F,30,31,32,33,34,35,36,37,38,39,3A,3B,3C,3D,3E,3F,40,41,42,43,44,45,46,47,48,49,4A,4B,4C,4D,4E,4F,50,51,52,53,54,55,56,57,58,59,5A,5B,5C,5D,5E,5F,60,61,62,63,64,65,66,67,68,69,6A,6B,6C,6D,6E,6F,70,71,72,73,74,75,76,77,78,79,7A,7B,7C,7D,7E,7F,80,81,82,83,84,85,86,87,88,89,8A,8B,8C,8D,8E,8F,90,91,92,93,94,95,96,97,98,99,9A,9B,9C,9D,9E,9F,A0,A1,A2,A3,A4,A5,A6,A7,A8,A9,AA,AB,AC,AD,AE,AF,B0,B1,B2,B3,B4,B5,B6,B7,B8,B9,BA,BB,BC,BD,BE,BF,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,CA,CB,CC,CD,CE,CF,D0,D1,D2,D3,D4,D5,D6,D7,D8,D9,DA,DB,DC,DD,DE,DF,E0,E1,E2,E3,E4,E5,E6,E7,E8,E9,EA,EB,EC,ED,EE,EF,F0,F1,F2,F3,F4,F5,F6,F7,F8,F9,FA,FB,FC,FD,FE
]
[
ObjTp=Dv
@@ -715,7 +702,7 @@ PrH=2
ObjVer=1
SlC=15
DvF=Sl
-DvVr=1193
+DvVr=1194
Ad=03
]
[
@@ -726,7 +713,7 @@ PrH=2
ObjVer=1
SlC=2
DvF=Sl
-DvVr=1193
+DvVr=1194
Ad=04
mC=1
C1=517
@@ -739,7 +726,7 @@ PrH=516
DvC=3807
ObjVer=1
SlC=2
-DvVr=1193
+DvVr=1194
Ad=04
SmH=8
RelStat=Release
@@ -754,7 +741,7 @@ PrH=517
ObjVer=1
SlC=435
DvF=Sl
-DvVr=1193
+DvVr=1194
Ad=01
]
[
@@ -765,7 +752,7 @@ PrH=2
ObjVer=1
SlC=2
DvF=Sl
-DvVr=1193
+DvVr=1194
Ad=05
mC=1
C1=520
@@ -778,7 +765,7 @@ PrH=519
DvC=3809
ObjVer=1
SlC=2
-DvVr=1193
+DvVr=1194
Ad=05
SmH=9
RelStat=Release
@@ -794,7 +781,7 @@ PrH=520
ObjVer=1
SlC=57
DvF=Sl
-DvVr=1193
+DvVr=1194
Ad=01
mC=1
C1=522
@@ -807,7 +794,7 @@ PrH=521
DvC=1227
ObjVer=1
SlC=57
-DvVr=1193
+DvVr=1194
Ad=01
RelStat=Release
]
@@ -819,7 +806,7 @@ PrH=520
ObjVer=1
SlC=57
DvF=Sl
-DvVr=1193
+DvVr=1194
Ad=02
mC=1
C1=524
@@ -832,7 +819,7 @@ PrH=523
DvC=1227
ObjVer=1
SlC=57
-DvVr=1193
+DvVr=1194
Ad=02
RelStat=Release
]
@@ -844,7 +831,7 @@ PrH=2
ObjVer=1
SlC=2
DvF=Sl
-DvVr=1193
+DvVr=1194
Ad=06
mC=1
C1=526
@@ -857,7 +844,7 @@ PrH=525
DvC=3810
ObjVer=1
SlC=2
-DvVr=1193
+DvVr=1194
Ad=06
SmH=10
RelStat=Release
@@ -873,7 +860,7 @@ PrH=526
ObjVer=1
SlC=9
DvF=Sl
-DvVr=1193
+DvVr=1194
Ad=01
mC=1
C1=528
@@ -886,7 +873,7 @@ PrH=527
DvC=7
ObjVer=1
SlC=9
-DvVr=1193
+DvVr=1194
Ad=01
RelStat=Release
ProdLine=General Purpose IO
@@ -899,7 +886,7 @@ PrH=526
ObjVer=1
SlC=9
DvF=Sl
-DvVr=1193
+DvVr=1194
Ad=02
mC=1
C1=530
@@ -912,7 +899,7 @@ PrH=529
DvC=7
ObjVer=1
SlC=9
-DvVr=1193
+DvVr=1194
Ad=02
RelStat=Release
ProdLine=General Purpose IO
@@ -925,7 +912,7 @@ PrH=2
ObjVer=1
SlC=2
DvF=Sl
-DvVr=1193
+DvVr=1194
Ad=07
mC=1
C1=532
@@ -938,7 +925,7 @@ PrH=531
DvC=3811
ObjVer=1
SlC=2
-DvVr=1193
+DvVr=1194
Ad=07
SmH=11
RelStat=Release
@@ -955,7 +942,7 @@ ObjVer=1
SlC=436
DvF=Sl
SlF=Ex
-DvVr=1193
+DvVr=1194
Ad=01,02
]
[
@@ -966,7 +953,7 @@ PrH=2
ObjVer=1
SlC=2
DvF=Sl
-DvVr=1193
+DvVr=1194
Ad=08
mC=1
C1=536
@@ -979,7 +966,7 @@ PrH=535
DvC=3813
ObjVer=3
SlC=2
-DvVr=1193
+DvVr=1194
Ad=08
SmH=12
RelStat=Release
@@ -997,7 +984,7 @@ PrH=536
ObjVer=1
SlC=2
DvF=Sl
-DvVr=1193
+DvVr=1194
Ad=01
mC=1
C1=538
@@ -1010,7 +997,7 @@ PrH=537
DvC=3814
ObjVer=1
SlC=2
-DvVr=1193
+DvVr=1194
Ad=01
SmH=13
RelStat=Release
@@ -1023,7 +1010,7 @@ PrH=536
ObjVer=1
SlC=2
DvF=Sl
-DvVr=1193
+DvVr=1194
Ad=02
mC=1
C1=540
@@ -1036,7 +1023,7 @@ PrH=539
DvC=3815
ObjVer=1
SlC=2
-DvVr=1193
+DvVr=1194
Ad=02
SmH=14
RelStat=Release
@@ -1049,7 +1036,7 @@ PrH=536
ObjVer=1
SlC=17
DvF=Sl
-DvVr=1193
+DvVr=1194
Ad=03
]
[
@@ -1060,7 +1047,7 @@ PrH=536
ObjVer=1
SlC=2
DvF=Sl
-DvVr=1193
+DvVr=1194
Ad=04
mC=1
C1=543
@@ -1073,7 +1060,7 @@ PrH=542
DvC=3936
ObjVer=1
SlC=2
-DvVr=1193
+DvVr=1194
Ad=04
SmH=15
RelStat=Release
@@ -1086,7 +1073,7 @@ PrH=2
ObjVer=1
SlC=393
DvF=Sl
-DvVr=1193
+DvVr=1194
Ad=09
]
[
@@ -1097,7 +1084,7 @@ PrH=2
ObjVer=1
SlC=396
DvF=Sl
-DvVr=1193
+DvVr=1194
Ad=10
]
[
@@ -1108,7 +1095,7 @@ PrH=2
ObjVer=1
SlC=2
DvF=Sl
-DvVr=1193
+DvVr=1194
Ad=11
mC=1
C1=547
@@ -1121,7 +1108,7 @@ PrH=546
DvC=5203
ObjVer=1
SlC=2
-DvVr=1193
+DvVr=1194
Ad=11
SmH=16
RelStat=Release
@@ -1136,7 +1123,7 @@ PrH=547
ObjVer=1
SlC=2
DvF=Sl
-DvVr=1193
+DvVr=1194
Ad=01
mC=1
C1=549
@@ -1149,7 +1136,7 @@ PrH=548
DvC=5204
ObjVer=1
SlC=2
-DvVr=1193
+DvVr=1194
Ad=01
SmH=17
RelStat=Release
@@ -1161,9 +1148,9 @@ H=550
PrH=263
DvC=200
ObjVer=1
-DvVr=1193
+DvVr=1194
Ad=03
-SmH=92
+SmH=91
RelStat=Release
ProdLine=2-Series,3-Series
DbH=1
@@ -1180,7 +1167,7 @@ PrH=550
ObjVer=1
SlC=80
DvF=Sl
-DvVr=1193
+DvVr=1194
Ad=01
mC=1
C1=552
@@ -1193,82 +1180,12 @@ PrH=551
DvC=356
ObjVer=1
SlC=80
-DvVr=1193
+DvVr=1194
Ad=01
RelStat=None
ProdLine=2-Series
]
[
-ObjTp=Dv
-Nm=CEN-IO-COM-102
-H=553
-PrH=265
-DvC=5668
-ObjVer=1
-DvVr=1193
-Ad=05
-SmH=93
-RelStat=Release
-ProdLine=CEN-IO
-EtH=2
-mC=2
-C1=554
-C2=555
-]
-[
-ObjTp=Dv
-Nm=CENIOCOM_Port
-H=554
-PrH=553
-ObjVer=1
-SlC=582
-DvF=Sl
-DvVr=1193
-Ad=01
-mC=1
-C1=556
-]
-[
-ObjTp=Dv
-Nm=CENIOCOM_Port
-H=555
-PrH=553
-ObjVer=1
-SlC=582
-DvF=Sl
-DvVr=1193
-Ad=02
-]
-[
-ObjTp=Dv
-Nm=COM 2-Way Serial Driver
-H=556
-PrH=554
-DvC=5865
-ObjVer=1
-DvVr=1193
-Ad=01
-SmH=94
-RelStat=Beta
-ProdLine=Internal Use Only
-CmH=1
-DbH=2
-CsH=2
-]
-[
-ObjTp=Cm
-H=1
-DvH=556
-Ptl=(RS232)
-Tis=2
-BRt=115200
-Pty=N
-SBt=1
-DBt=8
-hHs=(None)
-sHs=(None)
-]
-[
ObjTp=Db
H=1
DvH=550
@@ -1278,25 +1195,11 @@ Mdl=TCP/IP Client
Tpe=Initiates a TCP/IP connection from a Crestron Control system to another TCP/IP Device
]
[
-ObjTp=Db
-H=2
-DvH=556
-Whc=3
-Mnf=Crestron
-Mdl=COM 2-Way Serial Driver
-Tpe=COM 2-Way Serial Driver
-]
-[
ObjTp=Cs
H=1
DvH=550
]
[
-ObjTp=Cs
-H=2
-DvH=556
-]
-[
ObjTp=FP
]
[
@@ -1307,18 +1210,25 @@ Sy1=0
Mx1=0
]
[
-ObjTp=Et
+ObjTp=Bw
H=1
-DvH=550
-IPM=255.255.255.0
-IPA=192.168.2.159
+Lx=0
+Ly=0
+Rx=570
+Ry=518
+Xm=-1
+Ym=-1
+SH=12
+Z=100
+Ht=1
+Hi=1
]
[
ObjTp=Et
-H=2
-DvH=553
+H=1
+DvH=550
IPM=255.255.255.0
-IPA=127.0.0.1
+IPA=192.168.2.159
]
[
ObjTp=Sm
@@ -1326,7 +1236,7 @@ H=1
SmC=157
Nm=Central Control Modules
ObjVer=1
-SmVr=1193
+SmVr=1194
CF=2
n1I=1
n1O=1
@@ -1351,7 +1261,7 @@ H=2
SmC=157
Nm=Network Modules
ObjVer=1
-SmVr=1193
+SmVr=1194
CF=2
n1I=1
n1O=1
@@ -1367,7 +1277,7 @@ H=3
SmC=157
Nm=Ethernet
ObjVer=1
-SmVr=1193
+SmVr=1194
CF=2
n1I=1
n1O=1
@@ -1383,23 +1293,24 @@ H=4
SmC=156
Nm=Logic
ObjVer=1
-SmVr=1193
+SmVr=1194
CF=2
-mC=14
+mC=15
C1=18
-C2=25
-C3=27
-C4=62
-C5=65
-C6=67
-C7=70
-C8=72
-C9=81
-C10=83
-C11=85
-C12=88
-C13=90
-C14=91
+C2=23
+C3=25
+C4=60
+C5=63
+C6=65
+C7=68
+C8=70
+C9=79
+C10=81
+C11=83
+C12=86
+C13=88
+C14=89
+C15=90
]
[
ObjTp=Sm
@@ -1407,7 +1318,7 @@ H=5
SmC=157
Nm=DefineArguments
ObjVer=1
-SmVr=1193
+SmVr=1194
CF=2
n1I=1
n1O=1
@@ -1423,7 +1334,7 @@ H=6
SmC=4339
Nm=C2I-RMC3CNET-1
ObjVer=1
-SmVr=1193
+SmVr=1194
DvH=4
PrH=1
CF=2
@@ -1435,14 +1346,13 @@ H=7
SmC=4340
Nm=C2I-RMC3ENET-1
ObjVer=1
-SmVr=1193
+SmVr=1194
DvH=260
PrH=1
CF=2
Cmn1=C2I-RMC3ENET-1
-mC=2
-C1=92
-C2=93
+mC=1
+C1=91
]
[
ObjTp=Sm
@@ -1450,7 +1360,7 @@ H=8
SmC=4341
Nm=C2I-RMC3-COM1
ObjVer=1
-SmVr=1193
+SmVr=1194
DvH=517
PrH=1
CF=2
@@ -1462,7 +1372,7 @@ H=9
SmC=4343
Nm=C2I-RMC3-DI2
ObjVer=1
-SmVr=1193
+SmVr=1194
DvH=520
PrH=1
CF=2
@@ -1477,7 +1387,7 @@ H=10
SmC=4344
Nm=C2I-RMC3-RY2
ObjVer=1
-SmVr=1193
+SmVr=1194
DvH=526
PrH=1
CF=2
@@ -1494,7 +1404,7 @@ H=11
SmC=4345
Nm=C2I-RMC3-IR2
ObjVer=1
-SmVr=1193
+SmVr=1194
DvH=532
PrH=1
CF=2
@@ -1506,7 +1416,7 @@ H=12
SmC=4347
Nm=C2I-RMC3-SYSTEMMONITOR
ObjVer=3
-SmVr=1193
+SmVr=1194
DvH=536
PrH=1
CF=2
@@ -1528,7 +1438,7 @@ H=13
SmC=4348
Nm=C2I-RMC3-SYSTEMCONTROL
ObjVer=2
-SmVr=1193
+SmVr=1194
DvH=538
PrH=12
CF=2
@@ -1546,7 +1456,7 @@ H=14
SmC=4349
Nm=C2I-RMC3-SYSTEMINFORMATION
ObjVer=2
-SmVr=1193
+SmVr=1194
DvH=540
PrH=12
CF=2
@@ -1563,7 +1473,7 @@ H=15
SmC=4463
Nm=C2I-RMC3-USERPROGINIT
ObjVer=1
-SmVr=1193
+SmVr=1194
DvH=543
PrH=12
CF=2
@@ -1580,7 +1490,7 @@ H=16
SmC=5563
Nm=C2I-RMC3-USB-HID1
ObjVer=1
-SmVr=1193
+SmVr=1194
DvH=547
PrH=1
CF=2
@@ -1594,7 +1504,7 @@ H=17
SmC=5564
Nm=C2I-USB-HID
ObjVer=1
-SmVr=1193
+SmVr=1194
DvH=549
PrH=16
CF=2
@@ -1612,54 +1522,53 @@ H=18
SmC=156
Nm=SUBSYSTEM
ObjVer=1
-SmVr=1193
+SmVr=1194
PrH=4
CF=2
Cmn1=core initialization
-mC=6
+mC=4
C1=19
C2=20
C3=21
C4=22
-C5=23
-C6=24
]
[
ObjTp=Sm
H=19
-SmC=1477
-Nm=Multiple Serial Send
+SmC=9
+Nm=One Shot
ObjVer=1
-SmVr=1193
+SmVr=1194
PrH=18
CF=2
-n1I=1
+n1I=3
n1O=2
-mI=1
+mI=3
I1=2
mO=2
tO=2
-O1=228
-O2=229
-mP=2
-P1=172.16.0.41
-P2=192.168.4.159
+O1=229
+mP=1
+P1=1t
]
[
ObjTp=Sm
H=20
-SmC=858
-Nm=Make String Permanent
+SmC=16
+Nm=Delay
ObjVer=1
-SmVr=1193
+SmVr=1194
PrH=18
CF=2
n1I=2
+n1O=1
mI=2
-I1=228
-I2=229
+I1=229
+mO=1
+tO=1
+O1=77
mP=1
-P1=50d
+P1=1s
]
[
ObjTp=Sm
@@ -1667,91 +1576,59 @@ H=21
SmC=32
Nm=Analog Initialize
ObjVer=1
-SmVr=1193
+SmVr=1194
PrH=18
CF=2
n1I=1
-n1O=2
+n1O=1
mI=1
I1=2
-mO=2
-tO=2
-O1=227
-O2=167
-mP=2
-P1=1d
-P2=1d
-]
-[
-ObjTp=Sm
-H=22
-SmC=9
-Nm=One Shot
-ObjVer=1
-SmVr=1193
-PrH=18
-CF=2
-n1I=3
-n1O=2
-mI=3
-I1=2
-mO=2
-tO=2
-O1=153
-mP=1
-P1=1t
-]
-[
-ObjTp=Sm
-H=23
-SmC=16
-Nm=Delay
-ObjVer=1
-SmVr=1193
-PrH=18
-CF=2
-n1I=2
-n1O=1
-mI=2
-I1=153
mO=1
tO=1
-O1=400
+O1=167
mP=1
-P1=2s
+P1=1d
]
[
ObjTp=Sm
-H=24
+H=22
SmC=155
Nm=Qsys Core.umc
ObjVer=1
PrH=18
CF=2
-n1I=17
-n1O=17
-mI=17
-I1=400
-I3=227
-I4=228
-I5=229
+n1I=14
+n1O=14
+mI=14
+I1=77
+I3=399
+I4=455
+I5=227
+I7=12
I8=398
-I9=399
-I11=167
-I14=12
-I15=13
-mO=17
-tO=17
-O1=77
-O2=9
-O3=79
-O4=164
-O5=225
-O6=226
-O15=166
-mP=1
+I10=167
+I12=458
+I13=13
+mO=14
+tO=14
+O1=164
+O3=457
+O4=9
+O5=79
+O6=153
+O7=226
+O8=225
+O9=228
+O10=456
+O13=166
+mP=6
P1=main
-NGrpStI=17
+P2=192.168.4.116
+P3=192.168.4.162
+P4=1710d
+P5=""
+P6=""
+NGrpStI=14
GrpStI1=0
GrpStI2=0
GrpStI3=0
@@ -1762,14 +1639,11 @@ GrpStI7=0
GrpStI8=0
GrpStI9=0
GrpStI10=0
-GrpStI11=0
-GrpStI12=0
-GrpStI13=4
-GrpStI14=2
-GrpStI15=2
-GrpStI16=6
-GrpStI17=0
-NGrpStO=17
+GrpStI11=4
+GrpStI12=2
+GrpStI13=2
+GrpStI14=6
+NGrpStO=14
GrpStO1=0
GrpStO2=0
GrpStO3=0
@@ -1780,34 +1654,31 @@ GrpStO7=0
GrpStO8=0
GrpStO9=0
GrpStO10=0
-GrpStO11=0
-GrpStO12=0
-GrpStO13=4
-GrpStO14=2
-GrpStO15=2
-GrpStO16=6
-GrpStO17=0
+GrpStO11=4
+GrpStO12=2
+GrpStO13=2
+GrpStO14=6
]
[
ObjTp=Sm
-H=25
+H=23
SmC=156
Nm=SUBSYSTEM
ObjVer=1
-SmVr=1193
+SmVr=1194
PrH=4
CF=2
Cmn1=fader
mC=1
-C1=26
+C1=24
]
[
ObjTp=Sm
-H=26
+H=24
SmC=103
Nm=Qsys Fader.usp
ObjVer=1
-PrH=25
+PrH=23
CF=2
n1I=5
n2I=2
@@ -1843,25 +1714,25 @@ P13=2.5s
]
[
ObjTp=Sm
-H=27
+H=25
SmC=156
Nm=SUBSYSTEM
ObjVer=1
-SmVr=1193
+SmVr=1194
PrH=4
CF=2
Cmn1=mixer
mC=2
-C1=28
-C2=29
+C1=26
+C2=27
]
[
ObjTp=Sm
-H=28
+H=26
SmC=103
Nm=Qsys Matrix Mixer Crosspoint.usp
ObjVer=1
-PrH=27
+PrH=25
CF=2
n1I=4
n2I=1
@@ -1893,52 +1764,52 @@ P12=1s
]
[
ObjTp=Sm
-H=29
+H=27
SmC=156
Nm=SUBSYSTEM
ObjVer=1
-SmVr=1193
-PrH=27
+SmVr=1194
+PrH=25
CF=2
Cmn1=bigMixer
mC=2
-C1=30
-C2=46
+C1=28
+C2=44
]
[
ObjTp=Sm
-H=30
+H=28
SmC=156
Nm=SUBSYSTEM
ObjVer=1
-SmVr=1193
-PrH=29
+SmVr=1194
+PrH=27
CF=2
Cmn1=output[1]
mC=15
-C1=31
-C2=32
-C3=33
-C4=34
-C5=35
-C6=36
-C7=37
-C8=38
-C9=39
-C10=40
-C11=41
-C12=42
-C13=43
-C14=44
-C15=45
+C1=29
+C2=30
+C3=31
+C4=32
+C5=33
+C6=34
+C7=35
+C8=36
+C9=37
+C10=38
+C11=39
+C12=40
+C13=41
+C14=42
+C15=43
]
[
ObjTp=Sm
-H=31
+H=29
SmC=103
Nm=Qsys Matrix Mixer Crosspoint.usp
ObjVer=1
-PrH=30
+PrH=28
CF=2
n1I=4
n2I=1
@@ -1970,11 +1841,11 @@ P12=.2s
]
[
ObjTp=Sm
-H=32
+H=30
SmC=103
Nm=Qsys Matrix Mixer Crosspoint.usp
ObjVer=1
-PrH=30
+PrH=28
CF=2
n1I=4
n2I=1
@@ -2006,11 +1877,11 @@ P12=.2s
]
[
ObjTp=Sm
-H=33
+H=31
SmC=103
Nm=Qsys Matrix Mixer Crosspoint.usp
ObjVer=1
-PrH=30
+PrH=28
CF=2
n1I=4
n2I=1
@@ -2042,11 +1913,11 @@ P12=.2s
]
[
ObjTp=Sm
-H=34
+H=32
SmC=103
Nm=Qsys Matrix Mixer Crosspoint.usp
ObjVer=1
-PrH=30
+PrH=28
CF=2
n1I=4
n2I=1
@@ -2078,11 +1949,11 @@ P12=.2s
]
[
ObjTp=Sm
-H=35
+H=33
SmC=103
Nm=Qsys Matrix Mixer Crosspoint.usp
ObjVer=1
-PrH=30
+PrH=28
CF=2
n1I=4
n2I=1
@@ -2114,11 +1985,11 @@ P12=.2s
]
[
ObjTp=Sm
-H=36
+H=34
SmC=103
Nm=Qsys Matrix Mixer Crosspoint.usp
ObjVer=1
-PrH=30
+PrH=28
CF=2
n1I=4
n2I=1
@@ -2150,11 +2021,11 @@ P12=.2s
]
[
ObjTp=Sm
-H=37
+H=35
SmC=103
Nm=Qsys Matrix Mixer Crosspoint.usp
ObjVer=1
-PrH=30
+PrH=28
CF=2
n1I=4
n2I=1
@@ -2186,11 +2057,11 @@ P12=.2s
]
[
ObjTp=Sm
-H=38
+H=36
SmC=103
Nm=Qsys Matrix Mixer Crosspoint.usp
ObjVer=1
-PrH=30
+PrH=28
CF=2
n1I=4
n2I=1
@@ -2222,11 +2093,11 @@ P12=.2s
]
[
ObjTp=Sm
-H=39
+H=37
SmC=103
Nm=Qsys Matrix Mixer Crosspoint.usp
ObjVer=1
-PrH=30
+PrH=28
CF=2
n1I=4
n2I=1
@@ -2258,11 +2129,11 @@ P12=.2s
]
[
ObjTp=Sm
-H=40
+H=38
SmC=103
Nm=Qsys Matrix Mixer Crosspoint.usp
ObjVer=1
-PrH=30
+PrH=28
CF=2
n1I=4
n2I=1
@@ -2294,11 +2165,11 @@ P12=.2s
]
[
ObjTp=Sm
-H=41
+H=39
SmC=103
Nm=Qsys Matrix Mixer Crosspoint.usp
ObjVer=1
-PrH=30
+PrH=28
CF=2
n1I=4
n2I=1
@@ -2330,11 +2201,11 @@ P12=.2s
]
[
ObjTp=Sm
-H=42
+H=40
SmC=103
Nm=Qsys Matrix Mixer Crosspoint.usp
ObjVer=1
-PrH=30
+PrH=28
CF=2
n1I=4
n2I=1
@@ -2366,11 +2237,11 @@ P12=.2s
]
[
ObjTp=Sm
-H=43
+H=41
SmC=103
Nm=Qsys Matrix Mixer Crosspoint.usp
ObjVer=1
-PrH=30
+PrH=28
CF=2
n1I=4
n2I=1
@@ -2402,11 +2273,11 @@ P12=.2s
]
[
ObjTp=Sm
-H=44
+H=42
SmC=103
Nm=Qsys Matrix Mixer Crosspoint.usp
ObjVer=1
-PrH=30
+PrH=28
CF=2
n1I=4
n2I=1
@@ -2438,11 +2309,11 @@ P12=.2s
]
[
ObjTp=Sm
-H=45
+H=43
SmC=103
Nm=Qsys Matrix Mixer Crosspoint.usp
ObjVer=1
-PrH=30
+PrH=28
CF=2
n1I=4
n2I=1
@@ -2474,38 +2345,38 @@ P12=.2s
]
[
ObjTp=Sm
-H=46
+H=44
SmC=156
Nm=SUBSYSTEM
ObjVer=1
-SmVr=1193
-PrH=29
+SmVr=1194
+PrH=27
CF=2
Cmn1=output[2]
mC=15
-C1=47
-C2=48
-C3=49
-C4=50
-C5=51
-C6=52
-C7=53
-C8=54
-C9=55
-C10=56
-C11=57
-C12=58
-C13=59
-C14=60
-C15=61
+C1=45
+C2=46
+C3=47
+C4=48
+C5=49
+C6=50
+C7=51
+C8=52
+C9=53
+C10=54
+C11=55
+C12=56
+C13=57
+C14=58
+C15=59
]
[
ObjTp=Sm
-H=47
+H=45
SmC=103
Nm=Qsys Matrix Mixer Crosspoint.usp
ObjVer=1
-PrH=46
+PrH=44
CF=2
n1I=4
n2I=1
@@ -2537,11 +2408,11 @@ P12=.2s
]
[
ObjTp=Sm
-H=48
+H=46
SmC=103
Nm=Qsys Matrix Mixer Crosspoint.usp
ObjVer=1
-PrH=46
+PrH=44
CF=2
n1I=4
n2I=1
@@ -2573,11 +2444,11 @@ P12=.2s
]
[
ObjTp=Sm
-H=49
+H=47
SmC=103
Nm=Qsys Matrix Mixer Crosspoint.usp
ObjVer=1
-PrH=46
+PrH=44
CF=2
n1I=4
n2I=1
@@ -2609,11 +2480,11 @@ P12=.2s
]
[
ObjTp=Sm
-H=50
+H=48
SmC=103
Nm=Qsys Matrix Mixer Crosspoint.usp
ObjVer=1
-PrH=46
+PrH=44
CF=2
n1I=4
n2I=1
@@ -2645,11 +2516,11 @@ P12=.2s
]
[
ObjTp=Sm
-H=51
+H=49
SmC=103
Nm=Qsys Matrix Mixer Crosspoint.usp
ObjVer=1
-PrH=46
+PrH=44
CF=2
n1I=4
n2I=1
@@ -2681,11 +2552,11 @@ P12=.2s
]
[
ObjTp=Sm
-H=52
+H=50
SmC=103
Nm=Qsys Matrix Mixer Crosspoint.usp
ObjVer=1
-PrH=46
+PrH=44
CF=2
n1I=4
n2I=1
@@ -2717,11 +2588,11 @@ P12=.2s
]
[
ObjTp=Sm
-H=53
+H=51
SmC=103
Nm=Qsys Matrix Mixer Crosspoint.usp
ObjVer=1
-PrH=46
+PrH=44
CF=2
n1I=4
n2I=1
@@ -2753,11 +2624,11 @@ P12=.2s
]
[
ObjTp=Sm
-H=54
+H=52
SmC=103
Nm=Qsys Matrix Mixer Crosspoint.usp
ObjVer=1
-PrH=46
+PrH=44
CF=2
n1I=4
n2I=1
@@ -2789,11 +2660,11 @@ P12=.2s
]
[
ObjTp=Sm
-H=55
+H=53
SmC=103
Nm=Qsys Matrix Mixer Crosspoint.usp
ObjVer=1
-PrH=46
+PrH=44
CF=2
n1I=4
n2I=1
@@ -2825,11 +2696,11 @@ P12=.2s
]
[
ObjTp=Sm
-H=56
+H=54
SmC=103
Nm=Qsys Matrix Mixer Crosspoint.usp
ObjVer=1
-PrH=46
+PrH=44
CF=2
n1I=4
n2I=1
@@ -2861,11 +2732,11 @@ P12=.2s
]
[
ObjTp=Sm
-H=57
+H=55
SmC=103
Nm=Qsys Matrix Mixer Crosspoint.usp
ObjVer=1
-PrH=46
+PrH=44
CF=2
n1I=4
n2I=1
@@ -2897,11 +2768,11 @@ P12=.2s
]
[
ObjTp=Sm
-H=58
+H=56
SmC=103
Nm=Qsys Matrix Mixer Crosspoint.usp
ObjVer=1
-PrH=46
+PrH=44
CF=2
n1I=4
n2I=1
@@ -2933,11 +2804,11 @@ P12=.2s
]
[
ObjTp=Sm
-H=59
+H=57
SmC=103
Nm=Qsys Matrix Mixer Crosspoint.usp
ObjVer=1
-PrH=46
+PrH=44
CF=2
n1I=4
n2I=1
@@ -2969,11 +2840,11 @@ P12=.2s
]
[
ObjTp=Sm
-H=60
+H=58
SmC=103
Nm=Qsys Matrix Mixer Crosspoint.usp
ObjVer=1
-PrH=46
+PrH=44
CF=2
n1I=4
n2I=1
@@ -3005,11 +2876,11 @@ P12=.2s
]
[
ObjTp=Sm
-H=61
+H=59
SmC=103
Nm=Qsys Matrix Mixer Crosspoint.usp
ObjVer=1
-PrH=46
+PrH=44
CF=2
n1I=4
n2I=1
@@ -3041,25 +2912,25 @@ P12=.2s
]
[
ObjTp=Sm
-H=62
+H=60
SmC=156
Nm=SUBSYSTEM
ObjVer=1
-SmVr=1193
+SmVr=1194
PrH=4
CF=2
Cmn1=router
mC=2
-C1=63
-C2=64
+C1=61
+C2=62
]
[
ObjTp=Sm
-H=63
+H=61
SmC=103
Nm=Qsys Router.usp
ObjVer=1
-PrH=62
+PrH=60
CF=2
n1I=3
n2I=2
@@ -3087,11 +2958,11 @@ P9=1d
]
[
ObjTp=Sm
-H=64
+H=62
SmC=103
Nm=Qsys Router.usp
ObjVer=1
-PrH=62
+PrH=60
CF=2
n1I=3
n2I=2
@@ -3119,24 +2990,24 @@ P9=10d
]
[
ObjTp=Sm
-H=65
+H=63
SmC=156
Nm=SUBSYSTEM
ObjVer=1
-SmVr=1193
+SmVr=1194
PrH=4
CF=2
Cmn1=pots controller
mC=1
-C1=66
+C1=64
]
[
ObjTp=Sm
-H=66
+H=64
SmC=155
Nm=Qsys Pots Controller.umc
ObjVer=1
-PrH=65
+PrH=63
CF=2
n1I=31
n1O=31
@@ -3190,25 +3061,25 @@ P2=Pots
]
[
ObjTp=Sm
-H=67
+H=65
SmC=156
Nm=SUBSYSTEM
ObjVer=1
-SmVr=1193
+SmVr=1194
PrH=4
CF=2
Cmn1=softphone
mC=2
-C1=68
-C2=69
+C1=66
+C2=67
]
[
ObjTp=Sm
-H=68
+H=66
SmC=155
Nm=Qsys Softphone Controller.umc
ObjVer=1
-PrH=67
+PrH=65
CF=2
n1I=31
n1O=31
@@ -3263,12 +3134,12 @@ P2=Test VOIP
]
[
ObjTp=Sm
-H=69
+H=67
SmC=327
Nm=Intersystem Communications
ObjVer=1
-SmVr=1193
-PrH=67
+SmVr=1194
+PrH=65
CF=2
n1I=2
n2I=1
@@ -3305,24 +3176,24 @@ P2=2d
]
[
ObjTp=Sm
-H=70
+H=68
SmC=156
Nm=SUBSYSTEM
ObjVer=1
-SmVr=1193
+SmVr=1194
PrH=4
CF=2
Cmn1=nv32h decoder
mC=1
-C1=71
+C1=69
]
[
ObjTp=Sm
-H=71
+H=69
SmC=103
Nm=Qsys Nv32h Decoder.usp
ObjVer=1
-PrH=70
+PrH=68
CF=2
n2I=1
mI=1
@@ -3338,31 +3209,31 @@ P4=decoder
]
[
ObjTp=Sm
-H=72
+H=70
SmC=156
Nm=SUBSYSTEM
ObjVer=1
-SmVr=1193
+SmVr=1194
PrH=4
CF=2
Cmn1=generic named controls
mC=8
-C1=73
-C2=74
-C3=75
-C4=76
-C5=77
-C6=78
-C7=79
-C8=80
+C1=71
+C2=72
+C3=73
+C4=74
+C5=75
+C6=76
+C7=77
+C8=78
]
[
ObjTp=Sm
-H=73
+H=71
SmC=103
Nm=Qsys Generic String Named Control.usp
ObjVer=1
-PrH=72
+PrH=70
CF=2
n2I=1
mI=1
@@ -3378,11 +3249,11 @@ P4=StringTest
]
[
ObjTp=Sm
-H=74
+H=72
SmC=103
Nm=Qsys Generic Integer Named Control.usp
ObjVer=1
-PrH=72
+PrH=70
CF=2
n2I=2
mI=2
@@ -3402,11 +3273,11 @@ P6=0d
]
[
ObjTp=Sm
-H=75
+H=73
SmC=103
Nm=Qsys Generic Integer Named Control.usp
ObjVer=1
-PrH=72
+PrH=70
CF=2
n2I=2
mI=2
@@ -3426,11 +3297,11 @@ P6=1d
]
[
ObjTp=Sm
-H=76
+H=74
SmC=103
Nm=Qsys Generic Boolean Named Control.usp
ObjVer=1
-PrH=72
+PrH=70
CF=2
n1I=3
n1O=1
@@ -3451,11 +3322,11 @@ P6=BoolTest
]
[
ObjTp=Sm
-H=77
+H=75
SmC=103
Nm=Qsys Generic Boolean Named Control.usp
ObjVer=1
-PrH=72
+PrH=70
CF=2
n1I=3
n1O=1
@@ -3476,11 +3347,11 @@ P6=BoolTest1
]
[
ObjTp=Sm
-H=78
+H=76
SmC=103
Nm=Qsys Generic ListBox Named Control.usp
ObjVer=1
-PrH=72
+PrH=70
CF=2
n2I=1
mI=1
@@ -3502,12 +3373,12 @@ P7=ListTest
]
[
ObjTp=Sm
-H=79
+H=77
SmC=327
Nm=Intersystem Communications
ObjVer=1
-SmVr=1193
-PrH=72
+SmVr=1194
+PrH=70
CF=2
n1I=2
n2I=1
@@ -3527,11 +3398,11 @@ P2=2d
]
[
ObjTp=Sm
-H=80
+H=78
SmC=103
Nm=Qsys Generic Trigger Named Control.usp
ObjVer=1
-PrH=72
+PrH=70
CF=2
n1I=1
mI=1
@@ -3544,24 +3415,24 @@ P4=TriggerTest
]
[
ObjTp=Sm
-H=81
+H=79
SmC=156
Nm=SUBSYSTEM
ObjVer=1
-SmVr=1193
+SmVr=1194
PrH=4
CF=2
Cmn1=camera
mC=1
-C1=82
+C1=80
]
[
ObjTp=Sm
-H=82
+H=80
SmC=103
Nm=Qsys Camera.usp
ObjVer=1
-PrH=81
+PrH=79
CF=2
n1I=22
n2I=16
@@ -3581,9 +3452,9 @@ I14=181
I16=219
I17=182
I18=183
-I20=414
-I21=415
-I22=416
+I20=451
+I21=452
+I22=453
I24=186
I25=188
I26=189
@@ -3601,7 +3472,7 @@ mO=38
tO=38
O9=217
O16=218
-O20=412
+O20=454
O24=187
O25=191
O26=192
@@ -3656,28 +3527,28 @@ P37=
P38=
P39=
P40=main
-P41=camera
+P41=Camera
]
[
ObjTp=Sm
-H=83
+H=81
SmC=156
Nm=SUBSYSTEM
ObjVer=1
-SmVr=1193
+SmVr=1194
PrH=4
CF=2
Cmn1=room combiner
mC=1
-C1=84
+C1=82
]
[
ObjTp=Sm
-H=84
+H=82
SmC=103
Nm=Qsys Room Combiner.usp
ObjVer=1
-PrH=83
+PrH=81
CF=2
n1I=5
n1O=6
@@ -3711,25 +3582,25 @@ P12=3d
]
[
ObjTp=Sm
-H=85
+H=83
SmC=156
Nm=SUBSYSTEM
ObjVer=1
-SmVr=1193
+SmVr=1194
PrH=4
CF=2
Cmn1=meters
mC=2
-C1=86
-C2=87
+C1=84
+C2=85
]
[
ObjTp=Sm
-H=86
+H=84
SmC=103
Nm=Qsys Signal Presence.usp
ObjVer=1
-PrH=85
+PrH=83
CF=2
n1I=9
n1O=5
@@ -3765,11 +3636,11 @@ P13=2d
]
[
ObjTp=Sm
-H=87
+H=85
SmC=103
Nm=Qsys Meter.usp
ObjVer=1
-PrH=85
+PrH=83
CF=2
mO=1
tO=1
@@ -3783,24 +3654,56 @@ P5=1d
]
[
ObjTp=Sm
-H=88
+H=86
SmC=156
Nm=SUBSYSTEM
ObjVer=1
-SmVr=1193
+SmVr=1194
PrH=4
CF=2
Cmn1=snapshot controller
mC=1
-C1=95
+C1=87
]
[
ObjTp=Sm
-H=90
+H=87
+SmC=103
+Nm=Qsys Snapshot Controller.usp
+ObjVer=1
+PrH=86
+CF=2
+n1I=6
+n2I=1
+n1O=12
+mI=7
+I5=171
+I6=168
+I7=169
+mO=12
+tO=12
+O5=170
+O6=172
+O7=173
+O8=174
+O9=175
+O10=176
+O11=177
+O12=178
+mP=5
+P1=
+P2=main
+P3=SnapshotTest
+P4=2d
+P5=8d
+]
+[
+ObjTp=Sm
+H=88
SmC=470
Nm=Serial Force
ObjVer=1
-SmVr=1193
+SmVr=1194
PrH=4
CF=2
n1I=24
@@ -3832,32 +3735,434 @@ I24=392
]
[
ObjTp=Sm
-H=91
+H=89
SmC=858
Nm=Make String Permanent
ObjVer=1
-SmVr=1193
+SmVr=1194
PrH=4
CF=2
-n1I=7
-mI=7
+n1I=5
+mI=5
I1=199
I2=195
I3=196
I4=202
I5=198
-I6=228
-I7=229
mP=1
P1=255d
]
[
ObjTp=Sm
-H=92
+H=90
+SmC=103
+Nm=Qsys Matrix Mixer Output All Crosspoints.usp
+ObjVer=1
+PrH=4
+CF=2
+n1I=261
+n1O=132
+mI=261
+I5=441
+I6=414
+I7=415
+I8=416
+I9=417
+I10=418
+I11=419
+I12=420
+I13=421
+I14=423
+I15=132
+I16=132
+I17=132
+I18=132
+I19=132
+I20=132
+I21=132
+I22=132
+I23=132
+I24=132
+I25=132
+I26=132
+I27=132
+I28=132
+I29=132
+I30=132
+I31=132
+I32=132
+I33=132
+I34=132
+I35=132
+I36=132
+I37=132
+I38=132
+I39=132
+I40=132
+I41=132
+I42=132
+I43=132
+I44=132
+I45=132
+I46=132
+I47=132
+I48=132
+I49=132
+I50=132
+I51=132
+I52=132
+I53=132
+I54=132
+I55=132
+I56=132
+I57=132
+I58=132
+I59=132
+I60=132
+I61=132
+I62=132
+I63=132
+I64=132
+I65=132
+I66=132
+I67=132
+I68=132
+I69=132
+I70=132
+I71=132
+I72=132
+I73=132
+I74=132
+I75=132
+I76=132
+I77=132
+I78=132
+I79=132
+I80=132
+I81=132
+I82=132
+I83=132
+I84=132
+I85=132
+I86=132
+I87=132
+I88=132
+I89=132
+I90=132
+I91=132
+I92=132
+I93=132
+I94=132
+I95=132
+I96=132
+I97=132
+I98=132
+I99=132
+I100=132
+I101=132
+I102=132
+I103=132
+I104=132
+I105=132
+I106=132
+I107=132
+I108=132
+I109=132
+I110=132
+I111=132
+I112=132
+I113=132
+I114=132
+I115=132
+I116=132
+I117=132
+I118=132
+I119=132
+I120=132
+I121=132
+I122=132
+I123=132
+I124=132
+I125=132
+I126=132
+I127=132
+I128=132
+I129=132
+I130=132
+I131=132
+I132=132
+I134=443
+I135=433
+I136=434
+I137=435
+I138=436
+I139=437
+I140=438
+I141=439
+I142=440
+I143=442
+I144=132
+I145=132
+I146=132
+I147=132
+I148=132
+I149=132
+I150=132
+I151=132
+I152=132
+I153=132
+I154=132
+I155=132
+I156=132
+I157=132
+I158=132
+I159=132
+I160=132
+I161=132
+I162=132
+I163=132
+I164=132
+I165=132
+I166=132
+I167=132
+I168=132
+I169=132
+I170=132
+I171=132
+I172=132
+I173=132
+I174=132
+I175=132
+I176=132
+I177=132
+I178=132
+I179=132
+I180=132
+I181=132
+I182=132
+I183=132
+I184=132
+I185=132
+I186=132
+I187=132
+I188=132
+I189=132
+I190=132
+I191=132
+I192=132
+I193=132
+I194=132
+I195=132
+I196=132
+I197=132
+I198=132
+I199=132
+I200=132
+I201=132
+I202=132
+I203=132
+I204=132
+I205=132
+I206=132
+I207=132
+I208=132
+I209=132
+I210=132
+I211=132
+I212=132
+I213=132
+I214=132
+I215=132
+I216=132
+I217=132
+I218=132
+I219=132
+I220=132
+I221=132
+I222=132
+I223=132
+I224=132
+I225=132
+I226=132
+I227=132
+I228=132
+I229=132
+I230=132
+I231=132
+I232=132
+I233=132
+I234=132
+I235=132
+I236=132
+I237=132
+I238=132
+I239=132
+I240=132
+I241=132
+I242=132
+I243=132
+I244=132
+I245=132
+I246=132
+I247=132
+I248=132
+I249=132
+I250=132
+I251=132
+I252=132
+I253=132
+I254=132
+I255=132
+I256=132
+I257=132
+I258=132
+I259=132
+I260=132
+I261=132
+mO=132
+tO=132
+O5=422
+O6=424
+O7=412
+O8=425
+O9=426
+O10=427
+O11=428
+O12=429
+O13=430
+O14=432
+O15=132
+O16=132
+O17=132
+O18=132
+O19=132
+O20=132
+O21=132
+O22=132
+O23=132
+O24=132
+O25=132
+O26=132
+O27=132
+O28=132
+O29=132
+O30=132
+O31=132
+O32=132
+O33=132
+O34=132
+O35=132
+O36=132
+O37=132
+O38=132
+O39=132
+O40=132
+O41=132
+O42=132
+O43=132
+O44=132
+O45=132
+O46=132
+O47=132
+O48=132
+O49=132
+O50=132
+O51=132
+O52=132
+O53=132
+O54=132
+O55=132
+O56=132
+O57=132
+O58=132
+O59=132
+O60=132
+O61=132
+O62=132
+O63=132
+O64=132
+O65=132
+O66=132
+O67=132
+O68=132
+O69=132
+O70=132
+O71=132
+O72=132
+O73=132
+O74=132
+O75=132
+O76=132
+O77=132
+O78=132
+O79=132
+O80=132
+O81=132
+O82=132
+O83=132
+O84=132
+O85=132
+O86=132
+O87=132
+O88=132
+O89=132
+O90=132
+O91=132
+O92=132
+O93=132
+O94=132
+O95=132
+O96=132
+O97=132
+O98=132
+O99=132
+O100=132
+O101=132
+O102=132
+O103=132
+O104=132
+O105=132
+O106=132
+O107=132
+O108=132
+O109=132
+O110=132
+O111=132
+O112=132
+O113=132
+O114=132
+O115=132
+O116=132
+O117=132
+O118=132
+O119=132
+O120=132
+O121=132
+O122=132
+O123=132
+O124=132
+O125=132
+O126=132
+O127=132
+O128=132
+O129=132
+O130=132
+O131=132
+O132=132
+mP=5
+P1=
+P2=main
+P3=mixer test
+P4=10d
+P5=4d
+]
+[
+ObjTp=Sm
+H=91
SmC=3166
Nm=TCP/IP Client
ObjVer=1
-SmVr=1193
+SmVr=1194
DvH=550
PrH=7
CF=2
@@ -3875,75 +4180,6 @@ mP=1
P1=1710d
]
[
-ObjTp=Sm
-H=93
-SmC=6092
-Nm=CEN-IO-COM-102
-ObjVer=1
-SmVr=1193
-DvH=553
-PrH=7
-CF=2
-Cmn1=CEN-IO-COM-102
-mC=1
-C1=94
-]
-[
-ObjTp=Sm
-H=94
-SmC=6301
-Nm=COM 2-Way Serial Driver
-ObjVer=1
-SmVr=1193
-DvH=556
-PrH=93
-CF=2
-n1I=5
-n1O=3
-Cmn1=COM 2-Way Serial Driver
-mI=5
-I1=166
-mO=3
-tO=3
-O1=13
-mP=3
-P1=
-P2=
-P3=
-]
-[
-ObjTp=Sm
-H=95
-SmC=103
-Nm=Qsys Snapshot Controller.usp
-ObjVer=1
-PrH=88
-CF=2
-n1I=6
-n2I=1
-n1O=12
-mI=7
-I5=173
-I6=174
-I7=170
-mO=12
-tO=12
-O5=168
-O6=169
-O7=171
-O8=172
-O9=175
-O10=176
-O11=177
-O12=178
-mP=5
-P1=
-P2=main
-P3=SnapshotTest
-P4=2d
-P5=8d
-]
-[
ObjTp=Sg
H=4
Nm=fader.muteToggle
@@ -3971,7 +4207,7 @@ Nm=pots.redial
[
ObjTp=Sg
H=9
-Nm=core[1].isConnected
+Nm=core[1].backupIsConnected
]
[
ObjTp=Sg
@@ -3986,7 +4222,8 @@ Nm=pots.keypadStar
[
ObjTp=Sg
H=12
-Nm=core[1].externalConnection.use
+Nm=core[1].username
+SgTp=4
]
[
ObjTp=Sg
@@ -4322,7 +4559,7 @@ SgTp=2
[
ObjTp=Sg
H=77
-Nm=core[1].isInit
+Nm=core[1].initialize
]
[
ObjTp=Sg
@@ -4332,7 +4569,7 @@ Nm=pots.keypadClear
[
ObjTp=Sg
H=79
-Nm=core[1].loggedIn
+Nm=core[1].primaryIsActive
]
[
ObjTp=Sg
@@ -4742,7 +4979,7 @@ Nm=pots.incomingCall
[
ObjTp=Sg
H=153
-Nm=core[1].init
+Nm=core[1].backupIsActive
]
[
ObjTp=Sg
@@ -4799,7 +5036,7 @@ SgTp=4
[
ObjTp=Sg
H=164
-Nm=core[1].isRedundant
+Nm=core[1].isInitialized
]
[
ObjTp=Sg
@@ -4821,58 +5058,58 @@ SgTp=2
[
ObjTp=Sg
H=168
-Nm=snapshot[1].active
+Nm=Snapshot_Save
]
[
ObjTp=Sg
H=169
-Nm=snapshot[2].active
+Nm=Snapshot_Number#
+SgTp=2
]
[
ObjTp=Sg
H=170
-Nm=snapshot.number
-SgTp=2
+Nm=Snapshot_1_Active_f
]
[
ObjTp=Sg
H=171
-Nm=snapshot[3].active
+Nm=Snapshot_Load
]
[
ObjTp=Sg
H=172
-Nm=snapshot[4].active
+Nm=Snapshot_2_Active_f
]
[
ObjTp=Sg
H=173
-Nm=snapshot.load
+Nm=Snapshot_3_Active_f
]
[
ObjTp=Sg
H=174
-Nm=snapshot.save
+Nm=Snapshot_4_Active_f
]
[
ObjTp=Sg
H=175
-Nm=snapshot[5].active
+Nm=Snapshot_5_Active_f
]
[
ObjTp=Sg
H=176
-Nm=snapshot[6].active
+Nm=Snapshot_6_Active_f
]
[
ObjTp=Sg
H=177
-Nm=snapshot[7].active
+Nm=Snapshot_7_Active_f
]
[
ObjTp=Sg
H=178
-Nm=snapshot[8].active
+Nm=Snapshot_8_Active_f
]
[
ObjTp=Sg
@@ -5137,31 +5374,28 @@ Nm=genericBoolean[1].setBool
[
ObjTp=Sg
H=225
-Nm=core[1].isEmu
+Nm=core[1].isRedundant
]
[
ObjTp=Sg
H=226
-Nm=core[1].designName
-SgTp=4
+Nm=core[1].isLoggedIn
]
[
ObjTp=Sg
H=227
-Nm=core[1].DeploymentMode
+Nm=core[1].port
SgTp=2
]
[
ObjTp=Sg
H=228
-Nm=core[1].DeploymentHost
-SgTp=4
+Nm=core[1].isEmulator
]
[
ObjTp=Sg
H=229
-Nm=core[1].TestingHost
-SgTp=4
+Nm=system.status.start
]
[
ObjTp=Sg
@@ -6080,22 +6314,17 @@ SgTp=2
[
ObjTp=Sg
H=398
-Nm=core[1].username
+Nm=core[1].password
SgTp=4
]
[
ObjTp=Sg
H=399
-Nm=core[1].password
+Nm=core[1].primaryIpAddress
SgTp=4
]
[
ObjTp=Sg
-H=400
-Nm=core[1].init.d
-]
-[
-ObjTp=Sg
H=401
Nm=Router[10].OutputMuteOff
]
@@ -6155,7 +6384,7 @@ SgTp=2
[
ObjTp=Sg
H=412
-Nm=camera.autoFrameIsOn
+Nm=AllInputs.Out_4_Input_03_Mute_f
]
[
ObjTp=Sg
@@ -6165,15 +6394,187 @@ Nm=Router[10].OutputMuteOn
[
ObjTp=Sg
H=414
-Nm=camera.autoFrameOn
+Nm=AllInputs.Out_4_Input_02_Mute_On
]
[
ObjTp=Sg
H=415
-Nm=camera.autoFrameOff
+Nm=AllInputs.Out_4_Input_03_Mute_On
]
[
ObjTp=Sg
H=416
+Nm=AllInputs.Out_4_Input_04_Mute_On
+]
+[
+ObjTp=Sg
+H=417
+Nm=AllInputs.Out_4_Input_05_Mute_On
+]
+[
+ObjTp=Sg
+H=418
+Nm=AllInputs.Out_4_Input_06_Mute_On
+]
+[
+ObjTp=Sg
+H=419
+Nm=AllInputs.Out_4_Input_07_Mute_On
+]
+[
+ObjTp=Sg
+H=420
+Nm=AllInputs.Out_4_Input_08_Mute_On
+]
+[
+ObjTp=Sg
+H=421
+Nm=AllInputs.Out_4_Input_09_Mute_On
+]
+[
+ObjTp=Sg
+H=422
+Nm=AllInputs.Out_4_Input_01_Mute_f
+]
+[
+ObjTp=Sg
+H=423
+Nm=AllInputs.Out_4_Input_10_Mute_On
+]
+[
+ObjTp=Sg
+H=424
+Nm=AllInputs.Out_4_Input_02_Mute_f
+]
+[
+ObjTp=Sg
+H=425
+Nm=AllInputs.Out_4_Input_04_Mute_f
+]
+[
+ObjTp=Sg
+H=426
+Nm=AllInputs.Out_4_Input_05_Mute_f
+]
+[
+ObjTp=Sg
+H=427
+Nm=AllInputs.Out_4_Input_06_Mute_f
+]
+[
+ObjTp=Sg
+H=428
+Nm=AllInputs.Out_4_Input_07_Mute_f
+]
+[
+ObjTp=Sg
+H=429
+Nm=AllInputs.Out_4_Input_08_Mute_f
+]
+[
+ObjTp=Sg
+H=430
+Nm=AllInputs.Out_4_Input_09_Mute_f
+]
+[
+ObjTp=Sg
+H=432
+Nm=AllInputs.Out_4_Input_10_Mute_f
+]
+[
+ObjTp=Sg
+H=433
+Nm=AllInputs.Out_4_Input_02_Mute_Off
+]
+[
+ObjTp=Sg
+H=434
+Nm=AllInputs.Out_4_Input_03_Mute_Off
+]
+[
+ObjTp=Sg
+H=435
+Nm=AllInputs.Out_4_Input_04_Mute_Off
+]
+[
+ObjTp=Sg
+H=436
+Nm=AllInputs.Out_4_Input_05_Mute_Off
+]
+[
+ObjTp=Sg
+H=437
+Nm=AllInputs.Out_4_Input_06_Mute_Off
+]
+[
+ObjTp=Sg
+H=438
+Nm=AllInputs.Out_4_Input_07_Mute_Off
+]
+[
+ObjTp=Sg
+H=439
+Nm=AllInputs.Out_4_Input_08_Mute_Off
+]
+[
+ObjTp=Sg
+H=440
+Nm=AllInputs.Out_4_Input_09_Mute_Off
+]
+[
+ObjTp=Sg
+H=441
+Nm=AllInputs.Out_4_Input_01_Mute_On
+]
+[
+ObjTp=Sg
+H=442
+Nm=AllInputs.Out_4_Input_10_Mute_Off
+]
+[
+ObjTp=Sg
+H=443
+Nm=AllInputs.Out_4_Input_01_Mute_Off
+]
+[
+ObjTp=Sg
+H=451
+Nm=camera.autoFrameOn
+]
+[
+ObjTp=Sg
+H=452
+Nm=camera.autoFrameOff
+]
+[
+ObjTp=Sg
+H=453
Nm=camera.autoFrameToggle
]
+[
+ObjTp=Sg
+H=454
+Nm=camera.autoFrameIsOn
+]
+[
+ObjTp=Sg
+H=455
+Nm=core[1].backupIpAddress
+SgTp=4
+]
+[
+ObjTp=Sg
+H=456
+Nm=core[1].designName
+SgTp=4
+]
+[
+ObjTp=Sg
+H=457
+Nm=core[1].primaryIsConnected
+]
+[
+ObjTp=Sg
+H=458
+Nm=core[1].useExternalConnection
+]
diff --git a/QscQsys/SIMPL/3 Series Test_compiled.zip b/QscQsys/SIMPL/3 Series Test_compiled.zip
index 5d226de..3891506 100644
Binary files a/QscQsys/SIMPL/3 Series Test_compiled.zip and b/QscQsys/SIMPL/3 Series Test_compiled.zip differ
diff --git a/QscQsys/SIMPL/4 Series Test.smw b/QscQsys/SIMPL/4 Series Test.smw
index ee65e46..223927e 100644
--- a/QscQsys/SIMPL/4 Series Test.smw
+++ b/QscQsys/SIMPL/4 Series Test.smw
@@ -19,13 +19,13 @@ S1Nd=2
SLNd=3
PrNm=4 Series Test.smw
CmVr=3.03
-DbVr=219.05.001.00
-DvcDbVr=200.285.001.00
+DbVr=221.00.002.00
+DvcDbVr=200.295.001.00
PgmNm=Mat Klucznyk
-DlrNm=RAVE Audio Visual
+DlrNm=Global USS
CltNm=qsysTest
-SmVr=1193
-DvVr=1193
+SmVr=1194
+DvVr=1194
TpN1=1
TpN2=2
TpN3=3
@@ -49,7 +49,7 @@ H=2
PrH=1
DvC=8939
ObjVer=2
-DvVr=1193
+DvVr=1194
Ad=00
RelStat=Ignore
ProdLine=4-Series
@@ -313,7 +313,7 @@ PrH=2
ObjVer=1
SlC=567
DvF=Sl
-DvVr=1193
+DvVr=1194
Ad=01
mC=1
C1=4
@@ -326,7 +326,7 @@ PrH=3
DvC=8940
ObjVer=1
SlC=567
-DvVr=1193
+DvVr=1194
Ad=01
SmH=6
RelStat=Ignore
@@ -594,7 +594,7 @@ PrH=4
ObjVer=1
SlC=17
DvF=Sl
-DvVr=1193
+DvVr=1194
Ad=01,02
]
[
@@ -605,7 +605,7 @@ PrH=4
ObjVer=1
SlC=565
DvF=Sl
-DvVr=1193
+DvVr=1194
Ad=03
mC=1
C1=508
@@ -613,39 +613,13 @@ C1=508
[
ObjTp=Dv
Nm=P4Ethernet
-H=8
-PrH=4
-ObjVer=1
-SlC=565
-DvF=Sl
-DvVr=1193
-Ad=04
-mC=1
-C1=515
-]
-[
-ObjTp=Dv
-Nm=P4Ethernet
-H=9
-PrH=4
-ObjVer=1
-SlC=565
-DvF=Sl
-DvVr=1193
-Ad=05
-mC=1
-C1=511
-]
-[
-ObjTp=Dv
-Nm=P4Ethernet
-H=10.258
+H=8.258
PrH=4
ObjVer=1
SlC=565
DvF=Sl
-DvVr=1193
-Ad=06,07,08,09,0A,0B,0C,0D,0E,0F,10,11,12,13,14,15,16,17,18,19,1A,1B,1C,1D,1E,1F,20,21,22,23,24,25,26,27,28,29,2A,2B,2C,2D,2E,2F,30,31,32,33,34,35,36,37,38,39,3A,3B,3C,3D,3E,3F,40,41,42,43,44,45,46,47,48,49,4A,4B,4C,4D,4E,4F,50,51,52,53,54,55,56,57,58,59,5A,5B,5C,5D,5E,5F,60,61,62,63,64,65,66,67,68,69,6A,6B,6C,6D,6E,6F,70,71,72,73,74,75,76,77,78,79,7A,7B,7C,7D,7E,7F,80,81,82,83,84,85,86,87,88,89,8A,8B,8C,8D,8E,8F,90,91,92,93,94,95,96,97,98,99,9A,9B,9C,9D,9E,9F,A0,A1,A2,A3,A4,A5,A6,A7,A8,A9,AA,AB,AC,AD,AE,AF,B0,B1,B2,B3,B4,B5,B6,B7,B8,B9,BA,BB,BC,BD,BE,BF,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,CA,CB,CC,CD,CE,CF,D0,D1,D2,D3,D4,D5,D6,D7,D8,D9,DA,DB,DC,DD,DE,DF,E0,E1,E2,E3,E4,E5,E6,E7,E8,E9,EA,EB,EC,ED,EE,EF,F0,F1,F2,F3,F4,F5,F6,F7,F8,F9,FA,FB,FC,FD,FE
+DvVr=1194
+Ad=04,05,06,07,08,09,0A,0B,0C,0D,0E,0F,10,11,12,13,14,15,16,17,18,19,1A,1B,1C,1D,1E,1F,20,21,22,23,24,25,26,27,28,29,2A,2B,2C,2D,2E,2F,30,31,32,33,34,35,36,37,38,39,3A,3B,3C,3D,3E,3F,40,41,42,43,44,45,46,47,48,49,4A,4B,4C,4D,4E,4F,50,51,52,53,54,55,56,57,58,59,5A,5B,5C,5D,5E,5F,60,61,62,63,64,65,66,67,68,69,6A,6B,6C,6D,6E,6F,70,71,72,73,74,75,76,77,78,79,7A,7B,7C,7D,7E,7F,80,81,82,83,84,85,86,87,88,89,8A,8B,8C,8D,8E,8F,90,91,92,93,94,95,96,97,98,99,9A,9B,9C,9D,9E,9F,A0,A1,A2,A3,A4,A5,A6,A7,A8,A9,AA,AB,AC,AD,AE,AF,B0,B1,B2,B3,B4,B5,B6,B7,B8,B9,BA,BB,BC,BD,BE,BF,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,CA,CB,CC,CD,CE,CF,D0,D1,D2,D3,D4,D5,D6,D7,D8,D9,DA,DB,DC,DD,DE,DF,E0,E1,E2,E3,E4,E5,E6,E7,E8,E9,EA,EB,EC,ED,EE,EF,F0,F1,F2,F3,F4,F5,F6,F7,F8,F9,FA,FB,FC,FD,FE
]
[
ObjTp=Dv
@@ -655,7 +629,7 @@ PrH=2
ObjVer=1
SlC=15
DvF=Sl
-DvVr=1193
+DvVr=1194
Ad=02,03,04,05,06,07,08,09,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249
]
[
@@ -666,7 +640,7 @@ PrH=2
ObjVer=1
SlC=396
DvF=Sl
-DvVr=1193
+DvVr=1194
Ad=250
]
[
@@ -676,7 +650,7 @@ H=508
PrH=7
DvC=200
ObjVer=1
-DvVr=1193
+DvVr=1194
Ad=03
SmH=65
RelStat=Release
@@ -695,7 +669,7 @@ PrH=508
ObjVer=1
SlC=80
DvF=Sl
-DvVr=1193
+DvVr=1194
Ad=01
mC=1
C1=510
@@ -708,331 +682,12 @@ PrH=509
DvC=356
ObjVer=1
SlC=80
-DvVr=1193
+DvVr=1194
Ad=01
RelStat=None
ProdLine=2-Series
]
[
-ObjTp=Dv
-Nm=CEN-IO-COM-102
-H=511
-PrH=9
-DvC=5668
-ObjVer=1
-DvVr=1193
-Ad=05
-SmH=66
-RelStat=Release
-ProdLine=CEN-IO
-EtH=2
-mC=2
-C1=512
-C2=513
-]
-[
-ObjTp=Dv
-Nm=CENIOCOM_Port
-H=512
-PrH=511
-ObjVer=1
-SlC=582
-DvF=Sl
-DvVr=1193
-Ad=01
-mC=1
-C1=514
-]
-[
-ObjTp=Dv
-Nm=CENIOCOM_Port
-H=513
-PrH=511
-ObjVer=1
-SlC=582
-DvF=Sl
-DvVr=1193
-Ad=02
-]
-[
-ObjTp=Dv
-Nm=COM 2-Way Serial Driver
-H=514
-PrH=512
-DvC=5865
-ObjVer=1
-DvVr=1193
-Ad=01
-SmH=67
-RelStat=Beta
-ProdLine=Internal Use Only
-CmH=1
-DbH=2
-CsH=2
-]
-[
-ObjTp=Dv
-Nm=DM-MD8x8
-H=515
-PrH=8
-DvC=1897
-ObjVer=1
-DvVr=1193
-Ad=04
-SmH=86
-RelStat=Release
-ProdLine=Digital Media
-DbH=3
-EtH=3
-mC=21
-C1=516
-C2=517
-C3=518
-C4=519
-C5=520
-C6=521
-C7=522
-C8=523
-C9=524
-C10=525
-C11=526
-C12=527
-C13=528
-C14=529
-C15=530
-C16=531
-C17=532
-C18=536
-C19=537
-C20=538
-C21=539
-]
-[
-ObjTp=Dv
-Nm=DM_Input_Card
-H=516.523
-PrH=515
-ObjVer=4
-SlC=213
-DvF=Sl
-DvVr=1193
-Ad=01,02,03,04,05,06,07,08
-]
-[
-ObjTp=Dv
-Nm=NotUsed
-H=524.531,536.538
-PrH=515
-ObjVer=1
-SlC=15
-DvF=Sl
-DvVr=1193
-Ad=09,10,11,12,13,14,15,16,18,19,20
-]
-[
-ObjTp=Dv
-Nm=DM_Output_Card8x8
-H=532
-PrH=515
-ObjVer=1
-SlC=260
-DvF=Sl
-DvVr=1193
-Ad=17
-mC=1
-C1=533
-]
-[
-ObjTp=Dv
-Nm=DM Outputs
-H=533
-PrH=532
-DvC=4619
-ObjVer=2
-SlC=260
-DvVr=1193
-Ad=17
-SmH=87
-RelStat=Release
-ProdLine=Digital Media
-mC=2
-C1=534
-C2=535
-]
-[
-ObjTp=Dv
-Nm=DM_Output_Card_Single
-H=534
-PrH=533
-ObjVer=1
-SlC=528
-DvF=Sl
-DvVr=1193
-Ad=01
-mC=1
-C1=543
-]
-[
-ObjTp=Dv
-Nm=DM_Output_Card_Single
-H=535
-PrH=533
-ObjVer=1
-SlC=528
-DvF=Sl
-DvVr=1193
-Ad=02
-]
-[
-ObjTp=Dv
-Nm=DM_Output_Card8x8
-H=539
-PrH=515
-ObjVer=1
-SlC=260
-DvF=Sl
-DvVr=1193
-Ad=21
-mC=1
-C1=540
-]
-[
-ObjTp=Dv
-Nm=DM Outputs
-H=540
-PrH=539
-DvC=4619
-ObjVer=2
-SlC=260
-DvVr=1193
-Ad=21
-SmH=88
-RelStat=Release
-ProdLine=Digital Media
-mC=2
-C1=541
-C2=542
-]
-[
-ObjTp=Dv
-Nm=DM_Output_Card_Single
-H=541.542
-PrH=540
-ObjVer=1
-SlC=528
-DvF=Sl
-DvVr=1193
-Ad=01,02
-]
-[
-ObjTp=Dv
-Nm=DMC-4KZ-HDO
-H=543
-PrH=534
-DvC=6005
-ObjVer=1
-DvVr=1193
-Ad=01
-SmH=89
-RelStat=Beta
-ProdLine=Digital Media
-DbH=4
-mC=2
-C1=544
-C2=547
-]
-[
-ObjTp=Dv
-Nm=FixedSlot
-H=544
-PrH=543
-ObjVer=1
-SlC=144
-DvF=Sl
-DvVr=1193
-Ad=01
-mC=1
-C1=545
-]
-[
-ObjTp=Dv
-Nm=DMC-4KZ-HDO Output 1
-H=545
-PrH=544
-DvC=6006
-ObjVer=2
-SlC=144
-DvVr=1193
-Ad=01
-SmH=90
-RelStat=Ignore
-mC=1
-C1=546
-]
-[
-ObjTp=Dv
-Nm=DM_HDMI_Out_Control
-H=546
-PrH=545
-ObjVer=1
-SlC=545
-DvF=Sl
-DvVr=1193
-Ad=01
-]
-[
-ObjTp=Dv
-Nm=FixedSlot
-H=547
-PrH=543
-ObjVer=1
-SlC=144
-DvF=Sl
-DvVr=1193
-Ad=02
-mC=1
-C1=548
-]
-[
-ObjTp=Dv
-Nm=DMC-4KZ-HDO Output 2
-H=548
-PrH=547
-DvC=6007
-ObjVer=2
-SlC=144
-DvVr=1193
-Ad=02
-SmH=91
-RelStat=Ignore
-mC=1
-C1=549
-]
-[
-ObjTp=Dv
-Nm=DM_HDMI_Out_Control
-H=549
-PrH=548
-ObjVer=1
-SlC=545
-DvF=Sl
-DvVr=1193
-Ad=01
-]
-[
-ObjTp=Cm
-H=1
-DvH=514
-Ptl=(RS232)
-Tis=2
-BRt=115200
-Pty=N
-SBt=1
-DBt=8
-hHs=(None)
-sHs=(None)
-]
-[
ObjTp=Db
H=1
DvH=508
@@ -1042,42 +697,11 @@ Mdl=TCP/IP Client
Tpe=Initiates a TCP/IP connection from a Crestron Control system to another TCP/IP Device
]
[
-ObjTp=Db
-H=2
-DvH=514
-Whc=3
-Mnf=Crestron
-Mdl=COM 2-Way Serial Driver
-Tpe=COM 2-Way Serial Driver
-]
-[
-ObjTp=Db
-H=3
-DvH=515
-Whc=3
-Mnf=Crestron
-Mdl=DM-MD8x8
-Tpe=Modular DigitalMedia 8x8 Matrix Switch
-]
-[
-ObjTp=Db
-H=4
-DvH=543
-Whc=3
-Mnf=Crestron
-Mdl=DMC-4KZ-HDO
-]
-[
ObjTp=Cs
H=1
DvH=508
]
[
-ObjTp=Cs
-H=2
-DvH=514
-]
-[
ObjTp=FP
]
[
@@ -1088,25 +712,39 @@ Sy1=0
Mx1=0
]
[
-ObjTp=Et
+ObjTp=Bw
H=1
-DvH=508
-IPM=255.255.255.0
-IPA=192.168.2.159
-]
-[
-ObjTp=Et
-H=2
-DvH=511
-IPM=255.255.255.0
-IPA=127.0.0.1
+Lx=0
+Ly=524
+Rx=970
+Ry=786
+Xm=-1
+Ym=-1
+SH=9
+Z=100
+Ht=1
+Hi=1
+]
+[
+ObjTp=Bw
+H=1
+Lx=0
+Ly=0
+Rx=970
+Ry=262
+Xm=-1
+Ym=-1
+SH=8
+Z=100
+Ht=4
+Hi=1
]
[
ObjTp=Et
-H=3
-DvH=515
+H=1
+DvH=508
IPM=255.255.255.0
-IPA=127.0.0.1
+IPA=192.168.2.159
]
[
ObjTp=Sm
@@ -1114,7 +752,7 @@ H=1
SmC=157
Nm=Central Control Modules
ObjVer=1
-SmVr=1193
+SmVr=1194
CF=2
n1I=1
n1O=1
@@ -1132,7 +770,7 @@ H=2
SmC=157
Nm=Network Modules
ObjVer=1
-SmVr=1193
+SmVr=1194
CF=2
n1I=1
n1O=1
@@ -1148,7 +786,7 @@ H=3
SmC=157
Nm=Ethernet
ObjVer=1
-SmVr=1193
+SmVr=1194
CF=2
n1I=1
n1O=1
@@ -1164,9 +802,9 @@ H=4
SmC=156
Nm=Logic
ObjVer=1
-SmVr=1193
+SmVr=1194
CF=2
-mC=16
+mC=15
C1=72
C2=73
C3=74
@@ -1182,7 +820,6 @@ C12=83
C13=23
C14=30
C15=84
-C16=85
]
[
ObjTp=Sm
@@ -1190,7 +827,7 @@ H=5
SmC=157
Nm=DefineArguments
ObjVer=1
-SmVr=1193
+SmVr=1194
CF=2
n1I=1
n1O=1
@@ -1206,52 +843,51 @@ H=6
SmC=7221
Nm=4-Series Ethernet Devices
ObjVer=1
-SmVr=1193
+SmVr=1194
DvH=4
PrH=1
CF=2
Cmn1=Ethernet Devices
-mC=3
+mC=1
C1=65
-C2=86
-C3=66
]
[
ObjTp=Sm
H=7
-SmC=1477
-Nm=Multiple Serial Send
+SmC=9
+Nm=One Shot
ObjVer=1
-SmVr=1193
+SmVr=1194
PrH=72
CF=2
-n1I=1
+n1I=3
n1O=2
-mI=1
+mI=3
I1=2
mO=2
tO=2
-O1=228
-O2=229
-mP=2
-P1=10.17.1.94
-P2=192.168.4.159
+O1=229
+mP=1
+P1=1t
]
[
ObjTp=Sm
H=8
-SmC=858
-Nm=Make String Permanent
+SmC=16
+Nm=Delay
ObjVer=1
-SmVr=1193
+SmVr=1194
PrH=72
CF=2
n1I=2
+n1O=1
mI=2
-I1=228
-I2=229
+I1=229
+mO=1
+tO=1
+O1=77
mP=1
-P1=50d
+P1=1s
]
[
ObjTp=Sm
@@ -1261,29 +897,37 @@ Nm=Qsys Core.umc
ObjVer=1
PrH=72
CF=2
-n1I=17
-n1O=17
-mI=17
-I1=400
-I3=227
-I4=228
-I5=229
+n1I=14
+n1O=14
+mI=14
+I1=77
+I3=399
+I4=455
+I5=227
+I7=12
I8=398
-I9=399
-I11=167
-I14=12
-I15=13
-mO=17
-tO=17
-O1=77
-O2=9
-O3=79
-O4=164
-O5=225
-O6=226
-O15=166
-mP=1
+I10=167
+I12=458
+I13=13
+mO=14
+tO=14
+O1=164
+O3=457
+O4=9
+O5=79
+O6=153
+O7=226
+O8=225
+O9=228
+O10=456
+O13=166
+mP=6
P1=main
+P2=192.168.4.116
+P3=192.168.4.162
+P4=1710d
+P5=""
+P6=""
NGrpStI=17
GrpStI1=0
GrpStI2=0
@@ -1295,10 +939,10 @@ GrpStI7=0
GrpStI8=0
GrpStI9=0
GrpStI10=0
-GrpStI11=0
-GrpStI12=0
-GrpStI13=3
-GrpStI14=1
+GrpStI11=3
+GrpStI12=1
+GrpStI13=1
+GrpStI14=5
GrpStI15=1
GrpStI16=5
GrpStI17=0
@@ -1313,10 +957,10 @@ GrpStO7=0
GrpStO8=0
GrpStO9=0
GrpStO10=0
-GrpStO11=0
-GrpStO12=0
-GrpStO13=3
-GrpStO14=1
+GrpStO11=3
+GrpStO12=1
+GrpStO13=1
+GrpStO14=5
GrpStO15=1
GrpStO16=5
GrpStO17=0
@@ -1716,7 +1360,7 @@ H=22
SmC=327
Nm=Intersystem Communications
ObjVer=1
-SmVr=1193
+SmVr=1194
PrH=79
CF=2
n1I=2
@@ -1741,7 +1385,7 @@ H=23
SmC=470
Nm=Serial Force
ObjVer=1
-SmVr=1193
+SmVr=1194
PrH=4
CF=2
n1I=24
@@ -1777,7 +1421,7 @@ H=24
SmC=327
Nm=Intersystem Communications
ObjVer=1
-SmVr=1193
+SmVr=1194
PrH=77
CF=2
n1I=2
@@ -1947,18 +1591,16 @@ H=30
SmC=858
Nm=Make String Permanent
ObjVer=1
-SmVr=1193
+SmVr=1194
PrH=4
CF=2
-n1I=7
-mI=7
+n1I=5
+mI=5
I1=199
I2=195
I3=196
I4=202
I5=198
-I6=228
-I7=229
mP=1
P1=255d
]
@@ -1968,7 +1610,7 @@ H=31
SmC=156
Nm=SUBSYSTEM
ObjVer=1
-SmVr=1193
+SmVr=1194
PrH=74
CF=2
Cmn1=bigMixer
@@ -1982,7 +1624,7 @@ H=32
SmC=156
Nm=SUBSYSTEM
ObjVer=1
-SmVr=1193
+SmVr=1194
PrH=31
CF=2
Cmn1=output[1]
@@ -2549,7 +2191,7 @@ H=48
SmC=156
Nm=SUBSYSTEM
ObjVer=1
-SmVr=1193
+SmVr=1194
PrH=31
CF=2
Cmn1=output[2]
@@ -3133,7 +2775,7 @@ H=65
SmC=3166
Nm=TCP/IP Client
ObjVer=1
-SmVr=1193
+SmVr=1194
DvH=508
PrH=6
CF=2
@@ -3152,99 +2794,22 @@ P1=1710d
]
[
ObjTp=Sm
-H=66
-SmC=6092
-Nm=CEN-IO-COM-102
-ObjVer=1
-SmVr=1193
-DvH=511
-PrH=6
-CF=2
-Cmn1=CEN-IO-COM-102
-mC=1
-C1=67
-]
-[
-ObjTp=Sm
-H=67
-SmC=6301
-Nm=COM 2-Way Serial Driver
-ObjVer=1
-SmVr=1193
-DvH=514
-PrH=66
-CF=2
-n1I=5
-n1O=3
-Cmn1=COM 2-Way Serial Driver
-mI=5
-I1=166
-mO=3
-tO=3
-O1=13
-mP=3
-P1=
-P2=
-P3=
-]
-[
-ObjTp=Sm
H=68
SmC=32
Nm=Analog Initialize
ObjVer=1
-SmVr=1193
+SmVr=1194
PrH=72
CF=2
n1I=1
-n1O=2
+n1O=1
mI=1
I1=2
-mO=2
-tO=2
-O1=227
-O2=167
-mP=2
-P1=1d
-P2=1d
-]
-[
-ObjTp=Sm
-H=69
-SmC=9
-Nm=One Shot
-ObjVer=1
-SmVr=1193
-PrH=72
-CF=2
-n1I=3
-n1O=2
-mI=3
-I1=2
-mO=2
-tO=2
-O1=153
-mP=1
-P1=1t
-]
-[
-ObjTp=Sm
-H=70
-SmC=16
-Nm=Delay
-ObjVer=1
-SmVr=1193
-PrH=72
-CF=2
-n1I=2
-n1O=1
-mI=2
-I1=153
mO=1
tO=1
-O1=400
+O1=167
mP=1
-P1=2s
+P1=1d
]
[
ObjTp=Sm
@@ -3284,17 +2849,15 @@ H=72
SmC=156
Nm=SUBSYSTEM
ObjVer=1
-SmVr=1193
+SmVr=1194
PrH=4
CF=2
Cmn1=core initialization
-mC=6
+mC=4
C1=7
C2=8
C3=68
-C4=69
-C5=70
-C6=9
+C4=9
]
[
ObjTp=Sm
@@ -3302,7 +2865,7 @@ H=73
SmC=156
Nm=SUBSYSTEM
ObjVer=1
-SmVr=1193
+SmVr=1194
PrH=4
CF=2
Cmn1=fader
@@ -3315,7 +2878,7 @@ H=74
SmC=156
Nm=SUBSYSTEM
ObjVer=1
-SmVr=1193
+SmVr=1194
PrH=4
CF=2
Cmn1=mixer
@@ -3329,7 +2892,7 @@ H=75
SmC=156
Nm=SUBSYSTEM
ObjVer=1
-SmVr=1193
+SmVr=1194
PrH=4
CF=2
Cmn1=router
@@ -3343,7 +2906,7 @@ H=76
SmC=156
Nm=SUBSYSTEM
ObjVer=1
-SmVr=1193
+SmVr=1194
PrH=4
CF=2
Cmn1=pots controller
@@ -3356,7 +2919,7 @@ H=77
SmC=156
Nm=SUBSYSTEM
ObjVer=1
-SmVr=1193
+SmVr=1194
PrH=4
CF=2
Cmn1=softphone
@@ -3370,7 +2933,7 @@ H=78
SmC=156
Nm=SUBSYSTEM
ObjVer=1
-SmVr=1193
+SmVr=1194
PrH=4
CF=2
Cmn1=nv32h decoder
@@ -3383,7 +2946,7 @@ H=79
SmC=156
Nm=SUBSYSTEM
ObjVer=1
-SmVr=1193
+SmVr=1194
PrH=4
CF=2
Cmn1=generic named controls
@@ -3403,7 +2966,7 @@ H=80
SmC=156
Nm=SUBSYSTEM
ObjVer=1
-SmVr=1193
+SmVr=1194
PrH=4
CF=2
Cmn1=camera
@@ -3416,7 +2979,7 @@ H=81
SmC=156
Nm=SUBSYSTEM
ObjVer=1
-SmVr=1193
+SmVr=1194
PrH=4
CF=2
Cmn1=room combiner
@@ -3429,7 +2992,7 @@ H=82
SmC=156
Nm=SUBSYSTEM
ObjVer=1
-SmVr=1193
+SmVr=1194
PrH=4
CF=2
Cmn1=meters
@@ -3443,7 +3006,7 @@ H=83
SmC=156
Nm=SUBSYSTEM
ObjVer=1
-SmVr=1193
+SmVr=1194
PrH=4
CF=2
Cmn1=snapshot controller
@@ -3856,150 +3419,6 @@ P5=4d
]
[
ObjTp=Sm
-H=85
-SmC=103
-Nm=Qsys Matrix Mixer Crosspoint.usp
-ObjVer=1
-PrH=4
-CF=2
-n1I=4
-n2I=1
-n1O=2
-mI=5
-I1=431
-I2=444
-I3=445
-I4=446
-I5=447
-mO=5
-tO=5
-O1=448
-O2=449
-O5=450
-mP=12
-P1=
-P2=
-P3=
-P4=
-P5=
-P6=
-P7=main
-P8=mixer test
-P9=2d
-P10=4d
-P11=1%
-P12=.25s
-]
-[
-ObjTp=Sm
-H=86
-SmC=1899
-Nm=DM-MD8x8
-ObjVer=6
-SmVr=1193
-DvH=515
-PrH=6
-CF=2
-n1I=121
-n2I=84
-n1O=121
-Cmn1=DM-MD8x8
-mC=2
-C1=87
-C2=88
-mI=234
-mO=205
-tO=234
-]
-[
-ObjTp=Sm
-H=87
-SmC=4968
-Nm=DM Outputs
-ObjVer=1
-SmVr=1193
-DvH=533
-PrH=86
-CF=2
-Cmn1=DM Outputs
-mC=1
-C1=89
-mP=1
-P1=DM Outputs
-]
-[
-ObjTp=Sm
-H=88
-SmC=4968
-Nm=DM Outputs
-ObjVer=1
-SmVr=1193
-DvH=540
-PrH=86
-CF=2
-Cmn1=DM Outputs
-mP=1
-P1=DM Outputs
-]
-[
-ObjTp=Sm
-H=89
-SmC=6427
-Nm=DMC-4KZ-HDO
-ObjVer=1
-SmVr=1193
-DvH=543
-PrH=87
-CF=2
-Cmn1=DMC-4KZ-HDO
-mC=2
-C1=90
-C2=91
-mP=1
-P1=DMC-4KZ-HDO
-]
-[
-ObjTp=Sm
-H=90
-SmC=6428
-Nm=DMC-4KZ-HDO Output 1
-ObjVer=3
-SmVr=1193
-DvH=545
-PrH=89
-CF=2
-n1I=592
-n2I=589
-n1O=592
-Cmn1=DMC-4KZ-HDO Output 1
-mI=1466
-mO=1181
-tO=1466
-mP=1
-P1=DMC-4KZ-HDO
-]
-[
-ObjTp=Sm
-H=91
-SmC=6429
-Nm=DMC-4KZ-HDO Output 2
-ObjVer=3
-SmVr=1193
-DvH=548
-PrH=89
-CF=2
-n1I=592
-n2I=589
-n1O=592
-Cmn1=DMC-4KZ-HDO Output 2
-mI=1466
-mO=1181
-tO=1466
-mP=1
-P1=DMC-4KZ-HDO
-]
-[
-ObjTp=Sm
H=92
SmC=103
Nm=Qsys Camera.usp
@@ -4129,7 +3548,7 @@ Nm=pots.redial
[
ObjTp=Sg
H=9
-Nm=core[1].isConnected
+Nm=core[1].backupIsConnected
]
[
ObjTp=Sg
@@ -4144,7 +3563,8 @@ Nm=pots.keypadStar
[
ObjTp=Sg
H=12
-Nm=core[1].externalConnection.use
+Nm=core[1].username
+SgTp=4
]
[
ObjTp=Sg
@@ -4480,7 +3900,7 @@ SgTp=2
[
ObjTp=Sg
H=77
-Nm=core[1].isInit
+Nm=core[1].initialize
]
[
ObjTp=Sg
@@ -4490,7 +3910,7 @@ Nm=pots.keypadClear
[
ObjTp=Sg
H=79
-Nm=core[1].loggedIn
+Nm=core[1].primaryIsActive
]
[
ObjTp=Sg
@@ -4900,7 +4320,7 @@ Nm=pots.incomingCall
[
ObjTp=Sg
H=153
-Nm=core[1].init
+Nm=core[1].backupIsActive
]
[
ObjTp=Sg
@@ -4957,7 +4377,7 @@ SgTp=4
[
ObjTp=Sg
H=164
-Nm=core[1].isRedundant
+Nm=core[1].isInitialized
]
[
ObjTp=Sg
@@ -5295,31 +4715,28 @@ Nm=genericBoolean[1].setBool
[
ObjTp=Sg
H=225
-Nm=core[1].isEmu
+Nm=core[1].isRedundant
]
[
ObjTp=Sg
H=226
-Nm=core[1].designName
-SgTp=4
+Nm=core[1].isLoggedIn
]
[
ObjTp=Sg
H=227
-Nm=core[1].DeploymentMode
+Nm=core[1].port
SgTp=2
]
[
ObjTp=Sg
H=228
-Nm=core[1].DeploymentHost
-SgTp=4
+Nm=core[1].isEmulator
]
[
ObjTp=Sg
H=229
-Nm=core[1].TestingHost
-SgTp=4
+Nm=system.status.start
]
[
ObjTp=Sg
@@ -6238,22 +5655,17 @@ SgTp=2
[
ObjTp=Sg
H=398
-Nm=core[1].username
+Nm=core[1].password
SgTp=4
]
[
ObjTp=Sg
H=399
-Nm=core[1].password
+Nm=core[1].primaryIpAddress
SgTp=4
]
[
ObjTp=Sg
-H=400
-Nm=core[1].init.d
-]
-[
-ObjTp=Sg
H=401
Nm=Router[10].OutputMuteOff
]
@@ -6407,11 +5819,6 @@ Nm=AllInputs.Out_4_Input_09_Mute_f
]
[
ObjTp=Sg
-H=431
-Nm=S-16_MuteOn
-]
-[
-ObjTp=Sg
H=432
Nm=AllInputs.Out_4_Input_10_Mute_f
]
@@ -6472,58 +5879,43 @@ Nm=AllInputs.Out_4_Input_01_Mute_Off
]
[
ObjTp=Sg
-H=444
-Nm=S-16_MuteOff
-]
-[
-ObjTp=Sg
-H=445
-Nm=S-16_GainUp
-]
-[
-ObjTp=Sg
-H=446
-Nm=S-16_GainDown
-]
-[
-ObjTp=Sg
-H=447
-Nm=S-16_Gain
-SgTp=2
+H=451
+Nm=camera.autoFrameOn
]
[
ObjTp=Sg
-H=448
-Nm=S-16_MuteIsOn
+H=452
+Nm=camera.autoFrameOff
]
[
ObjTp=Sg
-H=449
-Nm=S-16_MuteIsOff
+H=453
+Nm=camera.autoFrameToggle
]
[
ObjTp=Sg
-H=450
-Nm=S-16_GainValue
-SgTp=2
+H=454
+Nm=camera.autoFrameIsOn
]
[
ObjTp=Sg
-H=451
-Nm=camera.autoFrameOn
+H=455
+Nm=core[1].backupIpAddress
+SgTp=4
]
[
ObjTp=Sg
-H=452
-Nm=camera.autoFrameOff
+H=456
+Nm=core[1].designName
+SgTp=4
]
[
ObjTp=Sg
-H=453
-Nm=camera.autoFrameToggle
+H=457
+Nm=core[1].primaryIsConnected
]
[
ObjTp=Sg
-H=454
-Nm=camera.autoFrameIsOn
+H=458
+Nm=core[1].useExternalConnection
]
diff --git a/QscQsys/SIMPL/4 Series Test_compiled.zip b/QscQsys/SIMPL/4 Series Test_compiled.zip
index 8675516..9019050 100644
Binary files a/QscQsys/SIMPL/4 Series Test_compiled.zip and b/QscQsys/SIMPL/4 Series Test_compiled.zip differ
diff --git a/QscQsys/SIMPL/QscQsys.clz b/QscQsys/SIMPL/QscQsys.clz
index 4bfd6c8..34accec 100644
Binary files a/QscQsys/SIMPL/QscQsys.clz and b/QscQsys/SIMPL/QscQsys.clz differ
diff --git a/QscQsys/SIMPL/QscQsys.dll b/QscQsys/SIMPL/QscQsys.dll
index 547c53c..ef02831 100644
Binary files a/QscQsys/SIMPL/QscQsys.dll and b/QscQsys/SIMPL/QscQsys.dll differ
diff --git a/QscQsys/SIMPL/Qsys Core Help File.docx b/QscQsys/SIMPL/Qsys Core Help File.docx
index 8744259..b14a2d3 100644
Binary files a/QscQsys/SIMPL/Qsys Core Help File.docx and b/QscQsys/SIMPL/Qsys Core Help File.docx differ
diff --git a/QscQsys/SIMPL/Qsys Core Help File.pdf b/QscQsys/SIMPL/Qsys Core Help File.pdf
index ea92514..bda40c5 100644
Binary files a/QscQsys/SIMPL/Qsys Core Help File.pdf and b/QscQsys/SIMPL/Qsys Core Help File.pdf differ
diff --git a/QscQsys/SIMPL/Qsys Core.umc b/QscQsys/SIMPL/Qsys Core.umc
index 99ca008..5858459 100644
--- a/QscQsys/SIMPL/Qsys Core.umc
+++ b/QscQsys/SIMPL/Qsys Core.umc
@@ -4,7 +4,7 @@ Version=1
[
ObjTp=FSgntr
Sgntr=UserMacro
-RelVrs=4.22.00
+RelVrs=4.25.04
IntStrVrs=2
MinSMWVrs=4.14.0
MinTIOVrs=0
@@ -16,14 +16,14 @@ S0Nd=1
S1Nd=2
SLNd=3
PrNm=Qsys Core.umc
-DbVr=217.05.001.00
-DvcDbVr=200.250.002.00
+DbVr=221.00.002.00
+DvcDbVr=200.295.001.00
PgmNm=IPorter
CltNm=Qsys Core
Incl=1766,2574,2651,2817,2886,2938,2947,3181,3197,3233,3710,3735,3736,3816,3888,4176,4308,4476,4591,4769,5360,5388,5420,5455,5497,5699,5813,5919,6150,6161,6089,6101,6114,6136,6343,6356,6357,6423,8939,8943,
McNm=Qsys Core
-SmVr=1181
-DvVr=1181
+SmVr=1194
+DvVr=1194
TpN1=1
TpN2=2
TpN3=3
@@ -41,37 +41,36 @@ SGMethod=1
ObjTp=Bk
Nm1=\
Sx1=0
-Sy1=159
+Sy1=0
Mx1=0
]
[
ObjTp=Bw
H=1
Lx=0
-Ly=478
-Rx=1567
-Ry=956
+Ly=0
+Rx=1994
+Ry=657
Xm=-1
-Ym=158
-SH=6
+Ym=-1
+SH=7
Z=100
-P=11
-Ht=4
-Hi=11
+Ht=1
+Hi=9
]
[
ObjTp=Bw
H=1
Lx=0
-Ly=956
-Rx=1567
-Ry=1434
+Ly=657
+Rx=1994
+Ry=1314
Xm=-1
-Ym=158
-SH=7
+Ym=-1
+SH=6
Z=100
Ht=1
-Hi=5
+Hi=9
]
[
ObjTp=Symbol
@@ -91,9 +90,9 @@ APg=1
StdCmd=0
FltTmp=1
FpCS=0
-NumFixedInputs=17
-NumFixedOutputs=17
-NumFixedParams=1
+NumFixedInputs=14
+NumFixedOutputs=14
+NumFixedParams=6
MinVariableInputs=0
MinVariableInputsList2=0
MinVariableInputsList3=0
@@ -101,78 +100,80 @@ MinVariableOutputs=0
MinVariableOutputsList2=0
MinVariableOutputsList3=0
MinVariableParams=0
-SymbolTree=46
-UserSymTreeName=Qsys
+SymbolTree=0
InputSigType1=Digital
InputSigType2=Digital|Analog|Serial|String
-InputSigType3=Analog
+InputSigType3=Serial
InputSigType4=Serial
-InputSigType5=Serial
-InputSigType6=Analog
-InputSigType7=Digital|Analog|Serial|String
+InputSigType5=Analog
+InputSigType6=Digital|Analog|Serial|String
+InputSigType7=Serial
InputSigType8=Serial
-InputSigType9=Serial
-InputSigType10=Digital|Analog|Serial|String
-InputSigType11=Analog
-InputSigType12=Digital|Analog|Serial|String
-InputSigType13=Digital|Analog|Serial|String
-InputSigType14=Digital
-InputSigType15=Serial
-InputSigType16=Digital|Analog|Serial|String
+InputSigType9=Digital|Analog|Serial|String
+InputSigType10=Analog
+InputSigType11=Digital|Analog|Serial|String
+InputSigType12=Digital
+InputSigType13=Serial
+InputSigType14=Digital|Analog|Serial|String
OutputSigType1=Digital
-OutputSigType2=Digital
+OutputSigType2=Digital|Analog|Serial|String
OutputSigType3=Digital
OutputSigType4=Digital
OutputSigType5=Digital
-OutputSigType6=Serial
-OutputSigType7=Digital|Analog|Serial|String
-OutputSigType8=Digital|Analog|Serial|String
-OutputSigType9=Digital|Analog|Serial|String
-OutputSigType10=Digital|Analog|Serial|String
+OutputSigType6=Digital
+OutputSigType7=Digital
+OutputSigType8=Digital
+OutputSigType9=Digital
+OutputSigType10=Serial
OutputSigType11=Digital|Analog|Serial|String
OutputSigType12=Digital|Analog|Serial|String
-OutputSigType13=Digital|Analog|Serial|String
+OutputSigType13=Serial
OutputSigType14=Digital|Analog|Serial|String
-OutputSigType15=Serial
-OutputSigType16=Digital|Analog|Serial|String
ParamSigType1=String
+ParamSigType2=String
+ParamSigType3=String
+ParamSigType4=Constant
+ParamSigType5=String
+ParamSigType6=String
InputCue1=Initialize
InputCue2=[~UNUSED~]
-InputCue3=DeploymentMode
-InputCue4=DeploymentHost
-InputCue5=[TestingHost]
-InputCue6=[Port]
-InputCue7=[~UNUSED~]
-InputCue8=Username
-InputCue9=Password
-InputCue10=[~UNUSED~]
-InputCue11=[Debug]
-InputCue12=[~UNUSED~]
-InputCue13=[~BeginGroup~]ExternalConnection
-InputCue14=[UseExternalConnection]
-InputCue15=[ExternalConnectionRx]
-InputCue16=[~EndGroup~]ExternalConnection
-InputCue17=[~UNUSED~]
+InputCue3=[PrimaryCoreIpAddress]
+InputCue4=[BackupCoreIpAddress]
+InputCue5=[Port]
+InputCue6=[~UNUSED~]
+InputCue7=[Username]
+InputCue8=[Password]
+InputCue9=[~UNUSED~]
+InputCue10=[Debug]
+InputCue11=[~BeginGroup~]ExternalConnection
+InputCue12=[UseExternalConnection]
+InputCue13=[ExternalConnectionRx]
+InputCue14=[~EndGroup~]ExternalConnection
OutputCue1=[IsInitialized]
-OutputCue2=[IsConnected]
-OutputCue3=[IsLoggedIn]
-OutputCue4=[IsRedundant]
-OutputCue5=[IsEmulator]
-OutputCue6=[DesignName]
-OutputCue7=[~UNUSED~]
-OutputCue8=[~UNUSED~]
-OutputCue9=[~UNUSED~]
-OutputCue10=[~UNUSED~]
-OutputCue11=[~UNUSED~]
+OutputCue2=[~UNUSED~]
+OutputCue3=[PrimaryCoreIsConnected]
+OutputCue4=[BackupCoreIsConnected]
+OutputCue5=[PrimaryCoreIsActive]
+OutputCue6=[BackupCoreIsActive]
+OutputCue7=[IsLoggedIn]
+OutputCue8=[IsRedundant]
+OutputCue9=[IsEmulator]
+OutputCue10=[DesignName]
+OutputCue11=[~BeginGroup~]ExternalConnection
OutputCue12=[~UNUSED~]
-OutputCue13=[~BeginGroup~]ExternalConnection
-OutputCue14=[~UNUSED~]
-OutputCue15=[ExternalConnectionTx]
-OutputCue16=[~EndGroup~]ExternalConnection
-OutputCue17=[~UNUSED~]
-ParamCue1=CoreID
-MPp=1
+OutputCue13=[ExternalConnectionTx]
+OutputCue14=[~EndGroup~]ExternalConnection
+ParamCue1=Core ID
+ParamCue2=Default Primary Core IP Address
+ParamCue3=Default Backup Core IP Address
+ParamCue4=Default Port
+ParamCue5=Default Username
+ParamCue6=Default Password
+MPp=6
Pp1=1
+Pp4=2
+Pp5=3
+Pp6=4
FileName=Qsys Core.umc
EncodingType=0
ZeroOnIoOk=0
@@ -257,49 +258,51 @@ Nm=Argument Definition
ObjVer=1
PrH=5
CF=2
-n1I=17
-n1O=17
-mI=17
+n1I=14
+n1O=14
+mI=14
I1=4
I2=9
-I3=5
-I4=6
-I5=14
-I6=8
-I7=9
-I8=16
-I9=15
-I10=9
-I11=27
-I12=9
-I13=13
-I14=10
-I15=7
-I16=11
-I17=9
-mO=17
-tO=17
+I3=17
+I4=24
+I5=8
+I6=9
+I7=5
+I8=6
+I9=9
+I10=27
+I11=13
+I12=10
+I13=7
+I14=11
+mO=14
+tO=14
O1=18
-O2=19
-O3=20
-O4=21
-O5=22
-O6=23
-O7=9
-O8=9
-O9=9
-O10=9
-O11=9
+O2=9
+O3=25
+O4=26
+O5=28
+O6=29
+O7=20
+O8=21
+O9=22
+O10=23
+O11=13
O12=9
-O13=13
-O14=9
-O15=12
-O16=11
-O17=9
-mP=1
-P1=CoreID
-MPp=1
+O13=12
+O14=11
+mP=6
+P1=Core ID
+P2=Default Primary Core IP Address
+P3=Default Backup Core IP Address
+P4=Default Port
+P5=Default Username
+P6=Default Password
+MPp=6
Pp1=1
+Pp4=2
+Pp5=3
+Pp6=4
]
[
ObjTp=Sm
@@ -310,29 +313,31 @@ ObjVer=1
PrH=4
CF=2
n1I=2
-n2I=8
-n1O=5
-mI=10
+n2I=7
+n1O=8
+mI=9
I1=4
I2=10
I3=27
-I4=5
-I5=8
-I6=14
-I7=6
-I8=16
-I9=15
-I10=7
-mO=7
-tO=7
+I4=8
+I5=17
+I6=24
+I7=5
+I8=6
+I9=7
+mO=10
+tO=10
O1=18
-O2=19
-O3=20
-O4=21
-O5=22
-O6=23
-O7=12
-mP=12
+O2=25
+O3=26
+O4=28
+O5=29
+O6=20
+O7=21
+O8=22
+O9=23
+O10=12
+mP=17
P1=
P2=
P3=
@@ -344,7 +349,12 @@ P8=
P9=
P10=
P11=
-P12=#CoreID
+P12=#Default Primary Core IP Address
+P13=#Default Backup Core IP Address
+P14=#Default Port
+P15=#Default Username
+P16=#Default Password
+P17=#Core ID
]
[
ObjTp=Sg
@@ -354,13 +364,13 @@ Nm=Initialize
[
ObjTp=Sg
H=5
-Nm=DeploymentMode
-SgTp=2
+Nm=[Username]
+SgTp=4
]
[
ObjTp=Sg
H=6
-Nm=DeploymentHost
+Nm=[Password]
SgTp=4
]
[
@@ -406,20 +416,8 @@ SgTp=31
]
[
ObjTp=Sg
-H=14
-Nm=[TestingHost]
-SgTp=4
-]
-[
-ObjTp=Sg
-H=15
-Nm=Password
-SgTp=4
-]
-[
-ObjTp=Sg
-H=16
-Nm=Username
+H=17
+Nm=[PrimaryCoreIpAddress]
SgTp=4
]
[
@@ -429,11 +427,6 @@ Nm=[IsInitialized]
]
[
ObjTp=Sg
-H=19
-Nm=[IsConnected]
-]
-[
-ObjTp=Sg
H=20
Nm=[IsLoggedIn]
]
@@ -455,11 +448,37 @@ SgTp=4
]
[
ObjTp=Sg
+H=24
+Nm=[BackupCoreIpAddress]
+SgTp=4
+]
+[
+ObjTp=Sg
+H=25
+Nm=[PrimaryCoreIsConnected]
+]
+[
+ObjTp=Sg
+H=26
+Nm=[BackupCoreIsConnected]
+]
+[
+ObjTp=Sg
H=27
Nm=[Debug]
SgTp=2
]
[
+ObjTp=Sg
+H=28
+Nm=[PrimaryCoreIsActive]
+]
+[
+ObjTp=Sg
+H=29
+Nm=[BackupCoreIsActive]
+]
+[
ObjTp=Dp
H=1
Tp=1
@@ -470,3 +489,37 @@ EncFmt=0
DVLF=1
Sgn=0
]
+[
+ObjTp=Dp
+H=2
+Tp=1
+HD=TRUE
+DV=1710d
+NF=1
+DNF=1
+EncFmt=0
+DVLF=1
+Sgn=0
+]
+[
+ObjTp=Dp
+H=3
+Tp=1
+HD=TRUE
+DV=""
+NoS=FALSE
+EncFmt=0
+DVLF=1
+Sgn=0
+]
+[
+ObjTp=Dp
+H=4
+Tp=1
+HD=TRUE
+DV=""
+NoS=FALSE
+EncFmt=0
+DVLF=1
+Sgn=0
+]
diff --git a/QscQsys/SIMPL/Qsys Core.usp b/QscQsys/SIMPL/Qsys Core.usp
index cc3a13c..1fc736c 100644
--- a/QscQsys/SIMPL/Qsys Core.usp
+++ b/QscQsys/SIMPL/Qsys Core.usp
@@ -3,84 +3,87 @@
#USER_SIMPLSHARP_LIBRARY "QscQsys"
-Digital_Input Initialize, UseExternalConnection;
+digital_input Initialize, UseExternalConnection;
-analog_input DebugMode, DeploymentMode, Port;
+analog_input DebugMode, Port;
-string_input TestingHost[255], DeploymentHost[255], Username[100], Password[100];
+string_input PrimaryIpAddress[255], BackupIpAddress[255], Username[100], Password[100];
-Buffer_Input Response[65534];
+buffer_input Response[65534];
-Digital_Output IsInitialized, IsConnected, IsLoggedIn, IsRedundant, IsEmulator;
+digital_output IsInitialized, PrimaryIsConnected, BackupIsConnected, PrimaryIsActive, BackupIsActive,
+IsLoggedIn, IsRedundant, IsEmulator;
-String_Output DesignName, Command;
+string_output DesignName, Command;
-String_Parameter _skip_,_skip_, _skip_, _skip_, _skip_, _skip_, _skip_, _skip_, _skip_, _skip_, CoreID[100];
+string_parameter _skip_,_skip_, _skip_, _skip_, _skip_, _skip_, _skip_, _skip_, _skip_, _skip_,
+Default_PrimaryIpAddress[255], Default_BackupIpAddress[255];
+integer_parameter Default_Port;
+string_parameter Default_Username[100], Default_Password[100], CoreID[100];
integer waitTillStart, _port;
-string _username[100], _password[100];
+string _primaryIpa[255], _backupIpa[255], _username[100], _password[100];
QsysCore processor;
-threadsafe Push Initialize
+threadsafe push Initialize
{
while(!waitTillStart)
{}
- if(DeploymentMode = 1)
- processor.Initialize(CoreID, DeploymentHost, _port, _username, _password, UseExternalConnection);
- else if(DeploymentMode = 0)
- processor.Initialize(CoreID, TestingHost, _port, _username, _password, UseExternalConnection);
+ processor.Initialize(CoreID, _primaryIpa, _backupIpa, _port, _username, _password, UseExternalConnection);
}
-Threadsafe Change DebugMode
+change DebugMode
{
processor.Debug(DebugMode);
}
-threadsafe change TestingHost, DeploymentHost, DeploymentMode
+change PrimaryIpAddress
{
- if(DeploymentMode = 0 && len(TestingHost))
- {
- processor.Host = TestingHost;
- }
- else if(DeploymentMode = 1 && len(DeploymentHost))
- {
- processor.Host = DeploymentHost;
- }
+ _primaryIpa = PrimaryIpAddress;
+ processor.PrimaryHost = _primaryIpa;
}
-Threadsafe Change Username
+change BackupIpAddress
+{
+ _backupIpa = BackupIpAddress;
+ processor.BackupHost = _backupIpa;
+}
+
+change Username
{
_username = Username;
+ processor.Username = _username;
}
-Threadsafe Change Password
+change Password
{
_password = Password;
+ processor.Password = _password;
}
-Threadsafe Change Port
+change Port
{
_port = Port;
+ processor.Port = _port;
}
-Callback Function NewIsRegistered(string id, integer value)
+callback function NewIsRegistered(string id, integer value)
{
- if(value = 1)
- IsInitialized = ON;
- else
- IsInitialized = OFF;
+ IsInitialized = value;
}
-Callback Function NewIsConnected(string id, integer value)
+callback function NewPrimaryIsConnected(string id, integer value)
{
- if(value = 1)
- IsConnected = ON;
- else
- IsConnected = OFF;
+ PrimaryIsConnected = value;
}
-Callback Function NewCoreStatus(string id, string dName, integer redundant, integer emulator)
+callback function NewBackupIsConnected(string id, integer value)
+{
+ BackupIsConnected = value;
+}
+
+callback function NewCoreStatus(string id, string dName, integer redundant, integer emulator)
{
DesignName = dName;
IsRedundant = redundant;
@@ -100,6 +103,18 @@ callback function NewSendingCommand(string id, string comm)
Command = tx;
}
+callback function NewPrimaryIsActive()
+{
+ BackupIsActive = OFF;
+ PrimaryIsActive = ON;
+}
+
+callback function NewBackupIsActive()
+{
+ PrimaryIsActive = OFF;
+ BackupIsActive = ON;
+}
+
callback GatherEventHandler RxGatherHandler(GatherEventArgs e)
{
try
@@ -118,16 +133,25 @@ callback GatherEventHandler RxGatherHandler(GatherEventArgs e)
Function Main()
{
- _port = 1710;
+ WaitForInitializationComplete();
+
+ _port = Default_Port;
+ _primaryIpa = Default_PrimaryIpAddress;
+ _backupIpa = Default_BackupIpAddress;
+ _username = Default_Username;
+ _password = Default_Password;
if(GatherAsync("\x00", Response, RxGatherHandler, 500) = -1)
{
}
- RegisterDelegate(processor, onIsRegistered, NewIsRegistered);
- RegisterDelegate(processor, onIsConnected, NewIsConnected);
- RegisterDelegate(processor, onNewCoreStatus, NewCoreStatus);
- RegisterDelegate(processor, onIsLoggedIn, NewIsLoggedIn);
- RegisterDelegate(processor, onSendingCommand, NewSendingCommand);
+ RegisterDelegate(processor, OnIsRegistered, NewIsRegistered);
+ RegisterDelegate(processor, OnPrimaryIsConnected, NewPrimaryIsConnected);
+ RegisterDelegate(processor, OnBackupIsConnected, NewBackupIsConnected);
+ RegisterDelegate(processor, OnNewCoreStatus, NewCoreStatus);
+ RegisterDelegate(processor, OnPrimaryIsActive, NewPrimaryIsActive);
+ RegisterDelegate(processor, OnBackupIsActive, NewBackupIsActive);
+ RegisterDelegate(processor, OnIsLoggedIn, NewIsLoggedIn);
+ RegisterDelegate(processor, OnSendingCommand, NewSendingCommand);
//do not remove delay, we need to wait until all objects are instatiated and ready
delay(1000);