Beispiel #1
0
        public bool NastavDefektivitu([FromUri] byte addr, [FromUri] char varianta, [FromUri] string def1, [FromUri] string def2, [FromUri] string def3)
        {
            Logger.Info($"addr:{addr} varianta:{varianta} def1:{def1} def2:{def2} def3:{def3}");

            if (RunConfig.IsMockupMode)
            {
                return(true);
            }

            double def1Val;
            double def2Val;
            double def3Val;

            if (!(double.TryParse(def1, NumberStyles.AllowDecimalPoint, CultureInfo.InvariantCulture, out def1Val) &&
                  double.TryParse(def2, NumberStyles.AllowDecimalPoint, CultureInfo.InvariantCulture, out def2Val) &&
                  double.TryParse(def3, NumberStyles.AllowDecimalPoint, CultureInfo.InvariantCulture, out def3Val)))
            {
                throw new ArgumentException("Neplatná hodnota pro cíl");
            }

            try
            {
                Logger.Info($"cil1:{def1Val}");
                return(SlevyrService.NastavDefektivitu(addr, varianta, (short)def1Val, (short)def2Val, (short)def3Val));
            }
            catch (KeyNotFoundException)
            {
                throw new HttpResponseException(new HttpResponseMessage(HttpStatusCode.NotFound));
            }
        }
Beispiel #2
0
        private static void DoStart(int port, string baseAddress)
        {
            HttpClient client = new HttpClient();

            var response = client.GetAsync(baseAddress + "api/slevyr/getApiVersion").Result;

            if (response != null)
            {
                if (response.StatusCode == HttpStatusCode.OK)
                {
                    Console.WriteLine("API version: {0}", response.Content.ReadAsStringAsync().Result);
                }
                else
                {
                    Console.WriteLine("ERROR: status code {0}", response.StatusCode);
                }
            }
            else
            {
                Console.WriteLine("ERROR: Impossible to connect to service");
            }


            Logger.Info($"\nWebApp Started on {baseAddress}\n");

            Console.WriteLine("Stiskem klávesy se služba ukončí !\n");

            Process.Start(baseAddress + "menu.html");

            Console.ReadLine();

            SlevyrService.ClosePort();
        }
Beispiel #3
0
        public bool ClosePort()
        {
            Logger.Info("+");

            SlevyrService.ClosePort();

            return(!SlevyrService.SerialPortIsOpen);
        }
Beispiel #4
0
        public void SaveUnitConfig([FromBody] UnitConfig unitCfg)
        {
            Logger.Info($"Addr:{unitCfg.Addr}");

            try
            {
                SlevyrService.SaveUnitConfig(unitCfg);
            }
            catch (KeyNotFoundException)
            {
                throw new HttpResponseException(new HttpResponseMessage(HttpStatusCode.NotFound));
            }
        }
Beispiel #5
0
        public UnitStatus RefreshStatus([FromUri] byte addr)
        {
            Logger.Info($"+ {addr}");
            //if (RunConfig.IsMockupMode) return Mock.MockUnitStatus();

            try
            {
                return(SlevyrService.ObtainStatus(addr));
            }
            catch (KeyNotFoundException)
            {
                throw new HttpResponseException(new HttpResponseMessage(HttpStatusCode.NotFound));
            }
        }
Beispiel #6
0
        public UnitConfig GetUnitConfig([FromUri] byte addr)
        {
            Logger.Info($"Addr:{addr}");

            try
            {
                var res = SlevyrService.GetUnitConfig(addr);
                return(res);
            }
            catch (KeyNotFoundException)
            {
                throw new HttpResponseException(new HttpResponseMessage(HttpStatusCode.NotFound));
            }
        }
Beispiel #7
0
        public UnitStatus Status([FromUri] byte addr)
        {
            Logger.Info("+");
            if (RunConfig.IsMockupMode)
            {
                return(Mock.MockUnitStatus());
            }

            try
            {
                return(SlevyrService.Status(addr));
            }
            catch (KeyNotFoundException)
            {
                throw new HttpResponseException(new HttpResponseMessage(HttpStatusCode.NotFound));
            }
        }
Beispiel #8
0
        public bool NastavOkNg([FromUri] byte addr, [FromUri] short ok, [FromUri] short ng)
        {
            Logger.Info($"addr:{addr} ok:{ok} ng:{ng}");

            if (RunConfig.IsMockupMode)
            {
                return(true);
            }

            try
            {
                return(SlevyrService.NastavOkNg(addr, ok, ng));
            }
            catch (KeyNotFoundException)
            {
                throw new HttpResponseException(new HttpResponseMessage(HttpStatusCode.NotFound));
            }
        }
