Merge branch 'PSDR2.5_PCB'

This commit is contained in:
Michael Colton 2016-05-01 00:57:05 -06:00
commit 53263f2416
59 changed files with 141272 additions and 11232 deletions

15
.gitignore vendored
View File

@ -4,3 +4,18 @@ Source/BlankF4.launch
Source/BlankF4-2.launch
Source/StereoTurnerOnner.launch
Hardware/~$PSDR.pcb.inf
Hardware/Test Boards/~$MultiTestBoard2.pcb.inf
Hardware/PSDR.eco
Hardware/PSDR.rep
Hardware/PSDR_Layou1.pcb
Hardware/PSDR_Layou2.pcb
Hardware/PSDR_Layou3.pcb
Hardware/PSDR_Layout.pcb
Hardware/PSDR_Logic0.sch
Hardware/PSDR_Logic1.sch
Hardware/PSDR_Logic2.sch
Hardware/PSDR_Logic3.sch
Hardware/PSDR_PCB/3D/3DSettings.xml
Hardware/PSDR_PCB/PSDR_3DViewer.cce
Hardware/STM32F756_Config.ioc
Source/STM32F4 Test.launch

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

Binary file not shown.

Binary file not shown.

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,681 @@
% M48 INCH,LZ
T1C.014F095S300
X012200Y010400
X011770Y010570
X011870Y014820
X011380Y014990
X010400Y015200
X012750Y019590
X011200Y019900
X010400Y019900
X012760Y020010
X012200Y020200
X010700Y020500
X010400Y020800
X010900Y021350
X010400Y022000
X011900Y022300
X010400Y022500
X012200Y022600
X011040Y022730
X012810Y025570
X011660Y026081
X011000Y026100
X011800Y026600
X010400Y026600
X012800Y026700
X010400Y029300
X011900Y029400
X011400Y029500
X010700Y029800
X011654Y030050
X011650Y033260
X011100Y033300
X010400Y033500
X012100Y033700
X012600Y034200
X011800Y035100
X013500Y035200
X013890Y034940
X013200Y034800
X013430Y034420
X015300Y033220
X014900Y032600
X014600Y031800
X014570Y031190
X014300Y029900
X015210Y027500
X014900Y027100
X013700Y026700
X015310Y026600
X013720Y025440
X015080Y024640
X012920Y024480
X013780Y023390
X014700Y021500
X014150Y021460
X014960Y021100
X014000Y021000
X014500Y020900
X014150Y020480
X014700Y020400
X013500Y019500
X014100Y019400
X013680Y019100
X014600Y018130
X013810Y018000
X013810Y016410
X015190Y015840
X013850Y014960
X012910Y014960
X014720Y014400
X014730Y011110
X012910Y010660
X015150Y010450
X015600Y010400
X017200Y010500
X017610Y014090
X017330Y014420
X016400Y014600
X017410Y014840
X017550Y015340
X015630Y015400
X017600Y016100
X017410Y016600
X016300Y016800
X015500Y017100
X016300Y017400
X017810Y018220
X017730Y018640
X016800Y018700
X017200Y019500
X017500Y020100
X017390Y020560
X017510Y021100
X017600Y021660
X017300Y021950
X017790Y022410
X017320Y022590
X015860Y022600
X017030Y023150
X017060Y023980
X015800Y024000
X017040Y025020
X015580Y025200
X017160Y025800
X017300Y026600
X017040Y027140
X017510Y027400
X017530Y027840
X017060Y028230
X015520Y028550
X017310Y028560
X017600Y028900
X017090Y029030
X017620Y029400
X016640Y029890
X017230Y030610
X015800Y030700
X016500Y030800
X017330Y031150
X016900Y031800
X017800Y032500
X015600Y032700
X017144Y032840
X016550Y033260
X017190Y033400
X017200Y033870
X016980Y034300
X017530Y034300
X020000Y033400
X018920Y033280
X018910Y031750
X019260Y031150
X019240Y030130
X018780Y030050
X018120Y028820
X018650Y028720
X019240Y027400
X020260Y026620
X019500Y026080
X018880Y025750
X019460Y025300
X018970Y024990
X018950Y024000
X019070Y023180
X020150Y023110
X019540Y023100
X018980Y021640
X019540Y021550
X019350Y019700
X019900Y019600
X018800Y019200
X019780Y018150
X018040Y017740
X018870Y017530
X018050Y016390
X018490Y016360
X018820Y016030
X017980Y015700
X019400Y015630
X018770Y014140
X020310Y013600
X018770Y013600
X018300Y012400
X018700Y012400
X018700Y012000
X019500Y011600
X020190Y011570
X020900Y011600
X022600Y011640
X021400Y011900
X020900Y012000
X022400Y012080
X021500Y012500
X020980Y012510
X021330Y012950
X020800Y013700
X022100Y013700
X020400Y014100
X021500Y014200
X021530Y014610
X020940Y015040
X022500Y015400
X022500Y016400
X021200Y017050
X022000Y017400
X021230Y017550
X022610Y017920
X020450Y018090
X022200Y018300
X022890Y018310
X020400Y019600
X020840Y019680
X020820Y020140
X020960Y021520
X021320Y021980
X020800Y022200
X020800Y023000
X022610Y023020
X022050Y023020
X021200Y023300
X021650Y023370
X020700Y023600
X021130Y024000
X021220Y024770
X020800Y025200
X021300Y025770
X020900Y026680
X022780Y027110
X021280Y027430
X020620Y027830
X022110Y028060
X022860Y029550
X020620Y029600
X021400Y029600
X021000Y029760
X020850Y030340
X021330Y030640
X020920Y031120
X021700Y032990
X021640Y033750
X022820Y034100
X021590Y034510
X025340Y034510
X023870Y034100
X023750Y031960
X024900Y031900
X024900Y030590
X023880Y029650
X025360Y029380
X025030Y027250
X023780Y027070
X025140Y026690
X025230Y025110
X024760Y024930
X023810Y023970
X024210Y023960
X025370Y023950
X023600Y023010
X024870Y023000
X023000Y021620
X023440Y021600
X025200Y021540
X025170Y020740
X025310Y020150
X023040Y020050
X023370Y018310
X023880Y018020
X024350Y017990
X023170Y017940
X024650Y017200
X024130Y017020
X023500Y016400
X023500Y015400
X024190Y014930
X024250Y014110
X024200Y013600
X024410Y013100
X023670Y012080
X024200Y011800
X025100Y011610
X023700Y011600
X025900Y013230
X027580Y014120
X026290Y014580
X027690Y015380
X026890Y015420
X026470Y015570
X025710Y015600
X026470Y016140
X027660Y016420
X025600Y017000
X027760Y017510
X026570Y017630
X026090Y017710
X027600Y018000
X025600Y018200
X027400Y018550
X026520Y018670
X027400Y019890
X027310Y020630
X026800Y021200
X027300Y021500
X025530Y022040
X027100Y022100
X026910Y022540
X027410Y023880
X026500Y025600
X025900Y025600
X026200Y025900
X025900Y026200
X026500Y026200
X027220Y026760
X026260Y027090
X027190Y027730
X026760Y027770
X027560Y028230
X026820Y028230
X025890Y028400
X026820Y029280
X025810Y029830
X027480Y029900
X026250Y029910
X025610Y030530
X027200Y031080
X025600Y031800
X025600Y032600
X025500Y033700
X025900Y035200
X028800Y033700
X029170Y031860
X029230Y031350
X029680Y031310
X027910Y030110
X029260Y030020
X028850Y030020
X029470Y029130
X028270Y028490
X028710Y028350
X029880Y028150
X028890Y026940
X029700Y026680
X028770Y026500
X030340Y026180
X029460Y025800
X028800Y025520
X028430Y024670
X029740Y024060
X030210Y023610
X029870Y022240
X028410Y021840
X028400Y021300
X030380Y020850
X029970Y020740
X028380Y020720
X029000Y018280
X028230Y018070
X028750Y016830
X028070Y016280
X028290Y015850
X030230Y015420
X030040Y013610
X030040Y013020
X027960Y012850
X032200Y012570
X032270Y013160
X032100Y013700
X032600Y013700
X032300Y014200
X030730Y014400
X032300Y014600
X032600Y015100
X032100Y015100
X031800Y015500
X030920Y018390
X032030Y018660
X032020Y019060
X030900Y019100
X031450Y019160
X032010Y019480
X031940Y020120
X031490Y020700
X030850Y021210
X031000Y022200
X032400Y022410
X031990Y022410
X031200Y022700
X032498Y023570
X032200Y024300
X030410Y025140
X031760Y025300
X031940Y026050
X030640Y026480
X031900Y026480
X032720Y026910
X032070Y027440
X032600Y027500
X031860Y027840
X032620Y027970
X032400Y028470
X032800Y028540
X031510Y028860
X030700Y029130
X031150Y029180
X031540Y029330
X031430Y030420
X030890Y032620
X032060Y032760
X030410Y033580
X030900Y034100
X031830Y034210
X031670Y034900
X032100Y035200
X033100Y034990
X033100Y032420
X034100Y032410
X035230Y031060
X034550Y030430
X033050Y030400
X035050Y030400
X033950Y029690
X034000Y028010
X033990Y027600
X035040Y027600
X034050Y026510
X035200Y026500
X034100Y026000
X035200Y025900
X034900Y025500
X033810Y025430
X033050Y025350
X033040Y024910
X033960Y024910
X035150Y024400
X032960Y023960
X035150Y023800
X033920Y023580
X034370Y023550
X034590Y022510
X034980Y022420
X035310Y022160
X034900Y021570
X034540Y021370
X033980Y020810
X035160Y019940
X033200Y019200
X034800Y018910
X033820Y018820
X033190Y018660
X033230Y018030
X034400Y017500
X033210Y017010
X034560Y015610
X033000Y015400
X033530Y015300
X034800Y015100
X033630Y013600
X034820Y013580
X034270Y013100
X035320Y012400
X033290Y012030
X037500Y011700
X037100Y013200
X037700Y013200
X037300Y015200
X035750Y015210
X036960Y016220
X035550Y016270
X037410Y016350
X036130Y018760
X036100Y019200
X035420Y020360
X036550Y020620
X037420Y020850
X036950Y021210
X035500Y021500
X037050Y021720
X037590Y022330
X035760Y022510
X037650Y023230
X035660Y023780
X035960Y024340
X036750Y024520
X037840Y024600
X036790Y025010
X036080Y025430
X036780Y025480
X037880Y025570
X036760Y026070
X035440Y027600
X036760Y027600
X036050Y027610
X036310Y028150
X035640Y028370
X036700Y028400
X037100Y028800
X037700Y029000
X037400Y029300
X037800Y029700
X036740Y029750
X036140Y029800
X035790Y030000
X036440Y030150
X035690Y030400
X036670Y032100
X036650Y032890
X036600Y035110
X038500Y035200
X038200Y034500
X038600Y033500
X038720Y033110
X039300Y032600
X038630Y032590
X038900Y032100
X038340Y031690
X039150Y030610
X039200Y029300
X039260Y028690
X039460Y027350
X038310Y027280
X039680Y027010
X038040Y026980
X038600Y026980
X038310Y025650
X038000Y025160
X039200Y024570
X039360Y023360
X039800Y022600
X039820Y021360
X038740Y020300
X038700Y019500
X040100Y019200
X039300Y019100
X038700Y018800
X038590Y018300
X038900Y017900
X038900Y017300
X039500Y017200
X038590Y016800
X039800Y016700
X039200Y016700
X039900Y015900
X039200Y015900
X038590Y015800
X039050Y015400
X038500Y015200
X039600Y014900
X038020Y013660
X039600Y013600
X038400Y013400
X038500Y012600
X039610Y012470
X037970Y012400
X040100Y011100
X040400Y011400
X041490Y013530
X041400Y014300
X042000Y015000
X042600Y015000
X041490Y015250
X042500Y015500
X041900Y015600
X042200Y016120
X041500Y016800
X040400Y016900
X041000Y017390
X041500Y017400
X041500Y018000
X041500Y018600
X040900Y018600
X041500Y019200
X040700Y019300
X042270Y019660
X041770Y020960
X042400Y021000
X041500Y021500
X040900Y021600
X041790Y021960
X040900Y022300
X041800Y022500
X041800Y023200
X041000Y023600
X042200Y023630
X041830Y023860
X041000Y024100
X042530Y026570
X042100Y026800
X041140Y028150
X042570Y029130
X041410Y030270
X042800Y031200
X041300Y032200
X041200Y032700
X041800Y033100
X040700Y033200
X042400Y033300
X041300Y033400
X041800Y033900
X041200Y034200
X042400Y034300
X042400Y035100
X043000Y034700
X043100Y034000
X043100Y033300
X043100Y031800
X043200Y029900
X043510Y024440
X044910Y024380
X044300Y022900
X043700Y022900
X044000Y022600
X043700Y022300
X044300Y022300
X043400Y019600
X044200Y019500
X044200Y019000
X044400Y016600
X044900Y016400
X044500Y016100
X043500Y016100
X044900Y015900
X043100Y015800
X044500Y015500
X043500Y015400
X043100Y015000
X046200Y018700
X045800Y019100
X045910Y020740
X047640Y021370
X045850Y022290
X046300Y022320
X045550Y022650
X047800Y023000
X046500Y023790
X047300Y024400
X047480Y025130
X048800Y024800
X048900Y023100
X048420Y022600
X048900Y022400
X048900Y021700
X048290Y021410
X048800Y021150
X048350Y020910
T2C.03346F197S550
X027700Y011000
X027700Y012400
T3C.037F197S550
X017400Y013500
X017400Y017500
X028900Y017500
X028900Y013500
X032900Y011200
X033900Y011200
X034900Y011200
X035900Y011200
X036900Y011200
T4C.0374F197S550
X010807Y015650
X011693Y015650
X011693Y019311
X010807Y019311
T5C.03937F197S550
X045534Y017956G85X046926Y016564
X044936Y017357G85X046328Y015965
X048318Y017956G85X046926Y019347
X048917Y018554G85X047525Y019946
T6C.04724F139S550
X040315Y020961
X040315Y021961
X040315Y022961
X040315Y023961
X040315Y024961
X040315Y025961
X040315Y026961
X040315Y027961
X040315Y028961
X042096Y032551
X042096Y031551
X042096Y030551
X042096Y029551
X042096Y028551
X042096Y027551
T7C.08F074S550
X034500Y014300
X042100Y014300
T8C.11811F069S658
X030472Y011181
X011181Y028012
X039724Y034409
T9C.11811F069S658
X016299Y010984
X011215Y034376
X039101Y011047
X048189Y023976
T10C.12598F035S794
X015827Y018248
X015827Y031673
X039921Y031673
X039921Y018248
M30

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,184 @@
*
*
G04 PADS 9.5 Build Number: 522968 generated Gerber (RS-274-X) file*
G04 PC Version=2.1*
*
%IN "PSDR.pcb"*%
*
%MOIN*%
*
%FSLAX35Y35*%
*
*
*
*
G04 PC Standard Apertures*
*
*
G04 Thermal Relief Aperture macro.*
%AMTER*
1,1,$1,0,0*
1,0,$1-$2,0,0*
21,0,$3,$4,0,0,45*
21,0,$3,$4,0,0,135*
%
*
*
G04 Annular Aperture macro.*
%AMANN*
1,1,$1,0,0*
1,0,$2,0,0*
%
*
*
G04 Odd Aperture macro.*
%AMODD*
1,1,$1,0,0*
1,0,$1-0.005,0,0*
%
*
*
G04 PC Custom Aperture Macros*
*
*
*
*
*
*
G04 PC Aperture Table*
*
%ADD010C,0.001*%
*
*
*
*
G04 PC Circuitry*
G04 Layer Name PSDR.pcb - circuitry*
%LPD*%
*
*
G04 PC Custom Flashes*
G04 Layer Name PSDR.pcb - flashes*
%LPD*%
*
*
G04 PC Circuitry*
G04 Layer Name PSDR.pcb - circuitry*
%LPD*%
*
G54D10*
G01X100000Y331000D02*
Y338300D01*
X117597Y355900D02*
G75*
G03X100000Y338303I124J-17721D01*
G01X117600Y355900D02*
X424800D01*
X436600Y344105D02*
G03X424805Y355900I-11754J41D01*
G01X436600Y344100D02*
Y263400D01*
Y263401D02*
G03X440601Y259400I4044J43D01*
G01X440600D02*
X481900D01*
X493700Y247601D02*
G03X481901Y259400I-11717J82D01*
G01X493700Y247600D02*
Y205800D01*
X488497Y193297D02*
G03X493700Y205796I-12265J12438D01*
G01X488500Y193300D02*
X485200Y190000D01*
X474100Y201100*
X474098Y201102D02*
G03X468497Y201097I-2798J-2664D01*
G01X468500Y201100D02*
X467400Y200000D01*
G03Y194800I2950J-2600*
G01X478700Y183500*
X465300Y170100*
X454100Y181300*
X454101Y181299D02*
G03X448699I-2701J-2758D01*
G01X448700Y181300D02*
X447700Y180300D01*
G03Y174700I2723J-2800*
G01X458800Y163600*
X400400Y105200*
X388095Y100000D02*
G03X400396Y105196I-91J17375D01*
G01X388100Y100000D02*
X117800D01*
X100301Y114896D02*
G03X117804Y100000I17349J2655D01*
G01X100300Y114900D02*
X129400D01*
Y113300*
Y113301D02*
G03X134400I2500J26D01*
G01Y113300D02*
Y114900D01*
X147300*
X147299D02*
G03X151200Y118801I14J3887D01*
G01Y118800D02*
Y136200D01*
Y136198D02*
G03X147205Y140200I-3926J76D01*
G01X147200D02*
X134400D01*
Y141700*
G03X129400I-2500J70*
G01Y140200*
X100000*
Y155100*
X100003Y155101D02*
G03X103200Y159000I-822J3934D01*
G01Y161200*
X111000*
X111001D02*
G03X113000Y163202I35J1964D01*
G01Y163200D02*
Y167700D01*
Y167701D02*
G03X110998Y169700I-1964J35D01*
G01X111000D02*
X103200D01*
Y179900*
X111000*
X111001D02*
G03X113000Y181902I14J1985D01*
G01Y181900D02*
Y186400D01*
Y186401D02*
G03X110998Y188400I-1964J35D01*
G01X111000D02*
X103200D01*
Y190700*
Y190701D02*
G03X100001Y194500I-4022J-140D01*
G01X100000D02*
Y229200D01*
X103700*
X103703D02*
G03X107700Y233204I-28J4025D01*
G01Y233200D02*
Y254200D01*
Y254197D02*
G03X103704Y258200I-4010J-7D01*
G01X103700D02*
X100000D01*
Y302000*
X103800*
X103798D02*
G03X107700Y305895I-156J4058D01*
G01Y305900D02*
Y327000D01*
Y327001D02*
G03X103701Y331000I-3944J55D01*
G01X103700D02*
X100000D01*
G74*
X0Y0D02*
M02*

Binary file not shown.

After

Width:  |  Height:  |  Size: 457 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 851 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 433 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 44 KiB

View File

