dvc94ch / pycircuit Goto Github PK
View Code? Open in Web Editor NEWUse python for designing circuits (experimental) (deprecated in favor of https://electron-lang.org)
Home Page: https://electron-lang.org
Use python for designing circuits (experimental) (deprecated in favor of https://electron-lang.org)
Home Page: https://electron-lang.org
I just came across Netlistsvg which uses Klayjs for rendering Yosys netlists as schematics. Looks like Elkjs is supposed to replace Klayjs. It's a JS port of the Eclipse Layout Kernel. I haven't found any Python implementations yet.
place
file formatOther things to investigate are where and how trace widths etc. should be specified. They currently default to the minimum allowed values from the pcb's TraceDesignRules.
Arbitrary outlines are mostly supported. The only missing part is a function that takes a shapely polygon and a radius and returns a new shapely polygon with rounded corners.
Save hashes of intermediate files, only rerun placement/routing when hash changes
Hey, I just had my first go at trying to run this. I am assuming it is for python3 as I get SyntaxError
s with python2. So I have done:
virtualenv venv3 -p/usr/bin/python3 && source venv3/bin/activate
pip install .
When I run the examples from the readme it gives:
Traceback (most recent call last):
File "examples/device.py", line 6, in <module>
Pin('XTAL_XI', Fun('XTAL', 'XI')),
File "/home/kaspar/projects/pycircuit/venv3/lib/python3.5/site-packages/pycircuit/device.py", line 35, in __init__
self.bus = Bus.bus_by_type(bus_or_name)
File "/home/kaspar/projects/pycircuit/venv3/lib/python3.5/site-packages/pycircuit/device.py", line 124, in bus_by_type
raise IndexError('No Bus with type ' + type)
IndexError: No Bus with type XTAL
Traceback (most recent call last):
File "examples/footprints.py", line 19, in <module>
Map(17, 'GND'))
File "/home/kaspar/projects/pycircuit/venv3/lib/python3.5/site-packages/pycircuit/footprint.py", line 36, in __init__
self.device = Device.device_by_name(device)
File "/home/kaspar/projects/pycircuit/venv3/lib/python3.5/site-packages/pycircuit/device.py", line 343, in device_by_name
raise IndexError('No Device with name ' + name)
IndexError: No Device with name MCU
Traceback (most recent call last):
File "assign.py", line 3, in <module>
circuit = top()
NameError: name 'top' is not defined
And I haven run the remaining ones because they seem to require circuit
.
Depends on #21
Probably best to do this in steps
Intern qeda generated skin, use interned skin
Use electrogrammar to search the qeda component library for matches
Generate the skin, remove interned skin from git
Add missing symbols to qeda
Import Package from qeda - remove all package definitions
Import Devices from qeda - remove all device definitions
Import Components from qeda - remove all component definitions
See qeda branch for progress
Hello @dvc94ch
I am trying to build this pycircuit the setup installs the pycircuit fine with this command.
pip3 install pycircuit
or python3 setup.py install
Am i doing it right can you please help me with how i can install and build and run any example.
I have also tried the electron-lang project but unable to follow any documentation there.
Please let me know.
Regards
Hitesh
Inspired by netlistsvg, a json representation of a pcb should be rendered in svg. Packages should compile to an svg skin file.
Ideally for #2 it is written in JS.
Check pcb with TraceDesignRules and OutlineDesignRules.
In the spirit of pycircuit, making it easier to hack on / modify / replicate electronics some existing projects could be ported. In particular I'd be interested in porting parts of olimex's diy-laptop [0].
[0] https://github.com/OLIMEX/DIY-LAPTOP/tree/master/HARDWARE/A64-TERES
seems annoying. travis ci is missing the python-z3 package that was added in ubuntu-xenial [0] interesting features for guix in the pipeline that might lessen the pain [1]
[0] https://packages.ubuntu.com/search?keywords=python-z3
[1] https://lists.gnu.org/archive/html/guix-devel/2017-11/msg00152.html
Current definition using the python dsl is annoying. Define a hdl inspired language and parse it into our current datastructure.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.