summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rwxr-xr-xbin/analyze-kconfig.py12
-rw-r--r--lib/utils.py6
2 files changed, 18 insertions, 0 deletions
diff --git a/bin/analyze-kconfig.py b/bin/analyze-kconfig.py
index 4b84921..a51451a 100755
--- a/bin/analyze-kconfig.py
+++ b/bin/analyze-kconfig.py
@@ -107,6 +107,12 @@ def main():
"all: all of the above.\n"
"tex: print tex/pgfplots-compatible model quality data on stdout.",
)
+ parser.add_argument(
+ "--ignore-param",
+ metavar="<parameter name>[,<parameter name>,...]",
+ type=str,
+ help="Ignore listed parameters during model generation",
+ )
parser.add_argument("kconfig_path", type=str, help="Path to Kconfig file")
parser.add_argument(
"model",
@@ -126,6 +132,9 @@ def main():
if args.export_dref:
dref = dict()
+ if args.ignore_param:
+ args.ignore_param = args.ignore_param.split(",")
+
if os.path.isdir(args.model):
attributes = KConfigAttributes(args.kconfig_path, args.model)
if args.export_dref:
@@ -197,6 +206,9 @@ def main():
if args.boolean_parameters:
dfatool.utils.observations_enum_to_bool(observations, kconfig=True)
+ if args.ignore_param:
+ dfatool.utils.observations_ignore_param(observations, args.ignore_param)
+
if args.param_shift:
param_shift = dfatool.cli.parse_param_shift(args.param_shift)
dfatool.utils.shift_param_in_observations(observations, param_shift)
diff --git a/lib/utils.py b/lib/utils.py
index 12bd7c2..f8ce6ad 100644
--- a/lib/utils.py
+++ b/lib/utils.py
@@ -302,6 +302,12 @@ def observations_enum_to_bool(observations: list, kconfig=False):
binary_keys.add(binary_key)
+def observations_ignore_param(observations: list, ignored_parameters: list) -> list:
+ for observation in observations:
+ for ignored_parameter in ignored_parameters:
+ observation["param"].pop(ignored_parameter)
+
+
def observations_to_by_name(observations: list):
"""
Convert observation list to by_name dictionary for AnalyticModel analysis