@ -0,0 +1,501 @@
*
*
G04 PADS 9.5 Build Number: 522968 generated Gerber (RS-274-X) file*
G04 PC Version=2.1*
*
%IN "PSDR_Encoder.pcb"*%
*
%MOIN*%
*
%FSLAX35Y35*%
*
*
*
*
G04 PC Standard Apertures*
*
*
G04 Thermal Relief Aperture macro.*
%AMTER*
1,1,$1,0,0*
1,0,$1-$2,0,0*
21,0,$3,$4,0,0,45*
21,0,$3,$4,0,0,135*
%
*
*
G04 Annular Aperture macro.*
%AMANN*
1,1,$1,0,0*
1,0,$2,0,0*
%
*
*
G04 Odd Aperture macro.*
%AMODD*
1,1,$1,0,0*
1,0,$1-0.005,0,0*
%
*
*
G04 PC Custom Aperture Macros*
*
*
*
*
*
*
G04 PC Aperture Table*
*
%ADD010C,0.001*%
%ADD048C,0.07*%
%ADD147C,0.01*%
%ADD148O,0.05906X0.1063*%
%ADD149C,0.19*%
%ADD150C,0.063*%
%ADD151C,0.032*%
*
*
*
*
G04 PC Circuitry*
G04 Layer Name PSDR_Encoder.pcb - circuitry*
%LPD*%
*
*
G04 PC Custom Flashes*
G04 Layer Name PSDR_Encoder.pcb - flashes*
%LPD*%
*
*
G04 PC Circuitry*
G04 Layer Name PSDR_Encoder.pcb - circuitry*
%LPD*%
*
G54D10*
G54D48*
G01X106000Y160000D03*
Y170000D03*
Y150000D03*
Y130000D03*
Y140000D03*
G54D147*
X161850Y159657D02*
G75*
G03X161850I-4850J0D01*
G01Y179343D02*
G03X161850I-4850J0D01*
G01X137244Y159657D02*
G03X137244I-4850J0D01*
G01X176250Y118021D02*
Y182649D01*
G03X160999Y197900I-15258J-7*
G01X118027*
X102500Y182358D02*
G03X118027Y197900I9311J6225D01*
G01X102500Y182358D02*
Y173846D01*
X107428Y165000D02*
G03X102500Y173846I-1428J5000D01*
G01X107428Y155000D02*
G03Y165000I-1428J5000D01*
G01Y145000D02*
G03Y155000I-1428J5000D01*
G01X102500Y136154D02*
G03X107428Y145000I3500J3846D01*
G01X102500Y136154D02*
Y118036D01*
X118036Y102500D02*
G03X102500Y118036I-6225J9311D01*
G01X118036Y102500D02*
X160704D01*
X176250Y118021D02*
G03X160704Y102500I-9321J-6210D01*
G01X161850Y159657D02*
G03X161850I-4850J0D01*
G01Y179343D02*
G03X161850I-4850J0D01*
G01X140716Y143362D02*
Y138638D01*
X131410D02*
G03X140716I4653J-0D01*
G01X131410D02*
Y143362D01*
X140716D02*
G03X131410I-4653J0D01*
G01X137244Y159657D02*
G03X137244I-4850J0D01*
G01X161182Y181799D02*
X176250D01*
X161594Y180899D02*
X176250D01*
X161805Y179999D02*
X176250D01*
X161844Y179099D02*
X176250D01*
X161713Y178199D02*
X176250D01*
X161398Y177299D02*
X176250D01*
X160854Y176399D02*
X176250D01*
X159958Y175499D02*
X176250D01*
X158009Y174599D02*
X176250D01*
X109655Y173699D02*
X176250D01*
X110383Y172799D02*
X176250D01*
X110841Y171899D02*
X176250D01*
X111103Y170999D02*
X176250D01*
X111199Y170099D02*
X176250D01*
X111138Y169199D02*
X176250D01*
X110914Y168299D02*
X176250D01*
X110503Y167399D02*
X176250D01*
X109845Y166499D02*
X176250D01*
X108769Y165599D02*
X176250D01*
X108228Y164699D02*
X176250D01*
X159525Y163799D02*
X176250D01*
X160608Y162899D02*
X176250D01*
X161248Y161999D02*
X176250D01*
X161631Y161099D02*
X176250D01*
X161820Y160199D02*
X176250D01*
X161837Y159299D02*
X176250D01*
X161684Y158399D02*
X176250D01*
X161343Y157499D02*
X176250D01*
X160764Y156599D02*
X176250D01*
X159802Y155699D02*
X176250D01*
X108003Y154799D02*
X176250D01*
X109441Y153899D02*
X176250D01*
X110248Y152999D02*
X176250D01*
X110758Y152099D02*
X176250D01*
X111060Y151199D02*
X176250D01*
X111191Y150299D02*
X176250D01*
X111165Y149399D02*
X176250D01*
X110979Y148499D02*
X176250D01*
X137987Y147599D02*
X176250D01*
X139306Y146699D02*
X176250D01*
X140027Y145799D02*
X176250D01*
X140455Y144899D02*
X176250D01*
X140672Y143999D02*
X176250D01*
X140716Y143099D02*
X176250D01*
X140716Y142199D02*
X176250D01*
X140716Y141299D02*
X176250D01*
X140716Y140399D02*
X176250D01*
X140716Y139499D02*
X176250D01*
X140716Y138599D02*
X176250D01*
X140620Y137699D02*
X176250D01*
X140337Y136799D02*
X176250D01*
X139824Y135899D02*
X176250D01*
X138962Y134999D02*
X176250D01*
X137085Y134099D02*
X176250D01*
X102500Y133199D02*
X176250D01*
X102500Y132299D02*
X176250D01*
X102500Y131399D02*
X176250D01*
X102500Y130499D02*
X176250D01*
X102500Y129599D02*
X176250D01*
X102500Y128699D02*
X176250D01*
X102500Y127799D02*
X176250D01*
X102500Y126899D02*
X176250D01*
X102500Y125999D02*
X176250D01*
X102500Y125099D02*
X176250D01*
X102500Y124199D02*
X176250D01*
X102500Y123299D02*
X176250D01*
X170582Y122399D02*
X176250D01*
X172549Y121499D02*
X176250D01*
X173873Y120599D02*
X176250D01*
X174880Y119699D02*
X176250D01*
X175682Y118799D02*
X176250D01*
X160501Y182699D02*
X176250D01*
X159325Y183599D02*
X176220D01*
X122240Y184499D02*
X176137D01*
X122549Y185399D02*
X175999D01*
X122776Y186299D02*
X175805D01*
X122925Y187199D02*
X175554D01*
X123001Y188099D02*
X175241D01*
X123003Y188999D02*
X174863D01*
X122933Y189899D02*
X174414D01*
X122790Y190799D02*
X173887D01*
X122569Y191699D02*
X173272D01*
X122266Y192599D02*
X172554D01*
X121875Y193499D02*
X171713D01*
X121383Y194399D02*
X170718D01*
X120774Y195299D02*
X169514D01*
X120023Y196199D02*
X167994D01*
X119086Y197099D02*
X165872D01*
X115464Y122399D02*
X163276D01*
X117431Y121499D02*
X161309D01*
X118181Y102599D02*
X160559D01*
X118755Y120599D02*
X159985D01*
X119317Y103499D02*
X159423D01*
X119762Y119699D02*
X158978D01*
X120207Y104399D02*
X158533D01*
X120564Y118799D02*
X158176D01*
X120923Y105299D02*
X157817D01*
X121212Y117899D02*
X157528D01*
X121503Y106199D02*
X157237D01*
X121737Y116999D02*
X157003D01*
X121971Y107099D02*
X156769D01*
X122158Y116099D02*
X156582D01*
X122342Y107999D02*
X156398D01*
X122486Y115199D02*
X156254D01*
X122626Y108899D02*
X156114D01*
X122731Y114299D02*
X156009D01*
X108427Y174599D02*
X155991D01*
X122829Y109799D02*
X155911D01*
X122898Y113399D02*
X155842D01*
X122956Y110699D02*
X155784D01*
X122990Y112499D02*
X155750D01*
X123009Y111599D02*
X155731D01*
X121841Y183599D02*
X154675D01*
X134918Y163799D02*
X154475D01*
X135196Y155699D02*
X154198D01*
X102500Y175499D02*
X154042D01*
X121341Y182699D02*
X153499D01*
X136002Y162899D02*
X153392D01*
X136158Y156599D02*
X153236D01*
X102500Y176399D02*
X153146D01*
X120722Y181799D02*
X152818D01*
X136641Y161999D02*
X152752D01*
X136737Y157499D02*
X152657D01*
X102500Y177299D02*
X152602D01*
X119959Y180899D02*
X152406D01*
X137025Y161099D02*
X152369D01*
X137078Y158399D02*
X152316D01*
X116007Y178199D02*
X152287D01*
X119005Y179999D02*
X152195D01*
X137213Y160199D02*
X152180D01*
X137230Y159299D02*
X152163D01*
X117768Y179099D02*
X152156D01*
X102500Y134099D02*
X135041D01*
X110612Y147599D02*
X134139D01*
X107424Y134999D02*
X133164D01*
X110018Y146699D02*
X132820D01*
X109197Y135899D02*
X132302D01*
X109064Y145799D02*
X132099D01*
X110098Y136799D02*
X131789D01*
X107744Y144899D02*
X131671D01*
X110663Y137699D02*
X131506D01*
X109324Y143999D02*
X131454D01*
X111008Y138599D02*
X131410D01*
X110176Y143099D02*
X131410D01*
X110712Y142199D02*
X131410D01*
X111035Y141299D02*
X131410D01*
X111185Y140399D02*
X131410D01*
X111176Y139499D02*
X131410D01*
X109551Y163799D02*
X129869D01*
X108922Y155699D02*
X129592D01*
X110317Y162899D02*
X128786D01*
X109933Y156599D02*
X128630D01*
X110801Y161999D02*
X128146D01*
X110559Y157499D02*
X128051D01*
X111083Y161099D02*
X127763D01*
X110947Y158399D02*
X127710D01*
X111196Y160199D02*
X127574D01*
X111153Y159299D02*
X127557D01*
X102500Y122399D02*
X108158D01*
X102500Y178199D02*
X107615D01*
X102500Y121499D02*
X106191D01*
X102500Y179099D02*
X105854D01*
X102500Y120599D02*
X104867D01*
X102500Y179999D02*
X104617D01*
X102500Y134999D02*
X104576D01*
X102500Y119699D02*
X103860D01*
X102500Y180899D02*
X103663D01*
X102500Y174599D02*
X103573D01*
X102500Y118799D02*
X103058D01*
X102500Y181799D02*
X102900D01*
X102500Y135899D02*
X102803D01*
G54D148*
X136063Y141000D03*
X143937D03*
G54D149*
X111811Y188583D03*
Y111811D03*
X166929D03*
G54D150*
X157000Y159657D03*
Y179343D03*
Y169500D03*
X132394Y159657D03*
Y179343D03*
G54D151*
X145000Y112000D03*
X137000Y125000D03*
X129000Y118000D03*
X123000Y127000D03*
X169000Y130000D03*
X154000Y138000D03*
Y125000D03*
X160000Y147000D03*
X140000Y192000D03*
X143000Y155000D03*
X144000Y181000D03*
X119000Y158000D03*
X170000Y161000D03*
X169000Y183000D03*
X154000Y193000D03*
G74*
X0Y0D02*
M02*

View File

@ -0,0 +1,94 @@
*
*
G04 PADS 9.5 Build Number: 522968 generated Gerber (RS-274-X) file*
G04 PC Version=2.1*
*
%IN "PSDR_Encoder.pcb"*%
*
%MOIN*%
*
%FSLAX35Y35*%
*
*
*
*
G04 PC Standard Apertures*
*
*
G04 Thermal Relief Aperture macro.*
%AMTER*
1,1,$1,0,0*
1,0,$1-$2,0,0*
21,0,$3,$4,0,0,45*
21,0,$3,$4,0,0,135*
%
*
*
G04 Annular Aperture macro.*
%AMANN*
1,1,$1,0,0*
1,0,$2,0,0*
%
*
*
G04 Odd Aperture macro.*
%AMODD*
1,1,$1,0,0*
1,0,$1-0.005,0,0*
%
*
*
G04 PC Custom Aperture Macros*
*
*
*
*
*
*
G04 PC Aperture Table*
*
%ADD010C,0.001*%
%ADD048C,0.07*%
%ADD148O,0.05906X0.1063*%
%ADD149C,0.19*%
%ADD150C,0.063*%
*
*
*
*
G04 PC Circuitry*
G04 Layer Name PSDR_Encoder.pcb - circuitry*
%LPD*%
*
*
G04 PC Custom Flashes*
G04 Layer Name PSDR_Encoder.pcb - flashes*
%LPD*%
*
*
G04 PC Circuitry*
G04 Layer Name PSDR_Encoder.pcb - circuitry*
%LPD*%
*
G54D10*
G54D48*
G01X106000Y160000D03*
Y170000D03*
Y150000D03*
Y130000D03*
Y140000D03*
G54D148*
X136063Y141000D03*
X143937D03*
G54D149*
X111811Y188583D03*
Y111811D03*
X166929D03*
G54D150*
X157000Y159657D03*
Y179343D03*
Y169500D03*
X132394Y159657D03*
Y179343D03*
X0Y0D02*
M02*

View File

@ -0,0 +1,89 @@
*
*
G04 PADS 9.5 Build Number: 522968 generated Gerber (RS-274-X) file*
G04 PC Version=2.1*
*
%IN "PSDR_Encoder.pcb"*%
*
%MOIN*%
*
%FSLAX35Y35*%
*
*
*
*
G04 PC Standard Apertures*
*
*
G04 Thermal Relief Aperture macro.*
%AMTER*
1,1,$1,0,0*
1,0,$1-$2,0,0*
21,0,$3,$4,0,0,45*
21,0,$3,$4,0,0,135*
%
*
*
G04 Annular Aperture macro.*
%AMANN*
1,1,$1,0,0*
1,0,$2,0,0*
%
*
*
G04 Odd Aperture macro.*
%AMODD*
1,1,$1,0,0*
1,0,$1-0.005,0,0*
%
*
*
G04 PC Custom Aperture Macros*
*
*
*
*
*
*
G04 PC Aperture Table*
*
%ADD010C,0.001*%
*
*
*
*
G04 PC Circuitry*
G04 Layer Name PSDR_Encoder.pcb - circuitry*
%LPD*%
*
*
G04 PC Custom Flashes*
G04 Layer Name PSDR_Encoder.pcb - flashes*
%LPD*%
*
*
G04 PC Circuitry*
G04 Layer Name PSDR_Encoder.pcb - circuitry*
%LPD*%
*
G54D10*
G01X100000Y111800D02*
G75*
G03X111800Y100000I11800J0D01*
G01X100000Y111800D02*
Y188600D01*
X111800Y200400D02*
G03X100000Y188600I0J-11800D01*
G01X111800Y200400D02*
X161000D01*
X178750Y182642D02*
G03X160992Y200400I-17758J0D01*
G01X178750Y182650D02*
Y111800D01*
X166902Y100000D02*
G03X178750Y111807I20J11828D01*
G01X166900Y100000D02*
X111800D01*
G74*
X0Y0D02*
M02*

View File

@ -0,0 +1,798 @@
*
*
G04 PADS 9.5 Build Number: 522968 generated Gerber (RS-274-X) file*
G04 PC Version=2.1*
*
%IN "PSDR_Encoder.pcb"*%
*
%MOIN*%
*
%FSLAX35Y35*%
*
*
*
*
G04 PC Standard Apertures*
*
*
G04 Thermal Relief Aperture macro.*
%AMTER*
1,1,$1,0,0*
1,0,$1-$2,0,0*
21,0,$3,$4,0,0,45*
21,0,$3,$4,0,0,135*
%
*
*
G04 Annular Aperture macro.*
%AMANN*
1,1,$1,0,0*
1,0,$2,0,0*
%
*
*
G04 Odd Aperture macro.*
%AMODD*
1,1,$1,0,0*
1,0,$1-0.005,0,0*
%
*
*
G04 PC Custom Aperture Macros*
*
*
*
*
*
*
G04 PC Aperture Table*
*
%ADD010C,0.001*%
%ADD016C,0.06*%
%ADD029C,0.1*%
%ADD035C,0.03*%
%ADD048C,0.07*%
%ADD094C,0.00394*%
%ADD147C,0.01*%
%ADD148O,0.05906X0.1063*%
%ADD149C,0.19*%
%ADD150C,0.063*%
%ADD151C,0.032*%
*
*
*
*
G04 PC Circuitry*
G04 Layer Name PSDR_Encoder.pcb - circuitry*
%LPD*%
*
*
G04 PC Custom Flashes*
G04 Layer Name PSDR_Encoder.pcb - flashes*
%LPD*%
*
*
G04 PC Circuitry*
G04 Layer Name PSDR_Encoder.pcb - circuitry*
%LPD*%
*
G54D10*
G54D16*
G01X125424Y130000D02*
X139000D01*
X143870Y134870*
X143937Y134937*
Y141000*
X143870Y134870D02*
X150870Y127870D01*
X106000Y140000D02*
X135063D01*
X136063Y141000*
X106000Y130000D02*
X124000D01*
X143937Y141000D02*
Y146000D01*
X147937Y150000*
X161000*
X168000Y157000*
Y169500*
X127868Y183868D02*
X132394Y179343D01*
X144051Y191000*
X160000*
X168000Y183000*
Y169500*
X157000*
G54D29*
X111811Y111811D02*
X124000Y124000D01*
X151000Y127740D02*
X166929Y111811D01*
X111811Y188583D02*
X113811D01*
X118394Y184000*
X127736*
G54D35*
X125424Y130000D02*
X124000D01*
Y124000*
X150870Y127870D02*
X151000Y127740D01*
X127736Y184000D02*
X127868Y183868D01*
X106000Y150000D02*
X122736D01*
X132394Y159657*
X106000Y170000D02*
X109200Y173200D01*
X150857*
X157000Y179343*
X106000Y160000D02*
X112329Y166329D01*
X150329*
X157000Y159657*
G54D48*
X106000Y160000D03*
Y170000D03*
Y150000D03*
Y130000D03*
Y140000D03*
G54D94*
X133971Y108096D03*
X128571Y193096D03*
X171271Y145396D03*
G54D147*
X135469Y108100D02*
X135440Y108386D01*
X135357Y108662*
X135221Y108916*
X135038Y109138*
X134816Y109321*
X134562Y109457*
X134286Y109540*
X134000Y109569*
X133714Y109540*
X133438Y109457*
X133184Y109321*
X132962Y109138*
X132779Y108916*
X132643Y108662*
X132560Y108386*
X132531Y108100*
X132560Y107814*
X132643Y107538*
X132779Y107284*
X132962Y107062*
X133184Y106879*
X133438Y106743*
X133714Y106660*
X134000Y106631*
X134286Y106660*
X134562Y106743*
X134816Y106879*
X135038Y107062*
X135221Y107284*
X135357Y107538*
X135440Y107814*
X135469Y108100*
X133000Y107030D02*
Y109170D01*
X133500Y106724D02*
Y109476D01*
X134000Y106631D02*
Y109569D01*
X134500Y106724D02*
Y109476D01*
X135000Y107030D02*
Y109170D01*
X130069Y193100D02*
X130040Y193386D01*
X129957Y193662*
X129821Y193916*
X129638Y194138*
X129416Y194321*
X129162Y194457*
X128886Y194540*
X128600Y194569*
X128314Y194540*
X128038Y194457*
X127784Y194321*
X127562Y194138*
X127379Y193916*
X127243Y193662*
X127160Y193386*
X127131Y193100*
X127160Y192814*
X127243Y192538*
X127379Y192284*
X127562Y192062*
X127784Y191879*
X128038Y191743*
X128314Y191660*
X128600Y191631*
X128886Y191660*
X129162Y191743*
X129416Y191879*
X129638Y192062*
X129821Y192284*
X129957Y192538*
X130040Y192814*
X130069Y193100*
X127600Y192030D02*
Y194170D01*
X128100Y191724D02*
Y194476D01*
X128600Y191631D02*
Y194569D01*
X129100Y191724D02*
Y194476D01*
X129600Y192030D02*
Y194170D01*
X172769Y145400D02*
X172740Y145686D01*
X172657Y145962*
X172521Y146216*
X172338Y146438*
X172116Y146621*
X171862Y146757*
X171586Y146840*
X171300Y146869*
X171014Y146840*
X170738Y146757*
X170484Y146621*
X170262Y146438*
X170079Y146216*
X169943Y145962*
X169860Y145686*
X169831Y145400*
X169860Y145114*
X169943Y144838*
X170079Y144584*
X170262Y144362*
X170484Y144179*
X170738Y144043*
X171014Y143960*
X171300Y143931*
X171586Y143960*
X171862Y144043*
X172116Y144179*
X172338Y144362*
X172521Y144584*
X172657Y144838*
X172740Y145114*
X172769Y145400*
X170300Y144330D02*
Y146470D01*
X170800Y144024D02*
Y146776D01*
X171300Y143931D02*
Y146869D01*
X171800Y144024D02*
Y146776D01*
X172300Y144330D02*
Y146470D01*
X175737Y145400D02*
G75*
G03X175737I-4437J0D01*
G01X138437Y108100D02*
G03X138437I-4437J0D01*
G01X133037Y193100D02*
G03X133037I-4437J0D01*
G01X176250Y118021D02*
Y182649D01*
G03X160999Y197900I-15258J-7*
G01X118027*
X102500Y182358D02*
G03X118027Y197900I9311J6225D01*
G01X102500Y182358D02*
Y173846D01*
X106636Y175161D02*
G03X102500Y173846I-636J-5161D01*
G01X106636Y175161D02*
X106937Y175463D01*
X109200Y176400D02*
G03X106937Y175463I0J-3200D01*
G01X109200Y176400D02*
X149532D01*
X152160Y179028*
X156686Y174503D02*
G03X152160Y179028I314J4840D01*
G01X156686Y174503D02*
X153120Y170937D01*
X150857Y170000D02*
G03X153120Y170937I0J3200D01*
G01X150857Y170000D02*
X111200D01*
X111153Y169305D02*
G03X111200Y170000I-5153J695D01*
G01X112329Y169529D02*
G03X111153Y169305I-0J-3200D01*
G01X112329Y169529D02*
X150329D01*
X152591Y168591D02*
G03X150329Y169529I-2262J-2262D01*
G01X152591Y168591D02*
X156686Y164497D01*
X152160Y159972D02*
G03X156686Y164497I4840J-315D01*
G01X152160Y159972D02*
X149003Y163129D01*
X135781*
X132079Y154818D02*
G03X135781Y163129I315J4839D01*
G01X132079Y154818D02*
X124999Y147737D01*
X122736Y146800D02*
G03X124999Y147737I0J3200D01*
G01X122736Y146800D02*
X110099D01*
X107428Y145000D02*
G03X110099Y146800I-1428J5000D01*
G01X108225Y144700D02*
G03X107428Y145000I-2225J-4700D01*
G01X108225Y144700D02*
X131607D01*
X140716Y143362D02*
G03X131607Y144700I-4653J0D01*
G01X140716Y143362D02*
Y141665D01*
Y140335D02*
G03Y141665I-4653J665D01*
G01Y140335D02*
Y138638D01*
X132821Y135300D02*
G03X140716Y138638I3242J3338D01*
G01X132821Y135300D02*
X108225D01*
X102500Y136154D02*
G03X108225Y135300I3500J3846D01*
G01X102500Y136154D02*
Y118036D01*
X118036Y102500D02*
G03X102500Y118036I-6225J9311D01*
G01X118036Y102500D02*
X160704D01*
X176250Y118021D02*
G03X160704Y102500I-9321J-6210D01*
G01X129006Y163129D02*
G03X127554Y159343I3388J-3472D01*
G01X129006Y163129D02*
X113654D01*
X111161Y160636*
X107428Y155000D02*
G03X111161Y160636I-1428J5000D01*
G01X110099Y153200D02*
G03X107428Y155000I-4099J-3200D01*
G01X110099Y153200D02*
X121411D01*
X127554Y159343*
X175737Y145400D02*
G03X175737I-4437J0D01*
G01X138437Y108100D02*
G03X138437I-4437J0D01*
G01X133037Y193100D02*
G03X133037I-4437J0D01*
G01X113624Y163099D02*
X128976D01*
X112724Y162199D02*
X128263D01*
X111824Y161299D02*
X127830D01*
X111185Y160399D02*
X127601D01*
X111176Y159499D02*
X127546D01*
X111008Y158599D02*
X126809D01*
X110663Y157699D02*
X125909D01*
X110098Y156799D02*
X125009D01*
X109197Y155899D02*
X124109D01*
X107433Y154999D02*
X123209D01*
X109200Y154099D02*
X122309D01*
X161058Y181999D02*
X176250D01*
X161521Y181099D02*
X176250D01*
X161774Y180199D02*
X176250D01*
X161850Y179299D02*
X176250D01*
X161757Y178399D02*
X176250D01*
X161486Y177499D02*
X176250D01*
X160999Y176599D02*
X176250D01*
X160201Y175699D02*
X176250D01*
X158696Y174799D02*
X176250D01*
X156082Y173899D02*
X176250D01*
X155182Y172999D02*
X176250D01*
X154282Y172099D02*
X176250D01*
X153382Y171199D02*
X176250D01*
X152207Y170299D02*
X176250D01*
X151232Y169399D02*
X176250D01*
X152684Y168499D02*
X176250D01*
X153584Y167599D02*
X176250D01*
X154484Y166699D02*
X176250D01*
X155384Y165799D02*
X176250D01*
X156284Y164899D02*
X176250D01*
X159163Y163999D02*
X176250D01*
X160418Y163099D02*
X176250D01*
X161131Y162199D02*
X176250D01*
X161564Y161299D02*
X176250D01*
X161793Y160399D02*
X176250D01*
X161847Y159499D02*
X176250D01*
X161733Y158599D02*
X176250D01*
X161437Y157699D02*
X176250D01*
X160918Y156799D02*
X176250D01*
X160065Y155899D02*
X176250D01*
X158348Y154999D02*
X176250D01*
X131360Y154099D02*
X176250D01*
X130460Y153199D02*
X176250D01*
X129560Y152299D02*
X176250D01*
X128660Y151399D02*
X176250D01*
X127760Y150499D02*
X176250D01*
X172735Y149599D02*
X176250D01*
X174267Y148699D02*
X176250D01*
X175033Y147799D02*
X176250D01*
X175476Y146899D02*
X176250D01*
X175696Y145999D02*
X176250D01*
X175727Y145099D02*
X176250D01*
X175571Y144199D02*
X176250D01*
X175208Y143299D02*
X176250D01*
X174568Y142399D02*
X176250D01*
X173414Y141499D02*
X176250D01*
X140746Y140599D02*
X176250D01*
X140716Y139699D02*
X176250D01*
X140716Y138799D02*
X176250D01*
X140657Y137899D02*
X176250D01*
X140417Y136999D02*
X176250D01*
X139962Y136099D02*
X176250D01*
X139197Y135199D02*
X176250D01*
X137742Y134299D02*
X176250D01*
X102500Y133399D02*
X176250D01*
X102500Y132499D02*
X176250D01*
X102500Y131599D02*
X176250D01*
X102500Y130699D02*
X176250D01*
X102500Y129799D02*
X176250D01*
X102500Y128899D02*
X176250D01*
X102500Y127999D02*
X176250D01*
X102500Y127099D02*
X176250D01*
X102500Y126199D02*
X176250D01*
X102500Y125299D02*
X176250D01*
X102500Y124399D02*
X176250D01*
X102500Y123499D02*
X176250D01*
X169940Y122599D02*
X176250D01*
X172190Y121699D02*
X176250D01*
X173612Y120799D02*
X176250D01*
X174677Y119899D02*
X176250D01*
X175518Y118999D02*
X176250D01*
X176198Y118099D02*
X176250D01*
X160298Y182899D02*
X176248D01*
X158914Y183799D02*
X176206D01*
X122316Y184699D02*
X176111D01*
X122606Y185599D02*
X175961D01*
X122815Y186499D02*
X175755D01*
X122948Y187399D02*
X175490D01*
X123007Y188299D02*
X175163D01*
X130714Y189199D02*
X174770D01*
X131868Y190099D02*
X174304D01*
X132508Y190999D02*
X173758D01*
X132871Y191899D02*
X173122D01*
X133027Y192799D02*
X172379D01*
X132996Y193699D02*
X171507D01*
X132776Y194599D02*
X170471D01*
X126860Y149599D02*
X169865D01*
X132333Y195499D02*
X169209D01*
X140736Y141499D02*
X169186D01*
X125960Y148699D02*
X168333D01*
X140716Y142399D02*
X168032D01*
X131567Y196399D02*
X167592D01*
X137465Y147799D02*
X167567D01*
X140716Y143299D02*
X167392D01*
X139087Y146899D02*
X167124D01*
X140640Y144199D02*
X167029D01*
X139897Y145999D02*
X166904D01*
X140380Y145099D02*
X166873D01*
X130035Y197299D02*
X165234D01*
X114822Y122599D02*
X163918D01*
X117072Y121699D02*
X161668D01*
X118461Y102799D02*
X160279D01*
X118494Y120799D02*
X160246D01*
X134562Y103699D02*
X159207D01*
X119559Y119899D02*
X159181D01*
X136725Y104599D02*
X158360D01*
X120400Y118999D02*
X158340D01*
X137594Y105499D02*
X157677D01*
X121080Y118099D02*
X157660D01*
X138098Y106399D02*
X157124D01*
X121630Y117199D02*
X157110D01*
X138364Y107299D02*
X156678D01*
X122073Y116299D02*
X156667D01*
X138436Y108199D02*
X156328D01*
X122421Y115399D02*
X156319D01*
X138323Y109099D02*
X156062D01*
X122684Y114499D02*
X156056D01*
X138010Y109999D02*
X155877D01*
X122867Y113599D02*
X155873D01*
X137443Y110899D02*
X155766D01*
X122976Y112699D02*
X155764D01*
X136451Y111799D02*
X155729D01*
X133742Y154999D02*
X155652D01*
X121938Y183799D02*
X155086D01*
X135459Y155899D02*
X153935D01*
X121461Y182899D02*
X153702D01*
X136312Y156799D02*
X153082D01*
X120871Y181999D02*
X152942D01*
X136831Y157699D02*
X152563D01*
X120143Y181099D02*
X152479D01*
X137127Y158599D02*
X152267D01*
X119237Y180199D02*
X152226D01*
X137241Y159499D02*
X152153D01*
X118075Y179299D02*
X152150D01*
X137187Y160399D02*
X151733D01*
X116471Y178399D02*
X151531D01*
X136958Y161299D02*
X150833D01*
X113417Y177499D02*
X150631D01*
X136525Y162199D02*
X149933D01*
X102500Y176599D02*
X149731D01*
X135811Y163099D02*
X149033D01*
X125060Y147799D02*
X134661D01*
X102500Y134299D02*
X134384D01*
X119533Y103699D02*
X133438D01*
X123525Y146899D02*
X133039D01*
X107997Y135199D02*
X132929D01*
X109321Y145999D02*
X132229D01*
X107737Y145099D02*
X131746D01*
X123011Y111799D02*
X131549D01*
X120380Y104599D02*
X131275D01*
X122974Y110899D02*
X130557D01*
X121063Y105499D02*
X130406D01*
X122863Y109999D02*
X129990D01*
X121616Y106399D02*
X129902D01*
X122678Y109099D02*
X129677D01*
X122062Y107299D02*
X129636D01*
X122412Y108199D02*
X129564D01*
X118845Y197299D02*
X127165D01*
X122994Y189199D02*
X126486D01*
X119833Y196399D02*
X125633D01*
X122908Y190099D02*
X125332D01*
X120621Y195499D02*
X124867D01*
X122747Y190999D02*
X124692D01*
X121258Y194599D02*
X124424D01*
X122509Y191899D02*
X124329D01*
X121774Y193699D02*
X124204D01*
X122187Y192799D02*
X124173D01*
X111165Y169399D02*
X111426D01*
X102500Y177499D02*
X110205D01*
X102500Y122599D02*
X108800D01*
X102500Y175699D02*
X107201D01*
X102500Y178399D02*
X107151D01*
X102500Y121699D02*
X106550D01*
X102500Y179299D02*
X105547D01*
X102500Y120799D02*
X105128D01*
X102500Y180199D02*
X104385D01*
X102500Y119899D02*
X104063D01*
X102500Y135199D02*
X104003D01*
X102500Y174799D02*
X103997D01*
X102500Y181099D02*
X103479D01*
X102500Y118999D02*
X103222D01*
X102500Y181999D02*
X102751D01*
X102500Y136099D02*
X102562D01*
X102500Y173899D02*
X102559D01*
X102500Y118099D02*
X102542D01*
G54D148*
X136063Y141000D03*
X143937D03*
G54D149*
X111811Y188583D03*
Y111811D03*
X166929D03*
G54D150*
X157000Y159657D03*
Y179343D03*
Y169500D03*
X132394Y159657D03*
Y179343D03*
G54D151*
X145000Y112000D03*
X137000Y125000D03*
X129000Y118000D03*
X123000Y127000D03*
X169000Y130000D03*
X154000Y138000D03*
Y125000D03*
X160000Y147000D03*
X140000Y192000D03*
X143000Y155000D03*
X144000Y181000D03*
X119000Y158000D03*
X170000Y161000D03*
X169000Y183000D03*
X154000Y193000D03*
G74*
X0Y0D02*
M02*

