void SendInfoMessagesV1(string infoIP, int infoPort) { OSCMessage infoMessage = new OSCMessage("/info"); infoMessage.Append(NetworkManager.GetIpv4()); infoMessage.Append("Augmenta Simulator"); infoMessage.Append(NetworkManager.GetMacAddress()); infoMessage.Append(Application.version); infoMessage.Append(_controllable.currentPreset != "" ? _controllable.currentPreset : "None"); infoMessage.Append("Simulator"); infoMessage.Append("Simulated"); OSCMaster.SendMessage(infoMessage, infoIP, infoPort); }
void sendPositions() { if (sendTargetPosition) { OSCMessage m = new OSCMessage("/motor/targetPosition"); m.Append(target.transform.localPosition.x); m.Append(target.transform.localPosition.y); OSCMaster.SendMessage(m, "127.0.0.1", 14000); } if (sendMotorDistances) { for (int i = 0; i < motors.Length; i++) { OSCMessage m = new OSCMessage("/motor/" + (i + 1) + "/distance"); m.Append(motors[i].position); OSCMaster.SendMessage(m, "127.0.0.1", 14000); } } }
void SendInfoMessagesV2(string infoIP, int infoPort) { //Fusion OSCMessage infoMessage = new OSCMessage("/info/name"); if (_nodeManager) { infoMessage.Append(_nodeManager.nodeName); } else { infoMessage.Append("Augmenta Simulator"); } OSCMaster.SendMessage(infoMessage, infoIP, infoPort); infoMessage = new OSCMessage("/info/type"); if (_nodeManager) { infoMessage.Append("Node"); } else { infoMessage.Append("Simulator"); } OSCMaster.SendMessage(infoMessage, infoIP, infoPort); infoMessage = new OSCMessage("/info/mac"); infoMessage.Append(NetworkManager.GetMacAddress()); OSCMaster.SendMessage(infoMessage, infoIP, infoPort); infoMessage = new OSCMessage("/info/ip"); infoMessage.Append(NetworkManager.GetIpv4()); OSCMaster.SendMessage(infoMessage, infoIP, infoPort); infoMessage = new OSCMessage("/info/version"); infoMessage.Append(Application.version); OSCMaster.SendMessage(infoMessage, infoIP, infoPort); infoMessage = new OSCMessage("/info/currentFile"); infoMessage.Append(_controllable.currentPreset != "" ? _controllable.currentPreset : "None"); OSCMaster.SendMessage(infoMessage, infoIP, infoPort); infoMessage = new OSCMessage("/info/protocolAvailable"); infoMessage.Append("OSC"); infoMessage.Append("1"); infoMessage.Append("2"); OSCMaster.SendMessage(infoMessage, infoIP, infoPort); if (_nodeManager) { //Node infoMessage = new OSCMessage("/info/sensor/type"); infoMessage.Append(_nodeManager.sensorType); OSCMaster.SendMessage(infoMessage, infoIP, infoPort); infoMessage = new OSCMessage("/info/sensor/brand"); infoMessage.Append(_nodeManager.sensorBrand); OSCMaster.SendMessage(infoMessage, infoIP, infoPort); infoMessage = new OSCMessage("/info/sensor/name"); infoMessage.Append(_nodeManager.sensorName); OSCMaster.SendMessage(infoMessage, infoIP, infoPort); infoMessage = new OSCMessage("/info/sensor/hFov"); infoMessage.Append(_nodeManager.sensorHFOV); OSCMaster.SendMessage(infoMessage, infoIP, infoPort); infoMessage = new OSCMessage("/info/sensor/vFov"); infoMessage.Append(_nodeManager.sensorVFOV); OSCMaster.SendMessage(infoMessage, infoIP, infoPort); infoMessage = new OSCMessage("/info/floorMode"); infoMessage.Append(_nodeManager.floorMode); OSCMaster.SendMessage(infoMessage, infoIP, infoPort); infoMessage = new OSCMessage("/info/floorState"); infoMessage.Append(_nodeManager.floorState); OSCMaster.SendMessage(infoMessage, infoIP, infoPort); infoMessage = new OSCMessage("/info/backgroundMode"); infoMessage.Append(_nodeManager.backgroundMode); OSCMaster.SendMessage(infoMessage, infoIP, infoPort); infoMessage = new OSCMessage("/info/debug/pipeName"); infoMessage.Append(_nodeManager.debugPipeName); OSCMaster.SendMessage(infoMessage, infoIP, infoPort); infoMessage = new OSCMessage("/info/debug/sensor"); infoMessage.Append(_nodeManager.debugSensor); OSCMaster.SendMessage(infoMessage, infoIP, infoPort); infoMessage = new OSCMessage("/info/debug/videoPipe"); infoMessage.Append(_nodeManager.debugVideoPipe); OSCMaster.SendMessage(infoMessage, infoIP, infoPort); infoMessage = new OSCMessage("/info/debug/trackingPipe"); infoMessage.Append(_nodeManager.debugTrackingPipe); OSCMaster.SendMessage(infoMessage, infoIP, infoPort); infoMessage = new OSCMessage("/info/debug/pid"); infoMessage.Append(_nodeManager.debugPID); OSCMaster.SendMessage(infoMessage, infoIP, infoPort); infoMessage = new OSCMessage("/info/tags"); foreach (string tag in _nodeManager.tagsList) { infoMessage.Append(tag); } OSCMaster.SendMessage(infoMessage, infoIP, infoPort); } }
/// <summary> /// Answer yo protocol /// </summary> void OnYoMessageReceived(OSCMessage message) { string[] addressSplit = message.Address.Split('/'); switch (addressSplit[1]) { case "yo": //Answer yo string yoIP = message.Data[0].ToString(); int yoPort = (int)message.Data[1]; OSCMessage wassupMessage = new OSCMessage("/wassup"); wassupMessage.Append(NetworkManager.GetIpv4()); wassupMessage.Append(NetworkManager.GetMacAddress()); wassupMessage.Append(_nodeManager ? _nodeManager.nodeName : "Simulator"); wassupMessage.Append(_nodeManager ? string.Join(",", _nodeManager.tagsList) : ""); if (debug) { Debug.Log("Answering yo from " + yoIP + ":" + yoPort + " with " + NetworkManager.GetIpv4() + " and " + NetworkManager.GetMacAddress()); } try { OSCMaster.SendMessage(wassupMessage, yoIP, yoPort); }catch (System.Exception e) { Debug.LogWarning("Error sending OSC to " + yoIP + ":" + yoPort + " (" + e.Message + ")"); } break; case "connect": switch (yoVersion) { case 1: HandleConnectV1(message); break; case 2: HandleConnectV2(message); break; } break; case "disconnect": switch (yoVersion) { case 1: HandleDisconnectV1(message); break; case 2: HandleDisconnectV2(message); break; } break; case "ping": //Answer ping string pongIP = message.Data[0].ToString(); int pongPort = (int)message.Data[1]; OSCMessage pongMessage = new OSCMessage("/pong"); if (debug) { Debug.Log("Answering ping from " + pongIP + ":" + pongPort); } OSCMaster.SendMessage(pongMessage, pongIP, pongPort); break; case "info": //Answer info string infoIP = message.Data[0].ToString(); int infoPort = (int)message.Data[1]; if (debug) { Debug.Log("Answering info from " + infoIP + ":" + infoPort + " with " + NetworkManager.GetIpv4() + " Augmenta Simulator " + NetworkManager.GetMacAddress() + " " + Application.version + " " + _controllable.currentPreset + " Simulator Simulated"); } ; SendInfoMessages(infoIP, infoPort); break; case "heartbeat": switch (yoVersion) { case 1: HandleHeartbeatV1(message); break; case 2: HandleHeartbeatV2(message); break; } break; } }