I'm in favor of power connects as labels because, well, that's what they are! Remember that power components and global labels behave identically. IMO keeping this consistency is very, very good from a user interface perspective - components in general don't make connections to remote places, that's what labels are _for_. The idea of a special type of component that behaves like a label really does not sit right with me.
It's also a quicker, more direct way to place a power port; there's no need for the separate edit step. Editing the value is a compromise I wouldn't be too upset about accepting, though I still think my way is better ;) On Mon, Aug 01, 2016 at 01:42:05PM -0400, Wayne Stambaugh wrote: > How is this different or better than being able to edit a power > component value? I know we cannot do this right now but I see no reason > that it couldn't be done once the new file format is in place and power > components are defined by component type rather than naming semantics. > > On 7/31/2016 5:09 PM, Chris Pavlina wrote: > > Power labels replace power components. Here are a couple screenshots > > from my feature branch that I dug up - still haven't actually got it > > building again, it had a few issues, but the screenshots should explain. > > Bear in mind they're all at different levels of development, so I don't > > necessarily mean things should be *exactly* like this. > > > > https://misc.c4757p.com/power.png > > https://misc.c4757p.com/powereditor.png > > > > I implemented them as a subclass of global labels, with a modfied draw > > method that would render a library part instead of a text label. I then > > embedded a library of standard power symbol styles so the user could > > simply select one, and added a property to the labels to record their > > style. Future plans included the ability to use user-supplied styles, > > edited by the library editor. > > > > It's not immediately obvious from the screenshots, but the UI had > > heuristics to pick a sensible style based on the net name you typed, so > > power labels could be placed very quickly by pressing the hotkey (I just > > repurposed P), typing the power net name and hitting enter. > > > > Allowing user-supplied styles would allow backwards compatibility with > > old schematics: old-style power components in those schematics could be > > simply converted to power labels using that component as the style; no > > visual or logical difference would occur. > > > > On Sun, Jul 31, 2016 at 04:59:53PM -0400, Wayne Stambaugh wrote: > >> On 7/31/2016 4:45 PM, Wayne Stambaugh wrote: > >>> On 7/31/2016 3:59 PM, Chris Pavlina wrote: > >>>> On Sun, Jul 31, 2016 at 03:25:11PM -0400, Wayne Stambaugh wrote: > >>>>> On 7/30/2016 9:22 PM, Chris Pavlina wrote: > >>>>>> Hi, > >>>>>> > >>>>>> I was reading through the new sch/lib format documents posted back in > >>>>>> February: https://lists.launchpad.net/kicad-developers/msg23302.html > >>>>>> > >>>>>> Since work is underway to facilitate adding this now, I figured it was > >>>>>> a > >>>>>> decent time to bring up a few concerns and suggestions I have. Bear in > >>>>>> mind I'm working off a pretty old version of the document here - if > >>>>>> it's > >>>>>> been updated and some of this has changed, feel free to point me to a > >>>>>> more recent version; I couldn't find one. > >>>>> > >>>>> I don't believe I've changed it since the last time I published it on > >>>>> the mailing list. > >>>>> > >>>>>> > >>>>>> - I think we should work to reduce redundancies in the format. They > >>>>>> just > >>>>>> confuse things and introduce parsing complexities (what happens when > >>>>>> A implies B, both are written to the file, and they don't agree with > >>>>>> each other?). Examples: > >>>>>> > >>>>>> - Why both 'polyline' and 'line'? Surely eeschema isn't going to get > >>>>>> tired of writing 'poly' and decide to start abbreviating it? Can't > >>>>>> we remove one? > >>>>> > >>>>> Agreed. 'lines' could be one or more lines that may or may not form a > >>>>> polygon. > >>>>> > >>>>>> > >>>>>> - Arcs have redundant information, we only need either (radius, start > >>>>>> angle, end angle, center), or (start point, end point, center). I > >>>>>> suggest sticking to the former and dropping the start/end points. > >>>>> > >>>>> We currently save all of this information in the for an arc. I'm not > >>>>> sure why. I'm fine with this proposal. One advantage to using the end > >>>>> points rather than the angles is round errors to ensure completely > >>>>> enclosed drawings but I don't know if that is an issue or not. > >>>> > >>>> Very good point about the start/end points. eeschema doesn't currently > >>>> support that - it can't fill enclosed regions that are enclosed by > >>>> multiple graphical objects - but this would ensure it could in the > >>>> future with minimal changes. Okay - I'm for using start/end instead of > >>>> angles, then. I'd still like to get rid of the redundant info, though. > >>>> > >>>>> > >>>>>> > >>>>>> - Can we consider adding power ports as a type of label rather than > >>>>>> component, so we don't have to maintain libraries of every possible > >>>>>> rail name anymore? I'd happily contribute to the implementation - I > >>>>>> have an old feature branch where I did exactly that, it worked really > >>>>>> well :) > >>>>> > >>>>> I thought that was in there already. Maybe I missed it. There will be > >>>>> a symbol type token. We have to support normal, power, virtual (show up > >>>>> in BOM but not netlist, could have a better name not-in-netlist?), and > >>>>> not-in-bom? (for net ties at a minimum, maybe net-tie would be a better > >>>>> name but it could be used for other not in BOM objects that we have yet > >>>>> thought of). > >>>> > >>>> Hm, I don't see it if it's there. I'm not entirely sure what I'm > >>>> imagining you describing, here. Anyway, I think I'll drop this briefly, > >>>> and then later resurrect that feature branch I had and start some > >>>> discussion. I had quite a bit there, including UI work, that was quite > >>>> slick IMO. :) > >> > >> Sorry. I misread your suggestion although we do need additional symbol > >> types. I'm not sure how power labels versus power components would > >> work. I would need more information on how they would behave. Do they > >> replace power symbols or complement them? > >> > >>>> > >>>>> > >>>>>> > >>>>>> - There's a vague comment that fonts aren't supported yet but may be in > >>>>>> the future. We should specify *now* how upcoming pre-font versions of > >>>>>> kicad should handle future files that have been saved using fonts, > >>>>>> and > >>>>>> make sure they actually can. > >>>>> > >>>>> Yep, that code will need to be tested. The EDA_FONT object already can > >>>>> format itself to s-expr it just hasn't been tested yet. Now that > >>>>> freetype is a dependency, I'm hoping we can do some more interesting > >>>>> things with fonts in PCBs. In schematics, custom fonts are less > >>>>> problematic other than the age old issue of font availability. > >>>> > >>>> Nice. And while I see where you're coming from (and agree) about custom > >>>> fonts being less useful in schematics, I think if we did implement that, > >>>> it would prove very popular. One BIG benefit would be the ability to > >>>> properly support arbitrary Unicode characters. > >>>> > >>>>> > >>>>>> > >>>>>> - It looks like the new format may allow an arbitrary number of > >>>>>> "alternates", not just the one "De Morgan equivalent" that we allow > >>>>>> now. Is this true? I'd love that. > >>>>> > >>>>> Yes, don't see any reason that there is only a single alternate body > >>>>> style. It will require changes to the component editor. > >>>> > >>>> Yup. I'd like to see the component editor changed anyway, ideally by > >>>> nuking from orbit >:D > >>> > >>> Michele is working on a tree view paradigm for the component editor so > >>> that work is already underway. I think we see some significant > >>> improvements in that area soon. I need to get the file format stuff > >>> done first. The tools to edit the new features can happen later. > >>> > >>>> > >>>>> > >>>>>> > >>>>>> - Can we ditch 'keywords'? It's not useful anymore, the new component > >>>>>> search doesn't use it and does a fine job of sifting through tokens > >>>>>> in > >>>>>> descriptions. > >>>>> > >>>>> We may not want to throw them out. They could be useful for third party > >>>>> tools. I'm thinking tags here which is probably a better token than > >>>>> keywords. I'm not dismissing this idea but I have a feeling that they > >>>>> could prove useful. > >>>> > >>>> Fair enough. > >>>> > >>>>> > >>>>>> > >>>>>> - "Are there any other per net hints besides net classes?" - we should > >>>>>> allow them! They're just hints - allow the format to have arbitrary > >>>>>> ones that will just be ignored by a pcbnew that doesn't understand > >>>>>> them. > >>>>> > >>>>> They are called properties in the board file format and they can be > >>>>> define in any object. I plan on using that same paradigm in the new > >>>>> schematic file format. Properties are for third party tools which kicad > >>>>> knows nor cares anything about. AFAIK there is no limit to their use or > >>>>> definition and they are simple key/value pairs. > >>>>> > >>>>>> > >>>>>> - Can we add controllable line _color_ as well as style? And also for > >>>>>> wires? (people making wiring diagrams will like that.) > >>>>> > >>>>> I don't see any reason not to add an optional color expression to all > >>>>> objects where it makes sense. Of course the code will need to be added > >>>>> to the objects (EDA_ITEM?) themselves and fall back to the defaults when > >>>>> no color is defined. > >>>>> > >>>>>> > >>>>>> - BUG: bus_entry is missing an angle specifier - it's possible to > >>>>>> rotate/flip them. > >>>>> > >>>>> Good catch. > >>>>> > >>>>>> > >>>>> > >>>>> A few more that didn't make it into the latest spec but I'm planning on > >>>>> implementing: > >>>>> > >>>>> * Embedded components with an option to link. Initially linking will > >>>>> only support internal linking but eventually it will grow to support > >>>>> other external linking such as file, ftp, http, etc. The link format > >>>>> will be a uri. For internally linked components the format will look > >>>>> something like sch:\\SCH_NAME\COMPONENT_NAME. > >>>> > >>>> I'm not sure how I feel about this. I like the idea, but I'm not sure > >>>> how this would work from the user's perspective. I can't really think of > >>>> something that wouldn't be a big pain. > >>> > >>> Are you talking about the embedding or the linking? If it's the > >>> linking, the default would be embedded. The linking would be optional. > >>> Linking to external object is a valid method. It's what we do now only > >>> it's limited to the currently defined symbol libraries. There are users > >>> (few but they exist) who like to have their schematics (and footprints > >>> in boards for that matter) track changes they make to symbols. The > >>> beauty of the making links optional is the responsibility for breaking a > >>> design falls on the user not on KiCad. Most users wont use links but if > >>> we don't allow them, you can be rest assured someone will complain. I'm > >>> willing to forego the linking (it would make life easier) if no one > >>> finds it useful. Do other EDA packages allow linking? > >>> > >>>> > >>>>> > >>>>> * I am considering forgoing the unitless idea at least in the first > >>>>> pass. As much as I like the idea, the task of implementing it would be > >>>>> monumental and I just don't want to change that much of the Eeschema > >>>>> internals in one shot. I'm already having to make way more changes than > >>>>> I'm comfortable with to support the new I/O plugin. > >>>> > >>>> YES. I'm 100% for dropping unitless. It's already caused some headaches > >>>> with people wanting to conform to standards that require things in > >>>> certain units. What I would like to see, though, is eeschema no longer > >>>> depending on specifically imperial units - I get that the libraries > >>>> would be designed around one unit system or the other, but I'd like the > >>>> option to make a custom set of libraries in metric, for instance. > >>> > >>> I'm not 100% sure I want to tackle user defined units in files. I see > >>> too much opportunity for floating point rounding issues between files > >>> defined with different units. I understand the appeal but my gut tells > >>> me it's implementation is fraught with peril. I am more in favor of an > >>> internal base unit and convert to user units on the fly like Pcbnew. It > >>> may be something we can discuss in version 2 but we already a long list > >>> of new features to implement. > >>> > >>>> > >>>>> > >>>>> > >>>>> _______________________________________________ > >>>>> Mailing list: https://launchpad.net/~kicad-developers > >>>>> Post to : kicad-developers@lists.launchpad.net > >>>>> Unsubscribe : https://launchpad.net/~kicad-developers > >>>>> More help : https://help.launchpad.net/ListHelp > >>> > >> _______________________________________________ Mailing list: https://launchpad.net/~kicad-developers Post to : kicad-developers@lists.launchpad.net Unsubscribe : https://launchpad.net/~kicad-developers More help : https://help.launchpad.net/ListHelp