/// <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);
        }
Exemple #2
0
        /// <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);
        }