Exemplo n.º 1
0
 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;
 }
Exemplo n.º 2
0
 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;
 }
Exemplo n.º 4
0
 private NAOThalamusClient ConnectThalamus(){
     //LogClientStatus("Connecting...");
     if (CheckNaoIsSelected())
     {
         NAOThalamusClient client = new NAOThalamusClient(charName, selectedNao.IP);
         return client;
     }
     else return null;
 }
Exemplo n.º 5
0
 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");
            }
        }