using System; namespace GeoFramework.Gps { /// /// Represents information about the method used to obtain a fix when a fix-related event is raised. /// /// This object is used primarily by the FixMethodChanged /// event of the Receiver class to provide notification when /// updated fix method information has been received from the GPS device. /// This example demonstrates how to use this class when raising an event. /// /// ' Declare a new event /// Dim MyFixMethodEvent As EventHandler /// ' Create a FixMethod signifying a 3-D fix (both position and altitude) /// Dim MyFixMethod As FixMethod = FixMethod.Fix3D /// /// Sub Main() /// ' Raise our custom event /// RaiseEvent MyFixMethodEvent(Me, New FixMethodEventArgs(MyFixMethod)) /// End Sub /// /// /// // Declare a new event /// EventHandler MyFixMethodEvent; /// // Create a FixMethod signifying a 3-D fix (both position and altitude) /// FixMethod MyFixMethod = FixMethod.Fix3D; /// /// void Main() /// { /// // Raise our custom event /// MyFixMethodEvent(this, New FixMethodEventArgs(MyFixMethod)); /// } /// /// /// FixMethod Property (Receiver Class) /// Receiver Class public sealed class FixMethodEventArgs : EventArgs { private FixMethod _FixMethod; /// /// Creates a new instance with the specified fix method. /// /// A value from the FixMethod enumeration. /// public FixMethodEventArgs(FixMethod fixMethod) { _FixMethod = fixMethod; } /// /// Indicates if the GPS device has no fix, a 2-D fix, or a 3-D fix. /// /// A value from the FixMethod enumeration. /// A device is considered to have a "2-D" fix if there are three satellites /// involved in the fix. A 2-D fix means that position information is available, but not /// altitude. If at least four satellites are fixed, both position and altitude are known, /// and the fix is considered 3-D. /// FixMethod Property (Receiver Class) public FixMethod FixMethod { get { return _FixMethod; } } } /// /// Represents information about the likelihood that a fix will be sustained (or obtained) when a when a fix-related event is raised. /// /// This object is used primarily by the FixLikelihoodChanged /// event of the Receiver class to provide notification when /// combined satellite radio signal strength has changed. /// This example demonstrates how to use this class when raising an event. /// /// ' Declare a new event /// Dim MyFixLikelihoodEvent As FixLikelihoodEventHandler /// ' Create a FixLikelihood signifying a 3-D fix (both position and altitude) /// Dim MyFixLikelihood As FixLikelihood = FixLikelihood.Fix3D /// /// Sub Main() /// ' Raise our custom event /// RaiseEvent MyFixLikelihoodEvent(Me, New FixLikelihoodEventArgs(MyFixLikelihood)) /// End Sub /// /// /// // Declare a new event /// FixLikelihoodEventHandler MyFixLikelihoodEvent; /// // Create a FixLikelihood signifying a 3-D fix (both position and altitude) /// FixLikelihood MyFixLikelihood = FixLikelihood.Fix3D; /// /// void Main() /// { /// // Raise our custom event /// MyFixLikelihoodEvent(this, New FixLikelihoodEventArgs(MyFixLikelihood)); /// } /// /// /// FixLikelihood Property (Receiver Class) /// Receiver Class public sealed class FixLikelihoodEventArgs : EventArgs { private FixLikelihood _FixLikelihood; /// /// Creates a new instance with the specified fix Likelihood. /// /// A value from the FixLikelihood enumeration. /// public FixLikelihoodEventArgs(FixLikelihood fixLikelihood) { _FixLikelihood = fixLikelihood; } /// /// Indicates if the GPS device has no fix, a 2-D fix, or a 3-D fix. /// /// A value from the FixLikelihood enumeration. /// A device is considered to have a "2-D" fix if there are three satellites /// involved in the fix. A 2-D fix means that position information is available, but not /// altitude. If at least four satellites are fixed, both position and altitude are known, /// and the fix is considered 3-D. /// FixLikelihood Property (Receiver Class) public FixLikelihood FixLikelihood { get { return _FixLikelihood; } } } /// /// Represents information about whether the fix method is chosen automatically when a fix-related event is raised. /// /// This object is used primarily by the FixModeChanged /// event of the Receiver class to provide notification when /// the receiver switches fix modes from Automatic to Manual or vice-versa. /// This example demonstrates how to use this class when raising an event. /// /// ' Declare a new event /// Dim MyFixModeEvent As EventHandler /// ' Create a FixMode signifying that the fix method is being chosen automatically /// Dim MyFixMode As FixMode = FixMode.Automatic /// /// Sub Main() /// ' Raise our custom event /// RaiseEvent MyFixModeEvent(Me, New FixModeEventArgs(MyFixMode)) /// End Sub /// /// /// // Declare a new event /// EventHandler MyFixModeEvent; /// // Create a FixMode signifying that the fix method is being chosen automatically /// FixMode MyFixMode = FixMode.Automatic; /// /// void Main() /// { /// // Raise our custom event /// MyFixModeEvent(this, New FixModeEventArgs(MyFixMode)); /// } /// /// /// FixMethod Property (Receiver Class) /// Receiver Class public sealed class FixModeEventArgs : EventArgs { private FixMode _FixMode; /// /// Creates a new instance with the specified fix method. /// /// A value from the FixMode enumeration. /// public FixModeEventArgs(FixMode fixMode) { _FixMode = fixMode; } /// /// Indicates if the GPS device is choosing the fix method automatically. /// /// A value from the FixMode enumeration. /// A vast majority of GPS devices calculate the fix mode automatically. This is because /// the process of determining the fix mode is a simple process: if there are three fixed satellites, /// a 2-D fix is obtained; if there are four or more fixed satellites, a 3-D fix is in progress. Any /// less than three satellites means that no fix is possible. /// /// FixMode Property (Receiver Class) public FixMode FixMode { get { return _FixMode; } } } /// /// Represents information about the type of fix obtained when fix-related event is raised. /// /// This object is used primarily by the FixQualityChanged /// event of the Receiver class to provide notification when /// the receiver switches fix modes from Automatic to Manual or vice-versa. /// This example demonstrates how to use this class when raising an event. /// /// ' Declare a new event /// Dim MyFixQualityEvent As EventHandler /// ' Create a FixQuality signifying that a differential GPS fix is obtained /// Dim MyFixQuality As FixQuality = FixQuality.DifferentialGpsFix /// /// Sub Main() /// ' Raise our custom event /// RaiseEvent MyFixQualityEvent(Me, New FixQualityEventArgs(MyFixQuality)) /// End Sub /// /// /// // Declare a new event /// EventHandler MyFixQualityEvent; /// // Create a FixQuality signifying that a differential GPS fix is obtained /// FixQuality MyFixQuality = FixQuality.DifferentialGpsFix; /// /// void Main() /// { /// // Raise our custom event /// MyFixQualityEvent(this, New FixQualityEventArgs(MyFixQuality)); /// } /// /// /// FixMethod Property (Receiver Class) /// Receiver Class public sealed class FixQualityEventArgs : EventArgs { private FixQuality _FixQuality; /// /// Creates a new instance with the specified fix quality measurement. /// /// A value from the FixQuality enumeration. /// public FixQualityEventArgs(FixQuality fixQuality) { _FixQuality = fixQuality; } /// /// Indicates whether the current fix involves satellites and/or DGPS/WAAS ground stations. /// /// A value from the FixQuality enumeration. /// public FixQuality FixQuality { get { return _FixQuality; } } } }