circuitscript 0.0.17 → 0.0.18
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/__tests__/parseScripts.ts +55 -1
- package/__tests__/renderData/script1.cst.svg +1 -1
- package/__tests__/renderData/script5.cst.svg +1 -1
- package/__tests__/renderData/script6.cst +28 -0
- package/__tests__/renderData/script6.cst.svg +1 -0
- package/__tests__/testParse.ts +3 -2
- package/__tests__/testRender.ts +2 -1
- package/build/src/antlr/CircuitScriptLexer.js +152 -148
- package/build/src/antlr/CircuitScriptParser.js +293 -271
- package/build/src/draw_symbols.js +5 -2
- package/build/src/execute.js +76 -51
- package/build/src/export.js +2 -2
- package/build/src/globals.js +6 -0
- package/build/src/layout.js +27 -13
- package/build/src/visitor.js +14 -4
- package/package.json +1 -1
- package/src/antlr/CircuitScript.g4 +2 -1
- package/src/antlr/CircuitScriptLexer.ts +152 -148
- package/src/antlr/CircuitScriptParser.ts +293 -271
- package/src/draw_symbols.ts +7 -2
- package/src/execute.ts +109 -72
- package/src/export.ts +2 -2
- package/src/globals.ts +6 -0
- package/src/layout.ts +54 -29
- package/src/objects/ExecutionScope.ts +10 -2
- package/src/visitor.ts +17 -6
|
@@ -384,4 +384,58 @@ at my_net
|
|
|
384
384
|
`, [
|
|
385
385
|
['/hello', 'my_net', 1],
|
|
386
386
|
['/hello', 'my_net:0', 1
|
|
387
|
-
]]);
|
|
387
|
+
]]);
|
|
388
|
+
|
|
389
|
+
|
|
390
|
+
/*
|
|
391
|
+
After a function call, the correct graph position should be resumed from.
|
|
392
|
+
This test also checks the join keyword
|
|
393
|
+
*/
|
|
394
|
+
export const script13 = new ScriptTest(`import lib
|
|
395
|
+
|
|
396
|
+
v5v = supply("5V")
|
|
397
|
+
gnd = dgnd()
|
|
398
|
+
|
|
399
|
+
def led_with_res():
|
|
400
|
+
add led("yellow") pin 2 right
|
|
401
|
+
wire right 20
|
|
402
|
+
add res(1k)
|
|
403
|
+
wire right 20
|
|
404
|
+
|
|
405
|
+
join:
|
|
406
|
+
at gnd left
|
|
407
|
+
wire right 20
|
|
408
|
+
add label("TXLED")
|
|
409
|
+
wire right 60
|
|
410
|
+
led_with_res()
|
|
411
|
+
|
|
412
|
+
join:
|
|
413
|
+
at gnd left
|
|
414
|
+
wire right 20
|
|
415
|
+
add label("RXLED")
|
|
416
|
+
wire right 60
|
|
417
|
+
led_with_res()
|
|
418
|
+
wire up 100
|
|
419
|
+
|
|
420
|
+
wire up 20
|
|
421
|
+
to v5v`,
|
|
422
|
+
[
|
|
423
|
+
[ '/5V', 'v5v', 1 ],
|
|
424
|
+
[ '/5V', 'led_with_res_0.res_0.COMP_1_1k', 2 ],
|
|
425
|
+
[ '/5V', '_join.__.0', 1 ],
|
|
426
|
+
[ '/5V', 'led_with_res_1.res_1.COMP_1_1k', 2 ],
|
|
427
|
+
[ '/5V', 'v5v:0', 1 ],
|
|
428
|
+
[ '/GND', 'gnd', 1 ],
|
|
429
|
+
[ '/GND', 'gnd:0', 1 ],
|
|
430
|
+
[ '/GND', 'label_0.COMP_1_1', 1 ],
|
|
431
|
+
[ '/GND', 'led_with_res_0.__root', 1 ],
|
|
432
|
+
[ '/GND', 'led_with_res_0.led_0.COMP_1_0603', 2 ],
|
|
433
|
+
[ '/GND', 'gnd:1', 1 ],
|
|
434
|
+
[ '/GND', 'label_1.COMP_1_1', 1 ],
|
|
435
|
+
[ '/GND', 'led_with_res_1.__root', 1 ],
|
|
436
|
+
[ '/GND', 'led_with_res_1.led_1.COMP_1_0603', 2 ],
|
|
437
|
+
[ '/NET_2', 'led_with_res_0.led_0.COMP_1_0603', 1 ],
|
|
438
|
+
[ '/NET_2', 'led_with_res_0.res_0.COMP_1_1k', 1 ],
|
|
439
|
+
[ '/NET_2', 'led_with_res_1.led_1.COMP_1_0603', 1 ],
|
|
440
|
+
[ '/NET_2', 'led_with_res_1.res_1.COMP_1_1k', 1 ]
|
|
441
|
+
]);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
<svg xmlns="http://www.w3.org/2000/svg" version="1.1" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svgjs="http://svgjs.dev/svgjs" width="410" height="510.5" viewBox="-25 -25.5 410 510.5"><g transform="matrix(1,0,0,1,0,0)"><path d="M -20 -20.5 L -20 480 M 0 -20.5 L 0 480 M 20 -20.5 L 20 480 M 40 -20.5 L 40 480 M 60 -20.5 L 60 480 M 80 -20.5 L 80 480 M 100 -20.5 L 100 480 M 120 -20.5 L 120 480 M 140 -20.5 L 140 480 M 160 -20.5 L 160 480 M 180 -20.5 L 180 480 M 200 -20.5 L 200 480 M 220 -20.5 L 220 480 M 240 -20.5 L 240 480 M 260 -20.5 L 260 480 M 280 -20.5 L 280 480 M 300 -20.5 L 300 480 M 320 -20.5 L 320 480 M 340 -20.5 L 340 480 M 360 -20.5 L 360 480 M 380 -20.5 L 380 480" fill="none" stroke-dasharray="1,19" stroke-width="1" stroke="#aaaaaa"></path></g><g transform="matrix(1,0,0,1,20,30)"><g><path d="M -15 0 L 15 0" stroke-width="1" stroke="#333333" fill="none"></path><path d="M 0 10 L 0 0" stroke-width="2" stroke="#333333"></path><g transform="matrix(1,0,0,1,0,-5)"><text fill="#333333" font-family="Open Sans-Regular, Arial" font-size="10" text-anchor="middle" dominant-baseline="text-top" font-weight="regular" transform="matrix(1,0,0,1,0,0)" svgjs:data="{"leading":"1.3"}"><tspan dy="0" x="0" svgjs:data="{"newLined":true}">5V</tspan></text></g></g></g><g transform="matrix(1,0,0,1,20.000000000000004,120)"><g><path d="M 9.999999999999998 -20 L 10.000000000000002 20 L -9.999999999999998 20 L -10.000000000000002 -20 Z" stroke-width="1" stroke="#333333" fill="#ffffff"></path><path d="M -2.4492935982947065e-15 -40 L -1.2246467991473533e-15 -20 M 2.4492935982947065e-15 40 L 1.2246467991473533e-15 20" stroke-width="2" stroke="#333333"></path><g transform="matrix(6.123233995736766e-17,1,-1,6.123233995736766e-17,1.9999999999999987,-22)"><text fill="#333333" font-family="Open Sans-Regular, Arial" font-size="8" text-anchor="end" dominant-baseline="text-top" font-weight="regular" transform="matrix(1,0,0,1,0,0)" svgjs:data="{"leading":"1.3"}"><tspan dy="0" x="0" svgjs:data="{"newLined":true}">1</tspan></text></g><g transform="matrix(6.123233995736766e-17,1,-1,6.123233995736766e-17,2.0000000000000013,22)"><text fill="#333333" font-family="Open Sans-Regular, Arial" font-size="8" text-anchor="start" dominant-baseline="text-top" font-weight="regular" transform="matrix(1,0,0,1,0,0)" svgjs:data="{"leading":"1.3"}"><tspan dy="0" x="0" svgjs:data="{"newLined":true}">2</tspan></text></g><g transform="matrix(6.123233995736766e-17,1,-1,6.123233995736766e-17,-1,6.123233995736766e-17)"><text fill="#333333" font-family="Open Sans-Regular, Arial" font-size="10" text-anchor="middle" dominant-baseline="middle" font-weight="regular" transform="matrix(1,0,0,1,0,0)" svgjs:data="{"leading":"1.3"}"><tspan dy="0" x="0" svgjs:data="{"newLined":true}">10k</tspan></text></g><g transform="matrix(6.123233995736766e-17,1,-1,6.123233995736766e-17,14.999999999999998,-20)"><text fill="#333333" font-family="Open Sans-Regular, Arial" font-size="10" text-anchor="start" dominant-baseline="text-top" font-weight="regular" transform="matrix(1,0,0,1,0,0)" svgjs:data="{"leading":"1.3"}"><tspan dy="0" x="0" svgjs:data="{"newLined":true}">R1</tspan></text></g><path d="M -10.000000000000002 -40 L 10.000000000000002 40 M 10.000000000000002 -40 L -10.000000000000002 40" stroke-width="2" stroke="red"></path></g></g><g transform="matrix(1,0,0,1,20.000000000000004,190)"><g><path d="M -10 0 L 10 0 L 0 10 Z" stroke-width="1" stroke="#333333" fill="#ffffff"></path><path d="M 0 -10 L 0 0" stroke-width="2" stroke="#333333"></path><g transform="matrix(1,0,0,1,0,20)"><text fill="#333333" font-family="Open Sans-Regular, Arial" font-size="10" text-anchor="middle" dominant-baseline="text-top" font-weight="regular" transform="matrix(1,0,0,1,0,0)" svgjs:data="{"leading":"1.3"}"><tspan dy="0" x="0" svgjs:data="{"newLined":true}">GND</tspan></text></g></g></g><g transform="matrix(1,0,0,1,60,120)"><g><path d="M 9.999999999999998 -20 L 10.000000000000002 20 L -9.999999999999998 20 L -10.000000000000002 -20 Z" stroke-width="1" stroke="#333333" fill="#ffffff"></path><path d="M -2.4492935982947065e-15 -40 L -1.2246467991473533e-15 -20 M 2.4492935982947065e-15 40 L 1.2246467991473533e-15 20" stroke-width="2" stroke="#333333"></path><g transform="matrix(6.123233995736766e-17,1,-1,6.123233995736766e-17,1.9999999999999987,-22)"><text fill="#333333" font-family="Open Sans-Regular, Arial" font-size="8" text-anchor="end" dominant-baseline="text-top" font-weight="regular" transform="matrix(1,0,0,1,0,0)" svgjs:data="{"leading":"1.3"}"><tspan dy="0" x="0" svgjs:data="{"newLined":true}">1</tspan></text></g><g transform="matrix(6.123233995736766e-17,1,-1,6.123233995736766e-17,2.0000000000000013,22)"><text fill="#333333" font-family="Open Sans-Regular, Arial" font-size="8" text-anchor="start" dominant-baseline="text-top" font-weight="regular" transform="matrix(1,0,0,1,0,0)" svgjs:data="{"leading":"1.3"}"><tspan dy="0" x="0" svgjs:data="{"newLined":true}">2</tspan></text></g><g transform="matrix(6.123233995736766e-17,1,-1,6.123233995736766e-17,-1,6.123233995736766e-17)"><text fill="#333333" font-family="Open Sans-Regular, Arial" font-size="10" text-anchor="middle" dominant-baseline="middle" font-weight="regular" transform="matrix(1,0,0,1,0,0)" svgjs:data="{"leading":"1.3"}"><tspan dy="0" x="0" svgjs:data="{"newLined":true}">20k</tspan></text></g><g transform="matrix(6.123233995736766e-17,1,-1,6.123233995736766e-17,14.999999999999998,-20)"><text fill="#333333" font-family="Open Sans-Regular, Arial" font-size="10" text-anchor="start" dominant-baseline="text-top" font-weight="regular" transform="matrix(1,0,0,1,0,0)" svgjs:data="{"leading":"1.3"}"><tspan dy="0" x="0" svgjs:data="{"newLined":true}">R2</tspan></text></g></g></g><g transform="matrix(1,0,0,1,60,190)"><g><path d="M -10 0 L 10 0 L 0 10 Z" stroke-width="1" stroke="#333333" fill="#ffffff"></path><path d="M 0 -10 L 0 0" stroke-width="2" stroke="#333333"></path><g transform="matrix(1,0,0,1,0,20)"><text fill="#333333" font-family="Open Sans-Regular, Arial" font-size="10" text-anchor="middle" dominant-baseline="text-top" font-weight="regular" transform="matrix(1,0,0,1,0,0)" svgjs:data="{"leading":"1.3"}"><tspan dy="0" x="0" svgjs:data="{"newLined":true}">GND</tspan></text></g></g></g><g transform="matrix(1,0,0,1,100,100)"><g><path d="M -10 -3 L 10 -3" stroke-width="1" stroke="#333333" fill="none"></path><path d="M -10 3 L 10 3" stroke-width="1" stroke="#333333" fill="none"></path><path d="M 0 -20 L 0 -3 M 0 20 L 0 3" stroke-width="2" stroke="#333333"></path><g transform="matrix(1,0,0,1,2,-5)"><text fill="#333333" font-family="Open Sans-Regular, Arial" font-size="8" text-anchor="start" dominant-baseline="text-top" font-weight="regular" transform="matrix(1,0,0,1,0,0)" svgjs:data="{"leading":"1.3"}"><tspan dy="0" x="0" svgjs:data="{"newLined":true}">1</tspan></text></g><g transform="matrix(1,0,0,1,2,5)"><text fill="#333333" font-family="Open Sans-Regular, Arial" font-size="8" text-anchor="start" dominant-baseline="hanging" font-weight="regular" transform="matrix(1,0,0,1,0,0)" svgjs:data="{"leading":"1.3"}"><tspan dy="0" x="0" svgjs:data="{"newLined":true}">2</tspan></text></g><g transform="matrix(1,0,0,1,12,0)"><text fill="#333333" font-family="Open Sans-Regular, Arial" font-size="10" text-anchor="start" dominant-baseline="text-top" font-weight="regular" transform="matrix(1,0,0,1,0,0)" svgjs:data="{"leading":"1.3"}"><tspan dy="0" x="0" svgjs:data="{"newLined":true}">C1</tspan></text></g><g transform="matrix(1,0,0,1,12,5)"><text fill="#333333" font-family="Open Sans-Regular, Arial" font-size="10" text-anchor="start" dominant-baseline="hanging" font-weight="regular" transform="matrix(1,0,0,1,0,0)" svgjs:data="{"leading":"1.3"}"><tspan dy="0" x="0" svgjs:data="{"newLined":true}">100n</tspan></text></g></g></g><g transform="matrix(1,0,0,1,100,150)"><g><path d="M -10 0 L 10 0 L 0 10 Z" stroke-width="1" stroke="#333333" fill="#ffffff"></path><path d="M 0 -10 L 0 0" stroke-width="2" stroke="#333333"></path><g transform="matrix(1,0,0,1,0,20)"><text fill="#333333" font-family="Open Sans-Regular, Arial" font-size="10" text-anchor="middle" dominant-baseline="text-top" font-weight="regular" transform="matrix(1,0,0,1,0,0)" svgjs:data="{"leading":"1.3"}"><tspan dy="0" x="0" svgjs:data="{"newLined":true}">GND</tspan></text></g></g></g><g transform="matrix(1,0,0,1,140,60)"><g><path d="M 0 0 L 0 0" stroke-width="2" stroke="#333333"></path></g></g><g transform="matrix(1,0,0,1,210,80)"><g><path d="M -50 -40 L 50 -40 L 50 40 L -50 40 Z" stroke-width="1" stroke="#333333" fill="#ffffff"></path><path d="M -70 -20 L -50 -20 M -70 0 L -50 0 M -70 20 L -50 20 M 70 -20 L 50 -20 M 70 0 L 50 0 M 70 20 L 50 20" stroke-width="2" stroke="#333333"></path><g transform="matrix(1,0,0,1,-46,-20)"><text fill="#333333" font-family="Open Sans-Regular, Arial" font-size="10" text-anchor="start" dominant-baseline="middle" font-weight="regular" transform="matrix(1,0,0,1,0,0)" svgjs:data="{"leading":"1.3"}"><tspan dy="0" x="0" svgjs:data="{"newLined":true}">1</tspan></text></g><g transform="matrix(1,0,0,1,-52,-22)"><text fill="#333333" font-family="Open Sans-Regular, Arial" font-size="8" text-anchor="end" dominant-baseline="text-top" font-weight="regular" transform="matrix(1,0,0,1,0,0)" svgjs:data="{"leading":"1.3"}"><tspan dy="0" x="0" svgjs:data="{"newLined":true}">1</tspan></text></g><g transform="matrix(1,0,0,1,-46,0)"><text fill="#333333" font-family="Open Sans-Regular, Arial" font-size="10" text-anchor="start" dominant-baseline="middle" font-weight="regular" transform="matrix(1,0,0,1,0,0)" svgjs:data="{"leading":"1.3"}"><tspan dy="0" x="0" svgjs:data="{"newLined":true}">2</tspan></text></g><g transform="matrix(1,0,0,1,-52,-2)"><text fill="#333333" font-family="Open Sans-Regular, Arial" font-size="8" text-anchor="end" dominant-baseline="text-top" font-weight="regular" transform="matrix(1,0,0,1,0,0)" svgjs:data="{"leading":"1.3"}"><tspan dy="0" x="0" svgjs:data="{"newLined":true}">2</tspan></text></g><g transform="matrix(1,0,0,1,-46,20)"><text fill="#333333" font-family="Open Sans-Regular, Arial" font-size="10" text-anchor="start" dominant-baseline="middle" font-weight="regular" transform="matrix(1,0,0,1,0,0)" svgjs:data="{"leading":"1.3"}"><tspan dy="0" x="0" svgjs:data="{"newLined":true}">3</tspan></text></g><g transform="matrix(1,0,0,1,-52,18)"><text fill="#333333" font-family="Open Sans-Regular, Arial" font-size="8" text-anchor="end" dominant-baseline="text-top" font-weight="regular" transform="matrix(1,0,0,1,0,0)" svgjs:data="{"leading":"1.3"}"><tspan dy="0" x="0" svgjs:data="{"newLined":true}">3</tspan></text></g><g transform="matrix(1,0,0,1,46,-20)"><text fill="#333333" font-family="Open Sans-Regular, Arial" font-size="10" text-anchor="end" dominant-baseline="middle" font-weight="regular" transform="matrix(1,0,0,1,0,0)" svgjs:data="{"leading":"1.3"}"><tspan dy="0" x="0" svgjs:data="{"newLined":true}">6</tspan></text></g><g transform="matrix(1,0,0,1,52,-22)"><text fill="#333333" font-family="Open Sans-Regular, Arial" font-size="8" text-anchor="start" dominant-baseline="text-top" font-weight="regular" transform="matrix(1,0,0,1,0,0)" svgjs:data="{"leading":"1.3"}"><tspan dy="0" x="0" svgjs:data="{"newLined":true}">6</tspan></text></g><g transform="matrix(1,0,0,1,46,0)"><text fill="#333333" font-family="Open Sans-Regular, Arial" font-size="10" text-anchor="end" dominant-baseline="middle" font-weight="regular" transform="matrix(1,0,0,1,0,0)" svgjs:data="{"leading":"1.3"}"><tspan dy="0" x="0" svgjs:data="{"newLined":true}">5</tspan></text></g><g transform="matrix(1,0,0,1,52,-2)"><text fill="#333333" font-family="Open Sans-Regular, Arial" font-size="8" text-anchor="start" dominant-baseline="text-top" font-weight="regular" transform="matrix(1,0,0,1,0,0)" svgjs:data="{"leading":"1.3"}"><tspan dy="0" x="0" svgjs:data="{"newLined":true}">5</tspan></text></g><g transform="matrix(1,0,0,1,46,20)"><text fill="#333333" font-family="Open Sans-Regular, Arial" font-size="10" text-anchor="end" dominant-baseline="middle" font-weight="regular" transform="matrix(1,0,0,1,0,0)" svgjs:data="{"leading":"1.3"}"><tspan dy="0" x="0" svgjs:data="{"newLined":true}">4</tspan></text></g><g transform="matrix(1,0,0,1,52,18)"><text fill="#333333" font-family="Open Sans-Regular, Arial" font-size="8" text-anchor="start" dominant-baseline="text-top" font-weight="regular" transform="matrix(1,0,0,1,0,0)" svgjs:data="{"leading":"1.3"}"><tspan dy="0" x="0" svgjs:data="{"newLined":true}">4</tspan></text></g><g transform="matrix(1,0,0,1,-50,-44)"><text fill="#333333" font-family="Open Sans-Regular, Arial" font-size="10" text-anchor="start" dominant-baseline="text-top" font-weight="regular" transform="matrix(1,0,0,1,0,0)" svgjs:data="{"leading":"1.3"}"><tspan dy="0" x="0" svgjs:data="{"newLined":true}">J1</tspan></text></g></g></g><g transform="matrix(1,0,0,1,300,130)"><g><path d="M -10 0 L 10 0 L 0 10 Z" stroke-width="1" stroke="#333333" fill="#ffffff"></path><path d="M 0 -10 L 0 0" stroke-width="2" stroke="#333333"></path><g transform="matrix(1,0,0,1,0,20)"><text fill="#333333" font-family="Open Sans-Regular, Arial" font-size="10" text-anchor="middle" dominant-baseline="text-top" font-weight="regular" transform="matrix(1,0,0,1,0,0)" svgjs:data="{"leading":"1.3"}"><tspan dy="0" x="0" svgjs:data="{"newLined":true}">GND</tspan></text></g></g></g><g transform="matrix(1,0,0,1,340,140)"><g><path d="M 9.999999999999998 -20 L 10.000000000000002 20 L -9.999999999999998 20 L -10.000000000000002 -20 Z" stroke-width="1" stroke="#333333" fill="#ffffff"></path><path d="M -2.4492935982947065e-15 -40 L -1.2246467991473533e-15 -20 M 2.4492935982947065e-15 40 L 1.2246467991473533e-15 20" stroke-width="2" stroke="#333333"></path><g transform="matrix(6.123233995736766e-17,1,-1,6.123233995736766e-17,1.9999999999999987,-22)"><text fill="#333333" font-family="Open Sans-Regular, Arial" font-size="8" text-anchor="end" dominant-baseline="text-top" font-weight="regular" transform="matrix(1,0,0,1,0,0)" svgjs:data="{"leading":"1.3"}"><tspan dy="0" x="0" svgjs:data="{"newLined":true}">1</tspan></text></g><g transform="matrix(6.123233995736766e-17,1,-1,6.123233995736766e-17,2.0000000000000013,22)"><text fill="#333333" font-family="Open Sans-Regular, Arial" font-size="8" text-anchor="start" dominant-baseline="text-top" font-weight="regular" transform="matrix(1,0,0,1,0,0)" svgjs:data="{"leading":"1.3"}"><tspan dy="0" x="0" svgjs:data="{"newLined":true}">2</tspan></text></g><g transform="matrix(6.123233995736766e-17,1,-1,6.123233995736766e-17,-1,6.123233995736766e-17)"><text fill="#333333" font-family="Open Sans-Regular, Arial" font-size="10" text-anchor="middle" dominant-baseline="middle" font-weight="regular" transform="matrix(1,0,0,1,0,0)" svgjs:data="{"leading":"1.3"}"><tspan dy="0" x="0" svgjs:data="{"newLined":true}">10k</tspan></text></g><g transform="matrix(6.123233995736766e-17,1,-1,6.123233995736766e-17,14.999999999999998,-20)"><text fill="#333333" font-family="Open Sans-Regular, Arial" font-size="10" text-anchor="start" dominant-baseline="text-top" font-weight="regular" transform="matrix(1,0,0,1,0,0)" svgjs:data="{"leading":"1.3"}"><tspan dy="0" x="0" svgjs:data="{"newLined":true}">R3</tspan></text></g><path d="M -10.000000000000002 -40 L 10.000000000000002 40 M 10.000000000000002 -40 L -10.000000000000002 40" stroke-width="2" stroke="red"></path></g></g><g transform="matrix(1,0,0,1,340,210)"><g><path d="M -10 0 L 10 0 L 0 10 Z" stroke-width="1" stroke="#333333" fill="#ffffff"></path><path d="M 0 -10 L 0 0" stroke-width="2" stroke="#333333"></path><g transform="matrix(1,0,0,1,0,20)"><text fill="#333333" font-family="Open Sans-Regular, Arial" font-size="10" text-anchor="middle" dominant-baseline="text-top" font-weight="regular" transform="matrix(1,0,0,1,0,0)" svgjs:data="{"leading":"1.3"}"><tspan dy="0" x="0" svgjs:data="{"newLined":true}">GND</tspan></text></g></g></g><g transform="matrix(1,0,0,1,180,290)"><g><path d="M -15 0 L 15 0" stroke-width="1" stroke="#333333" fill="none"></path><path d="M 0 10 L 0 0" stroke-width="2" stroke="#333333"></path><g transform="matrix(1,0,0,1,0,-5)"><text fill="#333333" font-family="Open Sans-Regular, Arial" font-size="10" text-anchor="middle" dominant-baseline="text-top" font-weight="regular" transform="matrix(1,0,0,1,0,0)" svgjs:data="{"leading":"1.3"}"><tspan dy="0" x="0" svgjs:data="{"newLined":true}">3V</tspan></text></g></g></g><g transform="matrix(1,0,0,1,180,360)"><g><path d="M 9.999999999999998 -20 L 10.000000000000002 20 L -9.999999999999998 20 L -10.000000000000002 -20 Z" stroke-width="1" stroke="#333333" fill="#ffffff"></path><path d="M -2.4492935982947065e-15 -40 L -1.2246467991473533e-15 -20 M 2.4492935982947065e-15 40 L 1.2246467991473533e-15 20" stroke-width="2" stroke="#333333"></path><g transform="matrix(6.123233995736766e-17,1,-1,6.123233995736766e-17,1.9999999999999987,-22)"><text fill="#333333" font-family="Open Sans-Regular, Arial" font-size="8" text-anchor="end" dominant-baseline="text-top" font-weight="regular" transform="matrix(1,0,0,1,0,0)" svgjs:data="{"leading":"1.3"}"><tspan dy="0" x="0" svgjs:data="{"newLined":true}">1</tspan></text></g><g transform="matrix(6.123233995736766e-17,1,-1,6.123233995736766e-17,2.0000000000000013,22)"><text fill="#333333" font-family="Open Sans-Regular, Arial" font-size="8" text-anchor="start" dominant-baseline="text-top" font-weight="regular" transform="matrix(1,0,0,1,0,0)" svgjs:data="{"leading":"1.3"}"><tspan dy="0" x="0" svgjs:data="{"newLined":true}">2</tspan></text></g><g transform="matrix(6.123233995736766e-17,1,-1,6.123233995736766e-17,-1,6.123233995736766e-17)"><text fill="#333333" font-family="Open Sans-Regular, Arial" font-size="10" text-anchor="middle" dominant-baseline="middle" font-weight="regular" transform="matrix(1,0,0,1,0,0)" svgjs:data="{"leading":"1.3"}"><tspan dy="0" x="0" svgjs:data="{"newLined":true}">20k</tspan></text></g><g transform="matrix(6.123233995736766e-17,1,-1,6.123233995736766e-17,14.999999999999998,-20)"><text fill="#333333" font-family="Open Sans-Regular, Arial" font-size="10" text-anchor="start" dominant-baseline="text-top" font-weight="regular" transform="matrix(1,0,0,1,0,0)" svgjs:data="{"leading":"1.3"}"><tspan dy="0" x="0" svgjs:data="{"newLined":true}">R4</tspan></text></g></g></g><g transform="matrix(1,0,0,1,180,430)"><g><path d="M -10 0 L 10 0 L 0 10 Z" stroke-width="1" stroke="#333333" fill="#ffffff"></path><path d="M 0 -10 L 0 0" stroke-width="2" stroke="#333333"></path><g transform="matrix(1,0,0,1,0,20)"><text fill="#333333" font-family="Open Sans-Regular, Arial" font-size="10" text-anchor="middle" dominant-baseline="text-top" font-weight="regular" transform="matrix(1,0,0,1,0,0)" svgjs:data="{"leading":"1.3"}"><tspan dy="0" x="0" svgjs:data="{"newLined":true}">GND</tspan></text></g></g></g><g><line x1="20" y1="40" x2="20" y2="60" stroke-linecap="square" stroke-width="1" stroke="#008400" fill="none"></line><line x1="20" y1="60" x2="20" y2="80" stroke-linecap="square" stroke-width="1" stroke="#008400" fill="none"></line><line x1="20" y1="60" x2="60" y2="60" stroke-linecap="square" stroke-width="1" stroke="#008400" fill="none"></line><line x1="60" y1="60" x2="60" y2="80" stroke-linecap="square" stroke-width="1" stroke="#008400" fill="none"></line><line x1="60" y1="60" x2="100" y2="60" stroke-linecap="square" stroke-width="1" stroke="#008400" fill="none"></line><line x1="100" y1="60" x2="100" y2="80" stroke-linecap="square" stroke-width="1" stroke="#008400" fill="none"></line><line x1="100" y1="60" x2="140" y2="60" stroke-linecap="square" stroke-width="1" stroke="#008400" fill="none"></line><circle r="2.5" cx="2.5" cy="2.5" transform="matrix(1,0,0,1,17.5,57.5)" fill="#008400" stroke="none"></circle><circle r="2.5" cx="2.5" cy="2.5" transform="matrix(1,0,0,1,57.5,57.5)" fill="#008400" stroke="none"></circle><circle r="2.5" cx="2.5" cy="2.5" transform="matrix(1,0,0,1,97.5,57.5)" fill="#008400" stroke="none"></circle><line x1="20.000000000000004" y1="160" x2="20.000000000000004" y2="180" stroke-linecap="square" stroke-width="1" stroke="#008400" fill="none"></line><line x1="60" y1="160" x2="60" y2="180" stroke-linecap="square" stroke-width="1" stroke="#008400" fill="none"></line><line x1="100" y1="120" x2="100" y2="140" stroke-linecap="square" stroke-width="1" stroke="#008400" fill="none"></line><line x1="280" y1="100" x2="300" y2="100" stroke-linecap="square" stroke-width="1" stroke="#008400" fill="none"></line><line x1="300" y1="100" x2="300" y2="120" stroke-linecap="square" stroke-width="1" stroke="#008400" fill="none"></line><line x1="340" y1="180" x2="340" y2="200" stroke-linecap="square" stroke-width="1" stroke="#008400" fill="none"></line><line x1="180" y1="400" x2="180" y2="420" stroke-linecap="square" stroke-width="1" stroke="#008400" fill="none"></line><line x1="280" y1="80" x2="340" y2="80" stroke-linecap="square" stroke-width="1" stroke="#008400" fill="none"></line><line x1="340" y1="80" x2="340" y2="100" stroke-linecap="square" stroke-width="1" stroke="#008400" fill="none"></line><line x1="180" y1="300" x2="180" y2="320" stroke-linecap="square" stroke-width="1" stroke="#008400" fill="none"></line></g><g></g></svg>
|
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg" version="1.1" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svgjs="http://svgjs.dev/svgjs" width="410" height="510.5" viewBox="-25 -25.5 410 510.5"><g transform="matrix(1,0,0,1,0,0)"><path d="M -20 -20.5 L -20 480 M 0 -20.5 L 0 480 M 20 -20.5 L 20 480 M 40 -20.5 L 40 480 M 60 -20.5 L 60 480 M 80 -20.5 L 80 480 M 100 -20.5 L 100 480 M 120 -20.5 L 120 480 M 140 -20.5 L 140 480 M 160 -20.5 L 160 480 M 180 -20.5 L 180 480 M 200 -20.5 L 200 480 M 220 -20.5 L 220 480 M 240 -20.5 L 240 480 M 260 -20.5 L 260 480 M 280 -20.5 L 280 480 M 300 -20.5 L 300 480 M 320 -20.5 L 320 480 M 340 -20.5 L 340 480 M 360 -20.5 L 360 480 M 380 -20.5 L 380 480" fill="none" stroke-dasharray="1,19" stroke-width="1" stroke="#aaaaaa"></path></g><g transform="matrix(1,0,0,1,20,30)"><g><path d="M -15 0 L 15 0" stroke-width="1" stroke="#333333" fill="none"></path><path d="M 0 10 L 0 0" stroke-width="2" stroke="#333333"></path><g transform="matrix(1,0,0,1,0,-5)"><text fill="#333333" font-family="Open Sans-Regular, Arial" font-size="10" text-anchor="middle" dominant-baseline="text-top" font-weight="regular" transform="matrix(1,0,0,1,0,0)" svgjs:data="{"leading":"1.3"}"><tspan dy="0" x="0" svgjs:data="{"newLined":true}">5V</tspan></text></g></g></g><g transform="matrix(1,0,0,1,20,120)"><g><path d="M 9.999999999999998 -20 L 10.000000000000002 20 L -9.999999999999998 20 L -10.000000000000002 -20 Z" stroke-width="1" stroke="#333333" fill="#ffffff"></path><path d="M -2.4492935982947065e-15 -40 L -1.2246467991473533e-15 -20 M 2.4492935982947065e-15 40 L 1.2246467991473533e-15 20" stroke-width="2" stroke="#333333"></path><g transform="matrix(6.123233995736766e-17,1,-1,6.123233995736766e-17,1.9999999999999987,-22)"><text fill="#333333" font-family="Open Sans-Regular, Arial" font-size="8" text-anchor="end" dominant-baseline="text-top" font-weight="regular" transform="matrix(1,0,0,1,0,0)" svgjs:data="{"leading":"1.3"}"><tspan dy="0" x="0" svgjs:data="{"newLined":true}">1</tspan></text></g><g transform="matrix(6.123233995736766e-17,1,-1,6.123233995736766e-17,2.0000000000000013,22)"><text fill="#333333" font-family="Open Sans-Regular, Arial" font-size="8" text-anchor="start" dominant-baseline="text-top" font-weight="regular" transform="matrix(1,0,0,1,0,0)" svgjs:data="{"leading":"1.3"}"><tspan dy="0" x="0" svgjs:data="{"newLined":true}">2</tspan></text></g><g transform="matrix(6.123233995736766e-17,1,-1,6.123233995736766e-17,-1,6.123233995736766e-17)"><text fill="#333333" font-family="Open Sans-Regular, Arial" font-size="10" text-anchor="middle" dominant-baseline="middle" font-weight="regular" transform="matrix(1,0,0,1,0,0)" svgjs:data="{"leading":"1.3"}"><tspan dy="0" x="0" svgjs:data="{"newLined":true}">10k</tspan></text></g><g transform="matrix(6.123233995736766e-17,1,-1,6.123233995736766e-17,14.999999999999998,-20)"><text fill="#333333" font-family="Open Sans-Regular, Arial" font-size="10" text-anchor="start" dominant-baseline="text-top" font-weight="regular" transform="matrix(1,0,0,1,0,0)" svgjs:data="{"leading":"1.3"}"><tspan dy="0" x="0" svgjs:data="{"newLined":true}">R1</tspan></text></g><path d="M -10.000000000000002 -40 L 10.000000000000002 40 M 10.000000000000002 -40 L -10.000000000000002 40" stroke-width="2" stroke="red"></path></g></g><g transform="matrix(1,0,0,1,20,190)"><g><path d="M -10 0 L 10 0 L 0 10 Z" stroke-width="1" stroke="#333333" fill="#ffffff"></path><path d="M 0 -10 L 0 0" stroke-width="2" stroke="#333333"></path><g transform="matrix(1,0,0,1,0,20)"><text fill="#333333" font-family="Open Sans-Regular, Arial" font-size="10" text-anchor="middle" dominant-baseline="text-top" font-weight="regular" transform="matrix(1,0,0,1,0,0)" svgjs:data="{"leading":"1.3"}"><tspan dy="0" x="0" svgjs:data="{"newLined":true}">GND</tspan></text></g></g></g><g transform="matrix(1,0,0,1,60,120)"><g><path d="M 9.999999999999998 -20 L 10.000000000000002 20 L -9.999999999999998 20 L -10.000000000000002 -20 Z" stroke-width="1" stroke="#333333" fill="#ffffff"></path><path d="M -2.4492935982947065e-15 -40 L -1.2246467991473533e-15 -20 M 2.4492935982947065e-15 40 L 1.2246467991473533e-15 20" stroke-width="2" stroke="#333333"></path><g transform="matrix(6.123233995736766e-17,1,-1,6.123233995736766e-17,1.9999999999999987,-22)"><text fill="#333333" font-family="Open Sans-Regular, Arial" font-size="8" text-anchor="end" dominant-baseline="text-top" font-weight="regular" transform="matrix(1,0,0,1,0,0)" svgjs:data="{"leading":"1.3"}"><tspan dy="0" x="0" svgjs:data="{"newLined":true}">1</tspan></text></g><g transform="matrix(6.123233995736766e-17,1,-1,6.123233995736766e-17,2.0000000000000013,22)"><text fill="#333333" font-family="Open Sans-Regular, Arial" font-size="8" text-anchor="start" dominant-baseline="text-top" font-weight="regular" transform="matrix(1,0,0,1,0,0)" svgjs:data="{"leading":"1.3"}"><tspan dy="0" x="0" svgjs:data="{"newLined":true}">2</tspan></text></g><g transform="matrix(6.123233995736766e-17,1,-1,6.123233995736766e-17,-1,6.123233995736766e-17)"><text fill="#333333" font-family="Open Sans-Regular, Arial" font-size="10" text-anchor="middle" dominant-baseline="middle" font-weight="regular" transform="matrix(1,0,0,1,0,0)" svgjs:data="{"leading":"1.3"}"><tspan dy="0" x="0" svgjs:data="{"newLined":true}">20k</tspan></text></g><g transform="matrix(6.123233995736766e-17,1,-1,6.123233995736766e-17,14.999999999999998,-20)"><text fill="#333333" font-family="Open Sans-Regular, Arial" font-size="10" text-anchor="start" dominant-baseline="text-top" font-weight="regular" transform="matrix(1,0,0,1,0,0)" svgjs:data="{"leading":"1.3"}"><tspan dy="0" x="0" svgjs:data="{"newLined":true}">R2</tspan></text></g></g></g><g transform="matrix(1,0,0,1,60,190)"><g><path d="M -10 0 L 10 0 L 0 10 Z" stroke-width="1" stroke="#333333" fill="#ffffff"></path><path d="M 0 -10 L 0 0" stroke-width="2" stroke="#333333"></path><g transform="matrix(1,0,0,1,0,20)"><text fill="#333333" font-family="Open Sans-Regular, Arial" font-size="10" text-anchor="middle" dominant-baseline="text-top" font-weight="regular" transform="matrix(1,0,0,1,0,0)" svgjs:data="{"leading":"1.3"}"><tspan dy="0" x="0" svgjs:data="{"newLined":true}">GND</tspan></text></g></g></g><g transform="matrix(1,0,0,1,100,100)"><g><path d="M -10 -3 L 10 -3" stroke-width="1" stroke="#333333" fill="none"></path><path d="M -10 3 L 10 3" stroke-width="1" stroke="#333333" fill="none"></path><path d="M 0 -20 L 0 -3 M 0 20 L 0 3" stroke-width="2" stroke="#333333"></path><g transform="matrix(1,0,0,1,2,-5)"><text fill="#333333" font-family="Open Sans-Regular, Arial" font-size="8" text-anchor="start" dominant-baseline="text-top" font-weight="regular" transform="matrix(1,0,0,1,0,0)" svgjs:data="{"leading":"1.3"}"><tspan dy="0" x="0" svgjs:data="{"newLined":true}">1</tspan></text></g><g transform="matrix(1,0,0,1,2,5)"><text fill="#333333" font-family="Open Sans-Regular, Arial" font-size="8" text-anchor="start" dominant-baseline="hanging" font-weight="regular" transform="matrix(1,0,0,1,0,0)" svgjs:data="{"leading":"1.3"}"><tspan dy="0" x="0" svgjs:data="{"newLined":true}">2</tspan></text></g><g transform="matrix(1,0,0,1,12,0)"><text fill="#333333" font-family="Open Sans-Regular, Arial" font-size="10" text-anchor="start" dominant-baseline="text-top" font-weight="regular" transform="matrix(1,0,0,1,0,0)" svgjs:data="{"leading":"1.3"}"><tspan dy="0" x="0" svgjs:data="{"newLined":true}">C1</tspan></text></g><g transform="matrix(1,0,0,1,12,5)"><text fill="#333333" font-family="Open Sans-Regular, Arial" font-size="10" text-anchor="start" dominant-baseline="hanging" font-weight="regular" transform="matrix(1,0,0,1,0,0)" svgjs:data="{"leading":"1.3"}"><tspan dy="0" x="0" svgjs:data="{"newLined":true}">100n</tspan></text></g></g></g><g transform="matrix(1,0,0,1,100,150)"><g><path d="M -10 0 L 10 0 L 0 10 Z" stroke-width="1" stroke="#333333" fill="#ffffff"></path><path d="M 0 -10 L 0 0" stroke-width="2" stroke="#333333"></path><g transform="matrix(1,0,0,1,0,20)"><text fill="#333333" font-family="Open Sans-Regular, Arial" font-size="10" text-anchor="middle" dominant-baseline="text-top" font-weight="regular" transform="matrix(1,0,0,1,0,0)" svgjs:data="{"leading":"1.3"}"><tspan dy="0" x="0" svgjs:data="{"newLined":true}">GND</tspan></text></g></g></g><g transform="matrix(1,0,0,1,140,60)"><g><path d="M 0 0 L 0 0" stroke-width="2" stroke="#333333"></path></g></g><g transform="matrix(1,0,0,1,210,80)"><g><path d="M -50 -40 L 50 -40 L 50 40 L -50 40 Z" stroke-width="1" stroke="#333333" fill="#ffffff"></path><path d="M -70 -20 L -50 -20 M -70 0 L -50 0 M -70 20 L -50 20 M 70 -20 L 50 -20 M 70 0 L 50 0 M 70 20 L 50 20" stroke-width="2" stroke="#333333"></path><g transform="matrix(1,0,0,1,-46,-20)"><text fill="#333333" font-family="Open Sans-Regular, Arial" font-size="10" text-anchor="start" dominant-baseline="middle" font-weight="regular" transform="matrix(1,0,0,1,0,0)" svgjs:data="{"leading":"1.3"}"><tspan dy="0" x="0" svgjs:data="{"newLined":true}">1</tspan></text></g><g transform="matrix(1,0,0,1,-52,-22)"><text fill="#333333" font-family="Open Sans-Regular, Arial" font-size="8" text-anchor="end" dominant-baseline="text-top" font-weight="regular" transform="matrix(1,0,0,1,0,0)" svgjs:data="{"leading":"1.3"}"><tspan dy="0" x="0" svgjs:data="{"newLined":true}">1</tspan></text></g><g transform="matrix(1,0,0,1,-46,0)"><text fill="#333333" font-family="Open Sans-Regular, Arial" font-size="10" text-anchor="start" dominant-baseline="middle" font-weight="regular" transform="matrix(1,0,0,1,0,0)" svgjs:data="{"leading":"1.3"}"><tspan dy="0" x="0" svgjs:data="{"newLined":true}">2</tspan></text></g><g transform="matrix(1,0,0,1,-52,-2)"><text fill="#333333" font-family="Open Sans-Regular, Arial" font-size="8" text-anchor="end" dominant-baseline="text-top" font-weight="regular" transform="matrix(1,0,0,1,0,0)" svgjs:data="{"leading":"1.3"}"><tspan dy="0" x="0" svgjs:data="{"newLined":true}">2</tspan></text></g><g transform="matrix(1,0,0,1,-46,20)"><text fill="#333333" font-family="Open Sans-Regular, Arial" font-size="10" text-anchor="start" dominant-baseline="middle" font-weight="regular" transform="matrix(1,0,0,1,0,0)" svgjs:data="{"leading":"1.3"}"><tspan dy="0" x="0" svgjs:data="{"newLined":true}">3</tspan></text></g><g transform="matrix(1,0,0,1,-52,18)"><text fill="#333333" font-family="Open Sans-Regular, Arial" font-size="8" text-anchor="end" dominant-baseline="text-top" font-weight="regular" transform="matrix(1,0,0,1,0,0)" svgjs:data="{"leading":"1.3"}"><tspan dy="0" x="0" svgjs:data="{"newLined":true}">3</tspan></text></g><g transform="matrix(1,0,0,1,46,-20)"><text fill="#333333" font-family="Open Sans-Regular, Arial" font-size="10" text-anchor="end" dominant-baseline="middle" font-weight="regular" transform="matrix(1,0,0,1,0,0)" svgjs:data="{"leading":"1.3"}"><tspan dy="0" x="0" svgjs:data="{"newLined":true}">6</tspan></text></g><g transform="matrix(1,0,0,1,52,-22)"><text fill="#333333" font-family="Open Sans-Regular, Arial" font-size="8" text-anchor="start" dominant-baseline="text-top" font-weight="regular" transform="matrix(1,0,0,1,0,0)" svgjs:data="{"leading":"1.3"}"><tspan dy="0" x="0" svgjs:data="{"newLined":true}">6</tspan></text></g><g transform="matrix(1,0,0,1,46,0)"><text fill="#333333" font-family="Open Sans-Regular, Arial" font-size="10" text-anchor="end" dominant-baseline="middle" font-weight="regular" transform="matrix(1,0,0,1,0,0)" svgjs:data="{"leading":"1.3"}"><tspan dy="0" x="0" svgjs:data="{"newLined":true}">5</tspan></text></g><g transform="matrix(1,0,0,1,52,-2)"><text fill="#333333" font-family="Open Sans-Regular, Arial" font-size="8" text-anchor="start" dominant-baseline="text-top" font-weight="regular" transform="matrix(1,0,0,1,0,0)" svgjs:data="{"leading":"1.3"}"><tspan dy="0" x="0" svgjs:data="{"newLined":true}">5</tspan></text></g><g transform="matrix(1,0,0,1,46,20)"><text fill="#333333" font-family="Open Sans-Regular, Arial" font-size="10" text-anchor="end" dominant-baseline="middle" font-weight="regular" transform="matrix(1,0,0,1,0,0)" svgjs:data="{"leading":"1.3"}"><tspan dy="0" x="0" svgjs:data="{"newLined":true}">4</tspan></text></g><g transform="matrix(1,0,0,1,52,18)"><text fill="#333333" font-family="Open Sans-Regular, Arial" font-size="8" text-anchor="start" dominant-baseline="text-top" font-weight="regular" transform="matrix(1,0,0,1,0,0)" svgjs:data="{"leading":"1.3"}"><tspan dy="0" x="0" svgjs:data="{"newLined":true}">4</tspan></text></g><g transform="matrix(1,0,0,1,-50,-44)"><text fill="#333333" font-family="Open Sans-Regular, Arial" font-size="10" text-anchor="start" dominant-baseline="text-top" font-weight="regular" transform="matrix(1,0,0,1,0,0)" svgjs:data="{"leading":"1.3"}"><tspan dy="0" x="0" svgjs:data="{"newLined":true}">J1</tspan></text></g></g></g><g transform="matrix(1,0,0,1,300,130)"><g><path d="M -10 0 L 10 0 L 0 10 Z" stroke-width="1" stroke="#333333" fill="#ffffff"></path><path d="M 0 -10 L 0 0" stroke-width="2" stroke="#333333"></path><g transform="matrix(1,0,0,1,0,20)"><text fill="#333333" font-family="Open Sans-Regular, Arial" font-size="10" text-anchor="middle" dominant-baseline="text-top" font-weight="regular" transform="matrix(1,0,0,1,0,0)" svgjs:data="{"leading":"1.3"}"><tspan dy="0" x="0" svgjs:data="{"newLined":true}">GND</tspan></text></g></g></g><g transform="matrix(1,0,0,1,340,140)"><g><path d="M 9.999999999999998 -20 L 10.000000000000002 20 L -9.999999999999998 20 L -10.000000000000002 -20 Z" stroke-width="1" stroke="#333333" fill="#ffffff"></path><path d="M -2.4492935982947065e-15 -40 L -1.2246467991473533e-15 -20 M 2.4492935982947065e-15 40 L 1.2246467991473533e-15 20" stroke-width="2" stroke="#333333"></path><g transform="matrix(6.123233995736766e-17,1,-1,6.123233995736766e-17,1.9999999999999987,-22)"><text fill="#333333" font-family="Open Sans-Regular, Arial" font-size="8" text-anchor="end" dominant-baseline="text-top" font-weight="regular" transform="matrix(1,0,0,1,0,0)" svgjs:data="{"leading":"1.3"}"><tspan dy="0" x="0" svgjs:data="{"newLined":true}">1</tspan></text></g><g transform="matrix(6.123233995736766e-17,1,-1,6.123233995736766e-17,2.0000000000000013,22)"><text fill="#333333" font-family="Open Sans-Regular, Arial" font-size="8" text-anchor="start" dominant-baseline="text-top" font-weight="regular" transform="matrix(1,0,0,1,0,0)" svgjs:data="{"leading":"1.3"}"><tspan dy="0" x="0" svgjs:data="{"newLined":true}">2</tspan></text></g><g transform="matrix(6.123233995736766e-17,1,-1,6.123233995736766e-17,-1,6.123233995736766e-17)"><text fill="#333333" font-family="Open Sans-Regular, Arial" font-size="10" text-anchor="middle" dominant-baseline="middle" font-weight="regular" transform="matrix(1,0,0,1,0,0)" svgjs:data="{"leading":"1.3"}"><tspan dy="0" x="0" svgjs:data="{"newLined":true}">10k</tspan></text></g><g transform="matrix(6.123233995736766e-17,1,-1,6.123233995736766e-17,14.999999999999998,-20)"><text fill="#333333" font-family="Open Sans-Regular, Arial" font-size="10" text-anchor="start" dominant-baseline="text-top" font-weight="regular" transform="matrix(1,0,0,1,0,0)" svgjs:data="{"leading":"1.3"}"><tspan dy="0" x="0" svgjs:data="{"newLined":true}">R3</tspan></text></g><path d="M -10.000000000000002 -40 L 10.000000000000002 40 M 10.000000000000002 -40 L -10.000000000000002 40" stroke-width="2" stroke="red"></path></g></g><g transform="matrix(1,0,0,1,340,210)"><g><path d="M -10 0 L 10 0 L 0 10 Z" stroke-width="1" stroke="#333333" fill="#ffffff"></path><path d="M 0 -10 L 0 0" stroke-width="2" stroke="#333333"></path><g transform="matrix(1,0,0,1,0,20)"><text fill="#333333" font-family="Open Sans-Regular, Arial" font-size="10" text-anchor="middle" dominant-baseline="text-top" font-weight="regular" transform="matrix(1,0,0,1,0,0)" svgjs:data="{"leading":"1.3"}"><tspan dy="0" x="0" svgjs:data="{"newLined":true}">GND</tspan></text></g></g></g><g transform="matrix(1,0,0,1,180,290)"><g><path d="M -15 0 L 15 0" stroke-width="1" stroke="#333333" fill="none"></path><path d="M 0 10 L 0 0" stroke-width="2" stroke="#333333"></path><g transform="matrix(1,0,0,1,0,-5)"><text fill="#333333" font-family="Open Sans-Regular, Arial" font-size="10" text-anchor="middle" dominant-baseline="text-top" font-weight="regular" transform="matrix(1,0,0,1,0,0)" svgjs:data="{"leading":"1.3"}"><tspan dy="0" x="0" svgjs:data="{"newLined":true}">3V</tspan></text></g></g></g><g transform="matrix(1,0,0,1,180,360)"><g><path d="M 9.999999999999998 -20 L 10.000000000000002 20 L -9.999999999999998 20 L -10.000000000000002 -20 Z" stroke-width="1" stroke="#333333" fill="#ffffff"></path><path d="M -2.4492935982947065e-15 -40 L -1.2246467991473533e-15 -20 M 2.4492935982947065e-15 40 L 1.2246467991473533e-15 20" stroke-width="2" stroke="#333333"></path><g transform="matrix(6.123233995736766e-17,1,-1,6.123233995736766e-17,1.9999999999999987,-22)"><text fill="#333333" font-family="Open Sans-Regular, Arial" font-size="8" text-anchor="end" dominant-baseline="text-top" font-weight="regular" transform="matrix(1,0,0,1,0,0)" svgjs:data="{"leading":"1.3"}"><tspan dy="0" x="0" svgjs:data="{"newLined":true}">1</tspan></text></g><g transform="matrix(6.123233995736766e-17,1,-1,6.123233995736766e-17,2.0000000000000013,22)"><text fill="#333333" font-family="Open Sans-Regular, Arial" font-size="8" text-anchor="start" dominant-baseline="text-top" font-weight="regular" transform="matrix(1,0,0,1,0,0)" svgjs:data="{"leading":"1.3"}"><tspan dy="0" x="0" svgjs:data="{"newLined":true}">2</tspan></text></g><g transform="matrix(6.123233995736766e-17,1,-1,6.123233995736766e-17,-1,6.123233995736766e-17)"><text fill="#333333" font-family="Open Sans-Regular, Arial" font-size="10" text-anchor="middle" dominant-baseline="middle" font-weight="regular" transform="matrix(1,0,0,1,0,0)" svgjs:data="{"leading":"1.3"}"><tspan dy="0" x="0" svgjs:data="{"newLined":true}">20k</tspan></text></g><g transform="matrix(6.123233995736766e-17,1,-1,6.123233995736766e-17,14.999999999999998,-20)"><text fill="#333333" font-family="Open Sans-Regular, Arial" font-size="10" text-anchor="start" dominant-baseline="text-top" font-weight="regular" transform="matrix(1,0,0,1,0,0)" svgjs:data="{"leading":"1.3"}"><tspan dy="0" x="0" svgjs:data="{"newLined":true}">R4</tspan></text></g></g></g><g transform="matrix(1,0,0,1,180,430)"><g><path d="M -10 0 L 10 0 L 0 10 Z" stroke-width="1" stroke="#333333" fill="#ffffff"></path><path d="M 0 -10 L 0 0" stroke-width="2" stroke="#333333"></path><g transform="matrix(1,0,0,1,0,20)"><text fill="#333333" font-family="Open Sans-Regular, Arial" font-size="10" text-anchor="middle" dominant-baseline="text-top" font-weight="regular" transform="matrix(1,0,0,1,0,0)" svgjs:data="{"leading":"1.3"}"><tspan dy="0" x="0" svgjs:data="{"newLined":true}">GND</tspan></text></g></g></g><g><line x1="20" y1="40" x2="20" y2="60" stroke-linecap="square" stroke-width="1" stroke="#008400" fill="none"></line><line x1="20" y1="60" x2="20" y2="80" stroke-linecap="square" stroke-width="1" stroke="#008400" fill="none"></line><line x1="20" y1="60" x2="60" y2="60" stroke-linecap="square" stroke-width="1" stroke="#008400" fill="none"></line><line x1="60" y1="60" x2="60" y2="80" stroke-linecap="square" stroke-width="1" stroke="#008400" fill="none"></line><line x1="60" y1="60" x2="100" y2="60" stroke-linecap="square" stroke-width="1" stroke="#008400" fill="none"></line><line x1="100" y1="60" x2="100" y2="80" stroke-linecap="square" stroke-width="1" stroke="#008400" fill="none"></line><line x1="100" y1="60" x2="140" y2="60" stroke-linecap="square" stroke-width="1" stroke="#008400" fill="none"></line><circle r="2.5" cx="2.5" cy="2.5" transform="matrix(1,0,0,1,17.5,57.5)" fill="#008400" stroke="none"></circle><circle r="2.5" cx="2.5" cy="2.5" transform="matrix(1,0,0,1,57.5,57.5)" fill="#008400" stroke="none"></circle><circle r="2.5" cx="2.5" cy="2.5" transform="matrix(1,0,0,1,97.5,57.5)" fill="#008400" stroke="none"></circle><line x1="20" y1="160" x2="20" y2="180" stroke-linecap="square" stroke-width="1" stroke="#008400" fill="none"></line><line x1="60" y1="160" x2="60" y2="180" stroke-linecap="square" stroke-width="1" stroke="#008400" fill="none"></line><line x1="100" y1="120" x2="100" y2="140" stroke-linecap="square" stroke-width="1" stroke="#008400" fill="none"></line><line x1="280" y1="100" x2="300" y2="100" stroke-linecap="square" stroke-width="1" stroke="#008400" fill="none"></line><line x1="300" y1="100" x2="300" y2="120" stroke-linecap="square" stroke-width="1" stroke="#008400" fill="none"></line><line x1="340" y1="180" x2="340" y2="200" stroke-linecap="square" stroke-width="1" stroke="#008400" fill="none"></line><line x1="180" y1="400" x2="180" y2="420" stroke-linecap="square" stroke-width="1" stroke="#008400" fill="none"></line><line x1="280" y1="80" x2="340" y2="80" stroke-linecap="square" stroke-width="1" stroke="#008400" fill="none"></line><line x1="340" y1="80" x2="340" y2="100" stroke-linecap="square" stroke-width="1" stroke="#008400" fill="none"></line><line x1="180" y1="300" x2="180" y2="320" stroke-linecap="square" stroke-width="1" stroke="#008400" fill="none"></line></g><g></g></svg>
|
|
@@ -1 +1 @@
|
|
|
1
|
-
<svg xmlns="http://www.w3.org/2000/svg" version="1.1" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svgjs="http://svgjs.dev/svgjs" width="190" height="310.5" viewBox="-25 -25.5 190 310.5"><g transform="matrix(1,0,0,1,0,0)"><path d="M -20 -20.5 L -20 280 M 0 -20.5 L 0 280 M 20 -20.5 L 20 280 M 40 -20.5 L 40 280 M 60 -20.5 L 60 280 M 80 -20.5 L 80 280 M 100 -20.5 L 100 280 M 120 -20.5 L 120 280 M 140 -20.5 L 140 280 M 160 -20.5 L 160 280" fill="none" stroke-dasharray="1,19" stroke-width="1" stroke="#aaaaaa"></path></g><g transform="matrix(1,0,0,1,20,90)"><g><path d="M -10 0 L 10 0 L 0 10 Z" stroke-width="1" stroke="#333333" fill="#ffffff"></path><path d="M 0 -10 L 0 0" stroke-width="2" stroke="#333333"></path><g transform="matrix(1,0,0,1,0,20)"><text fill="#333333" font-family="Open Sans-Regular, Arial" font-size="10" text-anchor="middle" dominant-baseline="text-top" font-weight="regular" transform="matrix(1,0,0,1,0,0)" svgjs:data="{"leading":"1.3"}"><tspan dy="0" x="0" svgjs:data="{"newLined":true}">GND</tspan></text></g></g></g><g transform="matrix(1,0,0,1,70,60)"><g><path d="M 10.000000000000002 -9.999999999999998 L 9.999999999999998 10.000000000000002 L -10 -1.2246467991473533e-15 Z" stroke-width="1" stroke="#333333" fill="#ffffff"></path><path d="M -10.000000000000002 9.999999999999998 L -9.999999999999998 -10.000000000000002" stroke-width="1" stroke="#333333" fill="none"></path><path d="M 9.797174393178826e-16 -8 L -4.999999999999998 -18" stroke-width="1" stroke="#333333" fill="none"></path><path d="M -2.999999999999999 -8 L -7.999999999999998 -18" stroke-width="1" stroke="#333333" fill="none"></path><path d="M 30 3.67394039744206e-15 L 10 1.2246467991473533e-15 M -30 -3.67394039744206e-15 L -10 -1.2246467991473533e-15" stroke-width="2" stroke="#333333"></path><g transform="matrix(1,0,0,1,12,2)"><text fill="#333333" font-family="Open Sans-Regular, Arial" font-size="8" text-anchor="start" dominant-baseline="hanging" font-weight="regular" transform="matrix(1,0,0,1,0,0)" svgjs:data="{"leading":"1.3"}"><tspan dy="0" x="0" svgjs:data="{"newLined":true}">1</tspan></text></g><g transform="matrix(1,0,0,1,-12,2)"><text fill="#333333" font-family="Open Sans-Regular, Arial" font-size="8" text-anchor="end" dominant-baseline="hanging" font-weight="regular" transform="matrix(1,0,0,1,0,0)" svgjs:data="{"leading":"1.3"}"><tspan dy="0" x="0" svgjs:data="{"newLined":true}">2</tspan></text></g><g transform="matrix(1,0,0,1,-15,-5)"><text fill="#333333" font-family="Open Sans-Regular, Arial" font-size="10" text-anchor="end" dominant-baseline="text-top" font-weight="regular" transform="matrix(1,0,0,1,0,0)" svgjs:data="{"leading":"1.3"}"><tspan dy="0" x="0" svgjs:data="{"newLined":true}">D1</tspan></text></g><g transform="matrix(1,0,0,1,-15,-25)"><text fill="#333333" font-family="Open Sans-Regular, Arial" font-size="10" text-anchor="end" dominant-baseline="hanging" font-weight="regular" transform="matrix(1,0,0,1,0,0)" svgjs:data="{"leading":"1.3"}"><tspan dy="0" x="0" svgjs:data="{"newLined":true}">GREEN</tspan></text></g></g></g><g transform="matrix(1,0,0,1,120,30
|
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg" version="1.1" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svgjs="http://svgjs.dev/svgjs" width="190" height="310.5" viewBox="-25 -25.5 190 310.5"><g transform="matrix(1,0,0,1,0,0)"><path d="M -20 -20.5 L -20 280 M 0 -20.5 L 0 280 M 20 -20.5 L 20 280 M 40 -20.5 L 40 280 M 60 -20.5 L 60 280 M 80 -20.5 L 80 280 M 100 -20.5 L 100 280 M 120 -20.5 L 120 280 M 140 -20.5 L 140 280 M 160 -20.5 L 160 280" fill="none" stroke-dasharray="1,19" stroke-width="1" stroke="#aaaaaa"></path></g><g transform="matrix(1,0,0,1,20,90)"><g><path d="M -10 0 L 10 0 L 0 10 Z" stroke-width="1" stroke="#333333" fill="#ffffff"></path><path d="M 0 -10 L 0 0" stroke-width="2" stroke="#333333"></path><g transform="matrix(1,0,0,1,0,20)"><text fill="#333333" font-family="Open Sans-Regular, Arial" font-size="10" text-anchor="middle" dominant-baseline="text-top" font-weight="regular" transform="matrix(1,0,0,1,0,0)" svgjs:data="{"leading":"1.3"}"><tspan dy="0" x="0" svgjs:data="{"newLined":true}">GND</tspan></text></g></g></g><g transform="matrix(1,0,0,1,70,60)"><g><path d="M 10.000000000000002 -9.999999999999998 L 9.999999999999998 10.000000000000002 L -10 -1.2246467991473533e-15 Z" stroke-width="1" stroke="#333333" fill="#ffffff"></path><path d="M -10.000000000000002 9.999999999999998 L -9.999999999999998 -10.000000000000002" stroke-width="1" stroke="#333333" fill="none"></path><path d="M 9.797174393178826e-16 -8 L -4.999999999999998 -18" stroke-width="1" stroke="#333333" fill="none"></path><path d="M -2.999999999999999 -8 L -7.999999999999998 -18" stroke-width="1" stroke="#333333" fill="none"></path><path d="M 30 3.67394039744206e-15 L 10 1.2246467991473533e-15 M -30 -3.67394039744206e-15 L -10 -1.2246467991473533e-15" stroke-width="2" stroke="#333333"></path><g transform="matrix(1,0,0,1,12,2)"><text fill="#333333" font-family="Open Sans-Regular, Arial" font-size="8" text-anchor="start" dominant-baseline="hanging" font-weight="regular" transform="matrix(1,0,0,1,0,0)" svgjs:data="{"leading":"1.3"}"><tspan dy="0" x="0" svgjs:data="{"newLined":true}">1</tspan></text></g><g transform="matrix(1,0,0,1,-12,2)"><text fill="#333333" font-family="Open Sans-Regular, Arial" font-size="8" text-anchor="end" dominant-baseline="hanging" font-weight="regular" transform="matrix(1,0,0,1,0,0)" svgjs:data="{"leading":"1.3"}"><tspan dy="0" x="0" svgjs:data="{"newLined":true}">2</tspan></text></g><g transform="matrix(1,0,0,1,-15,-5)"><text fill="#333333" font-family="Open Sans-Regular, Arial" font-size="10" text-anchor="end" dominant-baseline="text-top" font-weight="regular" transform="matrix(1,0,0,1,0,0)" svgjs:data="{"leading":"1.3"}"><tspan dy="0" x="0" svgjs:data="{"newLined":true}">D1</tspan></text></g><g transform="matrix(1,0,0,1,-15,-25)"><text fill="#333333" font-family="Open Sans-Regular, Arial" font-size="10" text-anchor="end" dominant-baseline="hanging" font-weight="regular" transform="matrix(1,0,0,1,0,0)" svgjs:data="{"leading":"1.3"}"><tspan dy="0" x="0" svgjs:data="{"newLined":true}">GREEN</tspan></text></g></g></g><g transform="matrix(1,0,0,1,120,30)"><g><path d="M -15 0 L 15 0" stroke-width="1" stroke="#333333" fill="none"></path><path d="M 0 10 L 0 0" stroke-width="2" stroke="#333333"></path><g transform="matrix(1,0,0,1,0,-5)"><text fill="#333333" font-family="Open Sans-Regular, Arial" font-size="10" text-anchor="middle" dominant-baseline="text-top" font-weight="regular" transform="matrix(1,0,0,1,0,0)" svgjs:data="{"leading":"1.3"}"><tspan dy="0" x="0" svgjs:data="{"newLined":true}">5v</tspan></text></g></g></g><g transform="matrix(1,0,0,1,20,170)"><g><path d="M -15 0 L 15 0" stroke-width="1" stroke="#333333" fill="none"></path><path d="M 0 10 L 0 0" stroke-width="2" stroke="#333333"></path><g transform="matrix(1,0,0,1,0,-5)"><text fill="#333333" font-family="Open Sans-Regular, Arial" font-size="10" text-anchor="middle" dominant-baseline="text-top" font-weight="regular" transform="matrix(1,0,0,1,0,0)" svgjs:data="{"leading":"1.3"}"><tspan dy="0" x="0" svgjs:data="{"newLined":true}">5v</tspan></text></g></g></g><g transform="matrix(1,0,0,1,70,200)"><g><path d="M -10 10 L -10 -10 L 10 0 Z" stroke-width="1" stroke="#333333" fill="#ffffff"></path><path d="M 10 -10 L 10 10" stroke-width="1" stroke="#333333" fill="none"></path><path d="M 0 8 L 5 18" stroke-width="1" stroke="#333333" fill="none"></path><path d="M 3 8 L 8 18" stroke-width="1" stroke="#333333" fill="none"></path><path d="M -30 0 L -10 0 M 30 0 L 10 0" stroke-width="2" stroke="#333333"></path><g transform="matrix(1,0,0,1,-12,-2)"><text fill="#333333" font-family="Open Sans-Regular, Arial" font-size="8" text-anchor="end" dominant-baseline="text-top" font-weight="regular" transform="matrix(1,0,0,1,0,0)" svgjs:data="{"leading":"1.3"}"><tspan dy="0" x="0" svgjs:data="{"newLined":true}">1</tspan></text></g><g transform="matrix(1,0,0,1,12,-2)"><text fill="#333333" font-family="Open Sans-Regular, Arial" font-size="8" text-anchor="start" dominant-baseline="text-top" font-weight="regular" transform="matrix(1,0,0,1,0,0)" svgjs:data="{"leading":"1.3"}"><tspan dy="0" x="0" svgjs:data="{"newLined":true}">2</tspan></text></g><g transform="matrix(1,0,0,1,15,5)"><text fill="#333333" font-family="Open Sans-Regular, Arial" font-size="10" text-anchor="start" dominant-baseline="hanging" font-weight="regular" transform="matrix(1,0,0,1,0,0)" svgjs:data="{"leading":"1.3"}"><tspan dy="0" x="0" svgjs:data="{"newLined":true}">D2</tspan></text></g><g transform="matrix(1,0,0,1,15,25)"><text fill="#333333" font-family="Open Sans-Regular, Arial" font-size="10" text-anchor="start" dominant-baseline="text-top" font-weight="regular" transform="matrix(1,0,0,1,0,0)" svgjs:data="{"leading":"1.3"}"><tspan dy="0" x="0" svgjs:data="{"newLined":true}">RED</tspan></text></g></g></g><g transform="matrix(1,0,0,1,120,230)"><g><path d="M -10 0 L 10 0 L 0 10 Z" stroke-width="1" stroke="#333333" fill="#ffffff"></path><path d="M 0 -10 L 0 0" stroke-width="2" stroke="#333333"></path><g transform="matrix(1,0,0,1,0,20)"><text fill="#333333" font-family="Open Sans-Regular, Arial" font-size="10" text-anchor="middle" dominant-baseline="text-top" font-weight="regular" transform="matrix(1,0,0,1,0,0)" svgjs:data="{"leading":"1.3"}"><tspan dy="0" x="0" svgjs:data="{"newLined":true}">GND</tspan></text></g></g></g><g><line x1="20" y1="80" x2="20" y2="60" stroke-linecap="square" stroke-width="1" stroke="#008400" fill="none"></line><line x1="20" y1="60" x2="40" y2="60" stroke-linecap="square" stroke-width="1" stroke="#008400" fill="none"></line><line x1="100" y1="200" x2="120" y2="200" stroke-linecap="square" stroke-width="1" stroke="#008400" fill="none"></line><line x1="120" y1="200" x2="120" y2="220" stroke-linecap="square" stroke-width="1" stroke="#008400" fill="none"></line><line x1="100" y1="60" x2="120" y2="60" stroke-linecap="square" stroke-width="1" stroke="#008400" fill="none"></line><line x1="120" y1="60" x2="120" y2="40" stroke-linecap="square" stroke-width="1" stroke="#008400" fill="none"></line><line x1="20" y1="180" x2="20" y2="200" stroke-linecap="square" stroke-width="1" stroke="#008400" fill="none"></line><line x1="20" y1="200" x2="40" y2="200" stroke-linecap="square" stroke-width="1" stroke="#008400" fill="none"></line></g><g></g></svg>
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import lib
|
|
2
|
+
|
|
3
|
+
v5v = supply("5V")
|
|
4
|
+
gnd = dgnd()
|
|
5
|
+
|
|
6
|
+
# example with join keyword
|
|
7
|
+
join:
|
|
8
|
+
at v5v
|
|
9
|
+
wire down 20
|
|
10
|
+
add res(10k) down
|
|
11
|
+
wire down 20
|
|
12
|
+
|
|
13
|
+
join:
|
|
14
|
+
at v5v
|
|
15
|
+
wire down 20
|
|
16
|
+
add res(10k) down
|
|
17
|
+
wire down 20 left 60
|
|
18
|
+
|
|
19
|
+
join:
|
|
20
|
+
at v5v
|
|
21
|
+
wire down 20
|
|
22
|
+
add res(10k) down
|
|
23
|
+
wire down 20
|
|
24
|
+
add res(10k) down
|
|
25
|
+
wire down 20 left 120
|
|
26
|
+
|
|
27
|
+
wire down 20
|
|
28
|
+
to gnd
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg" version="1.1" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svgjs="http://svgjs.dev/svgjs" width="210" height="370.5" viewBox="-25 -25.5 210 370.5"><g transform="matrix(1,0,0,1,0,0)"><path d="M -20 -20.5 L -20 340 M 0 -20.5 L 0 340 M 20 -20.5 L 20 340 M 40 -20.5 L 40 340 M 60 -20.5 L 60 340 M 80 -20.5 L 80 340 M 100 -20.5 L 100 340 M 120 -20.5 L 120 340 M 140 -20.5 L 140 340 M 160 -20.5 L 160 340 M 180 -20.5 L 180 340" fill="none" stroke-dasharray="1,19" stroke-width="1" stroke="#aaaaaa"></path></g><g transform="matrix(1,0,0,1,20,130)"><g><path d="M -15 0 L 15 0" stroke-width="1" stroke="#333333" fill="none"></path><path d="M 0 10 L 0 0" stroke-width="2" stroke="#333333"></path><g transform="matrix(1,0,0,1,0,-5)"><text fill="#333333" font-family="Open Sans-Regular, Arial" font-size="10" text-anchor="middle" dominant-baseline="text-top" font-weight="regular" transform="matrix(1,0,0,1,0,0)" svgjs:data="{"leading":"1.3"}"><tspan dy="0" x="0" svgjs:data="{"newLined":true}">5V</tspan></text></g></g></g><g transform="matrix(1,0,0,1,20,200)"><g><path d="M 9.999999999999998 -20 L 10.000000000000002 20 L -9.999999999999998 20 L -10.000000000000002 -20 Z" stroke-width="1" stroke="#333333" fill="#ffffff"></path><path d="M -2.4492935982947065e-15 -40 L -1.2246467991473533e-15 -20 M 2.4492935982947065e-15 40 L 1.2246467991473533e-15 20" stroke-width="2" stroke="#333333"></path><g transform="matrix(6.123233995736766e-17,1,-1,6.123233995736766e-17,1.9999999999999987,-22)"><text fill="#333333" font-family="Open Sans-Regular, Arial" font-size="8" text-anchor="end" dominant-baseline="text-top" font-weight="regular" transform="matrix(1,0,0,1,0,0)" svgjs:data="{"leading":"1.3"}"><tspan dy="0" x="0" svgjs:data="{"newLined":true}">1</tspan></text></g><g transform="matrix(6.123233995736766e-17,1,-1,6.123233995736766e-17,2.0000000000000013,22)"><text fill="#333333" font-family="Open Sans-Regular, Arial" font-size="8" text-anchor="start" dominant-baseline="text-top" font-weight="regular" transform="matrix(1,0,0,1,0,0)" svgjs:data="{"leading":"1.3"}"><tspan dy="0" x="0" svgjs:data="{"newLined":true}">2</tspan></text></g><g transform="matrix(6.123233995736766e-17,1,-1,6.123233995736766e-17,-1,6.123233995736766e-17)"><text fill="#333333" font-family="Open Sans-Regular, Arial" font-size="10" text-anchor="middle" dominant-baseline="middle" font-weight="regular" transform="matrix(1,0,0,1,0,0)" svgjs:data="{"leading":"1.3"}"><tspan dy="0" x="0" svgjs:data="{"newLined":true}">10k</tspan></text></g><g transform="matrix(6.123233995736766e-17,1,-1,6.123233995736766e-17,14.999999999999998,-20)"><text fill="#333333" font-family="Open Sans-Regular, Arial" font-size="10" text-anchor="start" dominant-baseline="text-top" font-weight="regular" transform="matrix(1,0,0,1,0,0)" svgjs:data="{"leading":"1.3"}"><tspan dy="0" x="0" svgjs:data="{"newLined":true}">R1</tspan></text></g></g></g><g transform="matrix(1,0,0,1,20,260)"><g><path d="M 0 0 L 0 0" stroke-width="2" stroke="#333333"></path></g></g><g transform="matrix(1,0,0,1,80,130)"><g><path d="M -15 0 L 15 0" stroke-width="1" stroke="#333333" fill="none"></path><path d="M 0 10 L 0 0" stroke-width="2" stroke="#333333"></path><g transform="matrix(1,0,0,1,0,-5)"><text fill="#333333" font-family="Open Sans-Regular, Arial" font-size="10" text-anchor="middle" dominant-baseline="text-top" font-weight="regular" transform="matrix(1,0,0,1,0,0)" svgjs:data="{"leading":"1.3"}"><tspan dy="0" x="0" svgjs:data="{"newLined":true}">5V</tspan></text></g></g></g><g transform="matrix(1,0,0,1,80,200)"><g><path d="M 9.999999999999998 -20 L 10.000000000000002 20 L -9.999999999999998 20 L -10.000000000000002 -20 Z" stroke-width="1" stroke="#333333" fill="#ffffff"></path><path d="M -2.4492935982947065e-15 -40 L -1.2246467991473533e-15 -20 M 2.4492935982947065e-15 40 L 1.2246467991473533e-15 20" stroke-width="2" stroke="#333333"></path><g transform="matrix(6.123233995736766e-17,1,-1,6.123233995736766e-17,1.9999999999999987,-22)"><text fill="#333333" font-family="Open Sans-Regular, Arial" font-size="8" text-anchor="end" dominant-baseline="text-top" font-weight="regular" transform="matrix(1,0,0,1,0,0)" svgjs:data="{"leading":"1.3"}"><tspan dy="0" x="0" svgjs:data="{"newLined":true}">1</tspan></text></g><g transform="matrix(6.123233995736766e-17,1,-1,6.123233995736766e-17,2.0000000000000013,22)"><text fill="#333333" font-family="Open Sans-Regular, Arial" font-size="8" text-anchor="start" dominant-baseline="text-top" font-weight="regular" transform="matrix(1,0,0,1,0,0)" svgjs:data="{"leading":"1.3"}"><tspan dy="0" x="0" svgjs:data="{"newLined":true}">2</tspan></text></g><g transform="matrix(6.123233995736766e-17,1,-1,6.123233995736766e-17,-1,6.123233995736766e-17)"><text fill="#333333" font-family="Open Sans-Regular, Arial" font-size="10" text-anchor="middle" dominant-baseline="middle" font-weight="regular" transform="matrix(1,0,0,1,0,0)" svgjs:data="{"leading":"1.3"}"><tspan dy="0" x="0" svgjs:data="{"newLined":true}">10k</tspan></text></g><g transform="matrix(6.123233995736766e-17,1,-1,6.123233995736766e-17,14.999999999999998,-20)"><text fill="#333333" font-family="Open Sans-Regular, Arial" font-size="10" text-anchor="start" dominant-baseline="text-top" font-weight="regular" transform="matrix(1,0,0,1,0,0)" svgjs:data="{"leading":"1.3"}"><tspan dy="0" x="0" svgjs:data="{"newLined":true}">R2</tspan></text></g></g></g><g transform="matrix(1,0,0,1,140,30)"><g><path d="M -15 0 L 15 0" stroke-width="1" stroke="#333333" fill="none"></path><path d="M 0 10 L 0 0" stroke-width="2" stroke="#333333"></path><g transform="matrix(1,0,0,1,0,-5)"><text fill="#333333" font-family="Open Sans-Regular, Arial" font-size="10" text-anchor="middle" dominant-baseline="text-top" font-weight="regular" transform="matrix(1,0,0,1,0,0)" svgjs:data="{"leading":"1.3"}"><tspan dy="0" x="0" svgjs:data="{"newLined":true}">5V</tspan></text></g></g></g><g transform="matrix(1,0,0,1,140,100)"><g><path d="M 9.999999999999998 -20 L 10.000000000000002 20 L -9.999999999999998 20 L -10.000000000000002 -20 Z" stroke-width="1" stroke="#333333" fill="#ffffff"></path><path d="M -2.4492935982947065e-15 -40 L -1.2246467991473533e-15 -20 M 2.4492935982947065e-15 40 L 1.2246467991473533e-15 20" stroke-width="2" stroke="#333333"></path><g transform="matrix(6.123233995736766e-17,1,-1,6.123233995736766e-17,1.9999999999999987,-22)"><text fill="#333333" font-family="Open Sans-Regular, Arial" font-size="8" text-anchor="end" dominant-baseline="text-top" font-weight="regular" transform="matrix(1,0,0,1,0,0)" svgjs:data="{"leading":"1.3"}"><tspan dy="0" x="0" svgjs:data="{"newLined":true}">1</tspan></text></g><g transform="matrix(6.123233995736766e-17,1,-1,6.123233995736766e-17,2.0000000000000013,22)"><text fill="#333333" font-family="Open Sans-Regular, Arial" font-size="8" text-anchor="start" dominant-baseline="text-top" font-weight="regular" transform="matrix(1,0,0,1,0,0)" svgjs:data="{"leading":"1.3"}"><tspan dy="0" x="0" svgjs:data="{"newLined":true}">2</tspan></text></g><g transform="matrix(6.123233995736766e-17,1,-1,6.123233995736766e-17,-1,6.123233995736766e-17)"><text fill="#333333" font-family="Open Sans-Regular, Arial" font-size="10" text-anchor="middle" dominant-baseline="middle" font-weight="regular" transform="matrix(1,0,0,1,0,0)" svgjs:data="{"leading":"1.3"}"><tspan dy="0" x="0" svgjs:data="{"newLined":true}">10k</tspan></text></g><g transform="matrix(6.123233995736766e-17,1,-1,6.123233995736766e-17,14.999999999999998,-20)"><text fill="#333333" font-family="Open Sans-Regular, Arial" font-size="10" text-anchor="start" dominant-baseline="text-top" font-weight="regular" transform="matrix(1,0,0,1,0,0)" svgjs:data="{"leading":"1.3"}"><tspan dy="0" x="0" svgjs:data="{"newLined":true}">R3</tspan></text></g></g></g><g transform="matrix(1,0,0,1,140,200)"><g><path d="M 9.999999999999998 -20 L 10.000000000000002 20 L -9.999999999999998 20 L -10.000000000000002 -20 Z" stroke-width="1" stroke="#333333" fill="#ffffff"></path><path d="M -2.4492935982947065e-15 -40 L -1.2246467991473533e-15 -20 M 2.4492935982947065e-15 40 L 1.2246467991473533e-15 20" stroke-width="2" stroke="#333333"></path><g transform="matrix(6.123233995736766e-17,1,-1,6.123233995736766e-17,1.9999999999999987,-22)"><text fill="#333333" font-family="Open Sans-Regular, Arial" font-size="8" text-anchor="end" dominant-baseline="text-top" font-weight="regular" transform="matrix(1,0,0,1,0,0)" svgjs:data="{"leading":"1.3"}"><tspan dy="0" x="0" svgjs:data="{"newLined":true}">1</tspan></text></g><g transform="matrix(6.123233995736766e-17,1,-1,6.123233995736766e-17,2.0000000000000013,22)"><text fill="#333333" font-family="Open Sans-Regular, Arial" font-size="8" text-anchor="start" dominant-baseline="text-top" font-weight="regular" transform="matrix(1,0,0,1,0,0)" svgjs:data="{"leading":"1.3"}"><tspan dy="0" x="0" svgjs:data="{"newLined":true}">2</tspan></text></g><g transform="matrix(6.123233995736766e-17,1,-1,6.123233995736766e-17,-1,6.123233995736766e-17)"><text fill="#333333" font-family="Open Sans-Regular, Arial" font-size="10" text-anchor="middle" dominant-baseline="middle" font-weight="regular" transform="matrix(1,0,0,1,0,0)" svgjs:data="{"leading":"1.3"}"><tspan dy="0" x="0" svgjs:data="{"newLined":true}">10k</tspan></text></g><g transform="matrix(6.123233995736766e-17,1,-1,6.123233995736766e-17,14.999999999999998,-20)"><text fill="#333333" font-family="Open Sans-Regular, Arial" font-size="10" text-anchor="start" dominant-baseline="text-top" font-weight="regular" transform="matrix(1,0,0,1,0,0)" svgjs:data="{"leading":"1.3"}"><tspan dy="0" x="0" svgjs:data="{"newLined":true}">R4</tspan></text></g></g></g><g transform="matrix(1,0,0,1,20,290)"><g><path d="M -10 0 L 10 0 L 0 10 Z" stroke-width="1" stroke="#333333" fill="#ffffff"></path><path d="M 0 -10 L 0 0" stroke-width="2" stroke="#333333"></path><g transform="matrix(1,0,0,1,0,20)"><text fill="#333333" font-family="Open Sans-Regular, Arial" font-size="10" text-anchor="middle" dominant-baseline="text-top" font-weight="regular" transform="matrix(1,0,0,1,0,0)" svgjs:data="{"leading":"1.3"}"><tspan dy="0" x="0" svgjs:data="{"newLined":true}">GND</tspan></text></g></g></g><g><line x1="20" y1="140" x2="20" y2="160" stroke-linecap="square" stroke-width="1" stroke="#008400" fill="none"></line><line x1="80" y1="140" x2="80" y2="160" stroke-linecap="square" stroke-width="1" stroke="#008400" fill="none"></line><line x1="140" y1="40" x2="140" y2="60" stroke-linecap="square" stroke-width="1" stroke="#008400" fill="none"></line><line x1="20" y1="240" x2="20" y2="260" stroke-linecap="square" stroke-width="1" stroke="#008400" fill="none"></line><line x1="80" y1="240" x2="80" y2="260" stroke-linecap="square" stroke-width="1" stroke="#008400" fill="none"></line><line x1="80" y1="260" x2="20" y2="260" stroke-linecap="square" stroke-width="1" stroke="#008400" fill="none"></line><line x1="140" y1="240" x2="140" y2="260" stroke-linecap="square" stroke-width="1" stroke="#008400" fill="none"></line><line x1="140" y1="260" x2="80" y2="260" stroke-linecap="square" stroke-width="1" stroke="#008400" fill="none"></line><line x1="20" y1="260" x2="20" y2="280" stroke-linecap="square" stroke-width="1" stroke="#008400" fill="none"></line><circle r="2.5" cx="2.5" cy="2.5" transform="matrix(1,0,0,1,17.5,257.5)" fill="#008400" stroke="none"></circle><circle r="2.5" cx="2.5" cy="2.5" transform="matrix(1,0,0,1,77.5,257.5)" fill="#008400" stroke="none"></circle><line x1="140" y1="140" x2="140" y2="160" stroke-linecap="square" stroke-width="1" stroke="#008400" fill="none"></line></g><g></g></svg>
|
package/__tests__/testParse.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
|
|
2
2
|
import { findItem, findItemByRefDes, runScript } from './helpers.js';
|
|
3
|
-
import { script1, script10, script11, script12, script2, script3, script6, script7, script8, script9 } from './parseScripts.js';
|
|
3
|
+
import { script1, script10, script11, script12, script13, script2, script3, script6, script7, script8, script9 } from './parseScripts.js';
|
|
4
4
|
|
|
5
5
|
describe('test parsing', () => {
|
|
6
6
|
|
|
@@ -14,7 +14,8 @@ describe('test parsing', () => {
|
|
|
14
14
|
["resolve nets in local and upper contexts", script9],
|
|
15
15
|
["assignment in at/to/add statement", script10],
|
|
16
16
|
["net namespace local and global", script11],
|
|
17
|
-
["create component with __is_net", script12]
|
|
17
|
+
["create component with __is_net", script12],
|
|
18
|
+
["corret nets after function call", script13],
|
|
18
19
|
|
|
19
20
|
])('parse script - %s', async (description, scriptTest) => {
|
|
20
21
|
// Test only parsing, does not check the correctness of the
|
package/__tests__/testRender.ts
CHANGED
|
@@ -13,7 +13,8 @@ describe('Render tests', () => {
|
|
|
13
13
|
['simple function', 'script2.cst'],
|
|
14
14
|
['simple frame', 'script3.cst'],
|
|
15
15
|
['drawing functions for graphics', 'script4.cst'],
|
|
16
|
-
['drawing 180 deg flipped components', 'script5.cst']
|
|
16
|
+
['drawing 180 deg flipped components', 'script5.cst'],
|
|
17
|
+
['join command', 'script6.cst']
|
|
17
18
|
|
|
18
19
|
])('render - %s (%s)', async (title, scriptPath) => {
|
|
19
20
|
|