View File

@ -0,0 +1,419 @@
*
*
G04 PADS 9.5 Build Number: 522968 generated Gerber (RS-274-X) file*
G04 PC Version=2.1*
*
%IN "PSDR_Encoder.pcb"*%
*
%MOIN*%
*
%FSLAX35Y35*%
*
*
*
*
G04 PC Standard Apertures*
*
*
G04 Thermal Relief Aperture macro.*
%AMTER*
1,1,$1,0,0*
1,0,$1-$2,0,0*
21,0,$3,$4,0,0,45*
21,0,$3,$4,0,0,135*
%
*
*
G04 Annular Aperture macro.*
%AMANN*
1,1,$1,0,0*
1,0,$2,0,0*
%
*
*
G04 Odd Aperture macro.*
%AMODD*
1,1,$1,0,0*
1,0,$1-0.005,0,0*
%
*
*
G04 PC Custom Aperture Macros*
*
*
*
*
*
*
G04 PC Aperture Table*
*
%ADD010C,0.001*%
%ADD039C,0.005*%
%ADD146C,0.00787*%
%ADD147C,0.01*%
*
*
*
*
G04 PC Circuitry*
G04 Layer Name PSDR_Encoder.pcb - circuitry*
%LPD*%
*
*
G04 PC Custom Flashes*
G04 Layer Name PSDR_Encoder.pcb - flashes*
%LPD*%
*
*
G04 PC Circuitry*
G04 Layer Name PSDR_Encoder.pcb - circuitry*
%LPD*%
*
G54D10*
G54D39*
G01X155000Y133281D02*
Y130000D01*
X156364*
X157386Y133281D02*
Y130000D01*
X158409Y133281D02*
Y130000D01*
Y133281D02*
X159432D01*
X159773Y133125*
X159886Y132969*
X160000Y132656*
Y132188*
X159886Y131875*
X159773Y131719*
X159432Y131563*
X158409*
X161705Y133281D02*
X161477Y133125D01*
X161250Y132813*
X161136Y132500*
X161023Y132031*
Y131250*
X161136Y130781*
X161250Y130469*
X161477Y130156*
X161705Y130000*
X162159*
X162386Y130156*
X162614Y130469*
X162727Y130781*
X162841Y131250*
Y132031*
X162727Y132500*
X162614Y132813*
X162386Y133125*
X162159Y133281*
X161705*
X156591Y146813D02*
X156364Y147125D01*
X156023Y147281*
X155568*
X155227Y147125*
X155000Y146813*
X155000D02*
Y146500D01*
X155114Y146188*
X155114D02*
X155227Y146031D01*
X155455Y145875*
X156136Y145563*
X156136D02*
X156364Y145406D01*
X156477Y145250*
X156591Y144938*
X156591D02*
Y144469D01*
X156364Y144156*
X156023Y144000*
X155568*
X155227Y144156*
X155000Y144469*
X157727Y146500D02*
Y146656D01*
X157841Y146969*
X157955Y147125*
X158182Y147281*
X158636*
X158864Y147125*
X158977Y146969*
X159091Y146656*
Y146344*
X158977Y146031*
X158750Y145563*
X158750D02*
X157614Y144000D01*
X159205*
X111000Y160281D02*
Y157000D01*
Y160281D02*
X112477D01*
X111000Y158719D02*
X111909D01*
X111000Y157000D02*
X112477D01*
X113500Y160281D02*
Y157000D01*
Y160281D02*
X115091Y157000D01*
Y160281D02*
Y157000D01*
X117818Y159500D02*
X117705Y159813D01*
X117705D02*
X117477Y160125D01*
X117250Y160281*
X116795*
X116568Y160125*
X116341Y159813*
X116341D02*
X116227Y159500D01*
X116114Y159031*
Y158250*
X116227Y157781*
X116341Y157469*
X116568Y157156*
X116795Y157000*
X117250*
X117477Y157156*
X117705Y157469*
X117818Y157781*
X119750Y160281D02*
X118841Y157000D01*
X119750Y160281D02*
X120659Y157000D01*
X119182Y158094D02*
X120318D01*
X111000Y170281D02*
Y167000D01*
Y170281D02*
X112477D01*
X111000Y168719D02*
X111909D01*
X111000Y167000D02*
X112477D01*
X113500Y170281D02*
Y167000D01*
Y170281D02*
X115091Y167000D01*
Y170281D02*
Y167000D01*
X117818Y169500D02*
X117705Y169813D01*
X117705D02*
X117477Y170125D01*
X117250Y170281*
X116795*
X116568Y170125*
X116341Y169813*
X116341D02*
X116227Y169500D01*
X116114Y169031*
Y168250*
X116227Y167781*
X116341Y167469*
X116568Y167156*
X116795Y167000*
X117250*
X117477Y167156*
X117705Y167469*
X117818Y167781*
X118841Y170281D02*
Y167000D01*
Y170281D02*
X119864D01*
X120205Y170125*
X120318Y169969*
X120432Y169656*
Y169344*
X120318Y169031*
X120205Y168875*
X119864Y168719*
X118841D02*
X119864D01*
X120205Y168563*
X120205D02*
X120318Y168406D01*
X120432Y168094*
Y167625*
X120318Y167313*
X120318D02*
X120205Y167156D01*
X119864Y167000*
X118841*
X112591Y147813D02*
X112364Y148125D01*
X112023Y148281*
X111568*
X111227Y148125*
X111000Y147813*
X111000D02*
Y147500D01*
X111114Y147188*
X111114D02*
X111227Y147031D01*
X111455Y146875*
X112136Y146563*
X112136D02*
X112364Y146406D01*
X112477Y146250*
X112591Y145938*
X112591D02*
Y145469D01*
X112364Y145156*
X112023Y145000*
X111568*
X111227Y145156*
X111000Y145469*
X113614Y148281D02*
X114182Y145000D01*
X114750Y148281D02*
X114182Y145000D01*
X114750Y148281D02*
X115318Y145000D01*
X115886Y148281D02*
X115318Y145000D01*
X116909Y148281D02*
Y145000D01*
X118727Y148281D02*
Y145000D01*
X117932Y148281D02*
X119523D01*
X122250Y147500D02*
X122136Y147813D01*
X122136D02*
X121909Y148125D01*
X121682Y148281*
X121227*
X121000Y148125*
X120773Y147813*
X120773D02*
X120659Y147500D01*
X120545Y147031*
Y146250*
X120659Y145781*
X120773Y145469*
X121000Y145156*
X121227Y145000*
X121682*
X121909Y145156*
X122136Y145469*
X122250Y145781*
X123273Y148281D02*
Y145000D01*
X124864Y148281D02*
Y145000D01*
X123273Y146719D02*
X124864D01*
X112705Y131500D02*
X112591Y131813D01*
X112591D02*
X112364Y132125D01*
X112136Y132281*
X111682*
X111455Y132125*
X111227Y131813*
X111227D02*
X111114Y131500D01*
X111000Y131031*
Y130250*
X111114Y129781*
X111227Y129469*
X111455Y129156*
X111682Y129000*
X112136*
X112364Y129156*
X112591Y129469*
X112705Y129781*
Y130250*
X112136D02*
X112705D01*
X113727Y132281D02*
Y129000D01*
Y132281D02*
X115318Y129000D01*
Y132281D02*
Y129000D01*
X116341Y132281D02*
Y129000D01*
Y132281D02*
X117136D01*
X117477Y132125*
X117705Y131813*
X117705D02*
X117818Y131500D01*
X117932Y131031*
Y130250*
X117818Y129781*
X117705Y129469*
X117477Y129156*
X117136Y129000*
X116341*
X111000Y140281D02*
Y137000D01*
Y140281D02*
X112023D01*
X112364Y140125*
X112477Y139969*
X112591Y139656*
Y139344*
X112477Y139031*
X112364Y138875*
X112023Y138719*
X111000D02*
X112023D01*
X112364Y138563*
X112364D02*
X112477Y138406D01*
X112591Y138094*
Y137625*
X112477Y137313*
X112477D02*
X112364Y137156D01*
X112023Y137000*
X111000*
X114523Y140281D02*
X113614Y137000D01*
X114523Y140281D02*
X115432Y137000D01*
X113955Y138094D02*
X115091D01*
X117250Y140281D02*
Y137000D01*
X116455Y140281D02*
X118045D01*
X119864D02*
Y137000D01*
X119068Y140281D02*
X120659D01*
G54D146*
X147874Y146315D02*
X151614D01*
Y116394*
X128386*
Y146315*
X132126*
X124323Y188594D02*
X176685D01*
Y150406*
X124323*
Y188594*
X176685Y183673D02*
X180622D01*
Y155327*
X176685*
G54D147*
X123622Y188583D02*
G75*
G03X123622I-11811J0D01*
G01Y111811D02*
G03X123622I-11811J0D01*
G01X178740D02*
G03X178740I-11811J0D01*
G74*
G01X0Y0D02*
M02*

View File

@ -0,0 +1,274 @@
*
*
G04 PADS 9.5 Build Number: 522968 generated Gerber (RS-274-X) file*
G04 PC Version=2.1*
*
%IN "PSDR_Encoder.pcb"*%
*
%MOIN*%
*
%FSLAX35Y35*%
*
*
*
*
G04 PC Standard Apertures*
*
*
G04 Thermal Relief Aperture macro.*
%AMTER*
1,1,$1,0,0*
1,0,$1-$2,0,0*
21,0,$3,$4,0,0,45*
21,0,$3,$4,0,0,135*
%
*
*
G04 Annular Aperture macro.*
%AMANN*
1,1,$1,0,0*
1,0,$2,0,0*
%
*
*
G04 Odd Aperture macro.*
%AMODD*
1,1,$1,0,0*
1,0,$1-0.005,0,0*
%
*
*
G04 PC Custom Aperture Macros*
*
*
*
*
*
*
G04 PC Aperture Table*
*
%ADD010C,0.001*%
%ADD048C,0.07*%
%ADD094C,0.00394*%
%ADD147C,0.01*%
%ADD148O,0.05906X0.1063*%
%ADD149C,0.19*%
%ADD150C,0.063*%
*
*
*
*
G04 PC Circuitry*
G04 Layer Name PSDR_Encoder.pcb - circuitry*
%LPD*%
*
*
G04 PC Custom Flashes*
G04 Layer Name PSDR_Encoder.pcb - flashes*
%LPD*%
*
*
G04 PC Circuitry*
G04 Layer Name PSDR_Encoder.pcb - circuitry*
%LPD*%
*
G54D10*
G54D48*
G01X106000Y160000D03*
Y170000D03*
Y150000D03*
Y130000D03*
Y140000D03*
G54D94*
X133971Y108096D03*
X128571Y193096D03*
X171271Y145396D03*
G54D147*
X135469Y108100D02*
X135440Y108386D01*
X135357Y108662*
X135221Y108916*
X135038Y109138*
X134816Y109321*
X134562Y109457*
X134286Y109540*
X134000Y109569*
X133714Y109540*
X133438Y109457*
X133184Y109321*
X132962Y109138*
X132779Y108916*
X132643Y108662*
X132560Y108386*
X132531Y108100*
X132560Y107814*
X132643Y107538*
X132779Y107284*
X132962Y107062*
X133184Y106879*
X133438Y106743*
X133714Y106660*
X134000Y106631*
X134286Y106660*
X134562Y106743*
X134816Y106879*
X135038Y107062*
X135221Y107284*
X135357Y107538*
X135440Y107814*
X135469Y108100*
X133000Y107030D02*
Y109170D01*
X133500Y106724D02*
Y109476D01*
X134000Y106631D02*
Y109569D01*
X134500Y106724D02*
Y109476D01*
X135000Y107030D02*
Y109170D01*
X130069Y193100D02*
X130040Y193386D01*
X129957Y193662*
X129821Y193916*
X129638Y194138*
X129416Y194321*
X129162Y194457*
X128886Y194540*
X128600Y194569*
X128314Y194540*
X128038Y194457*
X127784Y194321*
X127562Y194138*
X127379Y193916*
X127243Y193662*
X127160Y193386*
X127131Y193100*
X127160Y192814*
X127243Y192538*
X127379Y192284*
X127562Y192062*
X127784Y191879*
X128038Y191743*
X128314Y191660*
X128600Y191631*
X128886Y191660*
X129162Y191743*
X129416Y191879*
X129638Y192062*
X129821Y192284*
X129957Y192538*
X130040Y192814*
X130069Y193100*
X127600Y192030D02*
Y194170D01*
X128100Y191724D02*
Y194476D01*
X128600Y191631D02*
Y194569D01*
X129100Y191724D02*
Y194476D01*
X129600Y192030D02*
Y194170D01*
X172769Y145400D02*
X172740Y145686D01*
X172657Y145962*
X172521Y146216*
X172338Y146438*
X172116Y146621*
X171862Y146757*
X171586Y146840*
X171300Y146869*
X171014Y146840*
X170738Y146757*
X170484Y146621*
X170262Y146438*
X170079Y146216*
X169943Y145962*
X169860Y145686*
X169831Y145400*
X169860Y145114*
X169943Y144838*
X170079Y144584*
X170262Y144362*
X170484Y144179*
X170738Y144043*
X171014Y143960*
X171300Y143931*
X171586Y143960*
X171862Y144043*
X172116Y144179*
X172338Y144362*
X172521Y144584*
X172657Y144838*
X172740Y145114*
X172769Y145400*
X170300Y144330D02*
Y146470D01*
X170800Y144024D02*
Y146776D01*
X171300Y143931D02*
Y146869D01*
X171800Y144024D02*
Y146776D01*
X172300Y144330D02*
Y146470D01*
X136453Y108100D02*
G75*
G03X136453I-2453J0D01*
G01X131053Y193100D02*
G03X131053I-2453J0D01*
G01X173753Y145400D02*
G03X173753I-2453J0D01*
G01X136453Y108100D02*
G03X136453I-2453J0D01*
G01X131053Y193100D02*
G03X131053I-2453J0D01*
G01X173753Y145400D02*
G03X173753I-2453J0D01*
G01X131560Y108346D02*
X136440D01*
X131636Y107446D02*
X136364D01*
X131831Y109246D02*
X136169D01*
X132102Y106546D02*
X135898D01*
X132647Y110146D02*
X135353D01*
X126160Y193346D02*
X131040D01*
X126236Y192446D02*
X130964D01*
X126431Y194246D02*
X130769D01*
X126702Y191546D02*
X130498D01*
X127247Y195146D02*
X129953D01*
X168860Y145646D02*
X173740D01*
X168936Y144746D02*
X173664D01*
X169131Y146546D02*
X173469D01*
X169402Y143846D02*
X173198D01*
X169947Y147446D02*
X172653D01*
G54D148*
X136063Y141000D03*
X143937D03*
G54D149*
X111811Y188583D03*
Y111811D03*
X166929D03*
G54D150*
X157000Y159657D03*
Y179343D03*
Y169500D03*
X132394Y159657D03*
Y179343D03*
G74*
X0Y0D02*
M02*

View File

@ -0,0 +1,37 @@
% M48 INCH,LZ
T1C.014F095S300
X012300Y012700
X012900Y011800
X013700Y012500
X014500Y011200
X015400Y012500
X016900Y013000
X017000Y016100
X016000Y014700
X015400Y013800
X014300Y015500
X011900Y015800
X014000Y019200
X014400Y018100
X015400Y019300
X016900Y018300
T2C.02756F197S550
X013606Y014100
X014394Y014100
T3C.037F197S550
X010600Y013000
X010600Y015000
X010600Y016000
X010600Y014000
X010600Y017000
T4C.039F197S550
X013239Y015966
X015700Y015966
X015700Y016950
X015700Y017934
X013239Y017934
T5C.11811F069S658
X011181Y011181
X016693Y011181
X011181Y018858
M30

Binary file not shown.

After

Width:  |  Height:  |  Size: 75 KiB

Binary file not shown.

Binary file not shown.

BIN
Hardware/PSDR2.5_BOM.ods Normal file

Binary file not shown.

