You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
<p><strong>Disclaimer: PySpice is developed on my free time actually, so I could be busy with other tasks and less reactive.</strong></p>
635
634
<p>The free Discourse forum was closed some time ago due to a lack of activity.
636
635
A HTML backup is stored in the directory <cite>pyspice-discourse-backup</cite>.</p>
637
-
<p><strong>On HEAD</strong>
638
-
* fixed the ngspice library loading for recent cffi
639
-
* fixed simulation aborting due to a message from newer ngspice
640
-
* fixes for Spice parser
641
-
* added support for Pint unit library
642
-
* implemented SpiceLibrary
643
-
* code cleanup but must check for typo...</p>
636
+
<p><strong>On Devel HEAD</strong></p>
637
+
<ulclass="simple">
638
+
<li><p>fixed the ngspice library loading for recent cffi</p></li>
639
+
<li><p>fixed simulation aborting due to a message from newer ngspice</p></li>
640
+
<li><p>fixes for Spice parser</p></li>
641
+
<li><p>added support for Pint unit library</p></li>
642
+
<li><p>implemented SpiceLibrary</p></li>
643
+
<li><p>code cleanup but must check for typo...</p></li>
644
+
</ul>
644
645
<!-- Brief Notes
645
646
=========== -->
646
647
<p>An issue was found with NgSpice Shared, we must <cite>setlocale(LC_NUMERIC, "C");</cite> see <aclass="reference external" href="https://sourceforge.net/p/ngspice/bugs/490/">https://sourceforge.net/p/ngspice/bugs/490/</a></p>
</span><spanclass="comment single"># create a simulation, it corresponds to the Spice code part with lines starting with ".something ..."</span><spanclass="whitespace">
725
-
</span><spanclass="name">simulation</span><spanclass="operator">=</span><spanclass="name">simulator</span><spanclass="operator">.</span><spanclass="name">simulation</span><spanclass="punctuation">(</span><spanclass="name">circuit</span><spanclass="punctuation">,</span><spanclass="name">temperature</span><spanclass="operator">=</span><spanclass="literal number integer">25</span><spanclass="punctuation">,</span><spanclass="name">nominal_temperature</span><spanclass="operator">=</span><spanclass="literal number integer">25</span><spanclass="punctuation">)</span><spanclass="whitespace">
726
-
</span><spanclass="comment single"># define an analysis and run it</span><spanclass="whitespace">
727
-
</span><spanclass="name">analysis</span><spanclass="operator">=</span><spanclass="name">simulation</span><spanclass="operator">.</span><spanclass="name">transient</span><spanclass="punctuation">(</span><spanclass="name">step_time</span><spanclass="operator">=</span><spanclass="name">ac_line</span><spanclass="operator">.</span><spanclass="name">period</span><spanclass="operator">/</span><spanclass="literal number integer">200</span><spanclass="punctuation">,</span><spanclass="name">end_time</span><spanclass="operator">=</span><spanclass="name">ac_line</span><spanclass="operator">.</span><spanclass="name">period</span><spanclass="operator">*</span><spanclass="literal number integer">50</span><spanclass="punctuation">,</span><spanclass="name">log_desk</span><spanclass="operator">=</span><spanclass="keyword constant">True</span><spanclass="punctuation">)</span><spanclass="whitespace">
728
-
</span><spanclass="comment single"># analysis is now Pickable</span></code></pre>
729
-
</li>
730
-
<li><p>Simulation output is now Pickable</p></li>
731
-
<li><p>The <strong>Spice parser</strong> was rewritten from scratch using the <aclass="reference external" href="https://www.dabeaz.com/ply">PLY</a>
732
-
library, which is an implementation of lex and yacc parsing tools for Python. The LALR parser
733
-
generates an AST from a BNF grammar written from scratch using the Ngspice manual. Up to now, it
734
-
only requires a hack to handle the grammar, cf. XSpice vector syntax <code>[1 -1 -2]</code> which
735
-
interfere with mathematical expression. PySpice is now able to parse completely and properly all
736
-
the examples from the Ngspice manual. However, the processing of the AST does actually the bare
737
-
minimum.</p></li>
702
+
<ulclass="simple">
738
703
<li><p><strong>KiCadTools</strong> a proof of concept module to read KiCad 6
739
704
<cite>.kicad_sch</cite> schema file and compute the netlist. <em>This module can
740
-
be used to perform any kind of processing on a KiCad schema. It is
705
+
be used to perform any kind of processings on a KiCad schema. It is
741
706
actually hosted in the source but could become a standalone
742
707
project.</em> For PySpice, it provides a very flexible way to draft a
743
708
circuit with the help of KiCad and then generate the netlist without
744
709
using the netlist export feature of KiCad. And thus leverage the
745
-
writing of fastidious circuit.</p></li>
746
-
<li><p>The most common PySpice parts can be imported from <code>from PySpice import ...</code></p></li>
0 commit comments