Пример #1
0
        /// <summary>
        /// Clones and then adds data to this AP
        /// </summary>
        /// <param name="data">The data to add</param>
        /// <param name="gpsData">The GPS data to go with</param>
        public void AddData(NetworkData data, GpsData gpsData)
        {
            if (data == null)
            {
                throw new ArgumentNullException("data");
            }
            if (gpsData == null)
            {
                throw new ArgumentNullException("gpsData");
            }

            NetworkData nd2 = (NetworkData)data.Clone();

            lock (MyNetworkDataCollection)
            {
                //Check if the RSSI had been consistently stronger and stronger than the strongest reading before updating the GPS data
                //This means if this reading and the last reading are both higher than 2 readings ago, update the GPS data
                if ((MyNetworkDataCollection.Count > 1 && nd2.Rssi > MyNetworkDataCollection.Max(nd => nd.Rssi) &&
                     (nd2.Rssi > MyNetworkDataCollection[MyNetworkDataCollection.Count - 2].Rssi &&
                      MyNetworkDataCollection[MyNetworkDataCollection.Count - 1].Rssi >
                      MyNetworkDataCollection[MyNetworkDataCollection.Count - 2].Rssi)) ||
                    (nd2.Rssi > -100 && GpsData.SatelliteTime == DateTime.MinValue))
                {
                    //Update GPS data
                    GpsData = gpsData;
                }
                //Add the data
                MyNetworkDataCollection.Add(nd2);
            }
            Timestamp         = nd2.MyTimestamp;
            LastSeenTimestamp = nd2.MyTimestamp;

            //Remove old data, if any
            DeleteOldData(Timestamp - TimeSpan.FromMinutes(8));
        }
Пример #2
0
        public AccessPoint(NetworkData dataItem)
        {
            Index = _counter++;
            Graph = true;
            Highlight = false;
            _networkData = new List<NetworkData>(MaxDataPoints);
            _networkData.Add(dataItem);

            _orignalData = (NetworkData)dataItem.Clone();
            Timestamp = dataItem.MyTimestamp;
            LastSeenTimestamp = dataItem.MyTimestamp;
        }
Пример #3
0
        public AccessPoint(NetworkData dataItem)
        {
            Index        = _counter++;
            Graph        = true;
            Highlight    = false;
            _networkData = new List <NetworkData>(MaxDataPoints);
            _networkData.Add(dataItem);

            _orignalData      = (NetworkData)dataItem.Clone();
            Timestamp         = dataItem.MyTimestamp;
            LastSeenTimestamp = dataItem.MyTimestamp;
        }
Пример #4
0
        /// <summary>
        /// Clones and then adds data to this AP
        /// </summary>
        /// <param name="data"></param>
        public void AddData(NetworkData data)
        {
            if (data == null)
            {
                throw new ArgumentNullException("data");
            }
            lock (MyNetworkDataCollection)
            {
                MyNetworkDataCollection.Add((NetworkData)data.Clone());
            }
            Timestamp = data.MyTimestamp;

            //Remove old data, if any
            DeleteOldData(Timestamp - TimeSpan.FromMinutes(8));
        }
Пример #5
0
        /// <summary>
        /// Clones and then adds data to this AP
        /// </summary>
        /// <param name="data">The data to add</param>
        /// <param name="gpsData">The GPS data to go with</param>
        public void AddData(NetworkData data, GpsData gpsData)
        {
            if (data == null) throw new ArgumentNullException("data");
            if (gpsData == null) throw new ArgumentNullException("gpsData");

            NetworkData nd2 = (NetworkData)data.Clone();

            lock (MyNetworkDataCollection)
            {
                //Check if the RSSI had been consistently stronger and stronger than the strongest reading before updating the GPS data
                //This means if this reading and the last reading are both higher than 2 readings ago, update the GPS data
                if ((MyNetworkDataCollection.Count > 1 && nd2.Rssi > MyNetworkDataCollection.Max(nd => nd.Rssi) &&
                     (nd2.Rssi > MyNetworkDataCollection[MyNetworkDataCollection.Count - 2].Rssi &&
                      MyNetworkDataCollection[MyNetworkDataCollection.Count - 1].Rssi >
                      MyNetworkDataCollection[MyNetworkDataCollection.Count - 2].Rssi)) ||
                    (nd2.Rssi > -100 && GpsData.SatelliteTime == DateTime.MinValue))
                {
                    //Update GPS data
                    GpsData = gpsData;
                }
                //Add the data
                MyNetworkDataCollection.Add(nd2);
            }
            Timestamp = nd2.MyTimestamp;
            LastSeenTimestamp = nd2.MyTimestamp;

            //Remove old data, if any
            DeleteOldData(Timestamp - TimeSpan.FromMinutes(8));
        }
Пример #6
0
        /// <summary>
        /// Clones and then adds data to this AP
        /// </summary>
        /// <param name="data"></param>
        public void AddData(NetworkData data)
        {
            if (data == null) throw new ArgumentNullException("data");
            lock (MyNetworkDataCollection)
            {
                MyNetworkDataCollection.Add((NetworkData) data.Clone());
            }
            Timestamp = data.MyTimestamp;

            //Remove old data, if any
            DeleteOldData(Timestamp - TimeSpan.FromMinutes(8));
        }