Python EDA tools (initially gEDA)
python build.py my_output_dir_symbols my_output_dir_footprints
Where,
- my_output_dir_symbols is in the geda gafrc file
- my_output_dir_footprints is in the geda pcb .prj file
- footprints/fp/ - for manually crafted *.fp files
- footprints/gen/ - for mk_*.py generators (used to auto generate *.fp files)
- symbols/sym/ - for manually crafted *.sym files
- symbols/tsv/ - for *.tsv files (used to auto generate *.sym files)
- fp gen - Support for arrays of pins/pads - should be able to do a whole row in one function call
- fp gen - REFDES text and better positioning of REFDES text - better footprint metadata
- fp gen - Support for two-way and four-way symmetrical arrays of pins and pads
- use a footprint family generator such as: mk_QFN-N.py, mk_WFDFN-N.py, mk_SOIC-N.py, mk_SSOP-N.py, mk_TSSOP-N.py, mk_HTSSOP-N.py, mk_WSOP-N.py, mk_BGA-N.py, mk_uSIP-N.py, mk_CONN*.py, mk_RADIAL*.py, mk_pe*.py, mk_holes.py
- Naming standard for family generators - perhaps postfix with "-N"
- w/x vs l/h/y definition/clarification - perhaps vertical/horizontal or stick with x/y standard coordinated frame: x = left/right, y = up/down
- Merge mk_peSOT23_GSD.py and mk_SOT23_3.py
- .sym generator (replacing .tsv) - particular for families
- .sym to match manufacturer part number - likely the high level .sym generator should produce all names in the family
- Check hole sizes - seems tight
- Produce ruler for checking footprints
- Add comment to link datasheet (to clarify dimensions)
- More standardization:
- uppercase vs lowercase
-
- vs _
- should / characters be replaced with -
- Should connectors show the minimal outline and maximum outline (e.g. plug) - or perhaps two different footprints depending on size objectives
- Enforce 80 char line limit?
- Increase pin clearance suitable for pcbway design rules
- Ensure CONN prefix for all connectors - e.g. usb
- Ensure footprints pads are larger then part pads
- Ensure sch part pin spacing is 500
- Ensure CONN 0,0 is at pin 1
- Prefix SMT CAPs with CAP-SMT
- Remove old radials scripts and use mk_RADIAL.py only
- Cleanup usb sym's - pin number depends on USB version and connector type.
- ensure bom created can handle part names with ,