BIN
Hardware/PSDR2.5_BOM.xls Normal file

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@ -1,91 +1,81 @@
#MicroXplorer Configuration settings - do not modify
#Sat Sep 27 00:38:59 MDT 2014
ADC1.Channel-0\#ChannelRegularConversion=ADC_CHANNEL_TEMPSENSOR
ADC1.IPParameters=NbrOfConversionFlag,Channel-0\#ChannelRegularConversion,SamplingTime-0\#ChannelRegularConversion,Rank-0\#ChannelRegularConversion,master
ADC1.NbrOfConversionFlag=1
ADC1.Rank-0\#ChannelRegularConversion=1
ADC1.SamplingTime-0\#ChannelRegularConversion=ADC_SAMPLETIME_3CYCLES
ADC1.master=1
File.Version=3
File.Version=6
KeepUserPlacement=false
Mcu.Family=STM32F4
Mcu.IP0=ADC1
Mcu.IP1=DAC
Mcu.IP10=USB_OTG_FS
Mcu.IP0=DAC
Mcu.IP1=I2C2
Mcu.IP10=USART1
Mcu.IP11=USART6
Mcu.IP12=USB_OTG_FS
Mcu.IP2=NVIC
Mcu.IP3=RCC
Mcu.IP4=SDIO
Mcu.IP5=SPI1
Mcu.IP6=SYS
Mcu.IP7=TIM1
Mcu.IP8=TIM2
Mcu.IP9=USART1
Mcu.IPNb=11
Mcu.IP6=SPI2
Mcu.IP7=SYS
Mcu.IP8=TIM1
Mcu.IP9=TIM4
Mcu.IPNb=13
Mcu.Name=STM32F429V(E-G-I)Tx
Mcu.Package=LQFP100
Mcu.Pin0=PE2
Mcu.Pin1=PE3
Mcu.Pin10=PC0
Mcu.Pin11=PC1
Mcu.Pin12=PC2
Mcu.Pin13=PC3
Mcu.Pin14=PA0/WKUP
Mcu.Pin15=PA4
Mcu.Pin16=PA5
Mcu.Pin17=PD11
Mcu.Pin18=PD12
Mcu.Pin19=PD13
Mcu.Pin2=PE4
Mcu.Pin20=PD14
Mcu.Pin21=PD15
Mcu.Pin22=PC6
Mcu.Pin23=PC7
Mcu.Pin24=PC8
Mcu.Pin25=PC9
Mcu.Pin26=PA8
Mcu.Pin27=PA9
Mcu.Pin28=PA10
Mcu.Pin29=PA11
Mcu.Pin3=PE5
Mcu.Pin30=PA12
Mcu.Pin31=PA13
Mcu.Pin32=PA14
Mcu.Pin33=PA15
Mcu.Pin34=PC10
Mcu.Pin35=PC11
Mcu.Pin36=PC12
Mcu.Pin37=PD0
Mcu.Pin38=PD1
Mcu.Pin39=PD2
Mcu.Pin4=PE6
Mcu.Pin40=PD3
Mcu.Pin41=PD4
Mcu.Pin42=PD5
Mcu.Pin43=PD6
Mcu.Pin44=PD7
Mcu.Pin45=PB3
Mcu.Pin46=PB4
Mcu.Pin47=PB5
Mcu.Pin48=PB6
Mcu.Pin49=PB7
Mcu.Pin5=PC13
Mcu.Pin50=PB8
Mcu.Pin51=PB9
Mcu.Pin52=PE0
Mcu.Pin53=PE1
Mcu.Pin54=VP_ADC1_TempSens_Input
Mcu.Pin55=VP_ADC1_Vbat_Input
Mcu.Pin6=PC14/OSC32_IN
Mcu.Pin7=PC15/OSC32_OUT
Mcu.Pin8=PH0/OSC_IN
Mcu.Pin9=PH1/OSC_OUT
Mcu.PinsNb=56
Mcu.Pin0=PC14/OSC32_IN
Mcu.Pin1=PC15/OSC32_OUT
Mcu.Pin10=PB11
Mcu.Pin11=PB12
Mcu.Pin12=PB13
Mcu.Pin13=PB14
Mcu.Pin14=PB15
Mcu.Pin15=PD12
Mcu.Pin16=PC6
Mcu.Pin17=PC7
Mcu.Pin18=PC8
Mcu.Pin19=PC9
Mcu.Pin2=PH0/OSC_IN
Mcu.Pin20=PA9
Mcu.Pin21=PA10
Mcu.Pin22=PA11
Mcu.Pin23=PA12
Mcu.Pin24=PA13
Mcu.Pin25=PA14
Mcu.Pin26=PA15
Mcu.Pin27=PC10
Mcu.Pin28=PC11
Mcu.Pin29=PC12
Mcu.Pin3=PH1/OSC_OUT
Mcu.Pin30=PD2
Mcu.Pin31=PB3
Mcu.Pin32=PB4
Mcu.Pin33=PB5
Mcu.Pin34=PB6
Mcu.Pin35=PB7
Mcu.Pin36=VP_ADC1_TempSens_Input
Mcu.Pin37=VP_SYS_VS_Systick
Mcu.Pin38=VP_TIM1_VS_ControllerModeGated
Mcu.Pin39=VP_TIM1_VS_ClockSourceINT
Mcu.Pin4=PA1
Mcu.Pin40=VP_TIM4_VS_ClockSourceINT
Mcu.Pin5=PA4
Mcu.Pin6=PA5
Mcu.Pin7=PE7
Mcu.Pin8=PE9
Mcu.Pin9=PB10
Mcu.PinsNb=41
Mcu.UserConstants=
Mcu.UserName=STM32F429VITx
MxCube.Version=4.14.0
MxDb.Version=DB.4.0.140
NVIC.BusFault_IRQn=true\:0\:0\:false\:false\:false
NVIC.DebugMonitor_IRQn=true\:0\:0\:false\:false\:false
NVIC.HardFault_IRQn=true\:0\:0\:false\:false\:false
NVIC.MemoryManagement_IRQn=true\:0\:0\:false\:false\:false
NVIC.NonMaskableInt_IRQn=true\:0\:0\:false\:false\:false
NVIC.PriorityGroup=NVIC_PRIORITYGROUP_0
NVIC.SysTick_IRQn=true\:0\:0
PA0/WKUP.GPIOParameters=GPIO_Label
PA0/WKUP.GPIO_Label=REF_CLOCK_ENABLE
PA0/WKUP.Signal=GPIO_Output
NVIC.SysTick_IRQn=true\:0\:0\:false\:false\:true
NVIC.UsageFault_IRQn=true\:0\:0\:false\:false\:false
PA1.GPIOParameters=GPIO_Label
PA1.GPIO_Label=BOOT1
PA1.Locked=true
PA1.Signal=GPIO_Input
PA10.Mode=OTG/Dual_Role_Device
PA10.Signal=USB_OTG_FS_ID
PA11.Mode=OTG/Dual_Role_Device
@ -96,79 +86,58 @@ PA13.Mode=Serial-Wire
PA13.Signal=SYS_JTMS-SWDIO
PA14.Mode=Serial-Wire
PA14.Signal=SYS_JTCK-SWCLK
PA15.GPIOParameters=GPIO_Label
PA15.GPIO_Label=LCD_LED
PA15.Signal=S_TIM2_CH1_ETR
PA15.Mode=NSS_Signal_Hard_Input
PA15.Signal=SPI1_NSS
PA4.Signal=COMP_DAC1_group
PA5.Signal=COMP_DAC2_group
PA8.GPIOParameters=GPIO_Label
PA8.GPIO_Label=LED_WHITE
PA8.Signal=S_TIM1_CH1
PA9.Mode=Activate_VBUS
PA9.Signal=USB_OTG_FS_VBUS
PB3.GPIOParameters=GPIO_Label
PB3.GPIO_Label=LCD_SCK
PB10.Mode=I2C
PB10.Signal=I2C2_SCL
PB11.Mode=I2C
PB11.Signal=I2C2_SDA
PB12.Mode=NSS_Signal_Hard_Input
PB12.Signal=SPI2_NSS
PB13.Mode=Full_Duplex_Master
PB13.Signal=SPI2_SCK
PB14.Locked=true
PB14.Mode=Full_Duplex_Master
PB14.Signal=SPI2_MISO
PB15.Locked=true
PB15.Mode=Full_Duplex_Master
PB15.Signal=SPI2_MOSI
PB3.Mode=Full_Duplex_Master
PB3.Signal=SPI1_SCK
PB4.GPIOParameters=GPIO_Label
PB4.GPIO_Label=LCD_MISO
PB4.Locked=true
PB4.Mode=Full_Duplex_Master
PB4.Signal=SPI1_MISO
PB5.GPIOParameters=GPIO_Label
PB5.GPIO_Label=LCD_MOSI
PB5.Locked=true
PB5.Mode=Full_Duplex_Master
PB5.Signal=SPI1_MOSI
PB6.GPIOParameters=GPIO_Label
PB6.GPIO_Label=RX_TO_GPS
PB6.Mode=Asynchronous
PB6.Signal=USART1_TX
PB7.GPIOParameters=GPIO_Label
PB7.GPIO_Label=TX_FROM_GPS
PB7.Mode=Asynchronous
PB7.Signal=USART1_RX
PB8.GPIOParameters=GPIO_Label
PB8.GPIO_Label=ENC_B
PB8.Signal=GPIO_Input
PB9.GPIOParameters=GPIO_Label
PB9.GPIO_Label=ENC_A
PB9.Signal=GPIO_Input
PC0.GPIOParameters=GPIO_Label
PC0.GPIO_Label=DDS_PSEL
PC0.Signal=GPIO_Output
PC1.GPIOParameters=GPIO_Label
PC1.GPIO_Label=LOW_BAT
PC1.Signal=GPIO_Input
PC10.Mode=SD_4_bits_Wide_bus
PC10.Signal=SDIO_D2
PC11.Mode=SD_4_bits_Wide_bus
PC11.Signal=SDIO_D3
PC12.Mode=SD_4_bits_Wide_bus
PC12.Signal=SDIO_CK
PC13.GPIOParameters=GPIO_Label
PC13.GPIO_Label=DDS_FSEL
PC13.Signal=GPIO_Output
PC14/OSC32_IN.Mode=LSE-External-Oscillator
PC14/OSC32_IN.Signal=RCC_OSC32_IN
PC15/OSC32_OUT.Mode=LSE-External-Oscillator
PC15/OSC32_OUT.Signal=RCC_OSC32_OUT
PC2.GPIOParameters=GPIO_Label
PC2.GPIO_Label=CHARGE_STATUS2
PC2.Signal=GPIO_Input
PC3.GPIOParameters=GPIO_Label
PC3.GPIO_Label=POWER_GOOD
PC3.Signal=GPIO_Input
PC6.GPIOParameters=GPIO_Label
PC6.GPIO_Label=TOUCH1
PC6.Signal=GPIO_Input
PC6.GPIO_Label=RX TO GPS
PC6.Mode=Asynchronous
PC6.Signal=USART6_TX
PC7.GPIOParameters=GPIO_Label
PC7.GPIO_Label=TOUCH2
PC7.Signal=GPIO_Input
PC8.GPIOParameters=GPIO_Label
PC8.GPIO_Label=SDIO_DAT0
PC7.GPIO_Label=TX FROM GPS
PC7.Mode=Asynchronous
PC7.Signal=USART6_RX
PC8.Mode=SD_4_bits_Wide_bus
PC8.Signal=SDIO_D0
PC9.GPIOParameters=GPIO_Label
PC9.GPIO_Label=SDIO_DAT1
PC9.Mode=SD_4_bits_Wide_bus
PC9.Signal=SDIO_D1
PCC.Battery=LiPo_SparkFun_2000mAh
@ -180,103 +149,99 @@ PCC.Battery.MaxContinuous=4000.0
PCC.Battery.MaxPulseCurrent=0.0
PCC.Battery.NominalVoltage=3.7
PCC.Battery.SelfDischarge=10.0
PCC.Family=STM32F4
PCC.Checker=false
PCC.Line=STM32F429/439
PCC.MCU=STM32F429V(E-G-I)Tx
PCC.MXVersion=4.2.0
PCC.MXVersion=4.14.0
PCC.PartNumber=STM32F429VITx
PCC.Seq0=0
PCC.SubFamily=STM32F429/439
PCC.Series=STM32F4
PCC.Temperature=25
PCC.Vdd=3.3
PD0.GPIOParameters=GPIO_Label
PD0.GPIO_Label=GPS_POWER
PD0.Signal=GPIO_Output
PD1.GPIOParameters=GPIO_Label
PD1.GPIO_Label=GPS_RESET
PD1.Signal=GPIO_Output
PD11.GPIOParameters=GPIO_Label
PD11.GPIO_Label=KEY1
PD11.Signal=GPIO_Input
PD12.GPIOParameters=GPIO_Label
PD12.GPIO_Label=KEY2
PD12.Signal=GPIO_Input
PD13.GPIOParameters=GPIO_Label
PD13.GPIO_Label=PREAMP_SHTDWN
PD13.Signal=GPIO_Output
PD14.GPIOParameters=GPIO_Label
PD14.GPIO_Label=MIC_SELECT
PD14.Signal=GPIO_Output
PD15.GPIOParameters=GPIO_Label
PD15.GPIO_Label=SD_CARD_DETECT
PD15.Signal=GPIO_Input
PD12.GPIO_Label=SIDETONE
PD12.Locked=true
PD12.Signal=S_TIM4_CH1
PD2.Mode=SD_4_bits_Wide_bus
PD2.Signal=SDIO_CMD
PD3.GPIOParameters=GPIO_Label
PD3.GPIO_Label=GPS_FIX_LED
PD3.Signal=GPIO_Input
PD4.GPIOParameters=GPIO_Label
PD4.GPIO_Label=GPS_PPS
PD4.Signal=GPIO_Input
PD5.GPIOParameters=GPIO_Label
PD5.GPIO_Label=LCD_CS
PD5.Signal=GPIO_Output
PD6.GPIOParameters=GPIO_Label
PD6.GPIO_Label=LCD_RESET
PD6.Signal=GPIO_Output
PD7.GPIOParameters=GPIO_Label
PD7.GPIO_Label=LCD_DC/RS
PD7.Signal=GPIO_Output
PE0.GPIOParameters=GPIO_Label
PE0.GPIO_Label=ENC_SW
PE0.Signal=GPIO_Input
PE1.GPIOParameters=GPIO_Label
PE1.GPIO_Label=DDS1_MOSI
PE1.Signal=GPIO_Output
PE2.GPIOParameters=GPIO_Label
PE2.GPIO_Label=DDS1_SCK
PE2.Signal=GPIO_Output
PE3.GPIOParameters=GPIO_Label
PE3.GPIO_Label=DDS1_NSS
PE3.Signal=GPIO_Output
PE4.GPIOParameters=GPIO_Label
PE4.GPIO_Label=DDS2_MOSI
PE4.Signal=GPIO_Output
PE5.GPIOParameters=GPIO_Label
PE5.GPIO_Label=DDS2_SCK
PE5.Signal=GPIO_Output
PE6.GPIOParameters=GPIO_Label
PE6.GPIO_Label=DDS2_NSS
PE6.Signal=GPIO_Output
PE7.GPIOParameters=GPIO_Label
PE7.GPIO_Label=GPS_PPS
PE7.Signal=S_TIM1_ETR
PE9.GPIOParameters=GPIO_Label
PE9.GPIO_Label=F_SYNTH_CAL
PE9.Signal=S_TIM1_CH1
PH0/OSC_IN.Mode=HSE-External-Oscillator
PH0/OSC_IN.Signal=RCC_OSC_IN
PH1/OSC_OUT.Mode=HSE-External-Oscillator
PH1/OSC_OUT.Signal=RCC_OSC_OUT
RCC.48MHZClocksFreq_Value=48000000
RCC.AHBFreq_Value=168000000
RCC.APB1CLKDivider=RCC_HCLK_DIV4
RCC.APB1Freq_Value=42000000
RCC.APB1TimFreq_Value=84000000
RCC.APB2CLKDivider=RCC_HCLK_DIV2
RCC.APB2Freq_Value=84000000
RCC.APB2TimFreq_Value=168000000
RCC.CortexFreq_Value=168000000
RCC.EthernetFreq_Value=168000000
RCC.FCLKCortexFreq_Value=168000000
RCC.FamilyName=M
RCC.HSE_VALUE=24000000
RCC.HCLKFreq_Value=168000000
RCC.HSE_VALUE=26000000
RCC.HSI_VALUE=16000000
RCC.IPParameters=PLLSource,RTCFreq_Value,LSI_VALUE,FamilyName,APB1TimFreq_Value,SAI_AClocksFreq_Value,APB2Freq_Value,MCO2PinFreq_Value,APB1CLKDivider,HCLKFreq_Value,EthernetFreq_Value,FCLKCortexFreq_Value,APB2CLKDivider,PLLM,AHBFreq_Value,48MHZClocksFreq_Value,VCOInputFreq_Value,I2SClocksFreq_Value,PLLN,VCOSAIOutputFreq_Value,VCOOutputFreq_Value,SYSCLKFreq_VALUE,SAI_BClocksFreq_Value,CortexFreq_Value,PLLQ,SYSCLKSource,LSE_VALUE,APB1Freq_Value,HSE_VALUE,HSI_VALUE,VCOI2SOutputFreq_Value,LCDTFTFreq_Value,RTCHSEDivFreq_Value,PLLCLKFreq_Value,APB2TimFreq_Value
RCC.LSE_VALUE=32768
RCC.I2SClocksFreq_Value=96000000
RCC.IPParameters=LSI_VALUE,FamilyName,APB1CLKDivider,HSE_VALUE,HSI_VALUE,RTCHSEDivFreq_Value,VCOInputFreq_Value,VCOSAIOutputFreq_Value,VCOSAIOutputFreq_ValueR,LCDTFTFreq_Value,VCOSAIOutputFreq_ValueQ,VCOOutputFreq_Value,PLLCLKFreq_Value,PLLQCLKFreq_Value,VCOI2SOutputFreq_Value,VcooutputI2S,I2SClocksFreq_Value,VcooutputI2SQ,SYSCLKFreq_VALUE,AHBFreq_Value,HCLKFreq_Value,CortexFreq_Value,FCLKCortexFreq_Value,APB1Freq_Value,APB1TimFreq_Value,APB2Freq_Value,APB2TimFreq_Value,EthernetFreq_Value,MCO2PinFreq_Value,RTCFreq_Value,SAI_AClocksFreq_Value,SAI_BClocksFreq_Value,48MHZClocksFreq_Value,APB2CLKDivider,PLLM,PLLN,SYSCLKSource,PLLQ
RCC.LCDTFTFreq_Value=12250000
RCC.LSI_VALUE=32000
RCC.PLLM=15
RCC.PLLN=210
RCC.MCO2PinFreq_Value=168000000
RCC.PLLCLKFreq_Value=168000000
RCC.PLLM=26
RCC.PLLN=336
RCC.PLLQ=7
RCC.PLLSource=RCC_PLLSOURCE_HSE
RCC.PLLQCLKFreq_Value=48000000
RCC.RTCFreq_Value=32000
RCC.RTCHSEDivFreq_Value=13000000
RCC.SAI_AClocksFreq_Value=12250000
RCC.SAI_BClocksFreq_Value=12250000
RCC.SYSCLKFreq_VALUE=168000000
RCC.SYSCLKSource=RCC_SYSCLKSOURCE_PLLCLK
RCC.VCOI2SOutputFreq_Value=192000000
RCC.VCOInputFreq_Value=1000000
RCC.VCOOutputFreq_Value=336000000
RCC.VCOSAIOutputFreq_Value=49000000
RCC.VCOSAIOutputFreq_ValueQ=12250000
RCC.VCOSAIOutputFreq_ValueR=24500000
RCC.VcooutputI2S=96000000
RCC.VcooutputI2SQ=96000000
SDIO.BusWide=SDIO_BUS_WIDE_1B
SDIO.IPParameters=BusWide,WideMode
SDIO.WideMode=SDIO_BUS_WIDE_4B
SH.COMP_DAC1_group.0=DAC_OUT1,DAC_OUT1
SH.COMP_DAC1_group.ConfNb=1
SH.COMP_DAC2_group.0=DAC_OUT2,DAC_OUT2
SH.COMP_DAC2_group.ConfNb=1
SH.S_TIM1_CH1.0=TIM1_CH1,Output Compare1 CH1
SH.S_TIM1_CH1.0=TIM1_CH1,Input_Capture1_from_TI1
SH.S_TIM1_CH1.ConfNb=1
SH.S_TIM2_CH1_ETR.0=TIM2_CH1,Output Compare1 CH1
SH.S_TIM2_CH1_ETR.ConfNb=1
SPI1.BaudRatePrescaler-Full_Duplex_Master=SPI_BAUDRATEPRESCALER_2
SPI1.CalculateBaudRate-Full_Duplex_Master=42.0 MBits/s
SPI1.IPParameters=BaudRatePrescaler-Full_Duplex_Master,Mode-Full_Duplex_Master,CalculateBaudRate-Full_Duplex_Master
SPI1.Mode-Full_Duplex_Master=SPI_MODE_MASTER
VP_ADC1_TempSens_Input.Mode=IN-TempSens
SH.S_TIM1_ETR.0=TIM1_ETR,TriggerSource_ETR
SH.S_TIM1_ETR.ConfNb=1
SH.S_TIM4_CH1.0=TIM4_CH1,Output Compare1 CH1
SH.S_TIM4_CH1.ConfNb=1
SPI1.BaudRatePrescaler=SPI_BAUDRATEPRESCALER_2
SPI1.CalculateBaudRate=42.0 MBits/s
SPI1.IPParameters=Mode,CalculateBaudRate,VirtualNSS,BaudRatePrescaler
SPI1.Mode=SPI_MODE_MASTER
SPI1.VirtualNSS=VM_NSSHARD
SPI2.BaudRatePrescaler=SPI_BAUDRATEPRESCALER_2
SPI2.CalculateBaudRate=21.0 MBits/s
SPI2.IPParameters=Mode,CalculateBaudRate,VirtualNSS,BaudRatePrescaler
SPI2.Mode=SPI_MODE_MASTER
SPI2.VirtualNSS=VM_NSSHARD
VP_ADC1_TempSens_Input.Signal=ADC1_TempSens_Input
VP_ADC1_Vbat_Input.Mode=IN-Vbat
VP_ADC1_Vbat_Input.Signal=ADC1_Vbat_Input
VP_SYS_VS_Systick.Mode=SysTick
VP_SYS_VS_Systick.Signal=SYS_VS_Systick
VP_TIM1_VS_ClockSourceINT.Mode=Internal
VP_TIM1_VS_ClockSourceINT.Signal=TIM1_VS_ClockSourceINT
VP_TIM1_VS_ControllerModeGated.Mode=Gated Mode
VP_TIM1_VS_ControllerModeGated.Signal=TIM1_VS_ControllerModeGated
VP_TIM4_VS_ClockSourceINT.Mode=Internal
VP_TIM4_VS_ClockSourceINT.Signal=TIM4_VS_ClockSourceINT

View File

