mirror of
https://github.com/eddyem/stm32samples.git
synced 2025-12-06 02:35:23 +03:00
add readme and USB proto
This commit is contained in:
parent
3100cb5226
commit
091f87d218
1
F3:F303/CANbus4BTA/Readme
Normal file
1
F3:F303/CANbus4BTA/Readme
Normal file
@ -0,0 +1 @@
|
||||
New device that we intend to use instead of BTA PEP controllers.
|
||||
BIN
F3:F303/CANbus4BTA/kicad/BOM.ods
Normal file
BIN
F3:F303/CANbus4BTA/kicad/BOM.ods
Normal file
Binary file not shown.
BIN
F3:F303/CANbus4BTA/kicad/BOM_full.ods
Normal file
BIN
F3:F303/CANbus4BTA/kicad/BOM_full.ods
Normal file
Binary file not shown.
BIN
F3:F303/CANbus4BTA/kicad/Back.jpg
Normal file
BIN
F3:F303/CANbus4BTA/kicad/Back.jpg
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 112 KiB |
BIN
F3:F303/CANbus4BTA/kicad/Front.jpg
Normal file
BIN
F3:F303/CANbus4BTA/kicad/Front.jpg
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 154 KiB |
1378
F3:F303/CANbus4BTA/kicad/elements.kicad_sym
Normal file
1378
F3:F303/CANbus4BTA/kicad/elements.kicad_sym
Normal file
File diff suppressed because it is too large
Load Diff
36
F3:F303/CANbus4BTA/kicad/fp-info-cache
Normal file
36
F3:F303/CANbus4BTA/kicad/fp-info-cache
Normal file
@ -0,0 +1,36 @@
|
||||
8279029184160
|
||||
my_footprints
|
||||
B0x0xS
|
||||
|
||||
|
||||
0
|
||||
4
|
||||
4
|
||||
my_footprints
|
||||
B0505S-2W
|
||||
|
||||
|
||||
0
|
||||
4
|
||||
4
|
||||
my_footprints
|
||||
Hole_3mm
|
||||
|
||||
|
||||
0
|
||||
1
|
||||
1
|
||||
my_footprints
|
||||
VRB2405
|
||||
|
||||
|
||||
0
|
||||
5
|
||||
5
|
||||
my_footprints
|
||||
VRB_DCDC
|
||||
|
||||
|
||||
0
|
||||
5
|
||||
5
|
||||
4
F3:F303/CANbus4BTA/kicad/fp-lib-table
Normal file
4
F3:F303/CANbus4BTA/kicad/fp-lib-table
Normal file
@ -0,0 +1,4 @@
|
||||
(fp_lib_table
|
||||
(lib (name "my_footprints")(type "KiCad")(uri "${KIPRJMOD}/my_footprints.pretty")(options "")(descr ""))
|
||||
(lib (name "kicad")(type "KiCad")(uri "/home/eddy/Docs/SAO/ELECTRONICS/STM32/F0-srcs/CANbus4BTA/kicad.pretty")(options "")(descr ""))
|
||||
)
|
||||
18669
F3:F303/CANbus4BTA/kicad/gerbers/stm32-B_Cu.gbr
Normal file
18669
F3:F303/CANbus4BTA/kicad/gerbers/stm32-B_Cu.gbr
Normal file
File diff suppressed because it is too large
Load Diff
548
F3:F303/CANbus4BTA/kicad/gerbers/stm32-B_Mask.gbr
Normal file
548
F3:F303/CANbus4BTA/kicad/gerbers/stm32-B_Mask.gbr
Normal file
@ -0,0 +1,548 @@
|
||||
%TF.GenerationSoftware,KiCad,Pcbnew,6.0.5*%
|
||||
%TF.CreationDate,2022-11-11T14:10:47+03:00*%
|
||||
%TF.ProjectId,stm32,73746d33-322e-46b6-9963-61645f706362,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 6.0.5) date 2022-11-11 14:10:47*
|
||||
%MOMM*%
|
||||
%LPD*%
|
||||
G01*
|
||||
G04 APERTURE LIST*
|
||||
G04 Aperture macros list*
|
||||
%AMRoundRect*
|
||||
0 Rectangle with rounded corners*
|
||||
0 $1 Rounding radius*
|
||||
0 $2 $3 $4 $5 $6 $7 $8 $9 X,Y pos of 4 corners*
|
||||
0 Add a 4 corners polygon primitive as box body*
|
||||
4,1,4,$2,$3,$4,$5,$6,$7,$8,$9,$2,$3,0*
|
||||
0 Add four circle primitives for the rounded corners*
|
||||
1,1,$1+$1,$2,$3*
|
||||
1,1,$1+$1,$4,$5*
|
||||
1,1,$1+$1,$6,$7*
|
||||
1,1,$1+$1,$8,$9*
|
||||
0 Add four rect primitives between the rounded corners*
|
||||
20,1,$1+$1,$2,$3,$4,$5,0*
|
||||
20,1,$1+$1,$4,$5,$6,$7,0*
|
||||
20,1,$1+$1,$6,$7,$8,$9,0*
|
||||
20,1,$1+$1,$8,$9,$2,$3,0*%
|
||||
G04 Aperture macros list end*
|
||||
%ADD10R,1.600000X1.600000*%
|
||||
%ADD11O,1.600000X1.600000*%
|
||||
%ADD12R,2.600000X2.600000*%
|
||||
%ADD13C,2.600000*%
|
||||
%ADD14C,1.600000*%
|
||||
%ADD15R,1.700000X1.700000*%
|
||||
%ADD16O,1.700000X1.700000*%
|
||||
%ADD17C,5.000000*%
|
||||
%ADD18C,2.400000*%
|
||||
%ADD19R,2.000000X2.000000*%
|
||||
%ADD20C,2.000000*%
|
||||
%ADD21RoundRect,0.250000X-1.550000X0.650000X-1.550000X-0.650000X1.550000X-0.650000X1.550000X0.650000X0*%
|
||||
%ADD22O,3.600000X1.800000*%
|
||||
%ADD23C,4.000000*%
|
||||
%ADD24C,2.540000*%
|
||||
%ADD25C,1.500000*%
|
||||
%ADD26C,1.440000*%
|
||||
%ADD27RoundRect,0.250000X-0.350000X-0.625000X0.350000X-0.625000X0.350000X0.625000X-0.350000X0.625000X0*%
|
||||
%ADD28O,1.200000X1.750000*%
|
||||
%ADD29C,1.700000*%
|
||||
%ADD30C,3.500000*%
|
||||
%ADD31C,3.000000*%
|
||||
%ADD32R,3.000000X3.000000*%
|
||||
%ADD33O,2.600000X2.600000*%
|
||||
%ADD34R,1.000000X1.000000*%
|
||||
%ADD35O,1.000000X1.000000*%
|
||||
%ADD36RoundRect,0.250000X0.625000X-0.350000X0.625000X0.350000X-0.625000X0.350000X-0.625000X-0.350000X0*%
|
||||
%ADD37O,1.750000X1.200000*%
|
||||
%ADD38RoundRect,0.381000X-0.381000X0.619000X-0.381000X-0.619000X0.381000X-0.619000X0.381000X0.619000X0*%
|
||||
%ADD39RoundRect,0.381000X-0.381000X0.762000X-0.381000X-0.762000X0.381000X-0.762000X0.381000X0.762000X0*%
|
||||
%ADD40R,1.800000X1.800000*%
|
||||
%ADD41O,1.800000X1.800000*%
|
||||
%ADD42RoundRect,0.237500X-0.237500X0.250000X-0.237500X-0.250000X0.237500X-0.250000X0.237500X0.250000X0*%
|
||||
%ADD43RoundRect,0.250000X-0.337500X-0.475000X0.337500X-0.475000X0.337500X0.475000X-0.337500X0.475000X0*%
|
||||
G04 APERTURE END LIST*
|
||||
D10*
|
||||
%TO.C,U17*%
|
||||
X26000000Y-113511428D03*
|
||||
D11*
|
||||
X26000000Y-116051428D03*
|
||||
X33620000Y-116051428D03*
|
||||
X33620000Y-113511428D03*
|
||||
%TD*%
|
||||
D12*
|
||||
%TO.C,J27*%
|
||||
X130047000Y-39183500D03*
|
||||
D13*
|
||||
X130047000Y-34183500D03*
|
||||
%TD*%
|
||||
D10*
|
||||
%TO.C,C19*%
|
||||
X95298349Y-32412500D03*
|
||||
D14*
|
||||
X98798349Y-32412500D03*
|
||||
%TD*%
|
||||
D10*
|
||||
%TO.C,C28*%
|
||||
X118541000Y-34444500D03*
|
||||
D14*
|
||||
X118541000Y-37944500D03*
|
||||
%TD*%
|
||||
D15*
|
||||
%TO.C,JP4*%
|
||||
X121583400Y-148695700D03*
|
||||
D16*
|
||||
X121583400Y-151235700D03*
|
||||
X121583400Y-153775700D03*
|
||||
%TD*%
|
||||
D15*
|
||||
%TO.C,J16*%
|
||||
X75590400Y-94691200D03*
|
||||
%TD*%
|
||||
%TO.C,TP4*%
|
||||
X130000000Y-57500000D03*
|
||||
%TD*%
|
||||
D17*
|
||||
%TO.C,P3*%
|
||||
X18500000Y-151000000D03*
|
||||
%TD*%
|
||||
D10*
|
||||
%TO.C,SW4*%
|
||||
X69814600Y-36804600D03*
|
||||
D11*
|
||||
X62194600Y-36804600D03*
|
||||
%TD*%
|
||||
D18*
|
||||
%TO.C,C22*%
|
||||
X108000000Y-66500000D03*
|
||||
X108000000Y-51500000D03*
|
||||
%TD*%
|
||||
D15*
|
||||
%TO.C,JP2*%
|
||||
X91420000Y-113000000D03*
|
||||
D16*
|
||||
X93960000Y-113000000D03*
|
||||
X96500000Y-113000000D03*
|
||||
%TD*%
|
||||
D10*
|
||||
%TO.C,U15*%
|
||||
X26000000Y-101985714D03*
|
||||
D11*
|
||||
X26000000Y-104525714D03*
|
||||
X33620000Y-104525714D03*
|
||||
X33620000Y-101985714D03*
|
||||
%TD*%
|
||||
D12*
|
||||
%TO.C,J20*%
|
||||
X24749600Y-150787800D03*
|
||||
D13*
|
||||
X29749600Y-150787800D03*
|
||||
X34749600Y-150787800D03*
|
||||
X39749600Y-150787800D03*
|
||||
X44749600Y-150787800D03*
|
||||
X49749600Y-150787800D03*
|
||||
%TD*%
|
||||
D15*
|
||||
%TO.C,TP2*%
|
||||
X130000000Y-61500000D03*
|
||||
%TD*%
|
||||
D19*
|
||||
%TO.C,BZ1*%
|
||||
X38700000Y-60000000D03*
|
||||
D20*
|
||||
X46300000Y-60000000D03*
|
||||
%TD*%
|
||||
D17*
|
||||
%TO.C,P5*%
|
||||
X130000000Y-49500000D03*
|
||||
%TD*%
|
||||
D15*
|
||||
%TO.C,J15*%
|
||||
X75590400Y-90982800D03*
|
||||
%TD*%
|
||||
D21*
|
||||
%TO.C,J30*%
|
||||
X18683400Y-80398958D03*
|
||||
D22*
|
||||
X18683400Y-85478958D03*
|
||||
X18683400Y-90558958D03*
|
||||
X18683400Y-95638958D03*
|
||||
X18683400Y-100718958D03*
|
||||
X18683400Y-105798958D03*
|
||||
X18683400Y-110878958D03*
|
||||
X18683400Y-115958958D03*
|
||||
X18683400Y-121038958D03*
|
||||
X18683400Y-126118958D03*
|
||||
%TD*%
|
||||
D23*
|
||||
%TO.C,J28*%
|
||||
X47111000Y-26116000D03*
|
||||
X72111000Y-26116000D03*
|
||||
D10*
|
||||
X54071000Y-26416000D03*
|
||||
D14*
|
||||
X56841000Y-26416000D03*
|
||||
X59611000Y-26416000D03*
|
||||
X62381000Y-26416000D03*
|
||||
X65151000Y-26416000D03*
|
||||
X55456000Y-23576000D03*
|
||||
X58226000Y-23576000D03*
|
||||
X60996000Y-23576000D03*
|
||||
X63766000Y-23576000D03*
|
||||
%TD*%
|
||||
D24*
|
||||
%TO.C,Q2*%
|
||||
X106781600Y-121970800D03*
|
||||
X101701600Y-121970800D03*
|
||||
X94081600Y-142290800D03*
|
||||
X104241600Y-142290800D03*
|
||||
X114401600Y-142290800D03*
|
||||
%TD*%
|
||||
D25*
|
||||
%TO.C,Y1*%
|
||||
X57678600Y-72276200D03*
|
||||
X57678600Y-77156200D03*
|
||||
%TD*%
|
||||
%TO.C,Q8*%
|
||||
X49384800Y-45143469D03*
|
||||
X49384800Y-42603469D03*
|
||||
X49384800Y-40063469D03*
|
||||
X49384800Y-37523469D03*
|
||||
%TD*%
|
||||
D17*
|
||||
%TO.C,P6*%
|
||||
X74500000Y-49500000D03*
|
||||
%TD*%
|
||||
D12*
|
||||
%TO.C,J25*%
|
||||
X129805000Y-101000000D03*
|
||||
D13*
|
||||
X129805000Y-96000000D03*
|
||||
X129805000Y-91000000D03*
|
||||
%TD*%
|
||||
D15*
|
||||
%TO.C,J3*%
|
||||
X41914200Y-106994800D03*
|
||||
%TD*%
|
||||
%TO.C,TP3*%
|
||||
X91000000Y-45000000D03*
|
||||
%TD*%
|
||||
D26*
|
||||
%TO.C,RV1*%
|
||||
X38079800Y-24514600D03*
|
||||
X35539800Y-24514600D03*
|
||||
X32999800Y-24514600D03*
|
||||
%TD*%
|
||||
D27*
|
||||
%TO.C,J19*%
|
||||
X70500000Y-108099400D03*
|
||||
D28*
|
||||
X72500000Y-108099400D03*
|
||||
X74500000Y-108099400D03*
|
||||
X76500000Y-108099400D03*
|
||||
%TD*%
|
||||
D15*
|
||||
%TO.C,J1*%
|
||||
X61472200Y-114081400D03*
|
||||
%TD*%
|
||||
%TO.C,J2*%
|
||||
X61472200Y-110525400D03*
|
||||
%TD*%
|
||||
%TO.C,J29*%
|
||||
X127290000Y-76429200D03*
|
||||
D29*
|
||||
X127290000Y-78929200D03*
|
||||
X129290000Y-78929200D03*
|
||||
X129290000Y-76429200D03*
|
||||
D30*
|
||||
X132000000Y-71659200D03*
|
||||
X132000000Y-83699200D03*
|
||||
%TD*%
|
||||
D31*
|
||||
%TO.C,K1*%
|
||||
X120707500Y-112292500D03*
|
||||
X120707500Y-107292500D03*
|
||||
X120707500Y-117292500D03*
|
||||
X113207500Y-112292500D03*
|
||||
X113207500Y-107292500D03*
|
||||
X113207500Y-117292500D03*
|
||||
D32*
|
||||
X120707500Y-92292500D03*
|
||||
D31*
|
||||
X113207500Y-92292500D03*
|
||||
%TD*%
|
||||
D15*
|
||||
%TO.C,J5*%
|
||||
X41914200Y-110500000D03*
|
||||
%TD*%
|
||||
%TO.C,JP3*%
|
||||
X82289600Y-148695700D03*
|
||||
D16*
|
||||
X82289600Y-151235700D03*
|
||||
X82289600Y-153775700D03*
|
||||
%TD*%
|
||||
D10*
|
||||
%TO.C,U14*%
|
||||
X26000000Y-96222857D03*
|
||||
D11*
|
||||
X26000000Y-98762857D03*
|
||||
X33620000Y-98762857D03*
|
||||
X33620000Y-96222857D03*
|
||||
%TD*%
|
||||
D12*
|
||||
%TO.C,D10*%
|
||||
X103027000Y-40413500D03*
|
||||
D33*
|
||||
X99217000Y-40413500D03*
|
||||
%TD*%
|
||||
D23*
|
||||
%TO.C,J18*%
|
||||
X114205200Y-148658169D03*
|
||||
X89205200Y-148658169D03*
|
||||
D10*
|
||||
X107245200Y-148358169D03*
|
||||
D14*
|
||||
X104475200Y-148358169D03*
|
||||
X101705200Y-148358169D03*
|
||||
X98935200Y-148358169D03*
|
||||
X96165200Y-148358169D03*
|
||||
X105860200Y-151198169D03*
|
||||
X103090200Y-151198169D03*
|
||||
X100320200Y-151198169D03*
|
||||
X97550200Y-151198169D03*
|
||||
%TD*%
|
||||
D26*
|
||||
%TO.C,RV2*%
|
||||
X38029000Y-35843000D03*
|
||||
X35489000Y-35843000D03*
|
||||
X32949000Y-35843000D03*
|
||||
%TD*%
|
||||
D15*
|
||||
%TO.C,J8*%
|
||||
X61472200Y-117637400D03*
|
||||
%TD*%
|
||||
%TO.C,J17*%
|
||||
X74879200Y-63093600D03*
|
||||
%TD*%
|
||||
D12*
|
||||
%TO.C,J21*%
|
||||
X18526000Y-25500000D03*
|
||||
D13*
|
||||
X18526000Y-30500000D03*
|
||||
X18526000Y-35500000D03*
|
||||
%TD*%
|
||||
D34*
|
||||
%TO.C,J9*%
|
||||
X28525000Y-55825000D03*
|
||||
D35*
|
||||
X28525000Y-57095000D03*
|
||||
X28525000Y-58365000D03*
|
||||
X28525000Y-59635000D03*
|
||||
X28525000Y-60905000D03*
|
||||
X28525000Y-62175000D03*
|
||||
%TD*%
|
||||
D10*
|
||||
%TO.C,U16*%
|
||||
X26000000Y-107748571D03*
|
||||
D11*
|
||||
X26000000Y-110288571D03*
|
||||
X33620000Y-110288571D03*
|
||||
X33620000Y-107748571D03*
|
||||
%TD*%
|
||||
D10*
|
||||
%TO.C,C18*%
|
||||
X116890000Y-23012849D03*
|
||||
D14*
|
||||
X116890000Y-26512849D03*
|
||||
%TD*%
|
||||
D25*
|
||||
%TO.C,Q1*%
|
||||
X33645400Y-70780886D03*
|
||||
X31105400Y-70780886D03*
|
||||
X28565400Y-70780886D03*
|
||||
X26025400Y-70780886D03*
|
||||
%TD*%
|
||||
D10*
|
||||
%TO.C,U13*%
|
||||
X26000000Y-84697143D03*
|
||||
D11*
|
||||
X26000000Y-87237143D03*
|
||||
X33620000Y-87237143D03*
|
||||
X33620000Y-84697143D03*
|
||||
%TD*%
|
||||
D27*
|
||||
%TO.C,J22*%
|
||||
X63338600Y-141059000D03*
|
||||
D28*
|
||||
X65338600Y-141059000D03*
|
||||
X67338600Y-141059000D03*
|
||||
%TD*%
|
||||
D10*
|
||||
%TO.C,SW2*%
|
||||
X55274600Y-120717900D03*
|
||||
D11*
|
||||
X52734600Y-120717900D03*
|
||||
X50194600Y-120717900D03*
|
||||
X47654600Y-120717900D03*
|
||||
X47654600Y-128337900D03*
|
||||
X50194600Y-128337900D03*
|
||||
X52734600Y-128337900D03*
|
||||
X55274600Y-128337900D03*
|
||||
%TD*%
|
||||
D10*
|
||||
%TO.C,U11*%
|
||||
X26000000Y-90460000D03*
|
||||
D11*
|
||||
X26000000Y-93000000D03*
|
||||
X33620000Y-93000000D03*
|
||||
X33620000Y-90460000D03*
|
||||
%TD*%
|
||||
D15*
|
||||
%TO.C,TP1*%
|
||||
X101396000Y-52650000D03*
|
||||
%TD*%
|
||||
D17*
|
||||
%TO.C,P1*%
|
||||
X74500000Y-151000000D03*
|
||||
%TD*%
|
||||
D36*
|
||||
%TO.C,J24*%
|
||||
X79764000Y-61492000D03*
|
||||
D37*
|
||||
X79764000Y-59492000D03*
|
||||
X79764000Y-57492000D03*
|
||||
X79764000Y-55492000D03*
|
||||
%TD*%
|
||||
D17*
|
||||
%TO.C,P4*%
|
||||
X18500000Y-49500000D03*
|
||||
%TD*%
|
||||
D10*
|
||||
%TO.C,U18*%
|
||||
X26000000Y-119274286D03*
|
||||
D11*
|
||||
X26000000Y-121814286D03*
|
||||
X33620000Y-121814286D03*
|
||||
X33620000Y-119274286D03*
|
||||
%TD*%
|
||||
D15*
|
||||
%TO.C,TP5*%
|
||||
X87000000Y-45000000D03*
|
||||
%TD*%
|
||||
D20*
|
||||
%TO.C,L1*%
|
||||
X113000000Y-33809500D03*
|
||||
X103000000Y-33809500D03*
|
||||
%TD*%
|
||||
D15*
|
||||
%TO.C,JP1*%
|
||||
X91475000Y-106000000D03*
|
||||
D16*
|
||||
X94015000Y-106000000D03*
|
||||
X96555000Y-106000000D03*
|
||||
%TD*%
|
||||
D12*
|
||||
%TO.C,J26*%
|
||||
X130098000Y-27713500D03*
|
||||
D13*
|
||||
X130098000Y-22713500D03*
|
||||
%TD*%
|
||||
D15*
|
||||
%TO.C,J4*%
|
||||
X41914200Y-117612000D03*
|
||||
%TD*%
|
||||
%TO.C,J6*%
|
||||
X41914200Y-114056000D03*
|
||||
%TD*%
|
||||
D38*
|
||||
%TO.C,Q3*%
|
||||
X32105600Y-127480400D03*
|
||||
X32105600Y-130020400D03*
|
||||
D39*
|
||||
X32105600Y-135100400D03*
|
||||
X32105600Y-140180400D03*
|
||||
%TD*%
|
||||
D40*
|
||||
%TO.C,U9*%
|
||||
X101298000Y-24488500D03*
|
||||
D41*
|
||||
X102998000Y-28188500D03*
|
||||
X104698000Y-24488500D03*
|
||||
X106398000Y-28188500D03*
|
||||
X108098000Y-24488500D03*
|
||||
%TD*%
|
||||
D15*
|
||||
%TO.C,J7*%
|
||||
X61472200Y-106969400D03*
|
||||
%TD*%
|
||||
D10*
|
||||
%TO.C,U12*%
|
||||
X26000000Y-78934286D03*
|
||||
D11*
|
||||
X26000000Y-81474286D03*
|
||||
X33620000Y-81474286D03*
|
||||
X33620000Y-78934286D03*
|
||||
%TD*%
|
||||
D17*
|
||||
%TO.C,P2*%
|
||||
X130000000Y-151000000D03*
|
||||
%TD*%
|
||||
D12*
|
||||
%TO.C,J23*%
|
||||
X84291000Y-25351500D03*
|
||||
D13*
|
||||
X89291000Y-25351500D03*
|
||||
%TD*%
|
||||
D12*
|
||||
%TO.C,J10*%
|
||||
X129805000Y-117000000D03*
|
||||
D13*
|
||||
X129805000Y-112000000D03*
|
||||
X129805000Y-107000000D03*
|
||||
%TD*%
|
||||
D15*
|
||||
%TO.C,J38*%
|
||||
X90170000Y-75946000D03*
|
||||
%TD*%
|
||||
D42*
|
||||
%TO.C,R36*%
|
||||
X28057400Y-105936386D03*
|
||||
X28057400Y-107761386D03*
|
||||
%TD*%
|
||||
%TO.C,R32*%
|
||||
X28057400Y-77130886D03*
|
||||
X28057400Y-78955886D03*
|
||||
%TD*%
|
||||
D43*
|
||||
%TO.C,C1*%
|
||||
X31486400Y-73447886D03*
|
||||
X33561400Y-73447886D03*
|
||||
%TD*%
|
||||
D42*
|
||||
%TO.C,R35*%
|
||||
X28057400Y-100197886D03*
|
||||
X28057400Y-102022886D03*
|
||||
%TD*%
|
||||
%TO.C,R37*%
|
||||
X28057400Y-111627886D03*
|
||||
X28057400Y-113452886D03*
|
||||
%TD*%
|
||||
%TO.C,R38*%
|
||||
X28057400Y-117493386D03*
|
||||
X28057400Y-119318386D03*
|
||||
%TD*%
|
||||
%TO.C,R33*%
|
||||
X28057400Y-82925886D03*
|
||||
X28057400Y-84750886D03*
|
||||
%TD*%
|
||||
%TO.C,R34*%
|
||||
X28057400Y-94482886D03*
|
||||
X28057400Y-96307886D03*
|
||||
%TD*%
|
||||
%TO.C,R31*%
|
||||
X28057400Y-88640886D03*
|
||||
X28057400Y-90465886D03*
|
||||
%TD*%
|
||||
M02*
|
||||
74
F3:F303/CANbus4BTA/kicad/gerbers/stm32-B_Paste.gbr
Normal file
74
F3:F303/CANbus4BTA/kicad/gerbers/stm32-B_Paste.gbr
Normal file
@ -0,0 +1,74 @@
|
||||
%TF.GenerationSoftware,KiCad,Pcbnew,6.0.5*%
|
||||
%TF.CreationDate,2022-11-11T14:10:47+03:00*%
|
||||
%TF.ProjectId,stm32,73746d33-322e-46b6-9963-61645f706362,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 6.0.5) date 2022-11-11 14:10:47*
|
||||
%MOMM*%
|
||||
%LPD*%
|
||||
G01*
|
||||
G04 APERTURE LIST*
|
||||
G04 Aperture macros list*
|
||||
%AMRoundRect*
|
||||
0 Rectangle with rounded corners*
|
||||
0 $1 Rounding radius*
|
||||
0 $2 $3 $4 $5 $6 $7 $8 $9 X,Y pos of 4 corners*
|
||||
0 Add a 4 corners polygon primitive as box body*
|
||||
4,1,4,$2,$3,$4,$5,$6,$7,$8,$9,$2,$3,0*
|
||||
0 Add four circle primitives for the rounded corners*
|
||||
1,1,$1+$1,$2,$3*
|
||||
1,1,$1+$1,$4,$5*
|
||||
1,1,$1+$1,$6,$7*
|
||||
1,1,$1+$1,$8,$9*
|
||||
0 Add four rect primitives between the rounded corners*
|
||||
20,1,$1+$1,$2,$3,$4,$5,0*
|
||||
20,1,$1+$1,$4,$5,$6,$7,0*
|
||||
20,1,$1+$1,$6,$7,$8,$9,0*
|
||||
20,1,$1+$1,$8,$9,$2,$3,0*%
|
||||
G04 Aperture macros list end*
|
||||
%ADD10RoundRect,0.237500X-0.237500X0.250000X-0.237500X-0.250000X0.237500X-0.250000X0.237500X0.250000X0*%
|
||||
%ADD11RoundRect,0.250000X-0.337500X-0.475000X0.337500X-0.475000X0.337500X0.475000X-0.337500X0.475000X0*%
|
||||
G04 APERTURE END LIST*
|
||||
D10*
|
||||
%TO.C,R36*%
|
||||
X28057400Y-105936386D03*
|
||||
X28057400Y-107761386D03*
|
||||
%TD*%
|
||||
%TO.C,R32*%
|
||||
X28057400Y-77130886D03*
|
||||
X28057400Y-78955886D03*
|
||||
%TD*%
|
||||
D11*
|
||||
%TO.C,C1*%
|
||||
X31486400Y-73447886D03*
|
||||
X33561400Y-73447886D03*
|
||||
%TD*%
|
||||
D10*
|
||||
%TO.C,R35*%
|
||||
X28057400Y-100197886D03*
|
||||
X28057400Y-102022886D03*
|
||||
%TD*%
|
||||
%TO.C,R37*%
|
||||
X28057400Y-111627886D03*
|
||||
X28057400Y-113452886D03*
|
||||
%TD*%
|
||||
%TO.C,R38*%
|
||||
X28057400Y-117493386D03*
|
||||
X28057400Y-119318386D03*
|
||||
%TD*%
|
||||
%TO.C,R33*%
|
||||
X28057400Y-82925886D03*
|
||||
X28057400Y-84750886D03*
|
||||
%TD*%
|
||||
%TO.C,R34*%
|
||||
X28057400Y-94482886D03*
|
||||
X28057400Y-96307886D03*
|
||||
%TD*%
|
||||
%TO.C,R31*%
|
||||
X28057400Y-88640886D03*
|
||||
X28057400Y-90465886D03*
|
||||
%TD*%
|
||||
M02*
|
||||
423
F3:F303/CANbus4BTA/kicad/gerbers/stm32-B_Silkscreen.gbr
Normal file
423
F3:F303/CANbus4BTA/kicad/gerbers/stm32-B_Silkscreen.gbr
Normal file
@ -0,0 +1,423 @@
|
||||
%TF.GenerationSoftware,KiCad,Pcbnew,6.0.5*%
|
||||
%TF.CreationDate,2022-11-11T14:10:47+03:00*%
|
||||
%TF.ProjectId,stm32,73746d33-322e-46b6-9963-61645f706362,rev?*%
|
||||
%TF.SameCoordinates,Original*%
|
||||
%TF.FileFunction,Legend,Bot*%
|
||||
%TF.FilePolarity,Positive*%
|
||||
%FSLAX46Y46*%
|
||||
G04 Gerber Fmt 4.6, Leading zero omitted, Abs format (unit mm)*
|
||||
G04 Created by KiCad (PCBNEW 6.0.5) date 2022-11-11 14:10:47*
|
||||
%MOMM*%
|
||||
%LPD*%
|
||||
G01*
|
||||
G04 APERTURE LIST*
|
||||
%ADD10C,0.150000*%
|
||||
%ADD11C,0.120000*%
|
||||
G04 APERTURE END LIST*
|
||||
D10*
|
||||
%TO.C,R36*%
|
||||
X26541257Y-106666266D02*
|
||||
X26874590Y-106190076D01*
|
||||
X27112685Y-106666266D02*
|
||||
X27112685Y-105666266D01*
|
||||
X26731733Y-105666266D01*
|
||||
X26636495Y-105713886D01*
|
||||
X26588876Y-105761505D01*
|
||||
X26541257Y-105856743D01*
|
||||
X26541257Y-105999600D01*
|
||||
X26588876Y-106094838D01*
|
||||
X26636495Y-106142457D01*
|
||||
X26731733Y-106190076D01*
|
||||
X27112685Y-106190076D01*
|
||||
X26207923Y-105666266D02*
|
||||
X25588876Y-105666266D01*
|
||||
X25922209Y-106047219D01*
|
||||
X25779352Y-106047219D01*
|
||||
X25684114Y-106094838D01*
|
||||
X25636495Y-106142457D01*
|
||||
X25588876Y-106237695D01*
|
||||
X25588876Y-106475790D01*
|
||||
X25636495Y-106571028D01*
|
||||
X25684114Y-106618647D01*
|
||||
X25779352Y-106666266D01*
|
||||
X26065066Y-106666266D01*
|
||||
X26160304Y-106618647D01*
|
||||
X26207923Y-106571028D01*
|
||||
X24731733Y-105666266D02*
|
||||
X24922209Y-105666266D01*
|
||||
X25017447Y-105713886D01*
|
||||
X25065066Y-105761505D01*
|
||||
X25160304Y-105904362D01*
|
||||
X25207923Y-106094838D01*
|
||||
X25207923Y-106475790D01*
|
||||
X25160304Y-106571028D01*
|
||||
X25112685Y-106618647D01*
|
||||
X25017447Y-106666266D01*
|
||||
X24826971Y-106666266D01*
|
||||
X24731733Y-106618647D01*
|
||||
X24684114Y-106571028D01*
|
||||
X24636495Y-106475790D01*
|
||||
X24636495Y-106237695D01*
|
||||
X24684114Y-106142457D01*
|
||||
X24731733Y-106094838D01*
|
||||
X24826971Y-106047219D01*
|
||||
X25017447Y-106047219D01*
|
||||
X25112685Y-106094838D01*
|
||||
X25160304Y-106142457D01*
|
||||
X25207923Y-106237695D01*
|
||||
%TO.C,R32*%
|
||||
X26414257Y-77202266D02*
|
||||
X26747590Y-76726076D01*
|
||||
X26985685Y-77202266D02*
|
||||
X26985685Y-76202266D01*
|
||||
X26604733Y-76202266D01*
|
||||
X26509495Y-76249886D01*
|
||||
X26461876Y-76297505D01*
|
||||
X26414257Y-76392743D01*
|
||||
X26414257Y-76535600D01*
|
||||
X26461876Y-76630838D01*
|
||||
X26509495Y-76678457D01*
|
||||
X26604733Y-76726076D01*
|
||||
X26985685Y-76726076D01*
|
||||
X26080923Y-76202266D02*
|
||||
X25461876Y-76202266D01*
|
||||
X25795209Y-76583219D01*
|
||||
X25652352Y-76583219D01*
|
||||
X25557114Y-76630838D01*
|
||||
X25509495Y-76678457D01*
|
||||
X25461876Y-76773695D01*
|
||||
X25461876Y-77011790D01*
|
||||
X25509495Y-77107028D01*
|
||||
X25557114Y-77154647D01*
|
||||
X25652352Y-77202266D01*
|
||||
X25938066Y-77202266D01*
|
||||
X26033304Y-77154647D01*
|
||||
X26080923Y-77107028D01*
|
||||
X25080923Y-76297505D02*
|
||||
X25033304Y-76249886D01*
|
||||
X24938066Y-76202266D01*
|
||||
X24699971Y-76202266D01*
|
||||
X24604733Y-76249886D01*
|
||||
X24557114Y-76297505D01*
|
||||
X24509495Y-76392743D01*
|
||||
X24509495Y-76487981D01*
|
||||
X24557114Y-76630838D01*
|
||||
X25128542Y-77202266D01*
|
||||
X24509495Y-77202266D01*
|
||||
%TO.C,C1*%
|
||||
X35717066Y-73932028D02*
|
||||
X35764685Y-73979647D01*
|
||||
X35907542Y-74027266D01*
|
||||
X36002780Y-74027266D01*
|
||||
X36145638Y-73979647D01*
|
||||
X36240876Y-73884409D01*
|
||||
X36288495Y-73789171D01*
|
||||
X36336114Y-73598695D01*
|
||||
X36336114Y-73455838D01*
|
||||
X36288495Y-73265362D01*
|
||||
X36240876Y-73170124D01*
|
||||
X36145638Y-73074886D01*
|
||||
X36002780Y-73027266D01*
|
||||
X35907542Y-73027266D01*
|
||||
X35764685Y-73074886D01*
|
||||
X35717066Y-73122505D01*
|
||||
X34764685Y-74027266D02*
|
||||
X35336114Y-74027266D01*
|
||||
X35050400Y-74027266D02*
|
||||
X35050400Y-73027266D01*
|
||||
X35145638Y-73170124D01*
|
||||
X35240876Y-73265362D01*
|
||||
X35336114Y-73312981D01*
|
||||
%TO.C,R35*%
|
||||
X26439657Y-100875066D02*
|
||||
X26772990Y-100398876D01*
|
||||
X27011085Y-100875066D02*
|
||||
X27011085Y-99875066D01*
|
||||
X26630133Y-99875066D01*
|
||||
X26534895Y-99922686D01*
|
||||
X26487276Y-99970305D01*
|
||||
X26439657Y-100065543D01*
|
||||
X26439657Y-100208400D01*
|
||||
X26487276Y-100303638D01*
|
||||
X26534895Y-100351257D01*
|
||||
X26630133Y-100398876D01*
|
||||
X27011085Y-100398876D01*
|
||||
X26106323Y-99875066D02*
|
||||
X25487276Y-99875066D01*
|
||||
X25820609Y-100256019D01*
|
||||
X25677752Y-100256019D01*
|
||||
X25582514Y-100303638D01*
|
||||
X25534895Y-100351257D01*
|
||||
X25487276Y-100446495D01*
|
||||
X25487276Y-100684590D01*
|
||||
X25534895Y-100779828D01*
|
||||
X25582514Y-100827447D01*
|
||||
X25677752Y-100875066D01*
|
||||
X25963466Y-100875066D01*
|
||||
X26058704Y-100827447D01*
|
||||
X26106323Y-100779828D01*
|
||||
X24582514Y-99875066D02*
|
||||
X25058704Y-99875066D01*
|
||||
X25106323Y-100351257D01*
|
||||
X25058704Y-100303638D01*
|
||||
X24963466Y-100256019D01*
|
||||
X24725371Y-100256019D01*
|
||||
X24630133Y-100303638D01*
|
||||
X24582514Y-100351257D01*
|
||||
X24534895Y-100446495D01*
|
||||
X24534895Y-100684590D01*
|
||||
X24582514Y-100779828D01*
|
||||
X24630133Y-100827447D01*
|
||||
X24725371Y-100875066D01*
|
||||
X24963466Y-100875066D01*
|
||||
X25058704Y-100827447D01*
|
||||
X25106323Y-100779828D01*
|
||||
%TO.C,R37*%
|
||||
X26490457Y-112406666D02*
|
||||
X26823790Y-111930476D01*
|
||||
X27061885Y-112406666D02*
|
||||
X27061885Y-111406666D01*
|
||||
X26680933Y-111406666D01*
|
||||
X26585695Y-111454286D01*
|
||||
X26538076Y-111501905D01*
|
||||
X26490457Y-111597143D01*
|
||||
X26490457Y-111740000D01*
|
||||
X26538076Y-111835238D01*
|
||||
X26585695Y-111882857D01*
|
||||
X26680933Y-111930476D01*
|
||||
X27061885Y-111930476D01*
|
||||
X26157123Y-111406666D02*
|
||||
X25538076Y-111406666D01*
|
||||
X25871409Y-111787619D01*
|
||||
X25728552Y-111787619D01*
|
||||
X25633314Y-111835238D01*
|
||||
X25585695Y-111882857D01*
|
||||
X25538076Y-111978095D01*
|
||||
X25538076Y-112216190D01*
|
||||
X25585695Y-112311428D01*
|
||||
X25633314Y-112359047D01*
|
||||
X25728552Y-112406666D01*
|
||||
X26014266Y-112406666D01*
|
||||
X26109504Y-112359047D01*
|
||||
X26157123Y-112311428D01*
|
||||
X25204742Y-111406666D02*
|
||||
X24538076Y-111406666D01*
|
||||
X24966647Y-112406666D01*
|
||||
%TO.C,R38*%
|
||||
X26388857Y-118147066D02*
|
||||
X26722190Y-117670876D01*
|
||||
X26960285Y-118147066D02*
|
||||
X26960285Y-117147066D01*
|
||||
X26579333Y-117147066D01*
|
||||
X26484095Y-117194686D01*
|
||||
X26436476Y-117242305D01*
|
||||
X26388857Y-117337543D01*
|
||||
X26388857Y-117480400D01*
|
||||
X26436476Y-117575638D01*
|
||||
X26484095Y-117623257D01*
|
||||
X26579333Y-117670876D01*
|
||||
X26960285Y-117670876D01*
|
||||
X26055523Y-117147066D02*
|
||||
X25436476Y-117147066D01*
|
||||
X25769809Y-117528019D01*
|
||||
X25626952Y-117528019D01*
|
||||
X25531714Y-117575638D01*
|
||||
X25484095Y-117623257D01*
|
||||
X25436476Y-117718495D01*
|
||||
X25436476Y-117956590D01*
|
||||
X25484095Y-118051828D01*
|
||||
X25531714Y-118099447D01*
|
||||
X25626952Y-118147066D01*
|
||||
X25912666Y-118147066D01*
|
||||
X26007904Y-118099447D01*
|
||||
X26055523Y-118051828D01*
|
||||
X24865047Y-117575638D02*
|
||||
X24960285Y-117528019D01*
|
||||
X25007904Y-117480400D01*
|
||||
X25055523Y-117385162D01*
|
||||
X25055523Y-117337543D01*
|
||||
X25007904Y-117242305D01*
|
||||
X24960285Y-117194686D01*
|
||||
X24865047Y-117147066D01*
|
||||
X24674571Y-117147066D01*
|
||||
X24579333Y-117194686D01*
|
||||
X24531714Y-117242305D01*
|
||||
X24484095Y-117337543D01*
|
||||
X24484095Y-117385162D01*
|
||||
X24531714Y-117480400D01*
|
||||
X24579333Y-117528019D01*
|
||||
X24674571Y-117575638D01*
|
||||
X24865047Y-117575638D01*
|
||||
X24960285Y-117623257D01*
|
||||
X25007904Y-117670876D01*
|
||||
X25055523Y-117766114D01*
|
||||
X25055523Y-117956590D01*
|
||||
X25007904Y-118051828D01*
|
||||
X24960285Y-118099447D01*
|
||||
X24865047Y-118147066D01*
|
||||
X24674571Y-118147066D01*
|
||||
X24579333Y-118099447D01*
|
||||
X24531714Y-118051828D01*
|
||||
X24484095Y-117956590D01*
|
||||
X24484095Y-117766114D01*
|
||||
X24531714Y-117670876D01*
|
||||
X24579333Y-117623257D01*
|
||||
X24674571Y-117575638D01*
|
||||
%TO.C,R33*%
|
||||
X26541257Y-83603066D02*
|
||||
X26874590Y-83126876D01*
|
||||
X27112685Y-83603066D02*
|
||||
X27112685Y-82603066D01*
|
||||
X26731733Y-82603066D01*
|
||||
X26636495Y-82650686D01*
|
||||
X26588876Y-82698305D01*
|
||||
X26541257Y-82793543D01*
|
||||
X26541257Y-82936400D01*
|
||||
X26588876Y-83031638D01*
|
||||
X26636495Y-83079257D01*
|
||||
X26731733Y-83126876D01*
|
||||
X27112685Y-83126876D01*
|
||||
X26207923Y-82603066D02*
|
||||
X25588876Y-82603066D01*
|
||||
X25922209Y-82984019D01*
|
||||
X25779352Y-82984019D01*
|
||||
X25684114Y-83031638D01*
|
||||
X25636495Y-83079257D01*
|
||||
X25588876Y-83174495D01*
|
||||
X25588876Y-83412590D01*
|
||||
X25636495Y-83507828D01*
|
||||
X25684114Y-83555447D01*
|
||||
X25779352Y-83603066D01*
|
||||
X26065066Y-83603066D01*
|
||||
X26160304Y-83555447D01*
|
||||
X26207923Y-83507828D01*
|
||||
X25255542Y-82603066D02*
|
||||
X24636495Y-82603066D01*
|
||||
X24969828Y-82984019D01*
|
||||
X24826971Y-82984019D01*
|
||||
X24731733Y-83031638D01*
|
||||
X24684114Y-83079257D01*
|
||||
X24636495Y-83174495D01*
|
||||
X24636495Y-83412590D01*
|
||||
X24684114Y-83507828D01*
|
||||
X24731733Y-83555447D01*
|
||||
X24826971Y-83603066D01*
|
||||
X25112685Y-83603066D01*
|
||||
X25207923Y-83555447D01*
|
||||
X25255542Y-83507828D01*
|
||||
%TO.C,R34*%
|
||||
X26439657Y-95134666D02*
|
||||
X26772990Y-94658476D01*
|
||||
X27011085Y-95134666D02*
|
||||
X27011085Y-94134666D01*
|
||||
X26630133Y-94134666D01*
|
||||
X26534895Y-94182286D01*
|
||||
X26487276Y-94229905D01*
|
||||
X26439657Y-94325143D01*
|
||||
X26439657Y-94468000D01*
|
||||
X26487276Y-94563238D01*
|
||||
X26534895Y-94610857D01*
|
||||
X26630133Y-94658476D01*
|
||||
X27011085Y-94658476D01*
|
||||
X26106323Y-94134666D02*
|
||||
X25487276Y-94134666D01*
|
||||
X25820609Y-94515619D01*
|
||||
X25677752Y-94515619D01*
|
||||
X25582514Y-94563238D01*
|
||||
X25534895Y-94610857D01*
|
||||
X25487276Y-94706095D01*
|
||||
X25487276Y-94944190D01*
|
||||
X25534895Y-95039428D01*
|
||||
X25582514Y-95087047D01*
|
||||
X25677752Y-95134666D01*
|
||||
X25963466Y-95134666D01*
|
||||
X26058704Y-95087047D01*
|
||||
X26106323Y-95039428D01*
|
||||
X24630133Y-94468000D02*
|
||||
X24630133Y-95134666D01*
|
||||
X24868228Y-94087047D02*
|
||||
X25106323Y-94801333D01*
|
||||
X24487276Y-94801333D01*
|
||||
%TO.C,R31*%
|
||||
X26541257Y-89343466D02*
|
||||
X26874590Y-88867276D01*
|
||||
X27112685Y-89343466D02*
|
||||
X27112685Y-88343466D01*
|
||||
X26731733Y-88343466D01*
|
||||
X26636495Y-88391086D01*
|
||||
X26588876Y-88438705D01*
|
||||
X26541257Y-88533943D01*
|
||||
X26541257Y-88676800D01*
|
||||
X26588876Y-88772038D01*
|
||||
X26636495Y-88819657D01*
|
||||
X26731733Y-88867276D01*
|
||||
X27112685Y-88867276D01*
|
||||
X26207923Y-88343466D02*
|
||||
X25588876Y-88343466D01*
|
||||
X25922209Y-88724419D01*
|
||||
X25779352Y-88724419D01*
|
||||
X25684114Y-88772038D01*
|
||||
X25636495Y-88819657D01*
|
||||
X25588876Y-88914895D01*
|
||||
X25588876Y-89152990D01*
|
||||
X25636495Y-89248228D01*
|
||||
X25684114Y-89295847D01*
|
||||
X25779352Y-89343466D01*
|
||||
X26065066Y-89343466D01*
|
||||
X26160304Y-89295847D01*
|
||||
X26207923Y-89248228D01*
|
||||
X24636495Y-89343466D02*
|
||||
X25207923Y-89343466D01*
|
||||
X24922209Y-89343466D02*
|
||||
X24922209Y-88343466D01*
|
||||
X25017447Y-88486324D01*
|
||||
X25112685Y-88581562D01*
|
||||
X25207923Y-88629181D01*
|
||||
D11*
|
||||
%TO.C,R36*%
|
||||
X27534900Y-106594162D02*
|
||||
X27534900Y-107103610D01*
|
||||
X28579900Y-106594162D02*
|
||||
X28579900Y-107103610D01*
|
||||
%TO.C,R32*%
|
||||
X28579900Y-77788662D02*
|
||||
X28579900Y-78298110D01*
|
||||
X27534900Y-77788662D02*
|
||||
X27534900Y-78298110D01*
|
||||
%TO.C,C1*%
|
||||
X32262648Y-74182886D02*
|
||||
X32785152Y-74182886D01*
|
||||
X32262648Y-72712886D02*
|
||||
X32785152Y-72712886D01*
|
||||
%TO.C,R35*%
|
||||
X28579900Y-100855662D02*
|
||||
X28579900Y-101365110D01*
|
||||
X27534900Y-100855662D02*
|
||||
X27534900Y-101365110D01*
|
||||
%TO.C,R37*%
|
||||
X28579900Y-112285662D02*
|
||||
X28579900Y-112795110D01*
|
||||
X27534900Y-112285662D02*
|
||||
X27534900Y-112795110D01*
|
||||
%TO.C,R38*%
|
||||
X28579900Y-118151162D02*
|
||||
X28579900Y-118660610D01*
|
||||
X27534900Y-118151162D02*
|
||||
X27534900Y-118660610D01*
|
||||
%TO.C,R33*%
|
||||
X28579900Y-83583662D02*
|
||||
X28579900Y-84093110D01*
|
||||
X27534900Y-83583662D02*
|
||||
X27534900Y-84093110D01*
|
||||
%TO.C,R34*%
|
||||
X27534900Y-95140662D02*
|
||||
X27534900Y-95650110D01*
|
||||
X28579900Y-95140662D02*
|
||||
X28579900Y-95650110D01*
|
||||
%TO.C,R31*%
|
||||
X28579900Y-89298662D02*
|
||||
X28579900Y-89808110D01*
|
||||
X27534900Y-89298662D02*
|
||||
X27534900Y-89808110D01*
|
||||
%TD*%
|
||||
M02*
|
||||
138
F3:F303/CANbus4BTA/kicad/gerbers/stm32-Edge_Cuts.gbr
Normal file
138
F3:F303/CANbus4BTA/kicad/gerbers/stm32-Edge_Cuts.gbr
Normal file
@ -0,0 +1,138 @@
|
||||
%TF.GenerationSoftware,KiCad,Pcbnew,6.0.5*%
|
||||
%TF.CreationDate,2022-11-11T14:10:47+03:00*%
|
||||
%TF.ProjectId,stm32,73746d33-322e-46b6-9963-61645f706362,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 6.0.5) date 2022-11-11 14:10:47*
|
||||
%MOMM*%
|
||||
%LPD*%
|
||||
G01*
|
||||
G04 APERTURE LIST*
|
||||
%TA.AperFunction,Profile*%
|
||||
%ADD10C,0.150000*%
|
||||
%TD*%
|
||||
G04 APERTURE END LIST*
|
||||
D10*
|
||||
X29581400Y-69714086D02*
|
||||
X29581400Y-124501886D01*
|
||||
X92456000Y-137160000D02*
|
||||
G75*
|
||||
G03*
|
||||
X92456000Y-136144000I0J508000D01*
|
||||
G01*
|
||||
X30089400Y-69714086D02*
|
||||
X30089400Y-124501886D01*
|
||||
X123952000Y-98552000D02*
|
||||
G75*
|
||||
G03*
|
||||
X124968000Y-98552000I508000J0D01*
|
||||
G01*
|
||||
X44355600Y-41079531D02*
|
||||
G75*
|
||||
G03*
|
||||
X44355600Y-41587469I0J-253969D01*
|
||||
G01*
|
||||
X26918800Y-132347400D02*
|
||||
G75*
|
||||
G03*
|
||||
X26918800Y-132855400I0J-254000D01*
|
||||
G01*
|
||||
X61627600Y-41587531D02*
|
||||
G75*
|
||||
G03*
|
||||
X61627600Y-41079469I0J254031D01*
|
||||
G01*
|
||||
X105650000Y-75106200D02*
|
||||
G75*
|
||||
G03*
|
||||
X105142000Y-75106200I-254000J0D01*
|
||||
G01*
|
||||
X13500000Y-19500000D02*
|
||||
X13500000Y-156000000D01*
|
||||
X109220000Y-129032000D02*
|
||||
G75*
|
||||
G03*
|
||||
X110236000Y-129032000I508000J0D01*
|
||||
G01*
|
||||
X133096000Y-88392000D02*
|
||||
X125476000Y-88392000D01*
|
||||
X13500000Y-156000000D02*
|
||||
X135000000Y-156000000D01*
|
||||
X105650000Y-87044200D02*
|
||||
X105650000Y-75106200D01*
|
||||
X133096000Y-88392000D02*
|
||||
G75*
|
||||
G03*
|
||||
X133096000Y-87376000I0J508000D01*
|
||||
G01*
|
||||
X123952000Y-88900000D02*
|
||||
X123952000Y-98552000D01*
|
||||
X26918800Y-132855400D02*
|
||||
X44749600Y-132855400D01*
|
||||
X125476000Y-88392000D02*
|
||||
G75*
|
||||
G03*
|
||||
X124968000Y-88900000I0J-508000D01*
|
||||
G01*
|
||||
X78740000Y-136144000D02*
|
||||
G75*
|
||||
G03*
|
||||
X78740000Y-137160000I0J-508000D01*
|
||||
G01*
|
||||
X92456000Y-137160000D02*
|
||||
X78740000Y-137160000D01*
|
||||
X109220000Y-100076000D02*
|
||||
X109220000Y-129032000D01*
|
||||
X29581400Y-124501886D02*
|
||||
G75*
|
||||
G03*
|
||||
X30089400Y-124501886I254000J0D01*
|
||||
G01*
|
||||
X44749600Y-132347400D02*
|
||||
X26918800Y-132347400D01*
|
||||
X133096000Y-87376000D02*
|
||||
X125476000Y-87376000D01*
|
||||
X44749600Y-132855400D02*
|
||||
G75*
|
||||
G03*
|
||||
X44749600Y-132347400I0J254000D01*
|
||||
G01*
|
||||
X44355600Y-41079469D02*
|
||||
X61627600Y-41079469D01*
|
||||
X78740000Y-136144000D02*
|
||||
X92456000Y-136144000D01*
|
||||
X105142000Y-75106200D02*
|
||||
X105142000Y-87044200D01*
|
||||
X125476000Y-87376000D02*
|
||||
G75*
|
||||
G03*
|
||||
X123952000Y-88900000I0J-1524000D01*
|
||||
G01*
|
||||
X110236000Y-129032000D02*
|
||||
X110236000Y-100076000D01*
|
||||
X30089400Y-69714086D02*
|
||||
G75*
|
||||
G03*
|
||||
X29581400Y-69714086I-254000J0D01*
|
||||
G01*
|
||||
X105142000Y-87044200D02*
|
||||
G75*
|
||||
G03*
|
||||
X105650000Y-87044200I254000J0D01*
|
||||
G01*
|
||||
X135000000Y-19500000D02*
|
||||
X135000000Y-156000000D01*
|
||||
X13500000Y-19500000D02*
|
||||
X135000000Y-19500000D01*
|
||||
X124968000Y-88900000D02*
|
||||
X124968000Y-98552000D01*
|
||||
X110236000Y-100076000D02*
|
||||
G75*
|
||||
G03*
|
||||
X109220000Y-100076000I-508000J0D01*
|
||||
G01*
|
||||
X44355600Y-41587469D02*
|
||||
X61627600Y-41587469D01*
|
||||
M02*
|
||||
29188
F3:F303/CANbus4BTA/kicad/gerbers/stm32-F_Cu.gbr
Normal file
29188
F3:F303/CANbus4BTA/kicad/gerbers/stm32-F_Cu.gbr
Normal file
File diff suppressed because it is too large
Load Diff
1091
F3:F303/CANbus4BTA/kicad/gerbers/stm32-F_Mask.gbr
Normal file
1091
F3:F303/CANbus4BTA/kicad/gerbers/stm32-F_Mask.gbr
Normal file
File diff suppressed because it is too large
Load Diff
613
F3:F303/CANbus4BTA/kicad/gerbers/stm32-F_Paste.gbr
Normal file
613
F3:F303/CANbus4BTA/kicad/gerbers/stm32-F_Paste.gbr
Normal file
@ -0,0 +1,613 @@
|
||||
%TF.GenerationSoftware,KiCad,Pcbnew,6.0.5*%
|
||||
%TF.CreationDate,2022-11-11T14:10:47+03:00*%
|
||||
%TF.ProjectId,stm32,73746d33-322e-46b6-9963-61645f706362,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 6.0.5) date 2022-11-11 14:10:47*
|
||||
%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*%
|
||||
%AMOutline4P*
|
||||
0 Free polygon, 4 corners , with rotation*
|
||||
0 The origin of the aperture is its center*
|
||||
0 number of corners: always 4*
|
||||
0 $1 to $8 corner X, Y*
|
||||
0 $9 Rotation angle, in degrees counterclockwise*
|
||||
0 create outline with 4 corners*
|
||||
4,1,4,$1,$2,$3,$4,$5,$6,$7,$8,$1,$2,$9*%
|
||||
G04 Aperture macros list end*
|
||||
%ADD10RoundRect,0.237500X0.300000X0.237500X-0.300000X0.237500X-0.300000X-0.237500X0.300000X-0.237500X0*%
|
||||
%ADD11R,1.900000X0.800000*%
|
||||
%ADD12RoundRect,0.237500X0.237500X-0.300000X0.237500X0.300000X-0.237500X0.300000X-0.237500X-0.300000X0*%
|
||||
%ADD13R,2.000000X1.500000*%
|
||||
%ADD14R,2.000000X3.800000*%
|
||||
%ADD15RoundRect,0.237500X0.237500X-0.250000X0.237500X0.250000X-0.237500X0.250000X-0.237500X-0.250000X0*%
|
||||
%ADD16RoundRect,0.249999X-0.450001X-1.075001X0.450001X-1.075001X0.450001X1.075001X-0.450001X1.075001X0*%
|
||||
%ADD17RoundRect,0.250000X-0.400000X-1.075000X0.400000X-1.075000X0.400000X1.075000X-0.400000X1.075000X0*%
|
||||
%ADD18RoundRect,0.250000X-0.475000X0.337500X-0.475000X-0.337500X0.475000X-0.337500X0.475000X0.337500X0*%
|
||||
%ADD19R,1.600000X2.180000*%
|
||||
%ADD20RoundRect,0.250000X-0.325000X-0.450000X0.325000X-0.450000X0.325000X0.450000X-0.325000X0.450000X0*%
|
||||
%ADD21RoundRect,0.237500X-0.237500X0.300000X-0.237500X-0.300000X0.237500X-0.300000X0.237500X0.300000X0*%
|
||||
%ADD22RoundRect,0.237500X-0.237500X0.250000X-0.237500X-0.250000X0.237500X-0.250000X0.237500X0.250000X0*%
|
||||
%ADD23RoundRect,0.237500X0.250000X0.237500X-0.250000X0.237500X-0.250000X-0.237500X0.250000X-0.237500X0*%
|
||||
%ADD24RoundRect,0.237500X-0.250000X-0.237500X0.250000X-0.237500X0.250000X0.237500X-0.250000X0.237500X0*%
|
||||
%ADD25RoundRect,0.150000X0.150000X-0.825000X0.150000X0.825000X-0.150000X0.825000X-0.150000X-0.825000X0*%
|
||||
%ADD26RoundRect,0.250000X-0.450000X0.325000X-0.450000X-0.325000X0.450000X-0.325000X0.450000X0.325000X0*%
|
||||
%ADD27RoundRect,0.150000X0.875000X0.150000X-0.875000X0.150000X-0.875000X-0.150000X0.875000X-0.150000X0*%
|
||||
%ADD28RoundRect,0.162500X0.162500X-1.012500X0.162500X1.012500X-0.162500X1.012500X-0.162500X-1.012500X0*%
|
||||
%ADD29RoundRect,0.250000X0.337500X0.475000X-0.337500X0.475000X-0.337500X-0.475000X0.337500X-0.475000X0*%
|
||||
%ADD30RoundRect,0.150000X-0.825000X-0.150000X0.825000X-0.150000X0.825000X0.150000X-0.825000X0.150000X0*%
|
||||
%ADD31RoundRect,0.150000X0.825000X0.150000X-0.825000X0.150000X-0.825000X-0.150000X0.825000X-0.150000X0*%
|
||||
%ADD32RoundRect,0.150000X-0.150000X0.875000X-0.150000X-0.875000X0.150000X-0.875000X0.150000X0.875000X0*%
|
||||
%ADD33RoundRect,0.150000X0.150000X-0.587500X0.150000X0.587500X-0.150000X0.587500X-0.150000X-0.587500X0*%
|
||||
%ADD34Outline4P,-1.800000X-1.150000X1.800000X-0.550000X1.800000X0.550000X-1.800000X1.150000X270.000000*%
|
||||
%ADD35Outline4P,-1.800000X-1.150000X1.800000X-0.550000X1.800000X0.550000X-1.800000X1.150000X90.000000*%
|
||||
%ADD36RoundRect,0.237500X-0.300000X-0.237500X0.300000X-0.237500X0.300000X0.237500X-0.300000X0.237500X0*%
|
||||
%ADD37R,0.800000X1.900000*%
|
||||
%ADD38R,3.500000X2.300000*%
|
||||
%ADD39RoundRect,0.250000X0.875000X0.925000X-0.875000X0.925000X-0.875000X-0.925000X0.875000X-0.925000X0*%
|
||||
%ADD40RoundRect,0.250000X0.537500X0.425000X-0.537500X0.425000X-0.537500X-0.425000X0.537500X-0.425000X0*%
|
||||
%ADD41RoundRect,0.075000X-0.662500X-0.075000X0.662500X-0.075000X0.662500X0.075000X-0.662500X0.075000X0*%
|
||||
%ADD42RoundRect,0.075000X-0.075000X-0.662500X0.075000X-0.662500X0.075000X0.662500X-0.075000X0.662500X0*%
|
||||
%ADD43RoundRect,0.150000X0.150000X-0.512500X0.150000X0.512500X-0.150000X0.512500X-0.150000X-0.512500X0*%
|
||||
%ADD44RoundRect,0.150000X0.150000X-0.725000X0.150000X0.725000X-0.150000X0.725000X-0.150000X-0.725000X0*%
|
||||
%ADD45R,2.300000X3.500000*%
|
||||
G04 APERTURE END LIST*
|
||||
D10*
|
||||
%TO.C,C17*%
|
||||
X98295000Y-24538500D03*
|
||||
X96570000Y-24538500D03*
|
||||
%TD*%
|
||||
D11*
|
||||
%TO.C,Q6*%
|
||||
X98803200Y-98364000D03*
|
||||
X98803200Y-100264000D03*
|
||||
X101803200Y-99314000D03*
|
||||
%TD*%
|
||||
D12*
|
||||
%TO.C,C14*%
|
||||
X121666000Y-43331300D03*
|
||||
X121666000Y-41606300D03*
|
||||
%TD*%
|
||||
D13*
|
||||
%TO.C,U10*%
|
||||
X114883000Y-51493000D03*
|
||||
D14*
|
||||
X121183000Y-53793000D03*
|
||||
D13*
|
||||
X114883000Y-53793000D03*
|
||||
X114883000Y-56093000D03*
|
||||
%TD*%
|
||||
D15*
|
||||
%TO.C,R7*%
|
||||
X68294000Y-128193200D03*
|
||||
X68294000Y-126368200D03*
|
||||
%TD*%
|
||||
%TO.C,R1*%
|
||||
X18491200Y-64613800D03*
|
||||
X18491200Y-62788800D03*
|
||||
%TD*%
|
||||
D16*
|
||||
%TO.C,R23*%
|
||||
X90500000Y-62048000D03*
|
||||
X95300000Y-62048000D03*
|
||||
%TD*%
|
||||
D17*
|
||||
%TO.C,R28*%
|
||||
X62204600Y-31521400D03*
|
||||
X65304600Y-31521400D03*
|
||||
%TD*%
|
||||
D18*
|
||||
%TO.C,C3*%
|
||||
X22606000Y-70793700D03*
|
||||
X22606000Y-72868700D03*
|
||||
%TD*%
|
||||
D19*
|
||||
%TO.C,SW3*%
|
||||
X15458000Y-55430400D03*
|
||||
X15458000Y-64610400D03*
|
||||
%TD*%
|
||||
D20*
|
||||
%TO.C,D3*%
|
||||
X65338600Y-137540400D03*
|
||||
X67388600Y-137540400D03*
|
||||
%TD*%
|
||||
D21*
|
||||
%TO.C,C12*%
|
||||
X29078200Y-22787400D03*
|
||||
X29078200Y-24512400D03*
|
||||
%TD*%
|
||||
%TO.C,C24*%
|
||||
X114858000Y-58772500D03*
|
||||
X114858000Y-60497500D03*
|
||||
%TD*%
|
||||
D10*
|
||||
%TO.C,C20*%
|
||||
X114540000Y-75868200D03*
|
||||
X112815000Y-75868200D03*
|
||||
%TD*%
|
||||
D15*
|
||||
%TO.C,R16*%
|
||||
X55882400Y-60910600D03*
|
||||
X55882400Y-59085600D03*
|
||||
%TD*%
|
||||
D22*
|
||||
%TO.C,R10*%
|
||||
X66414400Y-126368200D03*
|
||||
X66414400Y-128193200D03*
|
||||
%TD*%
|
||||
D16*
|
||||
%TO.C,R22*%
|
||||
X90500000Y-57467000D03*
|
||||
X95300000Y-57467000D03*
|
||||
%TD*%
|
||||
D22*
|
||||
%TO.C,R12*%
|
||||
X117043200Y-41555500D03*
|
||||
X117043200Y-43380500D03*
|
||||
%TD*%
|
||||
D23*
|
||||
%TO.C,R15*%
|
||||
X26970000Y-35843000D03*
|
||||
X25145000Y-35843000D03*
|
||||
%TD*%
|
||||
D21*
|
||||
%TO.C,C6*%
|
||||
X53741600Y-72111100D03*
|
||||
X53741600Y-73836100D03*
|
||||
%TD*%
|
||||
D23*
|
||||
%TO.C,R18*%
|
||||
X96670500Y-98348800D03*
|
||||
X94845500Y-98348800D03*
|
||||
%TD*%
|
||||
D11*
|
||||
%TO.C,Q5*%
|
||||
X53521600Y-60950000D03*
|
||||
X53521600Y-59050000D03*
|
||||
X50521600Y-60000000D03*
|
||||
%TD*%
|
||||
D23*
|
||||
%TO.C,R19*%
|
||||
X98004600Y-77747800D03*
|
||||
X96179600Y-77747800D03*
|
||||
%TD*%
|
||||
D12*
|
||||
%TO.C,C10*%
|
||||
X76500000Y-81862500D03*
|
||||
X76500000Y-80137500D03*
|
||||
%TD*%
|
||||
D23*
|
||||
%TO.C,R17*%
|
||||
X96672400Y-100253800D03*
|
||||
X94847400Y-100253800D03*
|
||||
%TD*%
|
||||
D24*
|
||||
%TO.C,R4*%
|
||||
X74559400Y-99795000D03*
|
||||
X76384400Y-99795000D03*
|
||||
%TD*%
|
||||
D15*
|
||||
%TO.C,R5*%
|
||||
X72472800Y-104972800D03*
|
||||
X72472800Y-103147800D03*
|
||||
%TD*%
|
||||
D16*
|
||||
%TO.C,R24*%
|
||||
X90500000Y-66620000D03*
|
||||
X95300000Y-66620000D03*
|
||||
%TD*%
|
||||
D23*
|
||||
%TO.C,R29*%
|
||||
X123988800Y-80694200D03*
|
||||
X122163800Y-80694200D03*
|
||||
%TD*%
|
||||
D25*
|
||||
%TO.C,U2*%
|
||||
X40808200Y-100916486D03*
|
||||
X42078200Y-100916486D03*
|
||||
X43348200Y-100916486D03*
|
||||
X44618200Y-100916486D03*
|
||||
X45888200Y-100916486D03*
|
||||
X47158200Y-100916486D03*
|
||||
X48428200Y-100916486D03*
|
||||
X49698200Y-100916486D03*
|
||||
X49698200Y-95966486D03*
|
||||
X48428200Y-95966486D03*
|
||||
X47158200Y-95966486D03*
|
||||
X45888200Y-95966486D03*
|
||||
X44618200Y-95966486D03*
|
||||
X43348200Y-95966486D03*
|
||||
X42078200Y-95966486D03*
|
||||
X40808200Y-95966486D03*
|
||||
%TD*%
|
||||
D26*
|
||||
%TO.C,D2*%
|
||||
X77248000Y-102843000D03*
|
||||
X77248000Y-104893000D03*
|
||||
%TD*%
|
||||
D27*
|
||||
%TO.C,U7*%
|
||||
X110046000Y-85494800D03*
|
||||
X110046000Y-84224800D03*
|
||||
X110046000Y-82954800D03*
|
||||
X110046000Y-81684800D03*
|
||||
X110046000Y-80414800D03*
|
||||
X110046000Y-79144800D03*
|
||||
X110046000Y-77874800D03*
|
||||
X110046000Y-76604800D03*
|
||||
X100746000Y-76604800D03*
|
||||
X100746000Y-77874800D03*
|
||||
X100746000Y-79144800D03*
|
||||
X100746000Y-80414800D03*
|
||||
X100746000Y-81684800D03*
|
||||
X100746000Y-82954800D03*
|
||||
X100746000Y-84224800D03*
|
||||
X100746000Y-85494800D03*
|
||||
%TD*%
|
||||
D28*
|
||||
%TO.C,U8*%
|
||||
X52229600Y-45858469D03*
|
||||
X54769600Y-45858469D03*
|
||||
X57309600Y-45858469D03*
|
||||
X59849600Y-45858469D03*
|
||||
X59849600Y-36808469D03*
|
||||
X57309600Y-36808469D03*
|
||||
X54769600Y-36808469D03*
|
||||
X52229600Y-36808469D03*
|
||||
%TD*%
|
||||
D29*
|
||||
%TO.C,C23*%
|
||||
X49377000Y-34323069D03*
|
||||
X47302000Y-34323069D03*
|
||||
%TD*%
|
||||
D23*
|
||||
%TO.C,R3*%
|
||||
X72472800Y-99795000D03*
|
||||
X70647800Y-99795000D03*
|
||||
%TD*%
|
||||
%TO.C,R20*%
|
||||
X98004600Y-79297200D03*
|
||||
X96179600Y-79297200D03*
|
||||
%TD*%
|
||||
D12*
|
||||
%TO.C,C21*%
|
||||
X113270000Y-85774200D03*
|
||||
X113270000Y-84049200D03*
|
||||
%TD*%
|
||||
D24*
|
||||
%TO.C,R21*%
|
||||
X91062000Y-39397500D03*
|
||||
X92887000Y-39397500D03*
|
||||
%TD*%
|
||||
D12*
|
||||
%TO.C,C13*%
|
||||
X29027400Y-37568000D03*
|
||||
X29027400Y-35843000D03*
|
||||
%TD*%
|
||||
D21*
|
||||
%TO.C,C9*%
|
||||
X76500000Y-68910700D03*
|
||||
X76500000Y-70635700D03*
|
||||
%TD*%
|
||||
D19*
|
||||
%TO.C,SW1*%
|
||||
X22458000Y-64520400D03*
|
||||
X22458000Y-55340400D03*
|
||||
%TD*%
|
||||
D10*
|
||||
%TO.C,C25*%
|
||||
X121181500Y-58746000D03*
|
||||
X119456500Y-58746000D03*
|
||||
%TD*%
|
||||
D30*
|
||||
%TO.C,U1*%
|
||||
X49152000Y-107950000D03*
|
||||
X49152000Y-109220000D03*
|
||||
X49152000Y-110490000D03*
|
||||
X49152000Y-111760000D03*
|
||||
X49152000Y-113030000D03*
|
||||
X49152000Y-114300000D03*
|
||||
X49152000Y-115570000D03*
|
||||
X49152000Y-116840000D03*
|
||||
X54102000Y-116840000D03*
|
||||
X54102000Y-115570000D03*
|
||||
X54102000Y-114300000D03*
|
||||
X54102000Y-113030000D03*
|
||||
X54102000Y-111760000D03*
|
||||
X54102000Y-110490000D03*
|
||||
X54102000Y-109220000D03*
|
||||
X54102000Y-107950000D03*
|
||||
%TD*%
|
||||
D31*
|
||||
%TO.C,D8*%
|
||||
X119315200Y-81659400D03*
|
||||
X119315200Y-80389400D03*
|
||||
X119315200Y-79119400D03*
|
||||
X119315200Y-77849400D03*
|
||||
X114365200Y-77849400D03*
|
||||
X114365200Y-79119400D03*
|
||||
X114365200Y-80389400D03*
|
||||
X114365200Y-81659400D03*
|
||||
%TD*%
|
||||
D21*
|
||||
%TO.C,C7*%
|
||||
X63825400Y-76227000D03*
|
||||
X63825400Y-77952000D03*
|
||||
%TD*%
|
||||
D23*
|
||||
%TO.C,R8*%
|
||||
X83208500Y-37084000D03*
|
||||
X81383500Y-37084000D03*
|
||||
%TD*%
|
||||
D29*
|
||||
%TO.C,C15*%
|
||||
X51485200Y-48674069D03*
|
||||
X49410200Y-48674069D03*
|
||||
%TD*%
|
||||
D12*
|
||||
%TO.C,C16*%
|
||||
X97750600Y-86280000D03*
|
||||
X97750600Y-84555000D03*
|
||||
%TD*%
|
||||
D23*
|
||||
%TO.C,R30*%
|
||||
X123985000Y-78916200D03*
|
||||
X122160000Y-78916200D03*
|
||||
%TD*%
|
||||
D15*
|
||||
%TO.C,R2*%
|
||||
X19465200Y-56540400D03*
|
||||
X19465200Y-54715400D03*
|
||||
%TD*%
|
||||
D32*
|
||||
%TO.C,U5*%
|
||||
X43352600Y-127951400D03*
|
||||
X42082600Y-127951400D03*
|
||||
X40812600Y-127951400D03*
|
||||
X39542600Y-127951400D03*
|
||||
X38272600Y-127951400D03*
|
||||
X37002600Y-127951400D03*
|
||||
X35732600Y-127951400D03*
|
||||
X34462600Y-127951400D03*
|
||||
X34462600Y-137251400D03*
|
||||
X35732600Y-137251400D03*
|
||||
X37002600Y-137251400D03*
|
||||
X38272600Y-137251400D03*
|
||||
X39542600Y-137251400D03*
|
||||
X40812600Y-137251400D03*
|
||||
X42082600Y-137251400D03*
|
||||
X43352600Y-137251400D03*
|
||||
%TD*%
|
||||
D21*
|
||||
%TO.C,C29*%
|
||||
X96150400Y-82828900D03*
|
||||
X96150400Y-84553900D03*
|
||||
%TD*%
|
||||
D33*
|
||||
%TO.C,D9*%
|
||||
X57324800Y-33177769D03*
|
||||
X59224800Y-33177769D03*
|
||||
X58274800Y-31302769D03*
|
||||
%TD*%
|
||||
D21*
|
||||
%TO.C,C5*%
|
||||
X67203600Y-68858800D03*
|
||||
X67203600Y-70583800D03*
|
||||
%TD*%
|
||||
D34*
|
||||
%TO.C,D6*%
|
||||
X106172000Y-93472000D03*
|
||||
D35*
|
||||
X106172000Y-99272000D03*
|
||||
%TD*%
|
||||
D24*
|
||||
%TO.C,R9*%
|
||||
X81334600Y-39979600D03*
|
||||
X83159600Y-39979600D03*
|
||||
%TD*%
|
||||
D21*
|
||||
%TO.C,C4*%
|
||||
X18491200Y-59438200D03*
|
||||
X18491200Y-61163200D03*
|
||||
%TD*%
|
||||
D36*
|
||||
%TO.C,C11*%
|
||||
X81382700Y-41554400D03*
|
||||
X83107700Y-41554400D03*
|
||||
%TD*%
|
||||
D37*
|
||||
%TO.C,Q4*%
|
||||
X68278800Y-130374800D03*
|
||||
X66378800Y-130374800D03*
|
||||
X67328800Y-133374800D03*
|
||||
%TD*%
|
||||
D38*
|
||||
%TO.C,D7*%
|
||||
X90568000Y-52142000D03*
|
||||
X95968000Y-52142000D03*
|
||||
%TD*%
|
||||
D39*
|
||||
%TO.C,C26*%
|
||||
X112973000Y-40413500D03*
|
||||
X107873000Y-40413500D03*
|
||||
%TD*%
|
||||
D16*
|
||||
%TO.C,R27*%
|
||||
X97459000Y-66620000D03*
|
||||
X102259000Y-66620000D03*
|
||||
%TD*%
|
||||
D24*
|
||||
%TO.C,R11*%
|
||||
X54057400Y-62844800D03*
|
||||
X55882400Y-62844800D03*
|
||||
%TD*%
|
||||
D15*
|
||||
%TO.C,R6*%
|
||||
X74504800Y-104974700D03*
|
||||
X74504800Y-103149700D03*
|
||||
%TD*%
|
||||
D40*
|
||||
%TO.C,C27*%
|
||||
X121716000Y-62302000D03*
|
||||
X118841000Y-62302000D03*
|
||||
%TD*%
|
||||
D23*
|
||||
%TO.C,R14*%
|
||||
X27017000Y-24540000D03*
|
||||
X25192000Y-24540000D03*
|
||||
%TD*%
|
||||
D41*
|
||||
%TO.C,U4*%
|
||||
X67663900Y-72458800D03*
|
||||
X67663900Y-72958800D03*
|
||||
X67663900Y-73458800D03*
|
||||
X67663900Y-73958800D03*
|
||||
X67663900Y-74458800D03*
|
||||
X67663900Y-74958800D03*
|
||||
X67663900Y-75458800D03*
|
||||
X67663900Y-75958800D03*
|
||||
X67663900Y-76458800D03*
|
||||
X67663900Y-76958800D03*
|
||||
X67663900Y-77458800D03*
|
||||
X67663900Y-77958800D03*
|
||||
D42*
|
||||
X69076400Y-79371300D03*
|
||||
X69576400Y-79371300D03*
|
||||
X70076400Y-79371300D03*
|
||||
X70576400Y-79371300D03*
|
||||
X71076400Y-79371300D03*
|
||||
X71576400Y-79371300D03*
|
||||
X72076400Y-79371300D03*
|
||||
X72576400Y-79371300D03*
|
||||
X73076400Y-79371300D03*
|
||||
X73576400Y-79371300D03*
|
||||
X74076400Y-79371300D03*
|
||||
X74576400Y-79371300D03*
|
||||
D41*
|
||||
X75988900Y-77958800D03*
|
||||
X75988900Y-77458800D03*
|
||||
X75988900Y-76958800D03*
|
||||
X75988900Y-76458800D03*
|
||||
X75988900Y-75958800D03*
|
||||
X75988900Y-75458800D03*
|
||||
X75988900Y-74958800D03*
|
||||
X75988900Y-74458800D03*
|
||||
X75988900Y-73958800D03*
|
||||
X75988900Y-73458800D03*
|
||||
X75988900Y-72958800D03*
|
||||
X75988900Y-72458800D03*
|
||||
D42*
|
||||
X74576400Y-71046300D03*
|
||||
X74076400Y-71046300D03*
|
||||
X73576400Y-71046300D03*
|
||||
X73076400Y-71046300D03*
|
||||
X72576400Y-71046300D03*
|
||||
X72076400Y-71046300D03*
|
||||
X71576400Y-71046300D03*
|
||||
X71076400Y-71046300D03*
|
||||
X70576400Y-71046300D03*
|
||||
X70076400Y-71046300D03*
|
||||
X69576400Y-71046300D03*
|
||||
X69076400Y-71046300D03*
|
||||
%TD*%
|
||||
D16*
|
||||
%TO.C,R26*%
|
||||
X97459000Y-62048000D03*
|
||||
X102259000Y-62048000D03*
|
||||
%TD*%
|
||||
D43*
|
||||
%TO.C,U6*%
|
||||
X35981600Y-45810600D03*
|
||||
X36931600Y-45810600D03*
|
||||
X37881600Y-45810600D03*
|
||||
X37881600Y-43535600D03*
|
||||
X36931600Y-43535600D03*
|
||||
X35981600Y-43535600D03*
|
||||
%TD*%
|
||||
D32*
|
||||
%TO.C,U3*%
|
||||
X89945000Y-131850000D03*
|
||||
X88675000Y-131850000D03*
|
||||
X87405000Y-131850000D03*
|
||||
X86135000Y-131850000D03*
|
||||
X84865000Y-131850000D03*
|
||||
X83595000Y-131850000D03*
|
||||
X82325000Y-131850000D03*
|
||||
X81055000Y-131850000D03*
|
||||
X81055000Y-141150000D03*
|
||||
X82325000Y-141150000D03*
|
||||
X83595000Y-141150000D03*
|
||||
X84865000Y-141150000D03*
|
||||
X86135000Y-141150000D03*
|
||||
X87405000Y-141150000D03*
|
||||
X88675000Y-141150000D03*
|
||||
X89945000Y-141150000D03*
|
||||
%TD*%
|
||||
D26*
|
||||
%TO.C,D1*%
|
||||
X69805800Y-102817600D03*
|
||||
X69805800Y-104867600D03*
|
||||
%TD*%
|
||||
D16*
|
||||
%TO.C,R25*%
|
||||
X97459000Y-57476000D03*
|
||||
X102259000Y-57476000D03*
|
||||
%TD*%
|
||||
D20*
|
||||
%TO.C,D4*%
|
||||
X87290000Y-39397500D03*
|
||||
X89340000Y-39397500D03*
|
||||
%TD*%
|
||||
D15*
|
||||
%TO.C,R13*%
|
||||
X120040400Y-43380500D03*
|
||||
X120040400Y-41555500D03*
|
||||
%TD*%
|
||||
D44*
|
||||
%TO.C,Q7*%
|
||||
X85521000Y-37054500D03*
|
||||
X86791000Y-37054500D03*
|
||||
X88061000Y-37054500D03*
|
||||
X89331000Y-37054500D03*
|
||||
X89331000Y-31904500D03*
|
||||
X88061000Y-31904500D03*
|
||||
X86791000Y-31904500D03*
|
||||
X85521000Y-31904500D03*
|
||||
%TD*%
|
||||
D12*
|
||||
%TO.C,C8*%
|
||||
X53741600Y-77188900D03*
|
||||
X53741600Y-75463900D03*
|
||||
%TD*%
|
||||
%TO.C,C2*%
|
||||
X25459600Y-60792900D03*
|
||||
X25459600Y-59067900D03*
|
||||
%TD*%
|
||||
D45*
|
||||
%TO.C,D5*%
|
||||
X86537000Y-57410000D03*
|
||||
X86537000Y-62810000D03*
|
||||
%TD*%
|
||||
M02*
|
||||
8381
F3:F303/CANbus4BTA/kicad/gerbers/stm32-F_Silkscreen.gbr
Normal file
8381
F3:F303/CANbus4BTA/kicad/gerbers/stm32-F_Silkscreen.gbr
Normal file
File diff suppressed because it is too large
Load Diff
7708
F3:F303/CANbus4BTA/kicad/gerbers/stm32-drl_map.gbr
Normal file
7708
F3:F303/CANbus4BTA/kicad/gerbers/stm32-drl_map.gbr
Normal file
File diff suppressed because it is too large
Load Diff
127
F3:F303/CANbus4BTA/kicad/gerbers/stm32-job.gbrjob
Normal file
127
F3:F303/CANbus4BTA/kicad/gerbers/stm32-job.gbrjob
Normal file
@ -0,0 +1,127 @@
|
||||
{
|
||||
"Header": {
|
||||
"GenerationSoftware": {
|
||||
"Vendor": "KiCad",
|
||||
"Application": "Pcbnew",
|
||||
"Version": "6.0.5"
|
||||
},
|
||||
"CreationDate": "2022-11-11T14:10:47+03:00"
|
||||
},
|
||||
"GeneralSpecs": {
|
||||
"ProjectId": {
|
||||
"Name": "stm32",
|
||||
"GUID": "73746d33-322e-46b6-9963-61645f706362",
|
||||
"Revision": "rev?"
|
||||
},
|
||||
"Size": {
|
||||
"X": 121.65,
|
||||
"Y": 136.65
|
||||
},
|
||||
"LayerNumber": 2,
|
||||
"BoardThickness": 1.6,
|
||||
"Finish": "None"
|
||||
},
|
||||
"DesignRules": [
|
||||
{
|
||||
"Layers": "Outer",
|
||||
"PadToPad": 0.1,
|
||||
"PadToTrack": 0.1,
|
||||
"TrackToTrack": 0.2,
|
||||
"MinLineWidth": 0.2,
|
||||
"TrackToRegion": 0.508,
|
||||
"RegionToRegion": 0.508
|
||||
}
|
||||
],
|
||||
"FilesAttributes": [
|
||||
{
|
||||
"Path": "stm32-F_Cu.gbr",
|
||||
"FileFunction": "Copper,L1,Top",
|
||||
"FilePolarity": "Positive"
|
||||
},
|
||||
{
|
||||
"Path": "stm32-B_Cu.gbr",
|
||||
"FileFunction": "Copper,L2,Bot",
|
||||
"FilePolarity": "Positive"
|
||||
},
|
||||
{
|
||||
"Path": "stm32-F_Paste.gbr",
|
||||
"FileFunction": "SolderPaste,Top",
|
||||
"FilePolarity": "Positive"
|
||||
},
|
||||
{
|
||||
"Path": "stm32-B_Paste.gbr",
|
||||
"FileFunction": "SolderPaste,Bot",
|
||||
"FilePolarity": "Positive"
|
||||
},
|
||||
{
|
||||
"Path": "stm32-F_Silkscreen.gbr",
|
||||
"FileFunction": "Legend,Top",
|
||||
"FilePolarity": "Positive"
|
||||
},
|
||||
{
|
||||
"Path": "stm32-B_Silkscreen.gbr",
|
||||
"FileFunction": "Legend,Bot",
|
||||
"FilePolarity": "Positive"
|
||||
},
|
||||
{
|
||||
"Path": "stm32-F_Mask.gbr",
|
||||
"FileFunction": "SolderMask,Top",
|
||||
"FilePolarity": "Negative"
|
||||
},
|
||||
{
|
||||
"Path": "stm32-B_Mask.gbr",
|
||||
"FileFunction": "SolderMask,Bot",
|
||||
"FilePolarity": "Negative"
|
||||
},
|
||||
{
|
||||
"Path": "stm32-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": 1.51,
|
||||
"Material": "FR4",
|
||||
"Name": "F.Cu/B.Cu",
|
||||
"Notes": "Type: dielectric layer 1 (from F.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"
|
||||
}
|
||||
]
|
||||
}
|
||||
409
F3:F303/CANbus4BTA/kicad/gerbers/stm32.drl
Normal file
409
F3:F303/CANbus4BTA/kicad/gerbers/stm32.drl
Normal file
@ -0,0 +1,409 @@
|
||||
M48
|
||||
; DRILL file {KiCad 6.0.5} date Вт 22 ноя 2022 12:05:16
|
||||
; FORMAT={-:-/ absolute / metric / decimal}
|
||||
; #@! TF.CreationDate,2022-11-22T12:05:16+03:00
|
||||
; #@! TF.GenerationSoftware,Kicad,Pcbnew,6.0.5
|
||||
; #@! TF.FileFunction,MixedPlating,1,2
|
||||
FMAT,2
|
||||
METRIC
|
||||
; #@! TA.AperFunction,Plated,PTH,ViaDrill
|
||||
T1C0.400
|
||||
; #@! TA.AperFunction,Plated,PTH,ViaDrill
|
||||
T2C0.600
|
||||
; #@! TA.AperFunction,Plated,PTH,ComponentDrill
|
||||
T3C0.600
|
||||
; #@! TA.AperFunction,Plated,PTH,ComponentDrill
|
||||
T4C0.700
|
||||
; #@! TA.AperFunction,Plated,PTH,ComponentDrill
|
||||
T5C0.750
|
||||
; #@! TA.AperFunction,Plated,PTH,ViaDrill
|
||||
T6C0.800
|
||||
; #@! TA.AperFunction,Plated,PTH,ComponentDrill
|
||||
T7C0.800
|
||||
; #@! TA.AperFunction,Plated,PTH,ComponentDrill
|
||||
T8C0.920
|
||||
; #@! TA.AperFunction,Plated,PTH,ComponentDrill
|
||||
T9C1.000
|
||||
; #@! TA.AperFunction,Plated,PTH,ComponentDrill
|
||||
T10C1.100
|
||||
; #@! TA.AperFunction,Plated,PTH,ComponentDrill
|
||||
T11C1.200
|
||||
; #@! TA.AperFunction,Plated,PTH,ComponentDrill
|
||||
T12C1.300
|
||||
; #@! TA.AperFunction,Plated,PTH,ComponentDrill
|
||||
T13C1.500
|
||||
; #@! TA.AperFunction,Plated,PTH,ComponentDrill
|
||||
T14C2.330
|
||||
; #@! TA.AperFunction,Plated,PTH,ComponentDrill
|
||||
T15C3.000
|
||||
; #@! TA.AperFunction,Plated,PTH,ComponentDrill
|
||||
T16C3.200
|
||||
%
|
||||
G90
|
||||
G05
|
||||
T1
|
||||
X19.71Y-58.014
|
||||
X23.571Y-59.741
|
||||
X28.078Y-81.378
|
||||
X28.078Y-87.118
|
||||
X28.078Y-93.112
|
||||
X28.078Y-98.7
|
||||
X28.078Y-104.238
|
||||
X28.078Y-109.724
|
||||
X28.078Y-115.312
|
||||
X30.658Y-66.573
|
||||
X35.509Y-39.319
|
||||
X36.779Y-39.319
|
||||
X36.932Y-107.696
|
||||
X37.186Y-47.447
|
||||
X39.421Y-45.923
|
||||
X39.827Y-54.051
|
||||
X40.996Y-53.137
|
||||
X41.295Y-130.265
|
||||
X41.402Y-46.38
|
||||
X43.332Y-102.667
|
||||
X44.45Y-47.346
|
||||
X44.45Y-53.848
|
||||
X45.263Y-53.238
|
||||
X46.888Y-106.985
|
||||
X46.888Y-110.49
|
||||
X46.888Y-116.84
|
||||
X47.193Y-98.908
|
||||
X48.428Y-97.857
|
||||
X50.038Y-53.442
|
||||
X50.952Y-96.825
|
||||
X50.957Y-105.725
|
||||
X51.719Y-104.937
|
||||
X52.883Y-99.365
|
||||
X53.696Y-98.095
|
||||
X54.638Y-98.429
|
||||
X55.677Y-48.463
|
||||
X56.189Y-114.716
|
||||
X56.722Y-115.885
|
||||
X56.794Y-48.463
|
||||
X57.31Y-34.755
|
||||
X57.428Y-101.801
|
||||
X57.963Y-66.154
|
||||
X58.255Y-102.362
|
||||
X58.623Y-58.166
|
||||
X58.725Y-66.904
|
||||
X58.91Y-43.137
|
||||
X59.215Y-34.704
|
||||
X60.147Y-68.834
|
||||
X60.652Y-97.787
|
||||
X60.713Y-34.933
|
||||
X63.551Y-68.783
|
||||
X64.618Y-73.203
|
||||
X64.668Y-79.604
|
||||
X65.007Y-128.338
|
||||
X65.989Y-79.451
|
||||
X66.396Y-124.866
|
||||
X67.158Y-78.994
|
||||
X67.92Y-80.162
|
||||
X68.808Y-68.859
|
||||
X69.037Y-75.438
|
||||
X69.342Y-58.115
|
||||
X69.647Y-63.246
|
||||
X69.799Y-73.914
|
||||
X70.669Y-101.167
|
||||
X70.714Y-64.414
|
||||
X71.476Y-65.38
|
||||
X71.614Y-74.066
|
||||
X71.831Y-84.938
|
||||
X72.644Y-67.818
|
||||
X72.644Y-73.965
|
||||
X72.847Y-72.695
|
||||
X72.898Y-85.75
|
||||
X73.66Y-73.558
|
||||
X74.93Y-65.532
|
||||
X75.387Y-67.818
|
||||
X76.181Y-101.167
|
||||
X77.318Y-64.821
|
||||
X78.029Y-81.432
|
||||
X79.146Y-78.74
|
||||
X79.807Y-41.605
|
||||
X80.327Y-80.924
|
||||
X80.62Y-79.858
|
||||
X81.128Y-77.927
|
||||
X81.534Y-50.546
|
||||
X81.788Y-77.114
|
||||
X82.753Y-84.176
|
||||
X82.804Y-76.759
|
||||
X83.668Y-83.16
|
||||
X83.668Y-128.981
|
||||
X86.309Y-75.082
|
||||
X87.173Y-74.32
|
||||
X87.173Y-128.88
|
||||
X93.0Y-103.0
|
||||
X97.993Y-74.371
|
||||
X112.279Y-78.129
|
||||
X112.279Y-80.135
|
||||
X113.995Y-48.108
|
||||
X114.794Y-84.047
|
||||
X116.445Y-78.484
|
||||
X121.195Y-82.523
|
||||
T2
|
||||
X36.932Y-41.859
|
||||
X37.084Y-76.2
|
||||
X38.71Y-48.311
|
||||
X38.71Y-52.832
|
||||
X40.742Y-93.624
|
||||
X43.383Y-76.225
|
||||
X54.077Y-86.233
|
||||
X56.49Y-105.562
|
||||
X56.49Y-107.899
|
||||
X65.278Y-104.8
|
||||
X65.964Y-92.786
|
||||
X66.497Y-104.8
|
||||
X68.986Y-115.519
|
||||
X68.986Y-124.749
|
||||
X70.764Y-76.459
|
||||
X73.965Y-135.433
|
||||
X83.21Y-80.569
|
||||
X83.668Y-144.628
|
||||
X85.5Y-118.5
|
||||
X86.614Y-145.694
|
||||
X91.389Y-86.817
|
||||
X91.465Y-80.493
|
||||
X91.897Y-97.688
|
||||
X98.4Y-81.991
|
||||
T3
|
||||
X32.106Y-127.48
|
||||
X32.106Y-130.02
|
||||
X32.106Y-135.1
|
||||
X32.106Y-140.18
|
||||
T4
|
||||
X28.525Y-55.825
|
||||
X28.525Y-57.095
|
||||
X28.525Y-58.365
|
||||
X28.525Y-59.635
|
||||
X28.525Y-60.905
|
||||
X28.525Y-62.175
|
||||
T5
|
||||
X63.339Y-141.059
|
||||
X65.339Y-141.059
|
||||
X67.339Y-141.059
|
||||
X70.5Y-108.099
|
||||
X72.5Y-108.099
|
||||
X74.5Y-108.099
|
||||
X76.5Y-108.099
|
||||
X79.764Y-55.492
|
||||
X79.764Y-57.492
|
||||
X79.764Y-59.492
|
||||
X79.764Y-61.492
|
||||
T6
|
||||
X26.72Y-75.794
|
||||
X38.71Y-65.38
|
||||
X43.378Y-145.082
|
||||
X51.664Y-50.952
|
||||
X54.254Y-50.14
|
||||
X85.115Y-101.524
|
||||
X85.521Y-34.698
|
||||
X85.688Y-29.324
|
||||
X86.639Y-100.0
|
||||
X88.138Y-98.501
|
||||
X89.291Y-29.324
|
||||
X94.666Y-91.973
|
||||
X96.088Y-90.551
|
||||
X97.336Y-89.386
|
||||
X103.581Y-88.087
|
||||
X106.284Y-59.192
|
||||
X108.316Y-57.16
|
||||
X110.413Y-55.063
|
||||
X120.701Y-99.924
|
||||
T7
|
||||
X26.0Y-78.934
|
||||
X26.0Y-81.474
|
||||
X26.0Y-84.697
|
||||
X26.0Y-87.237
|
||||
X26.0Y-90.46
|
||||
X26.0Y-93.0
|
||||
X26.0Y-96.223
|
||||
X26.0Y-98.763
|
||||
X26.0Y-101.986
|
||||
X26.0Y-104.526
|
||||
X26.0Y-107.749
|
||||
X26.0Y-110.289
|
||||
X26.0Y-113.511
|
||||
X26.0Y-116.051
|
||||
X26.0Y-119.274
|
||||
X26.0Y-121.814
|
||||
X26.025Y-70.781
|
||||
X28.565Y-70.781
|
||||
X31.105Y-70.781
|
||||
X32.949Y-35.843
|
||||
X33.0Y-24.515
|
||||
X33.62Y-78.934
|
||||
X33.62Y-81.474
|
||||
X33.62Y-84.697
|
||||
X33.62Y-87.237
|
||||
X33.62Y-90.46
|
||||
X33.62Y-93.0
|
||||
X33.62Y-96.223
|
||||
X33.62Y-98.763
|
||||
X33.62Y-101.986
|
||||
X33.62Y-104.526
|
||||
X33.62Y-107.749
|
||||
X33.62Y-110.289
|
||||
X33.62Y-113.511
|
||||
X33.62Y-116.051
|
||||
X33.62Y-119.274
|
||||
X33.62Y-121.814
|
||||
X33.645Y-70.781
|
||||
X35.489Y-35.843
|
||||
X35.54Y-24.515
|
||||
X38.029Y-35.843
|
||||
X38.08Y-24.515
|
||||
X47.655Y-120.718
|
||||
X47.655Y-128.338
|
||||
X49.385Y-37.523
|
||||
X49.385Y-40.063
|
||||
X49.385Y-42.603
|
||||
X49.385Y-45.143
|
||||
X50.195Y-120.718
|
||||
X50.195Y-128.338
|
||||
X52.735Y-120.718
|
||||
X52.735Y-128.338
|
||||
X55.275Y-120.718
|
||||
X55.275Y-128.338
|
||||
X57.679Y-72.276
|
||||
X57.679Y-77.156
|
||||
X62.195Y-36.805
|
||||
X69.815Y-36.805
|
||||
X95.298Y-32.413
|
||||
X98.798Y-32.413
|
||||
X116.89Y-23.013
|
||||
X116.89Y-26.513
|
||||
X118.541Y-34.444
|
||||
X118.541Y-37.944
|
||||
T8
|
||||
X127.29Y-76.429
|
||||
X127.29Y-78.929
|
||||
X129.29Y-76.429
|
||||
X129.29Y-78.929
|
||||
T9
|
||||
X38.7Y-60.0
|
||||
X41.914Y-106.995
|
||||
X41.914Y-110.5
|
||||
X41.914Y-114.056
|
||||
X41.914Y-117.612
|
||||
X46.3Y-60.0
|
||||
X54.071Y-26.416
|
||||
X55.456Y-23.576
|
||||
X56.841Y-26.416
|
||||
X58.226Y-23.576
|
||||
X59.611Y-26.416
|
||||
X60.996Y-23.576
|
||||
X61.472Y-106.969
|
||||
X61.472Y-110.525
|
||||
X61.472Y-114.081
|
||||
X61.472Y-117.637
|
||||
X62.381Y-26.416
|
||||
X63.766Y-23.576
|
||||
X65.151Y-26.416
|
||||
X74.879Y-63.094
|
||||
X75.59Y-90.983
|
||||
X75.59Y-94.691
|
||||
X82.29Y-148.696
|
||||
X82.29Y-151.236
|
||||
X82.29Y-153.776
|
||||
X87.0Y-45.0
|
||||
X90.17Y-75.946
|
||||
X91.0Y-45.0
|
||||
X91.42Y-113.0
|
||||
X91.475Y-106.0
|
||||
X93.96Y-113.0
|
||||
X94.015Y-106.0
|
||||
X96.165Y-148.358
|
||||
X96.5Y-113.0
|
||||
X96.555Y-106.0
|
||||
X97.55Y-151.198
|
||||
X98.935Y-148.358
|
||||
X100.32Y-151.198
|
||||
X101.396Y-52.65
|
||||
X101.705Y-148.358
|
||||
X103.0Y-33.809
|
||||
X103.09Y-151.198
|
||||
X104.475Y-148.358
|
||||
X105.86Y-151.198
|
||||
X107.245Y-148.358
|
||||
X113.0Y-33.809
|
||||
X121.583Y-148.696
|
||||
X121.583Y-151.236
|
||||
X121.583Y-153.776
|
||||
X130.0Y-57.5
|
||||
X130.0Y-61.5
|
||||
T10
|
||||
X101.298Y-24.488
|
||||
X102.998Y-28.188
|
||||
X104.698Y-24.488
|
||||
X106.398Y-28.188
|
||||
X108.098Y-24.488
|
||||
T11
|
||||
X18.683Y-80.399
|
||||
X18.683Y-85.479
|
||||
X18.683Y-90.559
|
||||
X18.683Y-95.639
|
||||
X18.683Y-100.719
|
||||
X18.683Y-105.799
|
||||
X18.683Y-110.879
|
||||
X18.683Y-115.959
|
||||
X18.683Y-121.039
|
||||
X18.683Y-126.119
|
||||
X94.082Y-142.291
|
||||
X101.702Y-121.971
|
||||
X104.242Y-142.291
|
||||
X106.782Y-121.971
|
||||
X108.0Y-51.5
|
||||
X108.0Y-66.5
|
||||
X114.402Y-142.291
|
||||
T12
|
||||
X18.526Y-25.5
|
||||
X18.526Y-30.5
|
||||
X18.526Y-35.5
|
||||
X24.75Y-150.788
|
||||
X29.75Y-150.788
|
||||
X34.75Y-150.788
|
||||
X39.75Y-150.788
|
||||
X44.75Y-150.788
|
||||
X49.75Y-150.788
|
||||
X84.291Y-25.351
|
||||
X89.291Y-25.351
|
||||
X99.217Y-40.413
|
||||
X103.027Y-40.413
|
||||
X129.805Y-91.0
|
||||
X129.805Y-96.0
|
||||
X129.805Y-101.0
|
||||
X129.805Y-107.0
|
||||
X129.805Y-112.0
|
||||
X129.805Y-117.0
|
||||
X130.047Y-34.183
|
||||
X130.047Y-39.183
|
||||
X130.098Y-22.713
|
||||
X130.098Y-27.713
|
||||
T13
|
||||
X113.207Y-92.292
|
||||
X113.207Y-107.292
|
||||
X113.207Y-112.292
|
||||
X113.207Y-117.292
|
||||
X120.707Y-92.292
|
||||
X120.707Y-107.292
|
||||
X120.707Y-112.292
|
||||
X120.707Y-117.292
|
||||
T14
|
||||
X132.0Y-71.659
|
||||
X132.0Y-83.699
|
||||
T15
|
||||
X18.5Y-49.5
|
||||
X18.5Y-151.0
|
||||
X74.5Y-49.5
|
||||
X74.5Y-151.0
|
||||
X130.0Y-49.5
|
||||
X130.0Y-151.0
|
||||
T16
|
||||
X47.111Y-26.116
|
||||
X72.111Y-26.116
|
||||
X89.205Y-148.658
|
||||
X114.205Y-148.658
|
||||
T0
|
||||
M30
|
||||
110
F3:F303/CANbus4BTA/kicad/iso3086.kicad_sym
Normal file
110
F3:F303/CANbus4BTA/kicad/iso3086.kicad_sym
Normal file
@ -0,0 +1,110 @@
|
||||
(kicad_symbol_lib (version 20211014) (generator kicad_symbol_editor)
|
||||
(symbol "ISO3086" (in_bom yes) (on_board yes)
|
||||
(property "Reference" "U" (id 0) (at 0 20.32 0)
|
||||
(effects (font (size 1.27 1.27)))
|
||||
)
|
||||
(property "Value" "ISO3086" (id 1) (at 0 17.78 0)
|
||||
(effects (font (size 1.27 1.27)))
|
||||
)
|
||||
(property "Footprint" "Package_SO:SOIC-16W_7.5x10.3mm_P1.27mm" (id 2) (at 0 0 0)
|
||||
(effects (font (size 1.27 1.27)) hide)
|
||||
)
|
||||
(property "Datasheet" "" (id 3) (at 0 0 0)
|
||||
(effects (font (size 1.27 1.27)) hide)
|
||||
)
|
||||
(property "ki_description" "RS422 isolator" (id 4) (at 0 0 0)
|
||||
(effects (font (size 1.27 1.27)) hide)
|
||||
)
|
||||
(symbol "ISO3086_0_0"
|
||||
(rectangle (start -11.43 15.24) (end 13.97 -15.24)
|
||||
(stroke (width 0.254) (type default) (color 0 0 0 0))
|
||||
(fill (type background))
|
||||
)
|
||||
(polyline
|
||||
(pts
|
||||
(xy -1.27 15.24)
|
||||
(xy -1.27 -15.24)
|
||||
)
|
||||
(stroke (width 0) (type default) (color 0 0 0 0))
|
||||
(fill (type none))
|
||||
)
|
||||
(polyline
|
||||
(pts
|
||||
(xy 1.27 15.24)
|
||||
(xy 1.27 -15.24)
|
||||
)
|
||||
(stroke (width 0) (type default) (color 0 0 0 0))
|
||||
(fill (type none))
|
||||
)
|
||||
(text "GALVANIC ISOLATION" (at 0 0.508 900)
|
||||
(effects (font (size 1.016 1.016)))
|
||||
)
|
||||
)
|
||||
(symbol "ISO3086_1_1"
|
||||
(pin power_in line (at -6.35 17.78 270) (length 2.54)
|
||||
(name "Vcc1" (effects (font (size 1.27 1.27))))
|
||||
(number "1" (effects (font (size 1.27 1.27))))
|
||||
)
|
||||
(pin power_in line (at 8.89 -17.78 90) (length 2.54)
|
||||
(name "GND2" (effects (font (size 1.27 1.27))))
|
||||
(number "10" (effects (font (size 1.27 1.27))))
|
||||
)
|
||||
(pin bidirectional line (at 16.51 -8.89 180) (length 2.54)
|
||||
(name "Y" (effects (font (size 1.27 1.27))))
|
||||
(number "11" (effects (font (size 1.27 1.27))))
|
||||
)
|
||||
(pin bidirectional line (at 16.51 -5.08 180) (length 2.54)
|
||||
(name "Z" (effects (font (size 1.27 1.27))))
|
||||
(number "12" (effects (font (size 1.27 1.27))))
|
||||
)
|
||||
(pin bidirectional line (at 16.51 5.08 180) (length 2.54)
|
||||
(name "B" (effects (font (size 1.27 1.27))))
|
||||
(number "13" (effects (font (size 1.27 1.27))))
|
||||
)
|
||||
(pin bidirectional line (at 16.51 8.89 180) (length 2.54)
|
||||
(name "A" (effects (font (size 1.27 1.27))))
|
||||
(number "14" (effects (font (size 1.27 1.27))))
|
||||
)
|
||||
(pin power_in line (at 11.43 -17.78 90) (length 2.54)
|
||||
(name "GND2" (effects (font (size 1.27 1.27))))
|
||||
(number "15" (effects (font (size 1.27 1.27))))
|
||||
)
|
||||
(pin power_in line (at 8.89 17.78 270) (length 2.54)
|
||||
(name "Vcc2" (effects (font (size 1.27 1.27))))
|
||||
(number "16" (effects (font (size 1.27 1.27))))
|
||||
)
|
||||
(pin power_in line (at -8.89 -17.78 90) (length 2.54)
|
||||
(name "GND1" (effects (font (size 1.27 1.27))))
|
||||
(number "2" (effects (font (size 1.27 1.27))))
|
||||
)
|
||||
(pin output line (at -13.97 -2.54 0) (length 2.54)
|
||||
(name "R" (effects (font (size 1.27 1.27))))
|
||||
(number "3" (effects (font (size 1.27 1.27))))
|
||||
)
|
||||
(pin input line (at -13.97 -5.08 0) (length 2.54)
|
||||
(name "~{RE}" (effects (font (size 1.27 1.27))))
|
||||
(number "4" (effects (font (size 1.27 1.27))))
|
||||
)
|
||||
(pin input line (at -13.97 7.62 0) (length 2.54)
|
||||
(name "DE" (effects (font (size 1.27 1.27))))
|
||||
(number "5" (effects (font (size 1.27 1.27))))
|
||||
)
|
||||
(pin input line (at -13.97 2.54 0) (length 2.54)
|
||||
(name "D" (effects (font (size 1.27 1.27))))
|
||||
(number "6" (effects (font (size 1.27 1.27))))
|
||||
)
|
||||
(pin power_in line (at -6.35 -17.78 90) (length 2.54)
|
||||
(name "GND1" (effects (font (size 1.27 1.27))))
|
||||
(number "7" (effects (font (size 1.27 1.27))))
|
||||
)
|
||||
(pin power_in line (at -3.81 -17.78 90) (length 2.54)
|
||||
(name "GND1" (effects (font (size 1.27 1.27))))
|
||||
(number "8" (effects (font (size 1.27 1.27))))
|
||||
)
|
||||
(pin power_in line (at 6.35 -17.78 90) (length 2.54)
|
||||
(name "GND2" (effects (font (size 1.27 1.27))))
|
||||
(number "9" (effects (font (size 1.27 1.27))))
|
||||
)
|
||||
)
|
||||
)
|
||||
)
|
||||
@ -0,0 +1,19 @@
|
||||
(footprint "B0505S-2W" (version 20211014) (generator pcbnew)
|
||||
(layer "F.Cu")
|
||||
(tedit 0)
|
||||
(attr smd)
|
||||
(fp_text reference "REF**" (at 10.2 7.2 unlocked) (layer "F.SilkS")
|
||||
(effects (font (size 1 1) (thickness 0.15)))
|
||||
(tstamp 063944c1-1524-42ff-905d-c6b885fc84e4)
|
||||
)
|
||||
(fp_text value "B0505S-2W" (at 11.4 3.1 unlocked) (layer "F.Fab")
|
||||
(effects (font (size 1 1) (thickness 0.15)))
|
||||
(tstamp 7415e127-24bc-4666-a29b-ff109d7551a2)
|
||||
)
|
||||
(fp_rect (start -2 -0.9) (end 17.6 6.1) (layer "F.SilkS") (width 0.15) (fill none) (tstamp 57bbab45-a75a-4905-a574-87517a61f8db))
|
||||
(fp_line (start 5.08 -2.54) (end 5.08 7.62) (layer "Dwgs.User") (width 0.12) (tstamp a22d139b-ae36-48a3-b52e-1d45f780278d))
|
||||
(pad "1" thru_hole roundrect (at 0 0) (size 2 1.524) (drill 0.6) (layers *.Cu *.Mask) (roundrect_rratio 0.25) (tstamp ddbc7909-3eed-4032-bb90-06d3d67deab6))
|
||||
(pad "2" thru_hole roundrect (at 2.54 0) (size 2 1.524) (drill 0.6) (layers *.Cu *.Mask) (roundrect_rratio 0.25) (tstamp e2c7f9a0-cd9c-40f2-8bc0-64127c765f0d))
|
||||
(pad "4" thru_hole roundrect (at 7.62 0) (size 2.286 1.524) (drill 0.6) (layers *.Cu *.Mask) (roundrect_rratio 0.25) (tstamp ab22ff25-f082-49df-a551-c9a53e6f86a3))
|
||||
(pad "6" thru_hole roundrect (at 12.7 0) (size 2.286 1.524) (drill 0.6) (layers *.Cu *.Mask) (roundrect_rratio 0.25) (tstamp 2c7aecb6-ba12-4511-83ea-d194a95071b1))
|
||||
)
|
||||
@ -0,0 +1,27 @@
|
||||
(footprint "B0x0xS" (version 20211014) (generator pcbnew)
|
||||
(layer "F.Cu")
|
||||
(tedit 5EC4EFC6)
|
||||
(attr through_hole)
|
||||
(fp_text reference "REF**" (at -2.54 2.286) (layer "F.SilkS")
|
||||
(effects (font (size 1 1) (thickness 0.15)))
|
||||
(tstamp 1043daab-3013-49fb-a4c1-ffce55c5df46)
|
||||
)
|
||||
(fp_text value "B0x0xS" (at 0 -3.048) (layer "F.Fab")
|
||||
(effects (font (size 1 1) (thickness 0.15)))
|
||||
(tstamp a871fd26-0bbc-4811-bb52-c4e5e6df0fad)
|
||||
)
|
||||
(fp_line (start 5.8 0.9) (end 0.7112 0.9144) (layer "F.SilkS") (width 0.15) (tstamp 0b84b7ec-816f-417e-80c2-0f03b7ee6c7b))
|
||||
(fp_line (start -0.508 -5.08) (end -5.8 -5.1) (layer "F.SilkS") (width 0.15) (tstamp 8e59ddde-6d7b-4614-9742-26db8138db0f))
|
||||
(fp_line (start -5.8 -5.1) (end -5.8 0.9) (layer "F.SilkS") (width 0.12) (tstamp 91575876-2f5f-4300-a59e-6327bd41978a))
|
||||
(fp_line (start -5.8 0.9) (end -0.7112 0.9144) (layer "F.SilkS") (width 0.15) (tstamp da822648-b16d-46ef-87d0-571b66c556db))
|
||||
(fp_line (start 5.8 -5.1) (end 5.8 0.9) (layer "F.SilkS") (width 0.12) (tstamp dbc34d16-64b1-40be-9926-084f9486b43d))
|
||||
(fp_line (start 5.8 -5.1) (end 0.508 -5.08) (layer "F.SilkS") (width 0.15) (tstamp f87c72b9-c305-489a-bd04-b4a4d58b725c))
|
||||
(fp_line (start 0.254 1.0668) (end 0.254 -5.0292) (layer "Dwgs.User") (width 0.12) (tstamp 935182ad-231d-4492-a2e6-b8ef4f61bdd9))
|
||||
(fp_line (start -0.254 -5.0292) (end -0.254 1.0668) (layer "Dwgs.User") (width 0.12) (tstamp a79606de-8ac2-4d48-8694-8906053dee31))
|
||||
(fp_arc (start -0.254 -5.0292) (mid 0 -5.2832) (end 0.254 -5.0292) (layer "Dwgs.User") (width 0.12) (tstamp 376daf3d-77a6-4454-837b-ecaaa3bfab58))
|
||||
(fp_arc (start 0.254 1.0668) (mid 0 1.3208) (end -0.254 1.0668) (layer "Dwgs.User") (width 0.12) (tstamp f817554e-83c7-4eb1-9e73-a6b2db3e941a))
|
||||
(pad "1" thru_hole circle (at -3.81 0) (size 1.5 1.5) (drill 0.8) (layers *.Cu *.Mask) (tstamp 3679fd64-6d94-4bd2-ac77-833e9fb0e6b1))
|
||||
(pad "2" thru_hole circle (at -1.27 0) (size 1.5 1.5) (drill 0.8) (layers *.Cu *.Mask) (tstamp 51cfc21e-2343-41b5-b7a1-6cbb380df6a0))
|
||||
(pad "3" thru_hole circle (at 1.27 0) (size 1.5 1.5) (drill 0.8) (layers *.Cu *.Mask) (tstamp 753f1d53-de67-4ec3-9369-8afe92344e33))
|
||||
(pad "4" thru_hole circle (at 3.81 0) (size 1.5 1.5) (drill 0.8) (layers *.Cu *.Mask) (tstamp ca5c819c-51a9-4cb4-96b3-826dc377af10))
|
||||
)
|
||||
@ -0,0 +1,9 @@
|
||||
(module Hole_3mm (layer F.Cu) (tedit 5913F6E4)
|
||||
(fp_text reference REF** (at 0 3.81) (layer F.SilkS) hide
|
||||
(effects (font (size 1 1) (thickness 0.15)))
|
||||
)
|
||||
(fp_text value Hole_3mm (at 0 -7.62) (layer F.Fab) hide
|
||||
(effects (font (size 1 1) (thickness 0.15)))
|
||||
)
|
||||
(pad 1 thru_hole circle (at 0 0) (size 5 5) (drill 3) (layers *.Cu *.Mask))
|
||||
)
|
||||
@ -0,0 +1,20 @@
|
||||
(footprint "VRB2405" (version 20211014) (generator pcbnew)
|
||||
(layer "F.Cu")
|
||||
(tedit 0)
|
||||
(attr through_hole)
|
||||
(fp_text reference "REF**" (at 0 -13.716 unlocked) (layer "F.SilkS")
|
||||
(effects (font (size 1 1) (thickness 0.15)))
|
||||
(tstamp 0faf069b-fb54-4864-86e1-7fd122f4a4a3)
|
||||
)
|
||||
(fp_text value "VRB2405" (at 0 -2.54 unlocked) (layer "F.Fab")
|
||||
(effects (font (size 1 1) (thickness 0.15)))
|
||||
(tstamp a98339ac-ad08-4500-94a6-174f45d84c2b)
|
||||
)
|
||||
(fp_rect (start -12.7 -12.7) (end 12.7 12.7) (layer "F.SilkS") (width 0.15) (fill none) (tstamp c117b339-9dcb-4f17-a926-a6727d168613))
|
||||
(fp_line (start -15.24 0) (end 15.24 0) (layer "Dwgs.User") (width 0.12) (tstamp 13c6470f-24d5-4fbf-b46d-9411f4ff631b))
|
||||
(pad "1" thru_hole circle (at 2.54 -10.16) (size 2.54 2.54) (drill 1.2) (layers *.Cu *.Mask) (tstamp 36094dfc-e4e6-4402-9f42-f4e6d7e8e35c))
|
||||
(pad "2" thru_hole circle (at -2.54 -10.16) (size 2.54 2.54) (drill 1.2) (layers *.Cu *.Mask) (tstamp 81ee4493-5964-4bee-9f00-d3600a91f343))
|
||||
(pad "3" thru_hole circle (at -10.16 10.16) (size 2.54 2.54) (drill 1.2) (layers *.Cu *.Mask) (tstamp 479ecae6-8e9a-4fb6-907d-b61244d3d00a))
|
||||
(pad "4" thru_hole circle (at 0 10.16) (size 2.54 2.54) (drill 1.2) (layers *.Cu *.Mask) (tstamp d5bc4fdd-79c2-4932-baf4-6c3332cb7326))
|
||||
(pad "5" thru_hole circle (at 10.16 10.16) (size 2.54 2.54) (drill 1.2) (layers *.Cu *.Mask) (tstamp 8e02d2ba-3c66-43d1-ad2b-b019709f7dbc))
|
||||
)
|
||||
@ -0,0 +1,28 @@
|
||||
(footprint "VRB_DCDC" (version 20211014) (generator pcbnew)
|
||||
(layer "F.Cu")
|
||||
(tedit 0)
|
||||
(attr through_hole)
|
||||
(fp_text reference "REF**" (at -5.08 -15.24 unlocked) (layer "F.SilkS")
|
||||
(effects (font (size 1 1) (thickness 0.15)))
|
||||
(tstamp f99a7a51-f125-4528-9d0b-f38d042973a9)
|
||||
)
|
||||
(fp_text value "VRB_DCDC" (at -5.08 10.16 unlocked) (layer "F.Fab")
|
||||
(effects (font (size 1 1) (thickness 0.15)))
|
||||
(tstamp a5187400-e305-4a39-af41-ea18fbb49ac0)
|
||||
)
|
||||
(fp_line (start 12.7 12.7) (end 2.54 12.7) (layer "F.SilkS") (width 0.15) (tstamp 5a0aedc4-9ee7-42bb-bee3-606b5d5c221e))
|
||||
(fp_line (start 2.54 -12.7) (end 12.7 -12.7) (layer "F.SilkS") (width 0.15) (tstamp 75286667-128a-4cb3-9243-665f9a2b854f))
|
||||
(fp_line (start -2.54 12.7) (end -12.7 12.7) (layer "F.SilkS") (width 0.15) (tstamp cfefbd5b-5d36-405a-867f-4546f50bf336))
|
||||
(fp_line (start -12.7 12.7) (end -12.7 -12.7) (layer "F.SilkS") (width 0.15) (tstamp d5c7ca95-1912-4f1a-9414-3032085491ef))
|
||||
(fp_line (start 12.7 -12.7) (end 12.7 12.7) (layer "F.SilkS") (width 0.15) (tstamp ea2626d9-2b3d-43b8-94dd-3e780da78668))
|
||||
(fp_line (start -12.7 -12.7) (end -2.54 -12.7) (layer "F.SilkS") (width 0.15) (tstamp fa297ab7-5de8-40b5-bbea-903acfea8b65))
|
||||
(fp_line (start -1.27 -12.7) (end -1.27 12.7) (layer "Edge.Cuts") (width 0.12) (tstamp d297c4a1-f78c-43dd-a839-a4e76ccda37d))
|
||||
(fp_line (start 1.27 12.7) (end 1.27 -12.7) (layer "Edge.Cuts") (width 0.12) (tstamp f796c2f3-fd76-4075-ad90-0c53e5f64f6a))
|
||||
(fp_arc (start -1.27 -12.7) (mid 0 -13.97) (end 1.27 -12.7) (layer "Edge.Cuts") (width 0.12) (tstamp 5e2b7723-6580-427c-9b5e-95fba34b2648))
|
||||
(fp_arc (start 1.27 12.7) (mid 0 13.97) (end -1.27 12.7) (layer "Edge.Cuts") (width 0.12) (tstamp 7e02ae0b-9c8f-4168-8d24-cd07d3f04912))
|
||||
(pad "1" thru_hole circle (at -10.16 -2.54) (size 3 3) (drill 1.5) (layers *.Cu *.Mask) (tstamp 83b6a448-f6df-4a5a-9eab-ab8dc651fe65))
|
||||
(pad "2" thru_hole circle (at -10.16 2.54) (size 3 3) (drill 1.5) (layers *.Cu *.Mask) (tstamp ef4b9388-f9fd-46ff-a38c-6f79a73cbf41))
|
||||
(pad "3" thru_hole circle (at 10.16 10.16) (size 3 3) (drill 1.5) (layers *.Cu *.Mask) (tstamp 0c946511-fcc8-4258-8e49-2425d11340ab))
|
||||
(pad "4" thru_hole circle (at 10.16 0) (size 3 3) (drill 1.5) (layers *.Cu *.Mask) (tstamp 356ff193-c3af-4d9c-a3e5-419144eb66a0))
|
||||
(pad "5" thru_hole circle (at 10.16 -10.16) (size 3 3) (drill 1.5) (layers *.Cu *.Mask) (tstamp 188214f1-a73c-4fb9-bfbe-46fa78ef5f6d))
|
||||
)
|
||||
328
F3:F303/CANbus4BTA/kicad/optocouple.kicad_sch
Normal file
328
F3:F303/CANbus4BTA/kicad/optocouple.kicad_sch
Normal file
@ -0,0 +1,328 @@
|
||||
(kicad_sch (version 20230121) (generator eeschema)
|
||||
|
||||
(uuid c774fcd8-2321-49e3-82b6-f080291ee83c)
|
||||
|
||||
(paper "A4")
|
||||
|
||||
(lib_symbols
|
||||
(symbol "Device:R" (pin_numbers hide) (pin_names (offset 0)) (in_bom yes) (on_board yes)
|
||||
(property "Reference" "R" (at 2.032 0 90)
|
||||
(effects (font (size 1.27 1.27)))
|
||||
)
|
||||
(property "Value" "R" (at 0 0 90)
|
||||
(effects (font (size 1.27 1.27)))
|
||||
)
|
||||
(property "Footprint" "" (at -1.778 0 90)
|
||||
(effects (font (size 1.27 1.27)) hide)
|
||||
)
|
||||
(property "Datasheet" "~" (at 0 0 0)
|
||||
(effects (font (size 1.27 1.27)) hide)
|
||||
)
|
||||
(property "ki_keywords" "R res resistor" (at 0 0 0)
|
||||
(effects (font (size 1.27 1.27)) hide)
|
||||
)
|
||||
(property "ki_description" "Resistor" (at 0 0 0)
|
||||
(effects (font (size 1.27 1.27)) hide)
|
||||
)
|
||||
(property "ki_fp_filters" "R_*" (at 0 0 0)
|
||||
(effects (font (size 1.27 1.27)) hide)
|
||||
)
|
||||
(symbol "R_0_1"
|
||||
(rectangle (start -1.016 -2.54) (end 1.016 2.54)
|
||||
(stroke (width 0.254) (type default))
|
||||
(fill (type none))
|
||||
)
|
||||
)
|
||||
(symbol "R_1_1"
|
||||
(pin passive line (at 0 3.81 270) (length 1.27)
|
||||
(name "~" (effects (font (size 1.27 1.27))))
|
||||
(number "1" (effects (font (size 1.27 1.27))))
|
||||
)
|
||||
(pin passive line (at 0 -3.81 90) (length 1.27)
|
||||
(name "~" (effects (font (size 1.27 1.27))))
|
||||
(number "2" (effects (font (size 1.27 1.27))))
|
||||
)
|
||||
)
|
||||
)
|
||||
(symbol "Isolator:PC817" (pin_names (offset 1.016)) (in_bom yes) (on_board yes)
|
||||
(property "Reference" "U" (at -5.08 5.08 0)
|
||||
(effects (font (size 1.27 1.27)) (justify left))
|
||||
)
|
||||
(property "Value" "PC817" (at 0 5.08 0)
|
||||
(effects (font (size 1.27 1.27)) (justify left))
|
||||
)
|
||||
(property "Footprint" "Package_DIP:DIP-4_W7.62mm" (at -5.08 -5.08 0)
|
||||
(effects (font (size 1.27 1.27) italic) (justify left) hide)
|
||||
)
|
||||
(property "Datasheet" "http://www.soselectronic.cz/a_info/resource/d/pc817.pdf" (at 0 0 0)
|
||||
(effects (font (size 1.27 1.27)) (justify left) hide)
|
||||
)
|
||||
(property "ki_keywords" "NPN DC Optocoupler" (at 0 0 0)
|
||||
(effects (font (size 1.27 1.27)) hide)
|
||||
)
|
||||
(property "ki_description" "DC Optocoupler, Vce 35V, CTR 50-300%, DIP-4" (at 0 0 0)
|
||||
(effects (font (size 1.27 1.27)) hide)
|
||||
)
|
||||
(property "ki_fp_filters" "DIP*W7.62mm*" (at 0 0 0)
|
||||
(effects (font (size 1.27 1.27)) hide)
|
||||
)
|
||||
(symbol "PC817_0_1"
|
||||
(rectangle (start -5.08 3.81) (end 5.08 -3.81)
|
||||
(stroke (width 0.254) (type default))
|
||||
(fill (type background))
|
||||
)
|
||||
(polyline
|
||||
(pts
|
||||
(xy -3.175 -0.635)
|
||||
(xy -1.905 -0.635)
|
||||
)
|
||||
(stroke (width 0.254) (type default))
|
||||
(fill (type none))
|
||||
)
|
||||
(polyline
|
||||
(pts
|
||||
(xy 2.54 0.635)
|
||||
(xy 4.445 2.54)
|
||||
)
|
||||
(stroke (width 0) (type default))
|
||||
(fill (type none))
|
||||
)
|
||||
(polyline
|
||||
(pts
|
||||
(xy 4.445 -2.54)
|
||||
(xy 2.54 -0.635)
|
||||
)
|
||||
(stroke (width 0) (type default))
|
||||
(fill (type outline))
|
||||
)
|
||||
(polyline
|
||||
(pts
|
||||
(xy 4.445 -2.54)
|
||||
(xy 5.08 -2.54)
|
||||
)
|
||||
(stroke (width 0) (type default))
|
||||
(fill (type none))
|
||||
)
|
||||
(polyline
|
||||
(pts
|
||||
(xy 4.445 2.54)
|
||||
(xy 5.08 2.54)
|
||||
)
|
||||
(stroke (width 0) (type default))
|
||||
(fill (type none))
|
||||
)
|
||||
(polyline
|
||||
(pts
|
||||
(xy -5.08 2.54)
|
||||
(xy -2.54 2.54)
|
||||
(xy -2.54 -0.635)
|
||||
)
|
||||
(stroke (width 0) (type default))
|
||||
(fill (type none))
|
||||
)
|
||||
(polyline
|
||||
(pts
|
||||
(xy -2.54 -0.635)
|
||||
(xy -2.54 -2.54)
|
||||
(xy -5.08 -2.54)
|
||||
)
|
||||
(stroke (width 0) (type default))
|
||||
(fill (type none))
|
||||
)
|
||||
(polyline
|
||||
(pts
|
||||
(xy 2.54 1.905)
|
||||
(xy 2.54 -1.905)
|
||||
(xy 2.54 -1.905)
|
||||
)
|
||||
(stroke (width 0.508) (type default))
|
||||
(fill (type none))
|
||||
)
|
||||
(polyline
|
||||
(pts
|
||||
(xy -2.54 -0.635)
|
||||
(xy -3.175 0.635)
|
||||
(xy -1.905 0.635)
|
||||
(xy -2.54 -0.635)
|
||||
)
|
||||
(stroke (width 0.254) (type default))
|
||||
(fill (type none))
|
||||
)
|
||||
(polyline
|
||||
(pts
|
||||
(xy -0.508 -0.508)
|
||||
(xy 0.762 -0.508)
|
||||
(xy 0.381 -0.635)
|
||||
(xy 0.381 -0.381)
|
||||
(xy 0.762 -0.508)
|
||||
)
|
||||
(stroke (width 0) (type default))
|
||||
(fill (type none))
|
||||
)
|
||||
(polyline
|
||||
(pts
|
||||
(xy -0.508 0.508)
|
||||
(xy 0.762 0.508)
|
||||
(xy 0.381 0.381)
|
||||
(xy 0.381 0.635)
|
||||
(xy 0.762 0.508)
|
||||
)
|
||||
(stroke (width 0) (type default))
|
||||
(fill (type none))
|
||||
)
|
||||
(polyline
|
||||
(pts
|
||||
(xy 3.048 -1.651)
|
||||
(xy 3.556 -1.143)
|
||||
(xy 4.064 -2.159)
|
||||
(xy 3.048 -1.651)
|
||||
(xy 3.048 -1.651)
|
||||
)
|
||||
(stroke (width 0) (type default))
|
||||
(fill (type outline))
|
||||
)
|
||||
)
|
||||
(symbol "PC817_1_1"
|
||||
(pin passive line (at -7.62 2.54 0) (length 2.54)
|
||||
(name "~" (effects (font (size 1.27 1.27))))
|
||||
(number "1" (effects (font (size 1.27 1.27))))
|
||||
)
|
||||
(pin passive line (at -7.62 -2.54 0) (length 2.54)
|
||||
(name "~" (effects (font (size 1.27 1.27))))
|
||||
(number "2" (effects (font (size 1.27 1.27))))
|
||||
)
|
||||
(pin passive line (at 7.62 -2.54 180) (length 2.54)
|
||||
(name "~" (effects (font (size 1.27 1.27))))
|
||||
(number "3" (effects (font (size 1.27 1.27))))
|
||||
)
|
||||
(pin passive line (at 7.62 2.54 180) (length 2.54)
|
||||
(name "~" (effects (font (size 1.27 1.27))))
|
||||
(number "4" (effects (font (size 1.27 1.27))))
|
||||
)
|
||||
)
|
||||
)
|
||||
)
|
||||
|
||||
|
||||
(wire (pts (xy 129.413 54.229) (xy 124.46 54.229))
|
||||
(stroke (width 0) (type default))
|
||||
(uuid 2f25ebff-821d-424a-a5e6-7aaeb1db0afa)
|
||||
)
|
||||
(wire (pts (xy 124.46 59.309) (xy 129.286 59.309))
|
||||
(stroke (width 0) (type default))
|
||||
(uuid f4fc9d10-1e63-4e24-a02b-556e4b39b19c)
|
||||
)
|
||||
|
||||
(hierarchical_label "EXT5V" (shape input) (at 109.22 46.609 0) (fields_autoplaced)
|
||||
(effects (font (size 1.27 1.27)) (justify left))
|
||||
(uuid 0b20c453-dee8-4cc6-90fe-d346e6222768)
|
||||
)
|
||||
(hierarchical_label "In" (shape input) (at 129.413 54.229 0) (fields_autoplaced)
|
||||
(effects (font (size 1.27 1.27)) (justify left))
|
||||
(uuid 8e6bd8d7-45cc-4e50-9857-61670736c481)
|
||||
)
|
||||
(hierarchical_label "gnd" (shape input) (at 129.286 59.309 0) (fields_autoplaced)
|
||||
(effects (font (size 1.27 1.27)) (justify left))
|
||||
(uuid ab6c4d70-58f2-4e0b-88e2-6f2d9aeddb16)
|
||||
)
|
||||
(hierarchical_label "EXTi" (shape input) (at 109.22 59.309 180) (fields_autoplaced)
|
||||
(effects (font (size 1.27 1.27)) (justify right))
|
||||
(uuid c868a95d-cc21-426a-9cfd-3f9543b753be)
|
||||
)
|
||||
|
||||
(symbol (lib_id "Device:R") (at 109.22 50.419 0) (unit 1)
|
||||
(in_bom yes) (on_board yes) (dnp no)
|
||||
(uuid 09735fc2-1580-4524-a728-ca09449b348a)
|
||||
(property "Reference" "R31" (at 110.998 49.5843 0)
|
||||
(effects (font (size 1.27 1.27)) (justify left))
|
||||
)
|
||||
(property "Value" "360" (at 109.093 51.943 90)
|
||||
(effects (font (size 1.27 1.27)) (justify left))
|
||||
)
|
||||
(property "Footprint" "Resistor_SMD:R_0603_1608Metric_Pad0.98x0.95mm_HandSolder" (at 107.442 50.419 90)
|
||||
(effects (font (size 1.27 1.27)) hide)
|
||||
)
|
||||
(property "Datasheet" "~" (at 109.22 50.419 0)
|
||||
(effects (font (size 1.27 1.27)) hide)
|
||||
)
|
||||
(pin "1" (uuid d8e2831f-0444-4eb0-a255-0be00f3eb495))
|
||||
(pin "2" (uuid 450e036f-cbf0-46f9-86d8-88929d707ae4))
|
||||
(instances
|
||||
(project "stm32"
|
||||
(path "/f40cbe7e-cd25-45e5-a6cb-d92457495048/311a5cb3-0370-4a86-a5e8-6335fee47f9a"
|
||||
(reference "R31") (unit 1)
|
||||
)
|
||||
(path "/f40cbe7e-cd25-45e5-a6cb-d92457495048/2b18f3bb-219b-4cc5-8bc9-bc122d6e81e9"
|
||||
(reference "R35") (unit 1)
|
||||
)
|
||||
(path "/f40cbe7e-cd25-45e5-a6cb-d92457495048/c51c7789-4b67-42c9-a921-b1066b3f95ba"
|
||||
(reference "R37") (unit 1)
|
||||
)
|
||||
(path "/f40cbe7e-cd25-45e5-a6cb-d92457495048/737c47dd-2cc5-4c23-ab54-7bef18beb2a3"
|
||||
(reference "R32") (unit 1)
|
||||
)
|
||||
(path "/f40cbe7e-cd25-45e5-a6cb-d92457495048/0ff6ac13-ac49-41f0-9506-376ccd8b8ba4"
|
||||
(reference "R33") (unit 1)
|
||||
)
|
||||
(path "/f40cbe7e-cd25-45e5-a6cb-d92457495048/1cf77ae7-411e-49cc-bbff-6947c0aa32bd"
|
||||
(reference "R34") (unit 1)
|
||||
)
|
||||
(path "/f40cbe7e-cd25-45e5-a6cb-d92457495048/d7c9ec36-f6b4-4bc2-8e9a-7a0792b9eff0"
|
||||
(reference "R36") (unit 1)
|
||||
)
|
||||
(path "/f40cbe7e-cd25-45e5-a6cb-d92457495048/e5255d96-2d32-432c-bf31-9afa6ac7ec6a"
|
||||
(reference "R38") (unit 1)
|
||||
)
|
||||
)
|
||||
)
|
||||
)
|
||||
|
||||
(symbol (lib_id "Isolator:PC817") (at 116.84 56.769 0) (unit 1)
|
||||
(in_bom yes) (on_board yes) (dnp no) (fields_autoplaced)
|
||||
(uuid 400c154c-5d09-4b90-bd4d-4cdbee68e158)
|
||||
(property "Reference" "U11" (at 116.84 49.2592 0)
|
||||
(effects (font (size 1.27 1.27)))
|
||||
)
|
||||
(property "Value" "PC817" (at 116.84 51.7961 0)
|
||||
(effects (font (size 1.27 1.27)))
|
||||
)
|
||||
(property "Footprint" "Package_DIP:DIP-4_W7.62mm" (at 111.76 61.849 0)
|
||||
(effects (font (size 1.27 1.27) italic) (justify left) hide)
|
||||
)
|
||||
(property "Datasheet" "http://www.soselectronic.cz/a_info/resource/d/pc817.pdf" (at 116.84 56.769 0)
|
||||
(effects (font (size 1.27 1.27)) (justify left) hide)
|
||||
)
|
||||
(pin "1" (uuid 91cf025a-067c-492c-bcee-1aa442b5190b))
|
||||
(pin "2" (uuid 92a29dae-4114-4ac4-b292-3f9303033fe3))
|
||||
(pin "3" (uuid 22931c93-52d3-4f9e-a51a-72db694a5d75))
|
||||
(pin "4" (uuid 493f9777-02f4-4e33-a6e5-ec3981392cf3))
|
||||
(instances
|
||||
(project "stm32"
|
||||
(path "/f40cbe7e-cd25-45e5-a6cb-d92457495048/311a5cb3-0370-4a86-a5e8-6335fee47f9a"
|
||||
(reference "U11") (unit 1)
|
||||
)
|
||||
(path "/f40cbe7e-cd25-45e5-a6cb-d92457495048/2b18f3bb-219b-4cc5-8bc9-bc122d6e81e9"
|
||||
(reference "U15") (unit 1)
|
||||
)
|
||||
(path "/f40cbe7e-cd25-45e5-a6cb-d92457495048/c51c7789-4b67-42c9-a921-b1066b3f95ba"
|
||||
(reference "U17") (unit 1)
|
||||
)
|
||||
(path "/f40cbe7e-cd25-45e5-a6cb-d92457495048/737c47dd-2cc5-4c23-ab54-7bef18beb2a3"
|
||||
(reference "U12") (unit 1)
|
||||
)
|
||||
(path "/f40cbe7e-cd25-45e5-a6cb-d92457495048/0ff6ac13-ac49-41f0-9506-376ccd8b8ba4"
|
||||
(reference "U13") (unit 1)
|
||||
)
|
||||
(path "/f40cbe7e-cd25-45e5-a6cb-d92457495048/1cf77ae7-411e-49cc-bbff-6947c0aa32bd"
|
||||
(reference "U14") (unit 1)
|
||||
)
|
||||
(path "/f40cbe7e-cd25-45e5-a6cb-d92457495048/d7c9ec36-f6b4-4bc2-8e9a-7a0792b9eff0"
|
||||
(reference "U16") (unit 1)
|
||||
)
|
||||
(path "/f40cbe7e-cd25-45e5-a6cb-d92457495048/e5255d96-2d32-432c-bf31-9afa6ac7ec6a"
|
||||
(reference "U18") (unit 1)
|
||||
)
|
||||
)
|
||||
)
|
||||
)
|
||||
)
|
||||
597
F3:F303/CANbus4BTA/kicad/schematic-positions-to-layout.debug
Normal file
597
F3:F303/CANbus4BTA/kicad/schematic-positions-to-layout.debug
Normal file
@ -0,0 +1,597 @@
|
||||
work_dir = /home/eddy/Docs/SAO/ELECTRONICS/STM32/F0-srcs/CANbus4BTA/kicad
|
||||
in_pcb_file = stm32.kicad_pcb
|
||||
root_schematic_file = stm32.kicad_sch
|
||||
store to sheet[] = stm32.kicad_sch
|
||||
store to sheet[/0ff6ac13-ac49-41f0-9506-376ccd8b8ba4] = optocouple.kicad_sch
|
||||
store to sheet[/1cf77ae7-411e-49cc-bbff-6947c0aa32bd] = optocouple.kicad_sch
|
||||
store to sheet[/2b18f3bb-219b-4cc5-8bc9-bc122d6e81e9] = optocouple.kicad_sch
|
||||
store to sheet[/311a5cb3-0370-4a86-a5e8-6335fee47f9a] = optocouple.kicad_sch
|
||||
store to sheet[/737c47dd-2cc5-4c23-ab54-7bef18beb2a3] = optocouple.kicad_sch
|
||||
store to sheet[/c51c7789-4b67-42c9-a921-b1066b3f95ba] = optocouple.kicad_sch
|
||||
store to sheet[/d7c9ec36-f6b4-4bc2-8e9a-7a0792b9eff0] = optocouple.kicad_sch
|
||||
store to sheet[/e5255d96-2d32-432c-bf31-9afa6ac7ec6a] = optocouple.kicad_sch
|
||||
Processing /0ff6ac13-ac49-41f0-9506-376ccd8b8ba4
|
||||
Processing /1cf77ae7-411e-49cc-bbff-6947c0aa32bd
|
||||
Processing /2b18f3bb-219b-4cc5-8bc9-bc122d6e81e9
|
||||
Processing /311a5cb3-0370-4a86-a5e8-6335fee47f9a
|
||||
Processing /737c47dd-2cc5-4c23-ab54-7bef18beb2a3
|
||||
Processing /c51c7789-4b67-42c9-a921-b1066b3f95ba
|
||||
Processing /d7c9ec36-f6b4-4bc2-8e9a-7a0792b9eff0
|
||||
Processing /e5255d96-2d32-432c-bf31-9afa6ac7ec6a
|
||||
/00000000-0000-0000-0000-000058c42d39 ('C5', (3340, 10185), '')
|
||||
/00000000-0000-0000-0000-000058c45269 ('#PWR064', (20853, 6451), '')
|
||||
/00000000-0000-0000-0000-000058c453c7 ('#PWR075', (25679, 7670), '')
|
||||
/00000000-0000-0000-0000-000058c454f6 ('C27', (27228, 7162), '')
|
||||
/00000000-0000-0000-0000-000058c455cb ('#PWR079', (27228, 6781), '')
|
||||
/00000000-0000-0000-0000-000058c46522 ('D9', (25120, 9626), '')
|
||||
/00000000-0000-0000-0000-000058c488c6 ('R28', (25463, 11112), '')
|
||||
/00000000-0000-0000-0000-0000590935ea ('C7', (4102, 10185), '')
|
||||
/00000000-0000-0000-0000-000059093675 ('C9', (4864, 10185), '')
|
||||
/00000000-0000-0000-0000-000059098d4d ('D8', (24726, 13995), '')
|
||||
/00000000-0000-0000-0000-0000590a0c2d ('#PWR030', (6273, 10566), '')
|
||||
/00000000-0000-0000-0000-0000590a1958 ('#PWR021', (2451, 9804), '')
|
||||
/00000000-0000-0000-0000-0000590a8102 ('C10', (5626, 10185), '')
|
||||
/00000000-0000-0000-0000-0000590cee5e ('#FLG02', (25958, 3200), '')
|
||||
/00000000-0000-0000-0000-000059143415 ('P1', (32893, 18084), '')
|
||||
/00000000-0000-0000-0000-00005914456d ('P2', (32893, 18719), '')
|
||||
/00000000-0000-0000-0000-00005968e385 ('R19', (19558, 13995), '')
|
||||
/00000000-0000-0000-0000-00005968e83b ('R20', (19558, 14249), '')
|
||||
/00000000-0000-0000-0000-00005ec7332b ('Q8', (21653, 11061), '')
|
||||
/00000000-0000-0000-0000-00005eca19cb ('J29', (27520, 13855), '')
|
||||
/00000000-0000-0000-0000-00005ed38032 ('U4', (4610, 5613), '')
|
||||
/00000000-0000-0000-0000-00005edf00ab ('#PWR027', (4610, 1803), '')
|
||||
/00000000-0000-0000-0000-00005efcc1d1 ('C25', (26441, 7162), '')
|
||||
/00000000-0000-0000-0000-00005efdfde6 ('SW4', (24320, 11112), '')
|
||||
/00000000-0000-0000-0000-00005f012762 ('#PWR062', (20637, 10807), '')
|
||||
/00000000-0000-0000-0000-00005f026bcd ('#PWR061', (20586, 9258), '')
|
||||
/00000000-0000-0000-0000-00005f0b58fe ('#PWR077', (26720, 3200), '')
|
||||
/00000000-0000-0000-0000-00005f0b7bcc ('U10', (25679, 6781), '')
|
||||
/00000000-0000-0000-0000-00005f0e47e1 ('C24', (24815, 7162), '')
|
||||
/00000000-0000-0000-0000-00005f0f75f5 ('C23', (23507, 9639), '')
|
||||
/00000000-0000-0000-0000-00005f0f92a0 ('C15', (19418, 9639), '')
|
||||
/00000000-0000-0000-0000-00005f189262 ('#PWR063', (20637, 11315), '')
|
||||
/00000000-0000-0000-0000-000060cd9cc5 ('J23', (19532, 2108), '')
|
||||
/00000000-0000-0000-0000-000060cdd40b ('D4', (20650, 3200), '')
|
||||
/00000000-0000-0000-0000-000060cdf8cf ('R21', (19786, 3200), '')
|
||||
/00000000-0000-0000-0000-000060d5d4fa ('#PWR054', (19405, 3200), '')
|
||||
/00000000-0000-0000-0000-000060db3611 ('C19', (22402, 3581), '')
|
||||
/00000000-0000-0000-0000-000060db45c7 ('C17', (21742, 3581), '')
|
||||
/00000000-0000-0000-0000-000060db5d15 ('C26', (26720, 4089), '')
|
||||
/00000000-0000-0000-0000-000060dbfbc1 ('U9', (24180, 3454), '')
|
||||
/00000000-0000-0000-0000-000060dc099d ('D10', (25958, 4089), '')
|
||||
/00000000-0000-0000-0000-000060dc190f ('L1', (26339, 3708), '')
|
||||
/00000000-0000-0000-0000-000060df55b4 ('#PWR072', (24206, 4851), '')
|
||||
/00000000-0000-0000-0000-000060df621a ('#PWR078', (26720, 4470), '')
|
||||
/00000000-0000-0000-0000-000060e144ee ('#PWR067', (22072, 3962), '')
|
||||
/00000000-0000-0000-0000-000060e7fab6 ('R2', (2108, 2819), '')
|
||||
/00000000-0000-0000-0000-000060f2f77c ('Q6', (20078, -1917), '')
|
||||
/00000000-0000-0000-0000-000060f3ed21 ('R17', (18808, -1536), '')
|
||||
/00000000-0000-0000-0000-000060f4a360 ('R18', (19189, -1917), '')
|
||||
/00000000-0000-0000-0000-000060f821c5 ('#PWR060', (20332, -1155), '')
|
||||
/00000000-0000-0000-0000-000060f8923e ('K1', (21678, -1917), '')
|
||||
/00000000-0000-0000-0000-000060f9eb64 ('J25', (23380, -1409), '')
|
||||
/00000000-0000-0000-0000-000060fd5c63 ('D6', (21653, -3340), '')
|
||||
/00000000-0000-0000-0000-0000610519a2 ('Q7', (20955, 2540), '')
|
||||
/00000000-0000-0000-0000-0000610721ac ('#PWR020', (1727, 2819), '')
|
||||
/00000000-0000-0000-0000-00006107636a ('J26', (23380, 1968), '')
|
||||
/00000000-0000-0000-0000-000061084abf ('#PWR068', (22402, 1676), '')
|
||||
/00000000-0000-0000-0000-0000610f9be1 ('Q5', (15798, 18796), '')
|
||||
/00000000-0000-0000-0000-0000610fab25 ('R11', (14909, 18796), '')
|
||||
/00000000-0000-0000-0000-0000610faedc ('R16', (15671, 19304), '')
|
||||
/00000000-0000-0000-0000-00006112f2f0 ('D2', (10464, -1549), '')
|
||||
/00000000-0000-0000-0000-00006113896f ('R5', (10845, -2286), '')
|
||||
/00000000-0000-0000-0000-000061138d34 ('R6', (10845, -2032), '')
|
||||
/00000000-0000-0000-0000-000061138fc0 ('R3', (9753, -2832), '')
|
||||
/00000000-0000-0000-0000-00006113ab69 ('D1', (9753, -1549), '')
|
||||
/00000000-0000-0000-0000-00006113b115 ('#PWR038', (11226, -3213), '')
|
||||
/00000000-0000-0000-0000-00006117d6be ('#FLG01', (21209, 3200), '')
|
||||
/00000000-0000-0000-0000-00006117e151 ('#PWR037', (10121, -1168), '')
|
||||
/00000000-0000-0000-0000-000061180069 ('R4', (10299, -2832), '')
|
||||
/00000000-0000-0000-0000-0000611ebd67 ('Q4', (15036, -2654), '')
|
||||
/00000000-0000-0000-0000-0000611f02e2 ('R10', (14909, -2019), '')
|
||||
/00000000-0000-0000-0000-0000611f6148 ('R7', (14147, -2654), '')
|
||||
/00000000-0000-0000-0000-0000612410fb ('J22', (17703, -1485), '')
|
||||
/00000000-0000-0000-0000-000061259f9e ('#PWR050', (16941, -1485), '')
|
||||
/00000000-0000-0000-0000-000061286113 ('J19', (11734, -2286), '')
|
||||
/00000000-0000-0000-0000-00006128836a ('#PWR039', (11226, -1778), '')
|
||||
/00000000-0000-0000-0000-000061291425 ('#PWR048', (16052, 17780), '')
|
||||
/00000000-0000-0000-0000-0000612946ff ('TP3', (24434, 4851), '')
|
||||
/00000000-0000-0000-0000-0000612bea7a ('D3', (15773, -2781), '')
|
||||
/00000000-0000-0000-0000-0000612bf7fc ('#PWR051', (17195, -1739), '')
|
||||
/00000000-0000-0000-0000-0000612c0093 ('#PWR047', (15773, -2400), '')
|
||||
/00000000-0000-0000-0000-0000612d24d1 ('C18', (22402, 2057), '')
|
||||
/00000000-0000-0000-0000-00006134ea3d ('#PWR045', (15290, -2019), '')
|
||||
/00000000-0000-0000-0000-0000617663de ('#PWR058', (20040, 2108), '')
|
||||
/00000000-0000-0000-0000-0000617e4995 ('C28', (27406, 4089), '')
|
||||
/00000000-0000-0000-0000-00006184746e ('TP5', (27127, 3200), '')
|
||||
/00000000-0000-0000-0000-000061854eaa ('TP4', (26682, 6781), '')
|
||||
/00000000-0000-0000-0000-000061c0dc3c ('P3', (32918, 19265), '')
|
||||
/00000000-0000-0000-0000-000061c0dc46 ('P4', (32918, 19900), '')
|
||||
/054640a2-3f85-4d74-bbbd-eeed58cb5b94 ('R27', (22758, 7277), '')
|
||||
/0b115f45-6911-407e-a341-c7089893b8b6 ('R13', (14960, 3124), '')
|
||||
/0b3eb060-4cc9-40a1-9367-a5e28520fe38 ('#PWR08', (-5092, 16484), '')
|
||||
/0bf6fe2d-a7ca-4711-b626-b7d8edff3322 ('C8', (4114, -1079), '')
|
||||
/0c0bbac4-ca7f-46e3-80eb-1606d06594c7 ('J20', (12230, 18008), '')
|
||||
/0c206d9e-ad40-4802-9126-a0047f02ad9f ('D7', (23507, 6489), '')
|
||||
/0d509690-880a-4aa6-a8fc-c86cc1739036 ('C22', (23507, 7251), '')
|
||||
/0e79d957-0a13-45f3-a6b8-0f2e29c73bec ('#PWR059', (20256, 12725), '')
|
||||
/0e965621-2e06-4200-b31a-fd954d6b8d97 ('J17', (6642, 8915), '')
|
||||
/0ea5144a-8751-4287-9bcd-0431fd0ba426 ('C4', (-1866, 1968), '')
|
||||
/0eba5c35-2a8f-4e18-96df-b463871dd590 ('#PWR042', (14351, 1968), '')
|
||||
/100f7ed9-b7d4-4cc2-97b6-de4015d29db2 ('#FLG04', (22987, 13893), '')
|
||||
/1032ed2e-266e-481b-9db3-c9c3f44f11f5 ('J21', (15913, 5778), '')
|
||||
/104b4038-0d39-4290-93db-ceec2e404f19 ('#PWR010', (-5003, 13284), '')
|
||||
/120d34b1-d8e2-4081-aab1-5aeda236e3d8 ('J15', (2324, 7645), '')
|
||||
/14126f80-c9c8-4063-891f-49693172a747 ('#PWR014', (-2374, 14084), '')
|
||||
/177a6c0b-aa6f-4e9b-8cd2-961a762fc7e6 ('#PWR040', (13944, 4737), '')
|
||||
/1a1c2ef2-bed5-4dd2-911b-055642c4b22e ('#PWR069', (22771, -2425), '')
|
||||
/1a9d53e2-0b5c-45a6-aa32-7e39e06ff85e ('#PWR043', (14630, 3505), '')
|
||||
/1d99c860-2526-4cbc-90cb-e272fcc6a24a ('R1', (-2032, 4318), '')
|
||||
/1dd288bd-42ce-4bed-9f19-42a0861c87b7 ('#PWR026', (4394, 16776), '')
|
||||
/21538172-7710-4aea-a95f-c002bc6fb600 ('J13', (-1143, 5334), '')
|
||||
/253a1d6d-9b50-4386-9630-5f3ecc085ec2 ('R22', (21996, 6451), '')
|
||||
/2653940b-2982-43ae-8a4d-ef81fe133c6c ('#PWR036', (9194, 15481), '')
|
||||
/28a2b46c-ebc3-4719-9207-e4af31619c8c ('U6', (17500, 4343), '')
|
||||
/2936c100-4bd9-417a-821c-796dfa1680c9 ('#PWR044', (14960, 1981), '')
|
||||
/29e949e6-8659-45bf-81e2-675b87891b4e ('#PWR066', (21742, 3200), '')
|
||||
/2a57c89d-c95e-4b8c-9371-ed0e0bd2e0f2 ('U3', (3505, 14998), '')
|
||||
/2b90b1f6-d639-4825-9b90-cd199385330e ('J14', (-1143, 5588), '')
|
||||
/2ec25089-db7b-4d8b-a941-e1f94183b5b2 ('RV1', (14389, 4737), '')
|
||||
/2f8307e9-7273-44a1-9448-22311ed6aff7 ('BZ1', (16306, 18034), '')
|
||||
/30393d1e-0347-4aa6-99e6-3d1e1f7319b8 ('#PWR057', (19786, 7086), '')
|
||||
/30ee9aa9-870e-4bf8-a397-872828efd6e3 ('J5', (-5588, 10198), '')
|
||||
/32d0c73c-04a4-491c-ac25-12bd6440075c ('#PWR017', (-2362, 18986), '')
|
||||
/33ab5ad6-9df4-454d-98ce-5e5ce74e7958 ('R8', (14351, 2349), '')
|
||||
/33ca0e4c-0eb9-4e3c-bb6a-12a7463f509a ('J11', (-1143, 4826), '')
|
||||
/33d35d3f-829d-49bf-b5f3-8ab386499c8b ('#PWR053', (17500, 5359), '')
|
||||
/35713709-17d6-46c2-a652-dcfe11056b20 ('C6', (3352, -1079), '')
|
||||
/3780f544-6f22-4382-a621-4013ec61a13f ('#FLG05', (22987, 15773), '')
|
||||
/3870c967-36b7-4e56-b2a5-8dbd5aef6603 ('JP1', (4000, 18072), '')
|
||||
/38cd3bb4-71f2-48aa-a0b5-37173d207cf3 ('#PWR018', (-1651, 5588), '')
|
||||
/39230b26-ae40-47a3-b257-b97c36a58bed ('#PWR070', (22796, 11315), '')
|
||||
/3b1f8705-bf08-41a6-82ea-930ca2a6ed54 ('U1', (-7112, 9436), '')
|
||||
/3bdee6c2-276d-4d52-a2e6-34877cc4875c ('R30', (26377, 14109), '')
|
||||
/411b986a-7bed-466d-a7c3-0d0fa313ffb4 ('J16', (2324, 7899), '')
|
||||
/43dc25fa-cc1a-4f75-9dc4-e1bcbb108f93 ('J8', (-5359, 8064), '')
|
||||
/45d028a1-e2d9-495b-bf40-7eab380b9383 ('J38', (6642, 7137), '')
|
||||
/4bc419d9-4ea3-4622-bf50-d27a4db683a9 ('R9', (14351, 3124), '')
|
||||
/4d8352aa-3c5c-4a77-99ef-9ce7e4432c18 ('C12', (14389, 5029), '')
|
||||
/4dfe3314-b792-46f0-a048-eb0d720e42e4 ('#PWR028', (4699, 12382), '')
|
||||
/4f2e85af-2b80-4e53-8b7d-747b34e9e855 ('#PWR05', (-5638, 11290), '')
|
||||
/4fc7292d-b7a7-46d8-b070-021e8ec1f89c ('#PWR073', (25590, 1955), '')
|
||||
/503362e8-55fb-4d6e-8fc6-7634525271e8 ('JP2', (4013, 19189), '')
|
||||
/53f6691b-853a-41d8-82d9-374f8662035d ('#PWR012', (-3581, 9436), '')
|
||||
/5569c91d-111c-492b-81ef-3e4da9afebb0 ('C11', (13766, 3111), '')
|
||||
/56758733-eeb9-492a-96c7-fd89daed6dd0 ('R29', (26377, 13855), '')
|
||||
/5bb29b58-8c85-4a10-8add-12503a77550d ('#PWR013', (-2413, 4318), '')
|
||||
/60e68b2f-1574-4980-9e9b-e32807fb36f0 ('SW3', (-1854, 1638), '')
|
||||
/61b4e825-47e4-40c5-80de-942447daa651 ('#PWR02', (-7010, 12230), '')
|
||||
/6312b9d4-4b0e-40cc-a4b3-49c5fb02d88b ('TP2', (23926, 4851), '')
|
||||
/64b7323f-d158-42c5-bf26-f144a085693b ('#PWR031', (6756, 12585), '')
|
||||
/6521c46b-0f95-43df-bc25-d25022cf80f6 ('C2', (-5054, 2324), '')
|
||||
/65b6142d-b567-45b7-8093-f605b722228d ('#PWR065', (21018, 15773), '')
|
||||
/68fffa8a-6e9e-4d44-9a2d-fa1adac8e34f ('J10', (-1143, 4572), '')
|
||||
/692cea91-162a-4758-81e1-aa6555e71bf7 ('#PWR019', (-1346, 1638), '')
|
||||
/6a193267-fbe5-4a23-aadb-91f126725f8c ('#PWR016', (-2374, 17462), '')
|
||||
/6d89f343-c490-43ce-9bc9-395539af18d3 ('#PWR071', (23507, 7632), '')
|
||||
/6e6c4f9b-98fa-4118-9d20-c7d803162ad2 ('Y1', (3733, -1460), '')
|
||||
/6ff01c2b-11a2-4ee8-9278-d251169c73d6 ('#PWR01', (-7112, 8166), '')
|
||||
/71044a0d-259e-46f9-ac28-cd66eb082493 ('#PWR025', (3733, -698), '')
|
||||
/71d98676-6157-4c95-9aed-eb1bb64cc439 ('TP1', (23507, 6870), '')
|
||||
/735dac43-8d30-46f1-893c-fed3ef4e6dbe ('#PWR056', (19786, 6324), '')
|
||||
/74f69adb-1a66-4bcf-b574-3c21cacfcf1c ('R24', (21996, 7277), '')
|
||||
/75c927f0-fe4d-494c-872d-ba7328e5572a ('#PWR074', (25590, 2209), '')
|
||||
/770f8b7d-9bf3-49cc-b4a6-1ce9671c09bd ('Q1', (-4622, 11544), '')
|
||||
/783caa49-98e1-4ee1-9fe6-3b17b5636775 ('#PWR033', (9105, 16738), '')
|
||||
/7a881e95-07e4-4e22-9121-115965787b59 ('JP3', (5994, 11468), '')
|
||||
/7c6d5863-14a7-4ec7-8113-2b1994e276cf ('R23', (21996, 6870), '')
|
||||
/7cd14cd5-9733-41f2-955b-db75373a78d8 ('R12', (14960, 2362), '')
|
||||
/7d17ca4b-20bf-403f-a03d-5a021e8f590b ('C14', (15608, 3124), '')
|
||||
/7de10c84-c49d-439c-bbae-04a805281938 ('J24', (20294, 6578), '')
|
||||
/86243f82-6155-4a79-88f4-d438eb21fd49 ('C13', (14389, 6070), '')
|
||||
/8c4d36b8-706e-4d71-83db-782cad6b986b ('#FLG0102', (23139, 12725), '')
|
||||
/8d6b503e-5962-4acb-b031-0dfb28996ef1 ('#PWR052', (17500, 3327), '')
|
||||
/8d75df65-6b0a-48a0-85a2-1e08be8f9ab3 ('U7', (21526, 14249), '')
|
||||
/8deb6efe-ded2-419d-8ccb-426109009fce ('D5', (21234, 6451), '')
|
||||
/8f560d6a-94bb-4b58-8a53-12b2343b4c26 ('#PWR055', (19443, 6578), '')
|
||||
/93947ffc-b9e1-43e0-a026-3461c421d230 ('JP4', (6007, 12585), '')
|
||||
/971a16ad-1c82-4e70-abad-2116c59bae49 ('C21', (23139, 13106), '')
|
||||
/97428a20-20d1-4782-afd6-112e95d792e4 ('#PWR015', (-2374, 16014), '')
|
||||
/981da248-ed67-499d-a991-85ea4d362915 ('#PWR024', (2870, 16776), '')
|
||||
/9b6b6b38-fb60-4b5e-bf52-632696461ce3 ('C20', (22987, 14884), '')
|
||||
/9c1ca373-5a52-42eb-815b-ee5695f28642 ('J2', (-5740, 8064), '')
|
||||
/9d77c400-150a-498d-b229-31c610eb1a06 ('R25', (22758, 6451), '')
|
||||
/9db45a8d-9df2-4c52-848e-fea1f8976859 ('J27', (26098, 1955), '')
|
||||
/9e78e83b-34c3-404a-bfdd-081d96c1cb53 ('J4', (-5588, 9944), '')
|
||||
/a4027aa8-927e-4ea8-9e88-90d35e759e55 ('#PWR032', (8724, 16992), '')
|
||||
/a4359e4e-cbd2-4699-aee7-14357c7abc49 ('#PWR049', (16052, 19304), '')
|
||||
/a617b36d-2ff9-49e5-af7e-bbdfa99e4018 ('#PWR04', (-6883, 15024), '')
|
||||
/aad4c609-7e03-4576-a0f5-108625fc1371 ('#PWR035', (9194, 14973), '')
|
||||
/ab6ac2c9-5592-4df1-9a9e-2d2dc6e173b0 ('Q2', (3683, 12128), '')
|
||||
/b2d49f58-778b-49f0-913f-b059394ebf6e ('C1', (-5638, 11544), '')
|
||||
/b5ba6bf3-dbc9-458e-8aaf-b34c2d1d9610 ('J3', (-5588, 9690), '')
|
||||
/b944f607-1432-48b1-95e4-bfc2630f8d66 ('#PWR046', (15405, 6032), '')
|
||||
/baa8b58e-c327-4be8-91dc-b670ea22cd9c ('SW2', (-4343, 9182), '')
|
||||
/baa9d797-2dc5-46a0-805e-14ddb1aeba25 ('C16', (20053, 15138), '')
|
||||
/c443a1d1-8d39-4a8e-acf6-38fe4832911d ('U2', (-7010, 13500), '')
|
||||
/c496840f-8a1c-4ded-a4b7-deb1b831f932 ('#PWR076', (26136, 9880), '')
|
||||
/c62b18a1-c6b5-48a9-96ab-32b4d2b823a6 ('#PWR029', (6210, 13855), '')
|
||||
/c6343196-cdb0-4b28-a760-da7ed9b43f67 ('#PWR03', (-6984, 10960), '')
|
||||
/c6877987-287c-43d4-8206-b8997de2056c ('J6', (-5588, 10452), '')
|
||||
/c7f94789-2538-44d8-9626-3b52d225f717 ('U8', (21602, 9512), '')
|
||||
/cf053fdd-192e-4904-b566-bdbbe8fe72c1 ('#FLG03', (20802, 12725), '')
|
||||
/cf5a04f8-c5d9-4167-bb87-9cc5b13eca9d ('Q3', (10210, 15227), '')
|
||||
/d1027741-8cbc-48bd-b373-5719dfd179e8 ('J7', (-5549, 8064), '')
|
||||
/d23cf98a-ff83-4ac2-bbc5-9c30d28d78b8 ('#PWR041', (13944, 5778), '')
|
||||
/d2a47a87-3007-498b-9ea6-dada917416be ('U5', (10121, 17754), '')
|
||||
/d30f4cf9-d160-4c5a-a331-bc01cb316d1f ('J9', (-1143, 4318), '')
|
||||
/d4c38100-f103-4bdc-9259-be7f90bf1774 ('J1', (-5918, 8064), '')
|
||||
/d5ea083d-3219-4ba2-8c80-e151bd9b99a8 ('#PWR022', (2667, 11874), '')
|
||||
/d60b751f-ca22-4aa7-b80a-ef1d90ec42a5 ('#PWR011', (-4533, 2324), '')
|
||||
/d6aef62f-680d-4e80-8d8a-da098f5301f8 ('#PWR09', (-5092, 18072), '')
|
||||
/da7dea09-ba69-4a3a-8f41-6104c99a3c2d ('R15', (15024, 5778), '')
|
||||
/df0e219e-6a72-41ea-8dfc-70140d1b8bf4 ('#PWR0101', (2108, 13220), '')
|
||||
/e00fc69a-c8b1-4085-8487-54bc7626db71 ('J12', (-1143, 5080), '')
|
||||
/eb9ff82c-cc72-4a95-9611-ee40bc551846 ('#PWR06', (-5638, 11798), '')
|
||||
/eddc122f-ae6e-4e8f-a658-779a7e6682fa ('#PWR023', (2667, 12382), '')
|
||||
/efaf83c9-779f-4d89-9af3-2beac3335842 ('#PWR034', (9105, 17500), '')
|
||||
/efeb359d-fcc7-4ba5-807f-b8f8577fc504 ('R14', (15024, 4737), '')
|
||||
/f02e50e3-09db-4af2-97ba-2eca487a89ff ('J28', (27279, 9880), '')
|
||||
/f174c8cf-82c6-4198-9647-debf669687b3 ('#PWR07', (-5105, 14973), '')
|
||||
/f187c41a-ce55-4b88-9520-5cc86fed339b ('R26', (22758, 6870), '')
|
||||
/f1c88291-405c-4acd-bd2b-667d6f1e4b9b ('J18', (6972, 14871), '')
|
||||
/f73e8d41-f0b0-4c88-9176-37acd42e3860 ('#FLG0101', (22987, 6108), '')
|
||||
/fa2633f3-fef6-4a2f-b530-e262c70f5aac ('SW1', (-5041, 1993), '')
|
||||
/fc489d23-5fe3-448f-a89a-1edc326144e0 ('#FLG0103', (26441, 7543), '')
|
||||
/feb8af60-c0c4-4ac3-89cd-8551f82caf0c ('RV2', (14389, 5778), '')
|
||||
/ff8d3de2-57b9-4270-9d92-8830b2f70749 ('C3', (-3606, 11544), '')
|
||||
/0ff6ac13-ac49-41f0-9506-376ccd8b8ba4/09735fc2-1580-4524-a728-ca09449b348a ('R31', (10922, 5041), '/0ff6ac13-ac49-41f0-9506-376ccd8b8ba4')
|
||||
/0ff6ac13-ac49-41f0-9506-376ccd8b8ba4/29e10d42-1dd1-4a69-abec-c13748c3bb68 ('J30', (10414, 6184), '/0ff6ac13-ac49-41f0-9506-376ccd8b8ba4')
|
||||
/0ff6ac13-ac49-41f0-9506-376ccd8b8ba4/400c154c-5d09-4b90-bd4d-4cdbee68e158 ('U11', (11684, 5676), '/0ff6ac13-ac49-41f0-9506-376ccd8b8ba4')
|
||||
/1cf77ae7-411e-49cc-bbff-6947c0aa32bd/09735fc2-1580-4524-a728-ca09449b348a ('R31', (10922, 5041), '/1cf77ae7-411e-49cc-bbff-6947c0aa32bd')
|
||||
/1cf77ae7-411e-49cc-bbff-6947c0aa32bd/29e10d42-1dd1-4a69-abec-c13748c3bb68 ('J30', (10414, 6184), '/1cf77ae7-411e-49cc-bbff-6947c0aa32bd')
|
||||
/1cf77ae7-411e-49cc-bbff-6947c0aa32bd/400c154c-5d09-4b90-bd4d-4cdbee68e158 ('U11', (11684, 5676), '/1cf77ae7-411e-49cc-bbff-6947c0aa32bd')
|
||||
/2b18f3bb-219b-4cc5-8bc9-bc122d6e81e9/09735fc2-1580-4524-a728-ca09449b348a ('R31', (10922, 5041), '/2b18f3bb-219b-4cc5-8bc9-bc122d6e81e9')
|
||||
/2b18f3bb-219b-4cc5-8bc9-bc122d6e81e9/29e10d42-1dd1-4a69-abec-c13748c3bb68 ('J30', (10414, 6184), '/2b18f3bb-219b-4cc5-8bc9-bc122d6e81e9')
|
||||
/2b18f3bb-219b-4cc5-8bc9-bc122d6e81e9/400c154c-5d09-4b90-bd4d-4cdbee68e158 ('U11', (11684, 5676), '/2b18f3bb-219b-4cc5-8bc9-bc122d6e81e9')
|
||||
/311a5cb3-0370-4a86-a5e8-6335fee47f9a/09735fc2-1580-4524-a728-ca09449b348a ('R31', (10922, 5041), '/311a5cb3-0370-4a86-a5e8-6335fee47f9a')
|
||||
/311a5cb3-0370-4a86-a5e8-6335fee47f9a/29e10d42-1dd1-4a69-abec-c13748c3bb68 ('J30', (10414, 6184), '/311a5cb3-0370-4a86-a5e8-6335fee47f9a')
|
||||
/311a5cb3-0370-4a86-a5e8-6335fee47f9a/400c154c-5d09-4b90-bd4d-4cdbee68e158 ('U11', (11684, 5676), '/311a5cb3-0370-4a86-a5e8-6335fee47f9a')
|
||||
/737c47dd-2cc5-4c23-ab54-7bef18beb2a3/09735fc2-1580-4524-a728-ca09449b348a ('R31', (10922, 5041), '/737c47dd-2cc5-4c23-ab54-7bef18beb2a3')
|
||||
/737c47dd-2cc5-4c23-ab54-7bef18beb2a3/29e10d42-1dd1-4a69-abec-c13748c3bb68 ('J30', (10414, 6184), '/737c47dd-2cc5-4c23-ab54-7bef18beb2a3')
|
||||
/737c47dd-2cc5-4c23-ab54-7bef18beb2a3/400c154c-5d09-4b90-bd4d-4cdbee68e158 ('U11', (11684, 5676), '/737c47dd-2cc5-4c23-ab54-7bef18beb2a3')
|
||||
/c51c7789-4b67-42c9-a921-b1066b3f95ba/09735fc2-1580-4524-a728-ca09449b348a ('R31', (10922, 5041), '/c51c7789-4b67-42c9-a921-b1066b3f95ba')
|
||||
/c51c7789-4b67-42c9-a921-b1066b3f95ba/29e10d42-1dd1-4a69-abec-c13748c3bb68 ('J30', (10414, 6184), '/c51c7789-4b67-42c9-a921-b1066b3f95ba')
|
||||
/c51c7789-4b67-42c9-a921-b1066b3f95ba/400c154c-5d09-4b90-bd4d-4cdbee68e158 ('U11', (11684, 5676), '/c51c7789-4b67-42c9-a921-b1066b3f95ba')
|
||||
/d7c9ec36-f6b4-4bc2-8e9a-7a0792b9eff0/09735fc2-1580-4524-a728-ca09449b348a ('R31', (10922, 5041), '/d7c9ec36-f6b4-4bc2-8e9a-7a0792b9eff0')
|
||||
/d7c9ec36-f6b4-4bc2-8e9a-7a0792b9eff0/29e10d42-1dd1-4a69-abec-c13748c3bb68 ('J30', (10414, 6184), '/d7c9ec36-f6b4-4bc2-8e9a-7a0792b9eff0')
|
||||
/d7c9ec36-f6b4-4bc2-8e9a-7a0792b9eff0/400c154c-5d09-4b90-bd4d-4cdbee68e158 ('U11', (11684, 5676), '/d7c9ec36-f6b4-4bc2-8e9a-7a0792b9eff0')
|
||||
/e5255d96-2d32-432c-bf31-9afa6ac7ec6a/09735fc2-1580-4524-a728-ca09449b348a ('R31', (10922, 5041), '/e5255d96-2d32-432c-bf31-9afa6ac7ec6a')
|
||||
/e5255d96-2d32-432c-bf31-9afa6ac7ec6a/29e10d42-1dd1-4a69-abec-c13748c3bb68 ('J30', (10414, 6184), '/e5255d96-2d32-432c-bf31-9afa6ac7ec6a')
|
||||
/e5255d96-2d32-432c-bf31-9afa6ac7ec6a/400c154c-5d09-4b90-bd4d-4cdbee68e158 ('U11', (11684, 5676), '/e5255d96-2d32-432c-bf31-9afa6ac7ec6a')
|
||||
R28 /00000000-0000-0000-0000-000058c488c6
|
||||
path = /00000000-0000-0000-0000-000058c488c6 sheet = ref = R28 pos = (25463, 11112) new_pos = (381945000, 166680000)
|
||||
C23 /00000000-0000-0000-0000-00005f0f75f5
|
||||
path = /00000000-0000-0000-0000-00005f0f75f5 sheet = ref = C23 pos = (23507, 9639) new_pos = (352605000, 144585000)
|
||||
C15 /00000000-0000-0000-0000-00005f0f92a0
|
||||
path = /00000000-0000-0000-0000-00005f0f92a0 sheet = ref = C15 pos = (19418, 9639) new_pos = (291270000, 144585000)
|
||||
R30 /3bdee6c2-276d-4d52-a2e6-34877cc4875c
|
||||
path = /3bdee6c2-276d-4d52-a2e6-34877cc4875c sheet = ref = R30 pos = (26377, 14109) new_pos = (395655000, 211635000)
|
||||
R29 /56758733-eeb9-492a-96c7-fd89daed6dd0
|
||||
path = /56758733-eeb9-492a-96c7-fd89daed6dd0 sheet = ref = R29 pos = (26377, 13855) new_pos = (395655000, 207825000)
|
||||
R21 /00000000-0000-0000-0000-000060cdf8cf
|
||||
path = /00000000-0000-0000-0000-000060cdf8cf sheet = ref = R21 pos = (19786, 3200) new_pos = (296790000, 48000000)
|
||||
R20 /00000000-0000-0000-0000-00005968e83b
|
||||
path = /00000000-0000-0000-0000-00005968e83b sheet = ref = R20 pos = (19558, 14249) new_pos = (293370000, 213735000)
|
||||
R19 /00000000-0000-0000-0000-00005968e385
|
||||
path = /00000000-0000-0000-0000-00005968e385 sheet = ref = R19 pos = (19558, 13995) new_pos = (293370000, 209925000)
|
||||
R18 /00000000-0000-0000-0000-000060f4a360
|
||||
path = /00000000-0000-0000-0000-000060f4a360 sheet = ref = R18 pos = (19189, -1917) new_pos = (287835000, -28755000)
|
||||
R17 /00000000-0000-0000-0000-000060f3ed21
|
||||
path = /00000000-0000-0000-0000-000060f3ed21 sheet = ref = R17 pos = (18808, -1536) new_pos = (282120000, -23040000)
|
||||
R16 /00000000-0000-0000-0000-0000610faedc
|
||||
path = /00000000-0000-0000-0000-0000610faedc sheet = ref = R16 pos = (15671, 19304) new_pos = (235065000, 289560000)
|
||||
R11 /00000000-0000-0000-0000-0000610fab25
|
||||
path = /00000000-0000-0000-0000-0000610fab25 sheet = ref = R11 pos = (14909, 18796) new_pos = (223635000, 281940000)
|
||||
R10 /00000000-0000-0000-0000-0000611f02e2
|
||||
path = /00000000-0000-0000-0000-0000611f02e2 sheet = ref = R10 pos = (14909, -2019) new_pos = (223635000, -30285000)
|
||||
R7 /00000000-0000-0000-0000-0000611f6148
|
||||
path = /00000000-0000-0000-0000-0000611f6148 sheet = ref = R7 pos = (14147, -2654) new_pos = (212205000, -39810000)
|
||||
R6 /00000000-0000-0000-0000-000061138d34
|
||||
path = /00000000-0000-0000-0000-000061138d34 sheet = ref = R6 pos = (10845, -2032) new_pos = (162675000, -30480000)
|
||||
R5 /00000000-0000-0000-0000-00006113896f
|
||||
path = /00000000-0000-0000-0000-00006113896f sheet = ref = R5 pos = (10845, -2286) new_pos = (162675000, -34290000)
|
||||
R4 /00000000-0000-0000-0000-000061180069
|
||||
path = /00000000-0000-0000-0000-000061180069 sheet = ref = R4 pos = (10299, -2832) new_pos = (154485000, -42480000)
|
||||
R3 /00000000-0000-0000-0000-000061138fc0
|
||||
path = /00000000-0000-0000-0000-000061138fc0 sheet = ref = R3 pos = (9753, -2832) new_pos = (146295000, -42480000)
|
||||
R2 /00000000-0000-0000-0000-000060e7fab6
|
||||
path = /00000000-0000-0000-0000-000060e7fab6 sheet = ref = R2 pos = (2108, 2819) new_pos = (31620000, 42285000)
|
||||
R1 /1d99c860-2526-4cbc-90cb-e272fcc6a24a
|
||||
path = /1d99c860-2526-4cbc-90cb-e272fcc6a24a sheet = ref = R1 pos = (-2032, 4318) new_pos = (-30480000, 64770000)
|
||||
C25 /00000000-0000-0000-0000-00005efcc1d1
|
||||
path = /00000000-0000-0000-0000-00005efcc1d1 sheet = ref = C25 pos = (26441, 7162) new_pos = (396615000, 107430000)
|
||||
C24 /00000000-0000-0000-0000-00005f0e47e1
|
||||
path = /00000000-0000-0000-0000-00005f0e47e1 sheet = ref = C24 pos = (24815, 7162) new_pos = (372225000, 107430000)
|
||||
C21 /971a16ad-1c82-4e70-abad-2116c59bae49
|
||||
path = /971a16ad-1c82-4e70-abad-2116c59bae49 sheet = ref = C21 pos = (23139, 13106) new_pos = (347085000, 196590000)
|
||||
C20 /9b6b6b38-fb60-4b5e-bf52-632696461ce3
|
||||
path = /9b6b6b38-fb60-4b5e-bf52-632696461ce3 sheet = ref = C20 pos = (22987, 14884) new_pos = (344805000, 223260000)
|
||||
C17 /00000000-0000-0000-0000-000060db45c7
|
||||
path = /00000000-0000-0000-0000-000060db45c7 sheet = ref = C17 pos = (21742, 3581) new_pos = (326130000, 53715000)
|
||||
C16 /baa9d797-2dc5-46a0-805e-14ddb1aeba25
|
||||
path = /baa9d797-2dc5-46a0-805e-14ddb1aeba25 sheet = ref = C16 pos = (20053, 15138) new_pos = (300795000, 227070000)
|
||||
C14 /7d17ca4b-20bf-403f-a03d-5a021e8f590b
|
||||
path = /7d17ca4b-20bf-403f-a03d-5a021e8f590b sheet = ref = C14 pos = (15608, 3124) new_pos = (234120000, 46860000)
|
||||
C11 /5569c91d-111c-492b-81ef-3e4da9afebb0
|
||||
path = /5569c91d-111c-492b-81ef-3e4da9afebb0 sheet = ref = C11 pos = (13766, 3111) new_pos = (206490000, 46665000)
|
||||
C10 /00000000-0000-0000-0000-0000590a8102
|
||||
path = /00000000-0000-0000-0000-0000590a8102 sheet = ref = C10 pos = (5626, 10185) new_pos = (84390000, 152775000)
|
||||
C9 /00000000-0000-0000-0000-000059093675
|
||||
path = /00000000-0000-0000-0000-000059093675 sheet = ref = C9 pos = (4864, 10185) new_pos = (72960000, 152775000)
|
||||
C8 /0bf6fe2d-a7ca-4711-b626-b7d8edff3322
|
||||
path = /0bf6fe2d-a7ca-4711-b626-b7d8edff3322 sheet = ref = C8 pos = (4114, -1079) new_pos = (61710000, -16185000)
|
||||
C7 /00000000-0000-0000-0000-0000590935ea
|
||||
path = /00000000-0000-0000-0000-0000590935ea sheet = ref = C7 pos = (4102, 10185) new_pos = (61530000, 152775000)
|
||||
C6 /35713709-17d6-46c2-a652-dcfe11056b20
|
||||
path = /35713709-17d6-46c2-a652-dcfe11056b20 sheet = ref = C6 pos = (3352, -1079) new_pos = (50280000, -16185000)
|
||||
C5 /00000000-0000-0000-0000-000058c42d39
|
||||
path = /00000000-0000-0000-0000-000058c42d39 sheet = ref = C5 pos = (3340, 10185) new_pos = (50100000, 152775000)
|
||||
C4 /0ea5144a-8751-4287-9bcd-0431fd0ba426
|
||||
path = /0ea5144a-8751-4287-9bcd-0431fd0ba426 sheet = ref = C4 pos = (-1866, 1968) new_pos = (-27990000, 29520000)
|
||||
C2 /6521c46b-0f95-43df-bc25-d25022cf80f6
|
||||
path = /6521c46b-0f95-43df-bc25-d25022cf80f6 sheet = ref = C2 pos = (-5054, 2324) new_pos = (-75810000, 34860000)
|
||||
Y1 /6e6c4f9b-98fa-4118-9d20-c7d803162ad2
|
||||
path = /6e6c4f9b-98fa-4118-9d20-c7d803162ad2 sheet = ref = Y1 pos = (3733, -1460) new_pos = (55995000, -21900000)
|
||||
U18 /e5255d96-2d32-432c-bf31-9afa6ac7ec6a/400c154c-5d09-4b90-bd4d-4cdbee68e158
|
||||
path = /e5255d96-2d32-432c-bf31-9afa6ac7ec6a/400c154c-5d09-4b90-bd4d-4cdbee68e158 sheet = /e5255d96-2d32-432c-bf31-9afa6ac7ec6a ref = U11 pos = (11684, 5676) new_pos = (175260000, 670908750)
|
||||
U17 /c51c7789-4b67-42c9-a921-b1066b3f95ba/400c154c-5d09-4b90-bd4d-4cdbee68e158
|
||||
path = /c51c7789-4b67-42c9-a921-b1066b3f95ba/400c154c-5d09-4b90-bd4d-4cdbee68e158 sheet = /c51c7789-4b67-42c9-a921-b1066b3f95ba ref = U11 pos = (11684, 5676) new_pos = (175260000, 628046250)
|
||||
U16 /d7c9ec36-f6b4-4bc2-8e9a-7a0792b9eff0/400c154c-5d09-4b90-bd4d-4cdbee68e158
|
||||
path = /d7c9ec36-f6b4-4bc2-8e9a-7a0792b9eff0/400c154c-5d09-4b90-bd4d-4cdbee68e158 sheet = /d7c9ec36-f6b4-4bc2-8e9a-7a0792b9eff0 ref = U11 pos = (11684, 5676) new_pos = (175260000, 649477500)
|
||||
U15 /2b18f3bb-219b-4cc5-8bc9-bc122d6e81e9/400c154c-5d09-4b90-bd4d-4cdbee68e158
|
||||
path = /2b18f3bb-219b-4cc5-8bc9-bc122d6e81e9/400c154c-5d09-4b90-bd4d-4cdbee68e158 sheet = /2b18f3bb-219b-4cc5-8bc9-bc122d6e81e9 ref = U11 pos = (11684, 5676) new_pos = (175260000, 563752500)
|
||||
U14 /1cf77ae7-411e-49cc-bbff-6947c0aa32bd/400c154c-5d09-4b90-bd4d-4cdbee68e158
|
||||
path = /1cf77ae7-411e-49cc-bbff-6947c0aa32bd/400c154c-5d09-4b90-bd4d-4cdbee68e158 sheet = /1cf77ae7-411e-49cc-bbff-6947c0aa32bd ref = U11 pos = (11684, 5676) new_pos = (175260000, 542321250)
|
||||
U13 /0ff6ac13-ac49-41f0-9506-376ccd8b8ba4/400c154c-5d09-4b90-bd4d-4cdbee68e158
|
||||
path = /0ff6ac13-ac49-41f0-9506-376ccd8b8ba4/400c154c-5d09-4b90-bd4d-4cdbee68e158 sheet = /0ff6ac13-ac49-41f0-9506-376ccd8b8ba4 ref = U11 pos = (11684, 5676) new_pos = (175260000, 520890000)
|
||||
U12 /737c47dd-2cc5-4c23-ab54-7bef18beb2a3/400c154c-5d09-4b90-bd4d-4cdbee68e158
|
||||
path = /737c47dd-2cc5-4c23-ab54-7bef18beb2a3/400c154c-5d09-4b90-bd4d-4cdbee68e158 sheet = /737c47dd-2cc5-4c23-ab54-7bef18beb2a3 ref = U11 pos = (11684, 5676) new_pos = (175260000, 606615000)
|
||||
U11 /311a5cb3-0370-4a86-a5e8-6335fee47f9a/400c154c-5d09-4b90-bd4d-4cdbee68e158
|
||||
path = /311a5cb3-0370-4a86-a5e8-6335fee47f9a/400c154c-5d09-4b90-bd4d-4cdbee68e158 sheet = /311a5cb3-0370-4a86-a5e8-6335fee47f9a ref = U11 pos = (11684, 5676) new_pos = (175260000, 585183750)
|
||||
U10 /00000000-0000-0000-0000-00005f0b7bcc
|
||||
path = /00000000-0000-0000-0000-00005f0b7bcc sheet = ref = U10 pos = (25679, 6781) new_pos = (385185000, 101715000)
|
||||
U9 /00000000-0000-0000-0000-000060dbfbc1
|
||||
path = /00000000-0000-0000-0000-000060dbfbc1 sheet = ref = U9 pos = (24180, 3454) new_pos = (362700000, 51810000)
|
||||
U8 /c7f94789-2538-44d8-9626-3b52d225f717
|
||||
path = /c7f94789-2538-44d8-9626-3b52d225f717 sheet = ref = U8 pos = (21602, 9512) new_pos = (324030000, 142680000)
|
||||
U7 /8d75df65-6b0a-48a0-85a2-1e08be8f9ab3
|
||||
path = /8d75df65-6b0a-48a0-85a2-1e08be8f9ab3 sheet = ref = U7 pos = (21526, 14249) new_pos = (322890000, 213735000)
|
||||
U6 /28a2b46c-ebc3-4719-9207-e4af31619c8c
|
||||
path = /28a2b46c-ebc3-4719-9207-e4af31619c8c sheet = ref = U6 pos = (17500, 4343) new_pos = (262500000, 65145000)
|
||||
U5 /d2a47a87-3007-498b-9ea6-dada917416be
|
||||
path = /d2a47a87-3007-498b-9ea6-dada917416be sheet = ref = U5 pos = (10121, 17754) new_pos = (151815000, 266310000)
|
||||
U4 /00000000-0000-0000-0000-00005ed38032
|
||||
path = /00000000-0000-0000-0000-00005ed38032 sheet = ref = U4 pos = (4610, 5613) new_pos = (69150000, 84195000)
|
||||
U3 /2a57c89d-c95e-4b8c-9371-ed0e0bd2e0f2
|
||||
path = /2a57c89d-c95e-4b8c-9371-ed0e0bd2e0f2 sheet = ref = U3 pos = (3505, 14998) new_pos = (52575000, 224970000)
|
||||
U2 /c443a1d1-8d39-4a8e-acf6-38fe4832911d
|
||||
path = /c443a1d1-8d39-4a8e-acf6-38fe4832911d sheet = ref = U2 pos = (-7010, 13500) new_pos = (-105150000, 202500000)
|
||||
U1 /3b1f8705-bf08-41a6-82ea-930ca2a6ed54
|
||||
path = /3b1f8705-bf08-41a6-82ea-930ca2a6ed54 sheet = ref = U1 pos = (-7112, 9436) new_pos = (-106680000, 141540000)
|
||||
TP5 /00000000-0000-0000-0000-00006184746e
|
||||
path = /00000000-0000-0000-0000-00006184746e sheet = ref = TP5 pos = (27127, 3200) new_pos = (406905000, 48000000)
|
||||
TP4 /00000000-0000-0000-0000-000061854eaa
|
||||
path = /00000000-0000-0000-0000-000061854eaa sheet = ref = TP4 pos = (26682, 6781) new_pos = (400230000, 101715000)
|
||||
TP3 /00000000-0000-0000-0000-0000612946ff
|
||||
path = /00000000-0000-0000-0000-0000612946ff sheet = ref = TP3 pos = (24434, 4851) new_pos = (366510000, 72765000)
|
||||
TP2 /6312b9d4-4b0e-40cc-a4b3-49c5fb02d88b
|
||||
path = /6312b9d4-4b0e-40cc-a4b3-49c5fb02d88b sheet = ref = TP2 pos = (23926, 4851) new_pos = (358890000, 72765000)
|
||||
TP1 /71d98676-6157-4c95-9aed-eb1bb64cc439
|
||||
path = /71d98676-6157-4c95-9aed-eb1bb64cc439 sheet = ref = TP1 pos = (23507, 6870) new_pos = (352605000, 103050000)
|
||||
SW4 /00000000-0000-0000-0000-00005efdfde6
|
||||
path = /00000000-0000-0000-0000-00005efdfde6 sheet = ref = SW4 pos = (24320, 11112) new_pos = (364800000, 166680000)
|
||||
SW3 /60e68b2f-1574-4980-9e9b-e32807fb36f0
|
||||
path = /60e68b2f-1574-4980-9e9b-e32807fb36f0 sheet = ref = SW3 pos = (-1854, 1638) new_pos = (-27810000, 24570000)
|
||||
SW2 /baa8b58e-c327-4be8-91dc-b670ea22cd9c
|
||||
path = /baa8b58e-c327-4be8-91dc-b670ea22cd9c sheet = ref = SW2 pos = (-4343, 9182) new_pos = (-65145000, 137730000)
|
||||
SW1 /fa2633f3-fef6-4a2f-b530-e262c70f5aac
|
||||
path = /fa2633f3-fef6-4a2f-b530-e262c70f5aac sheet = ref = SW1 pos = (-5041, 1993) new_pos = (-75615000, 29895000)
|
||||
RV2 /feb8af60-c0c4-4ac3-89cd-8551f82caf0c
|
||||
path = /feb8af60-c0c4-4ac3-89cd-8551f82caf0c sheet = ref = RV2 pos = (14389, 5778) new_pos = (215835000, 86670000)
|
||||
RV1 /2ec25089-db7b-4d8b-a941-e1f94183b5b2
|
||||
path = /2ec25089-db7b-4d8b-a941-e1f94183b5b2 sheet = ref = RV1 pos = (14389, 4737) new_pos = (215835000, 71055000)
|
||||
R38 /e5255d96-2d32-432c-bf31-9afa6ac7ec6a/09735fc2-1580-4524-a728-ca09449b348a
|
||||
path = /e5255d96-2d32-432c-bf31-9afa6ac7ec6a/09735fc2-1580-4524-a728-ca09449b348a sheet = /e5255d96-2d32-432c-bf31-9afa6ac7ec6a ref = R31 pos = (10922, 5041) new_pos = (163830000, 661383750)
|
||||
R37 /c51c7789-4b67-42c9-a921-b1066b3f95ba/09735fc2-1580-4524-a728-ca09449b348a
|
||||
path = /c51c7789-4b67-42c9-a921-b1066b3f95ba/09735fc2-1580-4524-a728-ca09449b348a sheet = /c51c7789-4b67-42c9-a921-b1066b3f95ba ref = R31 pos = (10922, 5041) new_pos = (163830000, 618521250)
|
||||
R36 /d7c9ec36-f6b4-4bc2-8e9a-7a0792b9eff0/09735fc2-1580-4524-a728-ca09449b348a
|
||||
path = /d7c9ec36-f6b4-4bc2-8e9a-7a0792b9eff0/09735fc2-1580-4524-a728-ca09449b348a sheet = /d7c9ec36-f6b4-4bc2-8e9a-7a0792b9eff0 ref = R31 pos = (10922, 5041) new_pos = (163830000, 639952500)
|
||||
R35 /2b18f3bb-219b-4cc5-8bc9-bc122d6e81e9/09735fc2-1580-4524-a728-ca09449b348a
|
||||
path = /2b18f3bb-219b-4cc5-8bc9-bc122d6e81e9/09735fc2-1580-4524-a728-ca09449b348a sheet = /2b18f3bb-219b-4cc5-8bc9-bc122d6e81e9 ref = R31 pos = (10922, 5041) new_pos = (163830000, 554227500)
|
||||
R34 /1cf77ae7-411e-49cc-bbff-6947c0aa32bd/09735fc2-1580-4524-a728-ca09449b348a
|
||||
path = /1cf77ae7-411e-49cc-bbff-6947c0aa32bd/09735fc2-1580-4524-a728-ca09449b348a sheet = /1cf77ae7-411e-49cc-bbff-6947c0aa32bd ref = R31 pos = (10922, 5041) new_pos = (163830000, 532796250)
|
||||
R33 /0ff6ac13-ac49-41f0-9506-376ccd8b8ba4/09735fc2-1580-4524-a728-ca09449b348a
|
||||
path = /0ff6ac13-ac49-41f0-9506-376ccd8b8ba4/09735fc2-1580-4524-a728-ca09449b348a sheet = /0ff6ac13-ac49-41f0-9506-376ccd8b8ba4 ref = R31 pos = (10922, 5041) new_pos = (163830000, 511365000)
|
||||
R32 /737c47dd-2cc5-4c23-ab54-7bef18beb2a3/09735fc2-1580-4524-a728-ca09449b348a
|
||||
path = /737c47dd-2cc5-4c23-ab54-7bef18beb2a3/09735fc2-1580-4524-a728-ca09449b348a sheet = /737c47dd-2cc5-4c23-ab54-7bef18beb2a3 ref = R31 pos = (10922, 5041) new_pos = (163830000, 597090000)
|
||||
R31 /311a5cb3-0370-4a86-a5e8-6335fee47f9a/09735fc2-1580-4524-a728-ca09449b348a
|
||||
path = /311a5cb3-0370-4a86-a5e8-6335fee47f9a/09735fc2-1580-4524-a728-ca09449b348a sheet = /311a5cb3-0370-4a86-a5e8-6335fee47f9a ref = R31 pos = (10922, 5041) new_pos = (163830000, 575658750)
|
||||
R27 /054640a2-3f85-4d74-bbbd-eeed58cb5b94
|
||||
path = /054640a2-3f85-4d74-bbbd-eeed58cb5b94 sheet = ref = R27 pos = (22758, 7277) new_pos = (341370000, 109155000)
|
||||
R26 /f187c41a-ce55-4b88-9520-5cc86fed339b
|
||||
path = /f187c41a-ce55-4b88-9520-5cc86fed339b sheet = ref = R26 pos = (22758, 6870) new_pos = (341370000, 103050000)
|
||||
R25 /9d77c400-150a-498d-b229-31c610eb1a06
|
||||
path = /9d77c400-150a-498d-b229-31c610eb1a06 sheet = ref = R25 pos = (22758, 6451) new_pos = (341370000, 96765000)
|
||||
R24 /74f69adb-1a66-4bcf-b574-3c21cacfcf1c
|
||||
path = /74f69adb-1a66-4bcf-b574-3c21cacfcf1c sheet = ref = R24 pos = (21996, 7277) new_pos = (329940000, 109155000)
|
||||
R23 /7c6d5863-14a7-4ec7-8113-2b1994e276cf
|
||||
path = /7c6d5863-14a7-4ec7-8113-2b1994e276cf sheet = ref = R23 pos = (21996, 6870) new_pos = (329940000, 103050000)
|
||||
R22 /253a1d6d-9b50-4386-9630-5f3ecc085ec2
|
||||
path = /253a1d6d-9b50-4386-9630-5f3ecc085ec2 sheet = ref = R22 pos = (21996, 6451) new_pos = (329940000, 96765000)
|
||||
R15 /da7dea09-ba69-4a3a-8f41-6104c99a3c2d
|
||||
path = /da7dea09-ba69-4a3a-8f41-6104c99a3c2d sheet = ref = R15 pos = (15024, 5778) new_pos = (225360000, 86670000)
|
||||
R14 /efeb359d-fcc7-4ba5-807f-b8f8577fc504
|
||||
path = /efeb359d-fcc7-4ba5-807f-b8f8577fc504 sheet = ref = R14 pos = (15024, 4737) new_pos = (225360000, 71055000)
|
||||
R13 /0b115f45-6911-407e-a341-c7089893b8b6
|
||||
path = /0b115f45-6911-407e-a341-c7089893b8b6 sheet = ref = R13 pos = (14960, 3124) new_pos = (224400000, 46860000)
|
||||
R12 /7cd14cd5-9733-41f2-955b-db75373a78d8
|
||||
path = /7cd14cd5-9733-41f2-955b-db75373a78d8 sheet = ref = R12 pos = (14960, 2362) new_pos = (224400000, 35430000)
|
||||
R9 /4bc419d9-4ea3-4622-bf50-d27a4db683a9
|
||||
path = /4bc419d9-4ea3-4622-bf50-d27a4db683a9 sheet = ref = R9 pos = (14351, 3124) new_pos = (215265000, 46860000)
|
||||
R8 /33ab5ad6-9df4-454d-98ce-5e5ce74e7958
|
||||
path = /33ab5ad6-9df4-454d-98ce-5e5ce74e7958 sheet = ref = R8 pos = (14351, 2349) new_pos = (215265000, 35235000)
|
||||
Q8 /00000000-0000-0000-0000-00005ec7332b
|
||||
path = /00000000-0000-0000-0000-00005ec7332b sheet = ref = Q8 pos = (21653, 11061) new_pos = (324795000, 165915000)
|
||||
Q7 /00000000-0000-0000-0000-0000610519a2
|
||||
path = /00000000-0000-0000-0000-0000610519a2 sheet = ref = Q7 pos = (20955, 2540) new_pos = (314325000, 38100000)
|
||||
Q6 /00000000-0000-0000-0000-000060f2f77c
|
||||
path = /00000000-0000-0000-0000-000060f2f77c sheet = ref = Q6 pos = (20078, -1917) new_pos = (301170000, -28755000)
|
||||
Q5 /00000000-0000-0000-0000-0000610f9be1
|
||||
path = /00000000-0000-0000-0000-0000610f9be1 sheet = ref = Q5 pos = (15798, 18796) new_pos = (236970000, 281940000)
|
||||
Q4 /00000000-0000-0000-0000-0000611ebd67
|
||||
path = /00000000-0000-0000-0000-0000611ebd67 sheet = ref = Q4 pos = (15036, -2654) new_pos = (225540000, -39810000)
|
||||
Q3 /cf5a04f8-c5d9-4167-bb87-9cc5b13eca9d
|
||||
path = /cf5a04f8-c5d9-4167-bb87-9cc5b13eca9d sheet = ref = Q3 pos = (10210, 15227) new_pos = (153150000, 228405000)
|
||||
Q2 /ab6ac2c9-5592-4df1-9a9e-2d2dc6e173b0
|
||||
path = /ab6ac2c9-5592-4df1-9a9e-2d2dc6e173b0 sheet = ref = Q2 pos = (3683, 12128) new_pos = (55245000, 181920000)
|
||||
Q1 /770f8b7d-9bf3-49cc-b4a6-1ce9671c09bd
|
||||
path = /770f8b7d-9bf3-49cc-b4a6-1ce9671c09bd sheet = ref = Q1 pos = (-4622, 11544) new_pos = (-69330000, 173160000)
|
||||
P4 /00000000-0000-0000-0000-000061c0dc46
|
||||
path = /00000000-0000-0000-0000-000061c0dc46 sheet = ref = P4 pos = (32918, 19900) new_pos = (493770000, 298500000)
|
||||
P3 /00000000-0000-0000-0000-000061c0dc3c
|
||||
path = /00000000-0000-0000-0000-000061c0dc3c sheet = ref = P3 pos = (32918, 19265) new_pos = (493770000, 288975000)
|
||||
P2 /00000000-0000-0000-0000-00005914456d
|
||||
path = /00000000-0000-0000-0000-00005914456d sheet = ref = P2 pos = (32893, 18719) new_pos = (493395000, 280785000)
|
||||
P1 /00000000-0000-0000-0000-000059143415
|
||||
path = /00000000-0000-0000-0000-000059143415 sheet = ref = P1 pos = (32893, 18084) new_pos = (493395000, 271260000)
|
||||
L1 /00000000-0000-0000-0000-000060dc190f
|
||||
path = /00000000-0000-0000-0000-000060dc190f sheet = ref = L1 pos = (26339, 3708) new_pos = (395085000, 55620000)
|
||||
K1 /00000000-0000-0000-0000-000060f8923e
|
||||
path = /00000000-0000-0000-0000-000060f8923e sheet = ref = K1 pos = (21678, -1917) new_pos = (325170000, -28755000)
|
||||
JP4 /93947ffc-b9e1-43e0-a026-3461c421d230
|
||||
path = /93947ffc-b9e1-43e0-a026-3461c421d230 sheet = ref = JP4 pos = (6007, 12585) new_pos = (90105000, 188775000)
|
||||
JP3 /7a881e95-07e4-4e22-9121-115965787b59
|
||||
path = /7a881e95-07e4-4e22-9121-115965787b59 sheet = ref = JP3 pos = (5994, 11468) new_pos = (89910000, 172020000)
|
||||
JP2 /503362e8-55fb-4d6e-8fc6-7634525271e8
|
||||
path = /503362e8-55fb-4d6e-8fc6-7634525271e8 sheet = ref = JP2 pos = (4013, 19189) new_pos = (60195000, 287835000)
|
||||
JP1 /3870c967-36b7-4e56-b2a5-8dbd5aef6603
|
||||
path = /3870c967-36b7-4e56-b2a5-8dbd5aef6603 sheet = ref = JP1 pos = (4000, 18072) new_pos = (60000000, 271080000)
|
||||
J38 /45d028a1-e2d9-495b-bf40-7eab380b9383
|
||||
path = /45d028a1-e2d9-495b-bf40-7eab380b9383 sheet = ref = J38 pos = (6642, 7137) new_pos = (99630000, 107055000)
|
||||
J37 /e5255d96-2d32-432c-bf31-9afa6ac7ec6a/29e10d42-1dd1-4a69-abec-c13748c3bb68
|
||||
path = /e5255d96-2d32-432c-bf31-9afa6ac7ec6a/29e10d42-1dd1-4a69-abec-c13748c3bb68 sheet = /e5255d96-2d32-432c-bf31-9afa6ac7ec6a ref = J30 pos = (10414, 6184) new_pos = (156210000, 678528750)
|
||||
J36 /c51c7789-4b67-42c9-a921-b1066b3f95ba/29e10d42-1dd1-4a69-abec-c13748c3bb68
|
||||
path = /c51c7789-4b67-42c9-a921-b1066b3f95ba/29e10d42-1dd1-4a69-abec-c13748c3bb68 sheet = /c51c7789-4b67-42c9-a921-b1066b3f95ba ref = J30 pos = (10414, 6184) new_pos = (156210000, 635666250)
|
||||
J35 /d7c9ec36-f6b4-4bc2-8e9a-7a0792b9eff0/29e10d42-1dd1-4a69-abec-c13748c3bb68
|
||||
path = /d7c9ec36-f6b4-4bc2-8e9a-7a0792b9eff0/29e10d42-1dd1-4a69-abec-c13748c3bb68 sheet = /d7c9ec36-f6b4-4bc2-8e9a-7a0792b9eff0 ref = J30 pos = (10414, 6184) new_pos = (156210000, 657097500)
|
||||
J34 /2b18f3bb-219b-4cc5-8bc9-bc122d6e81e9/29e10d42-1dd1-4a69-abec-c13748c3bb68
|
||||
path = /2b18f3bb-219b-4cc5-8bc9-bc122d6e81e9/29e10d42-1dd1-4a69-abec-c13748c3bb68 sheet = /2b18f3bb-219b-4cc5-8bc9-bc122d6e81e9 ref = J30 pos = (10414, 6184) new_pos = (156210000, 571372500)
|
||||
J33 /1cf77ae7-411e-49cc-bbff-6947c0aa32bd/29e10d42-1dd1-4a69-abec-c13748c3bb68
|
||||
path = /1cf77ae7-411e-49cc-bbff-6947c0aa32bd/29e10d42-1dd1-4a69-abec-c13748c3bb68 sheet = /1cf77ae7-411e-49cc-bbff-6947c0aa32bd ref = J30 pos = (10414, 6184) new_pos = (156210000, 549941250)
|
||||
J32 /0ff6ac13-ac49-41f0-9506-376ccd8b8ba4/29e10d42-1dd1-4a69-abec-c13748c3bb68
|
||||
path = /0ff6ac13-ac49-41f0-9506-376ccd8b8ba4/29e10d42-1dd1-4a69-abec-c13748c3bb68 sheet = /0ff6ac13-ac49-41f0-9506-376ccd8b8ba4 ref = J30 pos = (10414, 6184) new_pos = (156210000, 528510000)
|
||||
J31 /737c47dd-2cc5-4c23-ab54-7bef18beb2a3/29e10d42-1dd1-4a69-abec-c13748c3bb68
|
||||
path = /737c47dd-2cc5-4c23-ab54-7bef18beb2a3/29e10d42-1dd1-4a69-abec-c13748c3bb68 sheet = /737c47dd-2cc5-4c23-ab54-7bef18beb2a3 ref = J30 pos = (10414, 6184) new_pos = (156210000, 614235000)
|
||||
J30 /311a5cb3-0370-4a86-a5e8-6335fee47f9a/29e10d42-1dd1-4a69-abec-c13748c3bb68
|
||||
path = /311a5cb3-0370-4a86-a5e8-6335fee47f9a/29e10d42-1dd1-4a69-abec-c13748c3bb68 sheet = /311a5cb3-0370-4a86-a5e8-6335fee47f9a ref = J30 pos = (10414, 6184) new_pos = (156210000, 592803750)
|
||||
J29 /00000000-0000-0000-0000-00005eca19cb
|
||||
path = /00000000-0000-0000-0000-00005eca19cb sheet = ref = J29 pos = (27520, 13855) new_pos = (412800000, 207825000)
|
||||
J28 /f02e50e3-09db-4af2-97ba-2eca487a89ff
|
||||
path = /f02e50e3-09db-4af2-97ba-2eca487a89ff sheet = ref = J28 pos = (27279, 9880) new_pos = (409185000, 148200000)
|
||||
J27 /9db45a8d-9df2-4c52-848e-fea1f8976859
|
||||
path = /9db45a8d-9df2-4c52-848e-fea1f8976859 sheet = ref = J27 pos = (26098, 1955) new_pos = (391470000, 29325000)
|
||||
J26 /00000000-0000-0000-0000-00006107636a
|
||||
path = /00000000-0000-0000-0000-00006107636a sheet = ref = J26 pos = (23380, 1968) new_pos = (350700000, 29520000)
|
||||
J25 /00000000-0000-0000-0000-000060f9eb64
|
||||
path = /00000000-0000-0000-0000-000060f9eb64 sheet = ref = J25 pos = (23380, -1409) new_pos = (350700000, -21135000)
|
||||
J24 /7de10c84-c49d-439c-bbae-04a805281938
|
||||
path = /7de10c84-c49d-439c-bbae-04a805281938 sheet = ref = J24 pos = (20294, 6578) new_pos = (304410000, 98670000)
|
||||
J23 /00000000-0000-0000-0000-000060cd9cc5
|
||||
path = /00000000-0000-0000-0000-000060cd9cc5 sheet = ref = J23 pos = (19532, 2108) new_pos = (292980000, 31620000)
|
||||
J22 /00000000-0000-0000-0000-0000612410fb
|
||||
path = /00000000-0000-0000-0000-0000612410fb sheet = ref = J22 pos = (17703, -1485) new_pos = (265545000, -22275000)
|
||||
J21 /1032ed2e-266e-481b-9db3-c9c3f44f11f5
|
||||
path = /1032ed2e-266e-481b-9db3-c9c3f44f11f5 sheet = ref = J21 pos = (15913, 5778) new_pos = (238695000, 86670000)
|
||||
J20 /0c0bbac4-ca7f-46e3-80eb-1606d06594c7
|
||||
path = /0c0bbac4-ca7f-46e3-80eb-1606d06594c7 sheet = ref = J20 pos = (12230, 18008) new_pos = (183450000, 270120000)
|
||||
J19 /00000000-0000-0000-0000-000061286113
|
||||
path = /00000000-0000-0000-0000-000061286113 sheet = ref = J19 pos = (11734, -2286) new_pos = (176010000, -34290000)
|
||||
J18 /f1c88291-405c-4acd-bd2b-667d6f1e4b9b
|
||||
path = /f1c88291-405c-4acd-bd2b-667d6f1e4b9b sheet = ref = J18 pos = (6972, 14871) new_pos = (104580000, 223065000)
|
||||
J17 /0e965621-2e06-4200-b31a-fd954d6b8d97
|
||||
path = /0e965621-2e06-4200-b31a-fd954d6b8d97 sheet = ref = J17 pos = (6642, 8915) new_pos = (99630000, 133725000)
|
||||
J16 /411b986a-7bed-466d-a7c3-0d0fa313ffb4
|
||||
path = /411b986a-7bed-466d-a7c3-0d0fa313ffb4 sheet = ref = J16 pos = (2324, 7899) new_pos = (34860000, 118485000)
|
||||
J15 /120d34b1-d8e2-4081-aab1-5aeda236e3d8
|
||||
path = /120d34b1-d8e2-4081-aab1-5aeda236e3d8 sheet = ref = J15 pos = (2324, 7645) new_pos = (34860000, 114675000)
|
||||
J14 /2b90b1f6-d639-4825-9b90-cd199385330e
|
||||
path = /2b90b1f6-d639-4825-9b90-cd199385330e sheet = ref = J14 pos = (-1143, 5588) new_pos = (-17145000, 83820000)
|
||||
J13 /21538172-7710-4aea-a95f-c002bc6fb600
|
||||
path = /21538172-7710-4aea-a95f-c002bc6fb600 sheet = ref = J13 pos = (-1143, 5334) new_pos = (-17145000, 80010000)
|
||||
J12 /e00fc69a-c8b1-4085-8487-54bc7626db71
|
||||
path = /e00fc69a-c8b1-4085-8487-54bc7626db71 sheet = ref = J12 pos = (-1143, 5080) new_pos = (-17145000, 76200000)
|
||||
J11 /33ca0e4c-0eb9-4e3c-bb6a-12a7463f509a
|
||||
path = /33ca0e4c-0eb9-4e3c-bb6a-12a7463f509a sheet = ref = J11 pos = (-1143, 4826) new_pos = (-17145000, 72390000)
|
||||
J10 /68fffa8a-6e9e-4d44-9a2d-fa1adac8e34f
|
||||
path = /68fffa8a-6e9e-4d44-9a2d-fa1adac8e34f sheet = ref = J10 pos = (-1143, 4572) new_pos = (-17145000, 68580000)
|
||||
J9 /d30f4cf9-d160-4c5a-a331-bc01cb316d1f
|
||||
path = /d30f4cf9-d160-4c5a-a331-bc01cb316d1f sheet = ref = J9 pos = (-1143, 4318) new_pos = (-17145000, 64770000)
|
||||
J8 /43dc25fa-cc1a-4f75-9dc4-e1bcbb108f93
|
||||
path = /43dc25fa-cc1a-4f75-9dc4-e1bcbb108f93 sheet = ref = J8 pos = (-5359, 8064) new_pos = (-80385000, 120960000)
|
||||
J7 /d1027741-8cbc-48bd-b373-5719dfd179e8
|
||||
path = /d1027741-8cbc-48bd-b373-5719dfd179e8 sheet = ref = J7 pos = (-5549, 8064) new_pos = (-83235000, 120960000)
|
||||
J6 /c6877987-287c-43d4-8206-b8997de2056c
|
||||
path = /c6877987-287c-43d4-8206-b8997de2056c sheet = ref = J6 pos = (-5588, 10452) new_pos = (-83820000, 156780000)
|
||||
J5 /30ee9aa9-870e-4bf8-a397-872828efd6e3
|
||||
path = /30ee9aa9-870e-4bf8-a397-872828efd6e3 sheet = ref = J5 pos = (-5588, 10198) new_pos = (-83820000, 152970000)
|
||||
J4 /9e78e83b-34c3-404a-bfdd-081d96c1cb53
|
||||
path = /9e78e83b-34c3-404a-bfdd-081d96c1cb53 sheet = ref = J4 pos = (-5588, 9944) new_pos = (-83820000, 149160000)
|
||||
J3 /b5ba6bf3-dbc9-458e-8aaf-b34c2d1d9610
|
||||
path = /b5ba6bf3-dbc9-458e-8aaf-b34c2d1d9610 sheet = ref = J3 pos = (-5588, 9690) new_pos = (-83820000, 145350000)
|
||||
J2 /9c1ca373-5a52-42eb-815b-ee5695f28642
|
||||
path = /9c1ca373-5a52-42eb-815b-ee5695f28642 sheet = ref = J2 pos = (-5740, 8064) new_pos = (-86100000, 120960000)
|
||||
J1 /d4c38100-f103-4bdc-9259-be7f90bf1774
|
||||
path = /d4c38100-f103-4bdc-9259-be7f90bf1774 sheet = ref = J1 pos = (-5918, 8064) new_pos = (-88770000, 120960000)
|
||||
D10 /00000000-0000-0000-0000-000060dc099d
|
||||
path = /00000000-0000-0000-0000-000060dc099d sheet = ref = D10 pos = (25958, 4089) new_pos = (389370000, 61335000)
|
||||
D9 /00000000-0000-0000-0000-000058c46522
|
||||
path = /00000000-0000-0000-0000-000058c46522 sheet = ref = D9 pos = (25120, 9626) new_pos = (376800000, 144390000)
|
||||
D8 /00000000-0000-0000-0000-000059098d4d
|
||||
path = /00000000-0000-0000-0000-000059098d4d sheet = ref = D8 pos = (24726, 13995) new_pos = (370890000, 209925000)
|
||||
D7 /0c206d9e-ad40-4802-9126-a0047f02ad9f
|
||||
path = /0c206d9e-ad40-4802-9126-a0047f02ad9f sheet = ref = D7 pos = (23507, 6489) new_pos = (352605000, 97335000)
|
||||
D6 /00000000-0000-0000-0000-000060fd5c63
|
||||
path = /00000000-0000-0000-0000-000060fd5c63 sheet = ref = D6 pos = (21653, -3340) new_pos = (324795000, -50100000)
|
||||
D5 /8deb6efe-ded2-419d-8ccb-426109009fce
|
||||
path = /8deb6efe-ded2-419d-8ccb-426109009fce sheet = ref = D5 pos = (21234, 6451) new_pos = (318510000, 96765000)
|
||||
D4 /00000000-0000-0000-0000-000060cdd40b
|
||||
path = /00000000-0000-0000-0000-000060cdd40b sheet = ref = D4 pos = (20650, 3200) new_pos = (309750000, 48000000)
|
||||
D3 /00000000-0000-0000-0000-0000612bea7a
|
||||
path = /00000000-0000-0000-0000-0000612bea7a sheet = ref = D3 pos = (15773, -2781) new_pos = (236595000, -41715000)
|
||||
D2 /00000000-0000-0000-0000-00006112f2f0
|
||||
path = /00000000-0000-0000-0000-00006112f2f0 sheet = ref = D2 pos = (10464, -1549) new_pos = (156960000, -23235000)
|
||||
D1 /00000000-0000-0000-0000-00006113ab69
|
||||
path = /00000000-0000-0000-0000-00006113ab69 sheet = ref = D1 pos = (9753, -1549) new_pos = (146295000, -23235000)
|
||||
C28 /00000000-0000-0000-0000-0000617e4995
|
||||
path = /00000000-0000-0000-0000-0000617e4995 sheet = ref = C28 pos = (27406, 4089) new_pos = (411090000, 61335000)
|
||||
C27 /00000000-0000-0000-0000-000058c454f6
|
||||
path = /00000000-0000-0000-0000-000058c454f6 sheet = ref = C27 pos = (27228, 7162) new_pos = (408420000, 107430000)
|
||||
C26 /00000000-0000-0000-0000-000060db5d15
|
||||
path = /00000000-0000-0000-0000-000060db5d15 sheet = ref = C26 pos = (26720, 4089) new_pos = (400800000, 61335000)
|
||||
C22 /0d509690-880a-4aa6-a8fc-c86cc1739036
|
||||
path = /0d509690-880a-4aa6-a8fc-c86cc1739036 sheet = ref = C22 pos = (23507, 7251) new_pos = (352605000, 108765000)
|
||||
C19 /00000000-0000-0000-0000-000060db3611
|
||||
path = /00000000-0000-0000-0000-000060db3611 sheet = ref = C19 pos = (22402, 3581) new_pos = (336030000, 53715000)
|
||||
C18 /00000000-0000-0000-0000-0000612d24d1
|
||||
path = /00000000-0000-0000-0000-0000612d24d1 sheet = ref = C18 pos = (22402, 2057) new_pos = (336030000, 30855000)
|
||||
C13 /86243f82-6155-4a79-88f4-d438eb21fd49
|
||||
path = /86243f82-6155-4a79-88f4-d438eb21fd49 sheet = ref = C13 pos = (14389, 6070) new_pos = (215835000, 91050000)
|
||||
C12 /4d8352aa-3c5c-4a77-99ef-9ce7e4432c18
|
||||
path = /4d8352aa-3c5c-4a77-99ef-9ce7e4432c18 sheet = ref = C12 pos = (14389, 5029) new_pos = (215835000, 75435000)
|
||||
C3 /ff8d3de2-57b9-4270-9d92-8830b2f70749
|
||||
path = /ff8d3de2-57b9-4270-9d92-8830b2f70749 sheet = ref = C3 pos = (-3606, 11544) new_pos = (-54090000, 173160000)
|
||||
C1 /b2d49f58-778b-49f0-913f-b059394ebf6e
|
||||
path = /b2d49f58-778b-49f0-913f-b059394ebf6e sheet = ref = C1 pos = (-5638, 11544) new_pos = (-84570000, 173160000)
|
||||
BZ1 /2f8307e9-7273-44a1-9448-22311ed6aff7
|
||||
path = /2f8307e9-7273-44a1-9448-22311ed6aff7 sheet = ref = BZ1 pos = (16306, 18034) new_pos = (244590000, 270510000)
|
||||
3253
F3:F303/CANbus4BTA/kicad/stm32-cache.kicad_sym
Normal file
3253
F3:F303/CANbus4BTA/kicad/stm32-cache.kicad_sym
Normal file
File diff suppressed because it is too large
Load Diff
2615
F3:F303/CANbus4BTA/kicad/stm32-rescue.kicad_sym
Normal file
2615
F3:F303/CANbus4BTA/kicad/stm32-rescue.kicad_sym
Normal file
File diff suppressed because it is too large
Load Diff
257
F3:F303/CANbus4BTA/kicad/stm32.csv
Normal file
257
F3:F303/CANbus4BTA/kicad/stm32.csv
Normal file
@ -0,0 +1,257 @@
|
||||
"Source:","/home/eddy/Docs/SAO/BTA/NEW_control_system/InsteadOfPEP/CANbus4BTA/kicad/stm32.kicad_sch"
|
||||
"Date:","Вт 22 ноя 2022 12:54:52"
|
||||
"Tool:","Eeschema 6.0.5"
|
||||
"Generator:","/usr/local/share/kicad/plugins/bom_csv_grouped_by_value.py"
|
||||
"Component Count:","155"
|
||||
|
||||
"Individual Components:"
|
||||
|
||||
"Item","Qty","Reference(s)","Value","LibPart","Footprint","Datasheet","Manufacturer"
|
||||
"","","BZ1","Buzzer 3.3V","Device:Buzzer","Buzzer_Beeper:Buzzer_12x9.5RM7.6","~",""
|
||||
"","","C1","1u","Device:C_Small","Capacitor_SMD:C_0805_2012Metric_Pad1.18x1.45mm_HandSolder","~",""
|
||||
"","","C2","0.1","stm32-rescue:C","Capacitor_SMD:C_0603_1608Metric_Pad1.08x0.95mm_HandSolder","",""
|
||||
"","","C3","1u","Device:C_Small","Capacitor_SMD:C_0805_2012Metric_Pad1.18x1.45mm_HandSolder","~",""
|
||||
"","","C4","0.1","stm32-rescue:C","Capacitor_SMD:C_0603_1608Metric_Pad1.08x0.95mm_HandSolder","",""
|
||||
"","","C5","0.1","stm32-rescue:C","Capacitor_SMD:C_0603_1608Metric_Pad1.08x0.95mm_HandSolder","",""
|
||||
"","","C6","12","stm32-rescue:C","Capacitor_SMD:C_0603_1608Metric_Pad1.08x0.95mm_HandSolder","",""
|
||||
"","","C7","0.1","stm32-rescue:C","Capacitor_SMD:C_0603_1608Metric_Pad1.08x0.95mm_HandSolder","",""
|
||||
"","","C8","12","stm32-rescue:C","Capacitor_SMD:C_0603_1608Metric_Pad1.08x0.95mm_HandSolder","",""
|
||||
"","","C9","0.1","stm32-rescue:C","Capacitor_SMD:C_0603_1608Metric_Pad1.08x0.95mm_HandSolder","",""
|
||||
"","","C10","0.1","stm32-rescue:C","Capacitor_SMD:C_0603_1608Metric_Pad1.08x0.95mm_HandSolder","",""
|
||||
"","","C11","0.1","stm32-rescue:C","Capacitor_SMD:C_0603_1608Metric_Pad1.08x0.95mm_HandSolder","",""
|
||||
"","","C12","0.1","Device:C_Small","Capacitor_SMD:C_0603_1608Metric_Pad1.08x0.95mm_HandSolder","~",""
|
||||
"","","C13","0.1","Device:C_Small","Capacitor_SMD:C_0603_1608Metric_Pad1.08x0.95mm_HandSolder","~",""
|
||||
"","","C14","0.1","stm32-rescue:C","Capacitor_SMD:C_0603_1608Metric_Pad1.08x0.95mm_HandSolder","",""
|
||||
"","","C15","1u","stm32-rescue:C","Capacitor_SMD:C_0805_2012Metric_Pad1.18x1.45mm_HandSolder","",""
|
||||
"","","C16","0.1","stm32-rescue:C","Capacitor_SMD:C_0603_1608Metric_Pad1.08x0.95mm_HandSolder","",""
|
||||
"","","C17","0.1","Device:C","Capacitor_SMD:C_0603_1608Metric_Pad1.08x0.95mm_HandSolder","~",""
|
||||
"","","C18","100u 35V","Device:C_Polarized","Capacitor_THT:CP_Radial_D8.0mm_P3.50mm","~",""
|
||||
"","","C19","100u 35V","Device:C_Polarized","Capacitor_THT:CP_Radial_D8.0mm_P3.50mm","~",""
|
||||
"","","C20","0.1","stm32-rescue:C","Capacitor_SMD:C_0603_1608Metric_Pad1.08x0.95mm_HandSolder","",""
|
||||
"","","C21","0.1","stm32-rescue:C","Capacitor_SMD:C_0603_1608Metric_Pad1.08x0.95mm_HandSolder","",""
|
||||
"","","C22","1F","stm32-rescue:CP","Capacitor_THT:C_Rect_L18.0mm_W8.0mm_P15.00mm_FKS3_FKP3","",""
|
||||
"","","C23","1u","stm32-rescue:C","Capacitor_SMD:C_0805_2012Metric_Pad1.18x1.45mm_HandSolder","",""
|
||||
"","","C24","0.1","stm32-rescue:C","Capacitor_SMD:C_0603_1608Metric_Pad1.08x0.95mm_HandSolder","",""
|
||||
"","","C25","0.1","stm32-rescue:C","Capacitor_SMD:C_0603_1608Metric_Pad1.08x0.95mm_HandSolder","",""
|
||||
"","","C26","47u 10V","Device:C_Polarized","Capacitor_Tantalum_SMD:CP_EIA-6032-28_Kemet-C_Pad2.25x2.35mm_HandSolder","~",""
|
||||
"","","C27","47u 6V","stm32-rescue:CP","Capacitor_Tantalum_SMD:CP_EIA-3216-18_Kemet-A_Pad1.58x1.35mm_HandSolder","",""
|
||||
"","","C28","100u 16V","Device:C_Polarized","Capacitor_THT:CP_Radial_D8.0mm_P3.50mm","~",""
|
||||
"","","C29","0.1","stm32-rescue:C","Capacitor_SMD:C_0603_1608Metric_Pad1.08x0.95mm_HandSolder","",""
|
||||
"","","D1","CESD3V3","Device:D","Diode_SMD:D_0805_2012Metric_Pad1.15x1.40mm_HandSolder","~",""
|
||||
"","","D2","CESD3V3","Device:D","Diode_SMD:D_0805_2012Metric_Pad1.15x1.40mm_HandSolder","~",""
|
||||
"","","D3","D","Device:D","Diode_SMD:D_0805_2012Metric_Pad1.15x1.40mm_HandSolder","~",""
|
||||
"","","D4","MM3Z7V5","Device:D_Zener","Diode_SMD:D_0805_2012Metric_Pad1.15x1.40mm_HandSolder","~",""
|
||||
"","","D5","MBRS130L","Device:D_Schottky","Diode_SMD:D_SMB_Handsoldering","~",""
|
||||
"","","D6","SS14","Device:D_Schottky","Diode_SMD:D_SMA-SMB_Universal_Handsoldering","~",""
|
||||
"","","D7","MBRS130L","Device:D_Schottky","Diode_SMD:D_SMB_Handsoldering","~",""
|
||||
"","","D8","USB6B1","elements:USB6B1","Package_SO:SOIC-8_3.9x4.9mm_P1.27mm","",""
|
||||
"","","D9","PESD1CAN","elements:PESD1CAN","Package_TO_SOT_SMD:SOT-23","",""
|
||||
"","","D10","1N5822","Device:D","Diode_THT:D_DO-201_P3.81mm_Vertical_AnodeUp","~",""
|
||||
"","","J1","0","Connector:Conn_01x01_Female","Connector_PinSocket_2.54mm:PinSocket_1x01_P2.54mm_Vertical","~",""
|
||||
"","","J2","1","Connector:Conn_01x01_Female","Connector_PinSocket_2.54mm:PinSocket_1x01_P2.54mm_Vertical","~",""
|
||||
"","","J3","4","Connector:Conn_01x01_Female","Connector_PinSocket_2.54mm:PinSocket_1x01_P2.54mm_Vertical","~",""
|
||||
"","","J4","5","Connector:Conn_01x01_Female","Connector_PinSocket_2.54mm:PinSocket_1x01_P2.54mm_Vertical","~",""
|
||||
"","","J5","6","Connector:Conn_01x01_Female","Connector_PinSocket_2.54mm:PinSocket_1x01_P2.54mm_Vertical","~",""
|
||||
"","","J6","7","Connector:Conn_01x01_Female","Connector_PinSocket_2.54mm:PinSocket_1x01_P2.54mm_Vertical","~",""
|
||||
"","","J7","2","Connector:Conn_01x01_Female","Connector_PinSocket_2.54mm:PinSocket_1x01_P2.54mm_Vertical","~",""
|
||||
"","","J8","3","Connector:Conn_01x01_Female","Connector_PinSocket_2.54mm:PinSocket_1x01_P2.54mm_Vertical","~",""
|
||||
"","","J9","PROG","Connector:Conn_01x06_Female","Connector_PinSocket_1.27mm:PinSocket_1x06_P1.27mm_Vertical","~",""
|
||||
"","","J10","RelayB","Connector:Screw_Terminal_01x03","TerminalBlock_Phoenix:TerminalBlock_Phoenix_MKDS-1,5-3_1x03_P5.00mm_Horizontal","~",""
|
||||
"","","J15","PB10","Connector:Conn_01x01_Female","Connector_PinSocket_2.54mm:PinSocket_1x01_P2.54mm_Vertical","~",""
|
||||
"","","J16","PB11","Connector:Conn_01x01_Female","Connector_PinSocket_2.54mm:PinSocket_1x01_P2.54mm_Vertical","~",""
|
||||
"","","J17","PA15","Connector:Conn_01x01_Female","Connector_PinSocket_2.54mm:PinSocket_1x01_P2.54mm_Vertical","~",""
|
||||
"","","J18","SSI/422","Connector:DB9_Female","Connector_Dsub:DSUB-9_Female_Horizontal_P2.77x2.84mm_EdgePinOffset4.94mm_Housed_MountingHolesOffset7.48mm"," ~",""
|
||||
"","","J19","I2C","Connector:Conn_01x04_Female","Connector_JST:JST_PH_B4B-PH-K_1x04_P2.00mm_Vertical","~",""
|
||||
"","","J20","SPI","Connector:Screw_Terminal_01x06","TerminalBlock_Phoenix:TerminalBlock_Phoenix_MKDS-1,5-6_1x06_P5.00mm_Horizontal","~",""
|
||||
"","","J21","Ain","Connector:Screw_Terminal_01x03","TerminalBlock_Phoenix:TerminalBlock_Phoenix_MKDS-1,5-3_1x03_P5.00mm_Horizontal","~",""
|
||||
"","","J22","PWMout","Connector:Conn_01x03_Male","Connector_JST:JST_PH_B3B-PH-K_1x03_P2.00mm_Vertical","~",""
|
||||
"","","J23","Vin","Connector:Screw_Terminal_01x02","TerminalBlock_Phoenix:TerminalBlock_Phoenix_MKDS-1,5-2_1x02_P5.00mm_Horizontal","~",""
|
||||
"","","J24","Power","Connector:Conn_01x04_Female","Connector_JST:JST_PH_B4B-PH-K_1x04_P2.00mm_Vertical","~",""
|
||||
"","","J25","RelayA","Connector:Screw_Terminal_01x03","TerminalBlock_Phoenix:TerminalBlock_Phoenix_MKDS-1,5-3_1x03_P5.00mm_Horizontal","~",""
|
||||
"","","J26","Vout","Connector:Screw_Terminal_01x02","TerminalBlock_Phoenix:TerminalBlock_Phoenix_MKDS-1,5-2_1x02_P5.00mm_Horizontal","~",""
|
||||
"","","J27","5Vout","Connector:Screw_Terminal_01x02","TerminalBlock_Phoenix:TerminalBlock_Phoenix_MKDS-1,5-2_1x02_P5.00mm_Horizontal","~",""
|
||||
"","","J28","CAN","Connector:DB9_Female","Connector_Dsub:DSUB-9_Female_Horizontal_P2.77x2.84mm_EdgePinOffset4.94mm_Housed_MountingHolesOffset7.48mm"," ~",""
|
||||
"","","J29","USB_B","Connector:USB_B","Connector_USB:USB_B_OST_USB-B1HSxx_Horizontal"," ~",""
|
||||
"","","J30","EXT_IN","Connector:Screw_Terminal_01x10","Connector_Phoenix_MC_HighVoltage:PhoenixContact_MC_1,5_10-GF-5.08_1x10_P5.08mm_Horizontal_ThreadedFlange","~",""
|
||||
"","","J38","PA8","Connector:Conn_01x01_Female","Connector_PinSocket_2.54mm:PinSocket_1x01_P2.54mm_Vertical","~",""
|
||||
"","","JP1","Tx","Jumper:Jumper_3_Open","Connector_PinHeader_2.54mm:PinHeader_1x03_P2.54mm_Vertical","~",""
|
||||
"","","JP2","Rx","Jumper:Jumper_3_Open","Connector_PinHeader_2.54mm:PinHeader_1x03_P2.54mm_Vertical","~",""
|
||||
"","","JP3","SSI_VR","Jumper:Jumper_3_Open","Connector_PinHeader_2.54mm:PinHeader_1x03_P2.54mm_Vertical","~",""
|
||||
"","","JP4","SSI_Z","Jumper:Jumper_3_Open","Connector_PinHeader_2.54mm:PinHeader_1x03_P2.54mm_Vertical","~",""
|
||||
"","","K1","HF115F-024-2ZS4","Relay:FINDER-41.52","Relay_THT:Relay_DPDT_Finder_40.52","http://gfinder.findernet.com/assets/Series/357/S41EN.pdf",""
|
||||
"","","L1","100u","Device:L","Inductor_THT:L_Toroid_Horizontal_D6.5mm_P10.00mm_Diameter7-5mm_Amidon-T25","~",""
|
||||
"","","P1","Hole","stm32-rescue:CONN_01X01","my_footprints:Hole_3mm","",""
|
||||
"","","P2","Hole","stm32-rescue:CONN_01X01","my_footprints:Hole_3mm","",""
|
||||
"","","P3","Hole","stm32-rescue:CONN_01X01","my_footprints:Hole_3mm","",""
|
||||
"","","P4","Hole","stm32-rescue:CONN_01X01","my_footprints:Hole_3mm","",""
|
||||
"","","P5","Hole","stm32-rescue:CONN_01X01","my_footprints:Hole_3mm","",""
|
||||
"","","P6","Hole","stm32-rescue:CONN_01X01","my_footprints:Hole_3mm","",""
|
||||
"","","Q1","B0505S-1W","elements:B0505S","my_footprints:B0x0xS","",""
|
||||
"","","Q2","VRB2405YMD","elements:VRB2405YMD","my_footprints:VRB2405","",""
|
||||
"","","Q3","B0505S-2W","elements:B0505S-2W","my_footprints:B0505S-2W","",""
|
||||
"","","Q4","SI2300","Device:Q_NMOS_GSD","Package_TO_SOT_SMD:SOT-23_Handsoldering","~",""
|
||||
"","","Q5","SI2300","Device:Q_NMOS_GSD","Package_TO_SOT_SMD:SOT-23_Handsoldering","~",""
|
||||
"","","Q6","SI2308","Device:Q_NMOS_GSD","Package_TO_SOT_SMD:SOT-23_Handsoldering","~",""
|
||||
"","","Q7","IRF9310","elements:IRF9310","Package_SO:SO-8_3.9x4.9mm_P1.27mm","~",""
|
||||
"","","Q8","B0505S-1W","elements:B0505S","my_footprints:B0x0xS","",""
|
||||
"","","R1","22","Device:R","Resistor_SMD:R_0603_1608Metric_Pad0.98x0.95mm_HandSolder","~",""
|
||||
"","","R2","10k","Device:R","Resistor_SMD:R_0603_1608Metric_Pad0.98x0.95mm_HandSolder","~",""
|
||||
"","","R3","4k7","Device:R","Resistor_SMD:R_0603_1608Metric_Pad0.98x0.95mm_HandSolder","~",""
|
||||
"","","R4","4k7","Device:R","Resistor_SMD:R_0603_1608Metric_Pad0.98x0.95mm_HandSolder","~",""
|
||||
"","","R5","100","Device:R","Resistor_SMD:R_0603_1608Metric_Pad0.98x0.95mm_HandSolder","~",""
|
||||
"","","R6","100","Device:R","Resistor_SMD:R_0603_1608Metric_Pad0.98x0.95mm_HandSolder","~",""
|
||||
"","","R7","330","Device:R","Resistor_SMD:R_0603_1608Metric_Pad0.98x0.95mm_HandSolder","~",""
|
||||
"","","R8","91k","Device:R","Resistor_SMD:R_0603_1608Metric_Pad0.98x0.95mm_HandSolder","~",""
|
||||
"","","R9","10k","Device:R","Resistor_SMD:R_0603_1608Metric_Pad0.98x0.95mm_HandSolder","~",""
|
||||
"","","R10","10k","Device:R","Resistor_SMD:R_0603_1608Metric_Pad0.98x0.95mm_HandSolder","~",""
|
||||
"","","R11","330","Device:R","Resistor_SMD:R_0603_1608Metric_Pad0.98x0.95mm_HandSolder","~",""
|
||||
"","","R12","10k","Device:R","Resistor_SMD:R_0603_1608Metric_Pad0.98x0.95mm_HandSolder","~",""
|
||||
"","","R13","10k","Device:R","Resistor_SMD:R_0603_1608Metric_Pad0.98x0.95mm_HandSolder","~",""
|
||||
"","","R14","10k","Device:R","Resistor_SMD:R_0603_1608Metric_Pad0.98x0.95mm_HandSolder","~",""
|
||||
"","","R15","10k","Device:R","Resistor_SMD:R_0603_1608Metric_Pad0.98x0.95mm_HandSolder","~",""
|
||||
"","","R16","10k","Device:R","Resistor_SMD:R_0603_1608Metric_Pad0.98x0.95mm_HandSolder","~",""
|
||||
"","","R17","10k","Device:R","Resistor_SMD:R_0603_1608Metric_Pad0.98x0.95mm_HandSolder","~",""
|
||||
"","","R18","330","Device:R","Resistor_SMD:R_0603_1608Metric_Pad0.98x0.95mm_HandSolder","~",""
|
||||
"","","R19","22","stm32-rescue:R","Resistor_SMD:R_0603_1608Metric_Pad0.98x0.95mm_HandSolder","",""
|
||||
"","","R20","22","stm32-rescue:R","Resistor_SMD:R_0603_1608Metric_Pad0.98x0.95mm_HandSolder","",""
|
||||
"","","R21","4k7","Device:R","Resistor_SMD:R_0603_1608Metric_Pad0.98x0.95mm_HandSolder","~",""
|
||||
"","","R22","7.5","Device:R","Resistor_SMD:R_2010_5025Metric_Pad1.40x2.65mm_HandSolder","~",""
|
||||
"","","R23","7.5","Device:R","Resistor_SMD:R_2010_5025Metric_Pad1.40x2.65mm_HandSolder","~",""
|
||||
"","","R24","7.5","Device:R","Resistor_SMD:R_2010_5025Metric_Pad1.40x2.65mm_HandSolder","~",""
|
||||
"","","R25","7.5","Device:R","Resistor_SMD:R_2010_5025Metric_Pad1.40x2.65mm_HandSolder","~",""
|
||||
"","","R26","7.5","Device:R","Resistor_SMD:R_2010_5025Metric_Pad1.40x2.65mm_HandSolder","~",""
|
||||
"","","R27","7.5","Device:R","Resistor_SMD:R_2010_5025Metric_Pad1.40x2.65mm_HandSolder","~",""
|
||||
"","","R28","120","stm32-rescue:R","Resistor_SMD:R_1210_3225Metric_Pad1.30x2.65mm_HandSolder","",""
|
||||
"","","R29","22","stm32-rescue:R","Resistor_SMD:R_0603_1608Metric_Pad0.98x0.95mm_HandSolder","",""
|
||||
"","","R30","22","stm32-rescue:R","Resistor_SMD:R_0603_1608Metric_Pad0.98x0.95mm_HandSolder","",""
|
||||
"","","R31","360","Device:R","Resistor_SMD:R_0603_1608Metric_Pad0.98x0.95mm_HandSolder","~",""
|
||||
"","","R32","360","Device:R","Resistor_SMD:R_0603_1608Metric_Pad0.98x0.95mm_HandSolder","~",""
|
||||
"","","R33","360","Device:R","Resistor_SMD:R_0603_1608Metric_Pad0.98x0.95mm_HandSolder","~",""
|
||||
"","","R34","360","Device:R","Resistor_SMD:R_0603_1608Metric_Pad0.98x0.95mm_HandSolder","~",""
|
||||
"","","R35","360","Device:R","Resistor_SMD:R_0603_1608Metric_Pad0.98x0.95mm_HandSolder","~",""
|
||||
"","","R36","360","Device:R","Resistor_SMD:R_0603_1608Metric_Pad0.98x0.95mm_HandSolder","~",""
|
||||
"","","R37","360","Device:R","Resistor_SMD:R_0603_1608Metric_Pad0.98x0.95mm_HandSolder","~",""
|
||||
"","","R38","360","Device:R","Resistor_SMD:R_0603_1608Metric_Pad0.98x0.95mm_HandSolder","~",""
|
||||
"","","RV1","50k","Device:R_Potentiometer_Small","Potentiometer_THT:Potentiometer_Bourns_3296W_Vertical","~",""
|
||||
"","","RV2","50k","Device:R_Potentiometer_Small","Potentiometer_THT:Potentiometer_Bourns_3296W_Vertical","~",""
|
||||
"","","SW1","SW_Push","Switch:SW_Push","Button_Switch_SMD:SW_SPST_FSMSM","~",""
|
||||
"","","SW2","SW_DIP_x04","Switch:SW_DIP_x04","Button_Switch_THT:SW_DIP_SPSTx04_Slide_9.78x12.34mm_W7.62mm_P2.54mm","~",""
|
||||
"","","SW3","SW_Push","Switch:SW_Push","Button_Switch_SMD:SW_SPST_FSMSM","~",""
|
||||
"","","SW4","SW_DIP_x01","Switch:SW_DIP_x01","Button_Switch_THT:SW_DIP_SPSTx01_Slide_6.7x4.1mm_W7.62mm_P2.54mm_LowProfile","~",""
|
||||
"","","TP1","4.6V","Connector:TestPoint","Connector_PinSocket_2.54mm:PinSocket_1x01_P2.54mm_Vertical","~",""
|
||||
"","","TP2","Gnd","Connector:TestPoint","Connector_PinSocket_2.54mm:PinSocket_1x01_P2.54mm_Vertical","~",""
|
||||
"","","TP3","Gnd","Connector:TestPoint","Connector_PinSocket_2.54mm:PinSocket_1x01_P2.54mm_Vertical","~",""
|
||||
"","","TP4","3.3V","Connector:TestPoint","Connector_PinSocket_2.54mm:PinSocket_1x01_P2.54mm_Vertical","~",""
|
||||
"","","TP5","5V","Connector:TestPoint","Connector_PinSocket_2.54mm:PinSocket_1x01_P2.54mm_Vertical","~",""
|
||||
"","","U1","74HC4051","74xx:74HC4051","Package_SO:SOIC-16_3.9x9.9mm_P1.27mm","http://www.ti.com/lit/ds/symlink/cd74hc4051.pdf",""
|
||||
"","","U2","74HC4051","74xx:74HC4051","Package_SO:SOIC-16_3.9x9.9mm_P1.27mm","http://www.ti.com/lit/ds/symlink/cd74hc4051.pdf",""
|
||||
"","","U3","ISO3086","iso3086:ISO3086","Package_SO:SOIC-16W_7.5x10.3mm_P1.27mm","",""
|
||||
"","","U4","STM32F072C8Tx","MCU_ST_STM32F0:STM32F072C8Tx","Package_QFP:LQFP-48_7x7mm_P0.5mm","http://www.st.com/st-web-ui/static/active/en/resource/technical/document/datasheet/DM00090510.pdf",""
|
||||
"","","U5","ISO7241C","Isolator:ISO7341C","Package_SO:SOIC-16W_7.5x10.3mm_P1.27mm","http://www.ti.com/general/docs/lit/getliterature.tsp?genericPartNumber=iso7341c&fileType=pdf",""
|
||||
"","","U6","IP4220CZ6","Power_Protection:USBLC6-4SC6","Package_TO_SOT_SMD:SOT-23-6","https://www.st.com/resource/en/datasheet/usblc6-4.pdf",""
|
||||
"","","U7","ADUM4160","Interface_USB:ADUM4160","Package_SO:SOIC-16W_7.5x10.3mm_P1.27mm","https://www.analog.com/media/en/technical-documentation/data-sheets/ADuM4160.pdf",""
|
||||
"","","U8","ISO1050DUB","Interface_CAN_LIN:ISO1050DUB","Package_SO:SOP-8_6.62x9.15mm_P2.54mm","http://www.ti.com/lit/ds/symlink/iso1050.pdf",""
|
||||
"","","U9","LM2576-5.0","vreg:LM2576","Package_TO_SOT_THT:TO-220-5_P3.4x3.7mm_StaggerEven_Lead3.8mm_Vertical","","Texas Instruments"
|
||||
"","","U10","LM1117-3.3","Regulator_Linear:LM1117-3.3","Package_TO_SOT_SMD:SOT-223-3_TabPin2","http://www.ti.com/lit/ds/symlink/lm1117.pdf",""
|
||||
"","","U11","PC817","Isolator:PC817","Package_DIP:DIP-4_W7.62mm","http://www.soselectronic.cz/a_info/resource/d/pc817.pdf",""
|
||||
"","","U12","PC817","Isolator:PC817","Package_DIP:DIP-4_W7.62mm","http://www.soselectronic.cz/a_info/resource/d/pc817.pdf",""
|
||||
"","","U13","PC817","Isolator:PC817","Package_DIP:DIP-4_W7.62mm","http://www.soselectronic.cz/a_info/resource/d/pc817.pdf",""
|
||||
"","","U14","PC817","Isolator:PC817","Package_DIP:DIP-4_W7.62mm","http://www.soselectronic.cz/a_info/resource/d/pc817.pdf",""
|
||||
"","","U15","PC817","Isolator:PC817","Package_DIP:DIP-4_W7.62mm","http://www.soselectronic.cz/a_info/resource/d/pc817.pdf",""
|
||||
"","","U16","PC817","Isolator:PC817","Package_DIP:DIP-4_W7.62mm","http://www.soselectronic.cz/a_info/resource/d/pc817.pdf",""
|
||||
"","","U17","PC817","Isolator:PC817","Package_DIP:DIP-4_W7.62mm","http://www.soselectronic.cz/a_info/resource/d/pc817.pdf",""
|
||||
"","","U18","PC817","Isolator:PC817","Package_DIP:DIP-4_W7.62mm","http://www.soselectronic.cz/a_info/resource/d/pc817.pdf",""
|
||||
"","","Y1","8MHz","Device:Crystal","Crystal:Crystal_HC49-U_Vertical","~",""
|
||||
|
||||
|
||||
|
||||
"Collated Components:"
|
||||
|
||||
"Item","Qty","Reference(s)","Value","LibPart","Footprint","Datasheet","Manufacturer"
|
||||
"1","1","BZ1","Buzzer 3.3V","Device:Buzzer","Buzzer_Beeper:Buzzer_12x9.5RM7.6","~",""
|
||||
"2","2","C1, C3","1u","Device:C_Small","Capacitor_SMD:C_0805_2012Metric_Pad1.18x1.45mm_HandSolder","~",""
|
||||
"3","15","C2, C4, C5, C7, C9, C10, C11, C14, C16, C17, C20, C21, C24, C25, C29","0.1","stm32-rescue:C","Capacitor_SMD:C_0603_1608Metric_Pad1.08x0.95mm_HandSolder","~",""
|
||||
"4","2","C6, C8","12","stm32-rescue:C","Capacitor_SMD:C_0603_1608Metric_Pad1.08x0.95mm_HandSolder","",""
|
||||
"5","2","C12, C13","0.1","Device:C_Small","Capacitor_SMD:C_0603_1608Metric_Pad1.08x0.95mm_HandSolder","~",""
|
||||
"6","2","C15, C23","1u","stm32-rescue:C","Capacitor_SMD:C_0805_2012Metric_Pad1.18x1.45mm_HandSolder","",""
|
||||
"7","2","C18, C19","100u 35V","Device:C_Polarized","Capacitor_THT:CP_Radial_D8.0mm_P3.50mm","~",""
|
||||
"8","1","C22","1F","stm32-rescue:CP","Capacitor_THT:C_Rect_L18.0mm_W8.0mm_P15.00mm_FKS3_FKP3","",""
|
||||
"9","1","C26","47u 10V","Device:C_Polarized","Capacitor_Tantalum_SMD:CP_EIA-6032-28_Kemet-C_Pad2.25x2.35mm_HandSolder","~",""
|
||||
"10","1","C27","47u 6V","stm32-rescue:CP","Capacitor_Tantalum_SMD:CP_EIA-3216-18_Kemet-A_Pad1.58x1.35mm_HandSolder","",""
|
||||
"11","1","C28","100u 16V","Device:C_Polarized","Capacitor_THT:CP_Radial_D8.0mm_P3.50mm","~",""
|
||||
"12","2","D1, D2","CESD3V3","Device:D","Diode_SMD:D_0805_2012Metric_Pad1.15x1.40mm_HandSolder","~",""
|
||||
"13","1","D3","D","Device:D","Diode_SMD:D_0805_2012Metric_Pad1.15x1.40mm_HandSolder","~",""
|
||||
"14","1","D4","MM3Z7V5","Device:D_Zener","Diode_SMD:D_0805_2012Metric_Pad1.15x1.40mm_HandSolder","~",""
|
||||
"15","2","D5, D7","MBRS130L","Device:D_Schottky","Diode_SMD:D_SMB_Handsoldering","~",""
|
||||
"16","1","D6","SS14","Device:D_Schottky","Diode_SMD:D_SMA-SMB_Universal_Handsoldering","~",""
|
||||
"17","1","D8","USB6B1","elements:USB6B1","Package_SO:SOIC-8_3.9x4.9mm_P1.27mm","",""
|
||||
"18","1","D9","PESD1CAN","elements:PESD1CAN","Package_TO_SOT_SMD:SOT-23","",""
|
||||
"19","1","D10","1N5822","Device:D","Diode_THT:D_DO-201_P3.81mm_Vertical_AnodeUp","~",""
|
||||
"20","1","J1","0","Connector:Conn_01x01_Female","Connector_PinSocket_2.54mm:PinSocket_1x01_P2.54mm_Vertical","~",""
|
||||
"21","1","J2","1","Connector:Conn_01x01_Female","Connector_PinSocket_2.54mm:PinSocket_1x01_P2.54mm_Vertical","~",""
|
||||
"22","1","J3","4","Connector:Conn_01x01_Female","Connector_PinSocket_2.54mm:PinSocket_1x01_P2.54mm_Vertical","~",""
|
||||
"23","1","J4","5","Connector:Conn_01x01_Female","Connector_PinSocket_2.54mm:PinSocket_1x01_P2.54mm_Vertical","~",""
|
||||
"24","1","J5","6","Connector:Conn_01x01_Female","Connector_PinSocket_2.54mm:PinSocket_1x01_P2.54mm_Vertical","~",""
|
||||
"25","1","J6","7","Connector:Conn_01x01_Female","Connector_PinSocket_2.54mm:PinSocket_1x01_P2.54mm_Vertical","~",""
|
||||
"26","1","J7","2","Connector:Conn_01x01_Female","Connector_PinSocket_2.54mm:PinSocket_1x01_P2.54mm_Vertical","~",""
|
||||
"27","1","J8","3","Connector:Conn_01x01_Female","Connector_PinSocket_2.54mm:PinSocket_1x01_P2.54mm_Vertical","~",""
|
||||
"28","1","J9","PROG","Connector:Conn_01x06_Female","Connector_PinSocket_1.27mm:PinSocket_1x06_P1.27mm_Vertical","~",""
|
||||
"29","1","J10","RelayB","Connector:Screw_Terminal_01x03","TerminalBlock_Phoenix:TerminalBlock_Phoenix_MKDS-1,5-3_1x03_P5.00mm_Horizontal","~",""
|
||||
"30","1","J15","PB10","Connector:Conn_01x01_Female","Connector_PinSocket_2.54mm:PinSocket_1x01_P2.54mm_Vertical","~",""
|
||||
"31","1","J16","PB11","Connector:Conn_01x01_Female","Connector_PinSocket_2.54mm:PinSocket_1x01_P2.54mm_Vertical","~",""
|
||||
"32","1","J17","PA15","Connector:Conn_01x01_Female","Connector_PinSocket_2.54mm:PinSocket_1x01_P2.54mm_Vertical","~",""
|
||||
"33","1","J18","SSI/422","Connector:DB9_Female","Connector_Dsub:DSUB-9_Female_Horizontal_P2.77x2.84mm_EdgePinOffset4.94mm_Housed_MountingHolesOffset7.48mm"," ~",""
|
||||
"34","1","J19","I2C","Connector:Conn_01x04_Female","Connector_JST:JST_PH_B4B-PH-K_1x04_P2.00mm_Vertical","~",""
|
||||
"35","1","J20","SPI","Connector:Screw_Terminal_01x06","TerminalBlock_Phoenix:TerminalBlock_Phoenix_MKDS-1,5-6_1x06_P5.00mm_Horizontal","~",""
|
||||
"36","1","J21","Ain","Connector:Screw_Terminal_01x03","TerminalBlock_Phoenix:TerminalBlock_Phoenix_MKDS-1,5-3_1x03_P5.00mm_Horizontal","~",""
|
||||
"37","1","J22","PWMout","Connector:Conn_01x03_Male","Connector_JST:JST_PH_B3B-PH-K_1x03_P2.00mm_Vertical","~",""
|
||||
"38","1","J23","Vin","Connector:Screw_Terminal_01x02","TerminalBlock_Phoenix:TerminalBlock_Phoenix_MKDS-1,5-2_1x02_P5.00mm_Horizontal","~",""
|
||||
"39","1","J24","Power","Connector:Conn_01x04_Female","Connector_JST:JST_PH_B4B-PH-K_1x04_P2.00mm_Vertical","~",""
|
||||
"40","1","J25","RelayA","Connector:Screw_Terminal_01x03","TerminalBlock_Phoenix:TerminalBlock_Phoenix_MKDS-1,5-3_1x03_P5.00mm_Horizontal","~",""
|
||||
"41","1","J26","Vout","Connector:Screw_Terminal_01x02","TerminalBlock_Phoenix:TerminalBlock_Phoenix_MKDS-1,5-2_1x02_P5.00mm_Horizontal","~",""
|
||||
"42","1","J27","5Vout","Connector:Screw_Terminal_01x02","TerminalBlock_Phoenix:TerminalBlock_Phoenix_MKDS-1,5-2_1x02_P5.00mm_Horizontal","~",""
|
||||
"43","1","J28","CAN","Connector:DB9_Female","Connector_Dsub:DSUB-9_Female_Horizontal_P2.77x2.84mm_EdgePinOffset4.94mm_Housed_MountingHolesOffset7.48mm"," ~",""
|
||||
"44","1","J29","USB_B","Connector:USB_B","Connector_USB:USB_B_OST_USB-B1HSxx_Horizontal"," ~",""
|
||||
"45","1","J30","EXT_IN","Connector:Screw_Terminal_01x10","Connector_Phoenix_MC_HighVoltage:PhoenixContact_MC_1,5_10-GF-5.08_1x10_P5.08mm_Horizontal_ThreadedFlange","~",""
|
||||
"46","1","J38","PA8","Connector:Conn_01x01_Female","Connector_PinSocket_2.54mm:PinSocket_1x01_P2.54mm_Vertical","~",""
|
||||
"47","1","JP1","Tx","Jumper:Jumper_3_Open","Connector_PinHeader_2.54mm:PinHeader_1x03_P2.54mm_Vertical","~",""
|
||||
"48","1","JP2","Rx","Jumper:Jumper_3_Open","Connector_PinHeader_2.54mm:PinHeader_1x03_P2.54mm_Vertical","~",""
|
||||
"49","1","JP3","SSI_VR","Jumper:Jumper_3_Open","Connector_PinHeader_2.54mm:PinHeader_1x03_P2.54mm_Vertical","~",""
|
||||
"50","1","JP4","SSI_Z","Jumper:Jumper_3_Open","Connector_PinHeader_2.54mm:PinHeader_1x03_P2.54mm_Vertical","~",""
|
||||
"51","1","K1","HF115F-024-2ZS4","Relay:FINDER-41.52","Relay_THT:Relay_DPDT_Finder_40.52","http://gfinder.findernet.com/assets/Series/357/S41EN.pdf",""
|
||||
"52","1","L1","100u","Device:L","Inductor_THT:L_Toroid_Horizontal_D6.5mm_P10.00mm_Diameter7-5mm_Amidon-T25","~",""
|
||||
"53","6","P1, P2, P3, P4, P5, P6","Hole","stm32-rescue:CONN_01X01","my_footprints:Hole_3mm","",""
|
||||
"54","2","Q1, Q8","B0505S-1W","elements:B0505S","my_footprints:B0x0xS","",""
|
||||
"55","1","Q2","VRB2405YMD","elements:VRB2405YMD","my_footprints:VRB2405","",""
|
||||
"56","1","Q3","B0505S-2W","elements:B0505S-2W","my_footprints:B0505S-2W","",""
|
||||
"57","2","Q4, Q5","SI2300","Device:Q_NMOS_GSD","Package_TO_SOT_SMD:SOT-23_Handsoldering","~",""
|
||||
"58","1","Q6","SI2308","Device:Q_NMOS_GSD","Package_TO_SOT_SMD:SOT-23_Handsoldering","~",""
|
||||
"59","1","Q7","IRF9310","elements:IRF9310","Package_SO:SO-8_3.9x4.9mm_P1.27mm","~",""
|
||||
"60","5","R1, R19, R20, R29, R30","22","stm32-rescue:R","Resistor_SMD:R_0603_1608Metric_Pad0.98x0.95mm_HandSolder","~",""
|
||||
"61","9","R2, R9, R10, R12, R13, R14, R15, R16, R17","10k","Device:R","Resistor_SMD:R_0603_1608Metric_Pad0.98x0.95mm_HandSolder","~",""
|
||||
"62","3","R3, R4, R21","4k7","Device:R","Resistor_SMD:R_0603_1608Metric_Pad0.98x0.95mm_HandSolder","~",""
|
||||
"63","2","R5, R6","100","Device:R","Resistor_SMD:R_0603_1608Metric_Pad0.98x0.95mm_HandSolder","~",""
|
||||
"64","3","R7, R11, R18","330","Device:R","Resistor_SMD:R_0603_1608Metric_Pad0.98x0.95mm_HandSolder","~",""
|
||||
"65","1","R8","91k","Device:R","Resistor_SMD:R_0603_1608Metric_Pad0.98x0.95mm_HandSolder","~",""
|
||||
"66","6","R22, R23, R24, R25, R26, R27","7.5","Device:R","Resistor_SMD:R_2010_5025Metric_Pad1.40x2.65mm_HandSolder","~",""
|
||||
"67","1","R28","120","stm32-rescue:R","Resistor_SMD:R_1210_3225Metric_Pad1.30x2.65mm_HandSolder","",""
|
||||
"68","8","R31, R32, R33, R34, R35, R36, R37, R38","360","Device:R","Resistor_SMD:R_0603_1608Metric_Pad0.98x0.95mm_HandSolder","~",""
|
||||
"69","2","RV1, RV2","50k","Device:R_Potentiometer_Small","Potentiometer_THT:Potentiometer_Bourns_3296W_Vertical","~",""
|
||||
"70","2","SW1, SW3","SW_Push","Switch:SW_Push","Button_Switch_SMD:SW_SPST_FSMSM","~",""
|
||||
"71","1","SW2","SW_DIP_x04","Switch:SW_DIP_x04","Button_Switch_THT:SW_DIP_SPSTx04_Slide_9.78x12.34mm_W7.62mm_P2.54mm","~",""
|
||||
"72","1","SW4","SW_DIP_x01","Switch:SW_DIP_x01","Button_Switch_THT:SW_DIP_SPSTx01_Slide_6.7x4.1mm_W7.62mm_P2.54mm_LowProfile","~",""
|
||||
"73","1","TP1","4.6V","Connector:TestPoint","Connector_PinSocket_2.54mm:PinSocket_1x01_P2.54mm_Vertical","~",""
|
||||
"74","2","TP2, TP3","Gnd","Connector:TestPoint","Connector_PinSocket_2.54mm:PinSocket_1x01_P2.54mm_Vertical","~",""
|
||||
"75","1","TP4","3.3V","Connector:TestPoint","Connector_PinSocket_2.54mm:PinSocket_1x01_P2.54mm_Vertical","~",""
|
||||
"76","1","TP5","5V","Connector:TestPoint","Connector_PinSocket_2.54mm:PinSocket_1x01_P2.54mm_Vertical","~",""
|
||||
"77","2","U1, U2","74HC4051","74xx:74HC4051","Package_SO:SOIC-16_3.9x9.9mm_P1.27mm","http://www.ti.com/lit/ds/symlink/cd74hc4051.pdf",""
|
||||
"78","1","U3","ISO3086","iso3086:ISO3086","Package_SO:SOIC-16W_7.5x10.3mm_P1.27mm","",""
|
||||
"79","1","U4","STM32F072C8Tx","MCU_ST_STM32F0:STM32F072C8Tx","Package_QFP:LQFP-48_7x7mm_P0.5mm","http://www.st.com/st-web-ui/static/active/en/resource/technical/document/datasheet/DM00090510.pdf",""
|
||||
"80","1","U5","ISO7241C","Isolator:ISO7341C","Package_SO:SOIC-16W_7.5x10.3mm_P1.27mm","http://www.ti.com/general/docs/lit/getliterature.tsp?genericPartNumber=iso7341c&fileType=pdf",""
|
||||
"81","1","U6","IP4220CZ6","Power_Protection:USBLC6-4SC6","Package_TO_SOT_SMD:SOT-23-6","https://www.st.com/resource/en/datasheet/usblc6-4.pdf",""
|
||||
"82","1","U7","ADUM4160","Interface_USB:ADUM4160","Package_SO:SOIC-16W_7.5x10.3mm_P1.27mm","https://www.analog.com/media/en/technical-documentation/data-sheets/ADuM4160.pdf",""
|
||||
"83","1","U8","ISO1050DUB","Interface_CAN_LIN:ISO1050DUB","Package_SO:SOP-8_6.62x9.15mm_P2.54mm","http://www.ti.com/lit/ds/symlink/iso1050.pdf",""
|
||||
"84","1","U9","LM2576-5.0","vreg:LM2576","Package_TO_SOT_THT:TO-220-5_P3.4x3.7mm_StaggerEven_Lead3.8mm_Vertical","","Texas Instruments"
|
||||
"85","1","U10","LM1117-3.3","Regulator_Linear:LM1117-3.3","Package_TO_SOT_SMD:SOT-223-3_TabPin2","http://www.ti.com/lit/ds/symlink/lm1117.pdf",""
|
||||
"86","8","U11, U12, U13, U14, U15, U16, U17, U18","PC817","Isolator:PC817","Package_DIP:DIP-4_W7.62mm","http://www.soselectronic.cz/a_info/resource/d/pc817.pdf",""
|
||||
"87","1","Y1","8MHz","Device:Crystal","Crystal:Crystal_HC49-U_Vertical","~",""
|
||||
|
Can't render this file because it has a wrong number of fields in line 7.
|
54057
F3:F303/CANbus4BTA/kicad/stm32.kicad_pcb
Normal file
54057
F3:F303/CANbus4BTA/kicad/stm32.kicad_pcb
Normal file
File diff suppressed because it is too large
Load Diff
77
F3:F303/CANbus4BTA/kicad/stm32.kicad_prl
Normal file
77
F3:F303/CANbus4BTA/kicad/stm32.kicad_prl
Normal file
@ -0,0 +1,77 @@
|
||||
{
|
||||
"board": {
|
||||
"active_layer": 0,
|
||||
"active_layer_preset": "All Layers",
|
||||
"auto_track_width": false,
|
||||
"hidden_netclasses": [],
|
||||
"hidden_nets": [],
|
||||
"high_contrast_mode": 0,
|
||||
"net_color_mode": 1,
|
||||
"opacity": {
|
||||
"images": 0.6,
|
||||
"pads": 1.0,
|
||||
"tracks": 1.0,
|
||||
"vias": 1.0,
|
||||
"zones": 0.6
|
||||
},
|
||||
"ratsnest_display_mode": 0,
|
||||
"selection_filter": {
|
||||
"dimensions": true,
|
||||
"footprints": true,
|
||||
"graphics": true,
|
||||
"keepouts": true,
|
||||
"lockedItems": true,
|
||||
"otherItems": true,
|
||||
"pads": true,
|
||||
"text": true,
|
||||
"tracks": true,
|
||||
"vias": true,
|
||||
"zones": true
|
||||
},
|
||||
"visible_items": [
|
||||
0,
|
||||
1,
|
||||
2,
|
||||
3,
|
||||
4,
|
||||
5,
|
||||
8,
|
||||
9,
|
||||
10,
|
||||
11,
|
||||
12,
|
||||
13,
|
||||
14,
|
||||
15,
|
||||
16,
|
||||
17,
|
||||
18,
|
||||
19,
|
||||
20,
|
||||
21,
|
||||
22,
|
||||
23,
|
||||
24,
|
||||
25,
|
||||
26,
|
||||
27,
|
||||
28,
|
||||
29,
|
||||
30,
|
||||
32,
|
||||
33,
|
||||
34,
|
||||
35,
|
||||
36
|
||||
],
|
||||
"visible_layers": "fffffff_ffffffff",
|
||||
"zone_display_mode": 0
|
||||
},
|
||||
"meta": {
|
||||
"filename": "stm32.kicad_prl",
|
||||
"version": 3
|
||||
},
|
||||
"project": {
|
||||
"files": []
|
||||
}
|
||||
}
|
||||
588
F3:F303/CANbus4BTA/kicad/stm32.kicad_pro
Normal file
588
F3:F303/CANbus4BTA/kicad/stm32.kicad_pro
Normal file
@ -0,0 +1,588 @@
|
||||
{
|
||||
"board": {
|
||||
"3dviewports": [],
|
||||
"design_settings": {
|
||||
"defaults": {
|
||||
"board_outline_line_width": 0.15,
|
||||
"copper_line_width": 0.19999999999999998,
|
||||
"copper_text_italic": false,
|
||||
"copper_text_size_h": 1.5,
|
||||
"copper_text_size_v": 1.5,
|
||||
"copper_text_thickness": 0.3,
|
||||
"copper_text_upright": false,
|
||||
"courtyard_line_width": 0.049999999999999996,
|
||||
"dimension_precision": 4,
|
||||
"dimension_units": 3,
|
||||
"dimensions": {
|
||||
"arrow_length": 1270000,
|
||||
"extension_offset": 500000,
|
||||
"keep_text_aligned": true,
|
||||
"suppress_zeroes": false,
|
||||
"text_position": 0,
|
||||
"units_format": 1
|
||||
},
|
||||
"fab_line_width": 0.09999999999999999,
|
||||
"fab_text_italic": false,
|
||||
"fab_text_size_h": 1.0,
|
||||
"fab_text_size_v": 1.0,
|
||||
"fab_text_thickness": 0.15,
|
||||
"fab_text_upright": false,
|
||||
"other_line_width": 0.09999999999999999,
|
||||
"other_text_italic": false,
|
||||
"other_text_size_h": 1.0,
|
||||
"other_text_size_v": 1.0,
|
||||
"other_text_thickness": 0.15,
|
||||
"other_text_upright": false,
|
||||
"pads": {
|
||||
"drill": 0.762,
|
||||
"height": 1.524,
|
||||
"width": 1.524
|
||||
},
|
||||
"silk_line_width": 0.25,
|
||||
"silk_text_italic": false,
|
||||
"silk_text_size_h": 2.0,
|
||||
"silk_text_size_v": 2.0,
|
||||
"silk_text_thickness": 0.25,
|
||||
"silk_text_upright": false,
|
||||
"zones": {
|
||||
"45_degree_only": false,
|
||||
"min_clearance": 0.508
|
||||
}
|
||||
},
|
||||
"diff_pair_dimensions": [
|
||||
{
|
||||
"gap": 0.0,
|
||||
"via_gap": 0.0,
|
||||
"width": 0.0
|
||||
}
|
||||
],
|
||||
"drc_exclusions": [],
|
||||
"meta": {
|
||||
"filename": "board_design_settings.json",
|
||||
"version": 2
|
||||
},
|
||||
"rule_severities": {
|
||||
"annular_width": "error",
|
||||
"clearance": "error",
|
||||
"connection_width": "warning",
|
||||
"copper_edge_clearance": "error",
|
||||
"copper_sliver": "warning",
|
||||
"courtyards_overlap": "warning",
|
||||
"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_type_mismatch": "error",
|
||||
"hole_clearance": "error",
|
||||
"hole_near_hole": "error",
|
||||
"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",
|
||||
"missing_courtyard": "ignore",
|
||||
"missing_footprint": "warning",
|
||||
"net_conflict": "warning",
|
||||
"npth_inside_courtyard": "ignore",
|
||||
"padstack": "error",
|
||||
"pth_inside_courtyard": "ignore",
|
||||
"shorting_items": "error",
|
||||
"silk_edge_clearance": "warning",
|
||||
"silk_over_copper": "warning",
|
||||
"silk_overlap": "warning",
|
||||
"skew_out_of_range": "error",
|
||||
"solder_mask_bridge": "error",
|
||||
"starved_thermal": "error",
|
||||
"text_height": "warning",
|
||||
"text_thickness": "warning",
|
||||
"through_hole_pad_without_hole": "error",
|
||||
"too_many_vias": "error",
|
||||
"track_dangling": "warning",
|
||||
"track_width": "error",
|
||||
"tracks_crossing": "error",
|
||||
"unconnected_items": "error",
|
||||
"unresolved_variable": "error",
|
||||
"via_dangling": "warning",
|
||||
"zones_intersect": "error"
|
||||
},
|
||||
"rule_severitieslegacy_courtyards_overlap": true,
|
||||
"rule_severitieslegacy_no_courtyard_defined": false,
|
||||
"rules": {
|
||||
"allow_blind_buried_vias": false,
|
||||
"allow_microvias": false,
|
||||
"max_error": 0.005,
|
||||
"min_clearance": 0.09999999999999999,
|
||||
"min_connection": 0.0,
|
||||
"min_copper_edge_clearance": 0.19999999999999998,
|
||||
"min_hole_clearance": 0.25,
|
||||
"min_hole_to_hole": 0.5,
|
||||
"min_microvia_diameter": 0.19999999999999998,
|
||||
"min_microvia_drill": 0.09999999999999999,
|
||||
"min_resolved_spokes": 2,
|
||||
"min_silk_clearance": 0.0,
|
||||
"min_text_height": 0.7999999999999999,
|
||||
"min_text_thickness": 0.08,
|
||||
"min_through_hole_diameter": 0.39999999999999997,
|
||||
"min_track_width": 0.19999999999999998,
|
||||
"min_via_annular_width": 0.09999999999999999,
|
||||
"min_via_diameter": 0.7999999999999999,
|
||||
"solder_mask_to_copper_clearance": 0.0,
|
||||
"use_height_for_length_calcs": true
|
||||
},
|
||||
"teardrop_options": [
|
||||
{
|
||||
"td_allow_use_two_tracks": true,
|
||||
"td_curve_segcount": 5,
|
||||
"td_on_pad_in_zone": false,
|
||||
"td_onpadsmd": true,
|
||||
"td_onroundshapesonly": false,
|
||||
"td_ontrackend": false,
|
||||
"td_onviapad": true
|
||||
}
|
||||
],
|
||||
"teardrop_parameters": [
|
||||
{
|
||||
"td_curve_segcount": 0,
|
||||
"td_height_ratio": 1.0,
|
||||
"td_length_ratio": 0.5,
|
||||
"td_maxheight": 2.0,
|
||||
"td_maxlen": 1.0,
|
||||
"td_target_name": "td_round_shape",
|
||||
"td_width_to_size_filter_ratio": 0.9
|
||||
},
|
||||
{
|
||||
"td_curve_segcount": 0,
|
||||
"td_height_ratio": 1.0,
|
||||
"td_length_ratio": 0.5,
|
||||
"td_maxheight": 2.0,
|
||||
"td_maxlen": 1.0,
|
||||
"td_target_name": "td_rect_shape",
|
||||
"td_width_to_size_filter_ratio": 0.9
|
||||
},
|
||||
{
|
||||
"td_curve_segcount": 0,
|
||||
"td_height_ratio": 1.0,
|
||||
"td_length_ratio": 0.5,
|
||||
"td_maxheight": 2.0,
|
||||
"td_maxlen": 1.0,
|
||||
"td_target_name": "td_track_end",
|
||||
"td_width_to_size_filter_ratio": 0.9
|
||||
}
|
||||
],
|
||||
"track_widths": [
|
||||
0.0,
|
||||
0.2,
|
||||
0.3,
|
||||
0.5,
|
||||
1.0,
|
||||
2.0
|
||||
],
|
||||
"via_dimensions": [
|
||||
{
|
||||
"diameter": 0.0,
|
||||
"drill": 0.0
|
||||
},
|
||||
{
|
||||
"diameter": 0.8,
|
||||
"drill": 0.4
|
||||
},
|
||||
{
|
||||
"diameter": 1.2,
|
||||
"drill": 0.6
|
||||
},
|
||||
{
|
||||
"diameter": 2.0,
|
||||
"drill": 0.8
|
||||
}
|
||||
],
|
||||
"zones_allow_external_fillets": false,
|
||||
"zones_use_no_outline": true
|
||||
},
|
||||
"layer_presets": [],
|
||||
"viewports": []
|
||||
},
|
||||
"boards": [],
|
||||
"cvpcb": {
|
||||
"equivalence_files": []
|
||||
},
|
||||
"erc": {
|
||||
"erc_exclusions": [],
|
||||
"meta": {
|
||||
"version": 0
|
||||
},
|
||||
"pin_map": [
|
||||
[
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
1,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
2
|
||||
],
|
||||
[
|
||||
0,
|
||||
2,
|
||||
0,
|
||||
1,
|
||||
0,
|
||||
0,
|
||||
1,
|
||||
0,
|
||||
2,
|
||||
2,
|
||||
2,
|
||||
2
|
||||
],
|
||||
[
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
1,
|
||||
0,
|
||||
1,
|
||||
0,
|
||||
1,
|
||||
2
|
||||
],
|
||||
[
|
||||
0,
|
||||
1,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
1,
|
||||
1,
|
||||
2,
|
||||
1,
|
||||
1,
|
||||
2
|
||||
],
|
||||
[
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
1,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
2
|
||||
],
|
||||
[
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
2
|
||||
],
|
||||
[
|
||||
1,
|
||||
1,
|
||||
1,
|
||||
1,
|
||||
1,
|
||||
0,
|
||||
1,
|
||||
1,
|
||||
1,
|
||||
1,
|
||||
1,
|
||||
2
|
||||
],
|
||||
[
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
1,
|
||||
0,
|
||||
0,
|
||||
1,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
2
|
||||
],
|
||||
[
|
||||
0,
|
||||
2,
|
||||
1,
|
||||
2,
|
||||
0,
|
||||
0,
|
||||
1,
|
||||
0,
|
||||
2,
|
||||
2,
|
||||
2,
|
||||
2
|
||||
],
|
||||
[
|
||||
0,
|
||||
2,
|
||||
0,
|
||||
1,
|
||||
0,
|
||||
0,
|
||||
1,
|
||||
0,
|
||||
2,
|
||||
0,
|
||||
0,
|
||||
2
|
||||
],
|
||||
[
|
||||
0,
|
||||
2,
|
||||
1,
|
||||
1,
|
||||
0,
|
||||
0,
|
||||
1,
|
||||
0,
|
||||
2,
|
||||
0,
|
||||
0,
|
||||
2
|
||||
],
|
||||
[
|
||||
2,
|
||||
2,
|
||||
2,
|
||||
2,
|
||||
2,
|
||||
2,
|
||||
2,
|
||||
2,
|
||||
2,
|
||||
2,
|
||||
2,
|
||||
2
|
||||
]
|
||||
],
|
||||
"rule_severities": {
|
||||
"bus_definition_conflict": "error",
|
||||
"bus_entry_needed": "error",
|
||||
"bus_to_bus_conflict": "error",
|
||||
"bus_to_net_conflict": "error",
|
||||
"conflicting_netclasses": "error",
|
||||
"different_unit_footprint": "error",
|
||||
"different_unit_net": "error",
|
||||
"duplicate_reference": "error",
|
||||
"duplicate_sheet_names": "error",
|
||||
"endpoint_off_grid": "warning",
|
||||
"extra_units": "error",
|
||||
"global_label_dangling": "warning",
|
||||
"hier_label_mismatch": "error",
|
||||
"label_dangling": "error",
|
||||
"lib_symbol_issues": "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": "error",
|
||||
"power_pin_not_driven": "error",
|
||||
"similar_labels": "warning",
|
||||
"simulation_model_issue": "ignore",
|
||||
"unannotated": "error",
|
||||
"unit_value_mismatch": "error",
|
||||
"unresolved_variable": "error",
|
||||
"wire_dangling": "error"
|
||||
}
|
||||
},
|
||||
"libraries": {
|
||||
"pinned_footprint_libs": [],
|
||||
"pinned_symbol_libs": []
|
||||
},
|
||||
"meta": {
|
||||
"filename": "stm32.kicad_pro",
|
||||
"version": 1
|
||||
},
|
||||
"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)",
|
||||
"schematic_color": "rgba(0, 0, 0, 0.000)",
|
||||
"track_width": 0.2,
|
||||
"via_diameter": 0.8,
|
||||
"via_drill": 0.4,
|
||||
"wire_width": 6
|
||||
},
|
||||
{
|
||||
"bus_width": 12,
|
||||
"clearance": 0.3,
|
||||
"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": "0.5",
|
||||
"pcb_color": "rgba(0, 0, 0, 0.000)",
|
||||
"schematic_color": "rgba(0, 0, 0, 0.000)",
|
||||
"track_width": 0.5,
|
||||
"via_diameter": 1.2,
|
||||
"via_drill": 0.6,
|
||||
"wire_width": 6
|
||||
},
|
||||
{
|
||||
"bus_width": 12,
|
||||
"clearance": 0.5,
|
||||
"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": "1",
|
||||
"pcb_color": "rgba(0, 0, 0, 0.000)",
|
||||
"schematic_color": "rgba(0, 0, 0, 0.000)",
|
||||
"track_width": 1.0,
|
||||
"via_diameter": 2.0,
|
||||
"via_drill": 0.8,
|
||||
"wire_width": 6
|
||||
}
|
||||
],
|
||||
"meta": {
|
||||
"version": 3
|
||||
},
|
||||
"net_colors": null,
|
||||
"netclass_assignments": null,
|
||||
"netclass_patterns": []
|
||||
},
|
||||
"pcbnew": {
|
||||
"last_paths": {
|
||||
"gencad": "",
|
||||
"idf": "",
|
||||
"netlist": "stm32.net",
|
||||
"specctra_dsn": "",
|
||||
"step": "",
|
||||
"vrml": ""
|
||||
},
|
||||
"page_layout_descr_file": ""
|
||||
},
|
||||
"schematic": {
|
||||
"annotate_start_num": 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": [],
|
||||
"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.25,
|
||||
"pin_symbol_size": 0.0,
|
||||
"text_offset_ratio": 0.08
|
||||
},
|
||||
"legacy_lib_dir": "",
|
||||
"legacy_lib_list": [],
|
||||
"meta": {
|
||||
"version": 1
|
||||
},
|
||||
"net_format_name": "Pcbnew",
|
||||
"ngspice": {
|
||||
"fix_include_paths": true,
|
||||
"fix_passive_vals": false,
|
||||
"meta": {
|
||||
"version": 0
|
||||
},
|
||||
"model_mode": 0,
|
||||
"workbook_filename": ""
|
||||
},
|
||||
"page_layout_descr_file": "",
|
||||
"plot_directory": "",
|
||||
"spice_adjust_passive_values": false,
|
||||
"spice_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_voltages": false,
|
||||
"subpart_first_id": 65,
|
||||
"subpart_id_separator": 0
|
||||
},
|
||||
"sheets": [
|
||||
[
|
||||
"f40cbe7e-cd25-45e5-a6cb-d92457495048",
|
||||
""
|
||||
],
|
||||
[
|
||||
"311a5cb3-0370-4a86-a5e8-6335fee47f9a",
|
||||
"Optocouple"
|
||||
],
|
||||
[
|
||||
"737c47dd-2cc5-4c23-ab54-7bef18beb2a3",
|
||||
"Optocouple1"
|
||||
],
|
||||
[
|
||||
"0ff6ac13-ac49-41f0-9506-376ccd8b8ba4",
|
||||
"Optocouple2"
|
||||
],
|
||||
[
|
||||
"1cf77ae7-411e-49cc-bbff-6947c0aa32bd",
|
||||
"Optocouple3"
|
||||
],
|
||||
[
|
||||
"2b18f3bb-219b-4cc5-8bc9-bc122d6e81e9",
|
||||
"Optocouple4"
|
||||
],
|
||||
[
|
||||
"d7c9ec36-f6b4-4bc2-8e9a-7a0792b9eff0",
|
||||
"Optocouple5"
|
||||
],
|
||||
[
|
||||
"c51c7789-4b67-42c9-a921-b1066b3f95ba",
|
||||
"Optocouple6"
|
||||
],
|
||||
[
|
||||
"e5255d96-2d32-432c-bf31-9afa6ac7ec6a",
|
||||
"Optocouple7"
|
||||
]
|
||||
],
|
||||
"text_variables": {}
|
||||
}
|
||||
14254
F3:F303/CANbus4BTA/kicad/stm32.kicad_sch
Normal file
14254
F3:F303/CANbus4BTA/kicad/stm32.kicad_sch
Normal file
File diff suppressed because it is too large
Load Diff
BIN
F3:F303/CANbus4BTA/kicad/stm32.pdf
Normal file
BIN
F3:F303/CANbus4BTA/kicad/stm32.pdf
Normal file
Binary file not shown.
3407
F3:F303/CANbus4BTA/kicad/stm32.xml
Normal file
3407
F3:F303/CANbus4BTA/kicad/stm32.xml
Normal file
File diff suppressed because it is too large
Load Diff
8
F3:F303/CANbus4BTA/kicad/sym-lib-table
Normal file
8
F3:F303/CANbus4BTA/kicad/sym-lib-table
Normal file
@ -0,0 +1,8 @@
|
||||
(sym_lib_table
|
||||
(lib (name "stm32-rescue")(type "KiCad")(uri "${KIPRJMOD}/stm32-rescue.kicad_sym")(options "")(descr ""))
|
||||
(lib (name "stm32")(type "KiCad")(uri "/home/eddy/kicad/Kicad-Libraries/library/stm32.kicad_sym")(options "")(descr ""))
|
||||
(lib (name "vreg")(type "KiCad")(uri "/home/eddy/kicad/Kicad-Libraries/library/vreg.kicad_sym")(options "")(descr ""))
|
||||
(lib (name "elements")(type "KiCad")(uri "${KIPRJMOD}/elements.kicad_sym")(options "")(descr ""))
|
||||
(lib (name "stm32-cache")(type "KiCad")(uri "${KIPRJMOD}/stm32-cache.kicad_sym")(options "")(descr ""))
|
||||
(lib (name "iso3086")(type "KiCad")(uri "${KIPRJMOD}/iso3086.kicad_sym")(options "")(descr ""))
|
||||
)
|
||||
9
F3:F303/CANbus4BTA/src/Makefile
Normal file
9
F3:F303/CANbus4BTA/src/Makefile
Normal file
@ -0,0 +1,9 @@
|
||||
BINARY := BTA_CAN
|
||||
# MCU code
|
||||
MCU := F303xb
|
||||
# change this linking script depending on particular MCU model,
|
||||
LDSCRIPT := stm32f303xB.ld
|
||||
DEFINES := -DUSB1_16
|
||||
|
||||
include ../makefile.f3
|
||||
include ../../makefile.stm32
|
||||
123
F3:F303/CANbus4BTA/src/Readme.md
Normal file
123
F3:F303/CANbus4BTA/src/Readme.md
Normal file
@ -0,0 +1,123 @@
|
||||
BTA CANbus node controller
|
||||
====================================
|
||||
|
||||
# Pinout
|
||||
|
||||
PP - push-pull, OD - open drain, I - floating input, A - analog input, AFn - alternate function number n.
|
||||
1 - active high, 0 - active low.
|
||||
### Sorted by pin number
|
||||
|
||||
|**Pin #**|**Pin name **| **function**| **settings**|**comment ** |
|
||||
|---------|-------------|-------------|-------------|------------------|
|
||||
| 1 | VBAT | 3v3 | | |
|
||||
| 2 | PC13 | buzzer | PP1 | |
|
||||
| 3 | PC14 | relay | PP1 | |
|
||||
| 4 | PC15 | usb pullup | PP1 | |
|
||||
| 5 | PF0 | OSCIN | | |
|
||||
| 6 | PF1 | OSCOUT | | |
|
||||
| 7 | NRST | reset | | |
|
||||
| 8 | VSSA | gnd | | |
|
||||
| 9 | VDDA | 3v3 | | |
|
||||
| 10 | PA0 | AIN0 | A | |
|
||||
| 11 | PA1 | AIN1 | A | |
|
||||
| 12 | PA2 | ANI2 | A | |
|
||||
| 13 | PA3 | AIN3 | A | |
|
||||
| 14 | PA4 | DIN | I | mul0/1 input |
|
||||
| 15 | PA5 | DEN0 | PP0 | enable mul0 |
|
||||
| 16 | PA6 | DEN1 | PP0 | enable mul1 |
|
||||
| 17 | PA7 | PWM | AF1 | TIM17CH1 PWM |
|
||||
| 18 | PB0 | ADDR0 | PP | MUL address |
|
||||
| 19 | PB1 | ADDR1 | PP | selection |
|
||||
| 20 | PB2 | ADDR2 | PP | |
|
||||
| 21 | PB10 | PB10 | gpio | reserved gpio |
|
||||
| 22 | PB11 | PB11 | gpio | reserved gpio |
|
||||
| 23 | VSS | gnd | | |
|
||||
| 24 | VDD | 3v3 | | |
|
||||
| 25 | PB12 | SPI2 NSS | AF5 | isolated |
|
||||
| 26 | PB13 | SPI2 SCK | AF5 | external |
|
||||
| 27 | PB14 | SPI2 MISO | AF5 | SPI |
|
||||
| 28 | PB15 | SPI2 MOSI | AF5 | |
|
||||
| 29 | PA8 | PA8 | gpio | reserved gpio |
|
||||
| 30 | PA9 | USART1 TX | AF7 | RS-422 interface |
|
||||
| 31 | PA10 | USART1 RX | AF7 | (opt) |
|
||||
| 32 | PA11 | USB DM | AF14 | |
|
||||
| 33 | PA12 | USB DP | AF14 | |
|
||||
| 34 | PA13 | SWDIO | AF0 | |
|
||||
| 35 | VSS | gnd | | |
|
||||
| 36 | VDD | 3v3 | | |
|
||||
| 37 | PA14 | SWCLK | AF0 | |
|
||||
| 38 | PA15 | PA15 | gpio | reserved gpio |
|
||||
| 39 | PB3 | SPI1 SCK | AF5 | SSI interface |
|
||||
| 40 | PB4 | SPI1 MISO | AF5 | (opt) |
|
||||
| 41 | PB5 | X | | |
|
||||
| 42 | PB6 | I2C1 SCL | AF4 | non-isolated |
|
||||
| 43 | PB7 | I2C1 SDA | AF4 | ext. I2C |
|
||||
| 44 | BOOT0 | boot | | |
|
||||
| 45 | PB8 | CAN RX | AF9 | |
|
||||
| 46 | PB9 | CAN TX | AF9 | |
|
||||
| 47 | VSS | gnd | | |
|
||||
| 48 | VDD | 3v3 | | |
|
||||
|---------|-------------|-------------|-------------|------------------|
|
||||
|
||||
|
||||
### Sorted by port
|
||||
// sort -Vk4 Readme.md
|
||||
|
||||
|**Pin #**|**Pin name **| **function**| **settings**|**comment ** |
|
||||
|---------|-------------|-------------|-------------|------------------|
|
||||
| 44 | BOOT0 | boot | | |
|
||||
| 7 | NRST | reset | | |
|
||||
| 10 | PA0 | AIN0 | A | |
|
||||
| 11 | PA1 | AIN1 | A | |
|
||||
| 12 | PA2 | ANI2 | A | |
|
||||
| 13 | PA3 | AIN3 | A | |
|
||||
| 14 | PA4 | DIN | I | mul0/1 input |
|
||||
| 15 | PA5 | DEN0 | PP0 | enable mul0 |
|
||||
| 16 | PA6 | DEN1 | PP0 | enable mul1 |
|
||||
| 17 | PA7 | PWM | AF1 | TIM17CH1 PWM |
|
||||
| 29 | PA8 | PA8 | gpio | reserved gpio |
|
||||
| 30 | PA9 | USART1 TX | AF7 | RS-422 interface |
|
||||
| 31 | PA10 | USART1 RX | AF7 | (opt) |
|
||||
| 32 | PA11 | USB DM | AF14 | |
|
||||
| 33 | PA12 | USB DP | AF14 | |
|
||||
| 34 | PA13 | SWDIO | AF0 | |
|
||||
| 37 | PA14 | SWCLK | AF0 | |
|
||||
| 38 | PA15 | PA15 | gpio | reserved gpio |
|
||||
| 18 | PB0 | ADDR0 | PP | MUL address |
|
||||
| 19 | PB1 | ADDR1 | PP | selection |
|
||||
| 20 | PB2 | ADDR2 | PP | |
|
||||
| 39 | PB3 | SPI1 SCK | AF5 | SSI interface |
|
||||
| 40 | PB4 | SPI1 MISO | AF5 | (opt) |
|
||||
| 41 | PB5 | X | | |
|
||||
| 42 | PB6 | I2C1 SCL | AF4 | non-isolated |
|
||||
| 43 | PB7 | I2C1 SDA | AF4 | ext. I2C |
|
||||
| 45 | PB8 | CAN RX | AF9 | |
|
||||
| 46 | PB9 | CAN TX | AF9 | |
|
||||
| 21 | PB10 | PB10 | gpio | reserved gpio |
|
||||
| 22 | PB11 | PB11 | gpio | reserved gpio |
|
||||
| 25 | PB12 | SPI2 NSS | AF5 | isolated |
|
||||
| 26 | PB13 | SPI2 SCK | AF5 | external |
|
||||
| 27 | PB14 | SPI2 MISO | AF5 | SPI |
|
||||
| 28 | PB15 | SPI2 MOSI | AF5 | |
|
||||
| 2 | PC13 | buzzer | PP1 | |
|
||||
| 3 | PC14 | relay | PP1 | |
|
||||
| 4 | PC15 | usb pullup | PP1 | |
|
||||
| 5 | PF0 | OSCIN | | |
|
||||
| 6 | PF1 | OSCOUT | | |
|
||||
| 1 | VBAT | 3v3 | | |
|
||||
| 9 | VDDA | 3v3 | | |
|
||||
| 24 | VDD | 3v3 | | |
|
||||
| 36 | VDD | 3v3 | | |
|
||||
| 48 | VDD | 3v3 | | |
|
||||
| 8 | VSSA | gnd | | |
|
||||
| 23 | VSS | gnd | | |
|
||||
| 35 | VSS | gnd | | |
|
||||
| 47 | VSS | gnd | | |
|
||||
|---------|-------------|-------------|-------------|------------------|
|
||||
|
||||
## DMA usage
|
||||
### DMA1
|
||||
|
||||
|
||||
### DMA2
|
||||
|
||||
37
F3:F303/CANbus4BTA/src/hardware.c
Normal file
37
F3:F303/CANbus4BTA/src/hardware.c
Normal file
@ -0,0 +1,37 @@
|
||||
/*
|
||||
* This file is part of the pl2303 project.
|
||||
* Copyright 2023 Edward V. Emelianov <edward.emelianoff@gmail.com>.
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation, either version 3 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
#include "hardware.h"
|
||||
#include "usart.h"
|
||||
|
||||
static inline void gpio_setup(){
|
||||
RCC->AHBENR |= RCC_AHBENR_GPIOAEN | RCC_AHBENR_GPIOBEN;
|
||||
// LEDs on PB0 and PB1
|
||||
GPIOB->MODER = GPIO_MODER_MODER0_O | GPIO_MODER_MODER1_O;
|
||||
GPIOB->ODR = 1;
|
||||
// USB - alternate function 14 @ pins PA11/PA12; USART1 = AF7 @PA9/10; SWD - AF0 @PA13/14
|
||||
GPIOA->AFR[1] = AFRf(7, 9) | AFRf(7, 10) | AFRf(14, 11) | AFRf(14, 12);
|
||||
// USART1: PA10(Rx), PA9(Tx); USB - PA11, PA12; SWDIO - PA13, PA14; Pullup - PA15
|
||||
GPIOA->MODER = MODER_AF(9) | MODER_AF(10) | MODER_AF(11) | MODER_AF(12) | MODER_AF(13) | MODER_AF(14) | MODER_O(15);
|
||||
GPIOA->OSPEEDR = OSPEED_HI(11) | OSPEED_HI(12) | OSPEED_HI(13) | OSPEED_HI(14);
|
||||
}
|
||||
|
||||
void hw_setup(){
|
||||
gpio_setup();
|
||||
}
|
||||
|
||||
34
F3:F303/CANbus4BTA/src/hardware.h
Normal file
34
F3:F303/CANbus4BTA/src/hardware.h
Normal file
@ -0,0 +1,34 @@
|
||||
/*
|
||||
* This file is part of the pl2303 project.
|
||||
* Copyright 2023 Edward V. Emelianov <edward.emelianoff@gmail.com>.
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation, either version 3 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
#pragma once
|
||||
#ifndef __HARDWARE_H__
|
||||
#define __HARDWARE_H__
|
||||
|
||||
#include <stm32f3.h>
|
||||
|
||||
#define USBPU_port GPIOA
|
||||
#define USBPU_pin (1<<15)
|
||||
#define USBPU_ON() pin_clear(USBPU_port, USBPU_pin)
|
||||
#define USBPU_OFF() pin_set(USBPU_port, USBPU_pin)
|
||||
|
||||
extern volatile uint32_t Tms;
|
||||
|
||||
void hw_setup();
|
||||
|
||||
#endif // __HARDWARE_H__
|
||||
89
F3:F303/CANbus4BTA/src/main.c
Normal file
89
F3:F303/CANbus4BTA/src/main.c
Normal file
@ -0,0 +1,89 @@
|
||||
/*
|
||||
* This file is part of the pl2303 project.
|
||||
* Copyright 2023 Edward V. Emelianov <edward.emelianoff@gmail.com>.
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation, either version 3 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
#include "hardware.h"
|
||||
#include "proto.h"
|
||||
#include "usart.h"
|
||||
#include "usb.h"
|
||||
|
||||
#define MAXSTRLEN RBINSZ
|
||||
|
||||
const char *test = "123456789A123456789B123456789C123456789D123456789E123456789F123456789G123456789H123456789I123456789J123456789K123456789L123456789M123456789N123456789O123456789P123456789Q123456789R123456789S123456789T123456789U123456789V123456789W123456789X123456789Y\n"
|
||||
"123456789A123456789B123456789C123456789D123456789E123456789F123456789G123456789H123456789I123456789J123456789K123456789L123456789M123456789N123456789O123456789P123456789Q123456789R123456789S123456789T123456789U123456789V123456789W123456789X123456789Y\n";
|
||||
|
||||
volatile uint32_t Tms = 0;
|
||||
|
||||
void sys_tick_handler(void){
|
||||
++Tms;
|
||||
}
|
||||
|
||||
int main(void){
|
||||
char inbuff[MAXSTRLEN+1];
|
||||
int hse = 0;
|
||||
USBPU_OFF();
|
||||
if(StartHSE()){
|
||||
hse = 1;
|
||||
SysTick_Config((uint32_t)72000); // 1ms
|
||||
}else{
|
||||
StartHSI();
|
||||
SysTick_Config((uint32_t)48000); // 1ms
|
||||
}
|
||||
hw_setup();
|
||||
usart_setup();
|
||||
USB_setup();
|
||||
USBPU_ON();
|
||||
if(hse) usart_send("Ready @ HSE");
|
||||
else usart_send("Ready @ HSI");
|
||||
usart_send(", CFGR="); usart_send(u2hexstr(RCC->CFGR));
|
||||
usart_send(", CR="); usart_send(u2hexstr(RCC->CR));
|
||||
usart_send(", SysFreq="); usart_send(u2str(SysFreq)); usart_putchar('\n');
|
||||
uint32_t ctr = Tms;
|
||||
while(1){
|
||||
if(Tms - ctr > 499){
|
||||
ctr = Tms;
|
||||
pin_toggle(GPIOB, 1 << 1 | 1 << 0); // toggle LED @ PB0
|
||||
}
|
||||
if(bufovr){
|
||||
bufovr = 0;
|
||||
usart_send("bufovr\n");
|
||||
}
|
||||
char *txt = NULL;
|
||||
if(usart_getline(&txt)){
|
||||
const char *ans = parse_cmd(txt);
|
||||
if(ans) usart_send(ans);
|
||||
}
|
||||
int l = USB_receivestr(inbuff, MAXSTRLEN);
|
||||
if(l < 0) USB_sendstr("ERROR: USB buffer overflow or string was too long\n");
|
||||
else if(l){
|
||||
usart_send("Get by USB ");
|
||||
usart_send(u2str(l)); usart_send(" bytes:");
|
||||
usart_send(inbuff); usart_putchar('\n');
|
||||
const char *ans = parse_cmd(inbuff);
|
||||
if(ans) USB_sendstr(ans);
|
||||
}
|
||||
if(starttest){
|
||||
USB_sendstr(test);
|
||||
if(0 == --starttest){
|
||||
#define SENDBOTH(x) do{char *_ = x; usart_send(_); USB_sendstr(_);}while(0)
|
||||
SENDBOTH("ENDT=");
|
||||
SENDBOTH(u2str(Tms));
|
||||
usart_putchar('\n'); USB_putbyte('\n');
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
4
F3:F303/CANbus4BTA/src/openocd.cfg
Normal file
4
F3:F303/CANbus4BTA/src/openocd.cfg
Normal file
@ -0,0 +1,4 @@
|
||||
set FLASH_SIZE 0x20000
|
||||
|
||||
source [find interface/stlink-v2-1.cfg]
|
||||
source [find target/stm32f3x.cfg]
|
||||
BIN
F3:F303/CANbus4BTA/src/pl2303.bin
Executable file
BIN
F3:F303/CANbus4BTA/src/pl2303.bin
Executable file
Binary file not shown.
1
F3:F303/CANbus4BTA/src/pl2303.cflags
Normal file
1
F3:F303/CANbus4BTA/src/pl2303.cflags
Normal file
@ -0,0 +1 @@
|
||||
-std=c17
|
||||
7
F3:F303/CANbus4BTA/src/pl2303.config
Normal file
7
F3:F303/CANbus4BTA/src/pl2303.config
Normal file
@ -0,0 +1,7 @@
|
||||
// Add predefined macros for your project here. For example:
|
||||
// #define THE_ANSWER 42
|
||||
#define EBUG
|
||||
#define STM32F3
|
||||
#define STM32F303xb
|
||||
#define __thumb2__ 1
|
||||
#define __ARM_ARCH_7M__
|
||||
1
F3:F303/CANbus4BTA/src/pl2303.creator
Normal file
1
F3:F303/CANbus4BTA/src/pl2303.creator
Normal file
@ -0,0 +1 @@
|
||||
[General]
|
||||
171
F3:F303/CANbus4BTA/src/pl2303.creator.user
Normal file
171
F3:F303/CANbus4BTA/src/pl2303.creator.user
Normal file
@ -0,0 +1,171 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE QtCreatorProject>
|
||||
<!-- Written by QtCreator 8.0.2, 2023-04-17T15:07:13. -->
|
||||
<qtcreator>
|
||||
<data>
|
||||
<variable>EnvironmentId</variable>
|
||||
<value type="QByteArray">{cf63021e-ef53-49b0-b03b-2f2570cdf3b6}</value>
|
||||
</data>
|
||||
<data>
|
||||
<variable>ProjectExplorer.Project.ActiveTarget</variable>
|
||||
<value type="int">0</value>
|
||||
</data>
|
||||
<data>
|
||||
<variable>ProjectExplorer.Project.EditorSettings</variable>
|
||||
<valuemap type="QVariantMap">
|
||||
<value type="bool" key="EditorConfiguration.AutoIndent">true</value>
|
||||
<value type="bool" key="EditorConfiguration.AutoSpacesForTabs">false</value>
|
||||
<value type="bool" key="EditorConfiguration.CamelCaseNavigation">true</value>
|
||||
<valuemap type="QVariantMap" key="EditorConfiguration.CodeStyle.0">
|
||||
<value type="QString" key="language">Cpp</value>
|
||||
<valuemap type="QVariantMap" key="value">
|
||||
<value type="QByteArray" key="CurrentPreferences">CppGlobal</value>
|
||||
</valuemap>
|
||||
</valuemap>
|
||||
<valuemap type="QVariantMap" key="EditorConfiguration.CodeStyle.1">
|
||||
<value type="QString" key="language">QmlJS</value>
|
||||
<valuemap type="QVariantMap" key="value">
|
||||
<value type="QByteArray" key="CurrentPreferences">QmlJSGlobal</value>
|
||||
</valuemap>
|
||||
</valuemap>
|
||||
<value type="int" key="EditorConfiguration.CodeStyle.Count">2</value>
|
||||
<value type="QByteArray" key="EditorConfiguration.Codec">KOI8-R</value>
|
||||
<value type="bool" key="EditorConfiguration.ConstrainTooltips">false</value>
|
||||
<value type="int" key="EditorConfiguration.IndentSize">4</value>
|
||||
<value type="bool" key="EditorConfiguration.KeyboardTooltips">false</value>
|
||||
<value type="int" key="EditorConfiguration.MarginColumn">80</value>
|
||||
<value type="bool" key="EditorConfiguration.MouseHiding">true</value>
|
||||
<value type="bool" key="EditorConfiguration.MouseNavigation">true</value>
|
||||
<value type="int" key="EditorConfiguration.PaddingMode">1</value>
|
||||
<value type="bool" key="EditorConfiguration.PreferSingleLineComments">false</value>
|
||||
<value type="bool" key="EditorConfiguration.ScrollWheelZooming">true</value>
|
||||
<value type="bool" key="EditorConfiguration.ShowMargin">false</value>
|
||||
<value type="int" key="EditorConfiguration.SmartBackspaceBehavior">1</value>
|
||||
<value type="bool" key="EditorConfiguration.SmartSelectionChanging">true</value>
|
||||
<value type="bool" key="EditorConfiguration.SpacesForTabs">true</value>
|
||||
<value type="int" key="EditorConfiguration.TabKeyBehavior">0</value>
|
||||
<value type="int" key="EditorConfiguration.TabSize">8</value>
|
||||
<value type="bool" key="EditorConfiguration.UseGlobal">true</value>
|
||||
<value type="bool" key="EditorConfiguration.UseIndenter">false</value>
|
||||
<value type="int" key="EditorConfiguration.Utf8BomBehavior">2</value>
|
||||
<value type="bool" key="EditorConfiguration.addFinalNewLine">true</value>
|
||||
<value type="bool" key="EditorConfiguration.cleanIndentation">false</value>
|
||||
<value type="bool" key="EditorConfiguration.cleanWhitespace">true</value>
|
||||
<value type="QString" key="EditorConfiguration.ignoreFileTypes">*.md, *.MD, Makefile</value>
|
||||
<value type="bool" key="EditorConfiguration.inEntireDocument">false</value>
|
||||
<value type="bool" key="EditorConfiguration.skipTrailingWhitespace">true</value>
|
||||
</valuemap>
|
||||
</data>
|
||||
<data>
|
||||
<variable>ProjectExplorer.Project.PluginSettings</variable>
|
||||
<valuemap type="QVariantMap">
|
||||
<valuemap type="QVariantMap" key="AutoTest.ActiveFrameworks">
|
||||
<value type="bool" key="AutoTest.Framework.Boost">true</value>
|
||||
<value type="bool" key="AutoTest.Framework.CTest">false</value>
|
||||
<value type="bool" key="AutoTest.Framework.Catch">true</value>
|
||||
<value type="bool" key="AutoTest.Framework.GTest">true</value>
|
||||
<value type="bool" key="AutoTest.Framework.QtQuickTest">true</value>
|
||||
<value type="bool" key="AutoTest.Framework.QtTest">true</value>
|
||||
</valuemap>
|
||||
<valuemap type="QVariantMap" key="AutoTest.CheckStates"/>
|
||||
<value type="int" key="AutoTest.RunAfterBuild">0</value>
|
||||
<value type="bool" key="AutoTest.UseGlobal">true</value>
|
||||
<valuemap type="QVariantMap" key="ClangTools">
|
||||
<value type="bool" key="ClangTools.AnalyzeOpenFiles">true</value>
|
||||
<value type="bool" key="ClangTools.BuildBeforeAnalysis">true</value>
|
||||
<value type="QString" key="ClangTools.DiagnosticConfig">Builtin.DefaultTidyAndClazy</value>
|
||||
<value type="int" key="ClangTools.ParallelJobs">1</value>
|
||||
<valuelist type="QVariantList" key="ClangTools.SelectedDirs"/>
|
||||
<valuelist type="QVariantList" key="ClangTools.SelectedFiles"/>
|
||||
<valuelist type="QVariantList" key="ClangTools.SuppressedDiagnostics"/>
|
||||
<value type="bool" key="ClangTools.UseGlobalSettings">true</value>
|
||||
</valuemap>
|
||||
</valuemap>
|
||||
</data>
|
||||
<data>
|
||||
<variable>ProjectExplorer.Project.Target.0</variable>
|
||||
<valuemap type="QVariantMap">
|
||||
<value type="QString" key="DeviceType">Desktop</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Desktop</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Desktop</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">{91347f2c-5221-46a7-80b1-0a054ca02f79}</value>
|
||||
<value type="int" key="ProjectExplorer.Target.ActiveBuildConfiguration">0</value>
|
||||
<value type="int" key="ProjectExplorer.Target.ActiveDeployConfiguration">0</value>
|
||||
<value type="int" key="ProjectExplorer.Target.ActiveRunConfiguration">0</value>
|
||||
<valuemap type="QVariantMap" key="ProjectExplorer.Target.BuildConfiguration.0">
|
||||
<value type="QString" key="ProjectExplorer.BuildConfiguration.BuildDirectory">/home/eddy/C-files/stm32samples/F3:F303/PL2303</value>
|
||||
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.0">
|
||||
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
|
||||
<valuelist type="QVariantList" key="GenericProjectManager.GenericMakeStep.BuildTargets">
|
||||
<value type="QString">all</value>
|
||||
</valuelist>
|
||||
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">GenericProjectManager.GenericMakeStep</value>
|
||||
</valuemap>
|
||||
<value type="int" key="ProjectExplorer.BuildStepList.StepsCount">1</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Сборка</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Сборка</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Build</value>
|
||||
</valuemap>
|
||||
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.1">
|
||||
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
|
||||
<valuelist type="QVariantList" key="GenericProjectManager.GenericMakeStep.BuildTargets">
|
||||
<value type="QString">clean</value>
|
||||
</valuelist>
|
||||
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">GenericProjectManager.GenericMakeStep</value>
|
||||
</valuemap>
|
||||
<value type="int" key="ProjectExplorer.BuildStepList.StepsCount">1</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Очистка</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Очистка</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Clean</value>
|
||||
</valuemap>
|
||||
<value type="int" key="ProjectExplorer.BuildConfiguration.BuildStepListCount">2</value>
|
||||
<value type="bool" key="ProjectExplorer.BuildConfiguration.ClearSystemEnvironment">false</value>
|
||||
<valuelist type="QVariantList" key="ProjectExplorer.BuildConfiguration.CustomParsers"/>
|
||||
<value type="bool" key="ProjectExplorer.BuildConfiguration.ParseStandardOutput">false</value>
|
||||
<valuelist type="QVariantList" key="ProjectExplorer.BuildConfiguration.UserEnvironmentChanges"/>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">По умолчанию</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">GenericProjectManager.GenericBuildConfiguration</value>
|
||||
</valuemap>
|
||||
<value type="int" key="ProjectExplorer.Target.BuildConfigurationCount">1</value>
|
||||
<valuemap type="QVariantMap" key="ProjectExplorer.Target.DeployConfiguration.0">
|
||||
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.0">
|
||||
<value type="int" key="ProjectExplorer.BuildStepList.StepsCount">0</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Развёртывание</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Развёртывание</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Deploy</value>
|
||||
</valuemap>
|
||||
<value type="int" key="ProjectExplorer.BuildConfiguration.BuildStepListCount">1</value>
|
||||
<valuemap type="QVariantMap" key="ProjectExplorer.DeployConfiguration.CustomData"/>
|
||||
<value type="bool" key="ProjectExplorer.DeployConfiguration.CustomDataEnabled">false</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.DefaultDeployConfiguration</value>
|
||||
</valuemap>
|
||||
<value type="int" key="ProjectExplorer.Target.DeployConfigurationCount">1</value>
|
||||
<valuemap type="QVariantMap" key="ProjectExplorer.Target.RunConfiguration.0">
|
||||
<valuelist type="QVariantList" key="CustomOutputParsers"/>
|
||||
<value type="int" key="PE.EnvironmentAspect.Base">2</value>
|
||||
<valuelist type="QVariantList" key="PE.EnvironmentAspect.Changes"/>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.CustomExecutableRunConfiguration</value>
|
||||
<value type="QString" key="ProjectExplorer.RunConfiguration.BuildKey"></value>
|
||||
<value type="bool" key="RunConfiguration.UseCppDebugger">false</value>
|
||||
<value type="bool" key="RunConfiguration.UseCppDebuggerAuto">true</value>
|
||||
<value type="bool" key="RunConfiguration.UseQmlDebugger">false</value>
|
||||
<value type="bool" key="RunConfiguration.UseQmlDebuggerAuto">true</value>
|
||||
</valuemap>
|
||||
<value type="int" key="ProjectExplorer.Target.RunConfigurationCount">1</value>
|
||||
</valuemap>
|
||||
</data>
|
||||
<data>
|
||||
<variable>ProjectExplorer.Project.TargetCount</variable>
|
||||
<value type="int">1</value>
|
||||
</data>
|
||||
<data>
|
||||
<variable>ProjectExplorer.Project.Updater.FileVersion</variable>
|
||||
<value type="int">22</value>
|
||||
</data>
|
||||
<data>
|
||||
<variable>Version</variable>
|
||||
<value type="int">22</value>
|
||||
</data>
|
||||
</qtcreator>
|
||||
171
F3:F303/CANbus4BTA/src/pl2303.creator.user.7bd84e3
Normal file
171
F3:F303/CANbus4BTA/src/pl2303.creator.user.7bd84e3
Normal file
@ -0,0 +1,171 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE QtCreatorProject>
|
||||
<!-- Written by QtCreator 8.0.2, 2023-01-18T20:42:42. -->
|
||||
<qtcreator>
|
||||
<data>
|
||||
<variable>EnvironmentId</variable>
|
||||
<value type="QByteArray">{7bd84e39-ca37-46d3-be9d-99ebea85bc0d}</value>
|
||||
</data>
|
||||
<data>
|
||||
<variable>ProjectExplorer.Project.ActiveTarget</variable>
|
||||
<value type="int">0</value>
|
||||
</data>
|
||||
<data>
|
||||
<variable>ProjectExplorer.Project.EditorSettings</variable>
|
||||
<valuemap type="QVariantMap">
|
||||
<value type="bool" key="EditorConfiguration.AutoIndent">true</value>
|
||||
<value type="bool" key="EditorConfiguration.AutoSpacesForTabs">false</value>
|
||||
<value type="bool" key="EditorConfiguration.CamelCaseNavigation">true</value>
|
||||
<valuemap type="QVariantMap" key="EditorConfiguration.CodeStyle.0">
|
||||
<value type="QString" key="language">Cpp</value>
|
||||
<valuemap type="QVariantMap" key="value">
|
||||
<value type="QByteArray" key="CurrentPreferences">CppGlobal</value>
|
||||
</valuemap>
|
||||
</valuemap>
|
||||
<valuemap type="QVariantMap" key="EditorConfiguration.CodeStyle.1">
|
||||
<value type="QString" key="language">QmlJS</value>
|
||||
<valuemap type="QVariantMap" key="value">
|
||||
<value type="QByteArray" key="CurrentPreferences">QmlJSGlobal</value>
|
||||
</valuemap>
|
||||
</valuemap>
|
||||
<value type="int" key="EditorConfiguration.CodeStyle.Count">2</value>
|
||||
<value type="QByteArray" key="EditorConfiguration.Codec">KOI8-R</value>
|
||||
<value type="bool" key="EditorConfiguration.ConstrainTooltips">false</value>
|
||||
<value type="int" key="EditorConfiguration.IndentSize">4</value>
|
||||
<value type="bool" key="EditorConfiguration.KeyboardTooltips">false</value>
|
||||
<value type="int" key="EditorConfiguration.MarginColumn">80</value>
|
||||
<value type="bool" key="EditorConfiguration.MouseHiding">true</value>
|
||||
<value type="bool" key="EditorConfiguration.MouseNavigation">true</value>
|
||||
<value type="int" key="EditorConfiguration.PaddingMode">1</value>
|
||||
<value type="bool" key="EditorConfiguration.PreferSingleLineComments">false</value>
|
||||
<value type="bool" key="EditorConfiguration.ScrollWheelZooming">true</value>
|
||||
<value type="bool" key="EditorConfiguration.ShowMargin">false</value>
|
||||
<value type="int" key="EditorConfiguration.SmartBackspaceBehavior">0</value>
|
||||
<value type="bool" key="EditorConfiguration.SmartSelectionChanging">true</value>
|
||||
<value type="bool" key="EditorConfiguration.SpacesForTabs">true</value>
|
||||
<value type="int" key="EditorConfiguration.TabKeyBehavior">0</value>
|
||||
<value type="int" key="EditorConfiguration.TabSize">8</value>
|
||||
<value type="bool" key="EditorConfiguration.UseGlobal">true</value>
|
||||
<value type="bool" key="EditorConfiguration.UseIndenter">false</value>
|
||||
<value type="int" key="EditorConfiguration.Utf8BomBehavior">1</value>
|
||||
<value type="bool" key="EditorConfiguration.addFinalNewLine">true</value>
|
||||
<value type="bool" key="EditorConfiguration.cleanIndentation">false</value>
|
||||
<value type="bool" key="EditorConfiguration.cleanWhitespace">true</value>
|
||||
<value type="QString" key="EditorConfiguration.ignoreFileTypes">*.md, *.MD, Makefile</value>
|
||||
<value type="bool" key="EditorConfiguration.inEntireDocument">false</value>
|
||||
<value type="bool" key="EditorConfiguration.skipTrailingWhitespace">true</value>
|
||||
</valuemap>
|
||||
</data>
|
||||
<data>
|
||||
<variable>ProjectExplorer.Project.PluginSettings</variable>
|
||||
<valuemap type="QVariantMap">
|
||||
<valuemap type="QVariantMap" key="AutoTest.ActiveFrameworks">
|
||||
<value type="bool" key="AutoTest.Framework.Boost">true</value>
|
||||
<value type="bool" key="AutoTest.Framework.CTest">false</value>
|
||||
<value type="bool" key="AutoTest.Framework.Catch">true</value>
|
||||
<value type="bool" key="AutoTest.Framework.GTest">true</value>
|
||||
<value type="bool" key="AutoTest.Framework.QtQuickTest">true</value>
|
||||
<value type="bool" key="AutoTest.Framework.QtTest">true</value>
|
||||
</valuemap>
|
||||
<valuemap type="QVariantMap" key="AutoTest.CheckStates"/>
|
||||
<value type="int" key="AutoTest.RunAfterBuild">0</value>
|
||||
<value type="bool" key="AutoTest.UseGlobal">true</value>
|
||||
<valuemap type="QVariantMap" key="ClangTools">
|
||||
<value type="bool" key="ClangTools.AnalyzeOpenFiles">true</value>
|
||||
<value type="bool" key="ClangTools.BuildBeforeAnalysis">true</value>
|
||||
<value type="QString" key="ClangTools.DiagnosticConfig">Builtin.DefaultTidyAndClazy</value>
|
||||
<value type="int" key="ClangTools.ParallelJobs">2</value>
|
||||
<valuelist type="QVariantList" key="ClangTools.SelectedDirs"/>
|
||||
<valuelist type="QVariantList" key="ClangTools.SelectedFiles"/>
|
||||
<valuelist type="QVariantList" key="ClangTools.SuppressedDiagnostics"/>
|
||||
<value type="bool" key="ClangTools.UseGlobalSettings">true</value>
|
||||
</valuemap>
|
||||
</valuemap>
|
||||
</data>
|
||||
<data>
|
||||
<variable>ProjectExplorer.Project.Target.0</variable>
|
||||
<valuemap type="QVariantMap">
|
||||
<value type="QString" key="DeviceType">Desktop</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Desktop</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Desktop</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">{65a14f9e-e008-4c1b-89df-4eaa4774b6e3}</value>
|
||||
<value type="int" key="ProjectExplorer.Target.ActiveBuildConfiguration">0</value>
|
||||
<value type="int" key="ProjectExplorer.Target.ActiveDeployConfiguration">0</value>
|
||||
<value type="int" key="ProjectExplorer.Target.ActiveRunConfiguration">0</value>
|
||||
<valuemap type="QVariantMap" key="ProjectExplorer.Target.BuildConfiguration.0">
|
||||
<value type="QString" key="ProjectExplorer.BuildConfiguration.BuildDirectory">/Big/Data/00__Electronics/STM32/F303-nolib/blink</value>
|
||||
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.0">
|
||||
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
|
||||
<valuelist type="QVariantList" key="GenericProjectManager.GenericMakeStep.BuildTargets">
|
||||
<value type="QString">all</value>
|
||||
</valuelist>
|
||||
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">GenericProjectManager.GenericMakeStep</value>
|
||||
</valuemap>
|
||||
<value type="int" key="ProjectExplorer.BuildStepList.StepsCount">1</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Сборка</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Сборка</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Build</value>
|
||||
</valuemap>
|
||||
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.1">
|
||||
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
|
||||
<valuelist type="QVariantList" key="GenericProjectManager.GenericMakeStep.BuildTargets">
|
||||
<value type="QString">clean</value>
|
||||
</valuelist>
|
||||
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">GenericProjectManager.GenericMakeStep</value>
|
||||
</valuemap>
|
||||
<value type="int" key="ProjectExplorer.BuildStepList.StepsCount">1</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Очистка</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Очистка</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Clean</value>
|
||||
</valuemap>
|
||||
<value type="int" key="ProjectExplorer.BuildConfiguration.BuildStepListCount">2</value>
|
||||
<value type="bool" key="ProjectExplorer.BuildConfiguration.ClearSystemEnvironment">false</value>
|
||||
<valuelist type="QVariantList" key="ProjectExplorer.BuildConfiguration.CustomParsers"/>
|
||||
<value type="bool" key="ProjectExplorer.BuildConfiguration.ParseStandardOutput">false</value>
|
||||
<valuelist type="QVariantList" key="ProjectExplorer.BuildConfiguration.UserEnvironmentChanges"/>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Default</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">GenericProjectManager.GenericBuildConfiguration</value>
|
||||
</valuemap>
|
||||
<value type="int" key="ProjectExplorer.Target.BuildConfigurationCount">1</value>
|
||||
<valuemap type="QVariantMap" key="ProjectExplorer.Target.DeployConfiguration.0">
|
||||
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.0">
|
||||
<value type="int" key="ProjectExplorer.BuildStepList.StepsCount">0</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Развёртывание</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Развёртывание</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Deploy</value>
|
||||
</valuemap>
|
||||
<value type="int" key="ProjectExplorer.BuildConfiguration.BuildStepListCount">1</value>
|
||||
<valuemap type="QVariantMap" key="ProjectExplorer.DeployConfiguration.CustomData"/>
|
||||
<value type="bool" key="ProjectExplorer.DeployConfiguration.CustomDataEnabled">false</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.DefaultDeployConfiguration</value>
|
||||
</valuemap>
|
||||
<value type="int" key="ProjectExplorer.Target.DeployConfigurationCount">1</value>
|
||||
<valuemap type="QVariantMap" key="ProjectExplorer.Target.RunConfiguration.0">
|
||||
<valuelist type="QVariantList" key="CustomOutputParsers"/>
|
||||
<value type="int" key="PE.EnvironmentAspect.Base">2</value>
|
||||
<valuelist type="QVariantList" key="PE.EnvironmentAspect.Changes"/>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.CustomExecutableRunConfiguration</value>
|
||||
<value type="QString" key="ProjectExplorer.RunConfiguration.BuildKey"></value>
|
||||
<value type="bool" key="RunConfiguration.UseCppDebugger">false</value>
|
||||
<value type="bool" key="RunConfiguration.UseCppDebuggerAuto">true</value>
|
||||
<value type="bool" key="RunConfiguration.UseQmlDebugger">false</value>
|
||||
<value type="bool" key="RunConfiguration.UseQmlDebuggerAuto">true</value>
|
||||
</valuemap>
|
||||
<value type="int" key="ProjectExplorer.Target.RunConfigurationCount">1</value>
|
||||
</valuemap>
|
||||
</data>
|
||||
<data>
|
||||
<variable>ProjectExplorer.Project.TargetCount</variable>
|
||||
<value type="int">1</value>
|
||||
</data>
|
||||
<data>
|
||||
<variable>ProjectExplorer.Project.Updater.FileVersion</variable>
|
||||
<value type="int">22</value>
|
||||
</data>
|
||||
<data>
|
||||
<variable>Version</variable>
|
||||
<value type="int">22</value>
|
||||
</data>
|
||||
</qtcreator>
|
||||
1
F3:F303/CANbus4BTA/src/pl2303.cxxflags
Normal file
1
F3:F303/CANbus4BTA/src/pl2303.cxxflags
Normal file
@ -0,0 +1 @@
|
||||
-std=c++17
|
||||
15
F3:F303/CANbus4BTA/src/pl2303.files
Normal file
15
F3:F303/CANbus4BTA/src/pl2303.files
Normal file
@ -0,0 +1,15 @@
|
||||
hardware.c
|
||||
hardware.h
|
||||
main.c
|
||||
proto.c
|
||||
proto.h
|
||||
ringbuffer.c
|
||||
ringbuffer.h
|
||||
usart.c
|
||||
usart.h
|
||||
usb.c
|
||||
usb.h
|
||||
usb_lib.c
|
||||
usb_lib.h
|
||||
usbhw.c
|
||||
usbhw.h
|
||||
6
F3:F303/CANbus4BTA/src/pl2303.includes
Normal file
6
F3:F303/CANbus4BTA/src/pl2303.includes
Normal file
@ -0,0 +1,6 @@
|
||||
.
|
||||
../inc
|
||||
../inc/Fx
|
||||
../inc/cm
|
||||
../inc/ld
|
||||
../inc/startup
|
||||
281
F3:F303/CANbus4BTA/src/proto.c
Normal file
281
F3:F303/CANbus4BTA/src/proto.c
Normal file
@ -0,0 +1,281 @@
|
||||
/*
|
||||
* This file is part of the pl2303 project.
|
||||
* Copyright 2022 Edward V. Emelianov <edward.emelianoff@gmail.com>.
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation, either version 3 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
#include "proto.h"
|
||||
#include "usart.h"
|
||||
#include "usb.h"
|
||||
#include "version.inc"
|
||||
|
||||
uint8_t starttest = 0;
|
||||
|
||||
char *omit_spaces(const char *buf){
|
||||
while(*buf){
|
||||
if(*buf > ' ') break;
|
||||
++buf;
|
||||
}
|
||||
return (char*)buf;
|
||||
}
|
||||
|
||||
// In case of overflow return `buf` and N==0xffffffff
|
||||
// read decimal number & return pointer to next non-number symbol
|
||||
static char *getdec(const char *buf, uint32_t *N){
|
||||
char *start = (char*)buf;
|
||||
uint32_t num = 0;
|
||||
while(*buf){
|
||||
char c = *buf;
|
||||
if(c < '0' || c > '9'){
|
||||
break;
|
||||
}
|
||||
if(num > 429496729 || (num == 429496729 && c > '5')){ // overflow
|
||||
*N = 0xffffff;
|
||||
return start;
|
||||
}
|
||||
num *= 10;
|
||||
num += c - '0';
|
||||
++buf;
|
||||
}
|
||||
*N = num;
|
||||
return (char*)buf;
|
||||
}
|
||||
// read hexadecimal number (without 0x prefix!)
|
||||
static char *gethex(const char *buf, uint32_t *N){
|
||||
char *start = (char*)buf;
|
||||
uint32_t num = 0;
|
||||
while(*buf){
|
||||
char c = *buf;
|
||||
uint8_t M = 0;
|
||||
if(c >= '0' && c <= '9'){
|
||||
M = '0';
|
||||
}else if(c >= 'A' && c <= 'F'){
|
||||
M = 'A' - 10;
|
||||
}else if(c >= 'a' && c <= 'f'){
|
||||
M = 'a' - 10;
|
||||
}
|
||||
if(M){
|
||||
if(num & 0xf0000000){ // overflow
|
||||
*N = 0xffffff;
|
||||
return start;
|
||||
}
|
||||
num <<= 4;
|
||||
num += c - M;
|
||||
}else{
|
||||
break;
|
||||
}
|
||||
++buf;
|
||||
}
|
||||
*N = num;
|
||||
return (char*)buf;
|
||||
}
|
||||
// read octal number (without 0 prefix!)
|
||||
static char *getoct(const char *buf, uint32_t *N){
|
||||
char *start = (char*)buf;
|
||||
uint32_t num = 0;
|
||||
while(*buf){
|
||||
char c = *buf;
|
||||
if(c < '0' || c > '7'){
|
||||
break;
|
||||
}
|
||||
if(num & 0xe0000000){ // overflow
|
||||
*N = 0xffffff;
|
||||
return start;
|
||||
}
|
||||
num <<= 3;
|
||||
num += c - '0';
|
||||
++buf;
|
||||
}
|
||||
*N = num;
|
||||
return (char*)buf;
|
||||
}
|
||||
// read binary number (without b prefix!)
|
||||
static char *getbin(const char *buf, uint32_t *N){
|
||||
char *start = (char*)buf;
|
||||
uint32_t num = 0;
|
||||
while(*buf){
|
||||
char c = *buf;
|
||||
if(c < '0' || c > '1'){
|
||||
break;
|
||||
}
|
||||
if(num & 0x80000000){ // overflow
|
||||
*N = 0xffffff;
|
||||
return start;
|
||||
}
|
||||
num <<= 1;
|
||||
if(c == '1') num |= 1;
|
||||
++buf;
|
||||
}
|
||||
*N = num;
|
||||
return (char*)buf;
|
||||
}
|
||||
|
||||
/**
|
||||
* @brief getnum - read uint32_t from string (dec, hex or bin: 127, 0x7f, 0b1111111)
|
||||
* @param buf - buffer with number and so on
|
||||
* @param N - the number read
|
||||
* @return pointer to first non-number symbol in buf
|
||||
* (if it is == buf, there's no number or if *N==0xffffffff there was overflow)
|
||||
*/
|
||||
char *getnum(const char *txt, uint32_t *N){
|
||||
char *nxt = NULL;
|
||||
char *s = omit_spaces(txt);
|
||||
if(*s == '0'){ // hex, oct or 0
|
||||
if(s[1] == 'x' || s[1] == 'X'){ // hex
|
||||
nxt = gethex(s+2, N);
|
||||
if(nxt == s+2) nxt = (char*)txt;
|
||||
}else if(s[1] > '0'-1 && s[1] < '8'){ // oct
|
||||
nxt = getoct(s+1, N);
|
||||
if(nxt == s+1) nxt = (char*)txt;
|
||||
}else{ // 0
|
||||
nxt = s+1;
|
||||
*N = 0;
|
||||
}
|
||||
}else if(*s == 'b' || *s == 'B'){
|
||||
nxt = getbin(s+1, N);
|
||||
if(nxt == s+1) nxt = (char*)txt;
|
||||
}else{
|
||||
nxt = getdec(s, N);
|
||||
if(nxt == s) nxt = (char*)txt;
|
||||
}
|
||||
return nxt;
|
||||
}
|
||||
|
||||
const char* helpmsg =
|
||||
"https://github.com/eddyem/stm32samples/tree/master/F3:F303/PL2303 build#" BUILD_NUMBER " @ " BUILD_DATE "\n"
|
||||
"'i' - print USB->ISTR state\n"
|
||||
"'p' - toggle USB pullup\n"
|
||||
"'N' - read number (dec, 0xhex, 0oct, bbin) and show it in decimal\n"
|
||||
"'R' - software reset\n"
|
||||
"'T' - test usb sending a very large message\n"
|
||||
"'U' - get USB status\n"
|
||||
"'W' - test watchdog\n"
|
||||
;
|
||||
|
||||
static char stbuf[256], *bptr = NULL;
|
||||
static int blen = 0;
|
||||
static void initbuf(){bptr = stbuf; blen = 255; *bptr = 0;}
|
||||
static void add2buf(const char *s){
|
||||
while(blen && *s){
|
||||
*bptr++ = *s++;
|
||||
--blen;
|
||||
}
|
||||
*bptr = 0;
|
||||
}
|
||||
|
||||
extern uint8_t usbON;
|
||||
const char *parse_cmd(const char *buf){
|
||||
initbuf();
|
||||
if(buf[1] == '\n' || !buf[1]){ // one symbol commands
|
||||
switch(*buf){
|
||||
case 'i':
|
||||
add2buf("USB->ISTR=");
|
||||
add2buf(u2hexstr(USB->ISTR));
|
||||
add2buf(", USB->CNTR=");
|
||||
add2buf(u2hexstr(USB->CNTR));
|
||||
add2buf("\n");
|
||||
break;
|
||||
case 'p':
|
||||
pin_toggle(USBPU_port, USBPU_pin);
|
||||
add2buf("USB pullup is ");
|
||||
if(pin_read(USBPU_port, USBPU_pin)) add2buf("off\n");
|
||||
else add2buf("on\n");
|
||||
break;
|
||||
case 'R':
|
||||
USB_sendstr("Soft reset\n");
|
||||
usart_send("Soft reset\n");
|
||||
NVIC_SystemReset();
|
||||
break;
|
||||
case 'T':
|
||||
add2buf("STARTT=");
|
||||
add2buf(u2str(Tms)); add2buf("\n");
|
||||
starttest = 10;
|
||||
break;
|
||||
case 'U':
|
||||
add2buf("USB status: ");
|
||||
if(usbON) add2buf("ON");
|
||||
else add2buf("OFF");
|
||||
add2buf("\n");
|
||||
break;
|
||||
case 'W':
|
||||
USB_sendstr("Wait for reboot\n");
|
||||
usart_send("Wait for reboot\n");
|
||||
while(1){nop();};
|
||||
break;
|
||||
default:
|
||||
return helpmsg;
|
||||
}
|
||||
return stbuf;
|
||||
}
|
||||
uint32_t Num = 0;
|
||||
char *nxt;
|
||||
switch(*buf){ // long messages
|
||||
case 'N':
|
||||
++buf;
|
||||
nxt = getnum(buf, &Num);
|
||||
if(buf == nxt){
|
||||
if(Num == 0) return "Wrong number\n";
|
||||
return "Integer32 overflow\n";
|
||||
}
|
||||
add2buf("You give: ");
|
||||
add2buf(u2str(Num));
|
||||
if(*nxt && *nxt != '\n'){
|
||||
add2buf(", the rest of string: ");
|
||||
add2buf(nxt);
|
||||
}else add2buf("\n");
|
||||
break;
|
||||
default:
|
||||
return buf;
|
||||
}
|
||||
return stbuf;
|
||||
}
|
||||
|
||||
|
||||
// return string with number `val`
|
||||
char *u2str(uint32_t val){
|
||||
static char strbuf[11];
|
||||
char *bufptr = &strbuf[10];
|
||||
*bufptr = 0;
|
||||
if(!val){
|
||||
*(--bufptr) = '0';
|
||||
}else{
|
||||
while(val){
|
||||
*(--bufptr) = val % 10 + '0';
|
||||
val /= 10;
|
||||
}
|
||||
}
|
||||
return bufptr;
|
||||
}
|
||||
|
||||
char *u2hexstr(uint32_t val){
|
||||
static char strbuf[11] = "0x";
|
||||
char *sptr = strbuf + 2;
|
||||
uint8_t *ptr = (uint8_t*)&val + 3;
|
||||
int8_t i, j, z=1;
|
||||
for(i = 0; i < 4; ++i, --ptr){
|
||||
if(*ptr == 0){ // omit leading zeros
|
||||
if(i == 3) z = 0;
|
||||
if(z) continue;
|
||||
}
|
||||
else z = 0;
|
||||
for(j = 1; j > -1; --j){
|
||||
uint8_t half = (*ptr >> (4*j)) & 0x0f;
|
||||
if(half < 10) *sptr++ = half + '0';
|
||||
else *sptr++ = half - 10 + 'a';
|
||||
}
|
||||
}
|
||||
*sptr = 0;
|
||||
return strbuf;
|
||||
}
|
||||
33
F3:F303/CANbus4BTA/src/proto.h
Normal file
33
F3:F303/CANbus4BTA/src/proto.h
Normal file
@ -0,0 +1,33 @@
|
||||
/*
|
||||
* This file is part of the pl2303 project.
|
||||
* Copyright 2022 Edward V. Emelianov <edward.emelianoff@gmail.com>.
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation, either version 3 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
#pragma once
|
||||
#ifndef PROTO_H__
|
||||
#define PROTO_H__
|
||||
|
||||
#include <stm32f3.h>
|
||||
|
||||
extern uint8_t starttest;
|
||||
|
||||
const char *parse_cmd(const char *buf);
|
||||
char *omit_spaces(const char *buf);
|
||||
char *getnum(const char *buf, uint32_t *N);
|
||||
char *u2str(uint32_t val);
|
||||
char *u2hexstr(uint32_t val);
|
||||
|
||||
#endif // PROTO_H__
|
||||
124
F3:F303/CANbus4BTA/src/ringbuffer.c
Normal file
124
F3:F303/CANbus4BTA/src/ringbuffer.c
Normal file
@ -0,0 +1,124 @@
|
||||
/*
|
||||
* This file is part of the pl2303 project.
|
||||
* Copyright 2022 Edward V. Emelianov <edward.emelianoff@gmail.com>.
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation, either version 3 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
#include "ringbuffer.h"
|
||||
|
||||
// stored data length
|
||||
int RB_datalen(ringbuffer *b){
|
||||
if(b->tail >= b->head) return (b->tail - b->head);
|
||||
else return (b->length - b->head + b->tail);
|
||||
}
|
||||
|
||||
/**
|
||||
* @brief RB_hasbyte - check if buffer has given byte stored
|
||||
* @param b - buffer
|
||||
* @param byte - byte to find
|
||||
* @return index if found, -1 if none
|
||||
*/
|
||||
int RB_hasbyte(ringbuffer *b, uint8_t byte){
|
||||
if(b->head == b->tail) return -1; // no data in buffer
|
||||
int startidx = b->head;
|
||||
if(b->head > b->tail){ //
|
||||
for(int found = b->head; found < b->length; ++found)
|
||||
if(b->data[found] == byte) return found;
|
||||
startidx = 0;
|
||||
}
|
||||
for(int found = startidx; found < b->tail; ++found)
|
||||
if(b->data[found] == byte) return found;
|
||||
return -1;
|
||||
}
|
||||
|
||||
// poor memcpy
|
||||
static void mcpy(uint8_t *targ, const uint8_t *src, int l){
|
||||
while(l--) *targ++ = *src++;
|
||||
}
|
||||
|
||||
// increment head or tail
|
||||
TRUE_INLINE void incr(ringbuffer *b, volatile int *what, int n){
|
||||
*what += n;
|
||||
if(*what >= b->length) *what -= b->length;
|
||||
}
|
||||
|
||||
/**
|
||||
* @brief RB_read - read data from ringbuffer
|
||||
* @param b - buffer
|
||||
* @param s - array to write data
|
||||
* @param len - max len of `s`
|
||||
* @return bytes read
|
||||
*/
|
||||
int RB_read(ringbuffer *b, uint8_t *s, int len){
|
||||
int l = RB_datalen(b);
|
||||
if(!l) return 0;
|
||||
if(l > len) l = len;
|
||||
int _1st = b->length - b->head;
|
||||
if(_1st > l) _1st = l;
|
||||
if(_1st > len) _1st = len;
|
||||
mcpy(s, b->data + b->head, _1st);
|
||||
if(_1st < len && l > _1st){
|
||||
mcpy(s+_1st, b->data, l - _1st);
|
||||
incr(b, &b->head, l);
|
||||
return l;
|
||||
}
|
||||
incr(b, &b->head, _1st);
|
||||
return _1st;
|
||||
}
|
||||
|
||||
/**
|
||||
* @brief RB_readto fill array `s` with data until byte `byte` (with it)
|
||||
* @param b - ringbuffer
|
||||
* @param byte - check byte
|
||||
* @param s - buffer to write data
|
||||
* @param len - length of `s`
|
||||
* @return amount of bytes written (negative, if len<data in buffer)
|
||||
*/
|
||||
int RB_readto(ringbuffer *b, uint8_t byte, uint8_t *s, int len){
|
||||
int idx = RB_hasbyte(b, byte);
|
||||
if(idx < 0) return 0;
|
||||
int partlen = idx + 1 - b->head;
|
||||
// now calculate length of new data portion
|
||||
if(idx < b->head) partlen += b->length;
|
||||
if(partlen > len) return -RB_read(b, s, len);
|
||||
return RB_read(b, s, partlen);
|
||||
}
|
||||
|
||||
/**
|
||||
* @brief RB_write - write some data to ringbuffer
|
||||
* @param b - buffer
|
||||
* @param str - data
|
||||
* @param l - length
|
||||
* @return amount of bytes written
|
||||
*/
|
||||
int RB_write(ringbuffer *b, const uint8_t *str, int l){
|
||||
int r = b->length - 1 - RB_datalen(b); // rest length
|
||||
if(l > r) l = r;
|
||||
if(!l) return 0;
|
||||
int _1st = b->length - b->tail;
|
||||
if(_1st > l) _1st = l;
|
||||
mcpy(b->data + b->tail, str, _1st);
|
||||
if(_1st < l){ // add another piece from start
|
||||
mcpy(b->data, str+_1st, l-_1st);
|
||||
}
|
||||
incr(b, &b->tail, l);
|
||||
return l;
|
||||
}
|
||||
|
||||
// just delete all information in buffer `b`
|
||||
void RB_clearbuf(ringbuffer *b){
|
||||
b->head = 0;
|
||||
b->tail = 0;
|
||||
}
|
||||
39
F3:F303/CANbus4BTA/src/ringbuffer.h
Normal file
39
F3:F303/CANbus4BTA/src/ringbuffer.h
Normal file
@ -0,0 +1,39 @@
|
||||
/*
|
||||
* This file is part of the pl2303 project.
|
||||
* Copyright 2022 Edward V. Emelianov <edward.emelianoff@gmail.com>.
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation, either version 3 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
#pragma once
|
||||
#ifndef RINGBUFFER_H__
|
||||
#define RINGBUFFER_H__
|
||||
|
||||
#include <stm32f3.h>
|
||||
|
||||
typedef struct{
|
||||
uint8_t *data; // data buffer
|
||||
const int length; // its length
|
||||
int head; // head index
|
||||
int tail; // tail index
|
||||
} ringbuffer;
|
||||
|
||||
int RB_read(ringbuffer *b, uint8_t *s, int len);
|
||||
int RB_readto(ringbuffer *b, uint8_t byte, uint8_t *s, int len);
|
||||
int RB_hasbyte(ringbuffer *b, uint8_t byte);
|
||||
int RB_write(ringbuffer *b, const uint8_t *str, int l);
|
||||
int RB_datalen(ringbuffer *b);
|
||||
void RB_clearbuf(ringbuffer *b);
|
||||
|
||||
#endif // RINGBUFFER_H__
|
||||
100
F3:F303/CANbus4BTA/src/usart.c
Normal file
100
F3:F303/CANbus4BTA/src/usart.c
Normal file
@ -0,0 +1,100 @@
|
||||
/*
|
||||
* This file is part of the pl2303 project.
|
||||
* Copyright 2022 Edward V. Emelianov <edward.emelianoff@gmail.com>.
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation, either version 3 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
#include "stm32f3.h"
|
||||
#include "hardware.h"
|
||||
#include "usart.h"
|
||||
#include <string.h>
|
||||
|
||||
static volatile int idatalen = 0; // received data line length (including '\n')
|
||||
|
||||
volatile int linerdy = 0, // received data ready
|
||||
dlen = 0, // length of data (including '\n') in current buffer
|
||||
bufovr = 0; // input buffer overfull
|
||||
|
||||
static volatile int rbufno = 0; // current rbuf number
|
||||
static char rbuf[2][UARTBUFSZ]; // receive buffers
|
||||
static volatile char *recvdata = NULL;
|
||||
|
||||
/**
|
||||
* return length of received data (without trailing zero)
|
||||
*/
|
||||
int usart_getline(char **line){
|
||||
if(bufovr){
|
||||
bufovr = 0;
|
||||
linerdy = 0;
|
||||
return 0;
|
||||
}
|
||||
if(!linerdy) return 0;
|
||||
*line = (char*)recvdata;
|
||||
linerdy = 0;
|
||||
return dlen;
|
||||
}
|
||||
|
||||
void usart_putchar(const char ch){
|
||||
while(!(USART1->ISR & USART_ISR_TXE));
|
||||
USART1->TDR = ch;
|
||||
}
|
||||
void usart_sendn(const char *str, int L){
|
||||
if(!str) return;
|
||||
for(int i = 0; i < L; ++i){
|
||||
usart_putchar(str[i]);
|
||||
}
|
||||
}
|
||||
void usart_send(const char *str){
|
||||
if(!str) return;
|
||||
int L = 0;
|
||||
const char *ptr = str;
|
||||
while(*ptr++) ++L;
|
||||
usart_sendn(str, L);
|
||||
}
|
||||
|
||||
void usart_setup(){
|
||||
// clock
|
||||
RCC->APB2ENR |= RCC_APB2ENR_USART1EN;
|
||||
USART1->ICR = 0xffffffff; // clear all flags
|
||||
USART1->BRR = SysFreq / 115200;
|
||||
USART1->CR1 = USART_CR1_TE | USART_CR1_RE | USART_CR1_UE | USART_CR1_RXNEIE; // 1start,8data,nstop; enable Rx,Tx,USART
|
||||
uint32_t tmout = 16000000;
|
||||
while(!(USART1->ISR & USART_ISR_TC)){if(--tmout == 0) break;} // polling idle frame Transmission
|
||||
USART1->ICR = 0xffffffff; // clear all flags again
|
||||
NVIC_SetPriority(USART1_IRQn, 0);
|
||||
NVIC_EnableIRQ(USART1_IRQn);
|
||||
}
|
||||
|
||||
void usart1_exti25_isr(){
|
||||
if(USART1->ISR & USART_ISR_RXNE){ // RX not emty - receive next char
|
||||
// read RDR clears flag
|
||||
uint8_t rb = USART1->RDR;
|
||||
if(idatalen < UARTBUFSZ){ // put next char into buf
|
||||
rbuf[rbufno][idatalen++] = rb;
|
||||
if(rb == '\n'){ // got newline - line ready
|
||||
linerdy = 1;
|
||||
dlen = idatalen;
|
||||
recvdata = rbuf[rbufno];
|
||||
recvdata[dlen-1] = 0;
|
||||
// prepare other buffer
|
||||
rbufno = !rbufno;
|
||||
idatalen = 0;
|
||||
}
|
||||
}else{ // buffer overrun
|
||||
bufovr = 1;
|
||||
idatalen = 0;
|
||||
}
|
||||
}
|
||||
}
|
||||
36
F3:F303/CANbus4BTA/src/usart.h
Normal file
36
F3:F303/CANbus4BTA/src/usart.h
Normal file
@ -0,0 +1,36 @@
|
||||
/*
|
||||
* This file is part of the pl2303 project.
|
||||
* Copyright 2022 Edward V. Emelianov <edward.emelianoff@gmail.com>.
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation, either version 3 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
#pragma once
|
||||
#ifndef __USART_H__
|
||||
#define __USART_H__
|
||||
|
||||
#include "hardware.h"
|
||||
|
||||
// input buffers size
|
||||
#define UARTBUFSZ (80)
|
||||
|
||||
extern volatile int linerdy, bufovr;
|
||||
|
||||
void usart_setup();
|
||||
int usart_getline(char **line);
|
||||
void usart_send(const char *str);
|
||||
void usart_sendn(const char *str, int L);
|
||||
void usart_putchar(const char ch);
|
||||
|
||||
#endif // __USART_H__
|
||||
126
F3:F303/CANbus4BTA/src/usb.c
Normal file
126
F3:F303/CANbus4BTA/src/usb.c
Normal file
@ -0,0 +1,126 @@
|
||||
/*
|
||||
* This file is part of the pl2303 project.
|
||||
* Copyright 2023 Edward V. Emelianov <edward.emelianoff@gmail.com>.
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation, either version 3 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
#include <string.h>
|
||||
|
||||
#include "hardware.h"
|
||||
#include "usb.h"
|
||||
#include "usb_lib.h"
|
||||
|
||||
static volatile uint8_t usbbuff[USB_TXBUFSZ]; // temporary buffer for sending data
|
||||
// ring buffers for incoming and outgoing data
|
||||
static uint8_t obuf[RBOUTSZ], ibuf[RBINSZ];
|
||||
volatile ringbuffer rbout = {.data = obuf, .length = RBOUTSZ, .head = 0, .tail = 0};
|
||||
volatile ringbuffer rbin = {.data = ibuf, .length = RBINSZ, .head = 0, .tail = 0};
|
||||
// transmission is succesfull
|
||||
volatile uint8_t bufisempty = 1;
|
||||
volatile uint8_t bufovrfl = 0;
|
||||
|
||||
void send_next(){
|
||||
if(bufisempty) return;
|
||||
static int lastdsz = 0;
|
||||
int buflen = RB_read((ringbuffer*)&rbout, (uint8_t*)usbbuff, USB_TXBUFSZ);
|
||||
if(!buflen){
|
||||
if(lastdsz == 64) EP_Write(3, NULL, 0); // send ZLP after 64 bits packet when nothing more to send
|
||||
lastdsz = 0;
|
||||
bufisempty = 1;
|
||||
return;
|
||||
}
|
||||
EP_Write(3, (uint8_t*)usbbuff, buflen);
|
||||
lastdsz = buflen;
|
||||
}
|
||||
|
||||
// blocking send full content of ring buffer
|
||||
int USB_sendall(){
|
||||
while(!bufisempty){
|
||||
if(!usbON) return 0;
|
||||
}
|
||||
return 1;
|
||||
}
|
||||
|
||||
// put `buf` into queue to send
|
||||
int USB_send(const uint8_t *buf, int len){
|
||||
if(!buf || !usbON || !len) return 0;
|
||||
while(len){
|
||||
int a = RB_write((ringbuffer*)&rbout, buf, len);
|
||||
len -= a;
|
||||
buf += a;
|
||||
if(bufisempty){
|
||||
bufisempty = 0;
|
||||
send_next();
|
||||
}
|
||||
}
|
||||
return 1;
|
||||
}
|
||||
|
||||
int USB_putbyte(uint8_t byte){
|
||||
if(!usbON) return 0;
|
||||
while(0 == RB_write((ringbuffer*)&rbout, &byte, 1)){
|
||||
if(bufisempty){
|
||||
bufisempty = 0;
|
||||
send_next();
|
||||
}
|
||||
}
|
||||
return 1;
|
||||
}
|
||||
|
||||
int USB_sendstr(const char *string){
|
||||
if(!string || !usbON) return 0;
|
||||
int len = 0;
|
||||
const char *b = string;
|
||||
while(*b++) ++len;
|
||||
if(!len) return 0;
|
||||
return USB_send((const uint8_t*)string, len);
|
||||
}
|
||||
|
||||
/**
|
||||
* @brief USB_receive - get binary data from receiving ring-buffer
|
||||
* @param buf (i) - buffer for received data
|
||||
* @param len - length of `buf`
|
||||
* @return amount of received bytes (negative, if overfull happened)
|
||||
*/
|
||||
int USB_receive(uint8_t *buf, int len){
|
||||
int sz = RB_read((ringbuffer*)&rbin, buf, len);
|
||||
if(bufovrfl){
|
||||
RB_clearbuf((ringbuffer*)&rbin);
|
||||
if(!sz) sz = -1;
|
||||
else sz = -sz;
|
||||
bufovrfl = 0;
|
||||
}
|
||||
return sz;
|
||||
}
|
||||
|
||||
/**
|
||||
* @brief USB_receivestr - get string up to '\n' and replace '\n' with 0
|
||||
* @param buf - receiving buffer
|
||||
* @param len - its length
|
||||
* @return strlen or negative value indicating overflow (if so, string won't be ends with 0 and buffer should be cleared)
|
||||
*/
|
||||
int USB_receivestr(char *buf, int len){
|
||||
int l = RB_readto((ringbuffer*)&rbin, '\n', (uint8_t*)buf, len);
|
||||
if(l == 0) return 0;
|
||||
if(--l < 0 || bufovrfl) RB_clearbuf((ringbuffer*)&rbin);
|
||||
else buf[l] = 0; // replace '\n' with strend
|
||||
if(bufovrfl){
|
||||
if(l > 0) l = -l;
|
||||
else l = -1;
|
||||
bufovrfl = 0;
|
||||
}
|
||||
return l;
|
||||
}
|
||||
|
||||
49
F3:F303/CANbus4BTA/src/usb.h
Normal file
49
F3:F303/CANbus4BTA/src/usb.h
Normal file
@ -0,0 +1,49 @@
|
||||
/*
|
||||
* This file is part of the pl2303 project.
|
||||
* Copyright 2023 Edward V. Emelianov <edward.emelianoff@gmail.com>.
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation, either version 3 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
#pragma once
|
||||
|
||||
#include "ringbuffer.h"
|
||||
#include "usbhw.h"
|
||||
|
||||
// sizes of ringbuffers for outgoing and incoming data
|
||||
#define RBOUTSZ (512)
|
||||
#define RBINSZ (512)
|
||||
|
||||
#define newline() USB_putbyte('\n')
|
||||
#define USND(s) do{USB_sendstr(s); USB_putbyte('\n');}while(0)
|
||||
|
||||
#define STR_HELPER(s) #s
|
||||
#define STR(s) STR_HELPER(s)
|
||||
|
||||
#ifdef EBUG
|
||||
#define DBG(str) do{USB_sendstr(__FILE__ " (L" STR(__LINE__) "): " str); newline();}while(0)
|
||||
#else
|
||||
#define DBG(str)
|
||||
#endif
|
||||
|
||||
extern volatile ringbuffer rbout, rbin;
|
||||
extern volatile uint8_t bufisempty, bufovrfl;
|
||||
|
||||
void send_next();
|
||||
int USB_sendall();
|
||||
int USB_send(const uint8_t *buf, int len);
|
||||
int USB_putbyte(uint8_t byte);
|
||||
int USB_sendstr(const char *string);
|
||||
int USB_receive(uint8_t *buf, int len);
|
||||
int USB_receivestr(char *buf, int len);
|
||||
438
F3:F303/CANbus4BTA/src/usb_lib.c
Normal file
438
F3:F303/CANbus4BTA/src/usb_lib.c
Normal file
@ -0,0 +1,438 @@
|
||||
/*
|
||||
* This file is part of the pl2303 project.
|
||||
* Copyright 2023 Edward V. Emelianov <edward.emelianoff@gmail.com>.
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation, either version 3 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
#include <stdint.h>
|
||||
#include "usb.h"
|
||||
#include "usb_lib.h"
|
||||
#include "usbhw.h"
|
||||
|
||||
ep_t endpoints[STM32ENDPOINTS];
|
||||
|
||||
static uint16_t USB_Addr = 0;
|
||||
static usb_LineCoding lineCoding = {115200, 0, 0, 8};
|
||||
uint8_t ep0databuf[EP0DATABUF_SIZE], setupdatabuf[EP0DATABUF_SIZE];
|
||||
static config_pack_t *setup_packet = (config_pack_t*) setupdatabuf;
|
||||
|
||||
usb_LineCoding getLineCoding(){return lineCoding;}
|
||||
|
||||
volatile uint8_t usbON = 0; // device disconnected from terminal
|
||||
|
||||
// definition of parts common for USB_DeviceDescriptor & USB_DeviceQualifierDescriptor
|
||||
#define bcdUSB_L 0x10
|
||||
#define bcdUSB_H 0x01
|
||||
#define bDeviceClass 0
|
||||
#define bDeviceSubClass 0
|
||||
#define bDeviceProtocol 0
|
||||
#define bNumConfigurations 1
|
||||
|
||||
static const uint8_t USB_DeviceDescriptor[] = {
|
||||
18, // bLength
|
||||
0x01, // bDescriptorType - Device descriptor
|
||||
bcdUSB_L, // bcdUSB_L - 1.10
|
||||
bcdUSB_H, // bcdUSB_H
|
||||
bDeviceClass, // bDeviceClass - USB_COMM
|
||||
bDeviceSubClass, // bDeviceSubClass
|
||||
bDeviceProtocol, // bDeviceProtocol
|
||||
USB_EP0_BUFSZ, // bMaxPacketSize
|
||||
0x7b, // idVendor_L PL2303: VID=0x067b, PID=0x2303
|
||||
0x06, // idVendor_H
|
||||
0x03, // idProduct_L
|
||||
0x23, // idProduct_H
|
||||
0x00, // bcdDevice_Ver_L
|
||||
0x03, // bcdDevice_Ver_H
|
||||
iMANUFACTURER_DESCR, // iManufacturer
|
||||
iPRODUCT_DESCR, // iProduct
|
||||
iSERIAL_DESCR, // iSerialNumber
|
||||
bNumConfigurations // bNumConfigurations
|
||||
};
|
||||
|
||||
static const uint8_t USB_DeviceQualifierDescriptor[] = {
|
||||
10, //bLength
|
||||
0x06, // bDescriptorType - Device qualifier
|
||||
bcdUSB_L, // bcdUSB_L
|
||||
bcdUSB_H, // bcdUSB_H
|
||||
bDeviceClass, // bDeviceClass
|
||||
bDeviceSubClass, // bDeviceSubClass
|
||||
bDeviceProtocol, // bDeviceProtocol
|
||||
USB_EP0_BUFSZ, // bMaxPacketSize0
|
||||
bNumConfigurations, // bNumConfigurations
|
||||
0x00 // Reserved
|
||||
};
|
||||
|
||||
static const uint8_t USB_ConfigDescriptor[] = {
|
||||
/*Configuration Descriptor*/
|
||||
0x09, /* bLength: Configuration Descriptor size */
|
||||
0x02, /* bDescriptorType: Configuration */
|
||||
39, /* wTotalLength:no of returned bytes */
|
||||
0x00,
|
||||
0x01, /* bNumInterfaces: 1 interface */
|
||||
0x01, /* bConfigurationValue: Configuration value */
|
||||
0x00, /* iConfiguration: Index of string descriptor describing the configuration */
|
||||
0xa0, /* bmAttributes - Bus powered, Remote wakeup */
|
||||
0x32, /* MaxPower 100 mA */
|
||||
|
||||
/*---------------------------------------------------------------------------*/
|
||||
|
||||
/*Interface Descriptor */
|
||||
0x09, /* bLength: Interface Descriptor size */
|
||||
0x04, /* bDescriptorType: Interface */
|
||||
0x00, /* bInterfaceNumber: Number of Interface */
|
||||
0x00, /* bAlternateSetting: Alternate setting */
|
||||
0x03, /* bNumEndpoints: 3 endpoints used */
|
||||
0xff, /* bInterfaceClass */
|
||||
0x00, /* bInterfaceSubClass */
|
||||
0x00, /* bInterfaceProtocol */
|
||||
iINTERFACE_DESCR, /* iInterface: */
|
||||
///////////////////////////////////////////////////
|
||||
/*Endpoint 1 Descriptor*/
|
||||
0x07, /* bLength: Endpoint Descriptor size */
|
||||
0x05, /* bDescriptorType: Endpoint */
|
||||
0x81, /* bEndpointAddress IN1 */
|
||||
0x03, /* bmAttributes: Interrupt */
|
||||
0x0a, /* wMaxPacketSize LO: */
|
||||
0x00, /* wMaxPacketSize HI: */
|
||||
0x01, /* bInterval: */
|
||||
|
||||
/*Endpoint OUT2 Descriptor*/
|
||||
0x07, /* bLength: Endpoint Descriptor size */
|
||||
0x05, /* bDescriptorType: Endpoint */
|
||||
0x02, /* bEndpointAddress: OUT2 */
|
||||
0x02, /* bmAttributes: Bulk */
|
||||
(USB_RXBUFSZ & 0xff), /* wMaxPacketSize: 64 */
|
||||
(USB_RXBUFSZ >> 8),
|
||||
0x00, /* bInterval: ignore for Bulk transfer */
|
||||
|
||||
/*Endpoint IN3 Descriptor*/
|
||||
0x07, /* bLength: Endpoint Descriptor size */
|
||||
0x05, /* bDescriptorType: Endpoint */
|
||||
0x83, /* bEndpointAddress IN3 */
|
||||
0x02, /* bmAttributes: Bulk */
|
||||
(USB_TXBUFSZ & 0xff), /* wMaxPacketSize: 64 */
|
||||
(USB_TXBUFSZ >> 8),
|
||||
0x00, /* bInterval: ignore for Bulk transfer */
|
||||
};
|
||||
|
||||
_USB_LANG_ID_(LD, LANG_US);
|
||||
_USB_STRING_(SD, u"0.0.1");
|
||||
_USB_STRING_(MD, u"Prolific Technology Inc.");
|
||||
_USB_STRING_(PD, u"USB-Serial Controller");
|
||||
_USB_STRING_(ID, u"pl2303_emulator");
|
||||
static void const *StringDescriptor[iDESCR_AMOUNT] = {
|
||||
[iLANGUAGE_DESCR] = &LD,
|
||||
[iMANUFACTURER_DESCR] = &MD,
|
||||
[iPRODUCT_DESCR] = &PD,
|
||||
[iSERIAL_DESCR] = &SD,
|
||||
[iINTERFACE_DESCR] = &ID
|
||||
};
|
||||
|
||||
|
||||
/*
|
||||
* default handlers
|
||||
*/
|
||||
// SET_LINE_CODING
|
||||
void WEAK linecoding_handler(usb_LineCoding __attribute__((unused)) *lc){
|
||||
}
|
||||
|
||||
// SET_CONTROL_LINE_STATE
|
||||
void WEAK clstate_handler(uint16_t __attribute__((unused)) val){
|
||||
}
|
||||
|
||||
// SEND_BREAK
|
||||
void WEAK break_handler(){
|
||||
}
|
||||
|
||||
// handler of vendor requests
|
||||
void WEAK vendor_handler(config_pack_t *packet){
|
||||
uint16_t c;
|
||||
if(packet->bmRequestType & 0x80){ // read
|
||||
switch(packet->wValue){
|
||||
case 0x8484:
|
||||
c = 2;
|
||||
break;
|
||||
case 0x0080:
|
||||
c = 1;
|
||||
break;
|
||||
case 0x8686:
|
||||
c = 0xaa;
|
||||
break;
|
||||
default:
|
||||
c = 0;
|
||||
}
|
||||
EP_WriteIRQ(0, (uint8_t*)&c, 1);
|
||||
}else{ // write ZLP
|
||||
c = 0;
|
||||
EP_WriteIRQ(0, (uint8_t *)&c, 0);
|
||||
}
|
||||
}
|
||||
|
||||
static void wr0(const uint8_t *buf, uint16_t size){
|
||||
if(setup_packet->wLength < size) size = setup_packet->wLength; // shortened request
|
||||
if(size < endpoints[0].txbufsz){
|
||||
EP_WriteIRQ(0, buf, size);
|
||||
return;
|
||||
}
|
||||
while(size){
|
||||
uint16_t l = size;
|
||||
if(l > endpoints[0].txbufsz) l = endpoints[0].txbufsz;
|
||||
EP_WriteIRQ(0, buf, l);
|
||||
buf += l;
|
||||
size -= l;
|
||||
uint8_t needzlp = (l == endpoints[0].txbufsz) ? 1 : 0;
|
||||
if(size || needzlp){ // send last data buffer
|
||||
uint16_t status = KEEP_DTOG(USB->EPnR[0]);
|
||||
// keep DTOGs, clear CTR_RX,TX, set TX VALID, leave stat_Rx
|
||||
USB->EPnR[0] = (status & ~(USB_EPnR_CTR_RX|USB_EPnR_CTR_TX|USB_EPnR_STAT_RX))
|
||||
^ USB_EPnR_STAT_TX;
|
||||
uint32_t ctr = 1000000;
|
||||
while(--ctr && (USB->ISTR & USB_ISTR_CTR) == 0){IWDG->KR = IWDG_REFRESH;};
|
||||
if((USB->ISTR & USB_ISTR_CTR) == 0){
|
||||
return;
|
||||
}
|
||||
if(needzlp) EP_WriteIRQ(0, (uint8_t*)0, 0);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
static inline void get_descriptor(){
|
||||
uint8_t descrtype = setup_packet->wValue >> 8,
|
||||
descridx = setup_packet->wValue & 0xff;
|
||||
switch(descrtype){
|
||||
case DEVICE_DESCRIPTOR:
|
||||
wr0(USB_DeviceDescriptor, sizeof(USB_DeviceDescriptor));
|
||||
break;
|
||||
case CONFIGURATION_DESCRIPTOR:
|
||||
wr0(USB_ConfigDescriptor, sizeof(USB_ConfigDescriptor));
|
||||
break;
|
||||
case STRING_DESCRIPTOR:
|
||||
if(descridx < iDESCR_AMOUNT) wr0((const uint8_t *)StringDescriptor[descridx], *((uint8_t*)StringDescriptor[descridx]));
|
||||
else EP_WriteIRQ(0, (uint8_t*)0, 0);
|
||||
break;
|
||||
case DEVICE_QUALIFIER_DESCRIPTOR:
|
||||
wr0(USB_DeviceQualifierDescriptor, USB_DeviceQualifierDescriptor[0]);
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
static uint16_t configuration = 0; // reply for GET_CONFIGURATION (==1 if configured)
|
||||
static inline void std_d2h_req(){
|
||||
uint16_t status = 0; // bus powered
|
||||
switch(setup_packet->bRequest){
|
||||
case GET_DESCRIPTOR:
|
||||
get_descriptor();
|
||||
break;
|
||||
case GET_STATUS:
|
||||
EP_WriteIRQ(0, (uint8_t *)&status, 2); // send status: Bus Powered
|
||||
break;
|
||||
case GET_CONFIGURATION:
|
||||
EP_WriteIRQ(0, (uint8_t*)&configuration, 1);
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
// interrupt IN handler (never used?)
|
||||
static void EP1_Handler(){
|
||||
uint16_t epstatus = KEEP_DTOG(USB->EPnR[1]);
|
||||
if(RX_FLAG(epstatus)) epstatus = (epstatus & ~USB_EPnR_STAT_TX) ^ USB_EPnR_STAT_RX; // set valid RX
|
||||
else epstatus = epstatus & ~(USB_EPnR_STAT_TX|USB_EPnR_STAT_RX);
|
||||
// clear CTR
|
||||
epstatus = (epstatus & ~(USB_EPnR_CTR_RX|USB_EPnR_CTR_TX));
|
||||
USB->EPnR[1] = epstatus;
|
||||
}
|
||||
|
||||
// data IN/OUT handlers
|
||||
static void transmit_Handler(){ // EP3IN
|
||||
uint16_t epstatus = KEEP_DTOG_STAT(USB->EPnR[3]);
|
||||
// clear CTR keep DTOGs & STATs
|
||||
USB->EPnR[3] = (epstatus & ~(USB_EPnR_CTR_TX)); // clear TX ctr
|
||||
send_next();
|
||||
}
|
||||
|
||||
static void receive_Handler(){ // EP2OUT
|
||||
uint8_t buf[USB_RXBUFSZ];
|
||||
uint16_t epstatus = KEEP_DTOG(USB->EPnR[2]);
|
||||
uint8_t sz = EP_Read(2, (uint8_t*)buf);
|
||||
if(sz){
|
||||
if(RB_write((ringbuffer*)&rbin, buf, sz) != sz) bufovrfl = 1;
|
||||
}
|
||||
// keep stat_tx & set ACK rx, clear RX ctr
|
||||
USB->EPnR[2] = (epstatus & ~USB_EPnR_CTR_RX) ^ USB_EPnR_STAT_RX;
|
||||
}
|
||||
|
||||
static inline void std_h2d_req(){
|
||||
switch(setup_packet->bRequest){
|
||||
case SET_ADDRESS:
|
||||
// new address will be assigned later - after acknowlegement or request to host
|
||||
USB_Addr = setup_packet->wValue;
|
||||
break;
|
||||
case SET_CONFIGURATION:
|
||||
// Now device configured
|
||||
configuration = setup_packet->wValue;
|
||||
EP_Init(1, EP_TYPE_INTERRUPT, USB_EP1BUFSZ, 0, EP1_Handler); // IN1 - transmit
|
||||
EP_Init(2, EP_TYPE_BULK, 0, USB_RXBUFSZ, receive_Handler); // OUT2 - receive data
|
||||
EP_Init(3, EP_TYPE_BULK, USB_TXBUFSZ, 0, transmit_Handler); // IN3 - transmit data
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
/*
|
||||
bmRequestType: 76543210
|
||||
7 direction: 0 - host->device, 1 - device->host
|
||||
65 type: 0 - standard, 1 - class, 2 - vendor
|
||||
4..0 getter: 0 - device, 1 - interface, 2 - endpoint, 3 - other
|
||||
*/
|
||||
/**
|
||||
* Endpoint0 (control) handler
|
||||
*/
|
||||
void EP0_Handler(){
|
||||
uint16_t epstatus = USB->EPnR[0]; // EP0R on input -> return this value after modifications
|
||||
uint8_t reqtype = setup_packet->bmRequestType & 0x7f;
|
||||
uint8_t dev2host = (setup_packet->bmRequestType & 0x80) ? 1 : 0;
|
||||
int rxflag = RX_FLAG(epstatus);
|
||||
if(rxflag && SETUP_FLAG(epstatus)){
|
||||
switch(reqtype){
|
||||
case STANDARD_DEVICE_REQUEST_TYPE: // standard device request
|
||||
if(dev2host){
|
||||
std_d2h_req();
|
||||
}else{
|
||||
std_h2d_req();
|
||||
EP_WriteIRQ(0, (uint8_t *)0, 0);
|
||||
}
|
||||
break;
|
||||
case STANDARD_ENDPOINT_REQUEST_TYPE: // standard endpoint request
|
||||
if(setup_packet->bRequest == CLEAR_FEATURE){
|
||||
EP_WriteIRQ(0, (uint8_t *)0, 0);
|
||||
}
|
||||
break;
|
||||
case VENDOR_REQUEST_TYPE:
|
||||
vendor_handler(setup_packet);
|
||||
break;
|
||||
case CONTROL_REQUEST_TYPE:
|
||||
switch(setup_packet->bRequest){
|
||||
case GET_LINE_CODING:
|
||||
EP_WriteIRQ(0, (uint8_t*)&lineCoding, sizeof(lineCoding));
|
||||
break;
|
||||
case SET_LINE_CODING: // omit this for next stage, when data will come
|
||||
break;
|
||||
case SET_CONTROL_LINE_STATE:
|
||||
usbON = 1;
|
||||
clstate_handler(setup_packet->wValue);
|
||||
break;
|
||||
case SEND_BREAK:
|
||||
usbON = 0;
|
||||
break_handler();
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
if(setup_packet->bRequest != GET_LINE_CODING) EP_WriteIRQ(0, (uint8_t *)0, 0); // write acknowledgement
|
||||
break;
|
||||
default:
|
||||
EP_WriteIRQ(0, (uint8_t *)0, 0);
|
||||
}
|
||||
}else if(rxflag){ // got data over EP0 or host acknowlegement
|
||||
if(endpoints[0].rx_cnt){
|
||||
if(setup_packet->bRequest == SET_LINE_CODING){
|
||||
linecoding_handler((usb_LineCoding*)ep0databuf);
|
||||
}
|
||||
}
|
||||
} else if(TX_FLAG(epstatus)){ // package transmitted
|
||||
// now we can change address after enumeration
|
||||
if ((USB->DADDR & USB_DADDR_ADD) != USB_Addr){
|
||||
USB->DADDR = USB_DADDR_EF | USB_Addr;
|
||||
usbON = 0;
|
||||
}
|
||||
}
|
||||
epstatus = KEEP_DTOG(USB->EPnR[0]);
|
||||
if(rxflag) epstatus ^= USB_EPnR_STAT_TX; // start ZLP/data transmission
|
||||
else epstatus &= ~USB_EPnR_STAT_TX; // or leave unchanged
|
||||
// keep DTOGs, clear CTR_RX,TX, set RX VALID
|
||||
USB->EPnR[0] = (epstatus & ~(USB_EPnR_CTR_RX|USB_EPnR_CTR_TX)) ^ USB_EPnR_STAT_RX;
|
||||
}
|
||||
|
||||
/**
|
||||
* Write data to EP buffer (called from IRQ handler)
|
||||
* @param number - EP number
|
||||
* @param *buf - array with data
|
||||
* @param size - its size
|
||||
*/
|
||||
void EP_WriteIRQ(uint8_t number, const uint8_t *buf, uint16_t size){
|
||||
if(size > endpoints[number].txbufsz) size = endpoints[number].txbufsz;
|
||||
uint16_t N2 = (size + 1) >> 1;
|
||||
// the buffer is 16-bit, so we should copy data as it would be uint16_t
|
||||
uint16_t *buf16 = (uint16_t *)buf;
|
||||
#if defined USB1_16
|
||||
// very bad: what if `size` is odd?
|
||||
uint32_t *out = (uint32_t *)endpoints[number].tx_buf;
|
||||
for(int i = 0; i < N2; ++i, ++out){
|
||||
*out = buf16[i];
|
||||
}
|
||||
#elif defined USB2_16
|
||||
// use memcpy instead?
|
||||
for(int i = 0; i < N2; i++){
|
||||
endpoints[number].tx_buf[i] = buf16[i];
|
||||
}
|
||||
#else
|
||||
#error "Define USB1_16 or USB2_16"
|
||||
#endif
|
||||
USB_BTABLE->EP[number].USB_COUNT_TX = size;
|
||||
}
|
||||
|
||||
/**
|
||||
* Write data to EP buffer (called outside IRQ handler)
|
||||
* @param number - EP number
|
||||
* @param *buf - array with data
|
||||
* @param size - its size
|
||||
*/
|
||||
void EP_Write(uint8_t number, const uint8_t *buf, uint16_t size){
|
||||
EP_WriteIRQ(number, buf, size);
|
||||
uint16_t status = KEEP_DTOG(USB->EPnR[number]);
|
||||
// keep DTOGs, clear CTR_TX & set TX VALID to start transmission
|
||||
USB->EPnR[number] = (status & ~(USB_EPnR_CTR_TX)) ^ USB_EPnR_STAT_TX;
|
||||
}
|
||||
|
||||
/*
|
||||
* Copy data from EP buffer into user buffer area
|
||||
* @param *buf - user array for data
|
||||
* @return amount of data read
|
||||
*/
|
||||
int EP_Read(uint8_t number, uint8_t *buf){
|
||||
int sz = endpoints[number].rx_cnt;
|
||||
if(!sz) return 0;
|
||||
endpoints[number].rx_cnt = 0;
|
||||
#if defined USB1_16
|
||||
int n = (sz + 1) >> 1;
|
||||
uint32_t *in = (uint32_t*)endpoints[number].rx_buf;
|
||||
uint16_t *out = (uint16_t*)buf;
|
||||
for(int i = 0; i < n; ++i, ++in)
|
||||
out[i] = *(uint16_t*)in;
|
||||
#elif defined USB2_16
|
||||
// use memcpy instead?
|
||||
for(int i = 0; i < sz; ++i)
|
||||
buf[i] = endpoints[number].rx_buf[i];
|
||||
#else
|
||||
#error "Define USB1_16 or USB2_16"
|
||||
#endif
|
||||
return sz;
|
||||
}
|
||||
|
||||
171
F3:F303/CANbus4BTA/src/usb_lib.h
Normal file
171
F3:F303/CANbus4BTA/src/usb_lib.h
Normal file
@ -0,0 +1,171 @@
|
||||
/*
|
||||
* This file is part of the pl2303 project.
|
||||
* Copyright 2023 Edward V. Emelianov <edward.emelianoff@gmail.com>.
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation, either version 3 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
#pragma once
|
||||
|
||||
#include <wchar.h>
|
||||
#include "usbhw.h"
|
||||
|
||||
#define EP0DATABUF_SIZE (64)
|
||||
#define LASTADDR_DEFAULT (STM32ENDPOINTS * 8)
|
||||
|
||||
// bmRequestType & 0x7f
|
||||
#define STANDARD_DEVICE_REQUEST_TYPE 0
|
||||
#define STANDARD_ENDPOINT_REQUEST_TYPE 2
|
||||
#define VENDOR_REQUEST_TYPE 0x40
|
||||
#define CONTROL_REQUEST_TYPE 0x21
|
||||
// bRequest, standard; for bmRequestType == 0x80
|
||||
#define GET_STATUS 0x00
|
||||
#define GET_DESCRIPTOR 0x06
|
||||
#define GET_CONFIGURATION 0x08
|
||||
// for bmRequestType == 0
|
||||
#define CLEAR_FEATURE 0x01
|
||||
#define SET_FEATURE 0x03 // unused
|
||||
#define SET_ADDRESS 0x05
|
||||
#define SET_DESCRIPTOR 0x07 // unused
|
||||
#define SET_CONFIGURATION 0x09
|
||||
// for bmRequestType == 0x81, 1 or 0xB2
|
||||
#define GET_INTERFACE 0x0A // unused
|
||||
#define SET_INTERFACE 0x0B // unused
|
||||
#define SYNC_FRAME 0x0C // unused
|
||||
#define VENDOR_REQUEST 0x01 // unused
|
||||
|
||||
// Class-Specific Control Requests
|
||||
#define SEND_ENCAPSULATED_COMMAND 0x00 // unused
|
||||
#define GET_ENCAPSULATED_RESPONSE 0x01 // unused
|
||||
#define SET_COMM_FEATURE 0x02 // unused
|
||||
#define GET_COMM_FEATURE 0x03 // unused
|
||||
#define CLEAR_COMM_FEATURE 0x04 // unused
|
||||
#define SET_LINE_CODING 0x20
|
||||
#define GET_LINE_CODING 0x21
|
||||
#define SET_CONTROL_LINE_STATE 0x22
|
||||
#define SEND_BREAK 0x23
|
||||
|
||||
// control line states
|
||||
#define CONTROL_DTR 0x01
|
||||
#define CONTROL_RTS 0x02
|
||||
|
||||
// string descriptors
|
||||
enum{
|
||||
iLANGUAGE_DESCR,
|
||||
iMANUFACTURER_DESCR,
|
||||
iPRODUCT_DESCR,
|
||||
iSERIAL_DESCR,
|
||||
iINTERFACE_DESCR,
|
||||
iDESCR_AMOUNT
|
||||
};
|
||||
|
||||
// Types of descriptors
|
||||
#define DEVICE_DESCRIPTOR 0x01
|
||||
#define CONFIGURATION_DESCRIPTOR 0x02
|
||||
#define STRING_DESCRIPTOR 0x03
|
||||
#define DEVICE_QUALIFIER_DESCRIPTOR 0x06
|
||||
|
||||
#define RX_FLAG(epstat) (epstat & USB_EPnR_CTR_RX)
|
||||
#define TX_FLAG(epstat) (epstat & USB_EPnR_CTR_TX)
|
||||
#define SETUP_FLAG(epstat) (epstat & USB_EPnR_SETUP)
|
||||
|
||||
// EPnR bits manipulation
|
||||
#define KEEP_DTOG_STAT(EPnR) (EPnR & ~(USB_EPnR_STAT_RX|USB_EPnR_STAT_TX|USB_EPnR_DTOG_RX|USB_EPnR_DTOG_TX))
|
||||
#define KEEP_DTOG(EPnR) (EPnR & ~(USB_EPnR_DTOG_RX|USB_EPnR_DTOG_TX))
|
||||
|
||||
// EP types
|
||||
#define EP_TYPE_BULK 0x00
|
||||
#define EP_TYPE_CONTROL 0x01
|
||||
#define EP_TYPE_ISO 0x02
|
||||
#define EP_TYPE_INTERRUPT 0x03
|
||||
|
||||
#define LANG_US (uint16_t)0x0409
|
||||
|
||||
#define _USB_STRING_(name, str) \
|
||||
static const struct name \
|
||||
{ \
|
||||
uint8_t bLength; \
|
||||
uint8_t bDescriptorType; \
|
||||
uint16_t bString[(sizeof(str) - 2) / 2]; \
|
||||
\
|
||||
} \
|
||||
name = {sizeof(name), 0x03, str}
|
||||
|
||||
#define _USB_LANG_ID_(name, lng_id) \
|
||||
\
|
||||
static const struct name \
|
||||
{ \
|
||||
uint8_t bLength; \
|
||||
uint8_t bDescriptorType; \
|
||||
uint16_t bString; \
|
||||
\
|
||||
} \
|
||||
name = {0x04, 0x03, lng_id}
|
||||
|
||||
// EP0 configuration packet
|
||||
typedef struct {
|
||||
uint8_t bmRequestType;
|
||||
uint8_t bRequest;
|
||||
uint16_t wValue;
|
||||
uint16_t wIndex;
|
||||
uint16_t wLength;
|
||||
} config_pack_t;
|
||||
|
||||
// endpoints state
|
||||
typedef struct{
|
||||
uint16_t *tx_buf; // transmission buffer address
|
||||
uint16_t txbufsz; // transmission buffer size
|
||||
uint8_t *rx_buf; // reception buffer address
|
||||
void (*func)(); // endpoint action function
|
||||
unsigned rx_cnt : 10; // received data counter
|
||||
} ep_t;
|
||||
|
||||
typedef struct {
|
||||
uint32_t dwDTERate;
|
||||
uint8_t bCharFormat;
|
||||
#define USB_CDC_1_STOP_BITS 0
|
||||
#define USB_CDC_1_5_STOP_BITS 1
|
||||
#define USB_CDC_2_STOP_BITS 2
|
||||
uint8_t bParityType;
|
||||
#define USB_CDC_NO_PARITY 0
|
||||
#define USB_CDC_ODD_PARITY 1
|
||||
#define USB_CDC_EVEN_PARITY 2
|
||||
#define USB_CDC_MARK_PARITY 3
|
||||
#define USB_CDC_SPACE_PARITY 4
|
||||
uint8_t bDataBits;
|
||||
} __attribute__ ((packed)) usb_LineCoding;
|
||||
|
||||
typedef struct {
|
||||
uint8_t bmRequestType;
|
||||
uint8_t bNotificationType;
|
||||
uint16_t wValue;
|
||||
uint16_t wIndex;
|
||||
uint16_t wLength;
|
||||
} __attribute__ ((packed)) usb_cdc_notification;
|
||||
|
||||
extern ep_t endpoints[];
|
||||
extern volatile uint8_t usbON;
|
||||
extern uint8_t ep0databuf[], setupdatabuf[];
|
||||
|
||||
void EP0_Handler();
|
||||
|
||||
void EP_WriteIRQ(uint8_t number, const uint8_t *buf, uint16_t size);
|
||||
void EP_Write(uint8_t number, const uint8_t *buf, uint16_t size);
|
||||
int EP_Read(uint8_t number, uint8_t *buf);
|
||||
usb_LineCoding getLineCoding();
|
||||
|
||||
void linecoding_handler(usb_LineCoding *lc);
|
||||
void clstate_handler(uint16_t val);
|
||||
void break_handler();
|
||||
void vendor_handler(config_pack_t *packet);
|
||||
123
F3:F303/CANbus4BTA/src/usbhw.c
Normal file
123
F3:F303/CANbus4BTA/src/usbhw.c
Normal file
@ -0,0 +1,123 @@
|
||||
/*
|
||||
* This file is part of the pl2303 project.
|
||||
* Copyright 2023 Edward V. Emelianov <edward.emelianoff@gmail.com>.
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation, either version 3 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
#include "usb.h"
|
||||
#include "usb_lib.h"
|
||||
|
||||
// here we suppose that all PIN settings done in hw_setup earlier
|
||||
void USB_setup(){
|
||||
NVIC_DisableIRQ(USB_LP_IRQn);
|
||||
// remap USB LP & Wakeup interrupts to 75 and 76 - works only on pure F303
|
||||
RCC->APB2ENR |= RCC_APB2ENR_SYSCFGEN; // enable tacting of SYSCFG
|
||||
SYSCFG->CFGR1 |= SYSCFG_CFGR1_USB_IT_RMP;
|
||||
RCC->APB1ENR |= RCC_APB1ENR_USBEN;
|
||||
USB->CNTR = USB_CNTR_FRES; // Force USB Reset
|
||||
for(uint32_t ctr = 0; ctr < 72000; ++ctr) nop(); // wait >1ms
|
||||
//uint32_t ctr = 0;
|
||||
USB->CNTR = 0;
|
||||
USB->BTABLE = 0;
|
||||
USB->DADDR = 0;
|
||||
USB->ISTR = 0;
|
||||
USB->CNTR = USB_CNTR_RESETM | USB_CNTR_WKUPM; // allow only wakeup & reset interrupts
|
||||
NVIC_EnableIRQ(USB_LP_IRQn);
|
||||
}
|
||||
|
||||
static uint16_t lastaddr = LASTADDR_DEFAULT;
|
||||
/**
|
||||
* Endpoint initialisation
|
||||
* @param number - EP num (0...7)
|
||||
* @param type - EP type (EP_TYPE_BULK, EP_TYPE_CONTROL, EP_TYPE_ISO, EP_TYPE_INTERRUPT)
|
||||
* @param txsz - transmission buffer size @ USB/CAN buffer
|
||||
* @param rxsz - reception buffer size @ USB/CAN buffer
|
||||
* @param uint16_t (*func)(ep_t *ep) - EP handler function
|
||||
* @return 0 if all OK
|
||||
*/
|
||||
int EP_Init(uint8_t number, uint8_t type, uint16_t txsz, uint16_t rxsz, void (*func)(ep_t ep)){
|
||||
if(number >= STM32ENDPOINTS) return 4; // out of configured amount
|
||||
if(txsz > USB_BTABLE_SIZE || rxsz > USB_BTABLE_SIZE) return 1; // buffer too large
|
||||
if(lastaddr + txsz + rxsz >= USB_BTABLE_SIZE) return 2; // out of btable
|
||||
USB->EPnR[number] = (type << 9) | (number & USB_EPnR_EA);
|
||||
USB->EPnR[number] ^= USB_EPnR_STAT_RX | USB_EPnR_STAT_TX_1;
|
||||
if(rxsz & 1 || rxsz > 512) return 3; // wrong rx buffer size
|
||||
uint16_t countrx = 0;
|
||||
if(rxsz < 64) countrx = rxsz / 2;
|
||||
else{
|
||||
if(rxsz & 0x1f) return 3; // should be multiple of 32
|
||||
countrx = 31 + rxsz / 32;
|
||||
}
|
||||
USB_BTABLE->EP[number].USB_ADDR_TX = lastaddr;
|
||||
endpoints[number].tx_buf = (uint16_t *)(USB_BTABLE_BASE + lastaddr * ACCESSZ);
|
||||
endpoints[number].txbufsz = txsz;
|
||||
lastaddr += txsz;
|
||||
USB_BTABLE->EP[number].USB_COUNT_TX = 0;
|
||||
USB_BTABLE->EP[number].USB_ADDR_RX = lastaddr;
|
||||
endpoints[number].rx_buf = (uint8_t *)(USB_BTABLE_BASE + lastaddr * ACCESSZ);
|
||||
lastaddr += rxsz;
|
||||
USB_BTABLE->EP[number].USB_COUNT_RX = countrx << 10;
|
||||
endpoints[number].func = func;
|
||||
return 0;
|
||||
}
|
||||
|
||||
// standard IRQ handler
|
||||
void usb_lp_isr(){
|
||||
if(USB->ISTR & USB_ISTR_RESET){
|
||||
usbON = 0;
|
||||
// Reinit registers
|
||||
USB->CNTR = USB_CNTR_RESETM | USB_CNTR_CTRM | USB_CNTR_SUSPM | USB_CNTR_WKUPM;
|
||||
// Endpoint 0 - CONTROL
|
||||
// ON USB LS size of EP0 may be 8 bytes, but on FS it should be 64 bytes!
|
||||
lastaddr = LASTADDR_DEFAULT;
|
||||
// clear address, leave only enable bit
|
||||
USB->DADDR = USB_DADDR_EF;
|
||||
if(EP_Init(0, EP_TYPE_CONTROL, USB_EP0_BUFSZ, USB_EP0_BUFSZ, EP0_Handler)){
|
||||
return;
|
||||
}
|
||||
USB->ISTR = ~USB_ISTR_RESET;
|
||||
}
|
||||
if(USB->ISTR & USB_ISTR_CTR){
|
||||
// EP number
|
||||
uint8_t n = USB->ISTR & USB_ISTR_EPID;
|
||||
// copy status register
|
||||
uint16_t epstatus = USB->EPnR[n];
|
||||
// copy received bytes amount
|
||||
endpoints[n].rx_cnt = USB_BTABLE->EP[n].USB_COUNT_RX & 0x3FF; // low 10 bits is counter
|
||||
// check direction
|
||||
if(USB->ISTR & USB_ISTR_DIR){ // OUT interrupt - receive data, CTR_RX==1 (if CTR_TX == 1 - two pending transactions: receive following by transmit)
|
||||
if(n == 0){ // control endpoint
|
||||
if(epstatus & USB_EPnR_SETUP){ // setup packet -> copy data to conf_pack
|
||||
EP_Read(0, setupdatabuf);
|
||||
// interrupt handler will be called later
|
||||
}else if(epstatus & USB_EPnR_CTR_RX){ // data packet -> push received data to ep0databuf
|
||||
EP_Read(0, ep0databuf);
|
||||
}
|
||||
}
|
||||
}
|
||||
// call EP handler
|
||||
if(endpoints[n].func) endpoints[n].func(endpoints[n]);
|
||||
}
|
||||
if(USB->ISTR & USB_ISTR_SUSP){ // suspend -> still no connection, may sleep
|
||||
usbON = 0;
|
||||
USB->CNTR |= USB_CNTR_FSUSP | USB_CNTR_LP_MODE;
|
||||
USB->ISTR = ~USB_ISTR_SUSP;
|
||||
}
|
||||
if(USB->ISTR & USB_ISTR_WKUP){ // wakeup
|
||||
USB->CNTR &= ~(USB_CNTR_FSUSP | USB_CNTR_LP_MODE); // clear suspend flags
|
||||
USB->ISTR = ~USB_ISTR_WKUP;
|
||||
}
|
||||
}
|
||||
|
||||
113
F3:F303/CANbus4BTA/src/usbhw.h
Normal file
113
F3:F303/CANbus4BTA/src/usbhw.h
Normal file
@ -0,0 +1,113 @@
|
||||
/*
|
||||
* This file is part of the pl2303 project.
|
||||
* Copyright 2023 Edward V. Emelianov <edward.emelianoff@gmail.com>.
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation, either version 3 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
#pragma once
|
||||
|
||||
#include <stm32f3.h>
|
||||
|
||||
// max endpoints number
|
||||
#define STM32ENDPOINTS 8
|
||||
/**
|
||||
* Buffers size definition
|
||||
**/
|
||||
#define USB_BTABLE_SIZE 768
|
||||
// first 64 bytes of USB_BTABLE are registers!
|
||||
//#define USB_EP0_BASEADDR 64
|
||||
// for USB FS EP0 buffers are from 8 to 64 bytes long (64 for PL2303)
|
||||
#define USB_EP0_BUFSZ 64
|
||||
// USB transmit buffer size (64 for PL2303)
|
||||
#define USB_TXBUFSZ 64
|
||||
// USB receive buffer size (64 for PL2303)
|
||||
#define USB_RXBUFSZ 64
|
||||
// EP1 - interrupt - buffer size
|
||||
#define USB_EP1BUFSZ 8
|
||||
|
||||
#define USB_BTABLE_BASE 0x40006000
|
||||
#define USB ((USB_TypeDef *) USB_BASE)
|
||||
|
||||
#ifdef USB_BTABLE
|
||||
#undef USB_BTABLE
|
||||
#endif
|
||||
#define USB_BTABLE ((USB_BtableDef *)(USB_BTABLE_BASE))
|
||||
#define USB_ISTR_EPID 0x0000000F
|
||||
#define USB_FNR_LSOF_0 0x00000800
|
||||
#define USB_FNR_lSOF_1 0x00001000
|
||||
#define USB_LPMCSR_BESL_0 0x00000010
|
||||
#define USB_LPMCSR_BESL_1 0x00000020
|
||||
#define USB_LPMCSR_BESL_2 0x00000040
|
||||
#define USB_LPMCSR_BESL_3 0x00000080
|
||||
#define USB_EPnR_CTR_RX 0x00008000
|
||||
#define USB_EPnR_DTOG_RX 0x00004000
|
||||
#define USB_EPnR_STAT_RX 0x00003000
|
||||
#define USB_EPnR_STAT_RX_0 0x00001000
|
||||
#define USB_EPnR_STAT_RX_1 0x00002000
|
||||
#define USB_EPnR_SETUP 0x00000800
|
||||
#define USB_EPnR_EP_TYPE 0x00000600
|
||||
#define USB_EPnR_EP_TYPE_0 0x00000200
|
||||
#define USB_EPnR_EP_TYPE_1 0x00000400
|
||||
#define USB_EPnR_EP_KIND 0x00000100
|
||||
#define USB_EPnR_CTR_TX 0x00000080
|
||||
#define USB_EPnR_DTOG_TX 0x00000040
|
||||
#define USB_EPnR_STAT_TX 0x00000030
|
||||
#define USB_EPnR_STAT_TX_0 0x00000010
|
||||
#define USB_EPnR_STAT_TX_1 0x00000020
|
||||
#define USB_EPnR_EA 0x0000000F
|
||||
#define USB_COUNTn_RX_BLSIZE 0x00008000
|
||||
#define USB_COUNTn_NUM_BLOCK 0x00007C00
|
||||
#define USB_COUNTn_RX 0x0000003F
|
||||
|
||||
#define USB_TypeDef USB_TypeDef_custom
|
||||
|
||||
typedef struct {
|
||||
__IO uint32_t EPnR[STM32ENDPOINTS];
|
||||
__IO uint32_t RESERVED[STM32ENDPOINTS];
|
||||
__IO uint32_t CNTR;
|
||||
__IO uint32_t ISTR;
|
||||
__IO uint32_t FNR;
|
||||
__IO uint32_t DADDR;
|
||||
__IO uint32_t BTABLE;
|
||||
} USB_TypeDef;
|
||||
|
||||
// F303 D/E have 2x16 access scheme
|
||||
typedef struct{
|
||||
#if defined USB2_16
|
||||
__IO uint16_t USB_ADDR_TX;
|
||||
__IO uint16_t USB_COUNT_TX;
|
||||
__IO uint16_t USB_ADDR_RX;
|
||||
__IO uint16_t USB_COUNT_RX;
|
||||
#define ACCESSZ (1)
|
||||
#define BUFTYPE uint8_t
|
||||
#elif defined USB1_16
|
||||
__IO uint32_t USB_ADDR_TX;
|
||||
__IO uint32_t USB_COUNT_TX;
|
||||
__IO uint32_t USB_ADDR_RX;
|
||||
__IO uint32_t USB_COUNT_RX;
|
||||
#define ACCESSZ (2)
|
||||
#define BUFTYPE uint16_t
|
||||
#else
|
||||
#error "Define USB1_16 or USB2_16"
|
||||
#endif
|
||||
} USB_EPDATA_TypeDef;
|
||||
|
||||
|
||||
typedef struct{
|
||||
__IO USB_EPDATA_TypeDef EP[STM32ENDPOINTS];
|
||||
} USB_BtableDef;
|
||||
|
||||
void USB_setup();
|
||||
int EP_Init(uint8_t number, uint8_t type, uint16_t txsz, uint16_t rxsz, void (*func)());
|
||||
2
F3:F303/CANbus4BTA/src/version.inc
Normal file
2
F3:F303/CANbus4BTA/src/version.inc
Normal file
@ -0,0 +1,2 @@
|
||||
#define BUILD_NUMBER "0"
|
||||
#define BUILD_DATE "2023-04-17"
|
||||
Loading…
x
Reference in New Issue
Block a user