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