@ -59,7 +59,6 @@
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.assembler.usepreprocessor.1630883481" name="Use preprocessor" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.assembler.usepreprocessor" value="true" valueType="boolean"/>
<option id="ilg.gnuarmeclipse.managedbuild.cross.option.assembler.include.paths.1649056935" name="Include paths (-I)" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.assembler.include.paths" valueType="includePath">
<listOptionValue builtIn="false" value="&quot;../include&quot;"/>
<listOptionValue builtIn="false" value="&quot;D:\stm32-discovery-projects\CMSIS-SP-00300-r3p1-00rel0\Device\ARM\ARMCM4\Include&quot;"/>
<listOptionValue builtIn="false" value="&quot;${workspace_loc:/${ProjName}/DSP_Lib}&quot;"/>
<listOptionValue builtIn="false" value="&quot;../system/include&quot;"/>
<listOptionValue builtIn="false" value="&quot;../system/include/cmsis&quot;"/>
@ -69,7 +68,7 @@
<listOptionValue builtIn="false" value="DEBUG"/>
<listOptionValue builtIn="false" value="TRACE&#10;"/>
<listOptionValue builtIn="false" value="OS_USE_TRACE_SEMIHOSTING_DEBUG"/>
<listOptionValue builtIn="false" value="HSE_VALUE=24000000"/>
<listOptionValue builtIn="false" value="HSE_VALUE=26000000"/>
<listOptionValue builtIn="false" value="STM32F429xx"/>
<listOptionValue builtIn="false" value="__FPU_PRESENT"/>
<listOptionValue builtIn="false" value="ARM_MATH_CM4"/>
@ -92,7 +91,7 @@
<listOptionValue builtIn="false" value="__FPU_PRESENT"/>
<listOptionValue builtIn="false" value="TRACE&#10;"/>
<listOptionValue builtIn="false" value="OS_USE_TRACE_SEMIHOSTING_DEBUG"/>
<listOptionValue builtIn="false" value="HSE_VALUE=24000000"/>
<listOptionValue builtIn="false" value="HSE_VALUE=26000000"/>
<listOptionValue builtIn="false" value="STM32F429xx"/>
<listOptionValue builtIn="false" value="DEBUG"/>
<listOptionValue builtIn="false" value="USE_FULL_ASSERT"/>
@ -122,7 +121,7 @@
<listOptionValue builtIn="false" value="DEBUG"/>
<listOptionValue builtIn="false" value="OS_USE_TRACE_SEMIHOSTING_DEBUG"/>
<listOptionValue builtIn="false" value="TRACE&#10;"/>
<listOptionValue builtIn="false" value="HSE_VALUE=24000000"/>
<listOptionValue builtIn="false" value="HSE_VALUE=26000000"/>
<listOptionValue builtIn="false" value="STM32F429xx"/>
<listOptionValue builtIn="false" value="__FPU_PRESENT"/>
<listOptionValue builtIn="false" value="USE_FULL_ASSERT"/>
@ -794,12 +793,26 @@
<entry excluding="Source/TransformFunctions/arm_cfft_radix2_q31.c|Source/TransformFunctions/arm_cfft_radix2_q15.c|Source/TransformFunctions/arm_cfft_radix2_init_q31.c|Source/TransformFunctions/arm_cfft_radix2_init_q15.c|Source/TransformFunctions/arm_cfft_radix2_init_f32.c|Source/TransformFunctions/arm_cfft_radix2_f32.c|Source/FilteringFunctions|Source/ControllerFunctions|Source/MatrixFunctions|Source/StatisticsFunctions|Source/SupportFunctions" flags="VALUE_WORKSPACE_PATH|RESOLVED" kind="sourcePath" name="DSP_Lib"/>
<entry excluding="uart.h|ILI9341_t3.h" flags="VALUE_WORKSPACE_PATH|RESOLVED" kind="sourcePath" name="include"/>
<entry excluding="uart.c|ILI9341_t3.c" flags="VALUE_WORKSPACE_PATH|RESOLVED" kind="sourcePath" name="src"/>
<entry excluding="include/cmsis/stm32f439xx.h|include/cmsis/stm32f437xx.h|include/cmsis/stm32f427xx.h|include/cmsis/stm32f417xx.h|include/cmsis/stm32f415xx.h|include/cmsis/stm32f407xx.h|include/cmsis/stm32f405xx.h|include/cmsis/stm32f401xe.h|include/cmsis/stm32f401xc.h|src/stm32f4-hal/stm32f4xx_hal_adc_ex.c|src/stm32f4-hal/stm32f4xx_hal_can.c|src/stm32f4-hal/stm32f4xx_hal_crc.c|src/stm32f4-hal/stm32f4xx_hal_cryp.c|src/stm32f4-hal/stm32f4xx_hal_cryp_ex.c|src/stm32f4-hal/stm32f4xx_hal_dac_ex.c|src/stm32f4-hal/stm32f4xx_hal_dcmi.c|src/stm32f4-hal/stm32f4xx_hal_dma2d.c|src/stm32f4-hal/stm32f4xx_hal_dma_ex.c|src/stm32f4-hal/stm32f4xx_hal_eth.c|src/stm32f4-hal/stm32f4xx_hal_hash.c|src/stm32f4-hal/stm32f4xx_hal_hash_ex.c|src/stm32f4-hal/stm32f4xx_hal_hcd.c|src/stm32f4-hal/stm32f4xx_hal_i2c.c|src/stm32f4-hal/stm32f4xx_hal_i2c_ex.c|src/stm32f4-hal/stm32f4xx_hal_i2s.c|src/stm32f4-hal/stm32f4xx_hal_i2s_ex.c|src/stm32f4-hal/stm32f4xx_hal_irda.c|src/stm32f4-hal/stm32f4xx_hal_ltdc.c|src/stm32f4-hal/stm32f4xx_hal_msp_template.c|src/stm32f4-hal/stm32f4xx_hal_nand.c|src/stm32f4-hal/stm32f4xx_hal_nor.c|src/stm32f4-hal/stm32f4xx_hal_pccard.c|src/stm32f4-hal/stm32f4xx_hal_pcd.c|src/stm32f4-hal/stm32f4xx_hal_rng.c|src/stm32f4-hal/stm32f4xx_hal_rtc_ex.c|src/stm32f4-hal/stm32f4xx_hal_sai.c|src/stm32f4-hal/stm32f4xx_hal_sd.c|src/stm32f4-hal/stm32f4xx_hal_sdram.c|src/stm32f4-hal/stm32f4xx_hal_smartcard.c|src/stm32f4-hal/stm32f4xx_hal_sram.c|src/stm32f4-hal/stm32f4xx_hal_wwdg.c|src/stm32f4-hal/stm32f4xx_ll_fmc.c|src/stm32f4-hal/stm32f4xx_ll_fsmc.c|src/stm32f4-hal/stm32f4xx_ll_sdmmc.c|src/stm32f4-hal/stm32f4xx_ll_usb.c" flags="VALUE_WORKSPACE_PATH|RESOLVED" kind="sourcePath" name="system"/>
<entry excluding="include/cmsis/stm32f439xx.h|include/cmsis/stm32f437xx.h|include/cmsis/stm32f427xx.h|include/cmsis/stm32f417xx.h|include/cmsis/stm32f415xx.h|include/cmsis/stm32f407xx.h|include/cmsis/stm32f405xx.h|include/cmsis/stm32f401xe.h|include/cmsis/stm32f401xc.h|src/stm32f4-hal/stm32f4xx_hal_adc_ex.c|src/stm32f4-hal/stm32f4xx_hal_can.c|src/stm32f4-hal/stm32f4xx_hal_crc.c|src/stm32f4-hal/stm32f4xx_hal_cryp.c|src/stm32f4-hal/stm32f4xx_hal_cryp_ex.c|src/stm32f4-hal/stm32f4xx_hal_dac_ex.c|src/stm32f4-hal/stm32f4xx_hal_dcmi.c|src/stm32f4-hal/stm32f4xx_hal_dma2d.c|src/stm32f4-hal/stm32f4xx_hal_dma_ex.c|src/stm32f4-hal/stm32f4xx_hal_eth.c|src/stm32f4-hal/stm32f4xx_hal_hash.c|src/stm32f4-hal/stm32f4xx_hal_hash_ex.c|src/stm32f4-hal/stm32f4xx_hal_hcd.c|src/stm32f4-hal/stm32f4xx_hal_i2s.c|src/stm32f4-hal/stm32f4xx_hal_i2s_ex.c|src/stm32f4-hal/stm32f4xx_hal_irda.c|src/stm32f4-hal/stm32f4xx_hal_ltdc.c|src/stm32f4-hal/stm32f4xx_hal_msp_template.c|src/stm32f4-hal/stm32f4xx_hal_nand.c|src/stm32f4-hal/stm32f4xx_hal_nor.c|src/stm32f4-hal/stm32f4xx_hal_pccard.c|src/stm32f4-hal/stm32f4xx_hal_pcd.c|src/stm32f4-hal/stm32f4xx_hal_rng.c|src/stm32f4-hal/stm32f4xx_hal_rtc_ex.c|src/stm32f4-hal/stm32f4xx_hal_sai.c|src/stm32f4-hal/stm32f4xx_hal_sd.c|src/stm32f4-hal/stm32f4xx_hal_sdram.c|src/stm32f4-hal/stm32f4xx_hal_smartcard.c|src/stm32f4-hal/stm32f4xx_hal_sram.c|src/stm32f4-hal/stm32f4xx_hal_wwdg.c|src/stm32f4-hal/stm32f4xx_ll_fmc.c|src/stm32f4-hal/stm32f4xx_ll_fsmc.c|src/stm32f4-hal/stm32f4xx_ll_sdmmc.c|src/stm32f4-hal/stm32f4xx_ll_usb.c" flags="VALUE_WORKSPACE_PATH|RESOLVED" kind="sourcePath" name="system"/>
</sourceEntries>
</configuration>
</storageModule>
<storageModule moduleId="org.eclipse.cdt.core.externalSettings"/>
<storageModule moduleId="ilg.gnuarmeclipse.managedbuild.packs"/>
<storageModule moduleId="ilg.gnuarmeclipse.managedbuild.packs">
<option id="cmsis.device.name" value="STM32F429VI"/>
<option id="cmsis.subfamily.name" value="STM32F429"/>
<option id="cmsis.family.name" value="STM32F4 Series"/>
<option id="cmsis.device.vendor.name" value="STMicroelectronics"/>
<option id="cmsis.device.vendor.id" value="13"/>
<option id="cmsis.device.pack.vendor" value="Keil"/>
<option id="cmsis.device.pack.name" value="STM32F4xx_DFP"/>
<option id="cmsis.device.pack.version" value="2.8.0"/>
<option id="cmsis.core.name" value="Cortex-M4"/>
<option id="cmsis.compiler.define" value="STM32F429xx"/>
<memory section="IRAM1" size="0x30000" start="0x20000000" startup="0"/>
<memory section="IRAM2" size="0x10000" start="0x10000000" startup="0"/>
<memory section="IROM1" size="0x200000" start="0x08000000" startup="1"/>
</storageModule>
</cconfiguration>
<cconfiguration id="ilg.gnuarmeclipse.managedbuild.cross.config.elf.release.168796915">
<storageModule buildSystemId="org.eclipse.cdt.managedbuilder.core.configurationDataProvider" id="ilg.gnuarmeclipse.managedbuild.cross.config.elf.release.168796915" moduleId="org.eclipse.cdt.core.settings" name="Release">
@ -961,7 +974,7 @@
</folderInfo>
<sourceEntries>
<entry flags="VALUE_WORKSPACE_PATH|RESOLVED" kind="sourcePath" name="src"/>
<entry excluding="src/stm32f4-hal/stm32f4xx_hal_adc.c|src/stm32f4-hal/stm32f4xx_hal_adc_ex.c|src/stm32f4-hal/stm32f4xx_hal_can.c|src/stm32f4-hal/stm32f4xx_hal_crc.c|src/stm32f4-hal/stm32f4xx_hal_cryp.c|src/stm32f4-hal/stm32f4xx_hal_cryp_ex.c|src/stm32f4-hal/stm32f4xx_hal_dac.c|src/stm32f4-hal/stm32f4xx_hal_dac_ex.c|src/stm32f4-hal/stm32f4xx_hal_dcmi.c|src/stm32f4-hal/stm32f4xx_hal_dma.c|src/stm32f4-hal/stm32f4xx_hal_dma2d.c|src/stm32f4-hal/stm32f4xx_hal_dma_ex.c|src/stm32f4-hal/stm32f4xx_hal_eth.c|src/stm32f4-hal/stm32f4xx_hal_hash.c|src/stm32f4-hal/stm32f4xx_hal_hash_ex.c|src/stm32f4-hal/stm32f4xx_hal_hcd.c|src/stm32f4-hal/stm32f4xx_hal_i2c.c|src/stm32f4-hal/stm32f4xx_hal_i2c_ex.c|src/stm32f4-hal/stm32f4xx_hal_i2s.c|src/stm32f4-hal/stm32f4xx_hal_i2s_ex.c|src/stm32f4-hal/stm32f4xx_hal_irda.c|src/stm32f4-hal/stm32f4xx_hal_ltdc.c|src/stm32f4-hal/stm32f4xx_hal_msp_template.c|src/stm32f4-hal/stm32f4xx_hal_nand.c|src/stm32f4-hal/stm32f4xx_hal_nor.c|src/stm32f4-hal/stm32f4xx_hal_pccard.c|src/stm32f4-hal/stm32f4xx_hal_pcd.c|src/stm32f4-hal/stm32f4xx_hal_rng.c|src/stm32f4-hal/stm32f4xx_hal_rtc.c|src/stm32f4-hal/stm32f4xx_hal_rtc_ex.c|src/stm32f4-hal/stm32f4xx_hal_sai.c|src/stm32f4-hal/stm32f4xx_hal_sd.c|src/stm32f4-hal/stm32f4xx_hal_sdram.c|src/stm32f4-hal/stm32f4xx_hal_smartcard.c|src/stm32f4-hal/stm32f4xx_hal_spi.c|src/stm32f4-hal/stm32f4xx_hal_sram.c|src/stm32f4-hal/stm32f4xx_hal_tim.c|src/stm32f4-hal/stm32f4xx_hal_tim_ex.c|src/stm32f4-hal/stm32f4xx_hal_uart.c|src/stm32f4-hal/stm32f4xx_hal_usart.c|src/stm32f4-hal/stm32f4xx_hal_wwdg.c|src/stm32f4-hal/stm32f4xx_ll_fmc.c|src/stm32f4-hal/stm32f4xx_ll_fsmc.c|src/stm32f4-hal/stm32f4xx_ll_sdmmc.c|src/stm32f4-hal/stm32f4xx_ll_usb.c" flags="VALUE_WORKSPACE_PATH|RESOLVED" kind="sourcePath" name="system"/>
<entry excluding="src/stm32f4-hal/stm32f4xx_hal_adc.c|src/stm32f4-hal/stm32f4xx_hal_adc_ex.c|src/stm32f4-hal/stm32f4xx_hal_can.c|src/stm32f4-hal/stm32f4xx_hal_crc.c|src/stm32f4-hal/stm32f4xx_hal_cryp.c|src/stm32f4-hal/stm32f4xx_hal_cryp_ex.c|src/stm32f4-hal/stm32f4xx_hal_dac.c|src/stm32f4-hal/stm32f4xx_hal_dac_ex.c|src/stm32f4-hal/stm32f4xx_hal_dcmi.c|src/stm32f4-hal/stm32f4xx_hal_dma.c|src/stm32f4-hal/stm32f4xx_hal_dma2d.c|src/stm32f4-hal/stm32f4xx_hal_dma_ex.c|src/stm32f4-hal/stm32f4xx_hal_eth.c|src/stm32f4-hal/stm32f4xx_hal_hash.c|src/stm32f4-hal/stm32f4xx_hal_hash_ex.c|src/stm32f4-hal/stm32f4xx_hal_hcd.c|src/stm32f4-hal/stm32f4xx_hal_i2s.c|src/stm32f4-hal/stm32f4xx_hal_i2s_ex.c|src/stm32f4-hal/stm32f4xx_hal_irda.c|src/stm32f4-hal/stm32f4xx_hal_ltdc.c|src/stm32f4-hal/stm32f4xx_hal_msp_template.c|src/stm32f4-hal/stm32f4xx_hal_nand.c|src/stm32f4-hal/stm32f4xx_hal_nor.c|src/stm32f4-hal/stm32f4xx_hal_pccard.c|src/stm32f4-hal/stm32f4xx_hal_pcd.c|src/stm32f4-hal/stm32f4xx_hal_rng.c|src/stm32f4-hal/stm32f4xx_hal_rtc.c|src/stm32f4-hal/stm32f4xx_hal_rtc_ex.c|src/stm32f4-hal/stm32f4xx_hal_sai.c|src/stm32f4-hal/stm32f4xx_hal_sd.c|src/stm32f4-hal/stm32f4xx_hal_sdram.c|src/stm32f4-hal/stm32f4xx_hal_smartcard.c|src/stm32f4-hal/stm32f4xx_hal_spi.c|src/stm32f4-hal/stm32f4xx_hal_sram.c|src/stm32f4-hal/stm32f4xx_hal_tim.c|src/stm32f4-hal/stm32f4xx_hal_tim_ex.c|src/stm32f4-hal/stm32f4xx_hal_uart.c|src/stm32f4-hal/stm32f4xx_hal_usart.c|src/stm32f4-hal/stm32f4xx_hal_wwdg.c|src/stm32f4-hal/stm32f4xx_ll_fmc.c|src/stm32f4-hal/stm32f4xx_ll_fsmc.c|src/stm32f4-hal/stm32f4xx_ll_sdmmc.c|src/stm32f4-hal/stm32f4xx_ll_usb.c" flags="VALUE_WORKSPACE_PATH|RESOLVED" kind="sourcePath" name="system"/>
</sourceEntries>
</configuration>
</storageModule>

View File

@ -5,7 +5,7 @@
<provider copy-of="extension" id="org.eclipse.cdt.ui.UserLanguageSettingsProvider"/>
<provider-reference id="org.eclipse.cdt.core.ReferencedProjectsLanguageSettingsProvider" ref="shared-provider"/>
<provider-reference id="org.eclipse.cdt.managedbuilder.core.MBSLanguageSettingsProvider" ref="shared-provider"/>
<provider class="org.eclipse.cdt.managedbuilder.language.settings.providers.GCCBuiltinSpecsDetector" console="false" env-hash="-33035976499489771" id="ilg.gnuarmeclipse.managedbuild.cross.GCCBuiltinSpecsDetector" keep-relative-paths="false" name="CDT GCC Built-in Compiler Settings Cross ARM" parameter="${COMMAND} ${FLAGS} ${cross_toolchain_flags} -E -P -v -dD &quot;${INPUTS}&quot;" prefer-non-shared="true">
<provider class="org.eclipse.cdt.managedbuilder.language.settings.providers.GCCBuiltinSpecsDetector" console="false" env-hash="3299444413646052" id="ilg.gnuarmeclipse.managedbuild.cross.GCCBuiltinSpecsDetector" keep-relative-paths="false" name="CDT GCC Built-in Compiler Settings Cross ARM" parameter="${COMMAND} ${FLAGS} ${cross_toolchain_flags} -E -P -v -dD &quot;${INPUTS}&quot;" prefer-non-shared="true">
<language-scope id="org.eclipse.cdt.core.gcc"/>
<language-scope id="org.eclipse.cdt.core.g++"/>
</provider>
@ -16,7 +16,7 @@
<provider copy-of="extension" id="org.eclipse.cdt.ui.UserLanguageSettingsProvider"/>
<provider-reference id="org.eclipse.cdt.core.ReferencedProjectsLanguageSettingsProvider" ref="shared-provider"/>
<provider-reference id="org.eclipse.cdt.managedbuilder.core.MBSLanguageSettingsProvider" ref="shared-provider"/>
<provider class="org.eclipse.cdt.managedbuilder.language.settings.providers.GCCBuiltinSpecsDetector" console="false" env-hash="-61114653255123796" id="ilg.gnuarmeclipse.managedbuild.cross.GCCBuiltinSpecsDetector" keep-relative-paths="false" name="CDT GCC Built-in Compiler Settings Cross ARM" parameter="${COMMAND} ${FLAGS} ${cross_toolchain_flags} -E -P -v -dD &quot;${INPUTS}&quot;" prefer-non-shared="true">
<provider class="org.eclipse.cdt.managedbuilder.language.settings.providers.GCCBuiltinSpecsDetector" console="false" env-hash="-24779232341987973" id="ilg.gnuarmeclipse.managedbuild.cross.GCCBuiltinSpecsDetector" keep-relative-paths="false" name="CDT GCC Built-in Compiler Settings Cross ARM" parameter="${COMMAND} ${FLAGS} ${cross_toolchain_flags} -E -P -v -dD &quot;${INPUTS}&quot;" prefer-non-shared="true">
<language-scope id="org.eclipse.cdt.core.gcc"/>
<language-scope id="org.eclipse.cdt.core.g++"/>
</provider>

Binary file not shown.

File diff suppressed because it is too large Load Diff

View File

@ -1,65 +0,0 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<launchConfiguration type="ilg.gnuarmeclipse.debug.gdbjtag.openocd.launchConfigurationType">
<booleanAttribute key="ilg.gnuarmeclipse.debug.gdbjtag.openocd.doContinue" value="true"/>
<booleanAttribute key="ilg.gnuarmeclipse.debug.gdbjtag.openocd.doDebugInRam" value="false"/>
<booleanAttribute key="ilg.gnuarmeclipse.debug.gdbjtag.openocd.doFirstReset" value="true"/>
<booleanAttribute key="ilg.gnuarmeclipse.debug.gdbjtag.openocd.doGdbServerAllocateConsole" value="true"/>
<booleanAttribute key="ilg.gnuarmeclipse.debug.gdbjtag.openocd.doGdbServerAllocateTelnetConsole" value="false"/>
<booleanAttribute key="ilg.gnuarmeclipse.debug.gdbjtag.openocd.doSecondReset" value="true"/>
<booleanAttribute key="ilg.gnuarmeclipse.debug.gdbjtag.openocd.doStartGdbServer" value="true"/>
<booleanAttribute key="ilg.gnuarmeclipse.debug.gdbjtag.openocd.enableSemihosting" value="true"/>
<stringAttribute key="ilg.gnuarmeclipse.debug.gdbjtag.openocd.firstResetType" value="init"/>
<stringAttribute key="ilg.gnuarmeclipse.debug.gdbjtag.openocd.gdbClientOtherCommands" value="set mem inaccessible-by-default off"/>
<stringAttribute key="ilg.gnuarmeclipse.debug.gdbjtag.openocd.gdbClientOtherOptions" value=""/>
<stringAttribute key="ilg.gnuarmeclipse.debug.gdbjtag.openocd.gdbServerConnectionAddress" value=""/>
<stringAttribute key="ilg.gnuarmeclipse.debug.gdbjtag.openocd.gdbServerExecutable" value="${openocd_path}/${openocd_executable}"/>
<intAttribute key="ilg.gnuarmeclipse.debug.gdbjtag.openocd.gdbServerGdbPortNumber" value="3333"/>
<stringAttribute key="ilg.gnuarmeclipse.debug.gdbjtag.openocd.gdbServerLog" value=""/>
<stringAttribute key="ilg.gnuarmeclipse.debug.gdbjtag.openocd.gdbServerOther" value="-f interface/stlink-v2.cfg -f target/stm32f4x.cfg"/>
<intAttribute key="ilg.gnuarmeclipse.debug.gdbjtag.openocd.gdbServerTelnetPortNumber" value="4444"/>
<stringAttribute key="ilg.gnuarmeclipse.debug.gdbjtag.openocd.otherInitCommands" value=""/>
<stringAttribute key="ilg.gnuarmeclipse.debug.gdbjtag.openocd.otherRunCommands" value=""/>
<stringAttribute key="ilg.gnuarmeclipse.debug.gdbjtag.openocd.secondResetType" value="halt"/>
<stringAttribute key="org.eclipse.cdt.debug.gdbjtag.core.imageFileName" value=""/>
<stringAttribute key="org.eclipse.cdt.debug.gdbjtag.core.imageOffset" value=""/>
<stringAttribute key="org.eclipse.cdt.debug.gdbjtag.core.ipAddress" value="localhost"/>
<stringAttribute key="org.eclipse.cdt.debug.gdbjtag.core.jtagDevice" value="GNU ARM OpenOCD"/>
<booleanAttribute key="org.eclipse.cdt.debug.gdbjtag.core.loadImage" value="true"/>
<booleanAttribute key="org.eclipse.cdt.debug.gdbjtag.core.loadSymbols" value="true"/>
<stringAttribute key="org.eclipse.cdt.debug.gdbjtag.core.pcRegister" value=""/>
<intAttribute key="org.eclipse.cdt.debug.gdbjtag.core.portNumber" value="3333"/>
<booleanAttribute key="org.eclipse.cdt.debug.gdbjtag.core.setPcRegister" value="false"/>
<booleanAttribute key="org.eclipse.cdt.debug.gdbjtag.core.setResume" value="false"/>
<booleanAttribute key="org.eclipse.cdt.debug.gdbjtag.core.setStopAt" value="true"/>
<stringAttribute key="org.eclipse.cdt.debug.gdbjtag.core.stopAt" value="main"/>
<stringAttribute key="org.eclipse.cdt.debug.gdbjtag.core.symbolsFileName" value=""/>
<stringAttribute key="org.eclipse.cdt.debug.gdbjtag.core.symbolsOffset" value=""/>
<booleanAttribute key="org.eclipse.cdt.debug.gdbjtag.core.useFileForImage" value="false"/>
<booleanAttribute key="org.eclipse.cdt.debug.gdbjtag.core.useFileForSymbols" value="false"/>
<booleanAttribute key="org.eclipse.cdt.debug.gdbjtag.core.useProjBinaryForImage" value="true"/>
<booleanAttribute key="org.eclipse.cdt.debug.gdbjtag.core.useProjBinaryForSymbols" value="true"/>
<booleanAttribute key="org.eclipse.cdt.debug.gdbjtag.core.useRemoteTarget" value="true"/>
<stringAttribute key="org.eclipse.cdt.debug.mi.core.commandFactory" value="Standard (Windows)"/>
<stringAttribute key="org.eclipse.cdt.debug.mi.core.protocol" value="mi"/>
<booleanAttribute key="org.eclipse.cdt.debug.mi.core.verboseMode" value="false"/>
<stringAttribute key="org.eclipse.cdt.dsf.gdb.DEBUG_NAME" value="${cross_prefix}gdb${cross_suffix}"/>
<booleanAttribute key="org.eclipse.cdt.dsf.gdb.UPDATE_THREADLIST_ON_SUSPEND" value="false"/>
<intAttribute key="org.eclipse.cdt.launch.ATTR_BUILD_BEFORE_LAUNCH_ATTR" value="2"/>
<stringAttribute key="org.eclipse.cdt.launch.COREFILE_PATH" value=""/>
<stringAttribute key="org.eclipse.cdt.launch.DEBUGGER_REGISTER_GROUPS" value=""/>
<stringAttribute key="org.eclipse.cdt.launch.PROGRAM_NAME" value="Debug/PSDR.elf"/>
<stringAttribute key="org.eclipse.cdt.launch.PROJECT_ATTR" value="PSDR"/>
<booleanAttribute key="org.eclipse.cdt.launch.PROJECT_BUILD_CONFIG_AUTO_ATTR" value="false"/>
<stringAttribute key="org.eclipse.cdt.launch.PROJECT_BUILD_CONFIG_ID_ATTR" value=""/>
<listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_PATHS">
<listEntry value="/PSDR"/>
</listAttribute>
<listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_TYPES">
<listEntry value="4"/>
</listAttribute>
<listAttribute key="org.eclipse.debug.ui.favoriteGroups">
<listEntry value="org.eclipse.debug.ui.launchGroup.debug"/>
</listAttribute>
<stringAttribute key="org.eclipse.dsf.launch.MEMORY_BLOCKS" value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#13;&#10;&lt;memoryBlockExpressionList context=&quot;Context string&quot;/&gt;&#13;&#10;"/>
<stringAttribute key="process_factory_id" value="org.eclipse.cdt.dsf.gdb.GdbProcessFactory"/>
</launchConfiguration>

