| Main | Download | News | Tutorial | Doc & FAQ & pool | Consulting | Ringdove
|
|---|
The following largish features are considered for some time and are blocked because of lack of developer time and funding. If you need any of these features and you can afford spending some money, contact me. Alternatively if 2..5 users could team up to fund a feature so the cost is dispersed.
All features implemented are released as free software.
With prj-rnd you could open the project in sch-rnd and pcb-rnd in parallel and do the rename in a way that it is "cross-probed" and to a certain extent the edit is automatically done on both sides.
(This does not include auto-renumber, just manual renames, plus I can't guarantee this would work in corner cases (like deep in a hierarchic design)).
Thanks to SnakesAndStuff I do have access to an OSX server where I can do the compiling and packaging experiments, but I can't really try installation on the same machine.
(Unlike the others, this task has some risk involved, it might be that I invest many hours in it just to find the result is unusable.)
The idea popped up on geda-user@ more than a decade ago. It's an alternative to back annotation. In a nuthsell: sch-rnd wouldn't send off a hardwired render of the netlist to pcb-rnd, but it would list options. Like if you have quad opamps, the sch drawing would obviously have discrete opamp symbols scattered on the sheet, but they wouldn't be attributed as "name=U1, slot=2" but more like "name is one of U1, U2, U3; slot is one of 1, 2, 3, 4". This info would then be understood by pcb-rnd and _somehow_ the netlist engine would offer ways to swap options (some new GUI in pcb-rnd probably). At the end the back annotation from pcb-rnd to sch-rnd would be only which specific option you picked.
Besides the above classic slotting problem, this could also handle the common case with MCU GPIOs and FPGA pins and custom connector PINS where you are free to pick what you connect where between a group of pins and a group of nets.
It's not becaue some fundamental design is missing (see pool node).
It's because the actual UI (GUI, maybe CLI) is missing. I imagine something like an action that builds a table on what syms/fps you have embedded in the currently open design, what ID/version info it has and what's available from the lib, highlighting options for upgrade. Then one-by-one click for upgrading specific resources or a nice big "upgrade all" button.
Now imagine we have a plugin that uses query() and propset to translate a few very common "rules" fabs typically have on their "capabilities" table. Things like "on an inner layer minumum copper-copper clearance is 0.15mm". You pick the "rules" that have matching fab house published values and the plugin goes and modifies the board for you. This doesn't mean any re-routing, only modifications of trace widths, clearances, etc.
And it's not very smart, it wouldn't handle all situations: you'd still run a DRC afterward and you would still need to do fixes here and there. But at least the bulk of the job is done quicker than if you had to do a lot of advanced searches and propsets manually.