namespace GeoVLog.Core.Models; /// INS attitude from $PRDID sentence. public sealed class ImuReading : ISensorReading { public DateTime TimestampUtc { get; init; } /// Message identifier (always "$PRDID"). public string SentenceId => "$PRDID"; public string SensorName => "imu"; public int Channel => 0; // single INS public string RawLine { get; init; } = string.Empty; public ReadOnlyMemory RawPayload => System.Text.Encoding.ASCII.GetBytes(RawLine); // Parsed (nullable) fields public double? PitchDeg { get; set; } public double? RollDeg { get; set; } public double? HeadingDeg { get; set; } }