first
This commit is contained in:
+40
@@ -0,0 +1,40 @@
|
|||||||
|
# Temporary files
|
||||||
|
*.000
|
||||||
|
*.bak
|
||||||
|
*.bck
|
||||||
|
*.kicad_pcb-bak
|
||||||
|
*.kicad_sch-bak
|
||||||
|
*-backups
|
||||||
|
*-cache*
|
||||||
|
*-bak
|
||||||
|
*-bak*
|
||||||
|
*~
|
||||||
|
~*
|
||||||
|
_autosave-*
|
||||||
|
\#auto_saved_files\#
|
||||||
|
*.tmp
|
||||||
|
*-save.pro
|
||||||
|
*-save.kicad_pcb
|
||||||
|
fp-info-cache
|
||||||
|
~*.lck
|
||||||
|
\#auto_saved_files#
|
||||||
|
|
||||||
|
# Netlist files (exported from Eeschema)
|
||||||
|
*.net
|
||||||
|
|
||||||
|
# Autorouter files (exported from Pcbnew)
|
||||||
|
*.dsn
|
||||||
|
*.ses
|
||||||
|
|
||||||
|
# Exported BOM files
|
||||||
|
*.xml
|
||||||
|
*.csv
|
||||||
|
|
||||||
|
# Archived Backups (KiCad 6.0)
|
||||||
|
**/*-backups/*.zip
|
||||||
|
|
||||||
|
# Local git-based history (KiCad 9.0+)
|
||||||
|
.history
|
||||||
|
|
||||||
|
# Local project settings
|
||||||
|
*.kicad_prl
|
||||||
Binary file not shown.
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,272 @@
|
|||||||
|
%TF.GenerationSoftware,KiCad,Pcbnew,9.0.7*%
|
||||||
|
%TF.CreationDate,2026-01-13T21:49:27+02:00*%
|
||||||
|
%TF.ProjectId,Servo2350,53657276-6f32-4333-9530-2e6b69636164,rev?*%
|
||||||
|
%TF.SameCoordinates,Original*%
|
||||||
|
%TF.FileFunction,Soldermask,Bot*%
|
||||||
|
%TF.FilePolarity,Negative*%
|
||||||
|
%FSLAX46Y46*%
|
||||||
|
G04 Gerber Fmt 4.6, Leading zero omitted, Abs format (unit mm)*
|
||||||
|
G04 Created by KiCad (PCBNEW 9.0.7) date 2026-01-13 21:49:27*
|
||||||
|
%MOMM*%
|
||||||
|
%LPD*%
|
||||||
|
G01*
|
||||||
|
G04 APERTURE LIST*
|
||||||
|
%ADD10R,1.700000X1.700000*%
|
||||||
|
%ADD11C,1.700000*%
|
||||||
|
%ADD12C,2.154000*%
|
||||||
|
%ADD13C,0.650000*%
|
||||||
|
%ADD14O,1.000000X2.100000*%
|
||||||
|
%ADD15O,1.000000X1.800000*%
|
||||||
|
%ADD16C,0.425000*%
|
||||||
|
G04 APERTURE END LIST*
|
||||||
|
D10*
|
||||||
|
%TO.C,D6*%
|
||||||
|
X152475000Y-137230000D03*
|
||||||
|
D11*
|
||||||
|
X152475000Y-134690000D03*
|
||||||
|
X152475000Y-132150000D03*
|
||||||
|
%TD*%
|
||||||
|
D12*
|
||||||
|
%TO.C,POWER1*%
|
||||||
|
X145400000Y-72800000D03*
|
||||||
|
X140400000Y-72800000D03*
|
||||||
|
%TD*%
|
||||||
|
D10*
|
||||||
|
%TO.C,14*%
|
||||||
|
X137310000Y-114600000D03*
|
||||||
|
D11*
|
||||||
|
X134770000Y-114600000D03*
|
||||||
|
X132230000Y-114600000D03*
|
||||||
|
X129690000Y-114600000D03*
|
||||||
|
%TD*%
|
||||||
|
D10*
|
||||||
|
%TO.C,18*%
|
||||||
|
X137310000Y-125800000D03*
|
||||||
|
D11*
|
||||||
|
X134770000Y-125800000D03*
|
||||||
|
X132230000Y-125800000D03*
|
||||||
|
X129690000Y-125800000D03*
|
||||||
|
%TD*%
|
||||||
|
D10*
|
||||||
|
%TO.C,9*%
|
||||||
|
X137310000Y-100600000D03*
|
||||||
|
D11*
|
||||||
|
X134770000Y-100600000D03*
|
||||||
|
X132230000Y-100600000D03*
|
||||||
|
X129690000Y-100600000D03*
|
||||||
|
%TD*%
|
||||||
|
D10*
|
||||||
|
%TO.C,15*%
|
||||||
|
X137310000Y-117400000D03*
|
||||||
|
D11*
|
||||||
|
X134770000Y-117400000D03*
|
||||||
|
X132230000Y-117400000D03*
|
||||||
|
X129690000Y-117400000D03*
|
||||||
|
%TD*%
|
||||||
|
D10*
|
||||||
|
%TO.C,2*%
|
||||||
|
X137210000Y-81000000D03*
|
||||||
|
D11*
|
||||||
|
X134670000Y-81000000D03*
|
||||||
|
X132130000Y-81000000D03*
|
||||||
|
X129590000Y-81000000D03*
|
||||||
|
%TD*%
|
||||||
|
D10*
|
||||||
|
%TO.C,D4*%
|
||||||
|
X158075000Y-137230000D03*
|
||||||
|
D11*
|
||||||
|
X158075000Y-134690000D03*
|
||||||
|
X158075000Y-132150000D03*
|
||||||
|
%TD*%
|
||||||
|
D10*
|
||||||
|
%TO.C,11*%
|
||||||
|
X137310000Y-106200000D03*
|
||||||
|
D11*
|
||||||
|
X134770000Y-106200000D03*
|
||||||
|
X132230000Y-106200000D03*
|
||||||
|
X129690000Y-106200000D03*
|
||||||
|
%TD*%
|
||||||
|
D10*
|
||||||
|
%TO.C,17*%
|
||||||
|
X137310000Y-123000000D03*
|
||||||
|
D11*
|
||||||
|
X134770000Y-123000000D03*
|
||||||
|
X132230000Y-123000000D03*
|
||||||
|
X129690000Y-123000000D03*
|
||||||
|
%TD*%
|
||||||
|
D10*
|
||||||
|
%TO.C,D1*%
|
||||||
|
X166525000Y-137230000D03*
|
||||||
|
D11*
|
||||||
|
X166525000Y-134690000D03*
|
||||||
|
X166525000Y-132150000D03*
|
||||||
|
%TD*%
|
||||||
|
D10*
|
||||||
|
%TO.C,5*%
|
||||||
|
X137310000Y-89400000D03*
|
||||||
|
D11*
|
||||||
|
X134770000Y-89400000D03*
|
||||||
|
X132230000Y-89400000D03*
|
||||||
|
X129690000Y-89400000D03*
|
||||||
|
%TD*%
|
||||||
|
D10*
|
||||||
|
%TO.C,1*%
|
||||||
|
X137240000Y-78200000D03*
|
||||||
|
D11*
|
||||||
|
X134700000Y-78200000D03*
|
||||||
|
X132160000Y-78200000D03*
|
||||||
|
X129620000Y-78200000D03*
|
||||||
|
%TD*%
|
||||||
|
D10*
|
||||||
|
%TO.C,3*%
|
||||||
|
X137210000Y-83800000D03*
|
||||||
|
D11*
|
||||||
|
X134670000Y-83800000D03*
|
||||||
|
X132130000Y-83800000D03*
|
||||||
|
X129590000Y-83800000D03*
|
||||||
|
%TD*%
|
||||||
|
D10*
|
||||||
|
%TO.C,13*%
|
||||||
|
X137310000Y-111800000D03*
|
||||||
|
D11*
|
||||||
|
X134770000Y-111800000D03*
|
||||||
|
X132230000Y-111800000D03*
|
||||||
|
X129690000Y-111800000D03*
|
||||||
|
%TD*%
|
||||||
|
D10*
|
||||||
|
%TO.C,D2*%
|
||||||
|
X163675000Y-137230000D03*
|
||||||
|
D11*
|
||||||
|
X163675000Y-134690000D03*
|
||||||
|
X163675000Y-132150000D03*
|
||||||
|
%TD*%
|
||||||
|
D10*
|
||||||
|
%TO.C,J1*%
|
||||||
|
X180300000Y-128310000D03*
|
||||||
|
D11*
|
||||||
|
X180300000Y-125770000D03*
|
||||||
|
X180300000Y-123230000D03*
|
||||||
|
X180300000Y-120690000D03*
|
||||||
|
X180300000Y-118150000D03*
|
||||||
|
X180300000Y-115610000D03*
|
||||||
|
X180300000Y-113070000D03*
|
||||||
|
X180300000Y-110530000D03*
|
||||||
|
X180300000Y-107990000D03*
|
||||||
|
X180300000Y-105450000D03*
|
||||||
|
X180300000Y-102910000D03*
|
||||||
|
X180300000Y-100370000D03*
|
||||||
|
X180300000Y-97830000D03*
|
||||||
|
X180300000Y-95290000D03*
|
||||||
|
X180300000Y-92750000D03*
|
||||||
|
%TD*%
|
||||||
|
D10*
|
||||||
|
%TO.C,SWD1*%
|
||||||
|
X180300000Y-78940000D03*
|
||||||
|
D11*
|
||||||
|
X180300000Y-81480000D03*
|
||||||
|
X180300000Y-84020000D03*
|
||||||
|
X180300000Y-86560000D03*
|
||||||
|
X180300000Y-89100000D03*
|
||||||
|
%TD*%
|
||||||
|
D10*
|
||||||
|
%TO.C,D5*%
|
||||||
|
X155275000Y-137230000D03*
|
||||||
|
D11*
|
||||||
|
X155275000Y-134690000D03*
|
||||||
|
X155275000Y-132150000D03*
|
||||||
|
%TD*%
|
||||||
|
D10*
|
||||||
|
%TO.C,J2*%
|
||||||
|
X180300000Y-132225000D03*
|
||||||
|
D11*
|
||||||
|
X177760000Y-132225000D03*
|
||||||
|
%TD*%
|
||||||
|
D10*
|
||||||
|
%TO.C,12*%
|
||||||
|
X137310000Y-109000000D03*
|
||||||
|
D11*
|
||||||
|
X134770000Y-109000000D03*
|
||||||
|
X132230000Y-109000000D03*
|
||||||
|
X129690000Y-109000000D03*
|
||||||
|
%TD*%
|
||||||
|
D10*
|
||||||
|
%TO.C,16*%
|
||||||
|
X137310000Y-120200000D03*
|
||||||
|
D11*
|
||||||
|
X134770000Y-120200000D03*
|
||||||
|
X132230000Y-120200000D03*
|
||||||
|
X129690000Y-120200000D03*
|
||||||
|
%TD*%
|
||||||
|
D13*
|
||||||
|
%TO.C,J3*%
|
||||||
|
X168690000Y-74405000D03*
|
||||||
|
X162910000Y-74405000D03*
|
||||||
|
D14*
|
||||||
|
X170120000Y-74925000D03*
|
||||||
|
D15*
|
||||||
|
X170120000Y-70725000D03*
|
||||||
|
D14*
|
||||||
|
X161480000Y-74925000D03*
|
||||||
|
D15*
|
||||||
|
X161480000Y-70725000D03*
|
||||||
|
%TD*%
|
||||||
|
D10*
|
||||||
|
%TO.C,6*%
|
||||||
|
X137310000Y-92200000D03*
|
||||||
|
D11*
|
||||||
|
X134770000Y-92200000D03*
|
||||||
|
X132230000Y-92200000D03*
|
||||||
|
X129690000Y-92200000D03*
|
||||||
|
%TD*%
|
||||||
|
D10*
|
||||||
|
%TO.C,D3*%
|
||||||
|
X160875000Y-137230000D03*
|
||||||
|
D11*
|
||||||
|
X160875000Y-134690000D03*
|
||||||
|
X160875000Y-132150000D03*
|
||||||
|
%TD*%
|
||||||
|
D10*
|
||||||
|
%TO.C,7*%
|
||||||
|
X137310000Y-95000000D03*
|
||||||
|
D11*
|
||||||
|
X134770000Y-95000000D03*
|
||||||
|
X132230000Y-95000000D03*
|
||||||
|
X129690000Y-95000000D03*
|
||||||
|
%TD*%
|
||||||
|
D10*
|
||||||
|
%TO.C,8*%
|
||||||
|
X137310000Y-97800000D03*
|
||||||
|
D11*
|
||||||
|
X134770000Y-97800000D03*
|
||||||
|
X132230000Y-97800000D03*
|
||||||
|
X129690000Y-97800000D03*
|
||||||
|
%TD*%
|
||||||
|
D16*
|
||||||
|
%TO.C,U1*%
|
||||||
|
X161475000Y-107525000D03*
|
||||||
|
X161475000Y-108375000D03*
|
||||||
|
X161475000Y-109225000D03*
|
||||||
|
X162325000Y-107525000D03*
|
||||||
|
X162325000Y-108375000D03*
|
||||||
|
X162325000Y-109225000D03*
|
||||||
|
X163175000Y-107525000D03*
|
||||||
|
X163175000Y-108375000D03*
|
||||||
|
X163175000Y-109225000D03*
|
||||||
|
%TD*%
|
||||||
|
D10*
|
||||||
|
%TO.C,10*%
|
||||||
|
X137310000Y-103400000D03*
|
||||||
|
D11*
|
||||||
|
X134770000Y-103400000D03*
|
||||||
|
X132230000Y-103400000D03*
|
||||||
|
X129690000Y-103400000D03*
|
||||||
|
%TD*%
|
||||||
|
D10*
|
||||||
|
%TO.C,4*%
|
||||||
|
X137240000Y-86600000D03*
|
||||||
|
D11*
|
||||||
|
X134700000Y-86600000D03*
|
||||||
|
X132160000Y-86600000D03*
|
||||||
|
X129620000Y-86600000D03*
|
||||||
|
%TD*%
|
||||||
|
M02*
|
||||||
@@ -0,0 +1,15 @@
|
|||||||
|
%TF.GenerationSoftware,KiCad,Pcbnew,9.0.7*%
|
||||||
|
%TF.CreationDate,2026-01-13T21:49:27+02:00*%
|
||||||
|
%TF.ProjectId,Servo2350,53657276-6f32-4333-9530-2e6b69636164,rev?*%
|
||||||
|
%TF.SameCoordinates,Original*%
|
||||||
|
%TF.FileFunction,Paste,Bot*%
|
||||||
|
%TF.FilePolarity,Positive*%
|
||||||
|
%FSLAX46Y46*%
|
||||||
|
G04 Gerber Fmt 4.6, Leading zero omitted, Abs format (unit mm)*
|
||||||
|
G04 Created by KiCad (PCBNEW 9.0.7) date 2026-01-13 21:49:27*
|
||||||
|
%MOMM*%
|
||||||
|
%LPD*%
|
||||||
|
G01*
|
||||||
|
G04 APERTURE LIST*
|
||||||
|
G04 APERTURE END LIST*
|
||||||
|
M02*
|
||||||
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,74 @@
|
|||||||
|
%TF.GenerationSoftware,KiCad,Pcbnew,9.0.7*%
|
||||||
|
%TF.CreationDate,2026-01-13T21:49:27+02:00*%
|
||||||
|
%TF.ProjectId,Servo2350,53657276-6f32-4333-9530-2e6b69636164,rev?*%
|
||||||
|
%TF.SameCoordinates,Original*%
|
||||||
|
%TF.FileFunction,Profile,NP*%
|
||||||
|
%FSLAX46Y46*%
|
||||||
|
G04 Gerber Fmt 4.6, Leading zero omitted, Abs format (unit mm)*
|
||||||
|
G04 Created by KiCad (PCBNEW 9.0.7) date 2026-01-13 21:49:27*
|
||||||
|
%MOMM*%
|
||||||
|
%LPD*%
|
||||||
|
G01*
|
||||||
|
G04 APERTURE LIST*
|
||||||
|
%TA.AperFunction,Profile*%
|
||||||
|
%ADD10C,0.050000*%
|
||||||
|
%TD*%
|
||||||
|
G04 APERTURE END LIST*
|
||||||
|
D10*
|
||||||
|
X181750000Y-68700000D02*
|
||||||
|
X129250000Y-68700000D01*
|
||||||
|
X181750000Y-71200000D02*
|
||||||
|
G75*
|
||||||
|
G02*
|
||||||
|
X179250000Y-71200000I-1250000J0D01*
|
||||||
|
G01*
|
||||||
|
X179250000Y-71200000D02*
|
||||||
|
G75*
|
||||||
|
G02*
|
||||||
|
X181750000Y-71200000I1250000J0D01*
|
||||||
|
G01*
|
||||||
|
X181750000Y-136200000D02*
|
||||||
|
G75*
|
||||||
|
G02*
|
||||||
|
X179250000Y-136200000I-1250000J0D01*
|
||||||
|
G01*
|
||||||
|
X179250000Y-136200000D02*
|
||||||
|
G75*
|
||||||
|
G02*
|
||||||
|
X181750000Y-136200000I1250000J0D01*
|
||||||
|
G01*
|
||||||
|
X129250000Y-138700000D02*
|
||||||
|
X181750000Y-138700000D01*
|
||||||
|
X183000000Y-69950000D02*
|
||||||
|
X181750000Y-68700000D01*
|
||||||
|
X181750000Y-138700000D02*
|
||||||
|
X183000000Y-137450000D01*
|
||||||
|
X128000000Y-69950000D02*
|
||||||
|
X128000000Y-137450000D01*
|
||||||
|
X131750000Y-71200000D02*
|
||||||
|
G75*
|
||||||
|
G02*
|
||||||
|
X129250000Y-71200000I-1250000J0D01*
|
||||||
|
G01*
|
||||||
|
X129250000Y-71200000D02*
|
||||||
|
G75*
|
||||||
|
G02*
|
||||||
|
X131750000Y-71200000I1250000J0D01*
|
||||||
|
G01*
|
||||||
|
X131750000Y-136200000D02*
|
||||||
|
G75*
|
||||||
|
G02*
|
||||||
|
X129250000Y-136200000I-1250000J0D01*
|
||||||
|
G01*
|
||||||
|
X129250000Y-136200000D02*
|
||||||
|
G75*
|
||||||
|
G02*
|
||||||
|
X131750000Y-136200000I1250000J0D01*
|
||||||
|
G01*
|
||||||
|
X129250000Y-68700000D02*
|
||||||
|
X128000000Y-69950000D01*
|
||||||
|
X128000000Y-137450000D02*
|
||||||
|
X129250000Y-138700000D01*
|
||||||
|
X183000000Y-137450000D02*
|
||||||
|
X183000000Y-69950000D01*
|
||||||
|
M02*
|
||||||
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,939 @@
|
|||||||
|
%TF.GenerationSoftware,KiCad,Pcbnew,9.0.7*%
|
||||||
|
%TF.CreationDate,2026-01-13T21:49:27+02:00*%
|
||||||
|
%TF.ProjectId,Servo2350,53657276-6f32-4333-9530-2e6b69636164,rev?*%
|
||||||
|
%TF.SameCoordinates,Original*%
|
||||||
|
%TF.FileFunction,Soldermask,Top*%
|
||||||
|
%TF.FilePolarity,Negative*%
|
||||||
|
%FSLAX46Y46*%
|
||||||
|
G04 Gerber Fmt 4.6, Leading zero omitted, Abs format (unit mm)*
|
||||||
|
G04 Created by KiCad (PCBNEW 9.0.7) date 2026-01-13 21:49:27*
|
||||||
|
%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.010000*%
|
||||||
|
%ADD11R,1.700000X1.700000*%
|
||||||
|
%ADD12C,1.700000*%
|
||||||
|
%ADD13RoundRect,0.091750X-0.495250X-0.275250X0.495250X-0.275250X0.495250X0.275250X-0.495250X0.275250X0*%
|
||||||
|
%ADD14RoundRect,0.135000X-0.135000X-0.185000X0.135000X-0.185000X0.135000X0.185000X-0.135000X0.185000X0*%
|
||||||
|
%ADD15C,2.154000*%
|
||||||
|
%ADD16R,0.600000X0.300000*%
|
||||||
|
%ADD17R,0.300000X1.700000*%
|
||||||
|
%ADD18RoundRect,0.135000X0.135000X0.185000X-0.135000X0.185000X-0.135000X-0.185000X0.135000X-0.185000X0*%
|
||||||
|
%ADD19RoundRect,0.140000X0.140000X0.170000X-0.140000X0.170000X-0.140000X-0.170000X0.140000X-0.170000X0*%
|
||||||
|
%ADD20RoundRect,0.140000X0.170000X-0.140000X0.170000X0.140000X-0.170000X0.140000X-0.170000X-0.140000X0*%
|
||||||
|
%ADD21RoundRect,0.290500X1.806500X0.871500X-1.806500X0.871500X-1.806500X-0.871500X1.806500X-0.871500X0*%
|
||||||
|
%ADD22RoundRect,0.135000X-0.185000X0.135000X-0.185000X-0.135000X0.185000X-0.135000X0.185000X0.135000X0*%
|
||||||
|
%ADD23RoundRect,0.140000X-0.140000X-0.170000X0.140000X-0.170000X0.140000X0.170000X-0.140000X0.170000X0*%
|
||||||
|
%ADD24RoundRect,0.147500X-0.172500X0.147500X-0.172500X-0.147500X0.172500X-0.147500X0.172500X0.147500X0*%
|
||||||
|
%ADD25RoundRect,0.140000X-0.170000X0.140000X-0.170000X-0.140000X0.170000X-0.140000X0.170000X0.140000X0*%
|
||||||
|
%ADD26RoundRect,0.060000X-0.890000X-0.180000X0.890000X-0.180000X0.890000X0.180000X-0.890000X0.180000X0*%
|
||||||
|
%ADD27RoundRect,0.102000X-0.525000X-0.325000X0.525000X-0.325000X0.525000X0.325000X-0.525000X0.325000X0*%
|
||||||
|
%ADD28RoundRect,0.102000X0.525000X0.325000X-0.525000X0.325000X-0.525000X-0.325000X0.525000X-0.325000X0*%
|
||||||
|
%ADD29C,0.650000*%
|
||||||
|
%ADD30R,0.600000X1.240000*%
|
||||||
|
%ADD31R,0.300000X1.240000*%
|
||||||
|
%ADD32O,1.000000X2.100000*%
|
||||||
|
%ADD33O,1.000000X1.800000*%
|
||||||
|
%ADD34RoundRect,0.102000X-0.710000X-0.290000X0.710000X-0.290000X0.710000X0.290000X-0.710000X0.290000X0*%
|
||||||
|
%ADD35RoundRect,0.102000X-0.525000X-0.650000X0.525000X-0.650000X0.525000X0.650000X-0.525000X0.650000X0*%
|
||||||
|
%ADD36R,0.780000X0.220000*%
|
||||||
|
%ADD37R,0.220000X0.780000*%
|
||||||
|
%ADD38C,0.425000*%
|
||||||
|
%ADD39R,3.400000X3.400000*%
|
||||||
|
G04 APERTURE END LIST*
|
||||||
|
D10*
|
||||||
|
%TO.C,U5*%
|
||||||
|
X170775000Y-119625000D02*
|
||||||
|
X170200000Y-119625000D01*
|
||||||
|
X170200000Y-119275000D01*
|
||||||
|
X170775000Y-119275000D01*
|
||||||
|
X170775000Y-119625000D01*
|
||||||
|
G36*
|
||||||
|
X170775000Y-119625000D02*
|
||||||
|
G01*
|
||||||
|
X170200000Y-119625000D01*
|
||||||
|
X170200000Y-119275000D01*
|
||||||
|
X170775000Y-119275000D01*
|
||||||
|
X170775000Y-119625000D01*
|
||||||
|
G37*
|
||||||
|
X170775000Y-120125000D02*
|
||||||
|
X170200000Y-120125000D01*
|
||||||
|
X170200000Y-119775000D01*
|
||||||
|
X170775000Y-119775000D01*
|
||||||
|
X170775000Y-120125000D01*
|
||||||
|
G36*
|
||||||
|
X170775000Y-120125000D02*
|
||||||
|
G01*
|
||||||
|
X170200000Y-120125000D01*
|
||||||
|
X170200000Y-119775000D01*
|
||||||
|
X170775000Y-119775000D01*
|
||||||
|
X170775000Y-120125000D01*
|
||||||
|
G37*
|
||||||
|
X170775000Y-120625000D02*
|
||||||
|
X170200000Y-120625000D01*
|
||||||
|
X170200000Y-120275000D01*
|
||||||
|
X170775000Y-120275000D01*
|
||||||
|
X170775000Y-120625000D01*
|
||||||
|
G36*
|
||||||
|
X170775000Y-120625000D02*
|
||||||
|
G01*
|
||||||
|
X170200000Y-120625000D01*
|
||||||
|
X170200000Y-120275000D01*
|
||||||
|
X170775000Y-120275000D01*
|
||||||
|
X170775000Y-120625000D01*
|
||||||
|
G37*
|
||||||
|
X170775000Y-121125000D02*
|
||||||
|
X170200000Y-121125000D01*
|
||||||
|
X170200000Y-120775000D01*
|
||||||
|
X170775000Y-120775000D01*
|
||||||
|
X170775000Y-121125000D01*
|
||||||
|
G36*
|
||||||
|
X170775000Y-121125000D02*
|
||||||
|
G01*
|
||||||
|
X170200000Y-121125000D01*
|
||||||
|
X170200000Y-120775000D01*
|
||||||
|
X170775000Y-120775000D01*
|
||||||
|
X170775000Y-121125000D01*
|
||||||
|
G37*
|
||||||
|
X171325000Y-119575000D02*
|
||||||
|
X170975000Y-119575000D01*
|
||||||
|
X170975000Y-119000000D01*
|
||||||
|
X171325000Y-119000000D01*
|
||||||
|
X171325000Y-119575000D01*
|
||||||
|
G36*
|
||||||
|
X171325000Y-119575000D02*
|
||||||
|
G01*
|
||||||
|
X170975000Y-119575000D01*
|
||||||
|
X170975000Y-119000000D01*
|
||||||
|
X171325000Y-119000000D01*
|
||||||
|
X171325000Y-119575000D01*
|
||||||
|
G37*
|
||||||
|
X171325000Y-121400000D02*
|
||||||
|
X170975000Y-121400000D01*
|
||||||
|
X170975000Y-120825000D01*
|
||||||
|
X171325000Y-120825000D01*
|
||||||
|
X171325000Y-121400000D01*
|
||||||
|
G36*
|
||||||
|
X171325000Y-121400000D02*
|
||||||
|
G01*
|
||||||
|
X170975000Y-121400000D01*
|
||||||
|
X170975000Y-120825000D01*
|
||||||
|
X171325000Y-120825000D01*
|
||||||
|
X171325000Y-121400000D01*
|
||||||
|
G37*
|
||||||
|
X171825000Y-119575000D02*
|
||||||
|
X171475000Y-119575000D01*
|
||||||
|
X171475000Y-119000000D01*
|
||||||
|
X171825000Y-119000000D01*
|
||||||
|
X171825000Y-119575000D01*
|
||||||
|
G36*
|
||||||
|
X171825000Y-119575000D02*
|
||||||
|
G01*
|
||||||
|
X171475000Y-119575000D01*
|
||||||
|
X171475000Y-119000000D01*
|
||||||
|
X171825000Y-119000000D01*
|
||||||
|
X171825000Y-119575000D01*
|
||||||
|
G37*
|
||||||
|
X171825000Y-121400000D02*
|
||||||
|
X171475000Y-121400000D01*
|
||||||
|
X171475000Y-120825000D01*
|
||||||
|
X171825000Y-120825000D01*
|
||||||
|
X171825000Y-121400000D01*
|
||||||
|
G36*
|
||||||
|
X171825000Y-121400000D02*
|
||||||
|
G01*
|
||||||
|
X171475000Y-121400000D01*
|
||||||
|
X171475000Y-120825000D01*
|
||||||
|
X171825000Y-120825000D01*
|
||||||
|
X171825000Y-121400000D01*
|
||||||
|
G37*
|
||||||
|
X172325000Y-119575000D02*
|
||||||
|
X171975000Y-119575000D01*
|
||||||
|
X171975000Y-119000000D01*
|
||||||
|
X172325000Y-119000000D01*
|
||||||
|
X172325000Y-119575000D01*
|
||||||
|
G36*
|
||||||
|
X172325000Y-119575000D02*
|
||||||
|
G01*
|
||||||
|
X171975000Y-119575000D01*
|
||||||
|
X171975000Y-119000000D01*
|
||||||
|
X172325000Y-119000000D01*
|
||||||
|
X172325000Y-119575000D01*
|
||||||
|
G37*
|
||||||
|
X172325000Y-121400000D02*
|
||||||
|
X171975000Y-121400000D01*
|
||||||
|
X171975000Y-120825000D01*
|
||||||
|
X172325000Y-120825000D01*
|
||||||
|
X172325000Y-121400000D01*
|
||||||
|
G36*
|
||||||
|
X172325000Y-121400000D02*
|
||||||
|
G01*
|
||||||
|
X171975000Y-121400000D01*
|
||||||
|
X171975000Y-120825000D01*
|
||||||
|
X172325000Y-120825000D01*
|
||||||
|
X172325000Y-121400000D01*
|
||||||
|
G37*
|
||||||
|
X173100000Y-119625000D02*
|
||||||
|
X172525000Y-119625000D01*
|
||||||
|
X172525000Y-119275000D01*
|
||||||
|
X173100000Y-119275000D01*
|
||||||
|
X173100000Y-119625000D01*
|
||||||
|
G36*
|
||||||
|
X173100000Y-119625000D02*
|
||||||
|
G01*
|
||||||
|
X172525000Y-119625000D01*
|
||||||
|
X172525000Y-119275000D01*
|
||||||
|
X173100000Y-119275000D01*
|
||||||
|
X173100000Y-119625000D01*
|
||||||
|
G37*
|
||||||
|
X173100000Y-120125000D02*
|
||||||
|
X172525000Y-120125000D01*
|
||||||
|
X172525000Y-119775000D01*
|
||||||
|
X173100000Y-119775000D01*
|
||||||
|
X173100000Y-120125000D01*
|
||||||
|
G36*
|
||||||
|
X173100000Y-120125000D02*
|
||||||
|
G01*
|
||||||
|
X172525000Y-120125000D01*
|
||||||
|
X172525000Y-119775000D01*
|
||||||
|
X173100000Y-119775000D01*
|
||||||
|
X173100000Y-120125000D01*
|
||||||
|
G37*
|
||||||
|
X173100000Y-120625000D02*
|
||||||
|
X172525000Y-120625000D01*
|
||||||
|
X172525000Y-120275000D01*
|
||||||
|
X173100000Y-120275000D01*
|
||||||
|
X173100000Y-120625000D01*
|
||||||
|
G36*
|
||||||
|
X173100000Y-120625000D02*
|
||||||
|
G01*
|
||||||
|
X172525000Y-120625000D01*
|
||||||
|
X172525000Y-120275000D01*
|
||||||
|
X173100000Y-120275000D01*
|
||||||
|
X173100000Y-120625000D01*
|
||||||
|
G37*
|
||||||
|
X173100000Y-121125000D02*
|
||||||
|
X172525000Y-121125000D01*
|
||||||
|
X172525000Y-120775000D01*
|
||||||
|
X173100000Y-120775000D01*
|
||||||
|
X173100000Y-121125000D01*
|
||||||
|
G36*
|
||||||
|
X173100000Y-121125000D02*
|
||||||
|
G01*
|
||||||
|
X172525000Y-121125000D01*
|
||||||
|
X172525000Y-120775000D01*
|
||||||
|
X173100000Y-120775000D01*
|
||||||
|
X173100000Y-121125000D01*
|
||||||
|
G37*
|
||||||
|
%TD*%
|
||||||
|
D11*
|
||||||
|
%TO.C,D6*%
|
||||||
|
X152475000Y-137230000D03*
|
||||||
|
D12*
|
||||||
|
X152475000Y-134690000D03*
|
||||||
|
X152475000Y-132150000D03*
|
||||||
|
%TD*%
|
||||||
|
D13*
|
||||||
|
%TO.C,RN3*%
|
||||||
|
X144492500Y-110100000D03*
|
||||||
|
X144492500Y-110900000D03*
|
||||||
|
X144492500Y-111700000D03*
|
||||||
|
X144492500Y-112500000D03*
|
||||||
|
X146242500Y-112500000D03*
|
||||||
|
X146242500Y-111700000D03*
|
||||||
|
X146242500Y-110900000D03*
|
||||||
|
X146242500Y-110100000D03*
|
||||||
|
%TD*%
|
||||||
|
D14*
|
||||||
|
%TO.C,R12*%
|
||||||
|
X171511500Y-94675000D03*
|
||||||
|
X172531500Y-94675000D03*
|
||||||
|
%TD*%
|
||||||
|
D15*
|
||||||
|
%TO.C,POWER1*%
|
||||||
|
X145400000Y-72800000D03*
|
||||||
|
X140400000Y-72800000D03*
|
||||||
|
%TD*%
|
||||||
|
D16*
|
||||||
|
%TO.C,U2*%
|
||||||
|
X150850000Y-100875000D03*
|
||||||
|
X150850000Y-101375000D03*
|
||||||
|
X150850000Y-101875000D03*
|
||||||
|
X150850000Y-102375000D03*
|
||||||
|
X153350000Y-102375000D03*
|
||||||
|
X153350000Y-101875000D03*
|
||||||
|
X153350000Y-101375000D03*
|
||||||
|
X153350000Y-100875000D03*
|
||||||
|
D17*
|
||||||
|
X152100000Y-101625000D03*
|
||||||
|
%TD*%
|
||||||
|
D18*
|
||||||
|
%TO.C,R1*%
|
||||||
|
X173610000Y-98500000D03*
|
||||||
|
X172590000Y-98500000D03*
|
||||||
|
%TD*%
|
||||||
|
D19*
|
||||||
|
%TO.C,C12*%
|
||||||
|
X153080000Y-108675000D03*
|
||||||
|
X152120000Y-108675000D03*
|
||||||
|
%TD*%
|
||||||
|
D20*
|
||||||
|
%TO.C,C14*%
|
||||||
|
X166750000Y-99180000D03*
|
||||||
|
X166750000Y-98220000D03*
|
||||||
|
%TD*%
|
||||||
|
D13*
|
||||||
|
%TO.C,RN2*%
|
||||||
|
X144550000Y-104500000D03*
|
||||||
|
X144550000Y-105300000D03*
|
||||||
|
X144550000Y-106100000D03*
|
||||||
|
X144550000Y-106900000D03*
|
||||||
|
X146300000Y-106900000D03*
|
||||||
|
X146300000Y-106100000D03*
|
||||||
|
X146300000Y-105300000D03*
|
||||||
|
X146300000Y-104500000D03*
|
||||||
|
%TD*%
|
||||||
|
D11*
|
||||||
|
%TO.C,14*%
|
||||||
|
X137310000Y-114600000D03*
|
||||||
|
D12*
|
||||||
|
X134770000Y-114600000D03*
|
||||||
|
X132230000Y-114600000D03*
|
||||||
|
X129690000Y-114600000D03*
|
||||||
|
%TD*%
|
||||||
|
D14*
|
||||||
|
%TO.C,R7*%
|
||||||
|
X170743500Y-131590000D03*
|
||||||
|
X171763500Y-131590000D03*
|
||||||
|
%TD*%
|
||||||
|
D11*
|
||||||
|
%TO.C,18*%
|
||||||
|
X137310000Y-125800000D03*
|
||||||
|
D12*
|
||||||
|
X134770000Y-125800000D03*
|
||||||
|
X132230000Y-125800000D03*
|
||||||
|
X129690000Y-125800000D03*
|
||||||
|
%TD*%
|
||||||
|
D11*
|
||||||
|
%TO.C,9*%
|
||||||
|
X137310000Y-100600000D03*
|
||||||
|
D12*
|
||||||
|
X134770000Y-100600000D03*
|
||||||
|
X132230000Y-100600000D03*
|
||||||
|
X129690000Y-100600000D03*
|
||||||
|
%TD*%
|
||||||
|
D19*
|
||||||
|
%TO.C,C3*%
|
||||||
|
X153080000Y-106150000D03*
|
||||||
|
X152120000Y-106150000D03*
|
||||||
|
%TD*%
|
||||||
|
D21*
|
||||||
|
%TO.C,C26*%
|
||||||
|
X146565000Y-132800000D03*
|
||||||
|
X138085000Y-132800000D03*
|
||||||
|
%TD*%
|
||||||
|
D18*
|
||||||
|
%TO.C,R11*%
|
||||||
|
X164210000Y-78635000D03*
|
||||||
|
X163190000Y-78635000D03*
|
||||||
|
%TD*%
|
||||||
|
D11*
|
||||||
|
%TO.C,15*%
|
||||||
|
X137310000Y-117400000D03*
|
||||||
|
D12*
|
||||||
|
X134770000Y-117400000D03*
|
||||||
|
X132230000Y-117400000D03*
|
||||||
|
X129690000Y-117400000D03*
|
||||||
|
%TD*%
|
||||||
|
D22*
|
||||||
|
%TO.C,R9*%
|
||||||
|
X158100000Y-120990000D03*
|
||||||
|
X158100000Y-122010000D03*
|
||||||
|
%TD*%
|
||||||
|
D23*
|
||||||
|
%TO.C,C22*%
|
||||||
|
X170970000Y-123300000D03*
|
||||||
|
X171930000Y-123300000D03*
|
||||||
|
%TD*%
|
||||||
|
D13*
|
||||||
|
%TO.C,RN5*%
|
||||||
|
X144317500Y-121400000D03*
|
||||||
|
X144317500Y-122200000D03*
|
||||||
|
X144317500Y-123000000D03*
|
||||||
|
X144317500Y-123800000D03*
|
||||||
|
X146067500Y-123800000D03*
|
||||||
|
X146067500Y-123000000D03*
|
||||||
|
X146067500Y-122200000D03*
|
||||||
|
X146067500Y-121400000D03*
|
||||||
|
%TD*%
|
||||||
|
D11*
|
||||||
|
%TO.C,2*%
|
||||||
|
X137210000Y-81000000D03*
|
||||||
|
D12*
|
||||||
|
X134670000Y-81000000D03*
|
||||||
|
X132130000Y-81000000D03*
|
||||||
|
X129590000Y-81000000D03*
|
||||||
|
%TD*%
|
||||||
|
D20*
|
||||||
|
%TO.C,C15*%
|
||||||
|
X164950000Y-99180000D03*
|
||||||
|
X164950000Y-98220000D03*
|
||||||
|
%TD*%
|
||||||
|
D11*
|
||||||
|
%TO.C,D4*%
|
||||||
|
X158075000Y-137230000D03*
|
||||||
|
D12*
|
||||||
|
X158075000Y-134690000D03*
|
||||||
|
X158075000Y-132150000D03*
|
||||||
|
%TD*%
|
||||||
|
D11*
|
||||||
|
%TO.C,11*%
|
||||||
|
X137310000Y-106200000D03*
|
||||||
|
D12*
|
||||||
|
X134770000Y-106200000D03*
|
||||||
|
X132230000Y-106200000D03*
|
||||||
|
X129690000Y-106200000D03*
|
||||||
|
%TD*%
|
||||||
|
D11*
|
||||||
|
%TO.C,17*%
|
||||||
|
X137310000Y-123000000D03*
|
||||||
|
D12*
|
||||||
|
X134770000Y-123000000D03*
|
||||||
|
X132230000Y-123000000D03*
|
||||||
|
X129690000Y-123000000D03*
|
||||||
|
%TD*%
|
||||||
|
D19*
|
||||||
|
%TO.C,C18*%
|
||||||
|
X154530000Y-99200000D03*
|
||||||
|
X153570000Y-99200000D03*
|
||||||
|
%TD*%
|
||||||
|
D24*
|
||||||
|
%TO.C,LED2*%
|
||||||
|
X158100000Y-123815000D03*
|
||||||
|
X158100000Y-124785000D03*
|
||||||
|
%TD*%
|
||||||
|
D25*
|
||||||
|
%TO.C,C20*%
|
||||||
|
X168545000Y-81305000D03*
|
||||||
|
X168545000Y-82265000D03*
|
||||||
|
%TD*%
|
||||||
|
D14*
|
||||||
|
%TO.C,R10*%
|
||||||
|
X167900000Y-78735000D03*
|
||||||
|
X168920000Y-78735000D03*
|
||||||
|
%TD*%
|
||||||
|
D22*
|
||||||
|
%TO.C,R5*%
|
||||||
|
X151650000Y-98190000D03*
|
||||||
|
X151650000Y-99210000D03*
|
||||||
|
%TD*%
|
||||||
|
D11*
|
||||||
|
%TO.C,D1*%
|
||||||
|
X166525000Y-137230000D03*
|
||||||
|
D12*
|
||||||
|
X166525000Y-134690000D03*
|
||||||
|
X166525000Y-132150000D03*
|
||||||
|
%TD*%
|
||||||
|
D23*
|
||||||
|
%TO.C,C4*%
|
||||||
|
X171670000Y-104800000D03*
|
||||||
|
X172630000Y-104800000D03*
|
||||||
|
%TD*%
|
||||||
|
D19*
|
||||||
|
%TO.C,C17*%
|
||||||
|
X163455000Y-122250000D03*
|
||||||
|
X162495000Y-122250000D03*
|
||||||
|
%TD*%
|
||||||
|
D11*
|
||||||
|
%TO.C,5*%
|
||||||
|
X137310000Y-89400000D03*
|
||||||
|
D12*
|
||||||
|
X134770000Y-89400000D03*
|
||||||
|
X132230000Y-89400000D03*
|
||||||
|
X129690000Y-89400000D03*
|
||||||
|
%TD*%
|
||||||
|
D13*
|
||||||
|
%TO.C,RN4*%
|
||||||
|
X144392500Y-115800000D03*
|
||||||
|
X144392500Y-116600000D03*
|
||||||
|
X144392500Y-117400000D03*
|
||||||
|
X144392500Y-118200000D03*
|
||||||
|
X146142500Y-118200000D03*
|
||||||
|
X146142500Y-117400000D03*
|
||||||
|
X146142500Y-116600000D03*
|
||||||
|
X146142500Y-115800000D03*
|
||||||
|
%TD*%
|
||||||
|
D11*
|
||||||
|
%TO.C,1*%
|
||||||
|
X137240000Y-78200000D03*
|
||||||
|
D12*
|
||||||
|
X134700000Y-78200000D03*
|
||||||
|
X132160000Y-78200000D03*
|
||||||
|
X129620000Y-78200000D03*
|
||||||
|
%TD*%
|
||||||
|
D26*
|
||||||
|
%TO.C,U4*%
|
||||||
|
X148690000Y-83900000D03*
|
||||||
|
X148690000Y-84550000D03*
|
||||||
|
X148690000Y-85200000D03*
|
||||||
|
X148690000Y-85850000D03*
|
||||||
|
X148690000Y-86500000D03*
|
||||||
|
X148690000Y-87150000D03*
|
||||||
|
X148690000Y-87800000D03*
|
||||||
|
X148690000Y-88450000D03*
|
||||||
|
X148690000Y-89100000D03*
|
||||||
|
X148690000Y-89750000D03*
|
||||||
|
X148690000Y-90400000D03*
|
||||||
|
X148690000Y-91050000D03*
|
||||||
|
X155700000Y-91050000D03*
|
||||||
|
X155700000Y-90400000D03*
|
||||||
|
X155700000Y-89750000D03*
|
||||||
|
X155700000Y-89100000D03*
|
||||||
|
X155700000Y-88450000D03*
|
||||||
|
X155700000Y-87800000D03*
|
||||||
|
X155700000Y-87150000D03*
|
||||||
|
X155700000Y-86500000D03*
|
||||||
|
X155700000Y-85850000D03*
|
||||||
|
X155700000Y-85200000D03*
|
||||||
|
X155700000Y-84550000D03*
|
||||||
|
X155700000Y-83900000D03*
|
||||||
|
%TD*%
|
||||||
|
D11*
|
||||||
|
%TO.C,3*%
|
||||||
|
X137210000Y-83800000D03*
|
||||||
|
D12*
|
||||||
|
X134670000Y-83800000D03*
|
||||||
|
X132130000Y-83800000D03*
|
||||||
|
X129590000Y-83800000D03*
|
||||||
|
%TD*%
|
||||||
|
D18*
|
||||||
|
%TO.C,R6*%
|
||||||
|
X149960000Y-99200000D03*
|
||||||
|
X148940000Y-99200000D03*
|
||||||
|
%TD*%
|
||||||
|
D11*
|
||||||
|
%TO.C,13*%
|
||||||
|
X137310000Y-111800000D03*
|
||||||
|
D12*
|
||||||
|
X134770000Y-111800000D03*
|
||||||
|
X132230000Y-111800000D03*
|
||||||
|
X129690000Y-111800000D03*
|
||||||
|
%TD*%
|
||||||
|
D27*
|
||||||
|
%TO.C,BOOT*%
|
||||||
|
X154725000Y-70260000D03*
|
||||||
|
X158875000Y-70260000D03*
|
||||||
|
X154725000Y-72410000D03*
|
||||||
|
X158875000Y-72410000D03*
|
||||||
|
%TD*%
|
||||||
|
D28*
|
||||||
|
%TO.C,RESET*%
|
||||||
|
X173975000Y-136665000D03*
|
||||||
|
X169825000Y-136665000D03*
|
||||||
|
X173975000Y-134515000D03*
|
||||||
|
X169825000Y-134515000D03*
|
||||||
|
%TD*%
|
||||||
|
D23*
|
||||||
|
%TO.C,C9*%
|
||||||
|
X171670000Y-108600000D03*
|
||||||
|
X172630000Y-108600000D03*
|
||||||
|
%TD*%
|
||||||
|
D20*
|
||||||
|
%TO.C,C5*%
|
||||||
|
X156450000Y-99180000D03*
|
||||||
|
X156450000Y-98220000D03*
|
||||||
|
%TD*%
|
||||||
|
D13*
|
||||||
|
%TO.C,RN1*%
|
||||||
|
X144550000Y-98900000D03*
|
||||||
|
X144550000Y-99700000D03*
|
||||||
|
X144550000Y-100500000D03*
|
||||||
|
X144550000Y-101300000D03*
|
||||||
|
X146300000Y-101300000D03*
|
||||||
|
X146300000Y-100500000D03*
|
||||||
|
X146300000Y-99700000D03*
|
||||||
|
X146300000Y-98900000D03*
|
||||||
|
%TD*%
|
||||||
|
D25*
|
||||||
|
%TO.C,C16*%
|
||||||
|
X159875000Y-118270000D03*
|
||||||
|
X159875000Y-119230000D03*
|
||||||
|
%TD*%
|
||||||
|
D11*
|
||||||
|
%TO.C,D2*%
|
||||||
|
X163675000Y-137230000D03*
|
||||||
|
D12*
|
||||||
|
X163675000Y-134690000D03*
|
||||||
|
X163675000Y-132150000D03*
|
||||||
|
%TD*%
|
||||||
|
D19*
|
||||||
|
%TO.C,C2*%
|
||||||
|
X153105000Y-111200000D03*
|
||||||
|
X152145000Y-111200000D03*
|
||||||
|
%TD*%
|
||||||
|
D25*
|
||||||
|
%TO.C,C6*%
|
||||||
|
X156150000Y-117720000D03*
|
||||||
|
X156150000Y-118680000D03*
|
||||||
|
%TD*%
|
||||||
|
D23*
|
||||||
|
%TO.C,C8*%
|
||||||
|
X171670000Y-112200000D03*
|
||||||
|
X172630000Y-112200000D03*
|
||||||
|
%TD*%
|
||||||
|
D22*
|
||||||
|
%TO.C,R8*%
|
||||||
|
X155700000Y-120990000D03*
|
||||||
|
X155700000Y-122010000D03*
|
||||||
|
%TD*%
|
||||||
|
D23*
|
||||||
|
%TO.C,C13*%
|
||||||
|
X172620000Y-100500000D03*
|
||||||
|
X173580000Y-100500000D03*
|
||||||
|
%TD*%
|
||||||
|
D20*
|
||||||
|
%TO.C,C1*%
|
||||||
|
X158150000Y-99180000D03*
|
||||||
|
X158150000Y-98220000D03*
|
||||||
|
%TD*%
|
||||||
|
D23*
|
||||||
|
%TO.C,C21*%
|
||||||
|
X155495000Y-81975000D03*
|
||||||
|
X156455000Y-81975000D03*
|
||||||
|
%TD*%
|
||||||
|
D24*
|
||||||
|
%TO.C,LED1*%
|
||||||
|
X155700000Y-123815000D03*
|
||||||
|
X155700000Y-124785000D03*
|
||||||
|
%TD*%
|
||||||
|
D20*
|
||||||
|
%TO.C,C7*%
|
||||||
|
X159850000Y-99180000D03*
|
||||||
|
X159850000Y-98220000D03*
|
||||||
|
%TD*%
|
||||||
|
D25*
|
||||||
|
%TO.C,C10*%
|
||||||
|
X167850000Y-118220000D03*
|
||||||
|
X167850000Y-119180000D03*
|
||||||
|
%TD*%
|
||||||
|
D11*
|
||||||
|
%TO.C,J1*%
|
||||||
|
X180300000Y-128310000D03*
|
||||||
|
D12*
|
||||||
|
X180300000Y-125770000D03*
|
||||||
|
X180300000Y-123230000D03*
|
||||||
|
X180300000Y-120690000D03*
|
||||||
|
X180300000Y-118150000D03*
|
||||||
|
X180300000Y-115610000D03*
|
||||||
|
X180300000Y-113070000D03*
|
||||||
|
X180300000Y-110530000D03*
|
||||||
|
X180300000Y-107990000D03*
|
||||||
|
X180300000Y-105450000D03*
|
||||||
|
X180300000Y-102910000D03*
|
||||||
|
X180300000Y-100370000D03*
|
||||||
|
X180300000Y-97830000D03*
|
||||||
|
X180300000Y-95290000D03*
|
||||||
|
X180300000Y-92750000D03*
|
||||||
|
%TD*%
|
||||||
|
D25*
|
||||||
|
%TO.C,C24*%
|
||||||
|
X158300000Y-117720000D03*
|
||||||
|
X158300000Y-118680000D03*
|
||||||
|
%TD*%
|
||||||
|
D24*
|
||||||
|
%TO.C,L1*%
|
||||||
|
X168550000Y-98215000D03*
|
||||||
|
X168550000Y-99185000D03*
|
||||||
|
%TD*%
|
||||||
|
D11*
|
||||||
|
%TO.C,SWD1*%
|
||||||
|
X180300000Y-78940000D03*
|
||||||
|
D12*
|
||||||
|
X180300000Y-81480000D03*
|
||||||
|
X180300000Y-84020000D03*
|
||||||
|
X180300000Y-86560000D03*
|
||||||
|
X180300000Y-89100000D03*
|
||||||
|
%TD*%
|
||||||
|
D11*
|
||||||
|
%TO.C,D5*%
|
||||||
|
X155275000Y-137230000D03*
|
||||||
|
D12*
|
||||||
|
X155275000Y-134690000D03*
|
||||||
|
X155275000Y-132150000D03*
|
||||||
|
%TD*%
|
||||||
|
D11*
|
||||||
|
%TO.C,J2*%
|
||||||
|
X180300000Y-132225000D03*
|
||||||
|
D12*
|
||||||
|
X177760000Y-132225000D03*
|
||||||
|
%TD*%
|
||||||
|
D22*
|
||||||
|
%TO.C,R2*%
|
||||||
|
X165775000Y-118140000D03*
|
||||||
|
X165775000Y-119160000D03*
|
||||||
|
%TD*%
|
||||||
|
D11*
|
||||||
|
%TO.C,12*%
|
||||||
|
X137310000Y-109000000D03*
|
||||||
|
D12*
|
||||||
|
X134770000Y-109000000D03*
|
||||||
|
X132230000Y-109000000D03*
|
||||||
|
X129690000Y-109000000D03*
|
||||||
|
%TD*%
|
||||||
|
D22*
|
||||||
|
%TO.C,R4*%
|
||||||
|
X163250000Y-98180000D03*
|
||||||
|
X163250000Y-99200000D03*
|
||||||
|
%TD*%
|
||||||
|
D19*
|
||||||
|
%TO.C,C23*%
|
||||||
|
X172030000Y-125200000D03*
|
||||||
|
X171070000Y-125200000D03*
|
||||||
|
%TD*%
|
||||||
|
D11*
|
||||||
|
%TO.C,16*%
|
||||||
|
X137310000Y-120200000D03*
|
||||||
|
D12*
|
||||||
|
X134770000Y-120200000D03*
|
||||||
|
X132230000Y-120200000D03*
|
||||||
|
X129690000Y-120200000D03*
|
||||||
|
%TD*%
|
||||||
|
D29*
|
||||||
|
%TO.C,J3*%
|
||||||
|
X168690000Y-74405000D03*
|
||||||
|
X162910000Y-74405000D03*
|
||||||
|
D30*
|
||||||
|
X169000000Y-75525000D03*
|
||||||
|
X168200000Y-75525000D03*
|
||||||
|
D31*
|
||||||
|
X167050000Y-75525000D03*
|
||||||
|
X166050000Y-75525000D03*
|
||||||
|
X165550000Y-75525000D03*
|
||||||
|
X164550000Y-75525000D03*
|
||||||
|
D30*
|
||||||
|
X163400000Y-75525000D03*
|
||||||
|
X162600000Y-75525000D03*
|
||||||
|
X162600000Y-75525000D03*
|
||||||
|
X163400000Y-75525000D03*
|
||||||
|
D31*
|
||||||
|
X164050000Y-75525000D03*
|
||||||
|
X165050000Y-75525000D03*
|
||||||
|
X166550000Y-75525000D03*
|
||||||
|
X167550000Y-75525000D03*
|
||||||
|
D30*
|
||||||
|
X168200000Y-75525000D03*
|
||||||
|
X169000000Y-75525000D03*
|
||||||
|
D32*
|
||||||
|
X170120000Y-74925000D03*
|
||||||
|
D33*
|
||||||
|
X170120000Y-70725000D03*
|
||||||
|
D32*
|
||||||
|
X161480000Y-74925000D03*
|
||||||
|
D33*
|
||||||
|
X161480000Y-70725000D03*
|
||||||
|
%TD*%
|
||||||
|
D23*
|
||||||
|
%TO.C,C25*%
|
||||||
|
X171620000Y-103000000D03*
|
||||||
|
X172580000Y-103000000D03*
|
||||||
|
%TD*%
|
||||||
|
%TO.C,C11*%
|
||||||
|
X171670000Y-106700000D03*
|
||||||
|
X172630000Y-106700000D03*
|
||||||
|
%TD*%
|
||||||
|
D14*
|
||||||
|
%TO.C,R13*%
|
||||||
|
X171511500Y-92775000D03*
|
||||||
|
X172531500Y-92775000D03*
|
||||||
|
%TD*%
|
||||||
|
D34*
|
||||||
|
%TO.C,U3*%
|
||||||
|
X163755000Y-81285000D03*
|
||||||
|
X163755000Y-82235000D03*
|
||||||
|
X163755000Y-83185000D03*
|
||||||
|
X166045000Y-83185000D03*
|
||||||
|
X166045000Y-81285000D03*
|
||||||
|
%TD*%
|
||||||
|
D11*
|
||||||
|
%TO.C,6*%
|
||||||
|
X137310000Y-92200000D03*
|
||||||
|
D12*
|
||||||
|
X134770000Y-92200000D03*
|
||||||
|
X132230000Y-92200000D03*
|
||||||
|
X129690000Y-92200000D03*
|
||||||
|
%TD*%
|
||||||
|
D11*
|
||||||
|
%TO.C,D3*%
|
||||||
|
X160875000Y-137230000D03*
|
||||||
|
D12*
|
||||||
|
X160875000Y-134690000D03*
|
||||||
|
X160875000Y-132150000D03*
|
||||||
|
%TD*%
|
||||||
|
D11*
|
||||||
|
%TO.C,7*%
|
||||||
|
X137310000Y-95000000D03*
|
||||||
|
D12*
|
||||||
|
X134770000Y-95000000D03*
|
||||||
|
X132230000Y-95000000D03*
|
||||||
|
X129690000Y-95000000D03*
|
||||||
|
%TD*%
|
||||||
|
D25*
|
||||||
|
%TO.C,C19*%
|
||||||
|
X161345000Y-81305000D03*
|
||||||
|
X161345000Y-82265000D03*
|
||||||
|
%TD*%
|
||||||
|
D11*
|
||||||
|
%TO.C,8*%
|
||||||
|
X137310000Y-97800000D03*
|
||||||
|
D12*
|
||||||
|
X134770000Y-97800000D03*
|
||||||
|
X132230000Y-97800000D03*
|
||||||
|
X129690000Y-97800000D03*
|
||||||
|
%TD*%
|
||||||
|
D35*
|
||||||
|
%TO.C,Y1*%
|
||||||
|
X162000000Y-117600000D03*
|
||||||
|
X162000000Y-119900000D03*
|
||||||
|
X163750000Y-119900000D03*
|
||||||
|
X163750000Y-117600000D03*
|
||||||
|
%TD*%
|
||||||
|
D22*
|
||||||
|
%TO.C,R3*%
|
||||||
|
X161550000Y-98190000D03*
|
||||||
|
X161550000Y-99210000D03*
|
||||||
|
%TD*%
|
||||||
|
D36*
|
||||||
|
%TO.C,U1*%
|
||||||
|
X157428500Y-104575000D03*
|
||||||
|
X157428500Y-104975000D03*
|
||||||
|
X157428500Y-105375000D03*
|
||||||
|
X157428500Y-105775000D03*
|
||||||
|
X157428500Y-106175000D03*
|
||||||
|
X157428500Y-106575000D03*
|
||||||
|
X157428500Y-106975000D03*
|
||||||
|
X157428500Y-107375000D03*
|
||||||
|
X157428500Y-107775000D03*
|
||||||
|
X157428500Y-108175000D03*
|
||||||
|
X157428500Y-108575000D03*
|
||||||
|
X157428500Y-108975000D03*
|
||||||
|
X157428500Y-109375000D03*
|
||||||
|
X157428500Y-109775000D03*
|
||||||
|
X157428500Y-110175000D03*
|
||||||
|
X157428500Y-110575000D03*
|
||||||
|
X157428500Y-110975000D03*
|
||||||
|
X157428500Y-111375000D03*
|
||||||
|
X157428500Y-111775000D03*
|
||||||
|
X157428500Y-112175000D03*
|
||||||
|
D37*
|
||||||
|
X158525000Y-113271500D03*
|
||||||
|
X158925000Y-113271500D03*
|
||||||
|
X159325000Y-113271500D03*
|
||||||
|
X159725000Y-113271500D03*
|
||||||
|
X160125000Y-113271500D03*
|
||||||
|
X160525000Y-113271500D03*
|
||||||
|
X160925000Y-113271500D03*
|
||||||
|
X161325000Y-113271500D03*
|
||||||
|
X161725000Y-113271500D03*
|
||||||
|
X162125000Y-113271500D03*
|
||||||
|
X162525000Y-113271500D03*
|
||||||
|
X162925000Y-113271500D03*
|
||||||
|
X163325000Y-113271500D03*
|
||||||
|
X163725000Y-113271500D03*
|
||||||
|
X164125000Y-113271500D03*
|
||||||
|
X164525000Y-113271500D03*
|
||||||
|
X164925000Y-113271500D03*
|
||||||
|
X165325000Y-113271500D03*
|
||||||
|
X165725000Y-113271500D03*
|
||||||
|
X166125000Y-113271500D03*
|
||||||
|
D36*
|
||||||
|
X167221500Y-112175000D03*
|
||||||
|
X167221500Y-111775000D03*
|
||||||
|
X167221500Y-111375000D03*
|
||||||
|
X167221500Y-110975000D03*
|
||||||
|
X167221500Y-110575000D03*
|
||||||
|
X167221500Y-110175000D03*
|
||||||
|
X167221500Y-109775000D03*
|
||||||
|
X167221500Y-109375000D03*
|
||||||
|
X167221500Y-108975000D03*
|
||||||
|
X167221500Y-108575000D03*
|
||||||
|
X167221500Y-108175000D03*
|
||||||
|
X167221500Y-107775000D03*
|
||||||
|
X167221500Y-107375000D03*
|
||||||
|
X167221500Y-106975000D03*
|
||||||
|
X167221500Y-106575000D03*
|
||||||
|
X167221500Y-106175000D03*
|
||||||
|
X167221500Y-105775000D03*
|
||||||
|
X167221500Y-105375000D03*
|
||||||
|
X167221500Y-104975000D03*
|
||||||
|
X167221500Y-104575000D03*
|
||||||
|
D37*
|
||||||
|
X166125000Y-103478500D03*
|
||||||
|
X165725000Y-103478500D03*
|
||||||
|
X165325000Y-103478500D03*
|
||||||
|
X164925000Y-103478500D03*
|
||||||
|
X164525000Y-103478500D03*
|
||||||
|
X164125000Y-103478500D03*
|
||||||
|
X163725000Y-103478500D03*
|
||||||
|
X163325000Y-103478500D03*
|
||||||
|
X162925000Y-103478500D03*
|
||||||
|
X162525000Y-103478500D03*
|
||||||
|
X162125000Y-103478500D03*
|
||||||
|
X161725000Y-103478500D03*
|
||||||
|
X161325000Y-103478500D03*
|
||||||
|
X160925000Y-103478500D03*
|
||||||
|
X160525000Y-103478500D03*
|
||||||
|
X160125000Y-103478500D03*
|
||||||
|
X159725000Y-103478500D03*
|
||||||
|
X159325000Y-103478500D03*
|
||||||
|
X158925000Y-103478500D03*
|
||||||
|
X158525000Y-103478500D03*
|
||||||
|
D38*
|
||||||
|
X161475000Y-107525000D03*
|
||||||
|
X161475000Y-108375000D03*
|
||||||
|
X161475000Y-109225000D03*
|
||||||
|
X162325000Y-107525000D03*
|
||||||
|
X162325000Y-108375000D03*
|
||||||
|
D39*
|
||||||
|
X162325000Y-108375000D03*
|
||||||
|
D38*
|
||||||
|
X162325000Y-109225000D03*
|
||||||
|
X163175000Y-107525000D03*
|
||||||
|
X163175000Y-108375000D03*
|
||||||
|
X163175000Y-109225000D03*
|
||||||
|
%TD*%
|
||||||
|
D11*
|
||||||
|
%TO.C,10*%
|
||||||
|
X137310000Y-103400000D03*
|
||||||
|
D12*
|
||||||
|
X134770000Y-103400000D03*
|
||||||
|
X132230000Y-103400000D03*
|
||||||
|
X129690000Y-103400000D03*
|
||||||
|
%TD*%
|
||||||
|
D11*
|
||||||
|
%TO.C,4*%
|
||||||
|
X137240000Y-86600000D03*
|
||||||
|
D12*
|
||||||
|
X134700000Y-86600000D03*
|
||||||
|
X132160000Y-86600000D03*
|
||||||
|
X129620000Y-86600000D03*
|
||||||
|
%TD*%
|
||||||
|
M02*
|
||||||
@@ -0,0 +1,639 @@
|
|||||||
|
%TF.GenerationSoftware,KiCad,Pcbnew,9.0.7*%
|
||||||
|
%TF.CreationDate,2026-01-13T21:49:27+02:00*%
|
||||||
|
%TF.ProjectId,Servo2350,53657276-6f32-4333-9530-2e6b69636164,rev?*%
|
||||||
|
%TF.SameCoordinates,Original*%
|
||||||
|
%TF.FileFunction,Paste,Top*%
|
||||||
|
%TF.FilePolarity,Positive*%
|
||||||
|
%FSLAX46Y46*%
|
||||||
|
G04 Gerber Fmt 4.6, Leading zero omitted, Abs format (unit mm)*
|
||||||
|
G04 Created by KiCad (PCBNEW 9.0.7) date 2026-01-13 21:49:27*
|
||||||
|
%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.010000*%
|
||||||
|
%ADD11RoundRect,0.066250X-0.418750X-0.198750X0.418750X-0.198750X0.418750X0.198750X-0.418750X0.198750X0*%
|
||||||
|
%ADD12RoundRect,0.135000X-0.135000X-0.185000X0.135000X-0.185000X0.135000X0.185000X-0.135000X0.185000X0*%
|
||||||
|
%ADD13RoundRect,0.135000X0.135000X0.185000X-0.135000X0.185000X-0.135000X-0.185000X0.135000X-0.185000X0*%
|
||||||
|
%ADD14RoundRect,0.140000X0.140000X0.170000X-0.140000X0.170000X-0.140000X-0.170000X0.140000X-0.170000X0*%
|
||||||
|
%ADD15RoundRect,0.140000X0.170000X-0.140000X0.170000X0.140000X-0.170000X0.140000X-0.170000X-0.140000X0*%
|
||||||
|
%ADD16R,0.475000X0.250000*%
|
||||||
|
%ADD17R,0.250000X0.475000*%
|
||||||
|
%ADD18RoundRect,0.265000X1.730000X0.795000X-1.730000X0.795000X-1.730000X-0.795000X1.730000X-0.795000X0*%
|
||||||
|
%ADD19RoundRect,0.135000X-0.185000X0.135000X-0.185000X-0.135000X0.185000X-0.135000X0.185000X0.135000X0*%
|
||||||
|
%ADD20RoundRect,0.140000X-0.140000X-0.170000X0.140000X-0.170000X0.140000X0.170000X-0.140000X0.170000X0*%
|
||||||
|
%ADD21RoundRect,0.147500X-0.172500X0.147500X-0.172500X-0.147500X0.172500X-0.147500X0.172500X0.147500X0*%
|
||||||
|
%ADD22RoundRect,0.140000X-0.170000X0.140000X-0.170000X-0.140000X0.170000X-0.140000X0.170000X0.140000X0*%
|
||||||
|
%ADD23RoundRect,0.060000X-0.890000X-0.180000X0.890000X-0.180000X0.890000X0.180000X-0.890000X0.180000X0*%
|
||||||
|
%ADD24R,1.050000X0.650000*%
|
||||||
|
%ADD25R,0.600000X1.240000*%
|
||||||
|
%ADD26R,0.300000X1.240000*%
|
||||||
|
%ADD27R,1.420000X0.580000*%
|
||||||
|
%ADD28R,1.050000X1.300000*%
|
||||||
|
%ADD29R,1.000000X1.000000*%
|
||||||
|
%ADD30R,0.780000X0.220000*%
|
||||||
|
%ADD31R,0.220000X0.780000*%
|
||||||
|
G04 APERTURE END LIST*
|
||||||
|
D10*
|
||||||
|
%TO.C,U2*%
|
||||||
|
X151000000Y-100975000D02*
|
||||||
|
X150450000Y-100975000D01*
|
||||||
|
X150450000Y-100775000D01*
|
||||||
|
X151000000Y-100775000D01*
|
||||||
|
X151000000Y-100975000D01*
|
||||||
|
G36*
|
||||||
|
X151000000Y-100975000D02*
|
||||||
|
G01*
|
||||||
|
X150450000Y-100975000D01*
|
||||||
|
X150450000Y-100775000D01*
|
||||||
|
X151000000Y-100775000D01*
|
||||||
|
X151000000Y-100975000D01*
|
||||||
|
G37*
|
||||||
|
X151000000Y-101475000D02*
|
||||||
|
X150450000Y-101475000D01*
|
||||||
|
X150450000Y-101275000D01*
|
||||||
|
X151000000Y-101275000D01*
|
||||||
|
X151000000Y-101475000D01*
|
||||||
|
G36*
|
||||||
|
X151000000Y-101475000D02*
|
||||||
|
G01*
|
||||||
|
X150450000Y-101475000D01*
|
||||||
|
X150450000Y-101275000D01*
|
||||||
|
X151000000Y-101275000D01*
|
||||||
|
X151000000Y-101475000D01*
|
||||||
|
G37*
|
||||||
|
X151000000Y-101975000D02*
|
||||||
|
X150450000Y-101975000D01*
|
||||||
|
X150450000Y-101775000D01*
|
||||||
|
X151000000Y-101775000D01*
|
||||||
|
X151000000Y-101975000D01*
|
||||||
|
G36*
|
||||||
|
X151000000Y-101975000D02*
|
||||||
|
G01*
|
||||||
|
X150450000Y-101975000D01*
|
||||||
|
X150450000Y-101775000D01*
|
||||||
|
X151000000Y-101775000D01*
|
||||||
|
X151000000Y-101975000D01*
|
||||||
|
G37*
|
||||||
|
X151000000Y-102475000D02*
|
||||||
|
X150450000Y-102475000D01*
|
||||||
|
X150450000Y-102275000D01*
|
||||||
|
X151000000Y-102275000D01*
|
||||||
|
X151000000Y-102475000D01*
|
||||||
|
G36*
|
||||||
|
X151000000Y-102475000D02*
|
||||||
|
G01*
|
||||||
|
X150450000Y-102475000D01*
|
||||||
|
X150450000Y-102275000D01*
|
||||||
|
X151000000Y-102275000D01*
|
||||||
|
X151000000Y-102475000D01*
|
||||||
|
G37*
|
||||||
|
X152200000Y-101525000D02*
|
||||||
|
X152000000Y-101525000D01*
|
||||||
|
X152000000Y-101025000D01*
|
||||||
|
X152200000Y-101025000D01*
|
||||||
|
X152200000Y-101525000D01*
|
||||||
|
G36*
|
||||||
|
X152200000Y-101525000D02*
|
||||||
|
G01*
|
||||||
|
X152000000Y-101525000D01*
|
||||||
|
X152000000Y-101025000D01*
|
||||||
|
X152200000Y-101025000D01*
|
||||||
|
X152200000Y-101525000D01*
|
||||||
|
G37*
|
||||||
|
X152200000Y-102225000D02*
|
||||||
|
X152000000Y-102225000D01*
|
||||||
|
X152000000Y-101725000D01*
|
||||||
|
X152200000Y-101725000D01*
|
||||||
|
X152200000Y-102225000D01*
|
||||||
|
G36*
|
||||||
|
X152200000Y-102225000D02*
|
||||||
|
G01*
|
||||||
|
X152000000Y-102225000D01*
|
||||||
|
X152000000Y-101725000D01*
|
||||||
|
X152200000Y-101725000D01*
|
||||||
|
X152200000Y-102225000D01*
|
||||||
|
G37*
|
||||||
|
X153750000Y-100975000D02*
|
||||||
|
X153200000Y-100975000D01*
|
||||||
|
X153200000Y-100775000D01*
|
||||||
|
X153750000Y-100775000D01*
|
||||||
|
X153750000Y-100975000D01*
|
||||||
|
G36*
|
||||||
|
X153750000Y-100975000D02*
|
||||||
|
G01*
|
||||||
|
X153200000Y-100975000D01*
|
||||||
|
X153200000Y-100775000D01*
|
||||||
|
X153750000Y-100775000D01*
|
||||||
|
X153750000Y-100975000D01*
|
||||||
|
G37*
|
||||||
|
X153750000Y-101475000D02*
|
||||||
|
X153200000Y-101475000D01*
|
||||||
|
X153200000Y-101275000D01*
|
||||||
|
X153750000Y-101275000D01*
|
||||||
|
X153750000Y-101475000D01*
|
||||||
|
G36*
|
||||||
|
X153750000Y-101475000D02*
|
||||||
|
G01*
|
||||||
|
X153200000Y-101475000D01*
|
||||||
|
X153200000Y-101275000D01*
|
||||||
|
X153750000Y-101275000D01*
|
||||||
|
X153750000Y-101475000D01*
|
||||||
|
G37*
|
||||||
|
X153750000Y-101975000D02*
|
||||||
|
X153200000Y-101975000D01*
|
||||||
|
X153200000Y-101775000D01*
|
||||||
|
X153750000Y-101775000D01*
|
||||||
|
X153750000Y-101975000D01*
|
||||||
|
G36*
|
||||||
|
X153750000Y-101975000D02*
|
||||||
|
G01*
|
||||||
|
X153200000Y-101975000D01*
|
||||||
|
X153200000Y-101775000D01*
|
||||||
|
X153750000Y-101775000D01*
|
||||||
|
X153750000Y-101975000D01*
|
||||||
|
G37*
|
||||||
|
X153750000Y-102475000D02*
|
||||||
|
X153200000Y-102475000D01*
|
||||||
|
X153200000Y-102275000D01*
|
||||||
|
X153750000Y-102275000D01*
|
||||||
|
X153750000Y-102475000D01*
|
||||||
|
G36*
|
||||||
|
X153750000Y-102475000D02*
|
||||||
|
G01*
|
||||||
|
X153200000Y-102475000D01*
|
||||||
|
X153200000Y-102275000D01*
|
||||||
|
X153750000Y-102275000D01*
|
||||||
|
X153750000Y-102475000D01*
|
||||||
|
G37*
|
||||||
|
%TD*%
|
||||||
|
D11*
|
||||||
|
%TO.C,RN3*%
|
||||||
|
X144492500Y-110100000D03*
|
||||||
|
X144492500Y-110900000D03*
|
||||||
|
X144492500Y-111700000D03*
|
||||||
|
X144492500Y-112500000D03*
|
||||||
|
X146242500Y-112500000D03*
|
||||||
|
X146242500Y-111700000D03*
|
||||||
|
X146242500Y-110900000D03*
|
||||||
|
X146242500Y-110100000D03*
|
||||||
|
%TD*%
|
||||||
|
D12*
|
||||||
|
%TO.C,R12*%
|
||||||
|
X171511500Y-94675000D03*
|
||||||
|
X172531500Y-94675000D03*
|
||||||
|
%TD*%
|
||||||
|
D13*
|
||||||
|
%TO.C,R1*%
|
||||||
|
X173610000Y-98500000D03*
|
||||||
|
X172590000Y-98500000D03*
|
||||||
|
%TD*%
|
||||||
|
D14*
|
||||||
|
%TO.C,C12*%
|
||||||
|
X153080000Y-108675000D03*
|
||||||
|
X152120000Y-108675000D03*
|
||||||
|
%TD*%
|
||||||
|
D15*
|
||||||
|
%TO.C,C14*%
|
||||||
|
X166750000Y-99180000D03*
|
||||||
|
X166750000Y-98220000D03*
|
||||||
|
%TD*%
|
||||||
|
D11*
|
||||||
|
%TO.C,RN2*%
|
||||||
|
X144550000Y-104500000D03*
|
||||||
|
X144550000Y-105300000D03*
|
||||||
|
X144550000Y-106100000D03*
|
||||||
|
X144550000Y-106900000D03*
|
||||||
|
X146300000Y-106900000D03*
|
||||||
|
X146300000Y-106100000D03*
|
||||||
|
X146300000Y-105300000D03*
|
||||||
|
X146300000Y-104500000D03*
|
||||||
|
%TD*%
|
||||||
|
D12*
|
||||||
|
%TO.C,R7*%
|
||||||
|
X170743500Y-131590000D03*
|
||||||
|
X171763500Y-131590000D03*
|
||||||
|
%TD*%
|
||||||
|
D14*
|
||||||
|
%TO.C,C3*%
|
||||||
|
X153080000Y-106150000D03*
|
||||||
|
X152120000Y-106150000D03*
|
||||||
|
%TD*%
|
||||||
|
D16*
|
||||||
|
%TO.C,U5*%
|
||||||
|
X170487500Y-119450000D03*
|
||||||
|
X170487500Y-119950000D03*
|
||||||
|
X170487500Y-120450000D03*
|
||||||
|
X170487500Y-120950000D03*
|
||||||
|
D17*
|
||||||
|
X171150000Y-121112500D03*
|
||||||
|
X171650000Y-121112500D03*
|
||||||
|
X172150000Y-121112500D03*
|
||||||
|
D16*
|
||||||
|
X172812500Y-120950000D03*
|
||||||
|
X172812500Y-120450000D03*
|
||||||
|
X172812500Y-119950000D03*
|
||||||
|
X172812500Y-119450000D03*
|
||||||
|
D17*
|
||||||
|
X172150000Y-119287500D03*
|
||||||
|
X171650000Y-119287500D03*
|
||||||
|
X171150000Y-119287500D03*
|
||||||
|
%TD*%
|
||||||
|
D18*
|
||||||
|
%TO.C,C26*%
|
||||||
|
X146565000Y-132800000D03*
|
||||||
|
X138085000Y-132800000D03*
|
||||||
|
%TD*%
|
||||||
|
D13*
|
||||||
|
%TO.C,R11*%
|
||||||
|
X164210000Y-78635000D03*
|
||||||
|
X163190000Y-78635000D03*
|
||||||
|
%TD*%
|
||||||
|
D19*
|
||||||
|
%TO.C,R9*%
|
||||||
|
X158100000Y-120990000D03*
|
||||||
|
X158100000Y-122010000D03*
|
||||||
|
%TD*%
|
||||||
|
D20*
|
||||||
|
%TO.C,C22*%
|
||||||
|
X170970000Y-123300000D03*
|
||||||
|
X171930000Y-123300000D03*
|
||||||
|
%TD*%
|
||||||
|
D11*
|
||||||
|
%TO.C,RN5*%
|
||||||
|
X144317500Y-121400000D03*
|
||||||
|
X144317500Y-122200000D03*
|
||||||
|
X144317500Y-123000000D03*
|
||||||
|
X144317500Y-123800000D03*
|
||||||
|
X146067500Y-123800000D03*
|
||||||
|
X146067500Y-123000000D03*
|
||||||
|
X146067500Y-122200000D03*
|
||||||
|
X146067500Y-121400000D03*
|
||||||
|
%TD*%
|
||||||
|
D15*
|
||||||
|
%TO.C,C15*%
|
||||||
|
X164950000Y-99180000D03*
|
||||||
|
X164950000Y-98220000D03*
|
||||||
|
%TD*%
|
||||||
|
D14*
|
||||||
|
%TO.C,C18*%
|
||||||
|
X154530000Y-99200000D03*
|
||||||
|
X153570000Y-99200000D03*
|
||||||
|
%TD*%
|
||||||
|
D21*
|
||||||
|
%TO.C,LED2*%
|
||||||
|
X158100000Y-123815000D03*
|
||||||
|
X158100000Y-124785000D03*
|
||||||
|
%TD*%
|
||||||
|
D22*
|
||||||
|
%TO.C,C20*%
|
||||||
|
X168545000Y-81305000D03*
|
||||||
|
X168545000Y-82265000D03*
|
||||||
|
%TD*%
|
||||||
|
D12*
|
||||||
|
%TO.C,R10*%
|
||||||
|
X167900000Y-78735000D03*
|
||||||
|
X168920000Y-78735000D03*
|
||||||
|
%TD*%
|
||||||
|
D19*
|
||||||
|
%TO.C,R5*%
|
||||||
|
X151650000Y-98190000D03*
|
||||||
|
X151650000Y-99210000D03*
|
||||||
|
%TD*%
|
||||||
|
D20*
|
||||||
|
%TO.C,C4*%
|
||||||
|
X171670000Y-104800000D03*
|
||||||
|
X172630000Y-104800000D03*
|
||||||
|
%TD*%
|
||||||
|
D14*
|
||||||
|
%TO.C,C17*%
|
||||||
|
X163455000Y-122250000D03*
|
||||||
|
X162495000Y-122250000D03*
|
||||||
|
%TD*%
|
||||||
|
D11*
|
||||||
|
%TO.C,RN4*%
|
||||||
|
X144392500Y-115800000D03*
|
||||||
|
X144392500Y-116600000D03*
|
||||||
|
X144392500Y-117400000D03*
|
||||||
|
X144392500Y-118200000D03*
|
||||||
|
X146142500Y-118200000D03*
|
||||||
|
X146142500Y-117400000D03*
|
||||||
|
X146142500Y-116600000D03*
|
||||||
|
X146142500Y-115800000D03*
|
||||||
|
%TD*%
|
||||||
|
D23*
|
||||||
|
%TO.C,U4*%
|
||||||
|
X148690000Y-83900000D03*
|
||||||
|
X148690000Y-84550000D03*
|
||||||
|
X148690000Y-85200000D03*
|
||||||
|
X148690000Y-85850000D03*
|
||||||
|
X148690000Y-86500000D03*
|
||||||
|
X148690000Y-87150000D03*
|
||||||
|
X148690000Y-87800000D03*
|
||||||
|
X148690000Y-88450000D03*
|
||||||
|
X148690000Y-89100000D03*
|
||||||
|
X148690000Y-89750000D03*
|
||||||
|
X148690000Y-90400000D03*
|
||||||
|
X148690000Y-91050000D03*
|
||||||
|
X155700000Y-91050000D03*
|
||||||
|
X155700000Y-90400000D03*
|
||||||
|
X155700000Y-89750000D03*
|
||||||
|
X155700000Y-89100000D03*
|
||||||
|
X155700000Y-88450000D03*
|
||||||
|
X155700000Y-87800000D03*
|
||||||
|
X155700000Y-87150000D03*
|
||||||
|
X155700000Y-86500000D03*
|
||||||
|
X155700000Y-85850000D03*
|
||||||
|
X155700000Y-85200000D03*
|
||||||
|
X155700000Y-84550000D03*
|
||||||
|
X155700000Y-83900000D03*
|
||||||
|
%TD*%
|
||||||
|
D13*
|
||||||
|
%TO.C,R6*%
|
||||||
|
X149960000Y-99200000D03*
|
||||||
|
X148940000Y-99200000D03*
|
||||||
|
%TD*%
|
||||||
|
D24*
|
||||||
|
%TO.C,BOOT*%
|
||||||
|
X154725000Y-70260000D03*
|
||||||
|
X158875000Y-70260000D03*
|
||||||
|
X154725000Y-72410000D03*
|
||||||
|
X158875000Y-72410000D03*
|
||||||
|
%TD*%
|
||||||
|
%TO.C,RESET*%
|
||||||
|
X173975000Y-136665000D03*
|
||||||
|
X169825000Y-136665000D03*
|
||||||
|
X173975000Y-134515000D03*
|
||||||
|
X169825000Y-134515000D03*
|
||||||
|
%TD*%
|
||||||
|
D20*
|
||||||
|
%TO.C,C9*%
|
||||||
|
X171670000Y-108600000D03*
|
||||||
|
X172630000Y-108600000D03*
|
||||||
|
%TD*%
|
||||||
|
D15*
|
||||||
|
%TO.C,C5*%
|
||||||
|
X156450000Y-99180000D03*
|
||||||
|
X156450000Y-98220000D03*
|
||||||
|
%TD*%
|
||||||
|
D11*
|
||||||
|
%TO.C,RN1*%
|
||||||
|
X144550000Y-98900000D03*
|
||||||
|
X144550000Y-99700000D03*
|
||||||
|
X144550000Y-100500000D03*
|
||||||
|
X144550000Y-101300000D03*
|
||||||
|
X146300000Y-101300000D03*
|
||||||
|
X146300000Y-100500000D03*
|
||||||
|
X146300000Y-99700000D03*
|
||||||
|
X146300000Y-98900000D03*
|
||||||
|
%TD*%
|
||||||
|
D22*
|
||||||
|
%TO.C,C16*%
|
||||||
|
X159875000Y-118270000D03*
|
||||||
|
X159875000Y-119230000D03*
|
||||||
|
%TD*%
|
||||||
|
D14*
|
||||||
|
%TO.C,C2*%
|
||||||
|
X153105000Y-111200000D03*
|
||||||
|
X152145000Y-111200000D03*
|
||||||
|
%TD*%
|
||||||
|
D22*
|
||||||
|
%TO.C,C6*%
|
||||||
|
X156150000Y-117720000D03*
|
||||||
|
X156150000Y-118680000D03*
|
||||||
|
%TD*%
|
||||||
|
D20*
|
||||||
|
%TO.C,C8*%
|
||||||
|
X171670000Y-112200000D03*
|
||||||
|
X172630000Y-112200000D03*
|
||||||
|
%TD*%
|
||||||
|
D19*
|
||||||
|
%TO.C,R8*%
|
||||||
|
X155700000Y-120990000D03*
|
||||||
|
X155700000Y-122010000D03*
|
||||||
|
%TD*%
|
||||||
|
D20*
|
||||||
|
%TO.C,C13*%
|
||||||
|
X172620000Y-100500000D03*
|
||||||
|
X173580000Y-100500000D03*
|
||||||
|
%TD*%
|
||||||
|
D15*
|
||||||
|
%TO.C,C1*%
|
||||||
|
X158150000Y-99180000D03*
|
||||||
|
X158150000Y-98220000D03*
|
||||||
|
%TD*%
|
||||||
|
D20*
|
||||||
|
%TO.C,C21*%
|
||||||
|
X155495000Y-81975000D03*
|
||||||
|
X156455000Y-81975000D03*
|
||||||
|
%TD*%
|
||||||
|
D21*
|
||||||
|
%TO.C,LED1*%
|
||||||
|
X155700000Y-123815000D03*
|
||||||
|
X155700000Y-124785000D03*
|
||||||
|
%TD*%
|
||||||
|
D15*
|
||||||
|
%TO.C,C7*%
|
||||||
|
X159850000Y-99180000D03*
|
||||||
|
X159850000Y-98220000D03*
|
||||||
|
%TD*%
|
||||||
|
D22*
|
||||||
|
%TO.C,C10*%
|
||||||
|
X167850000Y-118220000D03*
|
||||||
|
X167850000Y-119180000D03*
|
||||||
|
%TD*%
|
||||||
|
%TO.C,C24*%
|
||||||
|
X158300000Y-117720000D03*
|
||||||
|
X158300000Y-118680000D03*
|
||||||
|
%TD*%
|
||||||
|
D21*
|
||||||
|
%TO.C,L1*%
|
||||||
|
X168550000Y-98215000D03*
|
||||||
|
X168550000Y-99185000D03*
|
||||||
|
%TD*%
|
||||||
|
D19*
|
||||||
|
%TO.C,R2*%
|
||||||
|
X165775000Y-118140000D03*
|
||||||
|
X165775000Y-119160000D03*
|
||||||
|
%TD*%
|
||||||
|
%TO.C,R4*%
|
||||||
|
X163250000Y-98180000D03*
|
||||||
|
X163250000Y-99200000D03*
|
||||||
|
%TD*%
|
||||||
|
D14*
|
||||||
|
%TO.C,C23*%
|
||||||
|
X172030000Y-125200000D03*
|
||||||
|
X171070000Y-125200000D03*
|
||||||
|
%TD*%
|
||||||
|
D25*
|
||||||
|
%TO.C,J3*%
|
||||||
|
X169000000Y-75525000D03*
|
||||||
|
X168200000Y-75525000D03*
|
||||||
|
D26*
|
||||||
|
X167050000Y-75525000D03*
|
||||||
|
X166050000Y-75525000D03*
|
||||||
|
X165550000Y-75525000D03*
|
||||||
|
X164550000Y-75525000D03*
|
||||||
|
D25*
|
||||||
|
X163400000Y-75525000D03*
|
||||||
|
X162600000Y-75525000D03*
|
||||||
|
X162600000Y-75525000D03*
|
||||||
|
X163400000Y-75525000D03*
|
||||||
|
D26*
|
||||||
|
X164050000Y-75525000D03*
|
||||||
|
X165050000Y-75525000D03*
|
||||||
|
X166550000Y-75525000D03*
|
||||||
|
X167550000Y-75525000D03*
|
||||||
|
D25*
|
||||||
|
X168200000Y-75525000D03*
|
||||||
|
X169000000Y-75525000D03*
|
||||||
|
%TD*%
|
||||||
|
D20*
|
||||||
|
%TO.C,C25*%
|
||||||
|
X171620000Y-103000000D03*
|
||||||
|
X172580000Y-103000000D03*
|
||||||
|
%TD*%
|
||||||
|
%TO.C,C11*%
|
||||||
|
X171670000Y-106700000D03*
|
||||||
|
X172630000Y-106700000D03*
|
||||||
|
%TD*%
|
||||||
|
D12*
|
||||||
|
%TO.C,R13*%
|
||||||
|
X171511500Y-92775000D03*
|
||||||
|
X172531500Y-92775000D03*
|
||||||
|
%TD*%
|
||||||
|
D27*
|
||||||
|
%TO.C,U3*%
|
||||||
|
X163755000Y-81285000D03*
|
||||||
|
X163755000Y-82235000D03*
|
||||||
|
X163755000Y-83185000D03*
|
||||||
|
X166045000Y-83185000D03*
|
||||||
|
X166045000Y-81285000D03*
|
||||||
|
%TD*%
|
||||||
|
D22*
|
||||||
|
%TO.C,C19*%
|
||||||
|
X161345000Y-81305000D03*
|
||||||
|
X161345000Y-82265000D03*
|
||||||
|
%TD*%
|
||||||
|
D28*
|
||||||
|
%TO.C,Y1*%
|
||||||
|
X162000000Y-117600000D03*
|
||||||
|
X162000000Y-119900000D03*
|
||||||
|
X163750000Y-119900000D03*
|
||||||
|
X163750000Y-117600000D03*
|
||||||
|
%TD*%
|
||||||
|
D19*
|
||||||
|
%TO.C,R3*%
|
||||||
|
X161550000Y-98190000D03*
|
||||||
|
X161550000Y-99210000D03*
|
||||||
|
%TD*%
|
||||||
|
D29*
|
||||||
|
%TO.C,U1*%
|
||||||
|
X161425000Y-107475000D03*
|
||||||
|
X161425000Y-109275000D03*
|
||||||
|
X163225000Y-107475000D03*
|
||||||
|
X163225000Y-109275000D03*
|
||||||
|
D30*
|
||||||
|
X157428500Y-104575000D03*
|
||||||
|
X157428500Y-104975000D03*
|
||||||
|
X157428500Y-105375000D03*
|
||||||
|
X157428500Y-105775000D03*
|
||||||
|
X157428500Y-106175000D03*
|
||||||
|
X157428500Y-106575000D03*
|
||||||
|
X157428500Y-106975000D03*
|
||||||
|
X157428500Y-107375000D03*
|
||||||
|
X157428500Y-107775000D03*
|
||||||
|
X157428500Y-108175000D03*
|
||||||
|
X157428500Y-108575000D03*
|
||||||
|
X157428500Y-108975000D03*
|
||||||
|
X157428500Y-109375000D03*
|
||||||
|
X157428500Y-109775000D03*
|
||||||
|
X157428500Y-110175000D03*
|
||||||
|
X157428500Y-110575000D03*
|
||||||
|
X157428500Y-110975000D03*
|
||||||
|
X157428500Y-111375000D03*
|
||||||
|
X157428500Y-111775000D03*
|
||||||
|
X157428500Y-112175000D03*
|
||||||
|
D31*
|
||||||
|
X158525000Y-113271500D03*
|
||||||
|
X158925000Y-113271500D03*
|
||||||
|
X159325000Y-113271500D03*
|
||||||
|
X159725000Y-113271500D03*
|
||||||
|
X160125000Y-113271500D03*
|
||||||
|
X160525000Y-113271500D03*
|
||||||
|
X160925000Y-113271500D03*
|
||||||
|
X161325000Y-113271500D03*
|
||||||
|
X161725000Y-113271500D03*
|
||||||
|
X162125000Y-113271500D03*
|
||||||
|
X162525000Y-113271500D03*
|
||||||
|
X162925000Y-113271500D03*
|
||||||
|
X163325000Y-113271500D03*
|
||||||
|
X163725000Y-113271500D03*
|
||||||
|
X164125000Y-113271500D03*
|
||||||
|
X164525000Y-113271500D03*
|
||||||
|
X164925000Y-113271500D03*
|
||||||
|
X165325000Y-113271500D03*
|
||||||
|
X165725000Y-113271500D03*
|
||||||
|
X166125000Y-113271500D03*
|
||||||
|
D30*
|
||||||
|
X167221500Y-112175000D03*
|
||||||
|
X167221500Y-111775000D03*
|
||||||
|
X167221500Y-111375000D03*
|
||||||
|
X167221500Y-110975000D03*
|
||||||
|
X167221500Y-110575000D03*
|
||||||
|
X167221500Y-110175000D03*
|
||||||
|
X167221500Y-109775000D03*
|
||||||
|
X167221500Y-109375000D03*
|
||||||
|
X167221500Y-108975000D03*
|
||||||
|
X167221500Y-108575000D03*
|
||||||
|
X167221500Y-108175000D03*
|
||||||
|
X167221500Y-107775000D03*
|
||||||
|
X167221500Y-107375000D03*
|
||||||
|
X167221500Y-106975000D03*
|
||||||
|
X167221500Y-106575000D03*
|
||||||
|
X167221500Y-106175000D03*
|
||||||
|
X167221500Y-105775000D03*
|
||||||
|
X167221500Y-105375000D03*
|
||||||
|
X167221500Y-104975000D03*
|
||||||
|
X167221500Y-104575000D03*
|
||||||
|
D31*
|
||||||
|
X166125000Y-103478500D03*
|
||||||
|
X165725000Y-103478500D03*
|
||||||
|
X165325000Y-103478500D03*
|
||||||
|
X164925000Y-103478500D03*
|
||||||
|
X164525000Y-103478500D03*
|
||||||
|
X164125000Y-103478500D03*
|
||||||
|
X163725000Y-103478500D03*
|
||||||
|
X163325000Y-103478500D03*
|
||||||
|
X162925000Y-103478500D03*
|
||||||
|
X162525000Y-103478500D03*
|
||||||
|
X162125000Y-103478500D03*
|
||||||
|
X161725000Y-103478500D03*
|
||||||
|
X161325000Y-103478500D03*
|
||||||
|
X160925000Y-103478500D03*
|
||||||
|
X160525000Y-103478500D03*
|
||||||
|
X160125000Y-103478500D03*
|
||||||
|
X159725000Y-103478500D03*
|
||||||
|
X159325000Y-103478500D03*
|
||||||
|
X158925000Y-103478500D03*
|
||||||
|
X158525000Y-103478500D03*
|
||||||
|
%TD*%
|
||||||
|
M02*
|
||||||
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,17 @@
|
|||||||
|
M48
|
||||||
|
; DRILL file {KiCad 9.0.7} date 2026-01-13T21:49:25+0200
|
||||||
|
; FORMAT={-:-/ absolute / metric / decimal}
|
||||||
|
; #@! TF.CreationDate,2026-01-13T21:49:25+02:00
|
||||||
|
; #@! TF.GenerationSoftware,Kicad,Pcbnew,9.0.7
|
||||||
|
; #@! TF.FileFunction,NonPlated,1,4,NPTH
|
||||||
|
FMAT,2
|
||||||
|
METRIC
|
||||||
|
; #@! TA.AperFunction,NonPlated,NPTH,ComponentDrill
|
||||||
|
T1C0.650
|
||||||
|
%
|
||||||
|
G90
|
||||||
|
G05
|
||||||
|
T1
|
||||||
|
X162.91Y-74.405
|
||||||
|
X168.69Y-74.405
|
||||||
|
M30
|
||||||
@@ -0,0 +1,314 @@
|
|||||||
|
M48
|
||||||
|
; DRILL file {KiCad 9.0.7} date 2026-01-13T21:49:25+0200
|
||||||
|
; FORMAT={-:-/ absolute / metric / decimal}
|
||||||
|
; #@! TF.CreationDate,2026-01-13T21:49:25+02:00
|
||||||
|
; #@! TF.GenerationSoftware,Kicad,Pcbnew,9.0.7
|
||||||
|
; #@! TF.FileFunction,Plated,1,4,PTH
|
||||||
|
FMAT,2
|
||||||
|
METRIC
|
||||||
|
; #@! TA.AperFunction,Plated,PTH,ViaDrill
|
||||||
|
T1C0.250
|
||||||
|
; #@! TA.AperFunction,Plated,PTH,ComponentDrill
|
||||||
|
T2C0.250
|
||||||
|
; #@! TA.AperFunction,Plated,PTH,ComponentDrill
|
||||||
|
T3C0.600
|
||||||
|
; #@! TA.AperFunction,Plated,PTH,ComponentDrill
|
||||||
|
T4C1.000
|
||||||
|
; #@! TA.AperFunction,Plated,PTH,ComponentDrill
|
||||||
|
T5C1.300
|
||||||
|
%
|
||||||
|
G90
|
||||||
|
G05
|
||||||
|
T1
|
||||||
|
X131.25Y-132.15
|
||||||
|
X143.0Y-100.5
|
||||||
|
X143.0Y-101.3
|
||||||
|
X143.0Y-104.5
|
||||||
|
X143.0Y-105.3
|
||||||
|
X143.0Y-106.1
|
||||||
|
X143.0Y-106.9
|
||||||
|
X143.0Y-108.75
|
||||||
|
X143.0Y-110.1
|
||||||
|
X143.0Y-110.9
|
||||||
|
X143.0Y-111.7
|
||||||
|
X143.0Y-112.5
|
||||||
|
X143.0Y-115.8
|
||||||
|
X143.0Y-116.6
|
||||||
|
X143.0Y-117.4
|
||||||
|
X143.0Y-118.2
|
||||||
|
X143.1Y-121.4
|
||||||
|
X143.1Y-122.2
|
||||||
|
X143.2Y-99.6
|
||||||
|
X144.4Y-97.4
|
||||||
|
X144.7Y-85.5
|
||||||
|
X145.7Y-89.9
|
||||||
|
X146.4Y-91.1
|
||||||
|
X146.75Y-126.25
|
||||||
|
X147.5Y-98.9
|
||||||
|
X147.7Y-92.25
|
||||||
|
X147.8Y-97.35
|
||||||
|
X148.45Y-100.45
|
||||||
|
X148.45Y-102.075
|
||||||
|
X148.75Y-117.75
|
||||||
|
X149.4Y-100.5
|
||||||
|
X149.85Y-101.1
|
||||||
|
X150.0Y-117.0
|
||||||
|
X150.1Y-102.5
|
||||||
|
X150.3Y-106.15
|
||||||
|
X150.55Y-108.7
|
||||||
|
X150.6Y-71.25
|
||||||
|
X150.65Y-96.85
|
||||||
|
X150.725Y-115.775
|
||||||
|
X151.2Y-112.65
|
||||||
|
X151.6Y-114.725
|
||||||
|
X152.45Y-113.75
|
||||||
|
X152.55Y-99.85
|
||||||
|
X152.7Y-112.1
|
||||||
|
X152.75Y-77.65
|
||||||
|
X153.275Y-112.875
|
||||||
|
X153.9Y-112.025
|
||||||
|
X154.0Y-91.6
|
||||||
|
X154.1Y-90.4
|
||||||
|
X154.475Y-102.525
|
||||||
|
X154.5Y-100.25
|
||||||
|
X154.6Y-101.2
|
||||||
|
X154.6Y-118.75
|
||||||
|
X154.6Y-123.05
|
||||||
|
X154.65Y-120.1
|
||||||
|
X154.75Y-117.6
|
||||||
|
X155.05Y-116.4
|
||||||
|
X155.2Y-101.8
|
||||||
|
X155.7Y-82.9
|
||||||
|
X156.1Y-115.8
|
||||||
|
X156.7Y-76.1
|
||||||
|
X156.7Y-100.0
|
||||||
|
X156.85Y-96.55
|
||||||
|
X156.9Y-115.5
|
||||||
|
X156.9Y-124.8
|
||||||
|
X157.9Y-89.75
|
||||||
|
X158.4Y-106.2
|
||||||
|
X158.4Y-110.6
|
||||||
|
X158.5Y-111.4
|
||||||
|
X158.8Y-109.55
|
||||||
|
X158.9Y-99.95
|
||||||
|
X158.9Y-117.15
|
||||||
|
X160.05Y-116.55
|
||||||
|
X160.15Y-99.85
|
||||||
|
X160.425Y-115.575
|
||||||
|
X160.525Y-104.3
|
||||||
|
X160.75Y-121.75
|
||||||
|
X160.8Y-102.4
|
||||||
|
X161.325Y-104.9
|
||||||
|
X161.45Y-86.15
|
||||||
|
X161.6Y-97.1
|
||||||
|
X161.65Y-112.0
|
||||||
|
X161.7Y-102.5
|
||||||
|
X162.0Y-101.4
|
||||||
|
X162.1Y-104.6
|
||||||
|
X162.5Y-79.6
|
||||||
|
X162.65Y-111.95
|
||||||
|
X163.3Y-97.1
|
||||||
|
X163.3Y-104.7
|
||||||
|
X163.7Y-111.95
|
||||||
|
X164.15Y-104.95
|
||||||
|
X164.55Y-105.65
|
||||||
|
X164.7Y-112.0
|
||||||
|
X165.0Y-79.5
|
||||||
|
X165.0Y-115.05
|
||||||
|
X165.1Y-114.15
|
||||||
|
X165.15Y-94.35
|
||||||
|
X165.3Y-112.3
|
||||||
|
X165.4Y-89.55
|
||||||
|
X165.45Y-104.9
|
||||||
|
X165.9Y-110.15
|
||||||
|
X165.95Y-112.0
|
||||||
|
X166.1Y-116.1
|
||||||
|
X166.1Y-120.6
|
||||||
|
X166.3Y-77.75
|
||||||
|
X166.3Y-100.6
|
||||||
|
X166.35Y-97.2
|
||||||
|
X166.4Y-107.8
|
||||||
|
X166.9Y-116.1
|
||||||
|
X166.9Y-120.1
|
||||||
|
X167.45Y-128.15
|
||||||
|
X167.85Y-81.3
|
||||||
|
X167.85Y-120.2
|
||||||
|
X168.3Y-105.55
|
||||||
|
X168.45Y-101.65
|
||||||
|
X168.5Y-79.65
|
||||||
|
X168.5Y-104.55
|
||||||
|
X168.7Y-110.95
|
||||||
|
X168.8Y-110.2
|
||||||
|
X169.0Y-105.75
|
||||||
|
X169.6Y-116.55
|
||||||
|
X169.9Y-105.75
|
||||||
|
X170.0Y-122.5
|
||||||
|
X170.3Y-111.8
|
||||||
|
X170.6Y-108.6
|
||||||
|
X170.7Y-96.5
|
||||||
|
X171.0Y-105.0
|
||||||
|
X171.15Y-122.15
|
||||||
|
X171.5Y-95.6
|
||||||
|
X171.8Y-85.9
|
||||||
|
X172.95Y-73.9
|
||||||
|
X173.2Y-122.3
|
||||||
|
X173.85Y-107.9
|
||||||
|
X174.05Y-79.25
|
||||||
|
X174.1Y-120.2
|
||||||
|
X174.3Y-103.45
|
||||||
|
X174.45Y-125.0
|
||||||
|
X174.85Y-129.45
|
||||||
|
X175.2Y-122.55
|
||||||
|
X176.2Y-72.3
|
||||||
|
X176.7Y-91.2
|
||||||
|
X177.8Y-137.35
|
||||||
|
X177.925Y-113.85
|
||||||
|
X180.8Y-74.1
|
||||||
|
T2
|
||||||
|
X161.475Y-107.525
|
||||||
|
X161.475Y-108.375
|
||||||
|
X161.475Y-109.225
|
||||||
|
X162.325Y-107.525
|
||||||
|
X162.325Y-108.375
|
||||||
|
X162.325Y-109.225
|
||||||
|
X163.175Y-107.525
|
||||||
|
X163.175Y-108.375
|
||||||
|
X163.175Y-109.225
|
||||||
|
T4
|
||||||
|
X129.59Y-81.0
|
||||||
|
X129.59Y-83.8
|
||||||
|
X129.62Y-78.2
|
||||||
|
X129.62Y-86.6
|
||||||
|
X129.69Y-89.4
|
||||||
|
X129.69Y-92.2
|
||||||
|
X129.69Y-95.0
|
||||||
|
X129.69Y-97.8
|
||||||
|
X129.69Y-100.6
|
||||||
|
X129.69Y-103.4
|
||||||
|
X129.69Y-106.2
|
||||||
|
X129.69Y-109.0
|
||||||
|
X129.69Y-111.8
|
||||||
|
X129.69Y-114.6
|
||||||
|
X129.69Y-117.4
|
||||||
|
X129.69Y-120.2
|
||||||
|
X129.69Y-123.0
|
||||||
|
X129.69Y-125.8
|
||||||
|
X132.13Y-81.0
|
||||||
|
X132.13Y-83.8
|
||||||
|
X132.16Y-78.2
|
||||||
|
X132.16Y-86.6
|
||||||
|
X132.23Y-89.4
|
||||||
|
X132.23Y-92.2
|
||||||
|
X132.23Y-95.0
|
||||||
|
X132.23Y-97.8
|
||||||
|
X132.23Y-100.6
|
||||||
|
X132.23Y-103.4
|
||||||
|
X132.23Y-106.2
|
||||||
|
X132.23Y-109.0
|
||||||
|
X132.23Y-111.8
|
||||||
|
X132.23Y-114.6
|
||||||
|
X132.23Y-117.4
|
||||||
|
X132.23Y-120.2
|
||||||
|
X132.23Y-123.0
|
||||||
|
X132.23Y-125.8
|
||||||
|
X134.67Y-81.0
|
||||||
|
X134.67Y-83.8
|
||||||
|
X134.7Y-78.2
|
||||||
|
X134.7Y-86.6
|
||||||
|
X134.77Y-89.4
|
||||||
|
X134.77Y-92.2
|
||||||
|
X134.77Y-95.0
|
||||||
|
X134.77Y-97.8
|
||||||
|
X134.77Y-100.6
|
||||||
|
X134.77Y-103.4
|
||||||
|
X134.77Y-106.2
|
||||||
|
X134.77Y-109.0
|
||||||
|
X134.77Y-111.8
|
||||||
|
X134.77Y-114.6
|
||||||
|
X134.77Y-117.4
|
||||||
|
X134.77Y-120.2
|
||||||
|
X134.77Y-123.0
|
||||||
|
X134.77Y-125.8
|
||||||
|
X137.21Y-81.0
|
||||||
|
X137.21Y-83.8
|
||||||
|
X137.24Y-78.2
|
||||||
|
X137.24Y-86.6
|
||||||
|
X137.31Y-89.4
|
||||||
|
X137.31Y-92.2
|
||||||
|
X137.31Y-95.0
|
||||||
|
X137.31Y-97.8
|
||||||
|
X137.31Y-100.6
|
||||||
|
X137.31Y-103.4
|
||||||
|
X137.31Y-106.2
|
||||||
|
X137.31Y-109.0
|
||||||
|
X137.31Y-111.8
|
||||||
|
X137.31Y-114.6
|
||||||
|
X137.31Y-117.4
|
||||||
|
X137.31Y-120.2
|
||||||
|
X137.31Y-123.0
|
||||||
|
X137.31Y-125.8
|
||||||
|
X152.475Y-132.15
|
||||||
|
X152.475Y-134.69
|
||||||
|
X152.475Y-137.23
|
||||||
|
X155.275Y-132.15
|
||||||
|
X155.275Y-134.69
|
||||||
|
X155.275Y-137.23
|
||||||
|
X158.075Y-132.15
|
||||||
|
X158.075Y-134.69
|
||||||
|
X158.075Y-137.23
|
||||||
|
X160.875Y-132.15
|
||||||
|
X160.875Y-134.69
|
||||||
|
X160.875Y-137.23
|
||||||
|
X163.675Y-132.15
|
||||||
|
X163.675Y-134.69
|
||||||
|
X163.675Y-137.23
|
||||||
|
X166.525Y-132.15
|
||||||
|
X166.525Y-134.69
|
||||||
|
X166.525Y-137.23
|
||||||
|
X177.76Y-132.225
|
||||||
|
X180.3Y-78.94
|
||||||
|
X180.3Y-81.48
|
||||||
|
X180.3Y-84.02
|
||||||
|
X180.3Y-86.56
|
||||||
|
X180.3Y-89.1
|
||||||
|
X180.3Y-92.75
|
||||||
|
X180.3Y-95.29
|
||||||
|
X180.3Y-97.83
|
||||||
|
X180.3Y-100.37
|
||||||
|
X180.3Y-102.91
|
||||||
|
X180.3Y-105.45
|
||||||
|
X180.3Y-107.99
|
||||||
|
X180.3Y-110.53
|
||||||
|
X180.3Y-113.07
|
||||||
|
X180.3Y-115.61
|
||||||
|
X180.3Y-118.15
|
||||||
|
X180.3Y-120.69
|
||||||
|
X180.3Y-123.23
|
||||||
|
X180.3Y-125.77
|
||||||
|
X180.3Y-128.31
|
||||||
|
X180.3Y-132.225
|
||||||
|
T5
|
||||||
|
X140.4Y-72.8
|
||||||
|
X145.4Y-72.8
|
||||||
|
T3
|
||||||
|
G00X161.48Y-71.125
|
||||||
|
M15
|
||||||
|
G01X161.48Y-70.325
|
||||||
|
M16
|
||||||
|
G05
|
||||||
|
G00X161.48Y-75.475
|
||||||
|
M15
|
||||||
|
G01X161.48Y-74.375
|
||||||
|
M16
|
||||||
|
G05
|
||||||
|
G00X170.12Y-71.125
|
||||||
|
M15
|
||||||
|
G01X170.12Y-70.325
|
||||||
|
M16
|
||||||
|
G05
|
||||||
|
G00X170.12Y-75.475
|
||||||
|
M15
|
||||||
|
G01X170.12Y-74.375
|
||||||
|
M16
|
||||||
|
G05
|
||||||
|
M30
|
||||||
@@ -0,0 +1,6 @@
|
|||||||
|
### Footprint positions - created on 2026-01-13T21:49:38+0200 ###
|
||||||
|
### Printed by KiCad version 9.0.7
|
||||||
|
## Unit = mm, Angle = deg.
|
||||||
|
## Side : bottom
|
||||||
|
# Ref Val Package PosX PosY Rot Side
|
||||||
|
## End
|
||||||
@@ -0,0 +1,169 @@
|
|||||||
|
{
|
||||||
|
"Header": {
|
||||||
|
"GenerationSoftware": {
|
||||||
|
"Vendor": "KiCad",
|
||||||
|
"Application": "Pcbnew",
|
||||||
|
"Version": "9.0.7"
|
||||||
|
},
|
||||||
|
"CreationDate": "2026-01-13T21:49:28+02:00"
|
||||||
|
},
|
||||||
|
"GeneralSpecs": {
|
||||||
|
"ProjectId": {
|
||||||
|
"Name": "Servo2350",
|
||||||
|
"GUID": "53657276-6f32-4333-9530-2e6b69636164",
|
||||||
|
"Revision": "rev?"
|
||||||
|
},
|
||||||
|
"Size": {
|
||||||
|
"X": 55.05,
|
||||||
|
"Y": 70.05
|
||||||
|
},
|
||||||
|
"LayerNumber": 4,
|
||||||
|
"BoardThickness": 1.6,
|
||||||
|
"Finish": "None"
|
||||||
|
},
|
||||||
|
"DesignRules": [
|
||||||
|
{
|
||||||
|
"Layers": "Outer",
|
||||||
|
"PadToPad": 0.1,
|
||||||
|
"PadToTrack": 0.1,
|
||||||
|
"TrackToTrack": 0.2,
|
||||||
|
"MinLineWidth": 0.2,
|
||||||
|
"TrackToRegion": 0.5,
|
||||||
|
"RegionToRegion": 0.5
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Layers": "Inner",
|
||||||
|
"PadToPad": 0.1,
|
||||||
|
"PadToTrack": 0.1,
|
||||||
|
"TrackToTrack": 0.2,
|
||||||
|
"TrackToRegion": 0.5,
|
||||||
|
"RegionToRegion": 0.5
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"FilesAttributes": [
|
||||||
|
{
|
||||||
|
"Path": "Servo2350-F_Cu.gbr",
|
||||||
|
"FileFunction": "Copper,L1,Top",
|
||||||
|
"FilePolarity": "Positive"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Path": "Servo2350-In1_Cu.gbr",
|
||||||
|
"FileFunction": "Copper,L2,Inr",
|
||||||
|
"FilePolarity": "Positive"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Path": "Servo2350-In2_Cu.gbr",
|
||||||
|
"FileFunction": "Copper,L3,Inr",
|
||||||
|
"FilePolarity": "Positive"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Path": "Servo2350-B_Cu.gbr",
|
||||||
|
"FileFunction": "Copper,L4,Bot",
|
||||||
|
"FilePolarity": "Positive"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Path": "Servo2350-F_Paste.gbr",
|
||||||
|
"FileFunction": "SolderPaste,Top",
|
||||||
|
"FilePolarity": "Positive"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Path": "Servo2350-B_Paste.gbr",
|
||||||
|
"FileFunction": "SolderPaste,Bot",
|
||||||
|
"FilePolarity": "Positive"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Path": "Servo2350-F_Silkscreen.gbr",
|
||||||
|
"FileFunction": "Legend,Top",
|
||||||
|
"FilePolarity": "Positive"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Path": "Servo2350-B_Silkscreen.gbr",
|
||||||
|
"FileFunction": "Legend,Bot",
|
||||||
|
"FilePolarity": "Positive"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Path": "Servo2350-F_Mask.gbr",
|
||||||
|
"FileFunction": "SolderMask,Top",
|
||||||
|
"FilePolarity": "Negative"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Path": "Servo2350-B_Mask.gbr",
|
||||||
|
"FileFunction": "SolderMask,Bot",
|
||||||
|
"FilePolarity": "Negative"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Path": "Servo2350-Edge_Cuts.gbr",
|
||||||
|
"FileFunction": "Profile",
|
||||||
|
"FilePolarity": "Positive"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"MaterialStackup": [
|
||||||
|
{
|
||||||
|
"Type": "Legend",
|
||||||
|
"Name": "Top Silk Screen"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Type": "SolderPaste",
|
||||||
|
"Name": "Top Solder Paste"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Type": "SolderMask",
|
||||||
|
"Thickness": 0.01,
|
||||||
|
"Name": "Top Solder Mask"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Type": "Copper",
|
||||||
|
"Thickness": 0.035,
|
||||||
|
"Name": "F.Cu"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Type": "Dielectric",
|
||||||
|
"Thickness": 0.1,
|
||||||
|
"Material": "FR4",
|
||||||
|
"Name": "F.Cu/In1.Cu",
|
||||||
|
"Notes": "Type: dielectric layer 1 (from F.Cu to In1.Cu)"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Type": "Copper",
|
||||||
|
"Thickness": 0.035,
|
||||||
|
"Name": "In1.Cu"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Type": "Dielectric",
|
||||||
|
"Thickness": 1.24,
|
||||||
|
"Material": "FR4",
|
||||||
|
"Name": "In1.Cu/In2.Cu",
|
||||||
|
"Notes": "Type: dielectric layer 2 (from In1.Cu to In2.Cu)"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Type": "Copper",
|
||||||
|
"Thickness": 0.035,
|
||||||
|
"Name": "In2.Cu"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Type": "Dielectric",
|
||||||
|
"Thickness": 0.1,
|
||||||
|
"Material": "FR4",
|
||||||
|
"Name": "In2.Cu/B.Cu",
|
||||||
|
"Notes": "Type: dielectric layer 3 (from In2.Cu to B.Cu)"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Type": "Copper",
|
||||||
|
"Thickness": 0.035,
|
||||||
|
"Name": "B.Cu"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Type": "SolderMask",
|
||||||
|
"Thickness": 0.01,
|
||||||
|
"Name": "Bottom Solder Mask"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Type": "SolderPaste",
|
||||||
|
"Name": "Bottom Solder Paste"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Type": "Legend",
|
||||||
|
"Name": "Bottom Silk Screen"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
@@ -0,0 +1,90 @@
|
|||||||
|
### Footprint positions - created on 2026-01-13T21:49:38+0200 ###
|
||||||
|
### Printed by KiCad version 9.0.7
|
||||||
|
## Unit = mm, Angle = deg.
|
||||||
|
## Side : top
|
||||||
|
# Ref Val Package PosX PosY Rot Side
|
||||||
|
1 Conn_01x04_Pin PinHeader_1x04_P2.54mm_Vertical 137.2400 -78.2000 -90.0000 top
|
||||||
|
2 Conn_01x04_Pin PinHeader_1x04_P2.54mm_Vertical 137.2100 -81.0000 -90.0000 top
|
||||||
|
3 Conn_01x04_Pin PinHeader_1x04_P2.54mm_Vertical 137.2100 -83.8000 -90.0000 top
|
||||||
|
4 Conn_01x04_Pin PinHeader_1x04_P2.54mm_Vertical 137.2400 -86.6000 -90.0000 top
|
||||||
|
5 Conn_01x04_Pin PinHeader_1x04_P2.54mm_Vertical 137.3100 -89.4000 -90.0000 top
|
||||||
|
6 Conn_01x04_Pin PinHeader_1x04_P2.54mm_Vertical 137.3100 -92.2000 -90.0000 top
|
||||||
|
7 Conn_01x04_Pin PinHeader_1x04_P2.54mm_Vertical 137.3100 -95.0000 -90.0000 top
|
||||||
|
8 Conn_01x04_Pin PinHeader_1x04_P2.54mm_Vertical 137.3100 -97.8000 -90.0000 top
|
||||||
|
9 Conn_01x04_Pin PinHeader_1x04_P2.54mm_Vertical 137.3100 -100.6000 -90.0000 top
|
||||||
|
10 Conn_01x04_Pin PinHeader_1x04_P2.54mm_Vertical 137.3100 -103.4000 -90.0000 top
|
||||||
|
11 Conn_01x04_Pin PinHeader_1x04_P2.54mm_Vertical 137.3100 -106.2000 -90.0000 top
|
||||||
|
12 Conn_01x04_Pin PinHeader_1x04_P2.54mm_Vertical 137.3100 -109.0000 -90.0000 top
|
||||||
|
13 Conn_01x04_Pin PinHeader_1x04_P2.54mm_Vertical 137.3100 -111.8000 -90.0000 top
|
||||||
|
14 Conn_01x04_Pin PinHeader_1x04_P2.54mm_Vertical 137.3100 -114.6000 -90.0000 top
|
||||||
|
15 Conn_01x04_Pin PinHeader_1x04_P2.54mm_Vertical 137.3100 -117.4000 -90.0000 top
|
||||||
|
16 Conn_01x04_Pin PinHeader_1x04_P2.54mm_Vertical 137.3100 -120.2000 -90.0000 top
|
||||||
|
17 Conn_01x04_Pin PinHeader_1x04_P2.54mm_Vertical 137.3100 -123.0000 -90.0000 top
|
||||||
|
18 Conn_01x04_Pin PinHeader_1x04_P2.54mm_Vertical 137.3100 -125.8000 -90.0000 top
|
||||||
|
BOOT SKRPABE010 SW_SKRPABE010 156.8000 -71.3350 0.0000 top
|
||||||
|
C1 100nF C_0402_1005Metric 158.1500 -98.7000 90.0000 top
|
||||||
|
C2 100nF C_0402_1005Metric 152.6250 -111.2000 180.0000 top
|
||||||
|
C3 100nF C_0402_1005Metric 152.6000 -106.1500 180.0000 top
|
||||||
|
C4 100nF C_0402_1005Metric 172.1500 -104.8000 0.0000 top
|
||||||
|
C5 100nF C_0402_1005Metric 156.4500 -98.7000 90.0000 top
|
||||||
|
C6 100nF C_0402_1005Metric 156.1500 -118.2000 -90.0000 top
|
||||||
|
C7 100nF C_0402_1005Metric 159.8500 -98.7000 90.0000 top
|
||||||
|
C8 100nF C_0402_1005Metric 172.1500 -112.2000 0.0000 top
|
||||||
|
C9 100nF C_0402_1005Metric 172.1500 -108.6000 0.0000 top
|
||||||
|
C10 100nF C_0402_1005Metric 167.8500 -118.7000 -90.0000 top
|
||||||
|
C11 4.7uF C_0402_1005Metric 172.1500 -106.7000 0.0000 top
|
||||||
|
C12 100nF C_0402_1005Metric 152.6000 -108.6750 180.0000 top
|
||||||
|
C13 4.7uF C_0402_1005Metric 173.1000 -100.5000 0.0000 top
|
||||||
|
C14 4.7uF C_0402_1005Metric 166.7500 -98.7000 90.0000 top
|
||||||
|
C15 4.7uF C_0402_1005Metric 164.9500 -98.7000 90.0000 top
|
||||||
|
C16 15pF C_0402_1005Metric 159.8750 -118.7500 -90.0000 top
|
||||||
|
C17 15pF C_0402_1005Metric 162.9750 -122.2500 180.0000 top
|
||||||
|
C18 100nF C_0402_1005Metric 154.0500 -99.2000 180.0000 top
|
||||||
|
C19 1uF C_0402_1005Metric 161.3450 -81.7850 -90.0000 top
|
||||||
|
C20 1uF C_0402_1005Metric 168.5450 -81.7850 -90.0000 top
|
||||||
|
C21 100nF C_0402_1005Metric 155.9750 -81.9750 0.0000 top
|
||||||
|
C22 100nF C_0402_1005Metric 171.4500 -123.3000 0.0000 top
|
||||||
|
C23 100nF C_0402_1005Metric 171.5500 -125.2000 180.0000 top
|
||||||
|
C24 100nF C_0402_1005Metric 158.3000 -118.2000 -90.0000 top
|
||||||
|
C25 100nF C_0402_1005Metric 172.1000 -103.0000 0.0000 top
|
||||||
|
C26 220uF CAPAE1030X1080N_UWT1H221MNL1GS 142.3250 -132.8000 180.0000 top
|
||||||
|
D1 Conn_01x03_Pin PinHeader_1x03_P2.54mm_Vertical 166.5250 -137.2300 180.0000 top
|
||||||
|
D2 Conn_01x03_Pin PinHeader_1x03_P2.54mm_Vertical 163.6750 -137.2300 180.0000 top
|
||||||
|
D3 Conn_01x03_Pin PinHeader_1x03_P2.54mm_Vertical 160.8750 -137.2300 180.0000 top
|
||||||
|
D4 Conn_01x03_Pin PinHeader_1x03_P2.54mm_Vertical 158.0750 -137.2300 180.0000 top
|
||||||
|
D5 Conn_01x03_Pin PinHeader_1x03_P2.54mm_Vertical 155.2750 -137.2300 180.0000 top
|
||||||
|
D6 Conn_01x03_Pin PinHeader_1x03_P2.54mm_Vertical 152.4750 -137.2300 180.0000 top
|
||||||
|
J1 Conn_01x15_Pin PinHeader_1x15_P2.54mm_Vertical 180.3000 -128.3100 180.0000 top
|
||||||
|
J2 Conn_01x02_Pin PinSocket_1x02_P2.54mm_Vertical 180.3000 -132.2250 -90.0000 top
|
||||||
|
J3 USB_C_OUT USB_C_Receptacle_G-Switch_GT-USB-7010ASV 165.8000 -71.8000 180.0000 top
|
||||||
|
L1 3.3u L_0402_1005Metric 168.5500 -98.7000 -90.0000 top
|
||||||
|
LED1 LED_Small LED_0402_1005Metric 155.7000 -124.3000 -90.0000 top
|
||||||
|
LED2 LED_Small LED_0402_1005Metric 158.1000 -124.3000 -90.0000 top
|
||||||
|
POWER1 691137710002 691137710002 142.9000 -72.8000 180.0000 top
|
||||||
|
R1 33 R_0402_1005Metric 173.1000 -98.5000 180.0000 top
|
||||||
|
R2 1k R_0402_1005Metric 165.7750 -118.6500 -90.0000 top
|
||||||
|
R3 27 R_0402_1005Metric 161.5500 -98.7000 -90.0000 top
|
||||||
|
R4 27 R_0402_1005Metric 163.2500 -98.6900 -90.0000 top
|
||||||
|
R5 10k R_0402_1005Metric 151.6500 -98.7000 -90.0000 top
|
||||||
|
R6 1k R_0402_1005Metric 149.4500 -99.2000 180.0000 top
|
||||||
|
R7 10k R_0402_1005Metric 171.2535 -131.5900 0.0000 top
|
||||||
|
R8 560 R_0402_1005Metric 155.7000 -121.5000 -90.0000 top
|
||||||
|
R9 560 R_0402_1005Metric 158.1000 -121.5000 -90.0000 top
|
||||||
|
R10 5.1k R_0402_1005Metric 168.4100 -78.7350 0.0000 top
|
||||||
|
R11 5.1k R_0402_1005Metric 163.7000 -78.6350 180.0000 top
|
||||||
|
R12 10k R_0402_1005Metric 172.0215 -94.6750 0.0000 top
|
||||||
|
R13 10k R_0402_1005Metric 172.0215 -92.7750 0.0000 top
|
||||||
|
RESET SKRPABE010 SW_SKRPABE010 171.9000 -135.5900 180.0000 top
|
||||||
|
RN1 CAY16-181J4LF RESCAF80P320X160X60-8N 145.4250 -100.1000 0.0000 top
|
||||||
|
RN2 CAY16-181J4LF RESCAF80P320X160X60-8N 145.4250 -105.7000 0.0000 top
|
||||||
|
RN3 CAY16-181J4LF RESCAF80P320X160X60-8N 145.3675 -111.3000 0.0000 top
|
||||||
|
RN4 CAY16-181J4LF RESCAF80P320X160X60-8N 145.2675 -117.0000 0.0000 top
|
||||||
|
RN5 CAY16-181J4LF RESCAF80P320X160X60-8N 145.1925 -122.6000 0.0000 top
|
||||||
|
SWD1 Conn_01x05_Pin PinHeader_1x05_P2.54mm_Vertical 180.3000 -78.9400 0.0000 top
|
||||||
|
U1 RP2350B-QFN80 RP2350B_QFN-80_EP_10.573x10.573_Pitch0.4mm 162.3250 -108.3750 0.0000 top
|
||||||
|
U2 W25Q16JVUXIQ_TR IC_W25Q16JVUXIQ_TR 152.1000 -101.6250 0.0000 top
|
||||||
|
U3 NCP115ASN330T2G SOT95P275X110-5N 164.9000 -82.2350 0.0000 top
|
||||||
|
U4 CD74HC4067SM96 SOP65P780X200-24N 152.1950 -87.4750 0.0000 top
|
||||||
|
U5 ~ IC_ICM-45686 171.6500 -120.2000 0.0000 top
|
||||||
|
Y1 ABM8-272-T3 XTAL_ABM8-272-T3 162.8750 -118.7500 0.0000 top
|
||||||
|
## End
|
||||||
Executable
+42538
File diff suppressed because it is too large
Load Diff
Executable
+762
@@ -0,0 +1,762 @@
|
|||||||
|
{
|
||||||
|
"board": {
|
||||||
|
"3dviewports": [],
|
||||||
|
"design_settings": {
|
||||||
|
"defaults": {
|
||||||
|
"apply_defaults_to_fp_barcodes": false,
|
||||||
|
"apply_defaults_to_fp_dimensions": false,
|
||||||
|
"apply_defaults_to_fp_fields": false,
|
||||||
|
"apply_defaults_to_fp_shapes": false,
|
||||||
|
"apply_defaults_to_fp_text": false,
|
||||||
|
"board_outline_line_width": 0.05,
|
||||||
|
"copper_line_width": 0.2,
|
||||||
|
"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.05,
|
||||||
|
"dimension_precision": 4,
|
||||||
|
"dimension_units": 3,
|
||||||
|
"dimensions": {
|
||||||
|
"arrow_length": 1270000,
|
||||||
|
"extension_offset": 500000,
|
||||||
|
"keep_text_aligned": true,
|
||||||
|
"suppress_zeroes": true,
|
||||||
|
"text_position": 0,
|
||||||
|
"units_format": 0
|
||||||
|
},
|
||||||
|
"fab_line_width": 0.1,
|
||||||
|
"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.1,
|
||||||
|
"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.25,
|
||||||
|
"height": 0.425,
|
||||||
|
"width": 0.425
|
||||||
|
},
|
||||||
|
"silk_line_width": 0.1,
|
||||||
|
"silk_text_italic": false,
|
||||||
|
"silk_text_size_h": 1.0,
|
||||||
|
"silk_text_size_v": 1.0,
|
||||||
|
"silk_text_thickness": 0.1,
|
||||||
|
"silk_text_upright": false,
|
||||||
|
"zones": {
|
||||||
|
"border_display_style": 2,
|
||||||
|
"border_hatch_pitch": 0.5,
|
||||||
|
"corner_radius": 0.0,
|
||||||
|
"corner_smoothing": 0,
|
||||||
|
"fill_mode": 0,
|
||||||
|
"hatch_gap": 1.5,
|
||||||
|
"hatch_orientation": 0.0,
|
||||||
|
"hatch_smoothing_level": 0,
|
||||||
|
"hatch_smoothing_value": 0.1,
|
||||||
|
"hatch_thickness": 1.0,
|
||||||
|
"min_clearance": 0.5,
|
||||||
|
"min_island_area": 10.0,
|
||||||
|
"min_thickness": 0.25,
|
||||||
|
"pad_connection": 1,
|
||||||
|
"remove_islands": 0,
|
||||||
|
"thermal_relief_gap": 0.5,
|
||||||
|
"thermal_relief_spoke_width": 0.5
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"diff_pair_dimensions": [
|
||||||
|
{
|
||||||
|
"gap": 0.0,
|
||||||
|
"via_gap": 0.0,
|
||||||
|
"width": 0.0
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"drc_exclusions": [
|
||||||
|
[
|
||||||
|
"lib_footprint_mismatch|133430000|78200000|8a40cc05-6103-4a4c-bf5f-5b55275bc31d|00000000-0000-0000-0000-000000000000",
|
||||||
|
""
|
||||||
|
]
|
||||||
|
],
|
||||||
|
"meta": {
|
||||||
|
"version": 2
|
||||||
|
},
|
||||||
|
"rule_severities": {
|
||||||
|
"annular_width": "error",
|
||||||
|
"clearance": "error",
|
||||||
|
"connection_width": "warning",
|
||||||
|
"copper_edge_clearance": "error",
|
||||||
|
"copper_sliver": "warning",
|
||||||
|
"courtyards_overlap": "error",
|
||||||
|
"creepage": "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": "error",
|
||||||
|
"footprint_filters_mismatch": "ignore",
|
||||||
|
"footprint_symbol_field_mismatch": "warning",
|
||||||
|
"footprint_symbol_mismatch": "warning",
|
||||||
|
"footprint_type_mismatch": "ignore",
|
||||||
|
"hole_clearance": "error",
|
||||||
|
"hole_to_hole": "warning",
|
||||||
|
"holes_co_located": "warning",
|
||||||
|
"invalid_outline": "error",
|
||||||
|
"isolated_copper": "warning",
|
||||||
|
"item_on_disabled_layer": "error",
|
||||||
|
"items_not_allowed": "error",
|
||||||
|
"length_out_of_range": "error",
|
||||||
|
"lib_footprint_issues": "warning",
|
||||||
|
"lib_footprint_mismatch": "warning",
|
||||||
|
"malformed_courtyard": "error",
|
||||||
|
"microvia_drill_out_of_range": "error",
|
||||||
|
"mirrored_text_on_front_layer": "ignore",
|
||||||
|
"missing_courtyard": "ignore",
|
||||||
|
"missing_footprint": "warning",
|
||||||
|
"missing_tuning_profile": "warning",
|
||||||
|
"net_conflict": "warning",
|
||||||
|
"nonmirrored_text_on_back_layer": "ignore",
|
||||||
|
"npth_inside_courtyard": "ignore",
|
||||||
|
"padstack": "warning",
|
||||||
|
"pth_inside_courtyard": "ignore",
|
||||||
|
"shorting_items": "error",
|
||||||
|
"silk_edge_clearance": "ignore",
|
||||||
|
"silk_over_copper": "ignore",
|
||||||
|
"silk_overlap": "ignore",
|
||||||
|
"skew_out_of_range": "error",
|
||||||
|
"solder_mask_bridge": "error",
|
||||||
|
"starved_thermal": "ignore",
|
||||||
|
"text_height": "ignore",
|
||||||
|
"text_on_edge_cuts": "error",
|
||||||
|
"text_thickness": "ignore",
|
||||||
|
"through_hole_pad_without_hole": "error",
|
||||||
|
"too_many_vias": "error",
|
||||||
|
"track_angle": "error",
|
||||||
|
"track_dangling": "warning",
|
||||||
|
"track_not_centered_on_via": "ignore",
|
||||||
|
"track_on_post_machined_layer": "error",
|
||||||
|
"track_segment_length": "error",
|
||||||
|
"track_width": "error",
|
||||||
|
"tracks_crossing": "error",
|
||||||
|
"tuning_profile_track_geometries": "ignore",
|
||||||
|
"unconnected_items": "error",
|
||||||
|
"unresolved_variable": "error",
|
||||||
|
"via_dangling": "warning",
|
||||||
|
"zones_intersect": "error"
|
||||||
|
},
|
||||||
|
"rules": {
|
||||||
|
"max_error": 0.005,
|
||||||
|
"min_clearance": 0.0,
|
||||||
|
"min_connection": 0.0,
|
||||||
|
"min_copper_edge_clearance": 0.5,
|
||||||
|
"min_groove_width": 0.0,
|
||||||
|
"min_hole_clearance": 0.25,
|
||||||
|
"min_hole_to_hole": 0.25,
|
||||||
|
"min_microvia_diameter": 0.2,
|
||||||
|
"min_microvia_drill": 0.1,
|
||||||
|
"min_resolved_spokes": 2,
|
||||||
|
"min_silk_clearance": 0.0,
|
||||||
|
"min_text_height": 0.8,
|
||||||
|
"min_text_thickness": 0.08,
|
||||||
|
"min_through_hole_diameter": 0.25,
|
||||||
|
"min_track_width": 0.0,
|
||||||
|
"min_via_annular_width": 0.1,
|
||||||
|
"min_via_diameter": 0.45,
|
||||||
|
"solder_mask_to_copper_clearance": 0.0,
|
||||||
|
"use_height_for_length_calcs": true
|
||||||
|
},
|
||||||
|
"teardrop_options": [
|
||||||
|
{
|
||||||
|
"td_onpthpad": true,
|
||||||
|
"td_onroundshapesonly": false,
|
||||||
|
"td_onsmdpad": true,
|
||||||
|
"td_ontrackend": false,
|
||||||
|
"td_onvia": true
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"teardrop_parameters": [
|
||||||
|
{
|
||||||
|
"td_allow_use_two_tracks": true,
|
||||||
|
"td_curve_segcount": 0,
|
||||||
|
"td_height_ratio": 1.0,
|
||||||
|
"td_length_ratio": 0.5,
|
||||||
|
"td_maxheight": 2.0,
|
||||||
|
"td_maxlen": 1.0,
|
||||||
|
"td_on_pad_in_zone": false,
|
||||||
|
"td_target_name": "td_round_shape",
|
||||||
|
"td_width_to_size_filter_ratio": 0.9
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"td_allow_use_two_tracks": true,
|
||||||
|
"td_curve_segcount": 0,
|
||||||
|
"td_height_ratio": 1.0,
|
||||||
|
"td_length_ratio": 0.5,
|
||||||
|
"td_maxheight": 2.0,
|
||||||
|
"td_maxlen": 1.0,
|
||||||
|
"td_on_pad_in_zone": false,
|
||||||
|
"td_target_name": "td_rect_shape",
|
||||||
|
"td_width_to_size_filter_ratio": 0.9
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"td_allow_use_two_tracks": true,
|
||||||
|
"td_curve_segcount": 0,
|
||||||
|
"td_height_ratio": 1.0,
|
||||||
|
"td_length_ratio": 0.5,
|
||||||
|
"td_maxheight": 2.0,
|
||||||
|
"td_maxlen": 1.0,
|
||||||
|
"td_on_pad_in_zone": false,
|
||||||
|
"td_target_name": "td_track_end",
|
||||||
|
"td_width_to_size_filter_ratio": 0.9
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"track_widths": [
|
||||||
|
0.0,
|
||||||
|
0.2,
|
||||||
|
0.5,
|
||||||
|
1.0,
|
||||||
|
1.7
|
||||||
|
],
|
||||||
|
"tuning_pattern_settings": {
|
||||||
|
"diff_pair_defaults": {
|
||||||
|
"corner_radius_percentage": 80,
|
||||||
|
"corner_style": 1,
|
||||||
|
"max_amplitude": 1.0,
|
||||||
|
"min_amplitude": 0.2,
|
||||||
|
"single_sided": false,
|
||||||
|
"spacing": 1.0
|
||||||
|
},
|
||||||
|
"diff_pair_skew_defaults": {
|
||||||
|
"corner_radius_percentage": 80,
|
||||||
|
"corner_style": 1,
|
||||||
|
"max_amplitude": 1.0,
|
||||||
|
"min_amplitude": 0.2,
|
||||||
|
"single_sided": false,
|
||||||
|
"spacing": 0.6
|
||||||
|
},
|
||||||
|
"single_track_defaults": {
|
||||||
|
"corner_radius_percentage": 80,
|
||||||
|
"corner_style": 1,
|
||||||
|
"max_amplitude": 1.0,
|
||||||
|
"min_amplitude": 0.2,
|
||||||
|
"single_sided": false,
|
||||||
|
"spacing": 0.6
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"via_dimensions": [
|
||||||
|
{
|
||||||
|
"diameter": 0.0,
|
||||||
|
"drill": 0.0
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"zones_allow_external_fillets": false
|
||||||
|
},
|
||||||
|
"ipc2581": {
|
||||||
|
"bom_rev": "",
|
||||||
|
"dist": "",
|
||||||
|
"distpn": "",
|
||||||
|
"internal_id": "",
|
||||||
|
"mfg": "",
|
||||||
|
"mpn": "",
|
||||||
|
"sch_revision": ""
|
||||||
|
},
|
||||||
|
"layer_pairs": [],
|
||||||
|
"layer_presets": [],
|
||||||
|
"viewports": []
|
||||||
|
},
|
||||||
|
"boards": [],
|
||||||
|
"component_class_settings": {
|
||||||
|
"assignments": [],
|
||||||
|
"meta": {
|
||||||
|
"version": 0
|
||||||
|
},
|
||||||
|
"sheet_component_classes": {
|
||||||
|
"enabled": false
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"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_to_bus_conflict": "error",
|
||||||
|
"bus_to_net_conflict": "error",
|
||||||
|
"different_unit_footprint": "error",
|
||||||
|
"different_unit_net": "error",
|
||||||
|
"duplicate_reference": "error",
|
||||||
|
"duplicate_sheet_names": "error",
|
||||||
|
"endpoint_off_grid": "warning",
|
||||||
|
"extra_units": "error",
|
||||||
|
"field_name_whitespace": "warning",
|
||||||
|
"footprint_filter": "ignore",
|
||||||
|
"footprint_link_issues": "warning",
|
||||||
|
"four_way_junction": "ignore",
|
||||||
|
"global_label_dangling": "warning",
|
||||||
|
"ground_pin_not_ground": "warning",
|
||||||
|
"hier_label_mismatch": "error",
|
||||||
|
"isolated_pin_label": "warning",
|
||||||
|
"label_dangling": "error",
|
||||||
|
"label_multiple_wires": "warning",
|
||||||
|
"lib_symbol_issues": "warning",
|
||||||
|
"lib_symbol_mismatch": "warning",
|
||||||
|
"missing_bidi_pin": "warning",
|
||||||
|
"missing_input_pin": "warning",
|
||||||
|
"missing_power_pin": "error",
|
||||||
|
"missing_unit": "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",
|
||||||
|
"same_local_global_label": "warning",
|
||||||
|
"similar_label_and_power": "warning",
|
||||||
|
"similar_labels": "warning",
|
||||||
|
"similar_power": "warning",
|
||||||
|
"simulation_model_issue": "ignore",
|
||||||
|
"single_global_label": "ignore",
|
||||||
|
"stacked_pin_name": "warning",
|
||||||
|
"unannotated": "error",
|
||||||
|
"unconnected_wire_endpoint": "warning",
|
||||||
|
"undefined_netclass": "error",
|
||||||
|
"unit_value_mismatch": "error",
|
||||||
|
"unresolved_variable": "error",
|
||||||
|
"wire_dangling": "error"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"libraries": {
|
||||||
|
"pinned_footprint_libs": [],
|
||||||
|
"pinned_symbol_libs": []
|
||||||
|
},
|
||||||
|
"meta": {
|
||||||
|
"filename": "Servo2350.kicad_pro",
|
||||||
|
"version": 3
|
||||||
|
},
|
||||||
|
"net_settings": {
|
||||||
|
"classes": [
|
||||||
|
{
|
||||||
|
"bus_width": 12,
|
||||||
|
"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)",
|
||||||
|
"priority": 2147483647,
|
||||||
|
"schematic_color": "rgba(0, 0, 0, 0.000)",
|
||||||
|
"track_width": 0.2,
|
||||||
|
"tuning_profile": "",
|
||||||
|
"via_diameter": 0.6,
|
||||||
|
"via_drill": 0.3,
|
||||||
|
"wire_width": 6
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"meta": {
|
||||||
|
"version": 5
|
||||||
|
},
|
||||||
|
"net_colors": null,
|
||||||
|
"netclass_assignments": null,
|
||||||
|
"netclass_patterns": []
|
||||||
|
},
|
||||||
|
"pcbnew": {
|
||||||
|
"last_paths": {
|
||||||
|
"gencad": "",
|
||||||
|
"idf": "",
|
||||||
|
"netlist": "",
|
||||||
|
"plot": "output/",
|
||||||
|
"pos_files": "output/",
|
||||||
|
"specctra_dsn": "",
|
||||||
|
"step": "",
|
||||||
|
"svg": "",
|
||||||
|
"vrml": ""
|
||||||
|
},
|
||||||
|
"page_layout_descr_file": ""
|
||||||
|
},
|
||||||
|
"schematic": {
|
||||||
|
"annotate_start_num": 0,
|
||||||
|
"annotation": {
|
||||||
|
"method": 0,
|
||||||
|
"sort_order": 0
|
||||||
|
},
|
||||||
|
"bom_export_filename": "${PROJECTNAME}.csv",
|
||||||
|
"bom_fmt_presets": [],
|
||||||
|
"bom_fmt_settings": {
|
||||||
|
"field_delimiter": ",",
|
||||||
|
"keep_line_breaks": false,
|
||||||
|
"keep_tabs": false,
|
||||||
|
"name": "CSV",
|
||||||
|
"ref_delimiter": ",",
|
||||||
|
"ref_range_delimiter": "",
|
||||||
|
"string_delimiter": "\""
|
||||||
|
},
|
||||||
|
"bom_presets": [],
|
||||||
|
"bom_settings": {
|
||||||
|
"exclude_dnp": false,
|
||||||
|
"fields_ordered": [
|
||||||
|
{
|
||||||
|
"group_by": false,
|
||||||
|
"label": "Reference",
|
||||||
|
"name": "Reference",
|
||||||
|
"show": true
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"group_by": false,
|
||||||
|
"label": "Qty",
|
||||||
|
"name": "${QUANTITY}",
|
||||||
|
"show": true
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"group_by": true,
|
||||||
|
"label": "Value",
|
||||||
|
"name": "Value",
|
||||||
|
"show": true
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"group_by": true,
|
||||||
|
"label": "DNP",
|
||||||
|
"name": "${DNP}",
|
||||||
|
"show": true
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"group_by": true,
|
||||||
|
"label": "Exclude from BOM",
|
||||||
|
"name": "${EXCLUDE_FROM_BOM}",
|
||||||
|
"show": true
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"group_by": true,
|
||||||
|
"label": "Exclude from Board",
|
||||||
|
"name": "${EXCLUDE_FROM_BOARD}",
|
||||||
|
"show": true
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"group_by": true,
|
||||||
|
"label": "Footprint",
|
||||||
|
"name": "Footprint",
|
||||||
|
"show": true
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"group_by": false,
|
||||||
|
"label": "Datasheet",
|
||||||
|
"name": "Datasheet",
|
||||||
|
"show": true
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"group_by": false,
|
||||||
|
"label": "MANUFACTURER",
|
||||||
|
"name": "MANUFACTURER",
|
||||||
|
"show": false
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"group_by": false,
|
||||||
|
"label": "MAXIMUM_PACKAGE_HEIGHT",
|
||||||
|
"name": "MAXIMUM_PACKAGE_HEIGHT",
|
||||||
|
"show": false
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"group_by": false,
|
||||||
|
"label": "PARTREV",
|
||||||
|
"name": "PARTREV",
|
||||||
|
"show": false
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"group_by": false,
|
||||||
|
"label": "SNAPEDA_PN",
|
||||||
|
"name": "SNAPEDA_PN",
|
||||||
|
"show": false
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"group_by": false,
|
||||||
|
"label": "STANDARD",
|
||||||
|
"name": "STANDARD",
|
||||||
|
"show": false
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"group_by": false,
|
||||||
|
"label": "Sim.Pin",
|
||||||
|
"name": "Sim.Pin",
|
||||||
|
"show": false
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"group_by": false,
|
||||||
|
"label": "VERIFIER",
|
||||||
|
"name": "VERIFIER",
|
||||||
|
"show": false
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"group_by": false,
|
||||||
|
"label": "CREATOR",
|
||||||
|
"name": "CREATOR",
|
||||||
|
"show": false
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"group_by": false,
|
||||||
|
"label": "Description",
|
||||||
|
"name": "Description",
|
||||||
|
"show": false
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"group_by": false,
|
||||||
|
"label": "#",
|
||||||
|
"name": "${ITEM_NUMBER}",
|
||||||
|
"show": false
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"filter_string": "",
|
||||||
|
"group_symbols": true,
|
||||||
|
"include_excluded_from_bom": true,
|
||||||
|
"name": "",
|
||||||
|
"sort_asc": true,
|
||||||
|
"sort_field": "Reference"
|
||||||
|
},
|
||||||
|
"bus_aliases": {},
|
||||||
|
"connection_grid_size": 50.0,
|
||||||
|
"drawing": {
|
||||||
|
"dashed_lines_dash_length_ratio": 12.0,
|
||||||
|
"dashed_lines_gap_length_ratio": 3.0,
|
||||||
|
"default_line_thickness": 6.0,
|
||||||
|
"default_text_size": 50.0,
|
||||||
|
"field_names": [],
|
||||||
|
"hop_over_size_choice": 0,
|
||||||
|
"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,
|
||||||
|
"operating_point_overlay_i_precision": 3,
|
||||||
|
"operating_point_overlay_i_range": "~A",
|
||||||
|
"operating_point_overlay_v_precision": 3,
|
||||||
|
"operating_point_overlay_v_range": "~V",
|
||||||
|
"overbar_offset_ratio": 1.23,
|
||||||
|
"pin_symbol_size": 25.0,
|
||||||
|
"text_offset_ratio": 0.15
|
||||||
|
},
|
||||||
|
"legacy_lib_dir": "",
|
||||||
|
"legacy_lib_list": [],
|
||||||
|
"meta": {
|
||||||
|
"version": 1
|
||||||
|
},
|
||||||
|
"net_format_name": "",
|
||||||
|
"page_layout_descr_file": "",
|
||||||
|
"plot_directory": "Schematic/",
|
||||||
|
"reuse_designators": true,
|
||||||
|
"space_save_all_events": true,
|
||||||
|
"spice_current_sheet_as_root": false,
|
||||||
|
"spice_external_command": "spice \"%I\"",
|
||||||
|
"spice_model_current_sheet_as_root": true,
|
||||||
|
"spice_save_all_currents": false,
|
||||||
|
"spice_save_all_dissipations": false,
|
||||||
|
"spice_save_all_voltages": false,
|
||||||
|
"subpart_first_id": 65,
|
||||||
|
"subpart_id_separator": 0,
|
||||||
|
"top_level_sheets": [
|
||||||
|
{
|
||||||
|
"filename": "Servo2350.kicad_sch",
|
||||||
|
"name": "Servo2350",
|
||||||
|
"uuid": "00000000-0000-0000-0000-000000000000"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"used_designators": "",
|
||||||
|
"variants": []
|
||||||
|
},
|
||||||
|
"sheets": [
|
||||||
|
[
|
||||||
|
"f7b1a6c5-8ce5-4d2c-a65c-2d44b87e188c",
|
||||||
|
"Root"
|
||||||
|
]
|
||||||
|
],
|
||||||
|
"text_variables": {},
|
||||||
|
"tuning_profiles": {
|
||||||
|
"meta": {
|
||||||
|
"version": 0
|
||||||
|
},
|
||||||
|
"tuning_profiles_impedance_geometric": []
|
||||||
|
}
|
||||||
|
}
|
||||||
Executable
+24681
File diff suppressed because it is too large
Load Diff
Executable
BIN
Binary file not shown.
@@ -0,0 +1,11 @@
|
|||||||
|
build/
|
||||||
|
|
||||||
|
# tmp
|
||||||
|
reference/
|
||||||
|
notes.md
|
||||||
|
tmp/
|
||||||
|
__pycache__/
|
||||||
|
logs/
|
||||||
|
|
||||||
|
# doxygen
|
||||||
|
doxygen/
|
||||||
@@ -0,0 +1,10 @@
|
|||||||
|
# SPDX-License-Identifier: Apache-2.0
|
||||||
|
|
||||||
|
cmake_minimum_required(VERSION 3.20.0)
|
||||||
|
set(BOARD_ROOT ${CMAKE_CURRENT_SOURCE_DIR})
|
||||||
|
|
||||||
|
find_package(Zephyr REQUIRED HINTS $ENV{ZEPHYR_BASE})
|
||||||
|
project(servo2350)
|
||||||
|
|
||||||
|
FILE(GLOB app_sources src/*.c)
|
||||||
|
target_sources(app PRIVATE ${app_sources})
|
||||||
@@ -0,0 +1,97 @@
|
|||||||
|
.. zephyr:code-sample:: blinky
|
||||||
|
:name: Blinky
|
||||||
|
:relevant-api: gpio_interface
|
||||||
|
|
||||||
|
Blink an LED forever using the GPIO API.
|
||||||
|
|
||||||
|
Overview
|
||||||
|
********
|
||||||
|
|
||||||
|
The Blinky sample blinks an LED forever using the :ref:`GPIO API <gpio_api>`.
|
||||||
|
|
||||||
|
The source code shows how to:
|
||||||
|
|
||||||
|
#. Get a pin specification from the :ref:`devicetree <dt-guide>` as a
|
||||||
|
:c:struct:`gpio_dt_spec`
|
||||||
|
#. Configure the GPIO pin as an output
|
||||||
|
#. Toggle the pin forever
|
||||||
|
|
||||||
|
See :zephyr:code-sample:`pwm-blinky` for a similar sample that uses the PWM API instead.
|
||||||
|
|
||||||
|
.. _blinky-sample-requirements:
|
||||||
|
|
||||||
|
Requirements
|
||||||
|
************
|
||||||
|
|
||||||
|
Your board must:
|
||||||
|
|
||||||
|
#. Have an LED connected via a GPIO pin (these are called "User LEDs" on many of
|
||||||
|
Zephyr's :ref:`boards`).
|
||||||
|
#. Have the LED configured using the ``led0`` devicetree alias.
|
||||||
|
|
||||||
|
Building and Running
|
||||||
|
********************
|
||||||
|
|
||||||
|
Build and flash Blinky as follows, changing ``reel_board`` for your board:
|
||||||
|
|
||||||
|
.. zephyr-app-commands::
|
||||||
|
:zephyr-app: samples/basic/blinky
|
||||||
|
:board: reel_board
|
||||||
|
:goals: build flash
|
||||||
|
:compact:
|
||||||
|
|
||||||
|
After flashing, the LED starts to blink and messages with the current LED state
|
||||||
|
are printed on the console. If a runtime error occurs, the sample exits without
|
||||||
|
printing to the console.
|
||||||
|
|
||||||
|
Build errors
|
||||||
|
************
|
||||||
|
|
||||||
|
You will see a build error at the source code line defining the ``struct
|
||||||
|
gpio_dt_spec led`` variable if you try to build Blinky for an unsupported
|
||||||
|
board.
|
||||||
|
|
||||||
|
On GCC-based toolchains, the error looks like this:
|
||||||
|
|
||||||
|
.. code-block:: none
|
||||||
|
|
||||||
|
error: '__device_dts_ord_DT_N_ALIAS_led_P_gpios_IDX_0_PH_ORD' undeclared here (not in a function)
|
||||||
|
|
||||||
|
Adding board support
|
||||||
|
********************
|
||||||
|
|
||||||
|
To add support for your board, add something like this to your devicetree:
|
||||||
|
|
||||||
|
.. code-block:: DTS
|
||||||
|
|
||||||
|
/ {
|
||||||
|
aliases {
|
||||||
|
led0 = &myled0;
|
||||||
|
};
|
||||||
|
|
||||||
|
leds {
|
||||||
|
compatible = "gpio-leds";
|
||||||
|
myled0: led_0 {
|
||||||
|
gpios = <&gpio0 13 GPIO_ACTIVE_LOW>;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
The above sets your board's ``led0`` alias to use pin 13 on GPIO controller
|
||||||
|
``gpio0``. The pin flags :c:macro:`GPIO_ACTIVE_LOW` mean the LED is on when
|
||||||
|
the pin is set to its low state, and off when the pin is in its high state.
|
||||||
|
|
||||||
|
Tips:
|
||||||
|
|
||||||
|
- See :dtcompatible:`gpio-leds` for more information on defining GPIO-based LEDs
|
||||||
|
in devicetree.
|
||||||
|
|
||||||
|
- If you're not sure what to do, check the devicetrees for supported boards which
|
||||||
|
use the same SoC as your target. See :ref:`get-devicetree-outputs` for details.
|
||||||
|
|
||||||
|
- See :zephyr_file:`include/zephyr/dt-bindings/gpio/gpio.h` for the flags you can use
|
||||||
|
in devicetree.
|
||||||
|
|
||||||
|
- If the LED is built in to your board hardware, the alias should be defined in
|
||||||
|
your :ref:`BOARD.dts file <devicetree-in-out-files>`. Otherwise, you can
|
||||||
|
define one in a :ref:`devicetree overlay <set-devicetree-overlays>`.
|
||||||
@@ -0,0 +1,51 @@
|
|||||||
|
|
||||||
|
if BOARD_SERVO2350
|
||||||
|
|
||||||
|
menu "USB sample options"
|
||||||
|
depends on USB_DEVICE_STACK_NEXT
|
||||||
|
|
||||||
|
config USBD_MANUFACTURER
|
||||||
|
string "USB device sample manufacturer string"
|
||||||
|
default "Zephyr Project"
|
||||||
|
help
|
||||||
|
USB device sample manufacturer string.
|
||||||
|
|
||||||
|
config USBD_PRODUCT
|
||||||
|
string "USB device sample product string"
|
||||||
|
default "USBD sample"
|
||||||
|
help
|
||||||
|
USB device sample product stringa.
|
||||||
|
|
||||||
|
config USBD_PID
|
||||||
|
hex "USB device sample Product ID"
|
||||||
|
default 0x0001
|
||||||
|
help
|
||||||
|
USB device sample Product ID.
|
||||||
|
|
||||||
|
config USBD_SELF_POWERED
|
||||||
|
bool "USB device sample Self-powered attribute"
|
||||||
|
default y
|
||||||
|
help
|
||||||
|
Set the Self-powered attribute in the sample configuration.
|
||||||
|
|
||||||
|
config USBD_REMOTE_WAKEUP
|
||||||
|
bool "USB device sample Remote Wakeup attribute"
|
||||||
|
help
|
||||||
|
Set the Remote Wakeup attribute in the sample configuration.
|
||||||
|
|
||||||
|
config USBD_MAX_POWER
|
||||||
|
int "USB device sample bMaxPower value"
|
||||||
|
default 125
|
||||||
|
range 0 250
|
||||||
|
help
|
||||||
|
bMaxPower value in the sample configuration in 2 mA units.
|
||||||
|
|
||||||
|
config USBD_20_EXTENSION_DESC
|
||||||
|
bool "Use default USB 2.0 Extension Descriptor"
|
||||||
|
depends on USBD_BOS_SUPPORT
|
||||||
|
help
|
||||||
|
Set bcdUSB value to 0201 and use default USB 2.0 Extension Descriptor.
|
||||||
|
|
||||||
|
endmenu
|
||||||
|
|
||||||
|
endif # BOARD_SERVO2350
|
||||||
@@ -0,0 +1,4 @@
|
|||||||
|
|
||||||
|
config BOARD_SERVO2350
|
||||||
|
select SOC_RP2350B_HAZARD3 if BOARD_SERVO2350_RP2350B_HAZARD3
|
||||||
|
select SOC_RP2350B_M33 if BOARD_SERVO2350_RP2350B_M33
|
||||||
@@ -0,0 +1,20 @@
|
|||||||
|
|
||||||
|
board_runner_args(openocd --cmd-pre-init "source [find interface/cmsis-dap.cfg]")
|
||||||
|
if(CONFIG_ARM)
|
||||||
|
board_runner_args(openocd --cmd-pre-init "source [find target/rp2350.cfg]")
|
||||||
|
else()
|
||||||
|
board_runner_args(openocd --cmd-pre-init "source [find target/rp2350-riscv.cfg]")
|
||||||
|
endif()
|
||||||
|
|
||||||
|
board_runner_args(probe-rs "--chip=RP235x")
|
||||||
|
|
||||||
|
# The adapter speed is expected to be set by interface configuration.
|
||||||
|
# The Raspberry Pi's OpenOCD fork doesn't, so match their documentation at
|
||||||
|
# https://www.raspberrypi.com/documentation/microcontrollers/debug-probe.html#debugging-with-swd
|
||||||
|
board_runner_args(openocd --cmd-pre-init "set_adapter_speed_if_not_set 5000")
|
||||||
|
|
||||||
|
board_runner_args(uf2 "--board-id=RP2350")
|
||||||
|
|
||||||
|
include(${ZEPHYR_BASE}/boards/common/openocd.board.cmake)
|
||||||
|
include(${ZEPHYR_BASE}/boards/common/probe-rs.board.cmake)
|
||||||
|
include(${ZEPHYR_BASE}/boards/common/uf2.board.cmake)
|
||||||
@@ -0,0 +1,6 @@
|
|||||||
|
board:
|
||||||
|
name: servo2350
|
||||||
|
full_name: Servo2350
|
||||||
|
vendor: arm
|
||||||
|
socs:
|
||||||
|
- name: rp2350b
|
||||||
@@ -0,0 +1,75 @@
|
|||||||
|
#include <zephyr/dt-bindings/pinctrl/rpi-pico-rp2350b-pinctrl.h>
|
||||||
|
|
||||||
|
&pinctrl {
|
||||||
|
uart0_default: uart0_default {
|
||||||
|
group1 {
|
||||||
|
pinmux = <UART0_TX_P0>;
|
||||||
|
};
|
||||||
|
|
||||||
|
group2 {
|
||||||
|
pinmux = <UART0_RX_P1>;
|
||||||
|
input-enable;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
uart1_default: uart1_default {
|
||||||
|
// These are the same pins as SPI
|
||||||
|
group1 {
|
||||||
|
pinmux = <UART1_TX_P26>;
|
||||||
|
};
|
||||||
|
|
||||||
|
group2 {
|
||||||
|
pinmux = <UART1_RX_P27>;
|
||||||
|
input-enable;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
i2c0_default: i2c0_default {
|
||||||
|
group1 {
|
||||||
|
pinmux = <I2C0_SDA_P36>, <I2C0_SCL_P37>;
|
||||||
|
input-enable;
|
||||||
|
input-schmitt-enable;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
spi0_default: spi0_default {
|
||||||
|
group1 {
|
||||||
|
pinmux = <SPI0_CSN_P17>, <SPI0_SCK_P18>, <SPI0_TX_P19>;
|
||||||
|
};
|
||||||
|
|
||||||
|
group2 {
|
||||||
|
pinmux = <SPI0_RX_P16>;
|
||||||
|
input-enable;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
pwm_default: pwm_default {
|
||||||
|
group1 {
|
||||||
|
pinmux = <PWM_0A_P0>,
|
||||||
|
<PWM_0B_P1>,
|
||||||
|
<PWM_1A_P2>,
|
||||||
|
<PWM_1B_P3>,
|
||||||
|
<PWM_2A_P4>,
|
||||||
|
<PWM_2B_P5>,
|
||||||
|
<PWM_3A_P6>,
|
||||||
|
<PWM_3B_P7>,
|
||||||
|
<PWM_4A_P8>,
|
||||||
|
<PWM_4B_P9>,
|
||||||
|
<PWM_5A_P10>,
|
||||||
|
<PWM_5B_P11>,
|
||||||
|
<PWM_6A_P12>,
|
||||||
|
<PWM_6B_P13>,
|
||||||
|
<PWM_7A_P14>,
|
||||||
|
<PWM_7B_P15>,
|
||||||
|
<PWM_8A_P32>,
|
||||||
|
<PWM_8B_P33>;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
adc_default: adc_default {
|
||||||
|
group1 {
|
||||||
|
pinmux = <ADC_CH0_P40>, <ADC_CH1_P41>, <ADC_CH2_P42>, <ADC_CH3_P43>;
|
||||||
|
input-enable;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
@@ -0,0 +1,406 @@
|
|||||||
|
#include <freq.h>
|
||||||
|
|
||||||
|
#include <zephyr/dt-bindings/i2c/i2c.h>
|
||||||
|
#include <zephyr/dt-bindings/pwm/pwm.h>
|
||||||
|
#include <zephyr/dt-bindings/input/input-event-codes.h>
|
||||||
|
|
||||||
|
#include "servo2350-pinctrl.dtsi"
|
||||||
|
|
||||||
|
/ {
|
||||||
|
chosen {
|
||||||
|
zephyr,sram = &sram0;
|
||||||
|
zephyr,flash = &flash0;
|
||||||
|
zephyr,console = &cdc_acm_uart0;
|
||||||
|
zephyr,shell-uart = &cdc_acm_uart0;
|
||||||
|
zephyr,code-partition = &code_partition;
|
||||||
|
};
|
||||||
|
|
||||||
|
zephyr,user {
|
||||||
|
io-channels = <&adc 0>, /* ADC channel 1 (adc2) - connected to mux */
|
||||||
|
<&adc 1>, /* ADC channel 0 (adc1) - direct channel 16 */
|
||||||
|
<&adc 2>; /* ADC channel 2 (adc3) - direct channel 17 */
|
||||||
|
};
|
||||||
|
|
||||||
|
leds {
|
||||||
|
compatible = "gpio-leds";
|
||||||
|
|
||||||
|
led0: led_0 {
|
||||||
|
gpios = <&gpio0 24 GPIO_ACTIVE_LOW>;
|
||||||
|
label = "LED0";
|
||||||
|
};
|
||||||
|
led1: led_1 {
|
||||||
|
gpios = <&gpio0 25 GPIO_ACTIVE_LOW>;
|
||||||
|
label = "LED1";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
imu_int1_pin {
|
||||||
|
compatible = "gpio-keys";
|
||||||
|
|
||||||
|
imu_int1: imu_int1 {
|
||||||
|
gpios = <&gpio0 22 GPIO_ACTIVE_HIGH>;
|
||||||
|
label = "IMU_INT1";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
digital_inputs {
|
||||||
|
compatible = "gpio-keys";
|
||||||
|
|
||||||
|
digital1: digital_1 {
|
||||||
|
gpios = <&gpio0 16 GPIO_ACTIVE_HIGH>;
|
||||||
|
label = "DIGITAL_1";
|
||||||
|
};
|
||||||
|
digital2: digital_2 {
|
||||||
|
gpios = <&gpio0 17 GPIO_ACTIVE_HIGH>;
|
||||||
|
label = "DIGITAL_2";
|
||||||
|
};
|
||||||
|
digital3: digital_3 {
|
||||||
|
gpios = <&gpio0 18 GPIO_ACTIVE_HIGH>;
|
||||||
|
label = "DIGITAL_3";
|
||||||
|
};
|
||||||
|
digital4: digital_4 {
|
||||||
|
gpios = <&gpio0 19 GPIO_ACTIVE_HIGH>;
|
||||||
|
label = "DIGITAL_4";
|
||||||
|
};
|
||||||
|
digital5: digital_5 {
|
||||||
|
gpios = <&gpio0 20 GPIO_ACTIVE_HIGH>;
|
||||||
|
label = "DIGITAL_5";
|
||||||
|
};
|
||||||
|
digital6: digital_6 {
|
||||||
|
gpios = <&gpio0 21 GPIO_ACTIVE_HIGH>;
|
||||||
|
label = "DIGITAL_6";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
digital_outputs {
|
||||||
|
compatible = "gpio-leds";
|
||||||
|
|
||||||
|
leg0_enable: leg0_enable {
|
||||||
|
gpios = <&gpio0 29 GPIO_ACTIVE_HIGH>;
|
||||||
|
label = "LEG0_ENABLE";
|
||||||
|
};
|
||||||
|
leg1_enable: leg1_enable {
|
||||||
|
gpios = <&gpio0 30 GPIO_ACTIVE_HIGH>;
|
||||||
|
label = "LEG1_ENABLE";
|
||||||
|
};
|
||||||
|
leg2_enable: leg2_enable {
|
||||||
|
gpios = <&gpio0 31 GPIO_ACTIVE_HIGH>;
|
||||||
|
label = "LEG2_ENABLE";
|
||||||
|
};
|
||||||
|
leg3_enable: leg3_enable {
|
||||||
|
gpios = <&gpio0_hi 11 GPIO_ACTIVE_HIGH>;
|
||||||
|
label = "LEG3_ENABLE";
|
||||||
|
};
|
||||||
|
leg4_enable: leg4_enable {
|
||||||
|
gpios = <&gpio0_hi 12 GPIO_ACTIVE_HIGH>;
|
||||||
|
label = "LEG4_ENABLE";
|
||||||
|
};
|
||||||
|
leg5_enable: leg5_enable {
|
||||||
|
gpios = <&gpio0_hi 13 GPIO_ACTIVE_HIGH>;
|
||||||
|
label = "LEG5_ENABLE";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
pwm_servos {
|
||||||
|
compatible = "pwm-leds";
|
||||||
|
|
||||||
|
servo1: servo_1 {
|
||||||
|
pwms = <&pwm 0 PWM_USEC(20000) PWM_POLARITY_NORMAL>;
|
||||||
|
label = "SERVO_1";
|
||||||
|
};
|
||||||
|
servo2: servo_2 {
|
||||||
|
pwms = <&pwm 1 PWM_USEC(20000) PWM_POLARITY_NORMAL>;
|
||||||
|
label = "SERVO_2";
|
||||||
|
};
|
||||||
|
servo3: servo_3 {
|
||||||
|
pwms = <&pwm 2 PWM_USEC(20000) PWM_POLARITY_NORMAL>;
|
||||||
|
label = "SERVO_3";
|
||||||
|
};
|
||||||
|
servo4: servo_4 {
|
||||||
|
pwms = <&pwm 3 PWM_USEC(20000) PWM_POLARITY_NORMAL>;
|
||||||
|
label = "SERVO_4";
|
||||||
|
};
|
||||||
|
servo5: servo_5 {
|
||||||
|
pwms = <&pwm 4 PWM_USEC(20000) PWM_POLARITY_NORMAL>;
|
||||||
|
label = "SERVO_5";
|
||||||
|
};
|
||||||
|
servo6: servo_6 {
|
||||||
|
pwms = <&pwm 5 PWM_USEC(20000) PWM_POLARITY_NORMAL>;
|
||||||
|
label = "SERVO_6";
|
||||||
|
};
|
||||||
|
servo7: servo_7 {
|
||||||
|
pwms = <&pwm 6 PWM_USEC(20000) PWM_POLARITY_NORMAL>;
|
||||||
|
label = "SERVO_7";
|
||||||
|
};
|
||||||
|
servo8: servo_8 {
|
||||||
|
pwms = <&pwm 7 PWM_USEC(20000) PWM_POLARITY_NORMAL>;
|
||||||
|
label = "SERVO_8";
|
||||||
|
};
|
||||||
|
servo9: servo_9 {
|
||||||
|
pwms = <&pwm 8 PWM_USEC(20000) PWM_POLARITY_NORMAL>;
|
||||||
|
label = "SERVO_9";
|
||||||
|
};
|
||||||
|
servo10: servo_10 {
|
||||||
|
pwms = <&pwm 9 PWM_USEC(20000) PWM_POLARITY_NORMAL>;
|
||||||
|
label = "SERVO_10";
|
||||||
|
};
|
||||||
|
servo11: servo_11 {
|
||||||
|
pwms = <&pwm 10 PWM_USEC(20000) PWM_POLARITY_NORMAL>;
|
||||||
|
label = "SERVO_11";
|
||||||
|
};
|
||||||
|
servo12: servo_12 {
|
||||||
|
pwms = <&pwm 11 PWM_USEC(20000) PWM_POLARITY_NORMAL>;
|
||||||
|
label = "SERVO_12";
|
||||||
|
};
|
||||||
|
servo13: servo_13 {
|
||||||
|
pwms = <&pwm 12 PWM_USEC(20000) PWM_POLARITY_NORMAL>;
|
||||||
|
label = "SERVO_13";
|
||||||
|
};
|
||||||
|
servo14: servo_14 {
|
||||||
|
pwms = <&pwm 13 PWM_USEC(20000) PWM_POLARITY_NORMAL>;
|
||||||
|
label = "SERVO_14";
|
||||||
|
};
|
||||||
|
servo15: servo_15 {
|
||||||
|
pwms = <&pwm 14 PWM_USEC(20000) PWM_POLARITY_NORMAL>;
|
||||||
|
label = "SERVO_15";
|
||||||
|
};
|
||||||
|
servo16: servo_16 {
|
||||||
|
pwms = <&pwm 15 PWM_USEC(20000) PWM_POLARITY_NORMAL>;
|
||||||
|
label = "SERVO_16";
|
||||||
|
};
|
||||||
|
servo17: servo_17 {
|
||||||
|
pwms = <&pwm 16 PWM_USEC(20000) PWM_POLARITY_NORMAL>;
|
||||||
|
label = "SERVO_17";
|
||||||
|
};
|
||||||
|
servo18: servo_18 {
|
||||||
|
pwms = <&pwm 17 PWM_USEC(20000) PWM_POLARITY_NORMAL>;
|
||||||
|
label = "SERVO_18";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
aliases {
|
||||||
|
watchdog0 = &wdt0;
|
||||||
|
led0 = &led0;
|
||||||
|
led1 = &led1;
|
||||||
|
imu = &icm45686;
|
||||||
|
imu-int1 = &imu_int1;
|
||||||
|
digital1 = &digital1;
|
||||||
|
digital2 = &digital2;
|
||||||
|
digital3 = &digital3;
|
||||||
|
digital4 = &digital4;
|
||||||
|
digital5 = &digital5;
|
||||||
|
digital6 = &digital6;
|
||||||
|
leg0-enable = &leg0_enable;
|
||||||
|
leg1-enable = &leg1_enable;
|
||||||
|
leg2-enable = &leg2_enable;
|
||||||
|
leg3-enable = &leg3_enable;
|
||||||
|
leg4-enable = &leg4_enable;
|
||||||
|
leg5-enable = &leg5_enable;
|
||||||
|
servo1 = &servo1;
|
||||||
|
servo2 = &servo2;
|
||||||
|
servo3 = &servo3;
|
||||||
|
servo4 = &servo4;
|
||||||
|
servo5 = &servo5;
|
||||||
|
servo6 = &servo6;
|
||||||
|
servo7 = &servo7;
|
||||||
|
servo8 = &servo8;
|
||||||
|
servo9 = &servo9;
|
||||||
|
servo10 = &servo10;
|
||||||
|
servo11 = &servo11;
|
||||||
|
servo12 = &servo12;
|
||||||
|
servo13 = &servo13;
|
||||||
|
servo14 = &servo14;
|
||||||
|
servo15 = &servo15;
|
||||||
|
servo16 = &servo16;
|
||||||
|
servo17 = &servo17;
|
||||||
|
servo18 = &servo18;
|
||||||
|
adc-mux = &adc1;
|
||||||
|
adc0 = &adc1;
|
||||||
|
adc2 = &adc2;
|
||||||
|
adc3 = &adc3;
|
||||||
|
uart0 = &uart0;
|
||||||
|
uart-bridge = &uart1;
|
||||||
|
};
|
||||||
|
|
||||||
|
pico_header: connector {
|
||||||
|
compatible = "raspberrypi,pico-header";
|
||||||
|
#gpio-cells = <2>;
|
||||||
|
gpio-map-mask = <0xffffffff 0xffffffc0>;
|
||||||
|
gpio-map-pass-thru = <0 0x3f>;
|
||||||
|
gpio-map = <0 0 &gpio0 0 0>, /* GP0 */
|
||||||
|
<1 0 &gpio0 1 0>, /* GP1 */
|
||||||
|
<2 0 &gpio0 2 0>, /* GP2 */
|
||||||
|
<3 0 &gpio0 3 0>, /* GP3 */
|
||||||
|
<4 0 &gpio0 4 0>, /* GP4 */
|
||||||
|
<5 0 &gpio0 5 0>, /* GP5 */
|
||||||
|
<6 0 &gpio0 6 0>, /* GP6 */
|
||||||
|
<7 0 &gpio0 7 0>, /* GP7 */
|
||||||
|
<8 0 &gpio0 8 0>, /* GP8 */
|
||||||
|
<9 0 &gpio0 9 0>, /* GP9 */
|
||||||
|
<10 0 &gpio0 10 0>, /* GP10 */
|
||||||
|
<11 0 &gpio0 11 0>, /* GP11 */
|
||||||
|
<12 0 &gpio0 12 0>, /* GP12 */
|
||||||
|
<13 0 &gpio0 13 0>, /* GP13 */
|
||||||
|
<14 0 &gpio0 14 0>, /* GP14 */
|
||||||
|
<15 0 &gpio0 15 0>, /* GP15 */
|
||||||
|
<16 0 &gpio0 16 0>, /* GP16 */
|
||||||
|
<17 0 &gpio0 17 0>, /* GP17 */
|
||||||
|
<18 0 &gpio0 18 0>, /* GP18 */
|
||||||
|
<19 0 &gpio0 19 0>, /* GP19 */
|
||||||
|
<20 0 &gpio0 20 0>, /* GP20 */
|
||||||
|
<21 0 &gpio0 21 0>, /* GP21 */
|
||||||
|
<22 0 &gpio0 22 0>, /* GP22 */
|
||||||
|
<26 0 &gpio0 26 0>, /* GP26 */
|
||||||
|
<27 0 &gpio0 27 0>, /* GP27 */
|
||||||
|
<28 0 &gpio0 28 0>; /* GP28 */
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
&flash0 {
|
||||||
|
/* W25Q16JVUXIQ_TR: 16M-bit (2MB) NOR Flash */
|
||||||
|
reg = <0x10000000 DT_SIZE_M(2)>;
|
||||||
|
|
||||||
|
partitions {
|
||||||
|
compatible = "fixed-partitions";
|
||||||
|
#address-cells = <1>;
|
||||||
|
#size-cells = <1>;
|
||||||
|
|
||||||
|
/* Code partition: 256KB for application code (starts at beginning of flash) */
|
||||||
|
code_partition: partition@0 {
|
||||||
|
label = "code";
|
||||||
|
reg = <0x00000000 DT_SIZE_K(256)>;
|
||||||
|
read-only;
|
||||||
|
};
|
||||||
|
|
||||||
|
/* Settings partition: 64KB for settings data */
|
||||||
|
settings_partition: partition@40000 {
|
||||||
|
label = "settings";
|
||||||
|
reg = <0x00040000 DT_SIZE_K(64)>;
|
||||||
|
};
|
||||||
|
|
||||||
|
/* Data partition: 1728KB for data storage (largest partition) */
|
||||||
|
data_partition: partition@50000 {
|
||||||
|
label = "data";
|
||||||
|
reg = <0x00050000 DT_SIZE_K(1728)>;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
&uart0 {
|
||||||
|
current-speed = <115200>;
|
||||||
|
status = "okay";
|
||||||
|
pinctrl-0 = <&uart0_default>;
|
||||||
|
pinctrl-names = "default";
|
||||||
|
};
|
||||||
|
|
||||||
|
&uart1 {
|
||||||
|
current-speed = <115200>;
|
||||||
|
status = "okay";
|
||||||
|
pinctrl-0 = <&uart1_default>;
|
||||||
|
pinctrl-names = "default";
|
||||||
|
};
|
||||||
|
|
||||||
|
zephyr_udc0: &usbd {
|
||||||
|
status = "okay";
|
||||||
|
cdc_acm_uart0: cdc_acm_uart0 {
|
||||||
|
compatible = "zephyr,cdc-acm-uart";
|
||||||
|
label = "Zephyr USB CDC-ACM";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
gpio0_lo: &gpio0 {
|
||||||
|
status = "okay";
|
||||||
|
};
|
||||||
|
|
||||||
|
&gpio0_hi {
|
||||||
|
status = "okay";
|
||||||
|
|
||||||
|
};
|
||||||
|
|
||||||
|
&spi0 {
|
||||||
|
clock-frequency = <DT_FREQ_M(8)>;
|
||||||
|
pinctrl-0 = <&spi0_default>;
|
||||||
|
pinctrl-names = "default";
|
||||||
|
status = "disabled";
|
||||||
|
};
|
||||||
|
|
||||||
|
&i2c0 {
|
||||||
|
pinctrl-0 = <&i2c0_default>;
|
||||||
|
pinctrl-names = "default";
|
||||||
|
status = "okay";
|
||||||
|
clock-frequency = <I2C_BITRATE_FAST>;
|
||||||
|
|
||||||
|
icm45686: icm45686@68 {
|
||||||
|
compatible = "invensense,icm42688";
|
||||||
|
reg = <0x68>;
|
||||||
|
status = "okay";
|
||||||
|
|
||||||
|
int1-gpios = <&gpio0 22 GPIO_ACTIVE_HIGH>;
|
||||||
|
int2-gpios = <&gpio0 23 GPIO_ACTIVE_HIGH>;
|
||||||
|
|
||||||
|
accel-pwr-mode = <3>;
|
||||||
|
accel-ord = <9>;
|
||||||
|
accel-fs = <16>;
|
||||||
|
accel-lpf = <0>;
|
||||||
|
|
||||||
|
gyro-pwr-mode = <0>; /* turn off */
|
||||||
|
gyro-ord = <9>;
|
||||||
|
gyro-fs = <2000>;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
adc0: &adc {
|
||||||
|
pinctrl-0 = <&adc_default>;
|
||||||
|
pinctrl-names = "default";
|
||||||
|
status = "okay";
|
||||||
|
#address-cells = <1>;
|
||||||
|
#size-cells = <0>;
|
||||||
|
|
||||||
|
adc1: channel@0 {
|
||||||
|
reg = <0>;
|
||||||
|
zephyr,gain = "ADC_GAIN_1";
|
||||||
|
zephyr,reference = "ADC_REF_INTERNAL";
|
||||||
|
zephyr,acquisition-time = <ADC_ACQ_TIME_DEFAULT>;
|
||||||
|
zephyr,resolution = <12>;
|
||||||
|
};
|
||||||
|
|
||||||
|
adc2: channel@1 {
|
||||||
|
reg = <1>;
|
||||||
|
zephyr,gain = "ADC_GAIN_1";
|
||||||
|
zephyr,reference = "ADC_REF_INTERNAL";
|
||||||
|
zephyr,acquisition-time = <ADC_ACQ_TIME_DEFAULT>;
|
||||||
|
zephyr,resolution = <12>;
|
||||||
|
};
|
||||||
|
|
||||||
|
adc3: channel@2 {
|
||||||
|
reg = <2>;
|
||||||
|
zephyr,gain = "ADC_GAIN_1";
|
||||||
|
zephyr,reference = "ADC_REF_INTERNAL";
|
||||||
|
zephyr,acquisition-time = <ADC_ACQ_TIME_DEFAULT>;
|
||||||
|
zephyr,resolution = <12>;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
&pwm {
|
||||||
|
status = "okay";
|
||||||
|
pinctrl-0 = <&pwm_default>;
|
||||||
|
pinctrl-names = "default";
|
||||||
|
divider-int-0 = <64>;
|
||||||
|
};
|
||||||
|
|
||||||
|
&timer0 {
|
||||||
|
status = "okay";
|
||||||
|
};
|
||||||
|
|
||||||
|
pico_spi: &spi0 {};
|
||||||
|
|
||||||
|
pico_i2c0: &i2c0 {};
|
||||||
|
|
||||||
|
pico_i2c1: &i2c1 {};
|
||||||
|
|
||||||
|
pico_serial: &uart0 {};
|
||||||
|
|
||||||
|
zephyr_i2c: &i2c0 {};
|
||||||
|
|
||||||
|
imu: &icm45686 {};
|
||||||
@@ -0,0 +1,12 @@
|
|||||||
|
/dts-v1/;
|
||||||
|
|
||||||
|
/* The build system assumes that there's a cpucluster-specific file.
|
||||||
|
*
|
||||||
|
* This file provides composition of the device tree:
|
||||||
|
* 1. The common features of the SoC
|
||||||
|
* 2. Core-specific configuration.
|
||||||
|
* 3. Board-specific configuration.
|
||||||
|
*/
|
||||||
|
#include <raspberrypi/rpi_pico/rp2350b.dtsi>
|
||||||
|
#include <riscv/raspberrypi/hazard3.dtsi>
|
||||||
|
#include "servo2350.dtsi"
|
||||||
@@ -0,0 +1,20 @@
|
|||||||
|
identifier: servo2350/rp2350b/hazard3
|
||||||
|
name: Servo2350 (Hazard3)
|
||||||
|
type: mcu
|
||||||
|
arch: riscv
|
||||||
|
flash: 16384
|
||||||
|
ram: 8192
|
||||||
|
toolchain:
|
||||||
|
- zephyr
|
||||||
|
supported:
|
||||||
|
- adc
|
||||||
|
- clock
|
||||||
|
- counter
|
||||||
|
- dma
|
||||||
|
- gpio
|
||||||
|
- hwinfo
|
||||||
|
- i2c
|
||||||
|
- pwm
|
||||||
|
- spi
|
||||||
|
- usbd
|
||||||
|
- uart
|
||||||
@@ -0,0 +1,10 @@
|
|||||||
|
CONFIG_BUILD_OUTPUT_HEX=y
|
||||||
|
CONFIG_BUILD_OUTPUT_UF2=y
|
||||||
|
CONFIG_CLOCK_CONTROL=y
|
||||||
|
CONFIG_CONSOLE=y
|
||||||
|
CONFIG_GPIO=y
|
||||||
|
CONFIG_RESET=y
|
||||||
|
CONFIG_SERIAL=y
|
||||||
|
CONFIG_UART_CONSOLE=y
|
||||||
|
CONFIG_UART_INTERRUPT_DRIVEN=y
|
||||||
|
CONFIG_USE_DT_CODE_PARTITION=y
|
||||||
@@ -0,0 +1,12 @@
|
|||||||
|
/dts-v1/;
|
||||||
|
|
||||||
|
/* The build system assumes that there's a cpucluster-specific file.
|
||||||
|
*
|
||||||
|
* This file provides composition of the device tree:
|
||||||
|
* 1. The common features of the SoC
|
||||||
|
* 2. Core-specific configuration.
|
||||||
|
* 3. Board-specific configuration.
|
||||||
|
*/
|
||||||
|
#include <raspberrypi/rpi_pico/rp2350b.dtsi>
|
||||||
|
#include <raspberrypi/rpi_pico/m33.dtsi>
|
||||||
|
#include "servo2350.dtsi"
|
||||||
@@ -0,0 +1,21 @@
|
|||||||
|
identifier: servo2350/rp2350b/m33
|
||||||
|
name: Servo2350 (Cortex-M33)
|
||||||
|
type: mcu
|
||||||
|
arch: arm
|
||||||
|
flash: 16384
|
||||||
|
ram: 8192
|
||||||
|
toolchain:
|
||||||
|
- zephyr
|
||||||
|
- gnuarmemb
|
||||||
|
supported:
|
||||||
|
- adc
|
||||||
|
- clock
|
||||||
|
- counter
|
||||||
|
- dma
|
||||||
|
- gpio
|
||||||
|
- hwinfo
|
||||||
|
- i2c
|
||||||
|
- pwm
|
||||||
|
- spi
|
||||||
|
- usbd
|
||||||
|
- uart
|
||||||
@@ -0,0 +1,10 @@
|
|||||||
|
CONFIG_BUILD_OUTPUT_HEX=y
|
||||||
|
CONFIG_BUILD_OUTPUT_UF2=y
|
||||||
|
CONFIG_CLOCK_CONTROL=y
|
||||||
|
CONFIG_CONSOLE=y
|
||||||
|
CONFIG_GPIO=y
|
||||||
|
CONFIG_RESET=y
|
||||||
|
CONFIG_SERIAL=y
|
||||||
|
CONFIG_UART_CONSOLE=y
|
||||||
|
CONFIG_UART_INTERRUPT_DRIVEN=y
|
||||||
|
CONFIG_USE_DT_CODE_PARTITION=y
|
||||||
@@ -0,0 +1,8 @@
|
|||||||
|
# Checking and set 'adapter speed'.
|
||||||
|
# Set the adaptor speed, if unset, and given as an argument.
|
||||||
|
proc set_adapter_speed_if_not_set { speed } {
|
||||||
|
puts "checking adapter speed..."
|
||||||
|
if { [catch {adapter speed} ret] } {
|
||||||
|
adapter speed $speed
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,2 @@
|
|||||||
|
|
||||||
|
add_subdirectory(multiplexer)
|
||||||
@@ -0,0 +1,5 @@
|
|||||||
|
menu "Servo2350 Device Drivers"
|
||||||
|
|
||||||
|
rsource "multiplexer/Kconfig"
|
||||||
|
|
||||||
|
endmenu
|
||||||
@@ -0,0 +1 @@
|
|||||||
|
add_subdirectory_ifdef(CONFIG_CD74HC4067 cd74hc4067)
|
||||||
@@ -0,0 +1,5 @@
|
|||||||
|
menu "Multiplexer Drivers"
|
||||||
|
|
||||||
|
rsource "cd74hc4067/Kconfig"
|
||||||
|
|
||||||
|
endmenu
|
||||||
@@ -0,0 +1,5 @@
|
|||||||
|
if(CONFIG_CD74HC4067)
|
||||||
|
target_sources(app PRIVATE ${CMAKE_CURRENT_LIST_DIR}/cd74hc4067.c)
|
||||||
|
target_include_directories(app PRIVATE ${CMAKE_CURRENT_LIST_DIR})
|
||||||
|
endif()
|
||||||
|
|
||||||
@@ -0,0 +1,23 @@
|
|||||||
|
menuconfig CD74HC4067
|
||||||
|
bool "TI CD74HC4067 analog multiplexer"
|
||||||
|
depends on GPIO
|
||||||
|
help
|
||||||
|
Enable support for the TI CD74HC4067 16-channel analog/digital
|
||||||
|
multiplexer/demultiplexer controlled through GPIO selection pins.
|
||||||
|
|
||||||
|
if CD74HC4067
|
||||||
|
|
||||||
|
config CD74HC4067_INIT_PRIORITY
|
||||||
|
int "Initialization priority"
|
||||||
|
default 80
|
||||||
|
help
|
||||||
|
Device initialization priority for the CD74HC4067 driver. This should
|
||||||
|
be higher (lower numeric value) than any clients that depend on the
|
||||||
|
multiplexer being ready.
|
||||||
|
|
||||||
|
module = CD74HC4067
|
||||||
|
module-str = cd74hc4067
|
||||||
|
source "subsys/logging/Kconfig.template.log_config"
|
||||||
|
|
||||||
|
endif # CD74HC4067
|
||||||
|
|
||||||
@@ -0,0 +1,217 @@
|
|||||||
|
|
||||||
|
#define DT_DRV_COMPAT cd74hc4067
|
||||||
|
|
||||||
|
#include <errno.h>
|
||||||
|
#include <stdbool.h>
|
||||||
|
#include <zephyr/device.h>
|
||||||
|
#include <zephyr/devicetree.h>
|
||||||
|
#include <zephyr/drivers/gpio.h>
|
||||||
|
#include <zephyr/kernel.h>
|
||||||
|
#include <zephyr/logging/log.h>
|
||||||
|
#include <zephyr/sys/util.h>
|
||||||
|
|
||||||
|
#include "cd74hc4067.h"
|
||||||
|
|
||||||
|
LOG_MODULE_REGISTER(cd74hc4067, CONFIG_CD74HC4067_LOG_LEVEL);
|
||||||
|
|
||||||
|
#define CD74HC4067_CHANNEL_COUNT 16U
|
||||||
|
#define CD74HC4067_SELECTION_PIN_COUNT 4U
|
||||||
|
|
||||||
|
struct cd74hc4067_config {
|
||||||
|
struct gpio_dt_spec sel[CD74HC4067_SELECTION_PIN_COUNT];
|
||||||
|
struct gpio_dt_spec enable;
|
||||||
|
bool has_enable;
|
||||||
|
};
|
||||||
|
|
||||||
|
struct cd74hc4067_data {
|
||||||
|
struct k_mutex lock;
|
||||||
|
uint8_t current_channel;
|
||||||
|
bool enabled;
|
||||||
|
};
|
||||||
|
|
||||||
|
static int cd74hc4067_sync_enable_state(const struct device *dev, bool enable)
|
||||||
|
{
|
||||||
|
const struct cd74hc4067_config *cfg = dev->config;
|
||||||
|
struct cd74hc4067_data *data = dev->data;
|
||||||
|
int ret = 0;
|
||||||
|
|
||||||
|
if (!cfg->has_enable) {
|
||||||
|
if (!enable) {
|
||||||
|
return -ENOTSUP;
|
||||||
|
}
|
||||||
|
|
||||||
|
data->enabled = true;
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (!device_is_ready(cfg->enable.port)) {
|
||||||
|
LOG_ERR("%s enable GPIO not ready", dev->name);
|
||||||
|
return -ENODEV;
|
||||||
|
}
|
||||||
|
|
||||||
|
ret = gpio_pin_set_dt(&cfg->enable, enable ? 0 : 1);
|
||||||
|
if (ret == 0) {
|
||||||
|
data->enabled = enable;
|
||||||
|
}
|
||||||
|
|
||||||
|
return ret;
|
||||||
|
}
|
||||||
|
|
||||||
|
static int cd74hc4067_configure_gpios(const struct device *dev)
|
||||||
|
{
|
||||||
|
const struct cd74hc4067_config *cfg = dev->config;
|
||||||
|
int ret;
|
||||||
|
|
||||||
|
for (size_t i = 0; i < ARRAY_SIZE(cfg->sel); i++) {
|
||||||
|
const struct gpio_dt_spec *sel = &cfg->sel[i];
|
||||||
|
|
||||||
|
if (!device_is_ready(sel->port)) {
|
||||||
|
LOG_ERR("%s sel%zu GPIO not ready", dev->name, i);
|
||||||
|
return -ENODEV;
|
||||||
|
}
|
||||||
|
|
||||||
|
ret = gpio_pin_configure_dt(sel, GPIO_OUTPUT_INACTIVE);
|
||||||
|
if (ret != 0) {
|
||||||
|
LOG_ERR("%s failed to configure sel%zu GPIO (%d)", dev->name, i, ret);
|
||||||
|
return ret;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if (cfg->has_enable) {
|
||||||
|
if (!device_is_ready(cfg->enable.port)) {
|
||||||
|
LOG_ERR("%s enable GPIO not ready", dev->name);
|
||||||
|
return -ENODEV;
|
||||||
|
}
|
||||||
|
|
||||||
|
ret = gpio_pin_configure_dt(&cfg->enable, GPIO_OUTPUT_HIGH);
|
||||||
|
if (ret != 0) {
|
||||||
|
LOG_ERR("%s failed to configure enable GPIO (%d)", dev->name, ret);
|
||||||
|
return ret;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
static int cd74hc4067_init(const struct device *dev)
|
||||||
|
{
|
||||||
|
const struct cd74hc4067_config *cfg = dev->config;
|
||||||
|
struct cd74hc4067_data *data = dev->data;
|
||||||
|
int ret;
|
||||||
|
|
||||||
|
k_mutex_init(&data->lock);
|
||||||
|
data->current_channel = 0U;
|
||||||
|
data->enabled = !cfg->has_enable;
|
||||||
|
|
||||||
|
ret = cd74hc4067_configure_gpios(dev);
|
||||||
|
if (ret != 0) {
|
||||||
|
return ret;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Latch the default channel (0) */
|
||||||
|
ret = cd74hc4067_select_channel(dev, 0U);
|
||||||
|
if (ret != 0) {
|
||||||
|
return ret;
|
||||||
|
}
|
||||||
|
|
||||||
|
LOG_INF("%s initialized (enable pin %s)", dev->name, cfg->has_enable ? "present" : "absent");
|
||||||
|
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
int cd74hc4067_select_channel(const struct device *dev, uint8_t channel)
|
||||||
|
{
|
||||||
|
const struct cd74hc4067_config *cfg = dev->config;
|
||||||
|
struct cd74hc4067_data *data = dev->data;
|
||||||
|
int ret = 0;
|
||||||
|
|
||||||
|
if (channel >= CD74HC4067_CHANNEL_COUNT) {
|
||||||
|
return -EINVAL;
|
||||||
|
}
|
||||||
|
|
||||||
|
ret = k_mutex_lock(&data->lock, K_FOREVER);
|
||||||
|
if (ret != 0) {
|
||||||
|
return ret;
|
||||||
|
}
|
||||||
|
|
||||||
|
for (size_t i = 0; i < ARRAY_SIZE(cfg->sel); i++) {
|
||||||
|
ret = gpio_pin_set_dt(&cfg->sel[i], (channel >> i) & 0x1);
|
||||||
|
if (ret != 0) {
|
||||||
|
LOG_ERR("%s failed to drive sel%zu GPIO (%d)", dev->name, i, ret);
|
||||||
|
goto out;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
data->current_channel = channel;
|
||||||
|
|
||||||
|
out:
|
||||||
|
k_mutex_unlock(&data->lock);
|
||||||
|
return ret;
|
||||||
|
}
|
||||||
|
|
||||||
|
int cd74hc4067_enable(const struct device *dev)
|
||||||
|
{
|
||||||
|
struct cd74hc4067_data *data = dev->data;
|
||||||
|
int ret;
|
||||||
|
|
||||||
|
ret = k_mutex_lock(&data->lock, K_FOREVER);
|
||||||
|
if (ret != 0) {
|
||||||
|
return ret;
|
||||||
|
}
|
||||||
|
|
||||||
|
ret = cd74hc4067_sync_enable_state(dev, true);
|
||||||
|
|
||||||
|
k_mutex_unlock(&data->lock);
|
||||||
|
return ret;
|
||||||
|
}
|
||||||
|
|
||||||
|
int cd74hc4067_disable(const struct device *dev)
|
||||||
|
{
|
||||||
|
struct cd74hc4067_data *data = dev->data;
|
||||||
|
int ret;
|
||||||
|
|
||||||
|
ret = k_mutex_lock(&data->lock, K_FOREVER);
|
||||||
|
if (ret != 0) {
|
||||||
|
return ret;
|
||||||
|
}
|
||||||
|
|
||||||
|
ret = cd74hc4067_sync_enable_state(dev, false);
|
||||||
|
|
||||||
|
k_mutex_unlock(&data->lock);
|
||||||
|
return ret;
|
||||||
|
}
|
||||||
|
|
||||||
|
uint8_t cd74hc4067_get_current_channel(const struct device *dev)
|
||||||
|
{
|
||||||
|
struct cd74hc4067_data *data = dev->data;
|
||||||
|
uint8_t channel;
|
||||||
|
|
||||||
|
k_mutex_lock(&data->lock, K_FOREVER);
|
||||||
|
channel = data->current_channel;
|
||||||
|
k_mutex_unlock(&data->lock);
|
||||||
|
|
||||||
|
return channel;
|
||||||
|
}
|
||||||
|
|
||||||
|
#define CD74HC4067_DEFINE(inst) \
|
||||||
|
BUILD_ASSERT(DT_PROP_LEN(DT_DRV_INST(inst), sel_gpios) == CD74HC4067_SELECTION_PIN_COUNT, \
|
||||||
|
"cd74hc4067 requires exactly 4 selection GPIOs"); \
|
||||||
|
static const struct cd74hc4067_config cd74hc4067_config_##inst = { \
|
||||||
|
.sel = { \
|
||||||
|
GPIO_DT_SPEC_GET_BY_IDX(DT_DRV_INST(inst), sel_gpios, 0), \
|
||||||
|
GPIO_DT_SPEC_GET_BY_IDX(DT_DRV_INST(inst), sel_gpios, 1), \
|
||||||
|
GPIO_DT_SPEC_GET_BY_IDX(DT_DRV_INST(inst), sel_gpios, 2), \
|
||||||
|
GPIO_DT_SPEC_GET_BY_IDX(DT_DRV_INST(inst), sel_gpios, 3), \
|
||||||
|
}, \
|
||||||
|
.enable = COND_CODE_1(DT_INST_NODE_HAS_PROP(inst, enable_gpios), \
|
||||||
|
(GPIO_DT_SPEC_GET(DT_DRV_INST(inst), enable_gpios)), \
|
||||||
|
((struct gpio_dt_spec){0})), \
|
||||||
|
.has_enable = DT_INST_NODE_HAS_PROP(inst, enable_gpios), \
|
||||||
|
}; \
|
||||||
|
static struct cd74hc4067_data cd74hc4067_data_##inst; \
|
||||||
|
DEVICE_DT_INST_DEFINE(inst, cd74hc4067_init, NULL, &cd74hc4067_data_##inst, \
|
||||||
|
&cd74hc4067_config_##inst, POST_KERNEL, \
|
||||||
|
CONFIG_CD74HC4067_INIT_PRIORITY, NULL);
|
||||||
|
|
||||||
|
DT_INST_FOREACH_STATUS_OKAY(CD74HC4067_DEFINE)
|
||||||
|
|
||||||
@@ -0,0 +1,64 @@
|
|||||||
|
#ifndef SERVO2350_DRIVERS_MULTIPLEXER_CD74HC4067_H_
|
||||||
|
#define SERVO2350_DRIVERS_MULTIPLEXER_CD74HC4067_H_
|
||||||
|
|
||||||
|
#include <stdint.h>
|
||||||
|
|
||||||
|
#include <zephyr/device.h>
|
||||||
|
|
||||||
|
#ifdef __cplusplus
|
||||||
|
extern "C" {
|
||||||
|
#endif
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @brief Select one of the 16 multiplexed channels.
|
||||||
|
*
|
||||||
|
* @param dev CD74HC4067 device instance.
|
||||||
|
* @param channel Channel number to route (0-15).
|
||||||
|
*
|
||||||
|
* @retval 0 If the channel was selected.
|
||||||
|
* @retval -EINVAL If the channel number is out of range.
|
||||||
|
* @retval -ENODEV If one of the selection GPIOs is not ready.
|
||||||
|
* @retval other Negative errno value from the GPIO driver.
|
||||||
|
*/
|
||||||
|
int cd74hc4067_select_channel(const struct device *dev, uint8_t channel);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @brief Enable the multiplexer output (drives the /EN pin low).
|
||||||
|
*
|
||||||
|
* If the instance does not provide an enable GPIO, this call is a no-op.
|
||||||
|
*
|
||||||
|
* @param dev CD74HC4067 device instance.
|
||||||
|
*
|
||||||
|
* @retval 0 On success.
|
||||||
|
* @retval -ENODEV If the enable GPIO is not ready.
|
||||||
|
* @retval negative errno on GPIO failures.
|
||||||
|
*/
|
||||||
|
int cd74hc4067_enable(const struct device *dev);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @brief Disable the multiplexer output (drives the /EN pin high).
|
||||||
|
*
|
||||||
|
* @param dev CD74HC4067 device instance.
|
||||||
|
*
|
||||||
|
* @retval 0 On success.
|
||||||
|
* @retval -ENOTSUP If the instance does not expose an enable GPIO.
|
||||||
|
* @retval -ENODEV If the enable GPIO is not ready.
|
||||||
|
* @retval negative errno on GPIO failures.
|
||||||
|
*/
|
||||||
|
int cd74hc4067_disable(const struct device *dev);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @brief Return the last channel value written to the device.
|
||||||
|
*
|
||||||
|
* @param dev CD74HC4067 device instance.
|
||||||
|
*
|
||||||
|
* @return Channel number in the range [0, 15].
|
||||||
|
*/
|
||||||
|
uint8_t cd74hc4067_get_current_channel(const struct device *dev);
|
||||||
|
|
||||||
|
#ifdef __cplusplus
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#endif /* SERVO2350_DRIVERS_MULTIPLEXER_CD74HC4067_H_ */
|
||||||
|
|
||||||
@@ -0,0 +1,27 @@
|
|||||||
|
description: |
|
||||||
|
GPIO-controlled 16-channel analog/digital multiplexer/demultiplexer.
|
||||||
|
|
||||||
|
The CD74HC4067 has 4 selection pins (S0-S3) that select one of 16 channels.
|
||||||
|
Supports optional common enable pin for power management.
|
||||||
|
|
||||||
|
compatible: "cd74hc4067"
|
||||||
|
|
||||||
|
include: base.yaml
|
||||||
|
|
||||||
|
properties:
|
||||||
|
sel-gpios:
|
||||||
|
type: phandle-array
|
||||||
|
required: true
|
||||||
|
description: |
|
||||||
|
GPIO pins for channel selection (S0-S3).
|
||||||
|
Array must contain exactly 4 GPIOs:
|
||||||
|
- Index 0: S0 (LSB)
|
||||||
|
- Index 1: S1
|
||||||
|
- Index 2: S2
|
||||||
|
- Index 3: S3 (MSB)
|
||||||
|
|
||||||
|
enable-gpios:
|
||||||
|
type: phandle-array
|
||||||
|
description: |
|
||||||
|
Optional GPIO for common enable pin (E).
|
||||||
|
When low, enables the multiplexer. When high, disables it.
|
||||||
@@ -0,0 +1,31 @@
|
|||||||
|
# Basic
|
||||||
|
CONFIG_GPIO=y
|
||||||
|
CONFIG_PWM=y
|
||||||
|
|
||||||
|
# Serial
|
||||||
|
CONFIG_SERIAL=y
|
||||||
|
CONFIG_CONSOLE=y
|
||||||
|
CONFIG_UART_CONSOLE=y
|
||||||
|
CONFIG_STDOUT_CONSOLE=y
|
||||||
|
CONFIG_UART_LINE_CTRL=y
|
||||||
|
|
||||||
|
# USB
|
||||||
|
CONFIG_USB_DEVICE_STACK_NEXT=y
|
||||||
|
CONFIG_CDC_ACM_SERIAL_INITIALIZE_AT_BOOT=y
|
||||||
|
CONFIG_CDC_ACM_SERIAL_PRODUCT_STRING="Servo2350"
|
||||||
|
CONFIG_CDC_ACM_SERIAL_PID=0x0004
|
||||||
|
|
||||||
|
# Route console/logs to USB CDC ACM (configured via device tree)
|
||||||
|
CONFIG_LOG=n
|
||||||
|
CONFIG_LOG_DEFAULT_LEVEL=3
|
||||||
|
CONFIG_UART_CONSOLE=y
|
||||||
|
CONFIG_LOG_BACKEND_UART=y
|
||||||
|
|
||||||
|
# Shell
|
||||||
|
CONFIG_SHELL=y
|
||||||
|
CONFIG_USBD_SHELL=y
|
||||||
|
CONFIG_SHELL_HISTORY=y
|
||||||
|
|
||||||
|
# ZBUS Configuration
|
||||||
|
CONFIG_ZBUS=y
|
||||||
|
CONFIG_ZBUS_RUNTIME_OBSERVERS=y
|
||||||
@@ -0,0 +1,12 @@
|
|||||||
|
sample:
|
||||||
|
name: Blinky Sample
|
||||||
|
tests:
|
||||||
|
sample.basic.blinky:
|
||||||
|
tags:
|
||||||
|
- LED
|
||||||
|
- gpio
|
||||||
|
filter: dt_enabled_alias_with_parent_compat("led0", "gpio-leds")
|
||||||
|
depends_on: gpio
|
||||||
|
harness: led
|
||||||
|
integration_platforms:
|
||||||
|
- frdm_k64f
|
||||||
@@ -0,0 +1,103 @@
|
|||||||
|
#include "led.h"
|
||||||
|
#include "zbus_message.h"
|
||||||
|
|
||||||
|
#include <zephyr/device.h>
|
||||||
|
#include <zephyr/devicetree.h>
|
||||||
|
#include <zephyr/drivers/gpio.h>
|
||||||
|
#include <zephyr/kernel.h>
|
||||||
|
#include <zephyr/logging/log.h>
|
||||||
|
#include <zephyr/zbus/zbus.h>
|
||||||
|
|
||||||
|
LOG_MODULE_REGISTER(led, LOG_LEVEL_INF);
|
||||||
|
|
||||||
|
#define LED0_NODE DT_ALIAS(led0)
|
||||||
|
#define LED1_NODE DT_ALIAS(led1)
|
||||||
|
|
||||||
|
static const struct gpio_dt_spec led0_gpio = GPIO_DT_SPEC_GET(LED0_NODE, gpios);
|
||||||
|
static const struct gpio_dt_spec led1_gpio = GPIO_DT_SPEC_GET(LED1_NODE, gpios);
|
||||||
|
|
||||||
|
static bool led0_state = false;
|
||||||
|
static bool led1_state = false;
|
||||||
|
|
||||||
|
/* ZBUS handler - update LED state */
|
||||||
|
static void leds_zbus_handler(const struct zbus_channel *chan)
|
||||||
|
{
|
||||||
|
const struct leds_message *msg;
|
||||||
|
int ret;
|
||||||
|
const struct gpio_dt_spec *target_gpio;
|
||||||
|
bool *target_state;
|
||||||
|
|
||||||
|
msg = zbus_chan_const_msg(chan);
|
||||||
|
if (msg == NULL) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (msg->led_id == 0) {
|
||||||
|
target_gpio = &led0_gpio;
|
||||||
|
target_state = &led0_state;
|
||||||
|
} else if (msg->led_id == 1) {
|
||||||
|
target_gpio = &led1_gpio;
|
||||||
|
target_state = &led1_state;
|
||||||
|
} else {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
*target_state = msg->led_value;
|
||||||
|
ret = gpio_pin_set_dt(target_gpio, msg->led_value ? 1 : 0);
|
||||||
|
if (ret != 0) {
|
||||||
|
LOG_ERR("Failed to set LED%d: %d", msg->led_id, ret);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
LOG_DBG("LED%d updated: %s (LED0=%s, LED1=%s)",
|
||||||
|
msg->led_id, msg->led_value ? "ON" : "OFF",
|
||||||
|
led0_state ? "ON" : "OFF", led1_state ? "ON" : "OFF");
|
||||||
|
}
|
||||||
|
|
||||||
|
ZBUS_LISTENER_DEFINE(leds_listener, leds_zbus_handler);
|
||||||
|
|
||||||
|
int led_init(void)
|
||||||
|
{
|
||||||
|
int ret;
|
||||||
|
|
||||||
|
if (!device_is_ready(led0_gpio.port)) {
|
||||||
|
LOG_ERR("LED0 GPIO device not ready");
|
||||||
|
return -ENODEV;
|
||||||
|
}
|
||||||
|
|
||||||
|
ret = gpio_pin_configure_dt(&led0_gpio, GPIO_OUTPUT_INACTIVE);
|
||||||
|
if (ret != 0) {
|
||||||
|
LOG_ERR("Failed to configure LED0 GPIO: %d", ret);
|
||||||
|
return ret;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (!device_is_ready(led1_gpio.port)) {
|
||||||
|
LOG_ERR("LED1 GPIO device not ready");
|
||||||
|
return -ENODEV;
|
||||||
|
}
|
||||||
|
|
||||||
|
ret = gpio_pin_configure_dt(&led1_gpio, GPIO_OUTPUT_INACTIVE);
|
||||||
|
if (ret != 0) {
|
||||||
|
LOG_ERR("Failed to configure LED1 GPIO: %d", ret);
|
||||||
|
return ret;
|
||||||
|
}
|
||||||
|
|
||||||
|
ret = zbus_chan_add_obs(&leds_chan, &leds_listener, K_MSEC(200));
|
||||||
|
if (ret != 0) {
|
||||||
|
LOG_ERR("Failed to add LED listener: %d", ret);
|
||||||
|
return ret;
|
||||||
|
}
|
||||||
|
|
||||||
|
ret = gpio_pin_set_dt(&led0_gpio, 0);
|
||||||
|
ret |= gpio_pin_set_dt(&led1_gpio, 0);
|
||||||
|
if (ret != 0) {
|
||||||
|
LOG_ERR("Failed to initialize LEDs");
|
||||||
|
return ret;
|
||||||
|
}
|
||||||
|
|
||||||
|
LOG_INF("LED driver initialized (LED0: GPIO %d, LED1: GPIO %d)",
|
||||||
|
led0_gpio.pin, led1_gpio.pin);
|
||||||
|
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
@@ -0,0 +1,17 @@
|
|||||||
|
#ifndef LED_H
|
||||||
|
#define LED_H
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @file led.h
|
||||||
|
* @brief LED control via GPIO and ZBUS
|
||||||
|
*/
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @brief Initialize LED driver
|
||||||
|
*
|
||||||
|
* @return 0 on success, negative errno on failure
|
||||||
|
*/
|
||||||
|
int led_init(void);
|
||||||
|
|
||||||
|
#endif /* LED_H */
|
||||||
|
|
||||||
@@ -0,0 +1,29 @@
|
|||||||
|
/*
|
||||||
|
* Copyright (c) 2016 Intel Corporation
|
||||||
|
*
|
||||||
|
* SPDX-License-Identifier: Apache-2.0
|
||||||
|
*/
|
||||||
|
|
||||||
|
#include <stdio.h>
|
||||||
|
#include <zephyr/kernel.h>
|
||||||
|
#include <zephyr/logging/log.h>
|
||||||
|
|
||||||
|
LOG_MODULE_REGISTER(main, LOG_LEVEL_INF);
|
||||||
|
|
||||||
|
|
||||||
|
int main(void)
|
||||||
|
{
|
||||||
|
int ret;
|
||||||
|
|
||||||
|
/* LED driver - status indicators */
|
||||||
|
ret = led_init();
|
||||||
|
if (ret != 0) {
|
||||||
|
LOG_ERR("Failed to initialize LED driver: %d", ret);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
while (1) {
|
||||||
|
k_msleep(1000);
|
||||||
|
}
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
@@ -0,0 +1,127 @@
|
|||||||
|
#include "zbus_message.h"
|
||||||
|
|
||||||
|
#include <zephyr/kernel.h>
|
||||||
|
#include <zephyr/logging/log.h>
|
||||||
|
#include <zephyr/shell/shell.h>
|
||||||
|
#include <zephyr/zbus/zbus.h>
|
||||||
|
|
||||||
|
LOG_MODULE_REGISTER(led_shell, LOG_LEVEL_INF);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @brief Parse and publish an LED command to leds_chan.
|
||||||
|
*
|
||||||
|
* Usage:
|
||||||
|
* led set <id> <on|off>
|
||||||
|
*
|
||||||
|
* @param shell Shell instance
|
||||||
|
* @param argc Argument count (must be 3: "set", id, state)
|
||||||
|
* @param argv Argument vector
|
||||||
|
* @return 0 on success, negative errno on failure
|
||||||
|
*/
|
||||||
|
static int cmd_led_set(const struct shell *shell, size_t argc, char **argv)
|
||||||
|
{
|
||||||
|
struct leds_message msg;
|
||||||
|
int ret;
|
||||||
|
|
||||||
|
/* Parse LED id */
|
||||||
|
char *endptr;
|
||||||
|
long id = strtol(argv[1], &endptr, 10);
|
||||||
|
|
||||||
|
if (*endptr != '\0' || id < 0 || id > 1) {
|
||||||
|
shell_error(shell, "Invalid LED id '%s'. Use 0 or 1.", argv[1]);
|
||||||
|
return -EINVAL;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Parse state */
|
||||||
|
if (strcmp(argv[2], "on") == 0) {
|
||||||
|
msg.led_value = true;
|
||||||
|
} else if (strcmp(argv[2], "off") == 0) {
|
||||||
|
msg.led_value = false;
|
||||||
|
} else {
|
||||||
|
shell_error(shell, "Invalid state '%s'. Use 'on' or 'off'.", argv[2]);
|
||||||
|
return -EINVAL;
|
||||||
|
}
|
||||||
|
|
||||||
|
msg.led_id = (uint8_t)id;
|
||||||
|
|
||||||
|
ret = zbus_chan_pub(&leds_chan, &msg, K_MSEC(200));
|
||||||
|
if (ret != 0) {
|
||||||
|
shell_error(shell, "Failed to publish LED command: %d", ret);
|
||||||
|
return ret;
|
||||||
|
}
|
||||||
|
|
||||||
|
shell_print(shell, "LED%d turned %s", msg.led_id, msg.led_value ? "ON" : "OFF");
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @brief Turn on all LEDs.
|
||||||
|
*/
|
||||||
|
static int cmd_led_all_on(const struct shell *shell, size_t argc, char **argv)
|
||||||
|
{
|
||||||
|
struct leds_message msg;
|
||||||
|
int ret;
|
||||||
|
|
||||||
|
for (uint8_t i = 0; i <= 1; i++) {
|
||||||
|
msg.led_id = i;
|
||||||
|
msg.led_value = true;
|
||||||
|
|
||||||
|
ret = zbus_chan_pub(&leds_chan, &msg, K_MSEC(200));
|
||||||
|
if (ret != 0) {
|
||||||
|
shell_error(shell, "Failed to turn on LED%d: %d", i, ret);
|
||||||
|
return ret;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
shell_print(shell, "All LEDs turned ON");
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @brief Turn off all LEDs.
|
||||||
|
*/
|
||||||
|
static int cmd_led_all_off(const struct shell *shell, size_t argc, char **argv)
|
||||||
|
{
|
||||||
|
struct leds_message msg;
|
||||||
|
int ret;
|
||||||
|
|
||||||
|
for (uint8_t i = 0; i <= 1; i++) {
|
||||||
|
msg.led_id = i;
|
||||||
|
msg.led_value = false;
|
||||||
|
|
||||||
|
ret = zbus_chan_pub(&leds_chan, &msg, K_MSEC(200));
|
||||||
|
if (ret != 0) {
|
||||||
|
shell_error(shell, "Failed to turn off LED%d: %d", i, ret);
|
||||||
|
return ret;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
shell_print(shell, "All LEDs turned OFF");
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Subcommands for the "led" root command */
|
||||||
|
SHELL_STATIC_SUBCMD_SET_CREATE(sub_led,
|
||||||
|
SHELL_CMD_ARG(set, NULL,
|
||||||
|
"Set a single LED state.\n"
|
||||||
|
"Usage: led set <id> <on|off>\n"
|
||||||
|
" id : 0 or 1\n"
|
||||||
|
" state: on | off",
|
||||||
|
cmd_led_set, 3, 0),
|
||||||
|
SHELL_CMD(allon, NULL,
|
||||||
|
"Turn all LEDs on.\n"
|
||||||
|
"Usage: led allon",
|
||||||
|
cmd_led_all_on),
|
||||||
|
SHELL_CMD(alloff, NULL,
|
||||||
|
"Turn all LEDs off.\n"
|
||||||
|
"Usage: led alloff",
|
||||||
|
cmd_led_all_off),
|
||||||
|
SHELL_SUBCMD_SET_END
|
||||||
|
);
|
||||||
|
|
||||||
|
SHELL_CMD_REGISTER(led, &sub_led,
|
||||||
|
"LED control commands.\n"
|
||||||
|
" led set <id> <on|off> - Set LED state\n"
|
||||||
|
" led allon - Turn all LEDs on\n"
|
||||||
|
" led alloff - Turn all LEDs off",
|
||||||
|
NULL);
|
||||||
@@ -0,0 +1,16 @@
|
|||||||
|
#include "zbus_message.h"
|
||||||
|
|
||||||
|
#include <zephyr/zbus/zbus.h>
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @brief ZBUS channel definition for LED control.
|
||||||
|
*
|
||||||
|
* No validator is used; any leds_message value is accepted.
|
||||||
|
* Observers are registered at runtime via zbus_chan_add_obs().
|
||||||
|
*/
|
||||||
|
ZBUS_CHAN_DEFINE(leds_chan, /* channel name */
|
||||||
|
struct leds_message, /* message type */
|
||||||
|
NULL, /* validator */
|
||||||
|
NULL, /* user data */
|
||||||
|
ZBUS_OBSERVERS_EMPTY,
|
||||||
|
ZBUS_MSG_INIT(.led_id = 0, .led_value = false));
|
||||||
@@ -0,0 +1,30 @@
|
|||||||
|
#ifndef ZBUS_MESSAGE_H
|
||||||
|
#define ZBUS_MESSAGE_H
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @file zbus_message.h
|
||||||
|
* @brief ZBUS channel and message definitions for LED control
|
||||||
|
*/
|
||||||
|
|
||||||
|
#include <stdbool.h>
|
||||||
|
#include <zephyr/zbus/zbus.h>
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @brief Message published to leds_chan to control an LED.
|
||||||
|
*
|
||||||
|
* @param led_id LED index (0 or 1)
|
||||||
|
* @param led_value true = ON, false = OFF
|
||||||
|
*/
|
||||||
|
struct leds_message {
|
||||||
|
uint8_t led_id;
|
||||||
|
bool led_value;
|
||||||
|
};
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @brief ZBUS channel for LED control messages.
|
||||||
|
*
|
||||||
|
* Publish a struct leds_message to this channel to set an LED state.
|
||||||
|
*/
|
||||||
|
ZBUS_CHAN_DECLARE(leds_chan);
|
||||||
|
|
||||||
|
#endif /* ZBUS_MESSAGE_H */
|
||||||
Reference in New Issue
Block a user