X-Authentication-Warning: delorie.com: mail set sender to geda-user-bounces using -f X-Recipient: geda-user AT delorie DOT com X-Original-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=date:from:to:subject:message-id:in-reply-to:references:mime-version :content-type:content-transfer-encoding; bh=MYZckSLb/IeTn0LZyavw94CGpTxmu09/wsbNJDOiIaM=; b=CFjORxISWgqp8LZ8ZhuClBReMRBgQcSRskNnpnhWCawnGmsyaui8tMC0GA36fMFeaP gICeF187gmPlkV6hzhUSD7LCwUDMEG3eQwWTnm2KB5Bexk7UtMf2cdw746m0/xJgwMMu H5liwbYVvA5KYATFwo6+0TvIrgOr+QXodyuegchhxdMDhnYo6tEp62bpIdY05YVXpSwf WlfxUwaIeo2wnlYhnDO0QlaYgonEIQSLWX4g0Ign8X9cnNaSBc5PDl5meEQOGD4ClxgI RKEAqqC9jvkreaj8yISIPbt/+bgvkYiWHyMcQeKi742lNaedSL1z8M5ondrK9FwAUrGL HrwA== X-Received: by 10.180.218.99 with SMTP id pf3mr8953039wic.80.1441012568911; Mon, 31 Aug 2015 02:16:08 -0700 (PDT) Date: Mon, 31 Aug 2015 11:16:04 +0200 From: "Nicklas Karlsson (nicklas DOT karlsson17 AT gmail DOT com) [via geda-user AT delorie DOT com]" To: geda-user AT delorie DOT com Subject: Re: [geda-user] back annotation proposal (RFC) Message-Id: <20150831111604.5b1bb421bc015de9a848e8a9@gmail.com> In-Reply-To: <201508310341.t7V3fcfh022966@envy.delorie.com> References: <201508301802 DOT t7UI2twS031311 AT envy DOT delorie DOT com> <201508310341 DOT t7V3fcfh022966 AT envy DOT delorie DOT com> X-Mailer: Sylpheed 3.5.0beta1 (GTK+ 2.24.25; x86_64-pc-linux-gnu) Mime-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit Reply-To: geda-user AT delorie DOT com Errors-To: nobody AT delorie DOT com X-Mailing-List: geda-user AT delorie DOT com X-Unsubscribes-To: listserv AT delorie DOT com Precedence: bulk I do not get everything but for pin and gate swapping ideally there should be no need for back annotation. If starting from beginning it might had make sense to put footprint selection in a separate file and in such case back annotation had been simple by reloading the file but it would not work for Refdes. As is know there is a need to updated the *.sch footprint attribute with the new value this could be done by an external program/script or by pcb. If it would be possible agree about the need to update the *.sch file the discussion could be moved to from where this should done best. The major problem is there might be unsaved changes in gschem if it is running so it will not work tu just change the *.sch file. I guess one solution had been if it had been possible to make function call via some kind of communication mechanism from pcb setRefdes(...), setFoootPrint(...) and if this function had been possible to call regardless if gschem where running or not. On Sun, 30 Aug 2015 23:41:38 -0400 DJ Delorie wrote: > > > That makes a lot of sense for the netlist but what if you change a > > footprint? I think there should be another tool that you run in > > parallel to gnetlist to handle that. > > I assume a much more intelligent netlister. > > The netlister maps what it knows about each symbol to a list of > candidate options for "heavifiing" the symbol into a full component. > One of these options is the package, and once you somehow choose a > package, there's one or more footprints that go with it. > > Part of my idea is that pcb takes all the choices it knows about and > gives them to the netlister, so that the netlister can use that to > narrow down the options it's left with after dealing with the > constraints in the symbol. > > I.e. if you have a generic AND gate symbol, there's lot of options for > the netlister. But if this is a future iteration, pcb might already > know that you picked a 74ALS00 in a SDIP-14 package with the SDIP14M > footprint. It can tell the netlister this when it does an > update-import. It can also tell the netlister what pin mappings were > used. > > If the information in pcb is no longer valid for the device (i.e. you > changed a 2-in AND to a 3-in AND), then the netlister would discard > pcb's choices and start fresh. > > So, there's a lot of back-annotation information being sent from pcb > to the netlister, which lets you do package, gate, and pin swapping in > pcb, but none of it ends up back in gschem unless you do something > specific to make that happen.