initial commit

This commit is contained in:
Agustín Gimenez 2022-07-03 16:07:25 +02:00
commit 481d0493c6
964 changed files with 829002 additions and 0 deletions

View File

@ -0,0 +1,112 @@
(kicad_symbol_lib (version 20211014) (generator kicad_symbol_editor)
(symbol "TXU0104PWR" (pin_names (offset 0.254)) (in_bom yes) (on_board yes)
(property "Reference" "U" (id 0) (at 20.32 10.16 0)
(effects (font (size 1.524 1.524)))
)
(property "Value" "TXU0104PWR" (id 1) (at 20.32 7.62 0)
(effects (font (size 1.524 1.524)))
)
(property "Footprint" "TSSOP_0104PWR_TEX" (id 2) (at 20.32 6.096 0)
(effects (font (size 1.524 1.524)) hide)
)
(property "Datasheet" "" (id 3) (at 0 0 0)
(effects (font (size 1.524 1.524)))
)
(property "ki_locked" "" (id 4) (at 0 0 0)
(effects (font (size 1.27 1.27)))
)
(property "ki_fp_filters" "TSSOP_0104PWR_TEX TSSOP_0104PWR_TEX-M TSSOP_0104PWR_TEX-L" (id 5) (at 0 0 0)
(effects (font (size 1.27 1.27)) hide)
)
(symbol "TXU0104PWR_1_1"
(polyline
(pts
(xy 7.62 -20.32)
(xy 33.02 -20.32)
)
(stroke (width 0.127) (type default) (color 0 0 0 0))
(fill (type none))
)
(polyline
(pts
(xy 7.62 5.08)
(xy 7.62 -20.32)
)
(stroke (width 0.127) (type default) (color 0 0 0 0))
(fill (type none))
)
(polyline
(pts
(xy 33.02 -20.32)
(xy 33.02 5.08)
)
(stroke (width 0.127) (type default) (color 0 0 0 0))
(fill (type none))
)
(polyline
(pts
(xy 33.02 5.08)
(xy 7.62 5.08)
)
(stroke (width 0.127) (type default) (color 0 0 0 0))
(fill (type none))
)
(pin power_in line (at 0 0 0) (length 7.62)
(name "VCCA" (effects (font (size 1.4986 1.4986))))
(number "1" (effects (font (size 1.4986 1.4986))))
)
(pin bidirectional line (at 40.64 -10.16 180) (length 7.62)
(name "B4Y" (effects (font (size 1.4986 1.4986))))
(number "10" (effects (font (size 1.4986 1.4986))))
)
(pin bidirectional line (at 40.64 -7.62 180) (length 7.62)
(name "B3Y" (effects (font (size 1.4986 1.4986))))
(number "11" (effects (font (size 1.4986 1.4986))))
)
(pin bidirectional line (at 40.64 -5.08 180) (length 7.62)
(name "B2Y" (effects (font (size 1.4986 1.4986))))
(number "12" (effects (font (size 1.4986 1.4986))))
)
(pin bidirectional line (at 40.64 -2.54 180) (length 7.62)
(name "B1Y" (effects (font (size 1.4986 1.4986))))
(number "13" (effects (font (size 1.4986 1.4986))))
)
(pin power_in line (at 40.64 0 180) (length 7.62)
(name "VCCB" (effects (font (size 1.4986 1.4986))))
(number "14" (effects (font (size 1.4986 1.4986))))
)
(pin bidirectional line (at 0 -2.54 0) (length 7.62)
(name "A1" (effects (font (size 1.4986 1.4986))))
(number "2" (effects (font (size 1.4986 1.4986))))
)
(pin bidirectional line (at 0 -5.08 0) (length 7.62)
(name "A2" (effects (font (size 1.4986 1.4986))))
(number "3" (effects (font (size 1.4986 1.4986))))
)
(pin bidirectional line (at 0 -7.62 0) (length 7.62)
(name "A3" (effects (font (size 1.4986 1.4986))))
(number "4" (effects (font (size 1.4986 1.4986))))
)
(pin bidirectional line (at 0 -10.16 0) (length 7.62)
(name "A4" (effects (font (size 1.4986 1.4986))))
(number "5" (effects (font (size 1.4986 1.4986))))
)
(pin no_connect line (at 0 -12.7 0) (length 7.62)
(name "NC" (effects (font (size 1.4986 1.4986))))
(number "6" (effects (font (size 1.4986 1.4986))))
)
(pin power_in line (at 0 -15.24 0) (length 7.62)
(name "GND" (effects (font (size 1.4986 1.4986))))
(number "7" (effects (font (size 1.4986 1.4986))))
)
(pin unspecified line (at 40.64 -15.24 180) (length 7.62)
(name "OE" (effects (font (size 1.4986 1.4986))))
(number "8" (effects (font (size 1.4986 1.4986))))
)
(pin no_connect line (at 40.64 -12.7 180) (length 7.62)
(name "NC" (effects (font (size 1.4986 1.4986))))
(number "9" (effects (font (size 1.4986 1.4986))))
)
)
)
)

View File

@ -0,0 +1,38 @@
EESchema-LIBRARY Version 2.3 Date: 21-02-2013 11:13:20
#encoding utf-8
#
# TXU0104PWR
#
DEF TXU0104PWR U 0 10 Y Y 1 L N
F0 "U" 800 400 60 H V C CNN
F1 "TXU0104PWR" 800 300 60 H V C CNN
F2 "TSSOP_0104PWR_TEX" 800 240 60 H I C CNN
F3 "~" 0 0 60 H V C CNN
$FPLIST
TSSOP_0104PWR_TEX
TSSOP_0104PWR_TEX-M
TSSOP_0104PWR_TEX-L
$ENDFPLIST
DRAW
X VCCA 1 0 0 300 R 59 59 1 1 W
X A1 2 0 -100 300 R 59 59 1 1 B
X A2 3 0 -200 300 R 59 59 1 1 B
X A3 4 0 -300 300 R 59 59 1 1 B
X A4 5 0 -400 300 R 59 59 1 1 B
X NC 6 0 -500 300 R 59 59 1 1 N
X GND 7 0 -600 300 R 59 59 1 1 W
X OE 8 1600 -600 300 L 59 59 1 1 U
X NC 9 1600 -500 300 L 59 59 1 1 N
X B4Y 10 1600 -400 300 L 59 59 1 1 B
X B3Y 11 1600 -300 300 L 59 59 1 1 B
X B2Y 12 1600 -200 300 L 59 59 1 1 B
X B1Y 13 1600 -100 300 L 59 59 1 1 B
X VCCB 14 1600 0 300 L 59 59 1 1 W
P 2 1 1 5 300 200 300 -800 N
P 2 1 1 5 300 -800 1300 -800 N
P 2 1 1 5 1300 -800 1300 200 N
P 2 1 1 5 1300 200 300 200 N
ENDDRAW
ENDDEF
#
#End Library

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,166 @@
G04 #@! TF.GenerationSoftware,KiCad,Pcbnew,(6.0.4)*
G04 #@! TF.CreationDate,2022-06-28T09:07:53+02:00*
G04 #@! TF.ProjectId,LevelShifter,4c657665-6c53-4686-9966-7465722e6b69,rev?*
G04 #@! TF.SameCoordinates,Original*
G04 #@! TF.FileFunction,Soldermask,Bot*
G04 #@! TF.FilePolarity,Negative*
%FSLAX46Y46*%
G04 Gerber Fmt 4.6, Leading zero omitted, Abs format (unit mm)*
G04 Created by KiCad (PCBNEW (6.0.4)) date 2022-06-28 09:07:53*
%MOMM*%
%LPD*%
G01*
G04 APERTURE LIST*
G04 Aperture macros list*
%AMRoundRect*
0 Rectangle with rounded corners*
0 $1 Rounding radius*
0 $2 $3 $4 $5 $6 $7 $8 $9 X,Y pos of 4 corners*
0 Add a 4 corners polygon primitive as box body*
4,1,4,$2,$3,$4,$5,$6,$7,$8,$9,$2,$3,0*
0 Add four circle primitives for the rounded corners*
1,1,$1+$1,$2,$3*
1,1,$1+$1,$4,$5*
1,1,$1+$1,$6,$7*
1,1,$1+$1,$8,$9*
0 Add four rect primitives between the rounded corners*
20,1,$1+$1,$2,$3,$4,$5,0*
20,1,$1+$1,$4,$5,$6,$7,0*
20,1,$1+$1,$6,$7,$8,$9,0*
20,1,$1+$1,$8,$9,$2,$3,0*%
G04 Aperture macros list end*
%ADD10R,1.700000X1.700000*%
%ADD11O,1.700000X1.700000*%
%ADD12RoundRect,0.225000X-0.250000X0.225000X-0.250000X-0.225000X0.250000X-0.225000X0.250000X0.225000X0*%
%ADD13RoundRect,0.225000X0.250000X-0.225000X0.250000X0.225000X-0.250000X0.225000X-0.250000X-0.225000X0*%
%ADD14R,1.404099X0.354800*%
%ADD15RoundRect,0.225000X0.225000X0.250000X-0.225000X0.250000X-0.225000X-0.250000X0.225000X-0.250000X0*%
%ADD16RoundRect,0.225000X-0.225000X-0.250000X0.225000X-0.250000X0.225000X0.250000X-0.225000X0.250000X0*%
G04 APERTURE END LIST*
D10*
X170000000Y-80000000D03*
D11*
X172540000Y-80000000D03*
X170000000Y-82540000D03*
X172540000Y-82540000D03*
X170000000Y-85080000D03*
X172540000Y-85080000D03*
X170000000Y-87620000D03*
X172540000Y-87620000D03*
X170000000Y-90160000D03*
X172540000Y-90160000D03*
X170000000Y-92700000D03*
X172540000Y-92700000D03*
X170000000Y-95240000D03*
X172540000Y-95240000D03*
X170000000Y-97780000D03*
X172540000Y-97780000D03*
X170000000Y-100320000D03*
X172540000Y-100320000D03*
X170000000Y-102860000D03*
X172540000Y-102860000D03*
X170000000Y-105400000D03*
X172540000Y-105400000D03*
X170000000Y-107940000D03*
X172540000Y-107940000D03*
X170000000Y-110480000D03*
X172540000Y-110480000D03*
X170000000Y-113020000D03*
X172540000Y-113020000D03*
X170000000Y-115560000D03*
X172540000Y-115560000D03*
D10*
X150000000Y-80000000D03*
D11*
X147460000Y-80000000D03*
X150000000Y-82540000D03*
X147460000Y-82540000D03*
X150000000Y-85080000D03*
X147460000Y-85080000D03*
X150000000Y-87620000D03*
X147460000Y-87620000D03*
X150000000Y-90160000D03*
X147460000Y-90160000D03*
X150000000Y-92700000D03*
X147460000Y-92700000D03*
X150000000Y-95240000D03*
X147460000Y-95240000D03*
X150000000Y-97780000D03*
X147460000Y-97780000D03*
X150000000Y-100320000D03*
X147460000Y-100320000D03*
X150000000Y-102860000D03*
X147460000Y-102860000D03*
X150000000Y-105400000D03*
X147460000Y-105400000D03*
X150000000Y-107940000D03*
X147460000Y-107940000D03*
X150000000Y-110480000D03*
X147460000Y-110480000D03*
X150000000Y-113020000D03*
X147460000Y-113020000D03*
X150000000Y-115560000D03*
X147460000Y-115560000D03*
D12*
X155900000Y-108025000D03*
X155900000Y-109575000D03*
D13*
X160300000Y-109475000D03*
X160300000Y-107925000D03*
D14*
X162949948Y-91550042D03*
X162949948Y-92200028D03*
X162949948Y-92850014D03*
X162949948Y-93500000D03*
X162949948Y-94149986D03*
X162949948Y-94799972D03*
X162949948Y-95449958D03*
X157050052Y-95449958D03*
X157050052Y-94799972D03*
X157050052Y-94149986D03*
X157050052Y-93500000D03*
X157050052Y-92850014D03*
X157050052Y-92200028D03*
X157050052Y-91550042D03*
D15*
X160875000Y-87900000D03*
X159325000Y-87900000D03*
D14*
X162949948Y-102050042D03*
X162949948Y-102700028D03*
X162949948Y-103350014D03*
X162949948Y-104000000D03*
X162949948Y-104649986D03*
X162949948Y-105299972D03*
X162949948Y-105949958D03*
X157050052Y-105949958D03*
X157050052Y-105299972D03*
X157050052Y-104649986D03*
X157050052Y-104000000D03*
X157050052Y-103350014D03*
X157050052Y-102700028D03*
X157050052Y-102050042D03*
D15*
X160675000Y-98000000D03*
X159125000Y-98000000D03*
D14*
X162949948Y-81550042D03*
X162949948Y-82200028D03*
X162949948Y-82850014D03*
X162949948Y-83500000D03*
X162949948Y-84149986D03*
X162949948Y-84799972D03*
X162949948Y-85449958D03*
X157050052Y-85449958D03*
X157050052Y-84799972D03*
X157050052Y-84149986D03*
X157050052Y-83500000D03*
X157050052Y-82850014D03*
X157050052Y-82200028D03*
X157050052Y-81550042D03*
D16*
X158125000Y-99800000D03*
X159675000Y-99800000D03*
X158325000Y-89500000D03*
X159875000Y-89500000D03*
M02*

View File

@ -0,0 +1,100 @@
G04 #@! TF.GenerationSoftware,KiCad,Pcbnew,(6.0.4)*
G04 #@! TF.CreationDate,2022-06-28T09:07:53+02:00*
G04 #@! TF.ProjectId,LevelShifter,4c657665-6c53-4686-9966-7465722e6b69,rev?*
G04 #@! TF.SameCoordinates,Original*
G04 #@! TF.FileFunction,Paste,Bot*
G04 #@! TF.FilePolarity,Positive*
%FSLAX46Y46*%
G04 Gerber Fmt 4.6, Leading zero omitted, Abs format (unit mm)*
G04 Created by KiCad (PCBNEW (6.0.4)) date 2022-06-28 09:07:53*
%MOMM*%
%LPD*%
G01*
G04 APERTURE LIST*
G04 Aperture macros list*
%AMRoundRect*
0 Rectangle with rounded corners*
0 $1 Rounding radius*
0 $2 $3 $4 $5 $6 $7 $8 $9 X,Y pos of 4 corners*
0 Add a 4 corners polygon primitive as box body*
4,1,4,$2,$3,$4,$5,$6,$7,$8,$9,$2,$3,0*
0 Add four circle primitives for the rounded corners*
1,1,$1+$1,$2,$3*
1,1,$1+$1,$4,$5*
1,1,$1+$1,$6,$7*
1,1,$1+$1,$8,$9*
0 Add four rect primitives between the rounded corners*
20,1,$1+$1,$2,$3,$4,$5,0*
20,1,$1+$1,$4,$5,$6,$7,0*
20,1,$1+$1,$6,$7,$8,$9,0*
20,1,$1+$1,$8,$9,$2,$3,0*%
G04 Aperture macros list end*
%ADD10RoundRect,0.225000X-0.250000X0.225000X-0.250000X-0.225000X0.250000X-0.225000X0.250000X0.225000X0*%
%ADD11RoundRect,0.225000X0.250000X-0.225000X0.250000X0.225000X-0.250000X0.225000X-0.250000X-0.225000X0*%
%ADD12R,1.404099X0.354800*%
%ADD13RoundRect,0.225000X0.225000X0.250000X-0.225000X0.250000X-0.225000X-0.250000X0.225000X-0.250000X0*%
%ADD14RoundRect,0.225000X-0.225000X-0.250000X0.225000X-0.250000X0.225000X0.250000X-0.225000X0.250000X0*%
G04 APERTURE END LIST*
D10*
X155900000Y-108025000D03*
X155900000Y-109575000D03*
D11*
X160300000Y-109475000D03*
X160300000Y-107925000D03*
D12*
X162949948Y-91550042D03*
X162949948Y-92200028D03*
X162949948Y-92850014D03*
X162949948Y-93500000D03*
X162949948Y-94149986D03*
X162949948Y-94799972D03*
X162949948Y-95449958D03*
X157050052Y-95449958D03*
X157050052Y-94799972D03*
X157050052Y-94149986D03*
X157050052Y-93500000D03*
X157050052Y-92850014D03*
X157050052Y-92200028D03*
X157050052Y-91550042D03*
D13*
X160875000Y-87900000D03*
X159325000Y-87900000D03*
D12*
X162949948Y-102050042D03*
X162949948Y-102700028D03*
X162949948Y-103350014D03*
X162949948Y-104000000D03*
X162949948Y-104649986D03*
X162949948Y-105299972D03*
X162949948Y-105949958D03*
X157050052Y-105949958D03*
X157050052Y-105299972D03*
X157050052Y-104649986D03*
X157050052Y-104000000D03*
X157050052Y-103350014D03*
X157050052Y-102700028D03*
X157050052Y-102050042D03*
D13*
X160675000Y-98000000D03*
X159125000Y-98000000D03*
D12*
X162949948Y-81550042D03*
X162949948Y-82200028D03*
X162949948Y-82850014D03*
X162949948Y-83500000D03*
X162949948Y-84149986D03*
X162949948Y-84799972D03*
X162949948Y-85449958D03*
X157050052Y-85449958D03*
X157050052Y-84799972D03*
X157050052Y-84149986D03*
X157050052Y-83500000D03*
X157050052Y-82850014D03*
X157050052Y-82200028D03*
X157050052Y-81550042D03*
D14*
X158125000Y-99800000D03*
X159675000Y-99800000D03*
X158325000Y-89500000D03*
X159875000Y-89500000D03*
M02*

View File

@ -0,0 +1,611 @@
G04 #@! TF.GenerationSoftware,KiCad,Pcbnew,(6.0.4)*
G04 #@! TF.CreationDate,2022-06-28T09:07:53+02:00*
G04 #@! TF.ProjectId,LevelShifter,4c657665-6c53-4686-9966-7465722e6b69,rev?*
G04 #@! TF.SameCoordinates,Original*
G04 #@! TF.FileFunction,Legend,Bot*
G04 #@! TF.FilePolarity,Positive*
%FSLAX46Y46*%
G04 Gerber Fmt 4.6, Leading zero omitted, Abs format (unit mm)*
G04 Created by KiCad (PCBNEW (6.0.4)) date 2022-06-28 09:07:53*
%MOMM*%
%LPD*%
G01*
G04 APERTURE LIST*
G04 Aperture macros list*
%AMRoundRect*
0 Rectangle with rounded corners*
0 $1 Rounding radius*
0 $2 $3 $4 $5 $6 $7 $8 $9 X,Y pos of 4 corners*
0 Add a 4 corners polygon primitive as box body*
4,1,4,$2,$3,$4,$5,$6,$7,$8,$9,$2,$3,0*
0 Add four circle primitives for the rounded corners*
1,1,$1+$1,$2,$3*
1,1,$1+$1,$4,$5*
1,1,$1+$1,$6,$7*
1,1,$1+$1,$8,$9*
0 Add four rect primitives between the rounded corners*
20,1,$1+$1,$2,$3,$4,$5,0*
20,1,$1+$1,$4,$5,$6,$7,0*
20,1,$1+$1,$6,$7,$8,$9,0*
20,1,$1+$1,$8,$9,$2,$3,0*%
G04 Aperture macros list end*
%ADD10C,0.150000*%
%ADD11C,0.120000*%
%ADD12C,0.100000*%
%ADD13R,1.700000X1.700000*%
%ADD14O,1.700000X1.700000*%
%ADD15RoundRect,0.225000X-0.250000X0.225000X-0.250000X-0.225000X0.250000X-0.225000X0.250000X0.225000X0*%
%ADD16RoundRect,0.225000X0.250000X-0.225000X0.250000X0.225000X-0.250000X0.225000X-0.250000X-0.225000X0*%
%ADD17R,1.404099X0.354800*%
%ADD18RoundRect,0.225000X0.225000X0.250000X-0.225000X0.250000X-0.225000X-0.250000X0.225000X-0.250000X0*%
%ADD19RoundRect,0.225000X-0.225000X-0.250000X0.225000X-0.250000X0.225000X0.250000X-0.225000X0.250000X0*%
G04 APERTURE END LIST*
D10*
X156357142Y-111133333D02*
X156404761Y-111085714D01*
X156452380Y-110942857D01*
X156452380Y-110847619D01*
X156404761Y-110704761D01*
X156309523Y-110609523D01*
X156214285Y-110561904D01*
X156023809Y-110514285D01*
X155880952Y-110514285D01*
X155690476Y-110561904D01*
X155595238Y-110609523D01*
X155500000Y-110704761D01*
X155452380Y-110847619D01*
X155452380Y-110942857D01*
X155500000Y-111085714D01*
X155547619Y-111133333D01*
X155452380Y-111466666D02*
X155452380Y-112133333D01*
X156452380Y-111704761D01*
X160857142Y-111033333D02*
X160904761Y-110985714D01*
X160952380Y-110842857D01*
X160952380Y-110747619D01*
X160904761Y-110604761D01*
X160809523Y-110509523D01*
X160714285Y-110461904D01*
X160523809Y-110414285D01*
X160380952Y-110414285D01*
X160190476Y-110461904D01*
X160095238Y-110509523D01*
X160000000Y-110604761D01*
X159952380Y-110747619D01*
X159952380Y-110842857D01*
X160000000Y-110985714D01*
X160047619Y-111033333D01*
X160380952Y-111604761D02*
X160333333Y-111509523D01*
X160285714Y-111461904D01*
X160190476Y-111414285D01*
X160142857Y-111414285D01*
X160047619Y-111461904D01*
X160000000Y-111509523D01*
X159952380Y-111604761D01*
X159952380Y-111795238D01*
X160000000Y-111890476D01*
X160047619Y-111938095D01*
X160142857Y-111985714D01*
X160190476Y-111985714D01*
X160285714Y-111938095D01*
X160333333Y-111890476D01*
X160380952Y-111795238D01*
X160380952Y-111604761D01*
X160428571Y-111509523D01*
X160476190Y-111461904D01*
X160571428Y-111414285D01*
X160761904Y-111414285D01*
X160857142Y-111461904D01*
X160904761Y-111509523D01*
X160952380Y-111604761D01*
X160952380Y-111795238D01*
X160904761Y-111890476D01*
X160857142Y-111938095D01*
X160761904Y-111985714D01*
X160571428Y-111985714D01*
X160476190Y-111938095D01*
X160428571Y-111890476D01*
X160380952Y-111795238D01*
X154961904Y-92952380D02*
X154961904Y-93761904D01*
X154914285Y-93857142D01*
X154866666Y-93904761D01*
X154771428Y-93952380D01*
X154580952Y-93952380D01*
X154485714Y-93904761D01*
X154438095Y-93857142D01*
X154390476Y-93761904D01*
X154390476Y-92952380D01*
X153485714Y-92952380D02*
X153676190Y-92952380D01*
X153771428Y-93000000D01*
X153819047Y-93047619D01*
X153914285Y-93190476D01*
X153961904Y-93380952D01*
X153961904Y-93761904D01*
X153914285Y-93857142D01*
X153866666Y-93904761D01*
X153771428Y-93952380D01*
X153580952Y-93952380D01*
X153485714Y-93904761D01*
X153438095Y-93857142D01*
X153390476Y-93761904D01*
X153390476Y-93523809D01*
X153438095Y-93428571D01*
X153485714Y-93380952D01*
X153580952Y-93333333D01*
X153771428Y-93333333D01*
X153866666Y-93380952D01*
X153914285Y-93428571D01*
X153961904Y-93523809D01*
X163203950Y-89504622D02*
X163203950Y-89742718D01*
X163442045Y-89647480D02*
X163203950Y-89742718D01*
X162965854Y-89647480D01*
X163346807Y-89933194D02*
X163203950Y-89742718D01*
X163061092Y-89933194D01*
X163203950Y-89504622D02*
X163203950Y-89742718D01*
X163442045Y-89647480D02*
X163203950Y-89742718D01*
X162965854Y-89647480D01*
X163346807Y-89933194D02*
X163203950Y-89742718D01*
X163061092Y-89933194D01*
X163842857Y-88257142D02*
X163890476Y-88304761D01*
X164033333Y-88352380D01*
X164128571Y-88352380D01*
X164271428Y-88304761D01*
X164366666Y-88209523D01*
X164414285Y-88114285D01*
X164461904Y-87923809D01*
X164461904Y-87780952D01*
X164414285Y-87590476D01*
X164366666Y-87495238D01*
X164271428Y-87400000D01*
X164128571Y-87352380D01*
X164033333Y-87352380D01*
X163890476Y-87400000D01*
X163842857Y-87447619D01*
X162890476Y-88352380D02*
X163461904Y-88352380D01*
X163176190Y-88352380D02*
X163176190Y-87352380D01*
X163271428Y-87495238D01*
X163366666Y-87590476D01*
X163461904Y-87638095D01*
X162509523Y-87447619D02*
X162461904Y-87400000D01*
X162366666Y-87352380D01*
X162128571Y-87352380D01*
X162033333Y-87400000D01*
X161985714Y-87447619D01*
X161938095Y-87542857D01*
X161938095Y-87638095D01*
X161985714Y-87780952D01*
X162557142Y-88352380D01*
X161938095Y-88352380D01*
X154961904Y-103452380D02*
X154961904Y-104261904D01*
X154914285Y-104357142D01*
X154866666Y-104404761D01*
X154771428Y-104452380D01*
X154580952Y-104452380D01*
X154485714Y-104404761D01*
X154438095Y-104357142D01*
X154390476Y-104261904D01*
X154390476Y-103452380D01*
X153438095Y-103452380D02*
X153914285Y-103452380D01*
X153961904Y-103928571D01*
X153914285Y-103880952D01*
X153819047Y-103833333D01*
X153580952Y-103833333D01*
X153485714Y-103880952D01*
X153438095Y-103928571D01*
X153390476Y-104023809D01*
X153390476Y-104261904D01*
X153438095Y-104357142D01*
X153485714Y-104404761D01*
X153580952Y-104452380D01*
X153819047Y-104452380D01*
X153914285Y-104404761D01*
X153961904Y-104357142D01*
X163203950Y-100004622D02*
X163203950Y-100242718D01*
X163442045Y-100147480D02*
X163203950Y-100242718D01*
X162965854Y-100147480D01*
X163346807Y-100433194D02*
X163203950Y-100242718D01*
X163061092Y-100433194D01*
X163203950Y-100004622D02*
X163203950Y-100242718D01*
X163442045Y-100147480D02*
X163203950Y-100242718D01*
X162965854Y-100147480D01*
X163346807Y-100433194D02*
X163203950Y-100242718D01*
X163061092Y-100433194D01*
X163842857Y-98357142D02*
X163890476Y-98404761D01*
X164033333Y-98452380D01*
X164128571Y-98452380D01*
X164271428Y-98404761D01*
X164366666Y-98309523D01*
X164414285Y-98214285D01*
X164461904Y-98023809D01*
X164461904Y-97880952D01*
X164414285Y-97690476D01*
X164366666Y-97595238D01*
X164271428Y-97500000D01*
X164128571Y-97452380D01*
X164033333Y-97452380D01*
X163890476Y-97500000D01*
X163842857Y-97547619D01*
X162890476Y-98452380D02*
X163461904Y-98452380D01*
X163176190Y-98452380D02*
X163176190Y-97452380D01*
X163271428Y-97595238D01*
X163366666Y-97690476D01*
X163461904Y-97738095D01*
X162271428Y-97452380D02*
X162176190Y-97452380D01*
X162080952Y-97500000D01*
X162033333Y-97547619D01*
X161985714Y-97642857D01*
X161938095Y-97833333D01*
X161938095Y-98071428D01*
X161985714Y-98261904D01*
X162033333Y-98357142D01*
X162080952Y-98404761D01*
X162176190Y-98452380D01*
X162271428Y-98452380D01*
X162366666Y-98404761D01*
X162414285Y-98357142D01*
X162461904Y-98261904D01*
X162509523Y-98071428D01*
X162509523Y-97833333D01*
X162461904Y-97642857D01*
X162414285Y-97547619D01*
X162366666Y-97500000D01*
X162271428Y-97452380D01*
X154861904Y-82952380D02*
X154861904Y-83761904D01*
X154814285Y-83857142D01*
X154766666Y-83904761D01*
X154671428Y-83952380D01*
X154480952Y-83952380D01*
X154385714Y-83904761D01*
X154338095Y-83857142D01*
X154290476Y-83761904D01*
X154290476Y-82952380D01*
X153385714Y-83285714D02*
X153385714Y-83952380D01*
X153623809Y-82904761D02*
X153861904Y-83619047D01*
X153242857Y-83619047D01*
X163203950Y-79504622D02*
X163203950Y-79742718D01*
X163442045Y-79647480D02*
X163203950Y-79742718D01*
X162965854Y-79647480D01*
X163346807Y-79933194D02*
X163203950Y-79742718D01*
X163061092Y-79933194D01*
X163203950Y-79504622D02*
X163203950Y-79742718D01*
X163442045Y-79647480D02*
X163203950Y-79742718D01*
X162965854Y-79647480D01*
X163346807Y-79933194D02*
X163203950Y-79742718D01*
X163061092Y-79933194D01*
X156466666Y-100357142D02*
X156514285Y-100404761D01*
X156657142Y-100452380D01*
X156752380Y-100452380D01*
X156895238Y-100404761D01*
X156990476Y-100309523D01*
X157038095Y-100214285D01*
X157085714Y-100023809D01*
X157085714Y-99880952D01*
X157038095Y-99690476D01*
X156990476Y-99595238D01*
X156895238Y-99500000D01*
X156752380Y-99452380D01*
X156657142Y-99452380D01*
X156514285Y-99500000D01*
X156466666Y-99547619D01*
X155990476Y-100452380D02*
X155800000Y-100452380D01*
X155704761Y-100404761D01*
X155657142Y-100357142D01*
X155561904Y-100214285D01*
X155514285Y-100023809D01*
X155514285Y-99642857D01*
X155561904Y-99547619D01*
X155609523Y-99500000D01*
X155704761Y-99452380D01*
X155895238Y-99452380D01*
X155990476Y-99500000D01*
X156038095Y-99547619D01*
X156085714Y-99642857D01*
X156085714Y-99880952D01*
X156038095Y-99976190D01*
X155990476Y-100023809D01*
X155895238Y-100071428D01*
X155704761Y-100071428D01*
X155609523Y-100023809D01*
X155561904Y-99976190D01*
X155514285Y-99880952D01*
X156642857Y-89857142D02*
X156690476Y-89904761D01*
X156833333Y-89952380D01*
X156928571Y-89952380D01*
X157071428Y-89904761D01*
X157166666Y-89809523D01*
X157214285Y-89714285D01*
X157261904Y-89523809D01*
X157261904Y-89380952D01*
X157214285Y-89190476D01*
X157166666Y-89095238D01*
X157071428Y-89000000D01*
X156928571Y-88952380D01*
X156833333Y-88952380D01*
X156690476Y-89000000D01*
X156642857Y-89047619D01*
X155690476Y-89952380D02*
X156261904Y-89952380D01*
X155976190Y-89952380D02*
X155976190Y-88952380D01*
X156071428Y-89095238D01*
X156166666Y-89190476D01*
X156261904Y-89238095D01*
X154738095Y-89952380D02*
X155309523Y-89952380D01*
X155023809Y-89952380D02*
X155023809Y-88952380D01*
X155119047Y-89095238D01*
X155214285Y-89190476D01*
X155309523Y-89238095D01*
D11*
X156410000Y-108659420D02*
X156410000Y-108940580D01*
X155390000Y-108659420D02*
X155390000Y-108940580D01*
X159790000Y-108840580D02*
X159790000Y-108559420D01*
X160810000Y-108840580D02*
X160810000Y-108559420D01*
X162374900Y-90820300D02*
X162374900Y-91039902D01*
X162374900Y-95960098D02*
X162374900Y-96179700D01*
X162374900Y-96179700D02*
X157625100Y-96179700D01*
X157625100Y-90820300D02*
X162374900Y-90820300D01*
X157625100Y-96179700D02*
X157625100Y-95960098D01*
X157625100Y-91039902D02*
X157625100Y-90820300D01*
G36*
X156094001Y-94340486D02*
G01*
X155840001Y-94340486D01*
X155840001Y-93959486D01*
X156094001Y-93959486D01*
X156094001Y-94340486D01*
G37*
D12*
X156094001Y-94340486D02*
X155840001Y-94340486D01*
X155840001Y-93959486D01*
X156094001Y-93959486D01*
X156094001Y-94340486D01*
D11*
X160240580Y-87390000D02*
X159959420Y-87390000D01*
X160240580Y-88410000D02*
X159959420Y-88410000D01*
X162374900Y-106679700D02*
X157625100Y-106679700D01*
X162374900Y-101320300D02*
X162374900Y-101539902D01*
X162374900Y-106460098D02*
X162374900Y-106679700D01*
X157625100Y-101320300D02*
X162374900Y-101320300D01*
X157625100Y-106679700D02*
X157625100Y-106460098D01*
X157625100Y-101539902D02*
X157625100Y-101320300D01*
G36*
X156094001Y-104840486D02*
G01*
X155840001Y-104840486D01*
X155840001Y-104459486D01*
X156094001Y-104459486D01*
X156094001Y-104840486D01*
G37*
D12*
X156094001Y-104840486D02*
X155840001Y-104840486D01*
X155840001Y-104459486D01*
X156094001Y-104459486D01*
X156094001Y-104840486D01*
D11*
X160040580Y-97490000D02*
X159759420Y-97490000D01*
X160040580Y-98510000D02*
X159759420Y-98510000D01*
X157625100Y-81039902D02*
X157625100Y-80820300D01*
X162374900Y-80820300D02*
X162374900Y-81039902D01*
X162374900Y-85960098D02*
X162374900Y-86179700D01*
X157625100Y-80820300D02*
X162374900Y-80820300D01*
X157625100Y-86179700D02*
X157625100Y-85960098D01*
X162374900Y-86179700D02*
X157625100Y-86179700D01*
G36*
X156094001Y-84340486D02*
G01*
X155840001Y-84340486D01*
X155840001Y-83959486D01*
X156094001Y-83959486D01*
X156094001Y-84340486D01*
G37*
D12*
X156094001Y-84340486D02*
X155840001Y-84340486D01*
X155840001Y-83959486D01*
X156094001Y-83959486D01*
X156094001Y-84340486D01*
D11*
X158759420Y-99290000D02*
X159040580Y-99290000D01*
X158759420Y-100310000D02*
X159040580Y-100310000D01*
X158959420Y-90010000D02*
X159240580Y-90010000D01*
X158959420Y-88990000D02*
X159240580Y-88990000D01*
%LPC*%
D13*
X170000000Y-80000000D03*
D14*
X172540000Y-80000000D03*
X170000000Y-82540000D03*
X172540000Y-82540000D03*
X170000000Y-85080000D03*
X172540000Y-85080000D03*
X170000000Y-87620000D03*
X172540000Y-87620000D03*
X170000000Y-90160000D03*
X172540000Y-90160000D03*
X170000000Y-92700000D03*
X172540000Y-92700000D03*
X170000000Y-95240000D03*
X172540000Y-95240000D03*
X170000000Y-97780000D03*
X172540000Y-97780000D03*
X170000000Y-100320000D03*
X172540000Y-100320000D03*
X170000000Y-102860000D03*
X172540000Y-102860000D03*
X170000000Y-105400000D03*
X172540000Y-105400000D03*
X170000000Y-107940000D03*
X172540000Y-107940000D03*
X170000000Y-110480000D03*
X172540000Y-110480000D03*
X170000000Y-113020000D03*
X172540000Y-113020000D03*
X170000000Y-115560000D03*
X172540000Y-115560000D03*
D13*
X150000000Y-80000000D03*
D14*
X147460000Y-80000000D03*
X150000000Y-82540000D03*
X147460000Y-82540000D03*
X150000000Y-85080000D03*
X147460000Y-85080000D03*
X150000000Y-87620000D03*
X147460000Y-87620000D03*
X150000000Y-90160000D03*
X147460000Y-90160000D03*
X150000000Y-92700000D03*
X147460000Y-92700000D03*
X150000000Y-95240000D03*
X147460000Y-95240000D03*
X150000000Y-97780000D03*
X147460000Y-97780000D03*
X150000000Y-100320000D03*
X147460000Y-100320000D03*
X150000000Y-102860000D03*
X147460000Y-102860000D03*
X150000000Y-105400000D03*
X147460000Y-105400000D03*
X150000000Y-107940000D03*
X147460000Y-107940000D03*
X150000000Y-110480000D03*
X147460000Y-110480000D03*
X150000000Y-113020000D03*
X147460000Y-113020000D03*
X150000000Y-115560000D03*
X147460000Y-115560000D03*
D15*
X155900000Y-108025000D03*
X155900000Y-109575000D03*
D16*
X160300000Y-109475000D03*
X160300000Y-107925000D03*
D17*
X162949948Y-91550042D03*
X162949948Y-92200028D03*
X162949948Y-92850014D03*
X162949948Y-93500000D03*
X162949948Y-94149986D03*
X162949948Y-94799972D03*
X162949948Y-95449958D03*
X157050052Y-95449958D03*
X157050052Y-94799972D03*
X157050052Y-94149986D03*
X157050052Y-93500000D03*
X157050052Y-92850014D03*
X157050052Y-92200028D03*
X157050052Y-91550042D03*
D18*
X160875000Y-87900000D03*
X159325000Y-87900000D03*
D17*
X162949948Y-102050042D03*
X162949948Y-102700028D03*
X162949948Y-103350014D03*
X162949948Y-104000000D03*
X162949948Y-104649986D03*
X162949948Y-105299972D03*
X162949948Y-105949958D03*
X157050052Y-105949958D03*
X157050052Y-105299972D03*
X157050052Y-104649986D03*
X157050052Y-104000000D03*
X157050052Y-103350014D03*
X157050052Y-102700028D03*
X157050052Y-102050042D03*
D18*
X160675000Y-98000000D03*
X159125000Y-98000000D03*
D17*
X162949948Y-81550042D03*
X162949948Y-82200028D03*
X162949948Y-82850014D03*
X162949948Y-83500000D03*
X162949948Y-84149986D03*
X162949948Y-84799972D03*
X162949948Y-85449958D03*
X157050052Y-85449958D03*
X157050052Y-84799972D03*
X157050052Y-84149986D03*
X157050052Y-83500000D03*
X157050052Y-82850014D03*
X157050052Y-82200028D03*
X157050052Y-81550042D03*
D19*
X158125000Y-99800000D03*
X159675000Y-99800000D03*
X158325000Y-89500000D03*
X159875000Y-89500000D03*
M02*

