| www.delorie.com/archives/browse.cgi | search |
| X-Authentication-Warning: | delorie.com: mail set sender to geda-user-bounces using -f |
| X-Recipient: | geda-user AT delorie DOT com |
| Date: | Mon, 12 Mar 2018 01:39:08 +0100 |
| From: | Kai-Martin Knaak <kmk AT familieknaak DOT de> |
| To: | geda-user AT delorie DOT com |
| Subject: | [geda-user] current gnetlist from git and hierarchy |
| Message-ID: | <20180312013908.3dbbb5bc@swips.iqo.uni-hannover.de> |
| X-Mailer: | Claws Mail 3.16.0 (GTK+ 2.24.32; x86_64-pc-linux-gnu) |
| MIME-Version: | 1.0 |
| X-Provags-ID: | V03:K0:G2pQTqs9XdDPMZ1AwyXkV01YUOCoQxZjXOH0MQHNzs1VCMMQsom |
| JBLwGZp5iyUMEWY+Qqjs1LIrFJOEY0OvJp+JE9ZOOL5iWrNnE/I2lO2M6obWrTsifiy//0x | |
| 3H137SdjcJJxtWs1GDMg38nQ43wOruCKeNSDIsD4v4BkB604Hpyxwv9jZ8+YUDpWMi8k8iJ | |
| bi1+DzX3czuckzy0Rfscw== | |
| X-UI-Out-Filterresults: | notjunk:1;V01:K0:Lt6q4mRaw20=:gkmyAtf1Cbb8jaQqsZGh+w |
| piC3YUBp0rkSRZz2RQJcwktD0qG6I1pybUGShZDWjWOCwczWR3rQ1fvTdhTQ0j4vcfNw1QEYx | |
| +rnWLuGlyDiTNTKFFFmh6EqU4tVEWUv19sHp7Pcpid8MUoKHJ+ehjuAtyRFTGm/7gTxbBFy9P | |
| nsiERtitB4LJ/VSyIHoix/pUxqkhxVLz8XdroYiLpkU1J6/UTDgePc5vAqoW8L6o6dYZPZ1Qy | |
| 9sEpuDHFnwH/v6GMOTUtrmoDIQFK+KgxqZKenrp6rMPOeN+yScjVpOFAWN9mFcDfjqCP6T3yj | |
| NgR4dJshpHKxYRA8WtLdYhVZVnbI1zjxCnq3kDqKOkJw6irNawDn0guNSyX2aGevL73sGIOsc | |
| A42uL1j4TJZ7zJL5k7eUhe0pd+axxOIqivtafeppTAcdNGnlvQTkqXv6Ievm5zZNetM/INDfn | |
| ocK0qx1YbWwhmxB6Lnug35PZoA3U+WWeuuQNncOyfYWn32Z6cNNIrQMAaeT1g89J2TCM33uy1 | |
| AIIMqwfbSG/+Th2Ht3aVEOpSRXWdOsY9Aqzf9cwGrO7cvcAZpT4t4joXIdvhO0hBZixU7K8ER | |
| Bd0QoyGi7nLZKQU5qy01DiD2hgcvzHnjm5dNtHUgMpdUycBFxGbNa0TFO25WOi+VRMiRx3+Jh | |
| RkZf66iPoZFwFtsCTzTQxM0AxMz4u5awgn/E4AALPyB42QOa23BArWy4vkf75b8fIutzk3jl7 | |
| E68R1E87FMtk6ezKAwmUuBmg0mpvVEUxPEjU2Q== | |
| Reply-To: | geda-user AT delorie DOT com |
--Sig_/Fn63+rUodqKRx955SQh.nUz
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: quoted-printable
Today, I wanted to rework one of my older projects. Unfortunately
something seems to be in the way of my usual work-flow and set-up. The
project makes use of hierarchical schematics.=20
This is the gnetlistrc I originally used to set up netlisting:
--------- $PROJECT/gnetlistrc -------------
(hierarchy-uref-mangle "enabled")
(hierarchy-uref-separator "")
(hierarchy-netname-mangle "enabled")
(hierarchy-netname-separator "/")
(hierarchy-netattrib-mangle "disabled")
(hierarchy-netattrib-separator "/")
--------------------------------------------
The config deliberately uses the empty string as separator for refdes and
no mangling of netname attributes. No separator allows for the shortest
refdeses possible. In my projects netname attributes are uses
exclusively for GND, Ub, and the likes. I like to have these available
globally.
With this set-up I get (gda-gaf freshly compiled from git master):
/-----------------------------------
$ gnetlist -g PCB lasertreiber_0_master.sch
WARNING: The RC file function 'hierarchy-uref-mangle' is deprecated.
RC configuration functions will be removed in an upcoming gEDA
release. Please use configuration files instead.
WARNING: The RC file function 'hierarchy-uref-separator' is deprecated.
RC configuration functions will be removed in an upcoming gEDA
release. Please use configuration files instead.
WARNING: The RC file function 'hierarchy-netname-mangle' is deprecated.
RC configuration functions will be removed in an upcoming gEDA
release. Please use configuration files instead.
WARNING: The RC file function 'hierarchy-netname-separator' is deprecated.
RC configuration functions will be removed in an upcoming gEDA
release. Please use configuration files instead.
WARNING: The RC file function 'hierarchy-netattrib-mangle' is deprecated.
RC configuration functions will be removed in an upcoming gEDA
release. Please use configuration files instead.
WARNING: The RC file function 'hierarchy-netattrib-separator' is deprecated.
RC configuration functions will be removed in an upcoming gEDA
release. Please use configuration files instead.
WARNING: The RC file function 'hierarchy-uref-mangle' is deprecated.
RC configuration functions will be removed in an upcoming gEDA
release. Please use configuration files instead.
Backtrace:
In ice-9/boot-9.scm:
160: 19 [catch #t #<catch-closure 56382f0ff1a0> ...]
In unknown file:
?: 18 [apply-smob/1 #<catch-closure 56382f0ff1a0>]
?: 17 [call-with-input-string "(with-fluids ((rc-filename-fluid \"/home/=
kmk/.gEDA/gnetlistrc\") (rc-config-fluid (eda-config-scm-from-config #f)))=
(primitive-load \"/home/kmk/.gEDA/gnetlistrc\"))" ...]
In ice-9/boot-9.scm:
2404: 16 [save-module-excursion #<procedure 56382f0f9660 at ice-9/eval-stri=
ng.scm:65:9 ()>]
In ice-9/eval-string.scm:
44: 15 [read-and-eval #<input: string 56382f0f5b60> #:lang ...]
37: 14 [lp (with-fluids (# #) (primitive-load "/home/kmk/.gEDA/gnetlistrc=
"))]
In ice-9/eval.scm:
481: 13 [lp (#<fluid 27> #<fluid 28>) ("/home/kmk/.gEDA/gnetlistrc" #f)]
481: 12 [lp (#<fluid 28>) (#f)]
In unknown file:
?: 11 [primitive-load "/home/kmk/.gEDA/gnetlistrc"]
In geda-deprecated-config.scm:
80: 10 [#<procedure 56382f0496c0 at geda-deprecated-config.scm:77:4 args>=
"enabled"]
In ice-9/boot-9.scm:
2792: 9 [#<procedure 56382ed3b500 at ice-9/boot-9.scm:2780:4 (name #:option=
al autoload version #:key ensure)> # ...]
3068: 8 [try-module-autoload (geda config) #f]
2404: 7 [save-module-excursion #<procedure 56382f10ac00 at ice-9/boot-9.scm=
:3069:17 ()>]
3088: 6 [#<procedure 56382f10ac00 at ice-9/boot-9.scm:3069:17 ()>]
In unknown file:
?: 5 [primitive-load-path "geda/config" ...]
In geda/config.scm:
20: 4 [#<procedure 56382f1182e0 ()>]
In ice-9/boot-9.scm:
2954: 3 [define-module* (geda config) #:filename ...]
2929: 2 [resolve-imports (((geda core smob)) ((geda core config)))]
2870: 1 [resolve-interface (geda core smob) #:select ...]
In unknown file:
?: 0 [scm-error misc-error #f "~A ~S" ("no code for module" (geda core s=
mob)) #f]
ERROR: In procedure scm-error:
ERROR: no code for module (geda core smob)
Failed to load RC file [/home/kmk/.gEDA/gnetlistrc]
\--------------------------------
The import schematic function of the pcb GUI fails with the same message
on the command line.
What I get from this is:
a) the traditional scheme statements in gnetlistrc are depreciated.
b) when gnetlist tries to process the gnetlistrc anyway, it runs into probl=
ems.=20
It seems like an entity called "smob" is missing.
I tried to look up how hierarchy is supposed to be configured with config
files now.
The user guide=20
http://wiki.geda-project.org/geda:gnetlist_ug:hierarchy
points to a page on gnetlist configuration
http://wiki.geda-project.org/geda:gnetlist_ug:config
This page still exclusively presents the depreciated commands.
With a similar situation for printing the magic key word was "gaf command
line utility". So my next stop was the documentation page on gaf:
http://wiki.geda-project.org/geda:gaf_utility
However, the only hierarchy related option this page knows about is=20
the boolean 'traverse-hierarchy'. This is supposed to control whether
or not hierarchy is considered at all. In particular, there is no=20
option to set the separator string or differentiate between the
hierarchy is handled for refdes, net_name and net_attribute.
grep-ing through the source of gnetlist I found a list of hierarchy=20
related options in netlist.py . These include
--hierarchy-refdes-separator
--hierarchy-netattrib-mangle
--hierarchy-netname-separator
So the options I need seem to be available. But how do I activate them?
If I try to directly add these as an option on the command line, they appear
not recognized:
$ gnetlist --hierarchy-refdes-separator=3D":" -g PCB lasertreiber_0_ma=
ster.sch
gnetlist: unrecognized option '--hierarchy-refdes-separator=3D:'
Run `gnetlist --help' for more information.
If I use the -O flag to pass the options to the PCB backend, the options se=
em
to be ignored. Refdeses are mangled with the prefix separated from the local
refdes by a '/'.=20
Unfortunately, in the context of my existing project this means pcb wants to
replace every footprint in the hierarchy. I'd have to manually place them at
their correct position again. With literally hundreds of components in the
project, this is clearly not an option. If everything else fails, I may wri=
te
a script to introduce '/' in the refdeses. I would rather avoid this, thoug=
h.
After all, this affects quite a number of projects. And documentation would
have to be changed, too.
Do I miss something obvious?
---<)kaimartin(>---
--=20
Kai-Martin Knaak
Email: kmk AT familieknaak DOT de
=C3=96ffentlicher PGP-Schl=C3=BCssel:
https://keyserver.ubuntu.com/pks/lookup?op=3Dindex&search=3D0x7B0F9882
--Sig_/Fn63+rUodqKRx955SQh.nUz
Content-Type: application/pgp-signature
Content-Description: OpenPGP digital signature
-----BEGIN PGP SIGNATURE-----
iQIzBAEBCgAdFiEEyAypwA/y2l/nFU8PwTqkzHsPmIIFAlqlzCwACgkQwTqkzHsP
mIKtqQ//aDDVlYkCVxb9iUrbs3jCcjoP7TBd8MxImCB6W2xfLT1mMlH0P3p7/ubb
dBaORDTha0kwSFfdLyHb/AEgLLSFZAY4gkmSy5iR609cD3j48FpbettujiaTYf0l
NwceYutjOGTdmChzk617vRi/wxBXMLsuvRXDfqYMmIL8aBx9XLTsPy9XIiESEnCA
lKMDF+IAM3K0N5yY8UHAcM4pJ96PpxH9Tr2NUnuF3nur3qf3sBEElfuUDV1wNJK8
PHOp9e0ikgoR7IaHBE5gjrsfvSkQerIDu/BbCM9Yu7ja/1lQtT9fn8CNEFUApQJS
TP3dX1cnmpngK5ILWeujMAkW0s/0U9M8sstEq+rmj0dRVn5I/SmKFeedwmeQgwQ5
i3Wpk73ncid5zPu8x/dmkPGa/1hzyMkY3sdmp4Zf3ioZSVvdyVS91SBGQBh7GgKw
fLJ5KTlroU5MV+t1i6IdpREBvJ8FbNrax6ly/uvDF3OtDNJOqF86aMyMT8qkQPJA
0QWETp90MLq2Gx8VN+pDxuzyywF19sTfGZASOYY9nbBgRTmdmAeZ4SOCuT/v47A3
foiS3KeM6J9joarSG0w25JYMGHnLaLT9Z6XVXykHCga6u1vNOPm734pT4CX3VoFR
S/Hkm5IDGtwc67C4UgxLimUIxV3Tl2Igi/B9Dc17WH8yv2Z81fI=
=ikXb
-----END PGP SIGNATURE-----
--Sig_/Fn63+rUodqKRx955SQh.nUz--
| webmaster | delorie software privacy |
| Copyright © 2019 by DJ Delorie | Updated Jul 2019 |