kicad-developers team mailing list archive
-
kicad-developers team
-
Mailing list archive
-
Message #29017
Re: [PATCH] Refactor LAYER_ID to be the one and only layer definition
Hey Jon,
I finally found some time to test and review this patch and it seems to
work just fine. My main concern is placing the schematic, gerber
viewer, and board layer IDs and their associated functions, operators,
and classes into a single file which may make creating separate board
and schematic shared objects more difficult. I suppose we could put
them in libcommon but they really aren't common to all of kicad. This
was one of the reasons the enum inheritance looked interesting to me.
I'm OK with merging this as long as I have your word that if we run into
issues when creating the schematic shared object that you will take
responsibility to fix the code accordingly.
Thanks,
Wayne
On 3/28/2017 12:39 PM, Jon Evans wrote:
> Hi Wayne,
>
> Sorry about this, I did not do the rebase correctly and was not set up
> to test the build at the time. A new patch is attached. Unfortunately
> I cannot test on Windows right now but it does build and run on Linux.
>
> Thanks,
> Jon
>
> On Tue, Mar 28, 2017 at 10:43 AM, Wayne Stambaugh <stambaughw@xxxxxxxxx
> <mailto:stambaughw@xxxxxxxxx>> wrote:
>
> Hey Jon,
>
> I'm getting the following build error (there may be more but this is
> where my build stopped):
>
> C:/msys64/home/wstambaugh/src/kicad-trunk/pcbnew/router/router_tool.cpp:
> In member function 'int ROUTER_TOOL::onViaCommand(const TOOL_EVENT&)':
> C:/msys64/home/wstambaugh/src/kicad-trunk/pcbnew/router/router_tool.cpp:501:5:
> error: 'LAYER_ID' was not declared in this scope
> LAYER_ID targetLayer = UNDEFINED_LAYER;
> ^~~~~~~~
> C:/msys64/home/wstambaugh/src/kicad-trunk/pcbnew/router/router_tool.cpp:507:9:
> error: 'targetLayer' was not declared in this scope
> targetLayer = m_frame->SelectLayer( static_cast<LAYER_ID>(
> currentLayer ),
> ^~~~~~~~~~~
> C:/msys64/home/wstambaugh/src/kicad-trunk/pcbnew/router/router_tool.cpp:507:57:
> error: 'LAYER_ID' does not name a type
> targetLayer = m_frame->SelectLayer( static_cast<LAYER_ID>(
> currentLayer ),
> ^~~~~~~~
> C:/msys64/home/wstambaugh/src/kicad-trunk/pcbnew/router/router_tool.cpp:559:13:
> error: 'targetLayer' was not declared in this scope
> if( targetLayer != UNDEFINED_LAYER )
> ^~~~~~~~~~~
> C:/msys64/home/wstambaugh/src/kicad-trunk/pcbnew/router/router_tool.cpp:597:13:
> error: 'targetLayer' was not declared in this scope
> if( targetLayer != UNDEFINED_LAYER )
> ^~~~~~~~~~~
> make[2]: *** [pcbnew/router/CMakeFiles/pnsrouter.dir/build.make:783:
> pcbnew/router/CMakeFiles/pnsrouter.dir/router_tool.cpp.obj] Error 1
> make[1]: *** [CMakeFiles/Makefile2:1598:
> pcbnew/router/CMakeFiles/pnsrouter.dir/all] Error 2
> make[1]: *** Waiting for unfinished jobs....
>
>
> and some build warnings that seem pretty ominous:
>
> C:/msys64/home/wstambaugh/src/kicad-trunk/eeschema/widgets/widget_eeschema_color_config.cpp:
> In member function 'bool
> WIDGET_EESCHEMA_COLOR_CONFIG::TransferDataFromControl()':
> C:/msys64/home/wstambaugh/src/kicad-trunk/eeschema/widgets/widget_eeschema_color_config.cpp:278:63:
> warning: array subscript is above array bounds [-Warray-bounds]
> COLOR4D bgcolor = currentColors[LAYER_SCHEMATIC_BACKGROUND];
> ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
> C:/msys64/home/wstambaugh/src/kicad-trunk/eeschema/widgets/widget_eeschema_color_config.cpp:282:21:
> warning: array subscript is above array bounds [-Warray-bounds]
> if( bgcolor == currentColors[ clyr ] && clyr !=
> LAYER_SCHEMATIC_BACKGROUND )
> ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~
> C:/msys64/home/wstambaugh/src/kicad-trunk/eeschema/widgets/widget_eeschema_color_config.cpp:303:49:
> warning: array subscript is above array bounds [-Warray-bounds]
> currentColors[ LAYER_SCHEMATIC_BACKGROUND ] = bgcolor;
> ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~
> C:/msys64/home/wstambaugh/src/kicad-trunk/eeschema/widgets/widget_eeschema_color_config.cpp:308:22:
> warning: array subscript is above array bounds [-Warray-bounds]
> SetLayerColor( currentColors[ clyr ], clyr );
> ~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> C:/msys64/home/wstambaugh/src/kicad-trunk/eeschema/widgets/widget_eeschema_color_config.cpp:
> In member function 'void
> WIDGET_EESCHEMA_COLOR_CONFIG::CreateControls()':
> C:/msys64/home/wstambaugh/src/kicad-trunk/eeschema/widgets/widget_eeschema_color_config.cpp:220:49:
> warning: array subscript is above array bounds [-Warray-bounds]
> currentColors[ LAYER_SCHEMATIC_BACKGROUND ] = bgColor;
> ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~
>
>
> On 3/28/2017 11:05 AM, Jon Evans wrote:
> > Hi Wayne,
> >
> > Please try the attached patch and let me know if you have trouble with it.
> >
> > Thanks,
> > Jon
> >
> > On Tue, Mar 28, 2017 at 9:49 AM, Wayne Stambaugh <stambaughw@xxxxxxxxx <mailto:stambaughw@xxxxxxxxx>
> > <mailto:stambaughw@xxxxxxxxx <mailto:stambaughw@xxxxxxxxx>>> wrote:
> >
> > John,
> >
> > Please rebase your patch when you get a chance. I just attempted to
> > apply it so I could do some testing and it no longer applies. Sorry for
> > the headaches but I'm really busy. I will apply it as soon as I get it
> > and do some testing.
> >
> > Thanks,
> >
> > Wayne
> >
> > On 3/24/2017 8:54 AM, Jon Evans wrote:
> > > Hi Wayne,
> > >
> > > Any feedback on this?
> > >
> > > Thanks,
> > > Jon
> > >
> > > On Wed, Mar 22, 2017 at 6:15 AM, Maciej Sumiński
> > > <maciej.suminski@xxxxxxx <mailto:maciej.suminski@xxxxxxx>
> <mailto:maciej.suminski@xxxxxxx <mailto:maciej.suminski@xxxxxxx>>
> > <mailto:maciej.suminski@xxxxxxx <mailto:maciej.suminski@xxxxxxx>
> <mailto:maciej.suminski@xxxxxxx <mailto:maciej.suminski@xxxxxxx>>>>
> > wrote:
> > >
> > > I have briefly tested the patch, no issues found. I have no objections
> > > to the changes, but I will leave the final decision to Wayne.
> > >
> > > Regards,
> > > Orson
> > >
> > > On 03/22/2017 03:51 AM, Jon Evans wrote:
> > > > Hi Wayne, new patch attached.
> > > >
> > > > Thanks,
> > > > Jon
> > > >
> > > > On Tue, Mar 21, 2017 at 9:28 AM, Wayne Stambaugh
> > > <stambaughw@xxxxxxxxx <mailto:stambaughw@xxxxxxxxx>
> <mailto:stambaughw@xxxxxxxxx <mailto:stambaughw@xxxxxxxxx>>
> > <mailto:stambaughw@xxxxxxxxx <mailto:stambaughw@xxxxxxxxx>
> <mailto:stambaughw@xxxxxxxxx <mailto:stambaughw@xxxxxxxxx>>>>
> > > > wrote:
> > > >
> > > >> Jon,
> > > >>
> > > >> I just attempted to apply your patch and it no longer applies
> > > cleanly.
> > > >> Please rebase it when you get a chance.
> > > >>
> > > >> Thanks,
> > > >>
> > > >> Wayne
> > > >>
> > > >> On 3/16/2017 10:14 AM, Jon Evans wrote:
> > > >>> Bump -- does anyone have time to look at this and report back if
> > > there
> > > >>> are any issues? I'd like to get it merged so that I can feel
> > > confident
> > > >>> about doing more work on top of these changes.
> > > >>>
> > > >>> Thanks,
> > > >>> Jon
> > > >>>
> > > >>> On Tue, Mar 14, 2017 at 6:05 PM, Wayne Stambaugh
> > > <stambaughw@xxxxxxxxx <mailto:stambaughw@xxxxxxxxx>
> <mailto:stambaughw@xxxxxxxxx <mailto:stambaughw@xxxxxxxxx>>
> > <mailto:stambaughw@xxxxxxxxx <mailto:stambaughw@xxxxxxxxx>
> <mailto:stambaughw@xxxxxxxxx <mailto:stambaughw@xxxxxxxxx>>>
> > > >>> <mailto:stambaughw@xxxxxxxxx <mailto:stambaughw@xxxxxxxxx>
> <mailto:stambaughw@xxxxxxxxx <mailto:stambaughw@xxxxxxxxx>>
> > <mailto:stambaughw@xxxxxxxxx <mailto:stambaughw@xxxxxxxxx>
> <mailto:stambaughw@xxxxxxxxx <mailto:stambaughw@xxxxxxxxx>>>>> wrote:
> > > >>>
> > > >>> Hey Jon,
> > > >>>
> > > >>> This is better than the giant enum concept and
> I'm willing
> > > to accept
> > > >>> this. It still lacks the type safety of the enum
> > inheritance
> > > >> solution.
> > > >>> I still see ints being cast to enums and enum bounds
> > checking so
> > > >> this is
> > > >>> less than ideal. I would prefer to see some
> additional
> > > testing so if
> > > >>> any one has time, please test this patch before we
> > commit it.
> > > >>>
> > > >>> Thanks,
> > > >>>
> > > >>> Wayne
> > > >>>
> > > >>> On 3/14/2017 3:09 PM, Jon Evans wrote:
> > > >>> > Hi Wayne,
> > > >>> >
> > > >>> > New patch attached. Let me know what you
> think of this
> > > approach.
> > > >>> >
> > > >>> > Thanks,
> > > >>> > Jon
> > > >>> >
> > > >>> > On Tue, Mar 14, 2017 at 10:40 AM, Jon Evans
> > > <jon@xxxxxxxxxxxxx <mailto:jon@xxxxxxxxxxxxx>
> <mailto:jon@xxxxxxxxxxxxx <mailto:jon@xxxxxxxxxxxxx>>
> > <mailto:jon@xxxxxxxxxxxxx <mailto:jon@xxxxxxxxxxxxx>
> <mailto:jon@xxxxxxxxxxxxx <mailto:jon@xxxxxxxxxxxxx>>>
> > > >> <mailto:jon@xxxxxxxxxxxxx <mailto:jon@xxxxxxxxxxxxx>
> <mailto:jon@xxxxxxxxxxxxx <mailto:jon@xxxxxxxxxxxxx>>
> > <mailto:jon@xxxxxxxxxxxxx <mailto:jon@xxxxxxxxxxxxx>
> <mailto:jon@xxxxxxxxxxxxx <mailto:jon@xxxxxxxxxxxxx>>>>
> > > >>> > <mailto:jon@xxxxxxxxxxxxx
> <mailto:jon@xxxxxxxxxxxxx> <mailto:jon@xxxxxxxxxxxxx
> <mailto:jon@xxxxxxxxxxxxx>>
> > <mailto:jon@xxxxxxxxxxxxx <mailto:jon@xxxxxxxxxxxxx>
> <mailto:jon@xxxxxxxxxxxxx <mailto:jon@xxxxxxxxxxxxx>>>
> > > <mailto:jon@xxxxxxxxxxxxx <mailto:jon@xxxxxxxxxxxxx>
> <mailto:jon@xxxxxxxxxxxxx <mailto:jon@xxxxxxxxxxxxx>>
> > <mailto:jon@xxxxxxxxxxxxx <mailto:jon@xxxxxxxxxxxxx>
> <mailto:jon@xxxxxxxxxxxxx <mailto:jon@xxxxxxxxxxxxx>>>>>> wrote:
> > > >>> >
> > > >>> > Hi John, that's basically what my first patch
> > did, but
> > > inside
> > > >>> one enum.
> > > >>> >
> > > >>> > Hi Wayne, thanks for elaborating more, I see
> > your point.
> > > >>> >
> > > >>> > I am still not sure there is benefit to
> adding some
> > > class to
> > > >>> handle
> > > >>> > enum inheritance.
> > > >>> > I think it would work fine to just chain
> > multiple enums
> > > >>> together, as
> > > >>> > was done before, but with some tweaks.
> > > >>> >
> > > >>> > enum PCB_LAYER_ID
> > > >>> > {
> > > >>> > F_Cu = 0,
> > > >>> > //...
> > > >>> > PCB_LAYER_ID_COUNT
> > > >>> > };
> > > >>> >
> > > >>> > enum NETNAME_LAYER_ID
> > > >>> > {
> > > >>> > NETNAME_LAYER_ID_START =
> PCB_LAYER_ID_COUNT,
> > > >>> > NETNAME_LAYER_ID_COUNT =
> > NETNAME_LAYER_ID_START +
> > > >>> PCB_LAYER_ID_COUNT
> > > >>> > };
> > > >>> >
> > > >>> > enum GAL_LAYER_ID
> > > >>> > {
> > > >>> > GAL_LAYER_ID_START =
> NETNAME_LAYER_ID_COUNT,
> > > >>> > //....
> > > >>> > };
> > > >>> >
> > > >>> > And so on for gerbview, eeschema, etc
> > > >>> >
> > > >>> > That way the IDs will be unique and cover a
> > contiguous
> > > range,
> > > >> so
> > > >>> > functions that want to take any layer ID
> can just
> > > check that
> > > >>> the ID
> > > >>> > is >= 0 and < the end sentinel of the last
> enum.
> > > >>> >
> > > >>> > Any concerns with this approach?
> > > >>> >
> > > >>> >
> > > >>> > Best,
> > > >>> > Jon
> > > >>> >
> > > >>> > On Tue, Mar 14, 2017 at 10:29 AM, John Beard
> > > >>> <john.j.beard@xxxxxxxxx
> <mailto:john.j.beard@xxxxxxxxx>
> > <mailto:john.j.beard@xxxxxxxxx
> <mailto:john.j.beard@xxxxxxxxx>> <mailto:john.j.beard@xxxxxxxxx
> <mailto:john.j.beard@xxxxxxxxx>
> > <mailto:john.j.beard@xxxxxxxxx <mailto:john.j.beard@xxxxxxxxx>>>
> > > <mailto:john.j.beard@xxxxxxxxx
> <mailto:john.j.beard@xxxxxxxxx> <mailto:john.j.beard@xxxxxxxxx
> <mailto:john.j.beard@xxxxxxxxx>>
> > <mailto:john.j.beard@xxxxxxxxx <mailto:john.j.beard@xxxxxxxxx>
> <mailto:john.j.beard@xxxxxxxxx <mailto:john.j.beard@xxxxxxxxx>>>>
> > > >>> > <mailto:john.j.beard@xxxxxxxxx
> <mailto:john.j.beard@xxxxxxxxx>
> > <mailto:john.j.beard@xxxxxxxxx <mailto:john.j.beard@xxxxxxxxx>>
> > > <mailto:john.j.beard@xxxxxxxxx
> <mailto:john.j.beard@xxxxxxxxx> <mailto:john.j.beard@xxxxxxxxx
> <mailto:john.j.beard@xxxxxxxxx>>>
> > > >>> <mailto:john.j.beard@xxxxxxxxx
> <mailto:john.j.beard@xxxxxxxxx>
> > <mailto:john.j.beard@xxxxxxxxx <mailto:john.j.beard@xxxxxxxxx>>
> > > <mailto:john.j.beard@xxxxxxxxx
> <mailto:john.j.beard@xxxxxxxxx>
> > <mailto:john.j.beard@xxxxxxxxx
> <mailto:john.j.beard@xxxxxxxxx>>>>>> wrote:
> > > >>> >
> > > >>> > Hi Jon,
> > > >>> >
> > > >>> > Protocol Buffers has the same problem.
> > Messages have a
> > > >>> unique number
> > > >>> > for each field, but extensions to
> messages don't
> > > know about
> > > >>> > "siblings". A common thing [1] to so
> is reserve
> > > IDs up to
> > > >> 1000
> > > >>> > for the
> > > >>> > base message, and then messages start at
> > offsets 1000,
> > > >>> 2000, etc,
> > > >>> > based on some in-house scheme.
> > > >>> >
> > > >>> > It probably won't just "drop in" to KiCad
> > due to fixed
> > > >>> arrays (I
> > > >>> > think?), but this is certainly one way it
> > has been
> > > >>> "solved" in the
> > > >>> > real world, by Google, no less! It's a bit
> > crusty to
> > > >> manually
> > > >>> > reserve
> > > >>> > space, but the "enum inheritance"
> problem isn't
> > > limited to
> > > >>> C++.
> > > >>> >
> > > >>> > There's plenty of space in enums and I
> > sincerely doubt
> > > >>> there is a
> > > >>> > measurable benefit to forcing the compiler
> > to use
> > > shorter
> > > >>> integral
> > > >>> > types anyway, so we could just say
> "0-9999"
> > is "common
> > > >> GAL",
> > > >>> > "10000-19999" is Pcbnew, etc. Some
> work might be
> > > needed to
> > > >>> handle
> > > >>> > non-contiguous enums here. "10000 layers
> > should be
> > > enough
> > > >> for
> > > >>> > anyone",
> > > >>> > right?
> > > >>> >
> > > >>> > Just a thought, without any real
> > consideration of the
> > > >>> > consequences for
> > > >>> > things like formats and so on.
> > > >>> >
> > > >>> > Cheers,
> > > >>> >
> > > >>> > John
> > > >>> >
> > > >>> > [1]
> > > >>> >
> > > >>>
> > https://developers.google.com/protocol-buffers/docs/proto#
> <https://developers.google.com/protocol-buffers/docs/proto#>
> > <https://developers.google.com/protocol-buffers/docs/proto#
> <https://developers.google.com/protocol-buffers/docs/proto#>>
> > >
> <https://developers.google.com/protocol-buffers/docs/proto#
> <https://developers.google.com/protocol-buffers/docs/proto#>
> > <https://developers.google.com/protocol-buffers/docs/proto#
> <https://developers.google.com/protocol-buffers/docs/proto#>>>
> > > >> choosing-extension-numbers
> > > >>>
> <https://developers.google.com/protocol-buffers/docs/
> <https://developers.google.com/protocol-buffers/docs/>
> > <https://developers.google.com/protocol-buffers/docs/
> <https://developers.google.com/protocol-buffers/docs/>>
> > > <https://developers.google.com/protocol-buffers/docs/
> <https://developers.google.com/protocol-buffers/docs/>
> > <https://developers.google.com/protocol-buffers/docs/
> <https://developers.google.com/protocol-buffers/docs/>>>
> > > >> proto#choosing-extension-numbers>
> > > >>> >
> > > >>>
> <https://developers.google.com/protocol-buffers/docs/
> <https://developers.google.com/protocol-buffers/docs/>
> > <https://developers.google.com/protocol-buffers/docs/
> <https://developers.google.com/protocol-buffers/docs/>>
> > > <https://developers.google.com/protocol-buffers/docs/
> <https://developers.google.com/protocol-buffers/docs/>
> > <https://developers.google.com/protocol-buffers/docs/
> <https://developers.google.com/protocol-buffers/docs/>>>
> > > >> proto#choosing-extension-numbers
> > > >>>
> <https://developers.google.com/protocol-buffers/docs/
> <https://developers.google.com/protocol-buffers/docs/>
> > <https://developers.google.com/protocol-buffers/docs/
> <https://developers.google.com/protocol-buffers/docs/>>
> > > <https://developers.google.com/protocol-buffers/docs/
> <https://developers.google.com/protocol-buffers/docs/>
> > <https://developers.google.com/protocol-buffers/docs/
> <https://developers.google.com/protocol-buffers/docs/>>>
> > > >> proto#choosing-extension-numbers>>
> > > >>> >
> > > >>> > On Tue, Mar 14, 2017 at 10:08 PM, Jon Evans
> > > >>> <jon@xxxxxxxxxxxxx <mailto:jon@xxxxxxxxxxxxx>
> <mailto:jon@xxxxxxxxxxxxx <mailto:jon@xxxxxxxxxxxxx>>
> > <mailto:jon@xxxxxxxxxxxxx <mailto:jon@xxxxxxxxxxxxx>
> <mailto:jon@xxxxxxxxxxxxx <mailto:jon@xxxxxxxxxxxxx>>>
> > > <mailto:jon@xxxxxxxxxxxxx <mailto:jon@xxxxxxxxxxxxx>
> <mailto:jon@xxxxxxxxxxxxx <mailto:jon@xxxxxxxxxxxxx>>
> > <mailto:jon@xxxxxxxxxxxxx <mailto:jon@xxxxxxxxxxxxx>
> <mailto:jon@xxxxxxxxxxxxx <mailto:jon@xxxxxxxxxxxxx>>>>
> > > >>> > <mailto:jon@xxxxxxxxxxxxx <mailto:jon@xxxxxxxxxxxxx>
> <mailto:jon@xxxxxxxxxxxxx <mailto:jon@xxxxxxxxxxxxx>>
> > > <mailto:jon@xxxxxxxxxxxxx <mailto:jon@xxxxxxxxxxxxx>
> <mailto:jon@xxxxxxxxxxxxx <mailto:jon@xxxxxxxxxxxxx>>>
> > <mailto:jon@xxxxxxxxxxxxx <mailto:jon@xxxxxxxxxxxxx>
> <mailto:jon@xxxxxxxxxxxxx <mailto:jon@xxxxxxxxxxxxx>>
> > > <mailto:jon@xxxxxxxxxxxxx <mailto:jon@xxxxxxxxxxxxx>
> <mailto:jon@xxxxxxxxxxxxx <mailto:jon@xxxxxxxxxxxxx>>>>>>
> > > >> wrote:
> > > >>> > > Hi Orson, Wayne,
> > > >>> > >
> > > >>> > > I looked at the "enum inheritance"
> thing some
> > > more and I
> > > >>> don't
> > > >>> > think it
> > > >>> > > would be a good solution for our case.
> > > >>> > >
> > > >>> > > This technique lets you extend enum
> A with
> > enum
> > > B, and
> > > >> have
> > > >>> > functions f(A)
> > > >>> > > and f(A or B), and you could continue
> > making larger
> > > >>> enums that
> > > >>> > contained
> > > >>> > > smaller ones.
> > > >>> > > But, if we maintain multiple enums (one
> > for each
> > > >>> application,
> > > >>> > plus one for
> > > >>> > > GAL layers) I don't see how it would
> make
> > anything
> > > >> simpler,
> > > >>> > because we would
> > > >>> > > not be able to treat them as
> "sibling classes"
> > > >>> > >
> > > >>> > > Before I spend more time coding things I
> > want to
> > > get an
> > > >> idea
> > > >>> > of what your
> > > >>> > > requirements are / what you would and
> > would not
> > > accept
> > > >> as a
> > > >>> > change in this
> > > >>> > > area. I misunderstood Wayne's earlier
> > reply to
> > > me and
> > > >>> thought
> > > >>> > that a single
> > > >>> > > enum would be accepted, but if not,
> I don't
> > > currently
> > > >>> have a good
> > > >>> > > understanding of what the concerns are
> > with that
> > > >> approach.
> > > >>> > >
> > > >>> > > Questions for Wayne, Orson, and
> others who
> > care
> > > about
> > > >> this:
> > > >>> > >
> > > >>> > > 1) Is there any opposition to moving
> the layer
> > > >> definitions
> > > >>> > from GerbView and
> > > >>> > > Eeschema into
> > layers_id_colors_and_visibility.h?
> > > >> (ignoring
> > > >>> > whether they are
> > > >>> > > merged into one enum for now)
> > > >>> > >
> > > >>> > > 2) Is there any opposition to
> ensuring that no
> > > layer IDs
> > > >>> > overlap across all
> > > >>> > > applications? To be clear, what I mean
> > now is that
> > > >>> currently
> > > >>> > GerbView draw
> > > >>> > > layers occupy the same layer IDs as
> Pcbnew
> > board
> > > >> layers. I
> > > >>> > want to change
> > > >>> > > it so that a layer ID (cast to
> integer) is
> > > always unique
> > > >>> > across all
> > > >>> > > applications, unless it truly is the
> same
> > layer
> > > (i.e can
> > > >> use
> > > >>> > the same color
> > > >>> > > settings, visibility settings, etc. as
> > > GP_OVERLAY can
> > > >> across
> > > >>> > > GerbView/Pcbnew).
> > > >>> > >
> > > >>> > > 3) If the answers to both 1 and 2 are
> > "no", can
> > > you give
> > > >>> some
> > > >>> > more details
> > > >>> > > on why it's a bad idea to put all the
> > layers in
> > > the same
> > > >>> enum,
> > > >>> > and based on
> > > >>> > > that I will come back with a
> proposal on a
> > > different way
> > > >> of
> > > >>> > doing it?
> > > >>> > >
> > > >>> > > Thanks,
> > > >>> > > Jon
> > > >>> > >
> > > >>> > > On Mon, Mar 13, 2017 at 3:07 PM, Jon
> Evans
> > > >>> <jon@xxxxxxxxxxxxx <mailto:jon@xxxxxxxxxxxxx>
> <mailto:jon@xxxxxxxxxxxxx <mailto:jon@xxxxxxxxxxxxx>>
> > <mailto:jon@xxxxxxxxxxxxx <mailto:jon@xxxxxxxxxxxxx>
> <mailto:jon@xxxxxxxxxxxxx <mailto:jon@xxxxxxxxxxxxx>>>
> > > <mailto:jon@xxxxxxxxxxxxx <mailto:jon@xxxxxxxxxxxxx>
> <mailto:jon@xxxxxxxxxxxxx <mailto:jon@xxxxxxxxxxxxx>>
> > <mailto:jon@xxxxxxxxxxxxx <mailto:jon@xxxxxxxxxxxxx>
> <mailto:jon@xxxxxxxxxxxxx <mailto:jon@xxxxxxxxxxxxx>>>>
> > > >>> > <mailto:jon@xxxxxxxxxxxxx <mailto:jon@xxxxxxxxxxxxx>
> <mailto:jon@xxxxxxxxxxxxx <mailto:jon@xxxxxxxxxxxxx>>
> > > <mailto:jon@xxxxxxxxxxxxx <mailto:jon@xxxxxxxxxxxxx>
> <mailto:jon@xxxxxxxxxxxxx <mailto:jon@xxxxxxxxxxxxx>>>
> > <mailto:jon@xxxxxxxxxxxxx <mailto:jon@xxxxxxxxxxxxx>
> <mailto:jon@xxxxxxxxxxxxx <mailto:jon@xxxxxxxxxxxxx>>
> > > <mailto:jon@xxxxxxxxxxxxx <mailto:jon@xxxxxxxxxxxxx>
> <mailto:jon@xxxxxxxxxxxxx <mailto:jon@xxxxxxxxxxxxx>>>>>>
> > > >> wrote:
> > > >>> > >>
> > > >>> > >> Hi Orson,
> > > >>> > >>
> > > >>> > >> It's an interesting idea, I will
> have to
> > look at it
> > > >> more.
> > > >>> > But, doesn't
> > > >>> > >> this still allow the programmer to
> > accidentally
> > > overlap
> > > >> two
> > > >>> > enum values? I
> > > >>> > >> can add checks to prevent this from
> happening
> > > elsewhere
> > > >> in
> > > >>> > the code, but it
> > > >>> > >> seems less clean to me.
> > > >>> > >>
> > > >>> > >> Best,
> > > >>> > >> -Jon
> > > >>> > >>
> > > >>> > >> On Mon, Mar 13, 2017 at 1:52 PM, Maciej
> > Suminski
> > > >>> > <maciej.suminski@xxxxxxx
> <mailto:maciej.suminski@xxxxxxx>
> > <mailto:maciej.suminski@xxxxxxx <mailto:maciej.suminski@xxxxxxx>>
> > > <mailto:maciej.suminski@xxxxxxx
> <mailto:maciej.suminski@xxxxxxx>
> > <mailto:maciej.suminski@xxxxxxx
> <mailto:maciej.suminski@xxxxxxx>>> <mailto:maciej.suminski@xxxxxxx
> <mailto:maciej.suminski@xxxxxxx>
> > <mailto:maciej.suminski@xxxxxxx <mailto:maciej.suminski@xxxxxxx>>
> > > <mailto:maciej.suminski@xxxxxxx
> <mailto:maciej.suminski@xxxxxxx> <mailto:maciej.suminski@xxxxxxx
> <mailto:maciej.suminski@xxxxxxx>>>>
> > > >>> <mailto:maciej.suminski@xxxxxxx
> <mailto:maciej.suminski@xxxxxxx>
> > <mailto:maciej.suminski@xxxxxxx <mailto:maciej.suminski@xxxxxxx>>
> > > <mailto:maciej.suminski@xxxxxxx
> <mailto:maciej.suminski@xxxxxxx>
> > <mailto:maciej.suminski@xxxxxxx
> <mailto:maciej.suminski@xxxxxxx>>> <mailto:maciej.suminski@xxxxxxx
> <mailto:maciej.suminski@xxxxxxx>
> > <mailto:maciej.suminski@xxxxxxx <mailto:maciej.suminski@xxxxxxx>>
> > > <mailto:maciej.suminski@xxxxxxx
> <mailto:maciej.suminski@xxxxxxx>
> > <mailto:maciej.suminski@xxxxxxx
> <mailto:maciej.suminski@xxxxxxx>>>>>>
> > > >>> > >> wrote:
> > > >>> > >>>
> > > >>> > >>> Hi,
> > > >>> > >>>
> > > >>> > >>> How about emulating enum
> inheritance [1]? I
> > > suppose it
> > > >>> would
> > > >>> > be the
> > > >>> > >>> cleanest solution allowing us to
> clearly
> > > specify what
> > > >> kind
> > > >>> > of layer is
> > > >>> > >>> expected for certain methods. This
> is even
> > > better kind
> > > >> of
> > > >>> > type checking.
> > > >>> > >>>
> > > >>> > >>> Cheers,
> > > >>> > >>> Orson
> > > >>> > >>>
> > > >>> > >>> 1.
> > > https://www.codeproject.com/kb/cpp/inheritenum.aspx
> <https://www.codeproject.com/kb/cpp/inheritenum.aspx>
> > <https://www.codeproject.com/kb/cpp/inheritenum.aspx
> <https://www.codeproject.com/kb/cpp/inheritenum.aspx>>
> > > <https://www.codeproject.com/kb/cpp/inheritenum.aspx
> <https://www.codeproject.com/kb/cpp/inheritenum.aspx>
> > <https://www.codeproject.com/kb/cpp/inheritenum.aspx
> <https://www.codeproject.com/kb/cpp/inheritenum.aspx>>>
> > > >>>
> <https://www.codeproject.com/kb/cpp/inheritenum.aspx
> <https://www.codeproject.com/kb/cpp/inheritenum.aspx>
> > <https://www.codeproject.com/kb/cpp/inheritenum.aspx
> <https://www.codeproject.com/kb/cpp/inheritenum.aspx>>
> > > <https://www.codeproject.com/kb/cpp/inheritenum.aspx
> <https://www.codeproject.com/kb/cpp/inheritenum.aspx>
> > <https://www.codeproject.com/kb/cpp/inheritenum.aspx
> <https://www.codeproject.com/kb/cpp/inheritenum.aspx>>>>
> > > >>> >
> > > <https://www.codeproject.com/kb/cpp/inheritenum.aspx
> <https://www.codeproject.com/kb/cpp/inheritenum.aspx>
> > <https://www.codeproject.com/kb/cpp/inheritenum.aspx
> <https://www.codeproject.com/kb/cpp/inheritenum.aspx>>
> > > <https://www.codeproject.com/kb/cpp/inheritenum.aspx
> <https://www.codeproject.com/kb/cpp/inheritenum.aspx>
> > <https://www.codeproject.com/kb/cpp/inheritenum.aspx
> <https://www.codeproject.com/kb/cpp/inheritenum.aspx>>>
> > > >>>
> <https://www.codeproject.com/kb/cpp/inheritenum.aspx
> <https://www.codeproject.com/kb/cpp/inheritenum.aspx>
> > <https://www.codeproject.com/kb/cpp/inheritenum.aspx
> <https://www.codeproject.com/kb/cpp/inheritenum.aspx>>
> > > <https://www.codeproject.com/kb/cpp/inheritenum.aspx
> <https://www.codeproject.com/kb/cpp/inheritenum.aspx>
> > <https://www.codeproject.com/kb/cpp/inheritenum.aspx
> <https://www.codeproject.com/kb/cpp/inheritenum.aspx>>>>>
> > > >>> > >>>
> > > >>> > >>> On 03/13/2017 02:50 PM, Jon Evans
> wrote:
> > > >>> > >>> > Hi Wayne,
> > > >>> > >>> >
> > > >>> > >>> > I understand this might seem
> like too
> > big a
> > > change.
> > > >>> > >>> > Here is what I was thinking when I
> > thought that
> > > >>> combining
> > > >>> > everything
> > > >>> > >>> > would
> > > >>> > >>> > be a good solution.
> > > >>> > >>> >
> > > >>> > >>> > - If there is more than one
> enum, then
> > > functions that
> > > >>> > consume data from
> > > >>> > >>> > more than one app (i.e. things in
> > > common/GAL) have
> > > >>> to cast
> > > >>> > to int, so
> > > >>> > >>> > you
> > > >>> > >>> > lose type checking that the enum
> gives you
> > > for free
> > > >> (or
> > > >>> > your type
> > > >>> > >>> > checking
> > > >>> > >>> > gets more complicated, because the
> > range of
> > > valid
> > > >> values
> > > >>> > is different
> > > >>> > >>> > for
> > > >>> > >>> > each application)
> > > >>> > >>> >
> > > >>> > >>> > - If there is more than one
> enum, it's
> > easier to
> > > >>> duplicate
> > > >>> > layers for
> > > >>> > >>> > no
> > > >>> > >>> > good reason (i.e. GerbView and
> Pcbnew have
> > > different
> > > >>> layer
> > > >>> > ids for
> > > >>> > >>> > "grid"
> > > >>> > >>> > right now)
> > > >>> > >>> >
> > > >>> > >>> > - I want to combine the color
> settings
> > for all
> > > >>> > applications under the
> > > >>> > >>> > hood
> > > >>> > >>> > (users will still be able to
> configure
> > different
> > > >> colors
> > > >>> > for each
> > > >>> > >>> > application). This change will
> let color
> > > settings
> > > >> take
> > > >>> > LAYER_ID
> > > >>> > >>> > instead of
> > > >>> > >>> > int, and there will only be one
> key/value
> > > mapping of
> > > >>> > colors -- no more
> > > >>> > >>> > difference between
> "GetLayerColor" and
> > > >> "GetItemColor".
> > > >>> > There will be
> > > >>> > >>> > no
> > > >>> > >>> > clashes between the meaning of a
> layer id
> > > (int type)
> > > >>> > between different
> > > >>> > >>> > applications.
> > > >>> > >>> >
> > > >>> > >>> > - Bringing Eeschema into this now is
> > just early
> > > >>> groundwork
> > > >>> > for Eeschema
> > > >>> > >>> > GAL
> > > >>> > >>> > port (as well as unified color
> settings)
> > > >>> > >>> >
> > > >>> > >>> > If you will not accept this
> change, I have
> > > to think
> > > >>> about
> > > >>> > a different
> > > >>> > >>> > proposal that will make the
> different
> > layer
> > > types in
> > > >>> different
> > > >>> > >>> > applications
> > > >>> > >>> > a bit more manageable than they are
> > today. I
> > > >> understand
> > > >>> > how having one
> > > >>> > >>> > giant enum for LAYER_ID seems more
> > > complicated, I'm
> > > >> just
> > > >>> > worried that
> > > >>> > >>> > having several different enums will
> > make the
> > > code
> > > >> that
> > > >>> > consumes
> > > >>> > >>> > LAYER_ID
> > > >>> > >>> > more complicated, especially if the
> > applications
> > > >> become
> > > >>> > more integrated
> > > >>> > >>> > with each other and start
> sharing more
> > code.
> > > >>> > >>> >
> > > >>> > >>> > Best,
> > > >>> > >>> > Jon
> > > >>> > >>> >
> > > >>> > >>> > On Mon, Mar 13, 2017 at 8:21 AM,
> Wayne
> > Stambaugh
> > > >>> > <stambaughw@xxxxxxxxx
> <mailto:stambaughw@xxxxxxxxx>
> > <mailto:stambaughw@xxxxxxxxx <mailto:stambaughw@xxxxxxxxx>>
> > > <mailto:stambaughw@xxxxxxxxx
> <mailto:stambaughw@xxxxxxxxx> <mailto:stambaughw@xxxxxxxxx
> <mailto:stambaughw@xxxxxxxxx>>>
> > <mailto:stambaughw@xxxxxxxxx <mailto:stambaughw@xxxxxxxxx>
> <mailto:stambaughw@xxxxxxxxx <mailto:stambaughw@xxxxxxxxx>>
> > > <mailto:stambaughw@xxxxxxxxx
> <mailto:stambaughw@xxxxxxxxx> <mailto:stambaughw@xxxxxxxxx
> <mailto:stambaughw@xxxxxxxxx>>>>
> > > >>> <mailto:stambaughw@xxxxxxxxx
> <mailto:stambaughw@xxxxxxxxx>
> > <mailto:stambaughw@xxxxxxxxx <mailto:stambaughw@xxxxxxxxx>>
> <mailto:stambaughw@xxxxxxxxx <mailto:stambaughw@xxxxxxxxx>
> > <mailto:stambaughw@xxxxxxxxx <mailto:stambaughw@xxxxxxxxx>>>
> > > <mailto:stambaughw@xxxxxxxxx
> <mailto:stambaughw@xxxxxxxxx> <mailto:stambaughw@xxxxxxxxx
> <mailto:stambaughw@xxxxxxxxx>>
> > <mailto:stambaughw@xxxxxxxxx <mailto:stambaughw@xxxxxxxxx>
> <mailto:stambaughw@xxxxxxxxx <mailto:stambaughw@xxxxxxxxx>>>>>>
> > > >>> > >>> > wrote:
> > > >>> > >>> >
> > > >>> > >>> >> Jon,
> > > >>> > >>> >>
> > > >>> > >>> >> I misunderstood your original
> intent. I
> > > don't think
> > > >>> > cluttering the
> > > >>> > >>> >> board layer enums with all of
> the virtual
> > > layer and
> > > >>> > schematic layer
> > > >>> > >>> >> enums is a good idea. It just
> seems like
> > > overkill
> > > >> to
> > > >>> > me. I thought
> > > >>> > >>> >> you
> > > >>> > >>> >> were going to create a separate
> enum for
> > > virtual
> > > >> board
> > > >>> > layers. You
> > > >>> > >>> >> could always start the virtual
> board
> > layer
> > > enums
> > > >>> from the
> > > >>> > last board
> > > >>> > >>> >> layer enum if you need unique
> enums. I
> > > would also
> > > >>> prefer the
> > > >>> > >>> >> schematic
> > > >>> > >>> >> layer enums be separate from
> the board
> > > layer enums
> > > >> for
> > > >>> > clarity.
> > > >>> > >>> >> Anyone
> > > >>> > >>> >> else have any thoughts on this?
> > > >>> > >>> >>
> > > >>> > >>> >> Cheers,
> > > >>> > >>> >>
> > > >>> > >>> >> Wayne
> > > >>> > >>> >>
> > > >>> > >>> >> On 3/12/2017 11:24 PM, Jon
> Evans wrote:
> > > >>> > >>> >>> Hi all,
> > > >>> > >>> >>>
> > > >>> > >>> >>> Per the other thread, this
> patch unifies
> > > the layer
> > > >>> > definitions
> > > >>> > >>> >>> between
> > > >>> > >>> >>> Pcbnew, GerbView, and
> Eeschema. It
> > > removes the
> > > >>> need for
> > > >>> > >>> >>> ITEM_GAL_LAYER
> > > >>> > >>> >>> and some other macros, and it will
> > > simplify the
> > > >>> > implementation of
> > > >>> > >>> >>> cross-application color themes
> and using
> > > GAL in
> > > >>> multiple
> > > >>> > >>> >>> applications.
> > > >>> > >>> >>>
> > > >>> > >>> >>> Note that this patch
> introduces some
> > temporary
> > > >>> weirdness
> > > >>> > in a few
> > > >>> > >>> >>> places, such as in
> > COLORS_DESIGN_SETTINGS
> > > (there
> > > >>> is now
> > > >>> > a single
> > > >>> > >>> >>> array
> > > >>> > >>> >>> for color storage, but it's still
> > referred
> > > to by
> > > >>> two sets of
> > > >>> > >>> >>> getters/setters). This is
> because I
> > wanted to
> > > >>> keep this
> > > >>> > refactor as
> > > >>> > >>> >>> simple as possible, as I plan to
> > follow it
> > > up with
> > > >> an
> > > >>> > overhaul of
> > > >>> > >>> >>> color
> > > >>> > >>> >>> settings when I share my color
> > themes work. I
> > > >> didn't
> > > >>> > want to do work
> > > >>> > >>> >>> that I would soon end up
> getting rid of
> > > anyway.
> > > >>> > >>> >>>
> > > >>> > >>> >>> Best,
> > > >>> > >>> >>> Jon
> > > >>> > >>> >>>
> > > >>> > >>> >>>
> > > >>> > >>> >>>
> > > _______________________________________________
> > > >>> > >>> >>> Mailing list:
> > > >>> https://launchpad.net/~kicad-developers
> <https://launchpad.net/~kicad-developers>
> > <https://launchpad.net/~kicad-developers
> <https://launchpad.net/~kicad-developers>>
> > > <https://launchpad.net/~kicad-developers
> <https://launchpad.net/~kicad-developers>
> > <https://launchpad.net/~kicad-developers
> <https://launchpad.net/~kicad-developers>>>
> > > >>> <https://launchpad.net/~kicad-developers
> <https://launchpad.net/~kicad-developers>
> > <https://launchpad.net/~kicad-developers
> <https://launchpad.net/~kicad-developers>>
> > > <https://launchpad.net/~kicad-developers
> <https://launchpad.net/~kicad-developers>
> > <https://launchpad.net/~kicad-developers
> <https://launchpad.net/~kicad-developers>>>>
> > > >>> >
> <https://launchpad.net/~kicad-developers
> <https://launchpad.net/~kicad-developers>
> > <https://launchpad.net/~kicad-developers
> <https://launchpad.net/~kicad-developers>>
> > > <https://launchpad.net/~kicad-developers
> <https://launchpad.net/~kicad-developers>
> > <https://launchpad.net/~kicad-developers
> <https://launchpad.net/~kicad-developers>>>
> > > >>> <https://launchpad.net/~kicad-developers
> <https://launchpad.net/~kicad-developers>
> > <https://launchpad.net/~kicad-developers
> <https://launchpad.net/~kicad-developers>>
> > > <https://launchpad.net/~kicad-developers
> <https://launchpad.net/~kicad-developers>
> > <https://launchpad.net/~kicad-developers
> <https://launchpad.net/~kicad-developers>>>>>
> > > >>> > >>> >>> Post to :
> > > kicad-developers@xxxxxxxxxxxxxxxxxxx
> <mailto:kicad-developers@xxxxxxxxxxxxxxxxxxx>
> > <mailto:kicad-developers@xxxxxxxxxxxxxxxxxxx
> <mailto:kicad-developers@xxxxxxxxxxxxxxxxxxx>>
> > > <mailto:kicad-developers@xxxxxxxxxxxxxxxxxxx
> <mailto:kicad-developers@xxxxxxxxxxxxxxxxxxx>
> > <mailto:kicad-developers@xxxxxxxxxxxxxxxxxxx
> <mailto:kicad-developers@xxxxxxxxxxxxxxxxxxx>>>
> > > >>> <mailto:kicad-developers@xxxxxxxxxxxxxxxxxxx
> <mailto:kicad-developers@xxxxxxxxxxxxxxxxxxx>
> > <mailto:kicad-developers@xxxxxxxxxxxxxxxxxxx
> <mailto:kicad-developers@xxxxxxxxxxxxxxxxxxx>>
> > > <mailto:kicad-developers@xxxxxxxxxxxxxxxxxxx
> <mailto:kicad-developers@xxxxxxxxxxxxxxxxxxx>
> > <mailto:kicad-developers@xxxxxxxxxxxxxxxxxxx
> <mailto:kicad-developers@xxxxxxxxxxxxxxxxxxx>>>>
> > > >>> >
> <mailto:kicad-developers@xxxxxxxxxxxxxxxxxxx
> <mailto:kicad-developers@xxxxxxxxxxxxxxxxxxx>
> > <mailto:kicad-developers@xxxxxxxxxxxxxxxxxxx
> <mailto:kicad-developers@xxxxxxxxxxxxxxxxxxx>>
> > > <mailto:kicad-developers@xxxxxxxxxxxxxxxxxxx
> <mailto:kicad-developers@xxxxxxxxxxxxxxxxxxx>
> > <mailto:kicad-developers@xxxxxxxxxxxxxxxxxxx
> <mailto:kicad-developers@xxxxxxxxxxxxxxxxxxx>>>
> > > >>> <mailto:kicad-developers@xxxxxxxxxxxxxxxxxxx
> <mailto:kicad-developers@xxxxxxxxxxxxxxxxxxx>
> > <mailto:kicad-developers@xxxxxxxxxxxxxxxxxxx
> <mailto:kicad-developers@xxxxxxxxxxxxxxxxxxx>>
> > > <mailto:kicad-developers@xxxxxxxxxxxxxxxxxxx
> <mailto:kicad-developers@xxxxxxxxxxxxxxxxxxx>
> > <mailto:kicad-developers@xxxxxxxxxxxxxxxxxxx
> <mailto:kicad-developers@xxxxxxxxxxxxxxxxxxx>>>>>
> > > >>> > >>> >>> Unsubscribe :
> > https://launchpad.net/~kicad-
> > > >> developers
> > > >>> <https://launchpad.net/~kicad-developers
> <https://launchpad.net/~kicad-developers>
> > <https://launchpad.net/~kicad-developers
> <https://launchpad.net/~kicad-developers>>
> > > <https://launchpad.net/~kicad-developers
> <https://launchpad.net/~kicad-developers>
> > <https://launchpad.net/~kicad-developers
> <https://launchpad.net/~kicad-developers>>>>
> > > >>> >
> <https://launchpad.net/~kicad-developers
> <https://launchpad.net/~kicad-developers>
> > <https://launchpad.net/~kicad-developers
> <https://launchpad.net/~kicad-developers>>
> > > <https://launchpad.net/~kicad-developers
> <https://launchpad.net/~kicad-developers>
> > <https://launchpad.net/~kicad-developers
> <https://launchpad.net/~kicad-developers>>>
> > > >>> <https://launchpad.net/~kicad-developers
> <https://launchpad.net/~kicad-developers>
> > <https://launchpad.net/~kicad-developers
> <https://launchpad.net/~kicad-developers>>
> > > <https://launchpad.net/~kicad-developers
> <https://launchpad.net/~kicad-developers>
> > <https://launchpad.net/~kicad-developers
> <https://launchpad.net/~kicad-developers>>>>>
> > > >>> > >>> >>> More help :
> > > https://help.launchpad.net/ListHelp
> <https://help.launchpad.net/ListHelp>
> > <https://help.launchpad.net/ListHelp
> <https://help.launchpad.net/ListHelp>>
> > > <https://help.launchpad.net/ListHelp
> <https://help.launchpad.net/ListHelp>
> > <https://help.launchpad.net/ListHelp
> <https://help.launchpad.net/ListHelp>>>
> > > >>> <https://help.launchpad.net/ListHelp
> <https://help.launchpad.net/ListHelp>
> > <https://help.launchpad.net/ListHelp
> <https://help.launchpad.net/ListHelp>>
> > > <https://help.launchpad.net/ListHelp
> <https://help.launchpad.net/ListHelp>
> > <https://help.launchpad.net/ListHelp
> <https://help.launchpad.net/ListHelp>>>>
> > > >>> > <https://help.launchpad.net/ListHelp
> <https://help.launchpad.net/ListHelp>
> > <https://help.launchpad.net/ListHelp
> <https://help.launchpad.net/ListHelp>>
> > > <https://help.launchpad.net/ListHelp
> <https://help.launchpad.net/ListHelp>
> > <https://help.launchpad.net/ListHelp
> <https://help.launchpad.net/ListHelp>>>
> > > >>> <https://help.launchpad.net/ListHelp
> <https://help.launchpad.net/ListHelp>
> > <https://help.launchpad.net/ListHelp
> <https://help.launchpad.net/ListHelp>>
> > > <https://help.launchpad.net/ListHelp
> <https://help.launchpad.net/ListHelp>
> > <https://help.launchpad.net/ListHelp
> <https://help.launchpad.net/ListHelp>>>>>
> > > >>> > >>> >>>
> > > >>> > >>> >>
> > > >>> > >>> >>
> > _______________________________________________
> > > >>> > >>> >> Mailing list:
> > https://launchpad.net/~kicad-
> > > >> developers
> > > >>> <https://launchpad.net/~kicad-developers
> <https://launchpad.net/~kicad-developers>
> > <https://launchpad.net/~kicad-developers
> <https://launchpad.net/~kicad-developers>>
> > > <https://launchpad.net/~kicad-developers
> <https://launchpad.net/~kicad-developers>
> > <https://launchpad.net/~kicad-developers
> <https://launchpad.net/~kicad-developers>>>>
> > > >>> >
> <https://launchpad.net/~kicad-developers
> <https://launchpad.net/~kicad-developers>
> > <https://launchpad.net/~kicad-developers
> <https://launchpad.net/~kicad-developers>>
> > > <https://launchpad.net/~kicad-developers
> <https://launchpad.net/~kicad-developers>
> > <https://launchpad.net/~kicad-developers
> <https://launchpad.net/~kicad-developers>>>
> > > >>> <https://launchpad.net/~kicad-developers
> <https://launchpad.net/~kicad-developers>
> > <https://launchpad.net/~kicad-developers
> <https://launchpad.net/~kicad-developers>>
> > > <https://launchpad.net/~kicad-developers
> <https://launchpad.net/~kicad-developers>
> > <https://launchpad.net/~kicad-developers
> <https://launchpad.net/~kicad-developers>>>>>
> > > >>> > >>> >> Post to :
> > > kicad-developers@xxxxxxxxxxxxxxxxxxx
> <mailto:kicad-developers@xxxxxxxxxxxxxxxxxxx>
> > <mailto:kicad-developers@xxxxxxxxxxxxxxxxxxx
> <mailto:kicad-developers@xxxxxxxxxxxxxxxxxxx>>
> > > <mailto:kicad-developers@xxxxxxxxxxxxxxxxxxx
> <mailto:kicad-developers@xxxxxxxxxxxxxxxxxxx>
> > <mailto:kicad-developers@xxxxxxxxxxxxxxxxxxx
> <mailto:kicad-developers@xxxxxxxxxxxxxxxxxxx>>>
> > > >>> <mailto:kicad-developers@xxxxxxxxxxxxxxxxxxx
> <mailto:kicad-developers@xxxxxxxxxxxxxxxxxxx>
> > <mailto:kicad-developers@xxxxxxxxxxxxxxxxxxx
> <mailto:kicad-developers@xxxxxxxxxxxxxxxxxxx>>
> > > <mailto:kicad-developers@xxxxxxxxxxxxxxxxxxx
> <mailto:kicad-developers@xxxxxxxxxxxxxxxxxxx>
> > <mailto:kicad-developers@xxxxxxxxxxxxxxxxxxx
> <mailto:kicad-developers@xxxxxxxxxxxxxxxxxxx>>>>
> > > >>> >
> <mailto:kicad-developers@xxxxxxxxxxxxxxxxxxx
> <mailto:kicad-developers@xxxxxxxxxxxxxxxxxxx>
> > <mailto:kicad-developers@xxxxxxxxxxxxxxxxxxx
> <mailto:kicad-developers@xxxxxxxxxxxxxxxxxxx>>
> > > <mailto:kicad-developers@xxxxxxxxxxxxxxxxxxx
> <mailto:kicad-developers@xxxxxxxxxxxxxxxxxxx>
> > <mailto:kicad-developers@xxxxxxxxxxxxxxxxxxx
> <mailto:kicad-developers@xxxxxxxxxxxxxxxxxxx>>>
> > > >>> <mailto:kicad-developers@xxxxxxxxxxxxxxxxxxx
> <mailto:kicad-developers@xxxxxxxxxxxxxxxxxxx>
> > <mailto:kicad-developers@xxxxxxxxxxxxxxxxxxx
> <mailto:kicad-developers@xxxxxxxxxxxxxxxxxxx>>
> > > <mailto:kicad-developers@xxxxxxxxxxxxxxxxxxx
> <mailto:kicad-developers@xxxxxxxxxxxxxxxxxxx>
> > <mailto:kicad-developers@xxxxxxxxxxxxxxxxxxx
> <mailto:kicad-developers@xxxxxxxxxxxxxxxxxxx>>>>>
> > > >>> > >>> >> Unsubscribe :
> > https://launchpad.net/~kicad-
> > > >> developers
> > > >>> <https://launchpad.net/~kicad-developers
> <https://launchpad.net/~kicad-developers>
> > <https://launchpad.net/~kicad-developers
> <https://launchpad.net/~kicad-developers>>
> > > <https://launchpad.net/~kicad-developers
> <https://launchpad.net/~kicad-developers>
> > <https://launchpad.net/~kicad-developers
> <https://launchpad.net/~kicad-developers>>>>
> > > >>> >
> <https://launchpad.net/~kicad-developers
> <https://launchpad.net/~kicad-developers>
> > <https://launchpad.net/~kicad-developers
> <https://launchpad.net/~kicad-developers>>
> > > <https://launchpad.net/~kicad-developers
> <https://launchpad.net/~kicad-developers>
> > <https://launchpad.net/~kicad-developers
> <https://launchpad.net/~kicad-developers>>>
> > > >>> <https://launchpad.net/~kicad-developers
> <https://launchpad.net/~kicad-developers>
> > <https://launchpad.net/~kicad-developers
> <https://launchpad.net/~kicad-developers>>
> > > <https://launchpad.net/~kicad-developers
> <https://launchpad.net/~kicad-developers>
> > <https://launchpad.net/~kicad-developers
> <https://launchpad.net/~kicad-developers>>>>>
> > > >>> > >>> >> More help :
> > > https://help.launchpad.net/ListHelp
> <https://help.launchpad.net/ListHelp>
> > <https://help.launchpad.net/ListHelp
> <https://help.launchpad.net/ListHelp>>
> > > <https://help.launchpad.net/ListHelp
> <https://help.launchpad.net/ListHelp>
> > <https://help.launchpad.net/ListHelp
> <https://help.launchpad.net/ListHelp>>>
> > > >>> <https://help.launchpad.net/ListHelp
> <https://help.launchpad.net/ListHelp>
> > <https://help.launchpad.net/ListHelp
> <https://help.launchpad.net/ListHelp>>
> > > <https://help.launchpad.net/ListHelp
> <https://help.launchpad.net/ListHelp>
> > <https://help.launchpad.net/ListHelp
> <https://help.launchpad.net/ListHelp>>>>
> > > >>> > <https://help.launchpad.net/ListHelp
> <https://help.launchpad.net/ListHelp>
> > <https://help.launchpad.net/ListHelp
> <https://help.launchpad.net/ListHelp>>
> > > <https://help.launchpad.net/ListHelp
> <https://help.launchpad.net/ListHelp>
> > <https://help.launchpad.net/ListHelp
> <https://help.launchpad.net/ListHelp>>>
> > > >>> <https://help.launchpad.net/ListHelp
> <https://help.launchpad.net/ListHelp>
> > <https://help.launchpad.net/ListHelp
> <https://help.launchpad.net/ListHelp>>
> > > <https://help.launchpad.net/ListHelp
> <https://help.launchpad.net/ListHelp>
> > <https://help.launchpad.net/ListHelp
> <https://help.launchpad.net/ListHelp>>>>>
> > > >>> > >>> >>
> > > >>> > >>> >
> > > >>> > >>> >
> > > >>> > >>> >
> > > >>> > >>> >
> > _______________________________________________
> > > >>> > >>> > Mailing list:
> > https://launchpad.net/~kicad-
> > > >> developers
> > > >>> <https://launchpad.net/~kicad-developers
> <https://launchpad.net/~kicad-developers>
> > <https://launchpad.net/~kicad-developers
> <https://launchpad.net/~kicad-developers>>
> > > <https://launchpad.net/~kicad-developers
> <https://launchpad.net/~kicad-developers>
> > <https://launchpad.net/~kicad-developers
> <https://launchpad.net/~kicad-developers>>>>
> > > >>> >
> <https://launchpad.net/~kicad-developers
> <https://launchpad.net/~kicad-developers>
> > <https://launchpad.net/~kicad-developers
> <https://launchpad.net/~kicad-developers>>
> > > <https://launchpad.net/~kicad-developers
> <https://launchpad.net/~kicad-developers>
> > <https://launchpad.net/~kicad-developers
> <https://launchpad.net/~kicad-developers>>>
> > > >>> <https://launchpad.net/~kicad-developers
> <https://launchpad.net/~kicad-developers>
> > <https://launchpad.net/~kicad-developers
> <https://launchpad.net/~kicad-developers>>
> > > <https://launchpad.net/~kicad-developers
> <https://launchpad.net/~kicad-developers>
> > <https://launchpad.net/~kicad-developers
> <https://launchpad.net/~kicad-developers>>>>>
> > > >>> > >>> > Post to :
> > > kicad-developers@xxxxxxxxxxxxxxxxxxx
> <mailto:kicad-developers@xxxxxxxxxxxxxxxxxxx>
> > <mailto:kicad-developers@xxxxxxxxxxxxxxxxxxx
> <mailto:kicad-developers@xxxxxxxxxxxxxxxxxxx>>
> > > <mailto:kicad-developers@xxxxxxxxxxxxxxxxxxx
> <mailto:kicad-developers@xxxxxxxxxxxxxxxxxxx>
> > <mailto:kicad-developers@xxxxxxxxxxxxxxxxxxx
> <mailto:kicad-developers@xxxxxxxxxxxxxxxxxxx>>>
> > > >>> <mailto:kicad-developers@xxxxxxxxxxxxxxxxxxx
> <mailto:kicad-developers@xxxxxxxxxxxxxxxxxxx>
> > <mailto:kicad-developers@xxxxxxxxxxxxxxxxxxx
> <mailto:kicad-developers@xxxxxxxxxxxxxxxxxxx>>
> > > <mailto:kicad-developers@xxxxxxxxxxxxxxxxxxx
> <mailto:kicad-developers@xxxxxxxxxxxxxxxxxxx>
> > <mailto:kicad-developers@xxxxxxxxxxxxxxxxxxx
> <mailto:kicad-developers@xxxxxxxxxxxxxxxxxxx>>>>
> > > >>> >
> <mailto:kicad-developers@xxxxxxxxxxxxxxxxxxx
> <mailto:kicad-developers@xxxxxxxxxxxxxxxxxxx>
> > <mailto:kicad-developers@xxxxxxxxxxxxxxxxxxx
> <mailto:kicad-developers@xxxxxxxxxxxxxxxxxxx>>
> > > <mailto:kicad-developers@xxxxxxxxxxxxxxxxxxx
> <mailto:kicad-developers@xxxxxxxxxxxxxxxxxxx>
> > <mailto:kicad-developers@xxxxxxxxxxxxxxxxxxx
> <mailto:kicad-developers@xxxxxxxxxxxxxxxxxxx>>>
> > > >>> <mailto:kicad-developers@xxxxxxxxxxxxxxxxxxx
> <mailto:kicad-developers@xxxxxxxxxxxxxxxxxxx>
> > <mailto:kicad-developers@xxxxxxxxxxxxxxxxxxx
> <mailto:kicad-developers@xxxxxxxxxxxxxxxxxxx>>
> > > <mailto:kicad-developers@xxxxxxxxxxxxxxxxxxx
> <mailto:kicad-developers@xxxxxxxxxxxxxxxxxxx>
> > <mailto:kicad-developers@xxxxxxxxxxxxxxxxxxx
> <mailto:kicad-developers@xxxxxxxxxxxxxxxxxxx>>>>>
> > > >>> > >>> > Unsubscribe :
> > https://launchpad.net/~kicad-
> > > >> developers
> > > >>> <https://launchpad.net/~kicad-developers
> <https://launchpad.net/~kicad-developers>
> > <https://launchpad.net/~kicad-developers
> <https://launchpad.net/~kicad-developers>>
> > > <https://launchpad.net/~kicad-developers
> <https://launchpad.net/~kicad-developers>
> > <https://launchpad.net/~kicad-developers
> <https://launchpad.net/~kicad-developers>>>>
> > > >>> >
> <https://launchpad.net/~kicad-developers
> <https://launchpad.net/~kicad-developers>
> > <https://launchpad.net/~kicad-developers
> <https://launchpad.net/~kicad-developers>>
> > > <https://launchpad.net/~kicad-developers
> <https://launchpad.net/~kicad-developers>
> > <https://launchpad.net/~kicad-developers
> <https://launchpad.net/~kicad-developers>>>
> > > >>> <https://launchpad.net/~kicad-developers
> <https://launchpad.net/~kicad-developers>
> > <https://launchpad.net/~kicad-developers
> <https://launchpad.net/~kicad-developers>>
> > > <https://launchpad.net/~kicad-developers
> <https://launchpad.net/~kicad-developers>
> > <https://launchpad.net/~kicad-developers
> <https://launchpad.net/~kicad-developers>>>>>
> > > >>> > >>> > More help :
> > > https://help.launchpad.net/ListHelp
> <https://help.launchpad.net/ListHelp>
> > <https://help.launchpad.net/ListHelp
> <https://help.launchpad.net/ListHelp>>
> > > <https://help.launchpad.net/ListHelp
> <https://help.launchpad.net/ListHelp>
> > <https://help.launchpad.net/ListHelp
> <https://help.launchpad.net/ListHelp>>>
> > > >>> <https://help.launchpad.net/ListHelp
> <https://help.launchpad.net/ListHelp>
> > <https://help.launchpad.net/ListHelp
> <https://help.launchpad.net/ListHelp>>
> > > <https://help.launchpad.net/ListHelp
> <https://help.launchpad.net/ListHelp>
> > <https://help.launchpad.net/ListHelp
> <https://help.launchpad.net/ListHelp>>>>
> > > >>> > <https://help.launchpad.net/ListHelp
> <https://help.launchpad.net/ListHelp>
> > <https://help.launchpad.net/ListHelp
> <https://help.launchpad.net/ListHelp>>
> > > <https://help.launchpad.net/ListHelp
> <https://help.launchpad.net/ListHelp>
> > <https://help.launchpad.net/ListHelp
> <https://help.launchpad.net/ListHelp>>>
> > > >>> <https://help.launchpad.net/ListHelp
> <https://help.launchpad.net/ListHelp>
> > <https://help.launchpad.net/ListHelp
> <https://help.launchpad.net/ListHelp>>
> > > <https://help.launchpad.net/ListHelp
> <https://help.launchpad.net/ListHelp>
> > <https://help.launchpad.net/ListHelp
> <https://help.launchpad.net/ListHelp>>>>>
> > > >>> > >>> >
> > > >>> > >>>
> > > >>> > >>> _______________________________________________
> > > >>> > >>> Mailing list:
> > > https://launchpad.net/~kicad-developers
> <https://launchpad.net/~kicad-developers>
> > <https://launchpad.net/~kicad-developers
> <https://launchpad.net/~kicad-developers>>
> > > <https://launchpad.net/~kicad-developers
> <https://launchpad.net/~kicad-developers>
> > <https://launchpad.net/~kicad-developers
> <https://launchpad.net/~kicad-developers>>>
> > > >>> <https://launchpad.net/~kicad-developers
> <https://launchpad.net/~kicad-developers>
> > <https://launchpad.net/~kicad-developers
> <https://launchpad.net/~kicad-developers>>
> > > <https://launchpad.net/~kicad-developers
> <https://launchpad.net/~kicad-developers>
> > <https://launchpad.net/~kicad-developers
> <https://launchpad.net/~kicad-developers>>>>
> > > >>> > <https://launchpad.net/~kicad-developers
> <https://launchpad.net/~kicad-developers>
> > <https://launchpad.net/~kicad-developers
> <https://launchpad.net/~kicad-developers>>
> > > <https://launchpad.net/~kicad-developers
> <https://launchpad.net/~kicad-developers>
> > <https://launchpad.net/~kicad-developers
> <https://launchpad.net/~kicad-developers>>>
> > > >>> <https://launchpad.net/~kicad-developers
> <https://launchpad.net/~kicad-developers>
> > <https://launchpad.net/~kicad-developers
> <https://launchpad.net/~kicad-developers>>
> > > <https://launchpad.net/~kicad-developers
> <https://launchpad.net/~kicad-developers>
> > <https://launchpad.net/~kicad-developers
> <https://launchpad.net/~kicad-developers>>>>>
> > > >>> > >>> Post to :
> > > kicad-developers@xxxxxxxxxxxxxxxxxxx
> <mailto:kicad-developers@xxxxxxxxxxxxxxxxxxx>
> > <mailto:kicad-developers@xxxxxxxxxxxxxxxxxxx
> <mailto:kicad-developers@xxxxxxxxxxxxxxxxxxx>>
> > > <mailto:kicad-developers@xxxxxxxxxxxxxxxxxxx
> <mailto:kicad-developers@xxxxxxxxxxxxxxxxxxx>
> > <mailto:kicad-developers@xxxxxxxxxxxxxxxxxxx
> <mailto:kicad-developers@xxxxxxxxxxxxxxxxxxx>>>
> > > >>> <mailto:kicad-developers@xxxxxxxxxxxxxxxxxxx
> <mailto:kicad-developers@xxxxxxxxxxxxxxxxxxx>
> > <mailto:kicad-developers@xxxxxxxxxxxxxxxxxxx
> <mailto:kicad-developers@xxxxxxxxxxxxxxxxxxx>>
> > > <mailto:kicad-developers@xxxxxxxxxxxxxxxxxxx
> <mailto:kicad-developers@xxxxxxxxxxxxxxxxxxx>
> > <mailto:kicad-developers@xxxxxxxxxxxxxxxxxxx
> <mailto:kicad-developers@xxxxxxxxxxxxxxxxxxx>>>>
> > > >>> > <mailto:kicad-developers@xxxxxxxxxxxxxxxxxxx
> <mailto:kicad-developers@xxxxxxxxxxxxxxxxxxx>
> > <mailto:kicad-developers@xxxxxxxxxxxxxxxxxxx
> <mailto:kicad-developers@xxxxxxxxxxxxxxxxxxx>>
> > > <mailto:kicad-developers@xxxxxxxxxxxxxxxxxxx
> <mailto:kicad-developers@xxxxxxxxxxxxxxxxxxx>
> > <mailto:kicad-developers@xxxxxxxxxxxxxxxxxxx
> <mailto:kicad-developers@xxxxxxxxxxxxxxxxxxx>>>
> > > >>> <mailto:kicad-developers@xxxxxxxxxxxxxxxxxxx
> <mailto:kicad-developers@xxxxxxxxxxxxxxxxxxx>
> > <mailto:kicad-developers@xxxxxxxxxxxxxxxxxxx
> <mailto:kicad-developers@xxxxxxxxxxxxxxxxxxx>>
> > > <mailto:kicad-developers@xxxxxxxxxxxxxxxxxxx
> <mailto:kicad-developers@xxxxxxxxxxxxxxxxxxx>
> > <mailto:kicad-developers@xxxxxxxxxxxxxxxxxxx
> <mailto:kicad-developers@xxxxxxxxxxxxxxxxxxx>>>>>
> > > >>> > >>> Unsubscribe :
> > > https://launchpad.net/~kicad-developers
> <https://launchpad.net/~kicad-developers>
> > <https://launchpad.net/~kicad-developers
> <https://launchpad.net/~kicad-developers>>
> > > <https://launchpad.net/~kicad-developers
> <https://launchpad.net/~kicad-developers>
> > <https://launchpad.net/~kicad-developers
> <https://launchpad.net/~kicad-developers>>>
> > > >>> <https://launchpad.net/~kicad-developers
> <https://launchpad.net/~kicad-developers>
> > <https://launchpad.net/~kicad-developers
> <https://launchpad.net/~kicad-developers>>
> > > <https://launchpad.net/~kicad-developers
> <https://launchpad.net/~kicad-developers>
> > <https://launchpad.net/~kicad-developers
> <https://launchpad.net/~kicad-developers>>>>
> > > >>> >
> <https://launchpad.net/~kicad-developers
> <https://launchpad.net/~kicad-developers>
> > <https://launchpad.net/~kicad-developers
> <https://launchpad.net/~kicad-developers>>
> > > <https://launchpad.net/~kicad-developers
> <https://launchpad.net/~kicad-developers>
> > <https://launchpad.net/~kicad-developers
> <https://launchpad.net/~kicad-developers>>>
> > > >>> <https://launchpad.net/~kicad-developers
> <https://launchpad.net/~kicad-developers>
> > <https://launchpad.net/~kicad-developers
> <https://launchpad.net/~kicad-developers>>
> > > <https://launchpad.net/~kicad-developers
> <https://launchpad.net/~kicad-developers>
> > <https://launchpad.net/~kicad-developers
> <https://launchpad.net/~kicad-developers>>>>>
> > > >>> > >>> More help :
> > > https://help.launchpad.net/ListHelp
> <https://help.launchpad.net/ListHelp>
> > <https://help.launchpad.net/ListHelp
> <https://help.launchpad.net/ListHelp>>
> > > <https://help.launchpad.net/ListHelp
> <https://help.launchpad.net/ListHelp>
> > <https://help.launchpad.net/ListHelp
> <https://help.launchpad.net/ListHelp>>>
> > > >>> <https://help.launchpad.net/ListHelp
> <https://help.launchpad.net/ListHelp>
> > <https://help.launchpad.net/ListHelp
> <https://help.launchpad.net/ListHelp>>
> > > <https://help.launchpad.net/ListHelp
> <https://help.launchpad.net/ListHelp>
> > <https://help.launchpad.net/ListHelp
> <https://help.launchpad.net/ListHelp>>>>
> > > >>> > <https://help.launchpad.net/ListHelp
> <https://help.launchpad.net/ListHelp>
> > <https://help.launchpad.net/ListHelp
> <https://help.launchpad.net/ListHelp>>
> > > <https://help.launchpad.net/ListHelp
> <https://help.launchpad.net/ListHelp>
> > <https://help.launchpad.net/ListHelp
> <https://help.launchpad.net/ListHelp>>>
> > > >>> <https://help.launchpad.net/ListHelp
> <https://help.launchpad.net/ListHelp>
> > <https://help.launchpad.net/ListHelp
> <https://help.launchpad.net/ListHelp>>
> > > <https://help.launchpad.net/ListHelp
> <https://help.launchpad.net/ListHelp>
> > <https://help.launchpad.net/ListHelp
> <https://help.launchpad.net/ListHelp>>>>>
> > > >>> > >>
> > > >>> > >>
> > > >>> > >
> > > >>> > >
> > > >>> > > _______________________________________________
> > > >>> > > Mailing list:
> > > https://launchpad.net/~kicad-developers
> <https://launchpad.net/~kicad-developers>
> > <https://launchpad.net/~kicad-developers
> <https://launchpad.net/~kicad-developers>>
> > > <https://launchpad.net/~kicad-developers
> <https://launchpad.net/~kicad-developers>
> > <https://launchpad.net/~kicad-developers
> <https://launchpad.net/~kicad-developers>>>
> > > >>> <https://launchpad.net/~kicad-developers
> <https://launchpad.net/~kicad-developers>
> > <https://launchpad.net/~kicad-developers
> <https://launchpad.net/~kicad-developers>>
> > > <https://launchpad.net/~kicad-developers
> <https://launchpad.net/~kicad-developers>
> > <https://launchpad.net/~kicad-developers
> <https://launchpad.net/~kicad-developers>>>>
> > > >>> > <https://launchpad.net/~kicad-developers
> <https://launchpad.net/~kicad-developers>
> > <https://launchpad.net/~kicad-developers
> <https://launchpad.net/~kicad-developers>>
> > > <https://launchpad.net/~kicad-developers
> <https://launchpad.net/~kicad-developers>
> > <https://launchpad.net/~kicad-developers
> <https://launchpad.net/~kicad-developers>>>
> > > >>> <https://launchpad.net/~kicad-developers
> <https://launchpad.net/~kicad-developers>
> > <https://launchpad.net/~kicad-developers
> <https://launchpad.net/~kicad-developers>>
> > > <https://launchpad.net/~kicad-developers
> <https://launchpad.net/~kicad-developers>
> > <https://launchpad.net/~kicad-developers
> <https://launchpad.net/~kicad-developers>>>>>
> > > >>> > > Post to :
> > > kicad-developers@xxxxxxxxxxxxxxxxxxx
> <mailto:kicad-developers@xxxxxxxxxxxxxxxxxxx>
> > <mailto:kicad-developers@xxxxxxxxxxxxxxxxxxx
> <mailto:kicad-developers@xxxxxxxxxxxxxxxxxxx>>
> > > <mailto:kicad-developers@xxxxxxxxxxxxxxxxxxx
> <mailto:kicad-developers@xxxxxxxxxxxxxxxxxxx>
> > <mailto:kicad-developers@xxxxxxxxxxxxxxxxxxx
> <mailto:kicad-developers@xxxxxxxxxxxxxxxxxxx>>>
> > > >>> <mailto:kicad-developers@xxxxxxxxxxxxxxxxxxx
> <mailto:kicad-developers@xxxxxxxxxxxxxxxxxxx>
> > <mailto:kicad-developers@xxxxxxxxxxxxxxxxxxx
> <mailto:kicad-developers@xxxxxxxxxxxxxxxxxxx>>
> > > <mailto:kicad-developers@xxxxxxxxxxxxxxxxxxx
> <mailto:kicad-developers@xxxxxxxxxxxxxxxxxxx>
> > <mailto:kicad-developers@xxxxxxxxxxxxxxxxxxx
> <mailto:kicad-developers@xxxxxxxxxxxxxxxxxxx>>>>
> > > >>> > <mailto:kicad-developers@xxxxxxxxxxxxxxxxxxx
> <mailto:kicad-developers@xxxxxxxxxxxxxxxxxxx>
> > <mailto:kicad-developers@xxxxxxxxxxxxxxxxxxx
> <mailto:kicad-developers@xxxxxxxxxxxxxxxxxxx>>
> > > <mailto:kicad-developers@xxxxxxxxxxxxxxxxxxx
> <mailto:kicad-developers@xxxxxxxxxxxxxxxxxxx>
> > <mailto:kicad-developers@xxxxxxxxxxxxxxxxxxx
> <mailto:kicad-developers@xxxxxxxxxxxxxxxxxxx>>>
> > > >>> <mailto:kicad-developers@xxxxxxxxxxxxxxxxxxx
> <mailto:kicad-developers@xxxxxxxxxxxxxxxxxxx>
> > <mailto:kicad-developers@xxxxxxxxxxxxxxxxxxx
> <mailto:kicad-developers@xxxxxxxxxxxxxxxxxxx>>
> > > <mailto:kicad-developers@xxxxxxxxxxxxxxxxxxx
> <mailto:kicad-developers@xxxxxxxxxxxxxxxxxxx>
> > <mailto:kicad-developers@xxxxxxxxxxxxxxxxxxx
> <mailto:kicad-developers@xxxxxxxxxxxxxxxxxxx>>>>>
> > > >>> > > Unsubscribe :
> > > https://launchpad.net/~kicad-developers
> <https://launchpad.net/~kicad-developers>
> > <https://launchpad.net/~kicad-developers
> <https://launchpad.net/~kicad-developers>>
> > > <https://launchpad.net/~kicad-developers
> <https://launchpad.net/~kicad-developers>
> > <https://launchpad.net/~kicad-developers
> <https://launchpad.net/~kicad-developers>>>
> > > >>> <https://launchpad.net/~kicad-developers
> <https://launchpad.net/~kicad-developers>
> > <https://launchpad.net/~kicad-developers
> <https://launchpad.net/~kicad-developers>>
> > > <https://launchpad.net/~kicad-developers
> <https://launchpad.net/~kicad-developers>
> > <https://launchpad.net/~kicad-developers
> <https://launchpad.net/~kicad-developers>>>>
> > > >>> >
> <https://launchpad.net/~kicad-developers
> <https://launchpad.net/~kicad-developers>
> > <https://launchpad.net/~kicad-developers
> <https://launchpad.net/~kicad-developers>>
> > > <https://launchpad.net/~kicad-developers
> <https://launchpad.net/~kicad-developers>
> > <https://launchpad.net/~kicad-developers
> <https://launchpad.net/~kicad-developers>>>
> > > >>> <https://launchpad.net/~kicad-developers
> <https://launchpad.net/~kicad-developers>
> > <https://launchpad.net/~kicad-developers
> <https://launchpad.net/~kicad-developers>>
> > > <https://launchpad.net/~kicad-developers
> <https://launchpad.net/~kicad-developers>
> > <https://launchpad.net/~kicad-developers
> <https://launchpad.net/~kicad-developers>>>>>
> > > >>> > > More help :
> > > https://help.launchpad.net/ListHelp
> <https://help.launchpad.net/ListHelp>
> > <https://help.launchpad.net/ListHelp
> <https://help.launchpad.net/ListHelp>>
> > > <https://help.launchpad.net/ListHelp
> <https://help.launchpad.net/ListHelp>
> > <https://help.launchpad.net/ListHelp
> <https://help.launchpad.net/ListHelp>>>
> > > >>> <https://help.launchpad.net/ListHelp
> <https://help.launchpad.net/ListHelp>
> > <https://help.launchpad.net/ListHelp
> <https://help.launchpad.net/ListHelp>>
> > > <https://help.launchpad.net/ListHelp
> <https://help.launchpad.net/ListHelp>
> > <https://help.launchpad.net/ListHelp
> <https://help.launchpad.net/ListHelp>>>>
> > > >>> > <https://help.launchpad.net/ListHelp
> <https://help.launchpad.net/ListHelp>
> > <https://help.launchpad.net/ListHelp
> <https://help.launchpad.net/ListHelp>>
> > > <https://help.launchpad.net/ListHelp
> <https://help.launchpad.net/ListHelp>
> > <https://help.launchpad.net/ListHelp
> <https://help.launchpad.net/ListHelp>>>
> > > >>> <https://help.launchpad.net/ListHelp
> <https://help.launchpad.net/ListHelp>
> > <https://help.launchpad.net/ListHelp
> <https://help.launchpad.net/ListHelp>>
> > > <https://help.launchpad.net/ListHelp
> <https://help.launchpad.net/ListHelp>
> > <https://help.launchpad.net/ListHelp
> <https://help.launchpad.net/ListHelp>>>>>
> > > >>> > >
> > > >>> >
> > > >>> >
> > > >>> >
> > > >>>
> > > >>>
> > > >>
> > > >
> > > >
> > > >
> > > > _______________________________________________
> > > > Mailing list: https://launchpad.net/~kicad-developers
> <https://launchpad.net/~kicad-developers>
> > <https://launchpad.net/~kicad-developers
> <https://launchpad.net/~kicad-developers>>
> > > <https://launchpad.net/~kicad-developers
> <https://launchpad.net/~kicad-developers>
> > <https://launchpad.net/~kicad-developers
> <https://launchpad.net/~kicad-developers>>>
> > > > Post to : kicad-developers@xxxxxxxxxxxxxxxxxxx
> <mailto:kicad-developers@xxxxxxxxxxxxxxxxxxx>
> > <mailto:kicad-developers@xxxxxxxxxxxxxxxxxxx
> <mailto:kicad-developers@xxxxxxxxxxxxxxxxxxx>>
> > > <mailto:kicad-developers@xxxxxxxxxxxxxxxxxxx
> <mailto:kicad-developers@xxxxxxxxxxxxxxxxxxx>
> > <mailto:kicad-developers@xxxxxxxxxxxxxxxxxxx
> <mailto:kicad-developers@xxxxxxxxxxxxxxxxxxx>>>
> > > > Unsubscribe : https://launchpad.net/~kicad-developers
> <https://launchpad.net/~kicad-developers>
> > <https://launchpad.net/~kicad-developers
> <https://launchpad.net/~kicad-developers>>
> > > <https://launchpad.net/~kicad-developers
> <https://launchpad.net/~kicad-developers>
> > <https://launchpad.net/~kicad-developers
> <https://launchpad.net/~kicad-developers>>>
> > > > More help : https://help.launchpad.net/ListHelp
> <https://help.launchpad.net/ListHelp>
> > <https://help.launchpad.net/ListHelp
> <https://help.launchpad.net/ListHelp>>
> > > <https://help.launchpad.net/ListHelp
> <https://help.launchpad.net/ListHelp>
> > <https://help.launchpad.net/ListHelp
> <https://help.launchpad.net/ListHelp>>>
> > > >
> > >
> > >
> > >
> > > _______________________________________________
> > > Mailing list: https://launchpad.net/~kicad-developers
> <https://launchpad.net/~kicad-developers>
> > <https://launchpad.net/~kicad-developers
> <https://launchpad.net/~kicad-developers>>
> > > <https://launchpad.net/~kicad-developers
> <https://launchpad.net/~kicad-developers>
> > <https://launchpad.net/~kicad-developers
> <https://launchpad.net/~kicad-developers>>>
> > > Post to : kicad-developers@xxxxxxxxxxxxxxxxxxx
> <mailto:kicad-developers@xxxxxxxxxxxxxxxxxxx>
> > <mailto:kicad-developers@xxxxxxxxxxxxxxxxxxx
> <mailto:kicad-developers@xxxxxxxxxxxxxxxxxxx>>
> > > <mailto:kicad-developers@xxxxxxxxxxxxxxxxxxx
> <mailto:kicad-developers@xxxxxxxxxxxxxxxxxxx>
> > <mailto:kicad-developers@xxxxxxxxxxxxxxxxxxx
> <mailto:kicad-developers@xxxxxxxxxxxxxxxxxxx>>>
> > > Unsubscribe : https://launchpad.net/~kicad-developers
> <https://launchpad.net/~kicad-developers>
> > <https://launchpad.net/~kicad-developers
> <https://launchpad.net/~kicad-developers>>
> > > <https://launchpad.net/~kicad-developers
> <https://launchpad.net/~kicad-developers>
> > <https://launchpad.net/~kicad-developers
> <https://launchpad.net/~kicad-developers>>>
> > > More help : https://help.launchpad.net/ListHelp
> <https://help.launchpad.net/ListHelp>
> > <https://help.launchpad.net/ListHelp
> <https://help.launchpad.net/ListHelp>>
> > > <https://help.launchpad.net/ListHelp
> <https://help.launchpad.net/ListHelp>
> > <https://help.launchpad.net/ListHelp
> <https://help.launchpad.net/ListHelp>>>
> > >
> > >
> > >
> > >
> > > _______________________________________________
> > > Mailing list: https://launchpad.net/~kicad-developers
> <https://launchpad.net/~kicad-developers>
> > <https://launchpad.net/~kicad-developers
> <https://launchpad.net/~kicad-developers>>
> > > Post to : kicad-developers@xxxxxxxxxxxxxxxxxxx
> <mailto:kicad-developers@xxxxxxxxxxxxxxxxxxx>
> > <mailto:kicad-developers@xxxxxxxxxxxxxxxxxxx
> <mailto:kicad-developers@xxxxxxxxxxxxxxxxxxx>>
> > > Unsubscribe : https://launchpad.net/~kicad-developers
> <https://launchpad.net/~kicad-developers>
> > <https://launchpad.net/~kicad-developers
> <https://launchpad.net/~kicad-developers>>
> > > More help : https://help.launchpad.net/ListHelp
> <https://help.launchpad.net/ListHelp>
> > <https://help.launchpad.net/ListHelp
> <https://help.launchpad.net/ListHelp>>
> > >
> >
> > _______________________________________________
> > Mailing list: https://launchpad.net/~kicad-developers
> <https://launchpad.net/~kicad-developers>
> > <https://launchpad.net/~kicad-developers
> <https://launchpad.net/~kicad-developers>>
> > Post to : kicad-developers@xxxxxxxxxxxxxxxxxxx
> <mailto:kicad-developers@xxxxxxxxxxxxxxxxxxx>
> > <mailto:kicad-developers@xxxxxxxxxxxxxxxxxxx
> <mailto:kicad-developers@xxxxxxxxxxxxxxxxxxx>>
> > Unsubscribe : https://launchpad.net/~kicad-developers
> <https://launchpad.net/~kicad-developers>
> > <https://launchpad.net/~kicad-developers
> <https://launchpad.net/~kicad-developers>>
> > More help : https://help.launchpad.net/ListHelp
> <https://help.launchpad.net/ListHelp>
> > <https://help.launchpad.net/ListHelp
> <https://help.launchpad.net/ListHelp>>
> >
> >
>
>
Follow ups
References
-
[PATCH] Refactor LAYER_ID to be the one and only layer definition
From: Jon Evans, 2017-03-13
-
Re: [PATCH] Refactor LAYER_ID to be the one and only layer definition
From: Jon Evans, 2017-03-14
-
Re: [PATCH] Refactor LAYER_ID to be the one and only layer definition
From: John Beard, 2017-03-14
-
Re: [PATCH] Refactor LAYER_ID to be the one and only layer definition
From: Jon Evans, 2017-03-14
-
Re: [PATCH] Refactor LAYER_ID to be the one and only layer definition
From: Jon Evans, 2017-03-14
-
Re: [PATCH] Refactor LAYER_ID to be the one and only layer definition
From: Wayne Stambaugh, 2017-03-14
-
Re: [PATCH] Refactor LAYER_ID to be the one and only layer definition
From: Jon Evans, 2017-03-16
-
Re: [PATCH] Refactor LAYER_ID to be the one and only layer definition
From: Wayne Stambaugh, 2017-03-21
-
Re: [PATCH] Refactor LAYER_ID to be the one and only layer definition
From: Jon Evans, 2017-03-22
-
Re: [PATCH] Refactor LAYER_ID to be the one and only layer definition
From: Maciej Sumiński, 2017-03-22
-
Re: [PATCH] Refactor LAYER_ID to be the one and only layer definition
From: Jon Evans, 2017-03-24
-
Re: [PATCH] Refactor LAYER_ID to be the one and only layer definition
From: Wayne Stambaugh, 2017-03-28
-
Re: [PATCH] Refactor LAYER_ID to be the one and only layer definition
From: Jon Evans, 2017-03-28
-
Re: [PATCH] Refactor LAYER_ID to be the one and only layer definition
From: Wayne Stambaugh, 2017-03-28
-
Re: [PATCH] Refactor LAYER_ID to be the one and only layer definition
From: Jon Evans, 2017-03-28