Root/eeshow/README

Source at commit eb409c67da9b1868267f73d54b2fb8af307b5873 created 7 years 4 months ago.
By Werner Almesberger, eeshow/README: announce move to http://neo900.org/git/eeshow
1##############################################################################
2##**************************************************************************##
3##** **##
4##** Eeshow has moved ! **##
5##** **##
6##** It now has its on repository, at **##
7##* http://neo900.org/git/eeshow **##
8##** **##
9##**************************************************************************##
10##############################################################################
11
12
13eeshow - Eeschema schematics renderer and viewer
14================================================
15
16Eeshow renders schematics made by KiCad Eeschema to FIG, PDF, or PNG,
17and generates graphical differences between different versions of
18schematics sheets. It can work in plain files but it can also
19retrieve design files directly from a git repository. Furthermore,
20eeshow has an interactive mode for viewing schematics and differences.
21
22This work is distributed under the terms of the GNU GENERAL PUBLIC
23LICENSE, Version 2:
24
25  This program is free software; you can redistribute it and/or modify
26  it under the terms of the GNU General Public License as published by
27  the Free Software Foundation; either version 2 of the License, or
28  (at your option) any later version.
29
30For your convenience, a copy of the complete license has been included
31in the file COPYING.GPLv2.
32
33
34Prerequisites
35-------------
36
37libcairo2-dev
38libgit2-dev
39libgtk-3-dev
40transfig
41imagemagick
42
43If building with USE_WEBKIT=y:
44
45ibwebkit2gtk-4.0-dev
46
47
48Development status
49------------------
50
51Eeshow is still incomplete. It should generally be usable, but still has
52many limitations, especially in the following areas:
53
54- not all details are rendered, e.g., pin attributes such as "clock input"
55
56- rendering isn't always exactly the same as in KiCad, e.g., text size may
57  differ significantly
58
59- interactive use is not streamlined yet, e.g., revision selection
60
61- there may be unknown bugs
62
63More details on pending items can be found in the file TODO.
64
65
66Non-interactive rendering
67=========================
68
69Eeshow can be invoked from the command line to render KiCad schematics
70to FIG, PDF, and PNG.
71
72
73Invocation
74----------
75
76The general form of invocation for rendering is as follows:
77
78eeshow [-r] file.lib ... file.sch -- format [options]
79
80Common if using PDF, the option -r can be used (after "eeshow") to
81recursively process sub-sheets. For PDF and PNG, the options -s scale
82and -o output-file can be used to control the size of the output and
83the output file. By default, eeshow writes to standard output.
84
85Examples:
86
87eeshow test.lib test.sch -- png -s 2 -o test.png
88
89eeshow -r neo900.lib kicad-libs/components/powered.lib neo900.sch \
90  -- pdf -o neo900.pdf
91
92More details on the above example can be found in the file DEMO.
93
94
95Revision access
96---------------
97
98If the files are stored in a git repository, a revisions can be selected
99by prefixing file names with the commit ID, e.g.,
100
101eeshow neo900.lib kicad-libs/components/powered.lib 6a9f71:neo900_SS_5.sch \
102  -- png -s 2 -o old.png
103
104Revision selection propagates to dependent files, unless explicitly
105overridden. E.g., the above example selects also revision 6a9f71 of
106neo900.lib.
107
108
109Using the component library cache
110---------------------------------
111
112Eeschema copies all components it uses to a file named <project>-cache.lib
113When operating on files, this library can be used as a convenient
114alternative to listing all the libraries that contributed content.
115
116However, when using eeshow with a revision history, the library cache
117should only be used if it is also kept in the repository. Otherwise,
118library changes in older revisions may get unnoticed.
119
120
121Non-interactive differences
122===========================
123
124Eeshow can render two versions of a sheet to a bitmap and then compare them
125pixel by pixel, highlighting areas where differences are found. The output
126is written to a PNG file.
127
128
129Invocation
130----------
131
132The general form of invocation for rendering is as follows:
133
134eeshow file.lib ... file.sch -- diff [options] file.lib ... file.sch
135
136The usual options and revision selection can be used here as well.
137
138Example:
139
140LIBS="neo900.lib kicad-libs/components/powered.lib"
141eeshow $LIBS 6a9f71:neo900_SS_5.sch \
142  -- diff -s 2 -o diff.png $LIBS neo900_SS_5.sch
143
144
145GUI mode
146========
147
148GUI mode allows exploration of schematics and the comparison of different
149git revisions. Compared to eeschema, eeshow currently offers the following
150additional features:
151
152- access to the git revision history with visual differences between
153  versions.
154
155- on hover, global labels show on which other sheets the label is used.
156  Clicking on a name jumps to that sheet.
157
158- fast sheet change with PgUp/PgDn
159
160
161Invocation
162----------
163
164The basic invocation of GUI mode is as follows:
165
166eeshow file.lib ... file.sch
167
168Add the option -r to recursively load sub-sheets of file.sch
169
170If file.sch is in a git repository, eeshow automatically loads the
171revision history. The depth of the history can be limited with the
172option -N number-of-commits
173
174Examples:
175
176eeshow -N 30 -r neo900.lib kicad-libs/components/powered.lib neo900.sch
177
178eeshow `sed -n '/pcbnew/q;/^LibName[0-9]*=/{s///;s/$/.lib/p;};d' anelok.pro` \
179  anelok.sch
180
181
182Mouse function in GUI mode
183--------------------------
184
185Eeshow uses only the left mouse button and the scroll wheel.
186
187Hover show additional details on revisions, sheets, global
188            labels
189Click jump to sheet (on sub-sheet, sheet stack, global
190            label hover box), open history, select revision
191Click and drag pan sheet, scroll history
192Scroll wheel zoom in or out
193
194
195Key functions in GUI mode
196-------------------------
197
198+ or = zoom in
199- zoom out
200* zoom to extents
201Home go to the top sheet
202Delete or Backspace go to the next higher sheet in hierarchy
203PgUp go to the previous sheet in sequence
204PgDn go to the next sheet in sequence
205Up or Down invoke the revision history (WIP)
206Tab toggle between old and new revision
207Esc cancel current action (exit history, close pop-up,
208            de-highlight glabel, close help)
209H show/hide help window
210D when comparing revisions, show difference (default)
211N show newer sheet
212O show older sheet
213Q quit the viewer
214

Archive Download this file

Branches:
master



interactive