lepton-tragesym(1)
π lepton-tragesym(1) π
okay bestie, welcome to lepton-tragesym, from the Lepton EDA fam (this is manual section 1, version 1.9.18.20220529, if you're keeping track π). it's the little tool that turns your boring structured text files into full-on lepton-schematic symbols. glow-up energy only. β¨
πΈ NAME πΈ
lepton-tragesym β create Lepton EDA symbols from structured text files π¦
β SYNOPSIS β
lepton-tragesym SOURCE-FILE SYMBOL-FILE
π DESCRIPTION π
so basically, lepton-tragesym takes structured text files and manifests lepton-schematic symbols out of them. it's giving alchemy but make it netlist. π§
here's the menu of what lepton-tragesym can do, no cap:
- create pins, plus their little elements (clocksign, negation bubble) and their attributes (
"pinnumber","pinseq","pintype", and"pinlabel"); - sort the pins alphabetically by their attributes;
- rotate
pinlabelattributes of the top and bottom pins if you ask nicely; - swap words in the
pinlabelattributes if requested β and heads up, this only works for attributes of the right and top pins, and for the top ones only if rotation is requested too, iykyk; - do some syntax checking on the input file, because somebody has to be the responsible one. π
π SOURCE FILE FORMAT π
β¨ General β¨
the source file is a text file, and it's made of three sections:
[geda_attr][options][pins]
section names get wrapped in square brackets, periodt.
empty lines, lines that are literally just whitespace, and lines starting with the character '#' (those are comments) all get silently ignored. no drama, they just don't exist. π
π₯ [options] π₯
this section is where your export settings live. here's everything that's supported:
wordswap(boolean) β swap labels if the pin is on the right side and there's a space between words, so it looks like this:"PB1 (CLK)". super useful for micro controller port labels, ngl.rotate_labels(boolean) β rotate the"pinlabel"attribute of the top and bottom pins by 90 degrees. obsessed, this is the move for big symbols like FPGAs with more than 100 pins.sort_labels(boolean) β sort the pins by their"pinlabel"attributes. chef's kiss for address ports, busses, etc.generate_pinseq(boolean) β automatically generate"pinseq"attributes for the pins whose corresponding field in the source file is empty. the generated attribute values are numbers incremented in the order the pin description lines appear in the[pins]section, except for already existing numbers.sym_width(integer) β minimum box width of the resulting symbol.pinwidthvertical(integer) β the vertical distance between pins on the left or right hand side of the symbol.pinwidthhorizontal(integer) β the horizontal distance between pins on the top or bottom of the symbol.
okay so the boolean values? you write them in the source file as the words"yes"or"on"meaning TRUE, and"no"or"off"meaning FALSE. that's the whole vibe check. β
π [geda_attr] π
this section holds the list of Lepton symbol attributes (the "name=value" pairs) that you want showing up in the symbol file. the attribute names can be separated by the equal sign or the tabulation character ("=" or "\t"). the tab separator is supported so you can conveniently export straight out of spreadsheet programs β iconic. π
π [pins] π
this section is the description of the symbol pins you want made, one pin per line. each pin description is made of seven tab separated fields, and any of them may contain an empty value (meaning no character between tabs, just vibes). the fields define these pin attributes and properties:
"pinnumber"attribute the"pinnumber"attribute represents the physical number of the component pin."pinseq"attribute the"pinseq"attribute is used in Lepton to assign pin numbers for slotted components, and by the SPICE backends to output pins in the right order. leave the field blank if it doesn't matter."pintype"attribute the"pintype"attribute defines the pin function (input, output, power, etc.) and can be one of"in","out","io","oc","oe","pas","tp","tri","clk", or"pwr". it's used by the DRC backends to check component interconnection validity.- pin style pin style determines the appearance of the pin. it can be one of
"line"(simple pin),"dot"(pin with negation bubble),"clk"(pin with clock symbol),"dotclk"(bubble and clock),"spacer"(not a pin, just additional empty space between two pins), or"none"(to add a virtual pin via the"net"attribute). - pin position pin position determines the side of the component the pin should be placed on. it can be
"l"(left),"r"(right),"t"(top),"b"(bottom), or empty ("") when the pin should be defined in the"net"attribute. - pin net specifies the net name of the pin to define via the
"net"attribute, for example,"Vcc"or"GND". "pinlabel"attribute the"pinlabel"attribute represents the visible pin label defining its name in the component, for example"A"(anode) or"C"(cathode) in a diode symbol. negation lines can be added with\_, for example,\_enable\_. if you want to add the character\, use\\as escape sequence. this is supported bylepton-schematic.
π¦ TUTORIAL π¦
there's a tutorial on the use of tragesym β the predecessor of lepton-tragesym, the OG β right here:
http://wiki.geda-project.org/geda:tragesym_tutorial
π AUTHOR π
the initial Python script has been written by Werner Hoch <werner.ho@gmx.de>. the program has been rewritten almost from scratch in Scheme by Vladimir Zhbanov <vzhbanov@gmail.com>. legends, honestly. π«Ά
π SEE ALSO π
π COPYRIGHT π
Copyright Β© 2012-2017 gEDA Contributors. Copyright Β© 2019-2022 Lepton EDA Contributors. License GPLv2+: GNU GPL version 2 or later. Please see the COPYING file included with this program for full details.
This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law.
bestie that's the serious part, don't skip it β it's free software, you can change it and redistribute it, but there is NO WARRANTY, to the extent permitted by law. fr fr. π
and that's a wrap, angel. π this page came from the Lepton EDA crew, dated May 29, 2022 β go make some iconic symbols with it. mwah. ππ
π¦ where this page comes from
- debian bookworm: lepton-eda 1.9.18-1 Β· GPL-2.0-or-later
- debian trixie: lepton-eda 1.9.18-3 Β· GPL-2.0-or-later
- nixos 26.05: lepton-eda 1.9.18-20220529
- nixpkgs unstable: lepton-eda 1.9.18-20220529
- ubuntu noble: lepton-eda 1.9.18-2build2 Β· GPL-2.0-or-later
- ubuntu questing: lepton-eda 1.9.18-3
- ubuntu resolute: lepton-eda 1.9.18-4 Β· GPL-2.0-or-later
- ubuntu stonking: lepton-eda 1.9.18-4 Β· GPL-2.0-or-later
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms