public NoiseGaugeCtrl(NoiseSensor sensor) { InitializeComponent(); ToolTip = sensor.Name; lbl_Name.Content = sensor.Name; this.sensor = sensor; scale.Min = (double)sensor.MinValue; scale.Max = (double)sensor.MaxValue; try { model = HttpService.SensorList.First(item => item.Tag == sensor.Link); timer = new DispatcherTimer { Interval = TimeSpan.FromSeconds(model.MinPollingIntervalInSeconds) }; timer.Tick += Timer_Tick; timer.Start(); FirstTick(); } catch { numIndicator.Foreground = new SolidColorBrush(Colors.LightGray); label.Foreground = new SolidColorBrush(Colors.LightGray); bar.Background = new SolidColorBrush(Colors.LightGray); } }
private void Submit(object param) { Sensor sensor; CheckForBlanks(); //check for errors if (ErrorCollection.Count == 0) { switch (SelectedItem) { case "Temperature": sensor = new TemperatureSensor(Name, ToLinkWith.Tag, Description, Convert.ToDouble(Latitude), Convert.ToDouble(Longitude), Tracking, Convert.ToDecimal(MinValue), Convert.ToDecimal(MaxValue)); break; case "Humidity": sensor = new HumiditySensor(Name, ToLinkWith.Tag, Description, Convert.ToDouble(Latitude), Convert.ToDouble(Longitude), Tracking, Convert.ToDecimal(MinValue), Convert.ToDecimal(MaxValue)); break; case "Electricity Consumption": sensor = new PowerConsumptionSensor(Name, ToLinkWith.Tag, Description, Convert.ToDouble(Latitude), Convert.ToDouble(Longitude), Tracking, Convert.ToDecimal(MinValue), Convert.ToDecimal(MaxValue)); break; case "Noise": sensor = new NoiseSensor(Name, ToLinkWith.Tag, Description, Convert.ToDouble(Latitude), Convert.ToDouble(Longitude), Tracking, Convert.ToDecimal(MinValue), Convert.ToDecimal(MaxValue)); break; case "Window/Door": sensor = new WindowDoorSensor(Name, ToLinkWith.Tag, Description, Convert.ToDouble(Latitude), Convert.ToDouble(Longitude), Tracking, Open); break; default: sensor = null; break; } sensors.List.Add(sensor); UpdateXml(sensors); Snackbar.Enqueue($"{sensor.Name} added"); DialogHost.CloseDialogCommand.Execute(null, null); } }
/** * \brief Simple constructor of the task. Build all the hyper parameters of the model (Genetic algorithm + MLP). Define the shapes of the MLp and the size of an individual for the genetic part. */ public DroneStabilization(SystemRandomSource rndGenerator, string fromTask) : base(rndGenerator) { float mean = 0.0f; float stdDev = 1.0f; float deltaT = 0.02f; noise = new NoiseSensor(mean, stdDev, stdDev, deltaT, rndGenerator); lowNoise = new NoiseSensor(mean, stdDev/5.0f, stdDev/5.0f, deltaT, rndGenerator); this.fromTask = "Stabilization"; //Debug.Log(this.fromTask); rowIndex = 0; shapes = new List<int>() {9, 4}; signal = new UCSignal(shapes[0]); individualSize = 0; for (int i = 0; i < shapes.Count - 1; i++) { individualSize += (shapes[i] + 1) * shapes[i + 1]; } }
/// <summary> /// Adds sensor with the given "data" to the Sensors List /// </summary> /// <param name="data"></param> /// <param name="rangeBoundaries"></param> /// <returns>True if the sensor is added successfully, False otherwise</returns> public bool AddSensor(SensorData data, RangeBoundaries <string> rangeBoundaries) { bool success = true; Sensor sensor = null; try { switch (data.Type) { case "DoorSensor": sensor = new DoorSensor(data); break; case "ElPowerSensor": sensor = new ElPowerSensor(data, new RangeBoundaries <int>(int.Parse(rangeBoundaries.Min), int.Parse(rangeBoundaries.Max))); break; case "NoiseSensor": sensor = new NoiseSensor(data, new RangeBoundaries <int>(int.Parse(rangeBoundaries.Min), int.Parse(rangeBoundaries.Max))); break; case "HumiditySensor": sensor = new HumiditySensor(data, new RangeBoundaries <float>(float.Parse(rangeBoundaries.Min), float.Parse(rangeBoundaries.Max))); break; case "TemperatureSensor": sensor = new TemperatureSensor(data, new RangeBoundaries <double>(double.Parse(rangeBoundaries.Min), double.Parse(rangeBoundaries.Max))); break; default: break; } Sensors.Add(sensor); SaveState(); } catch (Exception) { MessageBox.Show("Failed to add the sensor!", "Error", MessageBoxButton.OK, MessageBoxImage.Error); success = false; } return(success); }
private void CreateCopy(Sensor sensor1, ref Sensor sensor2) { if (sensor1 is HumiditySensor) { sensor2 = new HumiditySensor((HumiditySensor)sensor1); } else if (sensor1 is NoiseSensor) { sensor2 = new NoiseSensor((NoiseSensor)sensor1); } else if (sensor1 is PowerConsumptionSensor) { sensor2 = new PowerConsumptionSensor((PowerConsumptionSensor)sensor1); } else if (sensor1 is TemperatureSensor) { sensor2 = new TemperatureSensor((TemperatureSensor)sensor1); } else { sensor2 = new WindowDoorSensor((WindowDoorSensor)sensor1); } }