namespace RobotNet10.Shared.Sensor;
///
/// NavSatFix message (sensor_msgs/NavSatFix)
/// Navigation Satellite fix for any Global Navigation Satellite System
///
public struct NavSatFix
{
///
/// Header with timestamp and frame ID
///
public Header Header { get; set; }
///
/// Navigation Satellite fix status constants
///
public const short StatusNoFix = -1;
public const short StatusFix = 0;
public const short StatusSbasFix = 1;
public const short StatusGbasFix = 2;
///
/// Navigation Satellite fix status (Status constants)
///
public short Status { get; set; }
///
/// Service constants
///
public const ushort ServiceGps = 1;
public const ushort ServiceGlonass = 2;
public const ushort ServiceCompass = 4;
public const ushort ServiceGalileo = 8;
///
/// Service which is being used (Service constants)
///
public ushort Service { get; set; }
///
/// Latitude in degrees
///
public double Latitude { get; set; }
///
/// Longitude in degrees
///
public double Longitude { get; set; }
///
/// Altitude in meters
///
public double Altitude { get; set; }
///
/// Position covariance matrix (row-major about x, y, z axes)
/// Size: 9 (3x3 matrix)
///
public double[] PositionCovariance { get; set; }
///
/// Size of position covariance matrix (3x3 = 9 elements)
///
public const int PositionCovarianceSize = 9;
///
/// Position covariance type constants
///
public const byte CovarianceTypeUnknown = 0;
public const byte CovarianceTypeApproximated = 1;
public const byte CovarianceTypeDiagonalKnown = 2;
public const byte CovarianceTypeKnown = 3;
///
/// Position covariance type (CovarianceType constants)
///
public byte PositionCovarianceType { get; set; }
///
/// Default constructor
///
public NavSatFix()
{
Header = new Header();
Status = StatusNoFix;
Service = 0;
Latitude = 0.0;
Longitude = 0.0;
Altitude = 0.0;
PositionCovariance = new double[PositionCovarianceSize];
PositionCovarianceType = CovarianceTypeUnknown;
}
}
///
/// NavSatStatus message (sensor_msgs/NavSatStatus)
/// Navigation Satellite fix status for any Global Navigation Satellite System
///
public struct NavSatStatus
{
///
/// Status constants
///
public const sbyte StatusNoFix = -1;
public const sbyte StatusFix = 0;
public const sbyte StatusSbasFix = 1;
public const sbyte StatusGbasFix = 2;
///
/// Status (Status constants)
///
public sbyte Status { get; set; }
///
/// Service constants
///
public const ushort ServiceGps = 1;
public const ushort ServiceGlonass = 2;
public const ushort ServiceCompass = 4;
public const ushort ServiceGalileo = 8;
///
/// Service which is being used (Service constants)
///
public ushort Service { get; set; }
///
/// Default constructor
///
public NavSatStatus()
{
Status = StatusNoFix;
Service = 0;
}
}