View File

@ -0,0 +1,26 @@
G04 #@! TF.GenerationSoftware,KiCad,Pcbnew,(6.0.4)*
G04 #@! TF.CreationDate,2022-06-28T09:07:53+02:00*
G04 #@! TF.ProjectId,LevelShifter,4c657665-6c53-4686-9966-7465722e6b69,rev?*
G04 #@! TF.SameCoordinates,Original*
G04 #@! TF.FileFunction,Profile,NP*
%FSLAX46Y46*%
G04 Gerber Fmt 4.6, Leading zero omitted, Abs format (unit mm)*
G04 Created by KiCad (PCBNEW (6.0.4)) date 2022-06-28 09:07:53*
%MOMM*%
%LPD*%
G01*
G04 APERTURE LIST*
G04 #@! TA.AperFunction,Profile*
%ADD10C,0.100000*%
G04 #@! TD*
G04 APERTURE END LIST*
D10*
X145800000Y-77800000D02*
X174100000Y-77800000D01*
X174100000Y-77800000D02*
X174100000Y-117600000D01*
X174100000Y-117600000D02*
X145800000Y-117600000D01*
X145800000Y-117600000D02*
X145800000Y-77800000D01*
M02*

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,162 @@
G04 #@! TF.GenerationSoftware,KiCad,Pcbnew,(6.0.4)*
G04 #@! TF.CreationDate,2022-06-28T09:07:53+02:00*
G04 #@! TF.ProjectId,LevelShifter,4c657665-6c53-4686-9966-7465722e6b69,rev?*
G04 #@! TF.SameCoordinates,Original*
G04 #@! TF.FileFunction,Soldermask,Top*
G04 #@! TF.FilePolarity,Negative*
%FSLAX46Y46*%
G04 Gerber Fmt 4.6, Leading zero omitted, Abs format (unit mm)*
G04 Created by KiCad (PCBNEW (6.0.4)) date 2022-06-28 09:07:53*
%MOMM*%
%LPD*%
G01*
G04 APERTURE LIST*
G04 Aperture macros list*
%AMRoundRect*
0 Rectangle with rounded corners*
0 $1 Rounding radius*
0 $2 $3 $4 $5 $6 $7 $8 $9 X,Y pos of 4 corners*
0 Add a 4 corners polygon primitive as box body*
4,1,4,$2,$3,$4,$5,$6,$7,$8,$9,$2,$3,0*
0 Add four circle primitives for the rounded corners*
1,1,$1+$1,$2,$3*
1,1,$1+$1,$4,$5*
1,1,$1+$1,$6,$7*
1,1,$1+$1,$8,$9*
0 Add four rect primitives between the rounded corners*
20,1,$1+$1,$2,$3,$4,$5,0*
20,1,$1+$1,$4,$5,$6,$7,0*
20,1,$1+$1,$6,$7,$8,$9,0*
20,1,$1+$1,$8,$9,$2,$3,0*%
G04 Aperture macros list end*
%ADD10RoundRect,0.225000X0.225000X0.250000X-0.225000X0.250000X-0.225000X-0.250000X0.225000X-0.250000X0*%
%ADD11R,1.404099X0.354800*%
%ADD12R,1.700000X1.700000*%
%ADD13O,1.700000X1.700000*%
%ADD14RoundRect,0.225000X-0.225000X-0.250000X0.225000X-0.250000X0.225000X0.250000X-0.225000X0.250000X0*%
G04 APERTURE END LIST*
D10*
X160575000Y-87800000D03*
X159025000Y-87800000D03*
D11*
X162949948Y-85449958D03*
X162949948Y-84799972D03*
X162949948Y-84149986D03*
X162949948Y-83500000D03*
X162949948Y-82850014D03*
X162949948Y-82200028D03*
X162949948Y-81550042D03*
X157050052Y-81550042D03*
X157050052Y-82200028D03*
X157050052Y-82850014D03*
X157050052Y-83500000D03*
X157050052Y-84149986D03*
X157050052Y-84799972D03*
X157050052Y-85449958D03*
D12*
X170000000Y-80000000D03*
D13*
X172540000Y-80000000D03*
X170000000Y-82540000D03*
X172540000Y-82540000D03*
X170000000Y-85080000D03*
X172540000Y-85080000D03*
X170000000Y-87620000D03*
X172540000Y-87620000D03*
X170000000Y-90160000D03*
X172540000Y-90160000D03*
X170000000Y-92700000D03*
X172540000Y-92700000D03*
X170000000Y-95240000D03*
X172540000Y-95240000D03*
X170000000Y-97780000D03*
X172540000Y-97780000D03*
X170000000Y-100320000D03*
X172540000Y-100320000D03*
X170000000Y-102860000D03*
X172540000Y-102860000D03*
X170000000Y-105400000D03*
X172540000Y-105400000D03*
X170000000Y-107940000D03*
X172540000Y-107940000D03*
X170000000Y-110480000D03*
X172540000Y-110480000D03*
X170000000Y-113020000D03*
X172540000Y-113020000D03*
X170000000Y-115560000D03*
X172540000Y-115560000D03*
D10*
X160775000Y-107700000D03*
X159225000Y-107700000D03*
X160675000Y-97800000D03*
X159125000Y-97800000D03*
D12*
X150000000Y-80000000D03*
D13*
X147460000Y-80000000D03*
X150000000Y-82540000D03*
X147460000Y-82540000D03*
X150000000Y-85080000D03*
X147460000Y-85080000D03*
X150000000Y-87620000D03*
X147460000Y-87620000D03*
X150000000Y-90160000D03*
X147460000Y-90160000D03*
X150000000Y-92700000D03*
X147460000Y-92700000D03*
X150000000Y-95240000D03*
X147460000Y-95240000D03*
X150000000Y-97780000D03*
X147460000Y-97780000D03*
X150000000Y-100320000D03*
X147460000Y-100320000D03*
X150000000Y-102860000D03*
X147460000Y-102860000D03*
X150000000Y-105400000D03*
X147460000Y-105400000D03*
X150000000Y-107940000D03*
X147460000Y-107940000D03*
X150000000Y-110480000D03*
X147460000Y-110480000D03*
X150000000Y-113020000D03*
X147460000Y-113020000D03*
X150000000Y-115560000D03*
X147460000Y-115560000D03*
D11*
X162949948Y-105949958D03*
X162949948Y-105299972D03*
X162949948Y-104649986D03*
X162949948Y-104000000D03*
X162949948Y-103350014D03*
X162949948Y-102700028D03*
X162949948Y-102050042D03*
X157050052Y-102050042D03*
X157050052Y-102700028D03*
X157050052Y-103350014D03*
X157050052Y-104000000D03*
X157050052Y-104649986D03*
X157050052Y-105299972D03*
X157050052Y-105949958D03*
D14*
X158525000Y-89300000D03*
X160075000Y-89300000D03*
X158525000Y-99300000D03*
X160075000Y-99300000D03*
X158525000Y-109300000D03*
X160075000Y-109300000D03*
D11*
X162949948Y-95449958D03*
X162949948Y-94799972D03*
X162949948Y-94149986D03*
X162949948Y-93500000D03*
X162949948Y-92850014D03*
X162949948Y-92200028D03*
X162949948Y-91550042D03*
X157050052Y-91550042D03*
X157050052Y-92200028D03*
X157050052Y-92850014D03*
X157050052Y-93500000D03*
X157050052Y-94149986D03*
X157050052Y-94799972D03*
X157050052Y-95449958D03*
M02*

View File

@ -0,0 +1,96 @@
G04 #@! TF.GenerationSoftware,KiCad,Pcbnew,(6.0.4)*
G04 #@! TF.CreationDate,2022-06-28T09:07:53+02:00*
G04 #@! TF.ProjectId,LevelShifter,4c657665-6c53-4686-9966-7465722e6b69,rev?*
G04 #@! TF.SameCoordinates,Original*
G04 #@! TF.FileFunction,Paste,Top*
G04 #@! TF.FilePolarity,Positive*
%FSLAX46Y46*%
G04 Gerber Fmt 4.6, Leading zero omitted, Abs format (unit mm)*
G04 Created by KiCad (PCBNEW (6.0.4)) date 2022-06-28 09:07:53*
%MOMM*%
%LPD*%
G01*
G04 APERTURE LIST*
G04 Aperture macros list*
%AMRoundRect*
0 Rectangle with rounded corners*
0 $1 Rounding radius*
0 $2 $3 $4 $5 $6 $7 $8 $9 X,Y pos of 4 corners*
0 Add a 4 corners polygon primitive as box body*
4,1,4,$2,$3,$4,$5,$6,$7,$8,$9,$2,$3,0*
0 Add four circle primitives for the rounded corners*
1,1,$1+$1,$2,$3*
1,1,$1+$1,$4,$5*
1,1,$1+$1,$6,$7*
1,1,$1+$1,$8,$9*
0 Add four rect primitives between the rounded corners*
20,1,$1+$1,$2,$3,$4,$5,0*
20,1,$1+$1,$4,$5,$6,$7,0*
20,1,$1+$1,$6,$7,$8,$9,0*
20,1,$1+$1,$8,$9,$2,$3,0*%
G04 Aperture macros list end*
%ADD10RoundRect,0.225000X0.225000X0.250000X-0.225000X0.250000X-0.225000X-0.250000X0.225000X-0.250000X0*%
%ADD11R,1.404099X0.354800*%
%ADD12RoundRect,0.225000X-0.225000X-0.250000X0.225000X-0.250000X0.225000X0.250000X-0.225000X0.250000X0*%
G04 APERTURE END LIST*
D10*
X160575000Y-87800000D03*
X159025000Y-87800000D03*
D11*
X162949948Y-85449958D03*
X162949948Y-84799972D03*
X162949948Y-84149986D03*
X162949948Y-83500000D03*
X162949948Y-82850014D03*
X162949948Y-82200028D03*
X162949948Y-81550042D03*
X157050052Y-81550042D03*
X157050052Y-82200028D03*
X157050052Y-82850014D03*
X157050052Y-83500000D03*
X157050052Y-84149986D03*
X157050052Y-84799972D03*
X157050052Y-85449958D03*
D10*
X160775000Y-107700000D03*
X159225000Y-107700000D03*
X160675000Y-97800000D03*
X159125000Y-97800000D03*
D11*
X162949948Y-105949958D03*
X162949948Y-105299972D03*
X162949948Y-104649986D03*
X162949948Y-104000000D03*
X162949948Y-103350014D03*
X162949948Y-102700028D03*
X162949948Y-102050042D03*
X157050052Y-102050042D03*
X157050052Y-102700028D03*
X157050052Y-103350014D03*
X157050052Y-104000000D03*
X157050052Y-104649986D03*
X157050052Y-105299972D03*
X157050052Y-105949958D03*
D12*
X158525000Y-89300000D03*
X160075000Y-89300000D03*
X158525000Y-99300000D03*
X160075000Y-99300000D03*
X158525000Y-109300000D03*
X160075000Y-109300000D03*
D11*
X162949948Y-95449958D03*
X162949948Y-94799972D03*
X162949948Y-94149986D03*
X162949948Y-93500000D03*
X162949948Y-92850014D03*
X162949948Y-92200028D03*
X162949948Y-91550042D03*
X157050052Y-91550042D03*
X157050052Y-92200028D03*
X157050052Y-92850014D03*
X157050052Y-93500000D03*
X157050052Y-94149986D03*
X157050052Y-94799972D03*
X157050052Y-95449958D03*
M02*

View File

@ -0,0 +1,13 @@
M48
; DRILL file {KiCad (6.0.4)} date Tue Jun 28 09:07:57 2022
; FORMAT={-:-/ absolute / metric / decimal}
; #@! TF.CreationDate,2022-06-28T09:07:57+02:00
; #@! TF.GenerationSoftware,Kicad,Pcbnew,(6.0.4)
; #@! TF.FileFunction,NonPlated,1,2,NPTH
FMAT,2
METRIC
%
G90
G05
T0
M30

View File

@ -0,0 +1,89 @@
M48
; DRILL file {KiCad (6.0.4)} date Tue Jun 28 09:07:57 2022
; FORMAT={-:-/ absolute / metric / decimal}
; #@! TF.CreationDate,2022-06-28T09:07:57+02:00
; #@! TF.GenerationSoftware,Kicad,Pcbnew,(6.0.4)
; #@! TF.FileFunction,Plated,1,2,PTH
FMAT,2
METRIC
; #@! TA.AperFunction,Plated,PTH,ViaDrill
T1C0.400
; #@! TA.AperFunction,Plated,PTH,ComponentDrill
T2C1.000
%
G90
G05
T1
X157.05Y-107.15
X159.3Y-85.4
X159.3Y-95.3
X159.3Y-106.0
X160.6Y-86.7
X160.6Y-96.6
X161.4Y-85.4
X161.4Y-95.4
X161.4Y-106.0
X161.8Y-108.8
T2
X147.46Y-80.0
X147.46Y-82.54
X147.46Y-85.08
X147.46Y-87.62
X147.46Y-90.16
X147.46Y-92.7
X147.46Y-95.24
X147.46Y-97.78
X147.46Y-100.32
X147.46Y-102.86
X147.46Y-105.4
X147.46Y-107.94
X147.46Y-110.48
X147.46Y-113.02
X147.46Y-115.56
X150.0Y-80.0
X150.0Y-82.54
X150.0Y-85.08
X150.0Y-87.62
X150.0Y-90.16
X150.0Y-92.7
X150.0Y-95.24
X150.0Y-97.78
X150.0Y-100.32
X150.0Y-102.86
X150.0Y-105.4
X150.0Y-107.94
X150.0Y-110.48
X150.0Y-113.02
X150.0Y-115.56
X170.0Y-80.0
X170.0Y-82.54
X170.0Y-85.08
X170.0Y-87.62
X170.0Y-90.16
X170.0Y-92.7
X170.0Y-95.24
X170.0Y-97.78
X170.0Y-100.32
X170.0Y-102.86
X170.0Y-105.4
X170.0Y-107.94
X170.0Y-110.48
X170.0Y-113.02
X170.0Y-115.56
X172.54Y-80.0
X172.54Y-82.54
X172.54Y-85.08
X172.54Y-87.62
X172.54Y-90.16
X172.54Y-92.7
X172.54Y-95.24
X172.54Y-97.78
X172.54Y-100.32
X172.54Y-102.86
X172.54Y-105.4
X172.54Y-107.94
X172.54Y-110.48
X172.54Y-113.02
X172.54Y-115.56
T0
M30

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,75 @@
{
"board": {
"active_layer": 31,
"active_layer_preset": "",
"auto_track_width": true,
"hidden_nets": [],
"high_contrast_mode": 0,
"net_color_mode": 1,
"opacity": {
"pads": 1.0,
"tracks": 1.0,
"vias": 1.0,
"zones": 0.6
},
"ratsnest_display_mode": 0,
"selection_filter": {
"dimensions": true,
"footprints": true,
"graphics": true,
"keepouts": true,
"lockedItems": true,
"otherItems": true,
"pads": true,
"text": true,
"tracks": true,
"vias": true,
"zones": true
},
"visible_items": [
0,
1,
2,
3,
4,
5,
8,
9,
10,
11,
12,
13,
14,
15,
16,
17,
18,
19,
20,
21,
22,
23,
24,
25,
26,
27,
28,
29,
30,
32,
33,
34,
35,
36
],
"visible_layers": "ffcf055_ffffffff",
"zone_display_mode": 0
},
"meta": {
"filename": "LevelShifter.kicad_prl",
"version": 3
},
"project": {
"files": []
}
}

View File

@ -0,0 +1,420 @@
{
"board": {
"design_settings": {
"defaults": {
"board_outline_line_width": 0.09999999999999999,
"copper_line_width": 0.19999999999999998,
"copper_text_italic": false,
"copper_text_size_h": 1.5,
"copper_text_size_v": 1.5,
"copper_text_thickness": 0.3,
"copper_text_upright": false,
"courtyard_line_width": 0.049999999999999996,
"dimension_precision": 4,
"dimension_units": 3,
"dimensions": {
"arrow_length": 1270000,
"extension_offset": 500000,
"keep_text_aligned": true,
"suppress_zeroes": false,
"text_position": 0,
"units_format": 1
},
"fab_line_width": 0.09999999999999999,
"fab_text_italic": false,
"fab_text_size_h": 1.0,
"fab_text_size_v": 1.0,
"fab_text_thickness": 0.15,
"fab_text_upright": false,
"other_line_width": 0.15,
"other_text_italic": false,
"other_text_size_h": 1.0,
"other_text_size_v": 1.0,
"other_text_thickness": 0.15,
"other_text_upright": false,
"pads": {
"drill": 0.762,
"height": 1.524,
"width": 1.524
},
"silk_line_width": 0.15,
"silk_text_italic": false,
"silk_text_size_h": 1.0,
"silk_text_size_v": 1.0,
"silk_text_thickness": 0.15,
"silk_text_upright": false,
"zones": {
"45_degree_only": false,
"min_clearance": 0.508
}
},
"diff_pair_dimensions": [],
"drc_exclusions": [],
"meta": {
"version": 2
},
"rule_severities": {
"annular_width": "error",
"clearance": "error",
"copper_edge_clearance": "error",
"courtyards_overlap": "error",
"diff_pair_gap_out_of_range": "error",
"diff_pair_uncoupled_length_too_long": "error",
"drill_out_of_range": "error",
"duplicate_footprints": "warning",
"extra_footprint": "warning",
"footprint_type_mismatch": "error",
"hole_clearance": "error",
"hole_near_hole": "error",
"invalid_outline": "error",
"item_on_disabled_layer": "error",
"items_not_allowed": "error",
"length_out_of_range": "error",
"malformed_courtyard": "error",
"microvia_drill_out_of_range": "error",
"missing_courtyard": "ignore",
"missing_footprint": "warning",
"net_conflict": "warning",
"npth_inside_courtyard": "ignore",
"padstack": "error",
"pth_inside_courtyard": "ignore",
"shorting_items": "error",
"silk_over_copper": "warning",
"silk_overlap": "warning",
"skew_out_of_range": "error",
"through_hole_pad_without_hole": "error",
"too_many_vias": "error",
"track_dangling": "warning",
"track_width": "error",
"tracks_crossing": "error",
"unconnected_items": "error",
"unresolved_variable": "error",
"via_dangling": "warning",
"zone_has_empty_net": "error",
"zones_intersect": "error"
},
"rules": {
"allow_blind_buried_vias": false,
"allow_microvias": false,
"max_error": 0.005,
"min_clearance": 0.0,
"min_copper_edge_clearance": 0.0,
"min_hole_clearance": 0.25,
"min_hole_to_hole": 0.25,
"min_microvia_diameter": 0.19999999999999998,
"min_microvia_drill": 0.09999999999999999,
"min_silk_clearance": 0.0,
"min_through_hole_diameter": 0.3,
"min_track_width": 0.19999999999999998,
"min_via_annular_width": 0.049999999999999996,
"min_via_diameter": 0.39999999999999997,
"solder_mask_clearance": 0.0,
"solder_mask_min_width": 0.0,
"use_height_for_length_calcs": true
},
"track_widths": [],
"via_dimensions": [],
"zones_allow_external_fillets": false,
"zones_use_no_outline": true
},
"layer_presets": []
},
"boards": [],
"cvpcb": {
"equivalence_files": []
},
"erc": {
"erc_exclusions": [],
"meta": {
"version": 0
},
"pin_map": [
[
0,
0,
0,
0,
0,
0,
1,
0,
0,
0,
0,
2
],
[
0,
2,
0,
1,
0,
0,
1,
0,
2,
2,
2,
2
],
[
0,
0,
0,
0,
0,
0,
1,
0,
1,
0,
1,
2
],
[
0,
1,
0,
0,
0,
0,
1,
1,
2,
1,
1,
2
],
[
0,
0,
0,
0,
0,
0,
1,
0,
0,
0,
0,
2
],
[
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
2
],
[
1,
1,
1,
1,
1,
0,
1,
1,
1,
1,
1,
2
],
[
0,
0,
0,
1,
0,
0,
1,
0,
0,
0,
0,
2
],
[
0,
2,
1,
2,
0,
0,
1,
0,
2,
2,
2,
2
],
[
0,
2,
0,
1,
0,
0,
1,
0,
2,
0,
0,
2
],
[
0,
2,
1,
1,
0,
0,
1,
0,
2,
0,
0,
2
],
[
2,
2,
2,
2,
2,
2,
2,
2,
2,
2,
2,
2
]
],
"rule_severities": {
"bus_definition_conflict": "error",
"bus_entry_needed": "error",
"bus_label_syntax": "error",
"bus_to_bus_conflict": "error",
"bus_to_net_conflict": "error",
"different_unit_footprint": "error",
"different_unit_net": "error",
"duplicate_reference": "error",
"duplicate_sheet_names": "error",
"extra_units": "error",
"global_label_dangling": "warning",
"hier_label_mismatch": "error",
"label_dangling": "error",
"lib_symbol_issues": "warning",
"multiple_net_names": "warning",
"net_not_bus_member": "warning",
"no_connect_connected": "warning",
"no_connect_dangling": "warning",
"pin_not_connected": "error",
"pin_not_driven": "error",
"pin_to_pin": "warning",
"power_pin_not_driven": "error",
"similar_labels": "warning",
"unannotated": "error",
"unit_value_mismatch": "error",
"unresolved_variable": "error",
"wire_dangling": "error"
}
},
"libraries": {
"pinned_footprint_libs": [],
"pinned_symbol_libs": []
},
"meta": {
"filename": "LevelShifter.kicad_pro",
"version": 1
},
"net_settings": {
"classes": [
{
"bus_width": 12.0,
"clearance": 0.2,
"diff_pair_gap": 0.25,
"diff_pair_via_gap": 0.25,
"diff_pair_width": 0.2,
"line_style": 0,
"microvia_diameter": 0.3,
"microvia_drill": 0.1,
"name": "Default",
"pcb_color": "rgba(0, 0, 0, 0.000)",
"schematic_color": "rgba(0, 0, 0, 0.000)",
"track_width": 0.25,
"via_diameter": 0.8,
"via_drill": 0.4,
"wire_width": 6.0
}
],
"meta": {
"version": 2
},
"net_colors": null
},
"pcbnew": {
"last_paths": {
"gencad": "",
"idf": "",
"netlist": "",
"specctra_dsn": "LevelShifter.dsn",
"step": "",
"vrml": ""
},
"page_layout_descr_file": ""
},
"schematic": {
"annotate_start_num": 0,
"drawing": {
"default_line_thickness": 6.0,
"default_text_size": 50.0,
"field_names": [],
"intersheets_ref_own_page": false,
"intersheets_ref_prefix": "",
"intersheets_ref_short": false,
"intersheets_ref_show": false,
"intersheets_ref_suffix": "",
"junction_size_choice": 3,
"label_size_ratio": 0.375,
"pin_symbol_size": 25.0,
"text_offset_ratio": 0.15
},
"legacy_lib_dir": "",
"legacy_lib_list": [],
"meta": {
"version": 1
},
"net_format_name": "",
"ngspice": {
"fix_include_paths": true,
"fix_passive_vals": false,
"meta": {
"version": 0
},
"model_mode": 0,
"workbook_filename": ""
},
"page_layout_descr_file": "",
"plot_directory": "",
"spice_adjust_passive_values": false,
"spice_external_command": "spice \"%I\"",
"subpart_first_id": 65,
"subpart_id_separator": 0
},
"sheets": [
[
"f8a18c33-bdac-445e-9c91-c1d7dddec742",
""
]
],
"text_variables": {}
}

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,83 @@
(rules PCB LevelShifter
(snap_angle
fortyfive_degree
)
(autoroute_settings
(fanout on)
(autoroute on)
(postroute on)
(vias on)
(via_costs 50)
(plane_via_costs 5)
(start_ripup_costs 100)
(start_pass_no 99)
(layer_rule F.Cu
(active on)
(preferred_direction vertical)
(preferred_direction_trace_costs 1.0)
(against_preferred_direction_trace_costs 2.4)
)
(layer_rule B.Cu
(active on)
(preferred_direction horizontal)
(preferred_direction_trace_costs 1.0)
(against_preferred_direction_trace_costs 1.7)
)
)
(rule
(width 250.0)
(clear 200.2)
(clear 125.0 (type smd_to_turn_gap))
(clear 50.0 (type smd_smd))
)
(padstack "Via[0-1]_800:400_um"
(shape
(circle F.Cu 800.0 0.0 0.0)
)
(shape
(circle B.Cu 800.0 0.0 0.0)
)
(attach off)
)
(via
"Via[0-1]_800:400_um" "Via[0-1]_800:400_um" default
)
(via
"Via[0-1]_800:400_um-kicad_default" "Via[0-1]_800:400_um" "kicad_default"
)
(via_rule
default "Via[0-1]_800:400_um"
)
(via_rule
"kicad_default" "Via[0-1]_800:400_um-kicad_default"
)
(class default
/GND "/CHAN_0_IN" "/CHAN_1_IN" "/CHAN_2_IN" "/CHAN_3_IN" "/CHAN_4_IN" "/CHAN_5_IN" "/CHAN_6_IN"
"/CHAN_7_IN" "/CHAN_8_IN" "/CHAN_9_IN" "/CHAN_10_IN" "/CHAN_11_IN" /3V3 /5V "/CHAN_0_OUT"
"/CHAN_1_OUT" "/CHAN_2_OUT" "/CHAN_3_OUT" "/CHAN_4_OUT" "/CHAN_5_OUT" "/CHAN_6_OUT" "/CHAN_7_OUT" "/CHAN_8_OUT"
"/CHAN_9_OUT" "/CHAN_10_OUT" "/CHAN_11_OUT" "unconnected-(U1-Pad6)" "unconnected-(U1-Pad9)" "unconnected-(U2-Pad6)" "unconnected-(U2-Pad9)" "unconnected-(U3-Pad6)"
"unconnected-(U3-Pad9)" "/CHAN_23_IN" "/CHAN_22_IN" "/CHAN_21_IN" "/CHAN_20_IN" "/CHAN_19_IN" "/CHAN_18_IN" "/CHAN_17_IN"
"/CHAN_16_IN" "/CHAN_15_IN" "/CHAN_14_IN" "/CHAN_13_IN" "/CHAN_12_IN" "/CHAN_23_OUT" "/CHAN_22_OUT" "/CHAN_21_OUT"
"/CHAN_20_OUT" "/CHAN_19_OUT" "/CHAN_18_OUT" "/CHAN_17_OUT" "/CHAN_16_OUT" "/CHAN_15_OUT" "/CHAN_14_OUT" "/CHAN_13_OUT"
"/CHAN_12_OUT" "unconnected-(U4-Pad6)" "unconnected-(U4-Pad9)" "unconnected-(U5-Pad6)" "unconnected-(U5-Pad9)" "unconnected-(U6-Pad6)" "unconnected-(U6-Pad9)"
(clearance_class default)
(via_rule default)
(rule
(width 250.0)
)
(circuit
(use_layer F.Cu B.Cu)
)
)
(class "kicad_default"
(clearance_class "kicad_default")
(via_rule kicad_default)
(rule
(width 250.0)
)
(circuit
(use_layer F.Cu B.Cu)
)
)
)

View File

@ -0,0 +1,574 @@
(session LevelShifter.ses
(base_design LevelShifter.dsn)
(placement
(resolution um 10)
(component footprints:TXU0104PWR
(place U6 1600000 -935000 back 0)
(place U5 1600000 -1040000 back 0)
(place U4 1600000 -835000 back 0)
(place U2 1600000 -835000 front 180)
(place U1 1600000 -1040000 front 180)
)
(component footprints:TXU0104PWR::1
(place U3 1600000 -935000 front 180)
)
(component Connector_PinSocket_2.54mm:PinSocket_2x15_P2.54mm_Horizontal
(place J2 1500000 -800000 front 0)
)
(component Connector_PinHeader_2.54mm:PinHeader_2x15_P2.54mm_Horizontal
(place J1 1700000 -800000 front 0)
)
)
(was_is
)
(routes
(resolution um 10)
(parser
(host_cad "KiCad's Pcbnew")
(host_version "(6.0.4)")
)
(library_out
(padstack "Via[0-1]_800:400_um"
(shape
(circle F.Cu 8000 0 0)
)
(shape
(circle B.Cu 8000 0 0)
)
(attach off)
)
)
(network_out
(net /CHAN_0_IN
(wire
(path F.Cu 2500
1629500 -828500
1671500 -828500
1700000 -800000
)
(type protect)
)
)
(net /CHAN_1_IN
(wire
(path F.Cu 2500
1629500 -835000
1690400 -835000
1700000 -825400
)
(type protect)
)
)
(net /CHAN_2_IN
(wire
(path F.Cu 2500
1629500 -841500
1690700 -841500
1700000 -850800
)
(type protect)
)
)
(net /CHAN_3_IN
(wire
(path F.Cu 2500
1629500 -848000
1671800 -848000
1700000 -876200
)
(type protect)
)
)
(net /CHAN_4_IN
(wire
(path F.Cu 2500
1629500 -928500
1673100 -928500
1700000 -901600
)
(type protect)
)
)
(net /CHAN_5_IN
(wire
(path F.Cu 2500
1629500 -935000
1692000 -935000
1700000 -927000
)
(type protect)
)
)
(net /CHAN_6_IN
(wire
(path F.Cu 2500
1629500 -941500
1689100 -941500
1700000 -952400
)
(type protect)
)
)
(net /CHAN_7_IN
(wire
(path F.Cu 2500
1629500 -948000
1670200 -948000
1700000 -977800
)
(type protect)
)
)
(net /CHAN_8_IN
(wire
(path F.Cu 2500
1629500 -1033500
1669700 -1033500
1700000 -1003200
)
(type protect)
)
)
(net /CHAN_9_IN
(wire
(path F.Cu 2500
1629500 -1040000
1688600 -1040000
1700000 -1028600
)
(type protect)
)
)
(net /CHAN_10_IN
(wire
(path F.Cu 2500
1629500 -1046500
1692500 -1046500
1700000 -1054000
)
(type protect)
)
)
(net /CHAN_11_IN
(wire
(path F.Cu 2500
1629500 -1053000
1673600 -1053000
1700000 -1079400
)
(type protect)
)
)
(net /CHAN_0_OUT
(wire
(path F.Cu 2500
1570500 -828500
1528500 -828500
1500000 -800000
)
(type protect)
)
)
(net /CHAN_1_OUT
(wire
(path F.Cu 2500
1570500 -835000
1509600 -835000
1500000 -825400
)
(type protect)
)
)
(net /CHAN_2_OUT
(wire
(path F.Cu 2500
1570500 -841500
1509300 -841500
1500000 -850800
)
(type protect)
)
)
(net /CHAN_3_OUT
(wire
(path F.Cu 2500
1570500 -848000
1528200 -848000
1500000 -876200
)
(type protect)
)
)
(net /CHAN_4_OUT
(wire
(path F.Cu 2500
1570500 -928500
1526900 -928500
1500000 -901600
)
(type protect)
)
)
(net /CHAN_5_OUT
(wire
(path F.Cu 2500
1570500 -935000
1508000 -935000
1500000 -927000
)
(type protect)
)
)
(net /CHAN_6_OUT
(wire
(path F.Cu 2500
1570500 -941500
1510900 -941500
1500000 -952400
)
(type protect)
)
)
(net /CHAN_7_OUT
(wire
(path F.Cu 2500
1570500 -948000
1529800 -948000
1500000 -977800
)
(type protect)
)
)
(net /CHAN_8_OUT
(wire
(path F.Cu 2500
1570500 -1033500
1530300 -1033500
1500000 -1003200
)
(type protect)
)
)
(net /CHAN_9_OUT
(wire
(path F.Cu 2500
1570500 -1040000
1511400 -1040000
1500000 -1028600
)
(type protect)
)
)
(net /CHAN_10_OUT
(wire
(path F.Cu 2500
1570500 -1046500
1507500 -1046500
1500000 -1054000
)
(type protect)
)
)
(net /CHAN_11_OUT
(wire
(path F.Cu 2500
1570500 -1053000
1526400 -1053000
1500000 -1079400
)
(type protect)
)
)
(net /CHAN_23_IN
(wire
(path B.Cu 2500
1629500 -822000
1686000 -822000
1696250 -811745
1713650 -811745
1725400 -800000
)
(type protect)
)
)
(net /CHAN_22_IN
(wire
(path B.Cu 2500
1629500 -828500
1686490 -828500
1695140 -837145
1713650 -837145
1725400 -825400
)
(type protect)
)
)
(net /CHAN_21_IN
(wire
(path B.Cu 2500
1629500 -835000
1667590 -835000
1695140 -862545
1713650 -862545
1725400 -850800
)
(type protect)
)
)
(net /CHAN_20_IN
(wire
(path B.Cu 2500
1629500 -841500
1648690 -841500
1695190 -888000
1713600 -888000
1725400 -876200
)
(type protect)
)
)
(net /CHAN_19_IN
(wire
(path B.Cu 2500
1629500 -922000
1688390 -922000
1697040 -913345
1713650 -913345
1725400 -901600
)
(type protect)
)
)
(net /CHAN_18_IN
(wire
(path B.Cu 2500
1629500 -928500
1684890 -928500
1695140 -938745
1713650 -938745
1725400 -927000
)
(type protect)
)
)
(net /CHAN_17_IN
(wire
(path B.Cu 2500
1629500 -935000
1665990 -935000
1695990 -965000
1712800 -965000
1725400 -952400
)
(type protect)
)
)
(net /CHAN_16_IN
(wire
(path B.Cu 2500
1629500 -941500
1639020 -941500
1687070 -989545
1713650 -989545
1725400 -977800
)
(type protect)
)
)
(net /CHAN_15_IN
(wire
(path B.Cu 2500
1629500 -1027000
1684990 -1027000
1695990 -1016000
1712600 -1016000
1725400 -1003200
)
(type protect)
)
)
(net /CHAN_14_IN
(wire
(path B.Cu 2500
1629500 -1033500
1686500 -1033500
1694000 -1041000
1713000 -1041000
1725400 -1028600
)
(type protect)
)
)
(net /CHAN_13_IN
(wire
(path B.Cu 2500
1629500 -1040000
1669390 -1040000
1695390 -1066000
1713400 -1066000
1725400 -1054000
)
(type protect)
)
)
(net /CHAN_12_IN
(wire
(path B.Cu 2500
1629500 -1046500
1639020 -1046500
1684520 -1092000
1712800 -1092000
1725400 -1079400
)
(type protect)
)
)
(net /CHAN_23_OUT
(wire
(path B.Cu 2500
1570500 -822000
1559000 -822000
1550000 -813000
1487600 -813000
1474600 -800000
)
(type protect)
)
)
(net /CHAN_22_OUT
(wire
(path B.Cu 2500
1570500 -828500
1559140 -828500
1549640 -838000
1487200 -838000
1474600 -825400
)
(type protect)
)
)
(net /CHAN_21_OUT
(wire
(path B.Cu 2500
1570500 -835000
1559000 -835000
1530000 -864000
1487800 -864000
1474600 -850800
)
(type protect)
)
)
(net /CHAN_20_OUT
(wire
(path B.Cu 2500
1570500 -841500
1559500 -841500
1512000 -889000
1487400 -889000
1474600 -876200
)
(type protect)
)
)
(net /CHAN_19_OUT
(wire
(path B.Cu 2500
1570500 -922000
1560000 -922000
1552000 -914000
1487000 -914000
1474600 -901600
)
(type protect)
)
)
(net /CHAN_18_OUT
(wire
(path B.Cu 2500
1570500 -928500
1560500 -928500
1549000 -940000
1487600 -940000
1474600 -927000
)
(type protect)
)
)
(net /CHAN_17_OUT
(wire
(path B.Cu 2500
1570500 -935000
1560980 -935000
1531830 -964145
1486350 -964145
1474600 -952400
)
(type protect)
)
)
(net /CHAN_16_OUT
(wire
(path B.Cu 2500
1570500 -941500
1560980 -941500
1512930 -989545
1486350 -989545
1474600 -977800
)
(type protect)
)
)
(net /CHAN_15_OUT
(wire
(path B.Cu 2500
1570500 -1027000
1559000 -1027000
1548000 -1016000
1487400 -1016000
1474600 -1003200
)
(type protect)
)
)
(net /CHAN_14_OUT
(wire
(path B.Cu 2500
1570500 -1033500
1559500 -1033500
1552000 -1041000
1487000 -1041000
1474600 -1028600
)
(type protect)
)
)
(net /CHAN_13_OUT
(wire
(path B.Cu 2500
1570500 -1040000
1560000 -1040000
1533000 -1067000
1487600 -1067000
1474600 -1054000
)
(type protect)
)
)
(net /CHAN_12_OUT
(wire
(path B.Cu 2500
1570500 -1046500
1561720 -1046500
1516220 -1092000
1485000 -1092000
1474600 -1081600
1474600 -1079400
)
(type protect)
)
)
)
)
)