Beispiel #9
0
        public bool NastavHandshake([FromUri] byte addr, [FromUri] bool value)
        {
            Logger.Info($"addr:{addr} val:{value}");

            if (RunConfig.IsMockupMode)
            {
                return(true);
            }

            try
            {
                return(SlevyrService.NastavHandshake(addr, value));
            }
            catch (KeyNotFoundException)
            {
                throw new HttpResponseException(new HttpResponseMessage(HttpStatusCode.NotFound));
            }
        }
Beispiel #10
0
        public bool OpenPort()
        {
            Logger.Info("+");
            try
            {
                if (RunConfig.IsMockupMode)
                {
                    return(true);
                }
                SlevyrService.OpenPort();

                Logger.Info($"Port name:{PortConfig.Port} isOpen:{SlevyrService.SerialPortIsOpen}");
                return(SlevyrService.SerialPortIsOpen);
            }
            catch (Exception ex)
            {
                Logger.Error(ex);
                throw;
            }
        }
Beispiel #11
0
        public bool CtiStavCitacu([FromUri] byte addr)
        {
            Logger.Info("+");

            if (RunConfig.IsMockupMode)
            {
                Mock.MockUnitStatus().Ok++;
                Mock.MockUnitStatus().Ng++;
                return(true);
            }

            try
            {
                return(SlevyrService.CtiStavCitacu(addr));
            }
            catch (KeyNotFoundException)
            {
                throw new HttpResponseException(new HttpResponseMessage(HttpStatusCode.NotFound));
            }
        }
Beispiel #12
0
        public bool NastavAktualniCas([FromUri] byte addr)
        {
            Logger.Info("+");

            if (RunConfig.IsMockupMode)
            {
                return(true);
            }

            try
            {
                //return SlevyrService.NastavAktualniCas(addr);
                SlevyrService.NastavAktualniCasQueued(addr);
                return(true);
            }
            catch (KeyNotFoundException)
            {
                throw new HttpResponseException(new HttpResponseMessage(HttpStatusCode.NotFound));
            }
        }
Beispiel #13
0
        public bool SetConfig([FromUri] bool isMockupMode, [FromUri] bool isTimerOn, [FromUri] int refreshTimerPeriod, [FromUri] bool readCasOkNg)
        {
            Logger.Info($"isMockupMode: {isMockupMode}, isTimerOn: {isTimerOn},timerPeriod: {refreshTimerPeriod}");
            RunConfig.IsMockupMode       = isMockupMode;
            RunConfig.IsRefreshTimerOn   = isTimerOn;
            RunConfig.RefreshTimerPeriod = refreshTimerPeriod;
            RunConfig.IsReadOkNgTime     = readCasOkNg;
            //RunConfig.PortReadTimeout = portReadTimeout;
            //RunConfig.RelaxTime = relaxTime;

            if (isTimerOn)
            {
                SlevyrService.StartWorker();
            }
            else
            {
                SlevyrService.StopWorker();
            }

            return(true);
        }
Beispiel #14
0
        public bool NastavCileSmen([FromUri] byte addr, [FromUri] char varianta, [FromUri] short cil1, [FromUri] short cil2, [FromUri] short cil3)
        {
            Logger.Info($"addr:{addr} var:{varianta} cil1:{cil1} cil2:{cil2} cil3:{cil3}");

            bool res = false;

            if (RunConfig.IsMockupMode)
            {
                return(true);
            }

            try
            {
                return(SlevyrService.NastavCileSmen(addr, varianta, cil1, cil2, cil3));
            }
            catch (KeyNotFoundException)
            {
                throw new HttpResponseException(new HttpResponseMessage(HttpStatusCode.NotFound));
            }
            return(res);
        }
