/// <summary> /// Berechnet die Signalstärke. /// </summary> /// <param name="token">Der aktuelle Zustand der Berechnung.</param> /// <returns>Informationen zur Fortführung der Operation.</returns> private static PipelineResult TransformSignal(DataGraph.SignalToken token) { // Shutdown call - ignore if (token == null) { return(PipelineResult.Continue); } // See if strength information from network provider is available var strength = token.SignalStrength; if (!strength.HasValue) { return(PipelineResult.Continue); } // Get the raw value var bias = (double)(short)-(strength + 1); // Translate var dBGuess = Math.Round(5.219 + bias / 1845.0, 1); // Save in bounds token.SignalInformation.Strength = Math.Max(0, Math.Min(15, dBGuess)); // Next return(PipelineResult.Continue); }
/// <summary> /// Berechnet die Signalstärke. /// </summary> /// <param name="token">Der aktuelle Zustand der Berechnung.</param> /// <returns>Informationen zur Fortführung der Operation.</returns> private static PipelineResult TransformSignal(DataGraph.SignalToken token) { // Shutdown call - ignore if (token == null) { return(PipelineResult.Continue); } // Nothing we can do if (!token.SignalInformation.Strength.HasValue) { return(PipelineResult.Continue); } // Make sure that bounds are respected token.SignalInformation.Strength = Math.Max(0, Math.Min(15, token.SignalInformation.Strength.Value)); // Next return(PipelineResult.Continue); }
/// <summary> /// Berechnet die Signalstärke. /// </summary> /// <param name="token">Der aktuelle Zustand der Berechnung.</param> /// <returns>Informationen zur Fortführung der Operation.</returns> private static PipelineResult TransformSignal(DataGraph.SignalToken token) { // Shutdown call - ignore if (token == null) { return(PipelineResult.Continue); } // Nothing we can do if (!token.SignalInformation.Strength.HasValue) { return(PipelineResult.Continue); } // Translate var dBGuess = Math.Round(10.25 - token.SignalInformation.Strength.Value / 960.0, 1); // Save in bounds token.SignalInformation.Strength = Math.Max(0, Math.Min(15, dBGuess)); // Next return(PipelineResult.Continue); }