From 7021067d5f92e5b53f54540bf98a6bab186e704d Mon Sep 17 00:00:00 2001 From: Cyber-G Date: Mon, 11 Sep 2023 17:20:47 +0200 Subject: [PATCH 1/5] .gitignore: exclude any .vscode configuration directory --- .gitignore | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.gitignore b/.gitignore index d60b61d0..f427700e 100644 --- a/.gitignore +++ b/.gitignore @@ -1,5 +1,7 @@ # -*- mode: Conf -*- +.vscode + #################################################################################################### *.stderr From a3a46c5f64ea73e37a102e093c938efe80538190 Mon Sep 17 00:00:00 2001 From: Cyber-G Date: Mon, 11 Sep 2023 17:54:35 +0200 Subject: [PATCH 2/5] RawFile.py: fix https://github.com/PySpice-org/PySpice/issues/352 --- PySpice/Spice/NgSpice/RawFile.py | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/PySpice/Spice/NgSpice/RawFile.py b/PySpice/Spice/NgSpice/RawFile.py index 90ae7f6b..309cf89f 100644 --- a/PySpice/Spice/NgSpice/RawFile.py +++ b/PySpice/Spice/NgSpice/RawFile.py @@ -32,6 +32,8 @@ .. code:: + [Note:] No compatibility mode selected! OR [Note:] Compatibility modes selected: xyz + Circuit: 230V Rectifier Doing analysis at TEMP = 25.000000 and TNOM = 25.000000 @@ -189,6 +191,14 @@ def _read_header(self, stdout): raw_data = stdout[raw_data_start:] header_line_iterator = iter(header_lines) + try: + self._read_header_field_line(header_line_iterator, 'Note', has_value=False) + except Exception as e: + if 'No compatibility mode selected' in str(e): + # Reset iterator + header_line_iterator = iter(header_lines) + self._read_header_field_line(header_line_iterator, 'No compatibility mode selected', has_value=False) + self.circuit_name = self._read_header_field_line(header_line_iterator, 'Circuit') self.temperature, self.nominal_temperature = self._read_temperature_line(header_line_iterator) self.warnings = [self._read_header_field_line(header_line_iterator, 'Warning') From 5e3eb55aac831b7cdf172c958ef27ba3a3ab0319 Mon Sep 17 00:00:00 2001 From: Cyber-G Date: Mon, 11 Sep 2023 17:55:56 +0200 Subject: [PATCH 3/5] RawFile.py: TypeError: __init__() missing 1 required positional argument: 'internal_parameters' --- PySpice/Spice/RawFile.py | 1 + 1 file changed, 1 insertion(+) diff --git a/PySpice/Spice/RawFile.py b/PySpice/Spice/RawFile.py index eb7d04c6..e293832d 100644 --- a/PySpice/Spice/RawFile.py +++ b/PySpice/Spice/RawFile.py @@ -375,6 +375,7 @@ def _to_sensitivity_analysis(self): return SensitivityAnalysis( simulation=self.simulation, elements=self.elements(), + internal_parameters=self.internal_parameters(), ) ############################################## From 62abb623c21ec2e2fe0a5f15757c2af5e20454c0 Mon Sep 17 00:00:00 2001 From: Cyber-G Date: Tue, 12 Sep 2023 10:43:09 +0200 Subject: [PATCH 4/5] RawFile.py: improve fix https://github.com/PySpice-org/PySpice/issues/352 --- PySpice/Spice/NgSpice/RawFile.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/PySpice/Spice/NgSpice/RawFile.py b/PySpice/Spice/NgSpice/RawFile.py index 309cf89f..37ac5209 100644 --- a/PySpice/Spice/NgSpice/RawFile.py +++ b/PySpice/Spice/NgSpice/RawFile.py @@ -192,7 +192,7 @@ def _read_header(self, stdout): header_line_iterator = iter(header_lines) try: - self._read_header_field_line(header_line_iterator, 'Note', has_value=False) + self.note = self._read_header_field_line(header_line_iterator, 'Note') except Exception as e: if 'No compatibility mode selected' in str(e): # Reset iterator From d79f2751c08941db5b0019e8ba168e4ff156ec05 Mon Sep 17 00:00:00 2001 From: Cyber-G Date: Tue, 13 Aug 2024 17:07:38 +0200 Subject: [PATCH 5/5] diode-characteristic-curve.py: fix TypeError: LogScale.__init__() got an unexpected keyword argument 'basey' Error : Traceback (most recent call last): File "***/PySpice/examples/diode/diode-characteristic-curve.py", line 187, in ax2.semilogy(analysis.out, static_resistance, basey=10) File "***/pyspice3.11-venv/lib/python3.11/site-packages/matplotlib/axes/_axes.py", line 1958, in semilogy self.set_yscale('log', **d) File "***/pyspice3.11-venv/lib/python3.11/site-packages/matplotlib/axes/_base.py", line 73, in wrapper return get_method(self)(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "***/pyspice3.11-venv/lib/python3.11/site-packages/matplotlib/axis.py", line 837, in _set_axes_scale ax._axis_map[name]._set_scale(value, **kwargs) File "***/pyspice3.11-venv/lib/python3.11/site-packages/matplotlib/axis.py", line 796, in _set_scale self._scale = mscale.scale_factory(value, self, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "***/pyspice3.11-venv/lib/python3.11/site-packages/matplotlib/scale.py", line 717, in scale_factory return scale_cls(axis, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^ TypeError: LogScale.__init__() got an unexpected keyword argument 'basey' --- examples/diode/diode-characteristic-curve.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/examples/diode/diode-characteristic-curve.py b/examples/diode/diode-characteristic-curve.py index 4fba4970..3088e02c 100755 --- a/examples/diode/diode-characteristic-curve.py +++ b/examples/diode/diode-characteristic-curve.py @@ -184,8 +184,8 @@ def two_scales_tick_formatter(value, position): analysis = analyses[25] static_resistance = -analysis.out / analysis.Vinput dynamic_resistance = np.diff(-analysis.out) / np.diff(analysis.Vinput) -ax2.semilogy(analysis.out, static_resistance, basey=10) -ax2.semilogy(analysis.out[10:-1], dynamic_resistance[10:], basey=10) +ax2.semilogy(analysis.out, static_resistance, base=10) +ax2.semilogy(analysis.out[10:-1], dynamic_resistance[10:], base=10) ax2.axvline(x=0, color='black') ax2.axvline(x=silicon_forward_voltage_threshold, color='red') ax2.axhline(y=1, color='red')