Beispiel #15
0
        static SlevyrController()
        {
            Logger.Info("+");

            var unitAddrs = Settings.Default.UnitAddrs.Split(';').Select(int.Parse);

            RunConfig = new RunConfig
            {
                IsMockupMode       = Settings.Default.MockupMode,
                IsRefreshTimerOn   = Settings.Default.IsRefreshTimerOn,
                IsReadOkNgTime     = Settings.Default.IsReadOkNgTime,
                RefreshTimerPeriod = Settings.Default.RefreshTimerPeriod,
                WorkerSleepPeriod  = Settings.Default.WorkerSleepPeriod,
                RelaxTime          = Settings.Default.RelaxTime,
                ReadResultTimeOut  = Settings.Default.ReadResultTimeOut,
                SendCommandTimeOut = Settings.Default.SendCommandTimeOut,
                DataFilePath       = Settings.Default.JsonFilePath,
                UnitAddrs          = unitAddrs,
                IsWriteEmptyToLog  = Settings.Default.IsWriteEmptyToLog
            };

            PortConfig = new SerialPortConfig
            {
                Port          = Settings.Default.Port,
                BaudRate      = Settings.Default.BaudRate,
                Parity        = System.IO.Ports.Parity.None,
                DataBits      = 8,
                StopBits      = System.IO.Ports.StopBits.One,
                ReceiveLength = 11
            };

            SlevyrService.Init(PortConfig, RunConfig);

            Logger.Info("unit count: " + SlevyrService.UnitCount);

            if (RunConfig.IsRefreshTimerOn)
            {
                SlevyrService.StartWorker();
            }
        }
Beispiel #16
0
        public bool CtiCyklusOkNg([FromUri] byte addr)
        {
            Logger.Info("+");

            if (RunConfig.IsMockupMode)
            {
                Mock.MockUnitStatus().CasOkTime = DateTime.Now;
                Mock.MockUnitStatus().CasNgTime = DateTime.Now;
                return(true);
            }

            try
            {
                float ok;
                float ng;
                return(SlevyrService.CtiCyklusOkNg(addr));
            }
            catch (KeyNotFoundException)
            {
                throw new HttpResponseException(new HttpResponseMessage(HttpStatusCode.NotFound));
            }
        }
Beispiel #17
0
        public bool NastavAktualniCasAllUnits()
        {
            Logger.Info("+");

            if (RunConfig.IsMockupMode)
            {
                return(true);
            }

            try
            {
                foreach (var addr in RunConfig.UnitAddrs)
                {
                    SlevyrService.NastavAktualniCasQueued(addr);
                }
                return(true);
            }
            catch (KeyNotFoundException)
            {
                throw new HttpResponseException(new HttpResponseMessage(HttpStatusCode.NotFound));
            }
        }
Beispiel #18
0
        public bool NastavPrestavkySmen([FromUri] byte addr, [FromUri] char varianta, [FromUri] string prest1, [FromUri] string prest2, [FromUri] string prest3)
        {
            Logger.Info($"addr:{addr}  prest1:{prest1} prest2:{prest2} prest2:{prest2}");

            if (RunConfig.IsMockupMode)
            {
                return(true);
            }

            var p1 = TimeSpan.Parse(prest1);
            var p2 = TimeSpan.Parse(prest2);
            var p3 = TimeSpan.Parse(prest3);

            try
            {
                return(SlevyrService.NastavPrestavky(addr, varianta, p1, p2, p3));
            }
            catch (KeyNotFoundException)
            {
                throw new HttpResponseException(new HttpResponseMessage(HttpStatusCode.NotFound));
            }
        }
Beispiel #19
0
        public bool NastavJednotku([FromUri] byte addr, [FromUri] bool writeProtectEEprom, [FromUri] byte minOK, [FromUri] byte minNG,
                                   [FromUri] bool bootloaderOn, [FromUri] byte parovanyLED,
                                   [FromUri] byte rozliseniCidel, [FromUri] byte pracovniJasLed)
        {
            Logger.Info($"addr:{addr} writeProtectEEprom:{writeProtectEEprom} minOK:{minOK} minNG:{minNG} parovanyLED:{parovanyLED}");

            if (RunConfig.IsMockupMode)
            {
                return(true);
            }

            try
            {
                //bool writeProtectEEpromVal = String.Equals(writeProtectEEprom, "ANO",StringComparison.InvariantCultureIgnoreCase) ;
                //bool bootloaderOnVal = String.Equals(bootloaderOn, "ANO",StringComparison.InvariantCultureIgnoreCase);

                return(SlevyrService.NastavStatus(addr, writeProtectEEprom, minOK, minNG, bootloaderOn, parovanyLED, rozliseniCidel, pracovniJasLed));
            }
            catch (KeyNotFoundException)
            {
                throw new HttpResponseException(new HttpResponseMessage(HttpStatusCode.NotFound));
            }
        }