diff --git a/backend/api/Database/Models/Inspection.cs b/backend/api/Database/Models/Inspection.cs index c77e7be5..bf0fe34f 100644 --- a/backend/api/Database/Models/Inspection.cs +++ b/backend/api/Database/Models/Inspection.cs @@ -129,6 +129,7 @@ public void UpdateWithIsarInfo(IsarTask isarTask) IsarTaskType.TakeThermalImage => InspectionType.ThermalImage, IsarTaskType.TakeVideo => InspectionType.Video, IsarTaskType.TakeThermalVideo => InspectionType.ThermalVideo, + IsarTaskType.TakeGasMeasurement => InspectionType.GasMeasurement, _ => throw new ArgumentException( $"ISAR task type '{isarTask.TaskType}' not supported for inspections" ), @@ -168,6 +169,9 @@ public bool IsSupportedInspectionType(IList capabilities) InspectionType.ThermalVideo => capabilities.Contains( RobotCapabilitiesEnum.take_thermal_video ), + InspectionType.GasMeasurement => capabilities.Contains( + RobotCapabilitiesEnum.take_gas_measurement + ), InspectionType.Audio => capabilities.Contains(RobotCapabilitiesEnum.record_audio), _ => false, }; @@ -190,6 +194,7 @@ public enum InspectionType Video, ThermalVideo, Audio, + GasMeasurement, } public enum AnalysisType diff --git a/backend/api/Database/Models/Robot.cs b/backend/api/Database/Models/Robot.cs index 0f71727d..8aa81391 100644 --- a/backend/api/Database/Models/Robot.cs +++ b/backend/api/Database/Models/Robot.cs @@ -192,6 +192,7 @@ public enum RobotCapabilitiesEnum take_image, take_video, take_thermal_video, + take_gas_measurement, record_audio, localize, auto_localize, diff --git a/backend/api/MQTT/MessageModels/IsarTask.cs b/backend/api/MQTT/MessageModels/IsarTask.cs index 00951790..f32f32f4 100644 --- a/backend/api/MQTT/MessageModels/IsarTask.cs +++ b/backend/api/MQTT/MessageModels/IsarTask.cs @@ -37,6 +37,7 @@ public MissionTaskType GetMissionTaskTypeFromIsarTask(string isarTaskType) "take_thermal_image" => MissionTaskType.Inspection, "take_thermal_video" => MissionTaskType.Inspection, "return_to_home" => MissionTaskType.ReturnHome, + "take_gas_measurement" => MissionTaskType.Inspection, _ => throw new ArgumentException($"ISAR Task type '{isarTaskType}' not supported"), }; diff --git a/backend/api/Services/EchoService.cs b/backend/api/Services/EchoService.cs index 2f551342..65130923 100644 --- a/backend/api/Services/EchoService.cs +++ b/backend/api/Services/EchoService.cs @@ -333,7 +333,9 @@ public async Task> MissionTasksFromEchoTag(EchoTag echoTag) { var inspections = echoTag .Inspections.Select(inspection => new Inspection( - inspectionType: inspection.InspectionType, + inspectionType: inspection.InspectionType != InspectionType.Audio + ? inspection.InspectionType + : InspectionType.GasMeasurement, videoDuration: inspection.TimeInSeconds, inspectionTarget: inspection.InspectionPoint, inspectionTargetName: inspection.InspectionPointName, diff --git a/backend/api/Services/Models/IsarTask.cs b/backend/api/Services/Models/IsarTask.cs index 456e0043..9d306214 100644 --- a/backend/api/Services/Models/IsarTask.cs +++ b/backend/api/Services/Models/IsarTask.cs @@ -36,6 +36,7 @@ public static IsarTaskType TaskTypeFromString(string isarClassName) "take_video" => IsarTaskType.TakeVideo, "take_thermal_image" => IsarTaskType.TakeThermalImage, "take_thermal_video" => IsarTaskType.TakeThermalVideo, + "take_gas_measurement" => IsarTaskType.TakeGasMeasurement, "return_to_home" => IsarTaskType.ReturnToHome, "move_arm" => IsarTaskType.MoveArm, _ => throw new ArgumentException( @@ -63,6 +64,7 @@ public enum IsarTaskType TakeVideo, TakeThermalImage, TakeThermalVideo, + TakeGasMeasurement, RecordAudio, MoveArm, } diff --git a/frontend/src/models/Robot.ts b/frontend/src/models/Robot.ts index 7fd5e50a..2beabff0 100644 --- a/frontend/src/models/Robot.ts +++ b/frontend/src/models/Robot.ts @@ -58,6 +58,7 @@ export enum RobotCapabilitiesEnum { take_image = 'take_image', take_video = 'take_video', take_thermal_video = 'take_thermal_video', + take_gas_measurement = 'take_gas_measurement', record_audio = 'record_audio', localize = 'localize', auto_localize = 'auto_localize',