From 09bc91489cbfb8538053acc1b9778294aaca2086 Mon Sep 17 00:00:00 2001 From: Graham Kimbell <88666181+g-kimbell@users.noreply.github.com> Date: Fri, 23 Oct 2026 17:16:00 +0200 Subject: [PATCH] Report EIS R0 R1 R2 by default --- pyflowbatt/config.py | 4 ++-- tests/test_config.py | 14 +++++++------- 2 files changed, 9 insertions(+), 9 deletions(-) diff --git a/pyflowbatt/config.py b/pyflowbatt/config.py index 1631f2e..0bfe8d2 100644 --- a/pyflowbatt/config.py +++ b/pyflowbatt/config.py @@ -147,7 +147,7 @@ def _toml_error_hint(error: str, line: str | None) -> str: }, "extra_patterns": set(_TECHNIQUE_KEYS), "eis_tags": set(), - "eis": {"model", "summary_params"}, + "eis": {"model", "summary_params", "max_fit_error"}, "cv": set(_CV_KEYS), } @@ -307,7 +307,7 @@ class PyFlowBattConfig: # EIS tag -> glob patterns; unpinned files are tagged by protocol layout eis_tag_patterns: dict[str, list[str]] = field(default_factory=dict) eis_model: str = "L0-R0-(R1,CPE1)-(R2,CPE2)" # fasteis circuit string fitted to EIS - eis_summary_params: list[str] = field(default_factory=lambda: ["R0.r"]) + eis_summary_params: list[str] = field(default_factory=lambda: ["R0.r", "R1.r", "R2.r"]) sample_name_pattern: str = r"^\d+_.+_.+$" sample_name: str | None = None # overrides pattern entirely lsv_threshold: int = 8 # numeric cutoff for pre/post when only one LSV file is found diff --git a/tests/test_config.py b/tests/test_config.py index fee44bb..7205ad6 100644 --- a/tests/test_config.py +++ b/tests/test_config.py @@ -2416,13 +2416,14 @@ def test_eis_summary_params_toml_override(tmp_path: Path) -> None: sample_dir.mkdir() home = tmp_path / "home" toml = sample_dir / "pyflowbatt.toml" - assert PyFlowBattConfig.load(sample_dir, home=home).eis_summary_params == ["R0.r"] + default = ["R0.r", "R1.r", "R2.r"] + assert PyFlowBattConfig.load(sample_dir, home=home).eis_summary_params == default toml.write_text('[eis]\nsummary_params = ["R0.r", "R1.r"]\n') assert PyFlowBattConfig.load(sample_dir, home=home).eis_summary_params == ["R0.r", "R1.r"] toml.write_text('[eis]\nsummary_params = "R1.r"\n') - assert PyFlowBattConfig.load(sample_dir, home=home).eis_summary_params == ["R0.r"] + assert PyFlowBattConfig.load(sample_dir, home=home).eis_summary_params == default def test_eis_summary_label_pretty_units() -> None: @@ -2546,10 +2547,9 @@ def test_analyse_sample_summary_has_eis_rows_without_eis( df = pd.read_excel(sample / "results" / "summary.xlsx", sheet_name="Summary", index_col=0) eis_rows = [q for q in df.index if q.startswith("EIS")] assert eis_rows == [ - "EIS R0.r pre / Ω", - "EIS R0.r pre-50%SOC / Ω", - "EIS R0.r post-50%SOC / Ω", - "EIS R0.r post / Ω", + f"EIS {param} {tag} / Ω" + for param in ["R0.r", "R1.r", "R2.r"] + for tag in ["pre", "pre-50%SOC", "post-50%SOC", "post"] ] assert df.loc[eis_rows, "Value"].isna().all() @@ -2927,7 +2927,7 @@ def test_misplaced_setting_warns_with_line( assert [r.getMessage() for r in caplog.records if expected.format(path=toml) in r.getMessage()] assert config.area_cm2 is None assert config.cv_v_min == 0.4004 - assert config.eis_summary_params == ["R0.r"] + assert config.eis_summary_params == ["R0.r", "R1.r", "R2.r"] assert config.eis_tag_patterns in ({}, {"pre": ["*_02_*"]})