fix: keep los metadata on failure

This commit is contained in:
just_stuff_tm
2026-02-23 15:59:18 -05:00
parent e2585c0992
commit ea2f35ec2e
+8 -4
View File
@@ -50,13 +50,13 @@ class LineOfSightResult {
const LineOfSightResult.error({ const LineOfSightResult.error({
required this.totalDistanceMeters, required this.totalDistanceMeters,
required this.errorMessage, required this.errorMessage,
this.usedKFactor = 4.0 / 3.0,
this.frequencyMHz,
}) : hasData = false, }) : hasData = false,
isClear = false, isClear = false,
maxObstructionMeters = 0, maxObstructionMeters = 0,
firstObstructionDistanceMeters = null, firstObstructionDistanceMeters = null,
samples = const [], samples = const [];
usedKFactor = 4.0 / 3.0,
frequencyMHz = null;
} }
class LineOfSightPathSegment { class LineOfSightPathSegment {
@@ -203,6 +203,8 @@ class LineOfSightService {
return LineOfSightResult.error( return LineOfSightResult.error(
totalDistanceMeters: totalDistanceMeters, totalDistanceMeters: totalDistanceMeters,
errorMessage: errorElevationUnavailable, errorMessage: errorElevationUnavailable,
usedKFactor: kFactor,
frequencyMHz: frequencyMHz,
); );
} }
@@ -227,9 +229,11 @@ class LineOfSightService {
double obstructionToleranceMeters = 0.0, double obstructionToleranceMeters = 0.0,
}) { }) {
if (points.length < 2 || elevations.length != points.length) { if (points.length < 2 || elevations.length != points.length) {
return const LineOfSightResult.error( return LineOfSightResult.error(
totalDistanceMeters: 0, totalDistanceMeters: 0,
errorMessage: errorInvalidInput, errorMessage: errorInvalidInput,
usedKFactor: kFactor,
frequencyMHz: frequencyMHz,
); );
} }