View File

@ -0,0 +1,188 @@
(module TSSOP_0104PWR_TEX (layer F.Cu)
(fp_text reference REF** (at 0 0) (layer F.SilkS)
(effects (font (size 1 1) (thickness .15)))
)
(fp_text value TSSOP_0104PWR_TEX (at 0 0) (layer F.SilkS)
(effects (font (size 1 1) (thickness .15)))
)
(fp_text user "Copyright 2021 Accelerated Designs. All rights reserved." (at 0 0) (layer Cmts.User)
(effects (font (size .127 .127) (thickness .002)))
)
(fp_text user "*" (at -3.20395 -3.447758) (layer F.SilkS)
(effects (font (size 1 1) (thickness .15)))
)
(fp_text user "*" (at -1.8669 -2.4765) (layer F.Fab)
(effects (font (size 1 1) (thickness .15)))
)
(fp_text user "0.026in/0.65mm" (at -5.99795 -1.624965) (layer Cmts.User)
(effects (font (size 1 1) (thickness .15)))
)
(fp_text user "0.014in/0.355mm" (at 5.99795 -1.949958) (layer Cmts.User)
(effects (font (size 1 1) (thickness .15)))
)
(fp_text user "0.232in/5.9mm" (at 0 -4.9657) (layer Cmts.User)
(effects (font (size 1 1) (thickness .15)))
)
(fp_text user "0.055in/1.404mm" (at -2.94995 4.9657) (layer Cmts.User)
(effects (font (size 1 1) (thickness .15)))
)
(fp_text user "*" (at -3.20395 -3.447758) (layer F.SilkS)
(effects (font (size 1 1) (thickness .15)))
)
(fp_text user "*" (at -1.8669 -2.4765) (layer F.Fab)
(effects (font (size 1 1) (thickness .15)))
)
(fp_line (start -2.2479 -1.797558) (end -2.2479 -2.102358) (layer F.Fab) (width .1))
(fp_line (start -2.2479 -2.102358) (end -3.302 -2.102358) (layer F.Fab) (width .1))
(fp_line (start -3.302 -2.102358) (end -3.302 -1.797558) (layer F.Fab) (width .1))
(fp_line (start -3.302 -1.797558) (end -2.2479 -1.797558) (layer F.Fab) (width .1))
(fp_line (start -2.2479 -1.147572) (end -2.2479 -1.452372) (layer F.Fab) (width .1))
(fp_line (start -2.2479 -1.452372) (end -3.302 -1.452372) (layer F.Fab) (width .1))
(fp_line (start -3.302 -1.452372) (end -3.302 -1.147572) (layer F.Fab) (width .1))
(fp_line (start -3.302 -1.147572) (end -2.2479 -1.147572) (layer F.Fab) (width .1))
(fp_line (start -2.2479 -.497586) (end -2.2479 -.802386) (layer F.Fab) (width .1))
(fp_line (start -2.2479 -.802386) (end -3.302 -.802386) (layer F.Fab) (width .1))
(fp_line (start -3.302 -.802386) (end -3.302 -.497586) (layer F.Fab) (width .1))
(fp_line (start -3.302 -.497586) (end -2.2479 -.497586) (layer F.Fab) (width .1))
(fp_line (start -2.2479 .1524) (end -2.2479 -.1524) (layer F.Fab) (width .1))
(fp_line (start -2.2479 -.1524) (end -3.302 -.1524) (layer F.Fab) (width .1))
(fp_line (start -3.302 -.1524) (end -3.302 .1524) (layer F.Fab) (width .1))
(fp_line (start -3.302 .1524) (end -2.2479 .1524) (layer F.Fab) (width .1))
(fp_line (start -2.2479 .802386) (end -2.2479 .497586) (layer F.Fab) (width .1))
(fp_line (start -2.2479 .497586) (end -3.302 .497586) (layer F.Fab) (width .1))
(fp_line (start -3.302 .497586) (end -3.302 .802386) (layer F.Fab) (width .1))
(fp_line (start -3.302 .802386) (end -2.2479 .802386) (layer F.Fab) (width .1))
(fp_line (start -2.2479 1.452372) (end -2.2479 1.147572) (layer F.Fab) (width .1))
(fp_line (start -2.2479 1.147572) (end -3.302 1.147572) (layer F.Fab) (width .1))
(fp_line (start -3.302 1.147572) (end -3.302 1.452372) (layer F.Fab) (width .1))
(fp_line (start -3.302 1.452372) (end -2.2479 1.452372) (layer F.Fab) (width .1))
(fp_line (start -2.2479 2.102358) (end -2.2479 1.797558) (layer F.Fab) (width .1))
(fp_line (start -2.2479 1.797558) (end -3.302 1.797558) (layer F.Fab) (width .1))
(fp_line (start -3.302 1.797558) (end -3.302 2.102358) (layer F.Fab) (width .1))
(fp_line (start -3.302 2.102358) (end -2.2479 2.102358) (layer F.Fab) (width .1))
(fp_line (start 2.2479 1.797558) (end 2.2479 2.102358) (layer F.Fab) (width .1))
(fp_line (start 2.2479 2.102358) (end 3.302 2.102358) (layer F.Fab) (width .1))
(fp_line (start 3.302 2.102358) (end 3.302 1.797558) (layer F.Fab) (width .1))
(fp_line (start 3.302 1.797558) (end 2.2479 1.797558) (layer F.Fab) (width .1))
(fp_line (start 2.2479 1.147572) (end 2.2479 1.452372) (layer F.Fab) (width .1))
(fp_line (start 2.2479 1.452372) (end 3.302 1.452372) (layer F.Fab) (width .1))
(fp_line (start 3.302 1.452372) (end 3.302 1.147572) (layer F.Fab) (width .1))
(fp_line (start 3.302 1.147572) (end 2.2479 1.147572) (layer F.Fab) (width .1))
(fp_line (start 2.2479 .497586) (end 2.2479 .802386) (layer F.Fab) (width .1))
(fp_line (start 2.2479 .802386) (end 3.302 .802386) (layer F.Fab) (width .1))
(fp_line (start 3.302 .802386) (end 3.302 .497586) (layer F.Fab) (width .1))
(fp_line (start 3.302 .497586) (end 2.2479 .497586) (layer F.Fab) (width .1))
(fp_line (start 2.2479 -.1524) (end 2.2479 .1524) (layer F.Fab) (width .1))
(fp_line (start 2.2479 .1524) (end 3.302 .1524) (layer F.Fab) (width .1))
(fp_line (start 3.302 .1524) (end 3.302 -.1524) (layer F.Fab) (width .1))
(fp_line (start 3.302 -.1524) (end 2.2479 -.1524) (layer F.Fab) (width .1))
(fp_line (start 2.2479 -.802386) (end 2.2479 -.497586) (layer F.Fab) (width .1))
(fp_line (start 2.2479 -.497586) (end 3.302 -.497586) (layer F.Fab) (width .1))
(fp_line (start 3.302 -.497586) (end 3.302 -.802386) (layer F.Fab) (width .1))
(fp_line (start 3.302 -.802386) (end 2.2479 -.802386) (layer F.Fab) (width .1))
(fp_line (start 2.2479 -1.452372) (end 2.2479 -1.147572) (layer F.Fab) (width .1))
(fp_line (start 2.2479 -1.147572) (end 3.302 -1.147572) (layer F.Fab) (width .1))
(fp_line (start 3.302 -1.147572) (end 3.302 -1.452372) (layer F.Fab) (width .1))
(fp_line (start 3.302 -1.452372) (end 2.2479 -1.452372) (layer F.Fab) (width .1))
(fp_line (start 2.2479 -2.102358) (end 2.2479 -1.797558) (layer F.Fab) (width .1))
(fp_line (start 2.2479 -1.797558) (end 3.302 -1.797558) (layer F.Fab) (width .1))
(fp_line (start 3.302 -1.797558) (end 3.302 -2.102358) (layer F.Fab) (width .1))
(fp_line (start 3.302 -2.102358) (end 2.2479 -2.102358) (layer F.Fab) (width .1))
(fp_line (start -3.905999 2.381358) (end -3.905999 -2.381358) (layer F.CrtYd) (width .05))
(fp_line (start -3.905999 -2.381358) (end -2.5019 -2.381358) (layer F.CrtYd) (width .05))
(fp_line (start -2.5019 -2.381358) (end -2.5019 -2.8067) (layer F.CrtYd) (width .05))
(fp_line (start -2.5019 -2.8067) (end 2.5019 -2.8067) (layer F.CrtYd) (width .05))
(fp_line (start 2.5019 -2.8067) (end 2.5019 -2.381358) (layer F.CrtYd) (width .05))
(fp_line (start 3.905999 -2.381358) (end 2.5019 -2.381358) (layer F.CrtYd) (width .05))
(fp_line (start 3.905999 -2.381358) (end 3.905999 2.381358) (layer F.CrtYd) (width .05))
(fp_line (start 3.905999 2.381358) (end 2.5019 2.381358) (layer F.CrtYd) (width .05))
(fp_line (start 2.5019 2.381358) (end 2.5019 2.8067) (layer F.CrtYd) (width .05))
(fp_line (start 2.5019 2.8067) (end -2.5019 2.8067) (layer F.CrtYd) (width .05))
(fp_line (start -2.5019 2.8067) (end -2.5019 2.381358) (layer F.CrtYd) (width .05))
(fp_line (start -3.905999 2.381358) (end -2.5019 2.381358) (layer F.CrtYd) (width .05))
(fp_line (start -2.2479 0) (end -2.2479 -4.8387) (layer Cmts.User) (width 0))
(fp_line (start 2.2479 0) (end 2.2479 -4.8387) (layer Cmts.User) (width 0))
(fp_line (start -2.2479 -4.4577) (end 2.2479 -4.4577) (layer Cmts.User) (width 0))
(fp_line (start -2.2479 -4.4577) (end -1.9939 -4.5847) (layer Cmts.User) (width 0))
(fp_line (start -2.2479 -4.4577) (end -1.9939 -4.3307) (layer Cmts.User) (width 0))
(fp_line (start -1.9939 -4.5847) (end -1.9939 -4.3307) (layer Cmts.User) (width 0))
(fp_line (start 2.2479 -4.4577) (end 1.9939 -4.5847) (layer Cmts.User) (width 0))
(fp_line (start 2.2479 -4.4577) (end 1.9939 -4.3307) (layer Cmts.User) (width 0))
(fp_line (start 1.9939 -4.5847) (end 1.9939 -4.3307) (layer Cmts.User) (width 0))
(fp_line (start -3.302 0) (end -3.302 -6.7437) (layer Cmts.User) (width 0))
(fp_line (start 3.302 0) (end 3.302 -6.7437) (layer Cmts.User) (width 0))
(fp_line (start -3.302 -6.3627) (end 3.302 -6.3627) (layer Cmts.User) (width 0))
(fp_line (start -3.302 -6.3627) (end -3.048 -6.4897) (layer Cmts.User) (width 0))
(fp_line (start -3.302 -6.3627) (end -3.048 -6.2357) (layer Cmts.User) (width 0))
(fp_line (start -3.048 -6.4897) (end -3.048 -6.2357) (layer Cmts.User) (width 0))
(fp_line (start 3.302 -6.3627) (end 3.048 -6.4897) (layer Cmts.User) (width 0))
(fp_line (start 3.302 -6.3627) (end 3.048 -6.2357) (layer Cmts.User) (width 0))
(fp_line (start 3.048 -6.4897) (end 3.048 -6.2357) (layer Cmts.User) (width 0))
(fp_line (start 0 -2.5527) (end 5.1689 -2.5527) (layer Cmts.User) (width 0))
(fp_line (start 0 2.5527) (end 5.1689 2.5527) (layer Cmts.User) (width 0))
(fp_line (start 4.7879 -2.5527) (end 4.7879 2.5527) (layer Cmts.User) (width 0))
(fp_line (start 4.7879 -2.5527) (end 4.6609 -2.2987) (layer Cmts.User) (width 0))
(fp_line (start 4.7879 -2.5527) (end 4.9149 -2.2987) (layer Cmts.User) (width 0))
(fp_line (start 4.6609 -2.2987) (end 4.9149 -2.2987) (layer Cmts.User) (width 0))
(fp_line (start 4.7879 2.5527) (end 4.6609 2.2987) (layer Cmts.User) (width 0))
(fp_line (start 4.7879 2.5527) (end 4.9149 2.2987) (layer Cmts.User) (width 0))
(fp_line (start 4.6609 2.2987) (end 4.9149 2.2987) (layer Cmts.User) (width 0))
(fp_line (start -2.94995 -1.949958) (end -5.87095 -1.949958) (layer Cmts.User) (width 0))
(fp_line (start -2.94995 -1.299972) (end -5.87095 -1.299972) (layer Cmts.User) (width 0))
(fp_line (start -5.48995 -1.949958) (end -5.48995 -3.219958) (layer Cmts.User) (width 0))
(fp_line (start -5.48995 -1.299972) (end -5.48995 -.029972) (layer Cmts.User) (width 0))
(fp_line (start -5.48995 -1.949958) (end -5.61695 -2.203958) (layer Cmts.User) (width 0))
(fp_line (start -5.48995 -1.949958) (end -5.36295 -2.203958) (layer Cmts.User) (width 0))
(fp_line (start -5.61695 -2.203958) (end -5.36295 -2.203958) (layer Cmts.User) (width 0))
(fp_line (start -5.48995 -1.299972) (end -5.61695 -1.045972) (layer Cmts.User) (width 0))
(fp_line (start -5.48995 -1.299972) (end -5.36295 -1.045972) (layer Cmts.User) (width 0))
(fp_line (start -5.61695 -1.045972) (end -5.36295 -1.045972) (layer Cmts.User) (width 0))
(fp_line (start -3.302 0) (end -3.302 4.8387) (layer Cmts.User) (width 0))
(fp_line (start -2.54 0) (end -2.54 4.8387) (layer Cmts.User) (width 0))
(fp_line (start -3.302 4.4577) (end -4.572 4.4577) (layer Cmts.User) (width 0))
(fp_line (start -2.54 4.4577) (end -1.27 4.4577) (layer Cmts.User) (width 0))
(fp_line (start -3.302 4.4577) (end -3.556 4.3307) (layer Cmts.User) (width 0))
(fp_line (start -3.302 4.4577) (end -3.556 4.5847) (layer Cmts.User) (width 0))
(fp_line (start -3.556 4.3307) (end -3.556 4.5847) (layer Cmts.User) (width 0))
(fp_line (start -2.54 4.4577) (end -2.286 4.3307) (layer Cmts.User) (width 0))
(fp_line (start -2.54 4.4577) (end -2.286 4.5847) (layer Cmts.User) (width 0))
(fp_line (start -2.286 4.3307) (end -2.286 4.5847) (layer Cmts.User) (width 0))
(fp_line (start -2.3749 2.6797) (end 2.3749 2.6797) (layer F.SilkS) (width .12))
(fp_line (start 2.3749 2.6797) (end 2.3749 2.460098) (layer F.SilkS) (width .12))
(fp_line (start 2.3749 -2.6797) (end -2.3749 -2.6797) (layer F.SilkS) (width .12))
(fp_line (start -2.3749 -2.6797) (end -2.3749 -2.460098) (layer F.SilkS) (width .12))
(fp_line (start -2.2479 2.5527) (end 2.2479 2.5527) (layer F.Fab) (width .1))
(fp_line (start 2.2479 2.5527) (end 2.2479 -2.5527) (layer F.Fab) (width .1))
(fp_line (start 2.2479 -2.5527) (end -2.2479 -2.5527) (layer F.Fab) (width .1))
(fp_line (start -2.2479 -2.5527) (end -2.2479 2.5527) (layer F.Fab) (width .1))
(fp_line (start -2.3749 2.460098) (end -2.3749 2.6797) (layer F.SilkS) (width .12))
(fp_line (start 2.3749 -2.460098) (end 2.3749 -2.6797) (layer F.SilkS) (width .12))
(fp_poly (pts (xy 4.159999 .459486) (xy 4.159999 .840486) (xy 3.905999 .840486) (xy 3.905999 .459486)) (layer F.SilkS) (width .1))
(fp_line (start -3.905999 2.381358) (end -3.905999 -2.381358) (layer F.CrtYd) (width .05))
(fp_line (start -3.905999 -2.381358) (end -2.5019 -2.381358) (layer F.CrtYd) (width .05))
(fp_line (start -2.5019 -2.381358) (end -2.5019 -2.8067) (layer F.CrtYd) (width .05))
(fp_line (start -2.5019 -2.8067) (end 2.5019 -2.8067) (layer F.CrtYd) (width .05))
(fp_line (start 2.5019 -2.8067) (end 2.5019 -2.381358) (layer F.CrtYd) (width .05))
(fp_line (start 2.5019 -2.381358) (end 3.905999 -2.381358) (layer F.CrtYd) (width .05))
(fp_line (start 3.905999 -2.381358) (end 3.905999 2.381358) (layer F.CrtYd) (width .05))
(fp_line (start 3.905999 2.381358) (end 2.5019 2.381358) (layer F.CrtYd) (width .05))
(fp_line (start 2.5019 2.381358) (end 2.5019 2.8067) (layer F.CrtYd) (width .05))
(fp_line (start 2.5019 2.8067) (end -2.5019 2.8067) (layer F.CrtYd) (width .05))
(fp_line (start -2.5019 2.8067) (end -2.5019 2.381358) (layer F.CrtYd) (width .05))
(fp_line (start -2.5019 2.381358) (end -3.905999 2.381358) (layer F.CrtYd) (width .05))
(fp_arc (start 0 -2.5527) (end -.007742 -.064839) (angle -180)(layer F.Fab) (width .1))
(pad 1 smd rect (at -2.949948 -1.949958) (size 1.404099 .3548) (layers F.Cu F.Paste F.Mask))
(pad 2 smd rect (at -2.949948 -1.299972) (size 1.404099 .3548) (layers F.Cu F.Paste F.Mask))
(pad 3 smd rect (at -2.949948 -.649986) (size 1.404099 .3548) (layers F.Cu F.Paste F.Mask))
(pad 4 smd rect (at -2.949948 0) (size 1.404099 .3548) (layers F.Cu F.Paste F.Mask))
(pad 5 smd rect (at -2.949948 .649986) (size 1.404099 .3548) (layers F.Cu F.Paste F.Mask))
(pad 6 smd rect (at -2.949948 1.299972) (size 1.404099 .3548) (layers F.Cu F.Paste F.Mask))
(pad 7 smd rect (at -2.949948 1.949958) (size 1.404099 .3548) (layers F.Cu F.Paste F.Mask))
(pad 8 smd rect (at 2.949948 1.949958) (size 1.404099 .3548) (layers F.Cu F.Paste F.Mask))
(pad 9 smd rect (at 2.949948 1.299972) (size 1.404099 .3548) (layers F.Cu F.Paste F.Mask))
(pad 10 smd rect (at 2.949948 .649986) (size 1.404099 .3548) (layers F.Cu F.Paste F.Mask))
(pad 11 smd rect (at 2.949948 0) (size 1.404099 .3548) (layers F.Cu F.Paste F.Mask))
(pad 12 smd rect (at 2.949948 -.649986) (size 1.404099 .3548) (layers F.Cu F.Paste F.Mask))
(pad 13 smd rect (at 2.949948 -1.299972) (size 1.404099 .3548) (layers F.Cu F.Paste F.Mask))
(pad 14 smd rect (at 2.949948 -1.949958) (size 1.404099 .3548) (layers F.Cu F.Paste F.Mask))
)

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,3 @@
(fp_lib_table
(lib (name "footprints")(type "KiCad")(uri "${KIPRJMOD}/footprints.pretty")(options "")(descr ""))
)

View File

@ -0,0 +1,3 @@
(sym_lib_table
(lib (name "2022-06-26_16-28-11")(type "KiCad")(uri "${KIPRJMOD}/2022-06-26_16-28-11.kicad_sym")(options "")(descr ""))
)

View File

@ -0,0 +1,137 @@
G04 #@! TF.GenerationSoftware,KiCad,Pcbnew,(6.0.4)*
G04 #@! TF.CreationDate,2022-06-28T09:06:08+02:00*
G04 #@! TF.ProjectId,LogicAnalyzer,4c6f6769-6341-46e6-916c-797a65722e6b,rev?*
G04 #@! TF.SameCoordinates,Original*
G04 #@! TF.FileFunction,Soldermask,Bot*
G04 #@! TF.FilePolarity,Negative*
%FSLAX46Y46*%
G04 Gerber Fmt 4.6, Leading zero omitted, Abs format (unit mm)*
G04 Created by KiCad (PCBNEW (6.0.4)) date 2022-06-28 09:06:08*
%MOMM*%
%LPD*%
G01*
G04 APERTURE LIST*
%ADD10O,1.500000X1.500000*%
%ADD11O,1.800000X1.800000*%
%ADD12O,1.700000X1.700000*%
%ADD13R,1.700000X1.700000*%
%ADD14C,5.600000*%
%ADD15C,3.600000*%
G04 APERTURE END LIST*
D10*
X105760000Y-67815000D03*
D11*
X105460000Y-64785000D03*
D10*
X110610000Y-67815000D03*
D11*
X110910000Y-64785000D03*
D12*
X99295000Y-64655000D03*
X99295000Y-67195000D03*
D13*
X99295000Y-69735000D03*
D12*
X99295000Y-72275000D03*
X99295000Y-74815000D03*
X99295000Y-77355000D03*
X99295000Y-79895000D03*
D13*
X99295000Y-82435000D03*
D12*
X99295000Y-84975000D03*
X99295000Y-87515000D03*
X99295000Y-90055000D03*
X99295000Y-92595000D03*
D13*
X99295000Y-95135000D03*
D12*
X99295000Y-97675000D03*
X99295000Y-100215000D03*
X99295000Y-102755000D03*
X99295000Y-105295000D03*
D13*
X99295000Y-107835000D03*
D12*
X99295000Y-110375000D03*
X99295000Y-112915000D03*
X117075000Y-112915000D03*
X117075000Y-110375000D03*
D13*
X117075000Y-107835000D03*
D12*
X117075000Y-105295000D03*
X117075000Y-102755000D03*
X117075000Y-100215000D03*
X117075000Y-97675000D03*
D13*
X117075000Y-95135000D03*
D12*
X117075000Y-92595000D03*
X117075000Y-90055000D03*
X117075000Y-87515000D03*
X117075000Y-84975000D03*
D13*
X117075000Y-82435000D03*
D12*
X117075000Y-79895000D03*
X117075000Y-77355000D03*
X117075000Y-74815000D03*
X117075000Y-72275000D03*
D13*
X117075000Y-69735000D03*
D12*
X117075000Y-67195000D03*
X117075000Y-64655000D03*
X105645000Y-112685000D03*
D13*
X108185000Y-112685000D03*
D12*
X110725000Y-112685000D03*
D14*
X126400000Y-113100000D03*
D15*
X126400000Y-113100000D03*
D14*
X77200000Y-65500000D03*
D15*
X77200000Y-65500000D03*
X126400000Y-66400000D03*
D14*
X126400000Y-66400000D03*
X76400000Y-113200000D03*
D15*
X76400000Y-113200000D03*
D13*
X77025000Y-72200000D03*
D12*
X74485000Y-72200000D03*
X77025000Y-74740000D03*
X74485000Y-74740000D03*
X77025000Y-77280000D03*
X74485000Y-77280000D03*
X77025000Y-79820000D03*
X74485000Y-79820000D03*
X77025000Y-82360000D03*
X74485000Y-82360000D03*
X77025000Y-84900000D03*
X74485000Y-84900000D03*
X77025000Y-87440000D03*
X74485000Y-87440000D03*
X77025000Y-89980000D03*
X74485000Y-89980000D03*
X77025000Y-92520000D03*
X74485000Y-92520000D03*
X77025000Y-95060000D03*
X74485000Y-95060000D03*
X77025000Y-97600000D03*
X74485000Y-97600000D03*
X77025000Y-100140000D03*
X74485000Y-100140000D03*
X77025000Y-102680000D03*
X74485000Y-102680000D03*
X77025000Y-105220000D03*
X74485000Y-105220000D03*
X77025000Y-107760000D03*
X74485000Y-107760000D03*
M02*

View File

@ -0,0 +1,15 @@
G04 #@! TF.GenerationSoftware,KiCad,Pcbnew,(6.0.4)*
G04 #@! TF.CreationDate,2022-06-28T09:06:08+02:00*
G04 #@! TF.ProjectId,LogicAnalyzer,4c6f6769-6341-46e6-916c-797a65722e6b,rev?*
G04 #@! TF.SameCoordinates,Original*
G04 #@! TF.FileFunction,Paste,Bot*
G04 #@! TF.FilePolarity,Positive*
%FSLAX46Y46*%
G04 Gerber Fmt 4.6, Leading zero omitted, Abs format (unit mm)*
G04 Created by KiCad (PCBNEW (6.0.4)) date 2022-06-28 09:06:08*
%MOMM*%
%LPD*%
G01*
G04 APERTURE LIST*
G04 APERTURE END LIST*
M02*

View File

@ -0,0 +1,138 @@
G04 #@! TF.GenerationSoftware,KiCad,Pcbnew,(6.0.4)*
G04 #@! TF.CreationDate,2022-06-28T09:06:08+02:00*
G04 #@! TF.ProjectId,LogicAnalyzer,4c6f6769-6341-46e6-916c-797a65722e6b,rev?*
G04 #@! TF.SameCoordinates,Original*
G04 #@! TF.FileFunction,Legend,Bot*
G04 #@! TF.FilePolarity,Positive*
%FSLAX46Y46*%
G04 Gerber Fmt 4.6, Leading zero omitted, Abs format (unit mm)*
G04 Created by KiCad (PCBNEW (6.0.4)) date 2022-06-28 09:06:08*
%MOMM*%
%LPD*%
G01*
G04 APERTURE LIST*
%ADD10O,1.500000X1.500000*%
%ADD11O,1.800000X1.800000*%
%ADD12O,1.700000X1.700000*%
%ADD13R,1.700000X1.700000*%
%ADD14C,5.600000*%
%ADD15C,3.600000*%
G04 APERTURE END LIST*
%LPC*%
D10*
X105760000Y-67815000D03*
D11*
X105460000Y-64785000D03*
D10*
X110610000Y-67815000D03*
D11*
X110910000Y-64785000D03*
D12*
X99295000Y-64655000D03*
X99295000Y-67195000D03*
D13*
X99295000Y-69735000D03*
D12*
X99295000Y-72275000D03*
X99295000Y-74815000D03*
X99295000Y-77355000D03*
X99295000Y-79895000D03*
D13*
X99295000Y-82435000D03*
D12*
X99295000Y-84975000D03*
X99295000Y-87515000D03*
X99295000Y-90055000D03*
X99295000Y-92595000D03*
D13*
X99295000Y-95135000D03*
D12*
X99295000Y-97675000D03*
X99295000Y-100215000D03*
X99295000Y-102755000D03*
X99295000Y-105295000D03*
D13*
X99295000Y-107835000D03*
D12*
X99295000Y-110375000D03*
X99295000Y-112915000D03*
X117075000Y-112915000D03*
X117075000Y-110375000D03*
D13*
X117075000Y-107835000D03*
D12*
X117075000Y-105295000D03*
X117075000Y-102755000D03*
X117075000Y-100215000D03*
X117075000Y-97675000D03*
D13*
X117075000Y-95135000D03*
D12*
X117075000Y-92595000D03*
X117075000Y-90055000D03*
X117075000Y-87515000D03*
X117075000Y-84975000D03*
D13*
X117075000Y-82435000D03*
D12*
X117075000Y-79895000D03*
X117075000Y-77355000D03*
X117075000Y-74815000D03*
X117075000Y-72275000D03*
D13*
X117075000Y-69735000D03*
D12*
X117075000Y-67195000D03*
X117075000Y-64655000D03*
X105645000Y-112685000D03*
D13*
X108185000Y-112685000D03*
D12*
X110725000Y-112685000D03*
D14*
X126400000Y-113100000D03*
D15*
X126400000Y-113100000D03*
D14*
X77200000Y-65500000D03*
D15*
X77200000Y-65500000D03*
X126400000Y-66400000D03*
D14*
X126400000Y-66400000D03*
X76400000Y-113200000D03*
D15*
X76400000Y-113200000D03*
D13*
X77025000Y-72200000D03*
D12*
X74485000Y-72200000D03*
X77025000Y-74740000D03*
X74485000Y-74740000D03*
X77025000Y-77280000D03*
X74485000Y-77280000D03*
X77025000Y-79820000D03*
X74485000Y-79820000D03*
X77025000Y-82360000D03*
X74485000Y-82360000D03*
X77025000Y-84900000D03*
X74485000Y-84900000D03*
X77025000Y-87440000D03*
X74485000Y-87440000D03*
X77025000Y-89980000D03*
X74485000Y-89980000D03*
X77025000Y-92520000D03*
X74485000Y-92520000D03*
X77025000Y-95060000D03*
X74485000Y-95060000D03*
X77025000Y-97600000D03*
X74485000Y-97600000D03*
X77025000Y-100140000D03*
X74485000Y-100140000D03*
X77025000Y-102680000D03*
X74485000Y-102680000D03*
X77025000Y-105220000D03*
X74485000Y-105220000D03*
X77025000Y-107760000D03*
X74485000Y-107760000D03*
M02*

View File

@ -0,0 +1,26 @@
G04 #@! TF.GenerationSoftware,KiCad,Pcbnew,(6.0.4)*
G04 #@! TF.CreationDate,2022-06-28T09:06:08+02:00*
G04 #@! TF.ProjectId,LogicAnalyzer,4c6f6769-6341-46e6-916c-797a65722e6b,rev?*
G04 #@! TF.SameCoordinates,Original*
G04 #@! TF.FileFunction,Profile,NP*
%FSLAX46Y46*%
G04 Gerber Fmt 4.6, Leading zero omitted, Abs format (unit mm)*
G04 Created by KiCad (PCBNEW (6.0.4)) date 2022-06-28 09:06:08*
%MOMM*%
%LPD*%
G01*
G04 APERTURE LIST*
G04 #@! TA.AperFunction,Profile*
%ADD10C,0.100000*%
G04 #@! TD*
G04 APERTURE END LIST*
D10*
X130000000Y-61600000D02*
X73000000Y-61600000D01*
X73000000Y-61600000D02*
X73000000Y-116800000D01*
X73000000Y-116800000D02*
X130000000Y-116800000D01*
X130000000Y-116800000D02*
X130000000Y-61600000D01*
M02*

View File

