← Back to team overview

kicad-developers team mailing list archive

Re: New eeschema file format

 

Chris Pavlina wrote:
> An external script was shared in IRC this morning that does this; I
> believe the author intends to share it publicly once it has a bit more
> polish. What sort of hints would you store?

I think you mean this:
http://projects.qi-hardware.com/index.php/p/eda-tools/source/tree/master/eeshow/DEMO

It's not just a script - there's a schematics renderer behind it. It's
not perfect yet, see
http://projects.qi-hardware.com/index.php/p/eda-tools/source/tree/master/eeshow/TODO

The reason why I wrote eeshow is that I think graphical diffs are
extremely important in any projects involving many people. Some years
ago, I wrote schhist [1], which depended on Wolfgangs's command-line
patches [2]. Unfortunately, they never made it into mainline, and
eventually stopped to apply.

eeshow works around this issue by being completely independent from
KiCad, and also addresses some shortcomings of schhist.

[1] http://projects.qi-hardware.com/index.php/p/eda-tools/source/tree/master/schhist
[2] http://projects.qi-hardware.com/index.php/p/eda-tools/source/tree/master/kicad-patches

Making a parallel effort to the eeschema codebase is of course not
ideal, but I find the KiCad code extremely difficult to work with,
and I think this is the fastest way for me to implement the
functionality we need for our project (Neo900 [3, 4]), and also to
explore features someone may then want to add to eeschema.

[3] http://neo900.org/
[4] https://neo900.org/git/?p=ee;a=tree;f=hw

My medium term plans for eeshow are to turn it into a viewer, with
the ability to show differences between git versions, plus a few
extras, like following global labels to other sheets.

This is a departure from schhist, which generated HTML and PNG for
a static visual history, but was 1) extremely slow, 2) fragile,
and 3) reached the limits of its graphical design at around 10 or
so sheets.

In the longer run, I would hope that it won't be necessary to
duplicate eeschema's rendering functionality. While the
command-line options were great at their time, I'd hope for a
scripting interface nowadays. What would be even better is an
efficient rendering library for eeschema.

- Werner


References