Skip to content

Releases: devbisme/skidl

v2.0.0

28 Nov 03:14
Compare
Choose a tag to compare
  • No longer compatible with Python 2.
  • @package decorator removed.
  • Additional Part attributes can be specified when exporting libraries.
  • Added unexpio dict to Interface objects for accessing I/O without buses expanded into individual nets.
  • Added connect() and __iadd__() methods to interconnect Interface objects.
  • Part libraries are pickled when first loaded for faster access on subsequent accesses.
    The directory for storing the pickled library files is specified in the SKiDL configuration file.
  • The KICAD tool identifier now points to KICAD8.

v1.2.3

22 Nov 11:41
Compare
Choose a tag to compare
  • Fixed SVG generation for Windows OS.
  • Improved export into *_sklib.py files of parts with units.

v1.2.2

23 Nov 16:36
Compare
Choose a tag to compare
  • Added SVG schematic generation feature for KiCad 6, 7, and 8.
  • Added backend tool identifiers of KICAD5, KICAD6, KICAD7, and KICAD8.
  • For compatibility, KICAD tool identifier points to KICAD5.

v1.2.1

23 Nov 16:37
Compare
Choose a tag to compare
  • is_url function fixed to solve problems with search and loading libraries.

v1.2.0

23 Nov 16:37
Compare
Choose a tag to compare
  • Added ability to generate an editable schematic from a Circuit object. (Currently only works for KiCad V5.)
  • Added Group object for creating hierarchy without using function calls.
  • generate_pcb now takes an optional list of footprint library directories.
  • If not explicitly declared, Part objects will load the default footprint from their symbol definition.
  • Added empty_footprint_handler() for parts without footprints that logs errors by default but can be overriden by the user.
  • Symbol libraries can now be searched on remote repositories by placing the URL in the lib_search_paths dictionary.
    KiCad V6 symbols are found at https://gitlab.com/kicad/libraries/kicad-symbols/-/raw/master
    and V5 symbols are at https://raw.githubusercontent.com/KiCad/kicad-symbols/master/.
  • Part pins can now be sorted and retrieved in order using the ordered_pins property.

v1.1.0

23 Nov 16:53
Compare
Choose a tag to compare
  • Added generate_pcb() function to create a PCB file directly from
    a Circuit object. (Currently only works for KiCad.)
  • Added PartTmplt shortcut which creates a Part template using dest=TEMPLATE implicitly.

v1.0.0

23 Nov 16:54
Compare
Choose a tag to compare
  • Buses can now be created without names and a name will be
    automatically assigned. Or use "name=..." to manually assign a name.
    Or just place a string in the list of arguments and that will be used.
  • Footprint search can now process directories of footprints without the
    need for an fp-lib-table file.
  • Part fields can now be accessed using attributes.
  • Creating fields requires use of Part.fields[key] instead of Part.key.
  • Added context manager for Circuit object so Parts/Nets can be joined
    using a with... statement.
  • Adding/removing Parts to/from a Circuit can now be done using += and -=.
  • Tags can be added to Parts and Circuits for hierarchical naming.
  • Part values can now be assigned arbitrary objects including units from either PySpice or Pint.
  • Multi-function pin names can now be split into a collection of shorter aliases,
    thus reducing the need to access pins using regexes.
  • Schematics can now be automatically using the KiCad symbol graphics for the parts.
  • The library interface now handles the Skywater 130 SPICE libraries.

v0.0.30

23 Nov 16:55
Compare
Choose a tag to compare
  • Added @Package decorator to make subcircuits act like Parts.
  • Interfaces now act like dictionaries so the ** operator works as expected.
  • Interface I/O can now be accessed using brackets ([]) and via attributes (e.g., intfc.a).
  • Interface I/O can now be assigned aliases.
  • Added tee() function for creating T-junctions in networks.
  • Custom ERCs can now be added using the erc_assert function.
  • Aliases take precedence over default pin names.
  • Substring matching in pin names can be enabled/disabled (off by default).

v0.0.29

23 Nov 16:56
Compare
Choose a tag to compare
  • Added XSPICE parts capability to SPICE simulations.
  • Unconnected XSPICE ports now are set to NULL in SPICE node lists.
  • Added no_files() function to disable output to files of netlists, ERCs, logs, backup libs.

v0.0.28

23 Nov 16:56
Compare
Choose a tag to compare
  • The zyc utility was split into a separate repository and placed on PyPi.
  • Fixed slicing of grouped part pins so things like ram['A[1]'] won't grab A1, A10, A11, etc.