Changelog
1.4.0
Fixed:
Calibratornow actually supportsELoadDeviceFamily. It was missing this in previous release.
Added:
New
ParallelMeasurementbase abstract class for parallel measurements.New
ParallelDCIRclass, helping you create DCIR Parallel Measurements (based on theParallelMeasurementabstract class). This includes new API calls and a new example:dcir_parallel_simple.py- a basic parallel DCIR measurement.
New
ParallelACIRclass, helping you create ACIR Parallel Measurements (based on theParallelMeasurementabstract class). This includes new API calls and a new examples:acir_parallel_simple.py- a basic parallel ACIR measurement.acir_parallel_create_compensation_file.py— basic parallel ACIR compensation with thermocouple.acir_parallel_create_compensation_with_kit.py— parallel ACIR SHORT compensation using a KIT file.
New
ParallelEISclass, helping you create EIS Parallel Measurements (based on theParallelACIRandEISclasses). This includes new API calls and a new examples:eis_parallel_simple.py- a basic parallel EIS measurement.eis_parallel_create_compensation_file.py— basic parallel EIS compensation with thermocouple.eis_parallel_create_compensation_with_kit.py— parallel EIS SHORT compensation using a KIT file.
New Simulated
ELoadExample.Checks for
ELoadDeviceFamilyin Simulated Device examples.
Changed:
SwitchAwarebehaviour is moved fromMeasurementto a separateSwitchingSupportmixin class.Now only specific measurements using
SwitchingSupporthaverun_with_switchingfunction and completeSwitchAwarebehaviour.Added type hints to all public API docstrings for improved API Reference documentation.
1.3.0
Fixed:
Replaced
print()warning messages in temperature module with proper Pythonloggingto stderr (issue #56).
Added:
Custom exception classes for unified error handling in
errors.py:BCQError(base class) and specific subclasses for common error scenarios (e.g.,EmptySerialNumberError,HardwareIncompatibilityError, etc.):Most of these come from the LabVIEW API.
Two are Python specific (
DMMParameterErrorandTemperatureError).
These exceptions are now used throughout the codebase for clearer and more maintainable error handling.
Changed:
Testing is now done with the new Error Handling Framework.
1.2.1
Added:
TemperatureAware.validate_temperature(target_temperature)- Measures and Validates temperature for measurement classes (ACIR, EIS, etc.).Historical changelog to documentation.
New Warnings to temperature validation logic, when delta was overwritten and when target is set but no measurement is available.
Two new examples showing error handling with both temperature and switching support is present.
New
temperatureproperty forTemperatureAwareclass, containing only the measured temperature value, without the delta limits.
Changed:
Temperature submodule:
Made
TemperatureCapability.run_task()public.Made
TemperatureCapability.validate_latest_temperature()public.Warning messages now prefixed with
[nibcq]for clarity.Renamed
TemperatureParameterto a more genericCenteredRangename. The new field names arecenteranddelta.
Measurement classes:
Now
ACIRandEISrun()includes temperature validation when it is necessary and supported.
Examples:
Examples demonstrating temperature validation workflow in
acir_with_temperature.pyandeis_with_temperature.py.Error handling in examples with temperature measurement.
Updated documentation, including new examples.
Renamed
temperature_measurementproperty totemperature_range.
Fixed:
Temperature validation now correctly uses overridden
acceptable_temperature_deltawhen user sets custom value.Setting temperature delta now actually possible during device creation.
Compensation file creation examples set temperature delta correctly.
Added None check for
target_temperatureparameter in validation methods, solving an issue when usingNo Compensationcompensation method.Some typos.
1.2.0
Added:
Basic functionality for OCV, ACIR, DCIR and EIS measurements.
Switching support for multi-channel measurements.
Temperature measurement support with thermocouple integration.