@ -0,0 +1,232 @@
G04 #@! TF.GenerationSoftware,KiCad,Pcbnew,(6.0.4)*
G04 #@! TF.CreationDate,2022-06-28T09:06:08+02:00*
G04 #@! TF.ProjectId,LogicAnalyzer,4c6f6769-6341-46e6-916c-797a65722e6b,rev?*
G04 #@! TF.SameCoordinates,Original*
G04 #@! TF.FileFunction,Soldermask,Top*
G04 #@! TF.FilePolarity,Negative*
%FSLAX46Y46*%
G04 Gerber Fmt 4.6, Leading zero omitted, Abs format (unit mm)*
G04 Created by KiCad (PCBNEW (6.0.4)) date 2022-06-28 09:06:08*
%MOMM*%
%LPD*%
G01*
G04 APERTURE LIST*
%ADD10O,1.500000X1.500000*%
%ADD11O,1.800000X1.800000*%
%ADD12R,3.500000X1.700000*%
%ADD13O,1.700000X1.700000*%
%ADD14R,1.700000X1.700000*%
%ADD15R,1.700000X3.500000*%
%ADD16C,5.600000*%
%ADD17C,3.600000*%
G04 APERTURE END LIST*
D10*
X105760000Y-67815000D03*
D11*
X105460000Y-64785000D03*
D10*
X110610000Y-67815000D03*
D11*
X110910000Y-64785000D03*
D12*
X98395000Y-64655000D03*
D13*
X99295000Y-64655000D03*
X99295000Y-67195000D03*
D12*
X98395000Y-67195000D03*
D14*
X99295000Y-69735000D03*
D12*
X98395000Y-69735000D03*
X98395000Y-72275000D03*
D13*
X99295000Y-72275000D03*
D12*
X98395000Y-74815000D03*
D13*
X99295000Y-74815000D03*
X99295000Y-77355000D03*
D12*
X98395000Y-77355000D03*
D13*
X99295000Y-79895000D03*
D12*
X98395000Y-79895000D03*
D14*
X99295000Y-82435000D03*
D12*
X98395000Y-82435000D03*
D13*
X99295000Y-84975000D03*
D12*
X98395000Y-84975000D03*
D13*
X99295000Y-87515000D03*
D12*
X98395000Y-87515000D03*
D13*
X99295000Y-90055000D03*
D12*
X98395000Y-90055000D03*
D13*
X99295000Y-92595000D03*
D12*
X98395000Y-92595000D03*
D14*
X99295000Y-95135000D03*
D12*
X98395000Y-95135000D03*
X98395000Y-97675000D03*
D13*
X99295000Y-97675000D03*
D12*
X98395000Y-100215000D03*
D13*
X99295000Y-100215000D03*
X99295000Y-102755000D03*
D12*
X98395000Y-102755000D03*
X98395000Y-105295000D03*
D13*
X99295000Y-105295000D03*
D12*
X98395000Y-107835000D03*
D14*
X99295000Y-107835000D03*
D12*
X98395000Y-110375000D03*
D13*
X99295000Y-110375000D03*
D12*
X98395000Y-112915000D03*
D13*
X99295000Y-112915000D03*
D12*
X117975000Y-112915000D03*
D13*
X117075000Y-112915000D03*
X117075000Y-110375000D03*
D12*
X117975000Y-110375000D03*
X117975000Y-107835000D03*
D14*
X117075000Y-107835000D03*
D12*
X117975000Y-105295000D03*
D13*
X117075000Y-105295000D03*
X117075000Y-102755000D03*
D12*
X117975000Y-102755000D03*
D13*
X117075000Y-100215000D03*
D12*
X117975000Y-100215000D03*
X117975000Y-97675000D03*
D13*
X117075000Y-97675000D03*
D12*
X117975000Y-95135000D03*
D14*
X117075000Y-95135000D03*
D13*
X117075000Y-92595000D03*
D12*
X117975000Y-92595000D03*
X117975000Y-90055000D03*
D13*
X117075000Y-90055000D03*
X117075000Y-87515000D03*
D12*
X117975000Y-87515000D03*
X117975000Y-84975000D03*
D13*
X117075000Y-84975000D03*
D14*
X117075000Y-82435000D03*
D12*
X117975000Y-82435000D03*
D13*
X117075000Y-79895000D03*
D12*
X117975000Y-79895000D03*
X117975000Y-77355000D03*
D13*
X117075000Y-77355000D03*
X117075000Y-74815000D03*
D12*
X117975000Y-74815000D03*
D13*
X117075000Y-72275000D03*
D12*
X117975000Y-72275000D03*
X117975000Y-69735000D03*
D14*
X117075000Y-69735000D03*
D12*
X117975000Y-67195000D03*
D13*
X117075000Y-67195000D03*
D12*
X117975000Y-64655000D03*
D13*
X117075000Y-64655000D03*
X105645000Y-112685000D03*
D15*
X105645000Y-113585000D03*
X108185000Y-113585000D03*
D14*
X108185000Y-112685000D03*
D13*
X110725000Y-112685000D03*
D15*
X110725000Y-113585000D03*
D16*
X126400000Y-113100000D03*
D17*
X126400000Y-113100000D03*
D16*
X77200000Y-65500000D03*
D17*
X77200000Y-65500000D03*
X126400000Y-66400000D03*
D16*
X126400000Y-66400000D03*
D17*
X76400000Y-113200000D03*
D16*
X76400000Y-113200000D03*
D14*
X77025000Y-72200000D03*
D13*
X74485000Y-72200000D03*
X77025000Y-74740000D03*
X74485000Y-74740000D03*
X77025000Y-77280000D03*
X74485000Y-77280000D03*
X77025000Y-79820000D03*
X74485000Y-79820000D03*
X77025000Y-82360000D03*
X74485000Y-82360000D03*
X77025000Y-84900000D03*
X74485000Y-84900000D03*
X77025000Y-87440000D03*
X74485000Y-87440000D03*
X77025000Y-89980000D03*
X74485000Y-89980000D03*
X77025000Y-92520000D03*
X74485000Y-92520000D03*
X77025000Y-95060000D03*
X74485000Y-95060000D03*
X77025000Y-97600000D03*
X74485000Y-97600000D03*
X77025000Y-100140000D03*
X74485000Y-100140000D03*
X77025000Y-102680000D03*
X74485000Y-102680000D03*
X77025000Y-105220000D03*
X74485000Y-105220000D03*
X77025000Y-107760000D03*
X74485000Y-107760000D03*
M02*

View File

@ -0,0 +1,15 @@
G04 #@! TF.GenerationSoftware,KiCad,Pcbnew,(6.0.4)*
G04 #@! TF.CreationDate,2022-06-28T09:06:08+02:00*
G04 #@! TF.ProjectId,LogicAnalyzer,4c6f6769-6341-46e6-916c-797a65722e6b,rev?*
G04 #@! TF.SameCoordinates,Original*
G04 #@! TF.FileFunction,Paste,Top*
G04 #@! TF.FilePolarity,Positive*
%FSLAX46Y46*%
G04 Gerber Fmt 4.6, Leading zero omitted, Abs format (unit mm)*
G04 Created by KiCad (PCBNEW (6.0.4)) date 2022-06-28 09:06:08*
%MOMM*%
%LPD*%
G01*
G04 APERTURE LIST*
G04 APERTURE END LIST*
M02*

View File

@ -0,0 +1,23 @@
M48
; DRILL file {KiCad (6.0.4)} date Tue Jun 28 09:06:21 2022
; FORMAT={-:-/ absolute / metric / decimal}
; #@! TF.CreationDate,2022-06-28T09:06:21+02:00
; #@! TF.GenerationSoftware,Kicad,Pcbnew,(6.0.4)
; #@! TF.FileFunction,NonPlated,1,2,NPTH
FMAT,2
METRIC
; #@! TA.AperFunction,NonPlated,NPTH,ComponentDrill
T1C1.500
; #@! TA.AperFunction,NonPlated,NPTH,ComponentDrill
T2C1.800
%
G90
G05
T1
X105.76Y-67.815
X110.61Y-67.815
T2
X105.46Y-64.785
X110.91Y-64.785
T0
M30

View File

@ -0,0 +1,99 @@
M48
; DRILL file {KiCad (6.0.4)} date Tue Jun 28 09:06:21 2022
; FORMAT={-:-/ absolute / metric / decimal}
; #@! TF.CreationDate,2022-06-28T09:06:21+02:00
; #@! TF.GenerationSoftware,Kicad,Pcbnew,(6.0.4)
; #@! TF.FileFunction,Plated,1,2,PTH
FMAT,2
METRIC
; #@! TA.AperFunction,Plated,PTH,ComponentDrill
T1C1.000
; #@! TA.AperFunction,Plated,PTH,ComponentDrill
T2C1.020
; #@! TA.AperFunction,Plated,PTH,ComponentDrill
T3C3.200
%
G90
G05
T1
X74.485Y-72.2
X74.485Y-74.74
X74.485Y-77.28
X74.485Y-79.82
X74.485Y-82.36
X74.485Y-84.9
X74.485Y-87.44
X74.485Y-89.98
X74.485Y-92.52
X74.485Y-95.06
X74.485Y-97.6
X74.485Y-100.14
X74.485Y-102.68
X74.485Y-105.22
X74.485Y-107.76
X77.025Y-72.2
X77.025Y-74.74
X77.025Y-77.28
X77.025Y-79.82
X77.025Y-82.36
X77.025Y-84.9
X77.025Y-87.44
X77.025Y-89.98
X77.025Y-92.52
X77.025Y-95.06
X77.025Y-97.6
X77.025Y-100.14
X77.025Y-102.68
X77.025Y-105.22
X77.025Y-107.76
T2
X99.295Y-64.655
X99.295Y-67.195
X99.295Y-69.735
X99.295Y-72.275
X99.295Y-74.815
X99.295Y-77.355
X99.295Y-79.895
X99.295Y-82.435
X99.295Y-84.975
X99.295Y-87.515
X99.295Y-90.055
X99.295Y-92.595
X99.295Y-95.135
X99.295Y-97.675
X99.295Y-100.215
X99.295Y-102.755
X99.295Y-105.295
X99.295Y-107.835
X99.295Y-110.375
X99.295Y-112.915
X105.645Y-112.685
X108.185Y-112.685
X110.725Y-112.685
X117.075Y-64.655
X117.075Y-67.195
X117.075Y-69.735
X117.075Y-72.275
X117.075Y-74.815
X117.075Y-77.355
X117.075Y-79.895
X117.075Y-82.435
X117.075Y-84.975
X117.075Y-87.515
X117.075Y-90.055
X117.075Y-92.595
X117.075Y-95.135
X117.075Y-97.675
X117.075Y-100.215
X117.075Y-102.755
X117.075Y-105.295
X117.075Y-107.835
X117.075Y-110.375
X117.075Y-112.915
T3
X76.4Y-113.2
X77.2Y-65.5
X126.4Y-66.4
X126.4Y-113.1
T0
M30

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,75 @@
{
"board": {
"active_layer": 31,
"active_layer_preset": "All Copper Layers",
"auto_track_width": true,
"hidden_nets": [],
"high_contrast_mode": 0,
"net_color_mode": 1,
"opacity": {
"pads": 1.0,
"tracks": 1.0,
"vias": 1.0,
"zones": 0.6
},
"ratsnest_display_mode": 0,
"selection_filter": {
"dimensions": true,
"footprints": true,
"graphics": true,
"keepouts": true,
"lockedItems": true,
"otherItems": true,
"pads": true,
"text": true,
"tracks": true,
"vias": true,
"zones": true
},
"visible_items": [
0,
1,
2,
3,
4,
5,
8,
9,
10,
11,
12,
13,
14,
15,
16,
17,
18,
19,
20,
21,
22,
23,
24,
25,
26,
27,
28,
29,
30,
32,
33,
34,
35,
36
],
"visible_layers": "fffffff_ffffffff",
"zone_display_mode": 0
},
"meta": {
"filename": "LogicAnalyzer.kicad_prl",
"version": 3
},
"project": {
"files": []
}
}

View File

@ -0,0 +1,326 @@
{
"board": {
"design_settings": {
"defaults": {
"board_outline_line_width": 0.1,
"copper_line_width": 0.2,
"copper_text_size_h": 1.5,
"copper_text_size_v": 1.5,
"copper_text_thickness": 0.3,
"other_line_width": 0.15,
"silk_line_width": 0.15,
"silk_text_size_h": 1.0,
"silk_text_size_v": 1.0,
"silk_text_thickness": 0.15
},
"diff_pair_dimensions": [],
"drc_exclusions": [],
"rules": {
"min_copper_edge_clearance": 0.0,
"solder_mask_clearance": 0.0,
"solder_mask_min_width": 0.0
},
"track_widths": [],
"via_dimensions": []
},
"layer_presets": []
},
"boards": [],
"cvpcb": {
"equivalence_files": []
},
"erc": {
"erc_exclusions": [],
"meta": {
"version": 0
},
"pin_map": [
[
0,
0,
0,
0,
0,
0,
1,
0,
0,
0,
0,
2
],
[
0,
2,
0,
1,
0,
0,
1,
0,
2,
2,
2,
2
],
[
0,
0,
0,
0,
0,
0,
1,
0,
1,
0,
1,
2
],
[
0,
1,
0,
0,
0,
0,
1,
1,
2,
1,
1,
2
],
[
0,
0,
0,
0,
0,
0,
1,
0,
0,
0,
0,
2
],
[
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
2
],
[
1,
1,
1,
1,
1,
0,
1,
1,
1,
1,
1,
2
],
[
0,
0,
0,
1,
0,
0,
1,
0,
0,
0,
0,
2
],
[
0,
2,
1,
2,
0,
0,
1,
0,
2,
2,
2,
2
],
[
0,
2,
0,
1,
0,
0,
1,
0,
2,
0,
0,
2
],
[
0,
2,
1,
1,
0,
0,
1,
0,
2,
0,
0,
2
],
[
2,
2,
2,
2,
2,
2,
2,
2,
2,
2,
2,
2
]
],
"rule_severities": {
"bus_definition_conflict": "error",
"bus_entry_needed": "error",
"bus_label_syntax": "error",
"bus_to_bus_conflict": "error",
"bus_to_net_conflict": "error",
"different_unit_footprint": "error",
"different_unit_net": "error",
"duplicate_reference": "error",
"duplicate_sheet_names": "error",
"extra_units": "error",
"global_label_dangling": "warning",
"hier_label_mismatch": "error",
"label_dangling": "error",
"lib_symbol_issues": "warning",
"multiple_net_names": "warning",
"net_not_bus_member": "warning",
"no_connect_connected": "warning",
"no_connect_dangling": "warning",
"pin_not_connected": "error",
"pin_not_driven": "error",
"pin_to_pin": "warning",
"power_pin_not_driven": "error",
"similar_labels": "warning",
"unannotated": "error",
"unit_value_mismatch": "error",
"unresolved_variable": "error",
"wire_dangling": "error"
}
},
"libraries": {
"pinned_footprint_libs": [],
"pinned_symbol_libs": []
},
"meta": {
"filename": "LogicAnalyzer.kicad_pro",
"version": 1
},
"net_settings": {
"classes": [
{
"bus_width": 12.0,
"clearance": 0.2,
"diff_pair_gap": 0.25,
"diff_pair_via_gap": 0.25,
"diff_pair_width": 0.2,
"line_style": 0,
"microvia_diameter": 0.3,
"microvia_drill": 0.1,
"name": "Default",
"pcb_color": "rgba(0, 0, 0, 0.000)",
"schematic_color": "rgba(0, 0, 0, 0.000)",
"track_width": 0.25,
"via_diameter": 0.8,
"via_drill": 0.4,
"wire_width": 6.0
}
],
"meta": {
"version": 2
},
"net_colors": null
},
"pcbnew": {
"last_paths": {
"gencad": "",
"idf": "",
"netlist": "",
"specctra_dsn": "",
"step": "",
"vrml": ""
},
"page_layout_descr_file": ""
},
"schematic": {
"annotate_start_num": 0,
"drawing": {
"default_line_thickness": 6.0,
"default_text_size": 50.0,
"field_names": [],
"intersheets_ref_own_page": false,
"intersheets_ref_prefix": "",
"intersheets_ref_short": false,
"intersheets_ref_show": false,
"intersheets_ref_suffix": "",
"junction_size_choice": 3,
"label_size_ratio": 0.375,
"pin_symbol_size": 25.0,
"text_offset_ratio": 0.15
},
"legacy_lib_dir": "",
"legacy_lib_list": [],
"meta": {
"version": 1
},
"net_format_name": "",
"ngspice": {
"fix_include_paths": true,
"fix_passive_vals": false,
"meta": {
"version": 0
},
"model_mode": 0,
"workbook_filename": ""
},
"page_layout_descr_file": "",
"plot_directory": "",
"spice_adjust_passive_values": false,
"spice_external_command": "spice \"%I\"",
"subpart_first_id": 65,
"subpart_id_separator": 0
},
"sheets": [
[
"9dbd0e01-4650-4cf8-82d3-a69ef2ebdc12",
""
]
],
"text_variables": {}
}

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,459 @@
(kicad_symbol_lib (version 20211014) (generator kicad_symbol_editor)
(symbol "Pico" (in_bom yes) (on_board yes)
(property "Reference" "U" (id 0) (at -13.97 27.94 0)
(effects (font (size 1.27 1.27)))
)
(property "Value" "Pico" (id 1) (at 0 19.05 0)
(effects (font (size 1.27 1.27)))
)
(property "Footprint" "RPi_Pico:RPi_Pico_SMD_TH" (id 2) (at 0 0 90)
(effects (font (size 1.27 1.27)) hide)
)
(property "Datasheet" "" (id 3) (at 0 0 0)
(effects (font (size 1.27 1.27)) hide)
)
(symbol "Pico_0_0"
(text "Raspberry Pi Pico" (at 0 21.59 0)
(effects (font (size 1.27 1.27)))
)
)
(symbol "Pico_0_1"
(rectangle (start -15.24 26.67) (end 15.24 -26.67)
(stroke (width 0) (type default) (color 0 0 0 0))
(fill (type background))
)
)
(symbol "Pico_1_1"
(pin bidirectional line (at -17.78 24.13 0) (length 2.54)
(name "GPIO0" (effects (font (size 1.27 1.27))))
(number "1" (effects (font (size 1.27 1.27))))
)
(pin bidirectional line (at -17.78 1.27 0) (length 2.54)
(name "GPIO7" (effects (font (size 1.27 1.27))))
(number "10" (effects (font (size 1.27 1.27))))
)
(pin bidirectional line (at -17.78 -1.27 0) (length 2.54)
(name "GPIO8" (effects (font (size 1.27 1.27))))
(number "11" (effects (font (size 1.27 1.27))))
)
(pin bidirectional line (at -17.78 -3.81 0) (length 2.54)
(name "GPIO9" (effects (font (size 1.27 1.27))))
(number "12" (effects (font (size 1.27 1.27))))
)
(pin power_in line (at -17.78 -6.35 0) (length 2.54)
(name "GND" (effects (font (size 1.27 1.27))))
(number "13" (effects (font (size 1.27 1.27))))
)
(pin bidirectional line (at -17.78 -8.89 0) (length 2.54)
(name "GPIO10" (effects (font (size 1.27 1.27))))
(number "14" (effects (font (size 1.27 1.27))))
)
(pin bidirectional line (at -17.78 -11.43 0) (length 2.54)
(name "GPIO11" (effects (font (size 1.27 1.27))))
(number "15" (effects (font (size 1.27 1.27))))
)
(pin bidirectional line (at -17.78 -13.97 0) (length 2.54)
(name "GPIO12" (effects (font (size 1.27 1.27))))
(number "16" (effects (font (size 1.27 1.27))))
)
(pin bidirectional line (at -17.78 -16.51 0) (length 2.54)
(name "GPIO13" (effects (font (size 1.27 1.27))))
(number "17" (effects (font (size 1.27 1.27))))
)
(pin power_in line (at -17.78 -19.05 0) (length 2.54)
(name "GND" (effects (font (size 1.27 1.27))))
(number "18" (effects (font (size 1.27 1.27))))
)
(pin bidirectional line (at -17.78 -21.59 0) (length 2.54)
(name "GPIO14" (effects (font (size 1.27 1.27))))
(number "19" (effects (font (size 1.27 1.27))))
)
(pin bidirectional line (at -17.78 21.59 0) (length 2.54)
(name "GPIO1" (effects (font (size 1.27 1.27))))
(number "2" (effects (font (size 1.27 1.27))))
)
(pin bidirectional line (at -17.78 -24.13 0) (length 2.54)
(name "GPIO15" (effects (font (size 1.27 1.27))))
(number "20" (effects (font (size 1.27 1.27))))
)
(pin bidirectional line (at 17.78 -24.13 180) (length 2.54)
(name "GPIO16" (effects (font (size 1.27 1.27))))
(number "21" (effects (font (size 1.27 1.27))))
)
(pin bidirectional line (at 17.78 -21.59 180) (length 2.54)
(name "GPIO17" (effects (font (size 1.27 1.27))))
(number "22" (effects (font (size 1.27 1.27))))
)
(pin power_in line (at 17.78 -19.05 180) (length 2.54)
(name "GND" (effects (font (size 1.27 1.27))))
(number "23" (effects (font (size 1.27 1.27))))
)
(pin bidirectional line (at 17.78 -16.51 180) (length 2.54)
(name "GPIO18" (effects (font (size 1.27 1.27))))
(number "24" (effects (font (size 1.27 1.27))))
)
(pin bidirectional line (at 17.78 -13.97 180) (length 2.54)
(name "GPIO19" (effects (font (size 1.27 1.27))))
(number "25" (effects (font (size 1.27 1.27))))
)
(pin bidirectional line (at 17.78 -11.43 180) (length 2.54)
(name "GPIO20" (effects (font (size 1.27 1.27))))
(number "26" (effects (font (size 1.27 1.27))))
)
(pin bidirectional line (at 17.78 -8.89 180) (length 2.54)
(name "GPIO21" (effects (font (size 1.27 1.27))))
(number "27" (effects (font (size 1.27 1.27))))
)
(pin power_in line (at 17.78 -6.35 180) (length 2.54)
(name "GND" (effects (font (size 1.27 1.27))))
(number "28" (effects (font (size 1.27 1.27))))
)
(pin bidirectional line (at 17.78 -3.81 180) (length 2.54)
(name "GPIO22" (effects (font (size 1.27 1.27))))
(number "29" (effects (font (size 1.27 1.27))))
)
(pin power_in line (at -17.78 19.05 0) (length 2.54)
(name "GND" (effects (font (size 1.27 1.27))))
(number "3" (effects (font (size 1.27 1.27))))
)
(pin input line (at 17.78 -1.27 180) (length 2.54)
(name "RUN" (effects (font (size 1.27 1.27))))
(number "30" (effects (font (size 1.27 1.27))))
)
(pin bidirectional line (at 17.78 1.27 180) (length 2.54)
(name "GPIO26_ADC0" (effects (font (size 1.27 1.27))))
(number "31" (effects (font (size 1.27 1.27))))
)
(pin bidirectional line (at 17.78 3.81 180) (length 2.54)
(name "GPIO27_ADC1" (effects (font (size 1.27 1.27))))
(number "32" (effects (font (size 1.27 1.27))))
)
(pin power_in line (at 17.78 6.35 180) (length 2.54)
(name "AGND" (effects (font (size 1.27 1.27))))
(number "33" (effects (font (size 1.27 1.27))))
)
(pin bidirectional line (at 17.78 8.89 180) (length 2.54)
(name "GPIO28_ADC2" (effects (font (size 1.27 1.27))))
(number "34" (effects (font (size 1.27 1.27))))
)
(pin power_in line (at 17.78 11.43 180) (length 2.54)
(name "ADC_VREF" (effects (font (size 1.27 1.27))))
(number "35" (effects (font (size 1.27 1.27))))
)
(pin power_in line (at 17.78 13.97 180) (length 2.54)
(name "3V3" (effects (font (size 1.27 1.27))))
(number "36" (effects (font (size 1.27 1.27))))
)
(pin input line (at 17.78 16.51 180) (length 2.54)
(name "3V3_EN" (effects (font (size 1.27 1.27))))
(number "37" (effects (font (size 1.27 1.27))))
)
(pin bidirectional line (at 17.78 19.05 180) (length 2.54)
(name "GND" (effects (font (size 1.27 1.27))))
(number "38" (effects (font (size 1.27 1.27))))
)
(pin power_in line (at 17.78 21.59 180) (length 2.54)
(name "VSYS" (effects (font (size 1.27 1.27))))
(number "39" (effects (font (size 1.27 1.27))))
)
(pin bidirectional line (at -17.78 16.51 0) (length 2.54)
(name "GPIO2" (effects (font (size 1.27 1.27))))
(number "4" (effects (font (size 1.27 1.27))))
)
(pin power_in line (at 17.78 24.13 180) (length 2.54)
(name "VBUS" (effects (font (size 1.27 1.27))))
(number "40" (effects (font (size 1.27 1.27))))
)
(pin input line (at -2.54 -29.21 90) (length 2.54)
(name "SWCLK" (effects (font (size 1.27 1.27))))
(number "41" (effects (font (size 1.27 1.27))))
)
(pin power_in line (at 0 -29.21 90) (length 2.54)
(name "GND" (effects (font (size 1.27 1.27))))
(number "42" (effects (font (size 1.27 1.27))))
)
(pin bidirectional line (at 2.54 -29.21 90) (length 2.54)
(name "SWDIO" (effects (font (size 1.27 1.27))))
(number "43" (effects (font (size 1.27 1.27))))
)
(pin bidirectional line (at -17.78 13.97 0) (length 2.54)
(name "GPIO3" (effects (font (size 1.27 1.27))))
(number "5" (effects (font (size 1.27 1.27))))
)
(pin bidirectional line (at -17.78 11.43 0) (length 2.54)
(name "GPIO4" (effects (font (size 1.27 1.27))))
(number "6" (effects (font (size 1.27 1.27))))
)
(pin bidirectional line (at -17.78 8.89 0) (length 2.54)
(name "GPIO5" (effects (font (size 1.27 1.27))))
(number "7" (effects (font (size 1.27 1.27))))
)
(pin power_in line (at -17.78 6.35 0) (length 2.54)
(name "GND" (effects (font (size 1.27 1.27))))
(number "8" (effects (font (size 1.27 1.27))))
)
(pin bidirectional line (at -17.78 3.81 0) (length 2.54)
(name "GPIO6" (effects (font (size 1.27 1.27))))
(number "9" (effects (font (size 1.27 1.27))))
)
)
)
(symbol "RP2040" (pin_names (offset 1.016)) (in_bom yes) (on_board yes)
(property "Reference" "U" (id 0) (at -29.21 49.53 0)
(effects (font (size 1.27 1.27)))
)
(property "Value" "RP2040" (id 1) (at 24.13 -49.53 0)
(effects (font (size 1.27 1.27)))
)
(property "Footprint" "RP2040_minimal:RP2040-QFN-56" (id 2) (at -19.05 0 0)
(effects (font (size 1.27 1.27)) hide)
)
(property "Datasheet" "" (id 3) (at -19.05 0 0)
(effects (font (size 1.27 1.27)) hide)
)
(symbol "RP2040_0_0"
(text "Raspberry Pi" (at 0 5.08 0)
(effects (font (size 2.54 2.54)))
)
(text "RP2040" (at 0 0 0)
(effects (font (size 2.54 2.54)))
)
)
(symbol "RP2040_0_1"
(rectangle (start 29.21 48.26) (end -29.21 -48.26)
(stroke (width 0.254) (type default) (color 0 0 0 0))
(fill (type background))
)
)
(symbol "RP2040_1_1"
(pin power_in line (at 8.89 50.8 270) (length 2.54)
(name "IOVDD" (effects (font (size 1.27 1.27))))
(number "1" (effects (font (size 1.27 1.27))))
)
(pin power_in line (at 6.35 50.8 270) (length 2.54)
(name "IOVDD" (effects (font (size 1.27 1.27))))
(number "10" (effects (font (size 1.27 1.27))))
)
(pin bidirectional line (at 31.75 12.7 180) (length 2.54)
(name "GPIO8" (effects (font (size 1.27 1.27))))
(number "11" (effects (font (size 1.27 1.27))))
)
(pin bidirectional line (at 31.75 10.16 180) (length 2.54)
(name "GPIO9" (effects (font (size 1.27 1.27))))
(number "12" (effects (font (size 1.27 1.27))))
)
(pin bidirectional line (at 31.75 7.62 180) (length 2.54)
(name "GPIO10" (effects (font (size 1.27 1.27))))
(number "13" (effects (font (size 1.27 1.27))))
)
(pin bidirectional line (at 31.75 5.08 180) (length 2.54)
(name "GPIO11" (effects (font (size 1.27 1.27))))
(number "14" (effects (font (size 1.27 1.27))))
)
(pin bidirectional line (at 31.75 2.54 180) (length 2.54)
(name "GPIO12" (effects (font (size 1.27 1.27))))
(number "15" (effects (font (size 1.27 1.27))))
)
(pin bidirectional line (at 31.75 0 180) (length 2.54)
(name "GPIO13" (effects (font (size 1.27 1.27))))
(number "16" (effects (font (size 1.27 1.27))))
)
(pin bidirectional line (at 31.75 -2.54 180) (length 2.54)
(name "GPIO14" (effects (font (size 1.27 1.27))))
(number "17" (effects (font (size 1.27 1.27))))
)
(pin bidirectional line (at 31.75 -5.08 180) (length 2.54)
(name "GPIO15" (effects (font (size 1.27 1.27))))
(number "18" (effects (font (size 1.27 1.27))))
)
(pin passive line (at -12.7 -50.8 90) (length 2.54)
(name "TESTEN" (effects (font (size 1.27 1.27))))
(number "19" (effects (font (size 1.27 1.27))))
)
(pin bidirectional line (at 31.75 33.02 180) (length 2.54)
(name "GPIO0" (effects (font (size 1.27 1.27))))
(number "2" (effects (font (size 1.27 1.27))))
)
(pin input line (at -31.75 -2.54 0) (length 2.54)
(name "XIN" (effects (font (size 1.27 1.27))))
(number "20" (effects (font (size 1.27 1.27))))
)
(pin passive line (at -31.75 -7.62 0) (length 2.54)
(name "XOUT" (effects (font (size 1.27 1.27))))
(number "21" (effects (font (size 1.27 1.27))))
)
(pin power_in line (at 3.81 50.8 270) (length 2.54)
(name "IOVDD" (effects (font (size 1.27 1.27))))
(number "22" (effects (font (size 1.27 1.27))))
)
(pin power_in line (at -17.78 50.8 270) (length 2.54)
(name "DVDD" (effects (font (size 1.27 1.27))))
(number "23" (effects (font (size 1.27 1.27))))
)
(pin output line (at -31.75 -31.75 0) (length 2.54)
(name "SWCLK" (effects (font (size 1.27 1.27))))
(number "24" (effects (font (size 1.27 1.27))))
)
(pin bidirectional line (at -31.75 -34.29 0) (length 2.54)
(name "SWD" (effects (font (size 1.27 1.27))))
(number "25" (effects (font (size 1.27 1.27))))
)
(pin input line (at -31.75 -20.32 0) (length 2.54)
(name "RUN" (effects (font (size 1.27 1.27))))
(number "26" (effects (font (size 1.27 1.27))))
)
(pin bidirectional line (at 31.75 -7.62 180) (length 2.54)
(name "GPIO16" (effects (font (size 1.27 1.27))))
(number "27" (effects (font (size 1.27 1.27))))
)
(pin bidirectional line (at 31.75 -10.16 180) (length 2.54)
(name "GPIO17" (effects (font (size 1.27 1.27))))
(number "28" (effects (font (size 1.27 1.27))))
)
(pin bidirectional line (at 31.75 -12.7 180) (length 2.54)
(name "GPIO18" (effects (font (size 1.27 1.27))))
(number "29" (effects (font (size 1.27 1.27))))
)
(pin bidirectional line (at 31.75 30.48 180) (length 2.54)
(name "GPIO1" (effects (font (size 1.27 1.27))))
(number "3" (effects (font (size 1.27 1.27))))
)
(pin bidirectional line (at 31.75 -15.24 180) (length 2.54)
(name "GPIO19" (effects (font (size 1.27 1.27))))
(number "30" (effects (font (size 1.27 1.27))))
)
(pin bidirectional line (at 31.75 -17.78 180) (length 2.54)
(name "GPIO20" (effects (font (size 1.27 1.27))))
(number "31" (effects (font (size 1.27 1.27))))
)
(pin bidirectional line (at 31.75 -20.32 180) (length 2.54)
(name "GPIO21" (effects (font (size 1.27 1.27))))
(number "32" (effects (font (size 1.27 1.27))))
)
(pin power_in line (at 1.27 50.8 270) (length 2.54)
(name "IOVDD" (effects (font (size 1.27 1.27))))
(number "33" (effects (font (size 1.27 1.27))))
)
(pin bidirectional line (at 31.75 -22.86 180) (length 2.54)
(name "GPIO22" (effects (font (size 1.27 1.27))))
(number "34" (effects (font (size 1.27 1.27))))
)
(pin bidirectional line (at 31.75 -25.4 180) (length 2.54)
(name "GPIO23" (effects (font (size 1.27 1.27))))
(number "35" (effects (font (size 1.27 1.27))))
)
(pin bidirectional line (at 31.75 -27.94 180) (length 2.54)
(name "GPIO24" (effects (font (size 1.27 1.27))))
(number "36" (effects (font (size 1.27 1.27))))
)
(pin bidirectional line (at 31.75 -30.48 180) (length 2.54)
(name "GPIO25" (effects (font (size 1.27 1.27))))
(number "37" (effects (font (size 1.27 1.27))))
)
(pin bidirectional line (at 31.75 -35.56 180) (length 2.54)
(name "GPIO26_ADC0" (effects (font (size 1.27 1.27))))
(number "38" (effects (font (size 1.27 1.27))))
)
(pin bidirectional line (at 31.75 -38.1 180) (length 2.54)
(name "GPIO27_ADC1" (effects (font (size 1.27 1.27))))
(number "39" (effects (font (size 1.27 1.27))))
)
(pin bidirectional line (at 31.75 27.94 180) (length 2.54)
(name "GPIO2" (effects (font (size 1.27 1.27))))
(number "4" (effects (font (size 1.27 1.27))))
)
(pin bidirectional line (at 31.75 -40.64 180) (length 2.54)
(name "GPIO28_ADC2" (effects (font (size 1.27 1.27))))
(number "40" (effects (font (size 1.27 1.27))))
)
(pin bidirectional line (at 31.75 -43.18 180) (length 2.54)
(name "GPIO29_ADC3" (effects (font (size 1.27 1.27))))
(number "41" (effects (font (size 1.27 1.27))))
)
(pin power_in line (at -1.27 50.8 270) (length 2.54)
(name "IOVDD" (effects (font (size 1.27 1.27))))
(number "42" (effects (font (size 1.27 1.27))))
)
(pin power_in line (at 16.51 50.8 270) (length 2.54)
(name "ADC_AVDD" (effects (font (size 1.27 1.27))))
(number "43" (effects (font (size 1.27 1.27))))
)
(pin power_in line (at -8.89 50.8 270) (length 2.54)
(name "VREG_IN" (effects (font (size 1.27 1.27))))
(number "44" (effects (font (size 1.27 1.27))))
)
(pin power_out line (at -12.7 50.8 270) (length 2.54)
(name "VREG_VOUT" (effects (font (size 1.27 1.27))))
(number "45" (effects (font (size 1.27 1.27))))
)
(pin bidirectional line (at 31.75 40.64 180) (length 2.54)
(name "USB_DM" (effects (font (size 1.27 1.27))))
(number "46" (effects (font (size 1.27 1.27))))
)
(pin bidirectional line (at 31.75 43.18 180) (length 2.54)
(name "USB_DP" (effects (font (size 1.27 1.27))))
(number "47" (effects (font (size 1.27 1.27))))
)
(pin power_in line (at 12.7 50.8 270) (length 2.54)
(name "USB_VDD" (effects (font (size 1.27 1.27))))
(number "48" (effects (font (size 1.27 1.27))))
)
(pin power_in line (at -3.81 50.8 270) (length 2.54)
(name "IOVDD" (effects (font (size 1.27 1.27))))
(number "49" (effects (font (size 1.27 1.27))))
)
(pin bidirectional line (at 31.75 25.4 180) (length 2.54)
(name "GPIO3" (effects (font (size 1.27 1.27))))
(number "5" (effects (font (size 1.27 1.27))))
)
(pin power_in line (at -20.32 50.8 270) (length 2.54)
(name "DVDD" (effects (font (size 1.27 1.27))))
(number "50" (effects (font (size 1.27 1.27))))
)
(pin bidirectional line (at -31.75 20.32 0) (length 2.54)
(name "QSPI_SD3" (effects (font (size 1.27 1.27))))
(number "51" (effects (font (size 1.27 1.27))))
)
(pin output line (at -31.75 16.51 0) (length 2.54)
(name "QSPI_SCLK" (effects (font (size 1.27 1.27))))
(number "52" (effects (font (size 1.27 1.27))))
)
(pin bidirectional line (at -31.75 27.94 0) (length 2.54)
(name "QSPI_SD0" (effects (font (size 1.27 1.27))))
(number "53" (effects (font (size 1.27 1.27))))
)
(pin bidirectional line (at -31.75 22.86 0) (length 2.54)
(name "QSPI_SD2" (effects (font (size 1.27 1.27))))
(number "54" (effects (font (size 1.27 1.27))))
)
(pin bidirectional line (at -31.75 25.4 0) (length 2.54)
(name "QSPI_SD1" (effects (font (size 1.27 1.27))))
(number "55" (effects (font (size 1.27 1.27))))
)
(pin bidirectional line (at -31.75 31.75 0) (length 2.54)
(name "QSPI_SS" (effects (font (size 1.27 1.27))))
(number "56" (effects (font (size 1.27 1.27))))
)
(pin power_in line (at 0 -50.8 90) (length 2.54)
(name "GND" (effects (font (size 1.27 1.27))))
(number "57" (effects (font (size 1.27 1.27))))
)
(pin bidirectional line (at 31.75 22.86 180) (length 2.54)
(name "GPIO4" (effects (font (size 1.27 1.27))))
(number "6" (effects (font (size 1.27 1.27))))
)
(pin bidirectional line (at 31.75 20.32 180) (length 2.54)
(name "GPIO5" (effects (font (size 1.27 1.27))))
(number "7" (effects (font (size 1.27 1.27))))
)
(pin bidirectional line (at 31.75 17.78 180) (length 2.54)
(name "GPIO6" (effects (font (size 1.27 1.27))))
(number "8" (effects (font (size 1.27 1.27))))
)
(pin bidirectional line (at 31.75 15.24 180) (length 2.54)
(name "GPIO7" (effects (font (size 1.27 1.27))))
(number "9" (effects (font (size 1.27 1.27))))
)
)
)
)