View File

@ -27,8 +27,8 @@
// STM32F4DISCOVERY definitions (the GREEN led, D12, active high)
// (SEGGER J-Link device name: STM32F407VG).
#define BLINK_PORT_NUMBER (0)
#define BLINK_PIN_NUMBER (8)
#define BLINK_PORT_NUMBER (4)
#define BLINK_PIN_NUMBER (12)
#define BLINK_ACTIVE_LOW (0)
#endif

View File

@ -24,7 +24,7 @@ uint16_t sampleIndex;
volatile uint8_t sampleRun;
/* Definition for ADCx clock resources */
#define ADC_RX_Q ADC3
#define ADC_RX_Q ADC3
#define ADC_RX_I ADC2
#define ADC_MIC ADC1
#define ADCx_CLK_ENABLE() __ADC1_CLK_ENABLE()
@ -38,8 +38,8 @@ volatile uint8_t sampleRun;
//#define ADCx_CHANNEL_GPIO_PORT GPIOA
/* Definition for ADCx's Channel */
#define ADC_RX_Q_CHANNEL ADC_CHANNEL_3
#define ADC_RX_I_CHANNEL ADC_CHANNEL_6
#define ADC_RX_Q_CHANNEL ADC_CHANNEL_2
#define ADC_RX_I_CHANNEL ADC_CHANNEL_3
#define ADC_MIC_CHANNEL ADC_CHANNEL_9
#define ADC_LIPO_VOLTAGE ADC_CHANNEL_15

View File

@ -2,65 +2,61 @@
*/
#ifndef HAL_H_
#define HAL_H_
#define HAL_H_
#include <main.h>
#include <stdint.h>
#include <stdbool.h>
//#include <stm32f10x.h>
#include <stdint.h>
#include <stdbool.h>
//#include <stm32f10x.h>
//#include <stm32f415xx.h>
#ifdef PSDR2
#include "stm32f429xx.h"
#include "stm32f429xx.h"
#endif
#include <stm32f4xx_hal_gpio.h>
// #include <stm32f10x_gpio.h>
#include <uart.h>
#include <uart.h>
#include "stm32f4xx_hal_dma.h"
#include "stm32f4xx_hal_usart.h"
#include "stm32f4xx_hal_i2c.h"
typedef struct _Gpio_Pin
{
GPIO_TypeDef* port;
uint16_t pin;
} Gpio_Pin;
// a timer with which channel of the timer specified
typedef struct _Timer_Channel
{
uint8_t channel;
TIM_TypeDef* timer;
} Timer_Channel;
typedef struct _Gpio_Pin
{
GPIO_TypeDef* port;
uint16_t pin;
} Gpio_Pin;
// a Timer_Pin is a gpio pin that is connected to an internal timer
typedef struct _Timer_Pin
{
Gpio_Pin gpioPin;
Timer_Channel timer;
} Timer_Pin;
// a timer with which channel of the timer specified
typedef struct _Timer_Channel
{
uint8_t channel;
TIM_TypeDef* timer;
} Timer_Channel;
typedef void
(*hal_sysTickCallback) (void);
// a Timer_Pin is a gpio pin that is connected to an internal timer
typedef struct _Timer_Pin
{
Gpio_Pin gpioPin;
Timer_Channel timer;
} Timer_Pin;
typedef void (*hal_sysTickCallback)(void);
// hal wrappers for GPIO
// gpioPin must be a Gpio_Pin struct
// val must be either a 0 or a 1
#define hal_writeGpio(gpioPin, val) (GPIO_WriteBit((gpioPin).port, (gpioPin).pin, (val))) // returns void
#define hal_readGpio(gpioPin) (GPIO_ReadInputDataBit((gpioPin).port, (gpioPin).pin)) // returns uint8_t
// hal wrappers for GPIO
// gpioPin must be a Gpio_Pin struct
// val must be either a 0 or a 1
#define hal_writeGpio(gpioPin, val) (GPIO_WriteBit((gpioPin).port, (gpioPin).pin, (val))) // returns void
#define hal_readGpio(gpioPin) (GPIO_ReadInputDataBit((gpioPin).port, (gpioPin).pin)) // returns uint8_t
// // power macros
// #define hal_isPlugged(powerState) (!((powerState) & hal_externalPower))
__IO uint32_t timingDelay;
__IO uint32_t timingDelay;
#define MEDIATEK_MODULE
#define hal_gpsUart USART1
// gpio pins
// gpio pins
// extern const Gpio_Pin RX_TO_GSM;
// extern const Gpio_Pin TX_FROM_GSM;
// extern const Gpio_Pin FINGER_PRINT_POWER;
@ -70,83 +66,92 @@
// extern const Gpio_Pin BUZZER;
// extern const Gpio_Pin RFID_INT;
// extern const Gpio_Pin FINGER_PRINT_BUTTON;
extern const Gpio_Pin LCD_NSS;
extern const Gpio_Pin LCD_NSS;
// extern const Gpio_Pin LOW_BAT;
extern const Gpio_Pin RX_TO_GPS;
extern const Gpio_Pin TX_FROM_GPS;
extern const Gpio_Pin GPS_RESET;
extern const Gpio_Pin GPS_FIX_LED;
extern const Gpio_Pin GPS_PPS;
extern const Gpio_Pin GPS_POWER;
extern const Gpio_Pin SPI1_SCK;
extern const Gpio_Pin SPI1_MISO;
extern const Gpio_Pin SPI1_MOSI;
extern const Gpio_Pin SPI2_SCK;
extern const Gpio_Pin SPI2_MISO;
extern const Gpio_Pin SPI2_MOSI;
extern const Gpio_Pin LCD_RESET;
extern const Gpio_Pin LCD_DC;
extern const Gpio_Pin ADC_1;
extern const Gpio_Pin ADC_2;
extern const Gpio_Pin RX_TO_GPS;
extern const Gpio_Pin TX_FROM_GPS;
extern const Gpio_Pin GPS_RESET;
//extern const Gpio_Pin GPS_FIX_LED;
extern const Gpio_Pin GPS_PPS;
extern const Gpio_Pin GPS_POWER;
extern const Gpio_Pin LCD_SCK;
extern const Gpio_Pin LCD_MISO;
extern const Gpio_Pin LCD_MOSI;
extern const Gpio_Pin SPI2_SCK;
extern const Gpio_Pin SPI2_MISO;
extern const Gpio_Pin SPI2_MOSI;
extern const Gpio_Pin LCD_RESET;
extern const Gpio_Pin LCD_DC;
extern const Gpio_Pin RX_Q;
extern const Gpio_Pin RX_I;
// extern const Gpio_Pin OLED_RESET;
// extern const Gpio_Pin OLED_DC;
// extern const Gpio_Pin OLED_NSS;
//CORRECT FOR PSDR1
extern const Gpio_Pin ddsReset;
extern const Gpio_Pin ddsSleep;
extern const Gpio_Pin dds1Mosi;
extern const Gpio_Pin dds1Nss;
extern const Gpio_Pin dds1Sck;
extern const Gpio_Pin dds2Mosi;
extern const Gpio_Pin dds2Nss;
extern const Gpio_Pin dds2Sck;
extern const Gpio_Pin encoderA;
extern const Gpio_Pin encoderB;
extern const Gpio_Pin encoderP;
extern const Gpio_Pin dac1;
extern const Gpio_Pin dac2;
//CORRECT FOR PSDR1
//extern const Gpio_Pin ddsReset;
//extern const Gpio_Pin ddsSleep;
//extern const Gpio_Pin dds1Mosi;
//extern const Gpio_Pin dds1Nss;
//extern const Gpio_Pin dds1Sck;
//extern const Gpio_Pin dds2Mosi;
//extern const Gpio_Pin dds2Nss;
//extern const Gpio_Pin dds2Sck;
extern const Gpio_Pin encoderBee;
extern const Gpio_Pin encoderB;
extern const Gpio_Pin encoderP;
extern const Gpio_Pin dac1;
extern const Gpio_Pin dac2;
extern const Gpio_Pin REF_CLOCK_ENABLE;
extern const Gpio_Pin DDS_FSEL;
extern const Gpio_Pin DDS_PSEL;
extern const Gpio_Pin RX_MUX;
extern const Gpio_Pin TX_MUX;
extern const Gpio_Pin AMP_SWITCH_A;
extern const Gpio_Pin AMP_SWITCH_B;
extern const Gpio_Pin IMP_BRIDGE_SWITCH_A;
extern const Gpio_Pin IMP_BRIDGE_SWITCH_B;
extern const Gpio_Pin MIXER_SWITCH_A;
extern const Gpio_Pin MIXER_SWITCH_B;
extern const Gpio_Pin TX_RF_SWITCH_A;
extern const Gpio_Pin TX_RF_SWITCH_B;
//extern const Gpio_Pin REF_CLOCK_ENABLE;
//extern const Gpio_Pin DDS_FSEL;
//extern const Gpio_Pin DDS_PSEL;
//extern const Gpio_Pin RX_MUX;
//extern const Gpio_Pin TX_MUX;
extern const Gpio_Pin AMP_SWITCH_A;
extern const Gpio_Pin AMP_SWITCH_B;
extern const Gpio_Pin IMP_BRIDGE_SWITCH_A;
extern const Gpio_Pin IMP_BRIDGE_SWITCH_B;
//extern const Gpio_Pin MIXER_SWITCH_A;
//extern const Gpio_Pin MIXER_SWITCH_B;
extern const Gpio_Pin TX_RF_SWITCH_A;
extern const Gpio_Pin TX_RF_SWITCH_B;
extern const Gpio_Pin AMP_POWER;
extern const Gpio_Pin MIXER_POWER;
extern const Gpio_Pin AMP_POWER;
//extern const Gpio_Pin MIXER_POWER;
extern const Gpio_Pin GAIN_POT_SCLK;
extern const Gpio_Pin GAIN_POT_MOSI;
extern const Gpio_Pin GAIN_POT_NSS;
extern const Gpio_Pin FILTER_GAIN_POT_SCLK;
extern const Gpio_Pin FILTER_GAIN_POT_MOSI;
extern const Gpio_Pin GAIN_POT_NSS;
extern const Gpio_Pin IN_AMP_ENABLE;
extern const Gpio_Pin DAC_MUX;
extern const Gpio_Pin IN_AMP_ENABLE;
extern const Gpio_Pin DAC_MUX;
extern const Gpio_Pin AUDIO_AMP_NSHTDWN;
extern const Gpio_Pin EARPHONE_NOT_INSERTED;
extern const Gpio_Pin SIDETONE; //Should be a timer pin.
extern const Gpio_Pin AUDIO_AMP_NSHTDWN;
extern const Gpio_Pin EARPHONE_NOT_INSERTED;
extern const Gpio_Pin SIDETONE; //Should be a timer pin.
extern const Gpio_Pin MIC_IN;
extern const Gpio_Pin MIC_SWITCH;
extern const Gpio_Pin PREAMP_POWER;
extern const Gpio_Pin MIC_BUTTON;
extern const Gpio_Pin MIC_IN;
extern const Gpio_Pin MIC_SWITCH;
extern const Gpio_Pin PREAMP_POWER;
extern const Gpio_Pin MIC_BUTTON;
extern const Gpio_Pin TOUCH1;
extern const Gpio_Pin TOUCH2;
extern const Gpio_Pin KEY1;
extern const Gpio_Pin KEY2;
extern const Gpio_Pin PADDLE_THUMB_NO;
extern const Gpio_Pin PADDLE_INDEX_NO;
extern const Gpio_Pin PADDLE_THUMB_NC;
extern const Gpio_Pin PADDLE_INDEX_NC;
extern const Gpio_Pin FILTER_S0;
extern const Gpio_Pin FILTER_S1;
extern const Gpio_Pin TRX_SWITCH;
extern const Gpio_Pin I2C_SCL;
extern const Gpio_Pin I2C_SDA;
extern const Gpio_Pin FLIP_FLOP_ENABLE;
extern const Gpio_Pin RED_LED;
// extern const Gpio_Pin NC_1;
// extern const Gpio_Pin DAC_SWITCHES;
@ -159,70 +164,84 @@
// extern const Gpio_Pin POWER_SWITCH;
// extern const Gpio_Pin ACCEL_NSS;
// timer pins
// timer pins
// extern const Timer_Pin LED_G;
// extern const Timer_Pin LED_R;
// extern const Timer_Pin LED_B;
// extern const Timer_Pin SERVO1;
// extern const Timer_Pin SERVO2;
extern inline bool
hal_checkTimeout (uint32_t startTime_ms, uint32_t interval_ms);
// returns true if the interval has timed out
int
hal_acquireSemaphore (uint8_t sem);
extern inline bool hal_checkTimeout(uint32_t startTime_ms, uint32_t interval_ms);
// returns true if the interval has timed out
void
hal_releaseSemaphore (uint8_t sem);
int hal_acquireSemaphore(uint8_t sem);
void
hal_getBatteryVoltage (float* battVoltage);
// reads power voltage level
void hal_releaseSemaphore(uint8_t sem);
void
hal_delay_ms (uint32_t ms);
// busy wait for ms milliseconds
void hal_getBatteryVoltage(float* battVoltage);
// reads power voltage level
void
hal_setupPins (void);
// Setup gpio pins and timer pins.
void hal_delay_ms(uint32_t ms);
// busy wait for ms milliseconds
void
hal_timerSetCompare (const Timer_Channel* timer, uint16_t value);
// set the timer compare register for timer
void hal_setupPins(void);
// Setup gpio pins and timer pins.
void
hal_setupTimers (void);
// Setup TIM3 and TIM4 for controlling the LEDs and Servos
void hal_timerSetCompare(const Timer_Channel* timer, uint16_t value);
// set the timer compare register for timer
uint32_t
hal_getCurrentTime_ms (void);
// get the current system millisecond count
void hal_setupTimers(void);
// Setup TIM3 and TIM4 for controlling the LEDs and Servos
void
hal_setupUart1 (void);
// setup usart 1 and its pins
uint32_t hal_getCurrentTime_ms(void);
// get the current system millisecond count
void
hal_setupUart2 (void);
// setup usart 2 and its pins
void hal_setupUart1(void);
// setup usart 1 and its pins
void
hal_setupUart3 (unsigned int baudRate);
// setup usart 3 and its pins
void hal_setupUart2(void);
// setup usart 2 and its pins
void
hal_resetUart1 (void);
// resets usart 1 and its pins
void hal_setupUart3(unsigned int baudRate);
// setup usart 3 and its pins
void
hal_resetUart2 (void);
// resets usart 2 and its pins
void hal_resetUart1(void);
// resets usart 1 and its pins
void
hal_resetUart3 (void);
// resets usart 3 and its pins
void hal_resetUart2(void);
// resets usart 2 and its pins
void
hal_adcConfigure (void);
// configure and enable used ADC(s)
void hal_resetUart3(void);
// resets usart 3 and its pins
void hal_adcConfigure(void);
// configure and enable used ADC(s)
uint16_t hal_readAdc1(uint8_t channel);
// read a value on a channel of ADC1
// returns value read
void hal_setSysTickCallback(hal_sysTickCallback callback);
//void hal_blinkLed(uint8_t led, uint8_t blinkCount, uint16_t onTime, uint16_t offTime);
// blink the given LED blinkCount times
uint16_t
hal_readAdc1 (uint8_t channel);
// read a value on a channel of ADC1
// returns value read
void
hal_setSysTickCallback (hal_sysTickCallback callback);
//void hal_blinkLed(uint8_t led, uint8_t blinkCount, uint16_t onTime, uint16_t offTime);
// blink the given LED blinkCount times
#endif /* HAL_H_ */

11
Source/include/i2c.h Normal file
View File

@ -0,0 +1,11 @@
#ifndef I2C_H_
#define I2C_H_
#include <hal.h>
//#include "register_map.h"
//#include "stm32f4xx_hal_i2c.h"
#define SI5338_ADDRESS 0x70
I2C_HandleTypeDef handleI2C;
#endif /* DDS_H_ */

View File

@ -19,6 +19,7 @@
#endif
#include "stm32f4xx.h"
#include "stm32f4xx_hal_conf.h"
//#include "core_cmInstr.h"
#include <stdio.h>
#include "stddef.h"
@ -28,6 +29,7 @@
#include "dds.h"
#include "Timer.h"
#include "BlinkLed.h"
//#include "stm32f4xx_hal_rcc.h"
#include "stm32f4xx_hal_gpio.h"
#include "Adafruit_GFX.h"
@ -45,13 +47,14 @@
#include "stm32f4xx_hal_cortex.h"
#include "misc.h"
#include "stm32f4xx_hal_dac.h"
//#include "stm32f4xx_hal_i2c.h"
#include "images.h"
#include "stm32f4xx_hal_dma.h"
#include "stm32f4xx_hal_def.h"
//#include "stm32f4xx_hal_def.h"
#include "stm32f4xx_hal_uart.h"
#include "stm32f4xx_hal_usart.h"
#include "i2c.h"
TIM_HandleTypeDef TimHandle;

View File

@ -88,18 +88,18 @@ void Adafruit_ILI9340_spiwrite(uint8_t c) {
if(c & bit) {
//digitalWrite(_mosi, HIGH);
//SET_BIT(mosiport, mosipinmask);
HAL_GPIO_WritePin(SPI1_MOSI.port, SPI1_MOSI.pin, 1);
HAL_GPIO_WritePin(LCD_MOSI.port, LCD_MOSI.pin, 1);
} else {
//digitalWrite(_mosi, LOW);
//CLEAR_BIT(mosiport, mosipinmask);
HAL_GPIO_WritePin(SPI1_MOSI.port, SPI1_MOSI.pin, 0);
HAL_GPIO_WritePin(LCD_MOSI.port, LCD_MOSI.pin, 0);
}
//digitalWrite(_sclk, HIGH);
//SET_BIT(clkport, clkpinmask);
HAL_GPIO_WritePin(SPI1_SCK.port, SPI1_SCK.pin, 1);
HAL_GPIO_WritePin(LCD_SCK.port, LCD_SCK.pin, 1);
//digitalWrite(_sclk, LOW);
//CLEAR_BIT(clkport, clkpinmask);
HAL_GPIO_WritePin(SPI1_SCK.port, SPI1_SCK.pin, 0);
HAL_GPIO_WritePin(LCD_SCK.port, LCD_SCK.pin, 0);
}
}
}
@ -110,7 +110,7 @@ void Adafruit_ILI9340_writecommand(uint16_t c) {
HAL_GPIO_WritePin(LCD_DC.port, LCD_DC.pin, 0);
//digitalWrite(_dc, LOW);
//CLEAR_BIT(clkport, clkpinmask);
HAL_GPIO_WritePin(SPI1_SCK.port, SPI1_SCK.pin, 0);
HAL_GPIO_WritePin(LCD_SCK.port, LCD_SCK.pin, 0);
//digitalWrite(_sclk, LOW);
//CLEAR_BIT(csport, cspinmask);
HAL_GPIO_WritePin(LCD_NSS.port, LCD_NSS.pin, 0);
@ -134,7 +134,7 @@ void Adafruit_ILI9340_writedata(uint16_t c) {
HAL_GPIO_WritePin(LCD_DC.port, LCD_DC.pin, 1);
//digitalWrite(_dc, HIGH);
//CLEAR_BIT(clkport, clkpinmask);
HAL_GPIO_WritePin(SPI1_SCK.port, SPI1_SCK.pin, 0);
HAL_GPIO_WritePin(LCD_SCK.port, LCD_SCK.pin, 0);
//digitalWrite(_sclk, LOW);
//CLEAR_BIT(csport, cspinmask);
HAL_GPIO_WritePin(LCD_NSS.port, LCD_NSS.pin, 0);

View File

@ -107,7 +107,7 @@ void TinyGPS_init()
}
//Initial Uart setup
uart_init(hal_gpsUart);
//uart_init(hal_gpsUart);
#ifdef SIRF_MODULE
//TODO: Determine which of these delays can be eliminated or reduced
@ -139,7 +139,7 @@ void TinyGPS_init()
#endif
#ifdef MEDIATEK_MODULE
//Send it something to wake it up
uart_write(hal_gpsUart, "\r\n", 2);
//uart_write(hal_gpsUart, "\r\n", 2);
#endif
}

View File

