/// <summary>Converts <see cref="OpenNetGps.States"/> to <see cref="GpsState"/></summary> /// <param name="state">Value to be converted</param> /// <remarks>Value of type <see cref="GpsState"/> equivalent to <paramref name="state"/>. For <see cref="OpenNetGps.States.AutoDiscovery"/> and unknown values returns <see cref="GpsState.Closed"/>.</remarks> private static GpsState State2State(OpenNetGps.States state) { switch (state) { case OpenNetGps.States.Opening: return GpsState.Opening; case OpenNetGps.States.Running: return GpsState.Open; case OpenNetGps.States.Stopping: return GpsState.Closing; default: return GpsState.Closed; } }
private void gps_Satellite(object sender, OpenNetGps.Satellite[] satellites) { List<GpsSatellite> sats = new List<GpsSatellite>(satellites.Length); foreach (OpenNetGps.Satellite sat in satellites) { sats.Add(new GpsSatellite(sat.ID, sat.SNR, sat.Elevation, sat.Azimuth, sat.Active)); } OnSatellite(new GpsSatelliteEventArgs(sats.ToArray())); }
private void gps_GpsSentence(object sender, OpenNetGps.GpsSentenceEventArgs e) { OnGpsSentence(new GpsSentenceEventArgs(e.Counter, e.Sentence)); }
private void gps_Position(object sender, OpenNetGps.Position pos) { int latMultipler = (pos.DirectionLatitude == CardinalDirection.South) ? -1 : 1; int longMultiplier = (pos.DirectionLongitude == CardinalDirection.West) ? -1 : 1; OnPosition(new GpsPositionEventArgs(new GpsPosition( pos.Altitude == 0 ? null : new Decimal?(pos.Altitude), pos.Longitude_Decimal == 0 ? null : new Decimal?(pos.Longitude_Decimal * longMultiplier), pos.Latitude_Decimal == 0 ? null : new Decimal?(pos.Latitude_Decimal * latMultipler), pos.SatTime))); }
private void gps_GpsCommState(object sender, OpenNetGps.GpsCommStateEventArgs e) { OnStateChanged(State2State(e.State)); }