From 0035c75f5ca3202392f966844033fcf4f5ec897d Mon Sep 17 00:00:00 2001 From: Edward Viaene Date: Fri, 30 Oct 2026 22:26:05 -0500 Subject: [PATCH] MCP: report adc_comp with an older embeddedci SDK too The MCP package supports older SDK releases, whose Calibration has no adc_comp, so every calibration tool failed there (the mcp-min-sdk job, from #53). Treat it as not measured. Co-Authored-By: Claude Opus 5.5 --- packages/embeddedci-mcp/src/embeddedci_mcp/server.py | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/packages/embeddedci-mcp/src/embeddedci_mcp/server.py b/packages/embeddedci-mcp/src/embeddedci_mcp/server.py index 94dea78..1c8ae86 100644 --- a/packages/embeddedci-mcp/src/embeddedci_mcp/server.py +++ b/packages/embeddedci-mcp/src/embeddedci_mcp/server.py @@ -1385,14 +1385,15 @@ async def adc_read(source: AdcSource = "ext", range: AdcRangeArg = None) -> m.Ad def _calibration_result(c: Any) -> m.CalibrationResult: + comp = getattr(c, "adc_comp", None) # an older embeddedci SDK has no such field dac = {k: (None if v is None else m.DacLineResult(a=v.a, b=v.b, offset=v.offset, gain_ppm=v.gain_ppm)) for k, v in (c.dac or {}).items()} return m.CalibrationResult(source=c.source, calibrated=c.calibrated, offset=c.offset, a=c.a, b=c.b, count=c.count, span=c.span, samples=c.samples, dac=dac, adc_gain_ppm=dict(c.adc_gain_ppm or {}), dmm=c.dmm, measured=c.measured, adc_low_gain_ppm=c.adc_low_gain_ppm, - adc_comp=None if c.adc_comp is None else { - "hf_dc_gain": c.adc_comp.hf_dc_gain, "c_top_pf": c.adc_comp.c_top_pf}, + adc_comp=None if comp is None else { + "hf_dc_gain": comp.hf_dc_gain, "c_top_pf": comp.c_top_pf}, zero_count=c.zero_count)