When placing "netlist.sym" I get an error popup calling it invalid.
This doesn't happen, with the other two relatives.
The symbol appears to "work".
Not sure how stale my symbol libs are, I've been carrying them across machines and designs since about 2019, while xschem has been evolving meanwhile.
So about that - what's good hygiene, for truing up symbol libraries across version-upgrades? And what of user libraries which might get "stuck in the past" as evolution progresses? Are there any known "yeah, you probably ought to update that..." symbol, netlisting, scripting features that need touching up and any guides?
This is not causing errors in your design. Xschem does some heuristict to recognize schematic and symbol files, to avoid importing something that is not a valid schematic /symbol file.
Some old symbols might not have the version line that is now present on top of each file.
Anyway, opening the symbol and saving usually fixes the problem. If you can send me this netlist.sym file, if it is a valid symbol i will improve the detection to avoid false flags.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Let me suggest a "widget", maybe you have some ideas.
Could we get something (script) that would (if pointed to a library directory) open each found .sym and re-save it (presumably doing whatever bring-current actions might be necessary, along the way)?
I'm thinking about how to maintain integrity of my designs and libraries over the long haul. Since you keep on adding goodness, it's likely that some goodness will be "now missing" from stale versions of my (say) self-made foundry device symbol library as years go by.
I imagine this could be batch-mode xschem inside a bash script but that first bit, I've never attempted nor know how to feed it instructions.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Yes i have done that with this script. create this save.tcl script:
## script to force a load and save of all xschem filessetpathschematic/{design,generic}/*.{sch,sym}## search only for files (-types f)foreachi[glob-typesf$path]{## if 'i' contains a relative path, get full absolute path into 'f'setf[filenormalize$i]xschemload$fxschemsaveas$f}
you have to set the path variable in above script according to the files you want to load & save.
you can use absolute paths (such as set path /home/schippes/.xschem/xschem_library/US158_stefan/schematic/generic/*.sym as well as relative paths (like set path ./schematic/design/*.{sym,sch})
then open xschem, and at the xschem prompt do a source path/to/save.tcl.
One side effect is that all modification dates of the files will be updated.
Of course when doing a mass operation like this, i suggest to create a backup, just in case something goes wrong.
For the file formats i am not doing any change to the base format wich will remain always valid. Present and future versions of xschem will always be able to read old files.
Newer features are implemented as attributes attached to the base objects, for example an embedded image or waveform graph is just a rectangle object with image data attached as an attribute. An old version of xschem will be able to read a new schematic file with embedded images, it will simply not show the images or waveforms.
1) draw a line and delete it so symbol will go in 'modified' state, then save.
-OR-
2) do a 'Save As', this will always save even if nothing has been changed.
Stefan
On 16/09/22 20:58, dick freebird wrote:
Hi Stefan,
I opened (push symbol) this netlist.sym and saved it, but
placing another instance from library still gives the same
warning?
When placing "netlist.sym" I get an error popup calling it invalid.
This doesn't happen, with the other two relatives.
The symbol appears to "work".
Not sure how stale my symbol libs are, I've been carrying them across machines and designs since about 2019, while xschem has been evolving meanwhile.
So about that - what's good hygiene, for truing up symbol libraries across version-upgrades? And what of user libraries which might get "stuck in the past" as evolution progresses? Are there any known "yeah, you probably ought to update that..." symbol, netlisting, scripting features that need touching up and any guides?
This is not causing errors in your design. Xschem does some heuristict to recognize schematic and symbol files, to avoid importing something that is not a valid schematic /symbol file.
Some old symbols might not have the version line that is now present on top of each file.
Anyway, opening the symbol and saving usually fixes the problem. If you can send me this netlist.sym file, if it is a valid symbol i will improve the detection to avoid false flags.
Thanks, Stefan.
Let me suggest a "widget", maybe you have some ideas.
Could we get something (script) that would (if pointed to a library directory) open each found .sym and re-save it (presumably doing whatever bring-current actions might be necessary, along the way)?
I'm thinking about how to maintain integrity of my designs and libraries over the long haul. Since you keep on adding goodness, it's likely that some goodness will be "now missing" from stale versions of my (say) self-made foundry device symbol library as years go by.
I imagine this could be batch-mode xschem inside a bash script but that first bit, I've never attempted nor know how to feed it instructions.
Hi,
Yes i have done that with this script. create this
save.tcl
script:you have to set the
path
variable in above script according to the files you want to load & save.you can use absolute paths (such as
set path /home/schippes/.xschem/xschem_library/US158_stefan/schematic/generic/*.sym
as well as relative paths (likeset path ./schematic/design/*.{sym,sch}
)then open xschem, and at the xschem prompt do a
source path/to/save.tcl
.One side effect is that all modification dates of the files will be updated.
Of course when doing a mass operation like this, i suggest to create a backup, just in case something goes wrong.
For the file formats i am not doing any change to the base format wich will remain always valid. Present and future versions of xschem will always be able to read old files.
Newer features are implemented as attributes attached to the base objects, for example an embedded image or waveform graph is just a rectangle object with image data attached as an attribute. An old version of xschem will be able to read a new schematic file with embedded images, it will simply not show the images or waveforms.
Stefan
Last edit: stefan 2022-09-17
Hi Stefan,
I opened (push symbol) this netlist.sym and saved it, but
placing another instance from library still gives the same
warning?
Hi,
Ensure the file is really saved:
1) draw a line and delete it so symbol will go in 'modified' state, then save.
-OR-
2) do a 'Save As', this will always save even if nothing has been changed.
Stefan
On 16/09/22 20:58, dick freebird wrote: