Example #1
0
        public override Task <VstupVystup[]> PrectiVstupyNaZarizeni()
        {
            return(Task.Factory.StartNew(() => {
                List <VstupVystup> vysledneVstupy = new List <VstupVystup>();
                var CollectionZRobota = RobotClient.Inputs ?? new InputCollection();
                foreach (Input robotInput in CollectionZRobota.IOs)
                {
                    bool hodnotaNaVstupu = false;
                    if (robotInput.State == Mobile.Communication.Common.IO.Switch.Off)
                    {
                        hodnotaNaVstupu = false;
                    }
                    if (robotInput.State == Mobile.Communication.Common.IO.Switch.On)
                    {
                        hodnotaNaVstupu = true;
                    }
                    if (robotInput.State == Mobile.Communication.Common.IO.Switch.Unknown)
                    {
                        throw new Exception("Unknown state of robot input", new Exception($"{Hostname}|{IpAdress}|{robotInput.Label}"));
                    }

                    VstupVystup vstupVystup = new VstupVystup(Objects.IO.Input, robotInput.Label, hodnotaNaVstupu);
                    vysledneVstupy.Add(vstupVystup);
                }
                return vysledneVstupy.ToArray();
            }));
        }
Example #2
0
 private void NastaveniHlidacihoPsa()
 {
     if (HlidaciPes != null)
     {
         return;
     }
     HlidaciPes = new HlidaciPes <VstupVystup>(this);
     HlidaciPes.HlidaciPesNecoZaznamenal += (object Nalez) =>
     {
         Hlaseni     hlaseniPsa  = (Hlaseni)Nalez;
         VstupVystup vstupVystup = (VstupVystup)hlaseniPsa.Zprava;
         if (vstupVystup.Nazev.ToLower() == "error")
         {
             if (vstupVystup.Hodnota)
             {
                 Status = Stav.InError;
             }
             else
             {
                 Status = Stav.Online;
             }
         }
     };
 }