Releases: devbisme/skidl
Releases · devbisme/skidl
v2.0.0
- No longer compatible with Python 2.
@package
decorator removed.- Additional
Part
attributes can be specified when exporting libraries. - Added
unexpio
dict toInterface
objects for accessing I/O without buses expanded into individual nets. - Added connect() and
__iadd__()
methods to interconnectInterface
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 toKICAD8
.
v1.2.3
v1.2.2
v1.2.1
v1.2.0
- 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 athttps://gitlab.com/kicad/libraries/kicad-symbols/-/raw/master
and V5 symbols are athttps://raw.githubusercontent.com/KiCad/kicad-symbols/master/
. Part
pins can now be sorted and retrieved in order using theordered_pins
property.
v1.1.0
v1.0.0
- 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 anfp-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 awith...
statement. - Adding/removing
Parts
to/from aCircuit
can now be done using+=
and-=
. - Tags can be added to
Parts
andCircuits
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
- 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).