Tutorial videos done: + getting started (~15..20 minutes) (single sheet only) (default lib only) (blinking LEDs, 2 transistors, PCB workflow) - setup: - sheet attributes for the titlebox - save -place - library window, place symbols - arrange symbols - draw nets - shift - {/} - endpoint drag for draeing the crossing - connection indication (layer toggle) - metadata - {a a} name symbols (all!) - {a v} change value: res, cap - {a f} change footprint on resistors - (explain devmap) - {a d} on NPNs - {a d} on leds and caps - place floater on devmap - {a a} name nets * this can be done more efficiently, shown in another video - battery portmap - save - create/arrange floaters for net names - abstract model & netlist - inspect the abstract model with {w a} - explain abstract/concrete models and terminology - export tEDAx netlist - export ps + arbitrary grouping sheet decoration - draw an arrow - box-select - convert to group - group origin - select, move it around, transform, copy in group - save/load menu + selections and locking - click-select - click-away to unselect - beware of clicking within symbols - only on wirenet: double selection means select wirenet - shift+click to add selection - shift+click to remove from selection - positive selection box - do not start on an existing object, that's drag&drop move - negative selction box - layer visibility - lock object so it can not be selectd - unlock is the only tool that works on locked objects + constructing an arbitrary polygon - draw lines and arcs - make sure endpoints connect - select all - select menu, convert to polygon - propedit: - fill color - stroke color - has_fill - has_stroke - clicking works only on the contour! - break up, edit, convert again - won't remember stroke and fill + operations on object vs. selected - object: - right click context menu - {e s}, {a a} and alike - transformations (mirror, rotate) - invoke from menu -> no cursor -> ask for obj (rotate) - drag&drop endpoint move is nothing is selected - drag&drop object move is nothing is selected - selection: - drag&drop move if anything is selected - convert hotkeys - select menu + paste buffers - open with 2 sheets - copy with ctrl+c - cut with ctrl+x - paste with the buffer tool - while the buffer tool is active: - rotate buffer with {e w}, - mirror with {e v} for vertical or {e h} for horizontal - {b r a} for arbitrary rotation - multi-sheet: buffer is cross-sheet - undo effects sheet part (e.g. paste or cut) but not buffer contents - multiple buffers - buffer saves/load - full content - group/symbol + backann + how to use the crosshair + how to use propedit for multi-object editing + how to construct a symbol - symbol: piezo-electric buzzer - draw decoration - use {p t} to place terminals - mention standard grid (4k) - arrange everything - name terminals using {a a} - select, convert to symbol - save symbol - move symbol to lib - refresh lib + undo/redo - open with two sheets - line, circle, move - open the undo dialog - undo with {u u}, redo with {u r} - undo/redo from the dialog - explain the undo list (list of operations) - it is not saved - it is per sheet - demonstrate multisheet + custom pinout with devmap (how to create devmap) (do the same as in "custom pinout with portmap" above) - enable autocompile - copy one of the existing files - open datasheet, open the symbol in raw mode - fill in the pinout - place transistor symbol - change devmap attribute (context menu or hotkey {a d}) + custom pinout with converting to heavy symbol (need the datasheet of some old device) - enable autocompile - place transistor symbol - attribute editor -remove devmap attribute - add the footprint attribute - close editor - remove the devmap floater leftover - {a a} over each term label + custom pinout with portmap (need the datasheet of some old device) - enable autocompile - place transistor symbol - attribute editor, remove devmap attribute - add the footprint attribute - add portmap attribute, convert to array - assisted edit portmap + text edit: tools and basic properties - place text - use {e t} to edit ot - use {e s} to change pen - change rotation - no mirror - show bbox with (....) + dyntext text object edit: dyntext - place text - use {e t} to edit text - propedit - edit text, add %../A.title% - enable dyntext - invoke the tree to show why this works, explain the .. part - edit sheet attribute title to show it is the same thing - show 3-field {e t} - demonstrate how refdes is the same thing - demonstrate how any other attribute can be printed - quicker path is 'add floater' - demonstrate how term label is the same thing, explain the 'a' vs 'A' part -- attribute editor: basics - enable autocompile (- place a symbol: npn transistor) - opening symbol attributes - context menu - {a a} - using the attribute editor - left side concrete, right side abstract - edit value of existing string attributes: name - see how it changes on the right side - add custom attribute: product_id (shows up on the right) - edit name of existing attribute (product_id to prod_id) - create a floater for prod_id - del attribute (prod_id) - delete floater -- attribute editor: array editing and assisted editing (- place a symbol: npn transistors) - open attribute editor - remove the devmap attribute - create portmap attribute - change it to array - use assisted edit for mapping 2 pins - fill in the 3d pin using raw array edit -- using pens - place text, draw a rectangle around it and place a symbol - choose different stroke pen for the text - use menu - choose different stroke pen for the rect - use {e s} - choose different fill pen for rect - explain where pens are stored and how they are defined for purpose not looks - demonstrate this on sym-decor - create a new pen called error - change text and rectangle to error pen -- text: alignment, bbox-defined text - origin - place text object (looong text) - text size: pen {e s} (refer to the pen video) - enable text meta layer -> bbox shown - change font size -> bbox grows - change text -> bbox grows - explain the origin of the text object, "grows away" - horizontal-mirror text to show the grow-away effect - (there's no real mirror: pixels are not mirrored) - bbox based - property editor, enable has_bbox - edit text to longer -> bbox remains, text size shrinks: width-constraint - edit text to shorter -> bbox remains: height-constraint - propedit, different halign values - mirror: origin and halign matter together -- how to connect things (net) - wire: draw net - wires + net names - wire stub + net names - connect symbol attribute - vcc, gnd - generic rail symbol -- tree view: - 2 sheets - window menu, show both sheets - navigate to object - mention preview - select/unselect - propedit, attr edit - del -> pending update - right click invocation -- propedit dialog (multi is already covered) - right click propedit on a symbol - close subtrees - explain p/ and a/ - reopen subtrees - a/ - open a/, open attr dialog, compare - a/role: edit as string, edit with assisted edit - p/ - explain generic flags - explain grp/ - change rot by abs value - step rot - change rot by rel value - open a new propedit on a text object - explain there's no a/ - show the different p/text subtree - change rot -- navigating the abstract model (tracing back sources) - use the slot2 example - find objects: - U1 sources - explain multisheet case - U1's 1/A port source - net/clk sources - attribute history: - U1, 3/Z - pcb/pinnum attribute - history src (tooltip!) -> U1 portmap - history src -> attr edit -> change to 87 - tree view to abstract - right click on the terminal for 87 - left side: no 87; right side: 87 - history src twice + how to speed up setting symbol attributes - show the manual way - make one right, copy that - select + :propedit -> quick edit button on the bottom right! * multi on arc is already shown in another video - renumber plugin + symbol terminal: - text alignment on terminals - turn on text meta - mirroring terminals instead of just moving - text alignment inside the body - same as terminals, just align the other way around - how to make terminal longer (sloped, opamp example) - cheat with an extra line - create the terminal by converting a line + export sheet - graphical export from menu or keyboard (single sheet, png, svg) - automated export using -x (single sheet, png, svg) - default output file name: generated from sheet name - override default output file name + export project - graphical export from menu or keyboard (multi-page ps, multi-file svg) - automated export using -x project.lht (multi-page ps, multi-file svg) -> all pages listeed are exported - automated export using -x doc.lht MCU.lht (multi-page ps) -> only pages named are exported - default output file name depends on project.lht - override default output file name + flat multisheet with implicit project file listing - start sch-rnd with multiple sheets from cli - show that project is marked [i] in the sheetsel - explain implicit projects - sheet files are in the same directory, that's how they are an implicit project - if there's project file, it holds cfg, no sheet list - does not matter if project file exists or not, but whether sheet list is empty or not - implicit project files work from the command line: - when sch-rnd is started for editing - or for export - explain implicit projects - disadvantage: sch-rnd is not aware of the file names - advantage: no extra project file list (e.g. compared to Makefile) - show a makefile!!! - creating new sheet - CLI: name it on the command line - GUI: menu: new unlisted sheet - load the file from the GUI + flat multisheet with explicit project file listing - mkdir from the shell - run sch-rnd, menu for create new project - create three types of new sheets plus one extra - quit and start sch-rnd then load the project file - quit and start sch-rnd with the project file - quit and export the project with -x - show [e] for explicit project - load partial projects: - start sch-rnd with not all sheets - start sch-rnd on the project file but unload sheet - show the menu for loading missing sheets - show project properties, change the type of the extra sheet + multiple pins per terminal - (explain the so(8) mosfet problem) - draw mostfet, 3 resistors - remove devmap from the mosfet, add portmap - fill in portmap: S=1 2 3; G=4; D=5 6 7 8 - add footprint - export to tedax, show the result + how to use the preferences window, part 1 - load a sheet so that we have a project file - invoke from file menu - navigate to the color tab - set role!!! to project - change generic color for "beyond drawing area", explain it's a frame/indication - exit, restart -> no frame; load -> frame; show a differnt project has no frame - redo the whole thing on user role - restart; show it's not project dependent + how to use the preferences window, part 2 - load a sheet so that we have a project file, from part 1 - invoke from file menu - tree tab - show the left side tree and search for color; off_limit is ours - explain the right side (top is input, bottom is conclusion) - (show this in the project file) - remove selected on project level - add a different one on project level - explain read-only levels + attribute editor: overriding footprint attribute using prio - place a symbol: nfet - devmap is 2n7002_sot23 - open attribute editor - show footprint on the right side - show history of footprint attribute on the right side -> it's from devmap - add footprint to sot23_bigpad - show history of footprint attribute on the right side -> it's overridden - change attribute prio to 31050 - show history of footprint attribute on the right side -> it's devmap again - show how devmap prio is calculated (engine list) - show the table for default prios + drawing sheet decoration - lines - line tool vs. wire tool - anydir vs. orthogonal - top level objects vs. wirenet group (show tree on right click) - juntions made (draw junctions) - move at once - no select - grab endpoint - no select - move selected - stroke {e s} - rectangles - stroke {e s} - fill - text - stroke {e s} changes font + local lib support for devmaps - empty sheet, place fet and an npn - show devmap attributes - open the {w w d} dialog from menu - show , lm358 inserted - show "count" - show refresh button, explain it is for edited - turn off compilation - mass version: maintenance menu, clean - compile - show these buttons are not present in other parts of the lib - show lib refresh doesn't work in + local lib support for symbols, part 1 - (turn off autocompile, save, set up terminal with watch ls -l) - save sheet with a single resistor, show size - show how file size is growing with 4 copies of the same resistor - show propedit: grp type - delete all resistors, save - enable lolib: mode menu, symbol libraries - place a resistor, save, show file size - place a 4 copies, save, show file size - show propedit: grp_ref type - explain how shared attributes are not accessible - open attribute editor - show the two sections - add new, value, show it is added to the local section - edit value, show how it is copied - open library window, show local lib section - show the # button - edit value in loclib, show how all changes... - ... except for the one with local deviation - refresh: overwrites our value change - remove and unembed -> show file size