View File

@ -0,0 +1,37 @@
(module Crystal_SMD_HC49-US (layer F.Cu) (tedit 5F0C7995)
(descr "SMD Crystal HC-49-SD http://cdn-reichelt.de/documents/datenblatt/B400/xxx-HC49-SMD.pdf, 11.4x4.7mm^2 package")
(tags "SMD SMT crystal")
(attr smd)
(fp_text reference Y1 (at 0 -3.55) (layer F.SilkS)
(effects (font (size 1 1) (thickness 0.15)))
)
(fp_text value ABLS-12.000MHZ-B4-T (at 0 3.55) (layer F.Fab)
(effects (font (size 1 1) (thickness 0.15)))
)
(fp_line (start -6.7 1.3) (end -6.7 2.55) (layer F.SilkS) (width 0.12))
(fp_text user %R (at 0 0) (layer F.Fab)
(effects (font (size 1 1) (thickness 0.15)))
)
(fp_line (start -5.7 -2.35) (end -5.7 2.35) (layer F.Fab) (width 0.1))
(fp_line (start -5.7 2.35) (end 5.7 2.35) (layer F.Fab) (width 0.1))
(fp_line (start 5.7 2.35) (end 5.7 -2.35) (layer F.Fab) (width 0.1))
(fp_line (start 5.7 -2.35) (end -5.7 -2.35) (layer F.Fab) (width 0.1))
(fp_line (start -3.015 -2.115) (end 3.015 -2.115) (layer F.Fab) (width 0.1))
(fp_line (start -3.015 2.115) (end 3.015 2.115) (layer F.Fab) (width 0.1))
(fp_line (start 5.9 -2.55) (end -6.7 -2.55) (layer F.SilkS) (width 0.12))
(fp_line (start -6.7 -2.55) (end -6.7 -1.3) (layer F.SilkS) (width 0.12))
(fp_line (start -6.7 2.55) (end 5.9 2.55) (layer F.SilkS) (width 0.12))
(fp_line (start -6.8 -2.6) (end -6.8 2.6) (layer F.CrtYd) (width 0.05))
(fp_line (start -6.8 2.6) (end 6.8 2.6) (layer F.CrtYd) (width 0.05))
(fp_line (start 6.8 2.6) (end 6.8 -2.6) (layer F.CrtYd) (width 0.05))
(fp_line (start 6.8 -2.6) (end -6.8 -2.6) (layer F.CrtYd) (width 0.05))
(fp_arc (start -3.015 0) (end -3.015 -2.115) (angle -180) (layer F.Fab) (width 0.1))
(fp_arc (start 3.015 0) (end 3.015 -2.115) (angle 180) (layer F.Fab) (width 0.1))
(pad 1 smd rect (at -4.5 0) (size 5.6 2.1) (layers F.Cu F.Paste F.Mask))
(pad 2 smd rect (at 4.5 0) (size 5.6 2.1) (layers F.Cu F.Paste F.Mask))
(model ${KISYS3DMOD}/Crystal.3dshapes/Crystal_SMD_HC49-SD.wrl
(at (xyz 0 0 0))
(scale (xyz 1 1 1))
(rotate (xyz 0 0 0))
)
)

View File

@ -0,0 +1,105 @@
(module RP2040-QFN-56 (layer F.Cu) (tedit 5EF32B43)
(descr "QFN, 56 Pin (http://www.cypress.com/file/416486/download#page=40), generated with kicad-footprint-generator ipc_dfn_qfn_generator.py")
(tags "QFN DFN_QFN")
(attr smd)
(fp_text reference REF** (at 0 -4.82) (layer F.SilkS)
(effects (font (size 1 1) (thickness 0.15)))
)
(fp_text value Pico2040-QFN-56 (at 0 4.82) (layer F.Fab)
(effects (font (size 1 1) (thickness 0.15)))
)
(fp_text user %R (at 0 0) (layer F.Fab)
(effects (font (size 1 1) (thickness 0.15)))
)
(fp_line (start 4.12 -4.12) (end -4.12 -4.12) (layer F.CrtYd) (width 0.05))
(fp_line (start 4.12 4.12) (end 4.12 -4.12) (layer F.CrtYd) (width 0.05))
(fp_line (start -4.12 4.12) (end 4.12 4.12) (layer F.CrtYd) (width 0.05))
(fp_line (start -4.12 -4.12) (end -4.12 4.12) (layer F.CrtYd) (width 0.05))
(fp_line (start -3.5 -2.5) (end -2.5 -3.5) (layer F.Fab) (width 0.1))
(fp_line (start -3.5 3.5) (end -3.5 -2.5) (layer F.Fab) (width 0.1))
(fp_line (start 3.5 3.5) (end -3.5 3.5) (layer F.Fab) (width 0.1))
(fp_line (start 3.5 -3.5) (end 3.5 3.5) (layer F.Fab) (width 0.1))
(fp_line (start -2.5 -3.5) (end 3.5 -3.5) (layer F.Fab) (width 0.1))
(fp_line (start -2.96 -3.61) (end -3.61 -3.61) (layer F.SilkS) (width 0.12))
(fp_line (start 3.61 3.61) (end 3.61 2.96) (layer F.SilkS) (width 0.12))
(fp_line (start 2.96 3.61) (end 3.61 3.61) (layer F.SilkS) (width 0.12))
(fp_line (start -3.61 3.61) (end -3.61 2.96) (layer F.SilkS) (width 0.12))
(fp_line (start -2.96 3.61) (end -3.61 3.61) (layer F.SilkS) (width 0.12))
(fp_line (start 3.61 -3.61) (end 3.61 -2.96) (layer F.SilkS) (width 0.12))
(fp_line (start 2.96 -3.61) (end 3.61 -3.61) (layer F.SilkS) (width 0.12))
(pad 56 smd roundrect (at -2.6 -3.4375) (size 0.2 0.875) (layers F.Cu F.Paste F.Mask) (roundrect_rratio 0.25))
(pad 55 smd roundrect (at -2.2 -3.4375) (size 0.2 0.875) (layers F.Cu F.Paste F.Mask) (roundrect_rratio 0.25))
(pad 54 smd roundrect (at -1.8 -3.4375) (size 0.2 0.875) (layers F.Cu F.Paste F.Mask) (roundrect_rratio 0.25))
(pad 53 smd roundrect (at -1.4 -3.4375) (size 0.2 0.875) (layers F.Cu F.Paste F.Mask) (roundrect_rratio 0.25))
(pad 52 smd roundrect (at -1 -3.4375) (size 0.2 0.875) (layers F.Cu F.Paste F.Mask) (roundrect_rratio 0.25))
(pad 51 smd roundrect (at -0.6 -3.4375) (size 0.2 0.875) (layers F.Cu F.Paste F.Mask) (roundrect_rratio 0.25))
(pad 50 smd roundrect (at -0.2 -3.4375) (size 0.2 0.875) (layers F.Cu F.Paste F.Mask) (roundrect_rratio 0.25))
(pad 49 smd roundrect (at 0.2 -3.4375) (size 0.2 0.875) (layers F.Cu F.Paste F.Mask) (roundrect_rratio 0.25))
(pad 48 smd roundrect (at 0.6 -3.4375) (size 0.2 0.875) (layers F.Cu F.Paste F.Mask) (roundrect_rratio 0.25))
(pad 47 smd roundrect (at 1 -3.4375) (size 0.2 0.875) (layers F.Cu F.Paste F.Mask) (roundrect_rratio 0.25))
(pad 46 smd roundrect (at 1.4 -3.4375) (size 0.2 0.875) (layers F.Cu F.Paste F.Mask) (roundrect_rratio 0.25))
(pad 45 smd roundrect (at 1.8 -3.4375) (size 0.2 0.875) (layers F.Cu F.Paste F.Mask) (roundrect_rratio 0.25))
(pad 44 smd roundrect (at 2.2 -3.4375) (size 0.2 0.875) (layers F.Cu F.Paste F.Mask) (roundrect_rratio 0.25))
(pad 43 smd roundrect (at 2.6 -3.4375) (size 0.2 0.875) (layers F.Cu F.Paste F.Mask) (roundrect_rratio 0.25))
(pad 42 smd roundrect (at 3.4375 -2.6) (size 0.875 0.2) (layers F.Cu F.Paste F.Mask) (roundrect_rratio 0.25))
(pad 41 smd roundrect (at 3.4375 -2.2) (size 0.875 0.2) (layers F.Cu F.Paste F.Mask) (roundrect_rratio 0.25))
(pad 40 smd roundrect (at 3.4375 -1.8) (size 0.875 0.2) (layers F.Cu F.Paste F.Mask) (roundrect_rratio 0.25))
(pad 39 smd roundrect (at 3.4375 -1.4) (size 0.875 0.2) (layers F.Cu F.Paste F.Mask) (roundrect_rratio 0.25))
(pad 38 smd roundrect (at 3.4375 -1) (size 0.875 0.2) (layers F.Cu F.Paste F.Mask) (roundrect_rratio 0.25))
(pad 37 smd roundrect (at 3.4375 -0.6) (size 0.875 0.2) (layers F.Cu F.Paste F.Mask) (roundrect_rratio 0.25))
(pad 36 smd roundrect (at 3.4375 -0.2) (size 0.875 0.2) (layers F.Cu F.Paste F.Mask) (roundrect_rratio 0.25))
(pad 35 smd roundrect (at 3.4375 0.2) (size 0.875 0.2) (layers F.Cu F.Paste F.Mask) (roundrect_rratio 0.25))
(pad 34 smd roundrect (at 3.4375 0.6) (size 0.875 0.2) (layers F.Cu F.Paste F.Mask) (roundrect_rratio 0.25))
(pad 33 smd roundrect (at 3.4375 1) (size 0.875 0.2) (layers F.Cu F.Paste F.Mask) (roundrect_rratio 0.25))
(pad 32 smd roundrect (at 3.4375 1.4) (size 0.875 0.2) (layers F.Cu F.Paste F.Mask) (roundrect_rratio 0.25))
(pad 31 smd roundrect (at 3.4375 1.8) (size 0.875 0.2) (layers F.Cu F.Paste F.Mask) (roundrect_rratio 0.25))
(pad 30 smd roundrect (at 3.4375 2.2) (size 0.875 0.2) (layers F.Cu F.Paste F.Mask) (roundrect_rratio 0.25))
(pad 29 smd roundrect (at 3.4375 2.6) (size 0.875 0.2) (layers F.Cu F.Paste F.Mask) (roundrect_rratio 0.25))
(pad 28 smd roundrect (at 2.6 3.4375) (size 0.2 0.875) (layers F.Cu F.Paste F.Mask) (roundrect_rratio 0.25))
(pad 27 smd roundrect (at 2.2 3.4375) (size 0.2 0.875) (layers F.Cu F.Paste F.Mask) (roundrect_rratio 0.25))
(pad 26 smd roundrect (at 1.8 3.4375) (size 0.2 0.875) (layers F.Cu F.Paste F.Mask) (roundrect_rratio 0.25))
(pad 25 smd roundrect (at 1.4 3.4375) (size 0.2 0.875) (layers F.Cu F.Paste F.Mask) (roundrect_rratio 0.25))
(pad 24 smd roundrect (at 1 3.4375) (size 0.2 0.875) (layers F.Cu F.Paste F.Mask) (roundrect_rratio 0.25))
(pad 23 smd roundrect (at 0.6 3.4375) (size 0.2 0.875) (layers F.Cu F.Paste F.Mask) (roundrect_rratio 0.25))
(pad 22 smd roundrect (at 0.2 3.4375) (size 0.2 0.875) (layers F.Cu F.Paste F.Mask) (roundrect_rratio 0.25))
(pad 21 smd roundrect (at -0.2 3.4375) (size 0.2 0.875) (layers F.Cu F.Paste F.Mask) (roundrect_rratio 0.25))
(pad 20 smd roundrect (at -0.6 3.4375) (size 0.2 0.875) (layers F.Cu F.Paste F.Mask) (roundrect_rratio 0.25))
(pad 19 smd roundrect (at -1 3.4375) (size 0.2 0.875) (layers F.Cu F.Paste F.Mask) (roundrect_rratio 0.25))
(pad 18 smd roundrect (at -1.4 3.4375) (size 0.2 0.875) (layers F.Cu F.Paste F.Mask) (roundrect_rratio 0.25))
(pad 17 smd roundrect (at -1.8 3.4375) (size 0.2 0.875) (layers F.Cu F.Paste F.Mask) (roundrect_rratio 0.25))
(pad 16 smd roundrect (at -2.2 3.4375) (size 0.2 0.875) (layers F.Cu F.Paste F.Mask) (roundrect_rratio 0.25))
(pad 15 smd roundrect (at -2.6 3.4375) (size 0.2 0.875) (layers F.Cu F.Paste F.Mask) (roundrect_rratio 0.25))
(pad 14 smd roundrect (at -3.4375 2.6) (size 0.875 0.2) (layers F.Cu F.Paste F.Mask) (roundrect_rratio 0.25))
(pad 13 smd roundrect (at -3.4375 2.2) (size 0.875 0.2) (layers F.Cu F.Paste F.Mask) (roundrect_rratio 0.25))
(pad 12 smd roundrect (at -3.4375 1.8) (size 0.875 0.2) (layers F.Cu F.Paste F.Mask) (roundrect_rratio 0.25))
(pad 11 smd roundrect (at -3.4375 1.4) (size 0.875 0.2) (layers F.Cu F.Paste F.Mask) (roundrect_rratio 0.25))
(pad 10 smd roundrect (at -3.4375 1) (size 0.875 0.2) (layers F.Cu F.Paste F.Mask) (roundrect_rratio 0.25))
(pad 9 smd roundrect (at -3.4375 0.6) (size 0.875 0.2) (layers F.Cu F.Paste F.Mask) (roundrect_rratio 0.25))
(pad 8 smd roundrect (at -3.4375 0.2) (size 0.875 0.2) (layers F.Cu F.Paste F.Mask) (roundrect_rratio 0.25))
(pad 7 smd roundrect (at -3.4375 -0.2) (size 0.875 0.2) (layers F.Cu F.Paste F.Mask) (roundrect_rratio 0.25))
(pad 6 smd roundrect (at -3.4375 -0.6) (size 0.875 0.2) (layers F.Cu F.Paste F.Mask) (roundrect_rratio 0.25))
(pad 5 smd roundrect (at -3.4375 -1) (size 0.875 0.2) (layers F.Cu F.Paste F.Mask) (roundrect_rratio 0.25))
(pad 4 smd roundrect (at -3.4375 -1.4) (size 0.875 0.2) (layers F.Cu F.Paste F.Mask) (roundrect_rratio 0.25))
(pad 3 smd roundrect (at -3.4375 -1.8) (size 0.875 0.2) (layers F.Cu F.Paste F.Mask) (roundrect_rratio 0.25))
(pad 2 smd roundrect (at -3.4375 -2.2) (size 0.875 0.2) (layers F.Cu F.Paste F.Mask) (roundrect_rratio 0.25))
(pad 1 smd roundrect (at -3.4375 -2.6) (size 0.875 0.2) (layers F.Cu F.Paste F.Mask) (roundrect_rratio 0.25))
(pad "" smd roundrect (at 0.6375 0.6375) (size 1.084435 1.084435) (layers F.Paste) (roundrect_rratio 0.230535))
(pad "" smd roundrect (at 0.6375 -0.6375) (size 1.084435 1.084435) (layers F.Paste) (roundrect_rratio 0.230535))
(pad "" smd roundrect (at -0.6375 0.6375) (size 1.084435 1.084435) (layers F.Paste) (roundrect_rratio 0.230535))
(pad "" smd roundrect (at -0.6375 -0.6375) (size 1.084435 1.084435) (layers F.Paste) (roundrect_rratio 0.230535))
(pad 57 thru_hole circle (at 1.275 1.275) (size 0.6 0.6) (drill 0.35) (layers *.Cu))
(pad 57 thru_hole circle (at 0 1.275) (size 0.6 0.6) (drill 0.35) (layers *.Cu))
(pad 57 thru_hole circle (at -1.275 1.275) (size 0.6 0.6) (drill 0.35) (layers *.Cu))
(pad 57 thru_hole circle (at 1.275 0) (size 0.6 0.6) (drill 0.35) (layers *.Cu))
(pad 57 thru_hole circle (at 0 0) (size 0.6 0.6) (drill 0.35) (layers *.Cu))
(pad 57 thru_hole circle (at -1.275 0) (size 0.6 0.6) (drill 0.35) (layers *.Cu))
(pad 57 thru_hole circle (at 1.275 -1.275) (size 0.6 0.6) (drill 0.35) (layers *.Cu))
(pad 57 thru_hole circle (at 0 -1.275) (size 0.6 0.6) (drill 0.35) (layers *.Cu))
(pad 57 thru_hole circle (at -1.275 -1.275) (size 0.6 0.6) (drill 0.35) (layers *.Cu))
(pad 57 smd roundrect (at 0 0) (size 3.2 3.2) (layers F.Cu F.Mask) (roundrect_rratio 0.045))
(model ${KISYS3DMOD}/Package_DFN_QFN.3dshapes/QFN-56-1EP_7x7mm_P0.4mm_EP5.6x5.6mm.wrl
(at (xyz 0 0 0))
(scale (xyz 1 1 1))
(rotate (xyz 0 0 0))
)
)

View File

