← Back to team overview

kicad-developers team mailing list archive

Re: KiCad Project Tree improvements

 

On 4/14/2013 9:57 PM, Dick Hollenbeck wrote:
> Pcbnew work is not a large task, because of our excellent foundations.
> Three man weeks approximately to do server and client.  It could be done
> in parallel with fp lib table work, but would only be functional within
> pcbnew after fp lib table is done.  Scaffolding would allow parallel
> development.

Three weeks seems pretty aggressive.  It may be possible as long as you
don't hit any snags along the way.  I always seem to manage to run into
those.  I keep telling myself it's a gift :)

The footprint lib table work is not progressing as quickly as I would
have hoped.  I had to clean up the netlist code in Pcbnew before I would
even consider adding the FPID object to it.  My guess is I will find
other bumps in road along way before I'm done.  The footprint lib table
work is not limited to Pcbnew, it also flows over into CvPcb and
Eeschema.  Hopefully that wouldn't impact any of Pcbnew client server work.

> 
> I have a qeue of boards I need designed.
> Maybe bartering or ablend is possible also.
> 
> Eeschema is a rewrite, before we could do sweet, and is a massive amount
> of work.

I wouldn't even want to guess how much work this would take.  Dick's
assessment is correct.  It would be a massive amount of work.  At
minimum you have to:

1) Design a sane SCHEMATIC object.  I started that work a long time ago
by refactoring code related to the schematic into SCH_SCREEN but that
was just a crude first step.

2) Redesign the code that handles hierarchical sheets to be compatible
with the new file format.  The current SCH_SHEET_PATH will not be adequate.

3) Write a plugin class for loading and saving schematics and schematic
libraries (think Pcbnew style IO_MGR and PLUGIN for Eeschema).  This
would give us a platform to convert to the new file format and sweet.

Once these items are in place, we could start looking at moving forward
with the new schematic and SWEET formats.  I think any attempt to do so
before the above items are in place would be futile.

> 
> 
> On Apr 14, 2013 8:38 PM, "Adam Wolf" <adamwolf@xxxxxxxxxxxxxxxxxxxx
> <mailto:adamwolf@xxxxxxxxxxxxxxxxxxxx>> wrote:
> 
>     Hi Dick,
> 
>     Do you have any sort of swag of what sort of funding it'd take to do
>     the planned library improvements for eeschema and pcbnew?  $10k? $25k?
>     If you don't want to say without nailing down a lot more details,
>     that's totally understood.  I'm just curious as to if that's something
>     Wayne and Layne could fund.
> 
>     Adam Wolf
>     Wayne and Layne, LLC
> 
>     On Sun, Apr 14, 2013 at 8:17 PM, Dick Hollenbeck <dick@xxxxxxxxxxx
>     <mailto:dick@xxxxxxxxxxx>> wrote:
>     >
>     > On Apr 14, 2013 10:20 AM, "Andreas Butti" <andreas_b123@xxxxxxxxxx
>     <mailto:andreas_b123@xxxxxxxxxx>> wrote:
>     >>
>     >> Hi everybody
>     >>
>     >> I'm new to the KiCad mailing list. I'm a computer scientists, in
>     my free
>     >> time I sometimes use KiCad.
>     >>
>     >> I had some Ideas to improve the project tree, and if the
>     community thinks
>     >> they are useful I may can implement them.
>     >>
>     >> What I would change the tree to the following format:
>     >>
>     >> - Root: Workspace (instead of Project)
>     >>     - Projects
>     >>         - Project A
>     >>         - Project B
>     >>         - Project C
>     >>     - Templates
>     >>         -MyTemplate A
>     >>         -MyTemplate B
>     >>     - Libraries
>     >>         - AVRs
>     >>         - RGB LED PLCC6
>     >>
>     >> etc.
>     >>
>     >> If you now clicks to "Projects" you get on the right side the
>     options to
>     >> - Create a new Project
>     >> - Create a new Project from Template
>     >>
>     >> If you click to "Template" you get the options
>     >> - Create a new template
>     >> - Search for templates [INPUT FIELD]
>     >> - [List with newest online templates, can be downloaded]
>     >>
>     >> If you click to "Libraries"you get the options:
>     >> - Create a new library
>     >> - Search for libraries [INPU TFIELD]
>     >> - [List with newest online libraries, can be downloaded]
>     >>
>     >> if you click to a Project you get the start screen you now have:
>     >> - On top the buttons to start Eeschema, CvPcb etc.
>     >> - Below is not the Log output, there is
>     >>     - A Field for a Project Description (I think text, maybe RTF)
>     >>     - A list to assign Libraries to the project. The Libraries
>     are managed
>     >> in the workspace
>     >>
>     >>
>     >> And now the technical background:
>     >> Add workspace, new views on the right etc. is not much to do. It
>     means we
>     >> need additional to the project also a workspace file.
>     >>
>     >> For downloading Libs or Template we have to opinions:
>     >> - Define a standard, everybody who wants to provide libraries has to
>     >> implement this interface (e.g. REST)
>     >> - Allow Plug ins
>     >>
>     >> I would do a mix of both, we should define a standard with REST,
>     but  we
>     >> should implement the client in a scripting language. We can e.g.
>     use python
>     >> or javascript. (e.g. https://developers.google.com/v8/embed)
>     >>
>     >
>     > Hi Andreas.
>     >
>     > I think for pcbnew that the client should be a c++ plugin, using
>     support for
>     > such http in wx, and put that client in our class PLUGIN found in
>     pcbnew
>     > directory.  That is an additional implementation of PLUGIN.  It
>     will be easy
>     > to instantiate PLUGIN s soon with fp lib table support, and you
>     can put the
>     > url in the fp lib table.
>     >
>     > So you're suggestions are not new ideas.
>     >
>     > Http and REST are what I was thinking also for a long time now.
>     >
>     > A simple rest server could be provided in python since users will
>     have that
>     > language installed and it is
>     > cross platform, could run from the same python already installed
>     using a
>     > pure python server, or could run as a pyhon module inside apache
>     or nginx.
>     >
>     > For eeschema I had been hoping to do the thing described down in the
>     > /new directory someday with funding.
>     >
>     >> Then its easy to add 3rd party sites, e.g. if somebody wants to
>     share his
>     >> libraries or templates on github it only needs a github client
>     javascript
>     >> and we can access such libraries from main KiCad screen.
>     >>
>     >> What do you think about?
>     >>
>     >> Andreas
>     >>
>     >> _______________________________________________
>     >> Mailing list: https://launchpad.net/~kicad-developers
>     >> Post to     : kicad-developers@xxxxxxxxxxxxxxxxxxx
>     <mailto:kicad-developers@xxxxxxxxxxxxxxxxxxx>
>     >> Unsubscribe : https://launchpad.net/~kicad-developers
>     >> More help   : https://help.launchpad.net/ListHelp
>     >
>     >
>     > _______________________________________________
>     > Mailing list: https://launchpad.net/~kicad-developers
>     > Post to     : kicad-developers@xxxxxxxxxxxxxxxxxxx
>     <mailto:kicad-developers@xxxxxxxxxxxxxxxxxxx>
>     > Unsubscribe : https://launchpad.net/~kicad-developers
>     > More help   : https://help.launchpad.net/ListHelp
>     >
> 
> 
> 
> _______________________________________________
> Mailing list: https://launchpad.net/~kicad-developers
> Post to     : kicad-developers@xxxxxxxxxxxxxxxxxxx
> Unsubscribe : https://launchpad.net/~kicad-developers
> More help   : https://help.launchpad.net/ListHelp
> 



Follow ups

References