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=G7/XjtpVa6WdvoFU2zUDGZPck0EfKRCafck/eybQC9E=; b=fBnUe9Fcm36Y3ipD7p9xyEdOcpQyprdl/5T4V+HdmN7L46Vl9+YJAVO5cmuPvAk+DJ 6S5TERBOeMdETeEeYZLiG4G50vLnVE0f1B3nAkK8uOZQSFCTwSIC7KR76VJO2KKcuKbe cSumxgSoYXJoectUujfoFethg183w6FZxU0h9iKr3wiDMFbQ+4j//Vpny5g1ypjW9uoe 1koEE6R+w8LXabOvVzj2DsDkEaaKk7+UDm0GiWaVpVibEyiC0Og4NCXht9wA0jpA6ZrL XGRT72rTzJvxFcEowpesnTUUunLreoge5hl/tvV/x8zfF7zRCYCxkdz0oJUe+mGuv6yu WUow== X-Received: by 10.194.179.33 with SMTP id dd1mr2039464wjc.133.1449609730017; Tue, 08 Dec 2015 13:22:10 -0800 (PST) Date: Tue, 8 Dec 2015 22:22:04 +0100 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] gsch2pcb after refdes-renum? (If implemented syncronization detail) Message-Id: <20151208222204.6566ebed300ca2683dd71bc8@gmail.com> In-Reply-To: <201512082019.tB8KJOlP030874@envy.delorie.com> References: <56658683 DOT 401 AT envinsci DOT co DOT uk> <20151207153821 DOT c2ac19e6f24b1776a3595e4a AT gmail DOT com> <20151208091411 DOT c8968b0bedb705765529176c AT gmail DOT com> <201512081819 DOT tB8IJBrt022764 AT envy DOT delorie DOT com> <20151208205451 DOT bb2478f8722e1a885822689d AT gmail DOT com> <201512082019 DOT tB8KJOlP030874 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 > > Changes compare schematic file with pcb file so it is done manually > > and I guess it is fine like this. For idempotent changes applying > > them more than once make no difference. > > What we have now breaks down in a simple case. Consider: we want to > rename U1, U2, and U3 to be U2, U3, and U1 (note the cyclic > dependency). ExecuteScript() would have something like this: > > Rename(U1,U2) > Rename(U2,U3) > Rename(U3,U1) > > There is no "correct" order to do these in, but even if the script is > smart enough to use a temporary name for one of the symbols, or pcb > was smart enough to know old vs new names, running the script twice > would "rotate" the names again. > > Hence, my position that something other than refdes is needed to > identify "this symbol" or "that gate". Tracking the lifetime of a > symbol so you can refer to "the one I used back when" is the trick > part I was asking about. > > If we really want to cleanly support simple operations like "rename a > part" we need to change gaf's dependency on the name identifying "the > part", and start treating the refdes like any other generic attribute. I could put it down like this: 0. There bust be knowledge of link between symbol <--> footprint, even though it is not really a link. Alternative 1 unique number is used to link: 1. They have the same unique number. Alternative 2 refdes is used to link: 1. refdes must be unique. 2. Old and new refdes must be known. 2. Change need to be applied exactly once. Alternative 2 topology is used to link: 1. This type of part connected to these nets. 2. There may be a lot of decoupling capacitors in parallel. If all three where supported I would try them in the order Alternative 1,2,3 until link is found. If i should implement it in gEDA I would probably choose Alternative 2 to keep the file format, this is a little bit special case. To find out if a rename have occured the information is available then the rename happen or by comparing new schematic file with old schematic file. Nicklas Karlsson