@ -0,0 +1,366 @@
(footprint "RPi_Pico_SMD_TH" (version 20211014) (generator pcbnew)
(layer "F.Cu")
(tedit 6224DF39)
(descr "Through hole straight pin header, 2x20, 2.54mm pitch, double rows")
(tags "Through hole pin header THT 2x20 2.54mm double row")
(attr through_hole)
(fp_text reference "REF**" (at 0 0) (layer "F.SilkS")
(effects (font (size 1 1) (thickness 0.15)))
(tstamp 96315415-cfed-47d2-b3dd-d782358bd0df)
)
(fp_text value "RPi_Pico_SMD_TH" (at 0 2.159) (layer "F.Fab")
(effects (font (size 1 1) (thickness 0.15)))
(tstamp 46cbe85d-ff47-428e-b187-4ebd50a66e0c)
)
(fp_text user "GP11" (at -13.2 11.43 45) (layer "F.SilkS")
(effects (font (size 0.8 0.8) (thickness 0.15)))
(tstamp 000b46d6-b833-4804-8f56-56d539f76d09)
)
(fp_text user "AGND" (at 13.054 -6.35 45) (layer "F.SilkS")
(effects (font (size 0.8 0.8) (thickness 0.15)))
(tstamp 08ec951f-e7eb-41cf-9589-697107a98e88)
)
(fp_text user "GND" (at 12.8 19.05 45) (layer "F.SilkS")
(effects (font (size 0.8 0.8) (thickness 0.15)))
(tstamp 09bbea88-8bd7-48ec-baae-1b4a9a11a40e)
)
(fp_text user "VBUS" (at 13.3 -24.2 45) (layer "F.SilkS")
(effects (font (size 0.8 0.8) (thickness 0.15)))
(tstamp 0f0f7bb5-ade7-4a81-82b4-43be6a8ad05c)
)
(fp_text user "GND" (at 12.8 -19.05 45) (layer "F.SilkS")
(effects (font (size 0.8 0.8) (thickness 0.15)))
(tstamp 0fb27e11-fde6-4a25-adbb-e9684771b369)
)
(fp_text user "GP13" (at -13.054 16.51 45) (layer "F.SilkS")
(effects (font (size 0.8 0.8) (thickness 0.15)))
(tstamp 113ffcdf-4c54-4e37-81dc-f91efa934ba7)
)
(fp_text user "ADC_VREF" (at 14 -12.5 45) (layer "F.SilkS")
(effects (font (size 0.8 0.8) (thickness 0.15)))
(tstamp 162e5bdd-61a8-46a3-8485-826b5d58e1a1)
)
(fp_text user "GP4" (at -12.8 -11.43 45) (layer "F.SilkS")
(effects (font (size 0.8 0.8) (thickness 0.15)))
(tstamp 1cacb878-9da4-41fc-aa80-018bc841e19a)
)
(fp_text user "GP7" (at -12.7 -1.3 45) (layer "F.SilkS")
(effects (font (size 0.8 0.8) (thickness 0.15)))
(tstamp 1de61170-5337-44c5-ba28-bd477db4bff1)
)
(fp_text user "GP15" (at -13.054 24.13 45) (layer "F.SilkS")
(effects (font (size 0.8 0.8) (thickness 0.15)))
(tstamp 2102c637-9f11-48f1-aae6-b4139dc22be2)
)
(fp_text user "GP17" (at 13.054 21.59 45) (layer "F.SilkS")
(effects (font (size 0.8 0.8) (thickness 0.15)))
(tstamp 272c2a78-b5f5-4b61-aed3-ec69e0e92729)
)
(fp_text user "GP26" (at 13.054 -1.27 45) (layer "F.SilkS")
(effects (font (size 0.8 0.8) (thickness 0.15)))
(tstamp 2b25e886-ded1-450a-ada1-ece4208052e4)
)
(fp_text user "SWCLK" (at -5.7 26.2) (layer "F.SilkS")
(effects (font (size 0.8 0.8) (thickness 0.15)))
(tstamp 2eea20e6-112c-411a-b615-885ae773135a)
)
(fp_text user "3V3_EN" (at 13.7 -17.2 45) (layer "F.SilkS")
(effects (font (size 0.8 0.8) (thickness 0.15)))
(tstamp 2f3fba7a-cf45-4bd8-9035-07e6fa0b4732)
)
(fp_text user "3V3" (at 12.9 -13.9 45) (layer "F.SilkS")
(effects (font (size 0.8 0.8) (thickness 0.15)))
(tstamp 319c683d-aed6-4e7d-aee2-ff9871746d52)
)
(fp_text user "GP8" (at -12.8 1.27 45) (layer "F.SilkS")
(effects (font (size 0.8 0.8) (thickness 0.15)))
(tstamp 3a1a39fc-8030-4c93-9d9c-d79ba6824099)
)
(fp_text user "GP16" (at 13.054 24.13 45) (layer "F.SilkS")
(effects (font (size 0.8 0.8) (thickness 0.15)))
(tstamp 3f2a6679-91d7-4b6c-bf5c-c4d5abb2bc44)
)
(fp_text user "GND" (at 12.8 6.35 45) (layer "F.SilkS")
(effects (font (size 0.8 0.8) (thickness 0.15)))
(tstamp 41c18011-40db-4384-9ba4-c0158d0d9d6a)
)
(fp_text user "GND" (at -12.8 -6.35 45) (layer "F.SilkS")
(effects (font (size 0.8 0.8) (thickness 0.15)))
(tstamp 4346fe55-f906-453a-b81a-1c013104a598)
)
(fp_text user "GP28" (at 13.054 -9.144 45) (layer "F.SilkS")
(effects (font (size 0.8 0.8) (thickness 0.15)))
(tstamp 456c5e47-d71e-4708-b061-1e61634d8648)
)
(fp_text user "GP9" (at -12.8 3.81 45) (layer "F.SilkS")
(effects (font (size 0.8 0.8) (thickness 0.15)))
(tstamp 49b5f540-e128-4e08-bb09-f321f8e64056)
)
(fp_text user "SWDIO" (at 5.6 26.2) (layer "F.SilkS")
(effects (font (size 0.8 0.8) (thickness 0.15)))
(tstamp 49fec31e-3712-4229-8142-b191d90a97d0)
)
(fp_text user "GP5" (at -12.8 -8.89 45) (layer "F.SilkS")
(effects (font (size 0.8 0.8) (thickness 0.15)))
(tstamp 4ce9470f-5633-41bf-89ac-74a810939893)
)
(fp_text user "GP0" (at -12.8 -24.13 45) (layer "F.SilkS")
(effects (font (size 0.8 0.8) (thickness 0.15)))
(tstamp 51cc007a-3378-4ce3-909c-71e94822f8d1)
)
(fp_text user "GP3" (at -12.8 -13.97 45) (layer "F.SilkS")
(effects (font (size 0.8 0.8) (thickness 0.15)))
(tstamp 5576cd03-3bad-40c5-9316-1d286895d52a)
)
(fp_text user "GND" (at -12.8 19.05 45) (layer "F.SilkS")
(effects (font (size 0.8 0.8) (thickness 0.15)))
(tstamp 56d2bc5d-fd72-4542-ab0f-053a5fd60efa)
)
(fp_text user "GND" (at -12.8 -19.05 45) (layer "F.SilkS")
(effects (font (size 0.8 0.8) (thickness 0.15)))
(tstamp 5e6153e6-2c19-46de-9a8e-b310a2a07861)
)
(fp_text user "GP20" (at 13.054 11.43 45) (layer "F.SilkS")
(effects (font (size 0.8 0.8) (thickness 0.15)))
(tstamp 62f15a9a-9893-486e-9ad0-ea43f88fc9e7)
)
(fp_text user "GP19" (at 13.054 13.97 45) (layer "F.SilkS")
(effects (font (size 0.8 0.8) (thickness 0.15)))
(tstamp 7273dd21-e834-41d3-b279-d7de727709ca)
)
(fp_text user "GP2" (at -12.9 -16.51 45) (layer "F.SilkS")
(effects (font (size 0.8 0.8) (thickness 0.15)))
(tstamp 96ef76a5-90c3-4767-98ba-2b61887e28d3)
)
(fp_text user "GP18" (at 13.054 16.51 45) (layer "F.SilkS")
(effects (font (size 0.8 0.8) (thickness 0.15)))
(tstamp a3fab380-991d-404b-95d5-1c209b047b6e)
)
(fp_text user "GP6" (at -12.8 -3.81 45) (layer "F.SilkS")
(effects (font (size 0.8 0.8) (thickness 0.15)))
(tstamp aa23bfe3-454b-4a2b-bfe1-101c747eb84e)
)
(fp_text user "GP21" (at 13.054 8.9 45) (layer "F.SilkS")
(effects (font (size 0.8 0.8) (thickness 0.15)))
(tstamp b2b363dd-8e47-4a76-a142-e00e28334875)
)
(fp_text user "GP22" (at 13.054 3.81 45) (layer "F.SilkS")
(effects (font (size 0.8 0.8) (thickness 0.15)))
(tstamp c15b2f75-2e10-4b71-bebb-e2b872171b92)
)
(fp_text user "GND" (at -12.8 6.35 45) (layer "F.SilkS")
(effects (font (size 0.8 0.8) (thickness 0.15)))
(tstamp c512fed3-9770-476b-b048-e781b4f3cd72)
)
(fp_text user "GP14" (at -13.1 21.59 45) (layer "F.SilkS")
(effects (font (size 0.8 0.8) (thickness 0.15)))
(tstamp c7cd39db-931a-4d86-96b8-57e6b39f58f9)
)
(fp_text user "VSYS" (at 13.2 -21.59 45) (layer "F.SilkS")
(effects (font (size 0.8 0.8) (thickness 0.15)))
(tstamp cb1a49ef-0a06-4f40-9008-61d1d1c36198)
)
(fp_text user "GP12" (at -13.2 13.97 45) (layer "F.SilkS")
(effects (font (size 0.8 0.8) (thickness 0.15)))
(tstamp ceb12634-32ca-4cbf-9ff5-5e8b53ab18ad)
)
(fp_text user "GP1" (at -12.9 -21.6 45) (layer "F.SilkS")
(effects (font (size 0.8 0.8) (thickness 0.15)))
(tstamp db6412d3-e6c3-4bdd-abf4-a8f55d56df31)
)
(fp_text user "GP10" (at -13.054 8.89 45) (layer "F.SilkS")
(effects (font (size 0.8 0.8) (thickness 0.15)))
(tstamp dd70858b-2f9a-4b3f-9af5-ead3a9ba57e9)
)
(fp_text user "RUN" (at 13 1.27 45) (layer "F.SilkS")
(effects (font (size 0.8 0.8) (thickness 0.15)))
(tstamp f6a5c856-f2b5-40eb-a958-b666a0d408a0)
)
(fp_text user "GP27" (at 13.054 -3.8 45) (layer "F.SilkS")
(effects (font (size 0.8 0.8) (thickness 0.15)))
(tstamp ffa442c7-cbef-461f-8613-c211201cec06)
)
(fp_text user "Copper Keepouts shown on Dwgs layer" (at 0.1 -30.2) (layer "Cmts.User")
(effects (font (size 1 1) (thickness 0.15)))
(tstamp 66ca01b3-51ff-4294-9b77-4492e98f6aec)
)
(fp_text user "${REFERENCE}" (at 0 0 180) (layer "F.Fab")
(effects (font (size 1 1) (thickness 0.15)))
(tstamp 83184391-76ed-44f0-8cd0-01f89f157bdb)
)
(fp_line (start 10.5 4.9) (end 10.5 5.3) (layer "F.SilkS") (width 0.12) (tstamp 099473f1-6598-46ff-a50f-4c520832170d))
(fp_line (start -10.5 -23.1) (end -10.5 -22.7) (layer "F.SilkS") (width 0.12) (tstamp 0c5dddf1-38df-43d2-b49c-e7b691dab0ab))
(fp_line (start -10.5 -20.5) (end -10.5 -20.1) (layer "F.SilkS") (width 0.12) (tstamp 0ce1dd44-f307-4f98-9f0d-478fd87daa64))
(fp_line (start 10.5 10) (end 10.5 10.4) (layer "F.SilkS") (width 0.12) (tstamp 15699041-ed40-45ee-87d8-f5e206a88536))
(fp_line (start -3.7 25.5) (end -10.5 25.5) (layer "F.SilkS") (width 0.12) (tstamp 1855ca44-ab48-4b76-a210-97fc81d916c4))
(fp_line (start 10.5 -0.2) (end 10.5 0.2) (layer "F.SilkS") (width 0.12) (tstamp 1876c30c-72b2-4a8d-9f32-bf8b213530b4))
(fp_line (start 10.5 22.7) (end 10.5 23.1) (layer "F.SilkS") (width 0.12) (tstamp 199124ca-dd64-45cf-a063-97cc545cbea7))
(fp_line (start 10.5 -23.1) (end 10.5 -22.7) (layer "F.SilkS") (width 0.12) (tstamp 1bd80cf9-f42a-4aee-a408-9dbf4e81e625))
(fp_line (start -7.493 -22.833) (end -7.493 -25.5) (layer "F.SilkS") (width 0.12) (tstamp 254f7cc6-cee1-44ca-9afe-939b318201aa))
(fp_line (start 10.5 -5.3) (end 10.5 -4.9) (layer "F.SilkS") (width 0.12) (tstamp 26a22c19-4cc5-4237-9651-0edc4f854154))
(fp_line (start -10.5 -25.5) (end 10.5 -25.5) (layer "F.SilkS") (width 0.12) (tstamp 3457afc5-3e4f-4220-81d1-b079f653a722))
(fp_line (start -10.5 20.1) (end -10.5 20.5) (layer "F.SilkS") (width 0.12) (tstamp 3b65c51e-c243-447e-bee9-832d94c1630e))
(fp_line (start -10.5 -2.7) (end -10.5 -2.3) (layer "F.SilkS") (width 0.12) (tstamp 3bbbbb7d-391c-4fee-ac81-3c47878edc38))
(fp_line (start -10.5 22.7) (end -10.5 23.1) (layer "F.SilkS") (width 0.12) (tstamp 402c62e6-8d8e-473a-a0cf-2b86e4908cd7))
(fp_line (start -10.5 -15.4) (end -10.5 -15) (layer "F.SilkS") (width 0.12) (tstamp 4970ec6e-3725-4619-b57d-dc2c2cb86ed0))
(fp_line (start -10.5 -5.3) (end -10.5 -4.9) (layer "F.SilkS") (width 0.12) (tstamp 4a53fa56-d65b-42a4-a4be-8f49c4c015bb))
(fp_line (start 10.5 -2.7) (end 10.5 -2.3) (layer "F.SilkS") (width 0.12) (tstamp 4bbde53d-6894-4e18-9480-84a6a26d5f6b))
(fp_line (start 10.5 25.5) (end 3.7 25.5) (layer "F.SilkS") (width 0.12) (tstamp 54ed3ee1-891b-418e-ab9c-6a18747d7388))
(fp_line (start 10.5 -15.4) (end 10.5 -15) (layer "F.SilkS") (width 0.12) (tstamp 57f248a7-365e-4c42-b80d-5a7d1f9dfaf3))
(fp_line (start -10.5 7.4) (end -10.5 7.8) (layer "F.SilkS") (width 0.12) (tstamp 5bab6a37-1fdf-4cf8-b571-44c962ed86e9))
(fp_line (start -10.5 -22.833) (end -7.493 -22.833) (layer "F.SilkS") (width 0.12) (tstamp 5f48b0f2-82cf-40ce-afac-440f97643c36))
(fp_line (start -10.5 -7.8) (end -10.5 -7.4) (layer "F.SilkS") (width 0.12) (tstamp 6150c02b-beb5-4af1-951e-3666a285a6ea))
(fp_line (start -10.5 4.9) (end -10.5 5.3) (layer "F.SilkS") (width 0.12) (tstamp 706c1cb9-5d96-4282-9efc-6147f0125147))
(fp_line (start -1.5 25.5) (end -1.1 25.5) (layer "F.SilkS") (width 0.12) (tstamp 749d9ed0-2ff2-4b55-abc5-f7231ec3aa28))
(fp_line (start -10.5 -12.9) (end -10.5 -12.5) (layer "F.SilkS") (width 0.12) (tstamp 755f94aa-38f0-4a64-a7c7-6c71cb18cddf))
(fp_line (start 10.5 -20.5) (end 10.5 -20.1) (layer "F.SilkS") (width 0.12) (tstamp 80095e91-6317-4cfb-9aea-884c9a1accc5))
(fp_line (start -10.5 15.1) (end -10.5 15.5) (layer "F.SilkS") (width 0.12) (tstamp 88deea08-baa5-4041-beb7-01c299cf00e6))
(fp_line (start 1.1 25.5) (end 1.5 25.5) (layer "F.SilkS") (width 0.12) (tstamp 8a8c373f-9bc3-4cf7-8f41-4802da916698))
(fp_line (start 10.5 -12.9) (end 10.5 -12.5) (layer "F.SilkS") (width 0.12) (tstamp 9112ddd5-10d5-48b8-954f-f1d5adcacbd9))
(fp_line (start -10.5 10) (end -10.5 10.4) (layer "F.SilkS") (width 0.12) (tstamp 92f063a3-7cce-4a96-8a3a-cf5767f700c6))
(fp_line (start 10.5 2.3) (end 10.5 2.7) (layer "F.SilkS") (width 0.12) (tstamp 968a6172-7a4e-40ab-a78a-e4d03671e136))
(fp_line (start -10.5 -10.4) (end -10.5 -10) (layer "F.SilkS") (width 0.12) (tstamp 9c2999b2-1cf1-4204-9d23-243401b77aa3))
(fp_line (start -10.5 -0.2) (end -10.5 0.2) (layer "F.SilkS") (width 0.12) (tstamp 9ed09117-33cf-45a3-85a7-2606522feaf8))
(fp_line (start -10.5 17.6) (end -10.5 18) (layer "F.SilkS") (width 0.12) (tstamp a177c3b4-b04c-490e-b3fe-d3d4d7aa24a7))
(fp_line (start -10.5 12.5) (end -10.5 12.9) (layer "F.SilkS") (width 0.12) (tstamp ad4d05f5-6957-42f8-b65c-c657b9a26485))
(fp_line (start 10.5 7.4) (end 10.5 7.8) (layer "F.SilkS") (width 0.12) (tstamp af76ce95-feca-41fb-bf31-edaa26d6766a))
(fp_line (start 10.5 -10.4) (end 10.5 -10) (layer "F.SilkS") (width 0.12) (tstamp c1b11207-7c0a-49b3-a41d-2fe677d5f3b8))
(fp_line (start 10.5 17.6) (end 10.5 18) (layer "F.SilkS") (width 0.12) (tstamp c346b00c-b5e0-4939-beb4-7f48172ef334))
(fp_line (start 10.5 -7.8) (end 10.5 -7.4) (layer "F.SilkS") (width 0.12) (tstamp c3d5daf8-d359-42b2-a7c2-0d080ba7e212))
(fp_line (start -10.5 -25.5) (end -10.5 -25.2) (layer "F.SilkS") (width 0.12) (tstamp ca56e1ad-54bf-4df5-a4f7-99f5d61d0de9))
(fp_line (start 10.5 20.1) (end 10.5 20.5) (layer "F.SilkS") (width 0.12) (tstamp ca9b74ce-0dee-401c-9544-f599f4cf538d))
(fp_line (start 10.5 12.5) (end 10.5 12.9) (layer "F.SilkS") (width 0.12) (tstamp d3dd7cdb-b730-487d-804d-99150ba318ef))
(fp_line (start 10.5 -18) (end 10.5 -17.6) (layer "F.SilkS") (width 0.12) (tstamp e11ae5a5-aa10-4f10-b346-f16e33c7899a))
(fp_line (start -10.5 2.3) (end -10.5 2.7) (layer "F.SilkS") (width 0.12) (tstamp eb391a95-1c1d-4613-b508-c76b8bc13a73))
(fp_line (start 10.5 -25.5) (end 10.5 -25.2) (layer "F.SilkS") (width 0.12) (tstamp f23ac723-a36d-491d-9473-7ec0ffed332d))
(fp_line (start -10.5 -18) (end -10.5 -17.6) (layer "F.SilkS") (width 0.12) (tstamp f8b47531-6c06-4e54-9fc9-cd9d0f3dd69f))
(fp_line (start 10.5 15.1) (end 10.5 15.5) (layer "F.SilkS") (width 0.12) (tstamp fd60415a-f01a-46c5-9369-ea970e435e5b))
(fp_poly (pts
(xy -1.5 -16.5)
(xy -3.5 -16.5)
(xy -3.5 -18.5)
(xy -1.5 -18.5)
) (layer "Dwgs.User") (width 0.1) (fill solid) (tstamp 022502e0-e724-4b75-bc35-3c5984dbeb76))
(fp_poly (pts
(xy -1.5 -11.5)
(xy -3.5 -11.5)
(xy -3.5 -13.5)
(xy -1.5 -13.5)
) (layer "Dwgs.User") (width 0.1) (fill solid) (tstamp 9f969b13-1795-4747-8326-93bdc304ed56))
(fp_poly (pts
(xy 3.7 -20.2)
(xy -3.7 -20.2)
(xy -3.7 -24.9)
(xy 3.7 -24.9)
) (layer "Dwgs.User") (width 0.1) (fill solid) (tstamp b9d4de74-d246-495d-8b63-12ab2133d6d6))
(fp_poly (pts
(xy -1.5 -14)
(xy -3.5 -14)
(xy -3.5 -16)
(xy -1.5 -16)
) (layer "Dwgs.User") (width 0.1) (fill solid) (tstamp d655bb0a-cbf9-4908-ad60-7024ff468fbd))
(fp_line (start 11 -26) (end 11 26) (layer "F.CrtYd") (width 0.12) (tstamp 58390862-1833-41dd-9c4e-98073ea0da33))
(fp_line (start 11 26) (end -11 26) (layer "F.CrtYd") (width 0.12) (tstamp 5e755161-24a5-4650-a6e3-9836bf074412))
(fp_line (start -11 -26) (end 11 -26) (layer "F.CrtYd") (width 0.12) (tstamp 9208ea78-8dde-4b3d-91e9-5755ab5efd9a))
(fp_line (start -11 26) (end -11 -26) (layer "F.CrtYd") (width 0.12) (tstamp e86e4fae-9ca7-4857-a93c-bc6a3048f887))
(fp_line (start -10.5 -24.2) (end -9.2 -25.5) (layer "F.Fab") (width 0.12) (tstamp 1bf7d0f9-0dcf-4d7c-b58c-318e3dc42bc9))
(fp_line (start 10.5 -25.5) (end 10.5 25.5) (layer "F.Fab") (width 0.12) (tstamp 247ebffd-2cb6-4379-ba6e-21861fea3913))
(fp_line (start 10.5 25.5) (end -10.5 25.5) (layer "F.Fab") (width 0.12) (tstamp 94d24676-7ae3-483c-8bd6-88d31adf00b4))
(fp_line (start -10.5 -25.5) (end 10.5 -25.5) (layer "F.Fab") (width 0.12) (tstamp 966ee9ec-860e-45bb-af89-30bda72b2032))
(fp_line (start -10.5 25.5) (end -10.5 -25.5) (layer "F.Fab") (width 0.12) (tstamp e45aa7d8-0254-4176-afd9-766820762e19))
(pad "" np_thru_hole oval (at 2.725 -24) (size 1.8 1.8) (drill 1.8) (layers *.Cu *.Mask) (tstamp 631c7be5-8dc2-4df4-ab73-737bb928e763))
(pad "" np_thru_hole oval (at -2.725 -24) (size 1.8 1.8) (drill 1.8) (layers *.Cu *.Mask) (tstamp 6d2a06fb-0b1e-452a-ab38-11a5f45e1b32))
(pad "" np_thru_hole oval (at -2.425 -20.97) (size 1.5 1.5) (drill 1.5) (layers *.Cu *.Mask) (tstamp 929a9b03-e99e-4b88-8e16-759f8c6b59a5))
(pad "" np_thru_hole oval (at 2.425 -20.97) (size 1.5 1.5) (drill 1.5) (layers *.Cu *.Mask) (tstamp c210293b-1d7a-4e96-92e9-058784106727))
(pad "1" thru_hole oval (at -8.89 -24.13) (size 1.7 1.7) (drill 1.02) (layers *.Cu *.Mask) (tstamp 015f5586-ba76-4a98-9114-f5cd2c67134d))
(pad "1" smd rect (at -8.89 -24.13) (size 3.5 1.7) (drill (offset -0.9 0)) (layers "F.Cu" "F.Mask") (tstamp 761c8e29-382a-475c-a37a-7201cc9cd0f5))
(pad "2" thru_hole oval (at -8.89 -21.59) (size 1.7 1.7) (drill 1.02) (layers *.Cu *.Mask) (tstamp 541721d1-074b-496e-a833-813044b3e8ca))
(pad "2" smd rect (at -8.89 -21.59) (size 3.5 1.7) (drill (offset -0.9 0)) (layers "F.Cu" "F.Mask") (tstamp e50c80c5-80c4-46a3-8c1e-c9c3a71a0934))
(pad "3" smd rect (at -8.89 -19.05) (size 3.5 1.7) (drill (offset -0.9 0)) (layers "F.Cu" "F.Mask") (tstamp 7233cb6b-d8fd-4fcd-9b4f-8b0ed19b1b12))
(pad "3" thru_hole rect (at -8.89 -19.05) (size 1.7 1.7) (drill 1.02) (layers *.Cu *.Mask) (tstamp d05faa1f-5f69-41bf-86d3-2cd224432e1b))
(pad "4" thru_hole oval (at -8.89 -16.51) (size 1.7 1.7) (drill 1.02) (layers *.Cu *.Mask) (tstamp 2f424da3-8fae-4941-bc6d-20044787372f))
(pad "4" smd rect (at -8.89 -16.51) (size 3.5 1.7) (drill (offset -0.9 0)) (layers "F.Cu" "F.Mask") (tstamp df83f395-2d18-47e2-a370-952ca41c2b3a))
(pad "5" thru_hole oval (at -8.89 -13.97) (size 1.7 1.7) (drill 1.02) (layers *.Cu *.Mask) (tstamp 41485de5-6ed3-4c83-b69e-ef83ae18093c))
(pad "5" smd rect (at -8.89 -13.97) (size 3.5 1.7) (drill (offset -0.9 0)) (layers "F.Cu" "F.Mask") (tstamp 653a86ba-a1ae-4175-9d4c-c788087956d0))
(pad "6" thru_hole oval (at -8.89 -11.43) (size 1.7 1.7) (drill 1.02) (layers *.Cu *.Mask) (tstamp 3bca658b-a598-4669-a7cb-3f9b5f47bb5a))
(pad "6" smd rect (at -8.89 -11.43) (size 3.5 1.7) (drill (offset -0.9 0)) (layers "F.Cu" "F.Mask") (tstamp 3ed2c840-383d-4cbd-bc3b-c4ea4c97b333))
(pad "7" smd rect (at -8.89 -8.89) (size 3.5 1.7) (drill (offset -0.9 0)) (layers "F.Cu" "F.Mask") (tstamp 6a0919c2-460c-4229-b872-14e318e1ba8b))
(pad "7" thru_hole oval (at -8.89 -8.89) (size 1.7 1.7) (drill 1.02) (layers *.Cu *.Mask) (tstamp bef2abc2-bf3e-4a72-ad03-f8da3cd893cb))
(pad "8" thru_hole rect (at -8.89 -6.35) (size 1.7 1.7) (drill 1.02) (layers *.Cu *.Mask) (tstamp b7aa0362-7c9e-4a42-b191-ab15a38bf3c5))
(pad "8" smd rect (at -8.89 -6.35) (size 3.5 1.7) (drill (offset -0.9 0)) (layers "F.Cu" "F.Mask") (tstamp d1c19c11-0a13-4237-b6b4-fb2ef1db7c6d))
(pad "9" smd rect (at -8.89 -3.81) (size 3.5 1.7) (drill (offset -0.9 0)) (layers "F.Cu" "F.Mask") (tstamp 29cbb0bc-f66b-4d11-80e7-5bb270e42496))
(pad "9" thru_hole oval (at -8.89 -3.81) (size 1.7 1.7) (drill 1.02) (layers *.Cu *.Mask) (tstamp dd1edfbb-5fb6-42cd-b740-fd54ab3ef1f1))
(pad "10" thru_hole oval (at -8.89 -1.27) (size 1.7 1.7) (drill 1.02) (layers *.Cu *.Mask) (tstamp 42d3f9d6-2a47-41a8-b942-295fcb83bcd8))
(pad "10" smd rect (at -8.89 -1.27) (size 3.5 1.7) (drill (offset -0.9 0)) (layers "F.Cu" "F.Mask") (tstamp c401e9c6-1deb-4979-99be-7c801c952098))
(pad "11" smd rect (at -8.89 1.27) (size 3.5 1.7) (drill (offset -0.9 0)) (layers "F.Cu" "F.Mask") (tstamp 355ced6c-c08a-4586-9a09-7a9c624536f6))
(pad "11" thru_hole oval (at -8.89 1.27) (size 1.7 1.7) (drill 1.02) (layers *.Cu *.Mask) (tstamp 7bea05d4-1dec-4cd6-aa53-302dde803254))
(pad "12" thru_hole oval (at -8.89 3.81) (size 1.7 1.7) (drill 1.02) (layers *.Cu *.Mask) (tstamp a5362821-c161-4c7a-a00c-40e1d7472d56))
(pad "12" smd rect (at -8.89 3.81) (size 3.5 1.7) (drill (offset -0.9 0)) (layers "F.Cu" "F.Mask") (tstamp c2dd13db-24b6-40f1-b75b-b9ab893d92ea))
(pad "13" thru_hole rect (at -8.89 6.35) (size 1.7 1.7) (drill 1.02) (layers *.Cu *.Mask) (tstamp 1cc5480b-56b7-4379-98e2-ccafc88911a7))
(pad "13" smd rect (at -8.89 6.35) (size 3.5 1.7) (drill (offset -0.9 0)) (layers "F.Cu" "F.Mask") (tstamp d8200a86-aa75-47a3-ad2a-7f4c9c999a6f))
(pad "14" smd rect (at -8.89 8.89) (size 3.5 1.7) (drill (offset -0.9 0)) (layers "F.Cu" "F.Mask") (tstamp 465137b4-f6f7-4d51-9b40-b161947d5cc1))
(pad "14" thru_hole oval (at -8.89 8.89) (size 1.7 1.7) (drill 1.02) (layers *.Cu *.Mask) (tstamp 9a8ad8bb-d9a9-4b2b-bc88-ea6fd2676d45))
(pad "15" thru_hole oval (at -8.89 11.43) (size 1.7 1.7) (drill 1.02) (layers *.Cu *.Mask) (tstamp 851f3d61-ba3b-4e6e-abd4-cafa4d9b64cb))
(pad "15" smd rect (at -8.89 11.43) (size 3.5 1.7) (drill (offset -0.9 0)) (layers "F.Cu" "F.Mask") (tstamp d1cd5391-31d2-459f-8adb-4ae3f304a833))
(pad "16" smd rect (at -8.89 13.97) (size 3.5 1.7) (drill (offset -0.9 0)) (layers "F.Cu" "F.Mask") (tstamp 4086cbd7-6ba7-4e63-8da9-17e60627ee17))
(pad "16" thru_hole oval (at -8.89 13.97) (size 1.7 1.7) (drill 1.02) (layers *.Cu *.Mask) (tstamp ca6e2466-a90a-4dab-be16-b070610e5087))
(pad "17" smd rect (at -8.89 16.51) (size 3.5 1.7) (drill (offset -0.9 0)) (layers "F.Cu" "F.Mask") (tstamp bb8162f0-99c8-4884-be5b-c0d0c7e81ff6))
(pad "17" thru_hole oval (at -8.89 16.51) (size 1.7 1.7) (drill 1.02) (layers *.Cu *.Mask) (tstamp d18f2428-546f-4066-8ffb-7653303685db))
(pad "18" smd rect (at -8.89 19.05) (size 3.5 1.7) (drill (offset -0.9 0)) (layers "F.Cu" "F.Mask") (tstamp 91fc5800-6029-46b1-848d-ca0091f97267))
(pad "18" thru_hole rect (at -8.89 19.05) (size 1.7 1.7) (drill 1.02) (layers *.Cu *.Mask) (tstamp d95c6650-fcd9-4184-97fe-fde43ea5c0cd))
(pad "19" thru_hole oval (at -8.89 21.59) (size 1.7 1.7) (drill 1.02) (layers *.Cu *.Mask) (tstamp 12fa3c3f-3d14-451a-a6a8-884fd1b32fa7))
(pad "19" smd rect (at -8.89 21.59) (size 3.5 1.7) (drill (offset -0.9 0)) (layers "F.Cu" "F.Mask") (tstamp 275b6416-db29-42cc-9307-bf426917c3b4))
(pad "20" smd rect (at -8.89 24.13) (size 3.5 1.7) (drill (offset -0.9 0)) (layers "F.Cu" "F.Mask") (tstamp 3c22d605-7855-4cc6-8ad2-906cadbd02dc))
(pad "20" thru_hole oval (at -8.89 24.13) (size 1.7 1.7) (drill 1.02) (layers *.Cu *.Mask) (tstamp f4a1ab68-998b-43e3-aa33-40b58210bc99))
(pad "21" smd rect (at 8.89 24.13) (size 3.5 1.7) (drill (offset 0.9 0)) (layers "F.Cu" "F.Mask") (tstamp 24adc223-60f0-4497-98a3-d664c5a13280))
(pad "21" thru_hole oval (at 8.89 24.13) (size 1.7 1.7) (drill 1.02) (layers *.Cu *.Mask) (tstamp e76ec524-408a-4daa-89f6-0edfdbcfb621))
(pad "22" smd rect (at 8.89 21.59) (size 3.5 1.7) (drill (offset 0.9 0)) (layers "F.Cu" "F.Mask") (tstamp 13ac70df-e9b9-44e5-96e6-20f0b0dc6a3a))
(pad "22" thru_hole oval (at 8.89 21.59) (size 1.7 1.7) (drill 1.02) (layers *.Cu *.Mask) (tstamp 78b44915-d68e-4488-a873-34767153ef98))
(pad "23" smd rect (at 8.89 19.05) (size 3.5 1.7) (drill (offset 0.9 0)) (layers "F.Cu" "F.Mask") (tstamp 278a91dc-d57d-4a5c-a045-34b6bd84131f))
(pad "23" thru_hole rect (at 8.89 19.05) (size 1.7 1.7) (drill 1.02) (layers *.Cu *.Mask) (tstamp 3993c707-5291-41b6-83c0-d1c09cb3833a))
(pad "24" thru_hole oval (at 8.89 16.51) (size 1.7 1.7) (drill 1.02) (layers *.Cu *.Mask) (tstamp 17ff35b3-d658-499b-9a46-ea36063fed4e))
(pad "24" smd rect (at 8.89 16.51) (size 3.5 1.7) (drill (offset 0.9 0)) (layers "F.Cu" "F.Mask") (tstamp 98966de3-2364-43d8-a2e0-b03bb9487b03))
(pad "25" smd rect (at 8.89 13.97) (size 3.5 1.7) (drill (offset 0.9 0)) (layers "F.Cu" "F.Mask") (tstamp 4cc0e615-05a0-4f42-a208-4011ba8ef841))
(pad "25" thru_hole oval (at 8.89 13.97) (size 1.7 1.7) (drill 1.02) (layers *.Cu *.Mask) (tstamp d13b0eae-4711-4325-a6bb-aa8e3646e86e))
(pad "26" smd rect (at 8.89 11.43) (size 3.5 1.7) (drill (offset 0.9 0)) (layers "F.Cu" "F.Mask") (tstamp 4641c87c-bffa-41fe-ae77-be3a97a6f797))
(pad "26" thru_hole oval (at 8.89 11.43) (size 1.7 1.7) (drill 1.02) (layers *.Cu *.Mask) (tstamp a917c6d9-225d-4c90-bf25-fe8eff8abd3f))
(pad "27" thru_hole oval (at 8.89 8.89) (size 1.7 1.7) (drill 1.02) (layers *.Cu *.Mask) (tstamp 89a3dae6-dcb5-435b-a383-656b6a19a316))
(pad "27" smd rect (at 8.89 8.89) (size 3.5 1.7) (drill (offset 0.9 0)) (layers "F.Cu" "F.Mask") (tstamp da546d77-4b03-4562-8fc6-837fd68e7691))
(pad "28" thru_hole rect (at 8.89 6.35) (size 1.7 1.7) (drill 1.02) (layers *.Cu *.Mask) (tstamp b54cae5b-c17c-4ed7-b249-2e7d5e83609a))
(pad "28" smd rect (at 8.89 6.35) (size 3.5 1.7) (drill (offset 0.9 0)) (layers "F.Cu" "F.Mask") (tstamp e2fac877-439c-4da0-af2e-5fdc70f85d42))
(pad "29" thru_hole oval (at 8.89 3.81) (size 1.7 1.7) (drill 1.02) (layers *.Cu *.Mask) (tstamp 26bc8641-9bca-4204-9709-deedbe202a36))
(pad "29" smd rect (at 8.89 3.81) (size 3.5 1.7) (drill (offset 0.9 0)) (layers "F.Cu" "F.Mask") (tstamp 2ea8fa6f-efc3-40fe-bcf9-05bfa46ead4f))
(pad "30" smd rect (at 8.89 1.27) (size 3.5 1.7) (drill (offset 0.9 0)) (layers "F.Cu" "F.Mask") (tstamp 9da1ace0-4181-4f12-80f8-16786a9e5c07))
(pad "30" thru_hole oval (at 8.89 1.27) (size 1.7 1.7) (drill 1.02) (layers *.Cu *.Mask) (tstamp fd5f7d77-0f73-4021-88a8-0641f0fe8d98))
(pad "31" thru_hole oval (at 8.89 -1.27) (size 1.7 1.7) (drill 1.02) (layers *.Cu *.Mask) (tstamp 1755646e-fc08-4e43-a301-d9b3ea704cf6))
(pad "31" smd rect (at 8.89 -1.27) (size 3.5 1.7) (drill (offset 0.9 0)) (layers "F.Cu" "F.Mask") (tstamp 29126f72-63f7-4275-8b12-6b96a71c6f17))
(pad "32" thru_hole oval (at 8.89 -3.81) (size 1.7 1.7) (drill 1.02) (layers *.Cu *.Mask) (tstamp 1317ff66-8ecf-46c9-9612-8d2eae03c537))
(pad "32" smd rect (at 8.89 -3.81) (size 3.5 1.7) (drill (offset 0.9 0)) (layers "F.Cu" "F.Mask") (tstamp af186015-d283-4209-aade-a247e5de01df))
(pad "33" smd rect (at 8.89 -6.35) (size 3.5 1.7) (drill (offset 0.9 0)) (layers "F.Cu" "F.Mask") (tstamp 8d063f79-9282-4820-bcf4-1ff3c006cf08))
(pad "33" thru_hole rect (at 8.89 -6.35) (size 1.7 1.7) (drill 1.02) (layers *.Cu *.Mask) (tstamp ef4533db-6ea4-4b68-b436-8e9575be570d))
(pad "34" smd rect (at 8.89 -8.89) (size 3.5 1.7) (drill (offset 0.9 0)) (layers "F.Cu" "F.Mask") (tstamp 0554bea0-89b2-4e25-9ea3-4c73921c94cb))
(pad "34" thru_hole oval (at 8.89 -8.89) (size 1.7 1.7) (drill 1.02) (layers *.Cu *.Mask) (tstamp f5dba25f-5f9b-4770-84f9-c038fb119360))
(pad "35" smd rect (at 8.89 -11.43) (size 3.5 1.7) (drill (offset 0.9 0)) (layers "F.Cu" "F.Mask") (tstamp 88606262-3ac5-44a1-aacc-18b26cf4d396))
(pad "35" thru_hole oval (at 8.89 -11.43) (size 1.7 1.7) (drill 1.02) (layers *.Cu *.Mask) (tstamp 8aff0f38-92a8-45ec-b106-b185e93ca3fd))
(pad "36" thru_hole oval (at 8.89 -13.97) (size 1.7 1.7) (drill 1.02) (layers *.Cu *.Mask) (tstamp 63caf46e-0228-40de-b819-c6bd29dd1711))
(pad "36" smd rect (at 8.89 -13.97) (size 3.5 1.7) (drill (offset 0.9 0)) (layers "F.Cu" "F.Mask") (tstamp cd1cff81-9d8a-4511-96d6-4ddb79484001))
(pad "37" smd rect (at 8.89 -16.51) (size 3.5 1.7) (drill (offset 0.9 0)) (layers "F.Cu" "F.Mask") (tstamp 22962957-1efd-404d-83db-5b233b6c15b0))
(pad "37" thru_hole oval (at 8.89 -16.51) (size 1.7 1.7) (drill 1.02) (layers *.Cu *.Mask) (tstamp a7fc0812-140f-4d96-9cd8-ead8c1c610b1))
(pad "38" smd rect (at 8.89 -19.05) (size 3.5 1.7) (drill (offset 0.9 0)) (layers "F.Cu" "F.Mask") (tstamp 8eb98c56-17e4-4de6-a3e3-06dcfa392040))
(pad "38" thru_hole rect (at 8.89 -19.05) (size 1.7 1.7) (drill 1.02) (layers *.Cu *.Mask) (tstamp 94a10cae-6ef2-4b64-9d98-fb22aa3306cc))
(pad "39" smd rect (at 8.89 -21.59) (size 3.5 1.7) (drill (offset 0.9 0)) (layers "F.Cu" "F.Mask") (tstamp c66a19ed-90c0-4502-ae75-6a4c4ab9f297))
(pad "39" thru_hole oval (at 8.89 -21.59) (size 1.7 1.7) (drill 1.02) (layers *.Cu *.Mask) (tstamp f33ec0db-ef0f-4576-8054-2833161a8f30))
(pad "40" thru_hole oval (at 8.89 -24.13) (size 1.7 1.7) (drill 1.02) (layers *.Cu *.Mask) (tstamp 0ba17a9b-d889-426c-b4fe-048bed6b6be8))
(pad "40" smd rect (at 8.89 -24.13) (size 3.5 1.7) (drill (offset 0.9 0)) (layers "F.Cu" "F.Mask") (tstamp bd085057-7c0e-463a-982b-968a2dc1f0f8))
(pad "41" smd rect (at -2.54 23.9 90) (size 3.5 1.7) (drill (offset -0.9 0)) (layers "F.Cu" "F.Mask") (tstamp b21299b9-3c4d-43df-b399-7f9b08eb5470))
(pad "41" thru_hole oval (at -2.54 23.9) (size 1.7 1.7) (drill 1.02) (layers *.Cu *.Mask) (tstamp fc2e9f96-3bed-4896-b995-f56e799f1c77))
(pad "42" thru_hole rect (at 0 23.9) (size 1.7 1.7) (drill 1.02) (layers *.Cu *.Mask) (tstamp 4cfd9a02-97ef-4af4-a6b8-db9be1a8fda5))
(pad "42" smd rect (at 0 23.9 90) (size 3.5 1.7) (drill (offset -0.9 0)) (layers "F.Cu" "F.Mask") (tstamp 751d823e-1d7b-4501-9658-d06d459b0e16))
(pad "43" thru_hole oval (at 2.54 23.9) (size 1.7 1.7) (drill 1.02) (layers *.Cu *.Mask) (tstamp 92761c09-a591-4c8e-af4d-e0e2262cb01d))
(pad "43" smd rect (at 2.54 23.9 90) (size 3.5 1.7) (drill (offset -0.9 0)) (layers "F.Cu" "F.Mask") (tstamp aadc3df5-0e2d-4f3d-b72e-6f184da74c89))
(model "C:/Users/ncara/OneDrive/IoT/Tools/KiCad/RP-Pico Libraries/Pico.wrl"
(offset (xyz 0 0 0))
(scale (xyz 1 1 1))
(rotate (xyz 0 0 0))
)
)

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,3 @@
(fp_lib_table
(lib (name "MCU_RaspberryPi_and_Boards")(type "KiCad")(uri "${KIPRJMOD}/MCU_RaspberryPi_and_Boards.pretty")(options "")(descr ""))
)

View File

@ -0,0 +1,4 @@
(sym_lib_table
(lib (name "MultiOscParts")(type "KiCad")(uri "F:/KiCad/Proyectos/MultiOsc/MultiOsc/MultiOscParts.kicad_sym")(options "")(descr ""))
(lib (name "MCU_RaspberryPi_and_Boards")(type "KiCad")(uri "${KIPRJMOD}/MCU_RaspberryPi_and_Boards.kicad_sym")(options "")(descr ""))
)

View File

@ -0,0 +1 @@
[]

View File

@ -0,0 +1 @@
[]

View File

@ -0,0 +1,19 @@
{
"configurations": [
{
"name": "Linux",
"includePath": [
"${workspaceFolder}/**",
"${env:PICO_SDK_PATH}/**"
],
"defines": [],
"compilerPath": "C:\\Program Files (x86)\\GNU Arm Embedded Toolchain\\10 2021.10\\bin\\arm-none-eabi-gcc.exe",
"cStandard": "gnu17",
"cppStandard": "gnu++14",
"intelliSenseMode": "linux-gcc-arm",
"configurationProvider" : "ms-vscode.cmake-tools"
}
],
"version": 4
}

View File

@ -0,0 +1 @@
{"buildTargets":[],"launchTargets":[],"customConfigurationProvider":{"workspaceBrowse":{"browsePath":[],"compilerArgs":[]},"fileIndex":[]}}

View File

@ -0,0 +1,7 @@
make.exe --dry-run --always-make --keep-going --print-directory
make.exe: Entering directory `f:/PicoSDK/Projects/LogicAnalyzer'
make.exe: *** No targets specified and no makefile found. Stop.
make.exe: Leaving directory `f:/PicoSDK/Projects/LogicAnalyzer'

View File

@ -0,0 +1,7 @@
{
"recommendations": [
"marus25.cortex-debug",
"ms-vscode.cmake-tools",
"ms-vscode.cpptools"
]
}

View File

@ -0,0 +1,29 @@
{
// Use IntelliSense to learn about possible attributes.
// Hover to view descriptions of existing attributes.
// For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387
"version": "0.2.0",
"configurations": [
{
"name": "Cortex Debug",
"cwd": "${workspaceRoot}",
"executable": "${command:cmake.launchTargetPath}",
"request": "launch",
"type": "cortex-debug",
"servertype": "openocd",
"gdbPath": "arm-none-eabi-gdb",
"device": "RP2040",
"configFiles": [
"interface/picoprobe.cfg",
"target/rp2040.cfg"
],
"svdFile": "${env:PICO_SDK_PATH}/src/rp2040/hardware_regs/rp2040.svd",
"runToMain": true,
// Give restart the same functionality as runToMain
"postRestartCommands": [
"break main",
"continue"
]
}
]
}

View File

@ -0,0 +1,59 @@
{
"cmake.configureOnOpen": false,
"cmake.statusbar.advanced": {
"debug" : {
"visibility": "hidden"
}, "launch" : {
"visibility": "hidden"
},
"build" : {
"visibility": "default"
},
"buildTarget" : {
"visibility": "hidden"
},
},
"files.associations": {
"pio.h": "c",
"*.pio": "c",
"string.h": "c",
"array": "c",
"atomic": "c",
"bit": "c",
"*.tcc": "c",
"cmath": "c",
"compare": "c",
"concepts": "c",
"cstddef": "c",
"deque": "c",
"string": "c",
"unordered_map": "c",
"vector": "c",
"exception": "c",
"functional": "c",
"iterator": "c",
"memory": "c",
"memory_resource": "c",
"optional": "c",
"string_view": "c",
"system_error": "c",
"type_traits": "c",
"algorithm": "c",
"random": "c",
"fstream": "c",
"iomanip": "c",
"istream": "c",
"limits": "c",
"numeric": "c",
"ostream": "c",
"ranges": "c",
"sstream": "c",
"streambuf": "c",
"tuple": "c",
"typeinfo": "c",
"utility": "c",
"irq.h": "c",
"IRQ.H": "cpp",
"m0plus.h": "c"
},
}

View File

