X-Authentication-Warning: delorie.com: mail set sender to geda-user-bounces using -f X-Recipient: geda-user AT delorie DOT com X-Mailer: exmh version 2.8.0 04/21/2012 with nmh-1.7+dev X-Exmh-Isig-CompType: repl X-Exmh-Isig-Folder: inbox From: "karl AT aspodata DOT se [via geda-user AT delorie DOT com]" To: geda-user AT delorie DOT com Subject: Re: [geda-user] net rules In-reply-to: References: <20221218205934 DOT F3A2F85E2912 AT turkos DOT aspodata DOT se> <20221219014740 DOT 18DEF85E2912 AT turkos DOT aspodata DOT se> Comments: In-reply-to Roland Lutz message dated "Mon, 19 Dec 2022 12:30:08 +0100." Mime-Version: 1.0 Content-Type: text/plain Message-Id: <20221219151934.5CA3D8246967@turkos.aspodata.se> Date: Mon, 19 Dec 2022 16:19:34 +0100 (CET) X-Virus-Scanned: ClamAV using ClamSMTP 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 Roland: > On Mon, 19 Dec 2022, karl AT aspodata DOT se [via geda-user AT delorie DOT com] wrote: > > wiki.geda-project.org/geda:gschem_ug:pins_nets_buses > > > > says otherwise: > > > > Nets are made up of straight net segments, and net connections are > > formed either where two net segment ends meet, or where a net > > segment end meets a net segment midpoint. > > Then the documentation is incorrect. :-/ Yes, how about: Nets are made up of: a, net segments (N lines in the sch file) joined at their endpoints b, any net segment with a endpoint on a horizontal or vertical net segment c, any net segment with identical netname attribute d, any net segment with an endpoint at the active end of a pin (of a symbol) where the pin has a net name assigned to it by a net attribute in the symbol e, ?? what about pin:xxx when there is no corresponding pin is something like that correct ? When a third party trying to write software to extract nets, point b leeds unnecessesary code and computations, which could easily be avoided if gschem/lepton saved point b cases as split net segments. That is why I consider b a bad feature, and I would like it to be removed. > > It just sounds like an undocumented, illogical and unnecessary feature. > Unfortunately, it's a feature existing schematics may rely on. Yes, I know. > Imagine > someone connecting some parts of a schematic under time pressure and just > drawing a diagonal net across the page. If a connection happens to fall > exactly on this net, changing gnetlist behavior would mean an incorrect > netlist is generated for this schematic. (I'm not saying connecting > things this way is good practice, just people may conceivably do it.) Uhh? If you do a mistake you do a mistake. > > Just as two N's be merged to one if they can be, > > a single N could easily be split in two when a new > > connection is made ? > > > > I suggest that nets are only made via the net endpoints. > > There is something to be said in favor of this, and I wouldn't be opposed > to changing gschem behavior so it splits slanted nets when trying to > connect to them. Well, if gschem/lepton starts doing that when the user is drawing, old files would still work. And saving files with that would still work on older versions of the program. So there would be no compatibility problem. > I had the impression slanted nets are a rare exception, > though. Do you use them on a regular basis? Sometimes useful, tend to save space in some cases. See e.g. http://aspodata.se/electronic/sd_esd_and_conn.sch.pdf http://aspodata.se/electronic/smarc_iMX8MM_serial_5V.sch.pdf (made from: http://aspodata.se/git/openhw/share/gschem/_sub_page/sd_esd_and_conn.sch http://aspodata.se/git/openhw/share/gschem/_design_parts/smarc_iMX8MM_serial_5V.sch) Regardless, one should be able to write programs reading any syntatically correct sch/sym file without great problems, the file syntax and semantics should be well defined. Regards, /Karl Hammar