private void btnPovezi_Click(object sender, RoutedEventArgs e)
        {
            try
            {
                if (berem == false)
                {
                    if ((String.IsNullOrEmpty(tbComPort.Text)) || (String.IsNullOrEmpty(tbRazmikProzenja.Text)))
                    {
                        MessageBox.Show("Potrebno je vnesti COM port in razmik proženja!");
                        return;
                    }

                    GeoCoordinateWatcher lokacija = new GeoCoordinateWatcher();
                    int stPonovitev = 0;
                    while (stPonovitev <= 10)
                    {
                        lokacija.TryStart(false, TimeSpan.FromMilliseconds(10000));
                        GeoCoordinate koordinate = lokacija.Position.Location;
                        if (koordinate.IsUnknown != true)
                        {
                            var latitude  = koordinate.Latitude;
                            var longitude = koordinate.Longitude;

                            string[] lokacijaArray = DobiNaslovIzGMaps(latitude.ToString(new CultureInfo("en-US")), longitude.ToString(new CultureInfo("en-US")));
                            lokacijaStr = lokacijaArray[0];
                            drzavaStr   = lokacijaArray[1];

                            break;
                        }

                        Thread.Sleep(2000);
                        stPonovitev++;
                    }

                    adapter = AccessProvider.GetAdapter("{DS9097}", tbComPort.Text);
                    OneWireContainer container = adapter.GetDeviceContainer(StringToByteArray("28FF945B521604BF"));
                    string           owcType   = container.GetType().ToString();
                    if (owcType.Equals("DalSemi.OneWire.Container.OneWireContainer28"))
                    {
                        // imamo DS18S20
                        adapter.SelectDevice(container.Address);

                        ZapisiLog("Pričenjam brati ...");

                        timer          = new DispatcherTimer();
                        timer.Tick    += Timer_Tick;
                        timer.Interval = new TimeSpan(0, 0, Int32.Parse(tbRazmikProzenja.Text));
                        timer.Start();

                        berem             = true;
                        btnPovezi.Content = "Končaj brati";
                    }

                    Configuration config = ConfigurationManager.OpenExeConfiguration(System.Reflection.Assembly.GetExecutingAssembly().Location);

                    if (config.AppSettings.Settings["tbComPort"] == null)
                    {
                        config.AppSettings.Settings.Add("tbComPort", tbComPort.Text);
                    }
                    else
                    {
                        config.AppSettings.Settings["tbComPort"].Value = tbComPort.Text;
                    }

                    if (config.AppSettings.Settings["tbRazmikProzenja"] == null)
                    {
                        config.AppSettings.Settings.Add("tbRazmikProzenja", tbRazmikProzenja.Text);
                    }
                    else
                    {
                        config.AppSettings.Settings["tbRazmikProzenja"].Value = tbRazmikProzenja.Text;
                    }

                    if (config.AppSettings.Settings["tbAPIUrl"] == null)
                    {
                        config.AppSettings.Settings.Add("tbAPIUrl", tbAPIUrl.Text);
                    }
                    else
                    {
                        config.AppSettings.Settings["tbAPIUrl"].Value = tbAPIUrl.Text;
                    }

                    if (config.AppSettings.Settings["tbStrukturaPodatkov"] == null)
                    {
                        config.AppSettings.Settings.Add("tbStrukturaPodatkov", tbStrukturaPodatkov.Text);
                    }
                    else
                    {
                        config.AppSettings.Settings["tbStrukturaPodatkov"].Value = tbStrukturaPodatkov.Text;
                    }

                    if (config.AppSettings.Settings["tbMin"] == null)
                    {
                        config.AppSettings.Settings.Add("tbMin", tbMin.Text);
                    }
                    else
                    {
                        config.AppSettings.Settings["tbMin"].Value = tbMin.Text;
                    }

                    if (config.AppSettings.Settings["tbMax"] == null)
                    {
                        config.AppSettings.Settings.Add("tbMax", tbMax.Text);
                    }
                    else
                    {
                        config.AppSettings.Settings["tbMax"].Value = tbMax.Text;
                    }

                    if (config.AppSettings.Settings["tbTarget"] == null)
                    {
                        config.AppSettings.Settings.Add("tbTarget", tbTarget.Text);
                    }
                    else
                    {
                        config.AppSettings.Settings["tbTarget"].Value = tbTarget.Text;
                    }

                    config.Save(ConfigurationSaveMode.Minimal);
                }
                else
                {
                    timer.Stop();

                    ZapisiLog("Končal sem brati ...");

                    berem             = false;
                    btnPovezi.Content = "Poveži in beri";
                }
            }
            catch (Exception _ex)
            {
                ZapisiLog("NAPAKA: " + _ex.Message);
                ZapisiLog(_ex.StackTrace);
            }
        }
Ejemplo n.º 2
0
 public bool SelectDevice(byte[] address, int p = 0)
 {
     return(adapter.SelectDevice(address, p));
 }