← Back to team overview

kicad-developers team mailing list archive

Re: [PATCH] Add live footprint filtering in modview window

 

I already removed the patches from my dev branch so I could work on my
stuff.  I will try to get a stack dump when I get a chance.

On 11/22/2017 07:33 AM, Oliver Walters wrote:
> Wayne,
> 
> That's disappointing. Any further debug info you can provide?
> 
> On Wed, Nov 22, 2017 at 11:31 PM, Wayne Stambaugh <stambaughw@xxxxxxxxx
> <mailto:stambaughw@xxxxxxxxx>> wrote:
> 
>     Oliver,
> 
>     I tested your footprint filtering patch set last night and it didn't go
>     very well.  The very first letter I typed ('r') in the filter control
>     caused kicad to crash so it's not ready just yet.
> 
>     Cheers,
> 
>     Wayne
> 
>     On 11/20/2017 06:57 PM, Oliver Walters wrote:
>     > Wayne,
>     >
>     > Friendly bump in case this has been forgotten - this thread has wandered
>     > around a fair bit. Patches 0001 through 0008 are in the email above.
>     >
>     > Thanks
>     >
>     > On Fri, Nov 17, 2017 at 11:05 PM, Oliver Walters
>     > <oliver.henry.walters@xxxxxxxxx
>     <mailto:oliver.henry.walters@xxxxxxxxx>
>     <mailto:oliver.henry.walters@xxxxxxxxx
>     <mailto:oliver.henry.walters@xxxxxxxxx>>>
>     > wrote:
>     >
>     >     Wayne,
>     >
>     >     Please ignore the previous patch sets. I have made further tweaks
>     >     and the attached patch set 0001 through 0008 should be considered
>     >     canonical.
>     >     .
>     >     I have fixed a couple of pointer errors, and have also dropped the
>     >     filter-by-library functionality. It was a bit hooky and I'd rather
>     >     submit a solid functional set of patches and don't have time to
>     >     investigate further.
>     >
>     >     I hope that the attached patch set meets your standards and can be
>     >     merged as-is :)
>     >
>     >     Thanks!
>     >
>     >     On Wed, Nov 1, 2017 at 11:21 AM, Wayne Stambaugh
>     >     <stambaughw@xxxxxxxxx <mailto:stambaughw@xxxxxxxxx>
>     <mailto:stambaughw@xxxxxxxxx <mailto:stambaughw@xxxxxxxxx>>> wrote:
>     >
>     >         On 10/31/2017 5:01 PM, Oliver Walters wrote:
>     >         > How should I proceed here then?
>     >         >
>     >         > I would like to see the various libraries being "cached"
>     in the
>     >         > background, but this is increasing the scope of the work
>     by a large factor.
>     >         >
>     >         > One thing I have noticed:
>     >         >
>     >         > In eeschema when you launch the component viewer, it (on
>     first run) maps
>     >         > and caches all the footprint libraries. This can take
>     AGES (especially
>     >         > on Windows). However on subsequent launches of the
>     component viewer it
>     >         > appears instantly. It appears to be keeping a static map
>     of the
>     >         > footprint library data.
>     >         >
>     >         > a) Would this be an acceptable approach for the
>     footprint viewer window
>     >
>     >         Sure.  Code reuse is a good thing.  I'm pretty sure the
>     threaded
>     >         footprint library code is split out from the component
>     chooser so it
>     >         should be reusable.
>     >
>     >         > b) What happens when the library data changes
>     externally? Does component
>     >         > viewer need to be reloaded?
>     >
>     >         No, only the library that changed gets reloaded the next
>     time it's
>     >         accessed.  It is not automatic.  I thought about using
>     >         wxFileWatcher but
>     >         that could be a lot of overhead for little net gain.  See the
>     >         pcb plugin
>     >         cache() functions.
>     >
>     >         > c) Can we globally perform this caching in a background
>     thread when
>     >         > KiCad launches? This will hide the large pauses (up to a
>     minute under
>     >         > Windows) from the user...
>     >
>     >         Yes, this should be done as a project element so that it
>     can be
>     >         accessed
>     >         from all of the main windows.  Please keep in mind, this could
>     >         be a lot
>     >         of work and given that we are nearing a stable 5 release
>     feature
>     >         freeze,
>     >         so if it's not by then it will not make it into the stable 5
>     >         release.
>     >
>     >         >
>     >         > Oliver
>     >         >
>     >         > On Tue, Oct 31, 2017 at 11:32 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>>>> wrote:
>     >         >
>     >         >     On 10/31/2017 1:25 AM, Oliver Walters wrote:
>     >         >     > Hmm, I had thought that there was a way to load only the *names* of
>     >         >     > footprints, rather than individually parsing each footprint file. It
>     >         >     > appears that this is not the case. Any suggestions on how the speed
>     >         >     > could be improved? Currently I'm reading out all the footprint names in
>     >         >     > each footprint library and only storing the names (wxString) rather than
>     >         >     > the MODULE* objects. However, I still have to parse the entire library
>     >         >     > on load.
>     >         >     >
>     >         >     > Ideally, I think it would be good to just read in the names, and then
>     >         >     > load and display individual MODULE objects on demand.. Is this possible?
>     >         >
>     >         >     This is possible (although not implemented) for library types (kicad,
>     >         >     geda) that use one file per footprint.  You could just read the file
>     >         >     names from the folder and load the files as required.  If you want to
>     >         >     search any other properties of the footprint, then you will have to load
>     >         >     all of the footprints anyway.  I don't know if this would be worth the
>     >         >     effort.
>     >         >
>     >         >     For library types that contain multiple footprints per file (legacy,
>     >         >     Eagle), this wouldn't make much sense.  Parsing the entire file just to
>     >         >     pick out the footprint names probably isn't going to save you very much
>     >         >     time.
>     >         >
>     >         >     >
>     >         >     > On Tue, Oct 31, 2017 at 10:40 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>>>>> wrote:
>     >         >     >
>     >         >     >     On 10/30/2017 5:23 PM, Oliver Walters wrote:
>     >         >     >     > Thanks for the suggestions on fixing the text. I
>     >         have that sorted. 
>     >         >     >     >
>     >         >     >     > I will look into different ways of caching
>     >         footprint data so it is quicker. 
>     >         >     >     >
>     >         >     >     > Wayne, I didn't know about FOOTPRINT_FILTER
>     I will
>     >         switch to using that
>     >         >     >     > instead (and provide regex search).
>     >         >     >
>     >         >     >     Thanks Oliver!
>     >         >     >
>     >         >     >     >
>     >         >     >     > On 31 Oct 2017 06:55, "Seth Hillbrand"
>     >         <seth.hillbrand@xxxxxxxxx
>     <mailto:seth.hillbrand@xxxxxxxxx> <mailto:seth.hillbrand@xxxxxxxxx
>     <mailto:seth.hillbrand@xxxxxxxxx>>
>     >         <mailto:seth.hillbrand@xxxxxxxxx
>     <mailto:seth.hillbrand@xxxxxxxxx> <mailto:seth.hillbrand@xxxxxxxxx
>     <mailto:seth.hillbrand@xxxxxxxxx>>>
>     >         >     <mailto:seth.hillbrand@xxxxxxxxx
>     <mailto:seth.hillbrand@xxxxxxxxx>
>     >         <mailto:seth.hillbrand@xxxxxxxxx
>     <mailto:seth.hillbrand@xxxxxxxxx>>
>     >         <mailto:seth.hillbrand@xxxxxxxxx
>     <mailto:seth.hillbrand@xxxxxxxxx> <mailto:seth.hillbrand@xxxxxxxxx
>     <mailto:seth.hillbrand@xxxxxxxxx>>>>
>     >         >     >     > <mailto:seth.hillbrand@xxxxxxxxx
>     <mailto:seth.hillbrand@xxxxxxxxx>
>     >         <mailto:seth.hillbrand@xxxxxxxxx
>     <mailto:seth.hillbrand@xxxxxxxxx>>
>     >         <mailto:seth.hillbrand@xxxxxxxxx
>     <mailto:seth.hillbrand@xxxxxxxxx> <mailto:seth.hillbrand@xxxxxxxxx
>     <mailto:seth.hillbrand@xxxxxxxxx>>>
>     >         >     <mailto:seth.hillbrand@xxxxxxxxx
>     <mailto:seth.hillbrand@xxxxxxxxx>
>     >         <mailto:seth.hillbrand@xxxxxxxxx
>     <mailto:seth.hillbrand@xxxxxxxxx>>
>     >         >     <mailto:seth.hillbrand@xxxxxxxxx
>     <mailto:seth.hillbrand@xxxxxxxxx>
>     >         <mailto:seth.hillbrand@xxxxxxxxx
>     <mailto:seth.hillbrand@xxxxxxxxx>>>>>> wrote:
>     >         >     >     >
>     >         >     >     >     On Mon, Oct 30, 2017 at 11:42 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:
>     >         >     >     >
>     >         >     >     >         On 10/30/2017 1:16 PM, Seth
>     Hillbrand wrote:
>     >         >     >     >         > Oliver, this is neat and very helpful.
>     >         >     >     >         >
>     >         >     >     >         > The greyed-out thing is a wx2.8 bug. 
>     >         You can work
>     >         >     >     around it by setting
>     >         >     >     >         > the foreground color when updating the
>     >         filter like
>     >         >     this:
>     >         >     >     >         >  
>     >         >     >     >         >  void
>     >         FOOTPRINT_VIEWER_FRAME::OnFilterUpdated(
>     >         >     >     wxCommandEvent& event )
>     >         >     >     >         >  {
>     >         >     >     >         > +    // Workaround wx2.8 bug showing
>     >         greyed color
>     >         >     >     >         > +    if( m_searchBox->GetValue() !=
>     >         >     >     m_searchBox->GetDescriptiveText() )
>     >         >     >     >         > +       
>     m_searchBox->SetForegroundColour(
>     >         >     >     >         >
>     m_searchBox->GetDefaultAttributes().colFg );
>     >         >     >     >         > +
>     >         >     >     >         >      // Filter is non case sensitive
>     >         >     >     >         >      wxString filter =
>     >         >     m_searchBox->GetValue().Lower();
>     >         >     >     >         >
>     >         >     >     >         > The searchbox handles resetting it to
>     >         grey on idle()
>     >         >     >     when the text is empty.
>     >         >     >     >
>     >         >     >     >         Don't you mean wx 3.0?  CMake should
>     not even
>     >         >     generate the
>     >         >     >     build
>     >         >     >     >         configuration files without wx 3.0
>     or greater.
>     >         >     >     >
>     >         >     >     >
>     >         >     >     >     Hmm... This was an issue back in 2.8 that
>     >         appears to be only
>     >         >     >     partly
>     >         >     >     >     fixed.  The workaround I suggest above is
>     >         functional
>     >         >     but, for
>     >         >     >     this,
>     >         >     >     >     we can also execute a cleaner fix by setting
>     >         the descriptive
>     >         >     >     text in
>     >         >     >     >     the declaration:
>     >         >     >     >
>     >         >     >     >     @@ -67,9 +67,10 @@ void
>     >         >     FOOTPRINT_VIEWER_FRAME::ReCreateHToolbar()
>     >         >     >     >                                      KiBitmap(
>     >         module_xpm ),
>     >         >     >     >                                      _( "Select
>     >         footprint to
>     >         >     >     browse" ) );
>     >         >     >     >      
>     >         >     >     >     -        m_searchBox = new wxSearchCtrl(
>     >         m_mainToolBar,
>     >         >     >     >     ID_MODVIEW_SEARCH_TEXT );
>     >         >     >     >     +        m_searchBox = new wxSearchCtrl(
>     >         m_mainToolBar,
>     >         >     >     >     ID_MODVIEW_SEARCH_TEXT,
>     >         >     >     >     +                _( "Enter filter
>     string" ) );
>     >         >     >     >              m_searchBox->SetMinSize(
>     wxSize( 250,
>     >         30 ) );
>     >         >     >     >     -        m_searchBox->SetDescriptiveText( _(
>     >         "Enter filter
>     >         >     >     string" ) );
>     >         >     >     >
>     >         >     >     >
>     >         >     >     >
>     >         >     >     >   
>      _______________________________________________
>     >         >     >     >     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>>>>
>     >         >     >     > 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>>>>
>     >         >     >     > 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>>>>
>     >         >     >     > 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>>>>
>     >         >     >     >
>     >         >     >
>     >         >     >
>     >         >     >     _______________________________________________
>     >         >     >     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>>>>
>     >         >     >     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>>>>
>     >         >     >     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>>>>
>     >         >     >     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>>>>
>     >         >     >
>     >         >     >
>     >         >
>     >         >
>     >
>     >
>     >
> 
> 


References