Initial commit

This commit is contained in:
2026-07-03 16:31:37 +07:00
commit 899c7c637d
1939 changed files with 641750 additions and 0 deletions

View File

@@ -0,0 +1,136 @@
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;
}
}