@ -0,0 +1,434 @@
make.exe all --print-data-base --no-builtin-variables --no-builtin-rules --question
# GNU Make 3.81
# Copyright (C) 2006 Free Software Foundation, Inc.
# This is free software; see the source for copying conditions.
# There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A
# PARTICULAR PURPOSE.
# This program built for i386-pc-mingw32
# Make data base, printed on Sat Jul 02 12:18:29 2022
# Variables
# environment
POWERSHELL_DISTRIBUTION_CHANNEL = MSI:Windows 10 Pro
# automatic
?F = $(notdir $?)
# automatic
<D = $(patsubst %/,%,$(dir $<))
# environment
KISYS3DMOD = F:\KiCad\share\kicad\modules\packages3d
# environment
ELECTRON_NO_ATTACH_CONSOLE = 1
# makefile
MAKEFLAGS = Rrqp
# environment
COMMANDPROMPTTYPE = Native
# environment
VSCODE_LOG_NATIVE = false
# environment
AUTOFIRMA_AVOID_UPDATE_CHECK = true
# automatic
@D = $(patsubst %/,%,$(dir $@))
# environment
HOMEDRIVE = C:
# automatic
@F = $(notdir $@)
# automatic
^D = $(patsubst %/,%,$(dir $^))
# makefile
CURDIR := f:/PicoSDK/Projects/LogicAnalyzer
# default
SHELL := C:/WinAVR-20100110/utils/bin/sh.exe
# environment
__VSCMD_SCRIPT_ERR_COUNT = 0
# environment
WINDOWSSDKVERSION = 10.0.19041.0\
# environment
WINDIR = C:\WINDOWS
# environment
VSCODE_NLS_CONFIG = {"locale":"es","availableLanguages":{"*":"es"},"_languagePackId":"eae11d900af9c06c6da7ac60cedf8cf9.es","_translationsConfigFile":"C:\\Users\\geniw\\AppData\\Roaming\\Code\\clp\\eae11d900af9c06c6da7ac60cedf8cf9.es\\tcf.json","_cacheRoot":"C:\\Users\\geniw\\AppData\\Roaming\\Code\\clp\\eae11d900af9c06c6da7ac60cedf8cf9.es","_resolvedLanguagePackCoreLocation":"C:\\Users\\geniw\\AppData\\Roaming\\Code\\clp\\eae11d900af9c06c6da7ac60cedf8cf9.es\\30d9c6cd9483b2cc586687151bcbcd635f373630","_corruptedFile":"C:\\Users\\geniw\\AppData\\Roaming\\Code\\clp\\eae11d900af9c06c6da7ac60cedf8cf9.es\\corrupted.info","_languagePackSupport":true}
# environment
VBOX_MSI_INSTALL_PATH = C:\Program Files\Oracle\VirtualBox\
# environment
ONEDRIVE = C:\Users\geniw\OneDrive
# automatic
?D = $(patsubst %/,%,$(dir $?))
# environment
FRAMEWORKDIR32 = C:\Windows\Microsoft.NET\Framework\
# environment
PATHEXT = .COM;.EXE;.BAT;.CMD;.VBS;.VBE;.JS;.JSE;.WSF;.WSH;.MSC;.PY;.PYW
# makefile
MAKEFILE_LIST :=
# environment
FPS_BROWSER_USER_PROFILE_STRING = Default
# environment
__DOTNET_PREFERRED_BITNESS = 32
# environment
VSINSTALLDIR = C:\Program Files\Microsoft Visual Studio\2022\Community\
# environment
TMP = C:\Users\geniw\AppData\Local\Temp
# environment
FRAMEWORK40VERSION = v4.0
# environment
VSCODE_VERBOSE_LOGGING = true
# environment
PROGRAMW6432 = C:\Program Files
# environment
PROGRAMDATA = C:\ProgramData
# environment
VSCMD_ARG_TGT_ARCH = x86
# environment
VSCODE_IPC_HOOK_EXTHOST = \\.\pipe\vscode-ipc-e7370b71-19fe-405a-88d1-375f401ce9ae-sock
# environment
VSCODE_CWD = F:\PicoSDK\Pico
# environment
PATH = C:\Program Files\Microsoft Visual Studio\2022\Community\Common7\IDE\\Extensions\Microsoft\IntelliCode\CLI;C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.30.30705\bin\HostX86\x86;C:\Program Files\Microsoft Visual Studio\2022\Community\Common7\IDE\VC\VCPackages;C:\Program Files\Microsoft Visual Studio\2022\Community\Common7\IDE\CommonExtensions\Microsoft\TestWindow;C:\Program Files\Microsoft Visual Studio\2022\Community\Common7\IDE\CommonExtensions\Microsoft\TeamFoundation\Team Explorer;C:\Program Files\Microsoft Visual Studio\2022\Community\MSBuild\Current\bin\Roslyn;C:\Program Files\Microsoft Visual Studio\2022\Community\Team Tools\Performance Tools;C:\Program Files (x86)\Microsoft Visual Studio\Shared\Common\VSPerfCollectionTools\vs2019\;C:\Program Files (x86)\Microsoft SDKs\Windows\v10.0A\bin\NETFX 4.8 Tools\;C:\Program Files\Microsoft Visual Studio\2022\Community\Common7\IDE\CommonExtensions\Microsoft\FSharp\Tools;C:\Program Files (x86)\Windows Kits\10\bin\10.0.19041.0\\x86;C:\Program Files (x86)\Windows Kits\10\bin\\x86;C:\Program Files\Microsoft Visual Studio\2022\Community\\MSBuild\Current\Bin\amd64;C:\Windows\Microsoft.NET\Framework\v4.0.30319;C:\Program Files\Microsoft Visual Studio\2022\Community\Common7\IDE\;C:\Program Files\Microsoft Visual Studio\2022\Community\Common7\Tools\;C:\Program Files (x86)\Microsoft Visual Studio\Installer;C:\Program Files\Graphviz\bin;C:\Program Files\Graphviz\bin;C:\Program Files\doxygen\bin;C:\Program Files\doxygen\bin;F:\PicoSDK\Pico\tools\openocd-picoprobe;C:\Program Files\Python39\Scripts\;C:\Program Files\Python39\;C:\Program Files\Eclipse Foundation\jdk-8.0.302.8-hotspot\bin;C:\Program Files\Microsoft\jdk-11.0.12.7-hotspot\bin;P:\Oculus\Support\oculus-runtime;C:\Program Files (x86)\Microsoft SDKs\Azure\CLI2\wbin;C:\WinAVR-20100110\bin;C:\WinAVR-20100110\utils\bin;C:\Program Files (x86)\WindowsPowerShell\Modules;C:\WINDOWS\system32\WindowsPowerShell\v1.0\Modules;C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\System32\Wbem;C:\WINDOWS\System32\WindowsPowerShell\v1.0\;C:\Program Files (x86)\Windows Live\Shared;C:\Program Files\dotnet;C:\Users\geniw\.azure-kubelogin;C:\Users\geniw\.azure-kubectl;C:\Program Files\dotnet\;C:\Program Files\Docker\Docker\resources\bin;C:\ProgramData\DockerDesktop\version-bin;C:\Program Files\NVIDIA Corporation\NVIDIA NvDLISR;C:\Program Files\PowerShell\7\;C:\Windows\System32\wbem;C:\Windows\System32\;C:\Program Files\Microsoft SQL Server\150\Tools\Binn\;C:\Program Files (x86)\NVIDIA Corporation\PhysX\Common;C:\Program Files\Microsoft\Azure function tools\win-x64;F:\RPico\CMake\bin;C;C:\Program Files\Git\cmd;C;C:\Program Files (x86)\GNU Arm Embedded Toolchain\10 2021.10\bin;F:\RPico\Python37\Scripts\;F:\RPico\Python37\;C:\lscc\iCEcube2.2017.08\Aldec\Active-HDL\BIN;C:\Program Files (x86)\Microchip\bin;C:\Users\geniw\AppData\Local\Microsoft\WindowsApps;C:\Users\geniw\.dotnet\tools;C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\NuGetClient;C:\Users\geniw\.dotnet\tools;C:\Users\geniw\AppData\Local\Microsoft\WindowsApps;C:\Program Files\Git\bin;C:\Program Files (x86)\Skyworks\ClockBuilder Pro\Bin;C:\Users\geniw\AppData\Local\Programs\Microsoft VS Code\bin;C:\Program Files\Microsoft Visual Studio\2022\Community\Common7\IDE\CommonExtensions\Microsoft\CMake\CMake\bin;C:\Program Files\Microsoft Visual Studio\2022\Community\Common7\IDE\CommonExtensions\Microsoft\CMake\Ninja;C:\Program Files\Microsoft Visual Studio\2022\Community\Common7\IDE\VC\Linux\bin\ConnectionManagerExe
# environment
LM_LICENSE_FILE = 27020@45.33.107.56
# environment
COMMONPROGRAMW6432 = C:\Program Files\Common Files
# environment
VS170COMNTOOLS = C:\Program Files\Microsoft Visual Studio\2022\Community\Common7\Tools\
# environment
PICO_EXAMPLES_PATH = F:\PicoSDK\Pico\pico-examples
# environment
CHOCOLATEYLASTPATHUPDATE = 132478510324938343
# environment
PROCESSOR_ARCHITECTURE = x86
# environment
USERPROFILE = C:\Users\geniw
# environment
CHOCOLATEYINSTALL = F:\chocolatey
# environment
FRAMEWORKDIR = C:\Windows\Microsoft.NET\Framework\
# environment
ALLUSERSPROFILE = C:\ProgramData
# environment
WINDOWSSDK_EXECUTABLEPATH_X64 = C:\Program Files (x86)\Microsoft SDKs\Windows\v10.0A\bin\NETFX 4.8 Tools\x64\
# environment
VSCODE_LOG_STACK = false
# environment
NUMBER_OF_PROCESSORS = 16
# environment
ELECTRON_RUN_AS_NODE = 1
# environment
LIB = C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.30.30705\ATLMFC\lib\x86;C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.30.30705\lib\x86;C:\Program Files (x86)\Windows Kits\NETFXSDK\4.8\lib\um\x86;C:\Program Files (x86)\Windows Kits\10\lib\10.0.19041.0\ucrt\x86;C:\Program Files (x86)\Windows Kits\10\\lib\10.0.19041.0\\um\x86
# default
.FEATURES := target-specific order-only second-expansion else-if archives
# environment
OCULUSBASE = P:\Oculus\
# environment
VK_SDK_PATH = C:\VulkanSDK\1.2.148.1
# automatic
%F = $(notdir $%)
# environment
KICAD_TEMPLATE_DIR = F:\KiCad\share\kicad\template
# environment
CHROME_CRASHPAD_PIPE_NAME = \\.\pipe\crashpad_19304_UJWDZWZVPVPUPMAW
# environment
FSHARPINSTALLDIR = C:\Program Files\Microsoft Visual Studio\2022\Community\Common7\IDE\CommonExtensions\Microsoft\FSharp\Tools
# environment
__VSCMD_PREINIT_PATH = C:\Program Files (x86)\Microsoft Visual Studio\Installer;C:\Program Files\Graphviz\bin;C:\Program Files\Graphviz\bin;C:\Program Files\doxygen\bin;C:\Program Files\doxygen\bin;F:\PicoSDK\Pico\tools\openocd-picoprobe;C:\Program Files\Python39\Scripts\;C:\Program Files\Python39\;C:\Program Files\Eclipse Foundation\jdk-8.0.302.8-hotspot\bin;C:\Program Files\Microsoft\jdk-11.0.12.7-hotspot\bin;P:\Oculus\Support\oculus-runtime;C:\Program Files (x86)\Microsoft SDKs\Azure\CLI2\wbin;C:\WinAVR-20100110\bin;C:\WinAVR-20100110\utils\bin;C:\Program Files (x86)\WindowsPowerShell\Modules;C:\WINDOWS\system32\WindowsPowerShell\v1.0\Modules;C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\System32\Wbem;C:\WINDOWS\System32\WindowsPowerShell\v1.0\;C:\Program Files (x86)\Windows Live\Shared;C:\Program Files\dotnet;C:\Users\geniw\.azure-kubelogin;C:\Users\geniw\.azure-kubectl;C:\Program Files\dotnet\;C:\Program Files\Docker\Docker\resources\bin;C:\ProgramData\DockerDesktop\version-bin;C:\Program Files\NVIDIA Corporation\NVIDIA NvDLISR;C:\Program Files\PowerShell\7\;C:\Windows\System32\wbem;C:\Windows\System32\;C:\Program Files\Microsoft SQL Server\150\Tools\Binn\;C:\Program Files (x86)\NVIDIA Corporation\PhysX\Common;C:\Program Files\Microsoft\Azure function tools\win-x64;F:\RPico\CMake\bin;C;C:\Program Files\Git\cmd;C;C:\Program Files (x86)\GNU Arm Embedded Toolchain\10 2021.10\bin;F:\RPico\Python37\Scripts\;F:\RPico\Python37\;C:\lscc\iCEcube2.2017.08\Aldec\Active-HDL\BIN;C:\Program Files (x86)\Microchip\bin;C:\Users\geniw\AppData\Local\Microsoft\WindowsApps;C:\Users\geniw\.dotnet\tools;C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\NuGetClient;C:\Users\geniw\.dotnet\tools;C:\Users\geniw\AppData\Local\Microsoft\WindowsApps;C:\Program Files\Git\bin;C:\Program Files (x86)\Skyworks\ClockBuilder Pro\Bin;C:\Users\geniw\AppData\Local\Programs\Microsoft VS Code\bin
# environment
VSCODE_PIPE_LOGGING = true
# environment
FRAMEWORKVERSION32 = v4.0.30319
# environment
COMPUTERNAME = DESKTOP-C983CQ7
# environment
PROGRAMFILES = C:\Program Files (x86)
# environment
VCTOOLSINSTALLDIR = C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.30.30705\
# environment
DRIVERDATA = C:\Windows\System32\Drivers\DriverData
# environment
ASL.LOG = Destination=file
# environment
ORIGINAL_XDG_CURRENT_DESKTOP = undefined
# environment
AVR32_HOME = C:\WinAVR-20100110
# environment
USERNAME = Gus
# environment
PUBLIC = C:\Users\Public
# environment
VSCODE_AMD_ENTRYPOINT = vs/workbench/api/node/extensionHostProcess
# environment
WINDOWSSDK_EXECUTABLEPATH_X86 = C:\Program Files (x86)\Microsoft SDKs\Windows\v10.0A\bin\NETFX 4.8 Tools\
# environment
VSSDK150INSTALL = C:\Program Files\Microsoft Visual Studio\2022\Community\VSSDK
# environment
VSCODE_CLI = 1
# environment
PICO_EXTRAS_PATH = F:\PicoSDK\Pico\pico-extras
# environment
VSCODE_CODE_CACHE_PATH = C:\Users\geniw\AppData\Roaming\Code\CachedData\30d9c6cd9483b2cc586687151bcbcd635f373630
# environment
VSCMD_VER = 17.0.4
# environment
WINDOWSSDKVERBINPATH = C:\Program Files (x86)\Windows Kits\10\bin\10.0.19041.0\
# environment
APPLICATION_INSIGHTS_NO_DIAGNOSTIC_CHANNEL = 1
# environment
COMMONPROGRAMFILES = C:\Program Files (x86)\Common Files
# environment
LOGONSERVER = \\DESKTOP-C983CQ7
# automatic
+F = $(notdir $+)
# environment
VSCODE_HANDLES_UNCAUGHT_ERRORS = true
# environment
USERDOMAIN = DESKTOP-C983CQ7
# environment
VCIDEINSTALLDIR = C:\Program Files\Microsoft Visual Studio\2022\Community\Common7\IDE\VC\
# default
MAKE = $(MAKE_COMMAND)
# default
MAKECMDGOALS := all
# environment
KISYSMOD = F:\KiCad\share\kicad\modules
# environment
LIBPATH = C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.30.30705\ATLMFC\lib\x86;C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.30.30705\lib\x86;C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.30.30705\lib\x86\store\references;C:\Program Files (x86)\Windows Kits\10\UnionMetadata\10.0.19041.0;C:\Program Files (x86)\Windows Kits\10\References\10.0.19041.0;C:\Windows\Microsoft.NET\Framework\v4.0.30319
# default
MAKE_VERSION := 3.81
# environment
KICAD_SYMBOL_DIR = F:\KiCad\share\kicad\library
# makefile
.DEFAULT_GOAL :=
# environment
INCLUDE = C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.30.30705\ATLMFC\include;C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.30.30705\include;C:\Program Files (x86)\Windows Kits\NETFXSDK\4.8\include\um;C:\Program Files (x86)\Windows Kits\10\include\10.0.19041.0\ucrt;C:\Program Files (x86)\Windows Kits\10\\include\10.0.19041.0\\shared;C:\Program Files (x86)\Windows Kits\10\\include\10.0.19041.0\\um;C:\Program Files (x86)\Windows Kits\10\\include\10.0.19041.0\\winrt;C:\Program Files (x86)\Windows Kits\10\\include\10.0.19041.0\\cppwinrt
# environment
ERRORS = 0
# environment
UCRTVERSION = 10.0.19041.0
# environment
FRAMEWORKVERSION = v4.0.30319
# environment
PROGRAMFILES(X86) = C:\Program Files (x86)
# automatic
%D = $(patsubst %/,%,$(dir $%))
# environment
LOCALAPPDATA = C:\Users\geniw\AppData\Local
# environment
PSMODULEPATH = C:\Program Files (x86)\WindowsPowerShell\Modules;C:\WINDOWS\system32\WindowsPowerShell\v1.0\Modules;C:\Program Files (x86)\Particular Software\ServiceControl Management\ServiceControlMgmt
# default
MAKE_COMMAND := make.exe
# environment
VCTOOLSVERSION = 14.30.30705
# environment
PROCESSOR_ARCHITEW6432 = AMD64
# environment
AMDRMSDKPATH = C:\Program Files\AMD\RyzenMasterSDK\
# default
.VARIABLES :=
# automatic
*F = $(notdir $*)
# environment
PROCESSOR_IDENTIFIER = AMD64 Family 25 Model 33 Stepping 2, AuthenticAMD
# environment
OS = Windows_NT
# environment
VSCODE_IPC_HOOK = \\.\pipe\c3458689be066bf74d96fafb71cdfa9f-1.68.1-main-sock
# environment
DEVENVDIR = C:\Program Files\Microsoft Visual Studio\2022\Community\Common7\IDE\
# environment
HOMEPATH = \Users\geniw
# environment
COMMONPROGRAMFILES(X86) = C:\Program Files (x86)\Common Files
# environment
PROMPT = $P$G
# environment
MFLAGS = -Rrqp
# automatic
*D = $(patsubst %/,%,$(dir $*))
# environment
SYSTEMROOT = C:\WINDOWS
# environment
PICO_PLAYGROUND_PATH = F:\PicoSDK\Pico\pico-playground
# environment
VISUALSTUDIOVERSION = 17.0
# automatic
+D = $(patsubst %/,%,$(dir $+))
# environment
WINDOWSSDKDIR = C:\Program Files (x86)\Windows Kits\10\
# environment
APPDATA = C:\Users\geniw\AppData\Roaming
# environment
VSCMD_ARG_HOST_ARCH = x86
# environment
TEMP = C:\Users\geniw\AppData\Local\Temp
# environment
AMDRMPATH = C:\Program Files\AMD\RyzenMaster\
# environment
COMSPEC = C:\WINDOWS\system32\cmd.exe
# environment
VCINSTALLDIR = C:\Program Files\Microsoft Visual Studio\2022\Community\VC\
# default
MAKEFILES :=
# environment
EXTENSIONSDKDIR = C:\Program Files (x86)\Microsoft SDKs\Windows Kits\10\ExtensionSDKs
# environment
NETFXSDKDIR = C:\Program Files (x86)\Windows Kits\NETFXSDK\4.8\
# automatic
<F = $(notdir $<)
# environment
VCTOOLSREDISTDIR = C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Redist\MSVC\14.30.30704\
# environment
WINDOWSSDKBINPATH = C:\Program Files (x86)\Windows Kits\10\bin\
# environment
OPENSSL_IA32CAP = :~0x20000000
# environment
LC_ALL = C
# environment
__DOTNET_ADD_32BIT = 1
# environment
WINDOWSLIBPATH = C:\Program Files (x86)\Windows Kits\10\UnionMetadata\10.0.19041.0;C:\Program Files (x86)\Windows Kits\10\References\10.0.19041.0
# environment
VSCMD_ARG_APP_PLAT = Desktop
# environment
VSSDKINSTALL = C:\Program Files\Microsoft Visual Studio\2022\Community\VSSDK
# automatic
^F = $(notdir $^)
# default
SUFFIXES :=
# environment
SYSTEMDRIVE = C:
# environment
SESSIONNAME = Console
# environment
PROCESSOR_REVISION = 2102
# environment
WINDOWSSDKLIBVERSION = 10.0.19041.0\
# environment
VBOX_HWVIRTEX_IGNORE_SVM_IN_USE = 1
# environment
MAKELEVEL := 0
# environment
PICO_SDK_PATH = F:\PicoSDK\Pico\pico-sdk
# environment
VULKAN_SDK = C:\VulkanSDK\1.2.148.1
# environment
UNIVERSALCRTSDKDIR = C:\Program Files (x86)\Windows Kits\10\
# environment
OPENOCD_SCRIPTS = F:\PicoSDK\Pico\tools\openocd-picoprobe\scripts
# environment
LANG = C
# environment
PROCESSOR_LEVEL = 25
# environment
FPS_BROWSER_APP_PROFILE_STRING = Internet Explorer
# environment
VSCODE_PID = 19304
# environment
NO_XILINX_DATA_LICENSE = HIDDEN
# environment
USERDOMAIN_ROAMINGPROFILE = DESKTOP-C983CQ7
# variable set hash-table stats:
# Load=157/1024=15%, Rehash=0, Collisions=23/173=13%
# Pattern-specific Variable Values
# No pattern-specific variable values.
# Directories
# C:\Program Files\Microsoft Visual Studio\2022\Community\\MSBuild\Current\Bin\amd64 (key C:/Program Files/Microsoft Visual Studio/2022/Community/MSBuild/Current/Bin/amd64, mtime 1637065837): 92 files, no impossibilities.
# C:\Program Files (x86)\Microsoft Visual Studio\Shared\Common\VSPerfCollectionTools\vs2019\ (key C:/Program Files (x86)/Microsoft Visual Studio/Shared/Common/VSPerfCollectionTools/vs2019/, mtime 1622008445): 32 files, no impossibilities.
# C:\Program Files\Microsoft\jdk-11.0.12.7-hotspot\bin (key C:/Program Files/Microsoft/jdk-11.0.12.7-hotspot/bin, mtime 1637065614): 127 files, no impossibilities.
# C:\Program Files\Eclipse Foundation\jdk-8.0.302.8-hotspot\bin (key C:/Program Files/Eclipse Foundation/jdk-8.0.302.8-hotspot/bin, mtime 1641903191): 53 files, no impossibilities.
# F:\PicoSDK\Pico\tools\openocd-picoprobe (key F:/PicoSDK/Pico/tools/openocd-picoprobe, mtime 1655586174): 5 files, no impossibilities.
# . (key f:/PicoSDK/Projects/LogicAnalyzer, mtime 1656158031): 8 files, no impossibilities.
# C:\Program Files\doxygen\bin (key C:/Program Files/doxygen/bin, mtime 1655586169): 7 files, no impossibilities.
# C:\Program Files (x86)\Windows Kits\10\bin\10.0.19041.0\\x86 (key C:/Program Files (x86)/Windows Kits/10/bin/10.0.19041.0/x86, mtime 1637065596): 221 files, no impossibilities.
# C:\Windows\Microsoft.NET\Framework\v4.0.30319 (key C:/Windows/Microsoft.NET/Framework/v4.0.30319, mtime 1656756708): 407 files, no impossibilities.
# C:\Program Files\Microsoft Visual Studio\2022\Community\MSBuild\Current\bin\Roslyn (key C:/Program Files/Microsoft Visual Studio/2022/Community/MSBuild/Current/bin/Roslyn, mtime 1641902071): 46 files, no impossibilities.
# C:\Program Files\Microsoft Visual Studio\2022\Community\Common7\IDE\\Extensions\Microsoft\IntelliCode\CLI (key C:/Program Files/Microsoft Visual Studio/2022/Community/Common7/IDE/Extensions/Microsoft/IntelliCode/CLI, mtime 1637065080): 39 files, no impossibilities.
# C:\WinAVR-20100110\bin (key C:/WinAVR-20100110/bin, mtime 1617902700): 75 files, no impossibilities.
# C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.30.30705\bin\HostX86\x86 (key C:/Program Files/Microsoft Visual Studio/2022/Community/VC/Tools/MSVC/14.30.30705/bin/HostX86/x86, mtime 1641902120): 69 files, no impossibilities.
# C:\Program Files (x86)\Microsoft Visual Studio\Installer (key C:/Program Files (x86)/Microsoft Visual Studio/Installer, mtime 1655562203): 42 files, no impossibilities.
# C:\Program Files\Microsoft Visual Studio\2022\Community\Common7\IDE\CommonExtensions\Microsoft\TestWindow (key C:/Program Files/Microsoft Visual Studio/2022/Community/Common7/IDE/CommonExtensions/Microsoft/TestWindow, mtime 1641902078): 53 files, no impossibilities.
# C:\Program Files\Microsoft Visual Studio\2022\Community\Common7\IDE\ (key C:/Program Files/Microsoft Visual Studio/2022/Community/Common7/IDE/, mtime 1641902153): 346 files, no impossibilities.
# C:\WinAVR-20100110\utils\bin (key C:/WinAVR-20100110/utils/bin, mtime 1617902708): 99 files, no impossibilities so far.
# C:\Program Files\Microsoft Visual Studio\2022\Community\Common7\Tools\ (key C:/Program Files/Microsoft Visual Studio/2022/Community/Common7/Tools/, mtime 1641902065): 47 files, no impossibilities.
# C:\Program Files\Microsoft Visual Studio\2022\Community\Team Tools\Performance Tools (key C:/Program Files/Microsoft Visual Studio/2022/Community/Team Tools/Performance Tools, mtime 1641902115): 34 files, no impossibilities.
# C:\Program Files\Microsoft Visual Studio\2022\Community\Common7\IDE\CommonExtensions\Microsoft\FSharp\Tools (key C:/Program Files/Microsoft Visual Studio/2022/Community/Common7/IDE/CommonExtensions/Microsoft/FSharp/Tools, mtime 1637064910): 65 files, no impossibilities.
# C:\Program Files\Microsoft Visual Studio\2022\Community\Common7\IDE\VC\VCPackages (key C:/Program Files/Microsoft Visual Studio/2022/Community/Common7/IDE/VC/VCPackages, mtime 1641902049): 29 files, no impossibilities.
# C:\Program Files (x86)\Microsoft SDKs\Windows\v10.0A\bin\NETFX 4.8 Tools\ (key C:/Program Files (x86)/Microsoft SDKs/Windows/v10.0A/bin/NETFX 4.8 Tools/, mtime 1571829639): 61 files, no impossibilities.
# P:\Oculus\Support\oculus-runtime (key P:/Oculus/Support/oculus-runtime, mtime 1655746509): 43 files, no impossibilities.
# C:\Program Files (x86)\Microsoft SDKs\Azure\CLI2\wbin (key C:/Program Files (x86)/Microsoft SDKs/Azure/CLI2/wbin, mtime 1603800905): 4 files, no impossibilities.
# C:\Program Files\Python39\ (key C:/Program Files/Python39/, mtime 1655562297): 18 files, no impossibilities.
# C:\Program Files (x86)\Windows Kits\10\bin\\x86 (key C:/Program Files (x86)/Windows Kits/10/bin/x86, mtime 1637065546): 4 files, no impossibilities.
# C:\Program Files\Graphviz\bin (key C:/Program Files/Graphviz/bin, mtime 1655562336): 60 files, no impossibilities.
# C:\Program Files\Python39\Scripts\ (key C:/Program Files/Python39/Scripts/, mtime 1655562297): 5 files, no impossibilities.
# C:\Program Files\Microsoft Visual Studio\2022\Community\Common7\IDE\CommonExtensions\Microsoft\TeamFoundation\Team Explorer (key C:/Program Files/Microsoft Visual Studio/2022/Community/Common7/IDE/CommonExtensions/Microsoft/TeamFoundation/Team Explorer, mtime 1641902062): 167 files, no impossibilities.
# 2258 files, no impossibilities in 29 directories.
# Implicit Rules
# No implicit rules.
# Files
# Not a target:
all:
# Command-line target.
# Implicit rule search has been done.
# File does not exist.
# File has not been updated.
# variable set hash-table stats:
# Load=0/32=0%, Rehash=0, Collisions=0/0=0%
# Not a target:
.DEFAULT:
# Implicit rule search has not been done.
# Modification time never checked.
# File has not been updated.
# Not a target:
makefile:
# A default, MAKEFILES, or -include/sinclude makefile.
# Implicit rule search has been done.
# File does not exist.
# File has been updated.
# Failed to be updated.
# variable set hash-table stats:
# Load=0/32=0%, Rehash=0, Collisions=0/0=0%
# Not a target:
.SUFFIXES:
# Implicit rule search has not been done.
# Modification time never checked.
# File has not been updated.
# Not a target:
GNUmakefile:
# A default, MAKEFILES, or -include/sinclude makefile.
# Implicit rule search has been done.
# File does not exist.
# File has been updated.
# Failed to be updated.
# variable set hash-table stats:
# Load=0/32=0%, Rehash=0, Collisions=0/0=0%
# files hash-table stats:
# Load=5/1024=0%, Rehash=0, Collisions=0/16=0%
# VPATH Search Paths
# No `vpath' search paths.
# No general (`VPATH' variable) search path.
# # of strings in strcache: 0
# # of strcache buffers: 0
# strcache size: total = 0 / max = 0 / min = 4096 / avg = 0
# strcache free: total = 0 / max = 0 / min = 4096 / avg = 0
# Finished Make data base on Sat Jul 02 12:18:29 2022
make.exe: *** No rule to make target `all'. Stop.

View File

@ -0,0 +1,51 @@
# Generated Cmake Pico project file
cmake_minimum_required(VERSION 3.13)
set(CMAKE_C_STANDARD 11)
set(CMAKE_CXX_STANDARD 17)
# Initialise pico_sdk from installed location
# (note this can come from environment, CMake cache etc)
set(PICO_SDK_PATH "F:/PicoSDK/Pico/pico-sdk")
# Pull in Raspberry Pi Pico SDK (must be before project)
include(pico_sdk_import.cmake)
project(LogicAnalyzer C CXX ASM)
# Initialise the Raspberry Pi Pico SDK
pico_sdk_init()
# Add executable. Default name is the project name, version 0.1
add_executable(LogicAnalyzer LogicAnalyzer.c )
# Create C header file with the name <pio program>.pio.h
pico_generate_pio_header(${PROJECT_NAME}
${CMAKE_CURRENT_LIST_DIR}/LogicAnalyzer.pio
)
pico_set_program_name(LogicAnalyzer "LogicAnalyzer")
pico_set_program_version(LogicAnalyzer "0.1")
pico_enable_stdio_uart(LogicAnalyzer 0)
pico_enable_stdio_usb(LogicAnalyzer 1)
# Add the standard library to the build
target_link_libraries(LogicAnalyzer pico_stdlib)
# Add any user requested libraries
target_link_libraries(LogicAnalyzer
pico_stdlib
hardware_dma
hardware_pio
hardware_clocks
pico_multicore
pico_base_headers
hardware_interp
hardware_divider
)
pico_add_extra_outputs(LogicAnalyzer)

View File

@ -0,0 +1,235 @@
#include <stdio.h>
#include <string.h>
#include "pico/stdlib.h"
#include "hardware/dma.h"
#include "hardware/pio.h"
#include "hardware/clocks.h"
#include "LogicAnalyzer.pio.h"
#define LED_IO 25
//Capture request issued by the host computer
typedef struct _CAPTURE_REQUEST
{
//Indicates tthe trigger type: 0 = edge, 1 = pattern (complex), 2 = pattern (fast)
uint8_t triggerType;
//Trigger channel (or base channel for pattern trigger)
uint8_t trigger;
//Union of the trigger characteristics (inverted or pin count)
union
{
uint8_t inverted;
uint8_t count;
};
//Trigger value of the pattern trigger
uint16_t triggerValue;
//Channels to capture
uint8_t channels[24];
//Channel count
uint8_t channelCount;
//Sampling frequency
uint32_t frequency;
//Number of samples stored before the trigger
uint32_t preSamples;
//Number of samples stored after the trigger
uint32_t postSamples;
}CAPTURE_REQUEST;
//Buffer used to store received data
uint8_t messageBuffer[128];
//Position in the buffer
uint8_t bufferPos = 0;
//Capture status
bool capturing = false;
//Capture request pointer
CAPTURE_REQUEST* req;
//Process USB rceived data
void processInput()
{
//Try to get char
uint data = getchar_timeout_us(0);
//Timeout? Then leave
if(data == PICO_ERROR_TIMEOUT)
return;
//Store char in buffer and increment position
messageBuffer[bufferPos++] = data;
//If we have stored the first byte and it is not 0x55 restart reception
if(bufferPos == 1 && messageBuffer[0] != 0x55)
bufferPos = 0;
else if(bufferPos == 2 && messageBuffer[1] != 0xAA) //If we have stored the second byte and it is not 0xAA restart reception
bufferPos = 0;
else if(bufferPos >= 256) //Have we overflowed the buffer? then inform to the host and restart reception
{
printf("ERR_MSG_OVERFLOW\n");
bufferPos = 0;
}
else if(bufferPos > 2) //Try to parse the data
{
if(messageBuffer[bufferPos - 2] == 0xAA && messageBuffer[bufferPos - 1] == 0x55) //Do we have the stop condition?
{
//Yes, unescape the buffer,
int dest = 0;
for(int src = 0; src < bufferPos; src++)
{
if(messageBuffer[src] == 0xF0)
{
messageBuffer[dest] = messageBuffer[src + 1] ^ 0xF0;
src++;
}
else
messageBuffer[dest] = messageBuffer[src];
dest++;
}
switch(messageBuffer[2]) //Check the command we received
{
case 0: //ID request
if(bufferPos != 5) //Malformed message?
printf("ERR_UNKNOWN_MSG\n");
else
printf("LOGIC_ANALYZER_V1_0\n"); //Our ID
break;
case 1: //Capture request
req = (CAPTURE_REQUEST*)&messageBuffer[3]; //Get the request pointer
bool started = false;
if(req->triggerType == 1) //Start complex trigger capture
started = startCaptureComplex(req->frequency, req->preSamples, req->postSamples, (uint8_t*)&req->channels, req->channelCount, req->trigger, req->count, req->triggerValue);
else if(req->triggerType == 2) //start fast trigger capture
started = startCaptureFast(req->frequency, req->preSamples, req->postSamples, (uint8_t*)&req->channels, req->channelCount, req->trigger, req->count, req->triggerValue);
else //Start simple trigger capture
started = startCaptureSimple(req->frequency, req->preSamples, req->postSamples, (uint8_t*)&req->channels, req->channelCount, req->trigger, req->inverted);
if(started) //If started successfully inform to the host
{
printf("CAPTURE_STARTED\n");
capturing = true;
}
else
printf("CAPTURE_ERROR\n"); //Else notify the error
break;
default:
printf("ERR_UNKNOWN_MSG\n"); //Unknown message
break;
}
bufferPos = 0; //Reset buffer position
}
}
//PROTOCOL EXPLAINED:
//
//The protocol is very basic, it receives binary frames and sends strings terminated by a carriage return.
//
//Each binary frame has a start and an end condition, being these two secuences of two bytes:
// start condition: 0x55 0xAA
// stop condition: 0xAA 0x55
//
//This kind of framing can cause problems if the packets contain the frame condition bytes, there needs to be implemented
//a scape character to avoid this.The char 0xF0 is used as escape character. Escaping is done by XOR'ing the scape character
//with the scaped char. For example, if we need to send 0xAA we would send { 0xF0, 0x5A }, which is 0xAA XOR 0xF0 = 0x5A.
//In case of sending the scape char we would send { 0xF0, 0x00 }.
//
//Inside each frame we have a command byte and additional data. Based on the command a binary struct will be deserialized
//from the buffer. Right now the protocol has only two commands: ID request and capture request. ID request does not
//have any data, but the capture request has a CAPTURE_REQUEST struct as data.
}
int main()
{
//Overclock Powerrrr!
set_sys_clock_khz(200000, true);
//Initialize USB stdio
stdio_init_all();
//A bit of delay, if the program tries to send data before Windows has identified the device it may crash
sleep_ms(1000);
//Clear message buffer
memset(messageBuffer, 0, 128);
//Configure led
gpio_init(LED_IO);
gpio_set_dir(LED_IO, GPIO_OUT);
while(1)
{
//Led ON
gpio_put(LED_IO, 1); // Set pin 25 to high
//Are we capturing?
if(capturing)
{
//Is the PIO units still working?
if(!IsCapturing())
{
//Retrieve the capture buffer and get info about it.
uint32_t length, first;
uint8_t* buffer = (uint8_t*)GetBuffer(&length, &first);
//Send the data to the host
uint8_t* lengthPointer = (uint8_t*)&length;
//Send capture length
sleep_ms(100);
putchar_raw(lengthPointer[0]);
putchar_raw(lengthPointer[1]);
putchar_raw(lengthPointer[2]);
putchar_raw(lengthPointer[3]);
sleep_ms(100);
//Tanslate sample numbers to byte indexes, makes easier to send data
length *= 4;
first *= 4;
//Send the samples
for(int buc = 0; buc < length; buc++)
{
putchar_raw(buffer[first++]);
if(first >= 32768 * 4)
first = 0;
}
//Done!
capturing = false;
}
else
{
gpio_put(LED_IO, 0);
sleep_ms(100);
gpio_put(LED_IO, 1);
sleep_ms(100);
}
}
else
processInput(); //Read USB data
gpio_put(LED_IO, 0); // Set pin 25 to low
}
return 0;
}

View File

@ -0,0 +1,972 @@
;--------------------------------------------------------------------------------------------
.program POSITIVE_CAPTURE
pull
out x 32 ;read capture length
pull
out y 32 ;read end mark
.wrap_target
in pins 32 ;read sample
jmp pin POST_CAPTURE ;exit wrap if pin is set
.wrap
POST_CAPTURE:
in pins 32 ;read sample
jmp x-- POST_CAPTURE ;loop if more samples needed
in Y 32 ;write end mark
irq 0 ;notify to the main program that we have finished capturing
LOCK:
jmp LOCK ;block the program
;--------------------------------------------------------------------------------------------
.program NEGATIVE_CAPTURE
.wrap_target
pull
out x 32 ;read capture length
pull
out y 32 ;read end mark
PRE_CAPTURE:
in pins 32 ;read sample
jmp pin PRE_CAPTURE ;loop if pin is set
POST_CAPTURE:
in pins 32 ;read sample
jmp x-- POST_CAPTURE ;loop if more samples needed
in Y 32 ;write end mark
irq 0 ;notify to the main program that we have finished capturing
LOCK:
jmp LOCK ;block the program
.wrap
;--------------------------------------------------------------------------------------------
.program COMPLEX_CAPTURE
pull
out x 32 ;read capture length
pull
out y 32 ;read end mark
wait irq 7 ;wait for trigger program to be ready
.wrap_target
in pins 29 ;read sample
jmp pin POST_CAPTURE ;exit wrap if pin is set
.wrap
POST_CAPTURE:
in pins 29 ;read sample
jmp x-- POST_CAPTURE ;loop if more samples needed
in Y 32 ;write end mark
irq 0 ;notify to the main program that we have finished capturing
LOCK:
jmp LOCK ;block the program
;--------------------------------------------------------------------------------------------
.program FAST_CAPTURE
pull
out x 32 ;read capture length
pull
out y 32 ;read end mark
.wrap_target
in pins 29 ;read sample
jmp pin POST_CAPTURE ;exit wrap if pin is set
.wrap
POST_CAPTURE:
in pins 29 ;read sample
jmp x-- POST_CAPTURE ;loop if more samples needed
in Y 32 ;write end mark
irq 0 ;notify to the main program that we have finished capturing
LOCK:
jmp LOCK ;block the program
;--------------------------------------------------------------------------------------------
;--------Kept only for reference, the program is stored in volatile memory as it must--------
;---------be modified for concrete trigger parameters.---------------------------------------
;--------------------------------------------------------------------------------------------
;.program COMPLEX_TRIGGER
; pull
; out x 32 ;read trigger value
; set pins 0 ;set trigger pin to low
; irq 7 ;Release capture program
;TRIGGER_LOOP:
; mov osr, pins ;read pin status to output shift register
; out y, 4 ;output 4 bits to Y (writes 32 bits)
; jmp x!=y TRIGGER_LOOP ;loop if trigger not met
; set pins 1 ;set trigger pin to high (trigger met)
;LOCK:
; jmp LOCK ;block program
% c-sdk {
#include "hardware/gpio.h"
#include "hardware/dma.h"
#include "hardware/irq.h"
#include "string.h"
//Static variables for the PIO programs
static PIO capturePIO;
static PIO triggerPIO;
static uint sm_Capture;
static uint captureOffset;
static uint sm_Trigger;
static uint triggerOffset;
//Static variables for DMA channels
static uint32_t dmaPingPong0;
static uint32_t dmaPingPong1;
static uint32_t dmaPingPong2;
static uint32_t dmaPingPong3;
//Static information of the last capture
static uint8_t lastCapturePins[24]; //List of captured pins
static uint8_t lastCapturePinCount; //Count of captured pins
static uint32_t lastTriggerCapture; //Moment where the trigger happened inside the circular pre buffer
static uint32_t lastPreSize; //Pre-trigger buffer size
static uint32_t lastPostSize; //Post-trigger buffer size
static bool lastTriggerInverted; //Inverted?
static uint8_t lastTriggerPin;
static uint32_t lastStartPosition;
static bool lastCaptureComplexFast;
static uint8_t lastTriggerPinBase;
static uint32_t lastTriggerPinCount;
//Static information of the current capture
static bool captureFinished;
static bool captureProcessed;
//Pin mapping, used to map the channels to the PIO program
//Could be stored into flash memory but it causes problems
const uint8_t pinMap[] = {2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,26,27,28};
//Main capture buffer, aligned at a 32k boundary, to use the maxixmum ring size supported by DMA channels
static uint32_t captureBuffer[32 * 1024] __attribute__((aligned(32768)));
//-----------------------------------------------------------------------------
//--------------Complex trigger PIO program------------------------------------
//-----------------------------------------------------------------------------
#define COMPLEX_TRIGGER_wrap_target 0
#define COMPLEX_TRIGGER_wrap 8
uint16_t COMPLEX_TRIGGER_program_instructions[] = {
// .wrap_target
0x80a0, // 0: pull block
0x6020, // 1: out x, 32
0xe000, // 2: set pins, 0
0xc007, // 3: irq nowait 7
0xa0e0, // 4: mov osr, pins
0x6044, // 5: out y, 4
0x00a4, // 6: jmp x != y, 4
0xe001, // 7: set pins, 1
0x0008, // 8: jmp 8
// .wrap
};
struct pio_program COMPLEX_TRIGGER_program = {
.instructions = COMPLEX_TRIGGER_program_instructions,
.length = 9,
.origin = -1,
};
static inline pio_sm_config COMPLEX_TRIGGER_program_get_default_config(uint offset) {
pio_sm_config c = pio_get_default_sm_config();
sm_config_set_wrap(&c, offset + COMPLEX_TRIGGER_wrap_target, offset + COMPLEX_TRIGGER_wrap);
return c;
}
//-----------------------------------------------------------------------------
//--------------Complex trigger PIO program END--------------------------------
//-----------------------------------------------------------------------------
//-----------------------------------------------------------------------------
//--------------Fast trigger PIO program---------------------------------------
//-----------------------------------------------------------------------------
#define FAST_TRIGGER_wrap_target 0
#define FAST_TRIGGER_wrap 31
uint16_t FAST_TRIGGER_program_instructions[32];
struct pio_program FAST_TRIGGER_program = {
.instructions = FAST_TRIGGER_program_instructions,
.length = 32,
.origin = 0,
};
static inline pio_sm_config FAST_TRIGGER_program_get_default_config(uint offset) {
pio_sm_config c = pio_get_default_sm_config();
sm_config_set_wrap(&c, offset + FAST_TRIGGER_wrap_target, offset + FAST_TRIGGER_wrap);
sm_config_set_sideset(&c, 1, false, false);
return c;
}
bool create_fast_trigger_program(uint8_t pattern, uint8_t length)
{
//This creates a 32 instruction jump table. Each instruction is a MOV PC, PINS except for the addresses that
//match the specified pattern.
if(length > 5)
return false;
uint8_t i;
uint8_t mask = (1 << length) - 1; //Mask for testing address vs pattern
for(i = 0; i < 32; i++)
{
if((i & mask) == pattern)
FAST_TRIGGER_program_instructions[i] = 0x1000 | i; //JMP i SIDE 1
else
FAST_TRIGGER_program_instructions[i] = 0xA0A0; //MOV PC, PINS SIDE 0
}
}
//-----------------------------------------------------------------------------
//--------------Fast trigger PIO program END-----------------------------------
//-----------------------------------------------------------------------------
void fast_capture_completed()
{
//TODO: REWRITE
//Abort DMA channels
dma_channel_abort(dmaPingPong0);
dma_channel_abort(dmaPingPong1);
dma_channel_abort(dmaPingPong2);
dma_channel_abort(dmaPingPong3);
//Clear PIO interrupt 0 and unhook handler
pio_interrupt_clear(capturePIO, 0);
irq_set_enabled(PIO0_IRQ_0, false);
irq_set_enabled(pio_get_dreq(capturePIO, sm_Capture, false), false);
irq_remove_handler(PIO0_IRQ_0, fast_capture_completed);
//Disable all DMA channels
dma_channel_config c = dma_channel_get_default_config(dmaPingPong0);
channel_config_set_enable(&c, false);
dma_channel_configure(dmaPingPong0, &c, 0, 0, 0, false);
dma_channel_unclaim(dmaPingPong0);
c = dma_channel_get_default_config(dmaPingPong1);
channel_config_set_enable(&c, false);
dma_channel_configure(dmaPingPong1, &c, 0, 0, 0, false);
dma_channel_unclaim(dmaPingPong1);
c = dma_channel_get_default_config(dmaPingPong2);
channel_config_set_enable(&c, false);
dma_channel_configure(dmaPingPong2, &c, 0, 0, 0, false);
dma_channel_unclaim(dmaPingPong2);
c = dma_channel_get_default_config(dmaPingPong3);
channel_config_set_enable(&c, false);
dma_channel_configure(dmaPingPong3, &c, 0, 0, 0, false);
dma_channel_unclaim(dmaPingPong3);
//Stop PIO capture program and clear
pio_sm_set_enabled(capturePIO, sm_Capture, false);
pio_sm_unclaim(capturePIO, sm_Capture);
pio_remove_program(capturePIO, &FAST_CAPTURE_program, captureOffset);
//Stop PIO trigger program and clear
pio_sm_set_enabled(triggerPIO, sm_Trigger, false);
pio_sm_set_pins(triggerPIO, sm_Trigger, 0);
pio_sm_unclaim(triggerPIO, sm_Trigger);
pio_remove_program(triggerPIO, &FAST_TRIGGER_program, triggerOffset);
//Mark the capture as finished
captureFinished = true;
}
void complex_capture_completed()
{
//Abort DMA channels
dma_channel_abort(dmaPingPong0);
dma_channel_abort(dmaPingPong1);
dma_channel_abort(dmaPingPong2);
dma_channel_abort(dmaPingPong3);
//Clear PIO interrupt 0 and unhook handler
pio_interrupt_clear(capturePIO, 0);
irq_set_enabled(PIO0_IRQ_0, false);
irq_set_enabled(pio_get_dreq(capturePIO, sm_Capture, false), false);
irq_remove_handler(PIO0_IRQ_0, complex_capture_completed);
//Disable all DMA channels
dma_channel_config c = dma_channel_get_default_config(dmaPingPong0);
channel_config_set_enable(&c, false);
dma_channel_configure(dmaPingPong0, &c, 0, 0, 0, false);
dma_channel_unclaim(dmaPingPong0);
c = dma_channel_get_default_config(dmaPingPong1);
channel_config_set_enable(&c, false);
dma_channel_configure(dmaPingPong1, &c, 0, 0, 0, false);
dma_channel_unclaim(dmaPingPong1);
c = dma_channel_get_default_config(dmaPingPong2);
channel_config_set_enable(&c, false);
dma_channel_configure(dmaPingPong2, &c, 0, 0, 0, false);
dma_channel_unclaim(dmaPingPong2);
c = dma_channel_get_default_config(dmaPingPong3);
channel_config_set_enable(&c, false);
dma_channel_configure(dmaPingPong3, &c, 0, 0, 0, false);
dma_channel_unclaim(dmaPingPong3);
//Stop PIO capture program and clear
pio_sm_set_enabled(capturePIO, sm_Capture, false);
pio_sm_unclaim(capturePIO, sm_Capture);
pio_remove_program(capturePIO, &COMPLEX_CAPTURE_program, captureOffset);
//Stop PIO trigger program and clear
pio_sm_set_enabled(capturePIO, sm_Trigger, false);
pio_sm_set_pins(capturePIO, sm_Trigger, 0);
pio_sm_unclaim(capturePIO, sm_Trigger);
pio_remove_program(capturePIO, &COMPLEX_TRIGGER_program, triggerOffset);
//Mark the capture as finished
captureFinished = true;
}
void simple_capture_completed()
{
//Abort DMA channels
dma_channel_abort(dmaPingPong0);
dma_channel_abort(dmaPingPong1);
dma_channel_abort(dmaPingPong2);
dma_channel_abort(dmaPingPong3);
//Clear PIO interrupt 0 and unhook handler
pio_interrupt_clear(capturePIO, 0);
irq_set_enabled(PIO0_IRQ_0, false);
irq_set_enabled(pio_get_dreq(capturePIO, sm_Capture, false), false);
irq_remove_handler(PIO0_IRQ_0, simple_capture_completed);
//Disable and unclaim all DMA channels
dma_channel_config c = dma_channel_get_default_config(dmaPingPong0);
channel_config_set_enable(&c, false);
dma_channel_configure(dmaPingPong0, &c, 0, 0, 0, false);
dma_channel_unclaim(dmaPingPong0);
c = dma_channel_get_default_config(dmaPingPong1);
channel_config_set_enable(&c, false);
dma_channel_configure(dmaPingPong1, &c, 0, 0, 0, false);
dma_channel_unclaim(dmaPingPong1);
c = dma_channel_get_default_config(dmaPingPong2);
channel_config_set_enable(&c, false);
dma_channel_configure(dmaPingPong2, &c, 0, 0, 0, false);
dma_channel_unclaim(dmaPingPong2);
c = dma_channel_get_default_config(dmaPingPong3);
channel_config_set_enable(&c, false);
dma_channel_configure(dmaPingPong3, &c, 0, 0, 0, false);
dma_channel_unclaim(dmaPingPong3);
//Stop PIO program and clear
pio_sm_set_enabled(capturePIO, sm_Capture, false);
pio_sm_unclaim(capturePIO, sm_Capture);
if(lastTriggerInverted)
pio_remove_program(capturePIO, &POSITIVE_CAPTURE_program, captureOffset);
else
pio_remove_program(capturePIO, &NEGATIVE_CAPTURE_program, captureOffset);
//Mark the capture as finished
captureFinished = true;
}
void configureCaptureDMAs()
{
//Claim four DMA channels, each channel writes to 32Kb of the buffer (8192 samples) as that's the maximum ring size supported
dmaPingPong0 = dma_claim_unused_channel(true);
dmaPingPong1 = dma_claim_unused_channel(true);
dmaPingPong2 = dma_claim_unused_channel(true);
dmaPingPong3 = dma_claim_unused_channel(true);
//Configure first capture DMA
dma_channel_config dmaPingPong0Config = dma_channel_get_default_config(dmaPingPong0);
channel_config_set_read_increment(&dmaPingPong0Config, false); //Do not increment read address
channel_config_set_write_increment(&dmaPingPong0Config, true); //Increment write address
channel_config_set_transfer_data_size(&dmaPingPong0Config, DMA_SIZE_32); //Transfer 32 bits each time
channel_config_set_chain_to(&dmaPingPong0Config, dmaPingPong1); //Chain to the second pre-trigger dma channel
channel_config_set_dreq(&dmaPingPong0Config, pio_get_dreq(capturePIO, sm_Capture, false)); //Set DREQ as RX FIFO
channel_config_set_ring(&dmaPingPong0Config, true, 15); //Ring at 32768 bytes
//Configure second capture DMA
dma_channel_config dmaPingPong1Config = dma_channel_get_default_config(dmaPingPong1);
channel_config_set_read_increment(&dmaPingPong1Config, false); //Do not increment read address
channel_config_set_write_increment(&dmaPingPong1Config, true); //Increment write address
channel_config_set_transfer_data_size(&dmaPingPong1Config, DMA_SIZE_32); //Transfer 32 bits each time
channel_config_set_chain_to(&dmaPingPong1Config, dmaPingPong2); //Chain to the third pre-trigger dma channel
channel_config_set_dreq(&dmaPingPong1Config, pio_get_dreq(capturePIO, sm_Capture, false)); //Set DREQ as RX FIFO
channel_config_set_ring(&dmaPingPong1Config, true, 15); //Ring at 32768 bytes
//Configure third capture DMA
dma_channel_config dmaPingPong2Config = dma_channel_get_default_config(dmaPingPong2);
channel_config_set_read_increment(&dmaPingPong2Config, false); //Do not increment read address
channel_config_set_write_increment(&dmaPingPong2Config, true); //Increment write address
channel_config_set_transfer_data_size(&dmaPingPong2Config, DMA_SIZE_32); //Transfer 32 bits each time
channel_config_set_chain_to(&dmaPingPong2Config, dmaPingPong3); //Chain to the fourth pre-trigger dma channel
channel_config_set_dreq(&dmaPingPong2Config, pio_get_dreq(capturePIO, sm_Capture, false)); //Set DREQ as RX FIFO
channel_config_set_ring(&dmaPingPong2Config, true, 15); //Ring at 32768 bytes
//Configure fourth capture DMA
dma_channel_config dmaPingPong3Config = dma_channel_get_default_config(dmaPingPong3);
channel_config_set_read_increment(&dmaPingPong3Config, false); //Do not increment read address
channel_config_set_write_increment(&dmaPingPong3Config, true); //Increment write address
channel_config_set_transfer_data_size(&dmaPingPong3Config, DMA_SIZE_32); //Transfer 32 bits each time
channel_config_set_chain_to(&dmaPingPong3Config, dmaPingPong0); //Chain to the first pre-trigger dma channel
channel_config_set_dreq(&dmaPingPong3Config, pio_get_dreq(capturePIO, sm_Capture, false)); //Set DREQ as RX FIFO
channel_config_set_ring(&dmaPingPong3Config, true, 15); //Ring at 32768 bytes
//Configure the DMA channels
dma_channel_configure(dmaPingPong3, &dmaPingPong3Config, &captureBuffer[24 * 1024], &capturePIO->rxf[sm_Capture], 8192, false); //Configure the channel
dma_channel_configure(dmaPingPong2, &dmaPingPong2Config, &captureBuffer[16 * 1024], &capturePIO->rxf[sm_Capture], 8192, false); //Configure the channel
dma_channel_configure(dmaPingPong1, &dmaPingPong1Config, &captureBuffer[8 * 1024], &capturePIO->rxf[sm_Capture], 8192, false); //Configure the channel
dma_channel_configure(dmaPingPong0, &dmaPingPong0Config, &captureBuffer[0], &capturePIO->rxf[sm_Capture], 8192, true);
}
bool startCaptureFast(uint32_t freq, uint32_t preLength, uint32_t postLength, const uint8_t* capturePins, uint8_t capturePinCount, uint8_t triggerPinBase, uint8_t triggerPinCount, uint16_t triggerValue)
{
//ABOUT THE FAST TRIGGER
//
//The fast trigger is an evolution of the complex trigger.
//Like the complex trigger this is a sepparate program that checks for a pattern to trigger the capture program second stage.
//
//The main difference is the maximum length of the pattern to match and the sampling speed. This fast trigger
//can only use a pattern up to 5 bits, but it captures at maximum speed of 100Msps (it could even sample up to 200Mhz but to match the
//maximum speed of the sampling it is limited to 100Msps).
//To achieve this the program occupies all 32 instructions of a PIO module, this is basically a jump table, each
//instruction moves the pin values to the program counter except for the ones that match the pattern, which activate the
//trigger pin using the side pins and create an infinite loop jumping to itself (basically a JMP currentpc SIDE 1).
//
//This solves the speed and latency problem, the speed reaches 100Msps and the latency is reduced to a maximum of 2 cycles, but
//still can glitch on low speeds and also occupies a complete PIO module (but we have one unused, so its not a problem)
//Too many samples requested?
if(preLength + postLength >= (32 * 1024))
return false;
//Frequency too high?
if(freq > 100000000)
return false;
//Incorrect pin count?
if(capturePinCount < 0 || capturePinCount > 24)
return false;
//Bad trigger?
if(triggerPinBase > 15 || triggerPinCount > 5 || triggerPinCount < 1 || triggerPinCount + triggerPinBase > 16)
return false;
//Clear capture buffer (to avoid sending bad data if the trigger happens before the presamples are filled)
memset(captureBuffer, 0x00, sizeof(captureBuffer));
//Store info about the capture
lastPreSize = preLength;
lastPostSize = postLength;
lastCapturePinCount = capturePinCount;
lastCaptureComplexFast = true;
//Map channels to pins
for(uint8_t i = 0; i < capturePinCount; i++)
lastCapturePins[i] = pinMap[capturePins[i]];
//Store trigger info
triggerPinBase = pinMap[triggerPinBase];
lastTriggerPinBase = triggerPinBase;
//Calculate clock divider based on frequency, it generates a clock 2x faster than the capture freequency
float clockDiv = (float)clock_get_hz(clk_sys) / (float)(freq * 2);
//Store the PIO units and clear program memory
capturePIO = pio0;
pio_clear_instruction_memory(capturePIO);
triggerPIO = pio1;
pio_clear_instruction_memory(triggerPIO);
//Configure 24 + 2 IO's to be used by the PIO (24 channels + 2 trigger pins)
pio_gpio_init(triggerPIO, 0);
pio_gpio_init(capturePIO, 1);
for(uint8_t i = 0; i < 24; i++)
pio_gpio_init(capturePIO, lastCapturePins[i]);
//Configure capture SM
sm_Capture = pio_claim_unused_sm(capturePIO, true);
pio_sm_clear_fifos(capturePIO, sm_Capture);
pio_sm_restart(capturePIO, sm_Capture);
captureOffset = pio_add_program(capturePIO, &FAST_CAPTURE_program);
//Input pins start at pin 2, 29 pins are captured
pio_sm_set_consecutive_pindirs(capturePIO, sm_Capture, 2, 29, false);
//Configure state machines
pio_sm_config smConfig = FAST_CAPTURE_program_get_default_config(captureOffset);
//Inputs start at pin 2
sm_config_set_in_pins(&smConfig, 2);
//Set clock to 2x required frequency
sm_config_set_clkdiv(&smConfig, clockDiv);
//Autopush per 29 bits
sm_config_set_in_shift(&smConfig, false, true, 29);
//Configure fast trigger pin (pin 1) as JMP pin.
sm_config_set_jmp_pin(&smConfig, 1);
//Configure interrupt 0
pio_interrupt_clear (capturePIO, 0);
pio_set_irq0_source_enabled(capturePIO, pis_interrupt0, true);
irq_set_exclusive_handler(PIO0_IRQ_0, fast_capture_completed);
irq_set_enabled(PIO0_IRQ_0, true);
irq_set_enabled(pio_get_dreq(capturePIO, sm_Capture, false), true);
//Initialize state machine
pio_sm_init(capturePIO, sm_Capture, captureOffset, &smConfig);
//Configure trigger SM
sm_Trigger = pio_claim_unused_sm(triggerPIO, true);
pio_sm_clear_fifos(triggerPIO, sm_Trigger);
pio_sm_restart(triggerPIO, sm_Trigger);
//Create trigger program
create_fast_trigger_program(triggerValue, triggerPinCount);
//Configure trigger state machine
triggerOffset = pio_add_program(triggerPIO, &FAST_TRIGGER_program);
pio_sm_set_consecutive_pindirs(triggerPIO, sm_Trigger, 0, 1, true); //Pin 0 as output (connects to Pin 1, to trigger capture)
pio_sm_set_consecutive_pindirs(triggerPIO, sm_Trigger, triggerPinBase, triggerPinCount, false); //Trigger pins start at triggerPinBase
smConfig = FAST_TRIGGER_program_get_default_config(triggerOffset);
sm_config_set_in_pins(&smConfig, triggerPinBase); //Trigger input starts at pin base
sm_config_set_sideset_pins(&smConfig, 0); //Trigger output is a side pin
sm_config_set_clkdiv(&smConfig, 1); //Trigger always runs at half speed (100Msps)
//Configure DMA's
configureCaptureDMAs();
//Enable capture state machine
pio_sm_set_enabled(capturePIO, sm_Capture, true);
//Write capture length to post program
pio_sm_put_blocking(capturePIO, sm_Capture, postLength - 1);
//Write capture end mark to post program
pio_sm_put_blocking(capturePIO, sm_Capture, 0xFFFFFFFF);
//Initialize trigger state machine
pio_sm_init(triggerPIO, sm_Trigger, triggerOffset, &smConfig);
//Enable trigger state machine
pio_sm_set_enabled(triggerPIO, sm_Trigger, true);
//Finally clear capture status and process flags
captureFinished = false;
captureProcessed = false;
//We're done
return true;
}
bool startCaptureComplex(uint32_t freq, uint32_t preLength, uint32_t postLength, const uint8_t* capturePins, uint8_t capturePinCount, uint8_t triggerPinBase, uint8_t triggerPinCount, uint16_t triggerValue)
{
//ABOUT THE COMPLEX TRIGGER
//
//The complex trigger is a hack to achieve the maximum speed in the capture program.
//To get to 100Msps with a 200Mhz clock each capture must be excuted in two instructions. For this the basic
//capture programs (the positive and negative ones) use the JMP PIN instruction, this redirects the program flow based in the
//state of a pin, so with an IN instruction and a JMP instruction we can create a loop that captures data until the trigger pin
//is in the correct edge and then jumps to another subroutine that captures until the post-trigger samples are met.
//
//Unfortunately there is no way to jump to a subroutine based in the status of more than one pin, you can jump based in the
//comparison of the scratch registers, but this requires more than one instruction to prepare the data.
//So, what I have implemented here is an asynchronouss trigger, a second state machine running at máximum speed checks if the trigger
//condition is met and then notifies to the first state machine. But... there is no way to notify of something between state machines
//except for interrupts, and interrupts blocks the code execution (you WAIT for the interrupt) so this is not viable, so we use a hack, we
//interconnect two pins (GPIO0 and GPIO1), one is an output from the trigger state machine and the other is the JMP PIN for the capture
//state machine. When the trigger condition is met the output pin is set to 1 so the JMP PIN pin receives this signal and we can keep
//our capture program to use two instructions.
//This carries some limitations, the trigger can only work up to 66Msps but the capture can go up to 100Msps as they are independent.
//Also, as the trigger always runs at maximum speed there may happen a glitch in the trigger signal for lower capture speeds, the
//condition may be met but for less time than a capture cycle, so the capture machine will not sample this trigger condition.
//Finally the trigger also has some cycles of delay, 3 instructions plus 2 cycles of propagation to the ISR, so a maximum of
//25ns of delay can happen.
//Too many samples requested?
if(preLength + postLength >= (32 * 1024))
return false;
//Frequency too high?
if(freq > 100000000)
return false;
//Incorrect pin count?
if(capturePinCount < 0 || capturePinCount > 24)
return false;
//Bad trigger?
if(triggerPinBase > 15 || triggerPinCount > 16 || triggerPinCount < 1 || triggerPinCount + triggerPinBase > 16)
return false;
//Clear capture buffer (to avoid sending bad data if the trigger happens before the presamples are filled)
memset(captureBuffer, 0x00, sizeof(captureBuffer));
//Store info about the capture
lastPreSize = preLength;
lastPostSize = postLength;
lastCapturePinCount = capturePinCount;
lastCaptureComplexFast = true;
//Map channels to pins
for(uint8_t i = 0; i < capturePinCount; i++)
lastCapturePins[i] = pinMap[capturePins[i]];
//Store trigger info
triggerPinBase = pinMap[triggerPinBase];
lastTriggerPinBase = triggerPinBase;
//Calculate clock divider based on frequency, it generates a clock 2x faster than the capture freequency
float clockDiv = (float)clock_get_hz(clk_sys) / (float)(freq * 2);
//Store the PIO unit and clear program memory
capturePIO = pio0;
pio_clear_instruction_memory(capturePIO);
//Configure 24 + 2 IO's to be used by the PIO (24 channels + 2 trigger pins)
pio_gpio_init(capturePIO, 0);
pio_gpio_init(capturePIO, 1);
for(uint8_t i = 0; i < 24; i++)
pio_gpio_init(capturePIO, lastCapturePins[i]);
//Configure capture SM
sm_Capture = pio_claim_unused_sm(capturePIO, true);
pio_sm_clear_fifos(capturePIO, sm_Capture);
pio_sm_restart(capturePIO, sm_Capture);
captureOffset = pio_add_program(capturePIO, &COMPLEX_CAPTURE_program);
//Input pins start at pin 2, 29 pins are captured
pio_sm_set_consecutive_pindirs(capturePIO, sm_Capture, 2, 29, false);
//Configure state machines
pio_sm_config smConfig = COMPLEX_CAPTURE_program_get_default_config(captureOffset);
//Inputs start at pin 2
sm_config_set_in_pins(&smConfig, 2);
//Set clock to 2x required frequency
sm_config_set_clkdiv(&smConfig, clockDiv);
//Autopush per 29 bits
sm_config_set_in_shift(&smConfig, false, true, 29);
//Configure comples trigger pin (pin 1) as JMP pin.
sm_config_set_jmp_pin(&smConfig, 1);
//Configure interrupt 0
pio_interrupt_clear (capturePIO, 0);
pio_set_irq0_source_enabled(capturePIO, pis_interrupt0, true);
irq_set_exclusive_handler(PIO0_IRQ_0, complex_capture_completed);
irq_set_enabled(PIO0_IRQ_0, true);
irq_set_enabled(pio_get_dreq(capturePIO, sm_Capture, false), true);
//Initialize state machine
pio_sm_init(capturePIO, sm_Capture, captureOffset, &smConfig);
//Configure trigger SM
sm_Trigger = pio_claim_unused_sm(capturePIO, true);
pio_sm_clear_fifos(capturePIO, sm_Trigger);
pio_sm_restart(capturePIO, sm_Trigger);
//Modify trigger program to use the correct pins
COMPLEX_TRIGGER_program_instructions[5] = 0x6040 | triggerPinCount;
//Configure trigger state machine
triggerOffset = pio_add_program(capturePIO, &COMPLEX_TRIGGER_program);
pio_sm_set_consecutive_pindirs(capturePIO, sm_Trigger, 0, 1, true); //Pin 0 as output (connects to Pin 1, to trigger capture)
pio_sm_set_consecutive_pindirs(capturePIO, sm_Trigger, triggerPinBase, triggerPinCount, false); //Trigger pins start at triggerPinBase
smConfig = COMPLEX_TRIGGER_program_get_default_config(triggerOffset);
sm_config_set_in_pins(&smConfig, triggerPinBase); //Trigger input starts at pin base
sm_config_set_set_pins(&smConfig, 0, 1); //Trigger output is a set pin
sm_config_set_clkdiv(&smConfig, 1); //Trigger always runs at max speed
sm_config_set_in_shift(&smConfig, false, false, 0); //Trigger shifts left to right
//Initialize trigger state machine
pio_sm_init(capturePIO, sm_Trigger, triggerOffset, &smConfig); //Init trigger
//Configure DMA's
configureCaptureDMAs();
//Enable capture state machine
pio_sm_set_enabled(capturePIO, sm_Capture, true);
//Write capture length to post program
pio_sm_put_blocking(capturePIO, sm_Capture, postLength - 1);
//Write capture end mark to post program
pio_sm_put_blocking(capturePIO, sm_Capture, 0xFFFFFFFF);
//Enable trigger state machine
pio_sm_set_enabled(capturePIO, sm_Trigger, true);
//Write trigger value to trigger program
pio_sm_put_blocking(capturePIO, sm_Trigger, triggerValue);
//Finally clear capture status and process flags
captureFinished = false;
captureProcessed = false;
//We're done
return true;
}
bool startCaptureSimple(uint32_t freq, uint32_t preLength, uint32_t postLength, const uint8_t* capturePins, uint8_t capturePinCount, uint8_t triggerPin, bool invertTrigger)
{
//Too many samples requested?
if(preLength + postLength >= (32 * 1024))
return false;
//Frequency too high?
if(freq > 100000000)
return false;
//Incorrect pin count?
if(capturePinCount < 0 || capturePinCount > 24)
return false;
//Clear capture buffer (to avoid sending bad data if the trigger happens before the presamples are filled)
memset(captureBuffer, 0x00, sizeof(captureBuffer));
//Store info about the capture
lastPreSize = preLength;
lastPostSize = postLength;
lastCapturePinCount = capturePinCount;
lastTriggerInverted = invertTrigger;
lastCaptureComplexFast = false;
//Map channels to pins
for(uint8_t i = 0; i < capturePinCount; i++)
lastCapturePins[i] = pinMap[capturePins[i]];
//Store trigger info
triggerPin = pinMap[triggerPin];
lastTriggerPin = triggerPin;
//Calculate clock divider based on frequency, it generates a clock 2x faster than the capture freequency
float clockDiv = (float)clock_get_hz(clk_sys) / (float)(freq * 2);
//Store the PIO unit and clear program memory
capturePIO = pio0;
pio_clear_instruction_memory(capturePIO);
//Configure capture SM
sm_Capture = pio_claim_unused_sm(capturePIO, true);
pio_sm_clear_fifos(capturePIO, sm_Capture);
pio_sm_restart(capturePIO, sm_Capture);
//Load correct program, depending on the trigger edge
if(invertTrigger)
captureOffset = pio_add_program(capturePIO, &NEGATIVE_CAPTURE_program);
else
captureOffset = pio_add_program(capturePIO, &POSITIVE_CAPTURE_program);
//Configure pins
pio_sm_set_consecutive_pindirs(capturePIO, sm_Capture, 0, 32, false);
pio_gpio_init(capturePIO, triggerPin);
for(uint8_t i = 0; i < capturePinCount; i++)
pio_gpio_init(capturePIO, lastCapturePins[i]);
//Configure state machines
pio_sm_config smConfig = invertTrigger?
NEGATIVE_CAPTURE_program_get_default_config(captureOffset):
POSITIVE_CAPTURE_program_get_default_config(captureOffset);
//All pins are inputs
sm_config_set_in_pins(&smConfig, 0);
//Set clock to 2x required frequency
sm_config_set_clkdiv(&smConfig, clockDiv);
//Autopush per dword
sm_config_set_in_shift(&smConfig, true, true, 0);
//Configure trigger pin as JMP pin.
sm_config_set_jmp_pin(&smConfig, triggerPin);
//Configure interupt 0
pio_interrupt_clear (capturePIO, 0);
pio_set_irq0_source_enabled(capturePIO, pis_interrupt0, true);
irq_set_exclusive_handler(PIO0_IRQ_0, simple_capture_completed);
irq_set_enabled(PIO0_IRQ_0, true);
irq_set_enabled(pio_get_dreq(capturePIO, sm_Capture, false), true);
//Initialize state machine
pio_sm_init(capturePIO, sm_Capture, captureOffset, &smConfig);
configureCaptureDMAs();
//Enabl state machine
pio_sm_set_enabled(capturePIO, sm_Capture, true);
//Write capture length to post program to start the capture process
pio_sm_put_blocking(capturePIO, sm_Capture, postLength - 1);
//Write capture end mark to start capture
pio_sm_put_blocking(capturePIO, sm_Capture, 0xFFFFFFFF);
//Finally clear capture status and process flags
captureFinished = false;
captureProcessed = false;
//We're done
return true;
}
bool IsCapturing()
{
//If you need an explanation of this, you're a fool. :P
return !captureFinished;
}
uint32_t* GetBuffer(uint32_t* bufferSize, uint32_t* firstSample)
{
//If we don't have processed the buffer...
if(!captureProcessed)
{
//Find capture end mark
int32_t lastCapture = 0;
for(int buc = 0; buc < 32768; buc++)
{
if(captureBuffer[buc] == 0xFFFFFFFF)
{
lastCapture = buc - 1;
if(lastCapture < 0)
lastCapture = 32767;
break;
}
}
//Calculate the first sample index
if(lastCapture < lastPreSize + lastPostSize - 1)
lastStartPosition = 32768 - ((lastPreSize + lastPostSize) - (lastCapture - 1));
else
lastStartPosition = lastCapture - (lastPreSize + lastPostSize) + 1;
uint32_t oldValue;
uint32_t newValue;
uint32_t currentPos = lastStartPosition;
//Sort channels
//(reorder captured bits based on the channels requested)
if(lastCaptureComplexFast) //Was this a fast/complex capture?
{
for(int buc = 0; buc < lastPreSize + lastPostSize; buc++)
{
oldValue = captureBuffer[currentPos]; //Store current value
newValue = 0; //New value
for(int pin = 0; pin < lastCapturePinCount; pin++) //For each captured channel...
newValue |= (oldValue & (1 << (lastCapturePins[pin] - 2))) >> ((lastCapturePins[pin] - 2) - pin); //Store its value in the correct bit
//Update value in the buffer
captureBuffer[currentPos++] = newValue;
//If we reached the end of the buffer, wrap around
if(currentPos >= 32768)
currentPos = 0;
}
}
else
{
//Same as for complex/fasst capture but without skipping the two first bits
for(int buc = 0; buc < lastPreSize + lastPostSize; buc++)
{
oldValue = captureBuffer[currentPos];
newValue = 0;
for(int pin = 0; pin < lastCapturePinCount; pin++)
newValue |= (oldValue & (1 << lastCapturePins[pin])) >> (lastCapturePins[pin] - pin);
captureBuffer[currentPos++] = newValue;
if(currentPos >= 32768)
currentPos = 0;
}
}
captureProcessed = true;
}
//Return data
*bufferSize = lastPreSize + lastPostSize;
*firstSample = lastStartPosition;
return captureBuffer;
}
%}

View File

@ -0,0 +1 @@
{"requests":[{"kind":"cache","version":2},{"kind":"codemodel","version":2},{"kind":"toolchains","version":1}]}

View File

@ -0,0 +1,14 @@
{
"backtraceGraph" :
{
"commands" : [],
"files" : [],
"nodes" : []
},
"installers" : [],
"paths" :
{
"build" : ".",
"source" : "."
}
}

View File

@ -0,0 +1,14 @@
{
"backtraceGraph" :
{
"commands" : [],
"files" : [],
"nodes" : []
},
"installers" : [],
"paths" :
{
"build" : "pico-sdk",
"source" : "F:/PicoSDK/Pico/pico-sdk"
}
}

Some files were not shown because too many files have changed in this diff Show More