Skip to content
GitLab
Menu
Projects
Groups
Snippets
/
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
Menu
Open sidebar
pub
libraries
Commits
347f404a
Commit
347f404a
authored
Dec 24, 2019
by
Neil Gershenfeld
Browse files
wip
parent
02161b8f
Changes
1
Hide whitespace changes
Inline
Side-by-side
python/pcb.py
View file @
347f404a
...
...
@@ -4563,6 +4563,446 @@ class ADXL343(part):
# ICs
#
class
SAMD21E
(
part
):
#
# TQFP
#
def
__init__
(
self
,
value
=
''
):
self
.
value
=
value
self
.
pad
=
[
point
(
0
,
0
,
0
)]
self
.
labels
=
[]
d
=
8.5
/
2
/
25.4
w
=
0.4
/
2
/
25.4
h
=
1.6
/
2
/
25.4
p
=
0.8
/
25.4
l
=
0.004
pad
=
cube
(
-
h
,
h
,
-
w
,
w
,
0
,
0
)
padv
=
cube
(
-
w
,
w
,
-
h
,
h
,
0
,
0
)
#
# pin 1
#
self
.
shape
=
translate
(
pad
,
-
d
,
3.5
*
p
,
0
)
self
.
shape
=
add
(
self
.
shape
,
cylinder
(
-
d
-
h
,
3.5
*
p
,
0
,
0
,
w
))
self
.
pad
.
append
(
point
(
-
d
,
3.5
*
p
,
0
))
self
.
labels
.
append
(
self
.
text
(
self
.
pad
[
-
1
].
x
,
self
.
pad
[
-
1
].
y
,
self
.
pad
[
-
1
].
z
,
'1A0'
,
line
=
l
))
#
# pin 2
#
self
.
shape
=
add
(
self
.
shape
,
translate
(
pad
,
-
d
,
2.5
*
p
,
0
))
self
.
pad
.
append
(
point
(
-
d
,
2.5
*
p
,
0
))
self
.
labels
.
append
(
self
.
text
(
self
.
pad
[
-
1
].
x
,
self
.
pad
[
-
1
].
y
,
self
.
pad
[
-
1
].
z
,
'A01'
,
line
=
l
))
#
# pin 3
#
self
.
shape
=
add
(
self
.
shape
,
translate
(
pad
,
-
d
,
1.5
*
p
,
0
))
self
.
pad
.
append
(
point
(
-
d
,
1.5
*
p
,
0
))
self
.
labels
.
append
(
self
.
text
(
self
.
pad
[
-
1
].
x
,
self
.
pad
[
-
1
].
y
,
self
.
pad
[
-
1
].
z
,
'A02'
,
line
=
l
))
#
# pin 4
#
self
.
shape
=
add
(
self
.
shape
,
translate
(
pad
,
-
d
,.
5
*
p
,
0
))
self
.
pad
.
append
(
point
(
-
d
,.
5
*
p
,
0
))
self
.
labels
.
append
(
self
.
text
(
self
.
pad
[
-
1
].
x
,
self
.
pad
[
-
1
].
y
,
self
.
pad
[
-
1
].
z
,
'A03'
,
line
=
l
))
#
# pin 5
#
self
.
shape
=
add
(
self
.
shape
,
translate
(
pad
,
-
d
,
-
.
5
*
p
,
0
))
self
.
pad
.
append
(
point
(
-
d
,
-
.
5
*
p
,
0
))
self
.
labels
.
append
(
self
.
text
(
self
.
pad
[
-
1
].
x
,
self
.
pad
[
-
1
].
y
,
self
.
pad
[
-
1
].
z
,
'A04'
,
line
=
l
))
#
# pin 6
#
self
.
shape
=
add
(
self
.
shape
,
translate
(
pad
,
-
d
,
-
1.5
*
p
,
0
))
self
.
pad
.
append
(
point
(
-
d
,
-
1.5
*
p
,
0
))
self
.
labels
.
append
(
self
.
text
(
self
.
pad
[
-
1
].
x
,
self
.
pad
[
-
1
].
y
,
self
.
pad
[
-
1
].
z
,
'A05'
,
line
=
l
))
#
# pin 7
#
self
.
shape
=
add
(
self
.
shape
,
translate
(
pad
,
-
d
,
-
2.5
*
p
,
0
))
self
.
pad
.
append
(
point
(
-
d
,
-
2.5
*
p
,
0
))
self
.
labels
.
append
(
self
.
text
(
self
.
pad
[
-
1
].
x
,
self
.
pad
[
-
1
].
y
,
self
.
pad
[
-
1
].
z
,
'A06'
,
line
=
l
))
#
# pin 8
#
self
.
shape
=
add
(
self
.
shape
,
translate
(
pad
,
-
d
,
-
3.5
*
p
,
0
))
self
.
pad
.
append
(
point
(
-
d
,
-
3.5
*
p
,
0
))
self
.
labels
.
append
(
self
.
text
(
self
.
pad
[
-
1
].
x
,
self
.
pad
[
-
1
].
y
,
self
.
pad
[
-
1
].
z
,
'A07'
,
line
=
l
))
#
# pin 9
#
self
.
shape
=
add
(
self
.
shape
,
translate
(
padv
,
-
3.5
*
p
,
-
d
,
0
))
self
.
pad
.
append
(
point
(
-
3.5
*
p
,
-
d
,
0
))
self
.
labels
.
append
(
self
.
text
(
self
.
pad
[
-
1
].
x
,
self
.
pad
[
-
1
].
y
,
self
.
pad
[
-
1
].
z
,
'VAN'
,
line
=
l
,
angle
=-
90
))
#
# pin 10
#
self
.
shape
=
add
(
self
.
shape
,
translate
(
padv
,
-
2.5
*
p
,
-
d
,
0
))
self
.
pad
.
append
(
point
(
-
2.5
*
p
,
-
d
,
0
))
self
.
labels
.
append
(
self
.
text
(
self
.
pad
[
-
1
].
x
,
self
.
pad
[
-
1
].
y
,
self
.
pad
[
-
1
].
z
,
'GND'
,
line
=
l
,
angle
=-
90
))
#
# pin 11
#
self
.
shape
=
add
(
self
.
shape
,
translate
(
padv
,
-
1.5
*
p
,
-
d
,
0
))
self
.
pad
.
append
(
point
(
-
1.5
*
p
,
-
d
,
0
))
self
.
labels
.
append
(
self
.
text
(
self
.
pad
[
-
1
].
x
,
self
.
pad
[
-
1
].
y
,
self
.
pad
[
-
1
].
z
,
'A08'
,
line
=
l
,
angle
=-
90
))
#
# pin 12
#
self
.
shape
=
add
(
self
.
shape
,
translate
(
padv
,
-
.
5
*
p
,
-
d
,
0
))
self
.
pad
.
append
(
point
(
-
.
5
*
p
,
-
d
,
0
))
self
.
labels
.
append
(
self
.
text
(
self
.
pad
[
-
1
].
x
,
self
.
pad
[
-
1
].
y
,
self
.
pad
[
-
1
].
z
,
'A09'
,
line
=
l
,
angle
=-
90
))
#
# pin 13
#
self
.
shape
=
add
(
self
.
shape
,
translate
(
padv
,.
5
*
p
,
-
d
,
0
))
self
.
pad
.
append
(
point
(.
5
*
p
,
-
d
,
0
))
self
.
labels
.
append
(
self
.
text
(
self
.
pad
[
-
1
].
x
,
self
.
pad
[
-
1
].
y
,
self
.
pad
[
-
1
].
z
,
'A10'
,
line
=
l
,
angle
=-
90
))
#
# pin 14
#
self
.
shape
=
add
(
self
.
shape
,
translate
(
padv
,
1.5
*
p
,
-
d
,
0
))
self
.
pad
.
append
(
point
(
1.5
*
p
,
-
d
,
0
))
self
.
labels
.
append
(
self
.
text
(
self
.
pad
[
-
1
].
x
,
self
.
pad
[
-
1
].
y
,
self
.
pad
[
-
1
].
z
,
'A11'
,
line
=
l
,
angle
=-
90
))
#
# pin 15
#
self
.
shape
=
add
(
self
.
shape
,
translate
(
padv
,
2.5
*
p
,
-
d
,
0
))
self
.
pad
.
append
(
point
(
2.5
*
p
,
-
d
,
0
))
self
.
labels
.
append
(
self
.
text
(
self
.
pad
[
-
1
].
x
,
self
.
pad
[
-
1
].
y
,
self
.
pad
[
-
1
].
z
,
'A14'
,
line
=
l
,
angle
=-
90
))
#
# pin 16
#
self
.
shape
=
add
(
self
.
shape
,
translate
(
padv
,
3.5
*
p
,
-
d
,
0
))
self
.
pad
.
append
(
point
(
3.5
*
p
,
-
d
,
0
))
self
.
labels
.
append
(
self
.
text
(
self
.
pad
[
-
1
].
x
,
self
.
pad
[
-
1
].
y
,
self
.
pad
[
-
1
].
z
,
'A15'
,
line
=
l
,
angle
=-
90
))
#
# pin 17
#
self
.
shape
=
add
(
self
.
shape
,
translate
(
pad
,
d
,
-
3.5
*
p
,
0
))
self
.
pad
.
append
(
point
(
d
,
-
3.5
*
p
,
0
))
self
.
labels
.
append
(
self
.
text
(
self
.
pad
[
-
1
].
x
,
self
.
pad
[
-
1
].
y
,
self
.
pad
[
-
1
].
z
,
'A16'
,
line
=
l
))
#
# pin 18
#
self
.
shape
=
add
(
self
.
shape
,
translate
(
pad
,
d
,
-
2.5
*
p
,
0
))
self
.
pad
.
append
(
point
(
d
,
-
2.5
*
p
,
0
))
self
.
labels
.
append
(
self
.
text
(
self
.
pad
[
-
1
].
x
,
self
.
pad
[
-
1
].
y
,
self
.
pad
[
-
1
].
z
,
'A17'
,
line
=
l
))
#
# pin 19
#
self
.
shape
=
add
(
self
.
shape
,
translate
(
pad
,
d
,
-
1.5
*
p
,
0
))
self
.
pad
.
append
(
point
(
d
,
-
1.5
*
p
,
0
))
self
.
labels
.
append
(
self
.
text
(
self
.
pad
[
-
1
].
x
,
self
.
pad
[
-
1
].
y
,
self
.
pad
[
-
1
].
z
,
'A18'
,
line
=
l
))
#
# pin 20
#
self
.
shape
=
add
(
self
.
shape
,
translate
(
pad
,
d
,
-
.
5
*
p
,
0
))
self
.
pad
.
append
(
point
(
d
,
-
.
5
*
p
,
0
))
self
.
labels
.
append
(
self
.
text
(
self
.
pad
[
-
1
].
x
,
self
.
pad
[
-
1
].
y
,
self
.
pad
[
-
1
].
z
,
'A19'
,
line
=
l
))
#
# pin 21
#
self
.
shape
=
add
(
self
.
shape
,
translate
(
pad
,
d
,.
5
*
p
,
0
))
self
.
pad
.
append
(
point
(
d
,.
5
*
p
,
0
))
self
.
labels
.
append
(
self
.
text
(
self
.
pad
[
-
1
].
x
,
self
.
pad
[
-
1
].
y
,
self
.
pad
[
-
1
].
z
,
'A22'
,
line
=
l
))
#
# pin 22
#
self
.
shape
=
add
(
self
.
shape
,
translate
(
pad
,
d
,
1.5
*
p
,
0
))
self
.
pad
.
append
(
point
(
d
,
1.5
*
p
,
0
))
self
.
labels
.
append
(
self
.
text
(
self
.
pad
[
-
1
].
x
,
self
.
pad
[
-
1
].
y
,
self
.
pad
[
-
1
].
z
,
'A23'
,
line
=
l
))
#
# pin 23
#
self
.
shape
=
add
(
self
.
shape
,
translate
(
pad
,
d
,
2.5
*
p
,
0
))
self
.
pad
.
append
(
point
(
d
,
2.5
*
p
,
0
))
self
.
labels
.
append
(
self
.
text
(
self
.
pad
[
-
1
].
x
,
self
.
pad
[
-
1
].
y
,
self
.
pad
[
-
1
].
z
,
'24-'
,
line
=
l
))
#
# pin 24
#
self
.
shape
=
add
(
self
.
shape
,
translate
(
pad
,
d
,
3.5
*
p
,
0
))
self
.
pad
.
append
(
point
(
d
,
3.5
*
p
,
0
))
self
.
labels
.
append
(
self
.
text
(
self
.
pad
[
-
1
].
x
,
self
.
pad
[
-
1
].
y
,
self
.
pad
[
-
1
].
z
,
'25+'
,
line
=
l
))
#
# pin 25
#
self
.
shape
=
add
(
self
.
shape
,
translate
(
padv
,
3.5
*
p
,
d
,
0
))
self
.
pad
.
append
(
point
(
3.5
*
p
,
d
,
0
))
self
.
labels
.
append
(
self
.
text
(
self
.
pad
[
-
1
].
x
,
self
.
pad
[
-
1
].
y
,
self
.
pad
[
-
1
].
z
,
'A27'
,
line
=
l
,
angle
=-
90
))
#
# pin 26
#
self
.
shape
=
add
(
self
.
shape
,
translate
(
padv
,
2.5
*
p
,
d
,
0
))
self
.
pad
.
append
(
point
(
2.5
*
p
,
d
,
0
))
self
.
labels
.
append
(
self
.
text
(
self
.
pad
[
-
1
].
x
,
self
.
pad
[
-
1
].
y
,
self
.
pad
[
-
1
].
z
,
'RST'
,
line
=
l
,
angle
=-
90
))
#
# pin 27
#
self
.
shape
=
add
(
self
.
shape
,
translate
(
padv
,
1.5
*
p
,
d
,
0
))
self
.
pad
.
append
(
point
(
1.5
*
p
,
d
,
0
))
self
.
labels
.
append
(
self
.
text
(
self
.
pad
[
-
1
].
x
,
self
.
pad
[
-
1
].
y
,
self
.
pad
[
-
1
].
z
,
'A28'
,
line
=
l
,
angle
=-
90
))
#
# pin 28
#
self
.
shape
=
add
(
self
.
shape
,
translate
(
padv
,.
5
*
p
,
d
,
0
))
self
.
pad
.
append
(
point
(.
5
*
p
,
d
,
0
))
self
.
labels
.
append
(
self
.
text
(
self
.
pad
[
-
1
].
x
,
self
.
pad
[
-
1
].
y
,
self
.
pad
[
-
1
].
z
,
'GND'
,
line
=
l
,
angle
=-
90
))
#
# pin 29
#
self
.
shape
=
add
(
self
.
shape
,
translate
(
padv
,
-
.
5
*
p
,
d
,
0
))
self
.
pad
.
append
(
point
(
-
.
5
*
p
,
d
,
0
))
self
.
labels
.
append
(
self
.
text
(
self
.
pad
[
-
1
].
x
,
self
.
pad
[
-
1
].
y
,
self
.
pad
[
-
1
].
z
,
'VCR'
,
line
=
l
,
angle
=-
90
))
#
# pin 30
#
self
.
shape
=
add
(
self
.
shape
,
translate
(
padv
,
-
1.5
*
p
,
d
,
0
))
self
.
pad
.
append
(
point
(
-
1.5
*
p
,
d
,
0
))
self
.
labels
.
append
(
self
.
text
(
self
.
pad
[
-
1
].
x
,
self
.
pad
[
-
1
].
y
,
self
.
pad
[
-
1
].
z
,
'VIN'
,
line
=
l
,
angle
=-
90
))
#
# pin 31
#
self
.
shape
=
add
(
self
.
shape
,
translate
(
padv
,
-
2.5
*
p
,
d
,
0
))
self
.
pad
.
append
(
point
(
-
2.5
*
p
,
d
,
0
))
self
.
labels
.
append
(
self
.
text
(
self
.
pad
[
-
1
].
x
,
self
.
pad
[
-
1
].
y
,
self
.
pad
[
-
1
].
z
,
'CLK'
,
line
=
l
,
angle
=-
90
))
#
# pin 32
#
self
.
shape
=
add
(
self
.
shape
,
translate
(
padv
,
-
3.5
*
p
,
d
,
0
))
self
.
pad
.
append
(
point
(
-
3.5
*
p
,
d
,
0
))
self
.
labels
.
append
(
self
.
text
(
self
.
pad
[
-
1
].
x
,
self
.
pad
[
-
1
].
y
,
self
.
pad
[
-
1
].
z
,
'DIO'
,
line
=
l
,
angle
=-
90
))
class
SAMD11D
(
part
):
#
# SOIC
#
def
__init__
(
self
,
value
=
''
):
self
.
value
=
value
self
.
pad
=
[
point
(
0
,
0
,
0
)]
self
.
labels
=
[]
d
=
9.82
/
2
/
25.4
w
=
.
63
/
2
/
25.4
h
=
1.9
/
2
/
25.4
pad
=
cube
(
-
h
,
h
,
-
w
,
w
,
0
,
0
)
#
# pin 1
#
self
.
shape
=
translate
(
pad
,
-
d
,.
225
,
0
)
self
.
shape
=
add
(
self
.
shape
,
cylinder
(
-
d
-
h
,.
225
,
0
,
0
,
w
))
self
.
pad
.
append
(
point
(
-
d
,.
225
,
0
))
self
.
labels
.
append
(
self
.
text
(
self
.
pad
[
-
1
].
x
,
self
.
pad
[
-
1
].
y
,
self
.
pad
[
-
1
].
z
,
'1A05'
))
#
# pin 2
#
self
.
shape
=
add
(
self
.
shape
,
translate
(
pad
,
-
d
,.
175
,
0
))
self
.
pad
.
append
(
point
(
-
d
,.
175
,
0
))
self
.
labels
.
append
(
self
.
text
(
self
.
pad
[
-
1
].
x
,
self
.
pad
[
-
1
].
y
,
self
.
pad
[
-
1
].
z
,
'A06'
))
#
# pin 3
#
self
.
shape
=
add
(
self
.
shape
,
translate
(
pad
,
-
d
,.
125
,
0
))
self
.
pad
.
append
(
point
(
-
d
,.
125
,
0
))
self
.
labels
.
append
(
self
.
text
(
self
.
pad
[
-
1
].
x
,
self
.
pad
[
-
1
].
y
,
self
.
pad
[
-
1
].
z
,
'A07'
))
#
# pin 4
#
self
.
shape
=
add
(
self
.
shape
,
translate
(
pad
,
-
d
,.
075
,
0
))
self
.
pad
.
append
(
point
(
-
d
,.
075
,
0
))
self
.
labels
.
append
(
self
.
text
(
self
.
pad
[
-
1
].
x
,
self
.
pad
[
-
1
].
y
,
self
.
pad
[
-
1
].
z
,
'A08'
))
#
# pin 5
#
self
.
shape
=
add
(
self
.
shape
,
translate
(
pad
,
-
d
,.
025
,
0
))
self
.
pad
.
append
(
point
(
-
d
,.
025
,
0
))
self
.
labels
.
append
(
self
.
text
(
self
.
pad
[
-
1
].
x
,
self
.
pad
[
-
1
].
y
,
self
.
pad
[
-
1
].
z
,
'A09'
))
#
# pin 6
#
self
.
shape
=
add
(
self
.
shape
,
translate
(
pad
,
-
d
,
-
.
025
,
0
))
self
.
pad
.
append
(
point
(
-
d
,
-
.
025
,
0
))
self
.
labels
.
append
(
self
.
text
(
self
.
pad
[
-
1
].
x
,
self
.
pad
[
-
1
].
y
,
self
.
pad
[
-
1
].
z
,
'A14'
))
#
# pin 7
#
self
.
shape
=
add
(
self
.
shape
,
translate
(
pad
,
-
d
,
-
.
075
,
0
))
self
.
pad
.
append
(
point
(
-
d
,
-
.
075
,
0
))
self
.
labels
.
append
(
self
.
text
(
self
.
pad
[
-
1
].
x
,
self
.
pad
[
-
1
].
y
,
self
.
pad
[
-
1
].
z
,
'A15'
))
#
# pin 8
#
self
.
shape
=
add
(
self
.
shape
,
translate
(
pad
,
-
d
,
-
.
125
,
0
))
self
.
pad
.
append
(
point
(
-
d
,
-
.
125
,
0
))
self
.
labels
.
append
(
self
.
text
(
self
.
pad
[
-
1
].
x
,
self
.
pad
[
-
1
].
y
,
self
.
pad
[
-
1
].
z
,
'A16'
))
#
# pin 9
#
self
.
shape
=
add
(
self
.
shape
,
translate
(
pad
,
-
d
,
-
.
175
,
0
))
self
.
pad
.
append
(
point
(
-
d
,
-
.
175
,
0
))
self
.
labels
.
append
(
self
.
text
(
self
.
pad
[
-
1
].
x
,
self
.
pad
[
-
1
].
y
,
self
.
pad
[
-
1
].
z
,
'A22'
))
#
# pin 10
#
self
.
shape
=
add
(
self
.
shape
,
translate
(
pad
,
-
d
,
-
.
225
,
0
))
self
.
pad
.
append
(
point
(
-
d
,
-
.
225
,
0
))
self
.
labels
.
append
(
self
.
text
(
self
.
pad
[
-
1
].
x
,
self
.
pad
[
-
1
].
y
,
self
.
pad
[
-
1
].
z
,
'A23'
))
#
# pin 11
#
self
.
shape
=
add
(
self
.
shape
,
translate
(
pad
,
d
,
-
.
225
,
0
))
self
.
pad
.
append
(
point
(
d
,
-
.
225
,
0
))
self
.
labels
.
append
(
self
.
text
(
self
.
pad
[
-
1
].
x
,
self
.
pad
[
-
1
].
y
,
self
.
pad
[
-
1
].
z
,
'RST'
))
#
# pin 12
#
self
.
shape
=
add
(
self
.
shape
,
translate
(
pad
,
d
,
-
.
175
,
0
))
self
.
pad
.
append
(
point
(
d
,
-
.
175
,
0
))
self
.
labels
.
append
(
self
.
text
(
self
.
pad
[
-
1
].
x
,
self
.
pad
[
-
1
].
y
,
self
.
pad
[
-
1
].
z
,
'CLK'
))
#
# pin 13
#
self
.
shape
=
add
(
self
.
shape
,
translate
(
pad
,
d
,
-
.
125
,
0
))
self
.
pad
.
append
(
point
(
d
,
-
.
125
,
0
))
self
.
labels
.
append
(
self
.
text
(
self
.
pad
[
-
1
].
x
,
self
.
pad
[
-
1
].
y
,
self
.
pad
[
-
1
].
z
,
'DIO'
))
#
# pin 14
#
self
.
shape
=
add
(
self
.
shape
,
translate
(
pad
,
d
,
-
.
075
,
0
))
self
.
pad
.
append
(
point
(
d
,
-
.
075
,
0
))
self
.
labels
.
append
(
self
.
text
(
self
.
pad
[
-
1
].
x
,
self
.
pad
[
-
1
].
y
,
self
.
pad
[
-
1
].
z
,
'24-'
))
#
# pin 15
#
self
.
shape
=
add
(
self
.
shape
,
translate
(
pad
,
d
,
-
.
025
,
0
))
self
.
pad
.
append
(
point
(
d
,
-
.
025
,
0
))
self
.
labels
.
append
(
self
.
text
(
self
.
pad
[
-
1
].
x
,
self
.
pad
[
-
1
].
y
,
self
.
pad
[
-
1
].
z
,
'25+'
))
#
# pin 16
#
self
.
shape
=
add
(
self
.
shape
,
translate
(
pad
,
d
,.
025
,
0
))
self
.
pad
.
append
(
point
(
d
,.
025
,
0
))
self
.
labels
.
append
(
self
.
text
(
self
.
pad
[
-
1
].
x
,
self
.
pad
[
-
1
].
y
,
self
.
pad
[
-
1
].
z
,
'GND'
))
#
# pin 17
#
self
.
shape
=
add
(
self
.
shape
,
translate
(
pad
,
d
,.
075
,
0
))
self
.
pad
.
append
(
point
(
d
,.
075
,
0
))
self
.
labels
.
append
(
self
.
text
(
self
.
pad
[
-
1
].
x
,
self
.
pad
[
-
1
].
y
,
self
.
pad
[
-
1
].
z
,
'VCC'
))
#
# pin 18
#
self
.
shape
=
add
(
self
.
shape
,
translate
(
pad
,
d
,.
125
,
0
))
self
.
pad
.
append
(
point
(
d
,.
125
,
0
))
self
.
labels
.
append
(
self
.
text
(
self
.
pad
[
-
1
].
x
,
self
.
pad
[
-
1
].
y
,
self
.
pad
[
-
1
].
z
,
'A02'
))
#
# pin 19
#
self
.
shape
=
add
(
self
.
shape
,
translate
(
pad
,
d
,.
175
,
0
))
self
.
pad
.
append
(
point
(
d
,.
175
,
0
))
self
.
labels
.
append
(
self
.
text
(
self
.
pad
[
-
1
].
x
,
self
.
pad
[
-
1
].
y
,
self
.
pad
[
-
1
].
z
,
'A03'
))
#
# pin 20
#
self
.
shape
=
add
(
self
.
shape
,
translate
(
pad
,
d
,.
225
,
0
))
self
.
pad
.
append
(
point
(
d
,.
225
,
0
))
self
.
labels
.
append
(
self
.
text
(
self
.
pad
[
-
1
].
x
,
self
.
pad
[
-
1
].
y
,
self
.
pad
[
-
1
].
z
,
'A04'
))
class
ATtiny1614
(
part
):
#
# SOIC
#
def
__init__
(
self
,
value
=
''
):
self
.
value
=
value
self
.
pad
=
[
point
(
0
,
0
,
0
)]
self
.
labels
=
[]
d
=
0.11
w
=
0.015
h
=
.
03
pad
=
cube
(
-
h
,
h
,
-
w
,
w
,
0
,
0
)
#
# pin 1
#
self
.
shape
=
translate
(
pad
,
-
d
,.
15
,
0
)
self
.
shape
=
add
(
self
.
shape
,
cylinder
(
-
d
-
h
,.
15
,
0
,
0
,
w
))
self
.
pad
.
append
(
point
(
-
d
,.
15
,
0
))
self
.
labels
.
append
(
self
.
text
(
self
.
pad
[
-
1
].
x
,
self
.
pad
[
-
1
].
y
,
self
.
pad
[
-
1
].
z
,
'1VCC'
))
#
# pin 2
#
self
.
shape
=
add
(
self
.
shape
,
translate
(
pad
,
-
d
,.
1
,
0
))
self
.
pad
.
append
(
point
(
-
d
,.
1
,
0
))
self
.
labels
.
append
(
self
.
text
(
self
.
pad
[
-
1
].
x
,
self
.
pad
[
-
1
].
y
,
self
.
pad
[
-
1
].
z
,
'PA4'
))
#
# pin 3
#
self
.
shape
=
add
(
self
.
shape
,
translate
(
pad
,
-
d
,.
050
,
0
))
self
.
pad
.
append
(
point
(
-
d
,.
05
,
0
))
self
.
labels
.
append
(
self
.
text
(
self
.
pad
[
-
1
].
x
,
self
.
pad
[
-
1
].
y
,
self
.
pad
[
-
1
].
z
,
'PA5'
))
#
# pin 4
#
self
.
shape
=
add
(
self
.
shape
,
translate
(
pad
,
-
d
,
0
,
0
))
self
.
pad
.
append
(
point
(
-
d
,
0
,
0
))
self
.
labels
.
append
(
self
.
text
(
self
.
pad
[
-
1
].
x
,
self
.
pad
[
-
1
].
y
,
self
.
pad
[
-
1
].
z
,
'PA6'
))
#
# pin 5
#
self
.
shape
=
add
(
self
.
shape
,
translate
(
pad
,
-
d
,
-
.
05
,
0
))
self
.
pad
.
append
(
point
(
-
d
,
-
.
05
,
0
))
self
.
labels
.
append
(
self
.
text
(
self
.
pad
[
-
1
].
x
,
self
.
pad
[
-
1
].
y
,
self
.
pad
[
-
1
].
z
,
'PA7'
))
#
# pin 6
#
self
.
shape
=
add
(
self
.
shape
,
translate
(
pad
,
-
d
,
-
.
1
,
0
))
self
.
pad
.
append
(
point
(
-
d
,
-
.
1
,
0
))
self
.
labels
.
append
(
self
.
text
(
self
.
pad
[
-
1
].
x
,
self
.
pad
[
-
1
].
y
,
self
.
pad
[
-
1
].
z
,
'RB3'
))
#
# pin 7
#
self
.
shape
=
add
(
self
.
shape
,
translate
(
pad
,
-
d
,
-
.
15
,
0
))
self
.
pad
.
append
(
point
(
-
d
,
-
.
15
,
0
))
self
.
labels
.
append
(
self
.
text
(
self
.
pad
[
-
1
].
x
,
self
.
pad
[
-
1
].
y
,
self
.
pad
[
-
1
].
z
,
'TB2'
))
#
# pin 8
#
self
.
shape
=
add
(
self
.
shape
,
translate
(
pad
,
d
,
-
.
15
,
0
))
self
.
pad
.
append
(
point
(
d
,
-
.
15
,
0
))
self
.
labels
.
append
(
self
.
text
(
self
.
pad
[
-
1
].
x
,
self
.
pad
[
-
1
].
y
,
self
.
pad
[
-
1
].
z
,
'PB1'
))
#
# pin 9
#
self
.
shape
=
add
(
self
.
shape
,
translate
(
pad
,
d
,
-
.
1
,
0
))
self
.
pad
.
append
(
point
(
d
,
-
.
1
,
0
))
self
.
labels
.
append
(
self
.
text
(
self
.
pad
[
-
1
].
x
,
self
.
pad
[
-
1
].
y
,
self
.
pad
[
-
1
].
z
,
'PB0'
))
#
# pin 10
#
self
.
shape
=
add
(
self
.
shape
,
translate
(
pad
,
d
,
-
.
05
,
0
))
self
.
pad
.
append
(
point
(
d
,
-
.
05
,
0
))
self
.
labels
.
append
(
self
.
text
(
self
.
pad
[
-
1
].
x
,
self
.
pad
[
-
1
].
y
,
self
.
pad
[
-
1
].
z
,
'UPDI'
))
#
# pin 11
#
self
.
shape
=
add
(
self
.
shape
,
translate
(
pad
,
d
,
0
,
0
))
self
.
pad
.
append
(
point
(
d
,
0
,
0
))
self
.
labels
.
append
(
self
.
text
(
self
.
pad
[
-
1
].
x
,
self
.
pad
[
-
1
].
y
,
self
.
pad
[
-
1
].
z
,
'PA1'
))
#
# pin 12
#
self
.
shape
=
add
(
self
.
shape
,
translate
(
pad
,
d
,.
050
,
0
))
self
.
pad
.
append
(
point
(
d
,.
05
,
0
))
self
.
labels
.
append
(
self
.
text
(
self
.
pad
[
-
1
].
x
,
self
.
pad
[
-
1
].
y
,
self
.
pad
[
-
1
].
z
,
'PA2'
))
#
# pin 13
#
self
.
shape
=
add
(
self
.
shape
,
translate
(
pad
,
d
,.
1
,
0
))
self
.
pad
.
append
(
point
(
d
,.
1
,
0
))
self
.
labels
.
append
(
self
.
text
(
self
.
pad
[
-
1
].
x
,
self
.
pad
[
-
1
].
y
,
self
.
pad
[
-
1
].
z
,
'PA3'
))
#
# pin 14
self
.
shape
=
add
(
self
.
shape
,
translate
(
pad
,
d
,.
15
,
0
))
self
.
pad
.
append
(
point
(
d
,.
15
,
0
))
self
.
labels
.
append
(
self
.
text
(
self
.
pad
[
-
1
].
x
,
self
.
pad
[
-
1
].
y
,
self
.
pad
[
-
1
].
z
,
'GND'
))
class
FT230XS
(
part
):
def
__init__
(
self
,
value
=
''
):
self
.
value
=
value
...
...
@@ -4580,7 +5020,7 @@ class FT230XS(part):
self
.
shape
=
translate
(
pad
,
-
d
,
3.5
*
p
,
0
)
self
.
shape
=
add
(
self
.
shape
,
cylinder
(
-
d
-
h
,
3.5
*
p
,
0
,
0
,
w
))
self
.
pad
.
append
(
point
(
-
d
,
3.5
*
p
,
0
))
self
.
labels
.
append
(
self
.
text
(
self
.
pad
[
-
1
].
x
,
self
.
pad
[
-
1
].
y
,
self
.
pad
[
-
1
].
z
,
'TXD'
,
line
=
l
))
self
.
labels
.
append
(
self
.
text
(
self
.
pad
[
-
1
].
x
,
self
.
pad
[
-
1
].
y
,
self
.
pad
[
-
1
].
z
,
'
1
TXD'
,
line
=
l
))
#
# pin 2
#
...
...
@@ -4672,6 +5112,9 @@ class FT230XS(part):
class
ATtiny412
(
part
):
#
# SOIC150
#
def
__init__
(
self
,
value
=
''
):
self
.
value
=
value
self
.
pad
=
[
point
(
0
,
0
,
0
)]
...
...
@@ -4730,7 +5173,10 @@ class ATtiny412(part):
self
.
pad
.
append
(
point
(
d
,.
075
,
0
))
self
.
labels
.
append
(
self
.
text
(
self
.
pad
[
-
1
].
x
,
self
.
pad
[
-
1
].
y
,
self
.
pad
[
-
1
].
z
,
'GND'
))
class
SAMD11C_SOIC
(
part
):
class
SAMD11C
(
part
):
#
# SOIC
#
def
__init__
(
self
,
value
=
''
):
self
.
value
=
value
self
.
pad
=
[
point
(
0
,
0
,
0
)]
...
...
@@ -4745,7 +5191,7 @@ class SAMD11C_SOIC(part):
self
.
shape
=
translate
(
pad
,
-
d
,.
15
,
0
)
self
.
shape
=
add
(
self
.
shape
,
cylinder
(
-
d
-
h
,.
15
,
0
,
0
,
w
))
self
.
pad
.
append
(
point
(
-
d
,.
15
,
0
))
self
.
labels
.
append
(
self
.
text
(
self
.
pad
[
-
1
].
x
,
self
.
pad
[
-
1
].
y
,
self
.
pad
[
-
1
].
z
,
'A05'
))
self
.
labels
.
append
(
self
.
text
(
self
.
pad
[
-
1
].
x
,
self
.
pad
[
-
1
].
y
,
self
.
pad
[
-
1
].
z
,
'
1
A05'
))
#
# pin 2: PA08
#
...
...
@@ -4820,6 +5266,7 @@ class SAMD11C_SOIC(part):
self
.
labels
.
append
(
self
.
text
(
self
.
pad
[
-
1
].
x
,
self
.
pad
[
-
1
].
y
,
self
.
pad
[
-
1
].
z
,
'A02'
))
#
# pin 14: PA04
#
self
.
shape
=
add
(
self
.
shape
,
translate
(
pad
,
d
,.
15
,
0
))
self
.
pad
.
append
(
point
(
d
,.
15
,
0
))
self
.
labels
.
append
(
self
.
text
(
self
.
pad
[
-
1
].
x
,
self
.
pad
[
-
1
].
y
,
self
.
pad
[
-
1
].
z
,
'A04'
))
...
...
Write
Preview
Supports
Markdown
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment