circuitscript 0.0.22 → 0.0.25
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/dist/cjs/BaseVisitor.js +487 -0
- package/dist/cjs/SemanticTokenVisitor.js +218 -0
- package/dist/cjs/SymbolValidatorVisitor.js +233 -0
- package/dist/cjs/antlr/CircuitScriptLexer.js +302 -0
- package/dist/cjs/antlr/CircuitScriptParser.js +5128 -0
- package/dist/cjs/antlr/CircuitScriptVisitor.js +7 -0
- package/dist/cjs/draw_symbols.js +819 -0
- package/dist/cjs/execute.js +778 -0
- package/{src/export.ts → dist/cjs/export.js} +34 -56
- package/dist/cjs/fonts.js +4 -0
- package/dist/cjs/geometry.js +450 -0
- package/dist/cjs/globals.js +60 -0
- package/dist/cjs/helpers.js +269 -0
- package/dist/cjs/index.js +31 -0
- package/{src/layout.ts → dist/cjs/layout.js} +421 -1002
- package/dist/cjs/lexer.js +111 -0
- package/dist/cjs/logger.js +17 -0
- package/dist/cjs/main.js +82 -0
- package/dist/cjs/objects/ClassComponent.js +145 -0
- package/dist/cjs/objects/ExecutionScope.js +135 -0
- package/dist/cjs/objects/Frame.js +22 -0
- package/{src/objects/Net.ts → dist/cjs/objects/Net.js} +9 -24
- package/dist/cjs/objects/ParamDefinition.js +42 -0
- package/dist/cjs/objects/PinDefinition.js +31 -0
- package/dist/cjs/objects/PinTypes.js +11 -0
- package/dist/cjs/objects/Wire.js +9 -0
- package/dist/cjs/objects/types.js +15 -0
- package/dist/cjs/parser.js +70 -0
- package/dist/cjs/regenerate-tests.js +23 -0
- package/dist/cjs/render.js +155 -0
- package/{src/server.ts → dist/cjs/server.js} +15 -21
- package/dist/cjs/sizing.js +105 -0
- package/{src/utils.ts → dist/cjs/utils.js} +25 -35
- package/dist/cjs/validate.js +81 -0
- package/dist/cjs/visitor.js +844 -0
- package/dist/esm/BaseVisitor.mjs +488 -0
- package/dist/esm/SemanticTokenVisitor.mjs +215 -0
- package/dist/esm/SymbolValidatorVisitor.mjs +222 -0
- package/dist/esm/antlr/CircuitScriptLexer.mjs +276 -0
- package/dist/esm/antlr/CircuitScriptParser.mjs +5038 -0
- package/{build/src/antlr/CircuitScriptVisitor.js → dist/esm/antlr/CircuitScriptVisitor.mjs} +8 -3
- package/{build/src/draw_symbols.js → dist/esm/draw_symbols.mjs} +78 -33
- package/{build/src/execute.js → dist/esm/execute.mjs} +59 -60
- package/{build/src/export.js → dist/esm/export.mjs} +2 -2
- package/{build/src/geometry.js → dist/esm/geometry.mjs} +31 -15
- package/dist/esm/helpers.mjs +252 -0
- package/dist/esm/index.mjs +15 -0
- package/{build/src/layout.js → dist/esm/layout.mjs} +19 -11
- package/{build/src/lexer.js → dist/esm/lexer.mjs} +10 -10
- package/{build/src/main.js → dist/esm/main.mjs} +9 -14
- package/{build/src/objects/ClassComponent.js → dist/esm/objects/ClassComponent.mjs} +6 -3
- package/{build/src/objects/ExecutionScope.js → dist/esm/objects/ExecutionScope.mjs} +1 -0
- package/{build/src/objects/PinDefinition.js → dist/esm/objects/PinDefinition.mjs} +1 -1
- package/dist/esm/objects/types.mjs +12 -0
- package/dist/esm/parser.mjs +64 -0
- package/{build/src/regenerate-tests.js → dist/esm/regenerate-tests.mjs} +1 -1
- package/{build/src/render.js → dist/esm/render.mjs} +7 -24
- package/{build/src/sizing.js → dist/esm/sizing.mjs} +22 -8
- package/{src/main.ts → dist/esm/validate.mjs} +31 -62
- package/dist/esm/visitor.mjs +838 -0
- package/dist/types/BaseVisitor.d.ts +69 -0
- package/dist/types/SemanticTokenVisitor.d.ts +36 -0
- package/dist/types/SymbolValidatorVisitor.d.ts +61 -0
- package/{build/src → dist/types}/antlr/CircuitScriptLexer.d.ts +28 -27
- package/dist/types/antlr/CircuitScriptParser.d.ts +719 -0
- package/{build/src → dist/types}/antlr/CircuitScriptVisitor.d.ts +69 -59
- package/{build/src → dist/types}/draw_symbols.d.ts +11 -2
- package/{build/src → dist/types}/execute.d.ts +6 -9
- package/{build/src → dist/types}/geometry.d.ts +5 -1
- package/dist/types/helpers.d.ts +40 -0
- package/dist/types/index.d.ts +15 -0
- package/{build/src → dist/types}/layout.d.ts +10 -10
- package/{build/src → dist/types}/lexer.d.ts +2 -2
- package/{build/src → dist/types}/objects/ClassComponent.d.ts +2 -2
- package/{build/src → dist/types}/objects/ExecutionScope.d.ts +4 -1
- package/{build/src → dist/types}/objects/PinDefinition.d.ts +1 -1
- package/{build/src → dist/types}/objects/types.d.ts +5 -0
- package/dist/types/parser.d.ts +25 -0
- package/{build/src → dist/types}/render.d.ts +1 -1
- package/{build/src → dist/types}/sizing.d.ts +3 -1
- package/dist/types/validate.d.ts +2 -0
- package/dist/types/visitor.d.ts +80 -0
- package/libs/lib.cst +0 -2
- package/package.json +38 -15
- package/.editorconfig +0 -15
- package/.eslintignore +0 -1
- package/.eslintrc.json +0 -27
- package/.gitlab-ci.yml +0 -81
- package/.prettierignore +0 -8
- package/.prettierrc +0 -16
- package/__tests__/expectedResults.ts +0 -657
- package/__tests__/helpers.ts +0 -82
- package/__tests__/parseScripts.ts +0 -593
- package/__tests__/renderData/script1.cst +0 -58
- package/__tests__/renderData/script1.cst.svg +0 -1
- package/__tests__/renderData/script2.cst +0 -16
- package/__tests__/renderData/script2.cst.svg +0 -1
- package/__tests__/renderData/script3.cst +0 -30
- package/__tests__/renderData/script3.cst.svg +0 -1
- package/__tests__/renderData/script4.cst +0 -54
- package/__tests__/renderData/script4.cst.svg +0 -1
- package/__tests__/renderData/script5.cst +0 -23
- package/__tests__/renderData/script5.cst.svg +0 -1
- package/__tests__/renderData/script6.cst +0 -28
- package/__tests__/renderData/script6.cst.svg +0 -1
- package/__tests__/renderData/script7.cst +0 -26
- package/__tests__/renderData/script7.cst.svg +0 -1
- package/__tests__/renderData/script8.cst +0 -37
- package/__tests__/renderData/script8.cst.svg +0 -1
- package/__tests__/testCLI.ts +0 -68
- package/__tests__/testMathOps.ts +0 -36
- package/__tests__/testMergeWires.ts +0 -141
- package/__tests__/testParse.ts +0 -263
- package/__tests__/testRender.ts +0 -38
- package/build/src/antlr/CircuitScriptLexer.js +0 -287
- package/build/src/antlr/CircuitScriptParser.d.ts +0 -674
- package/build/src/antlr/CircuitScriptParser.js +0 -4841
- package/build/src/helpers.d.ts +0 -1
- package/build/src/helpers.js +0 -73
- package/build/src/objects/types.js +0 -6
- package/build/src/parser.js +0 -69
- package/build/src/visitor.d.ts +0 -133
- package/build/src/visitor.js +0 -1154
- package/documentation.md +0 -238
- package/examples/example_arduino_uno.cst +0 -1146
- package/examples/example_garden_pump.cst +0 -567
- package/examples/lib.cst +0 -185
- package/jest.config.js +0 -23
- package/refresh.html +0 -42
- package/server.cjs +0 -50
- package/src/antlr/CircuitScript.g4 +0 -209
- package/src/antlr/CircuitScriptLexer.ts +0 -317
- package/src/antlr/CircuitScriptParser.ts +0 -4979
- package/src/antlr/CircuitScriptVisitor.ts +0 -420
- package/src/draw_symbols.ts +0 -1085
- package/src/execute.ts +0 -1227
- package/src/fonts.ts +0 -1
- package/src/geometry.ts +0 -638
- package/src/globals.ts +0 -67
- package/src/helpers.ts +0 -114
- package/src/lexer.ts +0 -151
- package/src/logger.ts +0 -17
- package/src/objects/ClassComponent.ts +0 -223
- package/src/objects/ExecutionScope.ts +0 -201
- package/src/objects/Frame.ts +0 -20
- package/src/objects/ParamDefinition.ts +0 -49
- package/src/objects/PinDefinition.ts +0 -49
- package/src/objects/PinTypes.ts +0 -7
- package/src/objects/Wire.ts +0 -19
- package/src/objects/types.ts +0 -66
- package/src/parser.ts +0 -106
- package/src/regenerate-tests.ts +0 -25
- package/src/render.ts +0 -260
- package/src/sizing.ts +0 -96
- package/src/visitor.ts +0 -1691
- package/tsconfig.json +0 -27
- package/tsconfig.release.json +0 -8
- /package/{build/src/fonts.js → dist/esm/fonts.mjs} +0 -0
- /package/{build/src/globals.js → dist/esm/globals.mjs} +0 -0
- /package/{build/src/logger.js → dist/esm/logger.mjs} +0 -0
- /package/{build/src/objects/Frame.js → dist/esm/objects/Frame.mjs} +0 -0
- /package/{build/src/objects/Net.js → dist/esm/objects/Net.mjs} +0 -0
- /package/{build/src/objects/ParamDefinition.js → dist/esm/objects/ParamDefinition.mjs} +0 -0
- /package/{build/src/objects/PinTypes.js → dist/esm/objects/PinTypes.mjs} +0 -0
- /package/{build/src/objects/Wire.js → dist/esm/objects/Wire.mjs} +0 -0
- /package/{build/src/server.js → dist/esm/server.mjs} +0 -0
- /package/{build/src/utils.js → dist/esm/utils.mjs} +0 -0
- /package/{build/src → dist/types}/export.d.ts +0 -0
- /package/{build/src → dist/types}/fonts.d.ts +0 -0
- /package/{build/src → dist/types}/globals.d.ts +0 -0
- /package/{build/src → dist/types}/logger.d.ts +0 -0
- /package/{build/src → dist/types}/main.d.ts +0 -0
- /package/{build/src → dist/types}/objects/Frame.d.ts +0 -0
- /package/{build/src → dist/types}/objects/Net.d.ts +0 -0
- /package/{build/src → dist/types}/objects/ParamDefinition.d.ts +0 -0
- /package/{build/src → dist/types}/objects/PinTypes.d.ts +0 -0
- /package/{build/src → dist/types}/objects/Wire.d.ts +0 -0
- /package/{build/src → dist/types}/regenerate-tests.d.ts +0 -0
- /package/{build/src → dist/types}/server.d.ts +0 -0
- /package/{build/src → dist/types}/utils.d.ts +0 -0
|
@@ -1,1146 +0,0 @@
|
|
|
1
|
-
# Schematic for Arduino UNO
|
|
2
|
-
|
|
3
|
-
import lib
|
|
4
|
-
|
|
5
|
-
def fuse(value):
|
|
6
|
-
width = 40
|
|
7
|
-
height = 20
|
|
8
|
-
return create component:
|
|
9
|
-
pins: 2
|
|
10
|
-
type: "F"
|
|
11
|
-
display: create graphic:
|
|
12
|
-
rect: 0, 0, width, height
|
|
13
|
-
pin: 1, -width/2-20, 0, -width/2, 0
|
|
14
|
-
pin: 2, width/2+20, 0, width/2, 0
|
|
15
|
-
hline: -width/2, 0, width
|
|
16
|
-
label: "refdes", -width/2, -height/2 - 5, "?"
|
|
17
|
-
label: "value", -width/2, height/2 + 2, "?", fontSize=8, vanchor="top"
|
|
18
|
-
params:
|
|
19
|
-
value: value
|
|
20
|
-
|
|
21
|
-
def esd():
|
|
22
|
-
width = 40
|
|
23
|
-
height = 20
|
|
24
|
-
|
|
25
|
-
return create component:
|
|
26
|
-
pins: 2
|
|
27
|
-
type: "Z"
|
|
28
|
-
display: create graphic:
|
|
29
|
-
fill: "#333"
|
|
30
|
-
triangle: -width/2, 0, 0, 0, 20
|
|
31
|
-
triangle: width/2, 0, 0, 0, 20
|
|
32
|
-
path: "M", 5, -height/2-5, "L", 0, -height/2, "L", 0, height/2, "L", -5, height/2+5
|
|
33
|
-
pin: 1, -width/2 - 20, 0, -width/2, 0
|
|
34
|
-
pin: 2, width/2+20, 0, width/2, 0
|
|
35
|
-
label: "refdes", 0, -height/2 - 10, "?", anchor="middle"
|
|
36
|
-
label: "mpn", 0, height/2 + 15, "PGB1010604", anchor="middle"
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
def gnd_connect():
|
|
40
|
-
return create component:
|
|
41
|
-
pins: 2
|
|
42
|
-
|
|
43
|
-
def xtal(frequency):
|
|
44
|
-
width = 30
|
|
45
|
-
height = 10
|
|
46
|
-
|
|
47
|
-
return create component:
|
|
48
|
-
type: "X"
|
|
49
|
-
pins: 3
|
|
50
|
-
display: create graphic:
|
|
51
|
-
rect: 0, 0, width, height
|
|
52
|
-
hline: -width/2 -2, -height/2-4, width + 4
|
|
53
|
-
hline: -width/2 -2, height/2+4, width + 4
|
|
54
|
-
hline: 0, -20, -10
|
|
55
|
-
vline: -10, -25, 10
|
|
56
|
-
vline: -15, -25, 10
|
|
57
|
-
hline: 0, 20, -10
|
|
58
|
-
vline: -10, 15, 10
|
|
59
|
-
vline: -15, 15, 10
|
|
60
|
-
hline: -15, -20, -25
|
|
61
|
-
hline: -15, 20, -25
|
|
62
|
-
vline: -40, -20, 40
|
|
63
|
-
|
|
64
|
-
label: "refdes", width/2 + 5, 0, "?"
|
|
65
|
-
label: "frequency", width/2 + 5, 10, "?"
|
|
66
|
-
|
|
67
|
-
pin: 1, 0, -20, 0, -height/2 - 4
|
|
68
|
-
pin: 2, 0, 20, 0, height/2 + 4
|
|
69
|
-
pin: 3, -60, 0, -40, 0
|
|
70
|
-
|
|
71
|
-
params:
|
|
72
|
-
frequency: frequency
|
|
73
|
-
|
|
74
|
-
def xtal_2(freq):
|
|
75
|
-
# only have 2 pins
|
|
76
|
-
width = 20
|
|
77
|
-
height = 40
|
|
78
|
-
|
|
79
|
-
return create component:
|
|
80
|
-
type: "X"
|
|
81
|
-
pins: 2
|
|
82
|
-
display: create graphic:
|
|
83
|
-
rect: 0, 0, width, height
|
|
84
|
-
fill: "#333"
|
|
85
|
-
rect: -width/2 - 5, 0, 1, height
|
|
86
|
-
rect: width/2 + 5, 0, 1, height
|
|
87
|
-
fill: "none"
|
|
88
|
-
pin: 1, -width/2 - 20, 0, -width/2-5, 0
|
|
89
|
-
pin: 2, width/2 + 20, 0, width/2+5, 0
|
|
90
|
-
label: "refdes", 0, -height/2 - 5, "?", anchor="middle"
|
|
91
|
-
label: "freq", 0, height/2 + 5, freq, vanchor="top", anchor="middle"
|
|
92
|
-
params:
|
|
93
|
-
freq: freq
|
|
94
|
-
|
|
95
|
-
def solder_bridge():
|
|
96
|
-
width = 20
|
|
97
|
-
height = 20
|
|
98
|
-
|
|
99
|
-
return create component:
|
|
100
|
-
type: "S"
|
|
101
|
-
pins: 2
|
|
102
|
-
display: create graphic:
|
|
103
|
-
arc: -width/2+5, 0, 10, 90, 270
|
|
104
|
-
arc: width/2-5, 0, 10, 270, 90
|
|
105
|
-
vline: -width/2 + 5, -height/2, height
|
|
106
|
-
vline: width/2-5, -height/2, height
|
|
107
|
-
pin: 1, -width/2-20, 0, -width/2-5, 0
|
|
108
|
-
pin: 2, width/2+20, 0, width/2+5, 0
|
|
109
|
-
label: "refdes", 0, -width/2 - 5, "?", anchor="middle"
|
|
110
|
-
|
|
111
|
-
def reset_button_block():
|
|
112
|
-
btn = reset_btn()
|
|
113
|
-
|
|
114
|
-
wire up 20
|
|
115
|
-
branch:
|
|
116
|
-
wire up 20
|
|
117
|
-
to btn pin 1
|
|
118
|
-
wire right 20 up 20
|
|
119
|
-
to btn pin 2
|
|
120
|
-
|
|
121
|
-
at btn pin 4
|
|
122
|
-
wire up 20
|
|
123
|
-
branch:
|
|
124
|
-
wire auto_
|
|
125
|
-
to btn pin 3
|
|
126
|
-
wire up 20 right 40 down 20
|
|
127
|
-
to gnd
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
def reset_btn():
|
|
131
|
-
return create component:
|
|
132
|
-
pins: 5
|
|
133
|
-
display: create graphic:
|
|
134
|
-
|
|
135
|
-
hline: 0, 0, 20
|
|
136
|
-
hline: 0, -40, 20
|
|
137
|
-
vline: 20, -30, 20
|
|
138
|
-
path: "M", 20, -20, "L", 40, -20, "L", 40, 0
|
|
139
|
-
path: "M", -15, -30, "L", -20, -30, "L", -20, -10, "L", -15, -10
|
|
140
|
-
hline: -20, -20, 3
|
|
141
|
-
hline: -15, -20, 3
|
|
142
|
-
hline: -10, -20, 3
|
|
143
|
-
hline: -5, -20, 2
|
|
144
|
-
path: "M", 0, 0, "L", -5, -30
|
|
145
|
-
|
|
146
|
-
fill: "#333"
|
|
147
|
-
circle: 0, 0, 2
|
|
148
|
-
fill: "none"
|
|
149
|
-
|
|
150
|
-
pin: 1, 0, 20, 0, 0
|
|
151
|
-
pin: 2, 20, 20, 20, 0
|
|
152
|
-
pin: 5, 40, 20, 40, 0
|
|
153
|
-
pin: 3, 0, -60, 0, -40
|
|
154
|
-
pin: 4, 20, -60, 20, -40
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
gnd = dgnd()
|
|
158
|
-
v3v3 = supply("3V3")
|
|
159
|
-
v5v = supply("5V")
|
|
160
|
-
|
|
161
|
-
atmega = create component:
|
|
162
|
-
type: "ic"
|
|
163
|
-
pins:
|
|
164
|
-
1: "XTAL1"
|
|
165
|
-
2: "XTAL2"
|
|
166
|
-
3: "GND"
|
|
167
|
-
4: "VCC"
|
|
168
|
-
|
|
169
|
-
32: "AVCC"
|
|
170
|
-
|
|
171
|
-
5: "PC2"
|
|
172
|
-
26: "PC4"
|
|
173
|
-
25: "PC5"
|
|
174
|
-
23: "PC6"
|
|
175
|
-
22: "PC7"
|
|
176
|
-
|
|
177
|
-
6: "PD0"
|
|
178
|
-
7: "PD1"
|
|
179
|
-
8: "PD2"
|
|
180
|
-
9: "PD3"
|
|
181
|
-
10: "PD4"
|
|
182
|
-
11: "PD5"
|
|
183
|
-
12: "PD6"
|
|
184
|
-
13: "PD7"
|
|
185
|
-
|
|
186
|
-
24: "RESET"
|
|
187
|
-
|
|
188
|
-
14: "PB0"
|
|
189
|
-
15: "PB1"
|
|
190
|
-
16: "PB2"
|
|
191
|
-
17: "PB3"
|
|
192
|
-
18: "PB4"
|
|
193
|
-
19: "PB5"
|
|
194
|
-
20: "PB6"
|
|
195
|
-
21: "PB7"
|
|
196
|
-
|
|
197
|
-
28: "UGND"
|
|
198
|
-
27: "UCAP"
|
|
199
|
-
31: "UVCC"
|
|
200
|
-
|
|
201
|
-
30: "D-"
|
|
202
|
-
29: "D+"
|
|
203
|
-
|
|
204
|
-
100: "EXP"
|
|
205
|
-
|
|
206
|
-
width: 200
|
|
207
|
-
arrange:
|
|
208
|
-
left: 24, [2], 2, [2], 1, [6], 32, 4, 3, [5], 27, 31, 30, 29, 28, [2], 100
|
|
209
|
-
right: 21,20,19,18,17,16,15,14, [2], 22,23,25,26,5, [2], 13,12,11,10,9,8,7,6
|
|
210
|
-
params:
|
|
211
|
-
mpn: "ATMEGA8U2-MU"
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
atmega8 = create component:
|
|
215
|
-
type: "ic"
|
|
216
|
-
pins:
|
|
217
|
-
1: "RESET"
|
|
218
|
-
|
|
219
|
-
7: "VCC"
|
|
220
|
-
8: "GND"
|
|
221
|
-
|
|
222
|
-
20: "AVCC"
|
|
223
|
-
21: "AREF"
|
|
224
|
-
22: "AGND"
|
|
225
|
-
|
|
226
|
-
9: "XTAL1"
|
|
227
|
-
10: "XTAL2"
|
|
228
|
-
|
|
229
|
-
2: "PD0"
|
|
230
|
-
3: "PD1"
|
|
231
|
-
4: "PD2"
|
|
232
|
-
5: "PD3"
|
|
233
|
-
6: "PD4"
|
|
234
|
-
11: "PD4"
|
|
235
|
-
12: "PD6"
|
|
236
|
-
13: "PD7"
|
|
237
|
-
|
|
238
|
-
23: "PC0"
|
|
239
|
-
24: "PC1"
|
|
240
|
-
25: "PC2"
|
|
241
|
-
26: "PC3"
|
|
242
|
-
27: "PC4"
|
|
243
|
-
28: "PC5"
|
|
244
|
-
|
|
245
|
-
14: "PB0"
|
|
246
|
-
15: "PB1"
|
|
247
|
-
16: "PB2"
|
|
248
|
-
17: "PB3"
|
|
249
|
-
18: "PB4"
|
|
250
|
-
19: "PB5"
|
|
251
|
-
|
|
252
|
-
width: 200
|
|
253
|
-
arrange:
|
|
254
|
-
left: 1, [3], 10, [1], 9, [2], 21, 20, 22, [2], 7,8
|
|
255
|
-
right: 19,18,17,16,15,14, [3], 28,27,26,25,24,23, [3], 13, 12, 11, 6,5,4,3,2
|
|
256
|
-
params:
|
|
257
|
-
mpn: "ATMEGA8"
|
|
258
|
-
|
|
259
|
-
# Oscillator component
|
|
260
|
-
osc1 = xtal("16MHz")
|
|
261
|
-
osc2 = xtal("16MHz")
|
|
262
|
-
|
|
263
|
-
def conn3x2():
|
|
264
|
-
width = 60
|
|
265
|
-
height = 80
|
|
266
|
-
|
|
267
|
-
return create component:
|
|
268
|
-
pins: 6
|
|
269
|
-
display: create graphic:
|
|
270
|
-
rect: 0, 0, width, height
|
|
271
|
-
pin: 1, "1", -width/2 - 20, -20, -width/2, -20
|
|
272
|
-
pin: 3, "3", -width/2 - 20, 0, -width/2, 0
|
|
273
|
-
pin: 5, "5", -width/2 - 20, 20, -width/2, 20
|
|
274
|
-
pin: 2, "2", width/2 + 20, -20, width/2, -20
|
|
275
|
-
pin: 4, "4", width/2 + 20, 0, width/2, 0
|
|
276
|
-
pin: 6, "6", width/2 + 20, 20, width/2, 20
|
|
277
|
-
label: "refdes", -width/2, -height/2 - 5, "?", fontSize=10, anchor="left", vanchor="bottom"
|
|
278
|
-
circle: -10, -20, 8
|
|
279
|
-
circle: -10, 0, 8
|
|
280
|
-
circle: -10, 20, 8
|
|
281
|
-
circle: 10, -20, 8
|
|
282
|
-
circle: 10, 0, 8
|
|
283
|
-
circle: 10, 20, 8
|
|
284
|
-
|
|
285
|
-
def usb_conn_():
|
|
286
|
-
width = 40
|
|
287
|
-
height = 100
|
|
288
|
-
|
|
289
|
-
return create component:
|
|
290
|
-
pins: 6
|
|
291
|
-
display: create graphic:
|
|
292
|
-
#rect: 0, 0, width, 100
|
|
293
|
-
path: "M", -20, -40, "L", 20, -40, "L", 20, 60, "L", -20, 60
|
|
294
|
-
|
|
295
|
-
label: "", 0, 15, "USB", anchor="middle", fontSize=20, angle=-90
|
|
296
|
-
|
|
297
|
-
pin: 1, width/2 + 20, -20, width/2, -20
|
|
298
|
-
pin: 2, width/2 + 20, 0, width/2, 0
|
|
299
|
-
pin: 3, width/2 + 20, 20, width/2, 20
|
|
300
|
-
pin: 4, width/2 + 20, 40, width/2, 40
|
|
301
|
-
|
|
302
|
-
pin: 5, -20, 60+ 20, -20, 60
|
|
303
|
-
pin: 6, 0, 60 + 20, 0, 60
|
|
304
|
-
|
|
305
|
-
def conn8():
|
|
306
|
-
return create component:
|
|
307
|
-
type: "conn"
|
|
308
|
-
pins: 8
|
|
309
|
-
display: create graphic:
|
|
310
|
-
rect: 0, -70, 40, 180
|
|
311
|
-
circle: 0, 0, 8
|
|
312
|
-
circle: 0, -20, 8
|
|
313
|
-
circle: 0, -40, 8
|
|
314
|
-
circle: 0, -60, 8
|
|
315
|
-
circle: 0, -80, 8
|
|
316
|
-
circle: 0, -100, 8
|
|
317
|
-
circle: 0, -120, 8
|
|
318
|
-
circle: 0, -140, 8
|
|
319
|
-
|
|
320
|
-
label: "refdes", -20, -160-4, "?"
|
|
321
|
-
label: "mpn", -20, 20 + 4, "?", vanchor="top"
|
|
322
|
-
|
|
323
|
-
pin: 1, -40, 0, -20, 0
|
|
324
|
-
pin: 2, -40, -20, -20, -20
|
|
325
|
-
pin: 3, -40, -40, -20, -40
|
|
326
|
-
pin: 4, -40, -60, -20, -60
|
|
327
|
-
pin: 5, -40, -80, -20, -80
|
|
328
|
-
pin: 6, -40, -100, -20, -100
|
|
329
|
-
pin: 7, -40, -120, -20, -120
|
|
330
|
-
pin: 8, -40, -140, -20, -140
|
|
331
|
-
|
|
332
|
-
def conn6_flipped():
|
|
333
|
-
return create component:
|
|
334
|
-
type: "conn"
|
|
335
|
-
pins: 6
|
|
336
|
-
display: create graphic:
|
|
337
|
-
rect: 0, 2.5 * -20, 40, (6+1) * 20
|
|
338
|
-
circle: 0, 0, 8
|
|
339
|
-
circle: 0, -20, 8
|
|
340
|
-
circle: 0, -40, 8
|
|
341
|
-
circle: 0, -60, 8
|
|
342
|
-
circle: 0, -80, 8
|
|
343
|
-
circle: 0, -100, 8
|
|
344
|
-
|
|
345
|
-
label: "refdes", -20, 6 * -20 - 5, "?"
|
|
346
|
-
label: "mpn", -20, 20 + 4, "?", vanchor="top"
|
|
347
|
-
|
|
348
|
-
pin: 6, -40, 0, -20, 0
|
|
349
|
-
pin: 5, -40, -20, -20, -20
|
|
350
|
-
pin: 4, -40, -40, -20, -40
|
|
351
|
-
pin: 3, -40, -60, -20, -60
|
|
352
|
-
pin: 2, -40, -80, -20, -80
|
|
353
|
-
pin: 1, -40, -100, -20, -100
|
|
354
|
-
|
|
355
|
-
def conn6():
|
|
356
|
-
return create component:
|
|
357
|
-
type: "conn"
|
|
358
|
-
pins: 6
|
|
359
|
-
display: create graphic:
|
|
360
|
-
rect: 0, 2.5 * -20, 40, (6+1) * 20
|
|
361
|
-
circle: 0, 0, 8
|
|
362
|
-
circle: 0, -20, 8
|
|
363
|
-
circle: 0, -40, 8
|
|
364
|
-
circle: 0, -60, 8
|
|
365
|
-
circle: 0, -80, 8
|
|
366
|
-
circle: 0, -100, 8
|
|
367
|
-
|
|
368
|
-
label: "refdes", -20, 6 * -20 - 5, "?"
|
|
369
|
-
label: "mpn", -20, 20 + 4, "?", vanchor="top"
|
|
370
|
-
|
|
371
|
-
pin: 1, -40, 0, -20, 0
|
|
372
|
-
pin: 2, -40, -20, -20, -20
|
|
373
|
-
pin: 3, -40, -40, -20, -40
|
|
374
|
-
pin: 4, -40, -60, -20, -60
|
|
375
|
-
pin: 5, -40, -80, -20, -80
|
|
376
|
-
pin: 6, -40, -100, -20, -100
|
|
377
|
-
|
|
378
|
-
iol_conn = conn8()
|
|
379
|
-
iol_conn.mpn = "IOL"
|
|
380
|
-
|
|
381
|
-
ioh_conn = conn8()
|
|
382
|
-
ioh_conn.mpn = "IOH"
|
|
383
|
-
|
|
384
|
-
ad_conn = conn6()
|
|
385
|
-
ad_conn.mpn = "AD"
|
|
386
|
-
|
|
387
|
-
# USB connector
|
|
388
|
-
usb_conn = usb_conn_()
|
|
389
|
-
|
|
390
|
-
# ICSP connector
|
|
391
|
-
icsp_conn2 = conn3x2()
|
|
392
|
-
icsp_conn = conn3x2()
|
|
393
|
-
|
|
394
|
-
at icsp_conn:
|
|
395
|
-
6:
|
|
396
|
-
wire right 20 down 20
|
|
397
|
-
to gnd
|
|
398
|
-
2:
|
|
399
|
-
wire right 20 up 20
|
|
400
|
-
to v5v
|
|
401
|
-
|
|
402
|
-
|
|
403
|
-
at atmega:
|
|
404
|
-
32:
|
|
405
|
-
wire left 40
|
|
406
|
-
branch:
|
|
407
|
-
wire up 20
|
|
408
|
-
to v5v
|
|
409
|
-
wire down 20
|
|
410
|
-
branch:
|
|
411
|
-
wire auto
|
|
412
|
-
to atmega pin 4
|
|
413
|
-
wire left 40 down 20
|
|
414
|
-
add cap(100n)
|
|
415
|
-
wire down 20
|
|
416
|
-
to gnd
|
|
417
|
-
|
|
418
|
-
3:
|
|
419
|
-
wire left 20 down 20
|
|
420
|
-
to gnd
|
|
421
|
-
|
|
422
|
-
24:
|
|
423
|
-
wire left 40
|
|
424
|
-
branch:
|
|
425
|
-
wire left 160 up 200 right 20
|
|
426
|
-
to icsp_conn2 pin 5
|
|
427
|
-
|
|
428
|
-
branch:
|
|
429
|
-
wire up 20
|
|
430
|
-
add res(10k) up
|
|
431
|
-
|
|
432
|
-
point:
|
|
433
|
-
at v5v
|
|
434
|
-
branch:
|
|
435
|
-
wire down 20 left 40
|
|
436
|
-
to icsp_conn2 pin 2
|
|
437
|
-
|
|
438
|
-
wire auto
|
|
439
|
-
to point
|
|
440
|
-
|
|
441
|
-
17:
|
|
442
|
-
wire right 20
|
|
443
|
-
add label("MISO2")
|
|
444
|
-
wire right 60 up 200 left 560 auto
|
|
445
|
-
to icsp_conn2 pin 1
|
|
446
|
-
|
|
447
|
-
16:
|
|
448
|
-
wire right 20
|
|
449
|
-
add label("MOSI2")
|
|
450
|
-
wire right 80 auto_
|
|
451
|
-
to icsp_conn2 pin 4
|
|
452
|
-
|
|
453
|
-
15:
|
|
454
|
-
wire right 20
|
|
455
|
-
add label("SCK2")
|
|
456
|
-
wire right 100 up 260 left 580 auto
|
|
457
|
-
to icsp_conn2 pin 3
|
|
458
|
-
|
|
459
|
-
at icsp_conn2 pin 6
|
|
460
|
-
wire right 20 down 20
|
|
461
|
-
to gnd
|
|
462
|
-
|
|
463
|
-
31:
|
|
464
|
-
wire left 100
|
|
465
|
-
add label("USBVCC")
|
|
466
|
-
|
|
467
|
-
wire left 160 up 220 left 60
|
|
468
|
-
add fuse(500m) pin 2
|
|
469
|
-
wire left 100 down 40 left 60
|
|
470
|
-
add label("XUSB")
|
|
471
|
-
wire left 80
|
|
472
|
-
to usb_conn pin 1
|
|
473
|
-
|
|
474
|
-
100:
|
|
475
|
-
wire left 20 down 20
|
|
476
|
-
to gnd
|
|
477
|
-
|
|
478
|
-
join:
|
|
479
|
-
at atmega pin 30
|
|
480
|
-
wire left 100
|
|
481
|
-
add label("RD-")
|
|
482
|
-
|
|
483
|
-
wire left 180 up 180 left 40
|
|
484
|
-
add res(22) pin 2
|
|
485
|
-
wire left 20
|
|
486
|
-
add label("D-")
|
|
487
|
-
wire left 60
|
|
488
|
-
branch:
|
|
489
|
-
wire auto
|
|
490
|
-
to usb_conn pin 2
|
|
491
|
-
|
|
492
|
-
wire down 100
|
|
493
|
-
add esd() ..angle=90
|
|
494
|
-
wire down 20 left 80
|
|
495
|
-
|
|
496
|
-
join:
|
|
497
|
-
at atmega pin 29
|
|
498
|
-
wire left 100
|
|
499
|
-
add label("RD+")
|
|
500
|
-
|
|
501
|
-
wire left 200 up 140 left 20
|
|
502
|
-
add res(22) pin 2
|
|
503
|
-
wire left 20
|
|
504
|
-
add label("D+")
|
|
505
|
-
|
|
506
|
-
wire left 20 up 40
|
|
507
|
-
wire left 120
|
|
508
|
-
branch:
|
|
509
|
-
wire auto
|
|
510
|
-
to usb_conn pin 3
|
|
511
|
-
wire down 80
|
|
512
|
-
add esd() ..angle=90
|
|
513
|
-
wire auto
|
|
514
|
-
|
|
515
|
-
point:
|
|
516
|
-
at usb_conn pin 5
|
|
517
|
-
wire down 20
|
|
518
|
-
branch:
|
|
519
|
-
wire auto_
|
|
520
|
-
to usb_conn pin 6
|
|
521
|
-
|
|
522
|
-
wire down 20
|
|
523
|
-
add label("USHIELD") down
|
|
524
|
-
wire auto_
|
|
525
|
-
to point
|
|
526
|
-
|
|
527
|
-
wire down 20
|
|
528
|
-
add ind(1u) down
|
|
529
|
-
wire down 20
|
|
530
|
-
|
|
531
|
-
point:
|
|
532
|
-
at usb_conn pin 4
|
|
533
|
-
wire right 20 down 40
|
|
534
|
-
add label("UGND") down
|
|
535
|
-
wire auto_
|
|
536
|
-
to point
|
|
537
|
-
|
|
538
|
-
point:
|
|
539
|
-
at atmega pin 27
|
|
540
|
-
wire left 100
|
|
541
|
-
add label("VUCAP")
|
|
542
|
-
wire left 100 down 100
|
|
543
|
-
add cap(1u)
|
|
544
|
-
wire down 40
|
|
545
|
-
|
|
546
|
-
point:
|
|
547
|
-
at atmega pin 28
|
|
548
|
-
wire left 100
|
|
549
|
-
add label("UGND")
|
|
550
|
-
wire auto
|
|
551
|
-
to point
|
|
552
|
-
wire down 20
|
|
553
|
-
add solder_bridge() down
|
|
554
|
-
..refdes = "GROUND"
|
|
555
|
-
wire down 20
|
|
556
|
-
to gnd
|
|
557
|
-
|
|
558
|
-
wire left 360
|
|
559
|
-
to point
|
|
560
|
-
|
|
561
|
-
join:
|
|
562
|
-
at atmega pin 2
|
|
563
|
-
wire left 120
|
|
564
|
-
branch:
|
|
565
|
-
wire left 20
|
|
566
|
-
to osc1 pin 1
|
|
567
|
-
|
|
568
|
-
wire up 40 left 160 wire down 20
|
|
569
|
-
add res(1M) down
|
|
570
|
-
|
|
571
|
-
join:
|
|
572
|
-
at atmega pin 1
|
|
573
|
-
wire left 20
|
|
574
|
-
add res(27) pin 2
|
|
575
|
-
wire left 20
|
|
576
|
-
|
|
577
|
-
branch:
|
|
578
|
-
wire auto_
|
|
579
|
-
to osc1 pin 2
|
|
580
|
-
|
|
581
|
-
wire down 20 auto
|
|
582
|
-
|
|
583
|
-
at osc1 pin 3
|
|
584
|
-
wire left 20 down 20
|
|
585
|
-
to gnd
|
|
586
|
-
|
|
587
|
-
at atmega:
|
|
588
|
-
8:
|
|
589
|
-
wire right 40
|
|
590
|
-
add label("M8TXD")
|
|
591
|
-
wire right 60 down 160 right 540
|
|
592
|
-
add label("M8TXD")
|
|
593
|
-
wire right 60
|
|
594
|
-
add res(1k)
|
|
595
|
-
wire right 100 up 140
|
|
596
|
-
branch:
|
|
597
|
-
wire left 40
|
|
598
|
-
to atmega8 pin 3
|
|
599
|
-
|
|
600
|
-
wire right 60
|
|
601
|
-
to iol_conn pin 2
|
|
602
|
-
|
|
603
|
-
9:
|
|
604
|
-
wire right 40
|
|
605
|
-
add label("M8RXD")
|
|
606
|
-
wire right 80 down 140 right 520
|
|
607
|
-
add label("M8RXD")
|
|
608
|
-
wire right 60
|
|
609
|
-
add res(1k)
|
|
610
|
-
wire right 80 auto_
|
|
611
|
-
to atmega8 pin 2
|
|
612
|
-
|
|
613
|
-
wire auto
|
|
614
|
-
to iol_conn pin 1
|
|
615
|
-
|
|
616
|
-
def led_with_res():
|
|
617
|
-
add led("yellow") pin 2 right
|
|
618
|
-
wire right 20
|
|
619
|
-
add res(1k)
|
|
620
|
-
wire right 20
|
|
621
|
-
|
|
622
|
-
join:
|
|
623
|
-
at atmega pin 11
|
|
624
|
-
wire right 40
|
|
625
|
-
add label("TXLED")
|
|
626
|
-
wire right 140
|
|
627
|
-
led_with_res()
|
|
628
|
-
|
|
629
|
-
join:
|
|
630
|
-
at atmega pin 10
|
|
631
|
-
wire right 40
|
|
632
|
-
add label("RXLED")
|
|
633
|
-
wire right 100 down 40 right 40
|
|
634
|
-
led_with_res()
|
|
635
|
-
wire up 60
|
|
636
|
-
|
|
637
|
-
wire up 20
|
|
638
|
-
to v5v
|
|
639
|
-
|
|
640
|
-
#power_conn2 = create component:
|
|
641
|
-
# pins: 6
|
|
642
|
-
# arrange:
|
|
643
|
-
# left: 1,2,3,4,5,6
|
|
644
|
-
|
|
645
|
-
power_conn2 = conn6_flipped()
|
|
646
|
-
power_conn2.mpn = "POWER"
|
|
647
|
-
|
|
648
|
-
at power_conn2:
|
|
649
|
-
2:
|
|
650
|
-
wire left 60 up 80
|
|
651
|
-
add v3v3
|
|
652
|
-
3:
|
|
653
|
-
wire left 100 up 100
|
|
654
|
-
to v5v
|
|
655
|
-
|
|
656
|
-
4:
|
|
657
|
-
wire left 20 down 20
|
|
658
|
-
branch:
|
|
659
|
-
wire right 20
|
|
660
|
-
to power_conn2 pin 5
|
|
661
|
-
wire left 60 down 40
|
|
662
|
-
to gnd
|
|
663
|
-
|
|
664
|
-
6:
|
|
665
|
-
wire left 40
|
|
666
|
-
add label("VIN")
|
|
667
|
-
|
|
668
|
-
|
|
669
|
-
at atmega8:
|
|
670
|
-
7:
|
|
671
|
-
wire left 40
|
|
672
|
-
branch:
|
|
673
|
-
wire auto to atmega8 pin 20
|
|
674
|
-
wire left 40
|
|
675
|
-
branch:
|
|
676
|
-
wire up 20
|
|
677
|
-
to v5v
|
|
678
|
-
wire down 20
|
|
679
|
-
add cap(100n)
|
|
680
|
-
wire down 20
|
|
681
|
-
to gnd
|
|
682
|
-
8:
|
|
683
|
-
wire left 20
|
|
684
|
-
branch:
|
|
685
|
-
wire auto to atmega8 pin 22
|
|
686
|
-
wire down 60
|
|
687
|
-
to gnd
|
|
688
|
-
|
|
689
|
-
10:
|
|
690
|
-
wire left 20 up 60 left 60
|
|
691
|
-
branch:
|
|
692
|
-
wire down 20
|
|
693
|
-
add res(1M) ..angle=90
|
|
694
|
-
wire down 20
|
|
695
|
-
branch:
|
|
696
|
-
wire right 60 auto
|
|
697
|
-
to atmega8 pin 9
|
|
698
|
-
wire left 60
|
|
699
|
-
to osc2 pin 2
|
|
700
|
-
wire left 40 auto
|
|
701
|
-
to osc2 pin 1
|
|
702
|
-
|
|
703
|
-
at osc2 pin 3
|
|
704
|
-
wire left 20 down 20
|
|
705
|
-
to gnd
|
|
706
|
-
|
|
707
|
-
21:
|
|
708
|
-
wire left 40
|
|
709
|
-
add label("AREF")
|
|
710
|
-
|
|
711
|
-
4:
|
|
712
|
-
wire auto to iol_conn pin 3
|
|
713
|
-
5:
|
|
714
|
-
wire auto to iol_conn pin 4
|
|
715
|
-
6:
|
|
716
|
-
wire auto to iol_conn pin 5
|
|
717
|
-
11:
|
|
718
|
-
wire auto to iol_conn pin 6
|
|
719
|
-
12:
|
|
720
|
-
wire auto to iol_conn pin 7
|
|
721
|
-
13:
|
|
722
|
-
wire auto to iol_conn pin 8
|
|
723
|
-
|
|
724
|
-
23:
|
|
725
|
-
wire right 100 to ad_conn pin 1
|
|
726
|
-
24:
|
|
727
|
-
wire auto to ad_conn pin 2
|
|
728
|
-
25:
|
|
729
|
-
wire auto to ad_conn pin 3
|
|
730
|
-
26:
|
|
731
|
-
wire auto to ad_conn pin 4
|
|
732
|
-
27:
|
|
733
|
-
wire auto to ad_conn pin 5
|
|
734
|
-
28:
|
|
735
|
-
wire auto to ad_conn pin 6
|
|
736
|
-
|
|
737
|
-
14:
|
|
738
|
-
wire right 200 to ioh_conn pin 1
|
|
739
|
-
15:
|
|
740
|
-
wire auto to ioh_conn pin 2
|
|
741
|
-
16:
|
|
742
|
-
wire right 20
|
|
743
|
-
add label("SS")
|
|
744
|
-
wire auto to ioh_conn pin 3
|
|
745
|
-
17:
|
|
746
|
-
wire right 60
|
|
747
|
-
branch:
|
|
748
|
-
wire auto to ioh_conn pin 4
|
|
749
|
-
wire up 200 left 40
|
|
750
|
-
to icsp_conn pin 4
|
|
751
|
-
|
|
752
|
-
18:
|
|
753
|
-
wire right 40
|
|
754
|
-
branch:
|
|
755
|
-
wire auto to ioh_conn pin 5
|
|
756
|
-
|
|
757
|
-
wire up 100 left 200 auto
|
|
758
|
-
to icsp_conn pin 1
|
|
759
|
-
|
|
760
|
-
19:
|
|
761
|
-
wire right 20
|
|
762
|
-
branch:
|
|
763
|
-
wire auto to ioh_conn pin 6
|
|
764
|
-
wire up 60 left 160 auto
|
|
765
|
-
to icsp_conn pin 3
|
|
766
|
-
|
|
767
|
-
1:
|
|
768
|
-
wire left 20
|
|
769
|
-
|
|
770
|
-
point:
|
|
771
|
-
at icsp_conn pin 5
|
|
772
|
-
wire left 140
|
|
773
|
-
branch:
|
|
774
|
-
reset_button_block()
|
|
775
|
-
wire auto_
|
|
776
|
-
to point
|
|
777
|
-
|
|
778
|
-
wire left 120
|
|
779
|
-
branch:
|
|
780
|
-
wire up 20
|
|
781
|
-
add res(10k) up
|
|
782
|
-
wire up 20
|
|
783
|
-
to v5v
|
|
784
|
-
branch:
|
|
785
|
-
wire left 40 up 460 right 120
|
|
786
|
-
to power_conn2 pin 1
|
|
787
|
-
|
|
788
|
-
wire left 40
|
|
789
|
-
add label("RESET")
|
|
790
|
-
|
|
791
|
-
wire left 60
|
|
792
|
-
|
|
793
|
-
parallel:
|
|
794
|
-
wire left 60
|
|
795
|
-
add solder_bridge() left
|
|
796
|
-
..refdes = "RESET-EN"
|
|
797
|
-
wire left 60 down 40
|
|
798
|
-
parallel:
|
|
799
|
-
wire auto
|
|
800
|
-
|
|
801
|
-
wire down 20
|
|
802
|
-
add cap(100n)
|
|
803
|
-
wire down 200
|
|
804
|
-
branch:
|
|
805
|
-
wire right 20
|
|
806
|
-
add solder_bridge()
|
|
807
|
-
..refdes = "UBOOT"
|
|
808
|
-
wire right 20 down 20 to gnd
|
|
809
|
-
|
|
810
|
-
wire auto
|
|
811
|
-
to atmega pin 13
|
|
812
|
-
|
|
813
|
-
at ioh_conn:
|
|
814
|
-
7:
|
|
815
|
-
wire left 80
|
|
816
|
-
add label("GND")
|
|
817
|
-
8:
|
|
818
|
-
wire left 40
|
|
819
|
-
branch:
|
|
820
|
-
wire left 40
|
|
821
|
-
add label("AREF")
|
|
822
|
-
|
|
823
|
-
wire up 40
|
|
824
|
-
add cap(100n) pin 2
|
|
825
|
-
wire up 20 right 80 down 20
|
|
826
|
-
to gnd
|
|
827
|
-
|
|
828
|
-
6:
|
|
829
|
-
wire left 80
|
|
830
|
-
add label("SCK")
|
|
831
|
-
wire left 20 up 200
|
|
832
|
-
|
|
833
|
-
parallel:
|
|
834
|
-
wire up 20
|
|
835
|
-
add res(1k) up
|
|
836
|
-
wire up 20
|
|
837
|
-
parallel:
|
|
838
|
-
wire right 60 up 20
|
|
839
|
-
add res(1k) up
|
|
840
|
-
wire auto_
|
|
841
|
-
|
|
842
|
-
wire up 20
|
|
843
|
-
add led("yellow") up
|
|
844
|
-
wire up 40 right 60 down 20
|
|
845
|
-
to gnd
|
|
846
|
-
|
|
847
|
-
5:
|
|
848
|
-
wire left 80
|
|
849
|
-
add label("MISO")
|
|
850
|
-
4:
|
|
851
|
-
wire left 80
|
|
852
|
-
add label("MOSI")
|
|
853
|
-
|
|
854
|
-
|
|
855
|
-
|
|
856
|
-
|
|
857
|
-
# 3V3 output converter
|
|
858
|
-
dcdc_3v3 = create component:
|
|
859
|
-
type: "ic"
|
|
860
|
-
pins:
|
|
861
|
-
1: "IN"
|
|
862
|
-
2: "GND"
|
|
863
|
-
3: "\EN"
|
|
864
|
-
5: "OUT"
|
|
865
|
-
4: "NC/FB"
|
|
866
|
-
params:
|
|
867
|
-
manufacturer_pn: "LP2985-33DBVR"
|
|
868
|
-
arrange:
|
|
869
|
-
left: 1,3,2
|
|
870
|
-
right: 5, [1], 4
|
|
871
|
-
|
|
872
|
-
dcdc_5V = create component:
|
|
873
|
-
type: "ic"
|
|
874
|
-
pins:
|
|
875
|
-
1: input, "ADJ"
|
|
876
|
-
2: power, "VO"
|
|
877
|
-
3: power, "VI"
|
|
878
|
-
arrange:
|
|
879
|
-
left: 3, 1
|
|
880
|
-
right: 2
|
|
881
|
-
params:
|
|
882
|
-
manufacturer_pn: "MC33269D-5.0"
|
|
883
|
-
|
|
884
|
-
dcdc_5V_2 = create component:
|
|
885
|
-
type: "ic"
|
|
886
|
-
pins:
|
|
887
|
-
1: power, "GND"
|
|
888
|
-
2: power, "OUT"
|
|
889
|
-
4: power, "OUT"
|
|
890
|
-
3: power, "IN"
|
|
891
|
-
arrange:
|
|
892
|
-
left: 3, 1
|
|
893
|
-
right: 4,2
|
|
894
|
-
params:
|
|
895
|
-
manufacturer_pn: "MC33269ST-5.0T3"
|
|
896
|
-
|
|
897
|
-
def opamp():
|
|
898
|
-
width = 60
|
|
899
|
-
height = 60
|
|
900
|
-
|
|
901
|
-
return create component:
|
|
902
|
-
type: "ic"
|
|
903
|
-
pins: 3
|
|
904
|
-
params:
|
|
905
|
-
manufacturer_pn: "LM358D"
|
|
906
|
-
display: create graphic:
|
|
907
|
-
triangle: -width/2, 0, width/2, 0, height
|
|
908
|
-
pin: 1, width/2 + 20, 0, width/2, 0
|
|
909
|
-
pin: 2, "-", -width/2 - 20, 20, -width/2, 20
|
|
910
|
-
pin: 3, "+", -width/2 - 20, -20, -width/2, -20
|
|
911
|
-
label: "refdes", 0, -height/2, "?"
|
|
912
|
-
label: "manufacturer_pn", 0, height/2, "?"
|
|
913
|
-
|
|
914
|
-
# Block for power
|
|
915
|
-
opamp_1 = opamp()
|
|
916
|
-
|
|
917
|
-
def fet_():
|
|
918
|
-
return create component:
|
|
919
|
-
pins: 3
|
|
920
|
-
type: "T"
|
|
921
|
-
display: create graphic:
|
|
922
|
-
hline: -15, -5, 35
|
|
923
|
-
fill: "#333"
|
|
924
|
-
rect: 0, 0, 10, 3
|
|
925
|
-
rect: 15, 0, 10, 3
|
|
926
|
-
rect: -15, 0, 10, 3
|
|
927
|
-
vline: 15, 0, 20
|
|
928
|
-
vline: -15, 0, 20
|
|
929
|
-
vline: 0, 0, 20
|
|
930
|
-
triangle: 0, 15, 0, 20, 5
|
|
931
|
-
hline: 0, 20, 20
|
|
932
|
-
hline: -20, 20, 5
|
|
933
|
-
path: "M", -20, 20, "L", -20, 30, "L", 20, 30, "L", 20, 20
|
|
934
|
-
triangle: -2.5, 30, 2.5, 30, 5
|
|
935
|
-
vline: 2.5, 30-4, 8
|
|
936
|
-
|
|
937
|
-
label: "refdes", 0, 45, "?", anchor="middle"
|
|
938
|
-
label: "manufacturer_pn", 0, 55, "?", anchor="middle"
|
|
939
|
-
|
|
940
|
-
pin: 1, -40, 20, -20, 20
|
|
941
|
-
pin: 2, 40, 20, 20, 20
|
|
942
|
-
pin: 3, 20, -20, 20, -5
|
|
943
|
-
params:
|
|
944
|
-
manufacturer_pn: "FDN304V"
|
|
945
|
-
|
|
946
|
-
fetx = create component:
|
|
947
|
-
pins: 3
|
|
948
|
-
arrange:
|
|
949
|
-
left: 1
|
|
950
|
-
right: 2,3
|
|
951
|
-
params:
|
|
952
|
-
manufacturer_pn: "FDN304V"
|
|
953
|
-
|
|
954
|
-
fet = fet_()
|
|
955
|
-
|
|
956
|
-
frame:
|
|
957
|
-
..title = "Supply generation"
|
|
958
|
-
..direction = "row"
|
|
959
|
-
|
|
960
|
-
frame:
|
|
961
|
-
..title = "3V3 power"
|
|
962
|
-
|
|
963
|
-
at label("VIN")
|
|
964
|
-
wire right 40 down 20
|
|
965
|
-
add res(10k) ..angle=90
|
|
966
|
-
wire down 20
|
|
967
|
-
branch:
|
|
968
|
-
wire down 20
|
|
969
|
-
add res(10k) ..angle=90
|
|
970
|
-
to gnd
|
|
971
|
-
wire right 80
|
|
972
|
-
add label("CMP")
|
|
973
|
-
wire right 20
|
|
974
|
-
to opamp_1 pin 3
|
|
975
|
-
|
|
976
|
-
at v3v3 left
|
|
977
|
-
wire right 20
|
|
978
|
-
to opamp_1 pin 2
|
|
979
|
-
|
|
980
|
-
at label("USBVCC")
|
|
981
|
-
wire right 40 to fet pin 1
|
|
982
|
-
|
|
983
|
-
at opamp_1 pin 1
|
|
984
|
-
wire right 80 down 100 left 20
|
|
985
|
-
to fet pin 2
|
|
986
|
-
|
|
987
|
-
at fet pin 3
|
|
988
|
-
wire right 60
|
|
989
|
-
branch:
|
|
990
|
-
wire up 20
|
|
991
|
-
to v5v
|
|
992
|
-
wire right 60
|
|
993
|
-
branch:
|
|
994
|
-
wire right 20
|
|
995
|
-
to dcdc_3v3 pin 1
|
|
996
|
-
wire auto_
|
|
997
|
-
to dcdc_3v3 pin 3
|
|
998
|
-
|
|
999
|
-
at dcdc_3v3:
|
|
1000
|
-
2:
|
|
1001
|
-
wire left 20 down 40
|
|
1002
|
-
to gnd
|
|
1003
|
-
|
|
1004
|
-
5:
|
|
1005
|
-
wire right 40
|
|
1006
|
-
branch:
|
|
1007
|
-
wire up 20
|
|
1008
|
-
to v3v3
|
|
1009
|
-
wire down 20
|
|
1010
|
-
add cap(1u)
|
|
1011
|
-
wire down 20
|
|
1012
|
-
to gnd
|
|
1013
|
-
|
|
1014
|
-
|
|
1015
|
-
frame:
|
|
1016
|
-
..title = "5V power"
|
|
1017
|
-
|
|
1018
|
-
# Block for 5V power
|
|
1019
|
-
power_conn = create component:
|
|
1020
|
-
type: "conn"
|
|
1021
|
-
pins: 3
|
|
1022
|
-
display: create graphic:
|
|
1023
|
-
rect: 0, 0, 80, 40
|
|
1024
|
-
pin: 1, -20, 40, -20, 20
|
|
1025
|
-
pin: 2, 20, 40, 20, 20
|
|
1026
|
-
pin: 3, 60, 0, 40, 0
|
|
1027
|
-
label: "refdes", -40, -20 - 4, "?"
|
|
1028
|
-
|
|
1029
|
-
at power_conn:
|
|
1030
|
-
1:
|
|
1031
|
-
wire down 20
|
|
1032
|
-
branch:
|
|
1033
|
-
wire auto_
|
|
1034
|
-
to power_conn pin 3
|
|
1035
|
-
wire down 20
|
|
1036
|
-
to gnd
|
|
1037
|
-
2:
|
|
1038
|
-
wire right 20
|
|
1039
|
-
add label("PWRIN")
|
|
1040
|
-
wire right 40
|
|
1041
|
-
add diode()
|
|
1042
|
-
wire right 20
|
|
1043
|
-
branch:
|
|
1044
|
-
wire down 20
|
|
1045
|
-
add cap(47u)
|
|
1046
|
-
wire down 20
|
|
1047
|
-
to gnd
|
|
1048
|
-
wire right 20
|
|
1049
|
-
point:
|
|
1050
|
-
at dcdc_5V pin 3
|
|
1051
|
-
wire left 80
|
|
1052
|
-
to point
|
|
1053
|
-
|
|
1054
|
-
wire up 20
|
|
1055
|
-
branch:
|
|
1056
|
-
wire right 20
|
|
1057
|
-
add label("VIN")
|
|
1058
|
-
wire right 40
|
|
1059
|
-
wire up 100 right 80
|
|
1060
|
-
to dcdc_5V_2 pin 3
|
|
1061
|
-
|
|
1062
|
-
at dcdc_5V:
|
|
1063
|
-
1:
|
|
1064
|
-
wire left 20 down 20
|
|
1065
|
-
to gnd
|
|
1066
|
-
2:
|
|
1067
|
-
wire right 20
|
|
1068
|
-
point:
|
|
1069
|
-
at dcdc_5V_2 pin 4
|
|
1070
|
-
wire right 20 down 20
|
|
1071
|
-
branch:
|
|
1072
|
-
wire auto
|
|
1073
|
-
to dcdc_5V_2 pin 2
|
|
1074
|
-
wire auto
|
|
1075
|
-
to point
|
|
1076
|
-
|
|
1077
|
-
wire right 20
|
|
1078
|
-
|
|
1079
|
-
branch:
|
|
1080
|
-
wire down 20
|
|
1081
|
-
add cap(47u)
|
|
1082
|
-
to gnd
|
|
1083
|
-
wire right 60
|
|
1084
|
-
branch:
|
|
1085
|
-
wire down 20
|
|
1086
|
-
add cap(100n)
|
|
1087
|
-
to gnd
|
|
1088
|
-
wire up 20
|
|
1089
|
-
to v5v
|
|
1090
|
-
|
|
1091
|
-
|
|
1092
|
-
at dcdc_5V_2 pin 1
|
|
1093
|
-
wire left 20 down 20
|
|
1094
|
-
to gnd
|
|
1095
|
-
|
|
1096
|
-
frame:
|
|
1097
|
-
..title = "5V indication"
|
|
1098
|
-
..border = 0
|
|
1099
|
-
|
|
1100
|
-
# Block for 5V leds
|
|
1101
|
-
at v5v
|
|
1102
|
-
wire down 20
|
|
1103
|
-
|
|
1104
|
-
parallel:
|
|
1105
|
-
wire right 20
|
|
1106
|
-
add res(1k)
|
|
1107
|
-
wire right 20
|
|
1108
|
-
parallel:
|
|
1109
|
-
wire down 40 right 20
|
|
1110
|
-
add res(1k)
|
|
1111
|
-
wire auto_
|
|
1112
|
-
|
|
1113
|
-
wire right 20
|
|
1114
|
-
|
|
1115
|
-
add led("green")
|
|
1116
|
-
wire right 20 down 20
|
|
1117
|
-
to gnd
|
|
1118
|
-
|
|
1119
|
-
def osc_block(frequency, net1, net2):
|
|
1120
|
-
xtal = xtal_2(frequency)
|
|
1121
|
-
|
|
1122
|
-
join:
|
|
1123
|
-
at xtal pin 1
|
|
1124
|
-
wire left 40
|
|
1125
|
-
add label(net1)
|
|
1126
|
-
wire left 20 down 20
|
|
1127
|
-
add cap(22p)
|
|
1128
|
-
wire down 20
|
|
1129
|
-
|
|
1130
|
-
join:
|
|
1131
|
-
at xtal pin 2
|
|
1132
|
-
wire right 20
|
|
1133
|
-
add label(net2)
|
|
1134
|
-
wire right 20 down 20
|
|
1135
|
-
add cap(22p)
|
|
1136
|
-
wire auto
|
|
1137
|
-
|
|
1138
|
-
wire down 20
|
|
1139
|
-
to gnd
|
|
1140
|
-
|
|
1141
|
-
frame:
|
|
1142
|
-
..title = "Alternative XTALs"
|
|
1143
|
-
..direction = "row"
|
|
1144
|
-
|
|
1145
|
-
osc_block("16MHz", "XT2", "XT1")
|
|
1146
|
-
osc_block("16MHz", "XTAL2", "XTAL1")
|