Mail Archives: geda-user/2015/12/23/03:05:50
--001a113d59b0bd3eaa05278c2d48
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: quoted-printable
while writing the utilities to port kicad libraries (schematic symbols) and
modules (footprints) to gEDA's format, the key differences which made
direct translation difficult were:
gschema:
a different set of pin types:
in Input
out Output
io Input/Output
oc Open collector
oe Open emitter
pas Passive
tp Totem pole
tri Tristate (high impedance)
clk Clock pwrPower/Ground
*Table 1:* pintype valuesfor gschem
vs kicad's:
Input
Usual input pin
Output
Usual output
Bidirectional
Input or Output
Tri-state
Bus input/output
Passive
Usual ends of passive components
Unspecified
Unknown electrical type
Power input
Power input of a component
Power output
Power output like a regulator output
Open collector
Open collector often found in analog comparators
Open emitter
Open collector sometimes found in logic.
Not connected
Must be left open in schematic
obviously, seamless symbol interchange would be facilitated by having
equivalent categories of pin type.
gschema supports arbitrarily large numbers of attributes for elements in a
symbol, kicad does not.
This is not a big deal since the harder work of drawing and pin labelling
and pin type designation is not duplicated/wasted effort.
PCB footprints / kicad modules:
the key differences are:
kicad does not support octagonal pins, PCB does, although it is not
regularly used.
kicad supports rotation of individual pads to be specified, PCB does not;
not a show stopper.
kicad supports trapezoidal pads, PCB does not.
kicad supports slots in pins, PCB does not.
kicad supports obround pins, PCB does not - I used a combination of round
ads and rectangular pads to effect obround pads when converting from kicad
to PCB.
kicad, in theory, supports bezier curves on layouts/footprints, but they do
not appear to be common. PCB does not support beziers.
kicad allows the definition for a set of drawing elements to be applied to
multiple layers.
if PCB could have support added for some or all of the kicad elements which
do not have a direct equivalent, seamless footprint interchange would be
easier. It seems pcb-rnd can already do some oddball pad shapes.
I have been looking at kicad schematics, with a view to creating a
converter. The format is documented at
https://en.wikibooks.org/wiki/Kicad/file_formats#Schematic_Files_Format
the kicad schematic file format is a minor extension of the kicad symbol
format, and a converter looks fairly tractable.
I plan to contribute code to madparts to allow geda PCB footprint export.
Madparts allows export in eagle, and kicad formats currently, and
conversion between them, it seems, using a universal internal
representation of the parts.
I will need to bone up on python.
http://madparts.org/footprint.html
Based on my fairly detailed perusal of the kicad documentation, these seem
to me to be the most concrete ways in which to facilitate shared effort on
the symbol and footprint fronts.
Perhaps we could have a git repo that mirrors the kicad symbols and
footprints exactly, except that they will be in gschem/pcb formats.
I am also hacking away on a gerber to pcb layout converter, and could
fairly easily add kicad format output as an option.
Cheers,
Erich.
On Wed, Dec 23, 2015 at 5:23 PM, Kai-Martin Knaak <knaak AT iqo DOT uni-hannover DOT d=
e
> wrote:
> Peter Clifton wrote:
>
> > It will come... We have often encountered problems keeping up with
> > porting to new GUILE versions, and it won't be forever away before
> > GTK2.0 is less common pre-installed on distros.
>
> Quick reminder:
> My efforts to cross-compile geda for windows still fail because the
> guile.exe binary just exits. It does so both in wine and in Microsoft
> windows. And yes, I did try Victors latest version of minipack as well as
> mxe. So the latest windows version of geda gaf remains to be the last
> which did not depend on guile 1.8. IIRC, this was in 2010.
>
> In addition, with regular linux the gschem-takes-a-nap bug is still
> lingering in the background. When exposed by the the autonumber hook,
> guiles garbage collection confiscates 100% of a quad core processor for
> anything between 5 seconds and three minutes.
>
> I sort of gave up on both issues about three months ago. Will gladly chec=
k
> again if there was a change which might have them fixed.
>
>
> > I think you often confuse my thoughts on better "integration" or
> > better "interoperability" with producing an all-in-one closed
> > tool-chain like KiCAD.
>
> Is kicad really that all that tightly integrated? I got the impression,
> just like geda it comes with separate modules for schematic capture and
> layout. ("eeschema" and "pcbnew"). There is of course a project managing
> GUI called "kicad". But you can run the components standalone just like
> you do in geda. And just like in geda you don't have cross selection and
> bacvk annotation available in this mode.
>
> ---<)kaimartin(>---
> --
> Kai-Martin Knaak tel: +49-511-762-2895
> Universit=C3=A4t Hannover, Inst. f=C3=BCr Quantenoptik fax: +49-511-=
762-2211
> Welfengarten 1, 30167 Hannover http://www.iqo.uni-hannover.de
> GPG key: http://pgp.mit.edu:11371/pks/lookup?search=3DKnaak+kmk&op=3Dg=
et
>
>
>
>
--001a113d59b0bd3eaa05278c2d48
Content-Type: text/html; charset=UTF-8
Content-Transfer-Encoding: quoted-printable
<div dir=3D"ltr"><div><div>while writing the utilities to port kicad librar=
ies (schematic symbols) and modules (footprints) to gEDA's format, the =
key differences which made direct translation difficult were:<br><br></div>=
gschema:<br><br></div><div>a different set of pin types:<br><br>in Input<br=
>out Output<br>io Input/Output<br>oc Open collector<br>oe Open emitter<br>p=
as Passive<br>tp Totem pole<br>tri Tristate (high impedance)<br>clk Clock
=09
=09
pwrPower/Ground<br><strong>Table 1:</strong> pintype valuesfor gschem<br>=
<br></div><div>vs kicad's:<br></div><div><p class=3D"">Input</p>
<p class=3D"">Usual input pin</p>
<p class=3D"">Output</p>
<p class=3D"">Usual output</p>
<p class=3D"">Bidirectional</p>
<p class=3D"">Input or Output</p>
<p class=3D"">Tri-state</p>
<p class=3D"">Bus input/output</p>
<p class=3D"">Passive</p>
<p class=3D"">Usual ends of passive components</p>
<p class=3D"">Unspecified</p>
<p class=3D"">Unknown electrical type</p>
<p class=3D"">Power input</p>
<p class=3D"">Power input of a component</p>
<p class=3D"">Power output</p>
<p class=3D"">Power output like a regulator output</p>
<p class=3D"">Open collector</p>
<p class=3D"">Open collector often found in analog comparators</p>
<p class=3D"">Open emitter</p>
<p class=3D"">Open collector sometimes found in logic.</p>
<p class=3D"">Not connected</p>
<p class=3D"">Must be left open in schematic</p><br></div><div>obviously, s=
eamless symbol interchange would be facilitated by having equivalent catego=
ries of pin type.<br></div><div>gschema supports arbitrarily large numbers =
of attributes for elements in a symbol, kicad does not.<br>This is not a bi=
g deal since the harder work of drawing and pin labelling and pin type desi=
gnation is not duplicated/wasted effort.<br></div><br><br>PCB footprints / =
kicad modules:<br><div><div><div><br></div><div>the key differences are:<br=
><br></div><div>kicad does not support octagonal pins, PCB does, although i=
t is not regularly used.<br><br></div><div>kicad supports rotation of indiv=
idual pads to be specified, PCB does not; not a show stopper.<br></div><div=
>kicad supports trapezoidal pads, PCB does not.<br></div><div>kicad support=
s slots in pins, PCB does not.<br></div><div>kicad supports obround pins, P=
CB does not - I used a combination of round ads and rectangular pads to eff=
ect obround pads when converting from kicad to PCB.<br></div><div><br></div=
><div>kicad, in theory, supports bezier curves on layouts/footprints, but t=
hey do not appear to be common. PCB does not support beziers.<br><br></div>=
<div>kicad allows the definition for a set of drawing elements to be applie=
d to multiple layers.<br><br></div><div>if PCB could have support added for=
some or all of the kicad elements which do not have a direct equivalent, s=
eamless footprint interchange would be easier. It seems pcb-rnd can already=
do some oddball pad shapes.<br><br><br></div><div>I have been looking at k=
icad schematics, with a view to creating a converter. The format is documen=
ted at<br><br><a href=3D"https://en.wikibooks.org/wiki/Kicad/file_formats#S=
chematic_Files_Format">https://en.wikibooks.org/wiki/Kicad/file_formats#Sch=
ematic_Files_Format</a><br><br></div><div>the kicad schematic file format i=
s a minor extension of the kicad symbol format, and a converter looks fairl=
y tractable.<br><br><br></div><div>I plan to contribute code to madparts to=
allow geda PCB footprint export. Madparts allows export in eagle, and kica=
d formats currently, and conversion between them, it seems, using a univers=
al internal representation of the parts.<br></div><div><br></div><div>I wil=
l need to bone up on python.<br></div><div><br><a href=3D"http://madparts.o=
rg/footprint.html">http://madparts.org/footprint.html</a><br><br><br><br></=
div><div>Based on my fairly detailed perusal of the kicad documentation, th=
ese seem to me to be the most concrete ways in which to facilitate shared e=
ffort on the symbol and footprint fronts.<br><br></div><div>Perhaps we coul=
d have a git repo that mirrors the kicad symbols and footprints exactly, ex=
cept that they will be in gschem/pcb formats.<br></div><div><br></div><div>=
I am also hacking away on a gerber to pcb layout converter, and could fairl=
y easily add kicad format output as an option.<br><br></div><div>Cheers,<br=
><br></div><div>Erich.<br></div></div></div></div><div class=3D"gmail_extra=
"><br><div class=3D"gmail_quote">On Wed, Dec 23, 2015 at 5:23 PM, Kai-Marti=
n Knaak <span dir=3D"ltr"><<a href=3D"mailto:knaak AT iqo DOT uni-hannover DOT de" =
target=3D"_blank">knaak AT iqo DOT uni-hannover DOT de</a>></span> wrote:<br><block=
quote class=3D"gmail_quote" style=3D"margin:0 0 0 .8ex;border-left:1px #ccc=
solid;padding-left:1ex"><span class=3D"">Peter Clifton wrote:<br>
<br>
> It will come... We have often encountered problems keeping up with<br>
> porting to new GUILE versions, and it won't be forever away before=
<br>
> GTK2.0 is less common pre-installed on distros.<br>
<br>
</span>Quick reminder:<br>
My efforts to cross-compile geda for windows still fail because the<br>
guile.exe binary just exits. It does so both in wine and in Microsoft<br>
windows. And yes, I did try Victors latest version of minipack as well as<b=
r>
mxe. So the latest windows version of geda gaf remains to be the last<br>
which did not depend on guile 1.8. IIRC, this was in 2010.<br>
<br>
In addition, with regular linux the gschem-takes-a-nap bug is still<br>
lingering in the background. When exposed by the the autonumber hook,<br>
guiles garbage collection confiscates 100% of a quad core processor for<br>
anything between 5 seconds and three minutes.<br>
<br>
I sort of gave up on both issues about three months ago. Will gladly check<=
br>
again if there was a change which might have them fixed.<br>
<span class=3D""><br>
<br>
> I think you often confuse my thoughts on better "integration"=
; or<br>
> better "interoperability" with producing an all-in-one close=
d<br>
> tool-chain like KiCAD.<br>
<br>
</span>Is kicad really that all that tightly integrated? I got the impressi=
on,<br>
just like geda it comes with separate modules for schematic capture and<br>
layout. ("eeschema" and "pcbnew"). There is of course a=
project managing<br>
GUI called "kicad". But you can run the components standalone jus=
t like<br>
you do in geda. And just like in geda you don't have cross selection an=
d<br>
bacvk annotation available in this mode.<br>
<br>
---<)kaimartin(>---<br>
<span class=3D"HOEnZb"><font color=3D"#888888">--<br>
Kai-Martin Knaak=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=
=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 tel: <a href=3D=
"tel:%2B49-511-762-2895" value=3D"+495117622895">+49-511-762-2895</a><br>
Universit=C3=A4t Hannover, Inst. f=C3=BCr Quantenoptik=C2=A0 =C2=A0 =C2=A0 =
fax: <a href=3D"tel:%2B49-511-762-2211" value=3D"+495117622211">+49-511-762=
-2211</a><br>
Welfengarten 1, 30167 Hannover=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0<a h=
ref=3D"http://www.iqo.uni-hannover.de" rel=3D"noreferrer" target=3D"_blank"=
>http://www.iqo.uni-hannover.de</a><br>
GPG key:=C2=A0 =C2=A0 <a href=3D"http://pgp.mit.edu:11371/pks/lookup?search=
=3DKnaak+kmk&op=3Dget" rel=3D"noreferrer" target=3D"_blank">http://pgp.=
mit.edu:11371/pks/lookup?search=3DKnaak+kmk&op=3Dget</a><br>
<br>
<br>
<br>
</font></span></blockquote></div><br></div>
--001a113d59b0bd3eaa05278c2d48--
- Raw text -