nibcq.LCREISTestParameters ========================== .. py:class:: nibcq.LCREISTestParameters Bases: :py:obj:`nibcq._lcr_acir.LCRTestParameters` Test parameters for LCR EIS multi-frequency impedance measurements. Inherits from LCRTestParameters to share common LCR configuration fields. Unlike LCRACIR which measures at a single frequency (1000 Hz), EIS sweeps through multiple frequencies to characterize the frequency-dependent impedance behavior. The frequency sweep is defined by a dictionary mapping each frequency (Hz) to its corresponding current amplitude (A). The sweep runs from highest to lowest frequency. Note: The inherited current_amplitude field is not used directly. Instead, each frequency point in the sweep has its own current amplitude defined in frequency_sweep_characteristics. .. attribute:: cable_length Cable length setting. Default is NI_STANDARD_1M (1 meter). :type: nidcpower.CableLength .. attribute:: voltage_range Peak voltage range (10V or 40V), converted to RMS internally. Default is PEAK_10V (7V RMS). :type: LCRVoltageRange .. attribute:: open_compensation_enabled Enable open compensation from onboard storage. :type: bool .. attribute:: short_compensation_enabled Enable short compensation from onboard storage. :type: bool .. attribute:: load_compensation_enabled Enable load compensation from onboard storage. Note: Load compensation requires both open AND short to be enabled. :type: bool .. attribute:: frequency_sweep_characteristics Dictionary mapping frequency (Hz) to current amplitude (A). The sweep will be sorted and run from high to low frequency. :type: dict[float, float] .. rubric:: Examples >>> # Direct instantiation >>> params = LCREISTestParameters( ... voltage_range=LCRVoltageRange.PEAK_10V, ... frequency_sweep_characteristics={ ... 10000.0: 0.07, ... 1000.0: 0.07, ... 100.0: 0.07, ... }, ... ) >>> # From JSON file >>> params = LCREISTestParameters.from_file("config/lcr_eis_config.json") .. py:method:: from_json(json_data: Dict[str, Any]) -> LCREISTestParameters :classmethod: Create LCREISTestParameters instance from JSON dictionary. :param json_data: Dictionary containing LCR EIS configuration data. :type json_data: Dict[str, Any] :returns: Instance configured from JSON data. :rtype: LCREISTestParameters :raises LCRParameterError: If voltage range or current amplitude values are invalid. :raises FrequencyError: If frequency values are invalid or duplicated in the sweep. .. py:method:: from_file(file_path: str) -> LCREISTestParameters :classmethod: Create LCREISTestParameters instance from JSON configuration file. :param file_path: Path to JSON configuration file. :type file_path: str :returns: Instance configured from file. :rtype: LCREISTestParameters :raises FileNotFoundError: If configuration file is not found. :raises LCRParameterError: If voltage range or current amplitude values are invalid. :raises FrequencyError: If frequency values are invalid or duplicated in the sweep. :raises json.JSONDecodeError: If file contains invalid JSON.