@ -3,35 +3,35 @@
void ddsPrefix()
{
HAL_GPIO_WritePin(dds1Sck.port, dds1Sck.pin, 1);
HAL_GPIO_WritePin(dds2Sck.port, dds2Sck.pin, 1);
//delay
HAL_GPIO_WritePin(dds1Nss.port, dds1Nss.pin, 0);
HAL_GPIO_WritePin(dds2Nss.port, dds2Nss.pin, 0);
//Delay
// HAL_GPIO_WritePin(dds1Sck.port, dds1Sck.pin, 1);
// HAL_GPIO_WritePin(dds2Sck.port, dds2Sck.pin, 1);
// //delay
// HAL_GPIO_WritePin(dds1Nss.port, dds1Nss.pin, 0);
// HAL_GPIO_WritePin(dds2Nss.port, dds2Nss.pin, 0);
// //Delay
}
void sendToDds(uint16_t data1, uint16_t data2)
{
int i;
for(i = 0; i < 16; i++)
{
HAL_GPIO_WritePin(dds1Mosi.port, dds1Mosi.pin, (data1 >> (15-i)) & 1);
HAL_GPIO_WritePin(dds2Mosi.port, dds2Mosi.pin, (data2 >> (15-i)) & 1);
//delay
HAL_GPIO_WritePin(dds1Sck.port, dds1Sck.pin, 0);
HAL_GPIO_WritePin(dds2Sck.port, dds2Sck.pin, 0);
//delay
HAL_GPIO_WritePin(dds1Sck.port, dds1Sck.pin, 1); //The 16th shift of this line is when execution occurs
HAL_GPIO_WritePin(dds2Sck.port, dds2Sck.pin, 1); //NOT on the release of NSS!!!! GAH!
}
// int i;
// for(i = 0; i < 16; i++)
// {
// HAL_GPIO_WritePin(dds1Mosi.port, dds1Mosi.pin, (data1 >> (15-i)) & 1);
// HAL_GPIO_WritePin(dds2Mosi.port, dds2Mosi.pin, (data2 >> (15-i)) & 1);
// //delay
// HAL_GPIO_WritePin(dds1Sck.port, dds1Sck.pin, 0);
// HAL_GPIO_WritePin(dds2Sck.port, dds2Sck.pin, 0);
// //delay
// HAL_GPIO_WritePin(dds1Sck.port, dds1Sck.pin, 1); //The 16th shift of this line is when execution occurs
// HAL_GPIO_WritePin(dds2Sck.port, dds2Sck.pin, 1); //NOT on the release of NSS!!!! GAH!
// }
}
void ddsSuffix()
{
HAL_GPIO_WritePin(dds1Nss.port, dds1Nss.pin, 1);
HAL_GPIO_WritePin(dds2Nss.port, dds2Nss.pin, 1);
//HAL_GPio
// HAL_GPIO_WritePin(dds1Nss.port, dds1Nss.pin, 1);
// HAL_GPIO_WritePin(dds2Nss.port, dds2Nss.pin, 1);
// //HAL_GPio
}
long long freqToReg(long long frequency)
@ -49,7 +49,7 @@ void setFreq(long frequency)
long long freg = freqToReg(frequency);
HAL_GPIO_WritePin(ddsReset.port, ddsReset.pin, 1);
//HAL_GPIO_WritePin(ddsReset.port, ddsReset.pin, 1);
ddsPrefix();
//sendToDds(0x2100, 0x2100);
//sendToDds(0x0010001100000000 , 0x0010001100000000);
@ -57,7 +57,7 @@ void setFreq(long frequency)
ddsSuffix();
//HAL_GPIO_WritePin(ddsReset.port, ddsReset.pin, 0);
HAL_GPIO_WritePin(ddsReset.port, ddsReset.pin, 1);
//HAL_GPIO_WritePin(ddsReset.port, ddsReset.pin, 1);
//sendToDds(0x50c7);
//sendToDds(0x4000);
ddsPrefix();
@ -82,5 +82,5 @@ void setFreq(long frequency)
// sendToDds(0x2000, 0x2000);
// ddsSuffix();
HAL_GPIO_WritePin(ddsReset.port, ddsReset.pin, 0);
// HAL_GPIO_WritePin(ddsReset.port, ddsReset.pin, 0);
}

File diff suppressed because it is too large Load Diff

782
Source/src/i2c.c Normal file
View File

@ -0,0 +1,782 @@
#include <i2c.h>
HAL_I2C_MspInit(I2C_HandleTypeDef hi2c)
{
//Ensure that appropriate GPIO and I2C hardware is powered up
//um, they are elsewhere. Good enough for now.
//handleI2C = &hi2c;
GPIO_InitTypeDef gpioInitStructure;
//Check for stuck SDA condition and attempt to clear it
// gpioInitStructure.Pin = I2C_SDA.pin;
// gpioInitStructure.Speed = GPIO_SPEED_FAST;
// gpioInitStructure.Mode = GPIO_MODE_OUTPUT_OD;
// gpioInitStructure.Pull = GPIO_PULLUP;
// gpioInitStructure.Alternate = 0;
// HAL_GPIO_Init (I2C_SDA.port, &gpioInitStructure);
//
//
// gpioInitStructure.Pin = I2C_SCL.pin;
// gpioInitStructure.Speed = GPIO_SPEED_FAST;
// gpioInitStructure.Mode = GPIO_MODE_OUTPUT_OD;
// gpioInitStructure.Pull = GPIO_PULLUP;
// gpioInitStructure.Alternate = 0;
// HAL_GPIO_Init (I2C_SCL.port, &gpioInitStructure);
//
//
//
// //Attempt to clear stuck SDA state (caused by poorly timed reset, for example)
// int retries = 0;
// //while((!HAL_GPIO_ReadPin(I2C_SDA.port, I2C_SDA.pin)) && retries < 100)
// while(retries < 10)
// {
// HAL_GPIO_WritePin(I2C_SCL.port, I2C_SCL.pin, 0);
// HAL_GPIO_WritePin(I2C_SCL.port, I2C_SCL.pin, 1);
// retries++;
// }
//
// HAL_GPIO_WritePin(I2C_SDA.port, I2C_SDA.pin, 1);
// HAL_GPIO_WritePin(I2C_SCL.port, I2C_SCL.pin, 0);
// HAL_GPIO_WritePin(I2C_SDA.port, I2C_SDA.pin, 0);
//THESE HAVE TO BE SET UP IN THIS ORDER!! If they are flipped, the BUSY flag will get flipped and never clear and you'll have a bad day.
gpioInitStructure.Pin = I2C_SCL.pin;
gpioInitStructure.Speed = GPIO_SPEED_FAST;
gpioInitStructure.Mode = GPIO_MODE_AF_OD;
gpioInitStructure.Pull = GPIO_PULLUP;
gpioInitStructure.Alternate = GPIO_AF4_I2C2;
HAL_GPIO_Init (I2C_SCL.port, &gpioInitStructure);
gpioInitStructure.Pin = I2C_SDA.pin;
gpioInitStructure.Speed = GPIO_SPEED_FAST;
gpioInitStructure.Mode = GPIO_MODE_AF_OD;
gpioInitStructure.Pull = GPIO_PULLUP;
gpioInitStructure.Alternate = GPIO_AF4_I2C2;
HAL_GPIO_Init (I2C_SDA.port, &gpioInitStructure);
// (*hi2c).Init.AddressingMode = I2C_ADDRESSINGMODE_7BIT;
// (*hi2c).Init.ClockSpeed = I2C_
}
clearStuckBusyFlag()
{
//disable I2C peripheral
//__I2C2_CLK_DISABLE();
I2C2->CR1 &= 0b1111111111111110;
//set pins as OD high,
GPIO_InitTypeDef gpioInitStructure;
gpioInitStructure.Pin = I2C_SDA.pin;
gpioInitStructure.Speed = GPIO_SPEED_FAST;
gpioInitStructure.Mode = GPIO_MODE_OUTPUT_OD;
gpioInitStructure.Pull = GPIO_NOPULL;
gpioInitStructure.Alternate = 0;
HAL_GPIO_Init (I2C_SDA.port, &gpioInitStructure);
gpioInitStructure.Pin = I2C_SCL.pin;
gpioInitStructure.Speed = GPIO_SPEED_FAST;
gpioInitStructure.Mode = GPIO_MODE_OUTPUT_OD;
gpioInitStructure.Pull = GPIO_NOPULL;
gpioInitStructure.Alternate = 0;
HAL_GPIO_Init (I2C_SCL.port, &gpioInitStructure);
HAL_GPIO_WritePin(I2C_SCL.port, I2C_SCL.pin, 1);
HAL_GPIO_WritePin(I2C_SDA.port, I2C_SDA.pin, 1);
//set them low (and check them)
HAL_GPIO_WritePin(I2C_SCL.port, I2C_SCL.pin, 0);
HAL_GPIO_WritePin(I2C_SDA.port, I2C_SDA.pin, 0);
//set them high (and check them)
HAL_GPIO_WritePin(I2C_SCL.port, I2C_SCL.pin, 1);
HAL_GPIO_WritePin(I2C_SDA.port, I2C_SDA.pin, 1);
//return pins to AF configuration
gpioInitStructure.Pin = I2C_SDA.pin;
gpioInitStructure.Speed = GPIO_SPEED_FAST;
gpioInitStructure.Mode = GPIO_MODE_AF_OD;
gpioInitStructure.Pull = GPIO_PULLUP;
gpioInitStructure.Alternate = GPIO_AF4_I2C2;
HAL_GPIO_Init (I2C_SDA.port, &gpioInitStructure);
gpioInitStructure.Pin = I2C_SCL.pin;
gpioInitStructure.Speed = GPIO_SPEED_FAST;
gpioInitStructure.Mode = GPIO_MODE_AF_OD;
gpioInitStructure.Pull = GPIO_PULLUP;
gpioInitStructure.Alternate = GPIO_AF4_I2C2;
HAL_GPIO_Init (I2C_SCL.port, &gpioInitStructure);
//set the reset bit in I2Cx_CR1 register then clear it
I2C2->CR1 |= 0b1000000000000000;
I2C2->CR1 &= 0b0111111111111111;
//turn I2C peripheral back on
//__I2C2_CLK_ENABLE();
I2C2->CR1 |= 0b0000000000000001;
}
#define NUM_REGS_MAX 350
#define SI5338_ADDRESS 0x70
#define LOCK_MASK 0x15
#define LOS_MASK 0x04
//typedef struct Reg_Data{
// unsigned unsigned char Reg_Addr;
// unsigned unsigned char Reg_Val;
// unsigned unsigned char Reg_Mask;
//} Reg_Data;
//Reg_Data const code Reg_Store[NUM_REGS_MAX] = {
unsigned char Reg_Store[][3] = {
{ 0,0x00,0x00},
{ 1,0x00,0x00},
{ 2,0x00,0x00},
{ 3,0x00,0x00},
{ 4,0x00,0x00},
{ 5,0x00,0x00},
{ 6,0x08,0x1D},
{ 7,0x00,0x00},
{ 8,0x70,0x00},
{ 9,0x0F,0x00},
{ 10,0x00,0x00},
{ 11,0x00,0x00},
{ 12,0x00,0x00},
{ 13,0x00,0x00},
{ 14,0x00,0x00},
{ 15,0x00,0x00},
{ 16,0x00,0x00},
{ 17,0x00,0x00},
{ 18,0x00,0x00},
{ 19,0x00,0x00},
{ 20,0x00,0x00},
{ 21,0x00,0x00},
{ 22,0x00,0x00},
{ 23,0x00,0x00},
{ 24,0x00,0x00},
{ 25,0x00,0x00},
{ 26,0x00,0x00},
{ 27,0x70,0x80},
{ 28,0x16,0xFF},
{ 29,0x90,0xFF},
{ 30,0xB0,0xFF},
{ 31,0xC0,0xFF},
{ 32,0xE3,0xFF},
{ 33,0xE3,0xFF},
{ 34,0xE3,0xFF},
{ 35,0x00,0xFF},
{ 36,0x06,0x1F},
{ 37,0x00,0x1F},
{ 38,0x00,0x1F},
{ 39,0x00,0x1F},
{ 40,0x63,0xFF},
{ 41,0x0C,0x7F},
{ 42,0x23,0x3F},
{ 43,0x00,0x00},
{ 44,0x00,0x00},
{ 45,0x00,0xFF},
{ 46,0x00,0xFF},
{ 47,0x14,0x3F},
{ 48,0x37,0xFF},
{ 49,0x00,0xFF},
{ 50,0xC4,0xFF},
{ 51,0x07,0xFF},
{ 52,0x10,0xFF},
{ 53,0x00,0xFF},
{ 54,0x57,0xFF},
{ 55,0x00,0xFF},
{ 56,0x00,0xFF},
{ 57,0x00,0xFF},
{ 58,0x00,0xFF},
{ 59,0x01,0xFF},
{ 60,0x00,0xFF},
{ 61,0x00,0xFF},
{ 62,0x00,0x3F},
{ 63,0x10,0xFF},
{ 64,0x00,0xFF},
{ 65,0x00,0xFF},
{ 66,0x00,0xFF},
{ 67,0x00,0xFF},
{ 68,0x00,0xFF},
{ 69,0x00,0xFF},
{ 70,0x00,0xFF},
{ 71,0x00,0xFF},
{ 72,0x00,0xFF},
{ 73,0x00,0x3F},
{ 74,0x10,0xFF},
{ 75,0x00,0xFF},
{ 76,0x00,0xFF},
{ 77,0x00,0xFF},
{ 78,0x00,0xFF},
{ 79,0x00,0xFF},
{ 80,0x00,0xFF},
{ 81,0x00,0xFF},
{ 82,0x00,0xFF},
{ 83,0x00,0xFF},
{ 84,0x00,0x3F},
{ 85,0x10,0xFF},
{ 86,0x00,0xFF},
{ 87,0x00,0xFF},
{ 88,0x00,0xFF},
{ 89,0x00,0xFF},
{ 90,0x00,0xFF},
{ 91,0x00,0xFF},
{ 92,0x00,0xFF},
{ 93,0x00,0xFF},
{ 94,0x00,0xFF},
{ 95,0x00,0x3F},
{ 96,0x10,0x00},
{ 97,0x21,0xFF},
{ 98,0x2E,0xFF},
{ 99,0x80,0xFF},
{100,0x8F,0xFF},
{101,0x50,0xFF},
{102,0x01,0xFF},
{103,0xA0,0xFF},
{104,0x2E,0xFF},
{105,0x63,0xFF},
{106,0x80,0xBF},
{107,0x00,0xFF},
{108,0x00,0xFF},
{109,0x00,0xFF},
{110,0x00,0xFF},
{111,0x00,0xFF},
{112,0x00,0xFF},
{113,0x00,0xFF},
{114,0x40,0xFF},
{115,0x00,0xFF},
{116,0x80,0xFF},
{117,0x00,0xFF},
{118,0x40,0xFF},
{119,0x00,0xFF},
{120,0x00,0xFF},
{121,0x00,0xFF},
{122,0x40,0xFF},
{123,0x00,0xFF},
{124,0x00,0xFF},
{125,0x00,0xFF},
{126,0x00,0xFF},
{127,0x00,0xFF},
{128,0x00,0xFF},
{129,0x00,0x0F},
{130,0x00,0x0F},
{131,0x00,0xFF},
{132,0x00,0xFF},
{133,0x00,0xFF},
{134,0x00,0xFF},
{135,0x00,0xFF},
{136,0x00,0xFF},
{137,0x00,0xFF},
{138,0x00,0xFF},
{139,0x00,0xFF},
{140,0x00,0xFF},
{141,0x00,0xFF},
{142,0x00,0xFF},
{143,0x00,0xFF},
{144,0x00,0xFF},
{145,0x00,0x00},
{146,0xFF,0x00},
{147,0x00,0x00},
{148,0x00,0x00},
{149,0x00,0x00},
{150,0x00,0x00},
{151,0x00,0x00},
{152,0x00,0xFF},
{153,0x00,0xFF},
{154,0x00,0xFF},
{155,0x00,0xFF},
{156,0x00,0xFF},
{157,0x00,0xFF},
{158,0x00,0x0F},
{159,0x00,0x0F},
{160,0x00,0xFF},
{161,0x00,0xFF},
{162,0x00,0xFF},
{163,0x00,0xFF},
{164,0x00,0xFF},
{165,0x00,0xFF},
{166,0x00,0xFF},
{167,0x00,0xFF},
{168,0x00,0xFF},
{169,0x00,0xFF},
{170,0x00,0xFF},
{171,0x00,0xFF},
{172,0x00,0xFF},
{173,0x00,0xFF},
{174,0x00,0xFF},
{175,0x00,0xFF},
{176,0x00,0xFF},
{177,0x00,0xFF},
{178,0x00,0xFF},
{179,0x00,0xFF},
{180,0x00,0xFF},
{181,0x00,0x0F},
{182,0x00,0xFF},
{183,0x00,0xFF},
{184,0x00,0xFF},
{185,0x00,0xFF},
{186,0x00,0xFF},
{187,0x00,0xFF},
{188,0x00,0xFF},
{189,0x00,0xFF},
{190,0x00,0xFF},
{191,0x00,0xFF},
{192,0x00,0xFF},
{193,0x00,0xFF},
{194,0x00,0xFF},
{195,0x00,0xFF},
{196,0x00,0xFF},
{197,0x00,0xFF},
{198,0x00,0xFF},
{199,0x00,0xFF},
{200,0x00,0xFF},
{201,0x00,0xFF},
{202,0x00,0xFF},
{203,0x00,0x0F},
{204,0x00,0xFF},
{205,0x00,0xFF},
{206,0x00,0xFF},
{207,0x00,0xFF},
{208,0x00,0xFF},
{209,0x00,0xFF},
{210,0x00,0xFF},
{211,0x00,0xFF},
{212,0x00,0xFF},
{213,0x00,0xFF},
{214,0x00,0xFF},
{215,0x00,0xFF},
{216,0x00,0xFF},
{217,0x00,0xFF},
{218,0x00,0x00},
{219,0x00,0x00},
{220,0x00,0x00},
{221,0x0D,0x00},
{222,0x00,0x00},
{223,0x00,0x00},
{224,0xF4,0x00},
{225,0xF0,0x00},
{226,0x00,0x00},
{227,0x00,0x00},
{228,0x00,0x00},
{229,0x00,0x00},
{231,0x00,0x00},
{232,0x00,0x00},
{233,0x00,0x00},
{234,0x00,0x00},
{235,0x00,0x00},
{236,0x00,0x00},
{237,0x00,0x00},
{238,0x14,0x00},
{239,0x00,0x00},
{240,0x00,0x00},
{242,0x00,0x02},
{243,0xF0,0x00},
{244,0x00,0x00},
{245,0x00,0x00},
{247,0x00,0x00},
{248,0x00,0x00},
{249,0xA8,0x00},
{250,0x00,0x00},
{251,0x84,0x00},
{252,0x00,0x00},
{253,0x00,0x00},
{254,0x00,0x00},
{255, 1, 0xFF}, // set page bit to 1
{ 0,0x00,0x00},
{ 1,0x00,0x00},
{ 2,0x00,0x00},
{ 3,0x00,0x00},
{ 4,0x00,0x00},
{ 5,0x00,0x00},
{ 6,0x00,0x00},
{ 7,0x00,0x00},
{ 8,0x00,0x00},
{ 9,0x00,0x00},
{ 10,0x00,0x00},
{ 11,0x00,0x00},
{ 12,0x00,0x00},
{ 13,0x00,0x00},
{ 14,0x00,0x00},
{ 15,0x00,0x00},
{ 16,0x00,0x00},
{ 17,0x01,0x00},
{ 18,0x00,0x00},
{ 19,0x00,0x00},
{ 20,0x90,0x00},
{ 21,0x31,0x00},
{ 22,0x00,0x00},
{ 23,0x00,0x00},
{ 24,0x01,0x00},
{ 25,0x00,0x00},
{ 26,0x00,0x00},
{ 27,0x00,0x00},
{ 28,0x00,0x00},
{ 29,0x00,0x00},
{ 30,0x00,0x00},
{ 31,0x00,0xFF},
{ 32,0x00,0xFF},
{ 33,0x01,0xFF},
{ 34,0x00,0xFF},
{ 35,0x00,0xFF},
{ 36,0x90,0xFF},
{ 37,0x31,0xFF},
{ 38,0x00,0xFF},
{ 39,0x00,0xFF},
{ 40,0x01,0xFF},
{ 41,0x00,0xFF},
{ 42,0x00,0xFF},
{ 43,0x00,0x0F},
{ 44,0x00,0x00},
{ 45,0x00,0x00},
{ 46,0x00,0x00},
{ 47,0x00,0xFF},
{ 48,0x00,0xFF},
{ 49,0x01,0xFF},
{ 50,0x00,0xFF},
{ 51,0x00,0xFF},
{ 52,0x90,0xFF},
{ 53,0x31,0xFF},
{ 54,0x00,0xFF},
{ 55,0x00,0xFF},
{ 56,0x01,0xFF},
{ 57,0x00,0xFF},
{ 58,0x00,0xFF},
{ 59,0x00,0x0F},
{ 60,0x00,0x00},
{ 61,0x00,0x00},
{ 62,0x00,0x00},
{ 63,0x00,0xFF},
{ 64,0x00,0xFF},
{ 65,0x01,0xFF},
{ 66,0x00,0xFF},
{ 67,0x00,0xFF},
{ 68,0x90,0xFF},
{ 69,0x31,0xFF},
{ 70,0x00,0xFF},
{ 71,0x00,0xFF},
{ 72,0x01,0xFF},
{ 73,0x00,0xFF},
{ 74,0x00,0xFF},
{ 75,0x00,0x0F},
{ 76,0x00,0x00},
{ 77,0x00,0x00},
{ 78,0x00,0x00},
{ 79,0x00,0xFF},
{ 80,0x00,0xFF},
{ 81,0x00,0xFF},
{ 82,0x00,0xFF},
{ 83,0x00,0xFF},
{ 84,0x90,0xFF},
{ 85,0x31,0xFF},
{ 86,0x00,0xFF},
{ 87,0x00,0xFF},
{ 88,0x01,0xFF},
{ 89,0x00,0xFF},
{ 90,0x00,0xFF},
{ 91,0x00,0x0F},
{ 92,0x00,0x00},
{ 93,0x00,0x00},
{ 94,0x00,0x00},
{255, 0, 0xFF} }; // set page bit to 0
//End of file
unsigned char hello = 1;
void write_Si5338(unsigned char address, unsigned char value)
{
unsigned char txBuf[2];
txBuf[0] = address;
txBuf[1] = value;
HAL_I2C_Master_Transmit(&handleI2C, 0xE0, &txBuf, 2, 100);
//HAL_I2C_Mem_Write(&handleI2C, 0xE0, address, 1, value, 1, 100);
// Wire.beginTransmission(SI5338_ADDRESS);
// Wire.write(address);
// //delay(10);
// Wire.write(value);
// Wire.endTransmission();
// delay(10);
// Serial.print(address, DEC);
// Serial.print(" w ");
// Serial.print(value, DEC);
// Serial.print("\r\n");
}
#define MULTISYNTH0 53
void writeMultiSynthParameters(int multisynth, unsigned long a, unsigned long b, unsigned long c)
{
unsigned long long msx_p1 = ((a * c + b) * 128) / c - 512;
unsigned long long msx_p2 = (b * 128) % c;
unsigned long long msx_p3 = c;
write_Si5338(multisynth, ( msx_p1 & 0xFF));
write_Si5338(multisynth + 1, ( msx_p1 >> 8) & 0xFF);
write_Si5338(multisynth + 2, (( msx_p1 >> 16) & 0b00000011) + (( msx_p2 << 2 ) & 0b11111100));
write_Si5338(multisynth + 3, ( msx_p2 >> 6 ) & 0xFF);
write_Si5338(multisynth + 4, ( msx_p2 >> 14 ) & 0xFF);
write_Si5338(multisynth + 5, ( msx_p2 >> 22 ) & 0xFF);
write_Si5338(multisynth + 6, ( msx_p3 & 0xFF));
write_Si5338(multisynth + 7, ( msx_p3 >> 8) & 0xFF);
write_Si5338(multisynth + 8, ( msx_p3 >> 16) & 0xFF);
write_Si5338(multisynth + 9, ( msx_p3 >> 24) & 0b00111111);
}
unsigned char read_Si5338(unsigned char address, int increment)
{
unsigned char retVal = 0;
HAL_I2C_Master_Transmit(&handleI2C, 0xE0, &address, 1, 100);
HAL_I2C_Master_Receive(&handleI2C, 0xE0, &retVal, 1, 100);
// Wire.beginTransmission(SI5338_ADDRESS);
// //Wire.write(0x00);
// Wire.write(address);
// Wire.endTransmission();
//
// //delay(2);
// Wire.beginTransmission(SI5338_ADDRESS);
// Wire.requestFrom(SI5338_ADDRESS,1);
//
// while(Wire.available())
// {
// retVal = Wire.read();
// delay(10);
// Serial.print(address, DEC);
// Serial.print(" r ");
// Serial.print(retVal, DEC);
// Serial.print(" - ");
// Serial.print(Reg_Store[increment][1], DEC);
// Serial.print("\r\n");
// }
return retVal;
}
//add, val, mask
void sendRegToSi5338(int increment)
{
unsigned char addr = Reg_Store[increment][0];
unsigned char data = Reg_Store[increment][1];
unsigned char mask = Reg_Store[increment][2];
// unsigned char addr = Reg_Store[increment].Reg_Addr;
// unsigned char data = Reg_Store[increment].Reg_Val;
// unsigned char mask = Reg_Store[increment].Reg_Mask;
// ignore registers with masks of 0x00
if(mask != 0x00){
if(mask == 0xFF){
// do a regular I2C write to the register
// at addr with the desired data value
write_Si5338(addr, data);
} else {
// do a read-modify-write using I2C and
// bit-wise operations
// get the current value from the device at the
// register located at addr
unsigned char curr_val = read_Si5338(addr, increment);
// clear the bits that are allowed to be
// accessed in the current value of the register
unsigned char clear_curr_val = curr_val & (~ mask);
// clear the bits in the desired data that
// are not allowed to be accessed
unsigned char clear_new_val = data & mask;
// combine the cleared values to get the new
// value to write to the desired register
unsigned char combined = clear_curr_val | clear_new_val;
write_Si5338(addr, combined);
}
} else {
//Serial.println("skip");
}
}
void i2cSetup() {
// put your setup code here, to run once:
//pinMode(A3, INPUT);
//digitalWrite(A3, LOW);
//Serial.begin(115200);
//Serial.write("\n\r\n\rHi Michael, you can do this\n\r");
//Wire.begin();
//delay(50);
////This part is working correctly!
// for(int i = 0; i < NUM_REGS_MAX; i++)
// {
// Serial.println(Reg_Store[i][1], HEX);
// }
//Serial.println("and now this part");
//Serial.println("and now THIS part");
//delay(2000);
//write_Si5338(230, 1 << 4);
//write_Si5338(241, 1 << 7);
write_Si5338(230, 0x10); //OEB_ALL = 1
write_Si5338(241, 0xE5); //DIS_LOL = 1
//delay(100);
for(int i = 0; i < NUM_REGS_MAX; i++)
{
sendRegToSi5338(i);
}
//for(int counter=0; counter<NUM_REGS_MAX; counter++){
//unsigned char curr = Reg_Store[counter];
//if(curr.Reg_Mask != 0x00) {
// if(curr.Reg_Mask == 0xFF) {
// // do a write transaction only
// // since the mask is all ones
// I2C_ByteWrite(curr.Reg_Addr, curr.Reg_Val);
// } else {
// //do a read-modify-write
// curr_chip_val = I2C_ByteRead(curr.Reg_Addr);
// clear_curr_val = curr_chip_val & ~curr.Reg_Mask;
// clear_new_val = curr.Reg_Val & curr.Reg_Mask;
// combined = clear_new_val | clear_curr_val;
// I2C_ByteWrite(curr.Reg_Addr, combined);
// }
// }
//}
// write_Si5338(49, 0 << 7);
// write_Si5338(246, 1 << 1);
// delay(30);
// write_Si5338(241, 0 << 7);
// //skipped some steps
//
// write_Si5338(230, 0 << 4);
// check LOS alarm for the xtal input
// on IN1 and IN2 (and IN3 if necessary) -
// change this mask if using inputs on IN4, IN5, IN6
unsigned char reg = read_Si5338(218,1) & LOS_MASK;
while(reg != 0){
reg = read_Si5338(218, 1) & LOS_MASK;
}
//delay(100);
write_Si5338(49, read_Si5338(49,1) & 0x7F); //FCAL_OVRD_EN = 0
write_Si5338(246, 2); //soft reset
write_Si5338(241, 0x65); //DIS_LOL = 0
// wait for Si5338 to be ready after calibration (ie, soft reset)
//delay(50);
//make sure the device locked by checking PLL_LOL and SYS_CAL
reg = read_Si5338(218,1) & LOCK_MASK;
while(reg != 0){
reg = read_Si5338(218,1) & LOCK_MASK;
}
//delay(100);
//copy FCAL values
write_Si5338(45, read_Si5338(235,1));
write_Si5338(46, read_Si5338(236,1));
// clear bits 0 and 1 from 47 and
// combine with bits 0 and 1 from 237
reg = (read_Si5338(47,1) & 0xFC) | (read_Si5338(237,1) & 3);
write_Si5338(47, reg);
write_Si5338(49, read_Si5338(49,1) | 0x80); // FCAL_OVRD_EN = 1
write_Si5338(230, 0x00); // OEB_ALL = 0
//Serial.println("and that's it");
// for(int i = 0; i < NUM_REGS_MAX; i++)
// {
// read_Si5338(i, i);
//
// }
//while(1);
}
void i2cLoop() {
// put your main code here, to run repeatedly:
//delay(400);
//write_Si5338(31, 0xC1); //output driver off?
//long integer = 8;
//long neumerator = 0;
//do
//{
//
// writeMultiSynthParameters(MULTISYNTH0, integer, neumerator, 10000UL);
// //neumerator += 1000;
// //if(neumerator > 9999)
// //{
// // neumerator = 0;
// integer++;
//
// //}
// if( integer >= 500) integer = 8;
//
//} while (true);
long integer = 199;
long neumerator = 0;
//do
//{
//writeMultiSynthParameters(MULTISYNTH0, integer, neumerator, 10000UL);
//neumerator += 1000;
//if(neumerator > 9999)
//{
// neumerator = 0;
// integer++;
//}
//if( integer >= 500) integer = 8;
//neumerator = (analogRead(A3) * 10); //578914 referal nu 801 435 7764 john thank you
//integer = (analogRead(A2) /10) + 150;
//
//} while (true);
write_Si5338(31, 0xC0); //output driver off?
//delay(400);
write_Si5338(31, 0xC1); //output driver off?
writeMultiSynthParameters(MULTISYNTH0, 397, 0, 10000UL);
write_Si5338(31, 0xC0); //output driver off?
}

