X-Authentication-Warning: delorie.com: mail set sender to geda-user-bounces using -f X-Recipient: geda-user AT delorie DOT com X-Original-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :content-type; bh=iiVz4O5OIqs24P0DPCsmOZ4jpwCHoZtXlX+y7yhnoys=; b=zy3Z+VEaG0LebCaVXCLW5LC0Qo20gOqqYsiPoZrLwyolzl8/oEL4mmRMXGODoe3iOh t3veE22ZXhcINqvhfvR9TkpcITiB4kG/aAeTW6t+DSuM9ODT93TGU79zBxYYpo8WaD+I MY1ifvb3ybPEVK8pHiqTEss/4nTWG1I/42l0SfPARJ+Cs47tDpgJDzfnwAGz7jxIidJO QGDlCA8HOC4G8h82uhA+egeIT65jdSphEfdM5IOdAluHR1y4ecYADFNmOkyYlvV/oRNt 3UQR7xygiVnGgVb6JcZqKge+TyC+2nGIfwn1OXU8Ue58qa0pTALEAwOvtI+WW5S8TwCu OCgw== MIME-Version: 1.0 X-Received: by 10.202.216.212 with SMTP id p203mr12761047oig.77.1450857899833; Wed, 23 Dec 2015 00:04:59 -0800 (PST) In-Reply-To: References: Date: Wed, 23 Dec 2015 18:34:59 +1030 Message-ID: Subject: Re: [geda-user] Cross project collaboration on data models From: "Erich Heinzle (a1039181 AT gmail DOT com) [via geda-user AT delorie DOT com]" To: geda-user Content-Type: multipart/alternative; boundary=001a113d59b0bd3eaa05278c2d48 Reply-To: geda-user AT delorie DOT com Errors-To: nobody AT delorie DOT com X-Mailing-List: geda-user AT delorie DOT com X-Unsubscribes-To: listserv AT delorie DOT com Precedence: bulk --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 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
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:

= gschema:

a different set of pin types:

in Inputout Output
io Input/Output
oc Open collector
oe Open emitter
p= as Passive
tp Totem pole
tri Tristate (high impedance)
clk Clock =09 =09 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, s= eamless symbol interchange would be facilitated by having equivalent catego= ries of pin type.
gschema supports arbitrarily large numbers = of attributes for elements in a symbol, kicad does not.
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.


PCB footprints / = kicad modules:

the key differences are:
kicad does not support octagonal pins, PCB does, although i= t is not regularly used.

kicad supports rotation of indiv= idual pads to be specified, PCB does not; not a show stopper.
kicad supports trapezoidal pads, PCB does not.
kicad support= s slots in pins, PCB does not.
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.

kicad, in theory, supports bezier curves on layouts/footprints, but t= hey do not appear to be common. PCB does not support beziers.

=
kicad allows the definition for a set of drawing elements to be applie= d to multiple layers.

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.


I have been looking at k= icad schematics, with a view to creating a converter. The format is documen= ted at

https://en.wikibooks.org/wiki/Kicad/file_formats#Sch= ematic_Files_Format

the kicad schematic file format i= s a minor extension of the kicad symbol format, and a converter looks fairl= y tractable.


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.

I wil= l need to bone up on python.

http://madparts.org/footprint.html



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.

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.

= I am also hacking away on a gerber to pcb layout converter, and could fairl= y easily add kicad format output as an option.

Cheers,
Erich.

On Wed, Dec 23, 2015 at 5:23 PM, Kai-Marti= n Knaak <knaak AT iqo DOT uni-hannover DOT de> 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 check<= br> 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 close= d
> tool-chain like KiCAD.

Is kicad really that all that tightly integrated? I got the impressi= on,
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 jus= t like
you do in geda. And just like in geda you don't have cross selection an= d
bacvk annotation available in this mode.

---<)kaimartin(>---
--
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: +49-511-762-2895
Universit=C3=A4t Hannover, Inst. f=C3=BCr Quantenoptik=C2=A0 =C2=A0 =C2=A0 = fax: +49-511-762= -2211
Welfengarten 1, 30167 Hannover=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0http://www.iqo.uni-hannover.de
GPG key:=C2=A0 =C2=A0 http://pgp.= mit.edu:11371/pks/lookup?search=3DKnaak+kmk&op=3Dget




--001a113d59b0bd3eaa05278c2d48--