void Awake() { if (instance != null && instance != this) { Debug.LogError("Too many ROSControllers! Only one must exist."); Destroy(gameObject); return; } GetConfigFile(); Debug.LogWarning("Main thread ID " + System.Threading.Thread.CurrentThread.ManagedThreadId); status = ROSStatus.Disconnected; // Application.targetFrameRate = 0; if (QualitySettings.vSyncCount == 2) { Application.targetFrameRate = 30; } else { Application.targetFrameRate = 60; } // Debug.Log ( "ros master is " + ROS.ROS_MASTER_URI ); if ((string.IsNullOrEmpty(Environment.GetEnvironmentVariable("ROS_MASTER_URI", EnvironmentVariableTarget.User)) && string.IsNullOrEmpty(Environment.GetEnvironmentVariable("ROS_MASTER_URI", EnvironmentVariableTarget.Machine))) || overrideURI) { ROS.ROS_MASTER_URI = rosMasterURI; } if (overrideIP) { if (rosIP == "0.0.0.0") { Debug.LogError("host IP is set to override but address is set to 0.0.0.0"); } else { ROS.ROS_IP = rosIP; } } // delayedStart = true; instance = this; initComplete = false; StartROS(); new Thread(new ThreadStart(UpdateMasterConnection)).Start(); }
void Update() { if (ROS.isStarted() && ROS.ok && connectedToMaster) { status = ROSStatus.Connected; } else if (ROS.shutting_down || !ROS.isStarted() || !ROS.ok) { status = ROSStatus.Disconnected; } else { status = ROSStatus.Connecting; } }
void Update() { status = ROSController.Status; if (status != lastStatus) { if (status == ROSStatus.Connected) { connectionStatus.color = Color.green; connectionStatusText.text = "Connected to ROS"; } else if (status == ROSStatus.Connecting) { connectionStatus.color = orange; connectionStatusText.text = "Connecting to ROS"; } else { connectionStatus.color = Color.red; connectionStatusText.text = "Disconnected from ROS"; } lastStatus = status; } }
void Awake() { instance = this; lastStatus = ROSStatus.Unknown; }