[PATCH v2 17/25] libtuning: Only warn if processing returns None

Stefan Klug stefan.klug at ideasonboard.com
Fri Jun 28 12:47:10 CEST 2024


There are valid cases where a module returns None. E.g no images were
provided for lsc calibration. We should however define proper semantics
there. Continue with a warning for now.

Signed-off-by: Stefan Klug <stefan.klug at ideasonboard.com>
---
 utils/tuning/libtuning/generators/yaml_output.py | 3 +++
 utils/tuning/libtuning/libtuning.py              | 4 ++--
 2 files changed, 5 insertions(+), 2 deletions(-)

diff --git a/utils/tuning/libtuning/generators/yaml_output.py b/utils/tuning/libtuning/generators/yaml_output.py
index 31e265df4ea7..c490081d7de7 100644
--- a/utils/tuning/libtuning/generators/yaml_output.py
+++ b/utils/tuning/libtuning/generators/yaml_output.py
@@ -107,6 +107,9 @@ class YamlOutput(Generator):
         ]
 
         for module in output_order:
+            if module not in output_dict:
+                continue
+
             out_lines.append(f'  - {module.out_name}:')
 
             if len(output_dict[module]) == 0:
diff --git a/utils/tuning/libtuning/libtuning.py b/utils/tuning/libtuning/libtuning.py
index 5342e5d6daaa..e7c63535fefd 100644
--- a/utils/tuning/libtuning/libtuning.py
+++ b/utils/tuning/libtuning/libtuning.py
@@ -200,8 +200,8 @@ class Tuner(object):
         for module in self.modules:
             out = module.process(self.config, images, self.output)
             if out is None:
-                logger.error(f'Module {module.hr_name} failed to process...')
-                break
+                logger.warning(f'Module {module.hr_name} failed to process...')
+                continue
             self.output[module] = out
 
         self.generator.write(args.output, self.output, self.output_order)
-- 
2.43.0



More information about the libcamera-devel mailing list