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);