> > Thus, you are not the common case, and will not use the magic update
> > button.
> 
> Well, there is no reason the magic update button can't trigger a command
> to produce the netlist and parts-list files, then have PCB read them..

I mentioned that the command to run could be configurable.

> Is the input which PCB reads a netlist + parts list with enough info to
> update the board?
> 
> Or is it an action script which contains specific verbs, such as "place
> component X", "delete component Y"?

It's an action list, but my plan is to add new actions that are more
high-level, like "start element list, here's an element, here's an
element, end list" and let pcb worry about *how* (or even *if*) to do
the add/remove steps.

I see no reason to not *also* add actions like "delete element" or
"place element at X,Y,R" but that would be for power users, not the
90% case.

> I had thought we were leaning towards describing what "should be" on the

Sample action script:

NetClearNetlist()
NetAddConnection(unnamed_net31,R914-2)
NetAddConnection(unnamed_net31,LED905-2)
NetAddConnection(unnamed_net30,R913-2)
NetAddConnection(unnamed_net30,LED904-2)
NetAddConnection(unnamed_net29,R912-2)
NetAddConnection(unnamed_net29,LED903-2)
NetAddConnection(unnamed_net28,R910-2)
NetAddConnection(unnamed_net28,CONN900-1)
NetAddConnection(CLOCK3,R906-2)
. . .
NetAddConnection(unnamed_net2,R907-1)
NetAddConnection(unnamed_net2,U903-2)
NetAddConnection(unnamed_net1,R908-1)
NetAddConnection(unnamed_net1,U903-1)
ElementNoteAddStart()
ElementAddIf(C902,0.1uF,0603dj.fp)
ElementSetAttr(C902,device,CAPACITOR)
ElementSetAttr(C902,manufacturer,Kemet)
ElementSetAttr(C902,manufacturer_part_number,C0603C104K4RACTU)
ElementSetAttr(C902,vendor,digikey)
ElementSetAttr(C902,vendor_part_number,399-1096-1-ND)
ElementAddIf(C901,0.1uF,0603dj.fp)
ElementSetAttr(C901,device,CAPACITOR)
ElementSetAttr(C901,manufacturer,Kemet)
ElementSetAttr(C901,manufacturer_part_number,C0603C104K4RACTU)
ElementSetAttr(C901,vendor,digikey)
ElementSetAttr(C901,vendor_part_number,399-1096-1-ND)
. . .
ElementAddIf(C906,0.1uF,0603dj.fp)
ElementSetAttr(C906,device,CAPACITOR)
ElementSetAttr(C906,manufacturer,Kemet)
ElementSetAttr(C906,manufacturer_part_number,C0603C104K4RACTU)
ElementSetAttr(C906,vendor,digikey)
ElementSetAttr(C906,vendor_part_number,399-1096-1-ND)
ElementNoteAddDone()

When PCB sees the "done" action, it erases any appropriate elements
that weren't mentioned since the "start" action.


_______________________________________________
geda-dev mailing list
geda-dev@moria.seul.org
http://www.seul.org/cgi-bin/mailman/listinfo/geda-dev

Reply via email to