public override void Start(NuttyManager nutty) { nutty.Choker = 50; nutty.HeartbeatFrequency = 25; nutty.BodyModel = nutty.BodyModels["NAOBodyModel"]; base.Start(nutty); virtualOutput = false; if (naoIP=="") naoIP = Microsoft.VisualBasic.Interaction.InputBox("NAO's IP address:", "NuttyNAO", Properties.Settings.Default.naoAddress); Properties.Settings.Default.naoAddress = naoIP; Properties.Settings.Default.Save(); nao = new NAOThalamusClient("", naoIP, false); nao.HeartbeatEcho += nao_HeartbeatEcho; }
static void Main(string[] args) { string character = ""; string pyAddress = "localhost"; if (args.Length > 0) { if (args[0] == "help") { Console.WriteLine("Useage: " + Environment.GetCommandLineArgs()[0] + " <CharacterName> <naoXmlRpcPyAddress>"); return; } character = args[0]; if (args.Length > 1) pyAddress = args[1]; } NAOThalamusClient client = new NAOThalamusClient(character, pyAddress); Console.ReadLine(); client.Dispose(); }
public NAOThalamusEventListener(NAOThalamusClient client) { this.client = client; }
private NAOThalamusClient ConnectThalamus(){ //LogClientStatus("Connecting..."); if (CheckNaoIsSelected()) { NAOThalamusClient client = new NAOThalamusClient(charName, selectedNao.IP); return client; } else return null; }
private async Task<NAOThalamusClient> ConnectThalamusAsync() { Client = await Task.Run<NAOThalamusClient>((() => ConnectThalamus())); if (Client != null) { Client.ClientConnected += Client_ClientConnected; Client.ClientDisconnectedFromThalamus += Client_ClientDisconnectedFromThalamus; // Client.DisconnectedFromMaster override di questo nel client e trasformalo in event Client.EventLogged += Client_EventLogged; } return Client; }
private NAOThalamusClient ConnectThalamus(string charName, string naoIP) { NAOThalamusClient client = new NAOThalamusClient(charName, naoIP); return client; }
private async Task<NAOThalamusClient> ConnectThalamusAsync(string charName, string naoIP) { naoThalamusClient = await Task.Run<NAOThalamusClient>((() => ConnectThalamus(charName, naoIP))); if (naoThalamusClient != null) { naoThalamusClient.ClientConnected += delegate() { status.IsThalamusConnected = true; }; naoThalamusClient.ClientDisconnected += delegate() { status.IsThalamusConnected = false; }; } return naoThalamusClient; }
public async void Start() { status.IsSearchingForNAO = true; while (status.IsSearchingForNAO) { await naoDiscoverer.DiscoverNAO(); if (naoDiscoverer.NAOs.Count > 0) { naoRemote = new NAORemote.NAORemote(naoDiscoverer.NAOs[0].IP, "nao", "nao"); naoRemote.Connect(); status.IsSearchingForNAO = false; status.DiscoveredNAOs = new ObservableCollection<NAOHost>(naoDiscoverer.NAOs); status.SelectedNAO = naoDiscoverer.NAOs[0]; } } string character = Environment.GetCommandLineArgs().Length > 1 ? Environment.GetCommandLineArgs()[1] : ""; naoThalamusClient = await ConnectThalamusAsync(character, status.SelectedNAO.IP); CheckPythonInstalledAsync(); CheckBehavioursInstalledAsync(); await shellControl.Connect(status.SelectedNAO.IP, "nao", "nao"); if (!await CheckIsPythonRunning()) { RunPythonAsync(); PythonChecker(); NaoQiChecker(); } else { LogError("Python already running. You have to manually stop it and run again this application"); } }