private void EngageMacProcol() { ForwardersSelection x = new ForwardersSelection(); x.IntializeForwarders(myNetWork); foreach (Sensor sen in myNetWork) { sen.Mac = new MAC.BoXMAC(sen); sen.BatRangesList = PublicParamerters.getRanges(); } }
/// <summary> /// /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void Prog_batteryCapacityNotation_ValueChanged(object sender, RoutedPropertyChangedEventArgs <double> e) { double val = ResidualEnergyPercentage; if (val <= 0) { /* * // dead certificate: * ExpermentsResults.Lifetime.DeadNodesRecord recod = new ExpermentsResults.Lifetime.DeadNodesRecord(); * recod.DeadAfterPackets = PublicParamerters.NumberofGeneratedPackets; * recod.DeadOrder = PublicParamerters.DeadNodeList.Count + 1; * recod.Rounds = PublicParamerters.Rounds + 1; * recod.DeadNodeID = ID; * recod.NOS = PublicParamerters.NOS; * recod.NOP = PublicParamerters.NOP; * recod.RoutingZone = Settings.Default.ZoneWidth; * PublicParamerters.DeadNodeList.Add(recod);*/ PublicParamerters.IsNetworkDied = true; Prog_batteryCapacityNotation.Foreground = new SolidColorBrush((Color)ColorConverter.ConvertFromString(BatteryLevelColoring.col0)); Ellipse_center.Fill = new SolidColorBrush((Color)ColorConverter.ConvertFromString(BatteryLevelColoring.col0)); } if (val >= 1 && val <= 9) { Prog_batteryCapacityNotation.Foreground = new SolidColorBrush((Color)ColorConverter.ConvertFromString(BatteryLevelColoring.col1_9)); Ellipse_center.Fill = new SolidColorBrush((Color)ColorConverter.ConvertFromString(BatteryLevelColoring.col1_9)); } if (val >= 10 && val <= 19) { Prog_batteryCapacityNotation.Foreground = new SolidColorBrush((Color)ColorConverter.ConvertFromString(BatteryLevelColoring.col10_19)); Ellipse_center.Fill = new SolidColorBrush((Color)ColorConverter.ConvertFromString(BatteryLevelColoring.col10_19)); } if (val >= 20 && val <= 29) { Prog_batteryCapacityNotation.Foreground = new SolidColorBrush((Color)ColorConverter.ConvertFromString(BatteryLevelColoring.col20_29)); Ellipse_center.Fill = new SolidColorBrush((Color)ColorConverter.ConvertFromString(BatteryLevelColoring.col20_29)); } // full: if (val >= 30 && val <= 39) { Prog_batteryCapacityNotation.Foreground = new SolidColorBrush((Color)ColorConverter.ConvertFromString(BatteryLevelColoring.col30_39)); Ellipse_center.Fill = new SolidColorBrush((Color)ColorConverter.ConvertFromString(BatteryLevelColoring.col30_39)); } // full: if (val >= 40 && val <= 49) { Prog_batteryCapacityNotation.Foreground = new SolidColorBrush((Color)ColorConverter.ConvertFromString(BatteryLevelColoring.col40_49)); Ellipse_center.Fill = new SolidColorBrush((Color)ColorConverter.ConvertFromString(BatteryLevelColoring.col40_49)); } // full: if (val >= 50 && val <= 59) { Prog_batteryCapacityNotation.Foreground = new SolidColorBrush((Color)ColorConverter.ConvertFromString(BatteryLevelColoring.col50_59)); Ellipse_center.Fill = new SolidColorBrush((Color)ColorConverter.ConvertFromString(BatteryLevelColoring.col50_59)); } // full: if (val >= 60 && val <= 69) { Prog_batteryCapacityNotation.Foreground = new SolidColorBrush((Color)ColorConverter.ConvertFromString(BatteryLevelColoring.col60_69)); Ellipse_center.Fill = new SolidColorBrush((Color)ColorConverter.ConvertFromString(BatteryLevelColoring.col60_69)); } // full: if (val >= 70 && val <= 79) { Prog_batteryCapacityNotation.Foreground = new SolidColorBrush((Color)ColorConverter.ConvertFromString(BatteryLevelColoring.col70_79)); Ellipse_center.Fill = new SolidColorBrush((Color)ColorConverter.ConvertFromString(BatteryLevelColoring.col70_79)); } // full: if (val >= 80 && val <= 89) { Prog_batteryCapacityNotation.Foreground = new SolidColorBrush((Color)ColorConverter.ConvertFromString(BatteryLevelColoring.col80_89)); Ellipse_center.Fill = new SolidColorBrush((Color)ColorConverter.ConvertFromString(BatteryLevelColoring.col80_89)); } // full: if (val >= 90 && val <= 100) { Prog_batteryCapacityNotation.Foreground = new SolidColorBrush((Color)ColorConverter.ConvertFromString(BatteryLevelColoring.col90_100)); Ellipse_center.Fill = new SolidColorBrush((Color)ColorConverter.ConvertFromString(BatteryLevelColoring.col90_100)); } // update the battery distrubtion. int per = Convert.ToInt16(val); if (per > PublicParamerters.BatteryLosePerUpdate) { int indx = per / PublicParamerters.BatteryLosePerUpdate; if (indx >= 1) { if (BatRangesList.Count > 0) { BatRange x = BatRangesList[indx - 1]; if (per >= x.Rang[0] && per <= x.Rang[1]) { if (x.isUpdated == false) { x.isUpdated = true; MainWindow.RandomSelectSourceNodesTimer.Stop(); ForwardersSelection select = new ForwardersSelection(); select.UpdateMyForwardersAccordingtoBattryPower(this); MainWindow.RandomSelectSourceNodesTimer.Start(); } } } } } }