Mail Archives: geda-help/2020/09/04/10:49:22
--Apple-Mail=_9D0BFFD5-0861-4B57-A1B2-18AA229F0FC4
Content-Transfer-Encoding: quoted-printable
Content-Type: text/plain;
charset=utf-8
> On Sep 4, 2020, at 9:11 AM, Roland Lutz <rlutz AT hedmen DOT org> wrote:
>=20
> On Thu, 3 Sep 2020, John Doty wrote:
>> On Sep 3, 2020, at 6:01 PM, Roland Lutz <rlutz AT hedmen DOT org> wrote:
>> > On Wed, 2 Sep 2020, John Doty wrote:
>> > > I favor Lepton [because] it=E2=80=99s agnostic about which layout =
program > > you use: it has no favored layout component. [=E2=80=A6]
>> > > The layout people I work with all have different favorite tools, =
so > > decoupling schematic entry and layout is very important to me.
>> > > This is absolutely the same for gEDA/gaf.
>> No, gEDA/gaf is joined to PCB. The tail wags the dog.
>=20
> gEDA/gaf supports a variety of layout programs via netlister backends, =
some of which you contributed yourself. There's even backends for SPICE =
and cascade simulation which doesn't involve layout at all.
Yes, but there=E2=80=99s no new development happening here. I was the =
last holdout. There seems to be neither developer nor user interest in =
anything except PCB support.
>=20
>=20
>>> Xorn is an internal component; you don't have to understand or even =
consciously interact with it in any way. (But even if you did, it's not =
more complicated than the Scheme API.)
>> Except if you=E2=80=99re writing back ends, you do.
>=20
> There's a Scheme and a Python variant of the gnetlist API. You can =
use either to write a backend.
>=20
>=20
>> I=E2=80=99ve done things in Python. It wasn=E2=80=99t the problem. =
The problem was to figure out the API.
>=20
> Let's stay at the example of the Osmond PCB backend. It accesses the =
netlist in the following ways:
>=20
> - netlist.packages (the packages in the netlist)
> - netlist.nets (the nets in the netlist)
>=20
> - package.refdes (the refdes of the package)
> - package.get_attribute('footprint', 'unknown') (gets the "footprint" =
attribute of the package, with "unknown" as the default)
>=20
> - net.name (the name of the net)
> - net.connections (a list of pins connected to the net)
>=20
> - pin.number (the pinnumber)
> - pin.package (the package to which the pin belongs)
>=20
> What about that do you consider hard to figure out?
When I first looked at this years ago, there was no API documentation, =
just a very confusing high level description of Xorn. Maybe there is =
better documentation now, but I=E2=80=99ve moved on. And as far as I can =
tell, nobody but you has actually used this API to write anything. It =
seems to be your personal environment in which you are impressively =
productive but nobody else is. At least the old gEDA scheme API, poorly =
documented as it was, attracted contributors.
>=20
>=20
> Roland
John Doty Noqsi Aerospace, Ltd.
jpd AT noqsi DOT com
--Apple-Mail=_9D0BFFD5-0861-4B57-A1B2-18AA229F0FC4
Content-Transfer-Encoding: quoted-printable
Content-Type: text/html;
charset=utf-8
<html><head><meta http-equiv=3D"Content-Type" content=3D"text/html =
charset=3Dutf-8"></head><body style=3D"word-wrap: break-word; =
-webkit-nbsp-mode: space; -webkit-line-break: after-white-space;" =
class=3D""><br class=3D""><div><blockquote type=3D"cite" class=3D""><div =
class=3D"">On Sep 4, 2020, at 9:11 AM, Roland Lutz <<a =
href=3D"mailto:rlutz AT hedmen DOT org" class=3D"">rlutz AT hedmen DOT org</a>> =
wrote:</div><br class=3D"Apple-interchange-newline"><div class=3D""><div =
class=3D"">On Thu, 3 Sep 2020, John Doty wrote:<br class=3D""><blockquote =
type=3D"cite" class=3D"">On Sep 3, 2020, at 6:01 PM, Roland Lutz <<a =
href=3D"mailto:rlutz AT hedmen DOT org" class=3D"">rlutz AT hedmen DOT org</a>> =
wrote:<br class=3D"">> On Wed, 2 Sep 2020, John Doty wrote:<br =
class=3D"">> > I favor Lepton [because] it=E2=80=99s agnostic =
about which layout program > > you use: it has no favored layout =
component. [=E2=80=A6]<br class=3D"">> > The layout people I work =
with all have different favorite tools, so > > decoupling =
schematic entry and layout is very important to me.<br class=3D"">> =
> This is absolutely the same for gEDA/gaf.<br class=3D"">No, =
gEDA/gaf is joined to PCB. The tail wags the dog.<br =
class=3D""></blockquote><br class=3D"">gEDA/gaf supports a variety of =
layout programs via netlister backends, some of which you contributed =
yourself. There's even backends for SPICE and cascade simulation =
which doesn't involve layout at all.<br =
class=3D""></div></div></blockquote><div><br class=3D""></div>Yes, but =
there=E2=80=99s no new development happening here. I was the last =
holdout. There seems to be neither developer nor user interest in =
anything except PCB support.</div><div><br class=3D""><blockquote =
type=3D"cite" class=3D""><div class=3D""><div class=3D""><br =
class=3D""><br class=3D""><blockquote type=3D"cite" class=3D""><blockquote=
type=3D"cite" class=3D"">Xorn is an internal component; you don't have =
to understand or even consciously interact with it in any way. =
(But even if you did, it's not more complicated than the Scheme =
API.)<br class=3D""></blockquote>Except if you=E2=80=99re writing back =
ends, you do.<br class=3D""></blockquote><br class=3D"">There's a Scheme =
and a Python variant of the gnetlist API. You can use either to =
write a backend.<br class=3D""><br class=3D""><br class=3D""><blockquote =
type=3D"cite" class=3D"">I=E2=80=99ve done things in Python. It wasn=E2=80=
=99t the problem. The problem was to figure out the API.<br =
class=3D""></blockquote><br class=3D"">Let's stay at the example of the =
Osmond PCB backend. It accesses the netlist in the following =
ways:<br class=3D""><br class=3D"">- netlist.packages (the packages in =
the netlist)<br class=3D"">- netlist.nets (the nets in the netlist)<br =
class=3D""><br class=3D"">- package.refdes (the refdes of the =
package)<br class=3D"">- package.get_attribute('footprint', 'unknown') =
(gets the "footprint" attribute of the package, with "unknown" as the =
default)<br class=3D""><br class=3D"">- net.name (the name of the =
net)<br class=3D"">- net.connections (a list of pins connected to the =
net)<br class=3D""><br class=3D"">- pin.number (the pinnumber)<br =
class=3D"">- pin.package (the package to which the pin belongs)<br =
class=3D""><br class=3D"">What about that do you consider hard to figure =
out?<br class=3D""></div></div></blockquote><div><br =
class=3D""></div><div>When I first looked at this years ago, there was =
no API documentation, just a very confusing high level description of =
Xorn. Maybe there is better documentation now, but I=E2=80=99ve moved =
on. And as far as I can tell, nobody but you has actually used this API =
to write anything. It seems to be your personal environment in which you =
are impressively productive but nobody else is. At least the old gEDA =
scheme API, poorly documented as it was, attracted =
contributors.</div><div><br class=3D""></div><blockquote type=3D"cite" =
class=3D""><div class=3D""><div class=3D""><br class=3D""><br =
class=3D"">Roland<br class=3D""></div></div></blockquote></div><br =
class=3D""><div class=3D"">
<span class=3D"Apple-style-span" style=3D"border-collapse: separate; =
border-spacing: 0px; color: rgb(0, 0, 0); font-family: Helvetica; =
font-size: 12px; font-style: normal; font-variant-ligatures: normal; =
font-variant-caps: normal; font-variant-east-asian: normal; =
font-variant-position: normal; font-weight: normal; letter-spacing: =
normal; line-height: normal; text-indent: 0px; text-transform: none; =
orphans: 2; white-space: normal; widows: 2; word-spacing: 0px;"><div =
style=3D"word-wrap: break-word;" class=3D""><span =
class=3D"Apple-style-span" style=3D"border-collapse: separate; =
border-spacing: 0px; color: rgb(0, 0, 0); font-family: Helvetica; =
font-size: 12px; font-style: normal; font-variant-ligatures: normal; =
font-variant-caps: normal; font-variant-east-asian: normal; =
font-variant-position: normal; font-weight: normal; letter-spacing: =
normal; line-height: normal; text-indent: 0px; text-transform: none; =
orphans: 2; white-space: normal; widows: 2; word-spacing: 0px;"><p =
style=3D"margin: 0px;" class=3D""><font face=3D"Helvetica" size=3D"3" =
style=3D"font-style: normal; font-variant-caps: normal; font-weight: =
normal; font-size: 12px; line-height: normal; font-family: Helvetica;" =
class=3D"">John Doty<span class=3D"Apple-converted-space"> =
<span =
class=3D"Apple-converted-space"> </span><span =
class=3D"Apple-converted-tab"> <span =
class=3D"Apple-converted-space"> </span></span></span>Noqsi =
Aerospace, Ltd.</font></p><p style=3D"margin: 0px;" class=3D""><a =
href=3D"mailto:jpd AT noqsi DOT com" class=3D"">jpd AT noqsi DOT com</a></p><br =
class=3D"Apple-interchange-newline"></span></div></span><br =
class=3D"Apple-interchange-newline">
</div>
<br class=3D""></body></html>=
--Apple-Mail=_9D0BFFD5-0861-4B57-A1B2-18AA229F0FC4--
- Raw text -