HomeDocs-Technical WhitePaper22-EFT.WP.Metrology.Instrument v1.0

Appendix A — Interface Reference (I70 Suite)


One-Sentence Objective
Aggregate the signatures, inputs/outputs, invariants, and error semantics of the I70 series interfaces in this volume, providing a unified, implementable, and auditable reference.


I. Scope & Notes


II. Naming, Types & Common Invariants

  1. Type conventions
    • T (number|string|bool), Vec[T], TS[T] (time series), Map[K,V], Blob, Path.
    • Session (instrument session), TraceID (sha256), Manifest (signed key–value bundle).
  2. Invariants
    non_decreasing(ts); sum(w)/N ≈ 1 (when weights are used); check_dim(expr)=0; delta_form ≤ tol_Tarr; alpha_spent ≤ alpha_budget.
  3. Unified error semantics
    E.CONN (connection/permissions), E.CFG (invalid configuration), E.TIME (timebase/sync), E.MET (metrology/units), E.IO (acquisition/persist), E.CONTRACT (contract violation).

III. Discovery, Connection & Control (SCPI/IVI)

  1. I70-01 discover_instruments(filter) -> Vec<DeviceInfo>
    • Inputs: filter (vendor|model|iface)
    • Outputs: Vec<DeviceInfo> ({id, iface, driver, caps})
    • Invariants: unique(id) in the return set; driver and caps are complete.
  2. I70-02 open_session(device_id, driver, opts) -> Session
    • Inputs: opts (timeout_ms, exclusive, retry)
    • Outputs: Session
    • Errors: E.CONN; concurrency guard prevents session leaks.
  3. I70-03 scpi(session, cmd, expect) -> Resp
    • Notes: atomic SCPI transaction; automatic retry and timeout.
    • Invariants: latency_ms_p99 is accounted in panel.scpi.latency_ms_p99.
  4. I70-04 ivi_call(session, fn, args) -> Resp
    Notes: IVI driver abstraction; record driver.version and TraceID.

IV. Acquisition, Sweeps & Batch Execution

  1. I70-11 acquire(session, chan, rate_sps, n, trig) -> TS[float]
    • Inputs: trig ({mode, level, edge})
    • Outputs: time series with ts/tau_mono and offset/skew/J.
    • Invariants: sampling loss rate sample_loss_rate ≤ tol_loss.
  2. I70-12 sweep_source_measure(src, meas, grid, dwell_ms) -> DS
    • Notes: unified source-sweep + measurement (SMU/DMM/SG/SA).
    • Invariants: non_decreasing(grid); units/dimensions self-check passes.
  3. I70-13 batch_run(plan, sessions) -> BatchReport
    Notes: parallel/serial batch execution with idempotency and checkpoint-resume.

V. Units, Dimensions & Calibration Harmonization

  1. I70-21 repair_units(ds, policy) -> Report
    • Notes: unit normalization, dim checks, and failure mapping.
    • Errors: E.MET.
  2. I70-22 apply_calibration(ds, cal_curve|lut|poly) -> ds'
    Invariants: check_dim(y - f(x))=0; record U = k * u_c.
  3. I70-23 estimate_uncertainty(ds, model) -> U_report
    • Inputs: model ∈ {typeA, typeB, pooled}
    • Outputs: {u_c, k, U} with method annotation.

VI. Timebase & Synchronization Alignment (hooks to TimeBase/Sync)


VII. Linearity & Nonlinear Calibration (INL/DNL/Poly/LUT)


VIII. Noise & Sensitivity (SNR/NF/NEP)


IX. Bandwidth & Response (Bode/Step/ImpResp/PSF)


X. Triggering, Sampling & Timebase


XI. Environment & Drift (Temp/Humidity / EMC / Aging)


XII. Traceability, Calibration & Certificates


XIII. Conformity, Contracts & Guardband


XIV. Multi-Instrument Harmonization & Cross-Comparison (RRT/Interlab)


XV. Data Interfaces, Metadata & Publication


XVI. Runtime & Streaming Coordination (Back-Pressure/Retry/Idempotency)


XVII. Example Call Sequences (End-to-End Blueprints)


XVIII. Cross-References


XIX. Notes & Implementation Guidance


Copyright & License (CC BY 4.0)

Copyright: Unless otherwise noted, the copyright of “Energy Filament Theory” (text, charts, illustrations, symbols, and formulas) belongs to the author “Guanglin Tu”.
License: This work is licensed under the Creative Commons Attribution 4.0 International (CC BY 4.0). You may copy, redistribute, excerpt, adapt, and share for commercial or non‑commercial purposes with proper attribution.
Suggested attribution: Author: “Guanglin Tu”; Work: “Energy Filament Theory”; Source: energyfilament.org; License: CC BY 4.0.

First published: 2025-11-11|Current version:v5.1
License link:https://creativecommons.org/licenses/by/4.0/