Index: simulation/sim/01_dc/01_dc.rs =================================================================== --- simulation/sim/01_dc/01_dc.rs (revision 8542) +++ simulation/sim/01_dc/01_dc.rs (revision 8543) @@ -60,10 +60,8 @@ uuid=LnNTcUkV1CIzG7F2EXUAAAAY; x=-24000; y=-12000; li:objects { - ha:line.1 { x1=36000; y1=116000; x2=52000; y2=116000; stroke=wire; } - ha:line.2 { x1=44000; y1=108000; x2=44000; y2=116000; stroke=wire; } - ha:line.3 { x1=44000; y1=116000; x2=44000; y2=116000; stroke=junction; } - ha:text.4 { x1=36000; y1=116000; dyntext=1; stroke=wire; text=%../A.name%; floater=1; } + ha:line.1 { x1=44000; y1=116000; x2=52000; y2=116000; stroke=wire; } + ha:text.4 { x1=48000; y1=116000; dyntext=1; stroke=wire; text=%../A.name%; floater=1; } } ha:attrib { name=in @@ -70,16 +68,6 @@ ha:role = { value=wire-net; prio=0; } } } - ha:group.6 { - uuid=LnNTcUkV1CIzG7F2EXUAAAAZ; - x=-20000; y=-12000; - li:objects { - ha:line.1 { x1=40000; y1=88000; x2=40000; y2=60000; stroke=wire; } - } - ha:attrib { - ha:role = { value=wire-net; prio=0; } - } - } ha:group.8 { uuid=LnNTcUkV1CIzG7F2EXUAAAAg; src_uuid=iNOQfJpO6hT/HFDFGjoAAABC; x=28000; y=104000; @@ -184,7 +172,7 @@ } ha:group.24 { uuid=LnNTcUkV1CIzG7F2EXUAAABA; src_uuid=iNOQfJpO6hT/HFDFGjoAAABm; - x=20000; y=48000; + x=24000; y=48000; li:objects { ha:group.1 { uuid=LnNTcUkV1CIzG7F2EXUAAABB; src_uuid=iNOQfJpO6hT/HFDFGjoAAABn; @@ -212,90 +200,16 @@ role=symbol } } - ha:group.33 { - uuid=F3n6uHwVbWw4HTjelNgAAAAf; src_uuid=TeGEOMuew6iCb2kzckAAAAAD; - x=16000; y=136000; - li:objects { - ha:text.1 { x1=2000; y1=-4000; dyntext=0; stroke=sym-decor; text=raw spice; } - ha:text.2 { x1=2000; y1=-8000; dyntext=0; stroke=sym-decor; text=command; } - ha:polygon.3 { - li:outline { - ha:line { x1=0; y1=0; x2=0; y2=-10000; } - ha:line { x1=0; y1=-10000; x2=12000; y2=-10000; } - ha:line { x1=12000; y1=-10000; x2=12000; y2=0; } - ha:line { x1=12000; y1=0; x2=0; y2=0; } - } - stroke=sym-decor; - fill=sym-decor-fill; - } - } - ha:attrib { - -sym-comment={ Fill in spice/command and use export_spice (e.g. the spice_raw view) to get that string exported at the end of the spice netlist file. } - -sym-copyright=(C) 2023 Tibor 'Igor2' Palinkas - -sym-license-dist=GPLv2+ - -sym-license-use=Public Domain - -sym-source=sch-rnd default symbol lib - role=symbol - spice/command={op -print v(out1) v(out2) -} - } - } - ha:group.34 { - uuid=XkMAnbHX1rIO2D9kjFAAAAAk; src_uuid=iNOQfJpO6hT/HFDFGjoAAAB0; - x=20000; y=96000; rot=270.000000; mirx=1; - li:objects { - ha:group.1 { - uuid=XkMAnbHX1rIO2D9kjFAAAAAl; src_uuid=iNOQfJpO6hT/HFDFGjoAAAB1; - x=20000; y=0; - li:objects { - ha:line.1 { x1=0; y1=0; x2=-4000; y2=0; stroke=term-decor; } - ha:text.2 { x1=-3000; y1=0; dyntext=1; stroke=term-primary; text=%../a.display/name%; } - } - ha:attrib { - name=N - role=terminal - ha:spice/pinnum = { value=2; prio=31050; } - } - } - ha:group.2 { - uuid=XkMAnbHX1rIO2D9kjFAAAAAm; src_uuid=iNOQfJpO6hT/HFDFGjoAAAB2; - mirx=1; - li:objects { - ha:line.1 { x1=0; y1=0; x2=-4000; y2=0; stroke=term-decor; } - ha:text.2 { x1=-3000; y1=0; dyntext=1; stroke=term-primary; text=%../a.display/name%; } - } - ha:attrib { - name=P - role=terminal - ha:spice/pinnum = { value=1; prio=31050; } - } - } - ha:arc.3 { cx=10000; cy=0; r=6000; sang=0.000000; dang=360.000000; stroke=sym-decor; } - ha:line.4 { x1=7000; y1=2000; x2=7000; y2=-2000; stroke=sym-decor; } - ha:line.5 { x1=5000; y1=0; x2=9000; y2=0; stroke=sym-decor; } - ha:line.6 { x1=11000; y1=0; x2=15000; y2=0; stroke=sym-decor; } - ha:text.7 { x1=0; y1=8000; dyntext=1; stroke=sym-primary; text=%../A.name%; floater=1; } - ha:text.8 { x1=0; y1=4000; dyntext=1; stroke=sym-secondary; text=%../A.spice/params%; floater=1; } - } - ha:attrib { - -sym-copyright=(C) 2022 Tibor 'Igor2' Palinkas - -sym-license-dist=GPLv2+ - -sym-license-use=Public Domain - -sym-source=sch-rnd default symbol lib - name=V1 - role=symbol - spice/params=DC 5V - } - } ha:group.37 { uuid=XkMAnbHX1rIO2D9kjFAAAAAn; x=-24000; y=-12000; li:objects { - ha:line.1 { x1=72000; y1=116000; x2=84000; y2=116000; stroke=wire; } ha:line.2 { x1=76000; y1=112000; x2=76000; y2=116000; stroke=wire; } ha:line.3 { x1=76000; y1=116000; x2=76000; y2=116000; stroke=junction; } ha:text.4 { x1=84000; y1=116000; dyntext=1; stroke=wire; text=%../A.name%; floater=1; } + ha:line.5 { x1=72000; y1=116000; x2=88000; y2=116000; stroke=wire; } + ha:line.6 { x1=88000; y1=116000; x2=88000; y2=92000; stroke=wire; } + ha:line.7 { x1=88000; y1=92000; x2=92000; y2=92000; stroke=wire; } } ha:attrib { name=out1 @@ -398,7 +312,7 @@ x=-24000; y=-12000; li:objects { ha:line.1 { x1=76000; y1=84000; x2=76000; y2=92000; stroke=wire; } - ha:line.2 { x1=76000; y1=88000; x2=84000; y2=88000; stroke=wire; } + ha:line.2 { x1=76000; y1=88000; x2=92000; y2=88000; stroke=wire; } ha:line.3 { x1=76000; y1=88000; x2=76000; y2=88000; stroke=junction; } ha:text.4 { x1=84000; y1=88000; dyntext=1; stroke=wire; text=%../A.name%; floater=1; } } @@ -413,28 +327,10 @@ /2/3/1 } } - ha:connection.54 { - li:conn { - /2/24/1/1 - /2/6/1 - } - } - ha:connection.55 { - li:conn { - /2/34/1/1 - /2/6/1 - } - } - ha:connection.56 { - li:conn { - /2/34/2/1 - /2/3/2 - } - } ha:connection.57 { li:conn { - /2/37/1 /2/8/1/1 + /2/37/5 } } ha:connection.58 { @@ -467,6 +363,198 @@ /2/40/2/1 } } + ha:group.63 { + uuid=YwPM9NEZm6Skk0Cu7xAAAAAe; src_uuid=YwPM9NEZm6Skk0Cu7xAAAAAb; + x=16000; y=100000; mirx=1; + li:objects { + ha:text.1 { x1=0; y1=-6000; dyntext=1; stroke=sym-primary; text=%../A.name%; floater=1; } + ha:group.2 { + uuid=YwPM9NEZm6Skk0Cu7xAAAAAf; src_uuid=YwPM9NEZm6Skk0Cu7xAAAAAc; + mirx=1; + li:objects { + ha:line.1 { x1=0; y1=0; x2=4000; y2=0; stroke=term-decor; } + ha:text.2 { x1=1000; y1=0; dyntext=1; stroke=term-primary; text=%../A.name%; } + } + ha:attrib { + name=1 + role=terminal + } + } + ha:group.3 { + uuid=YwPM9NEZm6Skk0Cu7xAAAAAg; src_uuid=YwPM9NEZm6Skk0Cu7xAAAAAd; + x=0; y=4000; mirx=1; + li:objects { + ha:line.1 { x1=0; y1=0; x2=4000; y2=0; stroke=term-decor; } + ha:text.2 { x1=1000; y1=0; dyntext=1; stroke=term-primary; text=%../A.name%; } + } + ha:attrib { + name=2 + role=terminal + } + } + ha:polygon.4 { + li:outline { + ha:line { x1=0; y1=-2000; x2=0; y2=6000; } + ha:line { x1=0; y1=6000; x2=4000; y2=6000; } + ha:line { x1=4000; y1=6000; x2=4000; y2=-2000; } + ha:line { x1=4000; y1=-2000; x2=0; y2=-2000; } + } + stroke=sym-decor; + } + } + ha:attrib { + name=CN1 + role=symbol + } + } + ha:group.64 { + uuid=YwPM9NEZm6Skk0Cu7xAAAAAp; src_uuid=YwPM9NEZm6Skk0Cu7xAAAAAl; + x=72000; y=72000; + li:objects { + ha:text.1 { x1=0; y1=-6000; dyntext=1; stroke=sym-primary; text=%../A.name%; floater=1; } + ha:group.2 { + uuid=YwPM9NEZm6Skk0Cu7xAAAAAq; src_uuid=YwPM9NEZm6Skk0Cu7xAAAAAm; + mirx=1; + li:objects { + ha:line.1 { x1=0; y1=0; x2=4000; y2=0; stroke=term-decor; } + ha:text.2 { x1=1000; y1=0; dyntext=1; stroke=term-primary; text=%../A.name%; } + } + ha:attrib { + name=1 + role=terminal + } + } + ha:group.3 { + uuid=YwPM9NEZm6Skk0Cu7xAAAAAr; src_uuid=YwPM9NEZm6Skk0Cu7xAAAAAn; + x=0; y=4000; mirx=1; + li:objects { + ha:line.1 { x1=0; y1=0; x2=4000; y2=0; stroke=term-decor; } + ha:text.2 { x1=1000; y1=0; dyntext=1; stroke=term-primary; text=%../A.name%; } + } + ha:attrib { + name=2 + role=terminal + } + } + ha:group.4 { + uuid=YwPM9NEZm6Skk0Cu7xAAAAAs; src_uuid=YwPM9NEZm6Skk0Cu7xAAAAAo; + x=0; y=8000; mirx=1; + li:objects { + ha:line.1 { x1=0; y1=0; x2=4000; y2=0; stroke=term-decor; } + ha:text.2 { x1=1000; y1=0; dyntext=1; stroke=term-primary; text=%../A.name%; } + } + ha:attrib { + name=3 + role=terminal + } + } + ha:polygon.5 { + li:outline { + ha:line { x1=0; y1=-2000; x2=0; y2=10000; } + ha:line { x1=0; y1=10000; x2=4000; y2=10000; } + ha:line { x1=4000; y1=10000; x2=4000; y2=-2000; } + ha:line { x1=4000; y1=-2000; x2=0; y2=-2000; } + } + stroke=sym-decor; + } + } + ha:attrib { + name=CN2 + role=symbol + } + } + ha:connection.65 { + li:conn { + /2/63/3/1 + /2/3/1 + } + } + ha:group.66 { + uuid=YwPM9NEZm6Skk0Cu7xAAAAAt; + li:objects { + ha:line.1 { x1=20000; y1=100000; x2=24000; y2=100000; stroke=wire; } + ha:line.2 { x1=24000; y1=100000; x2=24000; y2=48000; stroke=wire; } + } + ha:attrib { + ha:role = { value=wire-net; prio=0; } + } + } + ha:connection.67 { + li:conn { + /2/66/1 + /2/63/2/1 + } + } + ha:connection.69 { + li:conn { + /2/37/7 + /2/64/4/1 + } + } + ha:connection.70 { + li:conn { + /2/49/2 + /2/64/3/1 + } + } + ha:group.71 { + uuid=YwPM9NEZm6Skk0Cu7xAAAAAw; src_uuid=iNOQfJpO6hT/HFDFGjoAAABm; + x=64000; y=48000; + li:objects { + ha:group.1 { + uuid=YwPM9NEZm6Skk0Cu7xAAAAAx; src_uuid=iNOQfJpO6hT/HFDFGjoAAABn; + rot=90.000000; + li:objects { + ha:line.1 { x1=0; y1=0; x2=-4000; y2=0; stroke=term-decor; } + } + ha:attrib { + ha:name = { value=1; prio=220; } + role=terminal + } + } + ha:line.2 { x1=-1500; y1=-5000; x2=1500; y2=-5000; stroke=sym-decor; } + ha:line.3 { x1=-500; y1=-6000; x2=500; y2=-6000; stroke=sym-decor; } + ha:line.4 { x1=-2500; y1=-4000; x2=2500; y2=-4000; stroke=sym-decor; } + } + ha:attrib { + -sym-copyright=(C) 2022 Tibor 'Igor2' Palinkas + -sym-license-dist=GPLv2+ + -sym-license-use=Public Domain + -sym-source=sch-rnd default symbol lib + li:connect { + {1:GND} + } + role=symbol + } + } + ha:group.72 { + uuid=YwPM9NEZm6Skk0Cu7xAAAAAy; + li:objects { + ha:line.1 { x1=64000; y1=48000; x2=64000; y2=72000; stroke=wire; } + ha:line.2 { x1=64000; y1=72000; x2=68000; y2=72000; stroke=wire; } + } + ha:attrib { + ha:role = { value=wire-net; prio=0; } + } + } + ha:connection.73 { + li:conn { + /2/72/1 + /2/71/1/1 + } + } + ha:connection.74 { + li:conn { + /2/72/2 + /2/64/2/1 + } + } + ha:connection.75 { + li:conn { + /2/66/2 + /2/24/1/1 + } + } } ha:attrib { maintainer=Tibor 'Igor2' Palinkas @@ -475,4 +563,12 @@ title={SIM raw spice: DC operating point} } } + li:sch-rnd-conf-v1 { + ha:overwrite { + ha:editor { + grids_idx = 2 + grid = 4.0960 mm + } + } + } } Index: simulation/sim/01_dc/project.lht =================================================================== --- simulation/sim/01_dc/project.lht (revision 8542) +++ simulation/sim/01_dc/project.lht (revision 8543) @@ -0,0 +1,39 @@ +ha:coraleda-project-v1 { + li:sch-rnd-conf-v1 { + ha:overwrite { + ha:plugins { + ha:sim { + li:setups { + {ha:dc op point} { + li:mods { + ha:add { + value = 5 + pos = CN1-2 + neg = CN1-1 + device = V + tdf = none + ha:tdf_params { + } + } + } + li:output { + {ha:DC output voltages} { + ha:presentation { + li:props { + CN2-3 + CN2-2 + } + type = print + } + ha:analysis { + type = op + } + } + } + } + } + } + } + } + } +}