View File

@ -270,6 +270,7 @@ void setupPeripheralPower()
__GPIOE_CLK_ENABLE();
__DMA1_CLK_ENABLE();
__DMA2_CLK_ENABLE();
__I2C2_CLK_ENABLE();
}
void configDMA(SPI_HandleTypeDef *hspi)
@ -375,7 +376,7 @@ int isFwd;
{
if(!displayUpdating)
{
Position2 = (HAL_GPIO_ReadPin(encoderB.port, encoderB.pin) * 2) + HAL_GPIO_ReadPin(encoderA.port, encoderA.pin);;
Position2 = (HAL_GPIO_ReadPin(encoderB.port, encoderB.pin) * 2) + HAL_GPIO_ReadPin(encoderBee.port, encoderBee.pin);;
if (Position2 != Position)
{
isFwd = ((Position == 0) && (Position2 == 1)) || ((Position == 1) && (Position2 == 3)) ||
@ -668,16 +669,16 @@ void setGainPot(uint8_t a, uint8_t b)
HAL_GPIO_WritePin(GAIN_POT_NSS.port, GAIN_POT_NSS.pin, 0);
//choose first register
HAL_GPIO_WritePin(GAIN_POT_MOSI.port, GAIN_POT_MOSI.pin, 0);
HAL_GPIO_WritePin(GAIN_POT_SCLK.port, GAIN_POT_SCLK.pin, 0);
HAL_GPIO_WritePin(GAIN_POT_SCLK.port, GAIN_POT_SCLK.pin, 1);
HAL_GPIO_WritePin(FILTER_GAIN_POT_MOSI.port, FILTER_GAIN_POT_MOSI.pin, 0);
HAL_GPIO_WritePin(FILTER_GAIN_POT_SCLK.port, FILTER_GAIN_POT_SCLK.pin, 0);
HAL_GPIO_WritePin(FILTER_GAIN_POT_SCLK.port, FILTER_GAIN_POT_SCLK.pin, 1);
for(i = 0; i < 8; i++)
{
HAL_GPIO_WritePin(GAIN_POT_MOSI.port, GAIN_POT_MOSI.pin, (a >> (7-i)) & 1);
HAL_GPIO_WritePin(GAIN_POT_SCLK.port, GAIN_POT_SCLK.pin, 0);
HAL_GPIO_WritePin(GAIN_POT_SCLK.port, GAIN_POT_SCLK.pin, 1);
HAL_GPIO_WritePin(FILTER_GAIN_POT_MOSI.port, FILTER_GAIN_POT_MOSI.pin, (a >> (7-i)) & 1);
HAL_GPIO_WritePin(FILTER_GAIN_POT_SCLK.port, FILTER_GAIN_POT_SCLK.pin, 0);
HAL_GPIO_WritePin(FILTER_GAIN_POT_SCLK.port, FILTER_GAIN_POT_SCLK.pin, 1);
}
HAL_GPIO_WritePin(GAIN_POT_NSS.port, GAIN_POT_NSS.pin, 1);
@ -685,16 +686,16 @@ void setGainPot(uint8_t a, uint8_t b)
HAL_GPIO_WritePin(GAIN_POT_NSS.port, GAIN_POT_NSS.pin, 0);
//choose second register
HAL_GPIO_WritePin(GAIN_POT_MOSI.port, GAIN_POT_MOSI.pin, 1);
HAL_GPIO_WritePin(GAIN_POT_SCLK.port, GAIN_POT_SCLK.pin, 0);
HAL_GPIO_WritePin(GAIN_POT_SCLK.port, GAIN_POT_SCLK.pin, 1);
HAL_GPIO_WritePin(FILTER_GAIN_POT_MOSI.port, FILTER_GAIN_POT_MOSI.pin, 1);
HAL_GPIO_WritePin(FILTER_GAIN_POT_SCLK.port, FILTER_GAIN_POT_SCLK.pin, 0);
HAL_GPIO_WritePin(FILTER_GAIN_POT_SCLK.port, FILTER_GAIN_POT_SCLK.pin, 1);
for(i = 0; i < 8; i++)
{
HAL_GPIO_WritePin(GAIN_POT_MOSI.port, GAIN_POT_MOSI.pin, (b >> (7-i)) & 1);
HAL_GPIO_WritePin(GAIN_POT_SCLK.port, GAIN_POT_SCLK.pin, 0);
HAL_GPIO_WritePin(GAIN_POT_SCLK.port, GAIN_POT_SCLK.pin, 1);
HAL_GPIO_WritePin(FILTER_GAIN_POT_MOSI.port, FILTER_GAIN_POT_MOSI.pin, (b >> (7-i)) & 1);
HAL_GPIO_WritePin(FILTER_GAIN_POT_SCLK.port, FILTER_GAIN_POT_SCLK.pin, 0);
HAL_GPIO_WritePin(FILTER_GAIN_POT_SCLK.port, FILTER_GAIN_POT_SCLK.pin, 1);
}
HAL_GPIO_WritePin(GAIN_POT_NSS.port, GAIN_POT_NSS.pin, 1);
@ -708,7 +709,6 @@ USART1_IRQHandler(void)
}
GPIO_InitTypeDef GPIO_InitStruct;
__IO ITStatus UartReady = RESET;
uint8_t aTxBuffer[] = "Chris a baby! ";
@ -716,38 +716,58 @@ uint8_t aRxBuffer[256];
void configUartPeripheral()
{
// //Enable Clocks
// __GPIOB_CLK_ENABLE();
// __USART1_CLK_ENABLE();
//
__GPIOC_CLK_ENABLE();
__USART6_CLK_ENABLE();
GPIO_InitTypeDef GPIO_InitStruct;
// //Setup TX Pin
// GPIO_InitStruct.Pin = GPIO_PIN_6;
// GPIO_InitStruct.Mode = GPIO_MODE_AF_PP;
// GPIO_InitStruct.Pull = GPIO_NOPULL;
// GPIO_InitStruct.Speed = GPIO_SPEED_FAST;
// GPIO_InitStruct.Alternate = GPIO_AF7_USART1;
//
// HAL_GPIO_Init(GPIOB, &GPIO_InitStruct);
//
// //Setup RX Pin
// //It doesn't get set as an input?
// GPIO_InitStruct.Pin = GPIO_PIN_7;
// GPIO_InitStruct.Alternate = GPIO_AF7_USART1;
//
// HAL_GPIO_Init(GPIOB, &GPIO_InitStruct);
//
GPIO_InitStruct.Pin = RX_TO_GPS.pin;
GPIO_InitStruct.Mode = GPIO_MODE_AF_PP;
GPIO_InitStruct.Pull = GPIO_NOPULL;
GPIO_InitStruct.Speed = GPIO_SPEED_FAST;
GPIO_InitStruct.Alternate = GPIO_AF8_USART6;
HAL_GPIO_Init(RX_TO_GPS.port, &GPIO_InitStruct);
//Setup RX Pin
//It doesn't get set as an input?
GPIO_InitStruct.Pin = TX_FROM_GPS.pin;
GPIO_InitStruct.Alternate = GPIO_AF8_USART6;
HAL_GPIO_Init(TX_FROM_GPS.port, &GPIO_InitStruct);
// //Configure NVIC
// HAL_NVIC_SetPriority(USART1_IRQn, 0, 1);
// HAL_NVIC_EnableIRQ(USART1_IRQn);
//
// UartHandle.Instance = USART1;
// UartHandle.Init.BaudRate = 9600;
// UartHandle.Init.WordLength = UART_WORDLENGTH_8B;
// UartHandle.Init.StopBits = UART_STOPBITS_1;
// UartHandle.Init.Parity = UART_PARITY_NONE;
// UartHandle.Init.HwFlowCtl = UART_HWCONTROL_NONE;
// UartHandle.Init.Mode = UART_MODE_TX_RX;
UartHandle.Instance = USART6;
UartHandle.Init.BaudRate = 9600;
UartHandle.Init.WordLength = UART_WORDLENGTH_8B;
UartHandle.Init.StopBits = UART_STOPBITS_1;
UartHandle.Init.Parity = UART_PARITY_NONE;
UartHandle.Init.HwFlowCtl = UART_HWCONTROL_NONE;
UartHandle.Init.Mode = UART_MODE_TX_RX;
UartHandle.Init.OverSampling = UART_OVERSAMPLING_16;
if(HAL_UART_Init(&UartHandle) != HAL_OK)
{
trace_puts("UART didn't init rightly.");
}
TinyGPS_init();
// while(1)
// {
// if(HAL_UART_Receive(&UartHandle, (uint8_t *)aRxBuffer, 256, 5000) != HAL_OK)
// {
// trace_puts("UART recieve didn't work. No sir.");
// } else {
// trace_puts(aRxBuffer);
// for(int i = 0; i < 256; i++)
// TinyGPS_encode(aRxBuffer[i]);
//
// HAL_UART_Init(&UartHandle);
// }
// }
}
@ -795,6 +815,58 @@ main(int argc, char* argv[])
configDMA(&SpiHandle );
//I2C_HandleTypeDef hi2c;
//HAL_I2C_MspInit(&hi2c);
//__HAL_I2C_DISABLE(I2C2);
clearStuckBusyFlag();
handleI2C.Instance = I2C2;
HAL_I2C_DeInit(&handleI2C);
handleI2C.Init.AddressingMode = I2C_ADDRESSINGMODE_7BIT;
handleI2C.Init.ClockSpeed = 400000;
handleI2C.Init.DualAddressMode = I2C_DUALADDRESS_DISABLED;
handleI2C.Init.DutyCycle = I2C_DUTYCYCLE_16_9;
handleI2C.Init.GeneralCallMode = I2C_GENERALCALL_DISABLED;
handleI2C.Init.NoStretchMode = I2C_NOSTRETCH_DISABLED;
handleI2C.Init.OwnAddress1 = 0x30F;
handleI2C.Init.OwnAddress2 = 0xFE;
if(HAL_I2C_Init(&handleI2C) != HAL_OK)
{
trace_puts("I2C didn't Init correctly");
}
//handleI2C.Instance->SR2 = 0; //What the heck is wrong with this thing?!
//clearStuckBusyFlag();
HAL_StatusTypeDef result = HAL_ERROR;
while(result!= HAL_OK)
result = HAL_I2C_IsDeviceReady(&handleI2C, (0x70 << 1), 100, 100); //We need to shift the address to the left for it to work (because of the R/W bit)
//HAL_I2C_Master_Transmit(&hi2c, 230, 0x10, 1, 1000); //write_Si5338(230, 0x10); //OEB_ALL = 1
//*handleI2C = hi2c;
//HAL_I2C_Master_Transmit(&handleI2C, 230, 0x4F, 1, 1000); //write_Si5338(230, 0x10); //OEB_ALL = 1
//HAL_I2C_Master_Transmit(handleI2C, 230, 0x4F, 1, 1000); //write_Si5338(230, 0x10); //OEB_ALL = 1
//handleI2C = &hi2c;
//HAL_I2C_Master_Transmit(&handleI2C, 230, 0x4F, 1, 1000); //write_Si5338(230, 0x10); //OEB_ALL = 1
//HAL_I2C_Master_Transmit(handleI2C, 230, 0x4F, 1, 1000); //write_Si5338(230, 0x10); //OEB_ALL = 1
i2cSetup();
//i2cLoop();
//trace_puts(( == HAL_OK ? "SI5338 Ready" : "SI5338 Not ready"));
//HAL_I2C_MspInit(&hi2c);
timer_start();
blink_led_init();
@ -829,7 +901,7 @@ main(int argc, char* argv[])
setGainPot(128, 128);
setGainPot(250, 250);
//testing Uart
configUartPeripheral();
@ -868,18 +940,20 @@ main(int argc, char* argv[])
drawWaterfall();
drawSMeter();
Adafruit_GFX_fillRect(310, 0, 3, 3, !HAL_GPIO_ReadPin(KEY1.port, KEY1.pin) ? ILI9340_RED : ILI9340_BLUE);
Adafruit_GFX_fillRect(310, 4, 3, 3, !HAL_GPIO_ReadPin(KEY2.port, KEY2.pin) ? ILI9340_RED : ILI9340_BLUE);
Adafruit_GFX_fillRect(310, 8, 3, 3, HAL_GPIO_ReadPin(TOUCH1.port, TOUCH1.pin) ? ILI9340_RED : ILI9340_BLUE);
Adafruit_GFX_fillRect(310, 12, 3, 3, HAL_GPIO_ReadPin(TOUCH2.port, TOUCH2.pin) ? ILI9340_RED : ILI9340_BLUE);
Adafruit_GFX_fillRect(310, 0, 3, 3, HAL_GPIO_ReadPin(PADDLE_THUMB_NC.port, PADDLE_THUMB_NC.pin) ? ILI9340_RED : ILI9340_BLUE);
Adafruit_GFX_fillRect(310, 4, 3, 3, HAL_GPIO_ReadPin(PADDLE_INDEX_NC.port, PADDLE_INDEX_NC.pin) ? ILI9340_RED : ILI9340_BLUE);
Adafruit_GFX_fillRect(310, 8, 3, 3, HAL_GPIO_ReadPin(PADDLE_THUMB_NO.port, PADDLE_THUMB_NO.pin) ? ILI9340_RED : ILI9340_BLUE);
Adafruit_GFX_fillRect(310, 12, 3, 3, HAL_GPIO_ReadPin(PADDLE_INDEX_NO.port, PADDLE_INDEX_NO.pin) ? ILI9340_RED : ILI9340_BLUE);
if(HAL_GPIO_ReadPin(TOUCH1.port, TOUCH1.pin))
HAL_GPIO_WritePin(RED_LED.port, RED_LED.pin, HAL_GPIO_ReadPin(GPS_PPS.port, GPS_PPS.pin));
if(!HAL_GPIO_ReadPin(PADDLE_THUMB_NO.port, PADDLE_THUMB_NO.pin))
//if(1) //I am locking it in transmit for some testing.
{
transmitting = 1;
HAL_GPIO_WritePin(DAC_MUX.port, DAC_MUX.pin, 1); //0 = speaker/earphone. 1=TX Drivers
HAL_GPIO_WritePin(RX_MUX.port, RX_MUX.pin, 1); //Active Low
HAL_GPIO_WritePin(TX_MUX.port, TX_MUX.pin, 0); //Active Low
// HAL_GPIO_WritePin(RX_MUX.port, RX_MUX.pin, 1); //Active Low
// HAL_GPIO_WritePin(TX_MUX.port, TX_MUX.pin, 0); //Active Low
HAL_GPIO_WritePin(AMP_SWITCH_A.port, AMP_SWITCH_A.pin, 1); //Route through amp.
HAL_GPIO_WritePin(AMP_SWITCH_B.port, AMP_SWITCH_B.pin, 0); //always reverse of above.
HAL_GPIO_WritePin(AMP_POWER.port, AMP_POWER.pin, 0); //0 is on.
@ -887,8 +961,8 @@ main(int argc, char* argv[])
} else {
transmitting = 0;
HAL_GPIO_WritePin(DAC_MUX.port, DAC_MUX.pin, 0); //0 = speaker/earphone. 1=TX Drivers
HAL_GPIO_WritePin(RX_MUX.port, RX_MUX.pin, 0); //Active Low
HAL_GPIO_WritePin(TX_MUX.port, TX_MUX.pin, 1); //Active Low
// HAL_GPIO_WritePin(RX_MUX.port, RX_MUX.pin, 0); //Active Low
// HAL_GPIO_WritePin(TX_MUX.port, TX_MUX.pin, 1); //Active Low
HAL_GPIO_WritePin(AMP_SWITCH_A.port, AMP_SWITCH_A.pin, 0); //Bypass amp.
HAL_GPIO_WritePin(AMP_SWITCH_B.port, AMP_SWITCH_B.pin, 1); //always reverse of above.
HAL_GPIO_WritePin(AMP_POWER.port, AMP_POWER.pin, 1); //1 is off.

View File

@ -22,28 +22,28 @@ void spi_init(void)
__SPI1_CLK_ENABLE();
// SPI2 SCK and MOSI
gpioInitStructure.Pin = SPI1_SCK.pin;
gpioInitStructure.Pin = LCD_SCK.pin;
gpioInitStructure.Speed = GPIO_SPEED_FAST;
gpioInitStructure.Mode = GPIO_MODE_AF_PP;
gpioInitStructure.Alternate = GPIO_AF5_SPI1;
gpioInitStructure.Pull = GPIO_NOPULL;
//gpioInitStructure.Alternate = 1;
HAL_GPIO_Init(SPI1_SCK.port, &gpioInitStructure);
HAL_GPIO_Init(LCD_SCK.port, &gpioInitStructure);
gpioInitStructure.Pin = SPI1_MOSI.pin;
gpioInitStructure.Pin = LCD_MOSI.pin;
gpioInitStructure.Speed = GPIO_SPEED_FAST;
gpioInitStructure.Mode = GPIO_MODE_AF_PP;
gpioInitStructure.Pull = GPIO_NOPULL;
gpioInitStructure.Alternate = GPIO_AF5_SPI1;
HAL_GPIO_Init(SPI1_MOSI.port, &gpioInitStructure);
HAL_GPIO_Init(LCD_MOSI.port, &gpioInitStructure);
// SPI2 MISO
gpioInitStructure.Pin = SPI1_MISO.pin;
gpioInitStructure.Pin = LCD_MISO.pin;
gpioInitStructure.Speed = GPIO_SPEED_FAST;
gpioInitStructure.Mode = GPIO_MODE_INPUT;
gpioInitStructure.Pull = GPIO_PULLUP;
gpioInitStructure.Alternate = GPIO_AF5_SPI1;
HAL_GPIO_Init(SPI1_MISO.port, &gpioInitStructure);
HAL_GPIO_Init(LCD_MISO.port, &gpioInitStructure);
// RFID NSS
gpioInitStructure.Pin = LCD_NSS.pin;