Problem with comparison.
/Modules/Clock/CLKGEN01B/DOC/SRC/CLKGEN_3DViewer.pdf |
---|
Cannot display: file marked as a binary type. |
svn:mime-type = application/octet-stream |
Property changes: |
Added: svn:mime-type |
+application/octet-stream |
\ No newline at end of property |
/Modules/Clock/CLKGEN01B/DOC/SRC/CLKGEN01A_Bottom_Big.jpg |
---|
Cannot display: file marked as a binary type. |
svn:mime-type = application/octet-stream |
Property changes: |
Added: svn:mime-type |
+application/octet-stream |
\ No newline at end of property |
/Modules/Clock/CLKGEN01B/DOC/CLKGEN01A.pdf |
---|
Cannot display: file marked as a binary type. |
svn:mime-type = application/octet-stream |
Property changes: |
Added: svn:mime-type |
+application/octet-stream |
\ No newline at end of property |
/Modules/Clock/CLKGEN01B/PCB/CLKGEN.pcb |
---|
Cannot display: file marked as a binary type. |
svn:mime-type = application/octet-stream |
Property changes: |
Added: svn:mime-type |
+application/octet-stream |
\ No newline at end of property |
/Modules/Clock/CLKGEN01B/SCH/CLKGEN.BOM |
---|
0,0 → 1,31 |
Clock Revised: Tuesday, December 07, 2010 |
Clock generator Revision: A |
Bill Of Materials February 7,2011 11:31:46 Page1 |
Quantity Reference Part |
______________________________________________ |
2 C1,C2 10uF |
2 C5,C6 100nF |
2 D1,D2 1N4007 |
2 J1,J3 JUMP2X3 |
1 J2 SATA |
2 J4,J5 JUMP2X1 |
1 J6 JUMP2X2 |
4 M1,M2,M3,M4 HOLE_M3 |
1 M5 FIDU |
1 M6 FIDU_PASTE |
4 R1,R2,R6,R7 4k7 |
1 R3 200k |
2 R4,R5 0R |
2 R10,R11 195R |
1 U1 LM1117MPX |
1 U2 Si570 |
1 U3 GTL2002 |
/Modules/Clock/CLKGEN01B/SCH/CLKGEN.DSN |
---|
Cannot display: file marked as a binary type. |
svn:mime-type = application/octet-stream |
Property changes: |
Added: svn:mime-type |
+application/octet-stream |
\ No newline at end of property |
/Modules/Clock/CLKGEN01B/SCH/CLKGEN.asc |
---|
0,0 → 1,63 |
*PADS-PCB* |
*PART* |
C1 C-ELYT,10uF@ELYTB |
C2 C-ELYT,10uF@ELYTB |
C5 C,100nF@C0805 |
C6 C,100nF@C0805 |
D1 D,1N4007@DO41 |
D2 D,1N4007@DO41 |
J1 JUMP2X3,JUMP2X3@JUMP2X3 |
J2 SATA,SATA@SATA |
J3 JUMP2X3,JUMP2X3@JUMP2X3 |
J4 JUMP2X1,JUMP2X1@JUMP2X1 |
J5 JUMP2X1,JUMP2X1@JUMP2X1 |
J6 JUMP2X2,JUMP2X2@JUMP2X2 |
M1 PAD,HOLE_M3@HOLE_M3 |
M2 PAD,HOLE_M3@HOLE_M3 |
M3 PAD,HOLE_M3@HOLE_M3 |
M4 PAD,HOLE_M3@HOLE_M3 |
M5 FIDU,FIDU@FIDU |
M6 FIDU_PASTE,FIDU_PASTE@FIDU_PASTE |
R1 R,4k7@R0805 |
R10 R,195R@R0805 |
R11 R,195R@R0805 |
R2 R,4k7@R0805 |
R3 R,200k@R0805 |
R4 R,0R@R0805 |
R5 R,0R@R0805 |
R6 R,4k7@R0805 |
R7 R,4k7@R0805 |
U1 SOT223,LM1117MPX@SOT223 |
U2 Si570,Si570@Si5XX |
U3 SO8_150,GTL2002@SO8_150 |
*NET* |
*SIGNAL* GND |
J1.1 J1.2 J1.5 J1.6 J2.1 J2.4 J2.7 J3.1 |
J3.2 J3.5 J3.6 U1.1 C1.C C2.C D1.A U2.3 |
C5.1 D2.A U3.1 C6.1 M1.1 M2.1 M3.1 M4.1 |
R10.1 R11.1 |
*SIGNAL* N01163 |
J2.2 U2.4 R10.2 |
*SIGNAL* N02020 |
U2.1 J4.1 J4.2 |
*SIGNAL* N02024 |
U2.2 J5.1 J5.2 |
*SIGNAL* N02141 |
J2.3 U2.5 R11.2 |
*SIGNAL* N02853 |
U3.6 J6.1 J6.2 R4.1 R6.1 |
*SIGNAL* N02857 |
U3.5 J6.3 J6.4 R5.1 R7.1 |
*SIGNAL* N03045 |
U3.7 U3.8 R3.1 C6.2 |
*SIGNAL* N03387 |
U2.8 R1.1 U3.3 R4.2 |
*SIGNAL* N03720 |
U2.7 R2.1 U3.4 R5.2 |
*SIGNAL* VDD |
J3.3 J3.4 U1.3 U1.4 C2.A U2.6 C5.2 D2.C |
R1.2 R2.2 U3.2 |
*SIGNAL* VIN |
J1.3 J1.4 U1.2 C1.A D1.C R3.2 R6.2 R7.2 |
*END* |
/Modules/Clock/CLKGEN01B/SCH/CLKGEN.pdf |
---|
Cannot display: file marked as a binary type. |
svn:mime-type = application/octet-stream |
Property changes: |
Added: svn:mime-type |
+application/octet-stream |
\ No newline at end of property |
/Modules/Clock/CLKGEN01B/CAM_DOC/V1.pdf |
---|
Cannot display: file marked as a binary type. |
svn:mime-type = application/octet-stream |
Property changes: |
Added: svn:mime-type |
+application/octet-stream |
\ No newline at end of property |
/Modules/Clock/CLKGEN01B/CAM_DOC/V2.pdf |
---|
Cannot display: file marked as a binary type. |
svn:mime-type = application/octet-stream |
Property changes: |
Added: svn:mime-type |
+application/octet-stream |
\ No newline at end of property |
/Modules/Clock/CLKGEN01B/CAM_DOC/CLKGEN.pdf |
---|
Cannot display: file marked as a binary type. |
svn:mime-type = application/octet-stream |
Property changes: |
Added: svn:mime-type |
+application/octet-stream |
\ No newline at end of property |
/Modules/Clock/CLKGEN01B/CAM_PROFI/DRILL.DRL |
---|
0,0 → 1,81 |
% |
T1C.022F197S55 |
X0186Y01272 |
X01892Y01724 |
X01968Y01704 |
X02024Y01584 |
X02124Y01596 |
X0216Y01648 |
X02176Y01768 |
X022Y01556 |
X02236Y01652 |
X0262Y01704 |
X0274Y01916 |
X02544Y01808 |
X02464Y01888 |
X0232Y01876 |
X02248Y01772 |
X0222Y01848 |
X01888Y01964 |
X0184Y0202 |
X0138Y01988 |
X016Y02068 |
X01756Y0208 |
X01808Y02156 |
X0182Y0208 |
X01884Y02088 |
X02344Y02204 |
X02404Y02452 |
X023Y02436 |
X02104Y02476 |
X02012Y02288 |
X01936Y02288 |
X0176Y0236 |
X01744Y025 |
X017Y02436 |
X0168Y0234 |
X0156Y02388 |
X01684Y0274 |
X01992Y02736 |
X02148Y02524 |
X02196Y0274 |
X0238Y02568 |
X02392Y02684 |
T2C.02913F197S55 |
X0185Y026591 |
X019Y026 |
X0195Y026 |
X02Y026591 |
X0205Y026 |
X021Y026 |
X0215Y026591 |
T3C.035F197S55 |
X016581Y015096 |
X017581Y015096 |
X021164Y014606 |
X021164Y013606 |
X022164Y014606 |
X022164Y013606 |
X023164Y014606 |
X023164Y013606 |
X020773Y019533 |
X019774Y019533 |
X017581Y016096 |
X016581Y016096 |
X019774Y020533 |
X020773Y020533 |
X025308Y021471 |
X025308Y022471 |
X026308Y021471 |
X026308Y022471 |
X026308Y023471 |
X025308Y023471 |
T4C.05315F107S55 |
X017531Y026 |
X022583Y025606 |
T5C.12598F035S794 |
X014Y014 |
X026Y014 |
X026Y026 |
X014Y026 |
M30 |
/Modules/Clock/CLKGEN01B/CAM_PROFI/M2.PHO |
---|
0,0 → 1,190 |
* |
* |
G04 PADS 9.2 Build Number: 414666 generated Gerber (RS-274-X) file* |
G04 PC Version=2.1* |
* |
%IN "CLKGEN.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* |
* |
%ADD024C,0.001*% |
%ADD071R,0.116X0.071*% |
%ADD072R,0.071X0.116*% |
%ADD073R,0.072X0.055*% |
%ADD074R,0.081X0.081*% |
%ADD075R,0.067X0.055*% |
%ADD076R,0.055X0.067*% |
%ADD077R,0.088X0.076*% |
%ADD078R,0.086X0.163*% |
%ADD079R,0.08293X0.10065*% |
%ADD080R,0.09651X0.06718*% |
%ADD081O,0.041X0.086*% |
%ADD082R,0.09465X0.09858*% |
%ADD083R,0.09858X0.09465*% |
%ADD084C,0.25213*% |
%ADD085C,0.21*% |
%ADD086O,0.05528X0.06315*% |
%ADD087C,0.11079*% |
* |
* |
* |
* |
G04 PC Circuitry* |
G04 Layer Name CLKGEN.pcb - circuitry* |
%LPD*% |
* |
* |
G04 PC Custom Flashes* |
G04 Layer Name CLKGEN.pcb - flashes* |
%LPD*% |
* |
* |
G04 PC Circuitry* |
G04 Layer Name CLKGEN.pcb - circuitry* |
%LPD*% |
* |
G54D24* |
G54D71* |
G01X244800Y162300D03* |
Y175300D03* |
G54D72* |
X227800Y213307D03* |
X240800D03* |
G54D73* |
X220688Y244883D03* |
Y237283D03* |
X145409Y192347D03* |
Y184747D03* |
G54D74* |
X207735Y205334D03* |
Y195334D03* |
X197740Y205334D03* |
Y195334D03* |
X165813Y150955D03* |
Y160955D03* |
X175813Y150955D03* |
Y160955D03* |
X253085Y234708D03* |
X263085D03* |
X253085Y224708D03* |
X263085D03* |
X253085Y214708D03* |
X263085D03* |
X231638Y146062D03* |
Y136062D03* |
X221638Y146062D03* |
Y136062D03* |
X211638Y146062D03* |
Y136062D03* |
G54D75* |
X181032Y194306D03* |
Y186706D03* |
X145456Y176782D03* |
Y169182D03* |
X164409Y183747D03* |
Y191347D03* |
X172186Y183757D03* |
Y191357D03* |
X166093Y141430D03* |
Y133830D03* |
X176643Y141430D03* |
Y133830D03* |
G54D76* |
X219990Y228811D03* |
X227590D03* |
X180573Y249672D03* |
X188173D03* |
X204173D03* |
X196573D03* |
G54D77* |
X232233Y180455D03* |
Y162255D03* |
Y171355D03* |
G54D78* |
X207833D03* |
G54D79* |
X207740Y220568D03* |
X197740D03* |
X187740D03* |
Y237103D03* |
X197740D03* |
X207740D03* |
G54D80* |
X209954Y228836D03* |
X185525D03* |
G54D81* |
X154909Y198247D03* |
X159909D03* |
X164909D03* |
X169909D03* |
Y176847D03* |
X164909D03* |
X159909D03* |
X154909D03* |
G54D82* |
X193425Y153732D03* |
Y133653D03* |
G54D83* |
X225467Y197729D03* |
X245545D03* |
G54D84* |
X140000Y260000D03* |
Y140000D03* |
X260000D03* |
Y260000D03* |
G54D85* |
X136000Y217200D03* |
X135600Y234000D03* |
G54D86* |
X185000Y265906D03* |
X190000Y260000D03* |
X195000D03* |
X200000Y265906D03* |
X205000Y260000D03* |
X210000D03* |
X215000Y265906D03* |
G54D87* |
X225827Y256063D03* |
X175315Y260000D03* |
X0Y0D02* |
M02* |
/Modules/Clock/CLKGEN01B/CAM_PROFI/T1.PHO |
---|
0,0 → 1,1101 |
* |
* |
G04 PADS 9.2 Build Number: 414666 generated Gerber (RS-274-X) file* |
G04 PC Version=2.1* |
* |
%IN "CLKGEN.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* |
* |
%ADD024C,0.001*% |
%ADD025C,0.01*% |
%ADD029C,0.005*% |
%ADD036C,0.008*% |
* |
* |
* |
* |
G04 PC Circuitry* |
G04 Layer Name CLKGEN.pcb - circuitry* |
%LPD*% |
* |
* |
G04 PC Custom Flashes* |
G04 Layer Name CLKGEN.pcb - flashes* |
%LPD*% |
* |
* |
G04 PC Circuitry* |
G04 Layer Name CLKGEN.pcb - circuitry* |
%LPD*% |
* |
G54D24* |
G54D25* |
G01X143400Y187809D02* |
X142775Y187582D01* |
X142150Y187127* |
X141837Y186673* |
X141837D02* |
Y185764D01* |
X141837D02* |
X142150Y185309D01* |
X142775Y184855* |
X143400Y184627* |
X144337Y184400* |
X144337D02* |
X145900D01* |
X146837Y184627* |
X146837D02* |
X147462Y184855D01* |
X147462D02* |
X148087Y185309D01* |
X148087D02* |
X148400Y185764D01* |
Y186673* |
X148087Y187127* |
X148087D02* |
X147462Y187582D01* |
X147462D02* |
X146837Y187809D01* |
X141837Y189855D02* |
X148400D01* |
Y192582* |
X141837Y194627D02* |
X148400D01* |
X141837Y197809D02* |
X146212Y194627D01* |
X144650Y195764D02* |
X148400Y197809D01* |
X143400Y203264D02* |
X142775Y203036D01* |
X142150Y202582* |
X141837Y202127* |
X141837D02* |
Y201218D01* |
X141837D02* |
X142150Y200764D01* |
X142775Y200309* |
X143400Y200082* |
X144337Y199855* |
X144337D02* |
X145900D01* |
X146837Y200082* |
X146837D02* |
X147462Y200309D01* |
X147462D02* |
X148087Y200764D01* |
X148087D02* |
X148400Y201218D01* |
Y202127* |
X148087Y202582* |
X148087D02* |
X147462Y203036D01* |
X147462D02* |
X146837Y203264D01* |
X146837D02* |
X145900D01* |
Y202127D02* |
Y203264D01* |
X141837Y205309D02* |
X148400D01* |
X141837D02* |
Y208264D01* |
X144962Y205309D02* |
Y207127D01* |
X148400Y205309D02* |
Y208264D01* |
X141837Y210309D02* |
X148400D01* |
X141837D02* |
X148400Y213491D01* |
X141837D02* |
X148400D01* |
X141837Y216900D02* |
X142150Y216218D01* |
X143087Y215764* |
X143087D02* |
X144650Y215536D01* |
X145587* |
X145587D02* |
X147150Y215764D01* |
X148087Y216218* |
X148087D02* |
X148400Y216900D01* |
Y217355* |
X148087Y218036* |
X148087D02* |
X147150Y218491D01* |
X145587Y218718* |
X145587D02* |
X144650D01* |
X143087Y218491* |
X143087D02* |
X142150Y218036D01* |
X141837Y217355* |
X141837D02* |
Y216900D01* |
X143087Y220764D02* |
X142775Y221218D01* |
X141837Y221900* |
X141837D02* |
X148400D01* |
X141837Y223945D02* |
X148400D01* |
X141837D02* |
Y225991D01* |
X141837D02* |
X142150Y226673D01* |
X142462Y226900* |
X142462D02* |
X143087Y227127D01* |
X143087D02* |
X143712D01* |
X143712D02* |
X144337Y226900D01* |
X144337D02* |
X144650Y226673D01* |
X144962Y225991* |
Y223945D02* |
Y225991D01* |
X144962D02* |
X145275Y226673D01* |
X145587Y226900* |
X145587D02* |
X146212Y227127D01* |
X146212D02* |
X147150D01* |
X147775Y226900* |
X148087Y226673* |
X148087D02* |
X148400Y225991D01* |
Y223945* |
X190550Y246400D02* |
X190300Y246764D01* |
X189550Y247309* |
X194800* |
G54D29* |
X206123Y216394D02* |
Y213394D01* |
X205986Y212831* |
X205850Y212644* |
X205577Y212456* |
X205305* |
X205032Y212644* |
X204895Y212831* |
X204759Y213394* |
Y213769* |
X208714Y216394D02* |
X207350Y213769D01* |
X209395* |
X208714Y216394D02* |
Y212456D01* |
X195723Y216394D02* |
Y213394D01* |
X195586Y212831* |
X195450Y212644* |
X195177Y212456* |
X194905* |
X194632Y212644* |
X194495Y212831* |
X194359Y213394* |
Y213769* |
X198723Y216394D02* |
X197359D01* |
X197223Y214706* |
X197359Y214894* |
X197768Y215081* |
X198177* |
X198586Y214894* |
X198859Y214519* |
X198995Y213956* |
X198859Y213581* |
X198723Y213019* |
X198450Y212644* |
X198041Y212456* |
X197632* |
X197223Y212644* |
X197086Y212831* |
X196950Y213206* |
X179059Y172394D02* |
Y169394D01* |
X178923Y168831* |
X178786Y168644* |
X178514Y168456* |
X178241* |
X177968Y168644* |
X177832Y168831* |
X177695Y169394* |
Y169769* |
X181923Y171831D02* |
X181786Y172206D01* |
X181377Y172394* |
X181105* |
X180695Y172206* |
X180423Y171644* |
X180286Y170706* |
Y169769* |
X180423Y169019* |
X180695Y168644* |
X181105Y168456* |
X181241* |
X181650Y168644* |
X181923Y169019* |
X182059Y169581* |
Y169769* |
X181923Y170331* |
X181650Y170706* |
X181241Y170894* |
X181105* |
X180695Y170706* |
X180423Y170331* |
X180286Y169769* |
X250991Y245594D02* |
Y242594D01* |
X250855Y242031* |
X250718Y241844* |
X250445Y241656* |
X250173* |
X249900Y241844* |
X249764Y242031* |
X249627Y242594* |
Y242969* |
X252491Y245594D02* |
X253991D01* |
X253173Y244094* |
X253582* |
X253855Y243906* |
X253991Y243719* |
X254127Y243156* |
Y242781* |
X253991Y242219* |
X253718Y241844* |
X253309Y241656* |
X252900* |
X252491Y241844* |
X252355Y242031* |
X252218Y242406* |
X231605Y129594D02* |
Y126594D01* |
X231468Y126031* |
X231332Y125844* |
X231059Y125656* |
X230786* |
X230514Y125844* |
X230377Y126031* |
X230241Y126594* |
Y126969* |
X232832Y128844D02* |
X233105Y129031D01* |
X233514Y129594* |
Y125656* |
X229936Y274481D02* |
Y271981D01* |
X229823Y271513* |
X229823D02* |
X229709Y271356D01* |
X229482Y271200* |
X229255* |
X229027Y271356* |
X228914Y271513* |
X228914D02* |
X228800Y271981D01* |
Y272294* |
X231073Y273700D02* |
Y273856D01* |
X231186Y274169* |
X231300Y274325* |
X231527Y274481* |
X231982* |
X232209Y274325* |
X232323Y274169* |
X232436Y273856* |
Y273544* |
X232323Y273231* |
X232095Y272763* |
X232095D02* |
X230959Y271200D01* |
X232550* |
G54D36* |
X202735Y210334D02* |
X212735D01* |
Y190334* |
X202735* |
Y210334* |
X192740D02* |
X202740D01* |
Y190334* |
X192740* |
Y210334* |
X180813Y145955D02* |
X160813D01* |
Y165955* |
X180813* |
Y145955* |
X248085Y209708D02* |
Y239708D01* |
X268085* |
Y209708* |
X248085* |
X206638Y151062D02* |
X236638D01* |
Y131062* |
X206638* |
Y151062* |
X232677Y250945D02* |
X167323D01* |
Y269055* |
X232677* |
Y250945* |
X152500Y186400D02* |
X156000Y187127D01* |
X152500Y187855D02* |
X156000Y187127D01* |
X152500Y187855D02* |
X156000Y188582D01* |
X152500Y189309D02* |
X156000Y188582D01* |
X152500Y190945D02* |
X156000Y191673D01* |
X152500Y192400D02* |
X156000Y191673D01* |
X152500Y192400D02* |
X156000Y193127D01* |
X152500Y193855D02* |
X156000Y193127D01* |
X152500Y195491D02* |
X156000Y196218D01* |
X152500Y196945D02* |
X156000Y196218D01* |
X152500Y196945D02* |
X156000Y197673D01* |
X152500Y198400D02* |
X156000Y197673D01* |
X155500Y200218D02* |
X155750Y200036D01* |
X156000Y200218* |
X155750Y200400* |
X155500Y200218* |
X152500Y202036D02* |
X156000D01* |
X153500D02* |
X152750Y202582D01* |
X152500Y202945* |
Y203491* |
X152750Y203855* |
X153500Y204036* |
X156000* |
X153500D02* |
X152750Y204582D01* |
X152500Y204945* |
Y205491* |
X152750Y205855* |
X153500Y206036* |
X156000* |
X150750Y207673D02* |
X156000D01* |
X152500Y211491D02* |
X156000D01* |
X153250D02* |
X152750Y211127D01* |
X152500Y210764* |
Y210218* |
X152750Y209855* |
X153250Y209491* |
X154000Y209309* |
X154500* |
X155250Y209491* |
X155750Y209855* |
X156000Y210218* |
Y210764* |
X155750Y211127* |
X155250Y211491* |
X150750Y213127D02* |
X156000D01* |
X153250D02* |
X152750Y213491D01* |
X152500Y213855* |
Y214400* |
X152750Y214764* |
X153250Y215127* |
X154000Y215309* |
X154500* |
X155250Y215127* |
X155750Y214764* |
X156000Y214400* |
Y213855* |
X155750Y213491* |
X155250Y213127* |
X155500Y217127D02* |
X155750Y216945D01* |
X156000Y217127* |
X155750Y217309* |
X155500Y217127* |
X153250Y221127D02* |
X152750Y220764D01* |
X152500Y220400* |
Y219855* |
X152750Y219491* |
X153250Y219127* |
X154000Y218945* |
X154500* |
X155250Y219127* |
X155750Y219491* |
X156000Y219855* |
Y220400* |
X155750Y220764* |
X155250Y221127* |
X152500Y224764D02* |
X156000Y222764D01* |
X152500D02* |
Y224764D01* |
X156000Y222764D02* |
Y224764D01* |
X210400Y159650D02* |
Y154400D01* |
Y159650D02* |
X212036D01* |
X212582Y159400* |
X212764Y159150* |
X212945Y158650* |
Y157900* |
X212764Y157400* |
X212582Y157150* |
X212036Y156900* |
X210400* |
X215673Y159650D02* |
X215309Y159400D01* |
X214945Y158900* |
X214764Y158400* |
X214582Y157650* |
Y156400* |
X214764Y155650* |
X214945Y155150* |
X215309Y154650* |
X215673Y154400* |
X216400* |
X216764Y154650* |
X217127Y155150* |
X217309Y155650* |
X217491Y156400* |
Y157650* |
X217309Y158400* |
X217127Y158900* |
X216764Y159400* |
X216400Y159650* |
X215673* |
X219127D02* |
X220036Y154400D01* |
X220945Y159650D02* |
X220036Y154400D01* |
X220945Y159650D02* |
X221855Y154400D01* |
X222764Y159650D02* |
X221855Y154400D01* |
X224400Y159650D02* |
Y154400D01* |
Y159650D02* |
X226764D01* |
X224400Y157150D02* |
X225855D01* |
X224400Y154400D02* |
X226764D01* |
X228400Y159650D02* |
Y154400D01* |
Y159650D02* |
X230036D01* |
X230582Y159400* |
X230764Y159150* |
X230945Y158650* |
Y158150* |
X230764Y157650* |
X230582Y157400* |
X230036Y157150* |
X228400* |
X229673D02* |
X230945Y154400D01* |
X239550Y212182D02* |
X243050D01* |
X244300D02* |
X244550Y212000D01* |
X244800Y212182* |
X244550Y212364* |
X244300Y212182* |
X239550Y214182D02* |
X243050D01* |
X244300D02* |
X244550Y214000D01* |
X244800Y214182* |
X244550Y214364* |
X244300Y214182* |
X239550Y216000D02* |
X244800Y217455D01* |
X239550Y218909D02* |
X244800Y217455D01* |
X242050Y222727D02* |
X241550Y222364D01* |
X241300Y222000* |
Y221455* |
X241550Y221091* |
X242050Y220727* |
X242800Y220545* |
X243300* |
X244050Y220727* |
X244550Y221091* |
X244800Y221455* |
Y222000* |
X244550Y222364* |
X244050Y222727* |
X241300Y225273D02* |
X241550Y224909D01* |
X242050Y224545* |
X242800Y224364* |
X243300* |
X244050Y224545* |
X244550Y224909* |
X244800Y225273* |
Y225818* |
X244550Y226182* |
X244050Y226545* |
X243300Y226727* |
X242800* |
X242050Y226545* |
X241550Y226182* |
X241300Y225818* |
Y225273* |
Y228364D02* |
X244800D01* |
X242800D02* |
X242050Y228545D01* |
X241550Y228909* |
X241300Y229273* |
Y229818* |
X242800Y231455D02* |
Y233636D01* |
X242300* |
X241800Y233455* |
X241550Y233273* |
X241300Y232909* |
Y232364* |
X241550Y232000* |
X242050Y231636* |
X242800Y231455* |
X243300* |
X244050Y231636* |
X244550Y232000* |
X244800Y232364* |
Y232909* |
X244550Y233273* |
X244050Y233636* |
X239550Y235455D02* |
X243050D01* |
X244300D02* |
X244550Y235273D01* |
X244800Y235455* |
X244550Y235636* |
X244300Y235455* |
X239550Y237455D02* |
X243050D01* |
X244300D02* |
X244550Y237273D01* |
X244800Y237455* |
X244550Y237636* |
X244300Y237455* |
X245550Y193564D02* |
Y195564D01* |
X247550Y194473* |
Y195018* |
X247800Y195382* |
X248050Y195564* |
X248800Y195745* |
X249300* |
X250050Y195564* |
X250550Y195200* |
X250800Y194655* |
Y194109* |
X250550Y193564* |
X250300Y193382* |
X249800Y193200* |
X250300Y197564D02* |
X250550Y197382D01* |
X250800Y197564* |
X250550Y197745* |
X250300Y197564* |
X245550Y199745D02* |
Y201745D01* |
X247550Y200655* |
Y201200* |
X247800Y201564* |
X248050Y201745* |
X248800Y201927* |
X249300* |
X250050Y201745* |
X250550Y201382* |
X250800Y200836* |
Y200291* |
X250550Y199745* |
X250300Y199564* |
X249800Y199382* |
X245550Y203564D02* |
X250800Y205018D01* |
X245550Y206473D02* |
X250800Y205018D01* |
X257200Y192982D02* |
X256950D01* |
X256450Y193164* |
X256200Y193345* |
X255950Y193709* |
Y194436* |
X256200Y194800* |
X256450Y194982* |
X256950Y195164* |
X257450* |
X257950Y194982* |
X258700Y194618* |
X261200Y192800* |
Y195345* |
X260700Y197164D02* |
X260950Y196982D01* |
X261200Y197164* |
X260950Y197345* |
X260700Y197164* |
X255950Y201345D02* |
Y199527D01* |
X258200Y199345* |
X257950Y199527* |
X257700Y200073* |
Y200618* |
X257950Y201164* |
X258450Y201527* |
X259200Y201709* |
X259700Y201527* |
X260450Y201345* |
X260950Y200982* |
X261200Y200436* |
Y199891* |
X260950Y199345* |
X260700Y199164* |
X260200Y198982* |
X255950Y203345D02* |
X261200Y204800D01* |
X255950Y206255D02* |
X261200Y204800D01* |
X267350Y194400D02* |
X267100Y194764D01* |
X266350Y195309* |
X271600* |
X271100Y197127D02* |
X271350Y196945D01* |
X271600Y197127* |
X271350Y197309* |
X271100Y197127* |
X266350Y199855D02* |
X266600Y199309D01* |
X267100Y199127* |
X267600* |
X268100Y199309* |
X268350Y199673* |
X268600Y200400* |
X268850Y200945* |
X269350Y201309* |
X269850Y201491* |
X270600* |
X271100Y201309* |
X271350Y201127* |
X271600Y200582* |
Y199855* |
X271350Y199309* |
X271100Y199127* |
X270600Y198945* |
X269850* |
X269350Y199127* |
X268850Y199491* |
X268600Y200036* |
X268350Y200764* |
X268100Y201127* |
X267600Y201309* |
X267100* |
X266600Y201127* |
X266350Y200582* |
Y199855* |
Y203127D02* |
X271600Y204582D01* |
X266350Y206036D02* |
X271600Y204582D01* |
X163900Y135345D02* |
X163400Y134982D01* |
X163150Y134436* |
Y133709* |
X163400Y133164* |
X163900Y132800* |
X164400* |
X164900Y132982* |
X165150Y133164* |
X165400Y133527* |
X165900Y134618* |
X166150Y134982* |
X166400Y135164* |
X166900Y135345* |
X167650* |
X168150Y134982* |
X168400Y134436* |
Y133709* |
X168150Y133164* |
X167650Y132800* |
X164400Y139709D02* |
X163900Y139527D01* |
X163400Y139164* |
X163150Y138800* |
Y138073* |
X163400Y137709* |
X163900Y137345* |
X164400Y137164* |
X165150Y136982* |
X166400* |
X167150Y137164* |
X167650Y137345* |
X168150Y137709* |
X168400Y138073* |
Y138800* |
X168150Y139164* |
X167650Y139527* |
X167150Y139709* |
X163150Y141345D02* |
X168400D01* |
Y143527* |
X174300Y134545D02* |
X173800Y134182D01* |
X173550Y133636* |
Y132909* |
X173800Y132364* |
X174300Y132000* |
X174800* |
X175300Y132182* |
X175550Y132364* |
X175800Y132727* |
X176300Y133818* |
X176550Y134182* |
X176800Y134364* |
X177300Y134545* |
X178050* |
X178550Y134182* |
X178800Y133636* |
Y132909* |
X178550Y132364* |
X178050Y132000* |
X173550Y136182D02* |
X178800D01* |
X173550D02* |
Y137455D01* |
X173800Y138000* |
X174300Y138364* |
X174800Y138545* |
X175550Y138727* |
X176800* |
X177550Y138545* |
X178050Y138364* |
X178550Y138000* |
X178800Y137455* |
Y136182* |
X173550Y141818D02* |
X178800Y140364D01* |
X173550Y141818D02* |
X178800Y143273D01* |
X177050Y140909D02* |
Y142727D01* |
X195950Y181491D02* |
X196200Y181127D01* |
X196700Y180764* |
X197200Y180582* |
X197950Y180400* |
X199200* |
X199950Y180582* |
X200450Y180764* |
X200950Y181127* |
X201200Y181491* |
Y182218* |
X200950Y182582* |
X200450Y182945* |
X199950Y183127* |
X199200Y183309* |
X197950* |
X197200Y183127* |
X196700Y182945* |
X196200Y182582* |
X195950Y182218* |
Y181491* |
Y184945D02* |
X201200D01* |
X195950D02* |
Y187309D01* |
X198450Y184945D02* |
Y186400D01* |
X201200Y184945D02* |
Y187309D01* |
X205150Y180000D02* |
X210400Y181455D01* |
X205150Y182909D02* |
X210400Y181455D01* |
X207650Y186727D02* |
X207150Y186364D01* |
X206900Y186000* |
Y185455* |
X207150Y185091* |
X207650Y184727* |
X208400Y184545* |
X208900* |
X209650Y184727* |
X210150Y185091* |
X210400Y185455* |
Y186000* |
X210150Y186364* |
X209650Y186727* |
X159550Y187600D02* |
X164800D01* |
X161300Y189418D02* |
X163800Y187600D01* |
X162800Y188327D02* |
X164800Y189600D01* |
X161300Y193418D02* |
X164800D01* |
X162050D02* |
X161550Y193055D01* |
X161300Y192691* |
Y192145* |
X161550Y191782* |
X162050Y191418* |
X162800Y191236* |
X163300* |
X164050Y191418* |
X164550Y191782* |
X164800Y192145* |
Y192691* |
X164550Y193055* |
X164050Y193418* |
X159550Y195055D02* |
X164800D01* |
X161300Y196873D02* |
X163800Y195055D01* |
X162800Y195782D02* |
X164800Y197055D01* |
X159550Y198691D02* |
X164800D01* |
X159550Y200327D02* |
X159800Y200509D01* |
X159550Y200691* |
X159300Y200509* |
X159550Y200327* |
X161300Y200509D02* |
X164800D01* |
X159550Y202327D02* |
X164800D01* |
X161300Y204145D02* |
X163800Y202327D01* |
X162800Y203055D02* |
X164800Y204327D01* |
X160800Y210327D02* |
X160550D01* |
X160050Y210509* |
X159800Y210691* |
X159550Y211055* |
Y211782* |
X159800Y212145* |
X160050Y212327* |
X160550Y212509* |
X161050* |
X161550Y212327* |
X162300Y211964* |
X164800Y210145* |
Y212691* |
X159550Y215418D02* |
X159800Y214873D01* |
X160550Y214509* |
X161800Y214327* |
X162550* |
X163800Y214509* |
X164550Y214873* |
X164800Y215418* |
Y215782* |
X164550Y216327* |
X163800Y216691* |
X162550Y216873* |
X161800* |
X160550Y216691* |
X159800Y216327* |
X159550Y215782* |
Y215418* |
X160550Y218509D02* |
X160300Y218873D01* |
X159550Y219418* |
X164800* |
X160550Y221055D02* |
X160300Y221418D01* |
X159550Y221964* |
X164800* |
X159600Y250727D02* |
X159100Y250545D01* |
X158600Y250182* |
X158350Y249818* |
Y249091* |
X158600Y248727* |
X159100Y248364* |
X159600Y248182* |
X160350Y248000* |
X161600* |
X162350Y248182* |
X162850Y248364* |
X163350Y248727* |
X163600Y249091* |
Y249818* |
X163350Y250182* |
X162850Y250545* |
X162350Y250727* |
X158350Y252364D02* |
X163600D01* |
Y254545* |
X158350Y256182D02* |
X163600D01* |
X158350Y258727D02* |
X161850Y256182D01* |
X160600Y257091D02* |
X163600Y258727D01* |
X158350Y261455D02* |
X158600Y261091D01* |
X159100Y260727* |
X159600Y260545* |
X160350Y260364* |
X161600* |
X162350Y260545* |
X162850Y260727* |
X163350Y261091* |
X163600Y261455* |
Y262182* |
X163350Y262545* |
X162850Y262909* |
X162350Y263091* |
X161600Y263273* |
X160350* |
X159600Y263091* |
X159100Y262909* |
X158600Y262545* |
X158350Y262182* |
Y261455* |
Y264909D02* |
X162100D01* |
X162850Y265091* |
X163350Y265455* |
X163600Y266000* |
Y266364* |
X163350Y266909* |
X162850Y267273* |
X162100Y267455* |
X158350* |
Y270364D02* |
X163600D01* |
X158350Y269091D02* |
Y271636D01* |
X198900Y126800D02* |
X202400D01* |
X199900D02* |
X199150Y127345D01* |
X198900Y127709* |
Y128255* |
X199150Y128618* |
X199900Y128800* |
X202400* |
X199900D02* |
X199150Y129345D01* |
X198900Y129709* |
Y130255* |
X199150Y130618* |
X199900Y130800* |
X202400* |
X198900Y134618D02* |
X202400D01* |
X199650D02* |
X199150Y134255D01* |
X198900Y133891* |
Y133345* |
X199150Y132982* |
X199650Y132618* |
X200400Y132436* |
X200900* |
X201650Y132618* |
X202150Y132982* |
X202400Y133345* |
Y133891* |
X202150Y134255* |
X201650Y134618* |
X198900Y136255D02* |
X202400Y138255D01* |
X198900D02* |
X202400Y136255D01* |
X197150Y146436D02* |
Y144618D01* |
X199400Y144436* |
X199150Y144618* |
X198900Y145164* |
Y145709* |
X199150Y146255* |
X199650Y146618* |
X200400Y146800* |
X200900Y146618* |
X201650Y146436* |
X202150Y146073* |
X202400Y145527* |
Y144982* |
X202150Y144436* |
X201900Y144255* |
X201400Y144073* |
X197150Y148436D02* |
X202400Y149891D01* |
X197150Y151345D02* |
X202400Y149891D01* |
X197150Y153164D02* |
X200650D01* |
X201900D02* |
X202150Y152982D01* |
X202400Y153164* |
X202150Y153345* |
X201900Y153164* |
X0Y0D02* |
M02* |
/Modules/Clock/CLKGEN01B/CAM_PROFI/V2.PHO |
---|
0,0 → 1,2598 |
* |
* |
G04 PADS 9.2 Build Number: 414666 generated Gerber (RS-274-X) file* |
G04 PC Version=2.1* |
* |
%IN "CLKGEN.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* |
* |
%ADD013C,0.23622*% |
%ADD014C,0.05*% |
%ADD017C,0.02*% |
%ADD020C,0.012*% |
%ADD022C,0.055*% |
%ADD024C,0.001*% |
%ADD025C,0.01*% |
%ADD040R,0.06X0.06*% |
%ADD045R,0.065X0.065*% |
%ADD055O,0.04331X0.05118*% |
%ADD056C,0.09843*% |
%ADD057R,0.1X0.055*% |
%ADD058R,0.055X0.1*% |
%ADD059R,0.056X0.039*% |
%ADD060R,0.051X0.039*% |
%ADD061R,0.039X0.051*% |
%ADD062R,0.072X0.06*% |
%ADD063R,0.07X0.147*% |
%ADD064R,0.06693X0.08465*% |
%ADD065R,0.08051X0.05118*% |
%ADD066O,0.025X0.07*% |
%ADD067R,0.07874X0.08268*% |
%ADD068R,0.08268X0.07874*% |
* |
* |
* |
* |
G04 PC Circuitry* |
G04 Layer Name CLKGEN.pcb - circuitry* |
%LPD*% |
* |
* |
G04 PC Custom Flashes* |
G04 Layer Name CLKGEN.pcb - flashes* |
%LPD*% |
* |
* |
G04 PC Circuitry* |
G04 Layer Name CLKGEN.pcb - circuitry* |
%LPD*% |
* |
G54D13* |
G01X140000Y260000D03* |
Y140000D03* |
X260000D03* |
Y260000D03* |
G54D14* |
X136000Y217200D03* |
G54D17* |
X186000Y127200D02* |
X193425Y132692D01* |
Y133653* |
X176643Y133830D02* |
X166093D01* |
X165493* |
X157200Y142123* |
Y158039* |
X146056Y169182* |
X145456* |
X176643Y133830D02* |
X177243D01* |
X184875Y141462* |
Y144985* |
X193425Y153535* |
Y153732* |
X221638Y136062D02* |
Y146062D01* |
X166093Y141430D02* |
Y150955D01* |
X165813* |
X176643Y141430D02* |
Y150955D01* |
X221638Y146062D02* |
X215301Y152400D01* |
X200847* |
X199515Y153732* |
X193425* |
X221638Y146062D02* |
X226800Y151224D01* |
Y157422* |
X231633Y162255* |
X232233* |
X165813Y150955D02* |
Y160955D01* |
X176643Y150955D02* |
Y153063D01* |
X176643D02* |
X175813Y153893D01* |
Y160955* |
Y150955D02* |
X176643D01* |
X202400Y158400D02* |
X212800D01* |
X216800* |
X220000Y161600* |
Y155600* |
X165813Y160955D02* |
Y168324D01* |
X164909Y169228* |
Y176847* |
X175813Y160955D02* |
Y168693D01* |
X169909Y174597* |
Y176847* |
X212800Y160000D02* |
X216000Y163200D01* |
Y164800* |
X212800Y161600* |
X203627* |
X201200Y164027* |
Y166000* |
X196800Y170400* |
X212400Y159600D02* |
X212800Y160000D01* |
X220000Y161600D02* |
X223600Y165200D01* |
X216000Y164800* |
X232233Y162255D02* |
X237855D01* |
X237900Y162300* |
X244800* |
X154909Y176847D02* |
X145456D01* |
Y184747* |
X145409* |
X154909Y176847D02* |
X159909D01* |
X145456Y176782D02* |
Y176847D01* |
X164909D02* |
Y183747D01* |
X164409* |
X169909Y176847D02* |
Y179097D01* |
X170822Y183757* |
X172186* |
X196800Y170400D02* |
X189200Y172400D01* |
X207833Y175205D02* |
X216400Y183772D01* |
Y188859* |
X225270Y197729* |
X225467* |
X207833Y175205D02* |
X199838Y183200D01* |
X190800* |
X187294Y186706* |
X181032* |
X232233Y171355D02* |
X207833D01* |
Y175205* |
X224800Y177200D02* |
X217600Y176800D01* |
X222000Y184800* |
X224800Y177200D02* |
Y181550D01* |
X231425Y188175* |
X244800Y175300D02* |
X246187D01* |
X254400Y180800* |
X262000Y170400D02* |
X262700Y171100D01* |
X253700Y180100* |
X254400Y180800* |
X160335Y187284D02* |
X159524Y188095D01* |
Y192807* |
X159909Y196793* |
Y198247* |
X181032Y186706D02* |
Y187507D01* |
X176307* |
X232000Y187600D02* |
X231425Y188175D01* |
X232233Y180455D02* |
X232000D01* |
Y187600* |
X254400Y180800D02* |
X265200Y191600D01* |
X274000* |
X246400Y188800D02* |
Y197729D01* |
X245545* |
X145409Y192347D02* |
Y199161D01* |
X153048Y206800* |
X160000* |
X145409Y192347D02* |
X144578D01* |
X138000Y198800* |
X164909Y198247D02* |
Y200497D01* |
X169849Y205437* |
X164409Y191347D02* |
X164909D01* |
Y198247* |
X172186Y191357D02* |
X170823D01* |
X169909Y195997* |
Y198247* |
X176887Y190807D02* |
X176336Y191357D01* |
X172186* |
X181032Y194306D02* |
X180432D01* |
X175355Y199383* |
Y199931* |
X169849Y205437* |
X197740Y195334D02* |
Y205334D01* |
X212000Y189600D02* |
X215600Y193200D01* |
Y217609* |
X212000Y189600D02* |
X191600D01* |
X190800Y190400* |
X186400* |
X207735Y195334D02* |
Y205334D01* |
X225467Y197729D02* |
Y203820D01* |
X227800Y206153* |
Y213307* |
X169849Y205437D02* |
Y213567D01* |
X175816Y219534* |
Y220593* |
X184058Y228836* |
X185525* |
X184000Y202000D02* |
X182000Y208000D01* |
X175600* |
X180800Y215600* |
X197740Y205334D02* |
Y220568D01* |
X207735Y205334D02* |
Y212458D01* |
X207740Y212462* |
Y220568* |
X180800Y215600D02* |
X187740Y218223D01* |
Y220568* |
X215600Y217609D02* |
Y219700D01* |
X227800Y213307D02* |
Y222179D01* |
X227590Y222389* |
Y228811* |
X240800Y213307D02* |
Y216143D01* |
X234400Y220400* |
X185572Y229290D02* |
X186509D01* |
X185525Y228836* |
X187740Y220568D02* |
X192000Y224829D01* |
Y227600* |
X193200Y228800* |
X193600* |
X201200D02* |
X193600D01* |
X209907Y229290D02* |
X208970D01* |
X209907Y228858* |
X209954Y229243D02* |
X209907Y229290D01* |
X210797Y228400D02* |
X211208Y228811D01* |
X215600* |
X210797Y228400D02* |
X209954Y229243D01* |
X211600Y227600D02* |
X210206D01* |
X209907Y227899* |
X209954Y228836* |
X209907Y228858* |
X215600Y219700D02* |
Y228811D01* |
X219990* |
X228045D02* |
Y229866D01* |
X221083Y236828* |
X220688* |
Y237283* |
X227590Y228811D02* |
X228045D01* |
X253085Y224708D02* |
X241739D01* |
X237636Y228811* |
X228045* |
X253085Y224708D02* |
X263085D01* |
X176000Y236000D02* |
X168550Y234138D01* |
X168550D02* |
Y238350D01* |
X169450Y239250* |
Y243600* |
X170000* |
X168550Y234138D02* |
X168000Y234000D01* |
X168550* |
Y234138* |
X168000Y234000D02* |
X163200Y238800D01* |
X156000* |
X207740Y237103D02* |
X214397D01* |
X214577Y237283* |
X220688* |
X170000Y243600D02* |
Y254685D01* |
X175315Y260000* |
X210400Y247600D02* |
X204173Y248215D01* |
Y249672* |
X230000Y243600D02* |
Y244400D01* |
X240400* |
Y245200* |
X230000Y243600D02* |
X222488Y243933D01* |
X220688* |
Y244883* |
X180573Y249672D02* |
Y250000D01* |
X174400* |
X204173Y249672D02* |
Y250272D01* |
X207255Y253353* |
X214800* |
Y252400* |
X225827Y256063D02* |
Y256431D01* |
X226713* |
X226086Y255804* |
X225827Y256063* |
X226713Y256431D02* |
X238000D01* |
Y256800* |
X226713Y256431D02* |
X238941Y268659D01* |
X185000Y265906D02* |
Y266299D01* |
X177299Y274000* |
X168400* |
X200000Y265906D02* |
Y266299D01* |
X199200Y273600* |
X215000Y265906D02* |
Y266299D01* |
X219600Y274000* |
X239200Y268400D02* |
X238941Y268659D01* |
G54D20* |
X160335Y187284D02* |
X160618D01* |
X160841Y187507* |
X176307* |
X181032Y190506D02* |
X177188D01* |
X176887Y190807* |
X186400Y190400D02* |
X184592D01* |
X184486Y190506* |
X181032* |
X187740Y237103D02* |
Y244012D01* |
X188173Y244445* |
Y249672* |
X197740Y237103D02* |
Y243645D01* |
X196573Y244812* |
Y249672* |
X188173D02* |
Y253773D01* |
X190000Y255600* |
Y260000* |
X196573Y249672D02* |
Y254045D01* |
X195000Y255618* |
Y260000* |
G54D22* |
X186000Y127200D03* |
X202400Y158400D03* |
X220000Y155600D03* |
X212400Y159600D03* |
X223600Y165200D03* |
X216000Y164800D03* |
X189200Y172400D03* |
X196800Y170400D03* |
X217600Y176800D03* |
X224800Y177200D03* |
X262000Y170400D03* |
X222000Y184800D03* |
X232000Y187600D03* |
X254400Y180800D03* |
X246400Y188800D03* |
X138000Y198800D03* |
X188800Y196400D03* |
X274000Y191600D03* |
X160000Y206800D03* |
X184000Y202000D03* |
X182000Y208000D03* |
X175600D03* |
X188400Y208800D03* |
X180800Y215600D03* |
X193600Y228800D03* |
X201200D03* |
X234400Y220400D03* |
X156000Y238800D03* |
X168000Y234000D03* |
X176000Y236000D03* |
X170000Y243600D03* |
X210400Y247600D03* |
X230000Y243600D03* |
X240400Y245200D03* |
X174400Y250000D03* |
X214800Y252400D03* |
X238000Y256800D03* |
X239200Y268400D03* |
X168400Y274000D03* |
X199200Y273600D03* |
X219600Y274000D03* |
G54D24* |
G54D25* |
X127600Y159527D02* |
X128100Y159345D01* |
X128600Y158982* |
X128850Y158618* |
Y157891* |
X128600Y157527* |
X128100Y157164* |
X127600Y156982* |
X126850Y156800* |
X125600* |
X124850Y156982* |
X124350Y157164* |
X123850Y157527* |
X123600Y157891* |
Y158618* |
X123850Y158982* |
X124350Y159345* |
X124850Y159527* |
X128850Y161164D02* |
X123600D01* |
Y163345* |
X128850Y164982D02* |
X123600D01* |
X128850Y167527D02* |
X125350Y164982D01* |
X126600Y165891D02* |
X123600Y167527D01* |
X127600Y171891D02* |
X128100Y171709D01* |
X128600Y171345* |
X128850Y170982* |
Y170255* |
X128600Y169891* |
X128100Y169527* |
X127600Y169345* |
X126850Y169164* |
X125600* |
X124850Y169345* |
X124350Y169527* |
X123850Y169891* |
X123600Y170255* |
Y170982* |
X123850Y171345* |
X124350Y171709* |
X124850Y171891* |
X125600* |
Y170982D02* |
Y171891D01* |
X128850Y173527D02* |
X123600D01* |
X128850D02* |
Y175891D01* |
X126350Y173527D02* |
Y174982D01* |
X123600Y173527D02* |
Y175891D01* |
X128850Y177527D02* |
X123600D01* |
X128850D02* |
X123600Y180073D01* |
X128850D02* |
X123600D01* |
X128850Y182800D02* |
X128600Y182255D01* |
X127850Y181891* |
X126600Y181709* |
X125850* |
X124600Y181891* |
X123850Y182255* |
X123600Y182800* |
Y183164* |
X123850Y183709* |
X124600Y184073* |
X125850Y184255* |
X126600* |
X127850Y184073* |
X128600Y183709* |
X128850Y183164* |
Y182800* |
X127850Y185891D02* |
X128100Y186255D01* |
X128850Y186800* |
X123600* |
X128850Y188436D02* |
X123600D01* |
X128850D02* |
Y190073D01* |
X128600Y190618* |
X128350Y190800* |
X127850Y190982* |
X127350* |
X126850Y190800* |
X126600Y190618* |
X126350Y190073* |
Y188436D02* |
Y190073D01* |
X126100Y190618* |
X125850Y190800* |
X125350Y190982* |
X124600* |
X124100Y190800* |
X123850Y190618* |
X123600Y190073* |
Y188436* |
X270350Y185600D02* |
X275600D01* |
X272100Y183782D02* |
X274600Y185600D01* |
X273600Y184873D02* |
X275600Y183600D01* |
X272100Y179782D02* |
X275600D01* |
X272850D02* |
X272350Y180145D01* |
X272100Y180509* |
Y181055* |
X272350Y181418* |
X272850Y181782* |
X273600Y181964* |
X274100* |
X274850Y181782* |
X275350Y181418* |
X275600Y181055* |
Y180509* |
X275350Y180145* |
X274850Y179782* |
X270350Y178145D02* |
X275600D01* |
X272100Y176327D02* |
X274600Y178145D01* |
X273600Y177418D02* |
X275600Y176145D01* |
X270350Y174509D02* |
X275600D01* |
X270350Y172873D02* |
X270600Y172691D01* |
X270350Y172509* |
X270100Y172691* |
X270350Y172873* |
X272100Y172691D02* |
X275600D01* |
X270350Y170873D02* |
X275600D01* |
X272100Y169055D02* |
X274600Y170873D01* |
X273600Y170145D02* |
X275600Y168873D01* |
X271600Y162873D02* |
X271350D01* |
X270850Y162691* |
X270600Y162509* |
X270350Y162145* |
Y161418* |
X270600Y161055* |
X270850Y160873* |
X271350Y160691* |
X271850* |
X272350Y160873* |
X273100Y161236* |
X275600Y163055* |
Y160509* |
X270350Y157782D02* |
X270600Y158327D01* |
X271350Y158691* |
X272600Y158873* |
X273350* |
X274600Y158691* |
X275350Y158327* |
X275600Y157782* |
Y157418* |
X275350Y156873* |
X274600Y156509* |
X273350Y156327* |
X272600* |
X271350Y156509* |
X270600Y156873* |
X270350Y157418* |
Y157782* |
X271350Y154691D02* |
X271100Y154327D01* |
X270350Y153782* |
X275600* |
X271350Y152145D02* |
X271100Y151782D01* |
X270350Y151236* |
X275600* |
X196450Y160800D02* |
X191200D01* |
X196450Y163345D02* |
X192950Y160800D01* |
X194200Y161709D02* |
X191200Y163345D01* |
X220836Y210700D02* |
Y215200D01* |
X219200Y212950D02* |
X222473D01* |
X246900Y155236D02* |
X242400D01* |
X244650Y153600D02* |
Y156873D01* |
X151300Y197782D02* |
X151050Y197600D01* |
X150800Y197782* |
X151050Y197964* |
X151300Y197782* |
X218700Y219018D02* |
X218950Y219200D01* |
X219200Y219018* |
X218950Y218836* |
X218700Y219018* |
X277300Y188300D02* |
Y276800D01* |
G75* |
G03X276800Y277300I-500J-0D01* |
G01X123200* |
G03X122700Y276800I0J-500* |
G01Y194409* |
G03X123200Y193909I500J0* |
G01X130350* |
X132050Y192209D02* |
G03X130350Y193909I-1700J0D01* |
G01X132050Y192209D02* |
Y156300D01* |
X130350Y154600D02* |
G03X132050Y156300I0J1700D01* |
G01X130350Y154600D02* |
X123200D01* |
G03X122700Y154100I0J-500* |
G01Y123200* |
G03X123200Y122700I500J0* |
G01X276800* |
G03X277300Y123200I-0J500* |
G01Y147809* |
G03X276800Y148309I-500J0* |
G01X268850* |
X267150Y150009D02* |
G03X268850Y148309I1700J0D01* |
G01X267150Y150009D02* |
Y186100D01* |
X268850Y187800D02* |
G03X267150Y186100I0J-1700D01* |
G01X268850Y187800D02* |
X276800D01* |
G03X277300Y188300I-0J500* |
G01X204228Y226898D02* |
Y230774D01* |
G03X203880Y231251I-500J-0* |
G01X203115Y231750D02* |
G03X203880Y231251I1278J1121D01* |
G01X203115Y231750D02* |
G03X202364I-375J-330D01* |
G01X201086Y231171D02* |
G03X202364Y231750I-0J1700D01* |
G01X201086Y231171D02* |
X194393D01* |
X193115Y231750D02* |
G03X194393Y231171I1278J1121D01* |
G01X193115Y231750D02* |
G03X192364I-375J-330D01* |
G01X191600Y231251D02* |
G03X192364Y231750I-514J1620D01* |
G01X191600Y231251D02* |
G03X191251Y230774I151J-477D01* |
G01Y226277* |
X189551Y224577D02* |
G03X191251Y226277I-0J1700D01* |
G01X189551Y224577D02* |
X183825D01* |
G03X183471Y224430I-0J-500* |
G01X178650Y219609* |
G03X178505Y219299I353J-354* |
G01X177725Y217624D02* |
G03X178505Y219299I-1909J1910D01* |
G01X177725Y217624D02* |
X172695Y212595D01* |
G03X172549Y212241I354J-354* |
G01Y206762* |
G03X172695Y206409I500J0* |
G01X177264Y201840* |
X177944Y200698D02* |
G03X177264Y201840I-2589J-767D01* |
G01X177944Y200698D02* |
G03X178069Y200487I479J142D01* |
G01X180454Y198102* |
G03X180807Y197956I353J354* |
G01X183582* |
X185282Y196256D02* |
G03X183582Y197956I-1700J-0D01* |
G01X185282Y196256D02* |
Y193540D01* |
G03X185878Y193049I500J-0* |
G01X186400Y193100D02* |
G03X185878Y193049I0J-2700D01* |
G01X186400Y193100D02* |
X190800D01* |
X192057Y192790D02* |
G03X190800Y193100I-1257J-2390D01* |
G01X192057Y192790D02* |
G03X192789Y193232I232J442D01* |
G01X192789D02* |
Y198584D01* |
X193459Y199936D02* |
G03X192789Y198584I1031J-1352D01* |
G01X193459Y199936D02* |
G03Y200732I-303J398D01* |
G01X192789Y202084D02* |
G03X193459Y200732I1701J0D01* |
G01X192789Y202084D02* |
Y208584D01* |
X194490Y210284D02* |
G03X192789Y208584I-0J-1700D01* |
G01X194490Y210284D02* |
X194539D01* |
X194539D02* |
G03X195039Y210784I0J500D01* |
G01X195039D02* |
Y214136D01* |
X195039D02* |
G03X194539Y214636I-500J-0D01* |
G01X194539D02* |
X194393D01* |
X192693Y216336D02* |
G03X194393Y214636I1700J-0D01* |
G01X192693Y216336D02* |
Y224800D01* |
X194393Y226500D02* |
G03X192693Y224800I0J-1700D01* |
G01X194393Y226500D02* |
X201086D01* |
X202364Y225922D02* |
G03X201086Y226500I-1278J-1122D01* |
G01X202364Y225922D02* |
G03X203115I376J330D01* |
G01X203880Y226421D02* |
G03X203115Y225922I513J-1621D01* |
G01X203880Y226421D02* |
G03X204228Y226898I-152J477D01* |
G01X227427Y166453D02* |
G03Y167158I-355J352D01* |
G01X226940Y168201D02* |
G03X227427Y167158I1693J154D01* |
G01X226940Y168201D02* |
G03X226442Y168655I-498J-46D01* |
G01X213533* |
G03X213033Y168155I0J-500* |
G01Y164005* |
X211333Y162305D02* |
G03X213033Y164005I-0J1700D01* |
G01X211333Y162305D02* |
X204333D01* |
X202633Y164005D02* |
G03X204333Y162305I1700J0D01* |
G01X202633Y164005D02* |
Y176380D01* |
G03X202487Y176733I-500J-0* |
G01X198866Y180354* |
G03X198513Y180500I-353J-354* |
G01X190800* |
X188891Y181291D02* |
G03X190800Y180500I1909J1909D01* |
G01X188891Y181291D02* |
X186322Y183859D01* |
G03X185969Y184006I-353J-353* |
G01X185392* |
G03X184981Y183790I0J-500* |
G01X183582Y183056D02* |
G03X184981Y183790I-0J1700D01* |
G01X183582Y183056D02* |
X178482D01* |
X177287Y183546D02* |
G03X178482Y183056I1195J1210D01* |
G01X177287Y183546D02* |
G03X176436Y183190I-351J-356D01* |
G01Y181807* |
X174736Y180107D02* |
G03X176436Y181807I0J1700D01* |
G01X174736Y180107D02* |
X173321D01* |
G03X172827Y179533I0J-500* |
G01X172859Y179097D02* |
G03X172827Y179533I-2950J0D01* |
G01X172859Y179097D02* |
Y175673D01* |
G03X173006Y175319I500J-0* |
G01X177722Y170603* |
X178513Y168693D02* |
G03X177722Y170603I-2700J0D01* |
G01X178513Y168693D02* |
Y166405D01* |
G03X179013Y165905I500J0* |
G01X179063* |
X180763Y164205D02* |
G03X179063Y165905I-1700J0D01* |
G01X180763Y164205D02* |
Y157705D01* |
X180093Y156353D02* |
G03X180763Y157705I-1030J1352D01* |
G01X180093Y156353D02* |
G03Y155558I303J-398D01* |
G01X180763Y154205D02* |
G03X180093Y155558I-1700J0D01* |
G01X180763Y154205D02* |
Y147705D01* |
X179666Y146116D02* |
G03X180763Y147705I-603J1589D01* |
G01X179666Y146116D02* |
G03X179343Y145648I177J-468D01* |
G01Y145482* |
G03X179696Y145004I500J0* |
G01X180893Y143380D02* |
G03X179696Y145004I-1700J0D01* |
G01X180893Y143380D02* |
Y142506D01* |
G03X181747Y142152I500J-0* |
G01X182028Y142434* |
G03X182175Y142787I-353J353* |
G01Y144985* |
X182966Y146894D02* |
G03X182175Y144985I1909J-1909D01* |
G01X182966Y146894D02* |
X187641Y151570D01* |
G03X187788Y151923I-353J353* |
G01Y157866* |
X187912Y158504D02* |
G03X187788Y157866I1576J-638D01* |
G01X187912Y158504D02* |
G03X187790Y159057I-463J188D01* |
G01X187250Y160300D02* |
G03X187790Y159057I1700J0D01* |
G01X187250Y160300D02* |
Y164573D01* |
X188950Y166273D02* |
G03X187250Y164573I0J-1700D01* |
G01X188950Y166273D02* |
X197950D01* |
X199650Y164573D02* |
G03X197950Y166273I-1700J-0D01* |
G01X199650Y164573D02* |
Y160300D01* |
X199081Y159031D02* |
G03X199650Y160300I-1131J1269D01* |
G01X199081Y159031D02* |
G03X198948Y158478I333J-373D01* |
G01X199062Y157866D02* |
G03X198948Y158478I-1700J-0D01* |
G01X199062Y157866D02* |
Y156932D01* |
G03X199554Y156432I500J-0* |
G01X201424Y155641D02* |
G03X199554Y156432I-1909J-1909D01* |
G01X201424Y155641D02* |
X201819Y155246D01* |
G03X202172Y155100I353J354* |
G01X215301* |
X217210Y154309D02* |
G03X215301Y155100I-1909J-1909D01* |
G01X217210Y154309D02* |
X220360Y151159D01* |
G03X220714Y151012I354J353* |
G01X222563* |
G03X222916Y151159I-0J500* |
G01X223954Y152196* |
G03X224100Y152550I-354J354* |
G01Y157422* |
X224891Y159332D02* |
G03X224100Y157422I1909J-1910D01* |
G01X224891Y159332D02* |
X226787Y161227D01* |
G03X226933Y161581I-354J354* |
G01Y165255* |
X227427Y166453D02* |
G03X226933Y165255I1206J-1198D01* |
G01X268035Y227958D02* |
Y221458D01* |
X266335Y219758D02* |
G03X268035Y221458I-0J1700D01* |
G01X266335Y219758D02* |
X259835D01* |
X258482Y220428D02* |
G03X259835Y219758I1353J1030D01* |
G01X258482Y220428D02* |
G03X257687I-397J-303D01* |
G01X256335Y219758D02* |
G03X257687Y220428I-0J1700D01* |
G01X256335Y219758D02* |
X249835D01* |
X248135Y221458D02* |
G03X249835Y219758I1700J-0D01* |
G01X248135Y221458D02* |
Y221508D01* |
G03X247635Y222008I-500J-0* |
G01X241739* |
X239830Y222799D02* |
G03X241739Y222008I1909J1909D01* |
G01X239830Y222799D02* |
X236664Y225965D01* |
G03X236310Y226111I-354J-354* |
G01X231642* |
G03X231164Y225759I0J-500* |
G01X230506Y224862D02* |
G03X231164Y225759I-966J1399D01* |
G01X230506Y224862D02* |
G03X230290Y224451I284J-411D01* |
G01Y223320* |
G03X230323Y223141I500J-0* |
G01X230500Y222179D02* |
G03X230323Y223141I-2700J0D01* |
G01X230500Y222179D02* |
Y220461D01* |
G03X230898Y219971I500J-0* |
G01X232250Y218307D02* |
G03X230898Y219971I-1700J0D01* |
G01X232250Y218307D02* |
Y208307D01* |
X230898Y206643D02* |
G03X232250Y208307I-348J1664D01* |
G01X230898Y206643D02* |
G03X230500Y206154I102J-489D01* |
G01Y206153* |
X229710Y204244D02* |
G03X230500Y206153I-1910J1909D01* |
G01X229710Y204244D02* |
X229648Y204182D01* |
G03X229910Y203337I353J-353* |
G01X231301Y201666D02* |
G03X229910Y203337I-1700J-0D01* |
G01X231301Y201666D02* |
Y193792D01* |
X229601Y192092D02* |
G03X231301Y193792I-0J1700D01* |
G01X229601Y192092D02* |
X223658D01* |
G03X223305Y191945I0J-500* |
G01X219246Y187887* |
G03X219100Y187533I354J-354* |
G01Y183772* |
X218309Y181863D02* |
G03X219100Y183772I-1909J1909D01* |
G01X218309Y181863D02* |
X213179Y176733D01* |
G03X213033Y176380I354J-353* |
G01Y174555* |
G03X213533Y174055I500J0* |
G01X226442* |
G03X226940Y174510I0J500* |
G01X228633Y176055D02* |
G03X226940Y174510I-0J-1700D01* |
G01X228633Y176055D02* |
X235833D01* |
X237533Y174355D02* |
G03X235833Y176055I-1700J0D01* |
G01X237533Y174355D02* |
Y168355D01* |
X237039Y167158D02* |
G03X237533Y168355I-1206J1197D01* |
G01X237039Y167158D02* |
G03Y166453I355J-353D01* |
G01X237403Y165906D02* |
G03X237039Y166453I-1570J-651D01* |
G01X237403Y165906D02* |
G03X238305Y165859I462J192D01* |
G01X239800Y166750D02* |
G03X238305Y165859I0J-1700D01* |
G01X239800Y166750D02* |
X249800D01* |
X251500Y165050D02* |
G03X249800Y166750I-1700J0D01* |
G01X251500Y165050D02* |
Y159550D01* |
X250998Y158344D02* |
G03X251500Y159550I-1198J1206D01* |
G01X250998Y158344D02* |
G03X250850Y157989I352J-355D01* |
G01Y153100* |
X249150Y151400D02* |
G03X250850Y153100I0J1700D01* |
G01X249150Y151400D02* |
X240150D01* |
X238450Y153100D02* |
G03X240150Y151400I1700J0D01* |
G01X238450Y153100D02* |
Y158100D01* |
X238460Y158285D02* |
G03X238450Y158100I1690J-185D01* |
G01X238460Y158285D02* |
G03X238381Y158614I-497J54D01* |
G01X238321Y158712D02* |
G03X238381Y158615I1479J838D01* |
G01X238321Y158712D02* |
G03X237420Y158645I-435J-247D01* |
G01X235833Y157555D02* |
G03X237420Y158645I-0J1700D01* |
G01X235833Y157555D02* |
X230958D01* |
G03X230605Y157409I0J-500* |
G01X229646Y156450* |
G03X229500Y156097I354J-353* |
G01Y151224* |
X228709Y149315D02* |
G03X229500Y151224I-1909J1909D01* |
G01X228709Y149315D02* |
X226735Y147340D01* |
G03X226588Y146987I353J-353* |
G01Y142812* |
X225919Y141460D02* |
G03X226588Y142812I-1031J1352D01* |
G01X225919Y141460D02* |
G03Y140665I303J-398D01* |
G01X226588Y139312D02* |
G03X225919Y140665I-1700J0D01* |
G01X226588Y139312D02* |
Y132812D01* |
X224888Y131112D02* |
G03X226588Y132812I0J1700D01* |
G01X224888Y131112D02* |
X218388D01* |
X216688Y132812D02* |
G03X218388Y131112I1700J0D01* |
G01X216688Y132812D02* |
Y139312D01* |
X217358Y140665D02* |
G03X216688Y139312I1030J-1353D01* |
G01X217358Y140665D02* |
G03Y141460I-303J397D01* |
G01X216688Y142812D02* |
G03X217358Y141460I1700J0D01* |
G01X216688Y142812D02* |
Y146987D01* |
G03X216542Y147340I-500J-0* |
G01X214329Y149554* |
G03X213975Y149700I-354J-354* |
G01X200847* |
X199759Y149929D02* |
G03X200847Y149700I1088J2471D01* |
G01X199759Y149929D02* |
G03X199059Y149500I-201J-458D01* |
G01X197362Y147898D02* |
G03X199059Y149500I-0J1700D01* |
G01X197362Y147898D02* |
X191813D01* |
G03X191460Y147752I0J-500* |
G01X187721Y144013* |
G03X187575Y143660I354J-353* |
G01Y141462* |
X186784Y139553D02* |
G03X187575Y141462I-1909J1909D01* |
G01X186784Y139553D02* |
X181040Y133808D01* |
G03X180893Y133455I353J-353* |
G01Y131880* |
X179193Y130180D02* |
G03X180893Y131880I0J1700D01* |
G01X179193Y130180D02* |
X174093D01* |
X172694Y130914D02* |
G03X174093Y130180I1399J966D01* |
G01X172694Y130914D02* |
G03X172283Y131130I-411J-284D01* |
G01X170453* |
G03X170042Y130914I0J-500* |
G01X168643Y130180D02* |
G03X170042Y130914I-0J1700D01* |
G01X168643Y130180D02* |
X163543D01* |
X161843Y131880D02* |
G03X163543Y130180I1700J0D01* |
G01X161843Y131880D02* |
Y133455D01* |
G03X161696Y133808I-500J-0* |
G01X155291Y140214* |
X154500Y142123D02* |
G03X155291Y140214I2700J0D01* |
G01X154500Y142123D02* |
Y156713D01* |
G03X154354Y157067I-500J0* |
G01X146034Y165386* |
G03X145681Y165532I-353J-354* |
G01X142906* |
X141206Y167232D02* |
G03X142906Y165532I1700J0D01* |
G01X141206Y167232D02* |
Y171132D01* |
X141986Y172562D02* |
G03X141206Y171132I920J-1430D01* |
G01X141986Y172562D02* |
G03Y173403I-270J420D01* |
G01X141206Y174832D02* |
G03X141986Y173403I1700J0D01* |
G01X141206Y174832D02* |
Y178732D01* |
X142153Y180256D02* |
G03X141206Y178732I753J-1524D01* |
G01X142153Y180256D02* |
G03X142085Y181180I-222J448D01* |
G01X140909Y182797D02* |
G03X142085Y181180I1700J0D01* |
G01X140909Y182797D02* |
Y186697D01* |
X142609Y188397D02* |
G03X140909Y186697I0J-1700D01* |
G01X142609Y188397D02* |
X148209D01* |
X149909Y186697D02* |
G03X148209Y188397I-1700J0D01* |
G01X149909Y186697D02* |
Y182797D01* |
X148776Y181195D02* |
G03X149909Y182797I-567J1602D01* |
G01X148776Y181195D02* |
G03X148730Y180271I167J-472D01* |
G01X149369Y179748D02* |
G03X148730Y180271I-1363J-1016D01* |
G01X149369Y179748D02* |
G03X149770Y179547I401J299D01* |
G01X151593* |
G03X152073Y179910I-0J500* |
G01X157047Y181130D02* |
G03X152073Y179910I-2138J-2033D01* |
G01X157047Y181130D02* |
G03X157772I362J345D01* |
G01X159696Y182040D02* |
G03X157772Y181130I213J-2943D01* |
G01X159696Y182040D02* |
G03X160159Y182538I-37J498D01* |
G01Y184156* |
G03X159765Y184645I-500J-0* |
G01X158426Y185375D02* |
G03X159765Y184645I1909J1909D01* |
G01X158426Y185375D02* |
X157615Y186186D01* |
X156824Y188095D02* |
G03X157615Y186186I2700J0D01* |
G01X156824Y188095D02* |
Y192807D01* |
X156836Y193067D02* |
G03X156824Y192807I2688J-260D01* |
G01X156836Y193067D02* |
X157009Y194852D01* |
G03X156511Y195400I-498J48* |
G01X148550* |
X146850Y197100D02* |
G03X148550Y195400I1700J0D01* |
G01X146850Y197100D02* |
Y199191D01* |
X148550Y200891D02* |
G03X146850Y199191I0J-1700D01* |
G01X148550Y200891D02* |
X156577D01* |
G03X157060Y201261I0J500* |
G01X162047Y202530D02* |
G03X157060Y201261I-2138J-2033D01* |
G01X162047Y202530D02* |
G03X162772I362J345D01* |
G01X163754Y203212D02* |
G03X162772Y202530I1155J-2715D01* |
G01X163754Y203212D02* |
G03X163912Y203318I-196J460D01* |
G01X167002Y206409* |
G03X167149Y206762I-353J353* |
G01Y213567* |
X167940Y215476D02* |
G03X167149Y213567I1909J-1909D01* |
G01X167940Y215476D02* |
X172981Y220518D01* |
G03X173126Y220828I-353J353* |
G01X173906Y222502D02* |
G03X173126Y220828I1910J-1909D01* |
G01X173906Y222502D02* |
X179653Y228249D01* |
G03X179799Y228602I-354J353* |
G01Y231395* |
X181499Y233095D02* |
G03X179799Y231395I0J-1700D01* |
G01X181499Y233095D02* |
X182193D01* |
G03X182693Y233595I0J500* |
G01Y241336* |
X184393Y243036D02* |
G03X182693Y241336I0J-1700D01* |
G01X184393Y243036D02* |
X184939D01* |
X184939D02* |
G03X185439Y243536I0J500D01* |
G01X185439D02* |
Y244012D01* |
X185648Y244969D02* |
G03X185439Y244012I2092J-957D01* |
G01X185648Y244969D02* |
G03X185428Y245619I-454J208D01* |
G01X184523Y247122D02* |
G03X185428Y245619I1700J-0D01* |
G01X184523Y247122D02* |
Y252222D01* |
X185600Y253803D02* |
G03X184523Y252222I623J-1581D01* |
G01X185600Y253803D02* |
G03X185909Y254180I-183J466D01* |
G01X186547Y255400D02* |
G03X185909Y254180I1626J-1627D01* |
G01X186547Y255400D02* |
X187290Y256143D01* |
G03X187287Y256853I-353J353* |
G01X186135Y259606D02* |
G03X187287Y256853I3865J0D01* |
G01X186135Y259606D02* |
Y260394D01* |
X192214Y263562D02* |
G03X186135Y260394I-2214J-3168D01* |
G01X192214Y263562D02* |
G03X192786I286J410D01* |
G01X198865Y260394D02* |
G03X192786Y263562I-3865J-0D01* |
G01X198865Y260394D02* |
Y259606D01* |
X197721Y256860D02* |
G03X198865Y259606I-2721J2746D01* |
G01X197721Y256860D02* |
G03X197719Y256152I351J-355D01* |
G01X198200Y255671* |
X198867Y254217D02* |
G03X198200Y255671I-2294J-172D01* |
G01X198867Y254217D02* |
G03X199174Y253792I498J37D01* |
G01X200223Y252222D02* |
G03X199174Y253792I-1700J-0D01* |
G01X200223Y252222D02* |
Y247122D01* |
X199595Y245802D02* |
G03X200223Y247122I-1072J1320D01* |
G01X199595Y245802D02* |
G03X199523Y245098I315J-388D01* |
G01X200040Y243645D02* |
G03X199523Y245098I-2300J0D01* |
G01X200040Y243645D02* |
Y243536D01* |
G03X200540Y243036I500J-0* |
G01X201086* |
X202364Y242457D02* |
G03X201086Y243036I-1278J-1121D01* |
G01X202364Y242457D02* |
G03X203115I376J330D01* |
G01X204393Y243036D02* |
G03X203115Y242457I0J-1700D01* |
G01X204393Y243036D02* |
X211086D01* |
X212786Y241336D02* |
G03X211086Y243036I-1700J-0D01* |
G01X212786Y241336D02* |
Y240304D01* |
G03X213286Y239804I500J-0* |
G01X213519* |
G03X213684Y239832I0J500* |
G01X214577Y239983D02* |
G03X213684Y239832I-0J-2700D01* |
G01X214577Y239983D02* |
X216077D01* |
G03X216489Y240199I0J500* |
G01X217888Y240933D02* |
G03X216489Y240199I-0J-1700D01* |
G01X217888Y240933D02* |
X223488D01* |
X225188Y239233D02* |
G03X223488Y240933I-1700J0D01* |
G01X225188Y239233D02* |
Y236749D01* |
G03X225334Y236395I500J0* |
G01X228522Y233208* |
G03X228875Y233061I353J353* |
G01X229540* |
X231164Y231864D02* |
G03X229540Y233061I-1624J-503D01* |
G01X231164Y231864D02* |
G03X231642Y231511I478J147D01* |
G01X237636* |
X239545Y230720D02* |
G03X237636Y231511I-1909J-1909D01* |
G01X239545Y230720D02* |
X242711Y227554D01* |
G03X243065Y227408I354J354* |
G01X247635* |
G03X248135Y227908I-0J500* |
G01Y227958* |
X249835Y229658D02* |
G03X248135Y227958I-0J-1700D01* |
G01X249835Y229658D02* |
X256335D01* |
X257687Y228988D02* |
G03X256335Y229658I-1352J-1030D01* |
G01X257687Y228988D02* |
G03X258482I398J303D01* |
G01X259835Y229658D02* |
G03X258482Y228988I-0J-1700D01* |
G01X259835Y229658D02* |
X266335D01* |
X268035Y227958D02* |
G03X266335Y229658I-1700J-0D01* |
G01X213865Y260394D02* |
Y259606D01* |
X207786Y256438D02* |
G03X213865Y259606I2214J3168D01* |
G01X207786Y256438D02* |
G03X207214I-286J-410D01* |
G01X201135Y259606D02* |
G03X207214Y256438I3865J0D01* |
G01X201135Y259606D02* |
Y260394D01* |
X207214Y263562D02* |
G03X201135Y260394I-2214J-3168D01* |
G01X207214Y263562D02* |
G03X207786I286J410D01* |
G01X213865Y260394D02* |
G03X207786Y263562I-3865J-0D01* |
G01X128115Y225056D02* |
G03X143502Y225422I7885J-7856D01* |
G01X128115Y225056D02* |
G03X128098Y225778I-354J353D01* |
G01X143485Y226144D02* |
G03X128098Y225778I-7885J7856D01* |
G01X143485Y226144D02* |
G03X143502Y225422I354J-353D01* |
G01X213033Y166799D02* |
X227572D01* |
X213033Y167699D02* |
X227065D01* |
X213033Y165899D02* |
X227059D01* |
X213033Y164999D02* |
X226933D01* |
X213033Y164099D02* |
X226933D01* |
X212829Y163199D02* |
X226933D01* |
X199650Y162299D02* |
X226933D01* |
X199650Y161399D02* |
X226899D01* |
X213302Y168599D02* |
X226673D01* |
X199650Y160499D02* |
X226058D01* |
X199499Y159599D02* |
X225158D01* |
X198916Y158699D02* |
X224421D01* |
X199062Y157799D02* |
X224126D01* |
X199063Y156899D02* |
X224100D01* |
X200982Y155999D02* |
X224100D01* |
X215386Y155099D02* |
X224100D01* |
X217320Y154199D02* |
X224100D01* |
X218220Y153299D02* |
X224100D01* |
X219120Y152399D02* |
X224077D01* |
X220020Y151499D02* |
X223256D01* |
X199650Y163199D02* |
X202837D01* |
X172859Y175799D02* |
X202633D01* |
X173426Y174899D02* |
X202633D01* |
X174326Y173999D02* |
X202633D01* |
X175226Y173099D02* |
X202633D01* |
X176126Y172199D02* |
X202633D01* |
X177026Y171299D02* |
X202633D01* |
X177907Y170399D02* |
X202633D01* |
X178390Y169499D02* |
X202633D01* |
X178513Y168599D02* |
X202633D01* |
X178513Y167699D02* |
X202633D01* |
X178513Y166799D02* |
X202633D01* |
X199014Y165899D02* |
X202633D01* |
X199596Y164999D02* |
X202633D01* |
X199650Y164099D02* |
X202633D01* |
X172859Y176699D02* |
X202518D01* |
X172859Y177599D02* |
X201621D01* |
X172859Y178499D02* |
X200721D01* |
X172844Y179399D02* |
X199821D01* |
X175520Y180299D02* |
X198921D01* |
X176324Y181199D02* |
X188988D01* |
X176436Y182099D02* |
X188083D01* |
X180763Y158699D02* |
X187949D01* |
X179214Y165899D02* |
X187886D01* |
X180763Y157799D02* |
X187788D01* |
X180560Y156899D02* |
X187788D01* |
X179898Y155999D02* |
X187788D01* |
X180509Y155099D02* |
X187788D01* |
X180763Y154199D02* |
X187788D01* |
X180763Y153299D02* |
X187788D01* |
X180763Y152399D02* |
X187788D01* |
X180763Y151499D02* |
X187570D01* |
X180763Y159599D02* |
X187401D01* |
X180567Y164999D02* |
X187304D01* |
X180763Y164099D02* |
X187250D01* |
X180763Y163199D02* |
X187250D01* |
X180763Y162299D02* |
X187250D01* |
X180763Y161399D02* |
X187250D01* |
X180763Y160499D02* |
X187250D01* |
X176436Y182999D02* |
X187183D01* |
X180763Y150599D02* |
X186670D01* |
X185083Y183899D02* |
X186278D01* |
X180763Y149699D02* |
X185770D01* |
X180763Y148799D02* |
X184870D01* |
X180763Y147899D02* |
X183970D01* |
X180609Y146999D02* |
X183070D01* |
X179626Y146099D02* |
X182415D01* |
X179432Y145199D02* |
X182183D01* |
X180624Y144299D02* |
X182175D01* |
X180893Y143399D02* |
X182175D01* |
X180894Y142499D02* |
X182083D01* |
X191251Y230699D02* |
X204228D01* |
X191251Y229799D02* |
X204228D01* |
X191251Y228899D02* |
X204228D01* |
X191251Y227999D02* |
X204228D01* |
X191251Y227099D02* |
X204228D01* |
X202053Y226199D02* |
X203426D01* |
X202213Y231599D02* |
X203266D01* |
X173699Y213599D02* |
X195039D01* |
X172799Y212699D02* |
X195039D01* |
X172549Y211799D02* |
X195039D01* |
X172549Y210899D02* |
X195039D01* |
X174599Y214499D02* |
X194883D01* |
X178457Y200099D02* |
X193597D01* |
X172549Y209999D02* |
X193547D01* |
X191249Y226199D02* |
X193426D01* |
X192213Y231599D02* |
X193266D01* |
X177835Y200999D02* |
X193181D01* |
X175499Y215399D02* |
X192975D01* |
X179357Y199199D02* |
X192904D01* |
X172549Y209099D02* |
X192869D01* |
X177205Y201899D02* |
X192800D01* |
X172549Y208199D02* |
X192789D01* |
X172549Y207299D02* |
X192789D01* |
X172705Y206399D02* |
X192789D01* |
X173605Y205499D02* |
X192789D01* |
X174505Y204599D02* |
X192789D01* |
X175405Y203699D02* |
X192789D01* |
X176305Y202799D02* |
X192789D01* |
X180257Y198299D02* |
X192789D01* |
X184840Y197399D02* |
X192789D01* |
X185264Y196499D02* |
X192789D01* |
X185282Y195599D02* |
X192789D01* |
X185282Y194699D02* |
X192789D01* |
X185282Y193799D02* |
X192789D01* |
X190941Y225299D02* |
X192768D01* |
X176399Y216299D02* |
X192693D01* |
X183440Y224399D02* |
X192693D01* |
X182540Y223499D02* |
X192693D01* |
X181640Y222599D02* |
X192693D01* |
X180740Y221699D02* |
X192693D01* |
X179840Y220799D02* |
X192693D01* |
X178940Y219899D02* |
X192693D01* |
X178462Y218999D02* |
X192693D01* |
X178103Y218099D02* |
X192693D01* |
X177299Y217199D02* |
X192693D01* |
X191823Y192899D02* |
X192662D01* |
X122700Y276599D02* |
X277300D01* |
X122700Y275699D02* |
X277300D01* |
X122700Y274799D02* |
X277300D01* |
X122700Y273899D02* |
X277300D01* |
X122700Y272999D02* |
X277300D01* |
X122700Y272099D02* |
X277300D01* |
X122700Y271199D02* |
X277300D01* |
X122700Y270299D02* |
X277300D01* |
X122700Y269399D02* |
X277300D01* |
X122700Y268499D02* |
X277300D01* |
X122700Y267599D02* |
X277300D01* |
X122700Y266699D02* |
X277300D01* |
X122700Y265799D02* |
X277300D01* |
X122700Y264899D02* |
X277300D01* |
X211395Y263999D02* |
X277300D01* |
X212761Y263099D02* |
X277300D01* |
X213418Y262199D02* |
X277300D01* |
X213758Y261299D02* |
X277300D01* |
X213865Y260399D02* |
X277300D01* |
X213864Y259499D02* |
X277300D01* |
X213732Y258599D02* |
X277300D01* |
X213362Y257699D02* |
X277300D01* |
X212657Y256799D02* |
X277300D01* |
X211093Y255899D02* |
X277300D01* |
X198666Y254999D02* |
X277300D01* |
X198890Y254099D02* |
X277300D01* |
X199914Y253199D02* |
X277300D01* |
X200221Y252299D02* |
X277300D01* |
X200223Y251399D02* |
X277300D01* |
X200223Y250499D02* |
X277300D01* |
X200223Y249599D02* |
X277300D01* |
X200223Y248699D02* |
X277300D01* |
X200223Y247799D02* |
X277300D01* |
X200209Y246899D02* |
X277300D01* |
X199800Y245999D02* |
X277300D01* |
X199522Y245099D02* |
X277300D01* |
X199972Y244199D02* |
X277300D01* |
X200099Y243299D02* |
X277300D01* |
X212413Y242399D02* |
X277300D01* |
X212778Y241499D02* |
X277300D01* |
X224501Y240599D02* |
X277300D01* |
X225123Y239699D02* |
X277300D01* |
X225188Y238799D02* |
X277300D01* |
X225188Y237899D02* |
X277300D01* |
X225188Y236999D02* |
X277300D01* |
X225631Y236099D02* |
X277300D01* |
X226531Y235199D02* |
X277300D01* |
X227431Y234299D02* |
X277300D01* |
X228331Y233399D02* |
X277300D01* |
X230804Y232499D02* |
X277300D01* |
X231360Y231599D02* |
X277300D01* |
X239567Y230699D02* |
X277300D01* |
X240467Y229799D02* |
X277300D01* |
X267751Y228899D02* |
X277300D01* |
X268034Y227999D02* |
X277300D01* |
X268035Y227099D02* |
X277300D01* |
X268035Y226199D02* |
X277300D01* |
X268035Y225299D02* |
X277300D01* |
X268035Y224399D02* |
X277300D01* |
X268035Y223499D02* |
X277300D01* |
X268035Y222599D02* |
X277300D01* |
X268035Y221699D02* |
X277300D01* |
X267902Y220799D02* |
X277300D01* |
X267012Y219899D02* |
X277300D01* |
X232103Y218999D02* |
X277300D01* |
X232250Y218099D02* |
X277300D01* |
X232250Y217199D02* |
X277300D01* |
X232250Y216299D02* |
X277300D01* |
X232250Y215399D02* |
X277300D01* |
X232250Y214499D02* |
X277300D01* |
X232250Y213599D02* |
X277300D01* |
X232250Y212699D02* |
X277300D01* |
X232250Y211799D02* |
X277300D01* |
X232250Y210899D02* |
X277300D01* |
X232250Y209999D02* |
X277300D01* |
X232250Y209099D02* |
X277300D01* |
X232247Y208199D02* |
X277300D01* |
X231919Y207299D02* |
X277300D01* |
X230564Y206399D02* |
X277300D01* |
X230420Y205499D02* |
X277300D01* |
X230008Y204599D02* |
X277300D01* |
X229519Y203699D02* |
X277300D01* |
X230868Y202799D02* |
X277300D01* |
X231284Y201899D02* |
X277300D01* |
X231301Y200999D02* |
X277300D01* |
X231301Y200099D02* |
X277300D01* |
X231301Y199199D02* |
X277300D01* |
X231301Y198299D02* |
X277300D01* |
X231301Y197399D02* |
X277300D01* |
X231301Y196499D02* |
X277300D01* |
X231301Y195599D02* |
X277300D01* |
X231301Y194699D02* |
X277300D01* |
X231301Y193799D02* |
X277300D01* |
X231047Y192899D02* |
X277300D01* |
X223368Y191999D02* |
X277300D01* |
X222458Y191099D02* |
X277300D01* |
X221558Y190199D02* |
X277300D01* |
X220658Y189299D02* |
X277300D01* |
X219758Y188399D02* |
X277300D01* |
X226589Y146999D02* |
X277300D01* |
X226588Y146099D02* |
X277300D01* |
X226588Y145199D02* |
X277300D01* |
X226588Y144299D02* |
X277300D01* |
X226588Y143399D02* |
X277300D01* |
X226559Y142499D02* |
X277300D01* |
X226079Y141599D02* |
X277300D01* |
X225879Y140699D02* |
X277300D01* |
X226517Y139799D02* |
X277300D01* |
X226588Y138899D02* |
X277300D01* |
X226588Y137999D02* |
X277300D01* |
X226588Y137099D02* |
X277300D01* |
X226588Y136199D02* |
X277300D01* |
X226588Y135299D02* |
X277300D01* |
X226588Y134399D02* |
X277300D01* |
X226588Y133499D02* |
X277300D01* |
X226575Y132599D02* |
X277300D01* |
X226173Y131699D02* |
X277300D01* |
X180505Y130799D02* |
X277300D01* |
X122700Y129899D02* |
X277300D01* |
X122700Y128999D02* |
X277300D01* |
X122700Y128099D02* |
X277300D01* |
X122700Y127199D02* |
X277300D01* |
X122700Y126299D02* |
X277300D01* |
X122700Y125399D02* |
X277300D01* |
X122700Y124499D02* |
X277300D01* |
X122700Y123599D02* |
X277300D01* |
X227293Y147899D02* |
X277292D01* |
X219100Y187499D02* |
X267884D01* |
X228193Y148799D02* |
X267656D01* |
X219100Y186599D02* |
X267225D01* |
X229028Y149699D02* |
X267179D01* |
X219100Y185699D02* |
X267150D01* |
X219100Y184799D02* |
X267150D01* |
X219100Y183899D02* |
X267150D01* |
X218987Y182999D02* |
X267150D01* |
X218519Y182099D02* |
X267150D01* |
X217645Y181199D02* |
X267150D01* |
X216745Y180299D02* |
X267150D01* |
X215845Y179399D02* |
X267150D01* |
X214945Y178499D02* |
X267150D01* |
X214045Y177599D02* |
X267150D01* |
X213148Y176699D02* |
X267150D01* |
X236731Y175799D02* |
X267150D01* |
X237444Y174899D02* |
X267150D01* |
X237533Y173999D02* |
X267150D01* |
X237533Y173099D02* |
X267150D01* |
X237533Y172199D02* |
X267150D01* |
X237533Y171299D02* |
X267150D01* |
X237533Y170399D02* |
X267150D01* |
X237533Y169499D02* |
X267150D01* |
X237533Y168599D02* |
X267150D01* |
X237401Y167699D02* |
X267150D01* |
X236894Y166799D02* |
X267150D01* |
X251273Y165899D02* |
X267150D01* |
X251500Y164999D02* |
X267150D01* |
X251500Y164099D02* |
X267150D01* |
X251500Y163199D02* |
X267150D01* |
X251500Y162299D02* |
X267150D01* |
X251500Y161399D02* |
X267150D01* |
X251500Y160499D02* |
X267150D01* |
X251500Y159599D02* |
X267150D01* |
X251272Y158699D02* |
X267150D01* |
X250850Y157799D02* |
X267150D01* |
X250850Y156899D02* |
X267150D01* |
X250850Y155999D02* |
X267150D01* |
X250850Y155099D02* |
X267150D01* |
X250850Y154199D02* |
X267150D01* |
X250850Y153299D02* |
X267150D01* |
X250699Y152399D02* |
X267150D01* |
X249721Y151499D02* |
X267150D01* |
X229427Y150599D02* |
X267150D01* |
X257012Y219899D02* |
X259157D01* |
X257775Y228899D02* |
X258394D01* |
X231148Y219899D02* |
X249157D01* |
X241367Y228899D02* |
X248419D01* |
X230500Y220799D02* |
X248268D01* |
X242267Y227999D02* |
X248135D01* |
X230500Y221699D02* |
X248097D01* |
X230468Y222599D02* |
X240053D01* |
X229500Y151499D02* |
X239579D01* |
X230290Y223499D02* |
X239130D01* |
X229500Y152399D02* |
X238601D01* |
X236709Y157799D02* |
X238450D01* |
X230095Y156899D02* |
X238450D01* |
X229500Y155999D02* |
X238450D01* |
X229500Y155099D02* |
X238450D01* |
X229500Y154199D02* |
X238450D01* |
X229500Y153299D02* |
X238450D01* |
X237444Y158699D02* |
X238328D01* |
X237407Y165899D02* |
X238327D01* |
X230290Y224399D02* |
X238230D01* |
X230941Y225299D02* |
X237330D01* |
X213033Y175799D02* |
X227735D01* |
X213033Y174899D02* |
X227022D01* |
X187465Y140699D02* |
X217398D01* |
X187575Y141599D02* |
X217198D01* |
X180884Y131699D02* |
X217104D01* |
X212786Y240599D02* |
X216875D01* |
X187002Y139799D02* |
X216759D01* |
X187575Y142499D02* |
X216718D01* |
X180893Y132599D02* |
X216702D01* |
X189807Y146099D02* |
X216688D01* |
X188907Y145199D02* |
X216688D01* |
X188007Y144299D02* |
X216688D01* |
X187575Y143399D02* |
X216688D01* |
X186130Y138899D02* |
X216688D01* |
X185230Y137999D02* |
X216688D01* |
X184330Y137099D02* |
X216688D01* |
X183430Y136199D02* |
X216688D01* |
X182530Y135299D02* |
X216688D01* |
X181630Y134399D02* |
X216688D01* |
X180895Y133499D02* |
X216688D01* |
X190707Y146999D02* |
X216688D01* |
X197411Y147899D02* |
X215984D01* |
X198862Y148799D02* |
X215084D01* |
X199113Y149699D02* |
X214011D01* |
X206093Y255899D02* |
X208907D01* |
X206395Y263999D02* |
X208605D01* |
X197972Y255899D02* |
X203907D01* |
X196395Y263999D02* |
X203605D01* |
X202424Y242399D02* |
X203055D01* |
X197668Y256799D02* |
X202343D01* |
X197761Y263099D02* |
X202239D01* |
X198362Y257699D02* |
X201638D01* |
X198418Y262199D02* |
X201582D01* |
X198732Y258599D02* |
X201268D01* |
X198758Y261299D02* |
X201242D01* |
X198864Y259499D02* |
X201136D01* |
X198865Y260399D02* |
X201135D01* |
X191395Y263999D02* |
X193605D01* |
X122700D02* |
X188605D01* |
X122700Y256799D02* |
X187335D01* |
X122700Y263099D02* |
X187239D01* |
X122700Y255899D02* |
X187046D01* |
X122700Y257699D02* |
X186638D01* |
X122700Y262199D02* |
X186582D01* |
X122700Y258599D02* |
X186268D01* |
X122700Y261299D02* |
X186242D01* |
X122700Y254999D02* |
X186227D01* |
X122700Y259499D02* |
X186136D01* |
X122700Y260399D02* |
X186135D01* |
X122700Y254099D02* |
X185888D01* |
X136436Y245099D02* |
X185687D01* |
X140057Y244199D02* |
X185447D01* |
X141717Y243299D02* |
X185380D01* |
X122700Y245999D02* |
X184947D01* |
X122700Y253199D02* |
X184832D01* |
X122700Y246899D02* |
X184538D01* |
X122700Y252299D02* |
X184525D01* |
X122700Y251399D02* |
X184523D01* |
X122700Y250499D02* |
X184523D01* |
X122700Y249599D02* |
X184523D01* |
X122700Y248699D02* |
X184523D01* |
X122700Y247799D02* |
X184523D01* |
X142904Y242399D02* |
X183066D01* |
X143825Y241499D02* |
X182701D01* |
X144563Y240599D02* |
X182693D01* |
X145161Y239699D02* |
X182693D01* |
X145643Y238799D02* |
X182693D01* |
X146025Y237899D02* |
X182693D01* |
X146319Y236999D02* |
X182693D01* |
X146531Y236099D02* |
X182693D01* |
X146665Y235199D02* |
X182693D01* |
X146726Y234299D02* |
X182693D01* |
X146714Y233399D02* |
X182653D01* |
X146628Y232499D02* |
X180206D01* |
X146468Y231599D02* |
X179812D01* |
X146229Y230699D02* |
X179799D01* |
X145907Y229799D02* |
X179799D01* |
X145492Y228899D02* |
X179799D01* |
X144974Y227999D02* |
X179403D01* |
X144332Y227099D02* |
X178503D01* |
X143539Y226199D02* |
X177603D01* |
X143635Y225299D02* |
X176703D01* |
X144489Y224399D02* |
X175803D01* |
X145176Y223499D02* |
X174903D01* |
X145733Y222599D02* |
X174003D01* |
X146180Y221699D02* |
X173352D01* |
X146532Y220799D02* |
X173122D01* |
X169954Y130799D02* |
X172782D01* |
X146798Y219899D02* |
X172362D01* |
X146984Y218999D02* |
X171462D01* |
X147094Y218099D02* |
X170562D01* |
X147130Y217199D02* |
X169662D01* |
X147094Y216299D02* |
X168762D01* |
X146983Y215399D02* |
X167865D01* |
X146797Y214499D02* |
X167315D01* |
X146531Y213599D02* |
X167149D01* |
X146179Y212699D02* |
X167149D01* |
X145732Y211799D02* |
X167149D01* |
X145175Y210899D02* |
X167149D01* |
X144487Y209999D02* |
X167149D01* |
X143632Y209099D02* |
X167149D01* |
X142547Y208199D02* |
X167149D01* |
X141084Y207299D02* |
X167149D01* |
X138686Y206399D02* |
X166992D01* |
X122700Y205499D02* |
X166092D01* |
X122700Y204599D02* |
X165192D01* |
X122700Y203699D02* |
X164292D01* |
X161755Y202799D02* |
X163064D01* |
X122700Y130799D02* |
X162231D01* |
X122700Y131699D02* |
X161852D01* |
X122700Y132599D02* |
X161843D01* |
X122700Y133499D02* |
X161841D01* |
X122700Y134399D02* |
X161106D01* |
X122700Y135299D02* |
X160206D01* |
X149909Y183899D02* |
X160159D01* |
X149909Y182999D02* |
X160159D01* |
X149759Y182099D02* |
X159898D01* |
X122700Y136199D02* |
X159306D01* |
X149909Y184799D02* |
X159280D01* |
X122700Y137099D02* |
X158406D01* |
X149909Y185699D02* |
X158102D01* |
X122700Y202799D02* |
X158064D01* |
X156980Y181199D02* |
X157839D01* |
X122700Y137999D02* |
X157506D01* |
X122700Y201899D02* |
X157313D01* |
X149909Y186599D02* |
X157276D01* |
X122700Y194699D02* |
X156994D01* |
X130953Y193799D02* |
X156907D01* |
X149709Y187499D02* |
X156890D01* |
X122700Y200999D02* |
X156887D01* |
X131904Y192899D02* |
X156825D01* |
X132050Y191999D02* |
X156824D01* |
X132050Y191099D02* |
X156824D01* |
X132050Y190199D02* |
X156824D01* |
X132050Y189299D02* |
X156824D01* |
X132050Y188399D02* |
X156824D01* |
X122700Y138899D02* |
X156606D01* |
X122700Y139799D02* |
X155706D01* |
X122700Y140699D02* |
X154906D01* |
X122700Y141599D02* |
X154551D01* |
X132023Y155999D02* |
X154500D01* |
X131553Y155099D02* |
X154500D01* |
X122710Y154199D02* |
X154500D01* |
X122700Y153299D02* |
X154500D01* |
X122700Y152399D02* |
X154500D01* |
X122700Y151499D02* |
X154500D01* |
X122700Y150599D02* |
X154500D01* |
X122700Y149699D02* |
X154500D01* |
X122700Y148799D02* |
X154500D01* |
X122700Y147899D02* |
X154500D01* |
X122700Y146999D02* |
X154500D01* |
X122700Y146099D02* |
X154500D01* |
X122700Y145199D02* |
X154500D01* |
X122700Y144299D02* |
X154500D01* |
X122700Y143399D02* |
X154500D01* |
X122700Y142499D02* |
X154500D01* |
X132050Y156899D02* |
X154464D01* |
X132050Y157799D02* |
X153622D01* |
X148788Y181199D02* |
X152839D01* |
X132050Y158699D02* |
X152722D01* |
X148679Y180299D02* |
X152215D01* |
X132050Y159599D02* |
X151822D01* |
X132050Y160499D02* |
X150922D01* |
X132050Y161399D02* |
X150022D01* |
X132050Y162299D02* |
X149122D01* |
X132050Y163199D02* |
X148222D01* |
X122700Y195599D02* |
X147752D01* |
X132050Y164099D02* |
X147322D01* |
X122700Y200099D02* |
X147113D01* |
X122700Y196499D02* |
X146960D01* |
X122700Y199199D02* |
X146850D01* |
X122700Y198299D02* |
X146850D01* |
X122700Y197399D02* |
X146850D01* |
X132050Y164999D02* |
X146422D01* |
X132050Y180299D02* |
X142223D01* |
X132050Y173099D02* |
X142202D01* |
X132050Y181199D02* |
X142031D01* |
X132050Y165899D02* |
X141852D01* |
X132050Y172199D02* |
X141582D01* |
X132050Y173999D02* |
X141425D01* |
X132050Y179399D02* |
X141342D01* |
X132050Y166799D02* |
X141263D01* |
X132050Y171299D02* |
X141215D01* |
X132050Y178499D02* |
X141206D01* |
X132050Y177599D02* |
X141206D01* |
X132050Y176699D02* |
X141206D01* |
X132050Y175799D02* |
X141206D01* |
X132050Y174899D02* |
X141206D01* |
X132050Y170399D02* |
X141206D01* |
X132050Y169499D02* |
X141206D01* |
X132050Y168599D02* |
X141206D01* |
X132050Y167699D02* |
X141206D01* |
X132050Y187499D02* |
X141110D01* |
X132050Y182099D02* |
X141059D01* |
X132050Y186599D02* |
X140909D01* |
X132050Y185699D02* |
X140909D01* |
X132050Y184799D02* |
X140909D01* |
X132050Y183899D02* |
X140909D01* |
X132050Y182999D02* |
X140909D01* |
X122700Y245099D02* |
X134764D01* |
X122700Y206399D02* |
X133314D01* |
X122700Y244199D02* |
X131143D01* |
X122700Y207299D02* |
X130916D01* |
X122700Y243299D02* |
X129483D01* |
X122700Y208199D02* |
X129453D01* |
X122700Y209099D02* |
X128368D01* |
X122700Y242399D02* |
X128296D01* |
X122700Y225299D02* |
X128249D01* |
X122700Y226199D02* |
X127661D01* |
X122700Y209999D02* |
X127513D01* |
X122700Y224399D02* |
X127511D01* |
X122700Y241499D02* |
X127375D01* |
X122700Y227099D02* |
X126868D01* |
X122700Y210899D02* |
X126825D01* |
X122700Y223499D02* |
X126824D01* |
X122700Y240599D02* |
X126637D01* |
X122700Y211799D02* |
X126268D01* |
X122700Y222599D02* |
X126267D01* |
X122700Y227999D02* |
X126226D01* |
X122700Y239699D02* |
X126039D01* |
X122700Y212699D02* |
X125821D01* |
X122700Y221699D02* |
X125820D01* |
X122700Y228899D02* |
X125708D01* |
X122700Y238799D02* |
X125557D01* |
X122700Y213599D02* |
X125469D01* |
X122700Y220799D02* |
X125468D01* |
X122700Y229799D02* |
X125293D01* |
X122700Y214499D02* |
X125203D01* |
X122700Y219899D02* |
X125202D01* |
X122700Y237899D02* |
X125175D01* |
X122700Y215399D02* |
X125017D01* |
X122700Y218999D02* |
X125016D01* |
X122700Y230699D02* |
X124971D01* |
X122700Y216299D02* |
X124906D01* |
X122700Y218099D02* |
X124906D01* |
X122700Y236999D02* |
X124881D01* |
X122700Y217199D02* |
X124870D01* |
X122700Y231599D02* |
X124732D01* |
X122700Y236099D02* |
X124669D01* |
X122700Y232499D02* |
X124572D01* |
X122700Y235199D02* |
X124535D01* |
X122700Y233399D02* |
X124486D01* |
X122700Y234299D02* |
X124474D01* |
G54D40* |
X135600Y234000D03* |
G54D45* |
X207735Y205334D03* |
Y195334D03* |
X197740Y205334D03* |
Y195334D03* |
X165813Y150955D03* |
Y160955D03* |
X175813Y150955D03* |
Y160955D03* |
X253085Y234708D03* |
X263085D03* |
X253085Y224708D03* |
X263085D03* |
X253085Y214708D03* |
X263085D03* |
X231638Y146062D03* |
Y136062D03* |
X221638Y146062D03* |
Y136062D03* |
X211638Y146062D03* |
Y136062D03* |
G54D55* |
X185000Y265906D03* |
X190000Y260000D03* |
X195000D03* |
X200000Y265906D03* |
X205000Y260000D03* |
X210000D03* |
X215000Y265906D03* |
G54D56* |
X225827Y256063D03* |
X175315Y260000D03* |
G54D57* |
X244800Y162300D03* |
Y175300D03* |
G54D58* |
X227800Y213307D03* |
X240800D03* |
G54D59* |
X220688Y244883D03* |
Y237283D03* |
X145409Y192347D03* |
Y184747D03* |
G54D60* |
X181032Y194306D03* |
Y186706D03* |
X145456Y176782D03* |
Y169182D03* |
X164409Y183747D03* |
Y191347D03* |
X172186Y183757D03* |
Y191357D03* |
X166093Y141430D03* |
Y133830D03* |
X176643Y141430D03* |
Y133830D03* |
G54D61* |
X219990Y228811D03* |
X227590D03* |
X180573Y249672D03* |
X188173D03* |
X204173D03* |
X196573D03* |
G54D62* |
X232233Y180455D03* |
Y162255D03* |
Y171355D03* |
G54D63* |
X207833D03* |
G54D64* |
X207740Y220568D03* |
X197740D03* |
X187740D03* |
Y237103D03* |
X197740D03* |
X207740D03* |
G54D65* |
X209954Y228836D03* |
X185525D03* |
G54D66* |
X154909Y198247D03* |
X159909D03* |
X164909D03* |
X169909D03* |
Y176847D03* |
X164909D03* |
X159909D03* |
X154909D03* |
G54D67* |
X193425Y153732D03* |
Y133653D03* |
G54D68* |
X225467Y197729D03* |
X245545D03* |
G74* |
X0Y0D02* |
M02* |
/Modules/Clock/CLKGEN01B/CAM_PROFI/M1.PHO |
---|
0,0 → 1,112 |
* |
* |
G04 PADS 9.2 Build Number: 414666 generated Gerber (RS-274-X) file* |
G04 PC Version=2.1* |
* |
%IN "CLKGEN.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* |
* |
%ADD024C,0.001*% |
%ADD031C,0.07*% |
%ADD033C,0.24622*% |
%ADD069O,0.05331X0.06118*% |
%ADD070C,0.10843*% |
* |
* |
* |
* |
G04 PC Circuitry* |
G04 Layer Name CLKGEN.pcb - circuitry* |
%LPD*% |
* |
* |
G04 PC Custom Flashes* |
G04 Layer Name CLKGEN.pcb - flashes* |
%LPD*% |
* |
* |
G04 PC Circuitry* |
G04 Layer Name CLKGEN.pcb - circuitry* |
%LPD*% |
* |
G54D24* |
G54D31* |
G01X207735Y205334D03* |
Y195334D03* |
X197740Y205334D03* |
Y195334D03* |
X165813Y150955D03* |
Y160955D03* |
X175813Y150955D03* |
Y160955D03* |
X253085Y234708D03* |
X263085D03* |
X253085Y224708D03* |
X263085D03* |
X253085Y214708D03* |
X263085D03* |
X231638Y146062D03* |
Y136062D03* |
X221638Y146062D03* |
Y136062D03* |
X211638Y146062D03* |
Y136062D03* |
G54D33* |
X140000Y260000D03* |
Y140000D03* |
X260000D03* |
Y260000D03* |
G54D69* |
X185000Y265906D03* |
X190000Y260000D03* |
X195000D03* |
X200000Y265906D03* |
X205000Y260000D03* |
X210000D03* |
X215000Y265906D03* |
G54D70* |
X225827Y256063D03* |
X175315Y260000D03* |
X0Y0D02* |
M02* |
/Modules/Clock/CLKGEN01B/CAM_PROFI/V1.PHO |
---|
0,0 → 1,878 |
* |
* |
G04 PADS 9.2 Build Number: 414666 generated Gerber (RS-274-X) file* |
G04 PC Version=2.1* |
* |
%IN "CLKGEN.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* |
* |
%ADD011C,0.06*% |
%ADD013C,0.23622*% |
%ADD022C,0.055*% |
%ADD024C,0.001*% |
%ADD025C,0.01*% |
%ADD055O,0.04331X0.05118*% |
%ADD056C,0.09843*% |
* |
* |
* |
* |
G04 PC Circuitry* |
G04 Layer Name CLKGEN.pcb - circuitry* |
%LPD*% |
* |
* |
G04 PC Custom Flashes* |
G04 Layer Name CLKGEN.pcb - flashes* |
%LPD*% |
* |
* |
G04 PC Circuitry* |
G04 Layer Name CLKGEN.pcb - circuitry* |
%LPD*% |
* |
G54D11* |
G01X207735Y205334D03* |
Y195334D03* |
X197740Y205334D03* |
Y195334D03* |
X165813Y150955D03* |
Y160955D03* |
X175813Y150955D03* |
Y160955D03* |
X253085Y234708D03* |
X263085D03* |
X253085Y224708D03* |
X263085D03* |
X253085Y214708D03* |
X263085D03* |
X231638Y146062D03* |
Y136062D03* |
X221638Y146062D03* |
Y136062D03* |
X211638Y146062D03* |
Y136062D03* |
G54D13* |
X140000Y260000D03* |
Y140000D03* |
X260000D03* |
Y260000D03* |
G54D22* |
X186000Y127200D03* |
X202400Y158400D03* |
X220000Y155600D03* |
X212400Y159600D03* |
X223600Y165200D03* |
X216000Y164800D03* |
X189200Y172400D03* |
X196800Y170400D03* |
X217600Y176800D03* |
X224800Y177200D03* |
X262000Y170400D03* |
X222000Y184800D03* |
X232000Y187600D03* |
X254400Y180800D03* |
X246400Y188800D03* |
X138000Y198800D03* |
X188800Y196400D03* |
X274000Y191600D03* |
X160000Y206800D03* |
X184000Y202000D03* |
X182000Y208000D03* |
X175600D03* |
X188400Y208800D03* |
X180800Y215600D03* |
X193600Y228800D03* |
X201200D03* |
X234400Y220400D03* |
X156000Y238800D03* |
X168000Y234000D03* |
X176000Y236000D03* |
X170000Y243600D03* |
X210400Y247600D03* |
X230000Y243600D03* |
X240400Y245200D03* |
X174400Y250000D03* |
X214800Y252400D03* |
X238000Y256800D03* |
X239200Y268400D03* |
X168400Y274000D03* |
X199200Y273600D03* |
X219600Y274000D03* |
G54D24* |
G54D25* |
X267785Y224708D02* |
G75* |
G03X267785I-4700J0D01* |
G01X257785D02* |
G03X257785I-4700J0D01* |
G01X226338Y136062D02* |
G03X226338I-4700J0D01* |
G01Y146062D02* |
G03X226338I-4700J0D01* |
G01X212435Y195334D02* |
G03X212435I-4700J0D01* |
G01Y205334D02* |
G03X212435I-4700J0D01* |
G01X202440Y195334D02* |
G03X202440I-4700J0D01* |
G01Y205334D02* |
G03X202440I-4700J0D01* |
G01X180513Y150955D02* |
G03X180513I-4700J0D01* |
G01Y160955D02* |
G03X180513I-4700J0D01* |
G01X170513Y150955D02* |
G03X170513I-4700J0D01* |
G01Y160955D02* |
G03X170513I-4700J0D01* |
G01X277300Y122700D02* |
Y277300D01* |
X122700* |
Y122700* |
X277300* |
X267785Y224708D02* |
G03X267785I-4700J0D01* |
G01X257785D02* |
G03X257785I-4700J0D01* |
G01X226338Y136062D02* |
G03X226338I-4700J0D01* |
G01Y146062D02* |
G03X226338I-4700J0D01* |
G01X212435Y195334D02* |
G03X212435I-4700J0D01* |
G01Y205334D02* |
G03X212435I-4700J0D01* |
G01X202440Y195334D02* |
G03X202440I-4700J0D01* |
G01Y205334D02* |
G03X202440I-4700J0D01* |
G01X213865Y260394D02* |
Y259606D01* |
X207500Y256658D02* |
G03X213865Y259606I2500J2948D01* |
G01X201135D02* |
G03X207500Y256658I3865J0D01* |
G01X201135Y259606D02* |
Y260394D01* |
X207500Y263342D02* |
G03X201135Y260394I-2500J-2948D01* |
G01X213865D02* |
G03X207500Y263342I-3865J-0D01* |
G01X198865Y260394D02* |
Y259606D01* |
X192500Y256658D02* |
G03X198865Y259606I2500J2948D01* |
G01X186135D02* |
G03X192500Y256658I3865J0D01* |
G01X186135Y259606D02* |
Y260394D01* |
X192500Y263342D02* |
G03X186135Y260394I-2500J-2948D01* |
G01X198865D02* |
G03X192500Y263342I-3865J-0D01* |
G01X180513Y150955D02* |
G03X180513I-4700J0D01* |
G01Y160955D02* |
G03X180513I-4700J0D01* |
G01X170513Y150955D02* |
G03X170513I-4700J0D01* |
G01Y160955D02* |
G03X170513I-4700J0D01* |
G01X122700Y276499D02* |
X277300D01* |
X122700Y275599D02* |
X277300D01* |
X122700Y274699D02* |
X277300D01* |
X122700Y273799D02* |
X277300D01* |
X122700Y272899D02* |
X277300D01* |
X122700Y271999D02* |
X277300D01* |
X122700Y271099D02* |
X277300D01* |
X122700Y270199D02* |
X277300D01* |
X122700Y269299D02* |
X277300D01* |
X122700Y268399D02* |
X277300D01* |
X122700Y267499D02* |
X277300D01* |
X122700Y266599D02* |
X277300D01* |
X122700Y265699D02* |
X277300D01* |
X122700Y264799D02* |
X277300D01* |
X211630Y263899D02* |
X277300D01* |
X212856Y262999D02* |
X277300D01* |
X213469Y262099D02* |
X277300D01* |
X213781Y261199D02* |
X277300D01* |
X213865Y260299D02* |
X277300D01* |
X213860Y259399D02* |
X277300D01* |
X213703Y258499D02* |
X277300D01* |
X213303Y257599D02* |
X277300D01* |
X212547Y256699D02* |
X277300D01* |
X210666Y255799D02* |
X277300D01* |
X122700Y254899D02* |
X277300D01* |
X122700Y253999D02* |
X277300D01* |
X122700Y253099D02* |
X277300D01* |
X122700Y252199D02* |
X277300D01* |
X122700Y251299D02* |
X277300D01* |
X122700Y250399D02* |
X277300D01* |
X122700Y249499D02* |
X277300D01* |
X122700Y248599D02* |
X277300D01* |
X122700Y247699D02* |
X277300D01* |
X122700Y246799D02* |
X277300D01* |
X122700Y245899D02* |
X277300D01* |
X122700Y244999D02* |
X277300D01* |
X122700Y244099D02* |
X277300D01* |
X122700Y243199D02* |
X277300D01* |
X122700Y242299D02* |
X277300D01* |
X122700Y241399D02* |
X277300D01* |
X122700Y240499D02* |
X277300D01* |
X122700Y239599D02* |
X277300D01* |
X122700Y238699D02* |
X277300D01* |
X122700Y237799D02* |
X277300D01* |
X122700Y236899D02* |
X277300D01* |
X122700Y235999D02* |
X277300D01* |
X122700Y235099D02* |
X277300D01* |
X122700Y234199D02* |
X277300D01* |
X122700Y233299D02* |
X277300D01* |
X122700Y232399D02* |
X277300D01* |
X122700Y231499D02* |
X277300D01* |
X122700Y230599D02* |
X277300D01* |
X122700Y229699D02* |
X277300D01* |
X265399Y228799D02* |
X277300D01* |
X266536Y227899D02* |
X277300D01* |
X267189Y226999D02* |
X277300D01* |
X267574Y226099D02* |
X277300D01* |
X267759Y225199D02* |
X277300D01* |
X267767Y224299D02* |
X277300D01* |
X267599Y223399D02* |
X277300D01* |
X267233Y222499D02* |
X277300D01* |
X266609Y221599D02* |
X277300D01* |
X265537Y220699D02* |
X277300D01* |
X122700Y219799D02* |
X277300D01* |
X122700Y218899D02* |
X277300D01* |
X122700Y217999D02* |
X277300D01* |
X122700Y217099D02* |
X277300D01* |
X122700Y216199D02* |
X277300D01* |
X122700Y215299D02* |
X277300D01* |
X122700Y214399D02* |
X277300D01* |
X122700Y213499D02* |
X277300D01* |
X122700Y212599D02* |
X277300D01* |
X122700Y211699D02* |
X277300D01* |
X122700Y210799D02* |
X277300D01* |
X208855Y209899D02* |
X277300D01* |
X210678Y208999D02* |
X277300D01* |
X211536Y208099D02* |
X277300D01* |
X212049Y207199D02* |
X277300D01* |
X212335Y206299D02* |
X277300D01* |
X212434Y205399D02* |
X277300D01* |
X212360Y204499D02* |
X277300D01* |
X212103Y203599D02* |
X277300D01* |
X211627Y202699D02* |
X277300D01* |
X210832Y201799D02* |
X277300D01* |
X209290Y200899D02* |
X277300D01* |
X208311Y199999D02* |
X277300D01* |
X210549Y199099D02* |
X277300D01* |
X211461Y198199D02* |
X277300D01* |
X212005Y197299D02* |
X277300D01* |
X212313Y196399D02* |
X277300D01* |
X212432Y195499D02* |
X277300D01* |
X212377Y194599D02* |
X277300D01* |
X212141Y193699D02* |
X277300D01* |
X211692Y192799D02* |
X277300D01* |
X210942Y191899D02* |
X277300D01* |
X209550Y190999D02* |
X277300D01* |
X122700Y190099D02* |
X277300D01* |
X122700Y189199D02* |
X277300D01* |
X122700Y188299D02* |
X277300D01* |
X122700Y187399D02* |
X277300D01* |
X122700Y186499D02* |
X277300D01* |
X122700Y185599D02* |
X277300D01* |
X122700Y184699D02* |
X277300D01* |
X122700Y183799D02* |
X277300D01* |
X122700Y182899D02* |
X277300D01* |
X122700Y181999D02* |
X277300D01* |
X122700Y181099D02* |
X277300D01* |
X122700Y180199D02* |
X277300D01* |
X122700Y179299D02* |
X277300D01* |
X122700Y178399D02* |
X277300D01* |
X122700Y177499D02* |
X277300D01* |
X122700Y176599D02* |
X277300D01* |
X122700Y175699D02* |
X277300D01* |
X122700Y174799D02* |
X277300D01* |
X122700Y173899D02* |
X277300D01* |
X122700Y172999D02* |
X277300D01* |
X122700Y172099D02* |
X277300D01* |
X122700Y171199D02* |
X277300D01* |
X122700Y170299D02* |
X277300D01* |
X122700Y169399D02* |
X277300D01* |
X122700Y168499D02* |
X277300D01* |
X122700Y167599D02* |
X277300D01* |
X122700Y166699D02* |
X277300D01* |
X122700Y165799D02* |
X277300D01* |
X178370Y164899D02* |
X277300D01* |
X179395Y163999D02* |
X277300D01* |
X179996Y163099D02* |
X277300D01* |
X180346Y162199D02* |
X277300D01* |
X180501Y161299D02* |
X277300D01* |
X180480Y160399D02* |
X277300D01* |
X180282Y159499D02* |
X277300D01* |
X179880Y158599D02* |
X277300D01* |
X179202Y157699D02* |
X277300D01* |
X178007Y156799D02* |
X277300D01* |
X122700Y155899D02* |
X277300D01* |
X178209Y154999D02* |
X277300D01* |
X179307Y154099D02* |
X277300D01* |
X179943Y153199D02* |
X277300D01* |
X180317Y152299D02* |
X277300D01* |
X180492Y151399D02* |
X277300D01* |
X223191Y150499D02* |
X277300D01* |
X224734Y149599D02* |
X277300D01* |
X225529Y148699D02* |
X277300D01* |
X226006Y147799D02* |
X277300D01* |
X226263Y146899D02* |
X277300D01* |
X226338Y145999D02* |
X277300D01* |
X226239Y145099D02* |
X277300D01* |
X225953Y144199D02* |
X277300D01* |
X225440Y143299D02* |
X277300D01* |
X224582Y142399D02* |
X277300D01* |
X222762Y141499D02* |
X277300D01* |
X222868Y140599D02* |
X277300D01* |
X224616Y139699D02* |
X277300D01* |
X225460Y138799D02* |
X277300D01* |
X225965Y137899D02* |
X277300D01* |
X226244Y136999D02* |
X277300D01* |
X226338Y136099D02* |
X277300D01* |
X226258Y135199D02* |
X277300D01* |
X225995Y134299D02* |
X277300D01* |
X225511Y133399D02* |
X277300D01* |
X224703Y132499D02* |
X277300D01* |
X223110Y131599D02* |
X277300D01* |
X122700Y130699D02* |
X277300D01* |
X122700Y129799D02* |
X277300D01* |
X122700Y128899D02* |
X277300D01* |
X122700Y127999D02* |
X277300D01* |
X122700Y127099D02* |
X277300D01* |
X122700Y126199D02* |
X277300D01* |
X122700Y125299D02* |
X277300D01* |
X122700Y124399D02* |
X277300D01* |
X122700Y123499D02* |
X277300D01* |
X255399Y228799D02* |
X260770D01* |
X255537Y220699D02* |
X260632D01* |
X256536Y227899D02* |
X259634D01* |
X256609Y221599D02* |
X259560D01* |
X257189Y226999D02* |
X258981D01* |
X257233Y222499D02* |
X258936D01* |
X257574Y226099D02* |
X258595D01* |
X257599Y223399D02* |
X258571D01* |
X257759Y225199D02* |
X258410D01* |
X257767Y224299D02* |
X258402D01* |
X122700Y228799D02* |
X250770D01* |
X122700Y220699D02* |
X250632D01* |
X122700Y227899D02* |
X249634D01* |
X122700Y221599D02* |
X249560D01* |
X122700Y226999D02* |
X248981D01* |
X122700Y222499D02* |
X248936D01* |
X122700Y226099D02* |
X248595D01* |
X122700Y223399D02* |
X248571D01* |
X122700Y225199D02* |
X248410D01* |
X122700Y224299D02* |
X248402D01* |
X122700Y141499D02* |
X220515D01* |
X122700Y140599D02* |
X220409D01* |
X122700Y131599D02* |
X220167D01* |
X180491Y150499D02* |
X220086D01* |
X122700Y142399D02* |
X218694D01* |
X122700Y139699D02* |
X218660D01* |
X122700Y132499D02* |
X218574D01* |
X180313Y149599D02* |
X218542D01* |
X122700Y143299D02* |
X217837D01* |
X122700Y138799D02* |
X217817D01* |
X122700Y133399D02* |
X217766D01* |
X179936Y148699D02* |
X217747D01* |
X122700Y144199D02* |
X217324D01* |
X122700Y137899D02* |
X217312D01* |
X122700Y134299D02* |
X217282D01* |
X179295Y147799D02* |
X217271D01* |
X122700Y145099D02* |
X217038D01* |
X122700Y136999D02* |
X217033D01* |
X122700Y135199D02* |
X217018D01* |
X178187Y146899D02* |
X217013D01* |
X122700Y145999D02* |
X216939D01* |
X122700Y136099D02* |
X216938D01* |
X205666Y255799D02* |
X209334D01* |
X206630Y263899D02* |
X208370D01* |
X198315Y199999D02* |
X207159D01* |
X198859Y209899D02* |
X206615D01* |
X199294Y200899D02* |
X206180D01* |
X199555Y190999D02* |
X205920D01* |
X200553Y199099D02* |
X204921D01* |
X200682Y208999D02* |
X204792D01* |
X200837Y201799D02* |
X204638D01* |
X200947Y191899D02* |
X204527D01* |
X195666Y255799D02* |
X204334D01* |
X201466Y198199D02* |
X204009D01* |
X201540Y208099D02* |
X203934D01* |
X201631Y202699D02* |
X203843D01* |
X201697Y192799D02* |
X203777D01* |
X202009Y197299D02* |
X203465D01* |
X202054Y207199D02* |
X203421D01* |
X196630Y263899D02* |
X203370D01* |
X202107Y203599D02* |
X203367D01* |
X202146Y193699D02* |
X203329D01* |
X202317Y196399D02* |
X203157D01* |
X202339Y206299D02* |
X203135D01* |
X202365Y204499D02* |
X203110D01* |
X202382Y194599D02* |
X203093D01* |
X202437Y195499D02* |
X203038D01* |
X202439Y205399D02* |
X203035D01* |
X197547Y256699D02* |
X202453D01* |
X197856Y262999D02* |
X202144D01* |
X198303Y257599D02* |
X201697D01* |
X198469Y262099D02* |
X201531D01* |
X198703Y258499D02* |
X201297D01* |
X198781Y261199D02* |
X201219D01* |
X198860Y259399D02* |
X201140D01* |
X198865Y260299D02* |
X201135D01* |
X122700Y199999D02* |
X197164D01* |
X122700Y209899D02* |
X196620D01* |
X122700Y200899D02* |
X196185D01* |
X122700Y190999D02* |
X195924D01* |
X122700Y199099D02* |
X194926D01* |
X122700Y208999D02* |
X194797D01* |
X122700Y201799D02* |
X194643D01* |
X122700Y191899D02* |
X194532D01* |
X190666Y255799D02* |
X194334D01* |
X122700Y198199D02* |
X194013D01* |
X122700Y208099D02* |
X193939D01* |
X122700Y202699D02* |
X193848D01* |
X122700Y192799D02* |
X193782D01* |
X122700Y197299D02* |
X193470D01* |
X122700Y207199D02* |
X193425D01* |
X122700Y203599D02* |
X193372D01* |
X191630Y263899D02* |
X193370D01* |
X122700Y193699D02* |
X193333D01* |
X122700Y196399D02* |
X193162D01* |
X122700Y206299D02* |
X193140D01* |
X122700Y204499D02* |
X193114D01* |
X122700Y194599D02* |
X193097D01* |
X122700Y195499D02* |
X193042D01* |
X122700Y205399D02* |
X193040D01* |
X122700Y255799D02* |
X189334D01* |
X122700Y263899D02* |
X188370D01* |
X122700Y256699D02* |
X187453D01* |
X122700Y262999D02* |
X187144D01* |
X122700Y257599D02* |
X186697D01* |
X122700Y262099D02* |
X186531D01* |
X122700Y258499D02* |
X186297D01* |
X122700Y261199D02* |
X186219D01* |
X122700Y259399D02* |
X186140D01* |
X122700Y260299D02* |
X186135D01* |
X168007Y156799D02* |
X173619D01* |
X168187Y146899D02* |
X173440D01* |
X168209Y154999D02* |
X173417D01* |
X168370Y164899D02* |
X173256D01* |
X169202Y157699D02* |
X172424D01* |
X169295Y147799D02* |
X172331D01* |
X169307Y154099D02* |
X172319D01* |
X169395Y163999D02* |
X172231D01* |
X169880Y158599D02* |
X171747D01* |
X169936Y148699D02* |
X171690D01* |
X169943Y153199D02* |
X171683D01* |
X169996Y163099D02* |
X171630D01* |
X170282Y159499D02* |
X171345D01* |
X170313Y149599D02* |
X171313D01* |
X170317Y152299D02* |
X171309D01* |
X170346Y162199D02* |
X171281D01* |
X170480Y160399D02* |
X171146D01* |
X170491Y150499D02* |
X171135D01* |
X170492Y151399D02* |
X171134D01* |
X170501Y161299D02* |
X171126D01* |
X122700Y156799D02* |
X163619D01* |
X122700Y146899D02* |
X163440D01* |
X122700Y154999D02* |
X163417D01* |
X122700Y164899D02* |
X163256D01* |
X122700Y157699D02* |
X162424D01* |
X122700Y147799D02* |
X162331D01* |
X122700Y154099D02* |
X162319D01* |
X122700Y163999D02* |
X162231D01* |
X122700Y158599D02* |
X161747D01* |
X122700Y148699D02* |
X161690D01* |
X122700Y153199D02* |
X161683D01* |
X122700Y163099D02* |
X161630D01* |
X122700Y159499D02* |
X161345D01* |
X122700Y149599D02* |
X161313D01* |
X122700Y152299D02* |
X161309D01* |
X122700Y162199D02* |
X161281D01* |
X122700Y160399D02* |
X161146D01* |
X122700Y150499D02* |
X161135D01* |
X122700Y151399D02* |
X161134D01* |
X122700Y161299D02* |
X161126D01* |
G54D55* |
X185000Y265906D03* |
X190000Y260000D03* |
X195000D03* |
X200000Y265906D03* |
X205000Y260000D03* |
X210000D03* |
X215000Y265906D03* |
G54D56* |
X225827Y256063D03* |
X175315Y260000D03* |
G74* |
X0Y0D02* |
M02* |
/Modules/Clock/CLKGEN01B/CAM_PROFI/BOARD.PHO |
---|
0,0 → 1,364 |
* |
* |
G04 PADS 9.2 Build Number: 414666 generated Gerber (RS-274-X) file* |
G04 PC Version=2.1* |
* |
%IN "CLKGEN.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* |
* |
%ADD024C,0.001*% |
%ADD025C,0.01*% |
* |
* |
* |
* |
G04 PC Circuitry* |
G04 Layer Name CLKGEN.pcb - circuitry* |
%LPD*% |
* |
* |
G04 PC Custom Flashes* |
G04 Layer Name CLKGEN.pcb - flashes* |
%LPD*% |
* |
* |
G04 PC Circuitry* |
G04 Layer Name CLKGEN.pcb - circuitry* |
%LPD*% |
* |
G54D24* |
G01X121000Y279000D02* |
X121003D01* |
X279000D02* |
X279003D01* |
X279000Y121000D02* |
X279003D01* |
X279000Y279000D02* |
X279003D01* |
G54D25* |
X121000D02* |
X279000D01* |
Y121000* |
X121000* |
Y279000* |
Y301200D02* |
X182227D01* |
X121000D02* |
X131000Y303700D01* |
Y298700* |
X121000Y301200* |
X279000D02* |
X217773D01* |
X279000D02* |
X269000Y298700D01* |
Y303700* |
X279000Y301200* |
X121000Y284000D02* |
Y306200D01* |
X279000Y284000D02* |
Y306200D01* |
X185227Y302763D02* |
X185682Y303075D01* |
X186364Y304013* |
X186364D02* |
Y297450D01* |
X191364Y304013D02* |
X189091D01* |
X189091D02* |
X188864Y301200D01* |
X189091Y301513* |
X189091D02* |
X189773Y301825D01* |
X190455* |
X191136Y301513* |
X191136D02* |
X191591Y300888D01* |
X191591D02* |
X191818Y299950D01* |
X191591Y299325* |
X191364Y298388* |
X191364D02* |
X190909Y297763D01* |
X190909D02* |
X190227Y297450D01* |
X189545* |
X188864Y297763* |
X188864D02* |
X188636Y298075D01* |
X188409Y298700* |
X195000Y304013D02* |
X194318Y303700D01* |
X194091Y303075* |
Y302450* |
X194318Y301825* |
X194773Y301513* |
X194773D02* |
X195682Y301200D01* |
X196364Y300888* |
X196364D02* |
X196818Y300263D01* |
X196818D02* |
X197045Y299638D01* |
X197045D02* |
Y298700D01* |
X196818Y298075* |
X196591Y297763* |
X196591D02* |
X195909Y297450D01* |
X195000* |
X194318Y297763* |
X194318D02* |
X194091Y298075D01* |
X193864Y298700* |
Y299638* |
X193864D02* |
X194091Y300263D01* |
X194091D02* |
X194545Y300888D01* |
X194545D02* |
X195227Y301200D01* |
X196136Y301513* |
X196136D02* |
X196591Y301825D01* |
X196818Y302450* |
Y303075* |
X196591Y303700* |
X195909Y304013* |
X195909D02* |
X195000D01* |
X200455D02* |
X199773Y303700D01* |
X199318Y302763* |
X199318D02* |
X199091Y301200D01* |
Y300263* |
X199091D02* |
X199318Y298700D01* |
X199773Y297763* |
X199773D02* |
X200455Y297450D01* |
X200909* |
X201591Y297763* |
X201591D02* |
X202045Y298700D01* |
X202273Y300263* |
X202273D02* |
Y301200D01* |
X202045Y302763* |
X202045D02* |
X201591Y303700D01* |
X200909Y304013* |
X200909D02* |
X200455D01* |
X204318Y301825D02* |
Y297450D01* |
Y300575D02* |
X205000Y301513D01* |
X205000D02* |
X205455Y301825D01* |
X206136* |
X206591Y301513* |
X206591D02* |
X206818Y300575D01* |
Y297450* |
Y300575D02* |
X207500Y301513D01* |
X207500D02* |
X207955Y301825D01* |
X208636* |
X209091Y301513* |
X209091D02* |
X209318Y300575D01* |
Y297450* |
X211364Y304013D02* |
X211591Y303700D01* |
X211818Y304013* |
X211818D02* |
X211591Y304325D01* |
X211364Y304013* |
X211591Y301825D02* |
Y297450D01* |
X213864Y304013D02* |
Y297450D01* |
X306000Y121000D02* |
Y193250D01* |
Y121000D02* |
X303500Y131000D01* |
X308500* |
X306000Y121000* |
Y279000D02* |
Y206750D01* |
Y279000D02* |
X308500Y269000D01* |
X303500* |
X306000Y279000* |
X284000Y121000D02* |
X311000D01* |
X284000Y279000D02* |
X311000D01* |
X291227Y201563D02* |
X291682Y201875D01* |
X292364Y202813* |
X292364D02* |
Y196250D01* |
X297364Y202813D02* |
X295091D01* |
X295091D02* |
X294864Y200000D01* |
X295091Y200313* |
X295091D02* |
X295773Y200625D01* |
X296455* |
X297136Y200313* |
X297136D02* |
X297591Y199688D01* |
X297591D02* |
X297818Y198750D01* |
X297591Y198125* |
X297364Y197188* |
X297364D02* |
X296909Y196563D01* |
X296909D02* |
X296227Y196250D01* |
X295545* |
X294864Y196563* |
X294864D02* |
X294636Y196875D01* |
X294409Y197500* |
X301000Y202813D02* |
X300318Y202500D01* |
X300091Y201875* |
Y201250* |
X300318Y200625* |
X300773Y200313* |
X300773D02* |
X301682Y200000D01* |
X302364Y199688* |
X302364D02* |
X302818Y199063D01* |
X302818D02* |
X303045Y198438D01* |
X303045D02* |
Y197500D01* |
X302818Y196875* |
X302591Y196563* |
X302591D02* |
X301909Y196250D01* |
X301000* |
X300318Y196563* |
X300318D02* |
X300091Y196875D01* |
X299864Y197500* |
Y198438* |
X299864D02* |
X300091Y199063D01* |
X300091D02* |
X300545Y199688D01* |
X300545D02* |
X301227Y200000D01* |
X302136Y200313* |
X302136D02* |
X302591Y200625D01* |
X302818Y201250* |
Y201875* |
X302591Y202500* |
X301909Y202813* |
X301909D02* |
X301000D01* |
X306455D02* |
X305773Y202500D01* |
X305318Y201563* |
X305318D02* |
X305091Y200000D01* |
Y199063* |
X305091D02* |
X305318Y197500D01* |
X305773Y196563* |
X305773D02* |
X306455Y196250D01* |
X306909* |
X307591Y196563* |
X307591D02* |
X308045Y197500D01* |
X308273Y199063* |
X308273D02* |
Y200000D01* |
X308045Y201563* |
X308045D02* |
X307591Y202500D01* |
X306909Y202813* |
X306909D02* |
X306455D01* |
X310318Y200625D02* |
Y196250D01* |
Y199375D02* |
X311000Y200313D01* |
X311000D02* |
X311455Y200625D01* |
X312136* |
X312591Y200313* |
X312591D02* |
X312818Y199375D01* |
Y196250* |
Y199375D02* |
X313500Y200313D01* |
X313500D02* |
X313955Y200625D01* |
X314636* |
X315091Y200313* |
X315091D02* |
X315318Y199375D01* |
Y196250* |
X317364Y202813D02* |
X317591Y202500D01* |
X317818Y202813* |
X317818D02* |
X317591Y203125D01* |
X317364Y202813* |
X317591Y200625D02* |
Y196250D01* |
X319864Y202813D02* |
Y196250D01* |
X0Y0D02* |
M02* |
/Modules/Clock/CLKGEN01B/opravit.txt |
---|
0,0 → 1,10 |
moc blizko soucastky. |
Pouzdro diody musi byt SMA. |
Neni oznacena jednicka u U1. |
Vylepsit blokovani U1. Pridat prokovy. |
Zrusit paralelni vstup. |
Opravit tvary plosek pro odmaskovani, zvetsit plosky pod Si570 pro lepsi kontrolu pri letovani. |
/Modules/Clock/CLKGEN01B/SW/DG8SAQ synthesiser_Emulator/HardwareProfile - PICDEM FSUSB.bak |
---|
0,0 → 1,210 |
/******************************************************************** |
FileName: HardwareProfile - PICDEM FSUSB.h |
Dependencies: See INCLUDES section |
Processor: PIC18 USB Microcontrollers |
Hardware: PICDEM FSUSB |
Compiler: Microchip C18 |
Company: Microchip Technology, Inc. |
Software License Agreement: |
The software supplied herewith by Microchip Technology Incorporated |
(the Company) for its PIC® Microcontroller is intended and |
supplied to you, the Companys customer, for use solely and |
exclusively on Microchip PIC Microcontroller products. The |
software is owned by the Company and/or its supplier, and is |
protected under applicable copyright laws. All rights are reserved. |
Any use in violation of the foregoing restrictions may subject the |
user to criminal sanctions under applicable laws, as well as to |
civil liability for the breach of the terms and conditions of this |
license. |
THIS SOFTWARE IS PROVIDED IN AN AS IS CONDITION. NO WARRANTIES, |
WHETHER EXPRESS, IMPLIED OR STATUTORY, INCLUDING, BUT NOT LIMITED |
TO, IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A |
PARTICULAR PURPOSE APPLY TO THIS SOFTWARE. THE COMPANY SHALL NOT, |
IN ANY CIRCUMSTANCES, BE LIABLE FOR SPECIAL, INCIDENTAL OR |
CONSEQUENTIAL DAMAGES, FOR ANY REASON WHATSOEVER. |
******************************************************************** |
File Description: |
Change History: |
Rev Date Description |
1.0 11/19/2004 Initial release |
2.1 02/26/2007 Updated for simplicity and to use common |
coding style |
2.3 09/15/2008 Broke out each hardware platform into its own |
"HardwareProfile - xxx.h" file |
********************************************************************/ |
#ifndef HARDWARE_PROFILE_PICDEM_FSUSB_H |
#define HARDWARE_PROFILE_PICDEM_FSUSB_H |
/*******************************************************************/ |
/******** USB stack hardware selection options *********************/ |
/*******************************************************************/ |
//This section is the set of definitions required by the MCHPFSUSB |
// framework. These definitions tell the firmware what mode it is |
// running in, and where it can find the results to some information |
// that the stack needs. |
//These definitions are required by every application developed with |
// this revision of the MCHPFSUSB framework. Please review each |
// option carefully and determine which options are desired/required |
// for your application. |
//The PICDEM FS USB Demo Board platform supports the USE_SELF_POWER_SENSE_IO |
//and USE_USB_BUS_SENSE_IO features. Uncomment the below line(s) if |
//it is desireable to use one or both of the features. |
//#define USE_SELF_POWER_SENSE_IO |
#define tris_self_power TRISAbits.TRISA2 // Input |
#if defined(USE_SELF_POWER_SENSE_IO) |
#define self_power PORTAbits.RA2 |
#else |
#define self_power 1 |
#endif |
//#define USE_USB_BUS_SENSE_IO |
#define tris_usb_bus_sense TRISAbits.TRISA1 // Input |
#if defined(USE_USB_BUS_SENSE_IO) |
#define USB_BUS_SENSE PORTAbits.RA1 |
#else |
#define USB_BUS_SENSE 1 |
#endif |
//Uncomment the following line to make the output HEX of this |
// project work with the MCHPUSB Bootloader |
//#define PROGRAMMABLE_WITH_USB_MCHPUSB_BOOTLOADER |
//Uncomment the following line to make the output HEX of this |
// project work with the HID Bootloader |
#define PROGRAMMABLE_WITH_USB_HID_BOOTLOADER |
/*******************************************************************/ |
/******** MDD File System selection options ************************/ |
/*******************************************************************/ |
#define USE_PIC18 |
#define ERASE_BLOCK_SIZE 64 |
#define WRITE_BLOCK_SIZE 32 |
/*******************************************************************/ |
/*******************************************************************/ |
/*******************************************************************/ |
/******** Application specific definitions *************************/ |
/*******************************************************************/ |
/*******************************************************************/ |
/*******************************************************************/ |
/** Board definition ***********************************************/ |
//These defintions will tell the main() function which board is |
// currently selected. This will allow the application to add |
// the correct configuration bits as wells use the correct |
// initialization functions for the board. These defitions are only |
// required in the stack provided demos. They are not required in |
// final application design. |
#define DEMO_BOARD PICDEM_FS_USB |
#define PICDEM_FS_USB |
#define CLOCK_FREQ 48000000 |
/** LED ************************************************************/ |
#define mInitAllLEDs() LATD &= 0xF0; TRISD &= 0xF0; |
#define mLED_1 LATDbits.LATD0 |
#define mLED_2 LATDbits.LATD1 |
#define mLED_3 LATDbits.LATD2 |
#define mLED_4 LATDbits.LATD3 |
#define mGetLED_1() mLED_1 |
#define mGetLED_2() mLED_2 |
#define mGetLED_3() mLED_3 |
#define mGetLED_4() mLED_4 |
#define mLED_1_On() mLED_1 = 1; |
#define mLED_2_On() mLED_2 = 1; |
#define mLED_3_On() mLED_3 = 1; |
#define mLED_4_On() mLED_4 = 1; |
#define mLED_1_Off() mLED_1 = 0; |
#define mLED_2_Off() mLED_2 = 0; |
#define mLED_3_Off() mLED_3 = 0; |
#define mLED_4_Off() mLED_4 = 0; |
#define mLED_1_Toggle() mLED_1 = !mLED_1; |
#define mLED_2_Toggle() mLED_2 = !mLED_2; |
#define mLED_3_Toggle() mLED_3 = !mLED_3; |
#define mLED_4_Toggle() mLED_4 = !mLED_4; |
/** SWITCH *********************************************************/ |
#define mInitAllSwitches() TRISBbits.TRISB4=1;TRISBbits.TRISB5=1; |
#define mInitSwitch2() TRISBbits.TRISB4=1; |
#define mInitSwitch3() TRISBbits.TRISB5=1; |
#define sw2 PORTBbits.RB4 |
#define sw3 PORTBbits.RB5 |
/** POT ************************************************************/ |
#define mInitPOT() {TRISAbits.TRISA0=1;ADCON0=0x01;ADCON2=0x3C;ADCON2bits.ADFM = 1;} |
/** SPI : Chip Select Lines ****************************************/ |
#define tris_cs_temp_sensor TRISBbits.TRISB2 // Output |
#define cs_temp_sensor LATBbits.LATB2 |
/** USB external transceiver interface (optional) ******************/ |
#define tris_usb_vpo TRISBbits.TRISB3 // Output |
#define tris_usb_vmo TRISBbits.TRISB2 // Output |
#define tris_usb_rcv TRISAbits.TRISA4 // Input |
#define tris_usb_vp TRISCbits.TRISC5 // Input |
#define tris_usb_vm TRISCbits.TRISC4 // Input |
#define tris_usb_oe TRISCbits.TRISC1 // Output |
#define tris_usb_suspnd TRISAbits.TRISA3 // Output |
/** TRIS ***********************************************************/ |
#define INPUT_PIN 1 |
#define OUTPUT_PIN 0 |
#if defined(YAS) |
#define RXTX LATBbits.LATB5 |
#else |
#define RXTX LATAbits.LATA2 |
#endif |
#define BPF_S0 LATAbits.LATA0 |
#define BPF_S1 LATAbits.LATA1 |
#if defined(YAS) |
#define BPF_S2 LATAbits.LATA2 |
#endif |
#define BPF_S0_STATE PORTAbits.RA0 |
#define BPF_S1_STATE PORTAbits.RA1 |
#if defined(YAS) |
#define BPF_S2_STATE PORTAbits.RA2 |
#endif |
#define PADDLE_DIT PORTBbits.RB6 |
#define PADDLE_DAH PORTBbits.RB7 |
#define LPF_0 LATAbits.LATA3 |
#define LPF_1 LATAbits.LATA4 |
#define LPF_2 LATAbits.LATA5 |
#if defined(YAS) |
#else |
#define LPF_3 LATBbits.LATB2 |
#define LPF_4 LATBbits.LATB3 |
#define LPF_5 LATBbits.LATB4 |
#define LPF_6 LATBbits.LATB5 |
#endif |
/** S W I T C H *****************************************************/ |
#define mInitSwitch() TRISCbits.TRISC2 = 1; |
#define UserSW PORTCbits.RC2 |
#define mLED_Both_Off() {mLED_1_Off(); mLED_2_Off();} |
#define mLED_Both_On() {mLED_1_On(); mLED_2_On();} |
#define mLED_Only_1_On() {mLED_1_On(); mLED_2_Off();} |
#define mLED_Only_2_On() {mLED_1_Off(); mLED_2_On();} |
#endif //HARDWARE_PROFILE_PICDEM_FSUSB_H |
/Modules/Clock/CLKGEN01B/SW/DG8SAQ synthesiser_Emulator/HardwareProfile - PICDEM FSUSB.h |
---|
0,0 → 1,210 |
/******************************************************************** |
FileName: HardwareProfile - PICDEM FSUSB.h |
Dependencies: See INCLUDES section |
Processor: PIC18 USB Microcontrollers |
Hardware: PICDEM FSUSB |
Compiler: Microchip C18 |
Company: Microchip Technology, Inc. |
Software License Agreement: |
The software supplied herewith by Microchip Technology Incorporated |
(the Company) for its PIC® Microcontroller is intended and |
supplied to you, the Companys customer, for use solely and |
exclusively on Microchip PIC Microcontroller products. The |
software is owned by the Company and/or its supplier, and is |
protected under applicable copyright laws. All rights are reserved. |
Any use in violation of the foregoing restrictions may subject the |
user to criminal sanctions under applicable laws, as well as to |
civil liability for the breach of the terms and conditions of this |
license. |
THIS SOFTWARE IS PROVIDED IN AN AS IS CONDITION. NO WARRANTIES, |
WHETHER EXPRESS, IMPLIED OR STATUTORY, INCLUDING, BUT NOT LIMITED |
TO, IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A |
PARTICULAR PURPOSE APPLY TO THIS SOFTWARE. THE COMPANY SHALL NOT, |
IN ANY CIRCUMSTANCES, BE LIABLE FOR SPECIAL, INCIDENTAL OR |
CONSEQUENTIAL DAMAGES, FOR ANY REASON WHATSOEVER. |
******************************************************************** |
File Description: |
Change History: |
Rev Date Description |
1.0 11/19/2004 Initial release |
2.1 02/26/2007 Updated for simplicity and to use common |
coding style |
2.3 09/15/2008 Broke out each hardware platform into its own |
"HardwareProfile - xxx.h" file |
********************************************************************/ |
#ifndef HARDWARE_PROFILE_PICDEM_FSUSB_H |
#define HARDWARE_PROFILE_PICDEM_FSUSB_H |
/*******************************************************************/ |
/******** USB stack hardware selection options *********************/ |
/*******************************************************************/ |
//This section is the set of definitions required by the MCHPFSUSB |
// framework. These definitions tell the firmware what mode it is |
// running in, and where it can find the results to some information |
// that the stack needs. |
//These definitions are required by every application developed with |
// this revision of the MCHPFSUSB framework. Please review each |
// option carefully and determine which options are desired/required |
// for your application. |
//The PICDEM FS USB Demo Board platform supports the USE_SELF_POWER_SENSE_IO |
//and USE_USB_BUS_SENSE_IO features. Uncomment the below line(s) if |
//it is desireable to use one or both of the features. |
//#define USE_SELF_POWER_SENSE_IO |
#define tris_self_power TRISAbits.TRISA2 // Input |
#if defined(USE_SELF_POWER_SENSE_IO) |
#define self_power PORTAbits.RA2 |
#else |
#define self_power 1 |
#endif |
//#define USE_USB_BUS_SENSE_IO |
#define tris_usb_bus_sense TRISAbits.TRISA1 // Input |
#if defined(USE_USB_BUS_SENSE_IO) |
#define USB_BUS_SENSE PORTAbits.RA1 |
#else |
#define USB_BUS_SENSE 1 |
#endif |
//Uncomment the following line to make the output HEX of this |
// project work with the MCHPUSB Bootloader |
#define PROGRAMMABLE_WITH_USB_MCHPUSB_BOOTLOADER |
//Uncomment the following line to make the output HEX of this |
// project work with the HID Bootloader |
//#define PROGRAMMABLE_WITH_USB_HID_BOOTLOADER |
/*******************************************************************/ |
/******** MDD File System selection options ************************/ |
/*******************************************************************/ |
#define USE_PIC18 |
#define ERASE_BLOCK_SIZE 64 |
#define WRITE_BLOCK_SIZE 32 |
/*******************************************************************/ |
/*******************************************************************/ |
/*******************************************************************/ |
/******** Application specific definitions *************************/ |
/*******************************************************************/ |
/*******************************************************************/ |
/*******************************************************************/ |
/** Board definition ***********************************************/ |
//These defintions will tell the main() function which board is |
// currently selected. This will allow the application to add |
// the correct configuration bits as wells use the correct |
// initialization functions for the board. These defitions are only |
// required in the stack provided demos. They are not required in |
// final application design. |
#define DEMO_BOARD PICDEM_FS_USB |
#define PICDEM_FS_USB |
#define CLOCK_FREQ 48000000 |
/** LED ************************************************************/ |
#define mInitAllLEDs() LATD &= 0xF0; TRISD &= 0xF0; |
#define mLED_1 LATDbits.LATD0 |
#define mLED_2 LATDbits.LATD1 |
#define mLED_3 LATDbits.LATD2 |
#define mLED_4 LATDbits.LATD3 |
#define mGetLED_1() mLED_1 |
#define mGetLED_2() mLED_2 |
#define mGetLED_3() mLED_3 |
#define mGetLED_4() mLED_4 |
#define mLED_1_On() mLED_1 = 1; |
#define mLED_2_On() mLED_2 = 1; |
#define mLED_3_On() mLED_3 = 1; |
#define mLED_4_On() mLED_4 = 1; |
#define mLED_1_Off() mLED_1 = 0; |
#define mLED_2_Off() mLED_2 = 0; |
#define mLED_3_Off() mLED_3 = 0; |
#define mLED_4_Off() mLED_4 = 0; |
#define mLED_1_Toggle() mLED_1 = !mLED_1; |
#define mLED_2_Toggle() mLED_2 = !mLED_2; |
#define mLED_3_Toggle() mLED_3 = !mLED_3; |
#define mLED_4_Toggle() mLED_4 = !mLED_4; |
/** SWITCH *********************************************************/ |
#define mInitAllSwitches() TRISBbits.TRISB4=1;TRISBbits.TRISB5=1; |
#define mInitSwitch2() TRISBbits.TRISB4=1; |
#define mInitSwitch3() TRISBbits.TRISB5=1; |
#define sw2 PORTBbits.RB4 |
#define sw3 PORTBbits.RB5 |
/** POT ************************************************************/ |
#define mInitPOT() {TRISAbits.TRISA0=1;ADCON0=0x01;ADCON2=0x3C;ADCON2bits.ADFM = 1;} |
/** SPI : Chip Select Lines ****************************************/ |
#define tris_cs_temp_sensor TRISBbits.TRISB2 // Output |
#define cs_temp_sensor LATBbits.LATB2 |
/** USB external transceiver interface (optional) ******************/ |
#define tris_usb_vpo TRISBbits.TRISB3 // Output |
#define tris_usb_vmo TRISBbits.TRISB2 // Output |
#define tris_usb_rcv TRISAbits.TRISA4 // Input |
#define tris_usb_vp TRISCbits.TRISC5 // Input |
#define tris_usb_vm TRISCbits.TRISC4 // Input |
#define tris_usb_oe TRISCbits.TRISC1 // Output |
#define tris_usb_suspnd TRISAbits.TRISA3 // Output |
/** TRIS ***********************************************************/ |
#define INPUT_PIN 1 |
#define OUTPUT_PIN 0 |
#if defined(YAS) |
#define RXTX LATBbits.LATB5 |
#else |
#define RXTX LATAbits.LATA2 |
#endif |
#define BPF_S0 LATAbits.LATA0 |
#define BPF_S1 LATAbits.LATA1 |
#if defined(YAS) |
#define BPF_S2 LATAbits.LATA2 |
#endif |
#define BPF_S0_STATE PORTAbits.RA0 |
#define BPF_S1_STATE PORTAbits.RA1 |
#if defined(YAS) |
#define BPF_S2_STATE PORTAbits.RA2 |
#endif |
#define PADDLE_DIT PORTBbits.RB6 |
#define PADDLE_DAH PORTBbits.RB7 |
#define LPF_0 LATAbits.LATA3 |
#define LPF_1 LATAbits.LATA4 |
#define LPF_2 LATAbits.LATA5 |
#if defined(YAS) |
#else |
#define LPF_3 LATBbits.LATB2 |
#define LPF_4 LATBbits.LATB3 |
#define LPF_5 LATBbits.LATB4 |
#define LPF_6 LATBbits.LATB5 |
#endif |
/** S W I T C H *****************************************************/ |
#define mInitSwitch() TRISCbits.TRISC2 = 1; |
#define UserSW PORTCbits.RC2 |
#define mLED_Both_Off() {mLED_1_Off(); mLED_2_Off();} |
#define mLED_Both_On() {mLED_1_On(); mLED_2_On();} |
#define mLED_Only_1_On() {mLED_1_On(); mLED_2_Off();} |
#define mLED_Only_2_On() {mLED_1_Off(); mLED_2_On();} |
#endif //HARDWARE_PROFILE_PICDEM_FSUSB_H |
/Modules/Clock/CLKGEN01B/SW/DG8SAQ synthesiser_Emulator/HardwareProfile.h |
---|
0,0 → 1,103 |
/******************************************************************** |
FileName: HardwareProfile.h |
Dependencies: See INCLUDES section |
Processor: PIC18, PIC24, or PIC32 USB Microcontrollers |
Hardware: The code is natively intended to be used on the |
following hardware platforms: |
PICDEM FS USB Demo Board |
PIC18F46J50 FS USB Plug-In Module |
PIC18F87J50 FS USB Plug-In Module |
Explorer 16 + PIC24 or PIC32 USB PIMs |
PIC24F Starter Kit |
Low Pin Count USB Development Kit |
The firmware may be modified for use on other USB |
platforms by editing this file (HardwareProfile.h) |
Compiler: Microchip C18 (for PIC18), C30 (for PIC24), |
or C32 (for PIC32) |
Company: Microchip Technology, Inc. |
Software License Agreement: |
The software supplied herewith by Microchip Technology Incorporated |
(the Company) for its PIC® Microcontroller is intended and |
supplied to you, the Companys customer, for use solely and |
exclusively on Microchip PIC Microcontroller products. The |
software is owned by the Company and/or its supplier, and is |
protected under applicable copyright laws. All rights are reserved. |
Any use in violation of the foregoing restrictions may subject the |
user to criminal sanctions under applicable laws, as well as to |
civil liability for the breach of the terms and conditions of this |
license. |
THIS SOFTWARE IS PROVIDED IN AN AS IS CONDITION. NO WARRANTIES, |
WHETHER EXPRESS, IMPLIED OR STATUTORY, INCLUDING, BUT NOT LIMITED |
TO, IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A |
PARTICULAR PURPOSE APPLY TO THIS SOFTWARE. THE COMPANY SHALL NOT, |
IN ANY CIRCUMSTANCES, BE LIABLE FOR SPECIAL, INCIDENTAL OR |
CONSEQUENTIAL DAMAGES, FOR ANY REASON WHATSOEVER. |
******************************************************************** |
File Description: |
Change History: |
Rev Date Description |
1.0 11/19/2004 Initial release |
2.1 02/26/2007 Updated for simplicity and to use common |
coding style |
2.3 09/15/2008 Broke out each hardware platform into its own |
"HardwareProfile - xxx.h" file |
********************************************************************/ |
#ifndef HARDWARE_PROFILE_H |
#define HARDWARE_PROFILE_H |
//#define DEMO_BOARD USER_DEFINED_BOARD |
#if !defined(DEMO_BOARD) |
#if defined(__C32__) |
#if defined(__32MX460F512L__) |
#if defined(PIC32MX460F512L_PIM) |
#include "HardwareProfile - PIC32MX460F512L PIM.h" |
#elif defined(PIC32_USB_STARTER_KIT) |
#include "HardwareProfile - PIC32 USB Starter Kit.h" |
#else |
#include "HardwareProfile - UBW32.h" |
#endif |
#elif defined(__32MX795F512L__) |
#if defined(PIC32MX795F512L_PIM) |
#include "HardwareProfile - PIC32MX795F512L PIM.h" |
#elif defined(PIC32_USB_STARTER_KIT) |
//PIC32 USB Starter Kit II |
#include "HardwareProfile - PIC32 USB Starter Kit.h" |
#endif |
#endif |
#endif |
#if defined(__C30__) |
#if defined(__PIC24FJ256GB110__) |
#include "HardwareProfile - PIC24FJ256GB110 PIM.h" |
#elif defined(__PIC24FJ256GB106__) |
#include "HardwareProfile - PIC24F Starter Kit.h" |
#endif |
#endif |
#if defined(__18CXX) |
#if defined(__18F4550) |
#include "HardwareProfile - UBW.h" |
#elif defined(__18F87J50) |
#include "HardwareProfile - PIC18F87J50 PIM.h" |
#elif defined(__18F14K50) |
#include "HardwareProfile - Low Pin Count USB Development Kit.h" |
#elif defined(__18F46J50) |
#include "HardwareProfile - PIC18F46J50 PIM.h" |
#elif defined(__18F2550) |
#include "HardwareProfile - UBW.h" |
#endif |
#endif |
#endif |
#if !defined(DEMO_BOARD) |
#error "Demo board not defined. Either define DEMO_BOARD for a custom board or select the correct processor for the demo board." |
#endif |
#endif //HARDWARE_PROFILE_H |
/Modules/Clock/CLKGEN01B/SW/DG8SAQ synthesiser_Emulator/README.txt |
---|
0,0 → 1,268 |
NEWS |
==== |
11.11.2010 |
Firmware was edited to work without bootloader falashing tool. |
So simply program PIC18F4550.hex in to PIC18F4550v01A module with 20MHz crystal. |
Connect it via I2C to CLKGEN01A. And you have wide tunable LO compatible with DG8SAQ USB Si570 synthesiser! |
14 Apr 2009 |
The UBW has 1 power indicator LED, and 2 blinking LED's usually used to indicate the |
status of USB connections with the PC. |
Charles (and maybe some of you) finds the blinking LED's to be too bright and |
distracting. |
So I have implemented a toggle switch (the PRG button) function for you to turn |
the blinking on or off. |
Once turned on or off, the setting is stored in EEPROM, so it will continue to |
behave this way when you power off and next power on the UBW. |
The default setting is LED blinking ON. So when you (re)flash the firmware, the |
default is active. |
14 Mar 2009 |
I have just released the latest version of my UBW Emulator firmware. It now |
has (almost) all the functionalities of Fred (PE0FKO)'s v15.10 firmware for |
ATTINY45 and ATTINY85. All the functions are accessible with Winrad with Fred's |
ExtIO_Si570_v0.8.dll, including the wonderful option of setting of the |
filter crossover points from the software. The crossover points are stored |
in the UBW EEPROM so it will persist until changed again. Another new feature |
is the setting of floating point offset and multiplier in the firmware. This |
complements the setting of offset and (usually) integer multiplier in the PC |
SDR software. |
Winrad/ExtIO can be used to calibrate the UBW/Si570 (2 methods are available - |
calibrating the default freq, or against a known station freq, eg. WWV). |
Once calibrated, there is no need to calibrate other software - both set |
freq by value and set freq by register will give the correct calibrated |
freq now. In PowerSDR, leave the fxtal freq at the default 114.285 Mhz. |
The new UBW Emulator works perfectly with Rocky v3.6, PowerSDR-sr40, |
and PowerSDR-IQ. (set the Fxtal freq in the setup tab to the default 114.285 Mhz). |
With Fred's v15.10 firmware in the ATTINY, users can use the ATTINY based USB |
interfaces to do auto band switching of the mobo for Rx. To be able to do both Rx |
and Tx BPF switching, Rx/Tx switching (PTT), and external LPF switching, from a |
single USB connection, there are only 3 uC solutions that I know of: |
1. The UBW (or UBW32) with this UBW firmware |
2. Dave Brainerd's HSUSB, with firmware by Christos |
3. Arduino board (or clone), with PE0FKO firmware modified by Loftur TF3LJ. |
See Message #31623 |
UBW EMULATOR |
============ |
This is the UBW emulator firmware for emulating the AVR based |
DG8SAQ USB Si570 synthesiser, and Tony's USB-i2C Interface. |
It emulates most of the functions of the orginal DG8SAQ firmware. |
In addition, it emulates the new functions of the PE0FKO firmware (v15.10) |
by Fred, with smooth tune, calibration, setting of Auto BPF crossover |
points, setting of startup freq etc. After calibration of the UBW, |
both set freq by value (used by Rocky) and set freq by register (used by |
PowerSDR-sr40, with the fxtal freq set to the default 114.285 Mhz) will |
give the correct calibrated freq output from the Si570. No further |
calibration with the PC software is required. |
I would like to thank Joe Hopster who wrote the original UBW Si570 |
code, Tom DG8SAQ for the AVR synthesiser code, Mike Collins who has |
been invaluable in helping with the debugging and testing, John Fisher |
for the code example on Si570 slide, Edson for advice on BPF selection coding, |
bug fixing and testing, Fred for help to emulate his v15.7 firmware, |
and others who have contributed so much to Softrock and Si570. |
The emulator firmware HEX file is loaded in the UBW (either PIC |
18F2455, 18F2550 or 18F2553 version) by the Microchip USB bootloader. |
See UBW website for more details about the bootloader. |
Before starting the firmware (via the reset button, or on power up by |
plugging in the USB), the UBW should be connected via i2c interface to |
an Si570. Power up the Si570 before the UBW. |
There are several ways for connecting the UBW with the Si570. |
(1) Connection is with 4 wires, +5V, Gnd, SCL, SDA, to an i2c |
level converter, and then to Si570 with 4 wires, +3V3, Gnd, SCL, and |
SDA. If you use the WB6DHW Si570 board, it has the level converter built-in. So |
You can just connect the 4 wires to the header pins on the WB6DHW board. Note |
that the order of the 4 wires on the UBW is: GND, VCC, RB0, RB1. The order |
of the 4 header pins on WB6DHW board is: +5V, GND, SDA, SCL. |
(2) If you are not using an IC such as GTL2002 for +5V to +3V3 conversion, you |
can use discretes with the Philips (see AN97055 from Philips) |
i2c level converter circuit using 2 BS170's. |
(3) The UBW Emulator firmware sets up the SCL and SDA pins as open collector outputs. |
So you can just connect 3 wires from the UBW to the +3v3 Si570 on the Softrock: |
GND, SCL and SDA. The SCL and SDA lines will have pullup resistors to +3V3 on the |
Softrock pcb. This has been tested to work. HOwever, there is the risk that |
if the UBW firmware malfunctions for some reason (eg loading the wrong firmware instead |
of the Emulator firmware), the RB0 and RB1 (SDA and SCL) pins may go to output high of |
+5V, which may damage the Si570 or other +3V3 chips. |
The PC will detect the new USB device as a DG8SAQ-I2C device and as |
far as the PC is concerned, the UBW behaves almost exactly like the |
USB Si570 synthesiser (which is based on the AVR uController). When |
prompted by the PC to install the driver for this device, you install |
the AVR USB driver (from the USB Si570 synthesiser software download). |
You will also need the libusb0.dll and libusb0.sys files installed |
for the PC software to work (available also from the USB Si570 synthesiser |
software package). |
The following PC software programs have been tested with the UBW emulation so far: |
1. SI570_USB_Test.exe from the USB Si570 synthesiser software package |
2. USB_Synth.exe from the USB Si570 synthesiser software package |
2. Rocky v3.6 |
3. Guido's PowerSDR v1.9.0 sr40 |
4. WinRad with Fred's ExtIO_Si570_v0.8.dll |
5. Christos's PowerSDR-IQ v1.12.20 |
SI570_USB_Test.exe can be used test the USB communication and UBW |
functions,and for calibrating the UBW-Si570 ie. |
(1) Click "Read Si570 Register" - the default Si570 startup frequency |
and register values will be displayed |
(2) If you know the actual startup frequency of your Si570 (which is |
close to but generally not equal to the nominal startup freq of 56.32 |
Mhz), you can do the calibration now by inputting the actual freq in the |
text box to the left of the "cal on startup freq", and then hit "cal |
on startup freq". The UBW-Si570 is now calibrated for "set freq by |
value". The calibration is stored in the EEPROM of the UBW and you do |
not need to re-calibrate again unless you reload the UBW firmware from |
the .hex file. |
(3) Now you can input any freq desired in the text box and hit either |
"set freq by value" or "set freq by register". The si570 should now |
output the freq set by you. It should be accurate as set, and can be |
confirmed with an external freq counter. |
Many of the functions of the SI570_USB_Test.exe have been implemented, |
including Paddle input, RXTX level, etc. |
Both the "old" and "new" (with new icon) versions of USB_Synth.exe work in setting |
the Si570 freq. The old version uses set freq by value, and the new version |
(with enhancements) uses set freq by register. |
If the SI570_USB_Test run is OK, you can fire up Rocky v3.6 to use the |
Si570-USB functionality. Rocky uses the "set freq by value" method. You can use |
the Rocky calibration function with the UBW, but it should not be necessary and should |
be avoided. Use the calibration method in WinRad (see below under Calibration) or |
the SI570_USB_Test.exe method (see above). |
PowerSDR works by "set Freq by Register" method. You can change freq by the band buttons |
or sliding the freq up and down with the mouse. Leave the Fxtal |
freq in PowerSDR "Setup" to the default 114.285 Mhz. There is no need for |
further calibration. |
To use Winrad, you have to download the ExtIO_Si570.dll by Fred PE0FKO. Put the v0.8 |
dll in the same directory as Winrad (usually installed in "c:\Program Files\Winrad" directory). |
Calibration |
=========== |
You can use Winrad (with ExtIO_Si570_v0.8.dll by Fred) to do the calibration. This is the |
easier (and preferred method). There are two calibration methods in ExtIO_Si570.dll. One is |
calibrating to the factory default freq of the Si570 (a value close to 56.32 Mhz). The |
other method is to tune Winrad to a known frequency station, eg. the WWV stations broadcasting |
at 2.5 Mhz, 5.0 Mhz, 10.0 Mhz, 15.0 Mhz etc., and then put in the actual frequencies. For |
example, you may find a good signal of WWV at 10.023 Mhz. So the "tuned" freq is 10.023 Mhz, |
but the "real" freq is 10.000 Mhz. So you enter this real freq in the box and the hit "calibrate" |
botton. |
Si570 calibration can also be done with SI570_USB_Test.exe software, |
to calibrate the startup freq accurately once after loading (or reloading) |
of the firmware .hex file. The calibration data are then stored in the UBW EEPROM. |
If UBW is not connected to the Si570 |
==================================== |
I have eliminated the readstartupconfiguration() step. So now the UBW will NOT hang |
when it is not connected to the i2c bus on startup. On connection to USB it will be |
recognized by the PC. |
Of course, if you try to communicate with the Si570 it will hang and disconnect from |
the USB if you don't have the Si570 connected at this time. |
Restoring EEPROM to factory default condition |
============================================= |
After the UBW EEPROM is corrupted (eg. by mis-calibration), you can restore the factory default |
by reloading the .hex file. (Thanks to Mike for the suggestion.). Alternatively, you can use |
SI570_USB_Test.exe to sent 41 (hex) in the "request" box, and ff (hex) in the "Value" box, |
then click "USB ctrl msg Data to Host". This then clears the EEPROM in the UBW to the default |
condition and when you reset the UBW (hit the reset botton on the uBW, or by powering off |
and then on again). |
Using Winrad, there is a "reset" botton at the "calibrate" tab which will do the same thing. |
Download |
======== |
The UBW emulation firmware and the source files can be found in |
Files->9V1AL->UBW emulation. |
IO Port Pin assignment |
====================== |
Pin assignments for the UBW are as follows: |
Pin Name Input/Output Active Remarks |
RA0 BPF_SO O H BPF select S0 |
RA1 BPF_S1 O H BPF select S1 |
S1,S0 selects 1 of 4 BPF's for Softrock |
RA2 RXTX O H PTT, H = Transmit |
RB0 SDA Open Collector For i2c connection to Si570 |
RB1 SCL Open Collector may need conversion to +3v3 |
in case of firmware failure |
(eg wrong firmware loaded) |
then RB0 and RB1 may be set |
to logic high output of +5V |
RB6 PADDLE_DIT I L Paddle DIT Input, active low |
RB7 PADDLE_DAH I L Paddle DAH Input, active low |
As internal pullup is enabled, |
there is no need to add external |
pullup resistors. Just ground the pin |
to activate. |
RA3-5, RB2-5 LPF_x O H LPF select pins |
This has to be customised for |
the LPF bank you use. |
Email me (lee188@singnet.com.sg) |
and I will sent you a customised hex file |
Connections to SR v6.3 and Mobo v3.6 |
===================================== |
UBW SRv6.3 Mobo v3.6 External Paddle |
RA0 - P7 Pin 1 - |
RA1 - P7 Pin 2 - |
RA2 PTT_I K6 Pin 1 - |
RB0 SDA - - |
RB1 SCL - - |
GND GND P10 Pin 2 Paddle Common |
RB6 - - Paddle dot (dit) |
RB7 - - Paddle dash (dah) |
- +5V P10 Pin 1 - |
/Modules/Clock/CLKGEN01B/SW/DG8SAQ synthesiser_Emulator/USB Device - MCHPUSB - Generic Driver - C18 - PIC18F4550.hex |
---|
0,0 → 1,1389 |
:020000040000FA |
:06000000FBEF2DF01200E1 |
:0600080004EF04F01200F9 |
:060018000CEF04F01200E1 |
:06080000FBEF2DF01200D9 |
:060808000CEF2CF01200C1 |
:0608180015EF2CF01200A8 |
:06082A000100425C000029 |
:08083000E901000005000000D1 |
:08083800D9CFE6FFE1CFD9FFA3 |
:10084000080EE126FD0EDBCF00F0FE0EDBCF01F03F |
:10085000050ED89001320032E804FBE100C02CF014 |
:1008600001C02DF014EC29F02BC0DEFF2CC0DEFF00 |
:100870002DC0DEFF2EC0DDFFDD52DD521F0EE76E04 |
:10088000FD0EDBCF04F0FE0EDBCF05F0E7500416C3 |
:10089000056A04C02CF005C02DF014EC29F02BC023 |
:1008A00000F02CC001F02DC002F02EC003F0306A21 |
:1008B000316A326A420E336E00C02BF001C02CF058 |
:1008C00002C02DF003C02EF0DBEC29F0040E2BC08B |
:1008D000DBFF050E2CC0DBFF060E2DC0DBFF070E75 |
:1008E0002EC0DBFFD9CFE9FFDACFEAFFEECF04F06D |
:1008F000EECF05F0EECF06F0EFCF07F0040EDBCF22 |
:1009000008F0050EDBCF09F0060EDBCF0AF0070E6C |
:10091000DBCF0BF008C030F009C031F00AC032F074 |
:100920000BC033F004C02BF005C02CF006C02DF036 |
:1009300007C02EF045EC29F02BC000F02CC001F0D0 |
:100940002DC002F02EC003F000C02AF001C02BF031 |
:1009500002C02CF003C02DF0080EE15C03E200D0D1 |
:10096000E16AE552E16EE552E7CFD9FF1200D9CF37 |
:10097000E6FFE1CFD9FF040EE126FB0EDBCF2BF023 |
:10098000FC0EDBCF2CF0FD0EDBCF2DF0FE0EDBCF0F |
:100990002EF0B9EC2AF0020E2CC0DBFF030E2DC0A6 |
:1009A000DBFF020EDBCF2CF0030EDBCF2DF014ECBF |
:1009B00029F02BC000F02CC001F02DC002F02EC099 |
:1009C00003F0306A316A326A420E336E00C02BF097 |
:1009D00001C02CF002C02DF003C02EF02EEC2AF046 |
:1009E000B9EC2AF02CC0DEFF2DC0DDFFFB0EDBCF03 |
:1009F00006F0FC0EDBCF07F0FD0EDBCF08F0FE0E9D |
:100A0000DBCF09F0020EDBCF2CF0030EDBCF2DF095 |
:100A100014EC29F02BC00AF02CC00BF02DC00CF008 |
:100A20002EC00DF00AC030F00BC031F00CC032F017 |
:100A30000DC033F006C02BF007C02CF008C02DF01D |
:100A400009C02EF044EC29F02BC002F02CC003F0BA |
:100A50002DC004F02EC005F0306A316A326A420EB1 |
:100A6000336E02C02BF003C02CF004C02DF005C083 |
:100A70002EF02EEC2AF0B9EC2AF02CC000F02DC09C |
:100A800001F0D9CFE9FFDACFEAFF0050EE2601509E |
:100A9000ED22DECF00F0DDCF01F000C0F3FF01C09A |
:100AA000F4FF040EE15C03E200D0E16AE552E16E7E |
:100AB000E552E7CFD9FF1200D9CFE6FFE1CFD9FF4A |
:100AC000060EE126896A926A0F0EC16EC290070E69 |
:100AD000B46E8A6AC30E936EF19E8B6A9468FC0EA4 |
:100AE0008B16941694848250040B01E0010E0101D0 |
:100AF000006F550E016F000EE66EE66A85EC2DF074 |
:100B0000E552E552550809E00101A56BF60EA66F06 |
:100B1000480EA76F720EA86F37D0020EDB6A030E65 |
:100B2000DB6A020EDBCF00F0030EDBCF01F0040E18 |
:100B3000005C000E015828E2010EE76E020EDBCFCA |
:100B400000F0030EDBCF01F0E7500026000E01227B |
:100B500000C0E6FF01C0E6FF85EC2DF0E552E5524E |
:100B6000E66E020EDBCFE9FF030EDBCFEAFFA50E38 |
:100B7000E926010EEA22E552E750EF6E020EDB2A6B |
:100B8000030E01E3DB2ACDD7A5C12AF0A6C12BF0C5 |
:100B9000A7C12CF0A8C12DF029EC29F02BC000F042 |
:100BA0002CC001F02DC002F02EC003F0306A316A73 |
:100BB000800E326E4B0E336E00C02BF001C02CF055 |
:100BC00002C02DF003C02EF0DBEC29F02BC0C6F1E3 |
:100BD0002CC0C7F12DC0C8F12EC0C9F10101010E12 |
:100BE000DE6FA06B9E6B9F6BCA6BCB6BCC6BCD6BC0 |
:100BF000050EE66EE66A85EC2DF0E552E5525508E5 |
:100C00000AE00101700EA16F3D0EA26F0A0EA36FE4 |
:100C1000070EA46F3BD0020EDB6A030EDB6A020EE6 |
:100C2000DBCF00F0030EDBCF01F0040E005C000E02 |
:100C300001582CE2050EE76E020EDBCF00F0030E2A |
:100C4000DBCF01F0E7500026000E0122010E002646 |
:100C5000000E012200C0E6FF01C0E6FF85EC2DF08A |
:100C6000E552E552E66E020EDBCFE9FF030EDBCF65 |
:100C7000EAFFA10EE926010EEA22E552E750EF6EE7 |
:100C8000020EDB2A030E01E3DB2AC9D70A0EE66E49 |
:100C9000E66A85EC2DF0E552E55255080AE00101BF |
:100CA000420ECE6F600ECF6F650ED06F3B0ED16FD0 |
:100CB00066D0020EDB6A030EDB6A020EDBCF00F0A9 |
:100CC000030EDBCF01F0020E005C000E01582EE295 |
:100CD0000A0EE76E020EDBCF02F0030EDBCF03F04D |
:100CE000E7500226000E0322010E0226000E032208 |
:100CF00002C0E6FF03C0E6FF85EC2DF0E552E552A9 |
:100D0000E66ED9CF00F0DACF01F0020EDB500024FE |
:100D1000E96E030EDB500120EA6EE552E750EF6EFC |
:100D2000020EDB2A030E01E3DB2AC7D7000EDFCF5A |
:100D30002CF0010EDBCF2DF014EC29F02BC000F0CD |
:100D40002CC001F02DC002F02EC003F0306A240E3A |
:100D5000316E740E326E490E336E00C02BF001C03E |
:100D60002CF002C02DF003C02EF0DBEC29F02BC0DC |
:100D7000CEF12CC0CFF12DC0D0F12EC0D1F10D0E8F |
:100D8000E66EE66A85EC2DF0E552E55255080BE07B |
:100D90000101DA6BDB6BDC6BDD6BD66BD76B200E86 |
:100DA000D86FD96B76D0020EDB6A030EDB6A020EB7 |
:100DB000DBCF00F0030EDBCF01F0040E005C000E71 |
:100DC00001582CE20D0EE76E020EDBCF00F0030E91 |
:100DD000DBCF01F0E7500026000E0122010E0026B5 |
:100DE000000E012200C0E6FF01C0E6FF85EC2DF0F9 |
:100DF000E552E552E66E020EDBCFE9FF030EDBCFD4 |
:100E0000EAFFDA0EE926010EEA22E552E750EF6E1C |
:100E1000020EDB2A030E01E3DB2AC9D7020EDB6ACE |
:100E2000030EDB6A020EDBCF00F0030EDBCF01F016 |
:100E3000040E005C000E01582CE20D0EE76E020E4F |
:100E4000DBCF00F0030EDBCF01F0E7500026000EF1 |
:100E50000122050E0026000E012200C0E6FF01C09F |
:100E6000E6FF85EC2DF0E552E552E66E020EDBCF93 |
:100E7000E9FF030EDBCFEAFFD60EE926010EEA22D8 |
:100E8000E552E750EF6E020EDB2A030E01E3DB2A88 |
:100E9000C9D7160EE66EE66A85EC2DF0E552E552EE |
:100EA000550801E1DDD000019A0E706F990E716F47 |
:100EB000190E726F410E736F746B756B080E766F3F |
:100EC000420E776F786B796B980E7A6F420E7B6F5C |
:100ED000020EDB6A030EDB6A020EDBCF00F0030EAC |
:100EE000DBCF01F0005C000E01583BE2020EDBCFCD |
:100EF000E9FF030EDBCFEAFF020ED890E936EA36AF |
:100F0000E806FBE1700EE926000EEA22EECFE6FFCE |
:100F1000EECFE6FFEECFE6FFEFCFE6FF28DDE552AE |
:100F2000E552E552E552F3CF00F0F4CF01F0020EA6 |
:100F3000DBCFE9FF030EDBCFEAFF010ED890E936E5 |
:100F4000EA36E806FBE1600EE926000EEA2200C060 |
:100F5000EEFF01C0EDFF020EDB2A030E01E3DB2AE8 |
:100F6000BBD7010E0001666F676B01010D6F0001B9 |
:100F70009C6B9D6B9E6B410E9F6FA06BA16B800E57 |
:100F8000A26F410EA36FA46BA56B100EA66F420E4D |
:100F9000A76FA86BA96B300EAA6F420EAB6FAC6B3C |
:100FA000AD6B680EAE6F420EAF6FB06BB16BA00E43 |
:100FB000B26F420EB36FB46BB56BF00EB66F420EEC |
:100FC000B76F020EDB6A030EDB6A020EDBCF00F0A6 |
:100FD000030EDBCF01F0070E005C000E01583BE270 |
:100FE000020EDBCFE9FF030EDBCFEAFF020ED89043 |
:100FF000E936EA36E806FBE19C0EE926000EEA2215 |
:10100000EECFE6FFEECFE6FFEECFE6FFEFCFE6FF57 |
:10101000AEDCE552E552E552E552F3CF00F0F4CFF5 |
:1010200001F0020EDBCFE9FF030EDBCFEAFF010E7A |
:10103000D890E936EA36E806FBE18C0EE926000E88 |
:10104000EA2200C0EEFF01C0EDFF020EDB2A030E14 |
:1010500001E3DB2ABAD7010E00019A6F9B6BDED049 |
:10106000020EDB6A030EDB6A020EDBCF00F0030E1A |
:10107000DBCF01F0040E005C000E01585FE2020EAF |
:101080002C6E2D6ADBCF31F0030EDBCF32F09BEC00 |
:101090002AF02AC000F02BC001F0160E0026000E28 |
:1010A0000122010E0026000E012200C0E6FF01C051 |
:1010B000E6FF85EC2DF0E552E552DF6E020E2C6E58 |
:1010C0002D6ADBCF31F0030EDBCF32F09BEC2AF040 |
:1010D0002AC000F02BC001F0010E0026000E0122F4 |
:1010E000160E0026000E0122010E0026000E01221F |
:1010F00000C0E6FF01C0E6FF85EC2DF0E552E552A9 |
:10110000E76E010EE7CFDBFF020EDBCFE9FF030E38 |
:10111000DBCFEAFF010ED890E936EA36E806FBE1BC |
:10112000600EE926000EEA22DECFEEFFDDCFEDFFF6 |
:10113000020EDB2A030E01E3DB2A96D766C00DF10F |
:10114000020EDB6A030EDB6A020EDBCF00F0030E39 |
:10115000DBCF01F0080E005C000E01585FE2020ECA |
:101160002C6E2D6ADBCF31F0030EDBCF32F09BEC1F |
:101170002AF02AC000F02BC001F0160E0026000E47 |
:101180000122110E0026000E012200C0E6FF01C060 |
:10119000E6FF85EC2DF0E552E552DF6E020E2C6E77 |
:1011A0002D6ADBCF31F0030EDBCF32F09BEC2AF05F |
:1011B0002AC000F02BC001F0010E0026000E012213 |
:1011C000160E0026000E0122110E0026000E01222E |
:1011D00000C0E6FF01C0E6FF85EC2DF0E552E552C8 |
:1011E000E76E010EE7CFDBFF020EDBCFE9FF030E58 |
:1011F000DBCFEAFF010ED890E936EA36E806FBE1DC |
:101200008C0EE926000EEA22DECFEEFFDDCFEDFFE9 |
:10121000020EDB2A030E01E3DB2A96D7020EDB6AFD |
:10122000030EDB6A020EDBCF00F0030EDBCF01F012 |
:10123000005C000E01583EE2020EDBCFE9FF030E18 |
:10124000DBCFEAFF010ED890E936EA36E806FBE18B |
:10125000600EE926000EEA22EECFE6FFEFCFE6FFB2 |
:101260001CEC04F0E552E5522AC000F02BC001F05E |
:101270002CC002F02DC003F0020EDBCFE9FF030EFD |
:10128000DBCFEAFF020ED890E936EA36E806FBE14A |
:10129000700EE926000EEA2200C0EEFF01C0EEFF4C |
:1012A00002C0EEFF03C0EEFF020EDB2A030E01E3D5 |
:1012B000DB2AB8D7020EDB6A030EDB6A020EDBCF35 |
:1012C00000F0030EDBCF01F0070E005C000E0158AA |
:1012D0003EE2020EDBCFE9FF030EDBCFEAFF010E99 |
:1012E000D890E936EA36E806FBE18C0EE926000ED6 |
:1012F000EA22EECFE6FFEFCFE6FF1CEC04F0E5526A |
:10130000E5522AC000F02BC001F02CC002F02DC025 |
:1013100003F0020EDBCFE9FF030EDBCFEAFF020E84 |
:10132000D890E936EA36E806FBE19C0EE926000E85 |
:10133000EA2200C0EEFF01C0EEFF02C0EEFF03C0D4 |
:10134000EEFF020EDB2A030E01E3DB2AB7D7370ECE |
:10135000E66EE66A85EC2DF0E552E5520101EB6F91 |
:10136000E66A080EE66EA0EC2DF0E552E552300E6E |
:10137000C86E12D9050EE66EE66A85EC2DF0E552D0 |
:10138000E552550837E1A1C12AF0A2C12BF0A3C153 |
:101390002CF0A4C12DF029EC29F02BC000F02CC0BA |
:1013A00001F02DC002F02EC003F0306A316A326ABB |
:1013B0004A0E336E00C02BF001C02CF002C02DF09D |
:1013C00003C02EF0DBEC29F02BC0D2F12CC0D3F1FE |
:1013D0002DC0D4F12EC0D5F1D2C1E6FFD3C1E6FFB6 |
:1013E000D4C1E6FFD5C1E6FF81EC13F0E552E5522A |
:1013F000E552E552060EE15C02E2E16AE552E16E79 |
:10140000E552E7CFD9FF1200B4D8000911E001017D |
:10141000EB5102E0000E01D0010EEB6FEBC1E6FFD5 |
:10142000370EE66EE66A60EC2DF0E552E552E552C5 |
:101430000101EB5102E055D802D08B908B92100E37 |
:101440000001E76EB819E8AE02D0E73402D0E750E9 |
:10145000B85D03E36D50020B01E001D001D812002A |
:10146000D9CFE6FFE1CFD9FFE6520101A051000834 |
:1014700033E29F51090DF3CFE9FFF4CFEAFF0E0EDF |
:10148000E926010EEA22EFCFDFFFDF50350A1AE02E |
:10149000010A15E0070A10E0010A0BE0030A06E062 |
:1014A000010A01E012D0A7EC14F00FD03CEC16F0CA |
:1014B0000CD02BEC14F009D010EC15F006D0D0ECC9 |
:1014C00015F003D07EEC1AF000D001019F2B100E16 |
:1014D0009F5D01E39F6BA007E552E552E7CFD9FF7F |
:1014E00012000101EC51ED1104E1100EEC6F270E1A |
:1014F000ED6FEC07000EED5B6DA20BD0EC51ED1122 |
:1015000007E18B708B50010B02E08B8201D08B9234 |
:101510002FD00001B85103E18B908B9229D0B805F0 |
:1015200003E18B808B8224D0020EB85D03E18B80B7 |
:101530008B921ED0040EB85D03E18B908B8218D085 |
:10154000100EB85D07E10101EC51ED1102E18B7065 |
:101550008B920ED0200EB85D0BE10101EC51ED1124 |
:1015600007E18B708B50010B02E08B9201D08B82D4 |
:1015700012008250040B01E0010E0101005D09E040 |
:101580008250040B01E0010E006F82B402D0010E04 |
:1015900002D0000E00D01200C580C5B0FED716ECF8 |
:1015A0002EF001010151E824E66E27EC2DF0E55202 |
:1015B000870EE66E27EC2DF0E552010EE66E27EC65 |
:1015C0002DF0E552C584C5B4FED716EF2EF0D9CF65 |
:1015D000E6FFE1CFD9FF020EE126DE6ADD6ADECF4B |
:1015E00000F0DDCF01F0060E005C000E01583BE27A |
:1015F000C580C5B0FED716EC2EF001010151E824DC |
:10160000E66E27EC2DF0E552DECF00F0DDCF01F0E5 |
:10161000070E0024E66E27EC2DF0E552C582C5B218 |
:10162000FED716EC2EF001010151E8240109E66E07 |
:1016300027EC2DF0E55209EC2EF0E66EDECFE9FF47 |
:10164000DDCFEAFFAB0EE926010EEA22E552E750B4 |
:10165000EF6EC584C5B4FED716EC2EF0DF2A010E5E |
:1016600001E3DB2ABCD7020EE15C02E2E16AE5524B |
:10167000E16EE552E7CFD9FF1200890EE66EE66A09 |
:101680003DD8E552E55209EC2EF00101A96FAA6B95 |
:10169000100EA911A96F5EEF0BF0890EE66EE66AD7 |
:1016A0002DD8E552E55209EC2EF00101A96FAA6B85 |
:1016B000EF0EA915A96FAA6B5EEF0BF0C584C5B438 |
:1016C000FED716EC2EF0C580C5B0FED716EC2EF076 |
:1016D00001010151E824E66E27EC2DF0E552890E58 |
:1016E000E66E27EC2DF0E552A9C1E6FF27EC2DF0C0 |
:1016F000E552C584C5B4FED716EF2EF0D9CFE6FF6C |
:10170000E1CFD9FFC580C5B0FED716EC2EF00101A0 |
:101710000151E824E66E27EC2DF0E552FD0EDBCFFB |
:10172000E6FF27EC2DF0E552C582C5B2FED716ECD8 |
:101730002EF001010151E8240109E66E27EC2DF09D |
:10174000E552E552E7CFD9FF1200870EE66EE66A52 |
:10175000D5DFE552E55209EC2EF00101E96FEA6BA5 |
:10176000E98DC584C5B4FED716EC2EF0C580C5B092 |
:10177000FED716EC2EF001010151E824E66E27ECAD |
:101780002DF0E552870EE66E27EC2DF0E552E9C10B |
:10179000E6FF27EC2DF0E552C584C5B4FED716EF61 |
:1017A0002EF0D9CFE6FFE1CFD9FF1F0EE1260C0EB8 |
:1017B000DB6A300EF36E0D0EF3CFDBFFB10EF36E6E |
:1017C0000E0EF3CFDBFF450EF36E0F0EF3CFDBFFF4 |
:1017D000100EDB6A900EF36E110EF3CFDBFF970E47 |
:1017E000F36E120EF3CFDBFF450EF36E130EF3CF45 |
:1017F000DBFF190EDB6A1A0EDB6A1B0EDB6A1C0E9E |
:10180000DB6A100EDBCF2BF0110EDBCF2CF0120EAB |
:10181000DBCF2DF0130EDBCF2EF0FB0EDBCF30F045 |
:10182000FC0EDBCF31F0FD0EDBCF32F0FE0EDBCF56 |
:1018300033F0DBEC29F02BC000F02CC001F02DC000 |
:1018400002F02EC003F000C02BF001C02CF002C04B |
:101850002DF003C02EF0B9EC2AF01D0E2CC0DBFFDA |
:101860001E0E2DC0DBFF800EF36E1B0EF3CFDBFFD1 |
:10187000050EF36E1C0EF3CFDBFF0B0EF36E140E92 |
:10188000F3CFDBFFDB50030801E397D0140EDB50EE |
:10189000080804E0140EDB500A0801E18BD0140E96 |
:1018A000DB50026E036A1D0EDBCF2CF01E0EDBCF69 |
:1018B0002DF002C031F003C032F0D5EC2DF02CC079 |
:1018C00000F02DC001F0010E0026000E0122150EC1 |
:1018D00000C0DBFF160E01C0DBFFD950150FE96E0B |
:1018E000DACFEAFF800ED880EE54000EED5401E20C |
:1018F00061D0D950150FE96EDACFEAFF010EEE186C |
:1019000001E1ED5018E0010EE76E150EDBCF00F09F |
:10191000160EDBCF01F0E7500016016A010E001829 |
:1019200001E1015008E1D950150FE96EDACFEAFF65 |
:10193000EE2A000EED22140EDB50006E016A00C08C |
:101940002CF001C02DF0150EDBCF31F0160EDBCFE1 |
:1019500032F09BEC2AF0170E2AC0DBFF180E2BC0CA |
:10196000DBFF1B0EDBCF00F01C0EDBCF01F0170EF0 |
:10197000DBCF02F0180EDBCF03F00050025C015009 |
:10198000035818E2170EDBCF2CF0180EDBCF2DF02A |
:101990001B0E2CC0DBFF1C0E2DC0DBFF150EDB5019 |
:1019A000E76E1A0EE7CFDBFF140EDB50E76E190E61 |
:1019B000E7CFDBFF140EDB0665D70101DE6B190EE6 |
:1019C000DB5001E198D1FB0EDBCF00F0FC0EDBCF4A |
:1019D00001F0FD0EDBCF02F0FE0EDBCF03F01B0E9D |
:1019E000DBCF2CF01C0EDBCF2DF014EC29F02BC03C |
:1019F00004F02CC005F02DC006F02EC007F004C086 |
:101A000030F005C031F006C032F007C033F000C03E |
:101A10002BF001C02CF002C02DF003C02EF02EECF4 |
:101A20002AF02BC0BEF12CC0BFF12DC0C0F12EC0DA |
:101A3000C1F10C0EDBCF00F00D0EDBCF01F00E0E6E |
:101A4000DBCF02F00F0EDBCF03F000C030F001C09F |
:101A500031F002C032F003C033F0BEC12BF0BFC181 |
:101A60002CF0C0C12DF0C1C12EF01FEC2BF0010AEB |
:101A700001E141D10101010EDE6FC6C130F0C7C1E5 |
:101A800031F0C8C132F0C9C133F0BEC12BF0BFC1C3 |
:101A90002CF0C0C12DF0C1C12EF0DBEC29F02BC021 |
:101AA000BEF12CC0BFF12DC0C0F12EC0C1F1BEC12E |
:101AB0002BF0BFC12CF0C0C12DF0C1C12EF0E8EC5D |
:101AC0002AF0040E2AC0DBFF050E2BC0DBFF060E3A |
:101AD0002CC0DBFF070E2DC0DBFF040EDBCF04F0B4 |
:101AE000050EDBCF05F0060EDBCF06F0070EDBCFD1 |
:101AF00007F004C02AF005C02BF006C02CF007C088 |
:101B00002DF029EC29F02BC000F02CC001F02DC0E5 |
:101B100002F02EC003F000C030F001C031F002C06E |
:101B200032F003C033F0BEC12BF0BFC12CF0C0C1F6 |
:101B30002DF0C1C12EF044EC29F02BC0DEFF2CC0EB |
:101B4000DEFF2DC0DEFF2EC0DDFFDD52DD52D9CF1E |
:101B5000E9FFDACFEAFFEECF00F0EECF01F0EECFF3 |
:101B600002F0EFCF03F0306A316A800E326E4D0E14 |
:101B7000336E00C02BF001C02CF002C02DF003C06A |
:101B80002EF02EEC2AF0E8EC2AF0080E2AC0DBFF3B |
:101B9000090E2BC0DBFF0A0E2CC0DBFF0B0E2DC085 |
:101BA000DBFF040E006E190EDBCFE7FF0050E75E8F |
:101BB000190EE7CFDBFF1A0EDB06DB40E8403F0BD8 |
:101BC000006E190EDB50200DF35000100101B16FB3 |
:101BD0001A0EDB50030B400DF3CFB2F1040EDBCF36 |
:101BE00000F0050EDBCF01F0060EDBCF02F0070E92 |
:101BF000DBCF03F0040ED890033202320132003200 |
:101C0000E806F9E13F0E046E056A066A076A0450A9 |
:101C10000016055001160650021607500316005014 |
:101C20000101B2130F0E006E016A026A036AD950F5 |
:101C3000040FE96EDACFEAFFEE500016EE500116FF |
:101C4000EE500216EE500316040E1F0B07E0D8905C |
:101C50000036013602360336E806F9E1080EDBCF1E |
:101C600004F0090EDBCF05F00A0EDBCF06F00B0EF9 |
:101C7000DBCF07F0180ED890073206320532043257 |
:101C8000E806F9E104500012055001120650021254 |
:101C90000750031200C0B3F1080EDBCF00F0090EAD |
:101CA000DBCF01F00A0EDBCF02F00B0EDBCF03F02F |
:101CB000100ED8900332023201320032E806F9E108 |
:101CC00000C0B4F1080EDBCF00F0090EDBCF01F04D |
:101CD0000A0EDBCF02F00B0EDBCF03F0080ED8901C |
:101CE0000332023201320032E806F9E100C0B5F1F8 |
:101CF000080EDBCFB6F11F0EE15C02E2E16AE552AD |
:101D0000E16EE552E7CFD9FF1200D9CFE6FFE1CF70 |
:101D1000D9FF0A0EE1260101DE5101E148D1ADDC17 |
:101D2000070EDE6EDD6ADECF00F0DDCF01F001349C |
:101D300004E200500C08000E01542CE3C580C5B02D |
:101D4000FED716EC2EF001010151E824E66E27ECD7 |
:101D50002DF0E552DFCFE6FF27EC2DF0E552DECF88 |
:101D6000E9FFDDCFEAFF070EE95E000EEA5AB10E89 |
:101D7000E926010EEA22EF50E66E27EC2DF0E5523F |
:101D8000C584C5B4FED716EC2EF0DF2A010E01E3A0 |
:101D9000DB2AC9D782DCC6C1E6FFC7C1E6FFC8C1DE |
:101DA000E6FFC9C1E6FF0DD9E552E552E552E5521D |
:101DB000020E2AC0DBFF030E2BC0DBFF040E2CC07B |
:101DC000DBFF050E2DC0DBFF020EDBCF00F0030EA4 |
:101DD000DBCF01F0040EDBCF02F0050EDBCF03F00A |
:101DE000CAC130F0CBC131F0CCC132F0CDC133F03B |
:101DF00000C02BF001C02CF002C02DF003C02EF06B |
:101E000028EC2BF0010A2BE0020EDBCF00F0030ED2 |
:101E1000DBCF01F0040EDBCF02F0050EDBCF03F0C9 |
:101E2000CAC130F0CBC131F0CCC132F0CDC133F0FA |
:101E300000C02BF001C02CF002C02DF003C02EF02A |
:101E400044EC29F0060E2BC0DBFF070E2CC0DBFF95 |
:101E5000080E2DC0DBFF090E2EC0DBFF2AD0020EBC |
:101E6000DBCF00F0030EDBCF01F0040EDBCF02F07E |
:101E7000050EDBCF03F000C030F001C031F002C02E |
:101E800032F003C033F0CAC12BF0CBC12CF0CCC16F |
:101E90002DF0CDC12EF044EC29F0060E2BC0DBFF57 |
:101EA000070E2CC0DBFF080E2DC0DBFF090E2EC075 |
:101EB000DBFFC2C130F0C3C131F0C4C132F0C5C1D3 |
:101EC00033F0BAC12BF0BBC12CF0BCC12DF0BDC1A9 |
:101ED0002EF0DBEC29F02BC000F02CC001F02DC05F |
:101EE00002F02EC003F0CEC130F0CFC131F0D0C12E |
:101EF00032F0D1C133F000C02BF001C02CF002C091 |
:101F00002DF003C02EF01FEC2BF0010A1DE0060E91 |
:101F1000DBCF04F0070EDBCF05F0080EDBCF06F0B9 |
:101F2000090EDBCF07F0306A316A326A3F0E336E3A |
:101F300004C02BF005C02CF006C02DF007C02EF019 |
:101F40001FEC2BF0010A16E1A5EC0BF0BEC1C2F1AB |
:101F5000BFC1C3F1C0C1C4F1C1C1C5F1020EDBCF25 |
:101F6000CAF1030EDBCFCBF1040EDBCFCCF1050EB3 |
:101F7000DBCFCDF101010D510DE0D2C1E6FFD3C1A0 |
:101F8000E6FFD4C1E6FFD5C1E6FF24DAE552E5520B |
:101F9000E552E552D2C1E6FFD3C1E6FFD4C1E6FF68 |
:101FA000D5C1E6FF8ADAE552E552E552E5520A0E5E |
:101FB000E15C02E2E16AE552E16EE552E7CFD9FF6A |
:101FC0001200D9CFE6FFE1CFD9FF0E0EE126E00ED9 |
:101FD0000101B115E00BE838E840040FE76E050E8B |
:101FE000E7CFDBFF060E016EC00EB21501C0E7FFA2 |
:101FF000E75204E0E8427F0BE706FCE1006E1F0EAB |
:102000000101B115040DF3500024E76E040EE7CF73 |
:10201000DBFFDB2A3F0EB215006E016A026A036A1B |
:10202000040E1F0B07E0D890003601360236033647 |
:10203000E806F9E1F00E0101B315046E056A066ABF |
:10204000076A040ED8900732063205320432E806D9 |
:10205000F9E1045000120550011206500212075017 |
:102060000312060E00C0DBFF070E01C0DBFF080EE7 |
:1020700002C0DBFF090E03C0DBFF0F0E0101B31529 |
:10208000006E016A026A036A180E1F0B07E0D890FF |
:102090000036013602360336E806F9E10A0E00C0C2 |
:1020A000DBFF0B0E01C0DBFF0C0E02C0DBFF0D0ED1 |
:1020B00003C0DBFFB4C100F0016A026A036A100EBC |
:1020C0001F0B07E0D8900036013602360336E806CB |
:1020D000F9E1D9500A0FE96EDACFEAFF0050EE2697 |
:1020E0000150EE220250EE220350EE22B5C100F064 |
:1020F000016A026A036A080E1F0B07E0D8900036D7 |
:10210000013602360336E806F9E1D9500A0FE96EC6 |
:10211000DACFEAFF0050EE260150EE220250EE2206 |
:102120000350EE22B6C100F0016A026A036AD95078 |
:102130000A0FE96EDACFEAFF0050EE260150EE22D8 |
:102140000250EE220350EE22060EDBCF04F0070E03 |
:10215000DBCF05F0080EDBCF06F0090EDBCF07F072 |
:1021600004C02AF005C02BF006C02CF007C02DF0EB |
:1021700029EC29F02BC000F02CC001F02DC002F09A |
:102180002EC003F00A0EDBCF10F00B0EDBCF11F0E8 |
:102190000C0EDBCF12F00D0EDBCF13F010C02AF0C7 |
:1021A00011C02BF012C02CF013C02DF029EC29F037 |
:1021B0002BC00CF02CC00DF02DC00EF02EC00FF077 |
:1021C000306A316A800E326E4D0E336E0CC02BF0C9 |
:1021D0000DC02CF00EC02DF00FC02EF0DBEC29F05E |
:1021E0002BC008F02CC009F02DC00AF02EC00BF057 |
:1021F00008C030F009C031F00AC032F00BC033F033 |
:1022000000C02BF001C02CF002C02DF003C02EF056 |
:1022100045EC29F02BC0BEF12CC0BFF12DC0C0F1A0 |
:102220002EC0C1F1C2C130F0C3C131F0C4C132F01F |
:10223000C5C133F0BEC12BF0BFC12CF0C0C12DF021 |
:10224000C1C12EF028EC2BF0010A1BE0C2C130F016 |
:10225000C3C131F0C4C132F0C5C133F0BEC12BF0EF |
:10226000BFC12CF0C0C12DF0C1C12EF044EC29F04B |
:102270002BC0BAF12CC0BBF12DC0BCF12EC0BDF1FA |
:102280001AD0BEC130F0BFC131F0C0C132F0C1C1FF |
:1022900033F0C2C12BF0C3C12CF0C4C12DF0C5C1B5 |
:1022A0002EF044EC29F02BC0BAF12CC0BBF12DC0AC |
:1022B000BCF12EC0BDF1FB0EDBCF08F0FC0EDBCF76 |
:1022C00009F0FD0EDBCF0AF0FE0EDBCF0BF0BEC136 |
:1022D00030F0BFC131F0C0C132F0C1C133F008C02D |
:1022E0002BF009C02CF00AC02DF00BC02EF02EEC04 |
:1022F0002AF02BC004F02CC005F02DC006F02EC033 |
:1023000007F0050EDBCF10F010C02DF003EC29F024 |
:102310002BC00CF02CC00DF02DC00EF02EC00FF015 |
:102320000CC030F00DC031F00EC032F00FC033F0F1 |
:1023300004C02BF005C02CF006C02DF007C02EF015 |
:10234000DBEC29F02BC000F02CC001F02DC002F016 |
:102350002EC003F0040EDBCF15F015C02DF003ECFA |
:1023600029F02BC011F02CC012F02DC013F02EC09C |
:1023700014F011C030F012C031F013C032F014C0AC |
:1023800033F000C02BF001C02CF002C02DF003C0D0 |
:102390002EF0DBEC29F02BC0DEFF2CC0DEFF2DC0C1 |
:1023A000DEFF2EC0DDFFDD52DD52DECF2AF0DECFB4 |
:1023B0002BF0DECF2CF0DDCF2DF0DD52DD520E0EF6 |
:1023C000E15C03E200D0E16AE552E16EE552E7CF5D |
:1023D000D9FF1200D9CFE6FFE1CFD9FFFB0EDBCF4B |
:1023E00000F0FC0EDBCF01F0FD0EDBCF02F0FE0EA5 |
:1023F000DBCF03F070C030F071C031F072C032F04A |
:1024000073C033F000C02BF001C02CF002C02DF0DF |
:1024100003C02EF028EC2BF0010A03E18992899089 |
:1024200048D0FB0EDBCF00F0FC0EDBCF01F0FD0E41 |
:10243000DBCF02F0FE0EDBCF03F074C030F075C0CE |
:1024400031F076C032F077C033F000C02BF001C01D |
:102450002CF002C02DF003C02EF028EC2BF0010A66 |
:1024600003E18992898025D0FB0EDBCF00F0FC0EC2 |
:10247000DBCF01F0FD0EDBCF02F0FE0EDBCF03F071 |
:1024800078C030F079C031F07AC032F07BC033F0E0 |
:1024900000C02BF001C02CF002C02DF003C02EF0C4 |
:1024A00028EC2BF0010A03E18982899002D089820D |
:1024B0008980E552E7CFD9FF1200D9CFE6FFE1CFFF |
:1024C000D9FFE65289968998899A8A948A968A9839 |
:1024D0008A9AFB0EDBCF00F0FC0EDBCF01F0FD0E85 |
:1024E000DBCF02F0FE0EDBCF03F09CC030F09DC0CE |
:1024F00031F09EC032F09FC033F000C02BF001C01D |
:102500002CF002C02DF003C02EF028EC2BF0010AB5 |
:1025100004E18986010EDF6EDBD0FB0EDBCF00F01D |
:10252000FC0EDBCF01F0FD0EDBCF02F0FE0EDBCFA9 |
:1025300003F0A0C030F0A1C031F0A2C032F0A3C0BF |
:1025400033F000C02BF001C02CF002C02DF003C00E |
:102550002EF028EC2BF0010A04E18988020EDF6ED0 |
:10256000B7D0FB0EDBCF00F0FC0EDBCF01F0FD0E91 |
:10257000DBCF02F0FE0EDBCF03F0A4C030F0A5C02D |
:1025800031F0A6C032F0A7C033F000C02BF001C07C |
:102590002CF002C02DF003C02EF01FEC2BF0010A2E |
:1025A00004E0898A040EDF6E93D0FB0EDBCF00F0CF |
:1025B000FC0EDBCF01F0FD0EDBCF02F0FE0EDBCF19 |
:1025C00003F0A8C030F0A9C031F0AAC032F0ABC00F |
:1025D00033F000C02BF001C02CF002C02DF003C07E |
:1025E0002EF028EC2BF0010A04E18A84080EDF6E3D |
:1025F0006FD0FB0EDBCF00F0FC0EDBCF01F0FD0E49 |
:10260000DBCF02F0FE0EDBCF03F0ACC030F0ADC08C |
:1026100031F0AEC032F0AFC033F000C02BF001C0DB |
:102620002CF002C02DF003C02EF028EC2BF0010A94 |
:1026300004E18A86100EDF6E4BD0FB0EDBCF00F07C |
:10264000FC0EDBCF01F0FD0EDBCF02F0FE0EDBCF88 |
:1026500003F0B0C030F0B1C031F0B2C032F0B3C05E |
:1026600033F000C02BF001C02CF002C02DF003C0ED |
:102670002EF028EC2BF0010A04E18A88200EDF6E90 |
:1026800027D0FB0EDBCF00F0FC0EDBCF01F0FD0E00 |
:10269000DBCF02F0FE0EDBCF03F0B4C030F0B5C0EC |
:1026A00031F0B6C032F0B7C033F000C02BF001C03B |
:1026B0002CF002C02DF003C02EF028EC2BF0010A04 |
:1026C00004E18A8A400EDF6E03D08A8A800EDF6EB4 |
:1026D000C580C5B0FED716EC2EF0720EE66E27EC64 |
:1026E0002DF0E552DFCFE6FF27EC2DF0E552C58453 |
:1026F000C5B4FED716EC2EF0E552E552E7CFD9FF70 |
:102700001200D9CFE6FFE1CFD9FFFB0EDBCF0CF0F3 |
:10271000FC0EDBCF0DF0FD0EDBCF0EF0FE0EDBCF9F |
:102720000FF0DAC12AF0DBC12BF0DCC12CF0DDC1E7 |
:102730002DF02BEC29F02BC014F02CC015F02DC07F |
:1027400016F02EC017F0306A316A326A4A0E336EC4 |
:1027500014C02BF015C02CF016C02DF017C02EF0B1 |
:10276000DBEC29F02BC010F02CC011F02DC012F0C2 |
:102770002EC013F010C030F011C031F012C032F092 |
:1027800013C033F00CC02BF00DC02CF00EC02DF098 |
:102790000FC02EF044EC29F02BC008F02CC009F03B |
:1027A0002DC00AF02EC00BF0D6C12AF0D7C12BF0F5 |
:1027B000D8C12CF0D9C12DF029EC29F02BC018F08C |
:1027C0002CC019F02DC01AF02EC01BF018C030F02C |
:1027D00019C031F01AC032F01BC033F008C02BF022 |
:1027E00009C02CF00AC02DF00BC02EF02EEC2AF000 |
:1027F0002BC004F02CC005F02DC006F02EC007F051 |
:10280000306A316A326A4A0E336E04C02BF005C05A |
:102810002CF006C02DF007C02EF0DBEC29F02BC009 |
:1028200000F02CC001F02DC002F02EC003F000C05B |
:10283000E6FF01C0E6FF02C0E6FF03C0E6FFD1EC01 |
:102840000BF0E552E552E552E55285EC0EF0E5520B |
:10285000E7CFD9FF1200D9CFE6FFE1CFD9FFE6528B |
:1028600001019F51090DF3CFE9FFF4CFEAFF0E0EEE |
:10287000E926010EEA22EE52040EEE1801E1ED50B7 |
:1028800061E1DF6A040EDF5C27E201019F51090D5F |
:10289000F3CFE9FFF4CFEAFF0E0EE926010EEA229C |
:1028A000030EE926000EEA22E9CF00F0EACF01F09C |
:1028B000DF500F010024E96E000E0120EA6EEF5098 |
:1028C000E66EDF50EA6AA10FE96E010EEA22E552D8 |
:1028D000E750EF6EDF2AD6D7A1C12AF0A2C12BF0B4 |
:1028E000A3C12CF0A4C12DF029EC29F02BC000F0DD |
:1028F0002CC001F02DC002F02EC003F0306A316A06 |
:10290000326A4A0E336E00C02BF001C02CF002C0B8 |
:102910002DF003C02EF0DBEC29F02BC0D2F12CC03F |
:10292000D3F12DC0D4F12EC0D5F1D2C1E6FFD3C171 |
:10293000E6FFD4C1E6FFD5C1E6FFE3DEE552E5528E |
:10294000E552E552E552E552E7CFD9FF1200D9CF63 |
:10295000E6FFE1CFD9FFE65201019F51090DF3CF08 |
:10296000E9FFF4CFEAFF0E0EE926010EEA22EE524D |
:10297000060EEE1801E1ED504EE1DF6A060EDF5C57 |
:1029800027E201019F51090DF3CFE9FFF4CFEAFFE0 |
:102990000E0EE926010EEA22030EE926000EEA22B7 |
:1029A000E9CF00F0EACF01F0DF500F010024E96E1B |
:1029B000000E0120EA6EEF50E66EDF50EA6AB10FBA |
:1029C000E96E010EEA22E552E750EF6EDF2AD6D714 |
:1029D000EC0EE66E910EE66EE40EE66E420EE66ECC |
:1029E000E1EC0FF0E552E552E552E5522AC0D2F192 |
:1029F0002BC0D3F12CC0D4F12DC0D5F1D2C1E6FF4C |
:102A0000D3C1E6FFD4C1E6FFD5C1E6FF7ADEE552C9 |
:102A1000E552E552E552E552E552E7CFD9FF120003 |
:102A2000D9CFE6FFE1CFD9FF020EE12601019F5188 |
:102A3000090DF3CFE9FFF4CFEAFF0E0EE926010EF0 |
:102A4000EA22EE52040EEE1801E1ED5001E09ED0B4 |
:102A5000DE6ADD6ADECF00F0DDCF01F0D8900150F4 |
:102A600004E6040E005C000E01582AE29F51090D95 |
:102A7000F3CFE9FFF4CFEAFF0E0EE926010EEA22BA |
:102A8000030EE926000EEA22E9CF00F0EACF01F0BA |
:102A9000DE500024E96EDD500120EA6EEF50E66E54 |
:102AA000DECFE9FFDDCFEAFFA50EE926010EEA221F |
:102AB000E552E750EF6EDF2A010E01E3DB2ACAD7A9 |
:102AC000A5C12AF0A6C12BF0A7C12CF0A8C12DF0FA |
:102AD00029EC29F02BC000F02CC001F02DC002F031 |
:102AE0002EC003F0306A316A800E326E4B0E336EA8 |
:102AF00000C02BF001C02CF002C02DF003C02EF05E |
:102B0000DBEC29F02BC0C6F12CC0C7F12DC0C8F1F9 |
:102B10002EC0C9F1DE6ADD6ADECF00F0DDCF01F044 |
:102B2000D890015004E6040E005C000E015822E229 |
:102B3000DECFE9FFDDCFEAFFA50EE926010EEA228E |
:102B4000EF50E66EDECF00F0DDCF01F0010E002683 |
:102B5000000E012200C0E6FF01C0E6FF60EC2DF090 |
:102B6000E552E552E5521DEC2EF0DF2A010E01E39D |
:102B7000DB2AD2D7550EE66E000EE66EE66A60ECF2 |
:102B80002DF0E552E552E5521DEC2EF0020EE15C0F |
:102B900002E2E16AE552E16EE552E7CFD9FF1200A9 |
:102BA000D9CFE6FFE1CFD9FFE65201019F51090DD0 |
:102BB000F3CFE9FFF4CFEAFF0E0EE926010EEA2279 |
:102BC000EE52040EEE1801E1ED5051E1DF6A040E01 |
:102BD000DF5C27E201019F51090DF3CFE9FFF4CF3C |
:102BE000EAFF0E0EE926010EEA22030EE926000E88 |
:102BF000EA22E9CF00F0EACF01F0DF500F01002414 |
:102C0000E96E000E0120EA6EEF50E66EDF50EA6AD0 |
:102C1000A10FE96E010EEA22E552E750EF6EDF2ABE |
:102C2000D6D7DF6A040EDF5C16E2DF50EA6AA10F36 |
:102C3000E96E010EEA22EF50E66E050EDF24010F69 |
:102C4000E66EE66A60EC2DF0E552E552E5521DECC9 |
:102C50002EF0DF2AE7D7550EE66E050EE66EE66A21 |
:102C600060EC2DF0E552E552E5521DEC2EF0E552F8 |
:102C7000E552E7CFD9FF1200D9CFE6FFE1CFD9FF68 |
:102C80000D0EE12601019F51090DF3CFE9FFF4CFAD |
:102C9000EAFF0E0EE926010EEA22EE52080EEE18A9 |
:102CA00001E1ED5002E074EF1AF0050EDAC1DBFF2E |
:102CB000060EDBC1DBFF070EDCC1DBFF080EDDC14A |
:102CC000DBFF010ED6C1DBFF020ED7C1DBFF030E17 |
:102CD000D8C1DBFF040ED9C1DBFFDF6A040EDF5C65 |
:102CE00027E201019F51090DF3CFE9FFF4CFEAFF7D |
:102CF0000E0EE926010EEA22030EE926000EEA2254 |
:102D0000E9CF00F0EACF01F0DF500F010024E96EB7 |
:102D1000000E0120EA6EEF50E66EDF50EA6ADA0F2D |
:102D2000E96E010EEA22E552E750EF6EDF2AD6D7B0 |
:102D3000DF6A040EDF5C28E201019F51090DF3CF29 |
:102D4000E9FFF4CFEAFF0E0EE926010EEA22030E98 |
:102D5000E926000EEA22E9CF00F0EACF01F0040EE6 |
:102D6000DF240F010024E96E000E0120EA6EEF500F |
:102D7000E66EDF50EA6AD60FE96E010EEA22E552EE |
:102D8000E750EF6EDF2AD5D7DF6A040EDF5C16E26C |
:102D9000DF50EA6ADA0FE96E010EEA22EF50E66EC2 |
:102DA0000D0EDF24010FE66EE66A60EC2DF0E552B1 |
:102DB000E552E5521DEC2EF0DF2AE7D7DF6A040E5C |
:102DC000DF5C16E2DF50EA6AD60FE96E010EEA22F6 |
:102DD000EF50E66E0D0EDF24050FE66EE66A60EC3E |
:102DE0002DF0E552E552E5521DEC2EF0DF2AE7D733 |
:102DF000550EE66E0D0EE66EE66A60EC2DF0E552BD |
:102E0000E552E5521DEC2EF0DF6A030EDF5C01E3B4 |
:102E1000B3D1DF50040DF3CFE9FFF4CFEAFF700E1A |
:102E2000E926000EEA22EECF08F0EECF09F0EECF51 |
:102E30000AF0EFCF0BF0010EDBCF14F0020EDBCF68 |
:102E400015F0030EDBCF16F0040EDBCF17F014C025 |
:102E50002AF015C02BF016C02CF017C02DF029EC6D |
:102E600029F02BC010F02CC011F02DC012F02EC094 |
:102E700013F0306A316A326A4A0E336E10C02BF09A |
:102E800011C02CF012C02DF013C02EF0DBEC29F095 |
:102E90002BC00CF02CC00DF02DC00EF02EC00FF08A |
:102EA0000CC030F00DC031F00EC032F00FC033F066 |
:102EB00008C02BF009C02CF00AC02DF00BC02EF07A |
:102EC000DBEC29F02BC004F02CC005F02DC006F07F |
:102ED0002EC007F0306A316A800E326E400E336EBB |
:102EE00004C02BF005C02CF006C02DF007C02EF05A |
:102EF000DBEC29F02BC000F02CC001F02DC002F05B |
:102F00002EC003F0050EDBCF20F0060EDBCF21F044 |
:102F1000070EDBCF22F0080EDBCF23F020C02AF013 |
:102F200021C02BF022C02CF023C02DF02BEC29F077 |
:102F30002BC01CF02CC01DF02DC01EF02EC01FF0A9 |
:102F4000306A316A326A4A0E336E1CC02BF01DC0E3 |
:102F50002CF01EC02DF01FC02EF0DBEC29F02BC092 |
:102F600018F02CC019F02DC01AF02EC01BF018C09C |
:102F700030F019C031F01AC032F01BC033F000C07D |
:102F80002BF001C02CF002C02DF003C02EF045EC58 |
:102F900029F0090E2BC0DBFF0A0E2CC0DBFF0B0E45 |
:102FA0002DC0DBFF0C0E2EC0DBFF090EDBCF0CF0BB |
:102FB0000A0EDBCF0DF00B0EDBCF0EF00C0EDBCFCD |
:102FC0000FF0DAC12AF0DBC12BF0DCC12CF0DDC13F |
:102FD0002DF02BEC29F02BC014F02CC015F02DC0D7 |
:102FE00016F02EC017F0306A316A326A4A0E336E1C |
:102FF00014C02BF015C02CF016C02DF017C02EF009 |
:10300000DBEC29F02BC010F02CC011F02DC012F019 |
:103010002EC013F010C030F011C031F012C032F0E9 |
:1030200013C033F00CC02BF00DC02CF00EC02DF0EF |
:103030000FC02EF044EC29F02BC008F02CC009F092 |
:103040002DC00AF02EC00BF0D6C12AF0D7C12BF04C |
:10305000D8C12CF0D9C12DF029EC29F02BC01CF0DF |
:103060002CC01DF02DC01EF02EC01FF0306A316A3A |
:10307000326A4A0E336E1CC02BF01DC02CF01EC0ED |
:103080002DF01FC02EF0DBEC29F02BC018F02CC067 |
:1030900019F02DC01AF02EC01BF018C030F019C066 |
:1030A00031F01AC032F01BC033F008C02BF009C059 |
:1030B0002CF00AC02DF00BC02EF02EEC2AF02BC005 |
:1030C00004F02CC005F02DC006F02EC007F0306AC9 |
:1030D000316A800E326E400E336E04C02BF005C094 |
:1030E0002CF006C02DF007C02EF02EEC2AF02BC0DD |
:1030F00000F02CC001F02DC002F02EC003F0DF5014 |
:10310000040DF3CFE9FFF4CFEAFF700EE926000EBD |
:10311000EA2200C0EEFF01C0EEFF02C0EEFF03C0D6 |
:10312000EEFFDF50040DF3CFE9FFF4CFEAFF700E9E |
:10313000E926000EEA22EECFE6FFEECFE6FFEECF65 |
:10314000E6FFEFCFE6FFB7EC04F0E552E552E552BB |
:10315000E552F3CF00F0F4CF01F0EA6ADF34FE0B62 |
:10316000EA36E96E600EE926000EEA2200C0EEFFA4 |
:1031700001C0EDFFDF2A49D6DF6A070EDF5C01E3FD |
:10318000B3D1DF50040DF3CFE9FFF4CFEAFF9C0E7B |
:10319000E926000EEA22EECF08F0EECF09F0EECFDE |
:1031A0000AF0EFCF0BF0010EDBCF14F0020EDBCFF5 |
:1031B00015F0030EDBCF16F0040EDBCF17F014C0B2 |
:1031C0002AF015C02BF016C02CF017C02DF029ECFA |
:1031D00029F02BC010F02CC011F02DC012F02EC021 |
:1031E00013F0306A316A326A4A0E336E10C02BF027 |
:1031F00011C02CF012C02DF013C02EF0DBEC29F022 |
:103200002BC00CF02CC00DF02DC00EF02EC00FF016 |
:103210000CC030F00DC031F00EC032F00FC033F0F2 |
:1032200008C02BF009C02CF00AC02DF00BC02EF006 |
:10323000DBEC29F02BC004F02CC005F02DC006F00B |
:103240002EC007F0306A316A800E326E400E336E47 |
:1032500004C02BF005C02CF006C02DF007C02EF0E6 |
:10326000DBEC29F02BC000F02CC001F02DC002F0E7 |
:103270002EC003F0050EDBCF20F0060EDBCF21F0D1 |
:10328000070EDBCF22F0080EDBCF23F020C02AF0A0 |
:1032900021C02BF022C02CF023C02DF02BEC29F004 |
:1032A0002BC01CF02CC01DF02DC01EF02EC01FF036 |
:1032B000306A316A326A4A0E336E1CC02BF01DC070 |
:1032C0002CF01EC02DF01FC02EF0DBEC29F02BC01F |
:1032D00018F02CC019F02DC01AF02EC01BF018C029 |
:1032E00030F019C031F01AC032F01BC033F000C00A |
:1032F0002BF001C02CF002C02DF003C02EF045ECE5 |
:1033000029F0090E2BC0DBFF0A0E2CC0DBFF0B0ED1 |
:103310002DC0DBFF0C0E2EC0DBFF090EDBCF0CF047 |
:103320000A0EDBCF0DF00B0EDBCF0EF00C0EDBCF59 |
:103330000FF0DAC12AF0DBC12BF0DCC12CF0DDC1CB |
:103340002DF02BEC29F02BC014F02CC015F02DC063 |
:1033500016F02EC017F0306A316A326A4A0E336EA8 |
:1033600014C02BF015C02CF016C02DF017C02EF095 |
:10337000DBEC29F02BC010F02CC011F02DC012F0A6 |
:103380002EC013F010C030F011C031F012C032F076 |
:1033900013C033F00CC02BF00DC02CF00EC02DF07C |
:1033A0000FC02EF044EC29F02BC008F02CC009F01F |
:1033B0002DC00AF02EC00BF0D6C12AF0D7C12BF0D9 |
:1033C000D8C12CF0D9C12DF029EC29F02BC01CF06C |
:1033D0002CC01DF02DC01EF02EC01FF0306A316AC7 |
:1033E000326A4A0E336E1CC02BF01DC02CF01EC07A |
:1033F0002DF01FC02EF0DBEC29F02BC018F02CC0F4 |
:1034000019F02DC01AF02EC01BF018C030F019C0F2 |
:1034100031F01AC032F01BC033F008C02BF009C0E5 |
:103420002CF00AC02DF00BC02EF02EEC2AF02BC091 |
:1034300004F02CC005F02DC006F02EC007F0306A55 |
:10344000316A800E326E400E336E04C02BF005C020 |
:103450002CF006C02DF007C02EF02EEC2AF02BC069 |
:1034600000F02CC001F02DC002F02EC003F0DF50A0 |
:10347000040DF3CFE9FFF4CFEAFF9C0EE926000E1E |
:10348000EA2200C0EEFF01C0EEFF02C0EEFF03C063 |
:10349000EEFFDF50040DF3CFE9FFF4CFEAFF9C0EFF |
:1034A000E926000EEA22EECFE6FFEECFE6FFEECFF2 |
:1034B000E6FFEFCFE6FFB7EC04F0E552E552E55248 |
:1034C000E552F3CF00F0F4CF01F0EA6ADF34FE0BEF |
:1034D000EA36E96E8C0EE926000EEA2200C0EEFF05 |
:1034E00001C0EDFFDF2A49D60D0EE15C02E2E16A80 |
:1034F000E552E16EE552E7CFD9FF1200D9CFE6FFE2 |
:10350000E1CFD9FF040EE12601019F51090DF3CF50 |
:10351000E9FFF4CFEAFF0E0EE926010EEA22EE5291 |
:10352000020EEE1801E1ED5001E098D09F51090D17 |
:10353000F3CFE9FFF4CFEAFF0E0EE926010EEA22EF |
:10354000030EE926000EEA22EFCFDFFF9F51090D9F |
:10355000F3CFE9FFF4CFEAFF0E0EE926010EEA22CF |
:10356000030EE926000EEA22010EE926000EEA22E9 |
:10357000010EEFCFDBFF000EDFCF2CF0010EDBCF13 |
:103580002DF014EC29F02BC000F02CC001F02DC060 |
:1035900002F02EC003F0306A240E316E740E326ECB |
:1035A000490E336E00C02BF001C02CF002C02DF08C |
:1035B00003C02EF0DBEC29F02BC0CEF12CC0CFF1F4 |
:1035C0002DC0D0F12EC0D1F1020EDB6A030EDB6AF2 |
:1035D000020EDBCF00F0030EDBCF01F0020E005C29 |
:1035E000000E01582FE2D9CF00F0DACF01F0020E21 |
:1035F000DB500024E96E030EDB500120EA6EEF5031 |
:10360000E66E0A0EE76E020EDBCF02F0030EDBCF92 |
:1036100003F0E7500226000E0322010E0226000EE0 |
:10362000032202C0E6FF03C0E6FF60EC2DF0E55286 |
:10363000E552E5521DEC2EF0020EDB2A030E01E3EB |
:10364000DB2AC6D7550EE66E0A0EE66EE66A60EC19 |
:103650002DF0E552E552E5521DEC2EF0040EE15C32 |
:1036600002E2E16AE552E16EE552E7CFD9FF1200CE |
:10367000D9CFE6FFE1CFD9FFE652A09A6A6A686A1D |
:10368000160E6F6E9F0E6B6E7B0E696E6D8C6E6A82 |
:10369000010EE66EE66AE66A710EE66E0F0EE66EE3 |
:1036A000BBEC2DF0006E050EE15E00506D9CDF6AF4 |
:1036B000DF50006E016A080E005C000E015810E237 |
:1036C000DF50040DF3CFE9FFF4CFEAFF000EE92647 |
:1036D000040EEA22EE6AEE6AEE6AEE6ADF2AE8D7A4 |
:1036E000160E706E68A602D06896FCD70001CB6BF0 |
:1036F000D06BD16BD26B6D98DF6A020EDF5C18E283 |
:10370000EA6ADF34FE0BEA36E96EC30EE926000EE4 |
:10371000EA22EE6AED6AEA6ADF34FE0BEA36E96E07 |
:10372000BF0EE926000EEA22EE6AED6ADF2AE5D72F |
:103730000001080EC36F040EC46FB96BB86BE5527D |
:10374000E552E7CFD9FF1200D9CFE6FFE1CFD9FF8D |
:10375000E6520001B85116E106D06D6A696A0001AF |
:10376000B86BA19AA8D06D6A696A160E6F6E9F0E2B |
:103770006B6E7B0E696E6DB602D06D86FCD7000154 |
:10378000010EB86FB80508E16DBA06D0686A696ABB |
:1037900069806988020EB86F6850040B05E06950B3 |
:1037A000040B02E06894B7D86DA202D0A19A83D02E |
:1037B0006850010B12E06950010B0FE059DF000166 |
:1037C000040EB86F0401200E026F040E036F080E82 |
:1037D000016F006B8C0E001368906850100B05E0B1 |
:1037E0006950100B02E085D868986850400B13E0D0 |
:1037F0006950400B10E0010EE66EE66A000EE66EC0 |
:10380000E66A730EE66EE66A4BEC2CF0006E060E6E |
:10381000E15E0050689C6850200B04E06950200B6A |
:1038200001E04ED86850020B13E06950020B10E023 |
:10383000010EE66EE66A000EE66EE66AE6687F0E48 |
:10384000E66E4BEC2CF0006E060EE15E00506A6AEC |
:10385000040E0001E76EB819E8AE02D0E73402D0DA |
:10386000E750B85D02E2A19A26D069A623D0DF6AAC |
:10387000040EDF5C1FE268A61AD06CCFD8F0689601 |
:10388000780E0001D81502E15BD810D0000EE66E6C |
:10389000E66AD80EE66E000EE66E720EE66EE66A18 |
:1038A0004BEC2CF0006E060EE15E005001D002D011 |
:1038B000DF2ADED7A19AE552E552E7CFD9FF120001 |
:1038C00070A015D0BBC0E9FFBCC0EAFFEF50800874 |
:1038D0000DE1C3C0E9FFC4C0EAFFEF50840806E170 |
:1038E000BBC0E9FFBCC0EAFF8C0EEF6E7090689A17 |
:1038F0001200698468986D82000EE66EE66AE66ED4 |
:10390000E66A750EE66EE66A4BEC2CF0006E060E6B |
:10391000E15E00501200000EE66EE66AE66EE66AB0 |
:10392000740EE66EE66A4BEC2CF0006E060EE15E5D |
:1039300000506D92699468A402D06894FCD712007C |
:10394000D9CFE6FFE1CFD9FFE652FD0E0001D81531 |
:103950005AE17E0ED815E8407F0B040DF3CFBBF083 |
:10396000F4CFBCF0000EBB27040EBC23BBC0BDF0DF |
:10397000BCC0BEF0BD75BBC0E9FFBCC0EAFFEF50E4 |
:103980003C0BE842E8420D083CE1BBC0E9FFBCC08B |
:10399000EAFF020EE926000EEA22EECF00F0EFCF9A |
:1039A00001F0280E001802E1040E011828E1BBC046 |
:1039B000E9FFBCC0EAFF020EE926000EEA22200E53 |
:1039C000EE6E040EED6EDF6ADF50006E016A080EC7 |
:1039D000005C000E015813E2DF50EA6A280FE96E1E |
:1039E000040EEA22EF50E66EDF50EA6A200FE96E1D |
:1039F000040EEA22E552E750EF6EDF2AE5D70DD834 |
:103A000001D02ED805D0FD0ED815040801E14ED8FE |
:103A1000E552E552E7CFD9FF1200C3C0E9FFC4C0A9 |
:103A2000EAFFEF50800B05E0C3C0E9FFC4C0EAFF26 |
:103A3000EF6A0001C76BC86BCC6BCD6BCB6BB6D894 |
:103A4000000EE66EE66AE66EE66A030EE66EE66A6B |
:103A50004BEC2CF0006E060EE15E005087EF1FF07D |
:103A6000020E0001C85D02E1B2DB1FD06CD800017C |
:103A7000D9511AE1BDC0E9FFBEC0EAFFEE52080EFF |
:103A8000EF6EBDC0E9FFBEC0EAFF020EE926000EE0 |
:103A9000EA22200EEE6E040EED6EBDC0E9FFBEC040 |
:103AA000EAFF8C0EEF6E01D0D96B1200D9CFE6FF82 |
:103AB000E1CFD9FFE652C3C0E9FFC4C0EAFFEF502F |
:103AC000400B01E0010EDF6E0001C375080EB85D0A |
:103AD0000AE122C46EFF6E50000803E2100EB86FB8 |
:103AE00002D0040EB86FC80528E1C3C0E9FFC4C006 |
:103AF000EAFF020EE926000EEA22280EEE6E040E00 |
:103B0000ED6EDADA020E0001C75D07E1C3C0E9FF1E |
:103B1000C4C0EAFF840EEF6E0FD0DF5007E1C3C0D0 |
:103B2000E9FFC4C0EAFFC80EEF6E06D0C3C0E9FFCC |
:103B3000C4C0EAFF880EEF6E01D005D8E552E55209 |
:103B4000E7CFD9FF1200D9CFE6FFE1CFD9FF020EB0 |
:103B5000E1260001C86BC3C0E9FFC4C0EAFFEF6AF9 |
:103B6000040EC319006EC4C001F000C0DEFF01C026 |
:103B7000DDFFDECFE9FFDDCFEAFFEF6AD0AF0CD08B |
:103B8000D351D41107E005D0D4C0FAFF0001D351BE |
:103B9000F96EFADF0001D09F020EE15C02E2E16AF9 |
:103BA000E552E16EE552E7CFD9FF12000401205142 |
:103BB000600BE842E842E842E842E842000901E0DE |
:103BC00058D021510C0A54E00B0A43E00C0A35E0AE |
:103BD000010A26E00B0A22E0020A20E0030A1CE0A8 |
:103BE000080A10E0010A0CE00F0A08E0030A01E0ED |
:103BF0003FD00001CB8F080EB86F3BD0C7D839D06B |
:103C000083DB37D00001B90EC96F000ECA6FCB81BC |
:103C1000010ECC6FCB8F2DD019D92BD02BD829D01A |
:103C200024510001C96FCA6BBA0EC927000ECA23FE |
:103C3000CB81010ECC6FCB8F1CD00001CB8F040148 |
:103C40002451EA6ABA0FE96E000EEA2222C4EFFF9D |
:103C500010D0000EE66EE66AE66EE66A020EE66ECA |
:103C6000E66A4BEC2CF0006E060EE15E005001D0CF |
:103C700000D01200D9CFE6FFE1CFD9FF040EE12634 |
:103C80000401220510E120511F0B00090CE1000185 |
:103C9000CB8F030E0401215D04E10001010ED76FFB |
:103CA00002D00001D76B0401225166E120511F0BA5 |
:103CB000020862E124510F0B00095EE00001CB8F86 |
:103CC000040124BF10D024510F0BE96EEA6AD8908A |
:103CD000E936EA36BF0EE926000EEA22EECFDEFF15 |
:103CE000EDCFDDFF0FD024510F0BE96EEA6AD890BB |
:103CF000E936EA36C30EE926000EEA22EECFDEFFF1 |
:103D0000EDCFDDFF030E215D07E1DECFE9FFDDCF63 |
:103D1000EAFF840EEF6E30D024510F0B016A700F52 |
:103D2000006E0F0E0122020E00C0DBFF030E01C069 |
:103D3000DBFF020EDBCFE9FF030EDBCFEAFFEF90E4 |
:103D400024AF0DD0DECFE9FFDDCFEAFFEF6ADF74ED |
:103D5000DECFE9FFDDCFEAFF400EEF6E0DD0DECF04 |
:103D6000E9FFDDCFEAFF880EEF6EDF74DECFE9FFFB |
:103D7000DDCFEAFFC80EEF6E040EE15C02E2E16AFD |
:103D8000E552E16EE552E7CFD9FF1200800E040143 |
:103D9000205D5BE10001C00ECB6F04012351030ADB |
:103DA00034E0010A0EE0030A03E00001CB6B4DD0C2 |
:103DB0000001CA0EC96F590ECA6F120ECC6FCD6BBF |
:103DC00044D02251F66EF76AD890F636F736440E94 |
:103DD000F6265A0EF7220900F5CFC9F00A00F5CFF2 |
:103DE000CAF0020E0001F76AC925F66ECA51F72221 |
:103DF0000800F5CFCCF0030EF76AC925F66ECA515C |
:103E0000F7220800F5CFCDF020D0040E225D1AE293 |
:103E10002251F66EF76AD890F636F736460EF62639 |
:103E20005A0EF7220900F5CFC9F00A00F5CFCAF003 |
:103E3000C9C0F6FFCAC0F7FF0800F5500001CC6FFB |
:103E4000CD6B02D00001CB6B00D01200D9CFE6FFC2 |
:103E5000E1CFD9FF020EE1260401286B296B205126 |
:103E60001F0B020A12E0030A0DE0010A01E03BD039 |
:103E70000001CB8F040128810001D70502E1040174 |
:103E8000288331D00001CB8F2ED00001CB8F0401CD |
:103E900024BF10D024510F0BE96EEA6AD890E9369E |
:103EA000EA36BF0EE926000EEA22EECFDEFFEDCFA6 |
:103EB000DDFF0FD024510F0BE96EEA6AD890E93686 |
:103EC000EA36C30EE926000EEA22EECFDEFFEDCF82 |
:103ED000DDFFDECFE9FFDDCFEAFFEF50040B02E0AC |
:103EE000010E286F00D00001CBAF07D0280EC96F9C |
:103EF000040ECA6FCB81020ECC6F020EE15C02E2AF |
:103F0000E16AE552E16EE552E7CFD9FF12006D9804 |
:103F10000001CBBF4AD0D0AF28D0020EC86FC3C0BB |
:103F2000E9FFC4C0EAFFEE52EF6AC3C0E9FFC4C0B4 |
:103F3000EAFFC80EEF6EBDC0E9FFBEC0EAFFEE5259 |
:103F4000080EEF6EBDC0E9FFBEC0EAFF020EE92613 |
:103F5000000EEA22280EEE6E040EED6EBDC0E9FFE3 |
:103F6000BEC0EAFFC80EEF6E1FD0BDC0E9FFBEC0E5 |
:103F7000EAFFEE52080EEF6EBDC0E9FFBEC0EAFFD9 |
:103F8000020EE926000EEA22200EEE6E040EED6E01 |
:103F9000BDC0E9FFBEC0EAFF8C0EEF6EC3C0E9FFF3 |
:103FA000C4C0EAFF840EEF6E86D0D0BF84D0040177 |
:103FB00020AF59D00001CC510401265D0001CD5144 |
:103FC0000401275904E226C4CCF027C4CDF074D8EC |
:103FD0000001010EC86FBDC0E9FFBEC0EAFFEE528E |
:103FE000080EEF6EBDC0E9FFBEC0EAFF020EE92673 |
:103FF000000EEA22200EEE6E040EED6EBDC0E9FF4B |
:10400000BEC0EAFF800EEF6ED96BBBC0E9FFBCC03B |
:10401000EAFFEE52080EEF6EBBC0E9FFBCC0EAFF3C |
:10402000020EE926000EEA22200EEE6E040EED6E60 |
:10403000BBC0E9FFBCC0EAFF840EEF6E010ED96F72 |
:10404000C3C0E9FFC4C0EAFF020EE926000EEA225F |
:10405000280EEE6E040EED6EC3C0E9FFC4C0EAFF89 |
:10406000C80EEF6E28D00001020EC86FC3C0E9FF72 |
:10407000C4C0EAFFEE52EF6AC3C0E9FFC4C0EAFF62 |
:10408000C80EEF6EBDC0E9FFBEC0EAFFEE52080EDB |
:10409000EF6EBDC0E9FFBEC0EAFF020EE926000ECA |
:1040A000EA22280EEE6E040EED6EBDC0E9FFBEC022 |
:1040B000EAFFC80EEF6E1200D9CFE6FFE1CFD9FFBD |
:1040C000020EE1260001080ECC5D000ECD590EE275 |
:1040D000CCC0DEFFCDC0DDFFC75103E1010EC76FCD |
:1040E00004D0C70502E1020EC76F03D0080EDE6ED2 |
:1040F000DD6AC3C0E9FFC4C0EAFFEF92C3C0E9FFB5 |
:10410000C4C0EAFFEF90C3C0E9FFC4C0EAFF010EDC |
:10411000DB50EF12C3C0E9FFC4C0EAFFEE52DFCFAD |
:10412000EFFF000EDB50CC5F010EDB50CD5B280EA5 |
:10413000D56F040ED66FCBB121D0D9CFE9FFDACF3E |
:10414000EAFFEE50ED1019E0C9C0F6FFCAC0F7FF54 |
:10415000C92B000ECA230800F550E66ED5C0E9FF52 |
:10416000D6C0EAFFD52B000ED623E552E750EF6EFE |
:10417000DF06010E01E2DB06E0D71FD0D9CFE9FF51 |
:10418000DACFEAFFEE50ED1018E0C9C0E9FFCAC06F |
:10419000EAFFC92B000ECA23EF50E66ED5C0E9FF37 |
:1041A000D6C0EAFFD52B000ED623E552E750EF6EBE |
:1041B000DF06010E01E2DB06E1D7020EE15C02E25E |
:1041C000E16AE552E16EE552E7CFD9FF1200D9CF9F |
:1041D000E6FFE1CFD9FF020EE126BBC0E9FFBCC07C |
:1041E000EAFFEE52EFCFDFFFDFCF00F0005000011B |
:1041F000D15D000ED25902E2D1C0DFFFDF50006E68 |
:10420000016A0050D15DD16F0150D259D26F010EB9 |
:10421000DB6ADF50F36E010EDBCFF4FFF350F45C8A |
:1042200016E2010EDB50EA6A280FE96E040EEA225C |
:10423000EF50E66ECEC0E9FFCFC0EAFFCE2B000EF6 |
:10424000CF23E552E750EF6E010EDB2AE2D7000ED6 |
:10425000D880D155000ED25528E2BDC0E9FFBEC0BE |
:10426000EAFFEE52080EEF6EBDC0E9FFBEC0EAFFE6 |
:10427000020EE926000EEA22280EEE6E040EED6E06 |
:10428000BBC0E9FFBCC0EAFFEF50400B07E1BDC077 |
:10429000E9FFBEC0EAFFC80EEF6E06D0BDC0E9FF61 |
:1042A000BEC0EAFF880EEF6E25D0BDC0E9FFBEC0DC |
:1042B000EAFFEE52080EEF6EBDC0E9FFBEC0EAFF96 |
:1042C000020EE926000EEA22200EEE6E040EED6EBE |
:1042D000BDC0E9FFBEC0EAFF840EEF6ED351D4111A |
:1042E00007E005D0D4C0FAFF0001D351F96EFADF20 |
:1042F0000001D09F020EE15C02E2E16AE552E16E4C |
:10430000E552E7CFD9FF1200D9CFE6FFE1CFD9FFC1 |
:10431000E6520001CB8F010EE66EE66AE66A710E88 |
:10432000E66E0F0EE66EBBEC2DF0006E050EE15E44 |
:104330000050DF6ADF50006E016A080E005C000E5C |
:10434000015810E2DF50040DF3CFE9FFF4CFEAFF8C |
:10435000000EE926040EEA22EE6AEE6AEE6AEE6AC2 |
:10436000DF2AE8D76D8C010EE66EE66AE66ABA0EC1 |
:10437000E66E000EE66EBBEC2DF0006E050EE15E03 |
:1043800000506D9C0001080EC36F040EC46F000E38 |
:10439000BB6F040EBC6FBBC0BDF0BCC0BEF022C47E |
:1043A000B9F0B95103E1100EB86F13D0010EE66EEB |
:1043B000E66AB90EE66E000EE66E010EE66EE66A7D |
:1043C0004BEC2CF0006E060EE15E00500001200E5A |
:1043D000B86FE552E552E7CFD9FF1200D9CFE6FF1B |
:1043E000E1CFD9FF020EE126000EDE6E040EDD6E77 |
:1043F000FD0EDB50E824026EFE0EDB50040DF35080 |
:104400000224040DF350006E016A020E0F0B05E04A |
:10441000D89001320032E806FBE1D8900036013630 |
:10442000D89000360136D9CFE9FFDACFEAFF005045 |
:10443000EE260150ED22DECFE9FFDDCFEAFFEF9E51 |
:10444000FD0EDB500FE1FE0EEA6ADB34FE0BEA36AE |
:10445000E96EBF0EE926000EEA22DECFEEFFDDCFC9 |
:10446000EDFF0ED0FE0EEA6ADB34FE0BEA36E96E93 |
:10447000C30EE926000EEA22DECFEEFFDDCFEDFF10 |
:10448000DECFE9FFDDCFEAFFEF9CDECFE9FFDDCF36 |
:10449000EAFF040EE926000EEA22EF8C020EE15C30 |
:1044A00002E2E16AE552E16EE552E7CFD9FF120080 |
:1044B000D9CFE6FFE1CFD9FF020EE126FE0EDB5099 |
:1044C000016A700F006E0F0E012200C0DEFF01C0F6 |
:1044D000DDFFDECFE9FFDDCFEAFFFD0EDBCFEFFF33 |
:1044E000DBA407D0E66AFE0EDBCFE6FF77DFE552FE |
:1044F000E552FD0EDBA208D0010EE66EFE0EDBCF0C |
:10450000E6FF6CDFE552E552020EE15C02E2E16A91 |
:10451000E552E16EE552E7CFD9FF1200D9CFE6FFB1 |
:10452000E1CFD9FF020EE126FE0EDB5020E1BDC037 |
:10453000E9FFBEC0EAFFEE52080EEF6EBDC0E9FF14 |
:10454000BEC0EAFF020EE926000EEA22200EEE6E41 |
:10455000040EED6EBDC0E9FFBEC0EAFF8C0EEF6E2B |
:10456000C3C0E9FFC4C0EAFF840EEF6E3DD0FD0E6C |
:10457000DB50E824026EFE0EDB50040DF3500224E3 |
:10458000040DF3CF00F0F4CF01F0000E0026040E6E |
:10459000012200C0DEFF01C0DDFF840E006EDECF11 |
:1045A000E9FFDDCFEAFF0050EF12FD0EDB50E824FB |
:1045B000026EFE0EDB50040DF3500224010F040DB9 |
:1045C000F3CF00F0F4CF01F0000E0026040E01221C |
:1045D00000C0DEFF01C0DDFF840E006EDECFE9FF0C |
:1045E000DDCFEAFF0050EF12020EE15C02E2E16A69 |
:1045F000E552E16EE552E7CFD9FF1200D9CFE6FFD1 |
:10460000E1CFD9FF020EE126FD0EDB500FE0FE0EDA |
:10461000EA6ADB34FE0BEA36E96EC30EE926000EC9 |
:10462000EA22EECFDEFFEDCFDDFF0ED0FE0EEA6A0E |
:10463000DB34FE0BEA36E96EBF0EE926000EEA22F5 |
:10464000EECFDEFFEDCFDDFFD9CFE9FFDACFEAFF16 |
:10465000EE50ED1003E1F36AF46A49D0DECFE9FFD2 |
:10466000DDCFEAFF020EE926000EEA22FB0EDBCFC9 |
:10467000EEFFFC0EDBCFEDFFDECFE9FFDDCFEAFF83 |
:10468000EE52FA0EDBCFEFFF400E006EDECFE9FFF9 |
:10469000DDCFEAFF0050EF16880E006EDECFE9FF97 |
:1046A000DDCFEAFF0050EF12FD0EDB500CE0FE0EF6 |
:1046B000EA6ADB34FE0BEA36E96EC30EE926000E29 |
:1046C000EA22EF740BD0FE0EEA6ADB34FE0BEA3608 |
:1046D000E96EBF0EE926000EEA22EF74DECF00F08D |
:1046E000DDCF01F000C0F3FF01C0F4FF00D0020EE7 |
:1046F000E15C02E2E16AE552E16EE552E7CFD9FF03 |
:104700001200D9CFE6FFE1CFD9FF6DA84ED0FE0E43 |
:10471000EA6ADB34FE0BEA36E96EC30EE926000EC8 |
:10472000EA22EE50EFCFEAFFE96E400EEE16EE6A97 |
:10473000EE6AEE6AFE0EEA6ADB34FE0BEA36E96EDA |
:10474000C30EE926000EEA22EE50EFCFEAFFE96E33 |
:10475000EE7CFE0EEA6ADB34FE0BEA36E96EC30E2F |
:10476000E926000EEA22EF74400E006EFE0EEA6AA1 |
:10477000DB34FE0BEA36E96EC30EE926000EEA22B0 |
:10478000EE50EFCFEAFFE96E0050EF16FE0EEA6A38 |
:10479000DB34FE0BEA36E96EC30EE926000EEA2290 |
:1047A000EE50EFCFEAFFE96EEF7CE552E7CFD9FF9D |
:0247B0001200F5 |
:0E47B200D9CFE6FFE1CFD9FF0B0EE1260401BF |
:1047C0002051600BE842E842E842E842E842000932 |
:1047D00002E1C9EF28F021C402F10101025102E116 |
:1047E000BAEF28F0410A02E16DEF28F0010A02E178 |
:1047F00061EF28F07F0A02E153EF28F0020A02E19C |
:1048000049EF28F0010A02E105EF28F0070A01E16B |
:10481000D8D3010A01E1B2D3030A01E143D3190A53 |
:1048200001E115D3370A01E108D1010A01E1E6D01F |
:10483000030A01E1AFD0110A01E199D0060A01E1B2 |
:104840007ED0320A58E0010A56E0030A54E0010A19 |
:1048500052E0070A50E0010A4EE0650A2CE0010A26 |
:104860000DE0010103690001030EC96F010ECA6F5B |
:10487000CB81010ECC6FCB8FC9EF28F0220EDF6EFB |
:1048800081BC02D0000EDF9A81BE02D0000EDF9202 |
:1048900089A402D0DF8802D0000EDF98DFCF03F1B9 |
:1048A0000001030EC96F010ECA6FCB81010ECC6FE0 |
:1048B000CB8FC9EF28F0220EDF6E0401225103E0F6 |
:1048C0008984DF8803D08994000EDF9881BC02D0F0 |
:1048D000000EDF9A81BE02D0000EDF92DFCF03F11F |
:1048E0000001030EC96F010ECA6FCB81010ECC6FA0 |
:1048F000CB8FC9EF28F026C40BF127C40CF126C4D6 |
:10490000D1F027C4D2F00001A60ED36F510ED46FA0 |
:1049100001019E51090DF3CFE9FFF4CFEAFF0E0E1E |
:10492000E926010EEA22030EE926000EEA22E9CF6B |
:10493000CEF0EACFCFF00001D08FC9EF28F00D0EF6 |
:10494000F36E090EF3CFDBFF81BEDB8280B0DB8824 |
:1049500080B2DB8ADBCF03F10001030EC96F010EC9 |
:10496000CA6FCB81010ECC6FCB8FC9EF28F0090E37 |
:1049700022C4DBFF01010D510BE1090EDBA802D0BF |
:10498000898001D08990DBAA02D0898201D08992E6 |
:10499000C9EF28F0030E04012415E76E090EE7CFD6 |
:1049A000DBFF01010D510BE1090EDBA002D0898074 |
:1049B00001D08990DBA202D0898201D089928050F7 |
:1049C000010BE76E090EE7CFDBFF80A202D0DB828E |
:1049D00007D0DB92DB94DB96DB98DB9ADB9CDB9EDB |
:1049E000DBCF03F10101046B0001030EC96F010E5F |
:1049F000CA6FCB81020ECC6FCB8FCBD38050010B13 |
:104A0000E76E090EE7CFDBFF80A202D0DB8207D082 |
:104A1000DB92DB94DB96DB98DB9ADB9CDB9EDBCFC7 |
:104A200003F10101046B0001030EC96F010ECA6F8F |
:104A3000CB81020ECC6FCB8FACD3050E24C4DBFF31 |
:104A4000060E25C4DBFF050EDBCF00F0060EDBCF24 |
:104A500001F0000E005C010E01586FE2080EF36ECB |
:104A60000A0EF3CFDBFF0001600EC96F000ECA6FA4 |
:104A7000050EDBCF00F0060EDBCF01F0040E005C6C |
:104A8000000E015859E2050EDBCFE9FF060EDBCF21 |
:104A9000EAFF010ED890E936EA36E806FBE1600E3F |
:104AA000E926000EEA2222C4EEFF23C4EDFFD9500E |
:104AB000050FE96EDACFEAFF030EEE1801E1ED50C3 |
:104AC00039E0050EDBCFE9FF060EDBCFEAFF010E72 |
:104AD000D890E936EA36E806FBE1600EE926000EDA |
:104AE000EA22EECFE6FFEFCFE6FF1CEC04F0E55242 |
:104AF000E5522AC000F02BC001F02CC002F02DC0FE |
:104B000003F0050EDBCFE9FF060EDBCFEAFF020E56 |
:104B1000D890E936EA36E806FBE1700EE926000E89 |
:104B2000EA2200C0EEFF01C0EEFF02C0EEFF03C0AC |
:104B3000EEFF02D022C40DF17AD0100EF36E0A0EF1 |
:104B4000F3CFDBFF00018C0EC96F000ECA6F050E9C |
:104B5000DBCF00F0060EDBCF01F0000E005E010E91 |
:104B6000015A070E00C0DBFF080E01C0DBFF070E75 |
:104B7000DBCF00F0080EDBCF01F0005C000E015827 |
:104B800056E2070EDBCFE9FF080EDBCFEAFF010E8E |
:104B9000D890E936EA36E806FBE18C0EE926000EED |
:104BA000EA2222C4EEFF23C4EDFFD950070FE96EBD |
:104BB000DACFEAFF070EEE1801E1ED5038E0070EFC |
:104BC000DBCFE9FF080EDBCFEAFF010ED890E93614 |
:104BD000EA36E806FBE18C0EE926000EEA22EECF6B |
:104BE000E6FFEFCFE6FF1CEC04F0E552E5522AC0E9 |
:104BF00000F02BC001F02CC002F02DC003F0070E16 |
:104C0000DBCFE9FF080EDBCFEAFF020ED890E936D2 |
:104C1000EA36E806FBE19C0EE926000EEA2200C017 |
:104C2000EEFF01C0EEFF02C0EEFF03C0EEFF050E77 |
:104C3000DB6A060EDB6A050EDBCF00F0060EDBCF6B |
:104C400001F0040E005C000E015870E2050EDBCF8F |
:104C5000E9FF060EDBCFEAFF010ED890E936EA360F |
:104C6000E806FBE1600EE926000EEA22EF50E66E50 |
:104C7000050EDBCF00F0060EDBCF01F0010ED89061 |
:104C800000360136E806FBE1160E0026000E012272 |
:104C9000010E0026000E012200C0E6FF01C0E6FF63 |
:104CA00060EC2DF0E552E552E5521DEC2EF0050EBC |
:104CB000DBCFE9FF060EDBCFEAFF010ED890E93625 |
:104CC000EA36E806FBE1600EE926000EEA22010E54 |
:104CD000E926000EEA22EF50E66E050EDBCF00F06B |
:104CE000060EDBCF01F0010ED89000360136E80643 |
:104CF000FBE1160E0026000E0122010E0026000E1A |
:104D00000122010E0026000E012200C0E6FF01C0B4 |
:104D1000E6FF60EC2DF0E552E552E5521DEC2EF079 |
:104D2000050EDB2A060E01E3DB2A85D7070EDB6AB8 |
:104D3000080EDB6A070EDBCF00F0080EDBCF01F0B8 |
:104D4000005C000E015870E2070EDBCFE9FF080E91 |
:104D5000DBCFEAFF010ED890E936EA36E806FBE140 |
:104D60008C0EE926000EEA22EF50E66E070EDBCF2E |
:104D700000F0080EDBCF01F0010ED89000360136AE |
:104D8000E806FBE1160E0026000E0122110E002699 |
:104D9000000E012200C0E6FF01C0E6FF60EC2DF02E |
:104DA000E552E552E5521DEC2EF0070EDBCFE9FF90 |
:104DB000080EDBCFEAFF010ED890E936EA36E806A6 |
:104DC000FBE18C0EE926000EEA22010EE926000E18 |
:104DD000EA22EF50E66E070EDBCF00F0080EDBCFC5 |
:104DE00001F0010ED89000360136E806FBE1160E00 |
:104DF0000026000E0122110E0026000E0122010ED7 |
:104E00000026000E012200C0E6FF01C0E6FF60ECB4 |
:104E10002DF0E552E552E5521DEC2EF0070EDB2A8F |
:104E2000080E01E3DB2A86D7550EE66E160EE66EF7 |
:104E3000E66A60EC2DF0E552E552E5521DEC2EF0ED |
:104E40000A0EDBCFCCF00001CB81CB8FA2D122C4E4 |
:104E500001F116EC2EF0C580C5B0FED716EC2EF091 |
:104E600001010151E824E66E27EC2DF0E55223C440 |
:104E7000E6FF27EC2DF0E55224C4E6FF27EC2DF0E9 |
:104E8000E552C584C5B4FED716EC2EF00101036BC4 |
:104E90000001030EC96F010ECA6FCB81010ECC6FEA |
:104EA000CB8F77D1050EDB6A060EDB6A050EDBCFF2 |
:104EB00000F0060EDBCF01F0040E005C000E01587E |
:104EC0001FE2050EDBCFE9FF060EDBCFEAFFDA0EAD |
:104ED000E926010EEA22EF50E66E050EDBCFE9FF70 |
:104EE000060EDBCFEAFF030EE926010EEA22E552A9 |
:104EF000E750EF6E050EDB2A060E01E3DB2AD6D75C |
:104F0000050EDB6A060EDB6A050EDBCF00F0060E2F |
:104F1000DBCF01F0040E005C000E015825E2050E07 |
:104F2000DBCFE9FF060EDBCFEAFFD60EE926010E46 |
:104F3000EA22EF50E66E040EE76E050EDBCFE9FFC6 |
:104F4000060EDBCFEAFFE750E926000EEA22030E49 |
:104F5000E926010EEA22E552E750EF6E050EDB2A44 |
:104F6000060E01E3DB2AD0D70001030EC96F010E44 |
:104F7000CA6FCB81080ECC6FCB8F0BD1306A316AF0 |
:104F8000326A4A0E336ED2C12BF0D3C12CF0D4C199 |
:104F90002DF0D5C12EF02EEC2AF0E8EC2AF02AC034 |
:104FA000A1F12BC0A2F12CC0A3F12DC0A4F10001EE |
:104FB000A10EC96F010ECA6FCB81040ECC6FCB8FCF |
:104FC000E8D0306A240E316E740E326E490E336EA4 |
:104FD000CEC12BF0CFC12CF0D0C12DF0D1C12EF01D |
:104FE0002EEC2AF0B9EC2AF0030E2CC0DBFF040EE5 |
:104FF0002DC0DBFF0001D950030FC96FDACFCAF013 |
:10500000CB81020ECC6FCB8FC4D0050EDB6A060EAF |
:10501000DB6A050EDBCF00F0060EDBCF01F0040EDD |
:10502000005C000E01582BE2050EE76EDBCF00F0AE |
:10503000060EDBCF01F0E7500026000E0122010E24 |
:105040000026000E012200C0E6FF01C0E6FF85EC4D |
:105050002DF0E552E552E66E050EDBCFE9FF060EB8 |
:10506000DBCFEAFFA10EE926010EEA22E552E75066 |
:10507000EF6E050EDB2A060E01E3DB2ACAD700011C |
:10508000A10EC96F010ECA6FCB81040ECC6FCB8FFE |
:1050900080D00001A50EC96F010ECA6FCB81040E2E |
:1050A000CC6FCB8F76D022C401F1E7EC0AF000017F |
:1050B000AB0EC96F010ECA6FCB81060ECC6FCB8FC2 |
:1050C00068D00101036B0001030EC96F010ECA6FA6 |
:1050D000CB81010ECC6FCB8F5CD0FF0E0401225D23 |
:1050E0003BE1E668000EE66EE66A60EC2DF0E55204 |
:1050F000E552E5521DEC2EF0E668050EE66EE66A16 |
:1051000060EC2DF0E552E552E5521DEC2EF0E6681C |
:105110000A0EE66EE66A60EC2DF0E552E552E552C5 |
:105120001DEC2EF0E6680D0EE66EE66A60EC2DF0E2 |
:10513000E552E552E5521DEC2EF0E668160EE66EDD |
:10514000E66A60EC2DF0E552E552E5521DEC2EF0DA |
:105150000101550E016F02D022C401F10101036B60 |
:105160000001030EC96F010ECA6FCB81010ECC6F17 |
:10517000CB8F0FD00101040E036F100E046F0001DE |
:10518000030EC96F010ECA6FCB81020ECC6FCB8F9D |
:1051900000D00B0EE15C02E2E16AE552E16EE552FD |
:1051A000E7CFD9FF1200100E0101A05D08E3010155 |
:1051B0009F2B100E9F5D01E39F6B0101A007010172 |
:1051C0009E51090DF3CFE9FFF4CFEAFF0E0EE92659 |
:1051D000010EEA2202C1EFFF9E51090DF3CFE9FF54 |
:1051E000F4CFEAFF0E0EE926010EEA22EE520BC1C1 |
:1051F000EEFF0CC1EDFF9E2B100E9E5D01E39E6B3A |
:065200000101A02B1200C9 |
:0A520600259E05D0259E2DAE02D096 |
:105210002D6C258E2DC027F0266A376A366A860ED9 |
:10522000286E296AA2EF2BF0259E08D0259E2DAE70 |
:1052300005D02C6C2D1EE86A2D22258E2DC027F05E |
:105240002CC026F0376A366A8E0E286E296AA2EFC5 |
:105250002BF0259E0CD0259E2DAE09D02A6C2B1E3E |
:105260002C1E2D1EE86A2B222C222D22258E2DC0CD |
:1052700027F02CC026F02BC037F02AC036F09E0E47 |
:10528000286E296AA2EF2BF0337E256ADEEC2BF024 |
:10529000F6EC2BF025B686EF2BF025A20AD025AA36 |
:1052A00003D025BE86EF2BF025A492EF2BF08FEFD5 |
:1052B0002BF025AA05D025AC92EF2BF08FEF2BF029 |
:1052C00025A00AD025A808D025BE04D025A402D048 |
:1052D0009BEF2BF09FEF2BF0366A296A33502E5C40 |
:1052E000356E10E32BC037F02CC026F02DC027F010 |
:1052F0002EC034F030C02BF031C02CF032C02DF075 |
:10530000253A09D030C037F031C026F032C027F03E |
:1053100033C034F0356C259E25BC258E34C028F072 |
:1053200025B0CEEF2BF01A0E3560CEEF2BF0286AA9 |
:105330002E6A25A408D02B6C2C1E2D1E2E1EE86A6A |
:105340002C222D222E2225AC08D0376C261E271E9B |
:10535000281EE86A2622272228222A6A355207E0D8 |
:105360002E342D322C322B322A32352EF9D72B50B7 |
:1053700037262C5026222D5027222E5028222AC094 |
:1053800036F0259E28AE0BD0366C371E261E271E03 |
:10539000281EE86A3722262227222822258E28A0C6 |
:1053A00006D0D8802732263237323632342A34C0FB |
:1053B00028F0A2EF2BF0256ADEEC2BF0F6EC2BF0B8 |
:1053C00025B686EF2BF025A205D025BA86EF2BF067 |
:1053D0008DEF2BF025BA99EF2BF025A005D025B83D |
:1053E00086EF2BF099EF2BF025B88DEF2BF0296A83 |
:1053F0007F0E2E24286EE86A29223350285EE86A40 |
:10540000295A1A0E346E2E6A366A376A266A276A55 |
:1054100030502B5E31502C5A32502D5A000E2E5ADD |
:1054200009E730502B2631502C2232502D22000E0D |
:105430002E2201D0368AD8902B362C362D362E3699 |
:10544000D8903636373626362736342EE1D72D50CB |
:105450002C102B10D8A4368AA2EF2BF0256ADEEC94 |
:105460002BF0F6EC2BF025B686EF2BF025A205D01D |
:1054700025B886EF2BF08DEF2BF025AA05D025B0AF |
:1054800086EF2BF08DEF2BF025B002D025A802D0AF |
:1054900099EF2BF0296A33502E24286EE86A2922CE |
:1054A0007E0E285EE86A295A366A376A266A276AB3 |
:1054B00032502D02F4CF27F0F3CF26F031502D02D9 |
:1054C000F3503726F4502622000E272232502C02A9 |
:1054D000F3503726F4502622000E272230502D029A |
:1054E000F3503626F4503722000E26222722315060 |
:1054F0002C02F3503626F4503722000E26222722A3 |
:1055000032502B02F3503626F4503722000E26225A |
:10551000272230502C02F4503626000E3722262245 |
:10552000272231502B02F4503626000E3722262235 |
:105530002722A2EF2BF02CC036F02C503102F4CFF2 |
:105540002BF0F3CF2AF02D503202F4CF2DF0F3CF11 |
:105550002CF03102F3502B26F4502C22E86A2D2235 |
:1055600036503202F3502B26F4502C22E86A2D22BA |
:10557000000C256ADEEC2BF025B6C3EF2AF025A23D |
:105580000ED025B405D07F0E2D6EFF0E2C6E1FD0D1 |
:10559000800E2D6E2C6A1BD02D6A2C6A18D025B077 |
:1055A000FBD78F0E2E60EDD77E0E2E64F5D78E0EB4 |
:1055B0002E5C05E0D8902D322C322E2AF8D725A467 |
:1055C00006D02C6C2D1EE86A2D222DAEE5D71200D8 |
:1055D000256ADEEC2BF025B6F2EF2AF025A20FD0DB |
:1055E00025B407D07F0E2D6EFF0E2C6E2B6E2A6E0B |
:1055F00025D0800E2D6E01D02D6A000EF6D725B075 |
:10560000FBD72A6A9F0E2E60EBD77E0E2E64F4D74E |
:105610009E0E2E5C07E0D8902D322C322B322A328F |
:105620002E2AF6D725A40AD02A6C2B1E2C1E2D1E3E |
:10563000E86A2B222C222D222DAEDED7120031EC6F |
:105640002BF025B6000C25B0000C25B4000C010C85 |
:1056500031EC2BF025B6000C25B0000C25A4000C75 |
:10566000010C256ADEEC2BF0F6EC2BF025B61200CF |
:1056700025AE08D025A004D025A802D02580120090 |
:105680002590120033502E5C0BE132502D5C08E166 |
:1056900031502C5C05E130502B5C02E1258012007A |
:1056A000D8A002D0258E10D02E5033C02EF0336EED |
:1056B0002D5032C02DF0326E2C5031C02CF0316E96 |
:1056C0002B5030C02BF0306E33502E5C10E0FF0FAB |
:1056D00009E0259025B403D025AE2584120025AE1F |
:1056E00025941200332AD890323231323032305081 |
:1056F0002B5E31502C5A32502D5A2DBEEAD7D890FD |
:105700002B362C362D362E2EF8D7C8D77F0E2E6E80 |
:10571000FF0E2D6E2C6E2B6E12007F0E25BEFF0E1F |
:105720002E6E02D07F0E2E6E800E2D6E2C6A2B6A8E |
:10573000F3D725AE04D0800E2E6E2D6AF7D72E6AD1 |
:105740002D6AF4D72750261037103610F8E029BEFE |
:10575000F0D727BE0CD028502910EBE0D890363671 |
:105760003736263627362806D8A02906F2D72950FC |
:10577000D4E12828D2E036AE11D07F0E361402E1F3 |
:1057800037A00CD0372AE86A2622272207E3D880E0 |
:10579000273226323732282A2828BFE02850C9E08D |
:1057A00037C02BF026C02CF027342D6E28302E6EFB |
:1057B0002D322E9E25BE2E8E8CEF2BF02D362E36C2 |
:1057C00002E32584257E06E125802E6A2D6A2C6A57 |
:1057D0002B6A12002E2803E0D8802D321200D890B8 |
:1057E0002D3202E125821200258612003236333630 |
:1057F00002E3258C257E06E12588336A326A316A08 |
:10580000306A1200332803E0D88032321200D89078 |
:085810003232EAE1258A1200A0 |
:08581800DACFE4FFE2CFDAFF72 |
:10582000E652E552E5CFDAFF1100D8CFE4FFE0CF32 |
:10583000E4FFE46EDACFE4FFE2CFDAFFE652E552AE |
:10584000E5CFDAFFE550E5CFE0FFE5CFD8FF100068 |
:1058500006D8A4EC1BF004EC0AF0FBD712000F0EE4 |
:10586000C1125CEC05F038EF1BF0120012001200C0 |
:105870001200D9EF23F0120012006D840101080E0E |
:10588000EE6F070EEF6FEE07000EEF5BEE51EF11BC |
:10589000FAE16D941200D9CFE6FFE1CFD9FFFD0EFA |
:1058A000DBCF2CF0FE0EDBCF2DF0720E2C1801E1B9 |
:1058B0002D5033E0E8682C1802E17F0E2D182BE004 |
:1058C000740E2C1801E12D5024E0750E2C1801E106 |
:1058D0002D501DE0730E2C1801E12D5016E0030E23 |
:1058E0002C1801E12D500FE0020E2C1801E12D5073 |
:1058F00008E0010E2C1801E12D5001E010D0BCDFB2 |
:105900000FD0B9DF0DD0B5DF0BD0B1DF09D0ADDFDF |
:1059100007D0ACDF05D0ACDF03D0000001D000D051 |
:0C592000010E00D0E552E7CFD9FF1200C5 |
:04592C002A0EF66EDB |
:10593000080EF76E000EF86E01010900F550E46FD5 |
:105940000900F550E56F03E1E46701D03DD009009F |
:10595000F550DF6F0900F550E06F0900F550E16F79 |
:1059600009000900F550E96E0900F550EA6E0900DA |
:1059700009000900F550E26F0900F550E36F0900D6 |
:105980000900F6CFE6F1F7CFE7F1F8CFE8F1DFC194 |
:10599000F6FFE0C1F7FFE1C1F8FF0101E25302E1C8 |
:1059A000E35307E00900F550EE6EE207F8E2E30783 |
:1059B000F9D7E6C1F6FFE7C1F7FFE8C1F8FF01013B |
:0A59C000E407000EE55BBFD71200FC |
:0659CA00120100020000C2 |
:1059D0000008C016DC0500000102030109022000D6 |
:1059E000010100C0320904000002000000000705A8 |
:1059F000010240000107058102400001040309047F |
:105A00001A037700770077002E006F0062006400B1 |
:105A1000650076002E006100740016034400470004 |
:105A200038005300410051002D004900320043006E |
:105A300014035400460033004C004A002D0031008E |
:0E5A40002E003000DC59FC59005A1A5A305A18 |
:025A4E00D9CFAE |
:105A5000E6FFDACFE6FFE1CFD9FFE2CFDAFFFD0EB6 |
:105A6000DB50C96EC6AE02D0FF0E24D00F0EC61496 |
:105A700008080FE00F0EC6140B080BE0C6889EA6A0 |
:105A8000FED7C750040B03E1C750010B10E0000E16 |
:105A900011D00F0EC614080804E00F0EC6140B0830 |
:105AA00009E1C7B0FED716EC2EF0C5AC02D0FE0E51 |
:105AB00001D0000EE552E5CFDAFFE7CFD9FF1200A3 |
:105AC000D9CFE6FFDACFE6FFE1CFD9FFE2CFDAFFA9 |
:105AD000FF0EE76EFC0EDBCF00F0E7500016005023 |
:105AE000A96EFB0EDB50A86EA69EA69CA684F29E15 |
:105AF000550EA76EAA0EA76EA682F28EA694E55248 |
:0A5B0000E5CFDAFFE7CFD9FF12006E |
:065B0A00D9CFE6FFDACF5F |
:105B1000E6FFE1CFD9FFE2CFDAFFFF0EE76EFC0E22 |
:105B2000DBCF00F0E75000160050A96EA69CA69EA1 |
:105B3000A680A850E552E5CFDAFFE7CFD9FF1200E3 |
:105B4000D9CFE6FFDACFE6FFE1CFD9FFE2CFDAFF28 |
:105B50003F0EC716C66AC56AFD0EDB50C612FC0EA4 |
:105B6000DB50C71293829380C68AE552E5CFDAFFF5 |
:065B7000E7CFD9FF12008F |
:0A5B7600FE0EE3CFE9FFFF0EE3CFC0 |
:105B8000EAFFE9CFF3FFEACFF4FFFB0EE35003E1B6 |
:105B9000FC0EE35009E0FB0EE30602E2FC0EE30616 |
:0A5BA000FD0EE350EE6EF1D7120087 |
:065BAA00296A286A100EB2 |
:105BB000E76ED8902C362D36283629363150285CA1 |
:105BC0003250295805E33150285E3250295A2C2A88 |
:065BD000E72EF0D71200E1 |
:0A5BD600000EF36E00EE00F0040E66 |
:105BE00001D81200EA6002D0EE6AFCD7F350E960F7 |
:065BF0001200EE6AFCD772 |
:0A5BF60013EE00F023EE00F0F86A51 |
:105C0000259C96EC2CF020EC2EF028EC2CF0FBD709 |
:025C1000120080 |
:0E5C12000F0EC614080804E00F0EC6140B088F |
:0C5C200001E1C586C7A0FED7C9501200E4 |
:045C2C001F0EC5146E |
:0A5C3000FDE1C750040BFAE1120079 |
:065C3A00A6B2FED7120025 |
:025C4000120050 |
:055C420000000100005C |
:020000040030CA |
:0100000024DB |
:010001000EF0 |
:010002003FBE |
:010003001EDE |
:010005008179 |
:010006008178 |
:010008000FE8 |
:01000900C036 |
:01000A000FE6 |
:01000B00A054 |
:01000C000FE4 |
:01000D0040B2 |
:0200000400F00A |
:10000000FF00000000FF00000000FF0000FF0000F4 |
:10001000000000000000FF000000000000000000E1 |
:1000200000000000000000000000000000000000D0 |
:080030000000000000000001C7 |
:00000001FF |
/Modules/Clock/CLKGEN01B/SW/DG8SAQ synthesiser_Emulator/USB Device - MCHPUSB - Generic Driver - C18 - PIC18F4550.mcp |
---|
0,0 → 1,130 |
[HEADER] |
magic_cookie={66E99B07-E706-4689-9E80-9B2582898A13} |
file_version=1.0 |
device=PIC18F4550 |
[PATH_INFO] |
BuildDirPolicy=BuildDirIsProjectDir |
dir_src= |
dir_bin= |
dir_tmp=.\Objects\USB Device - Generic Driver Demo - C18 - PICDEM FSUSB |
dir_sin= |
dir_inc=C:\library\Microchip\Include\USB;C:\library\Microchip\USB;C:\library\Microchip\Include;. |
dir_lib=C:\Program Files\Microchip\MCC18\lib |
dir_lkr= |
[CAT_FILTERS] |
filter_src=*.asm;*.c |
filter_inc=*.h;*.inc |
filter_obj=*.o |
filter_lib=*.lib |
filter_lkr=*.lkr |
[CAT_SUBFOLDERS] |
subfolder_src=USB Stack |
subfolder_inc=Common;USB Stack |
subfolder_obj= |
subfolder_lib= |
subfolder_lkr= |
[FILE_SUBFOLDERS] |
file_000=. |
file_001=. |
file_002=. |
file_003=. |
file_004=USB Stack |
file_005=USB Stack |
file_006=USB Stack |
file_007=. |
file_008=. |
file_009=. |
file_010=Common |
file_011=Common |
file_012=USB Stack |
file_013=USB Stack |
file_014=USB Stack |
file_015=USB Stack |
file_016=USB Stack |
file_017=USB Stack |
file_018=USB Stack |
file_019=. |
file_020=. |
[GENERATED_FILES] |
file_000=no |
file_001=no |
file_002=no |
file_003=no |
file_004=no |
file_005=no |
file_006=no |
file_007=no |
file_008=no |
file_009=no |
file_010=no |
file_011=no |
file_012=no |
file_013=no |
file_014=no |
file_015=no |
file_016=no |
file_017=no |
file_018=no |
file_019=no |
file_020=no |
[OTHER_FILES] |
file_000=no |
file_001=no |
file_002=no |
file_003=no |
file_004=no |
file_005=no |
file_006=no |
file_007=no |
file_008=no |
file_009=no |
file_010=no |
file_011=no |
file_012=no |
file_013=no |
file_014=no |
file_015=no |
file_016=no |
file_017=no |
file_018=no |
file_019=no |
file_020=no |
[FILE_INFO] |
file_000=user.c |
file_001=main.c |
file_002=usb_descriptors.c |
file_003=UBW-I2C.c |
file_004=C:\library\Microchip\USB\usb_device.c |
file_005=C:\library\Microchip\Include\USB\usb_device.h |
file_006=C:\library\Microchip\Include\USB\usb_function_generic.h |
file_007=HardwareProfile.h |
file_008=user.h |
file_009=usb_config.h |
file_010=C:\library\Microchip\Include\GenericTypeDefs.h |
file_011=C:\library\Microchip\Include\Compiler.h |
file_012=C:\library\Microchip\Include\USB\usb_hal_pic18.h |
file_013=C:\library\Microchip\Include\USB\usb.h |
file_014=C:\library\Microchip\Include\USB\usb_ch9.h |
file_015=C:\library\Microchip\Include\USB\usb_common.h |
file_016=C:\library\Microchip\Include\USB\usb_device.h |
file_017=C:\library\Microchip\Include\USB\usb_function_generic.h |
file_018=C:\library\Microchip\Include\USB\usb_hal.h |
file_019=HardwareProfile - PICDEM FSUSB.h |
file_020=rm18f4550.lkr |
[SUITE_INFO] |
suite_guid={5B7D72DD-9861-47BD-9F60-2BE967BF8416} |
suite_state= |
[TOOL_SETTINGS] |
TS{DD2213A8-6310-47B1-8376-9430CDFC013F}= |
TS{BFD27FBA-4A02-4C0E-A5E5-B812F3E7707C}=/m"$(BINDIR_)$(TARGETBASE).map" /w /o"$(TARGETBASE).cof" |
TS{C2AF05E7-1416-4625-923D-E114DB6E2B96}=-Ou- -Ot- -Ob- -Op- -Or- -Od- -Opa- |
TS{ADE93A55-C7C7-4D4D-A4BA-59305F7D0391}= |
[INSTRUMENTED_TRACE] |
enable=0 |
transport=0 |
format=0 |
[CUSTOM_BUILD] |
Pre-Build= |
Pre-BuildEnabled=1 |
Post-Build= |
Post-BuildEnabled=1 |
/Modules/Clock/CLKGEN01B/SW/DG8SAQ synthesiser_Emulator/USB Device - MCHPUSB - Generic Driver - C18 - PIC18F4550.mcw |
---|
Cannot display: file marked as a binary type. |
svn:mime-type = application/octet-stream |
Property changes: |
Added: svn:mime-type |
+application/octet-stream |
\ No newline at end of property |
/Modules/Clock/CLKGEN01B/SW/DG8SAQ synthesiser_Emulator/main.c |
---|
0,0 → 1,1020 |
/******************************************************************** |
FileName: main.c |
Dependencies: See INCLUDES section |
Processor: PIC18 or PIC24 USB Microcontrollers |
Hardware: The code is natively intended to be used on the following |
hardware platforms: PICDEM FS USB Demo Board, |
PIC18F87J50 FS USB Plug-In Module, or |
Explorer 16 + PIC24 USB PIM. The firmware may be |
modified for use on other USB platforms by editing the |
HardwareProfile.h file. |
Complier: Microchip C18 (for PIC18) or C30 (for PIC24) |
Company: Microchip Technology, Inc. |
Software License Agreement: |
The software supplied herewith by Microchip Technology Incorporated |
(the Company) for its PIC® Microcontroller is intended and |
supplied to you, the Companys customer, for use solely and |
exclusively on Microchip PIC Microcontroller products. The |
software is owned by the Company and/or its supplier, and is |
protected under applicable copyright laws. All rights are reserved. |
Any use in violation of the foregoing restrictions may subject the |
user to criminal sanctions under applicable laws, as well as to |
civil liability for the breach of the terms and conditions of this |
license. |
THIS SOFTWARE IS PROVIDED IN AN AS IS CONDITION. NO WARRANTIES, |
WHETHER EXPRESS, IMPLIED OR STATUTORY, INCLUDING, BUT NOT LIMITED |
TO, IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A |
PARTICULAR PURPOSE APPLY TO THIS SOFTWARE. THE COMPANY SHALL NOT, |
IN ANY CIRCUMSTANCES, BE LIABLE FOR SPECIAL, INCIDENTAL OR |
CONSEQUENTIAL DAMAGES, FOR ANY REASON WHATSOEVER. |
******************************************************************** |
File Description: |
Change History: |
Rev Date Description |
1.0 11/19/2004 Initial release |
2.1 02/26/2007 Updated for simplicity and to use common |
coding style |
********************************************************************/ |
/** INCLUDES *******************************************************/ |
#include "USB/usb.h" |
#include "USB/usb_function_generic.h" |
#include "user.h" // Modifiable |
#include "HardwareProfile.h" |
/** CONFIGURATION **************************************************/ |
#if defined(PICDEM_FS_USB) // Configuration bits for PICDEM FS USB Demo Board (based on PIC18F4550) |
#pragma config PLLDIV = 5 // (20 MHz crystal on PICDEM FS USB board) |
#pragma config CPUDIV = OSC1_PLL2 |
#pragma config USBDIV = 2 // Clock source from 96MHz PLL/2 |
#pragma config FOSC = HSPLL_HS |
#pragma config FCMEN = OFF |
#pragma config IESO = OFF |
#pragma config PWRT = OFF |
#pragma config BOR = ON |
#pragma config BORV = 3 |
#pragma config VREGEN = ON //USB Voltage Regulator |
#pragma config WDT = OFF |
#pragma config WDTPS = 32768 |
#pragma config MCLRE = ON |
#pragma config LPT1OSC = OFF |
#pragma config PBADEN = OFF |
// #pragma config CCP2MX = ON |
#pragma config STVREN = ON |
#pragma config LVP = OFF |
// #pragma config ICPRT = OFF // Dedicated In-Circuit Debug/Programming |
#pragma config XINST = OFF // Extended Instruction Set |
#pragma config CP0 = OFF |
#pragma config CP1 = OFF |
// #pragma config CP2 = OFF |
// #pragma config CP3 = OFF |
#pragma config CPB = OFF |
// #pragma config CPD = OFF |
#pragma config WRT0 = OFF |
#pragma config WRT1 = OFF |
// #pragma config WRT2 = OFF |
// #pragma config WRT3 = OFF |
#pragma config WRTB = OFF // Boot Block Write Protection |
#pragma config WRTC = OFF |
// #pragma config WRTD = OFF |
#pragma config EBTR0 = OFF |
#pragma config EBTR1 = OFF |
// #pragma config EBTR2 = OFF |
// #pragma config EBTR3 = OFF |
#pragma config EBTRB = OFF |
#elif defined(PIC18F87J50_PIM) // Configuration bits for PIC18F87J50 FS USB Plug-In Module board |
#pragma config XINST = OFF // Extended instruction set |
#pragma config STVREN = ON // Stack overflow reset |
#pragma config PLLDIV = 3 // (12 MHz crystal used on this board) |
#pragma config WDTEN = OFF // Watch Dog Timer (WDT) |
#pragma config CP0 = OFF // Code protect |
#pragma config CPUDIV = OSC1 // OSC1 = divide by 1 mode |
#pragma config IESO = OFF // Internal External (clock) Switchover |
#pragma config FCMEN = OFF // Fail Safe Clock Monitor |
#pragma config FOSC = HSPLL // Firmware must also set OSCTUNE<PLLEN> to start PLL! |
#pragma config WDTPS = 32768 |
// #pragma config WAIT = OFF // Commented choices are |
// #pragma config BW = 16 // only available on the |
// #pragma config MODE = MM // 80 pin devices in the |
// #pragma config EASHFT = OFF // family. |
#pragma config MSSPMSK = MSK5 |
// #pragma config PMPMX = DEFAULT |
// #pragma config ECCPMX = DEFAULT |
#pragma config CCP2MX = DEFAULT |
#elif defined(PIC18F46J50_PIM) || defined(PIC18F_STARTER_KIT_1) |
#pragma config WDTEN = OFF //WDT disabled (enabled by SWDTEN bit) |
#pragma config PLLDIV = 3 //Divide by 3 (12 MHz oscillator input) |
#pragma config STVREN = ON //stack overflow/underflow reset enabled |
#pragma config XINST = OFF //Extended instruction set disabled |
#pragma config CPUDIV = OSC1 //No CPU system clock divide |
#pragma config CP0 = OFF //Program memory is not code-protected |
#pragma config OSC = HSPLL //HS oscillator, PLL enabled, HSPLL used by USB |
#pragma config T1DIG = ON //Sec Osc clock source may be selected |
#pragma config LPT1OSC = OFF //high power Timer1 mode |
#pragma config FCMEN = OFF //Fail-Safe Clock Monitor disabled |
#pragma config IESO = OFF //Two-Speed Start-up disabled |
#pragma config WDTPS = 32768 //1:32768 |
#pragma config DSWDTOSC = INTOSCREF //DSWDT uses INTOSC/INTRC as clock |
#pragma config RTCOSC = T1OSCREF //RTCC uses T1OSC/T1CKI as clock |
#pragma config DSBOREN = OFF //Zero-Power BOR disabled in Deep Sleep |
#pragma config DSWDTEN = OFF //Disabled |
#pragma config DSWDTPS = 8192 //1:8,192 (8.5 seconds) |
#pragma config IOL1WAY = OFF //IOLOCK bit can be set and cleared |
#pragma config MSSP7B_EN = MSK7 //7 Bit address masking |
#pragma config WPFP = PAGE_1 //Write Protect Program Flash Page 0 |
#pragma config WPEND = PAGE_0 //Start protection at page 0 |
#pragma config WPCFG = OFF //Write/Erase last page protect Disabled |
#pragma config WPDIS = OFF //WPFP[5:0], WPEND, and WPCFG bits ignored |
#elif defined(LOW_PIN_COUNT_USB_DEVELOPMENT_KIT) |
// PIC18F14K50 |
#pragma config CPUDIV = NOCLKDIV |
#pragma config USBDIV = OFF |
#pragma config FOSC = HS |
#pragma config PLLEN = ON |
#pragma config FCMEN = OFF |
#pragma config IESO = OFF |
#pragma config PWRTEN = OFF |
#pragma config BOREN = OFF |
#pragma config BORV = 30 |
#pragma config WDTEN = OFF |
#pragma config WDTPS = 32768 |
#pragma config MCLRE = OFF |
#pragma config HFOFST = OFF |
#pragma config STVREN = ON |
#pragma config LVP = OFF |
#pragma config XINST = OFF |
#pragma config BBSIZ = OFF |
#pragma config CP0 = OFF |
#pragma config CP1 = OFF |
#pragma config CPB = OFF |
#pragma config WRT0 = OFF |
#pragma config WRT1 = OFF |
#pragma config WRTB = OFF |
#pragma config WRTC = OFF |
#pragma config EBTR0 = OFF |
#pragma config EBTR1 = OFF |
#pragma config EBTRB = OFF |
#elif defined(EXPLORER_16) |
#ifdef __PIC24FJ256GB110__ //Defined by MPLAB when using 24FJ256GB110 device |
_CONFIG1( JTAGEN_OFF & GCP_OFF & GWRP_OFF & COE_OFF & FWDTEN_OFF & ICS_PGx2) |
_CONFIG2( 0xF7FF & IESO_OFF & FCKSM_CSDCMD & OSCIOFNC_ON & POSCMOD_HS & FNOSC_PRIPLL & PLLDIV_DIV2 & IOL1WAY_ON) |
#elif defined(__PIC24FJ64GB004__) |
_CONFIG1(WDTPS_PS1 & FWPSA_PR32 & WINDIS_OFF & FWDTEN_OFF & ICS_PGx1 & GWRP_OFF & GCP_OFF & JTAGEN_OFF) |
_CONFIG2(POSCMOD_HS & I2C1SEL_PRI & IOL1WAY_OFF & OSCIOFNC_ON & FCKSM_CSDCMD & FNOSC_PRIPLL & PLL96MHZ_ON & PLLDIV_DIV2 & IESO_ON) |
_CONFIG3(WPFP_WPFP0 & SOSCSEL_SOSC & WUTSEL_LEG & WPDIS_WPDIS & WPCFG_WPCFGDIS & WPEND_WPENDMEM) |
_CONFIG4(DSWDTPS_DSWDTPS3 & DSWDTOSC_LPRC & RTCOSC_SOSC & DSBOREN_OFF & DSWDTEN_OFF) |
#elif defined(__32MX460F512L__) || defined(__32MX795F512L__) |
#pragma config UPLLEN = ON // USB PLL Enabled |
#pragma config FPLLMUL = MUL_15 // PLL Multiplier |
#pragma config UPLLIDIV = DIV_2 // USB PLL Input Divider |
#pragma config FPLLIDIV = DIV_2 // PLL Input Divider |
#pragma config FPLLODIV = DIV_1 // PLL Output Divider |
#pragma config FPBDIV = DIV_1 // Peripheral Clock divisor |
#pragma config FWDTEN = OFF // Watchdog Timer |
#pragma config WDTPS = PS1 // Watchdog Timer Postscale |
#pragma config FCKSM = CSDCMD // Clock Switching & Fail Safe Clock Monitor |
#pragma config OSCIOFNC = OFF // CLKO Enable |
#pragma config POSCMOD = HS // Primary Oscillator |
#pragma config IESO = OFF // Internal/External Switch-over |
#pragma config FSOSCEN = OFF // Secondary Oscillator Enable (KLO was off) |
#pragma config FNOSC = PRIPLL // Oscillator Selection |
#pragma config CP = OFF // Code Protect |
#pragma config BWP = OFF // Boot Flash Write Protect |
#pragma config PWP = OFF // Program Flash Write Protect |
#pragma config ICESEL = ICS_PGx2 // ICE/ICD Comm Channel Select |
#pragma config DEBUG = ON // Background Debugger Enable |
#else |
#error No hardware board defined, see "HardwareProfile.h" and __FILE__ |
#endif |
#elif defined(PIC24F_STARTER_KIT) |
_CONFIG1( JTAGEN_OFF & GCP_OFF & GWRP_OFF & COE_OFF & FWDTEN_OFF & ICS_PGx2) |
_CONFIG2( 0xF7FF & IESO_OFF & FCKSM_CSDCMD & OSCIOFNC_ON & POSCMOD_HS & FNOSC_PRIPLL & PLLDIV_DIV3 & IOL1WAY_ON) |
#elif defined(PIC24FJ256DA210_DEV_BOARD) |
//_CONFIG1(FWDTEN_OFF & ICS_PGx2 & COE_OFF & GWRP_OFF & GCP_OFF & JTAGEN_OFF) |
//_CONFIG2(POSCMOD_HS & IOL1WAY_ON & OSCIOFNC_ON & FCKSM_CSDCMD & FNOSC_PRIPLL & PLL96MHZ_ON & PLLDIV_DIV2 & IESO_OFF) |
#elif defined(PIC32_USB_STARTER_KIT) |
#pragma config UPLLEN = ON // USB PLL Enabled |
#pragma config FPLLMUL = MUL_15 // PLL Multiplier |
#pragma config UPLLIDIV = DIV_2 // USB PLL Input Divider |
#pragma config FPLLIDIV = DIV_2 // PLL Input Divider |
#pragma config FPLLODIV = DIV_1 // PLL Output Divider |
#pragma config FPBDIV = DIV_1 // Peripheral Clock divisor |
#pragma config FWDTEN = OFF // Watchdog Timer |
#pragma config WDTPS = PS1 // Watchdog Timer Postscale |
#pragma config FCKSM = CSDCMD // Clock Switching & Fail Safe Clock Monitor |
#pragma config OSCIOFNC = OFF // CLKO Enable |
#pragma config POSCMOD = HS // Primary Oscillator |
#pragma config IESO = OFF // Internal/External Switch-over |
#pragma config FSOSCEN = OFF // Secondary Oscillator Enable (KLO was off) |
#pragma config FNOSC = PRIPLL // Oscillator Selection |
#pragma config CP = OFF // Code Protect |
#pragma config BWP = OFF // Boot Flash Write Protect |
#pragma config PWP = OFF // Program Flash Write Protect |
#pragma config ICESEL = ICS_PGx2 // ICE/ICD Comm Channel Select |
#pragma config DEBUG = ON // Background Debugger Enable |
#elif defined(UBW) |
#pragma config PLLDIV = 5 // (20 MHz input) |
#pragma config CPUDIV = OSC1_PLL2 |
#pragma config USBDIV = 2 // Clock source from 96MHz PLL/2 |
#pragma config FOSC = HSPLL_HS |
#pragma config FCMEN = OFF |
#pragma config IESO = OFF |
#pragma config PWRT = OFF |
#pragma config BOR = ON |
#pragma config BORV = 3 |
#pragma config VREGEN = ON |
#pragma config WDT = OFF |
#pragma config WDTPS = 32768 |
#pragma config MCLRE = ON |
#pragma config LPT1OSC = OFF |
#pragma config PBADEN = OFF |
#pragma config CCP2MX = ON |
#pragma config STVREN = ON |
#pragma config LVP = OFF |
//#pragma config ICPRT = OFF // Dedicated In-Circuit Debug/Programming |
#pragma config XINST = OFF // Extended Instruction Set |
#pragma config CP0 = OFF |
#pragma config CP1 = OFF |
#pragma config CP2 = OFF |
//#pragma config CP3 = OFF |
#pragma config CPB = OFF |
#pragma config CPD = OFF |
#pragma config WRT0 = OFF |
#pragma config WRT1 = OFF |
#pragma config WRT2 = OFF |
//#pragma config WRT3 = OFF |
#pragma config WRTB = ON // Boot Block Write Protection |
#pragma config WRTC = OFF |
#pragma config WRTD = OFF |
#pragma config EBTR0 = OFF |
#pragma config EBTR1 = OFF |
#pragma config EBTR2 = OFF |
//#pragma config EBTR3 = OFF |
#pragma config EBTRB = OFF |
#elif defined(UBW32) |
#else |
#error No hardware board defined, see "HardwareProfile.h" and __FILE__ |
#endif |
/** VARIABLES ******************************************************/ |
#pragma udata |
/** PRIVATE PROTOTYPES *********************************************/ |
static void InitializeSystem(void); |
void USBDeviceTasks(void); |
void YourHighPriorityISRCode(void); |
void YourLowPriorityISRCode(void); |
/** VECTOR REMAPPING ***********************************************/ |
#if defined(__18CXX) |
//On PIC18 devices, addresses 0x00, 0x08, and 0x18 are used for |
//the reset, high priority interrupt, and low priority interrupt |
//vectors. However, the current Microchip USB bootloader |
//examples are intended to occupy addresses 0x00-0x7FF or |
//0x00-0xFFF depending on which bootloader is used. Therefore, |
//the bootloader code remaps these vectors to new locations |
//as indicated below. This remapping is only necessary if you |
//wish to program the hex file generated from this project with |
//the USB bootloader. If no bootloader is used, edit the |
//usb_config.h file and comment out the following defines: |
//#define PROGRAMMABLE_WITH_USB_HID_BOOTLOADER |
//#define PROGRAMMABLE_WITH_USB_LEGACY_CUSTOM_CLASS_BOOTLOADER |
#if defined(PROGRAMMABLE_WITH_USB_HID_BOOTLOADER) |
#define REMAPPED_RESET_VECTOR_ADDRESS 0x1000 |
#define REMAPPED_HIGH_INTERRUPT_VECTOR_ADDRESS 0x1008 |
#define REMAPPED_LOW_INTERRUPT_VECTOR_ADDRESS 0x1018 |
#elif defined(PROGRAMMABLE_WITH_USB_MCHPUSB_BOOTLOADER) |
#define REMAPPED_RESET_VECTOR_ADDRESS 0x800 |
#define REMAPPED_HIGH_INTERRUPT_VECTOR_ADDRESS 0x808 |
#define REMAPPED_LOW_INTERRUPT_VECTOR_ADDRESS 0x818 |
#else |
#define REMAPPED_RESET_VECTOR_ADDRESS 0x00 |
#define REMAPPED_HIGH_INTERRUPT_VECTOR_ADDRESS 0x08 |
#define REMAPPED_LOW_INTERRUPT_VECTOR_ADDRESS 0x18 |
#endif |
#if defined(PROGRAMMABLE_WITH_USB_HID_BOOTLOADER)||defined(PROGRAMMABLE_WITH_USB_MCHPUSB_BOOTLOADER) |
extern void _startup (void); // See c018i.c in your C18 compiler dir |
#pragma code REMAPPED_RESET_VECTOR = REMAPPED_RESET_VECTOR_ADDRESS |
void _reset (void) |
{ |
_asm goto _startup _endasm |
} |
#endif |
#pragma code REMAPPED_HIGH_INTERRUPT_VECTOR = REMAPPED_HIGH_INTERRUPT_VECTOR_ADDRESS |
void Remapped_High_ISR (void) |
{ |
_asm goto YourHighPriorityISRCode _endasm |
} |
#pragma code REMAPPED_LOW_INTERRUPT_VECTOR = REMAPPED_LOW_INTERRUPT_VECTOR_ADDRESS |
void Remapped_Low_ISR (void) |
{ |
_asm goto YourLowPriorityISRCode _endasm |
} |
#if defined(PROGRAMMABLE_WITH_USB_HID_BOOTLOADER)||defined(PROGRAMMABLE_WITH_USB_MCHPUSB_BOOTLOADER) |
//Note: If this project is built while one of the bootloaders has |
//been defined, but then the output hex file is not programmed with |
//the bootloader, addresses 0x08 and 0x18 would end up programmed with 0xFFFF. |
//As a result, if an actual interrupt was enabled and occured, the PC would jump |
//to 0x08 (or 0x18) and would begin executing "0xFFFF" (unprogrammed space). This |
//executes as nop instructions, but the PC would eventually reach the REMAPPED_RESET_VECTOR_ADDRESS |
//(0x1000 or 0x800, depending upon bootloader), and would execute the "goto _startup". This |
//would effective reset the application. |
//To fix this situation, we should always deliberately place a |
//"goto REMAPPED_HIGH_INTERRUPT_VECTOR_ADDRESS" at address 0x08, and a |
//"goto REMAPPED_LOW_INTERRUPT_VECTOR_ADDRESS" at address 0x18. When the output |
//hex file of this project is programmed with the bootloader, these sections do not |
//get bootloaded (as they overlap the bootloader space). If the output hex file is not |
//programmed using the bootloader, then the below goto instructions do get programmed, |
//and the hex file still works like normal. The below section is only required to fix this |
//scenario. |
#pragma code HIGH_INTERRUPT_VECTOR = 0x08 |
void High_ISR (void) |
{ |
_asm goto REMAPPED_HIGH_INTERRUPT_VECTOR_ADDRESS _endasm |
} |
#pragma code LOW_INTERRUPT_VECTOR = 0x18 |
void Low_ISR (void) |
{ |
_asm goto REMAPPED_LOW_INTERRUPT_VECTOR_ADDRESS _endasm |
} |
#endif //end of "#if defined(PROGRAMMABLE_WITH_USB_HID_BOOTLOADER)||defined(PROGRAMMABLE_WITH_USB_LEGACY_CUSTOM_CLASS_BOOTLOADER)" |
#pragma code |
//These are your actual interrupt handling routines. |
#pragma interrupt YourHighPriorityISRCode |
void YourHighPriorityISRCode() |
{ |
//Check which interrupt flag caused the interrupt. |
//Service the interrupt |
//Clear the interrupt flag |
//Etc. |
#if defined(USB_INTERRUPT) |
USBDeviceTasks(); |
#endif |
} //This return will be a "retfie fast", since this is in a #pragma interrupt section |
#pragma interruptlow YourLowPriorityISRCode |
void YourLowPriorityISRCode() |
{ |
//Check which interrupt flag caused the interrupt. |
//Service the interrupt |
//Clear the interrupt flag |
//Etc. |
} //This return will be a "retfie", since this is in a #pragma interruptlow section |
#elif defined(__C30__) |
#if defined(PROGRAMMABLE_WITH_USB_HID_BOOTLOADER) |
/* |
* ISR JUMP TABLE |
* |
* It is necessary to define jump table as a function because C30 will |
* not store 24-bit wide values in program memory as variables. |
* |
* This function should be stored at an address where the goto instructions |
* line up with the remapped vectors from the bootloader's linker script. |
* |
* For more information about how to remap the interrupt vectors, |
* please refer to AN1157. An example is provided below for the T2 |
* interrupt with a bootloader ending at address 0x1400 |
*/ |
// void __attribute__ ((address(0x1404))) ISRTable(){ |
// |
// asm("reset"); //reset instruction to prevent runaway code |
// asm("goto %0"::"i"(&_T2Interrupt)); //T2Interrupt's address |
// } |
#endif |
#endif |
/** DECLARATIONS ***************************************************/ |
#pragma code |
/****************************************************************************** |
* Function: void main(void) |
* |
* PreCondition: None |
* |
* Input: None |
* |
* Output: None |
* |
* Side Effects: None |
* |
* Overview: Main program entry point. |
* |
* Note: None |
*******************************************************************/ |
#if defined(__18CXX) |
void main(void) |
#else |
int main(void) |
#endif |
{ |
InitializeSystem(); |
#if defined(USB_INTERRUPT) |
USBDeviceAttach(); |
#endif |
while(1) |
{ |
#if defined(USB_POLLING) |
// Check bus status and service USB interrupts. |
USBDeviceTasks(); // Interrupt or polling method. If using polling, must call |
// this function periodically. This function will take care |
// of processing and responding to SETUP transactions |
// (such as during the enumeration process when you first |
// plug in). USB hosts require that USB devices should accept |
// and process SETUP packets in a timely fashion. Therefore, |
// when using polling, this function should be called |
// frequently (such as once about every 100 microseconds) at any |
// time that a SETUP packet might reasonably be expected to |
// be sent by the host to your device. In most cases, the |
// USBDeviceTasks() function does not take very long to |
// execute (~50 instruction cycles) before it returns. |
#endif |
// Application-specific tasks. |
// Application related code may be added here, or in the ProcessIO() function. |
ProcessIO(); |
}//end while |
}//end main |
/******************************************************************** |
* Function: static void InitializeSystem(void) |
* |
* PreCondition: None |
* |
* Input: None |
* |
* Output: None |
* |
* Side Effects: None |
* |
* Overview: InitializeSystem is a centralize initialization |
* routine. All required USB initialization routines |
* are called from here. |
* |
* User application initialization routine should |
* also be called from here. |
* |
* Note: None |
*******************************************************************/ |
static void InitializeSystem(void) |
{ |
#if (defined(__18CXX) & !defined(PIC18F87J50_PIM)) |
ADCON1 |= 0x0F; // Default all pins to digital |
#elif defined(__C30__) |
#if defined(PIC24FJ256DA210_DEV_BOARD) |
ANSA = 0x0000; |
ANSB = 0x0000; |
ANSC = 0x0000; |
ANSD = 0x0000; |
ANSE = 0x0000; |
ANSF = 0x0000; |
ANSG = 0x0000; |
#else |
AD1PCFGL = 0xFFFF; |
#endif |
#elif defined(__C32__) |
AD1PCFG = 0xFFFF; |
#endif |
#if defined(PIC18F87J50_PIM) || defined(PIC18F46J50_PIM) || defined(PIC18F_STARTER_KIT_1) |
//On the PIC18F87J50 Family of USB microcontrollers, the PLL will not power up and be enabled |
//by default, even if a PLL enabled oscillator configuration is selected (such as HS+PLL). |
//This allows the device to power up at a lower initial operating frequency, which can be |
//advantageous when powered from a source which is not gauranteed to be adequate for 48MHz |
//operation. On these devices, user firmware needs to manually set the OSCTUNE<PLLEN> bit to |
//power up the PLL. |
{ |
unsigned int pll_startup_counter = 600; |
OSCTUNEbits.PLLEN = 1; //Enable the PLL and wait 2+ms until the PLL locks before enabling USB module |
while(pll_startup_counter--); |
} |
//Device switches over automatically to PLL output after PLL is locked and ready. |
#endif |
#if defined(PIC18F87J50_PIM) |
//Configure all I/O pins to use digital input buffers. The PIC18F87J50 Family devices |
//use the ANCONx registers to control this, which is different from other devices which |
//use the ADCON1 register for this purpose. |
WDTCONbits.ADSHR = 1; // Select alternate SFR location to access ANCONx registers |
ANCON0 = 0xFF; // Default all pins to digital |
ANCON1 = 0xFF; // Default all pins to digital |
WDTCONbits.ADSHR = 0; // Select normal SFR locations |
#endif |
#if defined(PIC18F46J50_PIM) || defined(PIC18F_STARTER_KIT_1) |
//Configure all I/O pins to use digital input buffers. |
ANCON0 = 0x7F; // all pins to digital except AN7 |
ANCON1 = 0xBF; // Default all pins to digital. Bandgap on. |
#endif |
#if defined(PIC24FJ64GB004_PIM) || defined(PIC24FJ256DA210_DEV_BOARD) |
//On the PIC24FJ64GB004 Family of USB microcontrollers, the PLL will not power up and be enabled |
//by default, even if a PLL enabled oscillator configuration is selected (such as HS+PLL). |
//This allows the device to power up at a lower initial operating frequency, which can be |
//advantageous when powered from a source which is not gauranteed to be adequate for 32MHz |
//operation. On these devices, user firmware needs to manually set the CLKDIV<PLLEN> bit to |
//power up the PLL. |
{ |
unsigned int pll_startup_counter = 600; |
CLKDIVbits.PLLEN = 1; |
while(pll_startup_counter--); |
} |
//Device switches over automatically to PLL output after PLL is locked and ready. |
#endif |
// The USB specifications require that USB peripheral devices must never source |
// current onto the Vbus pin. Additionally, USB peripherals should not source |
// current on D+ or D- when the host/hub is not actively powering the Vbus line. |
// When designing a self powered (as opposed to bus powered) USB peripheral |
// device, the firmware should make sure not to turn on the USB module and D+ |
// or D- pull up resistor unless Vbus is actively powered. Therefore, the |
// firmware needs some means to detect when Vbus is being powered by the host. |
// A 5V tolerant I/O pin can be connected to Vbus (through a resistor), and |
// can be used to detect when Vbus is high (host actively powering), or low |
// (host is shut down or otherwise not supplying power). The USB firmware |
// can then periodically poll this I/O pin to know when it is okay to turn on |
// the USB module/D+/D- pull up resistor. When designing a purely bus powered |
// peripheral device, it is not possible to source current on D+ or D- when the |
// host is not actively providing power on Vbus. Therefore, implementing this |
// bus sense feature is optional. This firmware can be made to use this bus |
// sense feature by making sure "USE_USB_BUS_SENSE_IO" has been defined in the |
// HardwareProfile.h file. |
#if defined(USE_USB_BUS_SENSE_IO) |
tris_usb_bus_sense = INPUT_PIN; // See HardwareProfile.h |
#endif |
// If the host PC sends a GetStatus (device) request, the firmware must respond |
// and let the host know if the USB peripheral device is currently bus powered |
// or self powered. See chapter 9 in the official USB specifications for details |
// regarding this request. If the peripheral device is capable of being both |
// self and bus powered, it should not return a hard coded value for this request. |
// Instead, firmware should check if it is currently self or bus powered, and |
// respond accordingly. If the hardware has been configured like demonstrated |
// on the PICDEM FS USB Demo Board, an I/O pin can be polled to determine the |
// currently selected power source. On the PICDEM FS USB Demo Board, "RA2" |
// is used for this purpose. If using this feature, make sure "USE_SELF_POWER_SENSE_IO" |
// has been defined in HardwareProfile - (platform).h, and that an appropriate I/O pin |
// has been mapped to it. |
#if defined(USE_SELF_POWER_SENSE_IO) |
tris_self_power = INPUT_PIN; // See HardwareProfile |
#endif |
UserInit(); |
USBDeviceInit(); //usb_device.c. Initializes USB module SFRs and firmware |
//variables to known states. |
}//end InitializeSystem |
// ****************************************************************************************************** |
// ************** USB Callback Functions **************************************************************** |
// ****************************************************************************************************** |
// The USB firmware stack will call the callback functions USBCBxxx() in response to certain USB related |
// events. For example, if the host PC is powering down, it will stop sending out Start of Frame (SOF) |
// packets to your device. In response to this, all USB devices are supposed to decrease their power |
// consumption from the USB Vbus to <2.5mA each. The USB module detects this condition (which according |
// to the USB specifications is 3+ms of no bus activity/SOF packets) and then calls the USBCBSuspend() |
// function. You should modify these callback functions to take appropriate actions for each of these |
// conditions. For example, in the USBCBSuspend(), you may wish to add code that will decrease power |
// consumption from Vbus to <2.5mA (such as by clock switching, turning off LEDs, putting the |
// microcontroller to sleep, etc.). Then, in the USBCBWakeFromSuspend() function, you may then wish to |
// add code that undoes the power saving things done in the USBCBSuspend() function. |
// The USBCBSendResume() function is special, in that the USB stack will not automatically call this |
// function. This function is meant to be called from the application firmware instead. See the |
// additional comments near the function. |
/****************************************************************************** |
* Function: void USBCBSuspend(void) |
* |
* PreCondition: None |
* |
* Input: None |
* |
* Output: None |
* |
* Side Effects: None |
* |
* Overview: Call back that is invoked when a USB suspend is detected |
* |
* Note: None |
*****************************************************************************/ |
void USBCBSuspend(void) |
{ |
//Example power saving code. Insert appropriate code here for the desired |
//application behavior. If the microcontroller will be put to sleep, a |
//process similar to that shown below may be used: |
//ConfigureIOPinsForLowPower(); |
//SaveStateOfAllInterruptEnableBits(); |
//DisableAllInterruptEnableBits(); |
//EnableOnlyTheInterruptsWhichWillBeUsedToWakeTheMicro(); //should enable at least USBActivityIF as a wake source |
//Sleep(); |
//RestoreStateOfAllPreviouslySavedInterruptEnableBits(); //Preferrably, this should be done in the USBCBWakeFromSuspend() function instead. |
//RestoreIOPinsToNormal(); //Preferrably, this should be done in the USBCBWakeFromSuspend() function instead. |
//IMPORTANT NOTE: Do not clear the USBActivityIF (ACTVIF) bit here. This bit is |
//cleared inside the usb_device.c file. Clearing USBActivityIF here will cause |
//things to not work as intended. |
#if defined(__C30__) |
#if 0 |
U1EIR = 0xFFFF; |
U1IR = 0xFFFF; |
U1OTGIR = 0xFFFF; |
IFS5bits.USB1IF = 0; |
IEC5bits.USB1IE = 1; |
U1OTGIEbits.ACTVIE = 1; |
U1OTGIRbits.ACTVIF = 1; |
Sleep(); |
#endif |
#endif |
} |
/****************************************************************************** |
* Function: void _USB1Interrupt(void) |
* |
* PreCondition: None |
* |
* Input: None |
* |
* Output: None |
* |
* Side Effects: None |
* |
* Overview: This function is called when the USB interrupt bit is set |
* In this example the interrupt is only used when the device |
* goes to sleep when it receives a USB suspend command |
* |
* Note: None |
*****************************************************************************/ |
#if 0 |
void __attribute__ ((interrupt)) _USB1Interrupt(void) |
{ |
#if !defined(self_powered) |
if(U1OTGIRbits.ACTVIF) |
{ |
IEC5bits.USB1IE = 0; |
U1OTGIEbits.ACTVIE = 0; |
IFS5bits.USB1IF = 0; |
//USBClearInterruptFlag(USBActivityIFReg,USBActivityIFBitNum); |
USBClearInterruptFlag(USBIdleIFReg,USBIdleIFBitNum); |
//USBSuspendControl = 0; |
} |
#endif |
} |
#endif |
/****************************************************************************** |
* Function: void USBCBWakeFromSuspend(void) |
* |
* PreCondition: None |
* |
* Input: None |
* |
* Output: None |
* |
* Side Effects: None |
* |
* Overview: The host may put USB peripheral devices in low power |
* suspend mode (by "sending" 3+ms of idle). Once in suspend |
* mode, the host may wake the device back up by sending non- |
* idle state signalling. |
* |
* This call back is invoked when a wakeup from USB suspend |
* is detected. |
* |
* Note: None |
*****************************************************************************/ |
void USBCBWakeFromSuspend(void) |
{ |
// If clock switching or other power savings measures were taken when |
// executing the USBCBSuspend() function, now would be a good time to |
// switch back to normal full power run mode conditions. The host allows |
// a few milliseconds of wakeup time, after which the device must be |
// fully back to normal, and capable of receiving and processing USB |
// packets. In order to do this, the USB module must receive proper |
// clocking (IE: 48MHz clock must be available to SIE for full speed USB |
// operation). |
} |
/******************************************************************** |
* Function: void USBCB_SOF_Handler(void) |
* |
* PreCondition: None |
* |
* Input: None |
* |
* Output: None |
* |
* Side Effects: None |
* |
* Overview: The USB host sends out a SOF packet to full-speed |
* devices every 1 ms. This interrupt may be useful |
* for isochronous pipes. End designers should |
* implement callback routine as necessary. |
* |
* Note: None |
*******************************************************************/ |
void USBCB_SOF_Handler(void) |
{ |
// No need to clear UIRbits.SOFIF to 0 here. |
// Callback caller is already doing that. |
} |
/******************************************************************* |
* Function: void USBCBErrorHandler(void) |
* |
* PreCondition: None |
* |
* Input: None |
* |
* Output: None |
* |
* Side Effects: None |
* |
* Overview: The purpose of this callback is mainly for |
* debugging during development. Check UEIR to see |
* which error causes the interrupt. |
* |
* Note: None |
*******************************************************************/ |
void USBCBErrorHandler(void) |
{ |
// No need to clear UEIR to 0 here. |
// Callback caller is already doing that. |
// Typically, user firmware does not need to do anything special |
// if a USB error occurs. For example, if the host sends an OUT |
// packet to your device, but the packet gets corrupted (ex: |
// because of a bad connection, or the user unplugs the |
// USB cable during the transmission) this will typically set |
// one or more USB error interrupt flags. Nothing specific |
// needs to be done however, since the SIE will automatically |
// send a "NAK" packet to the host. In response to this, the |
// host will normally retry to send the packet again, and no |
// data loss occurs. The system will typically recover |
// automatically, without the need for application firmware |
// intervention. |
// Nevertheless, this callback function is provided, such as |
// for debugging purposes. |
} |
/******************************************************************* |
* Function: void USBCBCheckOtherReq(void) |
* |
* PreCondition: None |
* |
* Input: None |
* |
* Output: None |
* |
* Side Effects: None |
* |
* Overview: When SETUP packets arrive from the host, some |
* firmware must process the request and respond |
* appropriately to fulfill the request. Some of |
* the SETUP packets will be for standard |
* USB "chapter 9" (as in, fulfilling chapter 9 of |
* the official USB specifications) requests, while |
* others may be specific to the USB device class |
* that is being implemented. For example, a HID |
* class device needs to be able to respond to |
* "GET REPORT" type of requests. This |
* is not a standard USB chapter 9 request, and |
* therefore not handled by usb_device.c. Instead |
* this request should be handled by class specific |
* firmware, such as that contained in usb_function_hid.c. |
* |
* Note: None |
*****************************************************************************/ |
void USBCBCheckOtherReq(void) |
{ |
USBCheckUBWRequest(); |
}//end |
/******************************************************************* |
* Function: void USBCBStdSetDscHandler(void) |
* |
* PreCondition: None |
* |
* Input: None |
* |
* Output: None |
* |
* Side Effects: None |
* |
* Overview: The USBCBStdSetDscHandler() callback function is |
* called when a SETUP, bRequest: SET_DESCRIPTOR request |
* arrives. Typically SET_DESCRIPTOR requests are |
* not used in most applications, and it is |
* optional to support this type of request. |
* |
* Note: None |
*****************************************************************************/ |
void USBCBStdSetDscHandler(void) |
{ |
// Must claim session ownership if supporting this request |
}//end |
/****************************************************************************** |
* Function: void USBCBInitEP(void) |
* |
* PreCondition: None |
* |
* Input: None |
* |
* Output: None |
* |
* Side Effects: None |
* |
* Overview: This function is called when the device becomes |
* initialized, which occurs after the host sends a |
* SET_CONFIGURATION (wValue not = 0) request. This |
* callback function should initialize the endpoints |
* for the device's usage according to the current |
* configuration. |
* |
* Note: None |
*****************************************************************************/ |
void USBCBInitEP(void) |
{ |
} |
/******************************************************************** |
* Function: void USBCBSendResume(void) |
* |
* PreCondition: None |
* |
* Input: None |
* |
* Output: None |
* |
* Side Effects: None |
* |
* Overview: The USB specifications allow some types of USB |
* peripheral devices to wake up a host PC (such |
* as if it is in a low power suspend to RAM state). |
* This can be a very useful feature in some |
* USB applications, such as an Infrared remote |
* control receiver. If a user presses the "power" |
* button on a remote control, it is nice that the |
* IR receiver can detect this signalling, and then |
* send a USB "command" to the PC to wake up. |
* |
* The USBCBSendResume() "callback" function is used |
* to send this special USB signalling which wakes |
* up the PC. This function may be called by |
* application firmware to wake up the PC. This |
* function should only be called when: |
* |
* 1. The USB driver used on the host PC supports |
* the remote wakeup capability. |
* 2. The USB configuration descriptor indicates |
* the device is remote wakeup capable in the |
* bmAttributes field. |
* 3. The USB host PC is currently sleeping, |
* and has previously sent your device a SET |
* FEATURE setup packet which "armed" the |
* remote wakeup capability. |
* |
* This callback should send a RESUME signal that |
* has the period of 1-15ms. |
* |
* Note: Interrupt vs. Polling |
* -Primary clock |
* -Secondary clock ***** MAKE NOTES ABOUT THIS ******* |
* > Can switch to primary first by calling USBCBWakeFromSuspend() |
* The modifiable section in this routine should be changed |
* to meet the application needs. Current implementation |
* temporary blocks other functions from executing for a |
* period of 1-13 ms depending on the core frequency. |
* |
* According to USB 2.0 specification section 7.1.7.7, |
* "The remote wakeup device must hold the resume signaling |
* for at lest 1 ms but for no more than 15 ms." |
* The idea here is to use a delay counter loop, using a |
* common value that would work over a wide range of core |
* frequencies. |
* That value selected is 1800. See table below: |
* ========================================================== |
* Core Freq(MHz) MIP RESUME Signal Period (ms) |
* ========================================================== |
* 48 12 1.05 |
* 4 1 12.6 |
* ========================================================== |
* * These timing could be incorrect when using code |
* optimization or extended instruction mode, |
* or when having other interrupts enabled. |
* Make sure to verify using the MPLAB SIM's Stopwatch |
* and verify the actual signal on an oscilloscope. |
*******************************************************************/ |
void USBCBSendResume(void) |
{ |
static WORD delay_count; |
USBResumeControl = 1; // Start RESUME signaling |
delay_count = 1800U; // Set RESUME line for 1-13 ms |
do |
{ |
delay_count--; |
}while(delay_count); |
USBResumeControl = 0; |
} |
/******************************************************************* |
* Function: BOOL USER_USB_CALLBACK_EVENT_HANDLER( |
* USB_EVENT event, void *pdata, WORD size) |
* |
* PreCondition: None |
* |
* Input: USB_EVENT event - the type of event |
* void *pdata - pointer to the event data |
* WORD size - size of the event data |
* |
* Output: None |
* |
* Side Effects: None |
* |
* Overview: This function is called from the USB stack to |
* notify a user application that a USB event |
* occured. This callback is in interrupt context |
* when the USB_INTERRUPT option is selected. |
* |
* Note: None |
*******************************************************************/ |
BOOL USER_USB_CALLBACK_EVENT_HANDLER(USB_EVENT event, void *pdata, WORD size) |
{ |
switch(event) |
{ |
case EVENT_CONFIGURED: |
USBCBInitEP(); |
break; |
case EVENT_SET_DESCRIPTOR: |
USBCBStdSetDscHandler(); |
break; |
case EVENT_EP0_REQUEST: |
USBCBCheckOtherReq(); |
break; |
case EVENT_SOF: |
USBCB_SOF_Handler(); |
break; |
case EVENT_SUSPEND: |
USBCBSuspend(); |
break; |
case EVENT_RESUME: |
USBCBWakeFromSuspend(); |
break; |
case EVENT_BUS_ERROR: |
USBCBErrorHandler(); |
break; |
case EVENT_TRANSFER: |
Nop(); |
break; |
default: |
break; |
} |
return TRUE; |
} |
/** EOF main.c ***************************************************************/ |
/Modules/Clock/CLKGEN01B/SW/DG8SAQ synthesiser_Emulator/CleanUp.bat |
---|
0,0 → 1,92 |
@echo off |
REM Remove files generated by compiler in this directory |
REM and all subdirectories. |
echo Removing *.$$$ files... |
del *.$$$ /f /q /s |
echo. |
echo Removing *.bkx files... |
del *.bkx /f /q /s |
echo. |
echo Removing *.cce files... |
del *.cce /f /q /s |
echo. |
echo Removing *.cod files... |
del *.cod /f /q /s |
echo. |
echo Removing *.cof files... |
del *.cof /f /q /s |
echo. |
echo Removing *.err files... |
del *.err /f /q /s |
echo. |
echo Removing *.hex files... |
del *.hex /f /q /s |
echo. |
echo Removing *.i files... |
del *.i /f /q /s |
echo. |
echo Removing *.lde files... |
del *.lde /f /q /s |
echo. |
echo Removing *.lst files... |
del *.lst /f /q /s |
echo. |
echo Removing *.obj files... |
del *.obj /f /q /s |
echo. |
echo Removing *.o files... |
del *.o /f /q /s |
echo. |
echo Removing *.rlf files... |
del *.rlf /f /q /s |
echo. |
echo Removing *.sym files... |
del *.sym /f /q /s |
echo. |
echo Removing *.sdb files... |
del *.sdb /f /q /s |
echo. |
echo Removing *.wat files... |
del *.wat /f /q /s |
echo. |
echo Removing *.mcs files... |
del *.mcs /f /q /s |
echo. |
echo Removing *.mptags files... |
del *.mptags /f /q /s |
echo. |
echo Removing *.tagsrc files... |
del *.tagsrc /f /q /s |
echo. |
echo Removing *.map files... |
del *.map /f /q /s |
echo. |
echo Removing *.elf files... |
del *.elf /f /q /s |
echo. |
rd Objects /S /Q |
echo Done. |
/Modules/Clock/CLKGEN01B/SW/DG8SAQ synthesiser_Emulator/HardwareProfile - Low Pin Count USB Development Kit.h |
---|
0,0 → 1,135 |
/******************************************************************** |
FileName: HardwareProfile - Low Pin Count USB Development Kit.h |
Dependencies: See INCLUDES section |
Processor: PIC18 or PIC24 USB Microcontrollers |
Hardware: Low Pin Count USB Development Kit |
Compiler: Microchip C18 |
Company: Microchip Technology, Inc. |
Software License Agreement: |
The software supplied herewith by Microchip Technology Incorporated |
(the Company) for its PIC® Microcontroller is intended and |
supplied to you, the Companys customer, for use solely and |
exclusively on Microchip PIC Microcontroller products. The |
software is owned by the Company and/or its supplier, and is |
protected under applicable copyright laws. All rights are reserved. |
Any use in violation of the foregoing restrictions may subject the |
user to criminal sanctions under applicable laws, as well as to |
civil liability for the breach of the terms and conditions of this |
license. |
THIS SOFTWARE IS PROVIDED IN AN AS IS CONDITION. NO WARRANTIES, |
WHETHER EXPRESS, IMPLIED OR STATUTORY, INCLUDING, BUT NOT LIMITED |
TO, IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A |
PARTICULAR PURPOSE APPLY TO THIS SOFTWARE. THE COMPANY SHALL NOT, |
IN ANY CIRCUMSTANCES, BE LIABLE FOR SPECIAL, INCIDENTAL OR |
CONSEQUENTIAL DAMAGES, FOR ANY REASON WHATSOEVER. |
******************************************************************** |
File Description: |
Change History: |
Rev Date Description |
1.0 11/19/2004 Initial release |
2.1 02/26/2007 Updated for simplicity and to use common |
coding style |
2.3 09/15/2008 Broke out each hardware platform into its own |
"HardwareProfile - xxx.h" file |
********************************************************************/ |
#ifndef HARDWARE_PROFILE_LOW_PIN_COUNT_USB_DEVELOPMENT_KIT_H |
#define HARDWARE_PROFILE_LOW_PIN_COUNT_USB_DEVELOPMENT_KIT_H |
/*******************************************************************/ |
/******** USB stack hardware selection options *********************/ |
/*******************************************************************/ |
//This section is the set of definitions required by the MCHPFSUSB |
// framework. These definitions tell the firmware what mode it is |
// running in, and where it can find the results to some information |
// that the stack needs. |
//These definitions are required by every application developed with |
// this revision of the MCHPFSUSB framework. Please review each |
// option carefully and determine which options are desired/required |
// for your application. |
//#define USE_SELF_POWER_SENSE_IO |
#define tris_self_power TRISAbits.TRISA2 // Input |
#if defined(USE_SELF_POWER_SENSE_IO) |
#define self_power PORTAbits.RA2 |
#else |
#define self_power 1 |
#endif |
//#define USE_USB_BUS_SENSE_IO |
#define tris_usb_bus_sense TRISAbits.TRISA1 // Input |
#if defined(USE_USB_BUS_SENSE_IO) |
#define USB_BUS_SENSE PORTAbits.RA1 |
#else |
#define USB_BUS_SENSE 1 |
#endif |
/*******************************************************************/ |
/*******************************************************************/ |
/*******************************************************************/ |
/******** Application specific definitions *************************/ |
/*******************************************************************/ |
/*******************************************************************/ |
/*******************************************************************/ |
//Uncomment the following line to make the output HEX of this |
// project work with the HID Bootloader |
#define PROGRAMMABLE_WITH_USB_HID_BOOTLOADER |
/** Board definition ***********************************************/ |
//These defintions will tell the main() function which board is |
// currently selected. This will allow the application to add |
// the correct configuration bits as wells use the correct |
// initialization functions for the board. These defitions are only |
// required in the stack provided demos. They are not required in |
// final application design. |
#define DEMO_BOARD LOW_PIN_COUNT_USB_DEVELOPMENT_KIT |
#define LOW_PIN_COUNT_USB_DEVELOPMENT_KIT |
#define CLOCK_FREQ 48000000 |
/** LED ************************************************************/ |
#define mInitAllLEDs() LATC &= 0xF0; TRISC &= 0xF0; |
#define mLED_1 LATCbits.LATC0 |
#define mLED_2 LATCbits.LATC1 |
#define mLED_3 LATCbits.LATC2 |
#define mLED_4 LATCbits.LATC3 |
#define mGetLED_1() mLED_1 |
#define mGetLED_2() mLED_2 |
#define mGetLED_3() mLED_3 |
#define mGetLED_4() mLED_4 |
#define mLED_1_On() mLED_1 = 1; |
#define mLED_2_On() mLED_2 = 1; |
#define mLED_3_On() mLED_3 = 1; |
#define mLED_4_On() mLED_4 = 1; |
#define mLED_1_Off() mLED_1 = 0; |
#define mLED_2_Off() mLED_2 = 0; |
#define mLED_3_Off() mLED_3 = 0; |
#define mLED_4_Off() mLED_4 = 0; |
#define mLED_1_Toggle() mLED_1 = !mLED_1; |
#define mLED_2_Toggle() mLED_2 = !mLED_2; |
#define mLED_3_Toggle() mLED_3 = !mLED_3; |
#define mLED_4_Toggle() mLED_4 = !mLED_4; |
/** SWITCH *********************************************************/ |
#define mInitSwitch2() //TRISAbits.TRISA3=1 |
//only one switch available so double duty |
#define mInitSwitch3() //TRISAbits.TRISA3=1 |
#define sw2 PORTAbits.RA3 |
#define sw3 PORTAbits.RA3 |
#define mInitAllSwitches() mInitSwitch2(); |
/** POT ************************************************************/ |
#define mInitPOT() {TRISBbits.TRISB4=1;ADCON0=0x29;ADCON1=0;ADCON2=0x3E;ADCON2bits.ADFM = 1;} |
#endif //HARDWARE_PROFILE_LOW_PIN_COUNT_USB_DEVELOPMENT_KIT_H |
/Modules/Clock/CLKGEN01B/SW/DG8SAQ synthesiser_Emulator/HardwareProfile - PIC18F46J50 PIM.h |
---|
0,0 → 1,130 |
/******************************************************************** |
FileName: HardwareProfile - PIC18F46J50 PIM.h |
Dependencies: See INCLUDES section |
Processor: PIC18 USB Microcontrollers |
Hardware: PIC18F46J50 PIM |
Compiler: Microchip C18 |
Company: Microchip Technology, Inc. |
Software License Agreement: |
The software supplied herewith by Microchip Technology Incorporated |
(the Company) for its PIC® Microcontroller is intended and |
supplied to you, the Companys customer, for use solely and |
exclusively on Microchip PIC Microcontroller products. The |
software is owned by the Company and/or its supplier, and is |
protected under applicable copyright laws. All rights are reserved. |
Any use in violation of the foregoing restrictions may subject the |
user to criminal sanctions under applicable laws, as well as to |
civil liability for the breach of the terms and conditions of this |
license. |
THIS SOFTWARE IS PROVIDED IN AN AS IS CONDITION. NO WARRANTIES, |
WHETHER EXPRESS, IMPLIED OR STATUTORY, INCLUDING, BUT NOT LIMITED |
TO, IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A |
PARTICULAR PURPOSE APPLY TO THIS SOFTWARE. THE COMPANY SHALL NOT, |
IN ANY CIRCUMSTANCES, BE LIABLE FOR SPECIAL, INCIDENTAL OR |
CONSEQUENTIAL DAMAGES, FOR ANY REASON WHATSOEVER. |
******************************************************************** |
File Description: |
Change History: |
Rev Date Description |
1.0 11/19/2004 Initial release |
2.1 02/26/2007 Updated for simplicity and to use common |
coding style |
2.3 09/15/2008 Broke out each hardware platform into its own |
"HardwareProfile - xxx.h" file |
********************************************************************/ |
#ifndef HARDWARE_PROFILE_PIC18F46J50_PIM_H |
#define HARDWARE_PROFILE_PIC18F46J50_PIM_H |
/*******************************************************************/ |
/******** USB stack hardware selection options *********************/ |
/*******************************************************************/ |
//This section is the set of definitions required by the MCHPFSUSB |
// framework. These definitions tell the firmware what mode it is |
// running in, and where it can find the results to some information |
// that the stack needs. |
//These definitions are required by every application developed with |
// this revision of the MCHPFSUSB framework. Please review each |
// option carefully and determine which options are desired/required |
// for your application. |
//#define USE_SELF_POWER_SENSE_IO |
#define tris_self_power TRISCbits.TRISC2 // Input |
#define self_power 1 |
//#define USE_USB_BUS_SENSE_IO |
#define tris_usb_bus_sense TRISCbits.TRISC2 // Input |
#define USB_BUS_SENSE 1 |
//Uncomment this to make the output HEX of this project |
// to be able to be bootloaded using the HID bootloader |
#define PROGRAMMABLE_WITH_USB_HID_BOOTLOADER |
/*******************************************************************/ |
/*******************************************************************/ |
/*******************************************************************/ |
/******** Application specific definitions *************************/ |
/*******************************************************************/ |
/*******************************************************************/ |
/*******************************************************************/ |
/** Board definition ***********************************************/ |
//These defintions will tell the main() function which board is |
// currently selected. This will allow the application to add |
// the correct configuration bits as wells use the correct |
// initialization functions for the board. These defitions are only |
// required in the stack provided demos. They are not required in |
// final application design. |
#define DEMO_BOARD PIC18F46J50_PIM |
#define PIC18F46J50_PIM |
#define CLOCK_FREQ 48000000 |
#define GetSystemClock() CLOCK_FREQ |
#define GetInstructionClock() GetSystemClock() |
/** LED ************************************************************/ |
#define mInitAllLEDs() LATE &= 0xFC; TRISE &= 0xFC; |
#define mLED_1 LATEbits.LATE0 |
#define mLED_2 LATEbits.LATE1 |
#define mLED_3 mLED_1 |
#define mLED_4 mLED_2 |
#define mGetLED_1() mLED_1 |
#define mGetLED_2() mLED_2 |
#define mGetLED_3() mLED_3 |
#define mGetLED_4() mLED_4 |
#define mLED_1_On() mLED_1 = 1; |
#define mLED_2_On() mLED_2 = 1; |
#define mLED_3_On() mLED_3 = 1; |
#define mLED_4_On() mLED_4 = 1; |
#define mLED_1_Off() mLED_1 = 0; |
#define mLED_2_Off() mLED_2 = 0; |
#define mLED_3_Off() mLED_3 = 0; |
#define mLED_4_Off() mLED_4 = 0; |
#define mLED_1_Toggle() mLED_1 = !mLED_1; |
#define mLED_2_Toggle() mLED_2 = !mLED_2; |
#define mLED_3_Toggle() mLED_3 = !mLED_3; |
#define mLED_4_Toggle() mLED_4 = !mLED_4; |
/** SWITCH *********************************************************/ |
#define mInitSwitch2() TRISBbits.TRISB2=1; |
#define mInitSwitch3() mInitSwitch2(); |
#define mInitAllSwitches() mInitSwitch2(); |
#define sw2 PORTBbits.RB2 |
#define sw3 PORTBbits.RB2 |
/** POT ************************************************************/ |
#define mInitPOT() {TRISAbits.TRISA0=1; \ |
ANCON0bits.PCFG0 = 0; \ |
ADCON0=0x01; \ |
ADCON1=0xBE;} // POT on HPC Explorer |
#endif //HARDWARE_PROFILE_PIC18F46J50_PIM_H |
/Modules/Clock/CLKGEN01B/SW/DG8SAQ synthesiser_Emulator/HardwareProfile - PIC18F87J50 PIM.h |
---|
0,0 → 1,150 |
/******************************************************************** |
FileName: HardwareProfile - PIC18F87J50 PIM.h |
Dependencies: See INCLUDES section |
Processor: PIC18 USB Microcontrollers |
Hardware: PIC18F87J50 PIM |
Compiler: Microchip C18 |
Company: Microchip Technology, Inc. |
Software License Agreement: |
The software supplied herewith by Microchip Technology Incorporated |
(the Company) for its PIC® Microcontroller is intended and |
supplied to you, the Companys customer, for use solely and |
exclusively on Microchip PIC Microcontroller products. The |
software is owned by the Company and/or its supplier, and is |
protected under applicable copyright laws. All rights are reserved. |
Any use in violation of the foregoing restrictions may subject the |
user to criminal sanctions under applicable laws, as well as to |
civil liability for the breach of the terms and conditions of this |
license. |
THIS SOFTWARE IS PROVIDED IN AN AS IS CONDITION. NO WARRANTIES, |
WHETHER EXPRESS, IMPLIED OR STATUTORY, INCLUDING, BUT NOT LIMITED |
TO, IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A |
PARTICULAR PURPOSE APPLY TO THIS SOFTWARE. THE COMPANY SHALL NOT, |
IN ANY CIRCUMSTANCES, BE LIABLE FOR SPECIAL, INCIDENTAL OR |
CONSEQUENTIAL DAMAGES, FOR ANY REASON WHATSOEVER. |
******************************************************************** |
File Description: |
Change History: |
Rev Date Description |
1.0 11/19/2004 Initial release |
2.1 02/26/2007 Updated for simplicity and to use common |
coding style |
2.3 09/15/2008 Broke out each hardware platform into its own |
"HardwareProfile - xxx.h" file |
********************************************************************/ |
#ifndef HARDWARE_PROFILE_PIC18F87J50_PIM_H |
#define HARDWARE_PROFILE_PIC18F87J50_PIM_H |
/*******************************************************************/ |
/******** USB stack hardware selection options *********************/ |
/*******************************************************************/ |
//This section is the set of definitions required by the MCHPFSUSB |
// framework. These definitions tell the firmware what mode it is |
// running in, and where it can find the results to some information |
// that the stack needs. |
//These definitions are required by every application developed with |
// this revision of the MCHPFSUSB framework. Please review each |
// option carefully and determine which options are desired/required |
// for your application. |
/** USB ************************************************************/ |
//The PIC18F87J50 FS USB Plug-In Module supports the USE_USB_BUS_SENSE_IO |
//feature. The USE_SELF_POWER_SENSE_IO feature is not implemented on the |
//circuit board, so the USE_SELF_POWER_SENSE_IO define should always be |
//commented for this hardware platform. |
//#define USE_SELF_POWER_SENSE_IO |
#define tris_self_power TRISAbits.TRISA2 // Input |
#if defined(USE_SELF_POWER_SENSE_IO) |
#define self_power PORTAbits.RA2 |
#else |
#define self_power 1 |
#endif |
//#define USE_USB_BUS_SENSE_IO //JP1 must be in R-U position to use this feature on this board |
#define tris_usb_bus_sense TRISBbits.TRISB5 // Input |
#if defined(USE_USB_BUS_SENSE_IO) |
#define USB_BUS_SENSE PORTBbits.RB5 |
#else |
#define USB_BUS_SENSE 1 |
#endif |
//Uncomment this to make the output HEX of this project |
// to be able to be bootloaded using the HID bootloader |
#define PROGRAMMABLE_WITH_USB_HID_BOOTLOADER |
/*******************************************************************/ |
/*******************************************************************/ |
/*******************************************************************/ |
/******** Application specific definitions *************************/ |
/*******************************************************************/ |
/*******************************************************************/ |
/*******************************************************************/ |
/** Board definition ***********************************************/ |
//These defintions will tell the main() function which board is |
// currently selected. This will allow the application to add |
// the correct configuration bits as wells use the correct |
// initialization functions for the board. These defitions are only |
// required in the stack provided demos. They are not required in |
// final application design. |
#define DEMO_BOARD PIC18F87J50_PIM |
#define PIC18F87J50_PIM |
#define CLOCK_FREQ 48000000 |
#define GetSystemClock() CLOCK_FREQ |
#define GetInstructionClock() CLOCK_FREQ |
/** LED ************************************************************/ |
#define mInitAllLEDs() {LATE &= 0xFC; TRISE &= 0xFC; LATD &= 0xF3; TRISD &= 0xF3;} |
#define mLED_1 LATEbits.LATE0 |
#define mLED_2 LATEbits.LATE1 |
#define mLED_3 LATDbits.LATD2 |
#define mLED_4 LATDbits.LATD3 |
#define mGetLED_1() mLED_1 |
#define mGetLED_2() mLED_2 |
#define mGetLED_3() mLED_3 |
#define mGetLED_4() mLED_4 |
#define mLED_1_On() mLED_1 = 1; |
#define mLED_2_On() mLED_2 = 1; |
#define mLED_3_On() mLED_3 = 1; |
#define mLED_4_On() mLED_4 = 1; |
#define mLED_1_Off() mLED_1 = 0; |
#define mLED_2_Off() mLED_2 = 0; |
#define mLED_3_Off() mLED_3 = 0; |
#define mLED_4_Off() mLED_4 = 0; |
#define mLED_1_Toggle() mLED_1 = !mLED_1; |
#define mLED_2_Toggle() mLED_2 = !mLED_2; |
#define mLED_3_Toggle() mLED_3 = !mLED_3; |
#define mLED_4_Toggle() mLED_4 = !mLED_4; |
/** SWITCH *********************************************************/ |
#define mInitAllSwitches() TRISBbits.TRISB4=1; |
#define mInitSwitch2() TRISBbits.TRISB4=1; |
#define mInitSwitch3() TRISBbits.TRISB4=1; |
#define sw2 PORTBbits.RB4 |
#define sw3 PORTBbits.RB4 |
/** POT ************************************************************/ |
#define mInitPOT() {TRISAbits.TRISA0=1; \ |
WDTCONbits.ADSHR = 1; \ |
ANCON0bits.PCFG0 = 1; \ |
WDTCONbits.ADSHR = 0; \ |
ADCON0=0x01; \ |
ADCON1=0xBE;} // POT on HPC Explorer |
/** I 2 C T E M P S E N S E *************************************/ |
#define mInitI2CPins() TRISC |= 0x18; // RC3 and RC4 are I2C |
#endif //HARDWARE_PROFILE_PIC18F87J50_PIM_H |
/Modules/Clock/CLKGEN01B/SW/DG8SAQ synthesiser_Emulator/HardwareProfile - PIC24F Starter Kit.h |
---|
0,0 → 1,129 |
/******************************************************************** |
FileName: HardwareProfile - PIC24F Starter Kit.h |
Dependencies: See INCLUDES section |
Processor: PIC24FJ256GB106 |
Hardware: PIC24F Starter Kit |
Compiler: Microchip C30 |
Company: Microchip Technology, Inc. |
Software License Agreement: |
The software supplied herewith by Microchip Technology Incorporated |
(the Company) for its PIC® Microcontroller is intended and |
supplied to you, the Companys customer, for use solely and |
exclusively on Microchip PIC Microcontroller products. The |
software is owned by the Company and/or its supplier, and is |
protected under applicable copyright laws. All rights are reserved. |
Any use in violation of the foregoing restrictions may subject the |
user to criminal sanctions under applicable laws, as well as to |
civil liability for the breach of the terms and conditions of this |
license. |
THIS SOFTWARE IS PROVIDED IN AN AS IS CONDITION. NO WARRANTIES, |
WHETHER EXPRESS, IMPLIED OR STATUTORY, INCLUDING, BUT NOT LIMITED |
TO, IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A |
PARTICULAR PURPOSE APPLY TO THIS SOFTWARE. THE COMPANY SHALL NOT, |
IN ANY CIRCUMSTANCES, BE LIABLE FOR SPECIAL, INCIDENTAL OR |
CONSEQUENTIAL DAMAGES, FOR ANY REASON WHATSOEVER. |
******************************************************************** |
File Description: |
Change History: |
Rev Date Description |
1.0 11/19/2004 Initial release |
2.1 02/26/2007 Updated for simplicity and to use common |
coding style |
2.3 09/15/2008 Broke out each hardware platform into its own |
"HardwareProfile - xxx.h" file |
********************************************************************/ |
#ifndef HARDWARE_PROFILE_PIC24F_STARTER_KIT_H |
#define HARDWARE_PROFILE_PIC24F_STARTER_KIT_H |
/*******************************************************************/ |
/******** USB stack hardware selection options *********************/ |
/*******************************************************************/ |
//This section is the set of definitions required by the MCHPFSUSB |
// framework. These definitions tell the firmware what mode it is |
// running in, and where it can find the results to some information |
// that the stack needs. |
//These definitions are required by every application developed with |
// this revision of the MCHPFSUSB framework. Please review each |
// option carefully and determine which options are desired/required |
// for your application. |
//#define USE_SELF_POWER_SENSE_IO |
#define tris_self_power TRISAbits.TRISA2 // Input |
#define self_power 1 |
//#define USE_USB_BUS_SENSE_IO |
#define tris_usb_bus_sense U1OTGSTATbits.SESVD //TRISBbits.TRISB5 // Input |
#define USB_BUS_SENSE U1OTGSTATbits.SESVD |
//Uncomment this to make the output HEX of this project |
// to be able to be bootloaded using the HID bootloader |
#define PROGRAMMABLE_WITH_USB_HID_BOOTLOADER |
//If the application is going to be used with the HID bootloader |
// then this will provide a function for the application to |
// enter the bootloader from the application (optional) |
#if defined(PROGRAMMABLE_WITH_USB_HID_BOOTLOADER) |
#define EnterBootloader() __asm__("goto 0x400") |
#endif |
/*******************************************************************/ |
/*******************************************************************/ |
/*******************************************************************/ |
/******** Application specific definitions *************************/ |
/*******************************************************************/ |
/*******************************************************************/ |
/*******************************************************************/ |
/** Board definition ***********************************************/ |
//These defintions will tell the main() function which board is |
// currently selected. This will allow the application to add |
// the correct configuration bits as wells use the correct |
// initialization functions for the board. These defitions are only |
// required in the stack provided demos. They are not required in |
// final application design. |
#define DEMO_BOARD PIC24F_STARTER_KIT |
#define PIC24F_STARTER_KIT |
#define CLOCK_FREQ 32000000 |
/** LED ************************************************************/ |
#define mInitAllLEDs() LATG &= 0xFE1F; TRISG &= 0xFE1F; LATF &= 0xFFCF; TRISF &= 0xFFCF; //G6,7,8,9 and F4,5 |
#define mGetLED_1() (TRISG & ~0x0180?1:0) |
#define mGetLED_2() (TRISG & ~0x0060?1:0) |
#define mGetLED_3() (TRISF & ~0x0030?1:0) |
#define mGetLED_4() |
#define mLED_1_On() TRISG |= 0x0180; |
#define mLED_2_On() TRISG |= 0x0060; |
#define mLED_3_On() TRISF |= 0x0030; |
#define mLED_4_On() |
#define mLED_1_Off() TRISG &= ~0x0180; |
#define mLED_2_Off() TRISG &= ~0x0060; |
#define mLED_3_Off() TRISF &= ~0x0030; |
#define mLED_4_Off() |
#define mLED_1_Toggle() TRISG ^= 0x0180; |
#define mLED_2_Toggle() TRISG ^= 0x0060; |
#define mLED_3_Toggle() TRISF ^= 0x0030; |
#define mLED_4_Toggle() |
/** SWITCH *********************************************************/ |
#define mInitSwitch2() TRISDbits.TRISD6=1; |
#define mInitSwitch3() TRISDbits.TRISD7=1; |
#define mInitAllSwitches() mInitSwitch2();mInitSwitch3(); |
#define sw2 PORTDbits.RD6 |
#define sw3 PORTDbits.RD7 |
/** POT ************************************************************/ |
#define mInitPOT() {AD1PCFGLbits.PCFG0 = 0; AD1CON2bits.VCFG = 0x0; AD1CON3bits.ADCS = 0xFF; AD1CON1bits.SSRC = 0x0; AD1CON3bits.SAMC = 0b00001; AD1CON1bits.FORM = 0b00; AD1CON2bits.SMPI = 0x0; AD1CON1bits.ADON = 1;} |
#endif //HARDWARE_PROFILE_PIC24F_STARTER_KIT_H |
/Modules/Clock/CLKGEN01B/SW/DG8SAQ synthesiser_Emulator/HardwareProfile - PIC24FJ256GB110 PIM.h |
---|
0,0 → 1,136 |
/******************************************************************** |
FileName: HardwareProfile - PIC24FJ256GB110 PIM.h |
Dependencies: See INCLUDES section |
Processor: PIC24FJ256GB110 |
Hardware: PIC24FJ256GB110 PIM |
Compiler: Microchip C30 |
Company: Microchip Technology, Inc. |
Software License Agreement: |
The software supplied herewith by Microchip Technology Incorporated |
(the Company) for its PIC® Microcontroller is intended and |
supplied to you, the Companys customer, for use solely and |
exclusively on Microchip PIC Microcontroller products. The |
software is owned by the Company and/or its supplier, and is |
protected under applicable copyright laws. All rights are reserved. |
Any use in violation of the foregoing restrictions may subject the |
user to criminal sanctions under applicable laws, as well as to |
civil liability for the breach of the terms and conditions of this |
license. |
THIS SOFTWARE IS PROVIDED IN AN AS IS CONDITION. NO WARRANTIES, |
WHETHER EXPRESS, IMPLIED OR STATUTORY, INCLUDING, BUT NOT LIMITED |
TO, IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A |
PARTICULAR PURPOSE APPLY TO THIS SOFTWARE. THE COMPANY SHALL NOT, |
IN ANY CIRCUMSTANCES, BE LIABLE FOR SPECIAL, INCIDENTAL OR |
CONSEQUENTIAL DAMAGES, FOR ANY REASON WHATSOEVER. |
******************************************************************** |
File Description: |
Change History: |
Rev Date Description |
1.0 11/19/2004 Initial release |
2.1 02/26/2007 Updated for simplicity and to use common |
coding style |
2.3 09/15/2008 Broke out each hardware platform into its own |
"HardwareProfile - xxx.h" file |
********************************************************************/ |
#ifndef HARDWARE_PROFILE_PIC24FJ256GB110_PIM_H |
#define HARDWARE_PROFILE_PIC24FJ256GB110_PIM_H |
/*******************************************************************/ |
/******** USB stack hardware selection options *********************/ |
/*******************************************************************/ |
//This section is the set of definitions required by the MCHPFSUSB |
// framework. These definitions tell the firmware what mode it is |
// running in, and where it can find the results to some information |
// that the stack needs. |
//These definitions are required by every application developed with |
// this revision of the MCHPFSUSB framework. Please review each |
// option carefully and determine which options are desired/required |
// for your application. |
//#define USE_SELF_POWER_SENSE_IO |
#define tris_self_power TRISAbits.TRISA2 // Input |
#define self_power 1 |
//#define USE_USB_BUS_SENSE_IO |
#define tris_usb_bus_sense TRISBbits.TRISB5 // Input |
#define USB_BUS_SENSE 1 |
//Uncomment this to make the output HEX of this project |
// to be able to be bootloaded using the HID bootloader |
#define PROGRAMMABLE_WITH_USB_HID_BOOTLOADER |
//If the application is going to be used with the HID bootloader |
// then this will provide a function for the application to |
// enter the bootloader from the application (optional) |
#if defined(PROGRAMMABLE_WITH_USB_HID_BOOTLOADER) |
#define EnterBootloader() __asm__("goto 0x400") |
#endif |
/*******************************************************************/ |
/*******************************************************************/ |
/*******************************************************************/ |
/******** Application specific definitions *************************/ |
/*******************************************************************/ |
/*******************************************************************/ |
/*******************************************************************/ |
/** Board definition ***********************************************/ |
//These defintions will tell the main() function which board is |
// currently selected. This will allow the application to add |
// the correct configuration bits as wells use the correct |
// initialization functions for the board. These defitions are only |
// required in the stack provided demos. They are not required in |
// final application design. |
#define DEMO_BOARD PIC24FJ256GB110_PIM |
#define EXPLORER_16 |
#define PIC24FJ256GB110_PIM |
#define CLOCK_FREQ 32000000 |
#define GetSystemClock() CLOCK_FREQ |
#define GetInstructionClock() GetSystemClock() |
/** LED ************************************************************/ |
#define mInitAllLEDs() LATA &= 0xF0; TRISA &= 0xF0; |
#define mLED_1 LATAbits.LATA0 |
#define mLED_2 LATAbits.LATA1 |
#define mLED_3 LATAbits.LATA2 |
#define mLED_4 LATAbits.LATA3 |
#define mGetLED_1() mLED_1 |
#define mGetLED_2() mLED_2 |
#define mGetLED_3() mLED_3 |
#define mGetLED_4() mLED_4 |
#define mLED_1_On() mLED_1 = 1; |
#define mLED_2_On() mLED_2 = 1; |
#define mLED_3_On() mLED_3 = 1; |
#define mLED_4_On() mLED_4 = 1; |
#define mLED_1_Off() mLED_1 = 0; |
#define mLED_2_Off() mLED_2 = 0; |
#define mLED_3_Off() mLED_3 = 0; |
#define mLED_4_Off() mLED_4 = 0; |
#define mLED_1_Toggle() mLED_1 = !mLED_1; |
#define mLED_2_Toggle() mLED_2 = !mLED_2; |
#define mLED_3_Toggle() mLED_3 = !mLED_3; |
#define mLED_4_Toggle() mLED_4 = !mLED_4; |
/** SWITCH *********************************************************/ |
#define mInitSwitch2() TRISDbits.TRISD6=1; |
#define mInitSwitch3() TRISDbits.TRISD7=1; |
#define mInitAllSwitches() mInitSwitch2();mInitSwitch3(); |
#define sw2 PORTDbits.RD6 |
#define sw3 PORTDbits.RD7 |
/** POT ************************************************************/ |
#define mInitPOT() {AD1PCFGLbits.PCFG5 = 0; AD1CON2bits.VCFG = 0x0; AD1CON3bits.ADCS = 0xFF; AD1CON1bits.SSRC = 0x0; AD1CON3bits.SAMC = 0b10000; AD1CON1bits.FORM = 0b00; AD1CON2bits.SMPI = 0x0; AD1CON1bits.ADON = 1;} |
#endif //HARDWARE_PROFILE_PIC24FJ256GB110_PIM_H |
/Modules/Clock/CLKGEN01B/SW/DG8SAQ synthesiser_Emulator/HardwareProfile - PIC32MX460F512L PIM.h |
---|
0,0 → 1,121 |
/******************************************************************** |
FileName: HardwareProfile - PIC32MX460F512L PIM.h |
Dependencies: See INCLUDES section |
Processor: PIC32 USB Microcontrollers |
Hardware: PIC32MX460F512L PIM |
Compiler: Microchip C32 (for PIC32) |
Company: Microchip Technology, Inc. |
Software License Agreement: |
The software supplied herewith by Microchip Technology Incorporated |
(the Company) for its PIC® Microcontroller is intended and |
supplied to you, the Companys customer, for use solely and |
exclusively on Microchip PIC Microcontroller products. The |
software is owned by the Company and/or its supplier, and is |
protected under applicable copyright laws. All rights are reserved. |
Any use in violation of the foregoing restrictions may subject the |
user to criminal sanctions under applicable laws, as well as to |
civil liability for the breach of the terms and conditions of this |
license. |
THIS SOFTWARE IS PROVIDED IN AN AS IS CONDITION. NO WARRANTIES, |
WHETHER EXPRESS, IMPLIED OR STATUTORY, INCLUDING, BUT NOT LIMITED |
TO, IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A |
PARTICULAR PURPOSE APPLY TO THIS SOFTWARE. THE COMPANY SHALL NOT, |
IN ANY CIRCUMSTANCES, BE LIABLE FOR SPECIAL, INCIDENTAL OR |
CONSEQUENTIAL DAMAGES, FOR ANY REASON WHATSOEVER. |
******************************************************************** |
File Description: |
Change History: |
Rev Date Description |
1.0 11/19/2004 Initial release |
2.1 02/26/2007 Updated for simplicity and to use common |
coding style |
2.3 09/15/2008 Broke out each hardware platform into its own |
"HardwareProfile - xxx.h" file |
********************************************************************/ |
#ifndef HARDWARE_PROFILE_PIC32MX460F512L_PIM_H |
#define HARDWARE_PROFILE_PIC32MX460F512L_PIM_H |
/*******************************************************************/ |
/******** USB stack hardware selection options *********************/ |
/*******************************************************************/ |
//This section is the set of definitions required by the MCHPFSUSB |
// framework. These definitions tell the firmware what mode it is |
// running in, and where it can find the results to some information |
// that the stack needs. |
//These definitions are required by every application developed with |
// this revision of the MCHPFSUSB framework. Please review each |
// option carefully and determine which options are desired/required |
// for your application. |
//#define USE_SELF_POWER_SENSE_IO |
#define tris_self_power TRISAbits.TRISA2 // Input |
#define self_power 1 |
//#define USE_USB_BUS_SENSE_IO |
#define tris_usb_bus_sense TRISBbits.TRISB5 // Input |
#define USB_BUS_SENSE 1 |
/*******************************************************************/ |
/*******************************************************************/ |
/*******************************************************************/ |
/******** Application specific definitions *************************/ |
/*******************************************************************/ |
/*******************************************************************/ |
/*******************************************************************/ |
/** Board definition ***********************************************/ |
//These defintions will tell the main() function which board is |
// currently selected. This will allow the application to add |
// the correct configuration bits as wells use the correct |
// initialization functions for the board. These defitions are only |
// required in the stack provided demos. They are not required in |
// final application design. |
#define DEMO_BOARD PIC32MX460F512L_PIM |
#define EXPLORER_16 |
#define PIC32MX460F512L_PIM |
/** LED ************************************************************/ |
#define mInitAllLEDs() LATA &= 0xFF03; TRISA &= 0xFF03; |
#define mLED_1 LATAbits.LATA2 |
#define mLED_2 LATAbits.LATA3 |
#define mLED_3 LATAbits.LATA6 |
#define mLED_4 LATAbits.LATA7 |
#define mGetLED_1() mLED_1 |
#define mGetLED_2() mLED_2 |
#define mGetLED_3() mLED_3 |
#define mGetLED_4() mLED_4 |
#define mLED_1_On() mLED_1 = 1; |
#define mLED_2_On() mLED_2 = 1; |
#define mLED_3_On() mLED_3 = 1; |
#define mLED_4_On() mLED_4 = 1; |
#define mLED_1_Off() mLED_1 = 0; |
#define mLED_2_Off() mLED_2 = 0; |
#define mLED_3_Off() mLED_3 = 0; |
#define mLED_4_Off() mLED_4 = 0; |
#define mLED_1_Toggle() mLED_1 = !mLED_1; |
#define mLED_2_Toggle() mLED_2 = !mLED_2; |
#define mLED_3_Toggle() mLED_3 = !mLED_3; |
#define mLED_4_Toggle() mLED_4 = !mLED_4; |
/** SWITCH *********************************************************/ |
#define mInitSwitch2() TRISDbits.TRISD6=1; |
#define mInitSwitch3() TRISDbits.TRISD7=1; |
#define mInitAllSwitches() mInitSwitch2();mInitSwitch3(); |
#define sw2 PORTDbits.RD6 |
#define sw3 PORTDbits.RD7 |
/** POT ************************************************************/ |
#define mInitPOT() {AD1PCFGbits.PCFG5 = 0; AD1CON2bits.VCFG = 0x0; AD1CON3bits.ADCS = 0xFF; AD1CON1bits.SSRC = 0x0; AD1CON3bits.SAMC = 0x10; AD1CON1bits.FORM = 0x0; AD1CON2bits.SMPI = 0x0; AD1CON1bits.ADON = 1;} |
#endif //HARDWARE_PROFILE_PIC32MX460F512L_PIM_H |
/Modules/Clock/CLKGEN01B/SW/DG8SAQ synthesiser_Emulator/HardwareProfile - UBW.h |
---|
0,0 → 1,182 |
/******************************************************************** |
FileName: HardwareProfile - UBW.h |
Dependencies: See INCLUDES section |
Processor: PIC18 USB Microcontrollers |
Hardware: PICDEM FSUSB |
Compiler: Microchip C18 |
Company: Microchip Technology, Inc. |
Software License Agreement: |
The software supplied herewith by Microchip Technology Incorporated |
(the Company) for its PIC® Microcontroller is intended and |
supplied to you, the Companys customer, for use solely and |
exclusively on Microchip PIC Microcontroller products. The |
software is owned by the Company and/or its supplier, and is |
protected under applicable copyright laws. All rights are reserved. |
Any use in violation of the foregoing restrictions may subject the |
user to criminal sanctions under applicable laws, as well as to |
civil liability for the breach of the terms and conditions of this |
license. |
THIS SOFTWARE IS PROVIDED IN AN AS IS CONDITION. NO WARRANTIES, |
WHETHER EXPRESS, IMPLIED OR STATUTORY, INCLUDING, BUT NOT LIMITED |
TO, IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A |
PARTICULAR PURPOSE APPLY TO THIS SOFTWARE. THE COMPANY SHALL NOT, |
IN ANY CIRCUMSTANCES, BE LIABLE FOR SPECIAL, INCIDENTAL OR |
CONSEQUENTIAL DAMAGES, FOR ANY REASON WHATSOEVER. |
******************************************************************** |
File Description: |
Change History: |
Rev Date Description |
1.0 11/19/2004 Initial release |
2.1 02/26/2007 Updated for simplicity and to use common |
coding style |
2.3 09/15/2008 Broke out each hardware platform into its own |
"HardwareProfile - xxx.h" file |
01/15/2009 UBW support |
********************************************************************/ |
#ifndef HARDWARE_PROFILE_UBW_H |
#define HARDWARE_PROFILE_UBW_H |
/*******************************************************************/ |
/******** USB stack hardware selection options *********************/ |
/*******************************************************************/ |
//This section is the set of definitions required by the MCHPFSUSB |
// framework. These definitions tell the firmware what mode it is |
// running in, and where it can find the results to some information |
// that the stack needs. |
//These definitions are required by every application developed with |
// this revision of the MCHPFSUSB framework. Please review each |
// option carefully and determine which options are desired/required |
// for your application. |
//The PICDEM FS USB Demo Board platform supports the USE_SELF_POWER_SENSE_IO |
//and USE_USB_BUS_SENSE_IO features. Uncomment the below line(s) if |
//it is desireable to use one or both of the features. |
//#define USE_SELF_POWER_SENSE_IO |
#define tris_self_power TRISAbits.TRISA2 // Input |
#if defined(USE_SELF_POWER_SENSE_IO) |
#define self_power PORTAbits.RA2 |
#else |
#define self_power 1 |
#endif |
//#define USE_USB_BUS_SENSE_IO |
#define tris_usb_bus_sense TRISAbits.TRISA1 // Input |
#if defined(USE_USB_BUS_SENSE_IO) |
#define USB_BUS_SENSE PORTAbits.RA1 |
#else |
#define USB_BUS_SENSE 1 |
#endif |
//Uncomment the following line to make the output HEX of this |
// project work with the MCHPUSB Bootloader |
#define PROGRAMMABLE_WITH_USB_MCHPUSB_BOOTLOADER |
//Uncomment the following line to make the output HEX of this |
// project work with the HID Bootloader |
//#define PROGRAMMABLE_WITH_USB_HID_BOOTLOADER |
/*******************************************************************/ |
/******** MDD File System selection options ************************/ |
/*******************************************************************/ |
#define USE_PIC18 |
#define ERASE_BLOCK_SIZE 64 |
#define WRITE_BLOCK_SIZE 32 |
/*******************************************************************/ |
/*******************************************************************/ |
/*******************************************************************/ |
/******** Application specific definitions *************************/ |
/*******************************************************************/ |
/*******************************************************************/ |
/*******************************************************************/ |
/** Board definition ***********************************************/ |
//These defintions will tell the main() function which board is |
// currently selected. This will allow the application to add |
// the correct configuration bits as wells use the correct |
// initialization functions for the board. These defitions are only |
// required in the stack provided demos. They are not required in |
// final application design. |
#define DEMO_BOARD UBW |
#define UBW |
#define CLOCK_FREQ 48000000 |
// Special UBW emu board by YAS |
// #define YAS |
/** LED ************************************************************/ |
/* On UBW, LED1 = RC0, LED2 = RC1, SW = RC2 */ |
#define mInitAllLEDs() LATC &= 0xFC; TRISC &= 0xFC; |
#define mLED_1 LATCbits.LATC0 |
#define mLED_2 LATCbits.LATC1 |
#define mLED_1_On() mLED_1 = 1; |
#define mLED_2_On() mLED_2 = 1; |
#define mLED_1_Off() mLED_1 = 0; |
#define mLED_2_Off() mLED_2 = 0; |
#define mLED_1_Toggle() mLED_1 = !mLED_1; |
#define mLED_2_Toggle() mLED_2 = !mLED_2; |
#if defined(YAS) |
#define RXTX LATBbits.LATB5 |
#else |
#define RXTX LATAbits.LATA2 |
#endif |
#define BPF_S0 LATAbits.LATA0 |
#define BPF_S1 LATAbits.LATA1 |
#if defined(YAS) |
#define BPF_S2 LATAbits.LATA2 |
#endif |
#define BPF_S0_STATE PORTAbits.RA0 |
#define BPF_S1_STATE PORTAbits.RA1 |
#if defined(YAS) |
#define BPF_S2_STATE PORTAbits.RA2 |
#endif |
#define PADDLE_DIT PORTBbits.RB6 |
#define PADDLE_DAH PORTBbits.RB7 |
#define LPF_0 LATAbits.LATA3 |
#define LPF_1 LATAbits.LATA4 |
#define LPF_2 LATAbits.LATA5 |
#if defined(YAS) |
#else |
#define LPF_3 LATBbits.LATB2 |
#define LPF_4 LATBbits.LATB3 |
#define LPF_5 LATBbits.LATB4 |
#define LPF_6 LATBbits.LATB5 |
#endif |
/** S W I T C H *****************************************************/ |
#define mInitSwitch() TRISCbits.TRISC2 = 1; |
#define UserSW PORTCbits.RC2 |
#define mLED_Both_Off() {mLED_1_Off(); mLED_2_Off();} |
#define mLED_Both_On() {mLED_1_On(); mLED_2_On();} |
#define mLED_Only_1_On() {mLED_1_On(); mLED_2_Off();} |
#define mLED_Only_2_On() {mLED_1_Off(); mLED_2_On();} |
#endif //HARDWARE_PROFILE_UBW_H |
/Modules/Clock/CLKGEN01B/SW/DG8SAQ synthesiser_Emulator/HardwareProfile - UBW32.h |
---|
0,0 → 1,203 |
/******************************************************************** |
FileName: HardwareProfile - PIC32MX460F512L PIM.h |
Dependencies: See INCLUDES section |
Processor: PIC18 or PIC24 USB Microcontrollers |
Hardware: The code is natively intended to be used on the following |
hardware platforms: PICDEM FS USB Demo Board, |
PIC18F87J50 FS USB Plug-In Module, or |
Explorer 16 + PIC24 USB PIM. The firmware may be |
modified for use on other USB platforms by editing this |
file (HardwareProfile.h). |
Complier: Microchip C18 (for PIC18) or C30 (for PIC24) |
Company: Microchip Technology, Inc. |
Software License Agreement: |
The software supplied herewith by Microchip Technology Incorporated |
(the Company) for its PIC® Microcontroller is intended and |
supplied to you, the Companys customer, for use solely and |
exclusively on Microchip PIC Microcontroller products. The |
software is owned by the Company and/or its supplier, and is |
protected under applicable copyright laws. All rights are reserved. |
Any use in violation of the foregoing restrictions may subject the |
user to criminal sanctions under applicable laws, as well as to |
civil liability for the breach of the terms and conditions of this |
license. |
THIS SOFTWARE IS PROVIDED IN AN AS IS CONDITION. NO WARRANTIES, |
WHETHER EXPRESS, IMPLIED OR STATUTORY, INCLUDING, BUT NOT LIMITED |
TO, IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A |
PARTICULAR PURPOSE APPLY TO THIS SOFTWARE. THE COMPANY SHALL NOT, |
IN ANY CIRCUMSTANCES, BE LIABLE FOR SPECIAL, INCIDENTAL OR |
CONSEQUENTIAL DAMAGES, FOR ANY REASON WHATSOEVER. |
******************************************************************** |
File Description: |
Change History: |
Rev Date Description |
1.0 11/19/2004 Initial release |
2.1 02/26/2007 Updated for simplicity and to use common |
coding style |
********************************************************************/ |
#ifndef HARDWARE_PROFILE_UBW32_H |
#define HARDWARE_PROFILE_UBW32_H |
#include "Compiler.h" |
/*******************************************************************/ |
/*******************************************************************/ |
/*******************************************************************/ |
/******** Application specific definitions *************************/ |
/*******************************************************************/ |
/*******************************************************************/ |
/*******************************************************************/ |
/** Board definition ***********************************************/ |
//These defintions will tell the main() function which board is |
// currently selected. This will allow the application to add |
// the correct configuration bits as wells use the correct |
// initialization functions for the board. These defitions are only |
// required in the stack provided demos. They are not required in |
// final application design. |
/** CPU Clock Speed Assignment *************************************/ |
//#define RUN_AT_48MHZ |
//#define RUN_AT_24MHZ |
//#define RUN_AT_60MHZ |
#define RUN_AT_80MHZ |
// Various clock values |
#if defined(RUN_AT_48MHZ) |
#define GetSystemClock() 48000000UL |
#define GetPeripheralClock() 48000000UL |
#define GetInstructionClock() (GetSystemClock()) |
#elif defined(RUN_AT_24MHZ) |
#define GetSystemClock() 24000000UL |
#define GetPeripheralClock() 24000000UL |
#define GetInstructionClock() (GetSystemClock()) |
#elif defined(RUN_AT_60MHZ) |
#define GetSystemClock() (60000000ul) |
#define GetPeripheralClock() (GetSystemClock()) |
#define GetInstructionClock() (GetSystemClock()) |
#elif defined(RUN_AT_80MHZ) |
#define GetSystemClock() (80000000ul) |
#define GetPeripheralClock() (GetSystemClock()) |
#define GetInstructionClock() (GetSystemClock()) |
#else |
#error Choose a speed |
#endif |
#define PROGRAMMABLE_WITH_USB_HID_BOOTLOADER |
/*******************************************************************/ |
/******** USB stack hardware selection options *********************/ |
/*******************************************************************/ |
//This section is the set of definitions required by the MCHPFSUSB |
// framework. These definitions tell the firmware what mode it is |
// running in, and where it can find the results to some information |
// that the stack needs. |
//These definitions are required by every application developed with |
// this revision of the MCHPFSUSB framework. Please review each |
// option carefully and determine which options are desired/required |
// for your application. |
//#define USE_SELF_POWER_SENSE_IO |
#define tris_self_power TRISAbits.TRISA2 // Input |
#define self_power 1 |
//#define USE_USB_BUS_SENSE_IO |
#define tris_usb_bus_sense TRISBbits.TRISB5 // Input |
#define USB_BUS_SENSE 1 |
/*******************************************************************/ |
/******** Device revision workarounds ******************************/ |
/*******************************************************************/ |
//Uncomment this definition to allow for revision B3 silicon to work |
// with this firmware. |
#define PIC32MX460F512L_REV_B3_WORKAROUND |
/*******************************************************************/ |
/*******************************************************************/ |
/*******************************************************************/ |
/******** Application specific definitions *************************/ |
/*******************************************************************/ |
/*******************************************************************/ |
/*******************************************************************/ |
/** Board definition ***********************************************/ |
//These defintions will tell the main() function which board is |
// currently selected. This will allow the application to add |
// the correct configuration bits as wells use the correct |
// initialization functions for the board. These defitions are only |
// required in the stack provided demos. They are not required in |
// final application design. |
#define DEMO_BOARD UBW32 |
#define UBW32 |
/** LED ************************************************************/ |
#define mInitAllLEDs() LATE |= 0x000F; TRISE &= 0xFFF0; |
#define mLED_1 LATEbits.LATE3 |
#define mLED_2 LATEbits.LATE2 |
#define mLED_3 LATEbits.LATE1 |
#define mLED_4 LATEbits.LATE0 |
#define mGetLED_1() mLED_1 |
#define mGetLED_USB() mLED_1 |
#define mGetLED_2() mLED_2 |
#define mGetLED_3() mLED_3 |
#define mGetLED_4() mLED_4 |
#define mLED_1_On() mLED_1 = 0; |
#define mLED_USB_On() mLED_1 = 0; |
#define mLED_2_On() mLED_2 = 0; |
#define mLED_3_On() mLED_3 = 0; |
#define mLED_4_On() mLED_4 = 0; |
#define mLED_1_Off() mLED_1 = 1; |
#define mLED_USB_Off() mLED_1 = 1; |
#define mLED_2_Off() mLED_2 = 1; |
#define mLED_3_Off() mLED_3 = 1; |
#define mLED_4_Off() mLED_4 = 1; |
#define mLED_1_Toggle() mLED_1 = !mLED_1; |
#define mLED_USB_Toggle() mLED_1 = !mLED_1; |
#define mLED_2_Toggle() mLED_2 = !mLED_2; |
#define mLED_3_Toggle() mLED_3 = !mLED_3; |
#define mLED_4_Toggle() mLED_4 = !mLED_4; |
#define mLED_Both_Off() {mLED_1_Off(); mLED_2_Off();} |
/** SWITCH *********************************************************/ |
#define mInitSwitch2() TRISEbits.TRISE7=1; |
#define mInitSwitch3() TRISEbits.TRISE6=1; |
#define mInitAllSwitches() mInitSwitch2();mInitSwitch3(); |
#define swProgram PORTEbits.RE7 |
#define swUser PORTEbits.RE6 |
#define UserSW swUser |
#define sw2 swUser |
#define RXTX LATAbits.LATA2 |
#define BPF_S0 LATAbits.LATA0 |
#define BPF_S1 LATAbits.LATA1 |
#define BPF_S0_STATE PORTAbits.RA0 |
#define BPF_S1_STATE PORTAbits.RA1 |
#define PADDLE_DIT PORTFbits.RF4 |
#define PADDLE_DAH PORTFbits.RF5 |
#define LPF_0 LATAbits.LATA3 |
#define LPF_1 LATAbits.LATA4 |
#define LPF_2 LATAbits.LATA5 |
#define LPF_3 LATAbits.LATA6 |
#define LPF_4 LATAbits.LATA7 |
#define LPF_5 LATAbits.LATA9 |
#define LPF_6 LATAbits.LATA10 |
#endif |
/Modules/Clock/CLKGEN01B/SW/DG8SAQ synthesiser_Emulator/UBW-I2C.c |
---|
0,0 → 1,413 |
/** INCLUDES *******************************************************/ |
#include "GenericTypeDefs.h" |
#include "Compiler.h" |
#include "HardwareProfile.h" |
#include "USB/usb.h" |
#include "usbavrcmd.h" |
#include "user.h" |
#include <math.h> |
#include <stdlib.h> |
#include <string.h> |
#include <ctype.h> |
#if defined (UBW) |
#include <delays.h> |
#include <i2c.h> |
#include <EEP.h> |
#elif defined (UBW32) |
#include <peripheral/i2c.h> |
#include <dee_emulation/dee_emulation_pic32.h> |
#endif |
/******************************************************************** |
* Section B: EP0 Buffer Space |
*******************************************************************/ |
extern volatile CTRL_TRF_SETUP SetupPkt; // 8-byte only |
extern volatile BYTE CtrlTrfData[USB_EP0_BUFF_SIZE]; |
#pragma udata |
WORD_VAL FilterCrossOver[8]; |
float FilterSwitchOver[7]; |
WORD_VAL LPFCrossOver[8]; |
float LPFSwitchOver[7]; |
#pragma code |
void USBCheckUBWRequest(void) |
{ |
unsigned char paddle_byte; |
unsigned int eep_adr; |
WORD_VAL w; |
unsigned int i, j; |
unsigned char IO_data; |
#if defined (UBW32) |
unsigned int value; |
unsigned int number_of_filter_bytes; |
#else |
unsigned char number_of_filter_bytes; |
#endif |
if(SetupPkt.RequestType == USB_SETUP_TYPE_STANDARD_BITFIELD) return; // only deals with non-standard, ie user requests |
command = SetupPkt.bRequest; // save the command of the user request from the setuppacket |
// it will be used for subsequent data transfer |
switch(command) |
{ |
case CMD_GET_CW_KEY: |
paddle_byte = 0x22; // 00100010 |
if (!PADDLE_DIT) paddle_byte &= 0xdf; // 11011111 |
if (!PADDLE_DAH) paddle_byte &= 0xfd; // 11111101 |
if (RXTX) paddle_byte |= 0x10; // PB4 is the ATTINY PTT_OUT pin 00010000 |
else paddle_byte &= 0xef; // 11101111 |
replybuf[0] = paddle_byte; |
inPipes[0].pSrc.bRam = (BYTE*)&replybuf[0]; // Set Source |
inPipes[0].info.bits.ctrl_trf_mem = USB_EP0_RAM; // Set memory type |
inPipes[0].wCount.v[0] = 1; // Set data count |
inPipes[0].info.bits.busy = 1; |
break; |
case CMD_SET_USRP1: // Set RxTx and get Paddle status |
paddle_byte = 0x22; // 00100010 |
if ( SetupPkt.W_Value.v[0] ){ |
RXTX = 1; // Set PTT |
paddle_byte |= 0x10; // 00010000 |
} |
else{ |
RXTX = 0; |
paddle_byte &= 0xef; // 11101111 |
}; |
if (!PADDLE_DIT) paddle_byte &= 0xdf; // 11011111 |
if (!PADDLE_DAH) paddle_byte &= 0xfd; // 11111101 |
replybuf[0] = paddle_byte; |
inPipes[0].pSrc.bRam = (BYTE*)&replybuf[0]; // Set Source |
inPipes[0].info.bits.ctrl_trf_mem = USB_EP0_RAM; // Set memory type |
inPipes[0].wCount.v[0] = 1; // Set data count |
inPipes[0].info.bits.busy = 1; |
break; |
case CMD_SET_FREQ_REG: // Control Transfer Rx of data from HOST->UBW |
case CMD_SET_LO_SM: |
case CMD_SET_FREQ: |
case CMD_SET_XTAL: |
case CMD_SET_STARTUP: |
case CMD_SET_PPM: |
wCount = SetupPkt.wLength; |
outPipes[0].wCount.Val = SetupPkt.wLength; |
outPipes[0].pFunc = &Read_Command_Into_Buffer; |
outPipes[0].pDst.bRam = (BYTE*) &command_buffer[current_command_in].data[0]; |
outPipes[0].info.bits.busy = 1; |
break; |
case CMD_GET_PIN: // read ports |
IO_data = 0x0d; // 00001101 |
if (PADDLE_DAH) IO_data |= 0x02; // PB1 |
if (BPF_S0_STATE) IO_data |= 0x10; // PB4 |
if (BPF_S1_STATE) IO_data |= 0x20; // PB5 |
replybuf[0] = IO_data; |
inPipes[0].pSrc.bRam = (BYTE*)&replybuf[0]; // Set Source |
inPipes[0].info.bits.ctrl_trf_mem = USB_EP0_RAM; // Set memory type |
inPipes[0].wCount.v[0] = 1; // Set data count |
inPipes[0].info.bits.busy = 1; |
break; |
case CMD_SET_PORT: // set ports |
IO_data = SetupPkt.W_Value.v[0]; |
if (!abpf_flag){ |
if (IO_data & 0x10) BPF_S0 = 1; |
else BPF_S0 = 0; |
if (IO_data & 0x20) BPF_S1 = 1; |
else BPF_S1 = 0; |
}; |
break; |
case CMD_SET_IO: // set i/o bits |
IO_data = SetupPkt.W_Index.v[0] & 0x03; // only 2 bits active 00000011 |
if (!abpf_flag) { // abpf inactive |
if (IO_data & 0x01) BPF_S0 = 1; // Simulate IO_PIN1 in ATTINY |
else BPF_S0 = 0; |
if (IO_data & 0x02) BPF_S1 = 1; // Simulate IO_PIN2 in ATTINY |
else BPF_S1 = 0; |
} |
IO_data = BPF_S0_STATE; // read back status of BPF select pins |
if (BPF_S1_STATE) IO_data |= 0x02; |
else IO_data &= 0x01; |
replybuf[0] = IO_data; |
replybuf[1] = 0x00; |
inPipes[0].pSrc.bRam = (BYTE*)&replybuf[0]; // Set Source |
inPipes[0].info.bits.ctrl_trf_mem = USB_EP0_RAM; // Set memory type |
inPipes[0].wCount.v[0] = 2; // Set data count |
inPipes[0].info.bits.busy = 1; |
break; |
case CMD_GET_IO: |
IO_data = BPF_S0_STATE; // status of BPF select pins |
if (BPF_S1_STATE) IO_data |= 0x02; |
else IO_data &= 0x01; |
replybuf[0] = IO_data; |
replybuf[1] = 0x00; |
inPipes[0].pSrc.bRam = (BYTE*)&replybuf[0]; // Set Source |
inPipes[0].info.bits.ctrl_trf_mem = USB_EP0_RAM; // Set memory type |
inPipes[0].wCount.v[0] = 2; // Set data count |
inPipes[0].info.bits.busy = 1; |
break; |
case CMD_SET_FILTER: // Set and Read filter crossover points |
i = SetupPkt.W_Index.Val; |
if (i < 256){ // Rx Filter |
number_of_filter_bytes = NUM_BPF * 2; |
inPipes[0].pSrc.bRam = (BYTE*)&FilterCrossOver[0]; // Set source |
if (i < NUM_BPF) { |
FilterCrossOver[i].Val = SetupPkt.W_Value.Val; |
if (i != (NUM_BPF-1)) FilterSwitchOver[i] = Cross2Switch(FilterCrossOver[i]); |
else abpf_flag = SetupPkt.W_Value.Val; |
} |
} |
else{ // Tx filter |
number_of_filter_bytes = 16; |
inPipes[0].pSrc.bRam = (BYTE*)&LPFCrossOver[0]; // Set source |
j = i - 256; |
if ( j < 8){ |
LPFCrossOver[j].Val = SetupPkt.W_Value.Val; |
if (j != 7) LPFSwitchOver[j] = Cross2Switch(LPFCrossOver[j]); |
}; |
}; |
// now that a filter value of filter enable/disable value is set, update the EEPROM |
#if defined (UBW) |
for (i = 0; i < NUM_BPF; i++){ |
Write_b_eep((i * 2 + F_CROSS_OVER +1), FilterCrossOver[i].v[0]); |
Busy_eep(); |
Write_b_eep((i * 2 + F_CROSS_OVER + 1 + 1), FilterCrossOver[i].v[1]); |
Busy_eep(); |
} |
#elif defined (UBW32) |
for (i =0; i < NUM_BPF; i++) DataEEWrite( FilterCrossOver[i].Val , (i + F_CROSS_OVER +1)); |
#endif |
#if defined (UBW) |
for (j = 0; j < 8; j++){ |
Write_b_eep(( j * 2 + F_CROSS_OVER +17), LPFCrossOver[j].v[0]); |
Busy_eep(); |
Write_b_eep(( j * 2 + F_CROSS_OVER +17 + 1), LPFCrossOver[j].v[1]); |
Busy_eep(); |
} |
Write_b_eep(F_CROSS_OVER, F_CROSS_OVER_VALUE); |
Busy_eep(); |
#elif defined (UBW32) |
for (j = 0; j < 8; j++){ |
DataEEWrite( (unsigned int)LPFCrossOver[j].Val , (j + F_CROSS_OVER +9)); |
}; |
DataEEWrite(F_CROSS_OVER_VALUE, F_CROSS_OVER); |
#endif |
inPipes[0].wCount.v[0] = number_of_filter_bytes; // Set data count |
inPipes[0].info.bits.ctrl_trf_mem = USB_EP0_RAM; // Set memory type |
inPipes[0].info.bits.busy = 1; |
break; |
case CMD_SET_SI570: // SI570: write byte from register index |
i2c_adr = SetupPkt.W_Value.v[0]; |
#if defined (UBW) |
IdleI2C(); |
StartI2C(); |
IdleI2C(); |
WriteI2C( i2c_adr <<1); |
WriteI2C( SetupPkt.W_Value.v[1]); // register = byte 3 |
WriteI2C( SetupPkt.W_Index.v[0]); // value to write to register |
StopI2C(); |
IdleI2C(); |
#elif defined (UBW32) |
IdleI2C1(); |
StartI2C1(); |
IdleI2C1(); |
MasterWriteI2C1( i2c_adr <<1); |
MasterWriteI2C1( SetupPkt.W_Value.v[1]); // register = byte 3 |
MasterWriteI2C1( SetupPkt.W_Index.v[0]); // value to write to register |
StopI2C1(); |
IdleI2C1(); |
#endif |
replybuf[0] = 0; // just say no errors |
inPipes[0].pSrc.bRam = (BYTE*)&replybuf[0]; // Set Source |
inPipes[0].info.bits.ctrl_trf_mem = USB_EP0_RAM; // Set memory type |
inPipes[0].wCount.v[0] = 1; // Set data count |
inPipes[0].info.bits.busy = 1; |
break; |
case CMD_GET_LO_SM: // return sub mul |
for (i=0; i<4; i++) replybuf[i] = f_sub.bytes[i]; |
for (i=0; i<4; i++) replybuf[i+4] = f_mul.bytes[i]; |
inPipes[0].pSrc.bRam = (BYTE*)&replybuf[0]; // Set Source |
inPipes[0].info.bits.ctrl_trf_mem = USB_EP0_RAM; // Set memory type |
inPipes[0].wCount.v[0] = 8; // Set data count |
inPipes[0].info.bits.busy = 1; |
break; |
case CMD_GET_FREQ: // return set freq, ie no offset/mul |
avr_freq.qw = set_frequency * (double)(1L << 21); |
inPipes[0].pSrc.bRam = (BYTE*)&avr_freq.bytes[0]; // Set Source |
inPipes[0].info.bits.ctrl_trf_mem = USB_EP0_RAM; // Set memory type |
inPipes[0].wCount.v[0] = 4; // Set data count |
inPipes[0].info.bits.busy = 1; |
break; |
case CMD_GET_PPM: // return smooth tune in ppm |
w.Val = Smooth_double * 1000000L; |
inPipes[0].pSrc.bRam = (BYTE*)&w.v[0]; // Set Source |
inPipes[0].info.bits.ctrl_trf_mem = USB_EP0_RAM; // Set memory type |
inPipes[0].wCount.v[0] = 2; // Set data count |
inPipes[0].info.bits.busy = 1; |
break; |
case CMD_GET_STARTUP: // return init startup freq |
#if defined(UBW) |
for (i=0; i<4; i++) avr_freq.bytes[i] = Read_b_eep(i + F_INIT_FREQ +1); |
#elif defined(UBW32) |
for (i=0; i<4; i++) { |
DataEERead(&value, (i + F_INIT_FREQ +1)); |
avr_freq.bytes[i] = value; |
}; |
#endif |
inPipes[0].pSrc.bRam = (BYTE*)&avr_freq.bytes[0]; // Set Source |
inPipes[0].info.bits.ctrl_trf_mem = USB_EP0_RAM; // Set memory type |
inPipes[0].wCount.v[0] = 4; // Set data count |
inPipes[0].info.bits.busy = 1; |
break; |
case CMD_GET_XTAL: // return fcryst |
inPipes[0].pSrc.bRam = (BYTE*)&fcryst_freq.bytes[0]; // Set Source |
inPipes[0].info.bits.ctrl_trf_mem = USB_EP0_RAM; // Set memory type |
inPipes[0].wCount.v[0] = 4; // Set data count |
inPipes[0].info.bits.busy = 1; |
break; |
case CMD_GET_SI570: // SI570: read out frequency control registers |
i2c_adr = SetupPkt.W_Value.v[0]; |
ReadRegs(); |
inPipes[0].pSrc.bRam = (BYTE*)®isters[0]; // Set Source |
inPipes[0].info.bits.ctrl_trf_mem = USB_EP0_RAM; // Set memory type |
inPipes[0].wCount.v[0] = 6; // Set data count |
inPipes[0].info.bits.busy = 1; |
break; |
case CMD_GET_I2C_ERR: // return # of i2c errors, set to zero always |
replybuf[0] = 0; // No errors :) |
inPipes[0].pSrc.bRam = (BYTE*)&replybuf[0]; // Set Source |
inPipes[0].info.bits.ctrl_trf_mem = USB_EP0_RAM; // Set memory type |
inPipes[0].wCount.v[0] = 1; // Set data count |
inPipes[0].info.bits.busy = 1; |
break; |
case CMD_SET_I2C_ADDR: // Reset EEPROM to default values if 255 |
// Otherwise just set i2c address |
if (SetupPkt.W_Value.v[0] == 0xff){ |
#if defined (UBW) |
Write_b_eep(F_CAL_DONE, 0xff); |
Busy_eep(); |
Write_b_eep(F_INIT_FREQ, 0xff); |
Busy_eep(); |
Write_b_eep(F_SMOOTH, 0xff); |
Busy_eep(); |
Write_b_eep(F_SUB_MUL, 0xff); |
Busy_eep(); |
Write_b_eep(F_CROSS_OVER, 0xff); |
Busy_eep(); |
#elif defined (UBW32) |
DataEEWrite( (unsigned int) 0xff, F_CAL_DONE); |
DataEEWrite( (unsigned int) 0xff, F_INIT_FREQ); |
DataEEWrite( (unsigned int) 0xff, F_SMOOTH); |
DataEEWrite( (unsigned int) 0xff, F_SUB_MUL); |
DataEEWrite( (unsigned int) 0xff, F_CROSS_OVER); |
#endif |
i2c_adr = 0x55; |
} |
else { |
i2c_adr = SetupPkt.W_Value.v[0]; |
}; |
replybuf[0] = 0x00; |
inPipes[0].pSrc.bRam = (BYTE*)&replybuf[0]; // Set Source |
inPipes[0].info.bits.ctrl_trf_mem = USB_EP0_RAM; // Set memory type |
inPipes[0].wCount.v[0] = 1; // Set data count |
inPipes[0].info.bits.busy = 1; |
break; |
case CMD_GET_VERSION: // return version 15.10 |
replybuf[0] = VERSION_MINOR; |
replybuf[1] = VERSION_MAJOR; |
inPipes[0].pSrc.bRam = (BYTE*)&replybuf[0]; // Set Source |
inPipes[0].info.bits.ctrl_trf_mem = USB_EP0_RAM; // Set memory type |
inPipes[0].wCount.v[0] = 2; // Set data count |
inPipes[0].info.bits.busy = 1; |
break; |
default: // Command not supported |
replybuf[0] = 0xff; |
inPipes[0].pSrc.bRam = (BYTE*)&replybuf[0] ; // Set Source |
inPipes[0].info.bits.ctrl_trf_mem = USB_EP0_RAM; // Set memory type |
inPipes[0].wCount.v[0] = 1; // Set data count |
inPipes[0].info.bits.busy = 1; |
break; |
}//end switch |
} |
void Read_Command_Into_Buffer(void) |
{ |
if (command_count >= COMMAND_BUFFER_SIZE){ // buffer full |
current_command_out++; // discards oldest command |
if (current_command_out >= COMMAND_BUFFER_SIZE) current_command_out = 0; |
command_count--; // now one command less (discarded) |
}; |
command_buffer[current_command_in].command = command; |
command_buffer[current_command_in].wCount = wCount; |
// data already copied to command_buffer before this outpipe pFunc is called |
current_command_in++; |
if (current_command_in >= COMMAND_BUFFER_SIZE) current_command_in = 0; |
command_count++; |
} |
/Modules/Clock/CLKGEN01B/SW/DG8SAQ synthesiser_Emulator/rm18f4550 - HID Bootload.lkr |
---|
0,0 → 1,44 |
// File: Application_18f4550.lkr |
// Use this linker for the USB application that will be self programmed by the HID bootloader. |
// The HID bootloader project itself uses the BootModified.18f4450.lkr file instead. |
// THIS LINKER SCRIPT HAS BEEN MODIFIED... This version is intended to be used |
// with the "PROGRAMMABLE_WITH_USB_HID_BOOTLOADER" bootloader. The HID |
// bootloader occupies memory ranges 0x000-0xFFF. In order for the code generated |
// by this project to work with the bootloader, the linker must not put any code |
// in the 0x00-0xFFF address range. |
// This linker script was originated from the 18f4550.lkr file provided by |
// the MCC18 distribution. |
LIBPATH . |
FILES c018i.o |
FILES clib.lib |
FILES p18f4550.lib |
CODEPAGE NAME=bootloader START=0x0 END=0xFFF PROTECTED |
CODEPAGE NAME=vectors START=0x1000 END=0x1029 PROTECTED |
CODEPAGE NAME=page START=0x102A END=0x7FFF |
CODEPAGE NAME=idlocs START=0x200000 END=0x200007 PROTECTED |
CODEPAGE NAME=config START=0x300000 END=0x30000D PROTECTED |
CODEPAGE NAME=devid START=0x3FFFFE END=0x3FFFFF PROTECTED |
CODEPAGE NAME=eedata START=0xF00000 END=0xF000FF PROTECTED |
ACCESSBANK NAME=accessram START=0x0 END=0x5F |
DATABANK NAME=gpr0 START=0x60 END=0xFF |
DATABANK NAME=gpr1 START=0x100 END=0x1FF |
DATABANK NAME=gpr2 START=0x200 END=0x2FF |
DATABANK NAME=gpr3 START=0x300 END=0x3FF |
DATABANK NAME=usb4 START=0x400 END=0x4FF PROTECTED |
DATABANK NAME=usb5 START=0x500 END=0x5FF PROTECTED |
DATABANK NAME=usb6 START=0x600 END=0x6FF PROTECTED |
DATABANK NAME=usb7 START=0x700 END=0x7FF PROTECTED |
ACCESSBANK NAME=accesssfr START=0xF60 END=0xFFF PROTECTED |
SECTION NAME=CONFIG ROM=config |
STACK SIZE=0x100 RAM=gpr3 |
SECTION NAME=USB_VARS RAM=usb4 |
/Modules/Clock/CLKGEN01B/SW/DG8SAQ synthesiser_Emulator/rm18f4550 - MCHPUSB Bootload.lkr |
---|
0,0 → 1,37 |
// FileName: rm18f4550.lkr |
// Sample linker command file for 18F4550 with Bootloader |
// |
//Change History: |
// Rev Date Description |
// 1.0 10/30/2004 Initial release |
LIBPATH . |
FILES c018i.o |
FILES clib.lib |
FILES p18f4550.lib |
CODEPAGE NAME=boot START=0x0 END=0x7FF PROTECTED |
CODEPAGE NAME=vectors START=0x800 END=0x0x829 PROTECTED |
CODEPAGE NAME=page START=0x82A END=0x7FFF |
CODEPAGE NAME=idlocs START=0x200000 END=0x200007 PROTECTED |
CODEPAGE NAME=config START=0x300000 END=0x30000D PROTECTED |
CODEPAGE NAME=devid START=0x3FFFFE END=0x3FFFFF PROTECTED |
CODEPAGE NAME=eedata START=0xF00000 END=0xF000FF PROTECTED |
ACCESSBANK NAME=accessram START=0x0 END=0x5F |
DATABANK NAME=gpr0 START=0x60 END=0xFF |
DATABANK NAME=gpr1 START=0x100 END=0x1FF |
DATABANK NAME=gpr2 START=0x200 END=0x2FF |
DATABANK NAME=gpr3 START=0x300 END=0x3FF |
DATABANK NAME=usb4 START=0x400 END=0x4FF PROTECTED |
DATABANK NAME=usb5 START=0x500 END=0x5FF PROTECTED |
DATABANK NAME=usb6 START=0x600 END=0x6FF PROTECTED |
DATABANK NAME=usb7 START=0x700 END=0x7FF PROTECTED |
ACCESSBANK NAME=accesssfr START=0xF60 END=0xFFF PROTECTED |
SECTION NAME=CONFIG ROM=config |
STACK SIZE=0x100 RAM=gpr3 |
SECTION NAME=USB_VARS RAM=usb4 |
/Modules/Clock/CLKGEN01B/SW/DG8SAQ synthesiser_Emulator/rm18f4550.lkr |
---|
0,0 → 1,37 |
// FileName: rm18f4550.lkr |
// Sample linker command file for 18F4550 with Bootloader |
// |
//Change History: |
// Rev Date Description |
// 1.0 10/30/2004 Initial release |
LIBPATH . |
FILES c018i.o |
FILES clib.lib |
FILES p18f4550.lib |
CODEPAGE NAME=boot START=0x0 END=0x7FF PROTECTED |
CODEPAGE NAME=vectors START=0x800 END=0x0x829 PROTECTED |
CODEPAGE NAME=page START=0x82A END=0x7FFF |
CODEPAGE NAME=idlocs START=0x200000 END=0x200007 PROTECTED |
CODEPAGE NAME=config START=0x300000 END=0x30000D PROTECTED |
CODEPAGE NAME=devid START=0x3FFFFE END=0x3FFFFF PROTECTED |
CODEPAGE NAME=eedata START=0xF00000 END=0xF000FF PROTECTED |
ACCESSBANK NAME=accessram START=0x0 END=0x5F |
DATABANK NAME=gpr0 START=0x60 END=0xFF |
DATABANK NAME=gpr1 START=0x100 END=0x1FF |
DATABANK NAME=gpr2 START=0x200 END=0x2FF |
DATABANK NAME=gpr3 START=0x300 END=0x3FF |
DATABANK NAME=usb4 START=0x400 END=0x4FF PROTECTED |
DATABANK NAME=usb5 START=0x500 END=0x5FF PROTECTED |
DATABANK NAME=usb6 START=0x600 END=0x6FF PROTECTED |
DATABANK NAME=usb7 START=0x700 END=0x7FF PROTECTED |
ACCESSBANK NAME=accesssfr START=0xF60 END=0xFFF PROTECTED |
SECTION NAME=CONFIG ROM=config |
STACK SIZE=0x100 RAM=gpr3 |
SECTION NAME=USB_VARS RAM=usb4 |
/Modules/Clock/CLKGEN01B/SW/DG8SAQ synthesiser_Emulator/usb_config.h |
---|
0,0 → 1,125 |
/******************************************************************** |
FileName: usb_config.h |
Dependencies: Always: GenericTypeDefs.h, usb_device.h |
Situational: usb_function_hid.h, usb_function_cdc.h, usb_function_msd.h, etc. |
Processor: PIC18 or PIC24 USB Microcontrollers |
Hardware: The code is natively intended to be used on the following |
hardware platforms: PICDEM FS USB Demo Board, |
PIC18F87J50 FS USB Plug-In Module, or |
Explorer 16 + PIC24 USB PIM. The firmware may be |
modified for use on other USB platforms by editing the |
HardwareProfile.h file. |
Complier: Microchip C18 (for PIC18) or C30 (for PIC24) |
Company: Microchip Technology, Inc. |
Software License Agreement: |
The software supplied herewith by Microchip Technology Incorporated |
(the Company) for its PIC® Microcontroller is intended and |
supplied to you, the Companys customer, for use solely and |
exclusively on Microchip PIC Microcontroller products. The |
software is owned by the Company and/or its supplier, and is |
protected under applicable copyright laws. All rights are reserved. |
Any use in violation of the foregoing restrictions may subject the |
user to criminal sanctions under applicable laws, as well as to |
civil liability for the breach of the terms and conditions of this |
license. |
THIS SOFTWARE IS PROVIDED IN AN AS IS CONDITION. NO WARRANTIES, |
WHETHER EXPRESS, IMPLIED OR STATUTORY, INCLUDING, BUT NOT LIMITED |
TO, IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A |
PARTICULAR PURPOSE APPLY TO THIS SOFTWARE. THE COMPANY SHALL NOT, |
IN ANY CIRCUMSTANCES, BE LIABLE FOR SPECIAL, INCIDENTAL OR |
CONSEQUENTIAL DAMAGES, FOR ANY REASON WHATSOEVER. |
******************************************************************** |
File Description: |
Change History: |
Rev Date Description |
1.0 11/19/2004 Initial release |
2.1 02/26/2007 Updated for simplicity and to use common |
coding style |
*******************************************************************/ |
/********************************************************************* |
* Descriptor specific type definitions are defined in: usbd.h |
********************************************************************/ |
#ifndef USBCFG_H |
#define USBCFG_H |
/** DEFINITIONS ****************************************************/ |
#define USB_EP0_BUFF_SIZE 8 // Valid Options: 8, 16, 32, or 64 bytes. |
// Using larger options take more SRAM, but |
// does not provide much advantage in most types |
// of applications. Exceptions to this, are applications |
// that use EP0 IN or OUT for sending large amounts of |
// application related data. |
#define USB_MAX_NUM_INT 1 // For tracking Alternate Setting |
#define USB_MAX_EP_NUMBER 1 |
//Device descriptor - if these two definitions are not defined then |
// a ROM USB_DEVICE_DESCRIPTOR variable by the exact name of device_dsc |
// must exist. |
#define USB_USER_DEVICE_DESCRIPTOR &device_dsc |
#define USB_USER_DEVICE_DESCRIPTOR_INCLUDE extern ROM USB_DEVICE_DESCRIPTOR device_dsc |
//Configuration descriptors - if these two definitions do not exist then |
// a ROM BYTE *ROM variable named exactly USB_CD_Ptr[] must exist. |
#define USB_USER_CONFIG_DESCRIPTOR USB_CD_Ptr |
#define USB_USER_CONFIG_DESCRIPTOR_INCLUDE extern ROM BYTE *ROM USB_CD_Ptr[] |
//Make sure only one of the below "#define USB_PING_PONG_MODE" |
//is uncommented. |
//#define USB_PING_PONG_MODE USB_PING_PONG__NO_PING_PONG |
#define USB_PING_PONG_MODE USB_PING_PONG__FULL_PING_PONG |
//#define USB_PING_PONG_MODE USB_PING_PONG__EP0_OUT_ONLY |
//#define USB_PING_PONG_MODE USB_PING_PONG__ALL_BUT_EP0 //NOTE: This mode is not supported in PIC18F4550 family rev A3 devices |
#define USB_POLLING |
//#define USB_INTERRUPT |
/* Parameter definitions are defined in usb_device.h */ |
#define USB_PULLUP_OPTION USB_PULLUP_ENABLE |
//#define USB_PULLUP_OPTION USB_PULLUP_DISABLED |
#define USB_TRANSCEIVER_OPTION USB_INTERNAL_TRANSCEIVER |
//External Transceiver support is not available on all product families. Please |
// refer to the product family datasheet for more information if this feature |
// is available on the target processor. |
//#define USB_TRANSCEIVER_OPTION USB_EXTERNAL_TRANSCEIVER |
#define USB_SPEED_OPTION USB_FULL_SPEED |
//#define USB_SPEED_OPTION USB_LOW_SPEED //(not valid option for PIC24F devices) |
#define USB_SUPPORT_DEVICE |
#define USB_NUM_STRING_DESCRIPTORS 4 |
//#define USB_INTERRUPT_LEGACY_CALLBACKS |
#define USB_ENABLE_ALL_HANDLERS |
//#define USB_ENABLE_SUSPEND_HANDLER |
//#define USB_ENABLE_WAKEUP_FROM_SUSPEND_HANDLER |
//#define USB_ENABLE_SOF_HANDLER |
//#define USB_ENABLE_ERROR_HANDLER |
//#define USB_ENABLE_OTHER_REQUEST_HANDLER |
//#define USB_ENABLE_SET_DESCRIPTOR_HANDLER |
//#define USB_ENABLE_INIT_EP_HANDLER |
//#define USB_ENABLE_EP0_DATA_HANDLER |
//#define USB_ENABLE_TRANSFER_COMPLETE_HANDLER |
/** DEVICE CLASS USAGE *********************************************/ |
#define USB_USE_GEN |
/** ENDPOINTS ALLOCATION *******************************************/ |
/* Generic */ |
#define USBGEN_EP_SIZE 64 |
#define USBGEN_EP_NUM 1 |
/** DEFINITIONS ****************************************************/ |
#endif //USBCFG_H |
/Modules/Clock/CLKGEN01B/SW/DG8SAQ synthesiser_Emulator/usb_descriptors.c |
---|
0,0 → 1,265 |
/******************************************************************** |
FileName: usb_descriptors.c |
Dependencies: See INCLUDES section |
Processor: PIC18 or PIC24 USB Microcontrollers |
Hardware: The code is natively intended to be used on the following |
hardware platforms: PICDEM FS USB Demo Board, |
PIC18F87J50 FS USB Plug-In Module, or |
Explorer 16 + PIC24 USB PIM. The firmware may be |
modified for use on other USB platforms by editing the |
HardwareProfile.h file. |
Complier: Microchip C18 (for PIC18) or C30 (for PIC24) |
Company: Microchip Technology, Inc. |
Software License Agreement: |
The software supplied herewith by Microchip Technology Incorporated |
(the Company) for its PIC® Microcontroller is intended and |
supplied to you, the Companys customer, for use solely and |
exclusively on Microchip PIC Microcontroller products. The |
software is owned by the Company and/or its supplier, and is |
protected under applicable copyright laws. All rights are reserved. |
Any use in violation of the foregoing restrictions may subject the |
user to criminal sanctions under applicable laws, as well as to |
civil liability for the breach of the terms and conditions of this |
license. |
THIS SOFTWARE IS PROVIDED IN AN AS IS CONDITION. NO WARRANTIES, |
WHETHER EXPRESS, IMPLIED OR STATUTORY, INCLUDING, BUT NOT LIMITED |
TO, IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A |
PARTICULAR PURPOSE APPLY TO THIS SOFTWARE. THE COMPANY SHALL NOT, |
IN ANY CIRCUMSTANCES, BE LIABLE FOR SPECIAL, INCIDENTAL OR |
CONSEQUENTIAL DAMAGES, FOR ANY REASON WHATSOEVER. |
********************************************************************* |
-usb_descriptors.c- |
------------------------------------------------------------------- |
Filling in the descriptor values in the usb_descriptors.c file: |
------------------------------------------------------------------- |
[Device Descriptors] |
The device descriptor is defined as a USB_DEVICE_DESCRIPTOR type. |
This type is defined in usb_ch9.h Each entry into this structure |
needs to be the correct length for the data type of the entry. |
[Configuration Descriptors] |
The configuration descriptor was changed in v2.x from a structure |
to a BYTE array. Given that the configuration is now a byte array |
each byte of multi-byte fields must be listed individually. This |
means that for fields like the total size of the configuration where |
the field is a 16-bit value "64,0," is the correct entry for a |
configuration that is only 64 bytes long and not "64," which is one |
too few bytes. |
The configuration attribute must always have the _DEFAULT |
definition at the minimum. Additional options can be ORed |
to the _DEFAULT attribute. Available options are _SELF and _RWU. |
These definitions are defined in the usb_device.h file. The |
_SELF tells the USB host that this device is self-powered. The |
_RWU tells the USB host that this device supports Remote Wakeup. |
[Endpoint Descriptors] |
Like the configuration descriptor, the endpoint descriptors were |
changed in v2.x of the stack from a structure to a BYTE array. As |
endpoint descriptors also has a field that are multi-byte entities, |
please be sure to specify both bytes of the field. For example, for |
the endpoint size an endpoint that is 64 bytes needs to have the size |
defined as "64,0," instead of "64," |
Take the following example: |
// Endpoint Descriptor // |
0x07, //the size of this descriptor // |
USB_DESCRIPTOR_ENDPOINT, //Endpoint Descriptor |
_EP02_IN, //EndpointAddress |
_INT, //Attributes |
0x08,0x00, //size (note: 2 bytes) |
0x02, //Interval |
The first two parameters are self-explanatory. They specify the |
length of this endpoint descriptor (7) and the descriptor type. |
The next parameter identifies the endpoint, the definitions are |
defined in usb_device.h and has the following naming |
convention: |
_EP<##>_<dir> |
where ## is the endpoint number and dir is the direction of |
transfer. The dir has the value of either 'OUT' or 'IN'. |
The next parameter identifies the type of the endpoint. Available |
options are _BULK, _INT, _ISO, and _CTRL. The _CTRL is not |
typically used because the default control transfer endpoint is |
not defined in the USB descriptors. When _ISO option is used, |
addition options can be ORed to _ISO. Example: |
_ISO|_AD|_FE |
This describes the endpoint as an isochronous pipe with adaptive |
and feedback attributes. See usb_device.h and the USB |
specification for details. The next parameter defines the size of |
the endpoint. The last parameter in the polling interval. |
------------------------------------------------------------------- |
Adding a USB String |
------------------------------------------------------------------- |
A string descriptor array should have the following format: |
rom struct{byte bLength;byte bDscType;word string[size];}sdxxx={ |
sizeof(sdxxx),DSC_STR,<text>}; |
The above structure provides a means for the C compiler to |
calculate the length of string descriptor sdxxx, where xxx is the |
index number. The first two bytes of the descriptor are descriptor |
length and type. The rest <text> are string texts which must be |
in the unicode format. The unicode format is achieved by declaring |
each character as a word type. The whole text string is declared |
as a word array with the number of characters equals to <size>. |
<size> has to be manually counted and entered into the array |
declaration. Let's study this through an example: |
if the string is "USB" , then the string descriptor should be: |
(Using index 02) |
rom struct{byte bLength;byte bDscType;word string[3];}sd002={ |
sizeof(sd002),DSC_STR,'U','S','B'}; |
A USB project may have multiple strings and the firmware supports |
the management of multiple strings through a look-up table. |
The look-up table is defined as: |
rom const unsigned char *rom USB_SD_Ptr[]={&sd000,&sd001,&sd002}; |
The above declaration has 3 strings, sd000, sd001, and sd002. |
Strings can be removed or added. sd000 is a specialized string |
descriptor. It defines the language code, usually this is |
US English (0x0409). The index of the string must match the index |
position of the USB_SD_Ptr array, &sd000 must be in position |
USB_SD_Ptr[0], &sd001 must be in position USB_SD_Ptr[1] and so on. |
The look-up table USB_SD_Ptr is used by the get string handler |
function. |
------------------------------------------------------------------- |
The look-up table scheme also applies to the configuration |
descriptor. A USB device may have multiple configuration |
descriptors, i.e. CFG01, CFG02, etc. To add a configuration |
descriptor, user must implement a structure similar to CFG01. |
The next step is to add the configuration descriptor name, i.e. |
cfg01, cfg02,.., to the look-up table USB_CD_Ptr. USB_CD_Ptr[0] |
is a dummy place holder since configuration 0 is the un-configured |
state according to the definition in the USB specification. |
********************************************************************/ |
/********************************************************************* |
* Descriptor specific type definitions are defined in: |
* usb_device.h |
* |
* Configuration options are defined in: |
* usb_config.h |
********************************************************************/ |
#ifndef __USB_DESCRIPTORS_C |
#define __USB_DESCRIPTORS_C |
/** INCLUDES *******************************************************/ |
/* |
#include "GenericTypeDefs.h" |
#include "Compiler.h" |
#include "usb_config.h" |
#include "USB/usb_device.h" |
*/ |
#include "./USB/usb.h" |
/** CONSTANTS ******************************************************/ |
#if defined(__18CXX) |
#pragma romdata |
#endif |
/* Device Descriptor */ |
ROM USB_DEVICE_DESCRIPTOR device_dsc= |
{ |
0x12, // Size of this descriptor in bytes |
USB_DESCRIPTOR_DEVICE, // DEVICE descriptor type |
0x0200, // USB Spec Release Number in BCD format |
0x00, // Class Code |
0x00, // Subclass code |
0x00, // Protocol code |
USB_EP0_BUFF_SIZE, // Max packet size for EP0, see usb_config.h |
0x16C0, // Vendor ID VOTI AVR USB device |
0x05DC, // Product ID: obdev's free PID |
0x0000, // Device release number in BCD format |
0x01, // Manufacturer string index |
0x02, // Product string index |
0x03, // Device serial number string index |
0x01 // Number of possible configurations |
}; |
/* Configuration 1 Descriptor */ |
ROM BYTE configDescriptor1[]={ |
/* Configuration Descriptor */ |
0x09,//sizeof(USB_CFG_DSC), // Size of this descriptor in bytes |
USB_DESCRIPTOR_CONFIGURATION, // CONFIGURATION descriptor type |
0x20,0x00, // Total length of data for this cfg |
1, // Number of interfaces in this cfg |
1, // Index value of this configuration |
0, // Configuration string index |
_DEFAULT | _SELF, // Attributes, see usb_device.h |
50, // Max power consumption (2X mA) |
/* Interface Descriptor */ |
0x09,//sizeof(USB_INTF_DSC), // Size of this descriptor in bytes |
USB_DESCRIPTOR_INTERFACE, // INTERFACE descriptor type |
0, // Interface Number |
0, // Alternate Setting Number |
2, // Number of endpoints in this intf |
0x00, // Class code |
0x00, // Subclass code |
0x00, // Protocol code |
0, // Interface string index |
/* Endpoint Descriptor */ |
0x07, /*sizeof(USB_EP_DSC)*/ |
USB_DESCRIPTOR_ENDPOINT, //Endpoint Descriptor |
_EP01_OUT, //EndpointAddress |
_BULK, //Attributes |
USBGEN_EP_SIZE,0x00, //size |
1, //Interval |
0x07, /*sizeof(USB_EP_DSC)*/ |
USB_DESCRIPTOR_ENDPOINT, //Endpoint Descriptor |
_EP01_IN, //EndpointAddress |
_BULK, //Attributes |
USBGEN_EP_SIZE,0x00, //size |
1 //Interval |
}; |
//Language code string descriptor |
ROM struct{BYTE bLength;BYTE bDscType;WORD string[1];}sd000={ |
sizeof(sd000),USB_DESCRIPTOR_STRING,{0x0409}}; |
//Manufacturer string descriptor |
ROM struct{BYTE bLength;BYTE bDscType;WORD string[12];}sd001={ |
sizeof(sd001),USB_DESCRIPTOR_STRING, |
{'w','w','w','.','o','b','d','e','v','.', |
'a','t'}}; |
//Product string descriptor |
ROM struct{BYTE bLength;BYTE bDscType;WORD string[10];}sd002={ |
sizeof(sd002),USB_DESCRIPTOR_STRING, |
{'D','G','8','S','A','Q','-','I','2','C'}}; |
//Serial Number string descriptor |
ROM struct{BYTE bLength;BYTE bDscType;WORD string[9];}sd003={ |
sizeof(sd003),USB_DESCRIPTOR_STRING, |
{'T','F','3','L','J','-','1','.','0'}}; |
//Array of configuration descriptors |
ROM BYTE *ROM USB_CD_Ptr[]= |
{ |
(ROM BYTE *ROM)&configDescriptor1 |
}; |
//Array of string descriptors |
ROM BYTE *ROM USB_SD_Ptr[]= |
{ |
(ROM BYTE *ROM)&sd000, |
(ROM BYTE *ROM)&sd001, |
(ROM BYTE *ROM)&sd002, |
(ROM BYTE *ROM)&sd003 |
}; |
/** EOF usb_descriptors.c ***************************************************/ |
#endif |
/Modules/Clock/CLKGEN01B/SW/DG8SAQ synthesiser_Emulator/usbavrcmd.h |
---|
0,0 → 1,87 |
//************************************************************************ |
//** |
//** Project......: Firmware USB AVR Si570 controler. |
//** |
//** Platform.....: ATtiny45 @ 16.5 MHz |
//** |
//** Licence......: This software is freely available for non-commercial |
//** use - i.e. for research and experimentation only! |
//** |
//** Programmer...: F.W. Krom, PE0FKO |
//** |
//** Description..: USB commando codes |
//** |
//** History......: V15.12: First version |
//** |
//************************************************************************** |
// |
//#define CMD_ECHO_WORD 0x00 |
#define CMD_GET_VERSION 0x00 |
#define CMD_SET_DDR 0x01 |
#define CMD_GET_PIN 0x02 |
#define CMD_GET_PORT 0x03 |
#define CMD_SET_PORT 0x04 |
// 0x05 // Used in old V1.4 |
// 0x06 // Used in old V1.4 |
// 0x07 // Used in old V1.4 |
// 0x08 // Used in old V1.4 |
// 0x09 // Used in old V1.4 |
// 0x0A // Used in old V1.4 |
// 0x0B // Used in old V1.4 |
// 0x0C // Used in old V1.4 |
#define CMD_REBOOT 0x0F |
// 0x10 // Used in old V1.4 |
// 0x11 // Used in old V1.4 |
#define CMD_SET_IO 0x15 |
#define CMD_GET_IO 0x16 |
#define CMD_SET_FILTER 0x17 |
#define CMD_SET_RX_BAND_FILTER 0x18 // V15.12 |
#define CMD_GET_RX_BAND_FILTER 0x19 // V15.12 |
#define CMD_SET_TX_BAND_FILTER 0x1A // MOBO Only |
#define CMD_GET_TX_BAND_FILTER 0x1B // MOBO Only |
#define CMD_SET_SI570 0x20 // Write byte to Si570 register |
// 0x21 // Used in old V1.4 |
// 0x22 // Used in old V1.4 |
// 0x23 // Used in old V1.4 |
#define CMD_SET_FREQ_REG 0x30 |
#define CMD_SET_LO_SM 0x31 |
#define CMD_SET_FREQ 0x32 |
#define CMD_SET_XTAL 0x33 |
#define CMD_SET_STARTUP 0x34 |
#define CMD_SET_PPM 0x35 |
// 0x36 // Used in old V2.0 |
// 0x37 // Used in old V2.0 |
// 0x38 // Used in old V2.0 |
#define CMD_GET_LO_SM 0x39 |
#define CMD_GET_FREQ 0x3a |
#define CMD_GET_PPM 0x3b |
#define CMD_GET_STARTUP 0x3c |
#define CMD_GET_XTAL 0x3d |
#define CMD_GET_REGS 0x3e |
#define CMD_GET_SI570 0x3f |
#define CMD_GET_I2C_ERR 0x40 |
#define CMD_SET_I2C_ADDR 0x41 |
#define CMD_GET_CPU_TEMP 0x42 // |
#define CMD_SET_USRP1 0x50 |
#define CMD_GET_CW_KEY 0x51 |
// 0x52 // Used in old V2.0 |
// 0x53 // Used in old V2.0 |
// 0x54 // Used in old V2.0 |
// Mobo command's |
#define CMD_GET_FW_FEATURE 0x60 // Firmware Feature select |
#define CMD_GET_ADC_INPUTS 0x61 // Read analog inputs (Temp, PA current, P_out, P_ref, Vdd) |
#define CMD_RM_PA_HIGH_TEMP 0x64 // Read/Modify the PA High Temperature limit |
#define CMD_RM_PA_BIAS 0x65 // Read/Modify PA bias setting related values, 5 items |
#define CMD_RM_PA_SWR 0x66 // Read/Modify SWR measurement and SWR alarm related values 4 items |
#define CMD_RM_ROTARY 0x67 // Read/Modify Rotatry Encoder Resolution |
#define CMD_SET_BYTE_GPIO 0x6e // Write a Byte to (PCF8584) GPIO Extender |
#define CMD_GET_BYTE_GPIO 0x6f // Read a Byte from (PCF8584) GPIO Extender |
// 0xEE // Used in old V2.0 |
// 0xEF // Used in old V2.0 |
// 0xFF // Used in old V2.0 |
/Modules/Clock/CLKGEN01B/SW/DG8SAQ synthesiser_Emulator/user.bak |
---|
0,0 → 1,197 |
/********************************************************************* |
* |
* Microchip USB C18 Firmware Version 1.2 |
* |
********************************************************************* |
* FileName: user.h |
* Dependencies: See INCLUDES section below |
* Processor: PIC18 |
* Compiler: C18 3.11+ |
* Company: Microchip Technology, Inc. |
* |
* Software License Agreement |
* |
* The software supplied herewith by Microchip Technology Incorporated |
* (the Company) for its PICmicro® Microcontroller is intended and |
* supplied to you, the Companys customer, for use solely and |
* exclusively on Microchip PICmicro Microcontroller products. The |
* software is owned by the Company and/or its supplier, and is |
* protected under applicable copyright laws. All rights are reserved. |
* Any use in violation of the foregoing restrictions may subject the |
* user to criminal sanctions under applicable laws, as well as to |
* civil liability for the breach of the terms and conditions of this |
* license. |
* |
* THIS SOFTWARE IS PROVIDED IN AN AS IS CONDITION. NO WARRANTIES, |
* WHETHER EXPRESS, IMPLIED OR STATUTORY, INCLUDING, BUT NOT LIMITED |
* TO, IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A |
* PARTICULAR PURPOSE APPLY TO THIS SOFTWARE. THE COMPANY SHALL NOT, |
* IN ANY CIRCUMSTANCES, BE LIABLE FOR SPECIAL, INCIDENTAL OR |
* CONSEQUENTIAL DAMAGES, FOR ANY REASON WHATSOEVER. |
* |
* Author Date Comment |
*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ |
* Rawin Rojvanit 11/19/04 Original. |
* Rawin Rojvanit 05/14/07 Minor updates. |
********************************************************************/ |
#ifndef PICDEM_FS_DEMO_H |
#define PICDEM_FS_DEMO_H |
/** I N C L U D E S **********************************************************/ |
/** D E F I N I T I O N S ****************************************************/ |
// For custom LPF switchover points |
#define ALEX |
//#define K5OOR |
//#define MARC |
// YAS is defined in the HardwareProfile - UBW.h, if needed |
#if defined(YAS) |
#define NUM_BPF 8 |
#else |
#define NUM_BPF 4 |
#endif |
#define INIT_SI570_ON_STARTUP |
#define VERSION_MAJOR 16 |
#define VERSION_MINOR 04 |
#define DEFAULT_I2C_ADDRESS 0x55 |
#define PCF8574 0x39 // A2 A1 A0 -> 0 0 1 |
#define F_CAL_DONE 0 // EEPROM position of F_CAL_DONE flag. 4 bytes follow. |
#define F_CAL_DONE_VALUE 0x55 |
#define DEFAULT_FCRYST 114.285 |
//#if defined(UBW) |
#define F_INIT_FREQ 5 // 4 bytes follow |
//#elif defined(UBW32) |
//#define F_INIT_FREQ 2 // fcryst 4 bytes all stored in one 32 bit slot |
#endif |
#define F_INIT_FREQ_VALUE 0x55 |
#define DEFAULT_INIT_FREQ 56.32 |
#if defined(UBW) |
#define F_SMOOTH 10 // 2 bytes follow |
#elif defined(UBW32) |
#define F_SMOOTH 4 // 1 slot follow |
#endif |
#define F_SMOOTH_VALUE 0x55 |
#define DEFAULT_SMOOTH 3500 // ppm |
#define F_SUB_MUL_VALUE 0x55 |
#define DEFAULT_SUB 0.0 |
#define DEFAULT_MUL 1.0 |
#if defined(UBW) |
#define F_SUB_MUL 13 // 8 bytes follow |
#elif defined(UBW32) |
#define F_SUB_MUL 6 // 2 slots follow |
#endif |
#if defined(UBW) |
#define F_CROSS_OVER 22 // 32 bytes follow |
#elif defined(UBW32) |
#define F_CROSS_OVER 9 // 16 words stored in 16 (unsigned int) slots |
#endif |
#define F_CROSS_OVER_VALUE 0x55 |
#if defined(UBW) |
#define F_BLINK_LED 55 |
#elif defined(UBW32) |
#define F_BLINK_LED 26 |
#endif |
/** S T R U C T U R E S ******************************************************/ |
extern BYTE i2c_adr; |
extern BYTE command; |
extern BYTE replybuf[8]; |
extern WORD wCount; |
#define COMMAND_BUFFER_SIZE 16 |
#define DATA_PACKET_SIZE 6 |
typedef struct COMMAND_BUFFER |
{ |
BYTE command; |
WORD wCount; |
BYTE data[DATA_PACKET_SIZE]; |
} COMMAND_BUFFER_t; |
extern COMMAND_BUFFER_t command_buffer[COMMAND_BUFFER_SIZE]; |
extern BYTE current_command_in, current_command_out; |
extern BYTE command_count; |
extern double set_frequency; |
extern unsigned char tempBuf[8]; |
typedef union _avr_freq |
{ |
unsigned long qw; |
unsigned char bytes[4]; |
} avr_freq_t; |
extern avr_freq_t avr_freq, fcryst_freq; //frequency [MHz]*2^21 |
// fcryst freq [MHz]*2^24 |
extern avr_freq_t f_mul; // mul for set freq in 11.21 format |
typedef union _offset |
{ |
long qw; // signed offset in 11.21 format |
unsigned char bytes[4]; |
} offset_t; |
extern offset_t f_sub; |
extern unsigned char registers[6]; |
extern BYTE abpf_flag; |
extern double Smooth_double; |
extern double fcryst_double; |
extern WORD_VAL FilterCrossOver[8]; // 11.5 bit value Mhz |
extern float FilterSwitchOver[7]; |
extern WORD_VAL LPFCrossOver[8]; |
extern float LPFSwitchOver[7]; |
/** P U B L I C P R O T O T Y P E S *****************************************/ |
void UserInit(void); |
void ProcessIO(void); |
void Set_Freq_Handler(void); |
void Set_Register_Handler(void); |
void Set_Cal_Handler(void); |
void Set_Init_Freq_Handler(void); |
void Set_Smooth_Handler(void); |
void Set_Sub_Mul_Handler(void); |
void Reset_Si570(void); |
void Freeze (void); |
void Unfreeze (void); |
void Prep_rd (unsigned short); |
void WriteBk (void); |
void NewF (void); |
void SetNewFreq(void); |
void ReadRegs(void); |
void ReadStartUpConfiguration(void); |
void RunFreqProg(double); |
void SetFrequency(double); |
void Set_BPF(float); |
void Set_LPF(float); |
float Cross2Switch(WORD_VAL); |
WORD_VAL Switch2Cross(float); |
double Freq_From_Register(double); |
void Read_Command_Into_Buffer(void); |
void USBCheckUserRequest(void); |
void USBCheckUBWRequest(void); |
#endif //PICDEM_FS_DEMO_H |
/Modules/Clock/CLKGEN01B/SW/DG8SAQ synthesiser_Emulator/user.c |
---|
0,0 → 1,1278 |
/******************************************************************** |
FileName: user.c |
Dependencies: See INCLUDES section |
Processor: PIC18 or PIC24 USB Microcontrollers |
Hardware: The code is natively intended to be used on the following |
hardware platforms: PICDEM FS USB Demo Board, |
PIC18F87J50 FS USB Plug-In Module, or |
Explorer 16 + PIC24 USB PIM. The firmware may be |
modified for use on other USB platforms by editing the |
HardwareProfile.h file. |
Complier: Microchip C18 (for PIC18) or C30 (for PIC24) |
* Company: Microchip Technology, Inc. |
* |
* Software License Agreement |
The software supplied herewith by Microchip Technology Incorporated |
(the Company) for its PIC® Microcontroller is intended and |
supplied to you, the Companys customer, for use solely and |
exclusively on Microchip PIC Microcontroller products. The |
software is owned by the Company and/or its supplier, and is |
protected under applicable copyright laws. All rights are reserved. |
* Any use in violation of the foregoing restrictions may subject the |
* user to criminal sanctions under applicable laws, as well as to |
* civil liability for the breach of the terms and conditions of this |
* license. |
* |
* THIS SOFTWARE IS PROVIDED IN AN AS IS CONDITION. NO WARRANTIES, |
* WHETHER EXPRESS, IMPLIED OR STATUTORY, INCLUDING, BUT NOT LIMITED |
* TO, IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A |
* PARTICULAR PURPOSE APPLY TO THIS SOFTWARE. THE COMPANY SHALL NOT, |
* IN ANY CIRCUMSTANCES, BE LIABLE FOR SPECIAL, INCIDENTAL OR |
CONSEQUENTIAL DAMAGES, FOR ANY REASON WHATSOEVER. |
******************************************************************** |
File Description: |
Change History: |
Rev Date Description |
1.0 11/19/2004 Initial release |
2.1 02/26/2007 Updated for simplicity and to use common |
coding style |
********************************************************************/ |
/** INCLUDES *******************************************************/ |
#include "usb.h" |
#include "HardwareProfile.h" |
#include "user.h" |
#include "usbavrcmd.h" |
#include <math.h> |
#include <stdlib.h> |
#include <string.h> |
#include <ctype.h> |
#if defined(__18CXX) |
#include <delays.h> |
#include <i2c.h> |
#include <eep.h> |
#elif defined(__PIC32MX__) |
#include <peripheral/i2c.h> |
#include <dee_emulation/dee_emulation_pic32.h> |
#endif |
#if defined (UBW) |
#pragma romdata dataEEPROM=0xF00000 |
// F_CAL_DONE, 4 bytes cal data, F_INIT_FREQ, 4 bytes freq, F_SMOOTH, 2 bytes |
// F_SUB_MUL, 4 bytes sub and 4 bytes mul |
// F_CROSS_OVER, 16 bytes or 8 words of 7 cross over points and 1 flag for BPF |
// followed by 16 bytes or 8 words of 7 cross over points and 1 flag for LPF |
// F_BLINK_LED, 1 byte boolean |
rom unsigned char init_data[] = {0xff, 0,0,0,0, 0xff, 0,0,0,0, 0xff, 0,0, |
0xff, 0,0,0,0,0,0,0,0, |
0xff, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, |
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, |
TRUE}; |
#endif |
/** V A R I A B L E S ********************************************************/ |
#pragma udata |
BYTE old_SW; |
BYTE i2c_adr; |
BYTE command; |
BYTE replybuf[8]; |
WORD wCount; |
BYTE abpf_flag; |
COMMAND_BUFFER_t command_buffer[COMMAND_BUFFER_SIZE]; |
BYTE current_command_in, current_command_out; |
BYTE command_count; |
avr_freq_t avr_freq, fcryst_freq; // avr freq [MHz]*2^21 |
// fcryst freq [Mhz]*2^24 |
unsigned short R137, R135 = 0; |
unsigned char registers[6]; |
unsigned char tempBuf[8]; |
unsigned char counter; |
double delta_rfreq; |
double rfreq, Old_rfreq; |
double fcryst_double, Old_freq_double, Smooth_double; |
double set_frequency; |
avr_freq_t f_mul; |
offset_t f_sub; |
unsigned char validCombo; |
#if defined(__18F14K50) || defined(__18F13K50) || defined(__18LF14K50) || defined(__18LF13K50) |
#pragma udata usbram2 |
#elif defined(__18F2455) || defined(__18F2550) || defined(__18F4455) || defined(__18F4550)\ |
|| defined(__18F4450) || defined(__18F2450)\ |
|| defined(__18F2458) || defined(__18F2453) || defined(__18F4558) || defined(__18F4553) |
#pragma udata USB_VARIABLES=0x500 |
#else |
#pragma udata |
#endif |
#pragma udata |
BOOL blinkStatusValid = TRUE; |
/** P R I V A T E P R O T O T Y P E S ***************************************/ |
void BlinkUSBStatus(void); |
BOOL SwitchIsPressed(void); |
void ServiceRequests(void); |
/** D E C L A R A T I O N S **************************************************/ |
#pragma code |
float Cross2Switch(WORD_VAL val){ // convert from 11.5 bit format in [Mhz] |
float whole, fraction; |
whole = (float) (val.Val >> 5); |
fraction = ((float) (val.Val & 0x001f)) / 32.0; |
return (whole + fraction); |
} |
WORD_VAL Switch2Cross(float val){ // convert from float to 11.5 bit format [Mhz] |
WORD_VAL w; |
unsigned int i; |
i = val; |
w.Val = i * 32.0; |
w.Val += (val - (float) i) * 32.0; |
return (w); |
} |
void UserInit(void) |
{ |
WORD_VAL w; |
//#if defined (UBW) |
// unsigned char i; |
//#elif |
unsigned int i; |
unsigned int value; |
//#endif |
#if defined(UBW) |
// Port A - RA0 BPF_S0, RA1 BPF_S1, RA2 RXTX, RA3-5 LPF0-2 |
LATA = 0x00; |
TRISA = 0x00; // 00000000 |
// Turn all analog inputs into digital inputs |
ADCON1 = 0x0F; |
// Turn off the ADC |
ADCON0bits.ADON = 0; |
CMCON = 0x07; // Comparators as digital inputs |
// RB0-1 for i2c, RB6-7 Paddle dit/dah, RB2-5 LPF 3-6 |
LATB = 0x00; |
TRISB = 0xc3; // 11000011 |
INTCON2bits.RBPU = 0; // enable RB weak internal pullup |
// Make all of PORTC inputs |
LATC = 0x00; |
TRISC = 0xFF; |
mInitAllLEDs(); |
mInitSwitch(); |
old_SW = UserSW; |
#elif defined(UBW32) |
// gO through each I/O register, setting them all to digital i/o |
// and making none of them open drain and turning off all pullups and |
// setting all of the latches to zero. We have PORTA through PORTG on |
// this chip. That's 7 total. |
LATA = 0x0000; |
TRISA = 0x0000; |
ODCA = 0x0000; |
LATB = 0x0000; |
TRISB = 0x0000; |
ODCB = 0x0000; |
LATC = 0x0000; |
TRISC = 0x0000; |
ODCC = 0x0000; |
LATD = 0x0000; |
TRISD = 0x0000; |
ODCD = 0x0000; |
LATE = 0x0000; |
TRISE = 0x0000; |
ODCE = 0x0000; |
LATF = 0x0000; |
TRISF = 0x0030; // RF4-5 paddle input |
ODCF = 0x0000; |
CNPUE = 0x060000; // Pull up on CNPUE17-18, corresponding to RF4-5 |
LATG = 0x0000; |
TRISG = 0x0000; |
ODCG = 0x0000; |
//Initialize all of the LED pins |
mInitAllLEDs(); |
mInitAllSwitches(); |
old_SW = UserSW; |
// Initialize Data EEPROM Emulation |
if (DataEEInit()) { |
mLED_4_On(); // Error occured |
} |
else { |
mLED_4_Off(); |
}; |
#endif |
i2c_adr = DEFAULT_I2C_ADDRESS; |
// check for previous calibration, which sets fcryst, the actual crystal freq |
#if defined (UBW) |
if (Read_b_eep(F_CAL_DONE) != F_CAL_DONE_VALUE){ // cal not done before, use default |
fcryst_freq.qw = (double) DEFAULT_FCRYST * (double) (1L << 24); // 114.285 Mhz |
} |
else { // cal done before, read into fcryst |
for (i=0; i<4; i++) fcryst_freq.bytes[i] = Read_b_eep(i + F_CAL_DONE +1); |
}; |
#elif defined (UBW32) |
DataEERead(&value, F_CAL_DONE); |
if ( value != F_CAL_DONE_VALUE){ // cal not done before, use default |
fcryst_freq.qw = (double) DEFAULT_FCRYST * (double) (1L << 24); // 114.285 Mhz |
} |
else { // cal done before, read into fcryst |
DataEERead(&value, (F_CAL_DONE +1)); |
fcryst_freq.qw = value; |
}; |
#endif |
// Now that fcryst is checked, set it first so that it can be used by startup freq setting |
fcryst_double = (double) fcryst_freq.qw / (double) (1L << 24); |
validCombo = 1; |
command_count = 0; |
current_command_in = 0; |
current_command_out = 0; |
Old_freq_double = 0; |
// check for previous startup freq setting |
#if defined (UBW) |
if (Read_b_eep(F_INIT_FREQ) != F_INIT_FREQ_VALUE){ // not set before, use default |
avr_freq.qw = (double) DEFAULT_INIT_FREQ * (double) (1L << 21); |
} |
else { // startup freq set before, read into avr |
for (i=0; i<4; i++) avr_freq.bytes[i] = Read_b_eep(i + F_INIT_FREQ +1); |
}; |
#elif defined (UBW32) |
DataEERead(&value, F_INIT_FREQ); |
if ( value != F_INIT_FREQ_VALUE){ // not set before, use default |
avr_freq.qw = (double) DEFAULT_INIT_FREQ * (double) (1L << 21); |
} |
else { // set before, read |
DataEERead(&value, (F_INIT_FREQ +1)); |
avr_freq.qw = value; |
}; |
#endif |
// check for previous smooth setting |
#if defined (UBW) |
if (Read_b_eep(F_SMOOTH) != F_SMOOTH_VALUE){ // not set before, use default |
Smooth_double = (double) DEFAULT_SMOOTH / 1000000L; // in ppm |
} |
else { // set before, read |
for (i=0; i<2; i++) w.v[i] = Read_b_eep(i + F_SMOOTH +1); |
Smooth_double = (double) w.Val / 1000000L; |
}; |
#elif defined (UBW32) |
DataEERead(&value, F_SMOOTH); |
if ( value != F_SMOOTH_VALUE){ // not set before, use default |
Smooth_double = (double) DEFAULT_SMOOTH / 1000000L; |
} |
else { // set before, read |
DataEERead(&value, (F_SMOOTH +1)); |
w.Val = value; |
Smooth_double = (double) w.Val / 1000000L; |
} |
#endif |
// check for previous sub mul setting |
#if defined (UBW) |
if (Read_b_eep(F_SUB_MUL) != F_SUB_MUL_VALUE){ // not set before, use default |
f_sub.qw = (double) DEFAULT_SUB * (double) (1L << 21); |
f_mul.qw = (double) DEFAULT_MUL * (double) (1L << 21); |
} |
else { // startup freq set before, read into avr |
for (i=0; i<4; i++) f_sub.bytes[i] = Read_b_eep(i + F_SUB_MUL +1); |
for (i=0; i<4; i++) f_mul.bytes[i] = Read_b_eep(i + F_SUB_MUL +5); |
}; |
#elif defined (UBW32) |
DataEERead(&value, F_SUB_MUL); |
if ( value != F_SUB_MUL_VALUE){ // not set before, use default |
f_sub.qw = (double) DEFAULT_SUB * (double) (1L << 21); |
f_mul.qw = (double) DEFAULT_MUL * (double) (1L << 21); |
} |
else { // set before, read |
DataEERead(&value, (F_SUB_MUL +1)); |
f_sub.qw = value; |
DataEERead(&value, (F_SUB_MUL +2)); |
f_mul.qw = value; |
}; |
#endif |
// Check for Cross Over Points |
#if defined (UBW) |
if (Read_b_eep(F_CROSS_OVER) != F_CROSS_OVER_VALUE){ // not set before, use default |
#if defined (YAS) |
FilterSwitchOver[0] = (2.4 - DEFAULT_SUB) * DEFAULT_MUL * 4.0; // default BPF switchover points |
FilterSwitchOver[1] = (8.5 - DEFAULT_SUB) * DEFAULT_MUL * 4.0; |
FilterSwitchOver[2] = (19.0 - DEFAULT_SUB) * DEFAULT_MUL * 4.0; |
FilterSwitchOver[3] = (19.0 - DEFAULT_SUB) * DEFAULT_MUL * 4.0; |
FilterSwitchOver[4] = (19.0 - DEFAULT_SUB) * DEFAULT_MUL* 4.0; |
FilterSwitchOver[5] = (19.0 - DEFAULT_SUB) * DEFAULT_MUL* 4.0; |
FilterSwitchOver[6] = (19.0 - DEFAULT_SUB) * DEFAULT_MUL * 4.0; |
#else |
FilterSwitchOver[0] = (2.4 - DEFAULT_SUB) * DEFAULT_MUL * 4.0; // default BPF switchover points |
FilterSwitchOver[1] = (8.5 - DEFAULT_SUB) * DEFAULT_MUL * 4.0; |
FilterSwitchOver[2] = (19.0 - DEFAULT_SUB) * DEFAULT_MUL * 4.0; |
#endif |
for (i = 0; i < (NUM_BPF - 1); i++) FilterCrossOver[i] = Switch2Cross(FilterSwitchOver[i]); |
FilterCrossOver[(NUM_BPF-1)].Val = 1; // Enabled |
abpf_flag = 1; |
#if defined (K5OOR) |
LPFSwitchOver[0] = (2.0 - DEFAULT_SUB) * DEFAULT_MUL * 4.0; |
LPFSwitchOver[1] = (4.0 - DEFAULT_SUB) * DEFAULT_MUL * 4.0; |
LPFSwitchOver[2] = (7.45 - DEFAULT_SUB) * DEFAULT_MUL * 4.0; |
LPFSwitchOver[3] = (15.0 - DEFAULT_SUB) * DEFAULT_MUL* 4.0; |
LPFSwitchOver[4] = (21.5 - DEFAULT_SUB) * DEFAULT_MUL * 4.0; |
LPFSwitchOver[5] = (30.0 - DEFAULT_SUB) * DEFAULT_MUL * 4.0; |
LPFSwitchOver[6] = (30.0 - DEFAULT_SUB) * DEFAULT_MUL * 4.0; |
#elif defined (ALEX) |
LPFSwitchOver[0] = (2.0 - DEFAULT_SUB) * DEFAULT_MUL * 4.0; |
LPFSwitchOver[1] = (4.0 - DEFAULT_SUB) * DEFAULT_MUL * 4.0; |
LPFSwitchOver[2] = (9.0 - DEFAULT_SUB) * DEFAULT_MUL * 4.0; |
LPFSwitchOver[3] = (11.0 - DEFAULT_SUB) * DEFAULT_MUL * 4.0; |
LPFSwitchOver[4] = (14.5 - DEFAULT_SUB) * DEFAULT_MUL * 4.0; |
LPFSwitchOver[5] = (20.0 - DEFAULT_SUB) * DEFAULT_MUL * 4.0; |
LPFSwitchOver[6] = (30.0 - DEFAULT_SUB) * DEFAULT_MUL* 4.0; |
#elif defined (MARC) |
LPFSwitchOver[0] = (2.0 - DEFAULT_SUB) * DEFAULT_MUL * 4.0; |
LPFSwitchOver[1] = (4.0 - DEFAULT_SUB) * DEFAULT_MUL * 4.0; |
LPFSwitchOver[2] = (8.0 - DEFAULT_SUB) * DEFAULT_MUL * 4.0; |
LPFSwitchOver[3] = (11.0 - DEFAULT_SUB) * DEFAULT_MUL * 4.0; |
LPFSwitchOver[4] = (14.5 - DEFAULT_SUB) * DEFAULT_MUL * 4.0; |
LPFSwitchOver[5] = (18.2 - DEFAULT_SUB) * DEFAULT_MUL * 4.0; |
LPFSwitchOver[6] = (21.0 - DEFAULT_SUB) * DEFAULT_MUL * 4.0; |
#else |
#error "Must define an LPF configuration." |
#endif |
for (i = 0; i < 7; i++) LPFCrossOver[i] = Switch2Cross(LPFSwitchOver[i]); |
LPFCrossOver[7].Val = 1; // Enabled |
} |
else { // set before, read |
for (i = 0; i < NUM_BPF; i++){ |
w.v[0] = Read_b_eep(2 * i + F_CROSS_OVER +1); |
w.v[1] = Read_b_eep(2 * i + 1 + F_CROSS_OVER + 1); |
FilterCrossOver[i].Val = w.Val; |
}; |
abpf_flag = FilterCrossOver[(NUM_BPF-1)].v[0]; |
for (i = 0; i < 8; i++){ |
w.v[0] = Read_b_eep(2 * i + F_CROSS_OVER +17); |
w.v[1] = Read_b_eep(2 * i + 1 + F_CROSS_OVER + 17); |
LPFCrossOver[i].Val = w.Val; |
}; |
} |
#elif defined (UBW32) |
DataEERead(&value, F_CROSS_OVER); |
if ( value != F_CROSS_OVER_VALUE){ // not set before, use default |
FilterSwitchOver[0] = (2.4 - DEFAULT_SUB) * DEFAULT_MUL * 4.0; // default BPF switchover points |
FilterSwitchOver[1] = (8.5 - DEFAULT_SUB) * DEFAULT_MUL * 4.0; |
FilterSwitchOver[2] = (19.0 - DEFAULT_SUB) * DEFAULT_MUL * 4.0; |
for (i = 0; i < 3; i++) FilterCrossOver[i] = Switch2Cross(FilterSwitchOver[i]); |
FilterCrossOver[3].Val = 1; // Enabled |
abpf_flag = 1; |
#if defined (K5OOR) |
LPFSwitchOver[0] = (2.0 - DEFAULT_SUB) * DEFAULT_MUL * 4.0; |
LPFSwitchOver[1] = (4.0 - DEFAULT_SUB) * DEFAULT_MUL * 4.0; |
LPFSwitchOver[2] = (7.45 - DEFAULT_SUB) * DEFAULT_MUL * 4.0; |
LPFSwitchOver[3] = (15.0 - DEFAULT_SUB) * DEFAULT_MUL* 4.0; |
LPFSwitchOver[4] = (21.5 - DEFAULT_SUB) * DEFAULT_MUL * 4.0; |
LPFSwitchOver[5] = (30.0 - DEFAULT_SUB) * DEFAULT_MUL * 4.0; |
LPFSwitchOver[6] = (30.0 - DEFAULT_SUB) * DEFAULT_MUL * 4.0; |
#elif defined (ALEX) |
LPFSwitchOver[0] = (2.0 - DEFAULT_SUB) * DEFAULT_MUL * 4.0; |
LPFSwitchOver[1] = (4.0 - DEFAULT_SUB) * DEFAULT_MUL * 4.0; |
LPFSwitchOver[2] = (9.0 - DEFAULT_SUB) * DEFAULT_MUL * 4.0; |
LPFSwitchOver[3] = (11.0 - DEFAULT_SUB) * DEFAULT_MUL * 4.0; |
LPFSwitchOver[4] = (14.5 - DEFAULT_SUB) * DEFAULT_MUL * 4.0; |
LPFSwitchOver[5] = (20.0 - DEFAULT_SUB) * DEFAULT_MUL * 4.0; |
LPFSwitchOver[6] = (30.0 - DEFAULT_SUB) * DEFAULT_MUL* 4.0; |
#elif defined (MARC) |
LPFSwitchOver[0] = (2.0 - DEFAULT_SUB) * DEFAULT_MUL * 4.0; |
LPFSwitchOver[1] = (4.0 - DEFAULT_SUB) * DEFAULT_MUL * 4.0; |
LPFSwitchOver[2] = (8.0 - DEFAULT_SUB) * DEFAULT_MUL * 4.0; |
LPFSwitchOver[3] = (11.0 - DEFAULT_SUB) * DEFAULT_MUL * 4.0; |
LPFSwitchOver[4] = (14.5 - DEFAULT_SUB) * DEFAULT_MUL * 4.0; |
LPFSwitchOver[5] = (18.2 - DEFAULT_SUB) * DEFAULT_MUL * 4.0; |
LPFSwitchOver[6] = (21.0 - DEFAULT_SUB) * DEFAULT_MUL * 4.0; |
#else |
#error "Must define an LPF configuration." |
#endif |
for (i = 0; i < 7; i++) LPFCrossOver[i] = Switch2Cross(LPFSwitchOver[i]); |
LPFCrossOver[7].Val = 1; // Enabled |
} |
else { // set before, read |
for (i=0; i< NUM_BPF; i++) { |
DataEERead(&value, (i + F_CROSS_OVER +1)); |
FilterCrossOver[i].Val = value; |
}; |
abpf_flag = FilterCrossOver[(NUM_BPF-1)].Val; |
for (i=0; i<8; i++) { |
DataEERead(&value, (i + F_CROSS_OVER +9)); |
LPFCrossOver[i].Val = value; |
}; |
}; |
#endif // UBW32 |
for (i = 0; i < (NUM_BPF-1); i++) FilterSwitchOver[i] = Cross2Switch(FilterCrossOver[i]); |
for (i = 0; i < 7; i++) LPFSwitchOver[i] = Cross2Switch(LPFCrossOver[i]); |
// End initialising filter switchover points |
#if defined(UBW) |
blinkStatusValid = Read_b_eep(F_BLINK_LED); |
#elif defined (UBW32) |
DataEERead(&value, F_BLINK_LED); |
blinkStatusValid = value; |
#endif |
#if defined (UBW) |
OpenI2C(MASTER, SLEW_ON);// Initialize I2C module |
SSPADD = 48; //400kHz Baud clock(9) @16MHz |
//100kHz Baud clock(39) @16MHz |
#elif defined (UBW32) |
OpenI2C1(I2C_ON, ( GetPeripheralClock() / 400000UL - 2) ); |
#endif |
// IF we don't reset Si570 on startup, it will not hang if Si570 not connected |
#if defined (INIT_SI570_ON_STARTUP) |
Reset_Si570(); |
#endif |
// check for previous startup freq setting, if set, then set Si570 to startup freq |
#if defined (UBW32) |
DataEERead(&value, F_INIT_FREQ); |
if ( value == F_INIT_FREQ_VALUE){ |
#else |
if (Read_b_eep(F_INIT_FREQ) == F_INIT_FREQ_VALUE){ |
#endif |
// avr_freq has been setup by the reading of the startup freq |
set_frequency = (double) avr_freq.qw / (double)(1L << 21); |
SetFrequency(set_frequency); |
}; |
}//end UserInit |
/****************************************************************************** |
* Function: void ProcessIO(void) |
* |
* PreCondition: None |
* |
* Input: None |
* |
* Output: None |
* |
* Side Effects: None |
* |
* Overview: This function is a place holder for other user routines. |
* It is a mixture of both USB and non-USB tasks. |
* |
* Note: None |
*****************************************************************************/ |
void ProcessIO(void) |
{ |
if (SwitchIsPressed()){ |
blinkStatusValid = !blinkStatusValid; // toggle blink led |
#if defined(UBW) |
Write_b_eep(F_BLINK_LED, blinkStatusValid); |
#elif defined(UBW32) |
DataEEWrite(blinkStatusValid, F_BLINK_LED); |
#endif |
}; |
//Blink the LEDs according to the USB device status |
if(blinkStatusValid) BlinkUSBStatus(); |
else mLED_Both_Off(); |
// User Application USB tasks |
if((USBDeviceState < ADDRESS_STATE)||(USBSuspendControl==1)) return; |
//respond to any USB commands that might have come over the bus |
ServiceRequests(); |
}//end ProcessIO |
/****************************************************************************** |
* Function: void ServiceRequests(void) |
* |
* PreCondition: None |
* |
* Input: None |
* |
* Output: None |
* |
* Side Effects: USB traffic can be generated |
* |
* Overview: This function takes in the commands from the PC from the |
* application and executes the commands requested |
* |
* Note: None |
*****************************************************************************/ |
void ServiceRequests(void) |
{ |
BYTE command_to_process; |
if (command_count > 0) { // there is command in buffer |
command_to_process = command_buffer[current_command_out].command; |
switch (command_to_process){ |
case CMD_SET_FREQ_REG: |
Set_Register_Handler(); |
break; |
case CMD_SET_LO_SM: |
Set_Sub_Mul_Handler(); |
break; |
case CMD_SET_FREQ: |
Set_Freq_Handler(); |
break; |
case CMD_SET_XTAL: |
Set_Cal_Handler(); |
break; |
case CMD_SET_STARTUP: |
Set_Init_Freq_Handler(); |
break; |
case CMD_SET_PPM: |
Set_Smooth_Handler(); |
break; |
}; |
// end switch |
current_command_out++; |
if (current_command_out >= COMMAND_BUFFER_SIZE) current_command_out = 0; |
command_count--; |
} // end command_count > 0 |
}//end ServiceRequests |
/******************************************************************** |
* Function: void BlinkUSBStatus(void) |
* |
* PreCondition: None |
* |
* Input: None |
* |
* Output: None |
* |
* Side Effects: None |
* |
* Overview: BlinkUSBStatus turns on and off LEDs |
* corresponding to the USB device state. |
* |
* Note: mLED macros can be found in HardwareProfile.h |
* USBDeviceState is declared and updated in |
* usb_device.c. |
*******************************************************************/ |
void BlinkUSBStatus(void) |
{ |
static WORD led_count=0; |
if(led_count == 0)led_count = 10000U; |
led_count--; |
if(USBSuspendControl == 1) |
{ |
if(led_count==0) |
{ |
mLED_1_Toggle(); |
mLED_2 = mLED_1; |
}//end if |
} |
else |
{ |
if(USBDeviceState == DETACHED_STATE) |
{ |
mLED_1_Off(); mLED_2_Off(); |
} |
else if(USBDeviceState == ATTACHED_STATE) |
{ |
mLED_1_On(); mLED_2_On(); |
} |
else if(USBDeviceState == POWERED_STATE) |
{ |
mLED_1_On(); mLED_2_Off(); |
} |
else if(USBDeviceState == DEFAULT_STATE) |
{ |
mLED_1_Off(); mLED_2_On(); |
} |
else if(USBDeviceState == ADDRESS_STATE) |
{ |
if(led_count == 0) |
{ |
mLED_1_Toggle(); |
mLED_2_Off(); |
}//end if |
} |
else if(USBDeviceState == CONFIGURED_STATE) |
{ |
if(led_count==0) |
{ |
mLED_1_Toggle(); |
mLED_2 = !mLED_1; |
}//end if |
}//end if(...) |
}//end if(UCONbits.SUSPND...) |
}//end BlinkUSBStatus |
/****************************************************************************** |
* Function: BOOL SwitchIsPressed(void) |
* |
* PreCondition: None |
* |
* Input: None |
* |
* Output: BOOL - TRUE if the SW2 was pressed and FALSE otherwise |
* |
* Side Effects: None |
* |
* Overview: returns TRUE if the SW2 was pressed and FALSE otherwise |
* |
* Note: None |
*****************************************************************************/ |
BOOL SwitchIsPressed(void) |
{ |
if(UserSW != old_SW) |
{ |
old_SW = UserSW; // Save new value |
if(UserSW == 0) // If pressed |
return TRUE; // Was pressed |
}//end if |
return FALSE; // Was not pressed |
}//end SwitchIsPressed |
void Reset_Si570() |
{ |
#if defined (UBW) |
StartI2C(); //Reset Si570 to Startup |
IdleI2C(); |
WriteI2C(i2c_adr << 1); |
WriteI2C(135); //REG 135 |
WriteI2C(0x01); // reset |
StopI2C(); |
IdleI2C(); |
#elif defined (UBW32) |
StartI2C1(); //Reset Si570 to Startup |
IdleI2C1(); |
MasterWriteI2C1(i2c_adr << 1); |
MasterWriteI2C1(135); //REG 135 |
MasterWriteI2C1(0x01); // reset |
StopI2C1(); |
IdleI2C1(); |
#endif |
} |
void ReadRegs() |
{ |
unsigned int i; |
for(i=0;i<6;i++) |
{ |
#if defined (UBW) |
StartI2C(); |
IdleI2C(); |
WriteI2C(i2c_adr << 1); |
WriteI2C(i+7); //specify register |
RestartI2C(); |
IdleI2C(); |
WriteI2C(i2c_adr << 1 | 0x01); |
registers[i] = ReadI2C(); |
StopI2C(); |
IdleI2C(); |
#elif defined (UBW32) |
StartI2C1(); |
IdleI2C1(); |
MasterWriteI2C1(i2c_adr << 1); |
MasterWriteI2C1(i+7); |
RestartI2C1(); |
IdleI2C1(); |
MasterWriteI2C1(i2c_adr << 1 | 0x01); |
registers[i] = MasterReadI2C1(); |
StopI2C1(); |
IdleI2C1(); |
#endif |
} |
} |
void Freeze () { |
Prep_rd(137); //get current value |
#if defined (UBW) |
R137 = ReadI2C(); |
#elif defined (UBW32) |
R137 = MasterReadI2C1(); |
#endif |
R137 = R137 | 0x10; //turn on freeze |
WriteBk(); |
} |
void Unfreeze () { |
Prep_rd(137); |
#if defined (UBW) |
R137 = ReadI2C(); |
#elif defined (UBW32) |
R137 = MasterReadI2C1(); |
#endif |
R137 = R137 & 0xEF; |
WriteBk(); |
} |
void WriteBk () { //Write back |
#if defined (UBW) |
StopI2C(); |
IdleI2C(); |
StartI2C(); |
IdleI2C(); |
WriteI2C(i2c_adr<<1); |
WriteI2C(137); //REG |
WriteI2C(R137); // new data |
StopI2C(); |
IdleI2C(); |
#elif defined (UBW32) |
StopI2C1(); |
IdleI2C1(); |
StartI2C1(); |
IdleI2C1(); |
MasterWriteI2C1(i2c_adr<<1); |
MasterWriteI2C1(137); //REG |
MasterWriteI2C1(R137); // new data |
StopI2C1(); |
IdleI2C1(); |
#endif |
} |
void Prep_rd (unsigned short r) { // get ready to read |
#if defined (UBW) |
StartI2C(); |
IdleI2C(); |
WriteI2C(i2c_adr<<1); |
WriteI2C(r); //REG |
RestartI2C(); |
IdleI2C(); |
WriteI2C(i2c_adr<<1 | 0x01); |
#elif defined (UBW32) |
StartI2C1(); |
IdleI2C1(); |
MasterWriteI2C1(i2c_adr<<1); |
MasterWriteI2C1(r); //REG |
RestartI2C1(); |
IdleI2C1(); |
MasterWriteI2C1(i2c_adr<<1 | 0x01); |
#endif |
} |
void NewF () { |
Prep_rd(135); |
#if defined (UBW) |
R135 = ReadI2C(); |
R135 |= 0x40; // set New Data bit |
StopI2C(); |
IdleI2C(); |
StartI2C(); |
IdleI2C(); |
WriteI2C(i2c_adr<<1); |
WriteI2C(135); //REG |
WriteI2C(R135); |
StopI2C(); |
IdleI2C(); |
#elif defined (UBW32) |
R135 = MasterReadI2C1(); |
R135 |= 0x40; // set New Data bit |
StopI2C1(); |
IdleI2C1(); |
StartI2C1(); |
IdleI2C1(); |
MasterWriteI2C1(i2c_adr<<1); |
MasterWriteI2C1(135); //REG |
MasterWriteI2C1(R135); |
StopI2C1(); |
IdleI2C1(); |
#endif |
} |
void RunFreqProg(double f) |
{ |
double rfreq_fraction; |
unsigned long rfreq_integer_part; |
unsigned long rfreq_fraction_part; |
const float FDCO_MAX = 5670; //MHz |
const float FDCO_MIN = 4850; |
// Register finding the lowest DCO frequenty - code from Fred |
unsigned char xHS_DIV; |
unsigned int xN1; |
unsigned int xN; |
// Registers to save the found dividers |
unsigned char sHS_DIV=0; |
unsigned char sN1=0; |
unsigned int sN=0; // Total dividing |
unsigned int N0; // Total divider needed (N1 * HS_DIV) |
// Find the total division needed. |
// It is always one too low (not in the case reminder is zero, reminder not used here). |
N0 = FDCO_MIN / (float) f; |
sN = 11*128; |
for(xHS_DIV = 11; xHS_DIV > 3; xHS_DIV--) |
{ |
// Skip the unavailable divider's |
if (xHS_DIV == 8 || xHS_DIV == 10) |
continue; |
// Calculate the needed low speed divider |
xN1 = N0 / xHS_DIV + 1; |
if (xN1 > 128) |
continue; |
// Skip the unavailable divider's |
if (xN1 != 1 && (xN1 & 1) == 1) |
xN1 += 1; |
xN = xHS_DIV * xN1; |
if (sN > xN) |
{ |
sN = xN; |
sN1 = xN1; |
sHS_DIV = xHS_DIV; |
} |
}; |
validCombo = 0; |
if (sHS_DIV == 0) return; // no valid dividers found |
rfreq = f * (double) sN; // DCO freq |
if ((float)rfreq > FDCO_MAX) return; // calculated DCO freq > max |
validCombo = 1; |
// rfreq is a 38 bit number, MSB 10 bits integer portion, and LSB 28 fraction |
// in the Si570 registers, tempBuf[1] has 6 bits, and tempBuf[2] has 4 bits of the integer portion |
rfreq /= fcryst_double; // DCO divided by fcryst |
rfreq_integer_part = rfreq; |
rfreq_fraction = rfreq - rfreq_integer_part; |
rfreq_fraction_part = rfreq_fraction * (1L << 28); |
sHS_DIV -= 4; |
sN1 -= 1; |
tempBuf[0] = (sHS_DIV << 5) | (sN1 >> 2); |
tempBuf[1] = (sN1 & 3) << 6; |
tempBuf[1] |= ((rfreq_integer_part >> 4) & 0x3f); |
tempBuf[2] = ((rfreq_integer_part & 0x0f) << 4) | (rfreq_fraction_part >> 24); |
tempBuf[3] = rfreq_fraction_part >> 16; |
tempBuf[4] = rfreq_fraction_part >> 8; |
tempBuf[5] = rfreq_fraction_part; |
} |
void SetNewFreq() |
{ int i; |
double freq_double; |
double delta_freq; |
if(validCombo) |
{ |
Freeze(); // freeze DCO |
for (i=7; i<=12; i++){ //Data to Si570 |
#if defined (UBW) |
StartI2C(); |
IdleI2C(); |
WriteI2C(i2c_adr<<1); |
WriteI2C(i); //specify register |
WriteI2C(tempBuf[i-7]); // new data to registers |
StopI2C(); |
IdleI2C(); |
#elif defined (UBW32) |
StartI2C1(); |
IdleI2C1(); |
MasterWriteI2C1(i2c_adr<<1); |
MasterWriteI2C1(i); //specify register |
MasterWriteI2C1(tempBuf[i-7]); // new data to registers |
StopI2C1(); |
IdleI2C1(); |
#endif |
} |
Unfreeze (); // thaw (unfreeze) |
// check for smooth tune range |
freq_double = Freq_From_Register(fcryst_double); |
if (freq_double >= Old_freq_double) delta_freq = freq_double - Old_freq_double; |
else delta_freq = Old_freq_double - freq_double; |
if (((delta_rfreq / Old_rfreq ) > Smooth_double) || (delta_freq > 0.5)){ |
NewF (); // indicate new freq. This will cause a pause in the Si570 output |
Old_rfreq = rfreq; |
Old_freq_double = freq_double; |
}; |
// set filters, using set freq without offset and multiplier |
if (abpf_flag) Set_BPF((float) set_frequency); |
Set_LPF((float)set_frequency); |
}; // valid combo |
} |
double Freq_From_Register(double fcryst){ // side effects: rfreq and delta_rfreq are set |
double freq_double; |
unsigned char n1; |
unsigned char hsdiv; |
unsigned long rfreq_integer_portion, rfreq_fraction_portion; |
// Now find out the current rfreq and freq |
hsdiv = ((tempBuf[0] & 0xE0) >> 5) + 4; |
n1 = ((tempBuf[0] & 0x1f ) << 2 ) + ((tempBuf[1] & 0xc0 ) >> 6 ); |
// if(n1 == 0) n1 = 1; |
// else if((n1 & 1) !=0) n1 += 1; |
n1 += 1; |
rfreq_integer_portion = ((unsigned long)(tempBuf[1] & 0x3f)) << 4 | |
((unsigned long)(tempBuf[2] & 0xf0)) >> 4; |
rfreq_fraction_portion = ((unsigned long) (tempBuf[2] & 0x0f)) << 24; |
rfreq_fraction_portion += ((unsigned long)(tempBuf[3])) << 16; |
rfreq_fraction_portion += ((unsigned long)(tempBuf[4])) << 8; |
rfreq_fraction_portion += ((unsigned long)(tempBuf[5])); |
rfreq = (double)rfreq_integer_portion + ((double)rfreq_fraction_portion / (1L << 28)); |
if (rfreq >= Old_rfreq) delta_rfreq = rfreq - Old_rfreq; |
else delta_rfreq = Old_rfreq - rfreq; |
freq_double = fcryst * rfreq / (double) hsdiv / (double) n1; |
return (freq_double); |
} |
void Set_BPF(float freq){ // note the freq used is the Si570 freq |
#if defined(YAS) |
if (freq < FilterSwitchOver[0]) {BPF_S2 = 0;BPF_S1 = 0; BPF_S0 = 0;} |
else if (freq < FilterSwitchOver[1]) {BPF_S2 = 0; BPF_S1=0;BPF_S0=1;} |
else if (freq < FilterSwitchOver[2]) {BPF_S2 = 0;BPF_S1=1;BPF_S0=0;} |
else if (freq < FilterSwitchOver[3]) {BPF_S2 = 0; BPF_S1 = 1; BPF_S0 = 1;} |
else if (freq < FilterSwitchOver[4]) {BPF_S2 = 1; BPF_S1 = 0; BPF_S0 = 0;} |
else if (freq < FilterSwitchOver[5]) {BPF_S2 = 1; BPF_S1 = 0; BPF_S0 = 1;} |
else if (freq < FilterSwitchOver[6]) {BPF_S2 = 1; BPF_S1 = 1; BPF_S0 = 0;} |
else {BPF_S2 = 1;BPF_S1=1; BPF_S0=1;}; |
#else |
if (freq < FilterSwitchOver[0]) {BPF_S1 = 0; BPF_S0 = 0;} |
else if (freq < FilterSwitchOver[1]) {BPF_S1=0;BPF_S0=1;} |
else if (freq < FilterSwitchOver[2]) {BPF_S1=1;BPF_S0=0;} |
else {BPF_S1=1; BPF_S0=1;}; |
#endif |
} |
void Set_LPF(float freq){ |
unsigned char LPF_select; |
LPF_0 = 0; |
LPF_1 = 0; |
LPF_2 = 0; |
#if defined(YAS) |
if (freq < LPFSwitchOver[0]) {LPF_0 = 0; LPF_1 = 0; LPF_2 = 0; LPF_select = 0x01;} |
else if (freq < LPFSwitchOver[1]) {LPF_0 = 1; LPF_1 = 0; LPF_2 = 0; LPF_select = 0x02;} |
else if (freq < LPFSwitchOver[2]) {LPF_0 = 0; LPF_1 = 1; LPF_2 = 0; LPF_select = 0x04;} |
else if (freq < LPFSwitchOver[3]) {LPF_0 = 1; LPF_1 = 1; LPF_2 = 0; LPF_select = 0x08;} |
else if (freq < LPFSwitchOver[4]) {LPF_0 = 0; LPF_1 = 0; LPF_2 = 1; LPF_select = 0x10;} |
else if (freq < LPFSwitchOver[5]) {LPF_0 = 1; LPF_1 = 0; LPF_2 =1; LPF_select = 0x20;} |
else if (freq < LPFSwitchOver[6]) {LPF_0 = 0; LPF_1 = 1; LPF_2 = 1; LPF_select = 0x40;} |
else {LPF_0 = 1; LPF_1 = 1; LPF_2 = 1; LPF_select = 0x80;}; |
#else |
LPF_3 = 0; |
LPF_4 = 0; |
LPF_5 = 0; |
LPF_6 = 0; |
if (freq < LPFSwitchOver[0]) {LPF_0 = 1; LPF_select = 0x01;} |
else if (freq < LPFSwitchOver[1]) {LPF_1 = 1; LPF_select = 0x02;} |
else if (freq <= LPFSwitchOver[2]) {LPF_2 = 1; LPF_select = 0x04;} |
else if (freq < LPFSwitchOver[3]) {LPF_3 = 1; LPF_select = 0x08;} |
else if (freq < LPFSwitchOver[4]) {LPF_4 = 1; LPF_select = 0x10;} |
else if (freq < LPFSwitchOver[5]) {LPF_5 = 1; LPF_select = 0x20;} |
else if (freq < LPFSwitchOver[6]) {LPF_6 = 1; LPF_select = 0x40;} |
else {LPF_6 = 1; LPF_select = 0x80;}; |
#endif |
// Now use i2c bus to switch LPF |
#if defined (UBW) |
StartI2C(); |
IdleI2C(); |
WriteI2C(PCF8574 << 1); |
WriteI2C(LPF_select); |
StopI2C(); |
IdleI2C(); |
#elif defined (UBW32) |
StartI2C1(); |
IdleI2C1(); |
MasterWriteI2C1(PCF8574 << 1); |
MasterWriteI2C1(LPF_select); |
StopI2C1(); |
IdleI2C1(); |
#endif |
} |
void SetFrequency(double f) |
{ |
// introduce the offset and mul here |
RunFreqProg((f - ((double)f_sub.qw / (double)(1L << 21))) * (double)f_mul.qw/(double)(1L <<21)); |
SetNewFreq(); |
} |
void Set_Freq_Handler(void){ // 4 byte freq value in avr_freq format |
BYTE i; |
if (command_buffer[current_command_out].wCount == 4){ |
for (i=0; i<4; i++) avr_freq.bytes[i] = command_buffer[current_command_out].data[i]; |
set_frequency = (double) avr_freq.qw / (double)(1L << 21); |
SetFrequency(set_frequency); |
} |
} |
void Set_Register_Handler(void){ // 6 byte register value |
unsigned char i; |
if (command_buffer[current_command_out].wCount == 6){ |
for (i=0; i<6; i++) tempBuf[i] = command_buffer[current_command_out].data[i]; |
set_frequency = Freq_From_Register(DEFAULT_FCRYST); |
SetFrequency(set_frequency); |
} |
} |
void Set_Cal_Handler(void){ |
// 4 bytes of fcryst freq in avr_freq format |
int i; |
if (command_buffer[current_command_out].wCount == 4){ |
for (i=0; i<4; i++)fcryst_freq.bytes[i] = command_buffer[current_command_out].data[i]; |
fcryst_double = (double) fcryst_freq.qw / (double)(1L << 24); |
#if defined(UBW) |
for (i=0; i<4; i++){ |
Write_b_eep (i+F_CAL_DONE+1, fcryst_freq.bytes[i]); |
Busy_eep (); |
}; |
#elif defined (UBW32) |
DataEEWrite( (unsigned int) fcryst_freq.qw, (F_CAL_DONE + 1)); |
#endif |
#if defined (UBW) |
Write_b_eep(F_CAL_DONE, F_CAL_DONE_VALUE); |
Busy_eep(); |
#elif defined (UBW32) |
DataEEWrite(F_CAL_DONE_VALUE, F_CAL_DONE); |
#endif |
}; |
} |
void Set_Init_Freq_Handler(void) |
{ |
#if defined (UBW) |
unsigned char i; |
#else |
unsigned int i; |
#endif |
if (command_buffer[current_command_out].wCount == 4){ |
for (i=0; i<4; i++) avr_freq.bytes[i] = command_buffer[current_command_out].data[i]; |
#if defined (UBW) |
for (i=0; i<4; i++){ |
Write_b_eep((i + F_INIT_FREQ +1), avr_freq.bytes[i]); |
Busy_eep(); |
}; |
#elif defined (UBW32) |
DataEEWrite( (unsigned int) avr_freq.qw, (F_INIT_FREQ +1)); |
#endif |
#if defined (UBW) |
Write_b_eep(F_INIT_FREQ, F_INIT_FREQ_VALUE); |
Busy_eep(); |
#elif defined (UBW32) |
DataEEWrite(F_INIT_FREQ_VALUE, F_INIT_FREQ); |
#endif |
}; |
} |
void Set_Sub_Mul_Handler(void) |
{ |
#if defined (UBW) |
unsigned char i; |
#else |
unsigned int i; |
#endif |
avr_freq_t old_f_mul; |
offset_t old_f_sub; |
double filter_value; |
if (command_buffer[current_command_out].wCount == 8){ |
old_f_sub = f_sub; // save old values first |
old_f_mul = f_mul; |
for (i=0; i<4; i++) f_sub.bytes[i] = command_buffer[current_command_out].data[i]; |
for (i=0; i<4; i++) f_mul.bytes[i] = command_buffer[current_command_out].data[i+4]; |
#if defined (UBW) |
for (i=0; i<4; i++){ |
Write_b_eep((i + F_SUB_MUL +1), f_sub.bytes[i]); |
Busy_eep(); |
}; |
for (i=0; i<4; i++){ |
Write_b_eep((i + F_SUB_MUL +5), f_mul.bytes[i]); |
Busy_eep(); |
}; |
#elif defined (UBW32) |
DataEEWrite( (unsigned int) f_sub.qw, (F_SUB_MUL +1)); |
DataEEWrite( (unsigned int) f_mul.qw, (F_SUB_MUL +5)); |
#endif |
#if defined (UBW) |
Write_b_eep(F_SUB_MUL, F_SUB_MUL_VALUE); |
Busy_eep(); |
#elif defined (UBW32) |
DataEEWrite(F_SUB_MUL_VALUE, F_SUB_MUL); |
#endif |
// Now update the filter switchover points as well |
for (i = 0; i < (NUM_BPF - 1); i++){ |
// get back filter_value in Mhz |
filter_value = FilterSwitchOver[i] / (old_f_mul.qw / ((double) (1L << 21))) / 4 + (old_f_sub.qw / ((double) (1L << 21))); |
// now convert to new translated values |
FilterSwitchOver[i] = (filter_value - (f_sub.qw / (double)(1L << 21))) * (f_mul.qw / (double)(1L << 21)) * 4; |
FilterCrossOver[i] = Switch2Cross(FilterSwitchOver[i]); |
}; |
for (i = 0; i < 7; i++){ |
// get back filter_value in Mhz |
filter_value = LPFSwitchOver[i] / (old_f_mul.qw / ((double) (1L << 21))) / 4 + (old_f_sub.qw / ((double) (1L << 21))); |
// now convert to new translated values |
LPFSwitchOver[i] = (filter_value - (f_sub.qw / (double)(1L << 21))) * (f_mul.qw / (double)(1L << 21)) * 4; |
LPFCrossOver[i] = Switch2Cross(LPFSwitchOver[i]); |
}; |
}; // if wCount == 8 |
} |
void Set_Smooth_Handler(void) |
{ |
WORD_VAL w; |
unsigned int i; |
if (command_buffer[current_command_out].wCount == 2){ // 2 bytes of Smooth Tune value in ppm |
w.v[0] = command_buffer[current_command_out].data[0]; |
w.v[1] = command_buffer[current_command_out].data[1]; |
Smooth_double = (double) w.Val / 1000000L; |
#if defined (UBW) |
for (i=0; i<2; i++){ |
Write_b_eep (i+F_SMOOTH+1, w.v[i]); |
Busy_eep (); |
}; |
#elif defined (UBW32) |
DataEEWrite( (unsigned int) w.Val, (i + F_SMOOTH + 1)); |
#endif |
#if defined (UBW) |
Write_b_eep(F_SMOOTH, F_SMOOTH_VALUE); |
Busy_eep(); |
#elif defined (UBW32) |
DataEEWrite( F_SMOOTH_VALUE, F_SMOOTH); |
#endif |
} |
} |
/** EOF user.c ***************************************************************/ |
/Modules/Clock/CLKGEN01B/SW/DG8SAQ synthesiser_Emulator/user.h |
---|
0,0 → 1,197 |
/********************************************************************* |
* |
* Microchip USB C18 Firmware Version 1.2 |
* |
********************************************************************* |
* FileName: user.h |
* Dependencies: See INCLUDES section below |
* Processor: PIC18 |
* Compiler: C18 3.11+ |
* Company: Microchip Technology, Inc. |
* |
* Software License Agreement |
* |
* The software supplied herewith by Microchip Technology Incorporated |
* (the Company) for its PICmicro® Microcontroller is intended and |
* supplied to you, the Companys customer, for use solely and |
* exclusively on Microchip PICmicro Microcontroller products. The |
* software is owned by the Company and/or its supplier, and is |
* protected under applicable copyright laws. All rights are reserved. |
* Any use in violation of the foregoing restrictions may subject the |
* user to criminal sanctions under applicable laws, as well as to |
* civil liability for the breach of the terms and conditions of this |
* license. |
* |
* THIS SOFTWARE IS PROVIDED IN AN AS IS CONDITION. NO WARRANTIES, |
* WHETHER EXPRESS, IMPLIED OR STATUTORY, INCLUDING, BUT NOT LIMITED |
* TO, IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A |
* PARTICULAR PURPOSE APPLY TO THIS SOFTWARE. THE COMPANY SHALL NOT, |
* IN ANY CIRCUMSTANCES, BE LIABLE FOR SPECIAL, INCIDENTAL OR |
* CONSEQUENTIAL DAMAGES, FOR ANY REASON WHATSOEVER. |
* |
* Author Date Comment |
*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ |
* Rawin Rojvanit 11/19/04 Original. |
* Rawin Rojvanit 05/14/07 Minor updates. |
********************************************************************/ |
#ifndef PICDEM_FS_DEMO_H |
#define PICDEM_FS_DEMO_H |
/** I N C L U D E S **********************************************************/ |
/** D E F I N I T I O N S ****************************************************/ |
// For custom LPF switchover points |
#define ALEX |
//#define K5OOR |
//#define MARC |
// YAS is defined in the HardwareProfile - UBW.h, if needed |
#if defined(YAS) |
#define NUM_BPF 8 |
#else |
#define NUM_BPF 4 |
#endif |
#define INIT_SI570_ON_STARTUP |
#define VERSION_MAJOR 16 |
#define VERSION_MINOR 04 |
#define DEFAULT_I2C_ADDRESS 0x55 |
#define PCF8574 0x39 // A2 A1 A0 -> 0 0 1 |
#define F_CAL_DONE 0 // EEPROM position of F_CAL_DONE flag. 4 bytes follow. |
#define F_CAL_DONE_VALUE 0x55 |
#define DEFAULT_FCRYST 114.285 |
//#if defined(UBW) |
#define F_INIT_FREQ 5 // 4 bytes follow |
//#elif defined(UBW32) |
//#define F_INIT_FREQ 2 // fcryst 4 bytes all stored in one 32 bit slot |
//#endif |
#define F_INIT_FREQ_VALUE 0x55 |
#define DEFAULT_INIT_FREQ 56.32 |
#if defined(UBW) |
#define F_SMOOTH 10 // 2 bytes follow |
#elif defined(UBW32) |
#define F_SMOOTH 4 // 1 slot follow |
#endif |
#define F_SMOOTH_VALUE 0x55 |
#define DEFAULT_SMOOTH 3500 // ppm |
#define F_SUB_MUL_VALUE 0x55 |
#define DEFAULT_SUB 0.0 |
#define DEFAULT_MUL 1.0 |
#if defined(UBW) |
#define F_SUB_MUL 13 // 8 bytes follow |
#elif defined(UBW32) |
#define F_SUB_MUL 6 // 2 slots follow |
#endif |
#if defined(UBW) |
#define F_CROSS_OVER 22 // 32 bytes follow |
#elif defined(UBW32) |
#define F_CROSS_OVER 9 // 16 words stored in 16 (unsigned int) slots |
#endif |
#define F_CROSS_OVER_VALUE 0x55 |
#if defined(UBW) |
#define F_BLINK_LED 55 |
#elif defined(UBW32) |
#define F_BLINK_LED 26 |
#endif |
/** S T R U C T U R E S ******************************************************/ |
extern BYTE i2c_adr; |
extern BYTE command; |
extern BYTE replybuf[8]; |
extern WORD wCount; |
#define COMMAND_BUFFER_SIZE 16 |
#define DATA_PACKET_SIZE 6 |
typedef struct COMMAND_BUFFER |
{ |
BYTE command; |
WORD wCount; |
BYTE data[DATA_PACKET_SIZE]; |
} COMMAND_BUFFER_t; |
extern COMMAND_BUFFER_t command_buffer[COMMAND_BUFFER_SIZE]; |
extern BYTE current_command_in, current_command_out; |
extern BYTE command_count; |
extern double set_frequency; |
extern unsigned char tempBuf[8]; |
typedef union _avr_freq |
{ |
unsigned long qw; |
unsigned char bytes[4]; |
} avr_freq_t; |
extern avr_freq_t avr_freq, fcryst_freq; //frequency [MHz]*2^21 |
// fcryst freq [MHz]*2^24 |
extern avr_freq_t f_mul; // mul for set freq in 11.21 format |
typedef union _offset |
{ |
long qw; // signed offset in 11.21 format |
unsigned char bytes[4]; |
} offset_t; |
extern offset_t f_sub; |
extern unsigned char registers[6]; |
extern BYTE abpf_flag; |
extern double Smooth_double; |
extern double fcryst_double; |
extern WORD_VAL FilterCrossOver[8]; // 11.5 bit value Mhz |
extern float FilterSwitchOver[7]; |
extern WORD_VAL LPFCrossOver[8]; |
extern float LPFSwitchOver[7]; |
/** P U B L I C P R O T O T Y P E S *****************************************/ |
void UserInit(void); |
void ProcessIO(void); |
void Set_Freq_Handler(void); |
void Set_Register_Handler(void); |
void Set_Cal_Handler(void); |
void Set_Init_Freq_Handler(void); |
void Set_Smooth_Handler(void); |
void Set_Sub_Mul_Handler(void); |
void Reset_Si570(void); |
void Freeze (void); |
void Unfreeze (void); |
void Prep_rd (unsigned short); |
void WriteBk (void); |
void NewF (void); |
void SetNewFreq(void); |
void ReadRegs(void); |
void ReadStartUpConfiguration(void); |
void RunFreqProg(double); |
void SetFrequency(double); |
void Set_BPF(float); |
void Set_LPF(float); |
float Cross2Switch(WORD_VAL); |
WORD_VAL Switch2Cross(float); |
double Freq_From_Register(double); |
void Read_Command_Into_Buffer(void); |
void USBCheckUserRequest(void); |
void USBCheckUBWRequest(void); |
#endif //PICDEM_FS_DEMO_H |
/Modules/Clock/CLKGEN01B/PrjInfo.txt |
---|
0,0 → 1,14 |
[InfoShortDescription.en] |
Low jitter clock generator |
[InfoShortDescription.cs] |
Generátor hodin s nízkým šumem. |
[InfoLongDescription.en] |
Single output I2C programmable clock generator. |
[InfoLongDescription.cs] |
I2C programovatelný precizní generátor hodin s výstupem na SATA konektor. |
[End] |
based on http://wb6dhw.com/Si570/Si570.html |
/Modules/Clock/CLKGEN01B/CLKGEN01A_Bottom_Small.jpg |
---|
Cannot display: file marked as a binary type. |
svn:mime-type = application/octet-stream |
Property changes: |
Added: svn:mime-type |
+application/octet-stream |
\ No newline at end of property |
/Modules/Clock/CLKGEN01B/CAM_AMA/T1.pdf |
---|
Cannot display: file marked as a binary type. |
svn:mime-type = application/octet-stream |
Property changes: |
Added: svn:mime-type |
+application/octet-stream |
\ No newline at end of property |
/Modules/Clock/CLKGEN01B/CAM_AMA/V2.pdf |
---|
Cannot display: file marked as a binary type. |
svn:mime-type = application/octet-stream |
Property changes: |
Added: svn:mime-type |
+application/octet-stream |
\ No newline at end of property |
/Modules/Clock/CLKGEN01A/opravit.txt |
---|
0,0 → 1,10 |
moc blizko soucastky. |
Pouzdro diody musi byt SMA. |
Neni oznacena jednicka u U1. |
Vylepsit blokovani U1. Pridat prokovy. |
Zrusit paralelni vstup. |
vymenit translator za PCA9306 |
/Modules/Clock/CLKGEN01A/SW/DG8SAQ synthesiser_Emulator/HardwareProfile - PICDEM FSUSB.bak |
---|
0,0 → 1,210 |
/******************************************************************** |
FileName: HardwareProfile - PICDEM FSUSB.h |
Dependencies: See INCLUDES section |
Processor: PIC18 USB Microcontrollers |
Hardware: PICDEM FSUSB |
Compiler: Microchip C18 |
Company: Microchip Technology, Inc. |
Software License Agreement: |
The software supplied herewith by Microchip Technology Incorporated |
(the Company) for its PIC® Microcontroller is intended and |
supplied to you, the Companys customer, for use solely and |
exclusively on Microchip PIC Microcontroller products. The |
software is owned by the Company and/or its supplier, and is |
protected under applicable copyright laws. All rights are reserved. |
Any use in violation of the foregoing restrictions may subject the |
user to criminal sanctions under applicable laws, as well as to |
civil liability for the breach of the terms and conditions of this |
license. |
THIS SOFTWARE IS PROVIDED IN AN AS IS CONDITION. NO WARRANTIES, |
WHETHER EXPRESS, IMPLIED OR STATUTORY, INCLUDING, BUT NOT LIMITED |
TO, IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A |
PARTICULAR PURPOSE APPLY TO THIS SOFTWARE. THE COMPANY SHALL NOT, |
IN ANY CIRCUMSTANCES, BE LIABLE FOR SPECIAL, INCIDENTAL OR |
CONSEQUENTIAL DAMAGES, FOR ANY REASON WHATSOEVER. |
******************************************************************** |
File Description: |
Change History: |
Rev Date Description |
1.0 11/19/2004 Initial release |
2.1 02/26/2007 Updated for simplicity and to use common |
coding style |
2.3 09/15/2008 Broke out each hardware platform into its own |
"HardwareProfile - xxx.h" file |
********************************************************************/ |
#ifndef HARDWARE_PROFILE_PICDEM_FSUSB_H |
#define HARDWARE_PROFILE_PICDEM_FSUSB_H |
/*******************************************************************/ |
/******** USB stack hardware selection options *********************/ |
/*******************************************************************/ |
//This section is the set of definitions required by the MCHPFSUSB |
// framework. These definitions tell the firmware what mode it is |
// running in, and where it can find the results to some information |
// that the stack needs. |
//These definitions are required by every application developed with |
// this revision of the MCHPFSUSB framework. Please review each |
// option carefully and determine which options are desired/required |
// for your application. |
//The PICDEM FS USB Demo Board platform supports the USE_SELF_POWER_SENSE_IO |
//and USE_USB_BUS_SENSE_IO features. Uncomment the below line(s) if |
//it is desireable to use one or both of the features. |
//#define USE_SELF_POWER_SENSE_IO |
#define tris_self_power TRISAbits.TRISA2 // Input |
#if defined(USE_SELF_POWER_SENSE_IO) |
#define self_power PORTAbits.RA2 |
#else |
#define self_power 1 |
#endif |
//#define USE_USB_BUS_SENSE_IO |
#define tris_usb_bus_sense TRISAbits.TRISA1 // Input |
#if defined(USE_USB_BUS_SENSE_IO) |
#define USB_BUS_SENSE PORTAbits.RA1 |
#else |
#define USB_BUS_SENSE 1 |
#endif |
//Uncomment the following line to make the output HEX of this |
// project work with the MCHPUSB Bootloader |
//#define PROGRAMMABLE_WITH_USB_MCHPUSB_BOOTLOADER |
//Uncomment the following line to make the output HEX of this |
// project work with the HID Bootloader |
#define PROGRAMMABLE_WITH_USB_HID_BOOTLOADER |
/*******************************************************************/ |
/******** MDD File System selection options ************************/ |
/*******************************************************************/ |
#define USE_PIC18 |
#define ERASE_BLOCK_SIZE 64 |
#define WRITE_BLOCK_SIZE 32 |
/*******************************************************************/ |
/*******************************************************************/ |
/*******************************************************************/ |
/******** Application specific definitions *************************/ |
/*******************************************************************/ |
/*******************************************************************/ |
/*******************************************************************/ |
/** Board definition ***********************************************/ |
//These defintions will tell the main() function which board is |
// currently selected. This will allow the application to add |
// the correct configuration bits as wells use the correct |
// initialization functions for the board. These defitions are only |
// required in the stack provided demos. They are not required in |
// final application design. |
#define DEMO_BOARD PICDEM_FS_USB |
#define PICDEM_FS_USB |
#define CLOCK_FREQ 48000000 |
/** LED ************************************************************/ |
#define mInitAllLEDs() LATD &= 0xF0; TRISD &= 0xF0; |
#define mLED_1 LATDbits.LATD0 |
#define mLED_2 LATDbits.LATD1 |
#define mLED_3 LATDbits.LATD2 |
#define mLED_4 LATDbits.LATD3 |
#define mGetLED_1() mLED_1 |
#define mGetLED_2() mLED_2 |
#define mGetLED_3() mLED_3 |
#define mGetLED_4() mLED_4 |
#define mLED_1_On() mLED_1 = 1; |
#define mLED_2_On() mLED_2 = 1; |
#define mLED_3_On() mLED_3 = 1; |
#define mLED_4_On() mLED_4 = 1; |
#define mLED_1_Off() mLED_1 = 0; |
#define mLED_2_Off() mLED_2 = 0; |
#define mLED_3_Off() mLED_3 = 0; |
#define mLED_4_Off() mLED_4 = 0; |
#define mLED_1_Toggle() mLED_1 = !mLED_1; |
#define mLED_2_Toggle() mLED_2 = !mLED_2; |
#define mLED_3_Toggle() mLED_3 = !mLED_3; |
#define mLED_4_Toggle() mLED_4 = !mLED_4; |
/** SWITCH *********************************************************/ |
#define mInitAllSwitches() TRISBbits.TRISB4=1;TRISBbits.TRISB5=1; |
#define mInitSwitch2() TRISBbits.TRISB4=1; |
#define mInitSwitch3() TRISBbits.TRISB5=1; |
#define sw2 PORTBbits.RB4 |
#define sw3 PORTBbits.RB5 |
/** POT ************************************************************/ |
#define mInitPOT() {TRISAbits.TRISA0=1;ADCON0=0x01;ADCON2=0x3C;ADCON2bits.ADFM = 1;} |
/** SPI : Chip Select Lines ****************************************/ |
#define tris_cs_temp_sensor TRISBbits.TRISB2 // Output |
#define cs_temp_sensor LATBbits.LATB2 |
/** USB external transceiver interface (optional) ******************/ |
#define tris_usb_vpo TRISBbits.TRISB3 // Output |
#define tris_usb_vmo TRISBbits.TRISB2 // Output |
#define tris_usb_rcv TRISAbits.TRISA4 // Input |
#define tris_usb_vp TRISCbits.TRISC5 // Input |
#define tris_usb_vm TRISCbits.TRISC4 // Input |
#define tris_usb_oe TRISCbits.TRISC1 // Output |
#define tris_usb_suspnd TRISAbits.TRISA3 // Output |
/** TRIS ***********************************************************/ |
#define INPUT_PIN 1 |
#define OUTPUT_PIN 0 |
#if defined(YAS) |
#define RXTX LATBbits.LATB5 |
#else |
#define RXTX LATAbits.LATA2 |
#endif |
#define BPF_S0 LATAbits.LATA0 |
#define BPF_S1 LATAbits.LATA1 |
#if defined(YAS) |
#define BPF_S2 LATAbits.LATA2 |
#endif |
#define BPF_S0_STATE PORTAbits.RA0 |
#define BPF_S1_STATE PORTAbits.RA1 |
#if defined(YAS) |
#define BPF_S2_STATE PORTAbits.RA2 |
#endif |
#define PADDLE_DIT PORTBbits.RB6 |
#define PADDLE_DAH PORTBbits.RB7 |
#define LPF_0 LATAbits.LATA3 |
#define LPF_1 LATAbits.LATA4 |
#define LPF_2 LATAbits.LATA5 |
#if defined(YAS) |
#else |
#define LPF_3 LATBbits.LATB2 |
#define LPF_4 LATBbits.LATB3 |
#define LPF_5 LATBbits.LATB4 |
#define LPF_6 LATBbits.LATB5 |
#endif |
/** S W I T C H *****************************************************/ |
#define mInitSwitch() TRISCbits.TRISC2 = 1; |
#define UserSW PORTCbits.RC2 |
#define mLED_Both_Off() {mLED_1_Off(); mLED_2_Off();} |
#define mLED_Both_On() {mLED_1_On(); mLED_2_On();} |
#define mLED_Only_1_On() {mLED_1_On(); mLED_2_Off();} |
#define mLED_Only_2_On() {mLED_1_Off(); mLED_2_On();} |
#endif //HARDWARE_PROFILE_PICDEM_FSUSB_H |
/Modules/Clock/CLKGEN01A/SW/DG8SAQ synthesiser_Emulator/HardwareProfile - PICDEM FSUSB.h |
---|
0,0 → 1,210 |
/******************************************************************** |
FileName: HardwareProfile - PICDEM FSUSB.h |
Dependencies: See INCLUDES section |
Processor: PIC18 USB Microcontrollers |
Hardware: PICDEM FSUSB |
Compiler: Microchip C18 |
Company: Microchip Technology, Inc. |
Software License Agreement: |
The software supplied herewith by Microchip Technology Incorporated |
(the Company) for its PIC® Microcontroller is intended and |
supplied to you, the Companys customer, for use solely and |
exclusively on Microchip PIC Microcontroller products. The |
software is owned by the Company and/or its supplier, and is |
protected under applicable copyright laws. All rights are reserved. |
Any use in violation of the foregoing restrictions may subject the |
user to criminal sanctions under applicable laws, as well as to |
civil liability for the breach of the terms and conditions of this |
license. |
THIS SOFTWARE IS PROVIDED IN AN AS IS CONDITION. NO WARRANTIES, |
WHETHER EXPRESS, IMPLIED OR STATUTORY, INCLUDING, BUT NOT LIMITED |
TO, IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A |
PARTICULAR PURPOSE APPLY TO THIS SOFTWARE. THE COMPANY SHALL NOT, |
IN ANY CIRCUMSTANCES, BE LIABLE FOR SPECIAL, INCIDENTAL OR |
CONSEQUENTIAL DAMAGES, FOR ANY REASON WHATSOEVER. |
******************************************************************** |
File Description: |
Change History: |
Rev Date Description |
1.0 11/19/2004 Initial release |
2.1 02/26/2007 Updated for simplicity and to use common |
coding style |
2.3 09/15/2008 Broke out each hardware platform into its own |
"HardwareProfile - xxx.h" file |
********************************************************************/ |
#ifndef HARDWARE_PROFILE_PICDEM_FSUSB_H |
#define HARDWARE_PROFILE_PICDEM_FSUSB_H |
/*******************************************************************/ |
/******** USB stack hardware selection options *********************/ |
/*******************************************************************/ |
//This section is the set of definitions required by the MCHPFSUSB |
// framework. These definitions tell the firmware what mode it is |
// running in, and where it can find the results to some information |
// that the stack needs. |
//These definitions are required by every application developed with |
// this revision of the MCHPFSUSB framework. Please review each |
// option carefully and determine which options are desired/required |
// for your application. |
//The PICDEM FS USB Demo Board platform supports the USE_SELF_POWER_SENSE_IO |
//and USE_USB_BUS_SENSE_IO features. Uncomment the below line(s) if |
//it is desireable to use one or both of the features. |
//#define USE_SELF_POWER_SENSE_IO |
#define tris_self_power TRISAbits.TRISA2 // Input |
#if defined(USE_SELF_POWER_SENSE_IO) |
#define self_power PORTAbits.RA2 |
#else |
#define self_power 1 |
#endif |
//#define USE_USB_BUS_SENSE_IO |
#define tris_usb_bus_sense TRISAbits.TRISA1 // Input |
#if defined(USE_USB_BUS_SENSE_IO) |
#define USB_BUS_SENSE PORTAbits.RA1 |
#else |
#define USB_BUS_SENSE 1 |
#endif |
//Uncomment the following line to make the output HEX of this |
// project work with the MCHPUSB Bootloader |
#define PROGRAMMABLE_WITH_USB_MCHPUSB_BOOTLOADER |
//Uncomment the following line to make the output HEX of this |
// project work with the HID Bootloader |
//#define PROGRAMMABLE_WITH_USB_HID_BOOTLOADER |
/*******************************************************************/ |
/******** MDD File System selection options ************************/ |
/*******************************************************************/ |
#define USE_PIC18 |
#define ERASE_BLOCK_SIZE 64 |
#define WRITE_BLOCK_SIZE 32 |
/*******************************************************************/ |
/*******************************************************************/ |
/*******************************************************************/ |
/******** Application specific definitions *************************/ |
/*******************************************************************/ |
/*******************************************************************/ |
/*******************************************************************/ |
/** Board definition ***********************************************/ |
//These defintions will tell the main() function which board is |
// currently selected. This will allow the application to add |
// the correct configuration bits as wells use the correct |
// initialization functions for the board. These defitions are only |
// required in the stack provided demos. They are not required in |
// final application design. |
#define DEMO_BOARD PICDEM_FS_USB |
#define PICDEM_FS_USB |
#define CLOCK_FREQ 48000000 |
/** LED ************************************************************/ |
#define mInitAllLEDs() LATD &= 0xF0; TRISD &= 0xF0; |
#define mLED_1 LATDbits.LATD0 |
#define mLED_2 LATDbits.LATD1 |
#define mLED_3 LATDbits.LATD2 |
#define mLED_4 LATDbits.LATD3 |
#define mGetLED_1() mLED_1 |
#define mGetLED_2() mLED_2 |
#define mGetLED_3() mLED_3 |
#define mGetLED_4() mLED_4 |
#define mLED_1_On() mLED_1 = 1; |
#define mLED_2_On() mLED_2 = 1; |
#define mLED_3_On() mLED_3 = 1; |
#define mLED_4_On() mLED_4 = 1; |
#define mLED_1_Off() mLED_1 = 0; |
#define mLED_2_Off() mLED_2 = 0; |
#define mLED_3_Off() mLED_3 = 0; |
#define mLED_4_Off() mLED_4 = 0; |
#define mLED_1_Toggle() mLED_1 = !mLED_1; |
#define mLED_2_Toggle() mLED_2 = !mLED_2; |
#define mLED_3_Toggle() mLED_3 = !mLED_3; |
#define mLED_4_Toggle() mLED_4 = !mLED_4; |
/** SWITCH *********************************************************/ |
#define mInitAllSwitches() TRISBbits.TRISB4=1;TRISBbits.TRISB5=1; |
#define mInitSwitch2() TRISBbits.TRISB4=1; |
#define mInitSwitch3() TRISBbits.TRISB5=1; |
#define sw2 PORTBbits.RB4 |
#define sw3 PORTBbits.RB5 |
/** POT ************************************************************/ |
#define mInitPOT() {TRISAbits.TRISA0=1;ADCON0=0x01;ADCON2=0x3C;ADCON2bits.ADFM = 1;} |
/** SPI : Chip Select Lines ****************************************/ |
#define tris_cs_temp_sensor TRISBbits.TRISB2 // Output |
#define cs_temp_sensor LATBbits.LATB2 |
/** USB external transceiver interface (optional) ******************/ |
#define tris_usb_vpo TRISBbits.TRISB3 // Output |
#define tris_usb_vmo TRISBbits.TRISB2 // Output |
#define tris_usb_rcv TRISAbits.TRISA4 // Input |
#define tris_usb_vp TRISCbits.TRISC5 // Input |
#define tris_usb_vm TRISCbits.TRISC4 // Input |
#define tris_usb_oe TRISCbits.TRISC1 // Output |
#define tris_usb_suspnd TRISAbits.TRISA3 // Output |
/** TRIS ***********************************************************/ |
#define INPUT_PIN 1 |
#define OUTPUT_PIN 0 |
#if defined(YAS) |
#define RXTX LATBbits.LATB5 |
#else |
#define RXTX LATAbits.LATA2 |
#endif |
#define BPF_S0 LATAbits.LATA0 |
#define BPF_S1 LATAbits.LATA1 |
#if defined(YAS) |
#define BPF_S2 LATAbits.LATA2 |
#endif |
#define BPF_S0_STATE PORTAbits.RA0 |
#define BPF_S1_STATE PORTAbits.RA1 |
#if defined(YAS) |
#define BPF_S2_STATE PORTAbits.RA2 |
#endif |
#define PADDLE_DIT PORTBbits.RB6 |
#define PADDLE_DAH PORTBbits.RB7 |
#define LPF_0 LATAbits.LATA3 |
#define LPF_1 LATAbits.LATA4 |
#define LPF_2 LATAbits.LATA5 |
#if defined(YAS) |
#else |
#define LPF_3 LATBbits.LATB2 |
#define LPF_4 LATBbits.LATB3 |
#define LPF_5 LATBbits.LATB4 |
#define LPF_6 LATBbits.LATB5 |
#endif |
/** S W I T C H *****************************************************/ |
#define mInitSwitch() TRISCbits.TRISC2 = 1; |
#define UserSW PORTCbits.RC2 |
#define mLED_Both_Off() {mLED_1_Off(); mLED_2_Off();} |
#define mLED_Both_On() {mLED_1_On(); mLED_2_On();} |
#define mLED_Only_1_On() {mLED_1_On(); mLED_2_Off();} |
#define mLED_Only_2_On() {mLED_1_Off(); mLED_2_On();} |
#endif //HARDWARE_PROFILE_PICDEM_FSUSB_H |
/Modules/Clock/CLKGEN01A/SW/DG8SAQ synthesiser_Emulator/HardwareProfile.h |
---|
0,0 → 1,103 |
/******************************************************************** |
FileName: HardwareProfile.h |
Dependencies: See INCLUDES section |
Processor: PIC18, PIC24, or PIC32 USB Microcontrollers |
Hardware: The code is natively intended to be used on the |
following hardware platforms: |
PICDEM FS USB Demo Board |
PIC18F46J50 FS USB Plug-In Module |
PIC18F87J50 FS USB Plug-In Module |
Explorer 16 + PIC24 or PIC32 USB PIMs |
PIC24F Starter Kit |
Low Pin Count USB Development Kit |
The firmware may be modified for use on other USB |
platforms by editing this file (HardwareProfile.h) |
Compiler: Microchip C18 (for PIC18), C30 (for PIC24), |
or C32 (for PIC32) |
Company: Microchip Technology, Inc. |
Software License Agreement: |
The software supplied herewith by Microchip Technology Incorporated |
(the Company) for its PIC® Microcontroller is intended and |
supplied to you, the Companys customer, for use solely and |
exclusively on Microchip PIC Microcontroller products. The |
software is owned by the Company and/or its supplier, and is |
protected under applicable copyright laws. All rights are reserved. |
Any use in violation of the foregoing restrictions may subject the |
user to criminal sanctions under applicable laws, as well as to |
civil liability for the breach of the terms and conditions of this |
license. |
THIS SOFTWARE IS PROVIDED IN AN AS IS CONDITION. NO WARRANTIES, |
WHETHER EXPRESS, IMPLIED OR STATUTORY, INCLUDING, BUT NOT LIMITED |
TO, IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A |
PARTICULAR PURPOSE APPLY TO THIS SOFTWARE. THE COMPANY SHALL NOT, |
IN ANY CIRCUMSTANCES, BE LIABLE FOR SPECIAL, INCIDENTAL OR |
CONSEQUENTIAL DAMAGES, FOR ANY REASON WHATSOEVER. |
******************************************************************** |
File Description: |
Change History: |
Rev Date Description |
1.0 11/19/2004 Initial release |
2.1 02/26/2007 Updated for simplicity and to use common |
coding style |
2.3 09/15/2008 Broke out each hardware platform into its own |
"HardwareProfile - xxx.h" file |
********************************************************************/ |
#ifndef HARDWARE_PROFILE_H |
#define HARDWARE_PROFILE_H |
//#define DEMO_BOARD USER_DEFINED_BOARD |
#if !defined(DEMO_BOARD) |
#if defined(__C32__) |
#if defined(__32MX460F512L__) |
#if defined(PIC32MX460F512L_PIM) |
#include "HardwareProfile - PIC32MX460F512L PIM.h" |
#elif defined(PIC32_USB_STARTER_KIT) |
#include "HardwareProfile - PIC32 USB Starter Kit.h" |
#else |
#include "HardwareProfile - UBW32.h" |
#endif |
#elif defined(__32MX795F512L__) |
#if defined(PIC32MX795F512L_PIM) |
#include "HardwareProfile - PIC32MX795F512L PIM.h" |
#elif defined(PIC32_USB_STARTER_KIT) |
//PIC32 USB Starter Kit II |
#include "HardwareProfile - PIC32 USB Starter Kit.h" |
#endif |
#endif |
#endif |
#if defined(__C30__) |
#if defined(__PIC24FJ256GB110__) |
#include "HardwareProfile - PIC24FJ256GB110 PIM.h" |
#elif defined(__PIC24FJ256GB106__) |
#include "HardwareProfile - PIC24F Starter Kit.h" |
#endif |
#endif |
#if defined(__18CXX) |
#if defined(__18F4550) |
#include "HardwareProfile - UBW.h" |
#elif defined(__18F87J50) |
#include "HardwareProfile - PIC18F87J50 PIM.h" |
#elif defined(__18F14K50) |
#include "HardwareProfile - Low Pin Count USB Development Kit.h" |
#elif defined(__18F46J50) |
#include "HardwareProfile - PIC18F46J50 PIM.h" |
#elif defined(__18F2550) |
#include "HardwareProfile - UBW.h" |
#endif |
#endif |
#endif |
#if !defined(DEMO_BOARD) |
#error "Demo board not defined. Either define DEMO_BOARD for a custom board or select the correct processor for the demo board." |
#endif |
#endif //HARDWARE_PROFILE_H |
/Modules/Clock/CLKGEN01A/SW/DG8SAQ synthesiser_Emulator/README.txt |
---|
0,0 → 1,268 |
NEWS |
==== |
11.11.2010 |
Firmware was edited to work without bootloader falashing tool. |
So simply program PIC18F4550.hex in to PIC18F4550v01A module with 20MHz crystal. |
Connect it via I2C to CLKGEN01A. And you have wide tunable LO compatible with DG8SAQ USB Si570 synthesiser! |
14 Apr 2009 |
The UBW has 1 power indicator LED, and 2 blinking LED's usually used to indicate the |
status of USB connections with the PC. |
Charles (and maybe some of you) finds the blinking LED's to be too bright and |
distracting. |
So I have implemented a toggle switch (the PRG button) function for you to turn |
the blinking on or off. |
Once turned on or off, the setting is stored in EEPROM, so it will continue to |
behave this way when you power off and next power on the UBW. |
The default setting is LED blinking ON. So when you (re)flash the firmware, the |
default is active. |
14 Mar 2009 |
I have just released the latest version of my UBW Emulator firmware. It now |
has (almost) all the functionalities of Fred (PE0FKO)'s v15.10 firmware for |
ATTINY45 and ATTINY85. All the functions are accessible with Winrad with Fred's |
ExtIO_Si570_v0.8.dll, including the wonderful option of setting of the |
filter crossover points from the software. The crossover points are stored |
in the UBW EEPROM so it will persist until changed again. Another new feature |
is the setting of floating point offset and multiplier in the firmware. This |
complements the setting of offset and (usually) integer multiplier in the PC |
SDR software. |
Winrad/ExtIO can be used to calibrate the UBW/Si570 (2 methods are available - |
calibrating the default freq, or against a known station freq, eg. WWV). |
Once calibrated, there is no need to calibrate other software - both set |
freq by value and set freq by register will give the correct calibrated |
freq now. In PowerSDR, leave the fxtal freq at the default 114.285 Mhz. |
The new UBW Emulator works perfectly with Rocky v3.6, PowerSDR-sr40, |
and PowerSDR-IQ. (set the Fxtal freq in the setup tab to the default 114.285 Mhz). |
With Fred's v15.10 firmware in the ATTINY, users can use the ATTINY based USB |
interfaces to do auto band switching of the mobo for Rx. To be able to do both Rx |
and Tx BPF switching, Rx/Tx switching (PTT), and external LPF switching, from a |
single USB connection, there are only 3 uC solutions that I know of: |
1. The UBW (or UBW32) with this UBW firmware |
2. Dave Brainerd's HSUSB, with firmware by Christos |
3. Arduino board (or clone), with PE0FKO firmware modified by Loftur TF3LJ. |
See Message #31623 |
UBW EMULATOR |
============ |
This is the UBW emulator firmware for emulating the AVR based |
DG8SAQ USB Si570 synthesiser, and Tony's USB-i2C Interface. |
It emulates most of the functions of the orginal DG8SAQ firmware. |
In addition, it emulates the new functions of the PE0FKO firmware (v15.10) |
by Fred, with smooth tune, calibration, setting of Auto BPF crossover |
points, setting of startup freq etc. After calibration of the UBW, |
both set freq by value (used by Rocky) and set freq by register (used by |
PowerSDR-sr40, with the fxtal freq set to the default 114.285 Mhz) will |
give the correct calibrated freq output from the Si570. No further |
calibration with the PC software is required. |
I would like to thank Joe Hopster who wrote the original UBW Si570 |
code, Tom DG8SAQ for the AVR synthesiser code, Mike Collins who has |
been invaluable in helping with the debugging and testing, John Fisher |
for the code example on Si570 slide, Edson for advice on BPF selection coding, |
bug fixing and testing, Fred for help to emulate his v15.7 firmware, |
and others who have contributed so much to Softrock and Si570. |
The emulator firmware HEX file is loaded in the UBW (either PIC |
18F2455, 18F2550 or 18F2553 version) by the Microchip USB bootloader. |
See UBW website for more details about the bootloader. |
Before starting the firmware (via the reset button, or on power up by |
plugging in the USB), the UBW should be connected via i2c interface to |
an Si570. Power up the Si570 before the UBW. |
There are several ways for connecting the UBW with the Si570. |
(1) Connection is with 4 wires, +5V, Gnd, SCL, SDA, to an i2c |
level converter, and then to Si570 with 4 wires, +3V3, Gnd, SCL, and |
SDA. If you use the WB6DHW Si570 board, it has the level converter built-in. So |
You can just connect the 4 wires to the header pins on the WB6DHW board. Note |
that the order of the 4 wires on the UBW is: GND, VCC, RB0, RB1. The order |
of the 4 header pins on WB6DHW board is: +5V, GND, SDA, SCL. |
(2) If you are not using an IC such as GTL2002 for +5V to +3V3 conversion, you |
can use discretes with the Philips (see AN97055 from Philips) |
i2c level converter circuit using 2 BS170's. |
(3) The UBW Emulator firmware sets up the SCL and SDA pins as open collector outputs. |
So you can just connect 3 wires from the UBW to the +3v3 Si570 on the Softrock: |
GND, SCL and SDA. The SCL and SDA lines will have pullup resistors to +3V3 on the |
Softrock pcb. This has been tested to work. HOwever, there is the risk that |
if the UBW firmware malfunctions for some reason (eg loading the wrong firmware instead |
of the Emulator firmware), the RB0 and RB1 (SDA and SCL) pins may go to output high of |
+5V, which may damage the Si570 or other +3V3 chips. |
The PC will detect the new USB device as a DG8SAQ-I2C device and as |
far as the PC is concerned, the UBW behaves almost exactly like the |
USB Si570 synthesiser (which is based on the AVR uController). When |
prompted by the PC to install the driver for this device, you install |
the AVR USB driver (from the USB Si570 synthesiser software download). |
You will also need the libusb0.dll and libusb0.sys files installed |
for the PC software to work (available also from the USB Si570 synthesiser |
software package). |
The following PC software programs have been tested with the UBW emulation so far: |
1. SI570_USB_Test.exe from the USB Si570 synthesiser software package |
2. USB_Synth.exe from the USB Si570 synthesiser software package |
2. Rocky v3.6 |
3. Guido's PowerSDR v1.9.0 sr40 |
4. WinRad with Fred's ExtIO_Si570_v0.8.dll |
5. Christos's PowerSDR-IQ v1.12.20 |
SI570_USB_Test.exe can be used test the USB communication and UBW |
functions,and for calibrating the UBW-Si570 ie. |
(1) Click "Read Si570 Register" - the default Si570 startup frequency |
and register values will be displayed |
(2) If you know the actual startup frequency of your Si570 (which is |
close to but generally not equal to the nominal startup freq of 56.32 |
Mhz), you can do the calibration now by inputting the actual freq in the |
text box to the left of the "cal on startup freq", and then hit "cal |
on startup freq". The UBW-Si570 is now calibrated for "set freq by |
value". The calibration is stored in the EEPROM of the UBW and you do |
not need to re-calibrate again unless you reload the UBW firmware from |
the .hex file. |
(3) Now you can input any freq desired in the text box and hit either |
"set freq by value" or "set freq by register". The si570 should now |
output the freq set by you. It should be accurate as set, and can be |
confirmed with an external freq counter. |
Many of the functions of the SI570_USB_Test.exe have been implemented, |
including Paddle input, RXTX level, etc. |
Both the "old" and "new" (with new icon) versions of USB_Synth.exe work in setting |
the Si570 freq. The old version uses set freq by value, and the new version |
(with enhancements) uses set freq by register. |
If the SI570_USB_Test run is OK, you can fire up Rocky v3.6 to use the |
Si570-USB functionality. Rocky uses the "set freq by value" method. You can use |
the Rocky calibration function with the UBW, but it should not be necessary and should |
be avoided. Use the calibration method in WinRad (see below under Calibration) or |
the SI570_USB_Test.exe method (see above). |
PowerSDR works by "set Freq by Register" method. You can change freq by the band buttons |
or sliding the freq up and down with the mouse. Leave the Fxtal |
freq in PowerSDR "Setup" to the default 114.285 Mhz. There is no need for |
further calibration. |
To use Winrad, you have to download the ExtIO_Si570.dll by Fred PE0FKO. Put the v0.8 |
dll in the same directory as Winrad (usually installed in "c:\Program Files\Winrad" directory). |
Calibration |
=========== |
You can use Winrad (with ExtIO_Si570_v0.8.dll by Fred) to do the calibration. This is the |
easier (and preferred method). There are two calibration methods in ExtIO_Si570.dll. One is |
calibrating to the factory default freq of the Si570 (a value close to 56.32 Mhz). The |
other method is to tune Winrad to a known frequency station, eg. the WWV stations broadcasting |
at 2.5 Mhz, 5.0 Mhz, 10.0 Mhz, 15.0 Mhz etc., and then put in the actual frequencies. For |
example, you may find a good signal of WWV at 10.023 Mhz. So the "tuned" freq is 10.023 Mhz, |
but the "real" freq is 10.000 Mhz. So you enter this real freq in the box and the hit "calibrate" |
botton. |
Si570 calibration can also be done with SI570_USB_Test.exe software, |
to calibrate the startup freq accurately once after loading (or reloading) |
of the firmware .hex file. The calibration data are then stored in the UBW EEPROM. |
If UBW is not connected to the Si570 |
==================================== |
I have eliminated the readstartupconfiguration() step. So now the UBW will NOT hang |
when it is not connected to the i2c bus on startup. On connection to USB it will be |
recognized by the PC. |
Of course, if you try to communicate with the Si570 it will hang and disconnect from |
the USB if you don't have the Si570 connected at this time. |
Restoring EEPROM to factory default condition |
============================================= |
After the UBW EEPROM is corrupted (eg. by mis-calibration), you can restore the factory default |
by reloading the .hex file. (Thanks to Mike for the suggestion.). Alternatively, you can use |
SI570_USB_Test.exe to sent 41 (hex) in the "request" box, and ff (hex) in the "Value" box, |
then click "USB ctrl msg Data to Host". This then clears the EEPROM in the UBW to the default |
condition and when you reset the UBW (hit the reset botton on the uBW, or by powering off |
and then on again). |
Using Winrad, there is a "reset" botton at the "calibrate" tab which will do the same thing. |
Download |
======== |
The UBW emulation firmware and the source files can be found in |
Files->9V1AL->UBW emulation. |
IO Port Pin assignment |
====================== |
Pin assignments for the UBW are as follows: |
Pin Name Input/Output Active Remarks |
RA0 BPF_SO O H BPF select S0 |
RA1 BPF_S1 O H BPF select S1 |
S1,S0 selects 1 of 4 BPF's for Softrock |
RA2 RXTX O H PTT, H = Transmit |
RB0 SDA Open Collector For i2c connection to Si570 |
RB1 SCL Open Collector may need conversion to +3v3 |
in case of firmware failure |
(eg wrong firmware loaded) |
then RB0 and RB1 may be set |
to logic high output of +5V |
RB6 PADDLE_DIT I L Paddle DIT Input, active low |
RB7 PADDLE_DAH I L Paddle DAH Input, active low |
As internal pullup is enabled, |
there is no need to add external |
pullup resistors. Just ground the pin |
to activate. |
RA3-5, RB2-5 LPF_x O H LPF select pins |
This has to be customised for |
the LPF bank you use. |
Email me (lee188@singnet.com.sg) |
and I will sent you a customised hex file |
Connections to SR v6.3 and Mobo v3.6 |
===================================== |
UBW SRv6.3 Mobo v3.6 External Paddle |
RA0 - P7 Pin 1 - |
RA1 - P7 Pin 2 - |
RA2 PTT_I K6 Pin 1 - |
RB0 SDA - - |
RB1 SCL - - |
GND GND P10 Pin 2 Paddle Common |
RB6 - - Paddle dot (dit) |
RB7 - - Paddle dash (dah) |
- +5V P10 Pin 1 - |
/Modules/Clock/CLKGEN01A/SW/DG8SAQ synthesiser_Emulator/USB Device - MCHPUSB - Generic Driver - C18 - PIC18F4550.hex |
---|
0,0 → 1,1389 |
:020000040000FA |
:06000000FBEF2DF01200E1 |
:0600080004EF04F01200F9 |
:060018000CEF04F01200E1 |
:06080000FBEF2DF01200D9 |
:060808000CEF2CF01200C1 |
:0608180015EF2CF01200A8 |
:06082A000100425C000029 |
:08083000E901000005000000D1 |
:08083800D9CFE6FFE1CFD9FFA3 |
:10084000080EE126FD0EDBCF00F0FE0EDBCF01F03F |
:10085000050ED89001320032E804FBE100C02CF014 |
:1008600001C02DF014EC29F02BC0DEFF2CC0DEFF00 |
:100870002DC0DEFF2EC0DDFFDD52DD521F0EE76E04 |
:10088000FD0EDBCF04F0FE0EDBCF05F0E7500416C3 |
:10089000056A04C02CF005C02DF014EC29F02BC023 |
:1008A00000F02CC001F02DC002F02EC003F0306A21 |
:1008B000316A326A420E336E00C02BF001C02CF058 |
:1008C00002C02DF003C02EF0DBEC29F0040E2BC08B |
:1008D000DBFF050E2CC0DBFF060E2DC0DBFF070E75 |
:1008E0002EC0DBFFD9CFE9FFDACFEAFFEECF04F06D |
:1008F000EECF05F0EECF06F0EFCF07F0040EDBCF22 |
:1009000008F0050EDBCF09F0060EDBCF0AF0070E6C |
:10091000DBCF0BF008C030F009C031F00AC032F074 |
:100920000BC033F004C02BF005C02CF006C02DF036 |
:1009300007C02EF045EC29F02BC000F02CC001F0D0 |
:100940002DC002F02EC003F000C02AF001C02BF031 |
:1009500002C02CF003C02DF0080EE15C03E200D0D1 |
:10096000E16AE552E16EE552E7CFD9FF1200D9CF37 |
:10097000E6FFE1CFD9FF040EE126FB0EDBCF2BF023 |
:10098000FC0EDBCF2CF0FD0EDBCF2DF0FE0EDBCF0F |
:100990002EF0B9EC2AF0020E2CC0DBFF030E2DC0A6 |
:1009A000DBFF020EDBCF2CF0030EDBCF2DF014ECBF |
:1009B00029F02BC000F02CC001F02DC002F02EC099 |
:1009C00003F0306A316A326A420E336E00C02BF097 |
:1009D00001C02CF002C02DF003C02EF02EEC2AF046 |
:1009E000B9EC2AF02CC0DEFF2DC0DDFFFB0EDBCF03 |
:1009F00006F0FC0EDBCF07F0FD0EDBCF08F0FE0E9D |
:100A0000DBCF09F0020EDBCF2CF0030EDBCF2DF095 |
:100A100014EC29F02BC00AF02CC00BF02DC00CF008 |
:100A20002EC00DF00AC030F00BC031F00CC032F017 |
:100A30000DC033F006C02BF007C02CF008C02DF01D |
:100A400009C02EF044EC29F02BC002F02CC003F0BA |
:100A50002DC004F02EC005F0306A316A326A420EB1 |
:100A6000336E02C02BF003C02CF004C02DF005C083 |
:100A70002EF02EEC2AF0B9EC2AF02CC000F02DC09C |
:100A800001F0D9CFE9FFDACFEAFF0050EE2601509E |
:100A9000ED22DECF00F0DDCF01F000C0F3FF01C09A |
:100AA000F4FF040EE15C03E200D0E16AE552E16E7E |
:100AB000E552E7CFD9FF1200D9CFE6FFE1CFD9FF4A |
:100AC000060EE126896A926A0F0EC16EC290070E69 |
:100AD000B46E8A6AC30E936EF19E8B6A9468FC0EA4 |
:100AE0008B16941694848250040B01E0010E0101D0 |
:100AF000006F550E016F000EE66EE66A85EC2DF074 |
:100B0000E552E552550809E00101A56BF60EA66F06 |
:100B1000480EA76F720EA86F37D0020EDB6A030E65 |
:100B2000DB6A020EDBCF00F0030EDBCF01F0040E18 |
:100B3000005C000E015828E2010EE76E020EDBCFCA |
:100B400000F0030EDBCF01F0E7500026000E01227B |
:100B500000C0E6FF01C0E6FF85EC2DF0E552E5524E |
:100B6000E66E020EDBCFE9FF030EDBCFEAFFA50E38 |
:100B7000E926010EEA22E552E750EF6E020EDB2A6B |
:100B8000030E01E3DB2ACDD7A5C12AF0A6C12BF0C5 |
:100B9000A7C12CF0A8C12DF029EC29F02BC000F042 |
:100BA0002CC001F02DC002F02EC003F0306A316A73 |
:100BB000800E326E4B0E336E00C02BF001C02CF055 |
:100BC00002C02DF003C02EF0DBEC29F02BC0C6F1E3 |
:100BD0002CC0C7F12DC0C8F12EC0C9F10101010E12 |
:100BE000DE6FA06B9E6B9F6BCA6BCB6BCC6BCD6BC0 |
:100BF000050EE66EE66A85EC2DF0E552E5525508E5 |
:100C00000AE00101700EA16F3D0EA26F0A0EA36FE4 |
:100C1000070EA46F3BD0020EDB6A030EDB6A020EE6 |
:100C2000DBCF00F0030EDBCF01F0040E005C000E02 |
:100C300001582CE2050EE76E020EDBCF00F0030E2A |
:100C4000DBCF01F0E7500026000E0122010E002646 |
:100C5000000E012200C0E6FF01C0E6FF85EC2DF08A |
:100C6000E552E552E66E020EDBCFE9FF030EDBCF65 |
:100C7000EAFFA10EE926010EEA22E552E750EF6EE7 |
:100C8000020EDB2A030E01E3DB2AC9D70A0EE66E49 |
:100C9000E66A85EC2DF0E552E55255080AE00101BF |
:100CA000420ECE6F600ECF6F650ED06F3B0ED16FD0 |
:100CB00066D0020EDB6A030EDB6A020EDBCF00F0A9 |
:100CC000030EDBCF01F0020E005C000E01582EE295 |
:100CD0000A0EE76E020EDBCF02F0030EDBCF03F04D |
:100CE000E7500226000E0322010E0226000E032208 |
:100CF00002C0E6FF03C0E6FF85EC2DF0E552E552A9 |
:100D0000E66ED9CF00F0DACF01F0020EDB500024FE |
:100D1000E96E030EDB500120EA6EE552E750EF6EFC |
:100D2000020EDB2A030E01E3DB2AC7D7000EDFCF5A |
:100D30002CF0010EDBCF2DF014EC29F02BC000F0CD |
:100D40002CC001F02DC002F02EC003F0306A240E3A |
:100D5000316E740E326E490E336E00C02BF001C03E |
:100D60002CF002C02DF003C02EF0DBEC29F02BC0DC |
:100D7000CEF12CC0CFF12DC0D0F12EC0D1F10D0E8F |
:100D8000E66EE66A85EC2DF0E552E55255080BE07B |
:100D90000101DA6BDB6BDC6BDD6BD66BD76B200E86 |
:100DA000D86FD96B76D0020EDB6A030EDB6A020EB7 |
:100DB000DBCF00F0030EDBCF01F0040E005C000E71 |
:100DC00001582CE20D0EE76E020EDBCF00F0030E91 |
:100DD000DBCF01F0E7500026000E0122010E0026B5 |
:100DE000000E012200C0E6FF01C0E6FF85EC2DF0F9 |
:100DF000E552E552E66E020EDBCFE9FF030EDBCFD4 |
:100E0000EAFFDA0EE926010EEA22E552E750EF6E1C |
:100E1000020EDB2A030E01E3DB2AC9D7020EDB6ACE |
:100E2000030EDB6A020EDBCF00F0030EDBCF01F016 |
:100E3000040E005C000E01582CE20D0EE76E020E4F |
:100E4000DBCF00F0030EDBCF01F0E7500026000EF1 |
:100E50000122050E0026000E012200C0E6FF01C09F |
:100E6000E6FF85EC2DF0E552E552E66E020EDBCF93 |
:100E7000E9FF030EDBCFEAFFD60EE926010EEA22D8 |
:100E8000E552E750EF6E020EDB2A030E01E3DB2A88 |
:100E9000C9D7160EE66EE66A85EC2DF0E552E552EE |
:100EA000550801E1DDD000019A0E706F990E716F47 |
:100EB000190E726F410E736F746B756B080E766F3F |
:100EC000420E776F786B796B980E7A6F420E7B6F5C |
:100ED000020EDB6A030EDB6A020EDBCF00F0030EAC |
:100EE000DBCF01F0005C000E01583BE2020EDBCFCD |
:100EF000E9FF030EDBCFEAFF020ED890E936EA36AF |
:100F0000E806FBE1700EE926000EEA22EECFE6FFCE |
:100F1000EECFE6FFEECFE6FFEFCFE6FF28DDE552AE |
:100F2000E552E552E552F3CF00F0F4CF01F0020EA6 |
:100F3000DBCFE9FF030EDBCFEAFF010ED890E936E5 |
:100F4000EA36E806FBE1600EE926000EEA2200C060 |
:100F5000EEFF01C0EDFF020EDB2A030E01E3DB2AE8 |
:100F6000BBD7010E0001666F676B01010D6F0001B9 |
:100F70009C6B9D6B9E6B410E9F6FA06BA16B800E57 |
:100F8000A26F410EA36FA46BA56B100EA66F420E4D |
:100F9000A76FA86BA96B300EAA6F420EAB6FAC6B3C |
:100FA000AD6B680EAE6F420EAF6FB06BB16BA00E43 |
:100FB000B26F420EB36FB46BB56BF00EB66F420EEC |
:100FC000B76F020EDB6A030EDB6A020EDBCF00F0A6 |
:100FD000030EDBCF01F0070E005C000E01583BE270 |
:100FE000020EDBCFE9FF030EDBCFEAFF020ED89043 |
:100FF000E936EA36E806FBE19C0EE926000EEA2215 |
:10100000EECFE6FFEECFE6FFEECFE6FFEFCFE6FF57 |
:10101000AEDCE552E552E552E552F3CF00F0F4CFF5 |
:1010200001F0020EDBCFE9FF030EDBCFEAFF010E7A |
:10103000D890E936EA36E806FBE18C0EE926000E88 |
:10104000EA2200C0EEFF01C0EDFF020EDB2A030E14 |
:1010500001E3DB2ABAD7010E00019A6F9B6BDED049 |
:10106000020EDB6A030EDB6A020EDBCF00F0030E1A |
:10107000DBCF01F0040E005C000E01585FE2020EAF |
:101080002C6E2D6ADBCF31F0030EDBCF32F09BEC00 |
:101090002AF02AC000F02BC001F0160E0026000E28 |
:1010A0000122010E0026000E012200C0E6FF01C051 |
:1010B000E6FF85EC2DF0E552E552DF6E020E2C6E58 |
:1010C0002D6ADBCF31F0030EDBCF32F09BEC2AF040 |
:1010D0002AC000F02BC001F0010E0026000E0122F4 |
:1010E000160E0026000E0122010E0026000E01221F |
:1010F00000C0E6FF01C0E6FF85EC2DF0E552E552A9 |
:10110000E76E010EE7CFDBFF020EDBCFE9FF030E38 |
:10111000DBCFEAFF010ED890E936EA36E806FBE1BC |
:10112000600EE926000EEA22DECFEEFFDDCFEDFFF6 |
:10113000020EDB2A030E01E3DB2A96D766C00DF10F |
:10114000020EDB6A030EDB6A020EDBCF00F0030E39 |
:10115000DBCF01F0080E005C000E01585FE2020ECA |
:101160002C6E2D6ADBCF31F0030EDBCF32F09BEC1F |
:101170002AF02AC000F02BC001F0160E0026000E47 |
:101180000122110E0026000E012200C0E6FF01C060 |
:10119000E6FF85EC2DF0E552E552DF6E020E2C6E77 |
:1011A0002D6ADBCF31F0030EDBCF32F09BEC2AF05F |
:1011B0002AC000F02BC001F0010E0026000E012213 |
:1011C000160E0026000E0122110E0026000E01222E |
:1011D00000C0E6FF01C0E6FF85EC2DF0E552E552C8 |
:1011E000E76E010EE7CFDBFF020EDBCFE9FF030E58 |
:1011F000DBCFEAFF010ED890E936EA36E806FBE1DC |
:101200008C0EE926000EEA22DECFEEFFDDCFEDFFE9 |
:10121000020EDB2A030E01E3DB2A96D7020EDB6AFD |
:10122000030EDB6A020EDBCF00F0030EDBCF01F012 |
:10123000005C000E01583EE2020EDBCFE9FF030E18 |
:10124000DBCFEAFF010ED890E936EA36E806FBE18B |
:10125000600EE926000EEA22EECFE6FFEFCFE6FFB2 |
:101260001CEC04F0E552E5522AC000F02BC001F05E |
:101270002CC002F02DC003F0020EDBCFE9FF030EFD |
:10128000DBCFEAFF020ED890E936EA36E806FBE14A |
:10129000700EE926000EEA2200C0EEFF01C0EEFF4C |
:1012A00002C0EEFF03C0EEFF020EDB2A030E01E3D5 |
:1012B000DB2AB8D7020EDB6A030EDB6A020EDBCF35 |
:1012C00000F0030EDBCF01F0070E005C000E0158AA |
:1012D0003EE2020EDBCFE9FF030EDBCFEAFF010E99 |
:1012E000D890E936EA36E806FBE18C0EE926000ED6 |
:1012F000EA22EECFE6FFEFCFE6FF1CEC04F0E5526A |
:10130000E5522AC000F02BC001F02CC002F02DC025 |
:1013100003F0020EDBCFE9FF030EDBCFEAFF020E84 |
:10132000D890E936EA36E806FBE19C0EE926000E85 |
:10133000EA2200C0EEFF01C0EEFF02C0EEFF03C0D4 |
:10134000EEFF020EDB2A030E01E3DB2AB7D7370ECE |
:10135000E66EE66A85EC2DF0E552E5520101EB6F91 |
:10136000E66A080EE66EA0EC2DF0E552E552300E6E |
:10137000C86E12D9050EE66EE66A85EC2DF0E552D0 |
:10138000E552550837E1A1C12AF0A2C12BF0A3C153 |
:101390002CF0A4C12DF029EC29F02BC000F02CC0BA |
:1013A00001F02DC002F02EC003F0306A316A326ABB |
:1013B0004A0E336E00C02BF001C02CF002C02DF09D |
:1013C00003C02EF0DBEC29F02BC0D2F12CC0D3F1FE |
:1013D0002DC0D4F12EC0D5F1D2C1E6FFD3C1E6FFB6 |
:1013E000D4C1E6FFD5C1E6FF81EC13F0E552E5522A |
:1013F000E552E552060EE15C02E2E16AE552E16E79 |
:10140000E552E7CFD9FF1200B4D8000911E001017D |
:10141000EB5102E0000E01D0010EEB6FEBC1E6FFD5 |
:10142000370EE66EE66A60EC2DF0E552E552E552C5 |
:101430000101EB5102E055D802D08B908B92100E37 |
:101440000001E76EB819E8AE02D0E73402D0E750E9 |
:10145000B85D03E36D50020B01E001D001D812002A |
:10146000D9CFE6FFE1CFD9FFE6520101A051000834 |
:1014700033E29F51090DF3CFE9FFF4CFEAFF0E0EDF |
:10148000E926010EEA22EFCFDFFFDF50350A1AE02E |
:10149000010A15E0070A10E0010A0BE0030A06E062 |
:1014A000010A01E012D0A7EC14F00FD03CEC16F0CA |
:1014B0000CD02BEC14F009D010EC15F006D0D0ECC9 |
:1014C00015F003D07EEC1AF000D001019F2B100E16 |
:1014D0009F5D01E39F6BA007E552E552E7CFD9FF7F |
:1014E00012000101EC51ED1104E1100EEC6F270E1A |
:1014F000ED6FEC07000EED5B6DA20BD0EC51ED1122 |
:1015000007E18B708B50010B02E08B8201D08B9234 |
:101510002FD00001B85103E18B908B9229D0B805F0 |
:1015200003E18B808B8224D0020EB85D03E18B80B7 |
:101530008B921ED0040EB85D03E18B908B8218D085 |
:10154000100EB85D07E10101EC51ED1102E18B7065 |
:101550008B920ED0200EB85D0BE10101EC51ED1124 |
:1015600007E18B708B50010B02E08B9201D08B82D4 |
:1015700012008250040B01E0010E0101005D09E040 |
:101580008250040B01E0010E006F82B402D0010E04 |
:1015900002D0000E00D01200C580C5B0FED716ECF8 |
:1015A0002EF001010151E824E66E27EC2DF0E55202 |
:1015B000870EE66E27EC2DF0E552010EE66E27EC65 |
:1015C0002DF0E552C584C5B4FED716EF2EF0D9CF65 |
:1015D000E6FFE1CFD9FF020EE126DE6ADD6ADECF4B |
:1015E00000F0DDCF01F0060E005C000E01583BE27A |
:1015F000C580C5B0FED716EC2EF001010151E824DC |
:10160000E66E27EC2DF0E552DECF00F0DDCF01F0E5 |
:10161000070E0024E66E27EC2DF0E552C582C5B218 |
:10162000FED716EC2EF001010151E8240109E66E07 |
:1016300027EC2DF0E55209EC2EF0E66EDECFE9FF47 |
:10164000DDCFEAFFAB0EE926010EEA22E552E750B4 |
:10165000EF6EC584C5B4FED716EC2EF0DF2A010E5E |
:1016600001E3DB2ABCD7020EE15C02E2E16AE5524B |
:10167000E16EE552E7CFD9FF1200890EE66EE66A09 |
:101680003DD8E552E55209EC2EF00101A96FAA6B95 |
:10169000100EA911A96F5EEF0BF0890EE66EE66AD7 |
:1016A0002DD8E552E55209EC2EF00101A96FAA6B85 |
:1016B000EF0EA915A96FAA6B5EEF0BF0C584C5B438 |
:1016C000FED716EC2EF0C580C5B0FED716EC2EF076 |
:1016D00001010151E824E66E27EC2DF0E552890E58 |
:1016E000E66E27EC2DF0E552A9C1E6FF27EC2DF0C0 |
:1016F000E552C584C5B4FED716EF2EF0D9CFE6FF6C |
:10170000E1CFD9FFC580C5B0FED716EC2EF00101A0 |
:101710000151E824E66E27EC2DF0E552FD0EDBCFFB |
:10172000E6FF27EC2DF0E552C582C5B2FED716ECD8 |
:101730002EF001010151E8240109E66E27EC2DF09D |
:10174000E552E552E7CFD9FF1200870EE66EE66A52 |
:10175000D5DFE552E55209EC2EF00101E96FEA6BA5 |
:10176000E98DC584C5B4FED716EC2EF0C580C5B092 |
:10177000FED716EC2EF001010151E824E66E27ECAD |
:101780002DF0E552870EE66E27EC2DF0E552E9C10B |
:10179000E6FF27EC2DF0E552C584C5B4FED716EF61 |
:1017A0002EF0D9CFE6FFE1CFD9FF1F0EE1260C0EB8 |
:1017B000DB6A300EF36E0D0EF3CFDBFFB10EF36E6E |
:1017C0000E0EF3CFDBFF450EF36E0F0EF3CFDBFFF4 |
:1017D000100EDB6A900EF36E110EF3CFDBFF970E47 |
:1017E000F36E120EF3CFDBFF450EF36E130EF3CF45 |
:1017F000DBFF190EDB6A1A0EDB6A1B0EDB6A1C0E9E |
:10180000DB6A100EDBCF2BF0110EDBCF2CF0120EAB |
:10181000DBCF2DF0130EDBCF2EF0FB0EDBCF30F045 |
:10182000FC0EDBCF31F0FD0EDBCF32F0FE0EDBCF56 |
:1018300033F0DBEC29F02BC000F02CC001F02DC000 |
:1018400002F02EC003F000C02BF001C02CF002C04B |
:101850002DF003C02EF0B9EC2AF01D0E2CC0DBFFDA |
:101860001E0E2DC0DBFF800EF36E1B0EF3CFDBFFD1 |
:10187000050EF36E1C0EF3CFDBFF0B0EF36E140E92 |
:10188000F3CFDBFFDB50030801E397D0140EDB50EE |
:10189000080804E0140EDB500A0801E18BD0140E96 |
:1018A000DB50026E036A1D0EDBCF2CF01E0EDBCF69 |
:1018B0002DF002C031F003C032F0D5EC2DF02CC079 |
:1018C00000F02DC001F0010E0026000E0122150EC1 |
:1018D00000C0DBFF160E01C0DBFFD950150FE96E0B |
:1018E000DACFEAFF800ED880EE54000EED5401E20C |
:1018F00061D0D950150FE96EDACFEAFF010EEE186C |
:1019000001E1ED5018E0010EE76E150EDBCF00F09F |
:10191000160EDBCF01F0E7500016016A010E001829 |
:1019200001E1015008E1D950150FE96EDACFEAFF65 |
:10193000EE2A000EED22140EDB50006E016A00C08C |
:101940002CF001C02DF0150EDBCF31F0160EDBCFE1 |
:1019500032F09BEC2AF0170E2AC0DBFF180E2BC0CA |
:10196000DBFF1B0EDBCF00F01C0EDBCF01F0170EF0 |
:10197000DBCF02F0180EDBCF03F00050025C015009 |
:10198000035818E2170EDBCF2CF0180EDBCF2DF02A |
:101990001B0E2CC0DBFF1C0E2DC0DBFF150EDB5019 |
:1019A000E76E1A0EE7CFDBFF140EDB50E76E190E61 |
:1019B000E7CFDBFF140EDB0665D70101DE6B190EE6 |
:1019C000DB5001E198D1FB0EDBCF00F0FC0EDBCF4A |
:1019D00001F0FD0EDBCF02F0FE0EDBCF03F01B0E9D |
:1019E000DBCF2CF01C0EDBCF2DF014EC29F02BC03C |
:1019F00004F02CC005F02DC006F02EC007F004C086 |
:101A000030F005C031F006C032F007C033F000C03E |
:101A10002BF001C02CF002C02DF003C02EF02EECF4 |
:101A20002AF02BC0BEF12CC0BFF12DC0C0F12EC0DA |
:101A3000C1F10C0EDBCF00F00D0EDBCF01F00E0E6E |
:101A4000DBCF02F00F0EDBCF03F000C030F001C09F |
:101A500031F002C032F003C033F0BEC12BF0BFC181 |
:101A60002CF0C0C12DF0C1C12EF01FEC2BF0010AEB |
:101A700001E141D10101010EDE6FC6C130F0C7C1E5 |
:101A800031F0C8C132F0C9C133F0BEC12BF0BFC1C3 |
:101A90002CF0C0C12DF0C1C12EF0DBEC29F02BC021 |
:101AA000BEF12CC0BFF12DC0C0F12EC0C1F1BEC12E |
:101AB0002BF0BFC12CF0C0C12DF0C1C12EF0E8EC5D |
:101AC0002AF0040E2AC0DBFF050E2BC0DBFF060E3A |
:101AD0002CC0DBFF070E2DC0DBFF040EDBCF04F0B4 |
:101AE000050EDBCF05F0060EDBCF06F0070EDBCFD1 |
:101AF00007F004C02AF005C02BF006C02CF007C088 |
:101B00002DF029EC29F02BC000F02CC001F02DC0E5 |
:101B100002F02EC003F000C030F001C031F002C06E |
:101B200032F003C033F0BEC12BF0BFC12CF0C0C1F6 |
:101B30002DF0C1C12EF044EC29F02BC0DEFF2CC0EB |
:101B4000DEFF2DC0DEFF2EC0DDFFDD52DD52D9CF1E |
:101B5000E9FFDACFEAFFEECF00F0EECF01F0EECFF3 |
:101B600002F0EFCF03F0306A316A800E326E4D0E14 |
:101B7000336E00C02BF001C02CF002C02DF003C06A |
:101B80002EF02EEC2AF0E8EC2AF0080E2AC0DBFF3B |
:101B9000090E2BC0DBFF0A0E2CC0DBFF0B0E2DC085 |
:101BA000DBFF040E006E190EDBCFE7FF0050E75E8F |
:101BB000190EE7CFDBFF1A0EDB06DB40E8403F0BD8 |
:101BC000006E190EDB50200DF35000100101B16FB3 |
:101BD0001A0EDB50030B400DF3CFB2F1040EDBCF36 |
:101BE00000F0050EDBCF01F0060EDBCF02F0070E92 |
:101BF000DBCF03F0040ED890033202320132003200 |
:101C0000E806F9E13F0E046E056A066A076A0450A9 |
:101C10000016055001160650021607500316005014 |
:101C20000101B2130F0E006E016A026A036AD950F5 |
:101C3000040FE96EDACFEAFFEE500016EE500116FF |
:101C4000EE500216EE500316040E1F0B07E0D8905C |
:101C50000036013602360336E806F9E1080EDBCF1E |
:101C600004F0090EDBCF05F00A0EDBCF06F00B0EF9 |
:101C7000DBCF07F0180ED890073206320532043257 |
:101C8000E806F9E104500012055001120650021254 |
:101C90000750031200C0B3F1080EDBCF00F0090EAD |
:101CA000DBCF01F00A0EDBCF02F00B0EDBCF03F02F |
:101CB000100ED8900332023201320032E806F9E108 |
:101CC00000C0B4F1080EDBCF00F0090EDBCF01F04D |
:101CD0000A0EDBCF02F00B0EDBCF03F0080ED8901C |
:101CE0000332023201320032E806F9E100C0B5F1F8 |
:101CF000080EDBCFB6F11F0EE15C02E2E16AE552AD |
:101D0000E16EE552E7CFD9FF1200D9CFE6FFE1CF70 |
:101D1000D9FF0A0EE1260101DE5101E148D1ADDC17 |
:101D2000070EDE6EDD6ADECF00F0DDCF01F001349C |
:101D300004E200500C08000E01542CE3C580C5B02D |
:101D4000FED716EC2EF001010151E824E66E27ECD7 |
:101D50002DF0E552DFCFE6FF27EC2DF0E552DECF88 |
:101D6000E9FFDDCFEAFF070EE95E000EEA5AB10E89 |
:101D7000E926010EEA22EF50E66E27EC2DF0E5523F |
:101D8000C584C5B4FED716EC2EF0DF2A010E01E3A0 |
:101D9000DB2AC9D782DCC6C1E6FFC7C1E6FFC8C1DE |
:101DA000E6FFC9C1E6FF0DD9E552E552E552E5521D |
:101DB000020E2AC0DBFF030E2BC0DBFF040E2CC07B |
:101DC000DBFF050E2DC0DBFF020EDBCF00F0030EA4 |
:101DD000DBCF01F0040EDBCF02F0050EDBCF03F00A |
:101DE000CAC130F0CBC131F0CCC132F0CDC133F03B |
:101DF00000C02BF001C02CF002C02DF003C02EF06B |
:101E000028EC2BF0010A2BE0020EDBCF00F0030ED2 |
:101E1000DBCF01F0040EDBCF02F0050EDBCF03F0C9 |
:101E2000CAC130F0CBC131F0CCC132F0CDC133F0FA |
:101E300000C02BF001C02CF002C02DF003C02EF02A |
:101E400044EC29F0060E2BC0DBFF070E2CC0DBFF95 |
:101E5000080E2DC0DBFF090E2EC0DBFF2AD0020EBC |
:101E6000DBCF00F0030EDBCF01F0040EDBCF02F07E |
:101E7000050EDBCF03F000C030F001C031F002C02E |
:101E800032F003C033F0CAC12BF0CBC12CF0CCC16F |
:101E90002DF0CDC12EF044EC29F0060E2BC0DBFF57 |
:101EA000070E2CC0DBFF080E2DC0DBFF090E2EC075 |
:101EB000DBFFC2C130F0C3C131F0C4C132F0C5C1D3 |
:101EC00033F0BAC12BF0BBC12CF0BCC12DF0BDC1A9 |
:101ED0002EF0DBEC29F02BC000F02CC001F02DC05F |
:101EE00002F02EC003F0CEC130F0CFC131F0D0C12E |
:101EF00032F0D1C133F000C02BF001C02CF002C091 |
:101F00002DF003C02EF01FEC2BF0010A1DE0060E91 |
:101F1000DBCF04F0070EDBCF05F0080EDBCF06F0B9 |
:101F2000090EDBCF07F0306A316A326A3F0E336E3A |
:101F300004C02BF005C02CF006C02DF007C02EF019 |
:101F40001FEC2BF0010A16E1A5EC0BF0BEC1C2F1AB |
:101F5000BFC1C3F1C0C1C4F1C1C1C5F1020EDBCF25 |
:101F6000CAF1030EDBCFCBF1040EDBCFCCF1050EB3 |
:101F7000DBCFCDF101010D510DE0D2C1E6FFD3C1A0 |
:101F8000E6FFD4C1E6FFD5C1E6FF24DAE552E5520B |
:101F9000E552E552D2C1E6FFD3C1E6FFD4C1E6FF68 |
:101FA000D5C1E6FF8ADAE552E552E552E5520A0E5E |
:101FB000E15C02E2E16AE552E16EE552E7CFD9FF6A |
:101FC0001200D9CFE6FFE1CFD9FF0E0EE126E00ED9 |
:101FD0000101B115E00BE838E840040FE76E050E8B |
:101FE000E7CFDBFF060E016EC00EB21501C0E7FFA2 |
:101FF000E75204E0E8427F0BE706FCE1006E1F0EAB |
:102000000101B115040DF3500024E76E040EE7CF73 |
:10201000DBFFDB2A3F0EB215006E016A026A036A1B |
:10202000040E1F0B07E0D890003601360236033647 |
:10203000E806F9E1F00E0101B315046E056A066ABF |
:10204000076A040ED8900732063205320432E806D9 |
:10205000F9E1045000120550011206500212075017 |
:102060000312060E00C0DBFF070E01C0DBFF080EE7 |
:1020700002C0DBFF090E03C0DBFF0F0E0101B31529 |
:10208000006E016A026A036A180E1F0B07E0D890FF |
:102090000036013602360336E806F9E10A0E00C0C2 |
:1020A000DBFF0B0E01C0DBFF0C0E02C0DBFF0D0ED1 |
:1020B00003C0DBFFB4C100F0016A026A036A100EBC |
:1020C0001F0B07E0D8900036013602360336E806CB |
:1020D000F9E1D9500A0FE96EDACFEAFF0050EE2697 |
:1020E0000150EE220250EE220350EE22B5C100F064 |
:1020F000016A026A036A080E1F0B07E0D8900036D7 |
:10210000013602360336E806F9E1D9500A0FE96EC6 |
:10211000DACFEAFF0050EE260150EE220250EE2206 |
:102120000350EE22B6C100F0016A026A036AD95078 |
:102130000A0FE96EDACFEAFF0050EE260150EE22D8 |
:102140000250EE220350EE22060EDBCF04F0070E03 |
:10215000DBCF05F0080EDBCF06F0090EDBCF07F072 |
:1021600004C02AF005C02BF006C02CF007C02DF0EB |
:1021700029EC29F02BC000F02CC001F02DC002F09A |
:102180002EC003F00A0EDBCF10F00B0EDBCF11F0E8 |
:102190000C0EDBCF12F00D0EDBCF13F010C02AF0C7 |
:1021A00011C02BF012C02CF013C02DF029EC29F037 |
:1021B0002BC00CF02CC00DF02DC00EF02EC00FF077 |
:1021C000306A316A800E326E4D0E336E0CC02BF0C9 |
:1021D0000DC02CF00EC02DF00FC02EF0DBEC29F05E |
:1021E0002BC008F02CC009F02DC00AF02EC00BF057 |
:1021F00008C030F009C031F00AC032F00BC033F033 |
:1022000000C02BF001C02CF002C02DF003C02EF056 |
:1022100045EC29F02BC0BEF12CC0BFF12DC0C0F1A0 |
:102220002EC0C1F1C2C130F0C3C131F0C4C132F01F |
:10223000C5C133F0BEC12BF0BFC12CF0C0C12DF021 |
:10224000C1C12EF028EC2BF0010A1BE0C2C130F016 |
:10225000C3C131F0C4C132F0C5C133F0BEC12BF0EF |
:10226000BFC12CF0C0C12DF0C1C12EF044EC29F04B |
:102270002BC0BAF12CC0BBF12DC0BCF12EC0BDF1FA |
:102280001AD0BEC130F0BFC131F0C0C132F0C1C1FF |
:1022900033F0C2C12BF0C3C12CF0C4C12DF0C5C1B5 |
:1022A0002EF044EC29F02BC0BAF12CC0BBF12DC0AC |
:1022B000BCF12EC0BDF1FB0EDBCF08F0FC0EDBCF76 |
:1022C00009F0FD0EDBCF0AF0FE0EDBCF0BF0BEC136 |
:1022D00030F0BFC131F0C0C132F0C1C133F008C02D |
:1022E0002BF009C02CF00AC02DF00BC02EF02EEC04 |
:1022F0002AF02BC004F02CC005F02DC006F02EC033 |
:1023000007F0050EDBCF10F010C02DF003EC29F024 |
:102310002BC00CF02CC00DF02DC00EF02EC00FF015 |
:102320000CC030F00DC031F00EC032F00FC033F0F1 |
:1023300004C02BF005C02CF006C02DF007C02EF015 |
:10234000DBEC29F02BC000F02CC001F02DC002F016 |
:102350002EC003F0040EDBCF15F015C02DF003ECFA |
:1023600029F02BC011F02CC012F02DC013F02EC09C |
:1023700014F011C030F012C031F013C032F014C0AC |
:1023800033F000C02BF001C02CF002C02DF003C0D0 |
:102390002EF0DBEC29F02BC0DEFF2CC0DEFF2DC0C1 |
:1023A000DEFF2EC0DDFFDD52DD52DECF2AF0DECFB4 |
:1023B0002BF0DECF2CF0DDCF2DF0DD52DD520E0EF6 |
:1023C000E15C03E200D0E16AE552E16EE552E7CF5D |
:1023D000D9FF1200D9CFE6FFE1CFD9FFFB0EDBCF4B |
:1023E00000F0FC0EDBCF01F0FD0EDBCF02F0FE0EA5 |
:1023F000DBCF03F070C030F071C031F072C032F04A |
:1024000073C033F000C02BF001C02CF002C02DF0DF |
:1024100003C02EF028EC2BF0010A03E18992899089 |
:1024200048D0FB0EDBCF00F0FC0EDBCF01F0FD0E41 |
:10243000DBCF02F0FE0EDBCF03F074C030F075C0CE |
:1024400031F076C032F077C033F000C02BF001C01D |
:102450002CF002C02DF003C02EF028EC2BF0010A66 |
:1024600003E18992898025D0FB0EDBCF00F0FC0EC2 |
:10247000DBCF01F0FD0EDBCF02F0FE0EDBCF03F071 |
:1024800078C030F079C031F07AC032F07BC033F0E0 |
:1024900000C02BF001C02CF002C02DF003C02EF0C4 |
:1024A00028EC2BF0010A03E18982899002D089820D |
:1024B0008980E552E7CFD9FF1200D9CFE6FFE1CFFF |
:1024C000D9FFE65289968998899A8A948A968A9839 |
:1024D0008A9AFB0EDBCF00F0FC0EDBCF01F0FD0E85 |
:1024E000DBCF02F0FE0EDBCF03F09CC030F09DC0CE |
:1024F00031F09EC032F09FC033F000C02BF001C01D |
:102500002CF002C02DF003C02EF028EC2BF0010AB5 |
:1025100004E18986010EDF6EDBD0FB0EDBCF00F01D |
:10252000FC0EDBCF01F0FD0EDBCF02F0FE0EDBCFA9 |
:1025300003F0A0C030F0A1C031F0A2C032F0A3C0BF |
:1025400033F000C02BF001C02CF002C02DF003C00E |
:102550002EF028EC2BF0010A04E18988020EDF6ED0 |
:10256000B7D0FB0EDBCF00F0FC0EDBCF01F0FD0E91 |
:10257000DBCF02F0FE0EDBCF03F0A4C030F0A5C02D |
:1025800031F0A6C032F0A7C033F000C02BF001C07C |
:102590002CF002C02DF003C02EF01FEC2BF0010A2E |
:1025A00004E0898A040EDF6E93D0FB0EDBCF00F0CF |
:1025B000FC0EDBCF01F0FD0EDBCF02F0FE0EDBCF19 |
:1025C00003F0A8C030F0A9C031F0AAC032F0ABC00F |
:1025D00033F000C02BF001C02CF002C02DF003C07E |
:1025E0002EF028EC2BF0010A04E18A84080EDF6E3D |
:1025F0006FD0FB0EDBCF00F0FC0EDBCF01F0FD0E49 |
:10260000DBCF02F0FE0EDBCF03F0ACC030F0ADC08C |
:1026100031F0AEC032F0AFC033F000C02BF001C0DB |
:102620002CF002C02DF003C02EF028EC2BF0010A94 |
:1026300004E18A86100EDF6E4BD0FB0EDBCF00F07C |
:10264000FC0EDBCF01F0FD0EDBCF02F0FE0EDBCF88 |
:1026500003F0B0C030F0B1C031F0B2C032F0B3C05E |
:1026600033F000C02BF001C02CF002C02DF003C0ED |
:102670002EF028EC2BF0010A04E18A88200EDF6E90 |
:1026800027D0FB0EDBCF00F0FC0EDBCF01F0FD0E00 |
:10269000DBCF02F0FE0EDBCF03F0B4C030F0B5C0EC |
:1026A00031F0B6C032F0B7C033F000C02BF001C03B |
:1026B0002CF002C02DF003C02EF028EC2BF0010A04 |
:1026C00004E18A8A400EDF6E03D08A8A800EDF6EB4 |
:1026D000C580C5B0FED716EC2EF0720EE66E27EC64 |
:1026E0002DF0E552DFCFE6FF27EC2DF0E552C58453 |
:1026F000C5B4FED716EC2EF0E552E552E7CFD9FF70 |
:102700001200D9CFE6FFE1CFD9FFFB0EDBCF0CF0F3 |
:10271000FC0EDBCF0DF0FD0EDBCF0EF0FE0EDBCF9F |
:102720000FF0DAC12AF0DBC12BF0DCC12CF0DDC1E7 |
:102730002DF02BEC29F02BC014F02CC015F02DC07F |
:1027400016F02EC017F0306A316A326A4A0E336EC4 |
:1027500014C02BF015C02CF016C02DF017C02EF0B1 |
:10276000DBEC29F02BC010F02CC011F02DC012F0C2 |
:102770002EC013F010C030F011C031F012C032F092 |
:1027800013C033F00CC02BF00DC02CF00EC02DF098 |
:102790000FC02EF044EC29F02BC008F02CC009F03B |
:1027A0002DC00AF02EC00BF0D6C12AF0D7C12BF0F5 |
:1027B000D8C12CF0D9C12DF029EC29F02BC018F08C |
:1027C0002CC019F02DC01AF02EC01BF018C030F02C |
:1027D00019C031F01AC032F01BC033F008C02BF022 |
:1027E00009C02CF00AC02DF00BC02EF02EEC2AF000 |
:1027F0002BC004F02CC005F02DC006F02EC007F051 |
:10280000306A316A326A4A0E336E04C02BF005C05A |
:102810002CF006C02DF007C02EF0DBEC29F02BC009 |
:1028200000F02CC001F02DC002F02EC003F000C05B |
:10283000E6FF01C0E6FF02C0E6FF03C0E6FFD1EC01 |
:102840000BF0E552E552E552E55285EC0EF0E5520B |
:10285000E7CFD9FF1200D9CFE6FFE1CFD9FFE6528B |
:1028600001019F51090DF3CFE9FFF4CFEAFF0E0EEE |
:10287000E926010EEA22EE52040EEE1801E1ED50B7 |
:1028800061E1DF6A040EDF5C27E201019F51090D5F |
:10289000F3CFE9FFF4CFEAFF0E0EE926010EEA229C |
:1028A000030EE926000EEA22E9CF00F0EACF01F09C |
:1028B000DF500F010024E96E000E0120EA6EEF5098 |
:1028C000E66EDF50EA6AA10FE96E010EEA22E552D8 |
:1028D000E750EF6EDF2AD6D7A1C12AF0A2C12BF0B4 |
:1028E000A3C12CF0A4C12DF029EC29F02BC000F0DD |
:1028F0002CC001F02DC002F02EC003F0306A316A06 |
:10290000326A4A0E336E00C02BF001C02CF002C0B8 |
:102910002DF003C02EF0DBEC29F02BC0D2F12CC03F |
:10292000D3F12DC0D4F12EC0D5F1D2C1E6FFD3C171 |
:10293000E6FFD4C1E6FFD5C1E6FFE3DEE552E5528E |
:10294000E552E552E552E552E7CFD9FF1200D9CF63 |
:10295000E6FFE1CFD9FFE65201019F51090DF3CF08 |
:10296000E9FFF4CFEAFF0E0EE926010EEA22EE524D |
:10297000060EEE1801E1ED504EE1DF6A060EDF5C57 |
:1029800027E201019F51090DF3CFE9FFF4CFEAFFE0 |
:102990000E0EE926010EEA22030EE926000EEA22B7 |
:1029A000E9CF00F0EACF01F0DF500F010024E96E1B |
:1029B000000E0120EA6EEF50E66EDF50EA6AB10FBA |
:1029C000E96E010EEA22E552E750EF6EDF2AD6D714 |
:1029D000EC0EE66E910EE66EE40EE66E420EE66ECC |
:1029E000E1EC0FF0E552E552E552E5522AC0D2F192 |
:1029F0002BC0D3F12CC0D4F12DC0D5F1D2C1E6FF4C |
:102A0000D3C1E6FFD4C1E6FFD5C1E6FF7ADEE552C9 |
:102A1000E552E552E552E552E552E7CFD9FF120003 |
:102A2000D9CFE6FFE1CFD9FF020EE12601019F5188 |
:102A3000090DF3CFE9FFF4CFEAFF0E0EE926010EF0 |
:102A4000EA22EE52040EEE1801E1ED5001E09ED0B4 |
:102A5000DE6ADD6ADECF00F0DDCF01F0D8900150F4 |
:102A600004E6040E005C000E01582AE29F51090D95 |
:102A7000F3CFE9FFF4CFEAFF0E0EE926010EEA22BA |
:102A8000030EE926000EEA22E9CF00F0EACF01F0BA |
:102A9000DE500024E96EDD500120EA6EEF50E66E54 |
:102AA000DECFE9FFDDCFEAFFA50EE926010EEA221F |
:102AB000E552E750EF6EDF2A010E01E3DB2ACAD7A9 |
:102AC000A5C12AF0A6C12BF0A7C12CF0A8C12DF0FA |
:102AD00029EC29F02BC000F02CC001F02DC002F031 |
:102AE0002EC003F0306A316A800E326E4B0E336EA8 |
:102AF00000C02BF001C02CF002C02DF003C02EF05E |
:102B0000DBEC29F02BC0C6F12CC0C7F12DC0C8F1F9 |
:102B10002EC0C9F1DE6ADD6ADECF00F0DDCF01F044 |
:102B2000D890015004E6040E005C000E015822E229 |
:102B3000DECFE9FFDDCFEAFFA50EE926010EEA228E |
:102B4000EF50E66EDECF00F0DDCF01F0010E002683 |
:102B5000000E012200C0E6FF01C0E6FF60EC2DF090 |
:102B6000E552E552E5521DEC2EF0DF2A010E01E39D |
:102B7000DB2AD2D7550EE66E000EE66EE66A60ECF2 |
:102B80002DF0E552E552E5521DEC2EF0020EE15C0F |
:102B900002E2E16AE552E16EE552E7CFD9FF1200A9 |
:102BA000D9CFE6FFE1CFD9FFE65201019F51090DD0 |
:102BB000F3CFE9FFF4CFEAFF0E0EE926010EEA2279 |
:102BC000EE52040EEE1801E1ED5051E1DF6A040E01 |
:102BD000DF5C27E201019F51090DF3CFE9FFF4CF3C |
:102BE000EAFF0E0EE926010EEA22030EE926000E88 |
:102BF000EA22E9CF00F0EACF01F0DF500F01002414 |
:102C0000E96E000E0120EA6EEF50E66EDF50EA6AD0 |
:102C1000A10FE96E010EEA22E552E750EF6EDF2ABE |
:102C2000D6D7DF6A040EDF5C16E2DF50EA6AA10F36 |
:102C3000E96E010EEA22EF50E66E050EDF24010F69 |
:102C4000E66EE66A60EC2DF0E552E552E5521DECC9 |
:102C50002EF0DF2AE7D7550EE66E050EE66EE66A21 |
:102C600060EC2DF0E552E552E5521DEC2EF0E552F8 |
:102C7000E552E7CFD9FF1200D9CFE6FFE1CFD9FF68 |
:102C80000D0EE12601019F51090DF3CFE9FFF4CFAD |
:102C9000EAFF0E0EE926010EEA22EE52080EEE18A9 |
:102CA00001E1ED5002E074EF1AF0050EDAC1DBFF2E |
:102CB000060EDBC1DBFF070EDCC1DBFF080EDDC14A |
:102CC000DBFF010ED6C1DBFF020ED7C1DBFF030E17 |
:102CD000D8C1DBFF040ED9C1DBFFDF6A040EDF5C65 |
:102CE00027E201019F51090DF3CFE9FFF4CFEAFF7D |
:102CF0000E0EE926010EEA22030EE926000EEA2254 |
:102D0000E9CF00F0EACF01F0DF500F010024E96EB7 |
:102D1000000E0120EA6EEF50E66EDF50EA6ADA0F2D |
:102D2000E96E010EEA22E552E750EF6EDF2AD6D7B0 |
:102D3000DF6A040EDF5C28E201019F51090DF3CF29 |
:102D4000E9FFF4CFEAFF0E0EE926010EEA22030E98 |
:102D5000E926000EEA22E9CF00F0EACF01F0040EE6 |
:102D6000DF240F010024E96E000E0120EA6EEF500F |
:102D7000E66EDF50EA6AD60FE96E010EEA22E552EE |
:102D8000E750EF6EDF2AD5D7DF6A040EDF5C16E26C |
:102D9000DF50EA6ADA0FE96E010EEA22EF50E66EC2 |
:102DA0000D0EDF24010FE66EE66A60EC2DF0E552B1 |
:102DB000E552E5521DEC2EF0DF2AE7D7DF6A040E5C |
:102DC000DF5C16E2DF50EA6AD60FE96E010EEA22F6 |
:102DD000EF50E66E0D0EDF24050FE66EE66A60EC3E |
:102DE0002DF0E552E552E5521DEC2EF0DF2AE7D733 |
:102DF000550EE66E0D0EE66EE66A60EC2DF0E552BD |
:102E0000E552E5521DEC2EF0DF6A030EDF5C01E3B4 |
:102E1000B3D1DF50040DF3CFE9FFF4CFEAFF700E1A |
:102E2000E926000EEA22EECF08F0EECF09F0EECF51 |
:102E30000AF0EFCF0BF0010EDBCF14F0020EDBCF68 |
:102E400015F0030EDBCF16F0040EDBCF17F014C025 |
:102E50002AF015C02BF016C02CF017C02DF029EC6D |
:102E600029F02BC010F02CC011F02DC012F02EC094 |
:102E700013F0306A316A326A4A0E336E10C02BF09A |
:102E800011C02CF012C02DF013C02EF0DBEC29F095 |
:102E90002BC00CF02CC00DF02DC00EF02EC00FF08A |
:102EA0000CC030F00DC031F00EC032F00FC033F066 |
:102EB00008C02BF009C02CF00AC02DF00BC02EF07A |
:102EC000DBEC29F02BC004F02CC005F02DC006F07F |
:102ED0002EC007F0306A316A800E326E400E336EBB |
:102EE00004C02BF005C02CF006C02DF007C02EF05A |
:102EF000DBEC29F02BC000F02CC001F02DC002F05B |
:102F00002EC003F0050EDBCF20F0060EDBCF21F044 |
:102F1000070EDBCF22F0080EDBCF23F020C02AF013 |
:102F200021C02BF022C02CF023C02DF02BEC29F077 |
:102F30002BC01CF02CC01DF02DC01EF02EC01FF0A9 |
:102F4000306A316A326A4A0E336E1CC02BF01DC0E3 |
:102F50002CF01EC02DF01FC02EF0DBEC29F02BC092 |
:102F600018F02CC019F02DC01AF02EC01BF018C09C |
:102F700030F019C031F01AC032F01BC033F000C07D |
:102F80002BF001C02CF002C02DF003C02EF045EC58 |
:102F900029F0090E2BC0DBFF0A0E2CC0DBFF0B0E45 |
:102FA0002DC0DBFF0C0E2EC0DBFF090EDBCF0CF0BB |
:102FB0000A0EDBCF0DF00B0EDBCF0EF00C0EDBCFCD |
:102FC0000FF0DAC12AF0DBC12BF0DCC12CF0DDC13F |
:102FD0002DF02BEC29F02BC014F02CC015F02DC0D7 |
:102FE00016F02EC017F0306A316A326A4A0E336E1C |
:102FF00014C02BF015C02CF016C02DF017C02EF009 |
:10300000DBEC29F02BC010F02CC011F02DC012F019 |
:103010002EC013F010C030F011C031F012C032F0E9 |
:1030200013C033F00CC02BF00DC02CF00EC02DF0EF |
:103030000FC02EF044EC29F02BC008F02CC009F092 |
:103040002DC00AF02EC00BF0D6C12AF0D7C12BF04C |
:10305000D8C12CF0D9C12DF029EC29F02BC01CF0DF |
:103060002CC01DF02DC01EF02EC01FF0306A316A3A |
:10307000326A4A0E336E1CC02BF01DC02CF01EC0ED |
:103080002DF01FC02EF0DBEC29F02BC018F02CC067 |
:1030900019F02DC01AF02EC01BF018C030F019C066 |
:1030A00031F01AC032F01BC033F008C02BF009C059 |
:1030B0002CF00AC02DF00BC02EF02EEC2AF02BC005 |
:1030C00004F02CC005F02DC006F02EC007F0306AC9 |
:1030D000316A800E326E400E336E04C02BF005C094 |
:1030E0002CF006C02DF007C02EF02EEC2AF02BC0DD |
:1030F00000F02CC001F02DC002F02EC003F0DF5014 |
:10310000040DF3CFE9FFF4CFEAFF700EE926000EBD |
:10311000EA2200C0EEFF01C0EEFF02C0EEFF03C0D6 |
:10312000EEFFDF50040DF3CFE9FFF4CFEAFF700E9E |
:10313000E926000EEA22EECFE6FFEECFE6FFEECF65 |
:10314000E6FFEFCFE6FFB7EC04F0E552E552E552BB |
:10315000E552F3CF00F0F4CF01F0EA6ADF34FE0B62 |
:10316000EA36E96E600EE926000EEA2200C0EEFFA4 |
:1031700001C0EDFFDF2A49D6DF6A070EDF5C01E3FD |
:10318000B3D1DF50040DF3CFE9FFF4CFEAFF9C0E7B |
:10319000E926000EEA22EECF08F0EECF09F0EECFDE |
:1031A0000AF0EFCF0BF0010EDBCF14F0020EDBCFF5 |
:1031B00015F0030EDBCF16F0040EDBCF17F014C0B2 |
:1031C0002AF015C02BF016C02CF017C02DF029ECFA |
:1031D00029F02BC010F02CC011F02DC012F02EC021 |
:1031E00013F0306A316A326A4A0E336E10C02BF027 |
:1031F00011C02CF012C02DF013C02EF0DBEC29F022 |
:103200002BC00CF02CC00DF02DC00EF02EC00FF016 |
:103210000CC030F00DC031F00EC032F00FC033F0F2 |
:1032200008C02BF009C02CF00AC02DF00BC02EF006 |
:10323000DBEC29F02BC004F02CC005F02DC006F00B |
:103240002EC007F0306A316A800E326E400E336E47 |
:1032500004C02BF005C02CF006C02DF007C02EF0E6 |
:10326000DBEC29F02BC000F02CC001F02DC002F0E7 |
:103270002EC003F0050EDBCF20F0060EDBCF21F0D1 |
:10328000070EDBCF22F0080EDBCF23F020C02AF0A0 |
:1032900021C02BF022C02CF023C02DF02BEC29F004 |
:1032A0002BC01CF02CC01DF02DC01EF02EC01FF036 |
:1032B000306A316A326A4A0E336E1CC02BF01DC070 |
:1032C0002CF01EC02DF01FC02EF0DBEC29F02BC01F |
:1032D00018F02CC019F02DC01AF02EC01BF018C029 |
:1032E00030F019C031F01AC032F01BC033F000C00A |
:1032F0002BF001C02CF002C02DF003C02EF045ECE5 |
:1033000029F0090E2BC0DBFF0A0E2CC0DBFF0B0ED1 |
:103310002DC0DBFF0C0E2EC0DBFF090EDBCF0CF047 |
:103320000A0EDBCF0DF00B0EDBCF0EF00C0EDBCF59 |
:103330000FF0DAC12AF0DBC12BF0DCC12CF0DDC1CB |
:103340002DF02BEC29F02BC014F02CC015F02DC063 |
:1033500016F02EC017F0306A316A326A4A0E336EA8 |
:1033600014C02BF015C02CF016C02DF017C02EF095 |
:10337000DBEC29F02BC010F02CC011F02DC012F0A6 |
:103380002EC013F010C030F011C031F012C032F076 |
:1033900013C033F00CC02BF00DC02CF00EC02DF07C |
:1033A0000FC02EF044EC29F02BC008F02CC009F01F |
:1033B0002DC00AF02EC00BF0D6C12AF0D7C12BF0D9 |
:1033C000D8C12CF0D9C12DF029EC29F02BC01CF06C |
:1033D0002CC01DF02DC01EF02EC01FF0306A316AC7 |
:1033E000326A4A0E336E1CC02BF01DC02CF01EC07A |
:1033F0002DF01FC02EF0DBEC29F02BC018F02CC0F4 |
:1034000019F02DC01AF02EC01BF018C030F019C0F2 |
:1034100031F01AC032F01BC033F008C02BF009C0E5 |
:103420002CF00AC02DF00BC02EF02EEC2AF02BC091 |
:1034300004F02CC005F02DC006F02EC007F0306A55 |
:10344000316A800E326E400E336E04C02BF005C020 |
:103450002CF006C02DF007C02EF02EEC2AF02BC069 |
:1034600000F02CC001F02DC002F02EC003F0DF50A0 |
:10347000040DF3CFE9FFF4CFEAFF9C0EE926000E1E |
:10348000EA2200C0EEFF01C0EEFF02C0EEFF03C063 |
:10349000EEFFDF50040DF3CFE9FFF4CFEAFF9C0EFF |
:1034A000E926000EEA22EECFE6FFEECFE6FFEECFF2 |
:1034B000E6FFEFCFE6FFB7EC04F0E552E552E55248 |
:1034C000E552F3CF00F0F4CF01F0EA6ADF34FE0BEF |
:1034D000EA36E96E8C0EE926000EEA2200C0EEFF05 |
:1034E00001C0EDFFDF2A49D60D0EE15C02E2E16A80 |
:1034F000E552E16EE552E7CFD9FF1200D9CFE6FFE2 |
:10350000E1CFD9FF040EE12601019F51090DF3CF50 |
:10351000E9FFF4CFEAFF0E0EE926010EEA22EE5291 |
:10352000020EEE1801E1ED5001E098D09F51090D17 |
:10353000F3CFE9FFF4CFEAFF0E0EE926010EEA22EF |
:10354000030EE926000EEA22EFCFDFFF9F51090D9F |
:10355000F3CFE9FFF4CFEAFF0E0EE926010EEA22CF |
:10356000030EE926000EEA22010EE926000EEA22E9 |
:10357000010EEFCFDBFF000EDFCF2CF0010EDBCF13 |
:103580002DF014EC29F02BC000F02CC001F02DC060 |
:1035900002F02EC003F0306A240E316E740E326ECB |
:1035A000490E336E00C02BF001C02CF002C02DF08C |
:1035B00003C02EF0DBEC29F02BC0CEF12CC0CFF1F4 |
:1035C0002DC0D0F12EC0D1F1020EDB6A030EDB6AF2 |
:1035D000020EDBCF00F0030EDBCF01F0020E005C29 |
:1035E000000E01582FE2D9CF00F0DACF01F0020E21 |
:1035F000DB500024E96E030EDB500120EA6EEF5031 |
:10360000E66E0A0EE76E020EDBCF02F0030EDBCF92 |
:1036100003F0E7500226000E0322010E0226000EE0 |
:10362000032202C0E6FF03C0E6FF60EC2DF0E55286 |
:10363000E552E5521DEC2EF0020EDB2A030E01E3EB |
:10364000DB2AC6D7550EE66E0A0EE66EE66A60EC19 |
:103650002DF0E552E552E5521DEC2EF0040EE15C32 |
:1036600002E2E16AE552E16EE552E7CFD9FF1200CE |
:10367000D9CFE6FFE1CFD9FFE652A09A6A6A686A1D |
:10368000160E6F6E9F0E6B6E7B0E696E6D8C6E6A82 |
:10369000010EE66EE66AE66A710EE66E0F0EE66EE3 |
:1036A000BBEC2DF0006E050EE15E00506D9CDF6AF4 |
:1036B000DF50006E016A080E005C000E015810E237 |
:1036C000DF50040DF3CFE9FFF4CFEAFF000EE92647 |
:1036D000040EEA22EE6AEE6AEE6AEE6ADF2AE8D7A4 |
:1036E000160E706E68A602D06896FCD70001CB6BF0 |
:1036F000D06BD16BD26B6D98DF6A020EDF5C18E283 |
:10370000EA6ADF34FE0BEA36E96EC30EE926000EE4 |
:10371000EA22EE6AED6AEA6ADF34FE0BEA36E96E07 |
:10372000BF0EE926000EEA22EE6AED6ADF2AE5D72F |
:103730000001080EC36F040EC46FB96BB86BE5527D |
:10374000E552E7CFD9FF1200D9CFE6FFE1CFD9FF8D |
:10375000E6520001B85116E106D06D6A696A0001AF |
:10376000B86BA19AA8D06D6A696A160E6F6E9F0E2B |
:103770006B6E7B0E696E6DB602D06D86FCD7000154 |
:10378000010EB86FB80508E16DBA06D0686A696ABB |
:1037900069806988020EB86F6850040B05E06950B3 |
:1037A000040B02E06894B7D86DA202D0A19A83D02E |
:1037B0006850010B12E06950010B0FE059DF000166 |
:1037C000040EB86F0401200E026F040E036F080E82 |
:1037D000016F006B8C0E001368906850100B05E0B1 |
:1037E0006950100B02E085D868986850400B13E0D0 |
:1037F0006950400B10E0010EE66EE66A000EE66EC0 |
:10380000E66A730EE66EE66A4BEC2CF0006E060E6E |
:10381000E15E0050689C6850200B04E06950200B6A |
:1038200001E04ED86850020B13E06950020B10E023 |
:10383000010EE66EE66A000EE66EE66AE6687F0E48 |
:10384000E66E4BEC2CF0006E060EE15E00506A6AEC |
:10385000040E0001E76EB819E8AE02D0E73402D0DA |
:10386000E750B85D02E2A19A26D069A623D0DF6AAC |
:10387000040EDF5C1FE268A61AD06CCFD8F0689601 |
:10388000780E0001D81502E15BD810D0000EE66E6C |
:10389000E66AD80EE66E000EE66E720EE66EE66A18 |
:1038A0004BEC2CF0006E060EE15E005001D002D011 |
:1038B000DF2ADED7A19AE552E552E7CFD9FF120001 |
:1038C00070A015D0BBC0E9FFBCC0EAFFEF50800874 |
:1038D0000DE1C3C0E9FFC4C0EAFFEF50840806E170 |
:1038E000BBC0E9FFBCC0EAFF8C0EEF6E7090689A17 |
:1038F0001200698468986D82000EE66EE66AE66ED4 |
:10390000E66A750EE66EE66A4BEC2CF0006E060E6B |
:10391000E15E00501200000EE66EE66AE66EE66AB0 |
:10392000740EE66EE66A4BEC2CF0006E060EE15E5D |
:1039300000506D92699468A402D06894FCD712007C |
:10394000D9CFE6FFE1CFD9FFE652FD0E0001D81531 |
:103950005AE17E0ED815E8407F0B040DF3CFBBF083 |
:10396000F4CFBCF0000EBB27040EBC23BBC0BDF0DF |
:10397000BCC0BEF0BD75BBC0E9FFBCC0EAFFEF50E4 |
:103980003C0BE842E8420D083CE1BBC0E9FFBCC08B |
:10399000EAFF020EE926000EEA22EECF00F0EFCF9A |
:1039A00001F0280E001802E1040E011828E1BBC046 |
:1039B000E9FFBCC0EAFF020EE926000EEA22200E53 |
:1039C000EE6E040EED6EDF6ADF50006E016A080EC7 |
:1039D000005C000E015813E2DF50EA6A280FE96E1E |
:1039E000040EEA22EF50E66EDF50EA6A200FE96E1D |
:1039F000040EEA22E552E750EF6EDF2AE5D70DD834 |
:103A000001D02ED805D0FD0ED815040801E14ED8FE |
:103A1000E552E552E7CFD9FF1200C3C0E9FFC4C0A9 |
:103A2000EAFFEF50800B05E0C3C0E9FFC4C0EAFF26 |
:103A3000EF6A0001C76BC86BCC6BCD6BCB6BB6D894 |
:103A4000000EE66EE66AE66EE66A030EE66EE66A6B |
:103A50004BEC2CF0006E060EE15E005087EF1FF07D |
:103A6000020E0001C85D02E1B2DB1FD06CD800017C |
:103A7000D9511AE1BDC0E9FFBEC0EAFFEE52080EFF |
:103A8000EF6EBDC0E9FFBEC0EAFF020EE926000EE0 |
:103A9000EA22200EEE6E040EED6EBDC0E9FFBEC040 |
:103AA000EAFF8C0EEF6E01D0D96B1200D9CFE6FF82 |
:103AB000E1CFD9FFE652C3C0E9FFC4C0EAFFEF502F |
:103AC000400B01E0010EDF6E0001C375080EB85D0A |
:103AD0000AE122C46EFF6E50000803E2100EB86FB8 |
:103AE00002D0040EB86FC80528E1C3C0E9FFC4C006 |
:103AF000EAFF020EE926000EEA22280EEE6E040E00 |
:103B0000ED6EDADA020E0001C75D07E1C3C0E9FF1E |
:103B1000C4C0EAFF840EEF6E0FD0DF5007E1C3C0D0 |
:103B2000E9FFC4C0EAFFC80EEF6E06D0C3C0E9FFCC |
:103B3000C4C0EAFF880EEF6E01D005D8E552E55209 |
:103B4000E7CFD9FF1200D9CFE6FFE1CFD9FF020EB0 |
:103B5000E1260001C86BC3C0E9FFC4C0EAFFEF6AF9 |
:103B6000040EC319006EC4C001F000C0DEFF01C026 |
:103B7000DDFFDECFE9FFDDCFEAFFEF6AD0AF0CD08B |
:103B8000D351D41107E005D0D4C0FAFF0001D351BE |
:103B9000F96EFADF0001D09F020EE15C02E2E16AF9 |
:103BA000E552E16EE552E7CFD9FF12000401205142 |
:103BB000600BE842E842E842E842E842000901E0DE |
:103BC00058D021510C0A54E00B0A43E00C0A35E0AE |
:103BD000010A26E00B0A22E0020A20E0030A1CE0A8 |
:103BE000080A10E0010A0CE00F0A08E0030A01E0ED |
:103BF0003FD00001CB8F080EB86F3BD0C7D839D06B |
:103C000083DB37D00001B90EC96F000ECA6FCB81BC |
:103C1000010ECC6FCB8F2DD019D92BD02BD829D01A |
:103C200024510001C96FCA6BBA0EC927000ECA23FE |
:103C3000CB81010ECC6FCB8F1CD00001CB8F040148 |
:103C40002451EA6ABA0FE96E000EEA2222C4EFFF9D |
:103C500010D0000EE66EE66AE66EE66A020EE66ECA |
:103C6000E66A4BEC2CF0006E060EE15E005001D0CF |
:103C700000D01200D9CFE6FFE1CFD9FF040EE12634 |
:103C80000401220510E120511F0B00090CE1000185 |
:103C9000CB8F030E0401215D04E10001010ED76FFB |
:103CA00002D00001D76B0401225166E120511F0BA5 |
:103CB000020862E124510F0B00095EE00001CB8F86 |
:103CC000040124BF10D024510F0BE96EEA6AD8908A |
:103CD000E936EA36BF0EE926000EEA22EECFDEFF15 |
:103CE000EDCFDDFF0FD024510F0BE96EEA6AD890BB |
:103CF000E936EA36C30EE926000EEA22EECFDEFFF1 |
:103D0000EDCFDDFF030E215D07E1DECFE9FFDDCF63 |
:103D1000EAFF840EEF6E30D024510F0B016A700F52 |
:103D2000006E0F0E0122020E00C0DBFF030E01C069 |
:103D3000DBFF020EDBCFE9FF030EDBCFEAFFEF90E4 |
:103D400024AF0DD0DECFE9FFDDCFEAFFEF6ADF74ED |
:103D5000DECFE9FFDDCFEAFF400EEF6E0DD0DECF04 |
:103D6000E9FFDDCFEAFF880EEF6EDF74DECFE9FFFB |
:103D7000DDCFEAFFC80EEF6E040EE15C02E2E16AFD |
:103D8000E552E16EE552E7CFD9FF1200800E040143 |
:103D9000205D5BE10001C00ECB6F04012351030ADB |
:103DA00034E0010A0EE0030A03E00001CB6B4DD0C2 |
:103DB0000001CA0EC96F590ECA6F120ECC6FCD6BBF |
:103DC00044D02251F66EF76AD890F636F736440E94 |
:103DD000F6265A0EF7220900F5CFC9F00A00F5CFF2 |
:103DE000CAF0020E0001F76AC925F66ECA51F72221 |
:103DF0000800F5CFCCF0030EF76AC925F66ECA515C |
:103E0000F7220800F5CFCDF020D0040E225D1AE293 |
:103E10002251F66EF76AD890F636F736460EF62639 |
:103E20005A0EF7220900F5CFC9F00A00F5CFCAF003 |
:103E3000C9C0F6FFCAC0F7FF0800F5500001CC6FFB |
:103E4000CD6B02D00001CB6B00D01200D9CFE6FFC2 |
:103E5000E1CFD9FF020EE1260401286B296B205126 |
:103E60001F0B020A12E0030A0DE0010A01E03BD039 |
:103E70000001CB8F040128810001D70502E1040174 |
:103E8000288331D00001CB8F2ED00001CB8F0401CD |
:103E900024BF10D024510F0BE96EEA6AD890E9369E |
:103EA000EA36BF0EE926000EEA22EECFDEFFEDCFA6 |
:103EB000DDFF0FD024510F0BE96EEA6AD890E93686 |
:103EC000EA36C30EE926000EEA22EECFDEFFEDCF82 |
:103ED000DDFFDECFE9FFDDCFEAFFEF50040B02E0AC |
:103EE000010E286F00D00001CBAF07D0280EC96F9C |
:103EF000040ECA6FCB81020ECC6F020EE15C02E2AF |
:103F0000E16AE552E16EE552E7CFD9FF12006D9804 |
:103F10000001CBBF4AD0D0AF28D0020EC86FC3C0BB |
:103F2000E9FFC4C0EAFFEE52EF6AC3C0E9FFC4C0B4 |
:103F3000EAFFC80EEF6EBDC0E9FFBEC0EAFFEE5259 |
:103F4000080EEF6EBDC0E9FFBEC0EAFF020EE92613 |
:103F5000000EEA22280EEE6E040EED6EBDC0E9FFE3 |
:103F6000BEC0EAFFC80EEF6E1FD0BDC0E9FFBEC0E5 |
:103F7000EAFFEE52080EEF6EBDC0E9FFBEC0EAFFD9 |
:103F8000020EE926000EEA22200EEE6E040EED6E01 |
:103F9000BDC0E9FFBEC0EAFF8C0EEF6EC3C0E9FFF3 |
:103FA000C4C0EAFF840EEF6E86D0D0BF84D0040177 |
:103FB00020AF59D00001CC510401265D0001CD5144 |
:103FC0000401275904E226C4CCF027C4CDF074D8EC |
:103FD0000001010EC86FBDC0E9FFBEC0EAFFEE528E |
:103FE000080EEF6EBDC0E9FFBEC0EAFF020EE92673 |
:103FF000000EEA22200EEE6E040EED6EBDC0E9FF4B |
:10400000BEC0EAFF800EEF6ED96BBBC0E9FFBCC03B |
:10401000EAFFEE52080EEF6EBBC0E9FFBCC0EAFF3C |
:10402000020EE926000EEA22200EEE6E040EED6E60 |
:10403000BBC0E9FFBCC0EAFF840EEF6E010ED96F72 |
:10404000C3C0E9FFC4C0EAFF020EE926000EEA225F |
:10405000280EEE6E040EED6EC3C0E9FFC4C0EAFF89 |
:10406000C80EEF6E28D00001020EC86FC3C0E9FF72 |
:10407000C4C0EAFFEE52EF6AC3C0E9FFC4C0EAFF62 |
:10408000C80EEF6EBDC0E9FFBEC0EAFFEE52080EDB |
:10409000EF6EBDC0E9FFBEC0EAFF020EE926000ECA |
:1040A000EA22280EEE6E040EED6EBDC0E9FFBEC022 |
:1040B000EAFFC80EEF6E1200D9CFE6FFE1CFD9FFBD |
:1040C000020EE1260001080ECC5D000ECD590EE275 |
:1040D000CCC0DEFFCDC0DDFFC75103E1010EC76FCD |
:1040E00004D0C70502E1020EC76F03D0080EDE6ED2 |
:1040F000DD6AC3C0E9FFC4C0EAFFEF92C3C0E9FFB5 |
:10410000C4C0EAFFEF90C3C0E9FFC4C0EAFF010EDC |
:10411000DB50EF12C3C0E9FFC4C0EAFFEE52DFCFAD |
:10412000EFFF000EDB50CC5F010EDB50CD5B280EA5 |
:10413000D56F040ED66FCBB121D0D9CFE9FFDACF3E |
:10414000EAFFEE50ED1019E0C9C0F6FFCAC0F7FF54 |
:10415000C92B000ECA230800F550E66ED5C0E9FF52 |
:10416000D6C0EAFFD52B000ED623E552E750EF6EFE |
:10417000DF06010E01E2DB06E0D71FD0D9CFE9FF51 |
:10418000DACFEAFFEE50ED1018E0C9C0E9FFCAC06F |
:10419000EAFFC92B000ECA23EF50E66ED5C0E9FF37 |
:1041A000D6C0EAFFD52B000ED623E552E750EF6EBE |
:1041B000DF06010E01E2DB06E1D7020EE15C02E25E |
:1041C000E16AE552E16EE552E7CFD9FF1200D9CF9F |
:1041D000E6FFE1CFD9FF020EE126BBC0E9FFBCC07C |
:1041E000EAFFEE52EFCFDFFFDFCF00F0005000011B |
:1041F000D15D000ED25902E2D1C0DFFFDF50006E68 |
:10420000016A0050D15DD16F0150D259D26F010EB9 |
:10421000DB6ADF50F36E010EDBCFF4FFF350F45C8A |
:1042200016E2010EDB50EA6A280FE96E040EEA225C |
:10423000EF50E66ECEC0E9FFCFC0EAFFCE2B000EF6 |
:10424000CF23E552E750EF6E010EDB2AE2D7000ED6 |
:10425000D880D155000ED25528E2BDC0E9FFBEC0BE |
:10426000EAFFEE52080EEF6EBDC0E9FFBEC0EAFFE6 |
:10427000020EE926000EEA22280EEE6E040EED6E06 |
:10428000BBC0E9FFBCC0EAFFEF50400B07E1BDC077 |
:10429000E9FFBEC0EAFFC80EEF6E06D0BDC0E9FF61 |
:1042A000BEC0EAFF880EEF6E25D0BDC0E9FFBEC0DC |
:1042B000EAFFEE52080EEF6EBDC0E9FFBEC0EAFF96 |
:1042C000020EE926000EEA22200EEE6E040EED6EBE |
:1042D000BDC0E9FFBEC0EAFF840EEF6ED351D4111A |
:1042E00007E005D0D4C0FAFF0001D351F96EFADF20 |
:1042F0000001D09F020EE15C02E2E16AE552E16E4C |
:10430000E552E7CFD9FF1200D9CFE6FFE1CFD9FFC1 |
:10431000E6520001CB8F010EE66EE66AE66A710E88 |
:10432000E66E0F0EE66EBBEC2DF0006E050EE15E44 |
:104330000050DF6ADF50006E016A080E005C000E5C |
:10434000015810E2DF50040DF3CFE9FFF4CFEAFF8C |
:10435000000EE926040EEA22EE6AEE6AEE6AEE6AC2 |
:10436000DF2AE8D76D8C010EE66EE66AE66ABA0EC1 |
:10437000E66E000EE66EBBEC2DF0006E050EE15E03 |
:1043800000506D9C0001080EC36F040EC46F000E38 |
:10439000BB6F040EBC6FBBC0BDF0BCC0BEF022C47E |
:1043A000B9F0B95103E1100EB86F13D0010EE66EEB |
:1043B000E66AB90EE66E000EE66E010EE66EE66A7D |
:1043C0004BEC2CF0006E060EE15E00500001200E5A |
:1043D000B86FE552E552E7CFD9FF1200D9CFE6FF1B |
:1043E000E1CFD9FF020EE126000EDE6E040EDD6E77 |
:1043F000FD0EDB50E824026EFE0EDB50040DF35080 |
:104400000224040DF350006E016A020E0F0B05E04A |
:10441000D89001320032E806FBE1D8900036013630 |
:10442000D89000360136D9CFE9FFDACFEAFF005045 |
:10443000EE260150ED22DECFE9FFDDCFEAFFEF9E51 |
:10444000FD0EDB500FE1FE0EEA6ADB34FE0BEA36AE |
:10445000E96EBF0EE926000EEA22DECFEEFFDDCFC9 |
:10446000EDFF0ED0FE0EEA6ADB34FE0BEA36E96E93 |
:10447000C30EE926000EEA22DECFEEFFDDCFEDFF10 |
:10448000DECFE9FFDDCFEAFFEF9CDECFE9FFDDCF36 |
:10449000EAFF040EE926000EEA22EF8C020EE15C30 |
:1044A00002E2E16AE552E16EE552E7CFD9FF120080 |
:1044B000D9CFE6FFE1CFD9FF020EE126FE0EDB5099 |
:1044C000016A700F006E0F0E012200C0DEFF01C0F6 |
:1044D000DDFFDECFE9FFDDCFEAFFFD0EDBCFEFFF33 |
:1044E000DBA407D0E66AFE0EDBCFE6FF77DFE552FE |
:1044F000E552FD0EDBA208D0010EE66EFE0EDBCF0C |
:10450000E6FF6CDFE552E552020EE15C02E2E16A91 |
:10451000E552E16EE552E7CFD9FF1200D9CFE6FFB1 |
:10452000E1CFD9FF020EE126FE0EDB5020E1BDC037 |
:10453000E9FFBEC0EAFFEE52080EEF6EBDC0E9FF14 |
:10454000BEC0EAFF020EE926000EEA22200EEE6E41 |
:10455000040EED6EBDC0E9FFBEC0EAFF8C0EEF6E2B |
:10456000C3C0E9FFC4C0EAFF840EEF6E3DD0FD0E6C |
:10457000DB50E824026EFE0EDB50040DF3500224E3 |
:10458000040DF3CF00F0F4CF01F0000E0026040E6E |
:10459000012200C0DEFF01C0DDFF840E006EDECF11 |
:1045A000E9FFDDCFEAFF0050EF12FD0EDB50E824FB |
:1045B000026EFE0EDB50040DF3500224010F040DB9 |
:1045C000F3CF00F0F4CF01F0000E0026040E01221C |
:1045D00000C0DEFF01C0DDFF840E006EDECFE9FF0C |
:1045E000DDCFEAFF0050EF12020EE15C02E2E16A69 |
:1045F000E552E16EE552E7CFD9FF1200D9CFE6FFD1 |
:10460000E1CFD9FF020EE126FD0EDB500FE0FE0EDA |
:10461000EA6ADB34FE0BEA36E96EC30EE926000EC9 |
:10462000EA22EECFDEFFEDCFDDFF0ED0FE0EEA6A0E |
:10463000DB34FE0BEA36E96EBF0EE926000EEA22F5 |
:10464000EECFDEFFEDCFDDFFD9CFE9FFDACFEAFF16 |
:10465000EE50ED1003E1F36AF46A49D0DECFE9FFD2 |
:10466000DDCFEAFF020EE926000EEA22FB0EDBCFC9 |
:10467000EEFFFC0EDBCFEDFFDECFE9FFDDCFEAFF83 |
:10468000EE52FA0EDBCFEFFF400E006EDECFE9FFF9 |
:10469000DDCFEAFF0050EF16880E006EDECFE9FF97 |
:1046A000DDCFEAFF0050EF12FD0EDB500CE0FE0EF6 |
:1046B000EA6ADB34FE0BEA36E96EC30EE926000E29 |
:1046C000EA22EF740BD0FE0EEA6ADB34FE0BEA3608 |
:1046D000E96EBF0EE926000EEA22EF74DECF00F08D |
:1046E000DDCF01F000C0F3FF01C0F4FF00D0020EE7 |
:1046F000E15C02E2E16AE552E16EE552E7CFD9FF03 |
:104700001200D9CFE6FFE1CFD9FF6DA84ED0FE0E43 |
:10471000EA6ADB34FE0BEA36E96EC30EE926000EC8 |
:10472000EA22EE50EFCFEAFFE96E400EEE16EE6A97 |
:10473000EE6AEE6AFE0EEA6ADB34FE0BEA36E96EDA |
:10474000C30EE926000EEA22EE50EFCFEAFFE96E33 |
:10475000EE7CFE0EEA6ADB34FE0BEA36E96EC30E2F |
:10476000E926000EEA22EF74400E006EFE0EEA6AA1 |
:10477000DB34FE0BEA36E96EC30EE926000EEA22B0 |
:10478000EE50EFCFEAFFE96E0050EF16FE0EEA6A38 |
:10479000DB34FE0BEA36E96EC30EE926000EEA2290 |
:1047A000EE50EFCFEAFFE96EEF7CE552E7CFD9FF9D |
:0247B0001200F5 |
:0E47B200D9CFE6FFE1CFD9FF0B0EE1260401BF |
:1047C0002051600BE842E842E842E842E842000932 |
:1047D00002E1C9EF28F021C402F10101025102E116 |
:1047E000BAEF28F0410A02E16DEF28F0010A02E178 |
:1047F00061EF28F07F0A02E153EF28F0020A02E19C |
:1048000049EF28F0010A02E105EF28F0070A01E16B |
:10481000D8D3010A01E1B2D3030A01E143D3190A53 |
:1048200001E115D3370A01E108D1010A01E1E6D01F |
:10483000030A01E1AFD0110A01E199D0060A01E1B2 |
:104840007ED0320A58E0010A56E0030A54E0010A19 |
:1048500052E0070A50E0010A4EE0650A2CE0010A26 |
:104860000DE0010103690001030EC96F010ECA6F5B |
:10487000CB81010ECC6FCB8FC9EF28F0220EDF6EFB |
:1048800081BC02D0000EDF9A81BE02D0000EDF9202 |
:1048900089A402D0DF8802D0000EDF98DFCF03F1B9 |
:1048A0000001030EC96F010ECA6FCB81010ECC6FE0 |
:1048B000CB8FC9EF28F0220EDF6E0401225103E0F6 |
:1048C0008984DF8803D08994000EDF9881BC02D0F0 |
:1048D000000EDF9A81BE02D0000EDF92DFCF03F11F |
:1048E0000001030EC96F010ECA6FCB81010ECC6FA0 |
:1048F000CB8FC9EF28F026C40BF127C40CF126C4D6 |
:10490000D1F027C4D2F00001A60ED36F510ED46FA0 |
:1049100001019E51090DF3CFE9FFF4CFEAFF0E0E1E |
:10492000E926010EEA22030EE926000EEA22E9CF6B |
:10493000CEF0EACFCFF00001D08FC9EF28F00D0EF6 |
:10494000F36E090EF3CFDBFF81BEDB8280B0DB8824 |
:1049500080B2DB8ADBCF03F10001030EC96F010EC9 |
:10496000CA6FCB81010ECC6FCB8FC9EF28F0090E37 |
:1049700022C4DBFF01010D510BE1090EDBA802D0BF |
:10498000898001D08990DBAA02D0898201D08992E6 |
:10499000C9EF28F0030E04012415E76E090EE7CFD6 |
:1049A000DBFF01010D510BE1090EDBA002D0898074 |
:1049B00001D08990DBA202D0898201D089928050F7 |
:1049C000010BE76E090EE7CFDBFF80A202D0DB828E |
:1049D00007D0DB92DB94DB96DB98DB9ADB9CDB9EDB |
:1049E000DBCF03F10101046B0001030EC96F010E5F |
:1049F000CA6FCB81020ECC6FCB8FCBD38050010B13 |
:104A0000E76E090EE7CFDBFF80A202D0DB8207D082 |
:104A1000DB92DB94DB96DB98DB9ADB9CDB9EDBCFC7 |
:104A200003F10101046B0001030EC96F010ECA6F8F |
:104A3000CB81020ECC6FCB8FACD3050E24C4DBFF31 |
:104A4000060E25C4DBFF050EDBCF00F0060EDBCF24 |
:104A500001F0000E005C010E01586FE2080EF36ECB |
:104A60000A0EF3CFDBFF0001600EC96F000ECA6FA4 |
:104A7000050EDBCF00F0060EDBCF01F0040E005C6C |
:104A8000000E015859E2050EDBCFE9FF060EDBCF21 |
:104A9000EAFF010ED890E936EA36E806FBE1600E3F |
:104AA000E926000EEA2222C4EEFF23C4EDFFD9500E |
:104AB000050FE96EDACFEAFF030EEE1801E1ED50C3 |
:104AC00039E0050EDBCFE9FF060EDBCFEAFF010E72 |
:104AD000D890E936EA36E806FBE1600EE926000EDA |
:104AE000EA22EECFE6FFEFCFE6FF1CEC04F0E55242 |
:104AF000E5522AC000F02BC001F02CC002F02DC0FE |
:104B000003F0050EDBCFE9FF060EDBCFEAFF020E56 |
:104B1000D890E936EA36E806FBE1700EE926000E89 |
:104B2000EA2200C0EEFF01C0EEFF02C0EEFF03C0AC |
:104B3000EEFF02D022C40DF17AD0100EF36E0A0EF1 |
:104B4000F3CFDBFF00018C0EC96F000ECA6F050E9C |
:104B5000DBCF00F0060EDBCF01F0000E005E010E91 |
:104B6000015A070E00C0DBFF080E01C0DBFF070E75 |
:104B7000DBCF00F0080EDBCF01F0005C000E015827 |
:104B800056E2070EDBCFE9FF080EDBCFEAFF010E8E |
:104B9000D890E936EA36E806FBE18C0EE926000EED |
:104BA000EA2222C4EEFF23C4EDFFD950070FE96EBD |
:104BB000DACFEAFF070EEE1801E1ED5038E0070EFC |
:104BC000DBCFE9FF080EDBCFEAFF010ED890E93614 |
:104BD000EA36E806FBE18C0EE926000EEA22EECF6B |
:104BE000E6FFEFCFE6FF1CEC04F0E552E5522AC0E9 |
:104BF00000F02BC001F02CC002F02DC003F0070E16 |
:104C0000DBCFE9FF080EDBCFEAFF020ED890E936D2 |
:104C1000EA36E806FBE19C0EE926000EEA2200C017 |
:104C2000EEFF01C0EEFF02C0EEFF03C0EEFF050E77 |
:104C3000DB6A060EDB6A050EDBCF00F0060EDBCF6B |
:104C400001F0040E005C000E015870E2050EDBCF8F |
:104C5000E9FF060EDBCFEAFF010ED890E936EA360F |
:104C6000E806FBE1600EE926000EEA22EF50E66E50 |
:104C7000050EDBCF00F0060EDBCF01F0010ED89061 |
:104C800000360136E806FBE1160E0026000E012272 |
:104C9000010E0026000E012200C0E6FF01C0E6FF63 |
:104CA00060EC2DF0E552E552E5521DEC2EF0050EBC |
:104CB000DBCFE9FF060EDBCFEAFF010ED890E93625 |
:104CC000EA36E806FBE1600EE926000EEA22010E54 |
:104CD000E926000EEA22EF50E66E050EDBCF00F06B |
:104CE000060EDBCF01F0010ED89000360136E80643 |
:104CF000FBE1160E0026000E0122010E0026000E1A |
:104D00000122010E0026000E012200C0E6FF01C0B4 |
:104D1000E6FF60EC2DF0E552E552E5521DEC2EF079 |
:104D2000050EDB2A060E01E3DB2A85D7070EDB6AB8 |
:104D3000080EDB6A070EDBCF00F0080EDBCF01F0B8 |
:104D4000005C000E015870E2070EDBCFE9FF080E91 |
:104D5000DBCFEAFF010ED890E936EA36E806FBE140 |
:104D60008C0EE926000EEA22EF50E66E070EDBCF2E |
:104D700000F0080EDBCF01F0010ED89000360136AE |
:104D8000E806FBE1160E0026000E0122110E002699 |
:104D9000000E012200C0E6FF01C0E6FF60EC2DF02E |
:104DA000E552E552E5521DEC2EF0070EDBCFE9FF90 |
:104DB000080EDBCFEAFF010ED890E936EA36E806A6 |
:104DC000FBE18C0EE926000EEA22010EE926000E18 |
:104DD000EA22EF50E66E070EDBCF00F0080EDBCFC5 |
:104DE00001F0010ED89000360136E806FBE1160E00 |
:104DF0000026000E0122110E0026000E0122010ED7 |
:104E00000026000E012200C0E6FF01C0E6FF60ECB4 |
:104E10002DF0E552E552E5521DEC2EF0070EDB2A8F |
:104E2000080E01E3DB2A86D7550EE66E160EE66EF7 |
:104E3000E66A60EC2DF0E552E552E5521DEC2EF0ED |
:104E40000A0EDBCFCCF00001CB81CB8FA2D122C4E4 |
:104E500001F116EC2EF0C580C5B0FED716EC2EF091 |
:104E600001010151E824E66E27EC2DF0E55223C440 |
:104E7000E6FF27EC2DF0E55224C4E6FF27EC2DF0E9 |
:104E8000E552C584C5B4FED716EC2EF00101036BC4 |
:104E90000001030EC96F010ECA6FCB81010ECC6FEA |
:104EA000CB8F77D1050EDB6A060EDB6A050EDBCFF2 |
:104EB00000F0060EDBCF01F0040E005C000E01587E |
:104EC0001FE2050EDBCFE9FF060EDBCFEAFFDA0EAD |
:104ED000E926010EEA22EF50E66E050EDBCFE9FF70 |
:104EE000060EDBCFEAFF030EE926010EEA22E552A9 |
:104EF000E750EF6E050EDB2A060E01E3DB2AD6D75C |
:104F0000050EDB6A060EDB6A050EDBCF00F0060E2F |
:104F1000DBCF01F0040E005C000E015825E2050E07 |
:104F2000DBCFE9FF060EDBCFEAFFD60EE926010E46 |
:104F3000EA22EF50E66E040EE76E050EDBCFE9FFC6 |
:104F4000060EDBCFEAFFE750E926000EEA22030E49 |
:104F5000E926010EEA22E552E750EF6E050EDB2A44 |
:104F6000060E01E3DB2AD0D70001030EC96F010E44 |
:104F7000CA6FCB81080ECC6FCB8F0BD1306A316AF0 |
:104F8000326A4A0E336ED2C12BF0D3C12CF0D4C199 |
:104F90002DF0D5C12EF02EEC2AF0E8EC2AF02AC034 |
:104FA000A1F12BC0A2F12CC0A3F12DC0A4F10001EE |
:104FB000A10EC96F010ECA6FCB81040ECC6FCB8FCF |
:104FC000E8D0306A240E316E740E326E490E336EA4 |
:104FD000CEC12BF0CFC12CF0D0C12DF0D1C12EF01D |
:104FE0002EEC2AF0B9EC2AF0030E2CC0DBFF040EE5 |
:104FF0002DC0DBFF0001D950030FC96FDACFCAF013 |
:10500000CB81020ECC6FCB8FC4D0050EDB6A060EAF |
:10501000DB6A050EDBCF00F0060EDBCF01F0040EDD |
:10502000005C000E01582BE2050EE76EDBCF00F0AE |
:10503000060EDBCF01F0E7500026000E0122010E24 |
:105040000026000E012200C0E6FF01C0E6FF85EC4D |
:105050002DF0E552E552E66E050EDBCFE9FF060EB8 |
:10506000DBCFEAFFA10EE926010EEA22E552E75066 |
:10507000EF6E050EDB2A060E01E3DB2ACAD700011C |
:10508000A10EC96F010ECA6FCB81040ECC6FCB8FFE |
:1050900080D00001A50EC96F010ECA6FCB81040E2E |
:1050A000CC6FCB8F76D022C401F1E7EC0AF000017F |
:1050B000AB0EC96F010ECA6FCB81060ECC6FCB8FC2 |
:1050C00068D00101036B0001030EC96F010ECA6FA6 |
:1050D000CB81010ECC6FCB8F5CD0FF0E0401225D23 |
:1050E0003BE1E668000EE66EE66A60EC2DF0E55204 |
:1050F000E552E5521DEC2EF0E668050EE66EE66A16 |
:1051000060EC2DF0E552E552E5521DEC2EF0E6681C |
:105110000A0EE66EE66A60EC2DF0E552E552E552C5 |
:105120001DEC2EF0E6680D0EE66EE66A60EC2DF0E2 |
:10513000E552E552E5521DEC2EF0E668160EE66EDD |
:10514000E66A60EC2DF0E552E552E5521DEC2EF0DA |
:105150000101550E016F02D022C401F10101036B60 |
:105160000001030EC96F010ECA6FCB81010ECC6F17 |
:10517000CB8F0FD00101040E036F100E046F0001DE |
:10518000030EC96F010ECA6FCB81020ECC6FCB8F9D |
:1051900000D00B0EE15C02E2E16AE552E16EE552FD |
:1051A000E7CFD9FF1200100E0101A05D08E3010155 |
:1051B0009F2B100E9F5D01E39F6B0101A007010172 |
:1051C0009E51090DF3CFE9FFF4CFEAFF0E0EE92659 |
:1051D000010EEA2202C1EFFF9E51090DF3CFE9FF54 |
:1051E000F4CFEAFF0E0EE926010EEA22EE520BC1C1 |
:1051F000EEFF0CC1EDFF9E2B100E9E5D01E39E6B3A |
:065200000101A02B1200C9 |
:0A520600259E05D0259E2DAE02D096 |
:105210002D6C258E2DC027F0266A376A366A860ED9 |
:10522000286E296AA2EF2BF0259E08D0259E2DAE70 |
:1052300005D02C6C2D1EE86A2D22258E2DC027F05E |
:105240002CC026F0376A366A8E0E286E296AA2EFC5 |
:105250002BF0259E0CD0259E2DAE09D02A6C2B1E3E |
:105260002C1E2D1EE86A2B222C222D22258E2DC0CD |
:1052700027F02CC026F02BC037F02AC036F09E0E47 |
:10528000286E296AA2EF2BF0337E256ADEEC2BF024 |
:10529000F6EC2BF025B686EF2BF025A20AD025AA36 |
:1052A00003D025BE86EF2BF025A492EF2BF08FEFD5 |
:1052B0002BF025AA05D025AC92EF2BF08FEF2BF029 |
:1052C00025A00AD025A808D025BE04D025A402D048 |
:1052D0009BEF2BF09FEF2BF0366A296A33502E5C40 |
:1052E000356E10E32BC037F02CC026F02DC027F010 |
:1052F0002EC034F030C02BF031C02CF032C02DF075 |
:10530000253A09D030C037F031C026F032C027F03E |
:1053100033C034F0356C259E25BC258E34C028F072 |
:1053200025B0CEEF2BF01A0E3560CEEF2BF0286AA9 |
:105330002E6A25A408D02B6C2C1E2D1E2E1EE86A6A |
:105340002C222D222E2225AC08D0376C261E271E9B |
:10535000281EE86A2622272228222A6A355207E0D8 |
:105360002E342D322C322B322A32352EF9D72B50B7 |
:1053700037262C5026222D5027222E5028222AC094 |
:1053800036F0259E28AE0BD0366C371E261E271E03 |
:10539000281EE86A3722262227222822258E28A0C6 |
:1053A00006D0D8802732263237323632342A34C0FB |
:1053B00028F0A2EF2BF0256ADEEC2BF0F6EC2BF0B8 |
:1053C00025B686EF2BF025A205D025BA86EF2BF067 |
:1053D0008DEF2BF025BA99EF2BF025A005D025B83D |
:1053E00086EF2BF099EF2BF025B88DEF2BF0296A83 |
:1053F0007F0E2E24286EE86A29223350285EE86A40 |
:10540000295A1A0E346E2E6A366A376A266A276A55 |
:1054100030502B5E31502C5A32502D5A000E2E5ADD |
:1054200009E730502B2631502C2232502D22000E0D |
:105430002E2201D0368AD8902B362C362D362E3699 |
:10544000D8903636373626362736342EE1D72D50CB |
:105450002C102B10D8A4368AA2EF2BF0256ADEEC94 |
:105460002BF0F6EC2BF025B686EF2BF025A205D01D |
:1054700025B886EF2BF08DEF2BF025AA05D025B0AF |
:1054800086EF2BF08DEF2BF025B002D025A802D0AF |
:1054900099EF2BF0296A33502E24286EE86A2922CE |
:1054A0007E0E285EE86A295A366A376A266A276AB3 |
:1054B00032502D02F4CF27F0F3CF26F031502D02D9 |
:1054C000F3503726F4502622000E272232502C02A9 |
:1054D000F3503726F4502622000E272230502D029A |
:1054E000F3503626F4503722000E26222722315060 |
:1054F0002C02F3503626F4503722000E26222722A3 |
:1055000032502B02F3503626F4503722000E26225A |
:10551000272230502C02F4503626000E3722262245 |
:10552000272231502B02F4503626000E3722262235 |
:105530002722A2EF2BF02CC036F02C503102F4CFF2 |
:105540002BF0F3CF2AF02D503202F4CF2DF0F3CF11 |
:105550002CF03102F3502B26F4502C22E86A2D2235 |
:1055600036503202F3502B26F4502C22E86A2D22BA |
:10557000000C256ADEEC2BF025B6C3EF2AF025A23D |
:105580000ED025B405D07F0E2D6EFF0E2C6E1FD0D1 |
:10559000800E2D6E2C6A1BD02D6A2C6A18D025B077 |
:1055A000FBD78F0E2E60EDD77E0E2E64F5D78E0EB4 |
:1055B0002E5C05E0D8902D322C322E2AF8D725A467 |
:1055C00006D02C6C2D1EE86A2D222DAEE5D71200D8 |
:1055D000256ADEEC2BF025B6F2EF2AF025A20FD0DB |
:1055E00025B407D07F0E2D6EFF0E2C6E2B6E2A6E0B |
:1055F00025D0800E2D6E01D02D6A000EF6D725B075 |
:10560000FBD72A6A9F0E2E60EBD77E0E2E64F4D74E |
:105610009E0E2E5C07E0D8902D322C322B322A328F |
:105620002E2AF6D725A40AD02A6C2B1E2C1E2D1E3E |
:10563000E86A2B222C222D222DAEDED7120031EC6F |
:105640002BF025B6000C25B0000C25B4000C010C85 |
:1056500031EC2BF025B6000C25B0000C25A4000C75 |
:10566000010C256ADEEC2BF0F6EC2BF025B61200CF |
:1056700025AE08D025A004D025A802D02580120090 |
:105680002590120033502E5C0BE132502D5C08E166 |
:1056900031502C5C05E130502B5C02E1258012007A |
:1056A000D8A002D0258E10D02E5033C02EF0336EED |
:1056B0002D5032C02DF0326E2C5031C02CF0316E96 |
:1056C0002B5030C02BF0306E33502E5C10E0FF0FAB |
:1056D00009E0259025B403D025AE2584120025AE1F |
:1056E00025941200332AD890323231323032305081 |
:1056F0002B5E31502C5A32502D5A2DBEEAD7D890FD |
:105700002B362C362D362E2EF8D7C8D77F0E2E6E80 |
:10571000FF0E2D6E2C6E2B6E12007F0E25BEFF0E1F |
:105720002E6E02D07F0E2E6E800E2D6E2C6A2B6A8E |
:10573000F3D725AE04D0800E2E6E2D6AF7D72E6AD1 |
:105740002D6AF4D72750261037103610F8E029BEFE |
:10575000F0D727BE0CD028502910EBE0D890363671 |
:105760003736263627362806D8A02906F2D72950FC |
:10577000D4E12828D2E036AE11D07F0E361402E1F3 |
:1057800037A00CD0372AE86A2622272207E3D880E0 |
:10579000273226323732282A2828BFE02850C9E08D |
:1057A00037C02BF026C02CF027342D6E28302E6EFB |
:1057B0002D322E9E25BE2E8E8CEF2BF02D362E36C2 |
:1057C00002E32584257E06E125802E6A2D6A2C6A57 |
:1057D0002B6A12002E2803E0D8802D321200D890B8 |
:1057E0002D3202E125821200258612003236333630 |
:1057F00002E3258C257E06E12588336A326A316A08 |
:10580000306A1200332803E0D88032321200D89078 |
:085810003232EAE1258A1200A0 |
:08581800DACFE4FFE2CFDAFF72 |
:10582000E652E552E5CFDAFF1100D8CFE4FFE0CF32 |
:10583000E4FFE46EDACFE4FFE2CFDAFFE652E552AE |
:10584000E5CFDAFFE550E5CFE0FFE5CFD8FF100068 |
:1058500006D8A4EC1BF004EC0AF0FBD712000F0EE4 |
:10586000C1125CEC05F038EF1BF0120012001200C0 |
:105870001200D9EF23F0120012006D840101080E0E |
:10588000EE6F070EEF6FEE07000EEF5BEE51EF11BC |
:10589000FAE16D941200D9CFE6FFE1CFD9FFFD0EFA |
:1058A000DBCF2CF0FE0EDBCF2DF0720E2C1801E1B9 |
:1058B0002D5033E0E8682C1802E17F0E2D182BE004 |
:1058C000740E2C1801E12D5024E0750E2C1801E106 |
:1058D0002D501DE0730E2C1801E12D5016E0030E23 |
:1058E0002C1801E12D500FE0020E2C1801E12D5073 |
:1058F00008E0010E2C1801E12D5001E010D0BCDFB2 |
:105900000FD0B9DF0DD0B5DF0BD0B1DF09D0ADDFDF |
:1059100007D0ACDF05D0ACDF03D0000001D000D051 |
:0C592000010E00D0E552E7CFD9FF1200C5 |
:04592C002A0EF66EDB |
:10593000080EF76E000EF86E01010900F550E46FD5 |
:105940000900F550E56F03E1E46701D03DD009009F |
:10595000F550DF6F0900F550E06F0900F550E16F79 |
:1059600009000900F550E96E0900F550EA6E0900DA |
:1059700009000900F550E26F0900F550E36F0900D6 |
:105980000900F6CFE6F1F7CFE7F1F8CFE8F1DFC194 |
:10599000F6FFE0C1F7FFE1C1F8FF0101E25302E1C8 |
:1059A000E35307E00900F550EE6EE207F8E2E30783 |
:1059B000F9D7E6C1F6FFE7C1F7FFE8C1F8FF01013B |
:0A59C000E407000EE55BBFD71200FC |
:0659CA00120100020000C2 |
:1059D0000008C016DC0500000102030109022000D6 |
:1059E000010100C0320904000002000000000705A8 |
:1059F000010240000107058102400001040309047F |
:105A00001A037700770077002E006F0062006400B1 |
:105A1000650076002E006100740016034400470004 |
:105A200038005300410051002D004900320043006E |
:105A300014035400460033004C004A002D0031008E |
:0E5A40002E003000DC59FC59005A1A5A305A18 |
:025A4E00D9CFAE |
:105A5000E6FFDACFE6FFE1CFD9FFE2CFDAFFFD0EB6 |
:105A6000DB50C96EC6AE02D0FF0E24D00F0EC61496 |
:105A700008080FE00F0EC6140B080BE0C6889EA6A0 |
:105A8000FED7C750040B03E1C750010B10E0000E16 |
:105A900011D00F0EC614080804E00F0EC6140B0830 |
:105AA00009E1C7B0FED716EC2EF0C5AC02D0FE0E51 |
:105AB00001D0000EE552E5CFDAFFE7CFD9FF1200A3 |
:105AC000D9CFE6FFDACFE6FFE1CFD9FFE2CFDAFFA9 |
:105AD000FF0EE76EFC0EDBCF00F0E7500016005023 |
:105AE000A96EFB0EDB50A86EA69EA69CA684F29E15 |
:105AF000550EA76EAA0EA76EA682F28EA694E55248 |
:0A5B0000E5CFDAFFE7CFD9FF12006E |
:065B0A00D9CFE6FFDACF5F |
:105B1000E6FFE1CFD9FFE2CFDAFFFF0EE76EFC0E22 |
:105B2000DBCF00F0E75000160050A96EA69CA69EA1 |
:105B3000A680A850E552E5CFDAFFE7CFD9FF1200E3 |
:105B4000D9CFE6FFDACFE6FFE1CFD9FFE2CFDAFF28 |
:105B50003F0EC716C66AC56AFD0EDB50C612FC0EA4 |
:105B6000DB50C71293829380C68AE552E5CFDAFFF5 |
:065B7000E7CFD9FF12008F |
:0A5B7600FE0EE3CFE9FFFF0EE3CFC0 |
:105B8000EAFFE9CFF3FFEACFF4FFFB0EE35003E1B6 |
:105B9000FC0EE35009E0FB0EE30602E2FC0EE30616 |
:0A5BA000FD0EE350EE6EF1D7120087 |
:065BAA00296A286A100EB2 |
:105BB000E76ED8902C362D36283629363150285CA1 |
:105BC0003250295805E33150285E3250295A2C2A88 |
:065BD000E72EF0D71200E1 |
:0A5BD600000EF36E00EE00F0040E66 |
:105BE00001D81200EA6002D0EE6AFCD7F350E960F7 |
:065BF0001200EE6AFCD772 |
:0A5BF60013EE00F023EE00F0F86A51 |
:105C0000259C96EC2CF020EC2EF028EC2CF0FBD709 |
:025C1000120080 |
:0E5C12000F0EC614080804E00F0EC6140B088F |
:0C5C200001E1C586C7A0FED7C9501200E4 |
:045C2C001F0EC5146E |
:0A5C3000FDE1C750040BFAE1120079 |
:065C3A00A6B2FED7120025 |
:025C4000120050 |
:055C420000000100005C |
:020000040030CA |
:0100000024DB |
:010001000EF0 |
:010002003FBE |
:010003001EDE |
:010005008179 |
:010006008178 |
:010008000FE8 |
:01000900C036 |
:01000A000FE6 |
:01000B00A054 |
:01000C000FE4 |
:01000D0040B2 |
:0200000400F00A |
:10000000FF00000000FF00000000FF0000FF0000F4 |
:10001000000000000000FF000000000000000000E1 |
:1000200000000000000000000000000000000000D0 |
:080030000000000000000001C7 |
:00000001FF |
/Modules/Clock/CLKGEN01A/SW/DG8SAQ synthesiser_Emulator/USB Device - MCHPUSB - Generic Driver - C18 - PIC18F4550.mcp |
---|
0,0 → 1,130 |
[HEADER] |
magic_cookie={66E99B07-E706-4689-9E80-9B2582898A13} |
file_version=1.0 |
device=PIC18F4550 |
[PATH_INFO] |
BuildDirPolicy=BuildDirIsProjectDir |
dir_src= |
dir_bin= |
dir_tmp=.\Objects\USB Device - Generic Driver Demo - C18 - PICDEM FSUSB |
dir_sin= |
dir_inc=C:\library\Microchip\Include\USB;C:\library\Microchip\USB;C:\library\Microchip\Include;. |
dir_lib=C:\Program Files\Microchip\MCC18\lib |
dir_lkr= |
[CAT_FILTERS] |
filter_src=*.asm;*.c |
filter_inc=*.h;*.inc |
filter_obj=*.o |
filter_lib=*.lib |
filter_lkr=*.lkr |
[CAT_SUBFOLDERS] |
subfolder_src=USB Stack |
subfolder_inc=Common;USB Stack |
subfolder_obj= |
subfolder_lib= |
subfolder_lkr= |
[FILE_SUBFOLDERS] |
file_000=. |
file_001=. |
file_002=. |
file_003=. |
file_004=USB Stack |
file_005=USB Stack |
file_006=USB Stack |
file_007=. |
file_008=. |
file_009=. |
file_010=Common |
file_011=Common |
file_012=USB Stack |
file_013=USB Stack |
file_014=USB Stack |
file_015=USB Stack |
file_016=USB Stack |
file_017=USB Stack |
file_018=USB Stack |
file_019=. |
file_020=. |
[GENERATED_FILES] |
file_000=no |
file_001=no |
file_002=no |
file_003=no |
file_004=no |
file_005=no |
file_006=no |
file_007=no |
file_008=no |
file_009=no |
file_010=no |
file_011=no |
file_012=no |
file_013=no |
file_014=no |
file_015=no |
file_016=no |
file_017=no |
file_018=no |
file_019=no |
file_020=no |
[OTHER_FILES] |
file_000=no |
file_001=no |
file_002=no |
file_003=no |
file_004=no |
file_005=no |
file_006=no |
file_007=no |
file_008=no |
file_009=no |
file_010=no |
file_011=no |
file_012=no |
file_013=no |
file_014=no |
file_015=no |
file_016=no |
file_017=no |
file_018=no |
file_019=no |
file_020=no |
[FILE_INFO] |
file_000=user.c |
file_001=main.c |
file_002=usb_descriptors.c |
file_003=UBW-I2C.c |
file_004=C:\library\Microchip\USB\usb_device.c |
file_005=C:\library\Microchip\Include\USB\usb_device.h |
file_006=C:\library\Microchip\Include\USB\usb_function_generic.h |
file_007=HardwareProfile.h |
file_008=user.h |
file_009=usb_config.h |
file_010=C:\library\Microchip\Include\GenericTypeDefs.h |
file_011=C:\library\Microchip\Include\Compiler.h |
file_012=C:\library\Microchip\Include\USB\usb_hal_pic18.h |
file_013=C:\library\Microchip\Include\USB\usb.h |
file_014=C:\library\Microchip\Include\USB\usb_ch9.h |
file_015=C:\library\Microchip\Include\USB\usb_common.h |
file_016=C:\library\Microchip\Include\USB\usb_device.h |
file_017=C:\library\Microchip\Include\USB\usb_function_generic.h |
file_018=C:\library\Microchip\Include\USB\usb_hal.h |
file_019=HardwareProfile - PICDEM FSUSB.h |
file_020=rm18f4550.lkr |
[SUITE_INFO] |
suite_guid={5B7D72DD-9861-47BD-9F60-2BE967BF8416} |
suite_state= |
[TOOL_SETTINGS] |
TS{DD2213A8-6310-47B1-8376-9430CDFC013F}= |
TS{BFD27FBA-4A02-4C0E-A5E5-B812F3E7707C}=/m"$(BINDIR_)$(TARGETBASE).map" /w /o"$(TARGETBASE).cof" |
TS{C2AF05E7-1416-4625-923D-E114DB6E2B96}=-Ou- -Ot- -Ob- -Op- -Or- -Od- -Opa- |
TS{ADE93A55-C7C7-4D4D-A4BA-59305F7D0391}= |
[INSTRUMENTED_TRACE] |
enable=0 |
transport=0 |
format=0 |
[CUSTOM_BUILD] |
Pre-Build= |
Pre-BuildEnabled=1 |
Post-Build= |
Post-BuildEnabled=1 |
/Modules/Clock/CLKGEN01A/SW/DG8SAQ synthesiser_Emulator/USB Device - MCHPUSB - Generic Driver - C18 - PIC18F4550.mcw |
---|
Cannot display: file marked as a binary type. |
svn:mime-type = application/octet-stream |
Property changes: |
Added: svn:mime-type |
+application/octet-stream |
\ No newline at end of property |
/Modules/Clock/CLKGEN01A/SW/DG8SAQ synthesiser_Emulator/main.c |
---|
0,0 → 1,1020 |
/******************************************************************** |
FileName: main.c |
Dependencies: See INCLUDES section |
Processor: PIC18 or PIC24 USB Microcontrollers |
Hardware: The code is natively intended to be used on the following |
hardware platforms: PICDEM FS USB Demo Board, |
PIC18F87J50 FS USB Plug-In Module, or |
Explorer 16 + PIC24 USB PIM. The firmware may be |
modified for use on other USB platforms by editing the |
HardwareProfile.h file. |
Complier: Microchip C18 (for PIC18) or C30 (for PIC24) |
Company: Microchip Technology, Inc. |
Software License Agreement: |
The software supplied herewith by Microchip Technology Incorporated |
(the Company) for its PIC® Microcontroller is intended and |
supplied to you, the Companys customer, for use solely and |
exclusively on Microchip PIC Microcontroller products. The |
software is owned by the Company and/or its supplier, and is |
protected under applicable copyright laws. All rights are reserved. |
Any use in violation of the foregoing restrictions may subject the |
user to criminal sanctions under applicable laws, as well as to |
civil liability for the breach of the terms and conditions of this |
license. |
THIS SOFTWARE IS PROVIDED IN AN AS IS CONDITION. NO WARRANTIES, |
WHETHER EXPRESS, IMPLIED OR STATUTORY, INCLUDING, BUT NOT LIMITED |
TO, IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A |
PARTICULAR PURPOSE APPLY TO THIS SOFTWARE. THE COMPANY SHALL NOT, |
IN ANY CIRCUMSTANCES, BE LIABLE FOR SPECIAL, INCIDENTAL OR |
CONSEQUENTIAL DAMAGES, FOR ANY REASON WHATSOEVER. |
******************************************************************** |
File Description: |
Change History: |
Rev Date Description |
1.0 11/19/2004 Initial release |
2.1 02/26/2007 Updated for simplicity and to use common |
coding style |
********************************************************************/ |
/** INCLUDES *******************************************************/ |
#include "USB/usb.h" |
#include "USB/usb_function_generic.h" |
#include "user.h" // Modifiable |
#include "HardwareProfile.h" |
/** CONFIGURATION **************************************************/ |
#if defined(PICDEM_FS_USB) // Configuration bits for PICDEM FS USB Demo Board (based on PIC18F4550) |
#pragma config PLLDIV = 5 // (20 MHz crystal on PICDEM FS USB board) |
#pragma config CPUDIV = OSC1_PLL2 |
#pragma config USBDIV = 2 // Clock source from 96MHz PLL/2 |
#pragma config FOSC = HSPLL_HS |
#pragma config FCMEN = OFF |
#pragma config IESO = OFF |
#pragma config PWRT = OFF |
#pragma config BOR = ON |
#pragma config BORV = 3 |
#pragma config VREGEN = ON //USB Voltage Regulator |
#pragma config WDT = OFF |
#pragma config WDTPS = 32768 |
#pragma config MCLRE = ON |
#pragma config LPT1OSC = OFF |
#pragma config PBADEN = OFF |
// #pragma config CCP2MX = ON |
#pragma config STVREN = ON |
#pragma config LVP = OFF |
// #pragma config ICPRT = OFF // Dedicated In-Circuit Debug/Programming |
#pragma config XINST = OFF // Extended Instruction Set |
#pragma config CP0 = OFF |
#pragma config CP1 = OFF |
// #pragma config CP2 = OFF |
// #pragma config CP3 = OFF |
#pragma config CPB = OFF |
// #pragma config CPD = OFF |
#pragma config WRT0 = OFF |
#pragma config WRT1 = OFF |
// #pragma config WRT2 = OFF |
// #pragma config WRT3 = OFF |
#pragma config WRTB = OFF // Boot Block Write Protection |
#pragma config WRTC = OFF |
// #pragma config WRTD = OFF |
#pragma config EBTR0 = OFF |
#pragma config EBTR1 = OFF |
// #pragma config EBTR2 = OFF |
// #pragma config EBTR3 = OFF |
#pragma config EBTRB = OFF |
#elif defined(PIC18F87J50_PIM) // Configuration bits for PIC18F87J50 FS USB Plug-In Module board |
#pragma config XINST = OFF // Extended instruction set |
#pragma config STVREN = ON // Stack overflow reset |
#pragma config PLLDIV = 3 // (12 MHz crystal used on this board) |
#pragma config WDTEN = OFF // Watch Dog Timer (WDT) |
#pragma config CP0 = OFF // Code protect |
#pragma config CPUDIV = OSC1 // OSC1 = divide by 1 mode |
#pragma config IESO = OFF // Internal External (clock) Switchover |
#pragma config FCMEN = OFF // Fail Safe Clock Monitor |
#pragma config FOSC = HSPLL // Firmware must also set OSCTUNE<PLLEN> to start PLL! |
#pragma config WDTPS = 32768 |
// #pragma config WAIT = OFF // Commented choices are |
// #pragma config BW = 16 // only available on the |
// #pragma config MODE = MM // 80 pin devices in the |
// #pragma config EASHFT = OFF // family. |
#pragma config MSSPMSK = MSK5 |
// #pragma config PMPMX = DEFAULT |
// #pragma config ECCPMX = DEFAULT |
#pragma config CCP2MX = DEFAULT |
#elif defined(PIC18F46J50_PIM) || defined(PIC18F_STARTER_KIT_1) |
#pragma config WDTEN = OFF //WDT disabled (enabled by SWDTEN bit) |
#pragma config PLLDIV = 3 //Divide by 3 (12 MHz oscillator input) |
#pragma config STVREN = ON //stack overflow/underflow reset enabled |
#pragma config XINST = OFF //Extended instruction set disabled |
#pragma config CPUDIV = OSC1 //No CPU system clock divide |
#pragma config CP0 = OFF //Program memory is not code-protected |
#pragma config OSC = HSPLL //HS oscillator, PLL enabled, HSPLL used by USB |
#pragma config T1DIG = ON //Sec Osc clock source may be selected |
#pragma config LPT1OSC = OFF //high power Timer1 mode |
#pragma config FCMEN = OFF //Fail-Safe Clock Monitor disabled |
#pragma config IESO = OFF //Two-Speed Start-up disabled |
#pragma config WDTPS = 32768 //1:32768 |
#pragma config DSWDTOSC = INTOSCREF //DSWDT uses INTOSC/INTRC as clock |
#pragma config RTCOSC = T1OSCREF //RTCC uses T1OSC/T1CKI as clock |
#pragma config DSBOREN = OFF //Zero-Power BOR disabled in Deep Sleep |
#pragma config DSWDTEN = OFF //Disabled |
#pragma config DSWDTPS = 8192 //1:8,192 (8.5 seconds) |
#pragma config IOL1WAY = OFF //IOLOCK bit can be set and cleared |
#pragma config MSSP7B_EN = MSK7 //7 Bit address masking |
#pragma config WPFP = PAGE_1 //Write Protect Program Flash Page 0 |
#pragma config WPEND = PAGE_0 //Start protection at page 0 |
#pragma config WPCFG = OFF //Write/Erase last page protect Disabled |
#pragma config WPDIS = OFF //WPFP[5:0], WPEND, and WPCFG bits ignored |
#elif defined(LOW_PIN_COUNT_USB_DEVELOPMENT_KIT) |
// PIC18F14K50 |
#pragma config CPUDIV = NOCLKDIV |
#pragma config USBDIV = OFF |
#pragma config FOSC = HS |
#pragma config PLLEN = ON |
#pragma config FCMEN = OFF |
#pragma config IESO = OFF |
#pragma config PWRTEN = OFF |
#pragma config BOREN = OFF |
#pragma config BORV = 30 |
#pragma config WDTEN = OFF |
#pragma config WDTPS = 32768 |
#pragma config MCLRE = OFF |
#pragma config HFOFST = OFF |
#pragma config STVREN = ON |
#pragma config LVP = OFF |
#pragma config XINST = OFF |
#pragma config BBSIZ = OFF |
#pragma config CP0 = OFF |
#pragma config CP1 = OFF |
#pragma config CPB = OFF |
#pragma config WRT0 = OFF |
#pragma config WRT1 = OFF |
#pragma config WRTB = OFF |
#pragma config WRTC = OFF |
#pragma config EBTR0 = OFF |
#pragma config EBTR1 = OFF |
#pragma config EBTRB = OFF |
#elif defined(EXPLORER_16) |
#ifdef __PIC24FJ256GB110__ //Defined by MPLAB when using 24FJ256GB110 device |
_CONFIG1( JTAGEN_OFF & GCP_OFF & GWRP_OFF & COE_OFF & FWDTEN_OFF & ICS_PGx2) |
_CONFIG2( 0xF7FF & IESO_OFF & FCKSM_CSDCMD & OSCIOFNC_ON & POSCMOD_HS & FNOSC_PRIPLL & PLLDIV_DIV2 & IOL1WAY_ON) |
#elif defined(__PIC24FJ64GB004__) |
_CONFIG1(WDTPS_PS1 & FWPSA_PR32 & WINDIS_OFF & FWDTEN_OFF & ICS_PGx1 & GWRP_OFF & GCP_OFF & JTAGEN_OFF) |
_CONFIG2(POSCMOD_HS & I2C1SEL_PRI & IOL1WAY_OFF & OSCIOFNC_ON & FCKSM_CSDCMD & FNOSC_PRIPLL & PLL96MHZ_ON & PLLDIV_DIV2 & IESO_ON) |
_CONFIG3(WPFP_WPFP0 & SOSCSEL_SOSC & WUTSEL_LEG & WPDIS_WPDIS & WPCFG_WPCFGDIS & WPEND_WPENDMEM) |
_CONFIG4(DSWDTPS_DSWDTPS3 & DSWDTOSC_LPRC & RTCOSC_SOSC & DSBOREN_OFF & DSWDTEN_OFF) |
#elif defined(__32MX460F512L__) || defined(__32MX795F512L__) |
#pragma config UPLLEN = ON // USB PLL Enabled |
#pragma config FPLLMUL = MUL_15 // PLL Multiplier |
#pragma config UPLLIDIV = DIV_2 // USB PLL Input Divider |
#pragma config FPLLIDIV = DIV_2 // PLL Input Divider |
#pragma config FPLLODIV = DIV_1 // PLL Output Divider |
#pragma config FPBDIV = DIV_1 // Peripheral Clock divisor |
#pragma config FWDTEN = OFF // Watchdog Timer |
#pragma config WDTPS = PS1 // Watchdog Timer Postscale |
#pragma config FCKSM = CSDCMD // Clock Switching & Fail Safe Clock Monitor |
#pragma config OSCIOFNC = OFF // CLKO Enable |
#pragma config POSCMOD = HS // Primary Oscillator |
#pragma config IESO = OFF // Internal/External Switch-over |
#pragma config FSOSCEN = OFF // Secondary Oscillator Enable (KLO was off) |
#pragma config FNOSC = PRIPLL // Oscillator Selection |
#pragma config CP = OFF // Code Protect |
#pragma config BWP = OFF // Boot Flash Write Protect |
#pragma config PWP = OFF // Program Flash Write Protect |
#pragma config ICESEL = ICS_PGx2 // ICE/ICD Comm Channel Select |
#pragma config DEBUG = ON // Background Debugger Enable |
#else |
#error No hardware board defined, see "HardwareProfile.h" and __FILE__ |
#endif |
#elif defined(PIC24F_STARTER_KIT) |
_CONFIG1( JTAGEN_OFF & GCP_OFF & GWRP_OFF & COE_OFF & FWDTEN_OFF & ICS_PGx2) |
_CONFIG2( 0xF7FF & IESO_OFF & FCKSM_CSDCMD & OSCIOFNC_ON & POSCMOD_HS & FNOSC_PRIPLL & PLLDIV_DIV3 & IOL1WAY_ON) |
#elif defined(PIC24FJ256DA210_DEV_BOARD) |
//_CONFIG1(FWDTEN_OFF & ICS_PGx2 & COE_OFF & GWRP_OFF & GCP_OFF & JTAGEN_OFF) |
//_CONFIG2(POSCMOD_HS & IOL1WAY_ON & OSCIOFNC_ON & FCKSM_CSDCMD & FNOSC_PRIPLL & PLL96MHZ_ON & PLLDIV_DIV2 & IESO_OFF) |
#elif defined(PIC32_USB_STARTER_KIT) |
#pragma config UPLLEN = ON // USB PLL Enabled |
#pragma config FPLLMUL = MUL_15 // PLL Multiplier |
#pragma config UPLLIDIV = DIV_2 // USB PLL Input Divider |
#pragma config FPLLIDIV = DIV_2 // PLL Input Divider |
#pragma config FPLLODIV = DIV_1 // PLL Output Divider |
#pragma config FPBDIV = DIV_1 // Peripheral Clock divisor |
#pragma config FWDTEN = OFF // Watchdog Timer |
#pragma config WDTPS = PS1 // Watchdog Timer Postscale |
#pragma config FCKSM = CSDCMD // Clock Switching & Fail Safe Clock Monitor |
#pragma config OSCIOFNC = OFF // CLKO Enable |
#pragma config POSCMOD = HS // Primary Oscillator |
#pragma config IESO = OFF // Internal/External Switch-over |
#pragma config FSOSCEN = OFF // Secondary Oscillator Enable (KLO was off) |
#pragma config FNOSC = PRIPLL // Oscillator Selection |
#pragma config CP = OFF // Code Protect |
#pragma config BWP = OFF // Boot Flash Write Protect |
#pragma config PWP = OFF // Program Flash Write Protect |
#pragma config ICESEL = ICS_PGx2 // ICE/ICD Comm Channel Select |
#pragma config DEBUG = ON // Background Debugger Enable |
#elif defined(UBW) |
#pragma config PLLDIV = 5 // (20 MHz input) |
#pragma config CPUDIV = OSC1_PLL2 |
#pragma config USBDIV = 2 // Clock source from 96MHz PLL/2 |
#pragma config FOSC = HSPLL_HS |
#pragma config FCMEN = OFF |
#pragma config IESO = OFF |
#pragma config PWRT = OFF |
#pragma config BOR = ON |
#pragma config BORV = 3 |
#pragma config VREGEN = ON |
#pragma config WDT = OFF |
#pragma config WDTPS = 32768 |
#pragma config MCLRE = ON |
#pragma config LPT1OSC = OFF |
#pragma config PBADEN = OFF |
#pragma config CCP2MX = ON |
#pragma config STVREN = ON |
#pragma config LVP = OFF |
//#pragma config ICPRT = OFF // Dedicated In-Circuit Debug/Programming |
#pragma config XINST = OFF // Extended Instruction Set |
#pragma config CP0 = OFF |
#pragma config CP1 = OFF |
#pragma config CP2 = OFF |
//#pragma config CP3 = OFF |
#pragma config CPB = OFF |
#pragma config CPD = OFF |
#pragma config WRT0 = OFF |
#pragma config WRT1 = OFF |
#pragma config WRT2 = OFF |
//#pragma config WRT3 = OFF |
#pragma config WRTB = ON // Boot Block Write Protection |
#pragma config WRTC = OFF |
#pragma config WRTD = OFF |
#pragma config EBTR0 = OFF |
#pragma config EBTR1 = OFF |
#pragma config EBTR2 = OFF |
//#pragma config EBTR3 = OFF |
#pragma config EBTRB = OFF |
#elif defined(UBW32) |
#else |
#error No hardware board defined, see "HardwareProfile.h" and __FILE__ |
#endif |
/** VARIABLES ******************************************************/ |
#pragma udata |
/** PRIVATE PROTOTYPES *********************************************/ |
static void InitializeSystem(void); |
void USBDeviceTasks(void); |
void YourHighPriorityISRCode(void); |
void YourLowPriorityISRCode(void); |
/** VECTOR REMAPPING ***********************************************/ |
#if defined(__18CXX) |
//On PIC18 devices, addresses 0x00, 0x08, and 0x18 are used for |
//the reset, high priority interrupt, and low priority interrupt |
//vectors. However, the current Microchip USB bootloader |
//examples are intended to occupy addresses 0x00-0x7FF or |
//0x00-0xFFF depending on which bootloader is used. Therefore, |
//the bootloader code remaps these vectors to new locations |
//as indicated below. This remapping is only necessary if you |
//wish to program the hex file generated from this project with |
//the USB bootloader. If no bootloader is used, edit the |
//usb_config.h file and comment out the following defines: |
//#define PROGRAMMABLE_WITH_USB_HID_BOOTLOADER |
//#define PROGRAMMABLE_WITH_USB_LEGACY_CUSTOM_CLASS_BOOTLOADER |
#if defined(PROGRAMMABLE_WITH_USB_HID_BOOTLOADER) |
#define REMAPPED_RESET_VECTOR_ADDRESS 0x1000 |
#define REMAPPED_HIGH_INTERRUPT_VECTOR_ADDRESS 0x1008 |
#define REMAPPED_LOW_INTERRUPT_VECTOR_ADDRESS 0x1018 |
#elif defined(PROGRAMMABLE_WITH_USB_MCHPUSB_BOOTLOADER) |
#define REMAPPED_RESET_VECTOR_ADDRESS 0x800 |
#define REMAPPED_HIGH_INTERRUPT_VECTOR_ADDRESS 0x808 |
#define REMAPPED_LOW_INTERRUPT_VECTOR_ADDRESS 0x818 |
#else |
#define REMAPPED_RESET_VECTOR_ADDRESS 0x00 |
#define REMAPPED_HIGH_INTERRUPT_VECTOR_ADDRESS 0x08 |
#define REMAPPED_LOW_INTERRUPT_VECTOR_ADDRESS 0x18 |
#endif |
#if defined(PROGRAMMABLE_WITH_USB_HID_BOOTLOADER)||defined(PROGRAMMABLE_WITH_USB_MCHPUSB_BOOTLOADER) |
extern void _startup (void); // See c018i.c in your C18 compiler dir |
#pragma code REMAPPED_RESET_VECTOR = REMAPPED_RESET_VECTOR_ADDRESS |
void _reset (void) |
{ |
_asm goto _startup _endasm |
} |
#endif |
#pragma code REMAPPED_HIGH_INTERRUPT_VECTOR = REMAPPED_HIGH_INTERRUPT_VECTOR_ADDRESS |
void Remapped_High_ISR (void) |
{ |
_asm goto YourHighPriorityISRCode _endasm |
} |
#pragma code REMAPPED_LOW_INTERRUPT_VECTOR = REMAPPED_LOW_INTERRUPT_VECTOR_ADDRESS |
void Remapped_Low_ISR (void) |
{ |
_asm goto YourLowPriorityISRCode _endasm |
} |
#if defined(PROGRAMMABLE_WITH_USB_HID_BOOTLOADER)||defined(PROGRAMMABLE_WITH_USB_MCHPUSB_BOOTLOADER) |
//Note: If this project is built while one of the bootloaders has |
//been defined, but then the output hex file is not programmed with |
//the bootloader, addresses 0x08 and 0x18 would end up programmed with 0xFFFF. |
//As a result, if an actual interrupt was enabled and occured, the PC would jump |
//to 0x08 (or 0x18) and would begin executing "0xFFFF" (unprogrammed space). This |
//executes as nop instructions, but the PC would eventually reach the REMAPPED_RESET_VECTOR_ADDRESS |
//(0x1000 or 0x800, depending upon bootloader), and would execute the "goto _startup". This |
//would effective reset the application. |
//To fix this situation, we should always deliberately place a |
//"goto REMAPPED_HIGH_INTERRUPT_VECTOR_ADDRESS" at address 0x08, and a |
//"goto REMAPPED_LOW_INTERRUPT_VECTOR_ADDRESS" at address 0x18. When the output |
//hex file of this project is programmed with the bootloader, these sections do not |
//get bootloaded (as they overlap the bootloader space). If the output hex file is not |
//programmed using the bootloader, then the below goto instructions do get programmed, |
//and the hex file still works like normal. The below section is only required to fix this |
//scenario. |
#pragma code HIGH_INTERRUPT_VECTOR = 0x08 |
void High_ISR (void) |
{ |
_asm goto REMAPPED_HIGH_INTERRUPT_VECTOR_ADDRESS _endasm |
} |
#pragma code LOW_INTERRUPT_VECTOR = 0x18 |
void Low_ISR (void) |
{ |
_asm goto REMAPPED_LOW_INTERRUPT_VECTOR_ADDRESS _endasm |
} |
#endif //end of "#if defined(PROGRAMMABLE_WITH_USB_HID_BOOTLOADER)||defined(PROGRAMMABLE_WITH_USB_LEGACY_CUSTOM_CLASS_BOOTLOADER)" |
#pragma code |
//These are your actual interrupt handling routines. |
#pragma interrupt YourHighPriorityISRCode |
void YourHighPriorityISRCode() |
{ |
//Check which interrupt flag caused the interrupt. |
//Service the interrupt |
//Clear the interrupt flag |
//Etc. |
#if defined(USB_INTERRUPT) |
USBDeviceTasks(); |
#endif |
} //This return will be a "retfie fast", since this is in a #pragma interrupt section |
#pragma interruptlow YourLowPriorityISRCode |
void YourLowPriorityISRCode() |
{ |
//Check which interrupt flag caused the interrupt. |
//Service the interrupt |
//Clear the interrupt flag |
//Etc. |
} //This return will be a "retfie", since this is in a #pragma interruptlow section |
#elif defined(__C30__) |
#if defined(PROGRAMMABLE_WITH_USB_HID_BOOTLOADER) |
/* |
* ISR JUMP TABLE |
* |
* It is necessary to define jump table as a function because C30 will |
* not store 24-bit wide values in program memory as variables. |
* |
* This function should be stored at an address where the goto instructions |
* line up with the remapped vectors from the bootloader's linker script. |
* |
* For more information about how to remap the interrupt vectors, |
* please refer to AN1157. An example is provided below for the T2 |
* interrupt with a bootloader ending at address 0x1400 |
*/ |
// void __attribute__ ((address(0x1404))) ISRTable(){ |
// |
// asm("reset"); //reset instruction to prevent runaway code |
// asm("goto %0"::"i"(&_T2Interrupt)); //T2Interrupt's address |
// } |
#endif |
#endif |
/** DECLARATIONS ***************************************************/ |
#pragma code |
/****************************************************************************** |
* Function: void main(void) |
* |
* PreCondition: None |
* |
* Input: None |
* |
* Output: None |
* |
* Side Effects: None |
* |
* Overview: Main program entry point. |
* |
* Note: None |
*******************************************************************/ |
#if defined(__18CXX) |
void main(void) |
#else |
int main(void) |
#endif |
{ |
InitializeSystem(); |
#if defined(USB_INTERRUPT) |
USBDeviceAttach(); |
#endif |
while(1) |
{ |
#if defined(USB_POLLING) |
// Check bus status and service USB interrupts. |
USBDeviceTasks(); // Interrupt or polling method. If using polling, must call |
// this function periodically. This function will take care |
// of processing and responding to SETUP transactions |
// (such as during the enumeration process when you first |
// plug in). USB hosts require that USB devices should accept |
// and process SETUP packets in a timely fashion. Therefore, |
// when using polling, this function should be called |
// frequently (such as once about every 100 microseconds) at any |
// time that a SETUP packet might reasonably be expected to |
// be sent by the host to your device. In most cases, the |
// USBDeviceTasks() function does not take very long to |
// execute (~50 instruction cycles) before it returns. |
#endif |
// Application-specific tasks. |
// Application related code may be added here, or in the ProcessIO() function. |
ProcessIO(); |
}//end while |
}//end main |
/******************************************************************** |
* Function: static void InitializeSystem(void) |
* |
* PreCondition: None |
* |
* Input: None |
* |
* Output: None |
* |
* Side Effects: None |
* |
* Overview: InitializeSystem is a centralize initialization |
* routine. All required USB initialization routines |
* are called from here. |
* |
* User application initialization routine should |
* also be called from here. |
* |
* Note: None |
*******************************************************************/ |
static void InitializeSystem(void) |
{ |
#if (defined(__18CXX) & !defined(PIC18F87J50_PIM)) |
ADCON1 |= 0x0F; // Default all pins to digital |
#elif defined(__C30__) |
#if defined(PIC24FJ256DA210_DEV_BOARD) |
ANSA = 0x0000; |
ANSB = 0x0000; |
ANSC = 0x0000; |
ANSD = 0x0000; |
ANSE = 0x0000; |
ANSF = 0x0000; |
ANSG = 0x0000; |
#else |
AD1PCFGL = 0xFFFF; |
#endif |
#elif defined(__C32__) |
AD1PCFG = 0xFFFF; |
#endif |
#if defined(PIC18F87J50_PIM) || defined(PIC18F46J50_PIM) || defined(PIC18F_STARTER_KIT_1) |
//On the PIC18F87J50 Family of USB microcontrollers, the PLL will not power up and be enabled |
//by default, even if a PLL enabled oscillator configuration is selected (such as HS+PLL). |
//This allows the device to power up at a lower initial operating frequency, which can be |
//advantageous when powered from a source which is not gauranteed to be adequate for 48MHz |
//operation. On these devices, user firmware needs to manually set the OSCTUNE<PLLEN> bit to |
//power up the PLL. |
{ |
unsigned int pll_startup_counter = 600; |
OSCTUNEbits.PLLEN = 1; //Enable the PLL and wait 2+ms until the PLL locks before enabling USB module |
while(pll_startup_counter--); |
} |
//Device switches over automatically to PLL output after PLL is locked and ready. |
#endif |
#if defined(PIC18F87J50_PIM) |
//Configure all I/O pins to use digital input buffers. The PIC18F87J50 Family devices |
//use the ANCONx registers to control this, which is different from other devices which |
//use the ADCON1 register for this purpose. |
WDTCONbits.ADSHR = 1; // Select alternate SFR location to access ANCONx registers |
ANCON0 = 0xFF; // Default all pins to digital |
ANCON1 = 0xFF; // Default all pins to digital |
WDTCONbits.ADSHR = 0; // Select normal SFR locations |
#endif |
#if defined(PIC18F46J50_PIM) || defined(PIC18F_STARTER_KIT_1) |
//Configure all I/O pins to use digital input buffers. |
ANCON0 = 0x7F; // all pins to digital except AN7 |
ANCON1 = 0xBF; // Default all pins to digital. Bandgap on. |
#endif |
#if defined(PIC24FJ64GB004_PIM) || defined(PIC24FJ256DA210_DEV_BOARD) |
//On the PIC24FJ64GB004 Family of USB microcontrollers, the PLL will not power up and be enabled |
//by default, even if a PLL enabled oscillator configuration is selected (such as HS+PLL). |
//This allows the device to power up at a lower initial operating frequency, which can be |
//advantageous when powered from a source which is not gauranteed to be adequate for 32MHz |
//operation. On these devices, user firmware needs to manually set the CLKDIV<PLLEN> bit to |
//power up the PLL. |
{ |
unsigned int pll_startup_counter = 600; |
CLKDIVbits.PLLEN = 1; |
while(pll_startup_counter--); |
} |
//Device switches over automatically to PLL output after PLL is locked and ready. |
#endif |
// The USB specifications require that USB peripheral devices must never source |
// current onto the Vbus pin. Additionally, USB peripherals should not source |
// current on D+ or D- when the host/hub is not actively powering the Vbus line. |
// When designing a self powered (as opposed to bus powered) USB peripheral |
// device, the firmware should make sure not to turn on the USB module and D+ |
// or D- pull up resistor unless Vbus is actively powered. Therefore, the |
// firmware needs some means to detect when Vbus is being powered by the host. |
// A 5V tolerant I/O pin can be connected to Vbus (through a resistor), and |
// can be used to detect when Vbus is high (host actively powering), or low |
// (host is shut down or otherwise not supplying power). The USB firmware |
// can then periodically poll this I/O pin to know when it is okay to turn on |
// the USB module/D+/D- pull up resistor. When designing a purely bus powered |
// peripheral device, it is not possible to source current on D+ or D- when the |
// host is not actively providing power on Vbus. Therefore, implementing this |
// bus sense feature is optional. This firmware can be made to use this bus |
// sense feature by making sure "USE_USB_BUS_SENSE_IO" has been defined in the |
// HardwareProfile.h file. |
#if defined(USE_USB_BUS_SENSE_IO) |
tris_usb_bus_sense = INPUT_PIN; // See HardwareProfile.h |
#endif |
// If the host PC sends a GetStatus (device) request, the firmware must respond |
// and let the host know if the USB peripheral device is currently bus powered |
// or self powered. See chapter 9 in the official USB specifications for details |
// regarding this request. If the peripheral device is capable of being both |
// self and bus powered, it should not return a hard coded value for this request. |
// Instead, firmware should check if it is currently self or bus powered, and |
// respond accordingly. If the hardware has been configured like demonstrated |
// on the PICDEM FS USB Demo Board, an I/O pin can be polled to determine the |
// currently selected power source. On the PICDEM FS USB Demo Board, "RA2" |
// is used for this purpose. If using this feature, make sure "USE_SELF_POWER_SENSE_IO" |
// has been defined in HardwareProfile - (platform).h, and that an appropriate I/O pin |
// has been mapped to it. |
#if defined(USE_SELF_POWER_SENSE_IO) |
tris_self_power = INPUT_PIN; // See HardwareProfile |
#endif |
UserInit(); |
USBDeviceInit(); //usb_device.c. Initializes USB module SFRs and firmware |
//variables to known states. |
}//end InitializeSystem |
// ****************************************************************************************************** |
// ************** USB Callback Functions **************************************************************** |
// ****************************************************************************************************** |
// The USB firmware stack will call the callback functions USBCBxxx() in response to certain USB related |
// events. For example, if the host PC is powering down, it will stop sending out Start of Frame (SOF) |
// packets to your device. In response to this, all USB devices are supposed to decrease their power |
// consumption from the USB Vbus to <2.5mA each. The USB module detects this condition (which according |
// to the USB specifications is 3+ms of no bus activity/SOF packets) and then calls the USBCBSuspend() |
// function. You should modify these callback functions to take appropriate actions for each of these |
// conditions. For example, in the USBCBSuspend(), you may wish to add code that will decrease power |
// consumption from Vbus to <2.5mA (such as by clock switching, turning off LEDs, putting the |
// microcontroller to sleep, etc.). Then, in the USBCBWakeFromSuspend() function, you may then wish to |
// add code that undoes the power saving things done in the USBCBSuspend() function. |
// The USBCBSendResume() function is special, in that the USB stack will not automatically call this |
// function. This function is meant to be called from the application firmware instead. See the |
// additional comments near the function. |
/****************************************************************************** |
* Function: void USBCBSuspend(void) |
* |
* PreCondition: None |
* |
* Input: None |
* |
* Output: None |
* |
* Side Effects: None |
* |
* Overview: Call back that is invoked when a USB suspend is detected |
* |
* Note: None |
*****************************************************************************/ |
void USBCBSuspend(void) |
{ |
//Example power saving code. Insert appropriate code here for the desired |
//application behavior. If the microcontroller will be put to sleep, a |
//process similar to that shown below may be used: |
//ConfigureIOPinsForLowPower(); |
//SaveStateOfAllInterruptEnableBits(); |
//DisableAllInterruptEnableBits(); |
//EnableOnlyTheInterruptsWhichWillBeUsedToWakeTheMicro(); //should enable at least USBActivityIF as a wake source |
//Sleep(); |
//RestoreStateOfAllPreviouslySavedInterruptEnableBits(); //Preferrably, this should be done in the USBCBWakeFromSuspend() function instead. |
//RestoreIOPinsToNormal(); //Preferrably, this should be done in the USBCBWakeFromSuspend() function instead. |
//IMPORTANT NOTE: Do not clear the USBActivityIF (ACTVIF) bit here. This bit is |
//cleared inside the usb_device.c file. Clearing USBActivityIF here will cause |
//things to not work as intended. |
#if defined(__C30__) |
#if 0 |
U1EIR = 0xFFFF; |
U1IR = 0xFFFF; |
U1OTGIR = 0xFFFF; |
IFS5bits.USB1IF = 0; |
IEC5bits.USB1IE = 1; |
U1OTGIEbits.ACTVIE = 1; |
U1OTGIRbits.ACTVIF = 1; |
Sleep(); |
#endif |
#endif |
} |
/****************************************************************************** |
* Function: void _USB1Interrupt(void) |
* |
* PreCondition: None |
* |
* Input: None |
* |
* Output: None |
* |
* Side Effects: None |
* |
* Overview: This function is called when the USB interrupt bit is set |
* In this example the interrupt is only used when the device |
* goes to sleep when it receives a USB suspend command |
* |
* Note: None |
*****************************************************************************/ |
#if 0 |
void __attribute__ ((interrupt)) _USB1Interrupt(void) |
{ |
#if !defined(self_powered) |
if(U1OTGIRbits.ACTVIF) |
{ |
IEC5bits.USB1IE = 0; |
U1OTGIEbits.ACTVIE = 0; |
IFS5bits.USB1IF = 0; |
//USBClearInterruptFlag(USBActivityIFReg,USBActivityIFBitNum); |
USBClearInterruptFlag(USBIdleIFReg,USBIdleIFBitNum); |
//USBSuspendControl = 0; |
} |
#endif |
} |
#endif |
/****************************************************************************** |
* Function: void USBCBWakeFromSuspend(void) |
* |
* PreCondition: None |
* |
* Input: None |
* |
* Output: None |
* |
* Side Effects: None |
* |
* Overview: The host may put USB peripheral devices in low power |
* suspend mode (by "sending" 3+ms of idle). Once in suspend |
* mode, the host may wake the device back up by sending non- |
* idle state signalling. |
* |
* This call back is invoked when a wakeup from USB suspend |
* is detected. |
* |
* Note: None |
*****************************************************************************/ |
void USBCBWakeFromSuspend(void) |
{ |
// If clock switching or other power savings measures were taken when |
// executing the USBCBSuspend() function, now would be a good time to |
// switch back to normal full power run mode conditions. The host allows |
// a few milliseconds of wakeup time, after which the device must be |
// fully back to normal, and capable of receiving and processing USB |
// packets. In order to do this, the USB module must receive proper |
// clocking (IE: 48MHz clock must be available to SIE for full speed USB |
// operation). |
} |
/******************************************************************** |
* Function: void USBCB_SOF_Handler(void) |
* |
* PreCondition: None |
* |
* Input: None |
* |
* Output: None |
* |
* Side Effects: None |
* |
* Overview: The USB host sends out a SOF packet to full-speed |
* devices every 1 ms. This interrupt may be useful |
* for isochronous pipes. End designers should |
* implement callback routine as necessary. |
* |
* Note: None |
*******************************************************************/ |
void USBCB_SOF_Handler(void) |
{ |
// No need to clear UIRbits.SOFIF to 0 here. |
// Callback caller is already doing that. |
} |
/******************************************************************* |
* Function: void USBCBErrorHandler(void) |
* |
* PreCondition: None |
* |
* Input: None |
* |
* Output: None |
* |
* Side Effects: None |
* |
* Overview: The purpose of this callback is mainly for |
* debugging during development. Check UEIR to see |
* which error causes the interrupt. |
* |
* Note: None |
*******************************************************************/ |
void USBCBErrorHandler(void) |
{ |
// No need to clear UEIR to 0 here. |
// Callback caller is already doing that. |
// Typically, user firmware does not need to do anything special |
// if a USB error occurs. For example, if the host sends an OUT |
// packet to your device, but the packet gets corrupted (ex: |
// because of a bad connection, or the user unplugs the |
// USB cable during the transmission) this will typically set |
// one or more USB error interrupt flags. Nothing specific |
// needs to be done however, since the SIE will automatically |
// send a "NAK" packet to the host. In response to this, the |
// host will normally retry to send the packet again, and no |
// data loss occurs. The system will typically recover |
// automatically, without the need for application firmware |
// intervention. |
// Nevertheless, this callback function is provided, such as |
// for debugging purposes. |
} |
/******************************************************************* |
* Function: void USBCBCheckOtherReq(void) |
* |
* PreCondition: None |
* |
* Input: None |
* |
* Output: None |
* |
* Side Effects: None |
* |
* Overview: When SETUP packets arrive from the host, some |
* firmware must process the request and respond |
* appropriately to fulfill the request. Some of |
* the SETUP packets will be for standard |
* USB "chapter 9" (as in, fulfilling chapter 9 of |
* the official USB specifications) requests, while |
* others may be specific to the USB device class |
* that is being implemented. For example, a HID |
* class device needs to be able to respond to |
* "GET REPORT" type of requests. This |
* is not a standard USB chapter 9 request, and |
* therefore not handled by usb_device.c. Instead |
* this request should be handled by class specific |
* firmware, such as that contained in usb_function_hid.c. |
* |
* Note: None |
*****************************************************************************/ |
void USBCBCheckOtherReq(void) |
{ |
USBCheckUBWRequest(); |
}//end |
/******************************************************************* |
* Function: void USBCBStdSetDscHandler(void) |
* |
* PreCondition: None |
* |
* Input: None |
* |
* Output: None |
* |
* Side Effects: None |
* |
* Overview: The USBCBStdSetDscHandler() callback function is |
* called when a SETUP, bRequest: SET_DESCRIPTOR request |
* arrives. Typically SET_DESCRIPTOR requests are |
* not used in most applications, and it is |
* optional to support this type of request. |
* |
* Note: None |
*****************************************************************************/ |
void USBCBStdSetDscHandler(void) |
{ |
// Must claim session ownership if supporting this request |
}//end |
/****************************************************************************** |
* Function: void USBCBInitEP(void) |
* |
* PreCondition: None |
* |
* Input: None |
* |
* Output: None |
* |
* Side Effects: None |
* |
* Overview: This function is called when the device becomes |
* initialized, which occurs after the host sends a |
* SET_CONFIGURATION (wValue not = 0) request. This |
* callback function should initialize the endpoints |
* for the device's usage according to the current |
* configuration. |
* |
* Note: None |
*****************************************************************************/ |
void USBCBInitEP(void) |
{ |
} |
/******************************************************************** |
* Function: void USBCBSendResume(void) |
* |
* PreCondition: None |
* |
* Input: None |
* |
* Output: None |
* |
* Side Effects: None |
* |
* Overview: The USB specifications allow some types of USB |
* peripheral devices to wake up a host PC (such |
* as if it is in a low power suspend to RAM state). |
* This can be a very useful feature in some |
* USB applications, such as an Infrared remote |
* control receiver. If a user presses the "power" |
* button on a remote control, it is nice that the |
* IR receiver can detect this signalling, and then |
* send a USB "command" to the PC to wake up. |
* |
* The USBCBSendResume() "callback" function is used |
* to send this special USB signalling which wakes |
* up the PC. This function may be called by |
* application firmware to wake up the PC. This |
* function should only be called when: |
* |
* 1. The USB driver used on the host PC supports |
* the remote wakeup capability. |
* 2. The USB configuration descriptor indicates |
* the device is remote wakeup capable in the |
* bmAttributes field. |
* 3. The USB host PC is currently sleeping, |
* and has previously sent your device a SET |
* FEATURE setup packet which "armed" the |
* remote wakeup capability. |
* |
* This callback should send a RESUME signal that |
* has the period of 1-15ms. |
* |
* Note: Interrupt vs. Polling |
* -Primary clock |
* -Secondary clock ***** MAKE NOTES ABOUT THIS ******* |
* > Can switch to primary first by calling USBCBWakeFromSuspend() |
* The modifiable section in this routine should be changed |
* to meet the application needs. Current implementation |
* temporary blocks other functions from executing for a |
* period of 1-13 ms depending on the core frequency. |
* |
* According to USB 2.0 specification section 7.1.7.7, |
* "The remote wakeup device must hold the resume signaling |
* for at lest 1 ms but for no more than 15 ms." |
* The idea here is to use a delay counter loop, using a |
* common value that would work over a wide range of core |
* frequencies. |
* That value selected is 1800. See table below: |
* ========================================================== |
* Core Freq(MHz) MIP RESUME Signal Period (ms) |
* ========================================================== |
* 48 12 1.05 |
* 4 1 12.6 |
* ========================================================== |
* * These timing could be incorrect when using code |
* optimization or extended instruction mode, |
* or when having other interrupts enabled. |
* Make sure to verify using the MPLAB SIM's Stopwatch |
* and verify the actual signal on an oscilloscope. |
*******************************************************************/ |
void USBCBSendResume(void) |
{ |
static WORD delay_count; |
USBResumeControl = 1; // Start RESUME signaling |
delay_count = 1800U; // Set RESUME line for 1-13 ms |
do |
{ |
delay_count--; |
}while(delay_count); |
USBResumeControl = 0; |
} |
/******************************************************************* |
* Function: BOOL USER_USB_CALLBACK_EVENT_HANDLER( |
* USB_EVENT event, void *pdata, WORD size) |
* |
* PreCondition: None |
* |
* Input: USB_EVENT event - the type of event |
* void *pdata - pointer to the event data |
* WORD size - size of the event data |
* |
* Output: None |
* |
* Side Effects: None |
* |
* Overview: This function is called from the USB stack to |
* notify a user application that a USB event |
* occured. This callback is in interrupt context |
* when the USB_INTERRUPT option is selected. |
* |
* Note: None |
*******************************************************************/ |
BOOL USER_USB_CALLBACK_EVENT_HANDLER(USB_EVENT event, void *pdata, WORD size) |
{ |
switch(event) |
{ |
case EVENT_CONFIGURED: |
USBCBInitEP(); |
break; |
case EVENT_SET_DESCRIPTOR: |
USBCBStdSetDscHandler(); |
break; |
case EVENT_EP0_REQUEST: |
USBCBCheckOtherReq(); |
break; |
case EVENT_SOF: |
USBCB_SOF_Handler(); |
break; |
case EVENT_SUSPEND: |
USBCBSuspend(); |
break; |
case EVENT_RESUME: |
USBCBWakeFromSuspend(); |
break; |
case EVENT_BUS_ERROR: |
USBCBErrorHandler(); |
break; |
case EVENT_TRANSFER: |
Nop(); |
break; |
default: |
break; |
} |
return TRUE; |
} |
/** EOF main.c ***************************************************************/ |
/Modules/Clock/CLKGEN01A/SW/DG8SAQ synthesiser_Emulator/CleanUp.bat |
---|
0,0 → 1,92 |
@echo off |
REM Remove files generated by compiler in this directory |
REM and all subdirectories. |
echo Removing *.$$$ files... |
del *.$$$ /f /q /s |
echo. |
echo Removing *.bkx files... |
del *.bkx /f /q /s |
echo. |
echo Removing *.cce files... |
del *.cce /f /q /s |
echo. |
echo Removing *.cod files... |
del *.cod /f /q /s |
echo. |
echo Removing *.cof files... |
del *.cof /f /q /s |
echo. |
echo Removing *.err files... |
del *.err /f /q /s |
echo. |
echo Removing *.hex files... |
del *.hex /f /q /s |
echo. |
echo Removing *.i files... |
del *.i /f /q /s |
echo. |
echo Removing *.lde files... |
del *.lde /f /q /s |
echo. |
echo Removing *.lst files... |
del *.lst /f /q /s |
echo. |
echo Removing *.obj files... |
del *.obj /f /q /s |
echo. |
echo Removing *.o files... |
del *.o /f /q /s |
echo. |
echo Removing *.rlf files... |
del *.rlf /f /q /s |
echo. |
echo Removing *.sym files... |
del *.sym /f /q /s |
echo. |
echo Removing *.sdb files... |
del *.sdb /f /q /s |
echo. |
echo Removing *.wat files... |
del *.wat /f /q /s |
echo. |
echo Removing *.mcs files... |
del *.mcs /f /q /s |
echo. |
echo Removing *.mptags files... |
del *.mptags /f /q /s |
echo. |
echo Removing *.tagsrc files... |
del *.tagsrc /f /q /s |
echo. |
echo Removing *.map files... |
del *.map /f /q /s |
echo. |
echo Removing *.elf files... |
del *.elf /f /q /s |
echo. |
rd Objects /S /Q |
echo Done. |
/Modules/Clock/CLKGEN01A/SW/DG8SAQ synthesiser_Emulator/HardwareProfile - Low Pin Count USB Development Kit.h |
---|
0,0 → 1,135 |
/******************************************************************** |
FileName: HardwareProfile - Low Pin Count USB Development Kit.h |
Dependencies: See INCLUDES section |
Processor: PIC18 or PIC24 USB Microcontrollers |
Hardware: Low Pin Count USB Development Kit |
Compiler: Microchip C18 |
Company: Microchip Technology, Inc. |
Software License Agreement: |
The software supplied herewith by Microchip Technology Incorporated |
(the Company) for its PIC® Microcontroller is intended and |
supplied to you, the Companys customer, for use solely and |
exclusively on Microchip PIC Microcontroller products. The |
software is owned by the Company and/or its supplier, and is |
protected under applicable copyright laws. All rights are reserved. |
Any use in violation of the foregoing restrictions may subject the |
user to criminal sanctions under applicable laws, as well as to |
civil liability for the breach of the terms and conditions of this |
license. |
THIS SOFTWARE IS PROVIDED IN AN AS IS CONDITION. NO WARRANTIES, |
WHETHER EXPRESS, IMPLIED OR STATUTORY, INCLUDING, BUT NOT LIMITED |
TO, IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A |
PARTICULAR PURPOSE APPLY TO THIS SOFTWARE. THE COMPANY SHALL NOT, |
IN ANY CIRCUMSTANCES, BE LIABLE FOR SPECIAL, INCIDENTAL OR |
CONSEQUENTIAL DAMAGES, FOR ANY REASON WHATSOEVER. |
******************************************************************** |
File Description: |
Change History: |
Rev Date Description |
1.0 11/19/2004 Initial release |
2.1 02/26/2007 Updated for simplicity and to use common |
coding style |
2.3 09/15/2008 Broke out each hardware platform into its own |
"HardwareProfile - xxx.h" file |
********************************************************************/ |
#ifndef HARDWARE_PROFILE_LOW_PIN_COUNT_USB_DEVELOPMENT_KIT_H |
#define HARDWARE_PROFILE_LOW_PIN_COUNT_USB_DEVELOPMENT_KIT_H |
/*******************************************************************/ |
/******** USB stack hardware selection options *********************/ |
/*******************************************************************/ |
//This section is the set of definitions required by the MCHPFSUSB |
// framework. These definitions tell the firmware what mode it is |
// running in, and where it can find the results to some information |
// that the stack needs. |
//These definitions are required by every application developed with |
// this revision of the MCHPFSUSB framework. Please review each |
// option carefully and determine which options are desired/required |
// for your application. |
//#define USE_SELF_POWER_SENSE_IO |
#define tris_self_power TRISAbits.TRISA2 // Input |
#if defined(USE_SELF_POWER_SENSE_IO) |
#define self_power PORTAbits.RA2 |
#else |
#define self_power 1 |
#endif |
//#define USE_USB_BUS_SENSE_IO |
#define tris_usb_bus_sense TRISAbits.TRISA1 // Input |
#if defined(USE_USB_BUS_SENSE_IO) |
#define USB_BUS_SENSE PORTAbits.RA1 |
#else |
#define USB_BUS_SENSE 1 |
#endif |
/*******************************************************************/ |
/*******************************************************************/ |
/*******************************************************************/ |
/******** Application specific definitions *************************/ |
/*******************************************************************/ |
/*******************************************************************/ |
/*******************************************************************/ |
//Uncomment the following line to make the output HEX of this |
// project work with the HID Bootloader |
#define PROGRAMMABLE_WITH_USB_HID_BOOTLOADER |
/** Board definition ***********************************************/ |
//These defintions will tell the main() function which board is |
// currently selected. This will allow the application to add |
// the correct configuration bits as wells use the correct |
// initialization functions for the board. These defitions are only |
// required in the stack provided demos. They are not required in |
// final application design. |
#define DEMO_BOARD LOW_PIN_COUNT_USB_DEVELOPMENT_KIT |
#define LOW_PIN_COUNT_USB_DEVELOPMENT_KIT |
#define CLOCK_FREQ 48000000 |
/** LED ************************************************************/ |
#define mInitAllLEDs() LATC &= 0xF0; TRISC &= 0xF0; |
#define mLED_1 LATCbits.LATC0 |
#define mLED_2 LATCbits.LATC1 |
#define mLED_3 LATCbits.LATC2 |
#define mLED_4 LATCbits.LATC3 |
#define mGetLED_1() mLED_1 |
#define mGetLED_2() mLED_2 |
#define mGetLED_3() mLED_3 |
#define mGetLED_4() mLED_4 |
#define mLED_1_On() mLED_1 = 1; |
#define mLED_2_On() mLED_2 = 1; |
#define mLED_3_On() mLED_3 = 1; |
#define mLED_4_On() mLED_4 = 1; |
#define mLED_1_Off() mLED_1 = 0; |
#define mLED_2_Off() mLED_2 = 0; |
#define mLED_3_Off() mLED_3 = 0; |
#define mLED_4_Off() mLED_4 = 0; |
#define mLED_1_Toggle() mLED_1 = !mLED_1; |
#define mLED_2_Toggle() mLED_2 = !mLED_2; |
#define mLED_3_Toggle() mLED_3 = !mLED_3; |
#define mLED_4_Toggle() mLED_4 = !mLED_4; |
/** SWITCH *********************************************************/ |
#define mInitSwitch2() //TRISAbits.TRISA3=1 |
//only one switch available so double duty |
#define mInitSwitch3() //TRISAbits.TRISA3=1 |
#define sw2 PORTAbits.RA3 |
#define sw3 PORTAbits.RA3 |
#define mInitAllSwitches() mInitSwitch2(); |
/** POT ************************************************************/ |
#define mInitPOT() {TRISBbits.TRISB4=1;ADCON0=0x29;ADCON1=0;ADCON2=0x3E;ADCON2bits.ADFM = 1;} |
#endif //HARDWARE_PROFILE_LOW_PIN_COUNT_USB_DEVELOPMENT_KIT_H |
/Modules/Clock/CLKGEN01A/SW/DG8SAQ synthesiser_Emulator/HardwareProfile - PIC18F46J50 PIM.h |
---|
0,0 → 1,130 |
/******************************************************************** |
FileName: HardwareProfile - PIC18F46J50 PIM.h |
Dependencies: See INCLUDES section |
Processor: PIC18 USB Microcontrollers |
Hardware: PIC18F46J50 PIM |
Compiler: Microchip C18 |
Company: Microchip Technology, Inc. |
Software License Agreement: |
The software supplied herewith by Microchip Technology Incorporated |
(the Company) for its PIC® Microcontroller is intended and |
supplied to you, the Companys customer, for use solely and |
exclusively on Microchip PIC Microcontroller products. The |
software is owned by the Company and/or its supplier, and is |
protected under applicable copyright laws. All rights are reserved. |
Any use in violation of the foregoing restrictions may subject the |
user to criminal sanctions under applicable laws, as well as to |
civil liability for the breach of the terms and conditions of this |
license. |
THIS SOFTWARE IS PROVIDED IN AN AS IS CONDITION. NO WARRANTIES, |
WHETHER EXPRESS, IMPLIED OR STATUTORY, INCLUDING, BUT NOT LIMITED |
TO, IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A |
PARTICULAR PURPOSE APPLY TO THIS SOFTWARE. THE COMPANY SHALL NOT, |
IN ANY CIRCUMSTANCES, BE LIABLE FOR SPECIAL, INCIDENTAL OR |
CONSEQUENTIAL DAMAGES, FOR ANY REASON WHATSOEVER. |
******************************************************************** |
File Description: |
Change History: |
Rev Date Description |
1.0 11/19/2004 Initial release |
2.1 02/26/2007 Updated for simplicity and to use common |
coding style |
2.3 09/15/2008 Broke out each hardware platform into its own |
"HardwareProfile - xxx.h" file |
********************************************************************/ |
#ifndef HARDWARE_PROFILE_PIC18F46J50_PIM_H |
#define HARDWARE_PROFILE_PIC18F46J50_PIM_H |
/*******************************************************************/ |
/******** USB stack hardware selection options *********************/ |
/*******************************************************************/ |
//This section is the set of definitions required by the MCHPFSUSB |
// framework. These definitions tell the firmware what mode it is |
// running in, and where it can find the results to some information |
// that the stack needs. |
//These definitions are required by every application developed with |
// this revision of the MCHPFSUSB framework. Please review each |
// option carefully and determine which options are desired/required |
// for your application. |
//#define USE_SELF_POWER_SENSE_IO |
#define tris_self_power TRISCbits.TRISC2 // Input |
#define self_power 1 |
//#define USE_USB_BUS_SENSE_IO |
#define tris_usb_bus_sense TRISCbits.TRISC2 // Input |
#define USB_BUS_SENSE 1 |
//Uncomment this to make the output HEX of this project |
// to be able to be bootloaded using the HID bootloader |
#define PROGRAMMABLE_WITH_USB_HID_BOOTLOADER |
/*******************************************************************/ |
/*******************************************************************/ |
/*******************************************************************/ |
/******** Application specific definitions *************************/ |
/*******************************************************************/ |
/*******************************************************************/ |
/*******************************************************************/ |
/** Board definition ***********************************************/ |
//These defintions will tell the main() function which board is |
// currently selected. This will allow the application to add |
// the correct configuration bits as wells use the correct |
// initialization functions for the board. These defitions are only |
// required in the stack provided demos. They are not required in |
// final application design. |
#define DEMO_BOARD PIC18F46J50_PIM |
#define PIC18F46J50_PIM |
#define CLOCK_FREQ 48000000 |
#define GetSystemClock() CLOCK_FREQ |
#define GetInstructionClock() GetSystemClock() |
/** LED ************************************************************/ |
#define mInitAllLEDs() LATE &= 0xFC; TRISE &= 0xFC; |
#define mLED_1 LATEbits.LATE0 |
#define mLED_2 LATEbits.LATE1 |
#define mLED_3 mLED_1 |
#define mLED_4 mLED_2 |
#define mGetLED_1() mLED_1 |
#define mGetLED_2() mLED_2 |
#define mGetLED_3() mLED_3 |
#define mGetLED_4() mLED_4 |
#define mLED_1_On() mLED_1 = 1; |
#define mLED_2_On() mLED_2 = 1; |
#define mLED_3_On() mLED_3 = 1; |
#define mLED_4_On() mLED_4 = 1; |
#define mLED_1_Off() mLED_1 = 0; |
#define mLED_2_Off() mLED_2 = 0; |
#define mLED_3_Off() mLED_3 = 0; |
#define mLED_4_Off() mLED_4 = 0; |
#define mLED_1_Toggle() mLED_1 = !mLED_1; |
#define mLED_2_Toggle() mLED_2 = !mLED_2; |
#define mLED_3_Toggle() mLED_3 = !mLED_3; |
#define mLED_4_Toggle() mLED_4 = !mLED_4; |
/** SWITCH *********************************************************/ |
#define mInitSwitch2() TRISBbits.TRISB2=1; |
#define mInitSwitch3() mInitSwitch2(); |
#define mInitAllSwitches() mInitSwitch2(); |
#define sw2 PORTBbits.RB2 |
#define sw3 PORTBbits.RB2 |
/** POT ************************************************************/ |
#define mInitPOT() {TRISAbits.TRISA0=1; \ |
ANCON0bits.PCFG0 = 0; \ |
ADCON0=0x01; \ |
ADCON1=0xBE;} // POT on HPC Explorer |
#endif //HARDWARE_PROFILE_PIC18F46J50_PIM_H |
/Modules/Clock/CLKGEN01A/SW/DG8SAQ synthesiser_Emulator/HardwareProfile - PIC18F87J50 PIM.h |
---|
0,0 → 1,150 |
/******************************************************************** |
FileName: HardwareProfile - PIC18F87J50 PIM.h |
Dependencies: See INCLUDES section |
Processor: PIC18 USB Microcontrollers |
Hardware: PIC18F87J50 PIM |
Compiler: Microchip C18 |
Company: Microchip Technology, Inc. |
Software License Agreement: |
The software supplied herewith by Microchip Technology Incorporated |
(the Company) for its PIC® Microcontroller is intended and |
supplied to you, the Companys customer, for use solely and |
exclusively on Microchip PIC Microcontroller products. The |
software is owned by the Company and/or its supplier, and is |
protected under applicable copyright laws. All rights are reserved. |
Any use in violation of the foregoing restrictions may subject the |
user to criminal sanctions under applicable laws, as well as to |
civil liability for the breach of the terms and conditions of this |
license. |
THIS SOFTWARE IS PROVIDED IN AN AS IS CONDITION. NO WARRANTIES, |
WHETHER EXPRESS, IMPLIED OR STATUTORY, INCLUDING, BUT NOT LIMITED |
TO, IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A |
PARTICULAR PURPOSE APPLY TO THIS SOFTWARE. THE COMPANY SHALL NOT, |
IN ANY CIRCUMSTANCES, BE LIABLE FOR SPECIAL, INCIDENTAL OR |
CONSEQUENTIAL DAMAGES, FOR ANY REASON WHATSOEVER. |
******************************************************************** |
File Description: |
Change History: |
Rev Date Description |
1.0 11/19/2004 Initial release |
2.1 02/26/2007 Updated for simplicity and to use common |
coding style |
2.3 09/15/2008 Broke out each hardware platform into its own |
"HardwareProfile - xxx.h" file |
********************************************************************/ |
#ifndef HARDWARE_PROFILE_PIC18F87J50_PIM_H |
#define HARDWARE_PROFILE_PIC18F87J50_PIM_H |
/*******************************************************************/ |
/******** USB stack hardware selection options *********************/ |
/*******************************************************************/ |
//This section is the set of definitions required by the MCHPFSUSB |
// framework. These definitions tell the firmware what mode it is |
// running in, and where it can find the results to some information |
// that the stack needs. |
//These definitions are required by every application developed with |
// this revision of the MCHPFSUSB framework. Please review each |
// option carefully and determine which options are desired/required |
// for your application. |
/** USB ************************************************************/ |
//The PIC18F87J50 FS USB Plug-In Module supports the USE_USB_BUS_SENSE_IO |
//feature. The USE_SELF_POWER_SENSE_IO feature is not implemented on the |
//circuit board, so the USE_SELF_POWER_SENSE_IO define should always be |
//commented for this hardware platform. |
//#define USE_SELF_POWER_SENSE_IO |
#define tris_self_power TRISAbits.TRISA2 // Input |
#if defined(USE_SELF_POWER_SENSE_IO) |
#define self_power PORTAbits.RA2 |
#else |
#define self_power 1 |
#endif |
//#define USE_USB_BUS_SENSE_IO //JP1 must be in R-U position to use this feature on this board |
#define tris_usb_bus_sense TRISBbits.TRISB5 // Input |
#if defined(USE_USB_BUS_SENSE_IO) |
#define USB_BUS_SENSE PORTBbits.RB5 |
#else |
#define USB_BUS_SENSE 1 |
#endif |
//Uncomment this to make the output HEX of this project |
// to be able to be bootloaded using the HID bootloader |
#define PROGRAMMABLE_WITH_USB_HID_BOOTLOADER |
/*******************************************************************/ |
/*******************************************************************/ |
/*******************************************************************/ |
/******** Application specific definitions *************************/ |
/*******************************************************************/ |
/*******************************************************************/ |
/*******************************************************************/ |
/** Board definition ***********************************************/ |
//These defintions will tell the main() function which board is |
// currently selected. This will allow the application to add |
// the correct configuration bits as wells use the correct |
// initialization functions for the board. These defitions are only |
// required in the stack provided demos. They are not required in |
// final application design. |
#define DEMO_BOARD PIC18F87J50_PIM |
#define PIC18F87J50_PIM |
#define CLOCK_FREQ 48000000 |
#define GetSystemClock() CLOCK_FREQ |
#define GetInstructionClock() CLOCK_FREQ |
/** LED ************************************************************/ |
#define mInitAllLEDs() {LATE &= 0xFC; TRISE &= 0xFC; LATD &= 0xF3; TRISD &= 0xF3;} |
#define mLED_1 LATEbits.LATE0 |
#define mLED_2 LATEbits.LATE1 |
#define mLED_3 LATDbits.LATD2 |
#define mLED_4 LATDbits.LATD3 |
#define mGetLED_1() mLED_1 |
#define mGetLED_2() mLED_2 |
#define mGetLED_3() mLED_3 |
#define mGetLED_4() mLED_4 |
#define mLED_1_On() mLED_1 = 1; |
#define mLED_2_On() mLED_2 = 1; |
#define mLED_3_On() mLED_3 = 1; |
#define mLED_4_On() mLED_4 = 1; |
#define mLED_1_Off() mLED_1 = 0; |
#define mLED_2_Off() mLED_2 = 0; |
#define mLED_3_Off() mLED_3 = 0; |
#define mLED_4_Off() mLED_4 = 0; |
#define mLED_1_Toggle() mLED_1 = !mLED_1; |
#define mLED_2_Toggle() mLED_2 = !mLED_2; |
#define mLED_3_Toggle() mLED_3 = !mLED_3; |
#define mLED_4_Toggle() mLED_4 = !mLED_4; |
/** SWITCH *********************************************************/ |
#define mInitAllSwitches() TRISBbits.TRISB4=1; |
#define mInitSwitch2() TRISBbits.TRISB4=1; |
#define mInitSwitch3() TRISBbits.TRISB4=1; |
#define sw2 PORTBbits.RB4 |
#define sw3 PORTBbits.RB4 |
/** POT ************************************************************/ |
#define mInitPOT() {TRISAbits.TRISA0=1; \ |
WDTCONbits.ADSHR = 1; \ |
ANCON0bits.PCFG0 = 1; \ |
WDTCONbits.ADSHR = 0; \ |
ADCON0=0x01; \ |
ADCON1=0xBE;} // POT on HPC Explorer |
/** I 2 C T E M P S E N S E *************************************/ |
#define mInitI2CPins() TRISC |= 0x18; // RC3 and RC4 are I2C |
#endif //HARDWARE_PROFILE_PIC18F87J50_PIM_H |
/Modules/Clock/CLKGEN01A/SW/DG8SAQ synthesiser_Emulator/HardwareProfile - PIC24F Starter Kit.h |
---|
0,0 → 1,129 |
/******************************************************************** |
FileName: HardwareProfile - PIC24F Starter Kit.h |
Dependencies: See INCLUDES section |
Processor: PIC24FJ256GB106 |
Hardware: PIC24F Starter Kit |
Compiler: Microchip C30 |
Company: Microchip Technology, Inc. |
Software License Agreement: |
The software supplied herewith by Microchip Technology Incorporated |
(the Company) for its PIC® Microcontroller is intended and |
supplied to you, the Companys customer, for use solely and |
exclusively on Microchip PIC Microcontroller products. The |
software is owned by the Company and/or its supplier, and is |
protected under applicable copyright laws. All rights are reserved. |
Any use in violation of the foregoing restrictions may subject the |
user to criminal sanctions under applicable laws, as well as to |
civil liability for the breach of the terms and conditions of this |
license. |
THIS SOFTWARE IS PROVIDED IN AN AS IS CONDITION. NO WARRANTIES, |
WHETHER EXPRESS, IMPLIED OR STATUTORY, INCLUDING, BUT NOT LIMITED |
TO, IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A |
PARTICULAR PURPOSE APPLY TO THIS SOFTWARE. THE COMPANY SHALL NOT, |
IN ANY CIRCUMSTANCES, BE LIABLE FOR SPECIAL, INCIDENTAL OR |
CONSEQUENTIAL DAMAGES, FOR ANY REASON WHATSOEVER. |
******************************************************************** |
File Description: |
Change History: |
Rev Date Description |
1.0 11/19/2004 Initial release |
2.1 02/26/2007 Updated for simplicity and to use common |
coding style |
2.3 09/15/2008 Broke out each hardware platform into its own |
"HardwareProfile - xxx.h" file |
********************************************************************/ |
#ifndef HARDWARE_PROFILE_PIC24F_STARTER_KIT_H |
#define HARDWARE_PROFILE_PIC24F_STARTER_KIT_H |
/*******************************************************************/ |
/******** USB stack hardware selection options *********************/ |
/*******************************************************************/ |
//This section is the set of definitions required by the MCHPFSUSB |
// framework. These definitions tell the firmware what mode it is |
// running in, and where it can find the results to some information |
// that the stack needs. |
//These definitions are required by every application developed with |
// this revision of the MCHPFSUSB framework. Please review each |
// option carefully and determine which options are desired/required |
// for your application. |
//#define USE_SELF_POWER_SENSE_IO |
#define tris_self_power TRISAbits.TRISA2 // Input |
#define self_power 1 |
//#define USE_USB_BUS_SENSE_IO |
#define tris_usb_bus_sense U1OTGSTATbits.SESVD //TRISBbits.TRISB5 // Input |
#define USB_BUS_SENSE U1OTGSTATbits.SESVD |
//Uncomment this to make the output HEX of this project |
// to be able to be bootloaded using the HID bootloader |
#define PROGRAMMABLE_WITH_USB_HID_BOOTLOADER |
//If the application is going to be used with the HID bootloader |
// then this will provide a function for the application to |
// enter the bootloader from the application (optional) |
#if defined(PROGRAMMABLE_WITH_USB_HID_BOOTLOADER) |
#define EnterBootloader() __asm__("goto 0x400") |
#endif |
/*******************************************************************/ |
/*******************************************************************/ |
/*******************************************************************/ |
/******** Application specific definitions *************************/ |
/*******************************************************************/ |
/*******************************************************************/ |
/*******************************************************************/ |
/** Board definition ***********************************************/ |
//These defintions will tell the main() function which board is |
// currently selected. This will allow the application to add |
// the correct configuration bits as wells use the correct |
// initialization functions for the board. These defitions are only |
// required in the stack provided demos. They are not required in |
// final application design. |
#define DEMO_BOARD PIC24F_STARTER_KIT |
#define PIC24F_STARTER_KIT |
#define CLOCK_FREQ 32000000 |
/** LED ************************************************************/ |
#define mInitAllLEDs() LATG &= 0xFE1F; TRISG &= 0xFE1F; LATF &= 0xFFCF; TRISF &= 0xFFCF; //G6,7,8,9 and F4,5 |
#define mGetLED_1() (TRISG & ~0x0180?1:0) |
#define mGetLED_2() (TRISG & ~0x0060?1:0) |
#define mGetLED_3() (TRISF & ~0x0030?1:0) |
#define mGetLED_4() |
#define mLED_1_On() TRISG |= 0x0180; |
#define mLED_2_On() TRISG |= 0x0060; |
#define mLED_3_On() TRISF |= 0x0030; |
#define mLED_4_On() |
#define mLED_1_Off() TRISG &= ~0x0180; |
#define mLED_2_Off() TRISG &= ~0x0060; |
#define mLED_3_Off() TRISF &= ~0x0030; |
#define mLED_4_Off() |
#define mLED_1_Toggle() TRISG ^= 0x0180; |
#define mLED_2_Toggle() TRISG ^= 0x0060; |
#define mLED_3_Toggle() TRISF ^= 0x0030; |
#define mLED_4_Toggle() |
/** SWITCH *********************************************************/ |
#define mInitSwitch2() TRISDbits.TRISD6=1; |
#define mInitSwitch3() TRISDbits.TRISD7=1; |
#define mInitAllSwitches() mInitSwitch2();mInitSwitch3(); |
#define sw2 PORTDbits.RD6 |
#define sw3 PORTDbits.RD7 |
/** POT ************************************************************/ |
#define mInitPOT() {AD1PCFGLbits.PCFG0 = 0; AD1CON2bits.VCFG = 0x0; AD1CON3bits.ADCS = 0xFF; AD1CON1bits.SSRC = 0x0; AD1CON3bits.SAMC = 0b00001; AD1CON1bits.FORM = 0b00; AD1CON2bits.SMPI = 0x0; AD1CON1bits.ADON = 1;} |
#endif //HARDWARE_PROFILE_PIC24F_STARTER_KIT_H |
/Modules/Clock/CLKGEN01A/SW/DG8SAQ synthesiser_Emulator/HardwareProfile - PIC24FJ256GB110 PIM.h |
---|
0,0 → 1,136 |
/******************************************************************** |
FileName: HardwareProfile - PIC24FJ256GB110 PIM.h |
Dependencies: See INCLUDES section |
Processor: PIC24FJ256GB110 |
Hardware: PIC24FJ256GB110 PIM |
Compiler: Microchip C30 |
Company: Microchip Technology, Inc. |
Software License Agreement: |
The software supplied herewith by Microchip Technology Incorporated |
(the Company) for its PIC® Microcontroller is intended and |
supplied to you, the Companys customer, for use solely and |
exclusively on Microchip PIC Microcontroller products. The |
software is owned by the Company and/or its supplier, and is |
protected under applicable copyright laws. All rights are reserved. |
Any use in violation of the foregoing restrictions may subject the |
user to criminal sanctions under applicable laws, as well as to |
civil liability for the breach of the terms and conditions of this |
license. |
THIS SOFTWARE IS PROVIDED IN AN AS IS CONDITION. NO WARRANTIES, |
WHETHER EXPRESS, IMPLIED OR STATUTORY, INCLUDING, BUT NOT LIMITED |
TO, IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A |
PARTICULAR PURPOSE APPLY TO THIS SOFTWARE. THE COMPANY SHALL NOT, |
IN ANY CIRCUMSTANCES, BE LIABLE FOR SPECIAL, INCIDENTAL OR |
CONSEQUENTIAL DAMAGES, FOR ANY REASON WHATSOEVER. |
******************************************************************** |
File Description: |
Change History: |
Rev Date Description |
1.0 11/19/2004 Initial release |
2.1 02/26/2007 Updated for simplicity and to use common |
coding style |
2.3 09/15/2008 Broke out each hardware platform into its own |
"HardwareProfile - xxx.h" file |
********************************************************************/ |
#ifndef HARDWARE_PROFILE_PIC24FJ256GB110_PIM_H |
#define HARDWARE_PROFILE_PIC24FJ256GB110_PIM_H |
/*******************************************************************/ |
/******** USB stack hardware selection options *********************/ |
/*******************************************************************/ |
//This section is the set of definitions required by the MCHPFSUSB |
// framework. These definitions tell the firmware what mode it is |
// running in, and where it can find the results to some information |
// that the stack needs. |
//These definitions are required by every application developed with |
// this revision of the MCHPFSUSB framework. Please review each |
// option carefully and determine which options are desired/required |
// for your application. |
//#define USE_SELF_POWER_SENSE_IO |
#define tris_self_power TRISAbits.TRISA2 // Input |
#define self_power 1 |
//#define USE_USB_BUS_SENSE_IO |
#define tris_usb_bus_sense TRISBbits.TRISB5 // Input |
#define USB_BUS_SENSE 1 |
//Uncomment this to make the output HEX of this project |
// to be able to be bootloaded using the HID bootloader |
#define PROGRAMMABLE_WITH_USB_HID_BOOTLOADER |
//If the application is going to be used with the HID bootloader |
// then this will provide a function for the application to |
// enter the bootloader from the application (optional) |
#if defined(PROGRAMMABLE_WITH_USB_HID_BOOTLOADER) |
#define EnterBootloader() __asm__("goto 0x400") |
#endif |
/*******************************************************************/ |
/*******************************************************************/ |
/*******************************************************************/ |
/******** Application specific definitions *************************/ |
/*******************************************************************/ |
/*******************************************************************/ |
/*******************************************************************/ |
/** Board definition ***********************************************/ |
//These defintions will tell the main() function which board is |
// currently selected. This will allow the application to add |
// the correct configuration bits as wells use the correct |
// initialization functions for the board. These defitions are only |
// required in the stack provided demos. They are not required in |
// final application design. |
#define DEMO_BOARD PIC24FJ256GB110_PIM |
#define EXPLORER_16 |
#define PIC24FJ256GB110_PIM |
#define CLOCK_FREQ 32000000 |
#define GetSystemClock() CLOCK_FREQ |
#define GetInstructionClock() GetSystemClock() |
/** LED ************************************************************/ |
#define mInitAllLEDs() LATA &= 0xF0; TRISA &= 0xF0; |
#define mLED_1 LATAbits.LATA0 |
#define mLED_2 LATAbits.LATA1 |
#define mLED_3 LATAbits.LATA2 |
#define mLED_4 LATAbits.LATA3 |
#define mGetLED_1() mLED_1 |
#define mGetLED_2() mLED_2 |
#define mGetLED_3() mLED_3 |
#define mGetLED_4() mLED_4 |
#define mLED_1_On() mLED_1 = 1; |
#define mLED_2_On() mLED_2 = 1; |
#define mLED_3_On() mLED_3 = 1; |
#define mLED_4_On() mLED_4 = 1; |
#define mLED_1_Off() mLED_1 = 0; |
#define mLED_2_Off() mLED_2 = 0; |
#define mLED_3_Off() mLED_3 = 0; |
#define mLED_4_Off() mLED_4 = 0; |
#define mLED_1_Toggle() mLED_1 = !mLED_1; |
#define mLED_2_Toggle() mLED_2 = !mLED_2; |
#define mLED_3_Toggle() mLED_3 = !mLED_3; |
#define mLED_4_Toggle() mLED_4 = !mLED_4; |
/** SWITCH *********************************************************/ |
#define mInitSwitch2() TRISDbits.TRISD6=1; |
#define mInitSwitch3() TRISDbits.TRISD7=1; |
#define mInitAllSwitches() mInitSwitch2();mInitSwitch3(); |
#define sw2 PORTDbits.RD6 |
#define sw3 PORTDbits.RD7 |
/** POT ************************************************************/ |
#define mInitPOT() {AD1PCFGLbits.PCFG5 = 0; AD1CON2bits.VCFG = 0x0; AD1CON3bits.ADCS = 0xFF; AD1CON1bits.SSRC = 0x0; AD1CON3bits.SAMC = 0b10000; AD1CON1bits.FORM = 0b00; AD1CON2bits.SMPI = 0x0; AD1CON1bits.ADON = 1;} |
#endif //HARDWARE_PROFILE_PIC24FJ256GB110_PIM_H |
/Modules/Clock/CLKGEN01A/SW/DG8SAQ synthesiser_Emulator/HardwareProfile - PIC32MX460F512L PIM.h |
---|
0,0 → 1,121 |
/******************************************************************** |
FileName: HardwareProfile - PIC32MX460F512L PIM.h |
Dependencies: See INCLUDES section |
Processor: PIC32 USB Microcontrollers |
Hardware: PIC32MX460F512L PIM |
Compiler: Microchip C32 (for PIC32) |
Company: Microchip Technology, Inc. |
Software License Agreement: |
The software supplied herewith by Microchip Technology Incorporated |
(the Company) for its PIC® Microcontroller is intended and |
supplied to you, the Companys customer, for use solely and |
exclusively on Microchip PIC Microcontroller products. The |
software is owned by the Company and/or its supplier, and is |
protected under applicable copyright laws. All rights are reserved. |
Any use in violation of the foregoing restrictions may subject the |
user to criminal sanctions under applicable laws, as well as to |
civil liability for the breach of the terms and conditions of this |
license. |
THIS SOFTWARE IS PROVIDED IN AN AS IS CONDITION. NO WARRANTIES, |
WHETHER EXPRESS, IMPLIED OR STATUTORY, INCLUDING, BUT NOT LIMITED |
TO, IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A |
PARTICULAR PURPOSE APPLY TO THIS SOFTWARE. THE COMPANY SHALL NOT, |
IN ANY CIRCUMSTANCES, BE LIABLE FOR SPECIAL, INCIDENTAL OR |
CONSEQUENTIAL DAMAGES, FOR ANY REASON WHATSOEVER. |
******************************************************************** |
File Description: |
Change History: |
Rev Date Description |
1.0 11/19/2004 Initial release |
2.1 02/26/2007 Updated for simplicity and to use common |
coding style |
2.3 09/15/2008 Broke out each hardware platform into its own |
"HardwareProfile - xxx.h" file |
********************************************************************/ |
#ifndef HARDWARE_PROFILE_PIC32MX460F512L_PIM_H |
#define HARDWARE_PROFILE_PIC32MX460F512L_PIM_H |
/*******************************************************************/ |
/******** USB stack hardware selection options *********************/ |
/*******************************************************************/ |
//This section is the set of definitions required by the MCHPFSUSB |
// framework. These definitions tell the firmware what mode it is |
// running in, and where it can find the results to some information |
// that the stack needs. |
//These definitions are required by every application developed with |
// this revision of the MCHPFSUSB framework. Please review each |
// option carefully and determine which options are desired/required |
// for your application. |
//#define USE_SELF_POWER_SENSE_IO |
#define tris_self_power TRISAbits.TRISA2 // Input |
#define self_power 1 |
//#define USE_USB_BUS_SENSE_IO |
#define tris_usb_bus_sense TRISBbits.TRISB5 // Input |
#define USB_BUS_SENSE 1 |
/*******************************************************************/ |
/*******************************************************************/ |
/*******************************************************************/ |
/******** Application specific definitions *************************/ |
/*******************************************************************/ |
/*******************************************************************/ |
/*******************************************************************/ |
/** Board definition ***********************************************/ |
//These defintions will tell the main() function which board is |
// currently selected. This will allow the application to add |
// the correct configuration bits as wells use the correct |
// initialization functions for the board. These defitions are only |
// required in the stack provided demos. They are not required in |
// final application design. |
#define DEMO_BOARD PIC32MX460F512L_PIM |
#define EXPLORER_16 |
#define PIC32MX460F512L_PIM |
/** LED ************************************************************/ |
#define mInitAllLEDs() LATA &= 0xFF03; TRISA &= 0xFF03; |
#define mLED_1 LATAbits.LATA2 |
#define mLED_2 LATAbits.LATA3 |
#define mLED_3 LATAbits.LATA6 |
#define mLED_4 LATAbits.LATA7 |
#define mGetLED_1() mLED_1 |
#define mGetLED_2() mLED_2 |
#define mGetLED_3() mLED_3 |
#define mGetLED_4() mLED_4 |
#define mLED_1_On() mLED_1 = 1; |
#define mLED_2_On() mLED_2 = 1; |
#define mLED_3_On() mLED_3 = 1; |
#define mLED_4_On() mLED_4 = 1; |
#define mLED_1_Off() mLED_1 = 0; |
#define mLED_2_Off() mLED_2 = 0; |
#define mLED_3_Off() mLED_3 = 0; |
#define mLED_4_Off() mLED_4 = 0; |
#define mLED_1_Toggle() mLED_1 = !mLED_1; |
#define mLED_2_Toggle() mLED_2 = !mLED_2; |
#define mLED_3_Toggle() mLED_3 = !mLED_3; |
#define mLED_4_Toggle() mLED_4 = !mLED_4; |
/** SWITCH *********************************************************/ |
#define mInitSwitch2() TRISDbits.TRISD6=1; |
#define mInitSwitch3() TRISDbits.TRISD7=1; |
#define mInitAllSwitches() mInitSwitch2();mInitSwitch3(); |
#define sw2 PORTDbits.RD6 |
#define sw3 PORTDbits.RD7 |
/** POT ************************************************************/ |
#define mInitPOT() {AD1PCFGbits.PCFG5 = 0; AD1CON2bits.VCFG = 0x0; AD1CON3bits.ADCS = 0xFF; AD1CON1bits.SSRC = 0x0; AD1CON3bits.SAMC = 0x10; AD1CON1bits.FORM = 0x0; AD1CON2bits.SMPI = 0x0; AD1CON1bits.ADON = 1;} |
#endif //HARDWARE_PROFILE_PIC32MX460F512L_PIM_H |
/Modules/Clock/CLKGEN01A/SW/DG8SAQ synthesiser_Emulator/HardwareProfile - UBW.h |
---|
0,0 → 1,182 |
/******************************************************************** |
FileName: HardwareProfile - UBW.h |
Dependencies: See INCLUDES section |
Processor: PIC18 USB Microcontrollers |
Hardware: PICDEM FSUSB |
Compiler: Microchip C18 |
Company: Microchip Technology, Inc. |
Software License Agreement: |
The software supplied herewith by Microchip Technology Incorporated |
(the Company) for its PIC® Microcontroller is intended and |
supplied to you, the Companys customer, for use solely and |
exclusively on Microchip PIC Microcontroller products. The |
software is owned by the Company and/or its supplier, and is |
protected under applicable copyright laws. All rights are reserved. |
Any use in violation of the foregoing restrictions may subject the |
user to criminal sanctions under applicable laws, as well as to |
civil liability for the breach of the terms and conditions of this |
license. |
THIS SOFTWARE IS PROVIDED IN AN AS IS CONDITION. NO WARRANTIES, |
WHETHER EXPRESS, IMPLIED OR STATUTORY, INCLUDING, BUT NOT LIMITED |
TO, IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A |
PARTICULAR PURPOSE APPLY TO THIS SOFTWARE. THE COMPANY SHALL NOT, |
IN ANY CIRCUMSTANCES, BE LIABLE FOR SPECIAL, INCIDENTAL OR |
CONSEQUENTIAL DAMAGES, FOR ANY REASON WHATSOEVER. |
******************************************************************** |
File Description: |
Change History: |
Rev Date Description |
1.0 11/19/2004 Initial release |
2.1 02/26/2007 Updated for simplicity and to use common |
coding style |
2.3 09/15/2008 Broke out each hardware platform into its own |
"HardwareProfile - xxx.h" file |
01/15/2009 UBW support |
********************************************************************/ |
#ifndef HARDWARE_PROFILE_UBW_H |
#define HARDWARE_PROFILE_UBW_H |
/*******************************************************************/ |
/******** USB stack hardware selection options *********************/ |
/*******************************************************************/ |
//This section is the set of definitions required by the MCHPFSUSB |
// framework. These definitions tell the firmware what mode it is |
// running in, and where it can find the results to some information |
// that the stack needs. |
//These definitions are required by every application developed with |
// this revision of the MCHPFSUSB framework. Please review each |
// option carefully and determine which options are desired/required |
// for your application. |
//The PICDEM FS USB Demo Board platform supports the USE_SELF_POWER_SENSE_IO |
//and USE_USB_BUS_SENSE_IO features. Uncomment the below line(s) if |
//it is desireable to use one or both of the features. |
//#define USE_SELF_POWER_SENSE_IO |
#define tris_self_power TRISAbits.TRISA2 // Input |
#if defined(USE_SELF_POWER_SENSE_IO) |
#define self_power PORTAbits.RA2 |
#else |
#define self_power 1 |
#endif |
//#define USE_USB_BUS_SENSE_IO |
#define tris_usb_bus_sense TRISAbits.TRISA1 // Input |
#if defined(USE_USB_BUS_SENSE_IO) |
#define USB_BUS_SENSE PORTAbits.RA1 |
#else |
#define USB_BUS_SENSE 1 |
#endif |
//Uncomment the following line to make the output HEX of this |
// project work with the MCHPUSB Bootloader |
#define PROGRAMMABLE_WITH_USB_MCHPUSB_BOOTLOADER |
//Uncomment the following line to make the output HEX of this |
// project work with the HID Bootloader |
//#define PROGRAMMABLE_WITH_USB_HID_BOOTLOADER |
/*******************************************************************/ |
/******** MDD File System selection options ************************/ |
/*******************************************************************/ |
#define USE_PIC18 |
#define ERASE_BLOCK_SIZE 64 |
#define WRITE_BLOCK_SIZE 32 |
/*******************************************************************/ |
/*******************************************************************/ |
/*******************************************************************/ |
/******** Application specific definitions *************************/ |
/*******************************************************************/ |
/*******************************************************************/ |
/*******************************************************************/ |
/** Board definition ***********************************************/ |
//These defintions will tell the main() function which board is |
// currently selected. This will allow the application to add |
// the correct configuration bits as wells use the correct |
// initialization functions for the board. These defitions are only |
// required in the stack provided demos. They are not required in |
// final application design. |
#define DEMO_BOARD UBW |
#define UBW |
#define CLOCK_FREQ 48000000 |
// Special UBW emu board by YAS |
// #define YAS |
/** LED ************************************************************/ |
/* On UBW, LED1 = RC0, LED2 = RC1, SW = RC2 */ |
#define mInitAllLEDs() LATC &= 0xFC; TRISC &= 0xFC; |
#define mLED_1 LATCbits.LATC0 |
#define mLED_2 LATCbits.LATC1 |
#define mLED_1_On() mLED_1 = 1; |
#define mLED_2_On() mLED_2 = 1; |
#define mLED_1_Off() mLED_1 = 0; |
#define mLED_2_Off() mLED_2 = 0; |
#define mLED_1_Toggle() mLED_1 = !mLED_1; |
#define mLED_2_Toggle() mLED_2 = !mLED_2; |
#if defined(YAS) |
#define RXTX LATBbits.LATB5 |
#else |
#define RXTX LATAbits.LATA2 |
#endif |
#define BPF_S0 LATAbits.LATA0 |
#define BPF_S1 LATAbits.LATA1 |
#if defined(YAS) |
#define BPF_S2 LATAbits.LATA2 |
#endif |
#define BPF_S0_STATE PORTAbits.RA0 |
#define BPF_S1_STATE PORTAbits.RA1 |
#if defined(YAS) |
#define BPF_S2_STATE PORTAbits.RA2 |
#endif |
#define PADDLE_DIT PORTBbits.RB6 |
#define PADDLE_DAH PORTBbits.RB7 |
#define LPF_0 LATAbits.LATA3 |
#define LPF_1 LATAbits.LATA4 |
#define LPF_2 LATAbits.LATA5 |
#if defined(YAS) |
#else |
#define LPF_3 LATBbits.LATB2 |
#define LPF_4 LATBbits.LATB3 |
#define LPF_5 LATBbits.LATB4 |
#define LPF_6 LATBbits.LATB5 |
#endif |
/** S W I T C H *****************************************************/ |
#define mInitSwitch() TRISCbits.TRISC2 = 1; |
#define UserSW PORTCbits.RC2 |
#define mLED_Both_Off() {mLED_1_Off(); mLED_2_Off();} |
#define mLED_Both_On() {mLED_1_On(); mLED_2_On();} |
#define mLED_Only_1_On() {mLED_1_On(); mLED_2_Off();} |
#define mLED_Only_2_On() {mLED_1_Off(); mLED_2_On();} |
#endif //HARDWARE_PROFILE_UBW_H |
/Modules/Clock/CLKGEN01A/SW/DG8SAQ synthesiser_Emulator/HardwareProfile - UBW32.h |
---|
0,0 → 1,203 |
/******************************************************************** |
FileName: HardwareProfile - PIC32MX460F512L PIM.h |
Dependencies: See INCLUDES section |
Processor: PIC18 or PIC24 USB Microcontrollers |
Hardware: The code is natively intended to be used on the following |
hardware platforms: PICDEM FS USB Demo Board, |
PIC18F87J50 FS USB Plug-In Module, or |
Explorer 16 + PIC24 USB PIM. The firmware may be |
modified for use on other USB platforms by editing this |
file (HardwareProfile.h). |
Complier: Microchip C18 (for PIC18) or C30 (for PIC24) |
Company: Microchip Technology, Inc. |
Software License Agreement: |
The software supplied herewith by Microchip Technology Incorporated |
(the Company) for its PIC® Microcontroller is intended and |
supplied to you, the Companys customer, for use solely and |
exclusively on Microchip PIC Microcontroller products. The |
software is owned by the Company and/or its supplier, and is |
protected under applicable copyright laws. All rights are reserved. |
Any use in violation of the foregoing restrictions may subject the |
user to criminal sanctions under applicable laws, as well as to |
civil liability for the breach of the terms and conditions of this |
license. |
THIS SOFTWARE IS PROVIDED IN AN AS IS CONDITION. NO WARRANTIES, |
WHETHER EXPRESS, IMPLIED OR STATUTORY, INCLUDING, BUT NOT LIMITED |
TO, IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A |
PARTICULAR PURPOSE APPLY TO THIS SOFTWARE. THE COMPANY SHALL NOT, |
IN ANY CIRCUMSTANCES, BE LIABLE FOR SPECIAL, INCIDENTAL OR |
CONSEQUENTIAL DAMAGES, FOR ANY REASON WHATSOEVER. |
******************************************************************** |
File Description: |
Change History: |
Rev Date Description |
1.0 11/19/2004 Initial release |
2.1 02/26/2007 Updated for simplicity and to use common |
coding style |
********************************************************************/ |
#ifndef HARDWARE_PROFILE_UBW32_H |
#define HARDWARE_PROFILE_UBW32_H |
#include "Compiler.h" |
/*******************************************************************/ |
/*******************************************************************/ |
/*******************************************************************/ |
/******** Application specific definitions *************************/ |
/*******************************************************************/ |
/*******************************************************************/ |
/*******************************************************************/ |
/** Board definition ***********************************************/ |
//These defintions will tell the main() function which board is |
// currently selected. This will allow the application to add |
// the correct configuration bits as wells use the correct |
// initialization functions for the board. These defitions are only |
// required in the stack provided demos. They are not required in |
// final application design. |
/** CPU Clock Speed Assignment *************************************/ |
//#define RUN_AT_48MHZ |
//#define RUN_AT_24MHZ |
//#define RUN_AT_60MHZ |
#define RUN_AT_80MHZ |
// Various clock values |
#if defined(RUN_AT_48MHZ) |
#define GetSystemClock() 48000000UL |
#define GetPeripheralClock() 48000000UL |
#define GetInstructionClock() (GetSystemClock()) |
#elif defined(RUN_AT_24MHZ) |
#define GetSystemClock() 24000000UL |
#define GetPeripheralClock() 24000000UL |
#define GetInstructionClock() (GetSystemClock()) |
#elif defined(RUN_AT_60MHZ) |
#define GetSystemClock() (60000000ul) |
#define GetPeripheralClock() (GetSystemClock()) |
#define GetInstructionClock() (GetSystemClock()) |
#elif defined(RUN_AT_80MHZ) |
#define GetSystemClock() (80000000ul) |
#define GetPeripheralClock() (GetSystemClock()) |
#define GetInstructionClock() (GetSystemClock()) |
#else |
#error Choose a speed |
#endif |
#define PROGRAMMABLE_WITH_USB_HID_BOOTLOADER |
/*******************************************************************/ |
/******** USB stack hardware selection options *********************/ |
/*******************************************************************/ |
//This section is the set of definitions required by the MCHPFSUSB |
// framework. These definitions tell the firmware what mode it is |
// running in, and where it can find the results to some information |
// that the stack needs. |
//These definitions are required by every application developed with |
// this revision of the MCHPFSUSB framework. Please review each |
// option carefully and determine which options are desired/required |
// for your application. |
//#define USE_SELF_POWER_SENSE_IO |
#define tris_self_power TRISAbits.TRISA2 // Input |
#define self_power 1 |
//#define USE_USB_BUS_SENSE_IO |
#define tris_usb_bus_sense TRISBbits.TRISB5 // Input |
#define USB_BUS_SENSE 1 |
/*******************************************************************/ |
/******** Device revision workarounds ******************************/ |
/*******************************************************************/ |
//Uncomment this definition to allow for revision B3 silicon to work |
// with this firmware. |
#define PIC32MX460F512L_REV_B3_WORKAROUND |
/*******************************************************************/ |
/*******************************************************************/ |
/*******************************************************************/ |
/******** Application specific definitions *************************/ |
/*******************************************************************/ |
/*******************************************************************/ |
/*******************************************************************/ |
/** Board definition ***********************************************/ |
//These defintions will tell the main() function which board is |
// currently selected. This will allow the application to add |
// the correct configuration bits as wells use the correct |
// initialization functions for the board. These defitions are only |
// required in the stack provided demos. They are not required in |
// final application design. |
#define DEMO_BOARD UBW32 |
#define UBW32 |
/** LED ************************************************************/ |
#define mInitAllLEDs() LATE |= 0x000F; TRISE &= 0xFFF0; |
#define mLED_1 LATEbits.LATE3 |
#define mLED_2 LATEbits.LATE2 |
#define mLED_3 LATEbits.LATE1 |
#define mLED_4 LATEbits.LATE0 |
#define mGetLED_1() mLED_1 |
#define mGetLED_USB() mLED_1 |
#define mGetLED_2() mLED_2 |
#define mGetLED_3() mLED_3 |
#define mGetLED_4() mLED_4 |
#define mLED_1_On() mLED_1 = 0; |
#define mLED_USB_On() mLED_1 = 0; |
#define mLED_2_On() mLED_2 = 0; |
#define mLED_3_On() mLED_3 = 0; |
#define mLED_4_On() mLED_4 = 0; |
#define mLED_1_Off() mLED_1 = 1; |
#define mLED_USB_Off() mLED_1 = 1; |
#define mLED_2_Off() mLED_2 = 1; |
#define mLED_3_Off() mLED_3 = 1; |
#define mLED_4_Off() mLED_4 = 1; |
#define mLED_1_Toggle() mLED_1 = !mLED_1; |
#define mLED_USB_Toggle() mLED_1 = !mLED_1; |
#define mLED_2_Toggle() mLED_2 = !mLED_2; |
#define mLED_3_Toggle() mLED_3 = !mLED_3; |
#define mLED_4_Toggle() mLED_4 = !mLED_4; |
#define mLED_Both_Off() {mLED_1_Off(); mLED_2_Off();} |
/** SWITCH *********************************************************/ |
#define mInitSwitch2() TRISEbits.TRISE7=1; |
#define mInitSwitch3() TRISEbits.TRISE6=1; |
#define mInitAllSwitches() mInitSwitch2();mInitSwitch3(); |
#define swProgram PORTEbits.RE7 |
#define swUser PORTEbits.RE6 |
#define UserSW swUser |
#define sw2 swUser |
#define RXTX LATAbits.LATA2 |
#define BPF_S0 LATAbits.LATA0 |
#define BPF_S1 LATAbits.LATA1 |
#define BPF_S0_STATE PORTAbits.RA0 |
#define BPF_S1_STATE PORTAbits.RA1 |
#define PADDLE_DIT PORTFbits.RF4 |
#define PADDLE_DAH PORTFbits.RF5 |
#define LPF_0 LATAbits.LATA3 |
#define LPF_1 LATAbits.LATA4 |
#define LPF_2 LATAbits.LATA5 |
#define LPF_3 LATAbits.LATA6 |
#define LPF_4 LATAbits.LATA7 |
#define LPF_5 LATAbits.LATA9 |
#define LPF_6 LATAbits.LATA10 |
#endif |
/Modules/Clock/CLKGEN01A/SW/DG8SAQ synthesiser_Emulator/UBW-I2C.c |
---|
0,0 → 1,413 |
/** INCLUDES *******************************************************/ |
#include "GenericTypeDefs.h" |
#include "Compiler.h" |
#include "HardwareProfile.h" |
#include "USB/usb.h" |
#include "usbavrcmd.h" |
#include "user.h" |
#include <math.h> |
#include <stdlib.h> |
#include <string.h> |
#include <ctype.h> |
#if defined (UBW) |
#include <delays.h> |
#include <i2c.h> |
#include <EEP.h> |
#elif defined (UBW32) |
#include <peripheral/i2c.h> |
#include <dee_emulation/dee_emulation_pic32.h> |
#endif |
/******************************************************************** |
* Section B: EP0 Buffer Space |
*******************************************************************/ |
extern volatile CTRL_TRF_SETUP SetupPkt; // 8-byte only |
extern volatile BYTE CtrlTrfData[USB_EP0_BUFF_SIZE]; |
#pragma udata |
WORD_VAL FilterCrossOver[8]; |
float FilterSwitchOver[7]; |
WORD_VAL LPFCrossOver[8]; |
float LPFSwitchOver[7]; |
#pragma code |
void USBCheckUBWRequest(void) |
{ |
unsigned char paddle_byte; |
unsigned int eep_adr; |
WORD_VAL w; |
unsigned int i, j; |
unsigned char IO_data; |
#if defined (UBW32) |
unsigned int value; |
unsigned int number_of_filter_bytes; |
#else |
unsigned char number_of_filter_bytes; |
#endif |
if(SetupPkt.RequestType == USB_SETUP_TYPE_STANDARD_BITFIELD) return; // only deals with non-standard, ie user requests |
command = SetupPkt.bRequest; // save the command of the user request from the setuppacket |
// it will be used for subsequent data transfer |
switch(command) |
{ |
case CMD_GET_CW_KEY: |
paddle_byte = 0x22; // 00100010 |
if (!PADDLE_DIT) paddle_byte &= 0xdf; // 11011111 |
if (!PADDLE_DAH) paddle_byte &= 0xfd; // 11111101 |
if (RXTX) paddle_byte |= 0x10; // PB4 is the ATTINY PTT_OUT pin 00010000 |
else paddle_byte &= 0xef; // 11101111 |
replybuf[0] = paddle_byte; |
inPipes[0].pSrc.bRam = (BYTE*)&replybuf[0]; // Set Source |
inPipes[0].info.bits.ctrl_trf_mem = USB_EP0_RAM; // Set memory type |
inPipes[0].wCount.v[0] = 1; // Set data count |
inPipes[0].info.bits.busy = 1; |
break; |
case CMD_SET_USRP1: // Set RxTx and get Paddle status |
paddle_byte = 0x22; // 00100010 |
if ( SetupPkt.W_Value.v[0] ){ |
RXTX = 1; // Set PTT |
paddle_byte |= 0x10; // 00010000 |
} |
else{ |
RXTX = 0; |
paddle_byte &= 0xef; // 11101111 |
}; |
if (!PADDLE_DIT) paddle_byte &= 0xdf; // 11011111 |
if (!PADDLE_DAH) paddle_byte &= 0xfd; // 11111101 |
replybuf[0] = paddle_byte; |
inPipes[0].pSrc.bRam = (BYTE*)&replybuf[0]; // Set Source |
inPipes[0].info.bits.ctrl_trf_mem = USB_EP0_RAM; // Set memory type |
inPipes[0].wCount.v[0] = 1; // Set data count |
inPipes[0].info.bits.busy = 1; |
break; |
case CMD_SET_FREQ_REG: // Control Transfer Rx of data from HOST->UBW |
case CMD_SET_LO_SM: |
case CMD_SET_FREQ: |
case CMD_SET_XTAL: |
case CMD_SET_STARTUP: |
case CMD_SET_PPM: |
wCount = SetupPkt.wLength; |
outPipes[0].wCount.Val = SetupPkt.wLength; |
outPipes[0].pFunc = &Read_Command_Into_Buffer; |
outPipes[0].pDst.bRam = (BYTE*) &command_buffer[current_command_in].data[0]; |
outPipes[0].info.bits.busy = 1; |
break; |
case CMD_GET_PIN: // read ports |
IO_data = 0x0d; // 00001101 |
if (PADDLE_DAH) IO_data |= 0x02; // PB1 |
if (BPF_S0_STATE) IO_data |= 0x10; // PB4 |
if (BPF_S1_STATE) IO_data |= 0x20; // PB5 |
replybuf[0] = IO_data; |
inPipes[0].pSrc.bRam = (BYTE*)&replybuf[0]; // Set Source |
inPipes[0].info.bits.ctrl_trf_mem = USB_EP0_RAM; // Set memory type |
inPipes[0].wCount.v[0] = 1; // Set data count |
inPipes[0].info.bits.busy = 1; |
break; |
case CMD_SET_PORT: // set ports |
IO_data = SetupPkt.W_Value.v[0]; |
if (!abpf_flag){ |
if (IO_data & 0x10) BPF_S0 = 1; |
else BPF_S0 = 0; |
if (IO_data & 0x20) BPF_S1 = 1; |
else BPF_S1 = 0; |
}; |
break; |
case CMD_SET_IO: // set i/o bits |
IO_data = SetupPkt.W_Index.v[0] & 0x03; // only 2 bits active 00000011 |
if (!abpf_flag) { // abpf inactive |
if (IO_data & 0x01) BPF_S0 = 1; // Simulate IO_PIN1 in ATTINY |
else BPF_S0 = 0; |
if (IO_data & 0x02) BPF_S1 = 1; // Simulate IO_PIN2 in ATTINY |
else BPF_S1 = 0; |
} |
IO_data = BPF_S0_STATE; // read back status of BPF select pins |
if (BPF_S1_STATE) IO_data |= 0x02; |
else IO_data &= 0x01; |
replybuf[0] = IO_data; |
replybuf[1] = 0x00; |
inPipes[0].pSrc.bRam = (BYTE*)&replybuf[0]; // Set Source |
inPipes[0].info.bits.ctrl_trf_mem = USB_EP0_RAM; // Set memory type |
inPipes[0].wCount.v[0] = 2; // Set data count |
inPipes[0].info.bits.busy = 1; |
break; |
case CMD_GET_IO: |
IO_data = BPF_S0_STATE; // status of BPF select pins |
if (BPF_S1_STATE) IO_data |= 0x02; |
else IO_data &= 0x01; |
replybuf[0] = IO_data; |
replybuf[1] = 0x00; |
inPipes[0].pSrc.bRam = (BYTE*)&replybuf[0]; // Set Source |
inPipes[0].info.bits.ctrl_trf_mem = USB_EP0_RAM; // Set memory type |
inPipes[0].wCount.v[0] = 2; // Set data count |
inPipes[0].info.bits.busy = 1; |
break; |
case CMD_SET_FILTER: // Set and Read filter crossover points |
i = SetupPkt.W_Index.Val; |
if (i < 256){ // Rx Filter |
number_of_filter_bytes = NUM_BPF * 2; |
inPipes[0].pSrc.bRam = (BYTE*)&FilterCrossOver[0]; // Set source |
if (i < NUM_BPF) { |
FilterCrossOver[i].Val = SetupPkt.W_Value.Val; |
if (i != (NUM_BPF-1)) FilterSwitchOver[i] = Cross2Switch(FilterCrossOver[i]); |
else abpf_flag = SetupPkt.W_Value.Val; |
} |
} |
else{ // Tx filter |
number_of_filter_bytes = 16; |
inPipes[0].pSrc.bRam = (BYTE*)&LPFCrossOver[0]; // Set source |
j = i - 256; |
if ( j < 8){ |
LPFCrossOver[j].Val = SetupPkt.W_Value.Val; |
if (j != 7) LPFSwitchOver[j] = Cross2Switch(LPFCrossOver[j]); |
}; |
}; |
// now that a filter value of filter enable/disable value is set, update the EEPROM |
#if defined (UBW) |
for (i = 0; i < NUM_BPF; i++){ |
Write_b_eep((i * 2 + F_CROSS_OVER +1), FilterCrossOver[i].v[0]); |
Busy_eep(); |
Write_b_eep((i * 2 + F_CROSS_OVER + 1 + 1), FilterCrossOver[i].v[1]); |
Busy_eep(); |
} |
#elif defined (UBW32) |
for (i =0; i < NUM_BPF; i++) DataEEWrite( FilterCrossOver[i].Val , (i + F_CROSS_OVER +1)); |
#endif |
#if defined (UBW) |
for (j = 0; j < 8; j++){ |
Write_b_eep(( j * 2 + F_CROSS_OVER +17), LPFCrossOver[j].v[0]); |
Busy_eep(); |
Write_b_eep(( j * 2 + F_CROSS_OVER +17 + 1), LPFCrossOver[j].v[1]); |
Busy_eep(); |
} |
Write_b_eep(F_CROSS_OVER, F_CROSS_OVER_VALUE); |
Busy_eep(); |
#elif defined (UBW32) |
for (j = 0; j < 8; j++){ |
DataEEWrite( (unsigned int)LPFCrossOver[j].Val , (j + F_CROSS_OVER +9)); |
}; |
DataEEWrite(F_CROSS_OVER_VALUE, F_CROSS_OVER); |
#endif |
inPipes[0].wCount.v[0] = number_of_filter_bytes; // Set data count |
inPipes[0].info.bits.ctrl_trf_mem = USB_EP0_RAM; // Set memory type |
inPipes[0].info.bits.busy = 1; |
break; |
case CMD_SET_SI570: // SI570: write byte from register index |
i2c_adr = SetupPkt.W_Value.v[0]; |
#if defined (UBW) |
IdleI2C(); |
StartI2C(); |
IdleI2C(); |
WriteI2C( i2c_adr <<1); |
WriteI2C( SetupPkt.W_Value.v[1]); // register = byte 3 |
WriteI2C( SetupPkt.W_Index.v[0]); // value to write to register |
StopI2C(); |
IdleI2C(); |
#elif defined (UBW32) |
IdleI2C1(); |
StartI2C1(); |
IdleI2C1(); |
MasterWriteI2C1( i2c_adr <<1); |
MasterWriteI2C1( SetupPkt.W_Value.v[1]); // register = byte 3 |
MasterWriteI2C1( SetupPkt.W_Index.v[0]); // value to write to register |
StopI2C1(); |
IdleI2C1(); |
#endif |
replybuf[0] = 0; // just say no errors |
inPipes[0].pSrc.bRam = (BYTE*)&replybuf[0]; // Set Source |
inPipes[0].info.bits.ctrl_trf_mem = USB_EP0_RAM; // Set memory type |
inPipes[0].wCount.v[0] = 1; // Set data count |
inPipes[0].info.bits.busy = 1; |
break; |
case CMD_GET_LO_SM: // return sub mul |
for (i=0; i<4; i++) replybuf[i] = f_sub.bytes[i]; |
for (i=0; i<4; i++) replybuf[i+4] = f_mul.bytes[i]; |
inPipes[0].pSrc.bRam = (BYTE*)&replybuf[0]; // Set Source |
inPipes[0].info.bits.ctrl_trf_mem = USB_EP0_RAM; // Set memory type |
inPipes[0].wCount.v[0] = 8; // Set data count |
inPipes[0].info.bits.busy = 1; |
break; |
case CMD_GET_FREQ: // return set freq, ie no offset/mul |
avr_freq.qw = set_frequency * (double)(1L << 21); |
inPipes[0].pSrc.bRam = (BYTE*)&avr_freq.bytes[0]; // Set Source |
inPipes[0].info.bits.ctrl_trf_mem = USB_EP0_RAM; // Set memory type |
inPipes[0].wCount.v[0] = 4; // Set data count |
inPipes[0].info.bits.busy = 1; |
break; |
case CMD_GET_PPM: // return smooth tune in ppm |
w.Val = Smooth_double * 1000000L; |
inPipes[0].pSrc.bRam = (BYTE*)&w.v[0]; // Set Source |
inPipes[0].info.bits.ctrl_trf_mem = USB_EP0_RAM; // Set memory type |
inPipes[0].wCount.v[0] = 2; // Set data count |
inPipes[0].info.bits.busy = 1; |
break; |
case CMD_GET_STARTUP: // return init startup freq |
#if defined(UBW) |
for (i=0; i<4; i++) avr_freq.bytes[i] = Read_b_eep(i + F_INIT_FREQ +1); |
#elif defined(UBW32) |
for (i=0; i<4; i++) { |
DataEERead(&value, (i + F_INIT_FREQ +1)); |
avr_freq.bytes[i] = value; |
}; |
#endif |
inPipes[0].pSrc.bRam = (BYTE*)&avr_freq.bytes[0]; // Set Source |
inPipes[0].info.bits.ctrl_trf_mem = USB_EP0_RAM; // Set memory type |
inPipes[0].wCount.v[0] = 4; // Set data count |
inPipes[0].info.bits.busy = 1; |
break; |
case CMD_GET_XTAL: // return fcryst |
inPipes[0].pSrc.bRam = (BYTE*)&fcryst_freq.bytes[0]; // Set Source |
inPipes[0].info.bits.ctrl_trf_mem = USB_EP0_RAM; // Set memory type |
inPipes[0].wCount.v[0] = 4; // Set data count |
inPipes[0].info.bits.busy = 1; |
break; |
case CMD_GET_SI570: // SI570: read out frequency control registers |
i2c_adr = SetupPkt.W_Value.v[0]; |
ReadRegs(); |
inPipes[0].pSrc.bRam = (BYTE*)®isters[0]; // Set Source |
inPipes[0].info.bits.ctrl_trf_mem = USB_EP0_RAM; // Set memory type |
inPipes[0].wCount.v[0] = 6; // Set data count |
inPipes[0].info.bits.busy = 1; |
break; |
case CMD_GET_I2C_ERR: // return # of i2c errors, set to zero always |
replybuf[0] = 0; // No errors :) |
inPipes[0].pSrc.bRam = (BYTE*)&replybuf[0]; // Set Source |
inPipes[0].info.bits.ctrl_trf_mem = USB_EP0_RAM; // Set memory type |
inPipes[0].wCount.v[0] = 1; // Set data count |
inPipes[0].info.bits.busy = 1; |
break; |
case CMD_SET_I2C_ADDR: // Reset EEPROM to default values if 255 |
// Otherwise just set i2c address |
if (SetupPkt.W_Value.v[0] == 0xff){ |
#if defined (UBW) |
Write_b_eep(F_CAL_DONE, 0xff); |
Busy_eep(); |
Write_b_eep(F_INIT_FREQ, 0xff); |
Busy_eep(); |
Write_b_eep(F_SMOOTH, 0xff); |
Busy_eep(); |
Write_b_eep(F_SUB_MUL, 0xff); |
Busy_eep(); |
Write_b_eep(F_CROSS_OVER, 0xff); |
Busy_eep(); |
#elif defined (UBW32) |
DataEEWrite( (unsigned int) 0xff, F_CAL_DONE); |
DataEEWrite( (unsigned int) 0xff, F_INIT_FREQ); |
DataEEWrite( (unsigned int) 0xff, F_SMOOTH); |
DataEEWrite( (unsigned int) 0xff, F_SUB_MUL); |
DataEEWrite( (unsigned int) 0xff, F_CROSS_OVER); |
#endif |
i2c_adr = 0x55; |
} |
else { |
i2c_adr = SetupPkt.W_Value.v[0]; |
}; |
replybuf[0] = 0x00; |
inPipes[0].pSrc.bRam = (BYTE*)&replybuf[0]; // Set Source |
inPipes[0].info.bits.ctrl_trf_mem = USB_EP0_RAM; // Set memory type |
inPipes[0].wCount.v[0] = 1; // Set data count |
inPipes[0].info.bits.busy = 1; |
break; |
case CMD_GET_VERSION: // return version 15.10 |
replybuf[0] = VERSION_MINOR; |
replybuf[1] = VERSION_MAJOR; |
inPipes[0].pSrc.bRam = (BYTE*)&replybuf[0]; // Set Source |
inPipes[0].info.bits.ctrl_trf_mem = USB_EP0_RAM; // Set memory type |
inPipes[0].wCount.v[0] = 2; // Set data count |
inPipes[0].info.bits.busy = 1; |
break; |
default: // Command not supported |
replybuf[0] = 0xff; |
inPipes[0].pSrc.bRam = (BYTE*)&replybuf[0] ; // Set Source |
inPipes[0].info.bits.ctrl_trf_mem = USB_EP0_RAM; // Set memory type |
inPipes[0].wCount.v[0] = 1; // Set data count |
inPipes[0].info.bits.busy = 1; |
break; |
}//end switch |
} |
void Read_Command_Into_Buffer(void) |
{ |
if (command_count >= COMMAND_BUFFER_SIZE){ // buffer full |
current_command_out++; // discards oldest command |
if (current_command_out >= COMMAND_BUFFER_SIZE) current_command_out = 0; |
command_count--; // now one command less (discarded) |
}; |
command_buffer[current_command_in].command = command; |
command_buffer[current_command_in].wCount = wCount; |
// data already copied to command_buffer before this outpipe pFunc is called |
current_command_in++; |
if (current_command_in >= COMMAND_BUFFER_SIZE) current_command_in = 0; |
command_count++; |
} |
/Modules/Clock/CLKGEN01A/SW/DG8SAQ synthesiser_Emulator/rm18f4550 - HID Bootload.lkr |
---|
0,0 → 1,44 |
// File: Application_18f4550.lkr |
// Use this linker for the USB application that will be self programmed by the HID bootloader. |
// The HID bootloader project itself uses the BootModified.18f4450.lkr file instead. |
// THIS LINKER SCRIPT HAS BEEN MODIFIED... This version is intended to be used |
// with the "PROGRAMMABLE_WITH_USB_HID_BOOTLOADER" bootloader. The HID |
// bootloader occupies memory ranges 0x000-0xFFF. In order for the code generated |
// by this project to work with the bootloader, the linker must not put any code |
// in the 0x00-0xFFF address range. |
// This linker script was originated from the 18f4550.lkr file provided by |
// the MCC18 distribution. |
LIBPATH . |
FILES c018i.o |
FILES clib.lib |
FILES p18f4550.lib |
CODEPAGE NAME=bootloader START=0x0 END=0xFFF PROTECTED |
CODEPAGE NAME=vectors START=0x1000 END=0x1029 PROTECTED |
CODEPAGE NAME=page START=0x102A END=0x7FFF |
CODEPAGE NAME=idlocs START=0x200000 END=0x200007 PROTECTED |
CODEPAGE NAME=config START=0x300000 END=0x30000D PROTECTED |
CODEPAGE NAME=devid START=0x3FFFFE END=0x3FFFFF PROTECTED |
CODEPAGE NAME=eedata START=0xF00000 END=0xF000FF PROTECTED |
ACCESSBANK NAME=accessram START=0x0 END=0x5F |
DATABANK NAME=gpr0 START=0x60 END=0xFF |
DATABANK NAME=gpr1 START=0x100 END=0x1FF |
DATABANK NAME=gpr2 START=0x200 END=0x2FF |
DATABANK NAME=gpr3 START=0x300 END=0x3FF |
DATABANK NAME=usb4 START=0x400 END=0x4FF PROTECTED |
DATABANK NAME=usb5 START=0x500 END=0x5FF PROTECTED |
DATABANK NAME=usb6 START=0x600 END=0x6FF PROTECTED |
DATABANK NAME=usb7 START=0x700 END=0x7FF PROTECTED |
ACCESSBANK NAME=accesssfr START=0xF60 END=0xFFF PROTECTED |
SECTION NAME=CONFIG ROM=config |
STACK SIZE=0x100 RAM=gpr3 |
SECTION NAME=USB_VARS RAM=usb4 |
/Modules/Clock/CLKGEN01A/SW/DG8SAQ synthesiser_Emulator/rm18f4550 - MCHPUSB Bootload.lkr |
---|
0,0 → 1,37 |
// FileName: rm18f4550.lkr |
// Sample linker command file for 18F4550 with Bootloader |
// |
//Change History: |
// Rev Date Description |
// 1.0 10/30/2004 Initial release |
LIBPATH . |
FILES c018i.o |
FILES clib.lib |
FILES p18f4550.lib |
CODEPAGE NAME=boot START=0x0 END=0x7FF PROTECTED |
CODEPAGE NAME=vectors START=0x800 END=0x0x829 PROTECTED |
CODEPAGE NAME=page START=0x82A END=0x7FFF |
CODEPAGE NAME=idlocs START=0x200000 END=0x200007 PROTECTED |
CODEPAGE NAME=config START=0x300000 END=0x30000D PROTECTED |
CODEPAGE NAME=devid START=0x3FFFFE END=0x3FFFFF PROTECTED |
CODEPAGE NAME=eedata START=0xF00000 END=0xF000FF PROTECTED |
ACCESSBANK NAME=accessram START=0x0 END=0x5F |
DATABANK NAME=gpr0 START=0x60 END=0xFF |
DATABANK NAME=gpr1 START=0x100 END=0x1FF |
DATABANK NAME=gpr2 START=0x200 END=0x2FF |
DATABANK NAME=gpr3 START=0x300 END=0x3FF |
DATABANK NAME=usb4 START=0x400 END=0x4FF PROTECTED |
DATABANK NAME=usb5 START=0x500 END=0x5FF PROTECTED |
DATABANK NAME=usb6 START=0x600 END=0x6FF PROTECTED |
DATABANK NAME=usb7 START=0x700 END=0x7FF PROTECTED |
ACCESSBANK NAME=accesssfr START=0xF60 END=0xFFF PROTECTED |
SECTION NAME=CONFIG ROM=config |
STACK SIZE=0x100 RAM=gpr3 |
SECTION NAME=USB_VARS RAM=usb4 |
/Modules/Clock/CLKGEN01A/SW/DG8SAQ synthesiser_Emulator/rm18f4550.lkr |
---|
0,0 → 1,37 |
// FileName: rm18f4550.lkr |
// Sample linker command file for 18F4550 with Bootloader |
// |
//Change History: |
// Rev Date Description |
// 1.0 10/30/2004 Initial release |
LIBPATH . |
FILES c018i.o |
FILES clib.lib |
FILES p18f4550.lib |
CODEPAGE NAME=boot START=0x0 END=0x7FF PROTECTED |
CODEPAGE NAME=vectors START=0x800 END=0x0x829 PROTECTED |
CODEPAGE NAME=page START=0x82A END=0x7FFF |
CODEPAGE NAME=idlocs START=0x200000 END=0x200007 PROTECTED |
CODEPAGE NAME=config START=0x300000 END=0x30000D PROTECTED |
CODEPAGE NAME=devid START=0x3FFFFE END=0x3FFFFF PROTECTED |
CODEPAGE NAME=eedata START=0xF00000 END=0xF000FF PROTECTED |
ACCESSBANK NAME=accessram START=0x0 END=0x5F |
DATABANK NAME=gpr0 START=0x60 END=0xFF |
DATABANK NAME=gpr1 START=0x100 END=0x1FF |
DATABANK NAME=gpr2 START=0x200 END=0x2FF |
DATABANK NAME=gpr3 START=0x300 END=0x3FF |
DATABANK NAME=usb4 START=0x400 END=0x4FF PROTECTED |
DATABANK NAME=usb5 START=0x500 END=0x5FF PROTECTED |
DATABANK NAME=usb6 START=0x600 END=0x6FF PROTECTED |
DATABANK NAME=usb7 START=0x700 END=0x7FF PROTECTED |
ACCESSBANK NAME=accesssfr START=0xF60 END=0xFFF PROTECTED |
SECTION NAME=CONFIG ROM=config |
STACK SIZE=0x100 RAM=gpr3 |
SECTION NAME=USB_VARS RAM=usb4 |
/Modules/Clock/CLKGEN01A/SW/DG8SAQ synthesiser_Emulator/usb_config.h |
---|
0,0 → 1,125 |
/******************************************************************** |
FileName: usb_config.h |
Dependencies: Always: GenericTypeDefs.h, usb_device.h |
Situational: usb_function_hid.h, usb_function_cdc.h, usb_function_msd.h, etc. |
Processor: PIC18 or PIC24 USB Microcontrollers |
Hardware: The code is natively intended to be used on the following |
hardware platforms: PICDEM FS USB Demo Board, |
PIC18F87J50 FS USB Plug-In Module, or |
Explorer 16 + PIC24 USB PIM. The firmware may be |
modified for use on other USB platforms by editing the |
HardwareProfile.h file. |
Complier: Microchip C18 (for PIC18) or C30 (for PIC24) |
Company: Microchip Technology, Inc. |
Software License Agreement: |
The software supplied herewith by Microchip Technology Incorporated |
(the Company) for its PIC® Microcontroller is intended and |
supplied to you, the Companys customer, for use solely and |
exclusively on Microchip PIC Microcontroller products. The |
software is owned by the Company and/or its supplier, and is |
protected under applicable copyright laws. All rights are reserved. |
Any use in violation of the foregoing restrictions may subject the |
user to criminal sanctions under applicable laws, as well as to |
civil liability for the breach of the terms and conditions of this |
license. |
THIS SOFTWARE IS PROVIDED IN AN AS IS CONDITION. NO WARRANTIES, |
WHETHER EXPRESS, IMPLIED OR STATUTORY, INCLUDING, BUT NOT LIMITED |
TO, IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A |
PARTICULAR PURPOSE APPLY TO THIS SOFTWARE. THE COMPANY SHALL NOT, |
IN ANY CIRCUMSTANCES, BE LIABLE FOR SPECIAL, INCIDENTAL OR |
CONSEQUENTIAL DAMAGES, FOR ANY REASON WHATSOEVER. |
******************************************************************** |
File Description: |
Change History: |
Rev Date Description |
1.0 11/19/2004 Initial release |
2.1 02/26/2007 Updated for simplicity and to use common |
coding style |
*******************************************************************/ |
/********************************************************************* |
* Descriptor specific type definitions are defined in: usbd.h |
********************************************************************/ |
#ifndef USBCFG_H |
#define USBCFG_H |
/** DEFINITIONS ****************************************************/ |
#define USB_EP0_BUFF_SIZE 8 // Valid Options: 8, 16, 32, or 64 bytes. |
// Using larger options take more SRAM, but |
// does not provide much advantage in most types |
// of applications. Exceptions to this, are applications |
// that use EP0 IN or OUT for sending large amounts of |
// application related data. |
#define USB_MAX_NUM_INT 1 // For tracking Alternate Setting |
#define USB_MAX_EP_NUMBER 1 |
//Device descriptor - if these two definitions are not defined then |
// a ROM USB_DEVICE_DESCRIPTOR variable by the exact name of device_dsc |
// must exist. |
#define USB_USER_DEVICE_DESCRIPTOR &device_dsc |
#define USB_USER_DEVICE_DESCRIPTOR_INCLUDE extern ROM USB_DEVICE_DESCRIPTOR device_dsc |
//Configuration descriptors - if these two definitions do not exist then |
// a ROM BYTE *ROM variable named exactly USB_CD_Ptr[] must exist. |
#define USB_USER_CONFIG_DESCRIPTOR USB_CD_Ptr |
#define USB_USER_CONFIG_DESCRIPTOR_INCLUDE extern ROM BYTE *ROM USB_CD_Ptr[] |
//Make sure only one of the below "#define USB_PING_PONG_MODE" |
//is uncommented. |
//#define USB_PING_PONG_MODE USB_PING_PONG__NO_PING_PONG |
#define USB_PING_PONG_MODE USB_PING_PONG__FULL_PING_PONG |
//#define USB_PING_PONG_MODE USB_PING_PONG__EP0_OUT_ONLY |
//#define USB_PING_PONG_MODE USB_PING_PONG__ALL_BUT_EP0 //NOTE: This mode is not supported in PIC18F4550 family rev A3 devices |
#define USB_POLLING |
//#define USB_INTERRUPT |
/* Parameter definitions are defined in usb_device.h */ |
#define USB_PULLUP_OPTION USB_PULLUP_ENABLE |
//#define USB_PULLUP_OPTION USB_PULLUP_DISABLED |
#define USB_TRANSCEIVER_OPTION USB_INTERNAL_TRANSCEIVER |
//External Transceiver support is not available on all product families. Please |
// refer to the product family datasheet for more information if this feature |
// is available on the target processor. |
//#define USB_TRANSCEIVER_OPTION USB_EXTERNAL_TRANSCEIVER |
#define USB_SPEED_OPTION USB_FULL_SPEED |
//#define USB_SPEED_OPTION USB_LOW_SPEED //(not valid option for PIC24F devices) |
#define USB_SUPPORT_DEVICE |
#define USB_NUM_STRING_DESCRIPTORS 4 |
//#define USB_INTERRUPT_LEGACY_CALLBACKS |
#define USB_ENABLE_ALL_HANDLERS |
//#define USB_ENABLE_SUSPEND_HANDLER |
//#define USB_ENABLE_WAKEUP_FROM_SUSPEND_HANDLER |
//#define USB_ENABLE_SOF_HANDLER |
//#define USB_ENABLE_ERROR_HANDLER |
//#define USB_ENABLE_OTHER_REQUEST_HANDLER |
//#define USB_ENABLE_SET_DESCRIPTOR_HANDLER |
//#define USB_ENABLE_INIT_EP_HANDLER |
//#define USB_ENABLE_EP0_DATA_HANDLER |
//#define USB_ENABLE_TRANSFER_COMPLETE_HANDLER |
/** DEVICE CLASS USAGE *********************************************/ |
#define USB_USE_GEN |
/** ENDPOINTS ALLOCATION *******************************************/ |
/* Generic */ |
#define USBGEN_EP_SIZE 64 |
#define USBGEN_EP_NUM 1 |
/** DEFINITIONS ****************************************************/ |
#endif //USBCFG_H |
/Modules/Clock/CLKGEN01A/SW/DG8SAQ synthesiser_Emulator/usb_descriptors.c |
---|
0,0 → 1,265 |
/******************************************************************** |
FileName: usb_descriptors.c |
Dependencies: See INCLUDES section |
Processor: PIC18 or PIC24 USB Microcontrollers |
Hardware: The code is natively intended to be used on the following |
hardware platforms: PICDEM FS USB Demo Board, |
PIC18F87J50 FS USB Plug-In Module, or |
Explorer 16 + PIC24 USB PIM. The firmware may be |
modified for use on other USB platforms by editing the |
HardwareProfile.h file. |
Complier: Microchip C18 (for PIC18) or C30 (for PIC24) |
Company: Microchip Technology, Inc. |
Software License Agreement: |
The software supplied herewith by Microchip Technology Incorporated |
(the Company) for its PIC® Microcontroller is intended and |
supplied to you, the Companys customer, for use solely and |
exclusively on Microchip PIC Microcontroller products. The |
software is owned by the Company and/or its supplier, and is |
protected under applicable copyright laws. All rights are reserved. |
Any use in violation of the foregoing restrictions may subject the |
user to criminal sanctions under applicable laws, as well as to |
civil liability for the breach of the terms and conditions of this |
license. |
THIS SOFTWARE IS PROVIDED IN AN AS IS CONDITION. NO WARRANTIES, |
WHETHER EXPRESS, IMPLIED OR STATUTORY, INCLUDING, BUT NOT LIMITED |
TO, IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A |
PARTICULAR PURPOSE APPLY TO THIS SOFTWARE. THE COMPANY SHALL NOT, |
IN ANY CIRCUMSTANCES, BE LIABLE FOR SPECIAL, INCIDENTAL OR |
CONSEQUENTIAL DAMAGES, FOR ANY REASON WHATSOEVER. |
********************************************************************* |
-usb_descriptors.c- |
------------------------------------------------------------------- |
Filling in the descriptor values in the usb_descriptors.c file: |
------------------------------------------------------------------- |
[Device Descriptors] |
The device descriptor is defined as a USB_DEVICE_DESCRIPTOR type. |
This type is defined in usb_ch9.h Each entry into this structure |
needs to be the correct length for the data type of the entry. |
[Configuration Descriptors] |
The configuration descriptor was changed in v2.x from a structure |
to a BYTE array. Given that the configuration is now a byte array |
each byte of multi-byte fields must be listed individually. This |
means that for fields like the total size of the configuration where |
the field is a 16-bit value "64,0," is the correct entry for a |
configuration that is only 64 bytes long and not "64," which is one |
too few bytes. |
The configuration attribute must always have the _DEFAULT |
definition at the minimum. Additional options can be ORed |
to the _DEFAULT attribute. Available options are _SELF and _RWU. |
These definitions are defined in the usb_device.h file. The |
_SELF tells the USB host that this device is self-powered. The |
_RWU tells the USB host that this device supports Remote Wakeup. |
[Endpoint Descriptors] |
Like the configuration descriptor, the endpoint descriptors were |
changed in v2.x of the stack from a structure to a BYTE array. As |
endpoint descriptors also has a field that are multi-byte entities, |
please be sure to specify both bytes of the field. For example, for |
the endpoint size an endpoint that is 64 bytes needs to have the size |
defined as "64,0," instead of "64," |
Take the following example: |
// Endpoint Descriptor // |
0x07, //the size of this descriptor // |
USB_DESCRIPTOR_ENDPOINT, //Endpoint Descriptor |
_EP02_IN, //EndpointAddress |
_INT, //Attributes |
0x08,0x00, //size (note: 2 bytes) |
0x02, //Interval |
The first two parameters are self-explanatory. They specify the |
length of this endpoint descriptor (7) and the descriptor type. |
The next parameter identifies the endpoint, the definitions are |
defined in usb_device.h and has the following naming |
convention: |
_EP<##>_<dir> |
where ## is the endpoint number and dir is the direction of |
transfer. The dir has the value of either 'OUT' or 'IN'. |
The next parameter identifies the type of the endpoint. Available |
options are _BULK, _INT, _ISO, and _CTRL. The _CTRL is not |
typically used because the default control transfer endpoint is |
not defined in the USB descriptors. When _ISO option is used, |
addition options can be ORed to _ISO. Example: |
_ISO|_AD|_FE |
This describes the endpoint as an isochronous pipe with adaptive |
and feedback attributes. See usb_device.h and the USB |
specification for details. The next parameter defines the size of |
the endpoint. The last parameter in the polling interval. |
------------------------------------------------------------------- |
Adding a USB String |
------------------------------------------------------------------- |
A string descriptor array should have the following format: |
rom struct{byte bLength;byte bDscType;word string[size];}sdxxx={ |
sizeof(sdxxx),DSC_STR,<text>}; |
The above structure provides a means for the C compiler to |
calculate the length of string descriptor sdxxx, where xxx is the |
index number. The first two bytes of the descriptor are descriptor |
length and type. The rest <text> are string texts which must be |
in the unicode format. The unicode format is achieved by declaring |
each character as a word type. The whole text string is declared |
as a word array with the number of characters equals to <size>. |
<size> has to be manually counted and entered into the array |
declaration. Let's study this through an example: |
if the string is "USB" , then the string descriptor should be: |
(Using index 02) |
rom struct{byte bLength;byte bDscType;word string[3];}sd002={ |
sizeof(sd002),DSC_STR,'U','S','B'}; |
A USB project may have multiple strings and the firmware supports |
the management of multiple strings through a look-up table. |
The look-up table is defined as: |
rom const unsigned char *rom USB_SD_Ptr[]={&sd000,&sd001,&sd002}; |
The above declaration has 3 strings, sd000, sd001, and sd002. |
Strings can be removed or added. sd000 is a specialized string |
descriptor. It defines the language code, usually this is |
US English (0x0409). The index of the string must match the index |
position of the USB_SD_Ptr array, &sd000 must be in position |
USB_SD_Ptr[0], &sd001 must be in position USB_SD_Ptr[1] and so on. |
The look-up table USB_SD_Ptr is used by the get string handler |
function. |
------------------------------------------------------------------- |
The look-up table scheme also applies to the configuration |
descriptor. A USB device may have multiple configuration |
descriptors, i.e. CFG01, CFG02, etc. To add a configuration |
descriptor, user must implement a structure similar to CFG01. |
The next step is to add the configuration descriptor name, i.e. |
cfg01, cfg02,.., to the look-up table USB_CD_Ptr. USB_CD_Ptr[0] |
is a dummy place holder since configuration 0 is the un-configured |
state according to the definition in the USB specification. |
********************************************************************/ |
/********************************************************************* |
* Descriptor specific type definitions are defined in: |
* usb_device.h |
* |
* Configuration options are defined in: |
* usb_config.h |
********************************************************************/ |
#ifndef __USB_DESCRIPTORS_C |
#define __USB_DESCRIPTORS_C |
/** INCLUDES *******************************************************/ |
/* |
#include "GenericTypeDefs.h" |
#include "Compiler.h" |
#include "usb_config.h" |
#include "USB/usb_device.h" |
*/ |
#include "./USB/usb.h" |
/** CONSTANTS ******************************************************/ |
#if defined(__18CXX) |
#pragma romdata |
#endif |
/* Device Descriptor */ |
ROM USB_DEVICE_DESCRIPTOR device_dsc= |
{ |
0x12, // Size of this descriptor in bytes |
USB_DESCRIPTOR_DEVICE, // DEVICE descriptor type |
0x0200, // USB Spec Release Number in BCD format |
0x00, // Class Code |
0x00, // Subclass code |
0x00, // Protocol code |
USB_EP0_BUFF_SIZE, // Max packet size for EP0, see usb_config.h |
0x16C0, // Vendor ID VOTI AVR USB device |
0x05DC, // Product ID: obdev's free PID |
0x0000, // Device release number in BCD format |
0x01, // Manufacturer string index |
0x02, // Product string index |
0x03, // Device serial number string index |
0x01 // Number of possible configurations |
}; |
/* Configuration 1 Descriptor */ |
ROM BYTE configDescriptor1[]={ |
/* Configuration Descriptor */ |
0x09,//sizeof(USB_CFG_DSC), // Size of this descriptor in bytes |
USB_DESCRIPTOR_CONFIGURATION, // CONFIGURATION descriptor type |
0x20,0x00, // Total length of data for this cfg |
1, // Number of interfaces in this cfg |
1, // Index value of this configuration |
0, // Configuration string index |
_DEFAULT | _SELF, // Attributes, see usb_device.h |
50, // Max power consumption (2X mA) |
/* Interface Descriptor */ |
0x09,//sizeof(USB_INTF_DSC), // Size of this descriptor in bytes |
USB_DESCRIPTOR_INTERFACE, // INTERFACE descriptor type |
0, // Interface Number |
0, // Alternate Setting Number |
2, // Number of endpoints in this intf |
0x00, // Class code |
0x00, // Subclass code |
0x00, // Protocol code |
0, // Interface string index |
/* Endpoint Descriptor */ |
0x07, /*sizeof(USB_EP_DSC)*/ |
USB_DESCRIPTOR_ENDPOINT, //Endpoint Descriptor |
_EP01_OUT, //EndpointAddress |
_BULK, //Attributes |
USBGEN_EP_SIZE,0x00, //size |
1, //Interval |
0x07, /*sizeof(USB_EP_DSC)*/ |
USB_DESCRIPTOR_ENDPOINT, //Endpoint Descriptor |
_EP01_IN, //EndpointAddress |
_BULK, //Attributes |
USBGEN_EP_SIZE,0x00, //size |
1 //Interval |
}; |
//Language code string descriptor |
ROM struct{BYTE bLength;BYTE bDscType;WORD string[1];}sd000={ |
sizeof(sd000),USB_DESCRIPTOR_STRING,{0x0409}}; |
//Manufacturer string descriptor |
ROM struct{BYTE bLength;BYTE bDscType;WORD string[12];}sd001={ |
sizeof(sd001),USB_DESCRIPTOR_STRING, |
{'w','w','w','.','o','b','d','e','v','.', |
'a','t'}}; |
//Product string descriptor |
ROM struct{BYTE bLength;BYTE bDscType;WORD string[10];}sd002={ |
sizeof(sd002),USB_DESCRIPTOR_STRING, |
{'D','G','8','S','A','Q','-','I','2','C'}}; |
//Serial Number string descriptor |
ROM struct{BYTE bLength;BYTE bDscType;WORD string[9];}sd003={ |
sizeof(sd003),USB_DESCRIPTOR_STRING, |
{'T','F','3','L','J','-','1','.','0'}}; |
//Array of configuration descriptors |
ROM BYTE *ROM USB_CD_Ptr[]= |
{ |
(ROM BYTE *ROM)&configDescriptor1 |
}; |
//Array of string descriptors |
ROM BYTE *ROM USB_SD_Ptr[]= |
{ |
(ROM BYTE *ROM)&sd000, |
(ROM BYTE *ROM)&sd001, |
(ROM BYTE *ROM)&sd002, |
(ROM BYTE *ROM)&sd003 |
}; |
/** EOF usb_descriptors.c ***************************************************/ |
#endif |
/Modules/Clock/CLKGEN01A/SW/DG8SAQ synthesiser_Emulator/usbavrcmd.h |
---|
0,0 → 1,87 |
//************************************************************************ |
//** |
//** Project......: Firmware USB AVR Si570 controler. |
//** |
//** Platform.....: ATtiny45 @ 16.5 MHz |
//** |
//** Licence......: This software is freely available for non-commercial |
//** use - i.e. for research and experimentation only! |
//** |
//** Programmer...: F.W. Krom, PE0FKO |
//** |
//** Description..: USB commando codes |
//** |
//** History......: V15.12: First version |
//** |
//************************************************************************** |
// |
//#define CMD_ECHO_WORD 0x00 |
#define CMD_GET_VERSION 0x00 |
#define CMD_SET_DDR 0x01 |
#define CMD_GET_PIN 0x02 |
#define CMD_GET_PORT 0x03 |
#define CMD_SET_PORT 0x04 |
// 0x05 // Used in old V1.4 |
// 0x06 // Used in old V1.4 |
// 0x07 // Used in old V1.4 |
// 0x08 // Used in old V1.4 |
// 0x09 // Used in old V1.4 |
// 0x0A // Used in old V1.4 |
// 0x0B // Used in old V1.4 |
// 0x0C // Used in old V1.4 |
#define CMD_REBOOT 0x0F |
// 0x10 // Used in old V1.4 |
// 0x11 // Used in old V1.4 |
#define CMD_SET_IO 0x15 |
#define CMD_GET_IO 0x16 |
#define CMD_SET_FILTER 0x17 |
#define CMD_SET_RX_BAND_FILTER 0x18 // V15.12 |
#define CMD_GET_RX_BAND_FILTER 0x19 // V15.12 |
#define CMD_SET_TX_BAND_FILTER 0x1A // MOBO Only |
#define CMD_GET_TX_BAND_FILTER 0x1B // MOBO Only |
#define CMD_SET_SI570 0x20 // Write byte to Si570 register |
// 0x21 // Used in old V1.4 |
// 0x22 // Used in old V1.4 |
// 0x23 // Used in old V1.4 |
#define CMD_SET_FREQ_REG 0x30 |
#define CMD_SET_LO_SM 0x31 |
#define CMD_SET_FREQ 0x32 |
#define CMD_SET_XTAL 0x33 |
#define CMD_SET_STARTUP 0x34 |
#define CMD_SET_PPM 0x35 |
// 0x36 // Used in old V2.0 |
// 0x37 // Used in old V2.0 |
// 0x38 // Used in old V2.0 |
#define CMD_GET_LO_SM 0x39 |
#define CMD_GET_FREQ 0x3a |
#define CMD_GET_PPM 0x3b |
#define CMD_GET_STARTUP 0x3c |
#define CMD_GET_XTAL 0x3d |
#define CMD_GET_REGS 0x3e |
#define CMD_GET_SI570 0x3f |
#define CMD_GET_I2C_ERR 0x40 |
#define CMD_SET_I2C_ADDR 0x41 |
#define CMD_GET_CPU_TEMP 0x42 // |
#define CMD_SET_USRP1 0x50 |
#define CMD_GET_CW_KEY 0x51 |
// 0x52 // Used in old V2.0 |
// 0x53 // Used in old V2.0 |
// 0x54 // Used in old V2.0 |
// Mobo command's |
#define CMD_GET_FW_FEATURE 0x60 // Firmware Feature select |
#define CMD_GET_ADC_INPUTS 0x61 // Read analog inputs (Temp, PA current, P_out, P_ref, Vdd) |
#define CMD_RM_PA_HIGH_TEMP 0x64 // Read/Modify the PA High Temperature limit |
#define CMD_RM_PA_BIAS 0x65 // Read/Modify PA bias setting related values, 5 items |
#define CMD_RM_PA_SWR 0x66 // Read/Modify SWR measurement and SWR alarm related values 4 items |
#define CMD_RM_ROTARY 0x67 // Read/Modify Rotatry Encoder Resolution |
#define CMD_SET_BYTE_GPIO 0x6e // Write a Byte to (PCF8584) GPIO Extender |
#define CMD_GET_BYTE_GPIO 0x6f // Read a Byte from (PCF8584) GPIO Extender |
// 0xEE // Used in old V2.0 |
// 0xEF // Used in old V2.0 |
// 0xFF // Used in old V2.0 |
/Modules/Clock/CLKGEN01A/SW/DG8SAQ synthesiser_Emulator/user.bak |
---|
0,0 → 1,197 |
/********************************************************************* |
* |
* Microchip USB C18 Firmware Version 1.2 |
* |
********************************************************************* |
* FileName: user.h |
* Dependencies: See INCLUDES section below |
* Processor: PIC18 |
* Compiler: C18 3.11+ |
* Company: Microchip Technology, Inc. |
* |
* Software License Agreement |
* |
* The software supplied herewith by Microchip Technology Incorporated |
* (the Company) for its PICmicro® Microcontroller is intended and |
* supplied to you, the Companys customer, for use solely and |
* exclusively on Microchip PICmicro Microcontroller products. The |
* software is owned by the Company and/or its supplier, and is |
* protected under applicable copyright laws. All rights are reserved. |
* Any use in violation of the foregoing restrictions may subject the |
* user to criminal sanctions under applicable laws, as well as to |
* civil liability for the breach of the terms and conditions of this |
* license. |
* |
* THIS SOFTWARE IS PROVIDED IN AN AS IS CONDITION. NO WARRANTIES, |
* WHETHER EXPRESS, IMPLIED OR STATUTORY, INCLUDING, BUT NOT LIMITED |
* TO, IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A |
* PARTICULAR PURPOSE APPLY TO THIS SOFTWARE. THE COMPANY SHALL NOT, |
* IN ANY CIRCUMSTANCES, BE LIABLE FOR SPECIAL, INCIDENTAL OR |
* CONSEQUENTIAL DAMAGES, FOR ANY REASON WHATSOEVER. |
* |
* Author Date Comment |
*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ |
* Rawin Rojvanit 11/19/04 Original. |
* Rawin Rojvanit 05/14/07 Minor updates. |
********************************************************************/ |
#ifndef PICDEM_FS_DEMO_H |
#define PICDEM_FS_DEMO_H |
/** I N C L U D E S **********************************************************/ |
/** D E F I N I T I O N S ****************************************************/ |
// For custom LPF switchover points |
#define ALEX |
//#define K5OOR |
//#define MARC |
// YAS is defined in the HardwareProfile - UBW.h, if needed |
#if defined(YAS) |
#define NUM_BPF 8 |
#else |
#define NUM_BPF 4 |
#endif |
#define INIT_SI570_ON_STARTUP |
#define VERSION_MAJOR 16 |
#define VERSION_MINOR 04 |
#define DEFAULT_I2C_ADDRESS 0x55 |
#define PCF8574 0x39 // A2 A1 A0 -> 0 0 1 |
#define F_CAL_DONE 0 // EEPROM position of F_CAL_DONE flag. 4 bytes follow. |
#define F_CAL_DONE_VALUE 0x55 |
#define DEFAULT_FCRYST 114.285 |
//#if defined(UBW) |
#define F_INIT_FREQ 5 // 4 bytes follow |
//#elif defined(UBW32) |
//#define F_INIT_FREQ 2 // fcryst 4 bytes all stored in one 32 bit slot |
#endif |
#define F_INIT_FREQ_VALUE 0x55 |
#define DEFAULT_INIT_FREQ 56.32 |
#if defined(UBW) |
#define F_SMOOTH 10 // 2 bytes follow |
#elif defined(UBW32) |
#define F_SMOOTH 4 // 1 slot follow |
#endif |
#define F_SMOOTH_VALUE 0x55 |
#define DEFAULT_SMOOTH 3500 // ppm |
#define F_SUB_MUL_VALUE 0x55 |
#define DEFAULT_SUB 0.0 |
#define DEFAULT_MUL 1.0 |
#if defined(UBW) |
#define F_SUB_MUL 13 // 8 bytes follow |
#elif defined(UBW32) |
#define F_SUB_MUL 6 // 2 slots follow |
#endif |
#if defined(UBW) |
#define F_CROSS_OVER 22 // 32 bytes follow |
#elif defined(UBW32) |
#define F_CROSS_OVER 9 // 16 words stored in 16 (unsigned int) slots |
#endif |
#define F_CROSS_OVER_VALUE 0x55 |
#if defined(UBW) |
#define F_BLINK_LED 55 |
#elif defined(UBW32) |
#define F_BLINK_LED 26 |
#endif |
/** S T R U C T U R E S ******************************************************/ |
extern BYTE i2c_adr; |
extern BYTE command; |
extern BYTE replybuf[8]; |
extern WORD wCount; |
#define COMMAND_BUFFER_SIZE 16 |
#define DATA_PACKET_SIZE 6 |
typedef struct COMMAND_BUFFER |
{ |
BYTE command; |
WORD wCount; |
BYTE data[DATA_PACKET_SIZE]; |
} COMMAND_BUFFER_t; |
extern COMMAND_BUFFER_t command_buffer[COMMAND_BUFFER_SIZE]; |
extern BYTE current_command_in, current_command_out; |
extern BYTE command_count; |
extern double set_frequency; |
extern unsigned char tempBuf[8]; |
typedef union _avr_freq |
{ |
unsigned long qw; |
unsigned char bytes[4]; |
} avr_freq_t; |
extern avr_freq_t avr_freq, fcryst_freq; //frequency [MHz]*2^21 |
// fcryst freq [MHz]*2^24 |
extern avr_freq_t f_mul; // mul for set freq in 11.21 format |
typedef union _offset |
{ |
long qw; // signed offset in 11.21 format |
unsigned char bytes[4]; |
} offset_t; |
extern offset_t f_sub; |
extern unsigned char registers[6]; |
extern BYTE abpf_flag; |
extern double Smooth_double; |
extern double fcryst_double; |
extern WORD_VAL FilterCrossOver[8]; // 11.5 bit value Mhz |
extern float FilterSwitchOver[7]; |
extern WORD_VAL LPFCrossOver[8]; |
extern float LPFSwitchOver[7]; |
/** P U B L I C P R O T O T Y P E S *****************************************/ |
void UserInit(void); |
void ProcessIO(void); |
void Set_Freq_Handler(void); |
void Set_Register_Handler(void); |
void Set_Cal_Handler(void); |
void Set_Init_Freq_Handler(void); |
void Set_Smooth_Handler(void); |
void Set_Sub_Mul_Handler(void); |
void Reset_Si570(void); |
void Freeze (void); |
void Unfreeze (void); |
void Prep_rd (unsigned short); |
void WriteBk (void); |
void NewF (void); |
void SetNewFreq(void); |
void ReadRegs(void); |
void ReadStartUpConfiguration(void); |
void RunFreqProg(double); |
void SetFrequency(double); |
void Set_BPF(float); |
void Set_LPF(float); |
float Cross2Switch(WORD_VAL); |
WORD_VAL Switch2Cross(float); |
double Freq_From_Register(double); |
void Read_Command_Into_Buffer(void); |
void USBCheckUserRequest(void); |
void USBCheckUBWRequest(void); |
#endif //PICDEM_FS_DEMO_H |
/Modules/Clock/CLKGEN01A/SW/DG8SAQ synthesiser_Emulator/user.c |
---|
0,0 → 1,1278 |
/******************************************************************** |
FileName: user.c |
Dependencies: See INCLUDES section |
Processor: PIC18 or PIC24 USB Microcontrollers |
Hardware: The code is natively intended to be used on the following |
hardware platforms: PICDEM FS USB Demo Board, |
PIC18F87J50 FS USB Plug-In Module, or |
Explorer 16 + PIC24 USB PIM. The firmware may be |
modified for use on other USB platforms by editing the |
HardwareProfile.h file. |
Complier: Microchip C18 (for PIC18) or C30 (for PIC24) |
* Company: Microchip Technology, Inc. |
* |
* Software License Agreement |
The software supplied herewith by Microchip Technology Incorporated |
(the Company) for its PIC® Microcontroller is intended and |
supplied to you, the Companys customer, for use solely and |
exclusively on Microchip PIC Microcontroller products. The |
software is owned by the Company and/or its supplier, and is |
protected under applicable copyright laws. All rights are reserved. |
* Any use in violation of the foregoing restrictions may subject the |
* user to criminal sanctions under applicable laws, as well as to |
* civil liability for the breach of the terms and conditions of this |
* license. |
* |
* THIS SOFTWARE IS PROVIDED IN AN AS IS CONDITION. NO WARRANTIES, |
* WHETHER EXPRESS, IMPLIED OR STATUTORY, INCLUDING, BUT NOT LIMITED |
* TO, IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A |
* PARTICULAR PURPOSE APPLY TO THIS SOFTWARE. THE COMPANY SHALL NOT, |
* IN ANY CIRCUMSTANCES, BE LIABLE FOR SPECIAL, INCIDENTAL OR |
CONSEQUENTIAL DAMAGES, FOR ANY REASON WHATSOEVER. |
******************************************************************** |
File Description: |
Change History: |
Rev Date Description |
1.0 11/19/2004 Initial release |
2.1 02/26/2007 Updated for simplicity and to use common |
coding style |
********************************************************************/ |
/** INCLUDES *******************************************************/ |
#include "usb.h" |
#include "HardwareProfile.h" |
#include "user.h" |
#include "usbavrcmd.h" |
#include <math.h> |
#include <stdlib.h> |
#include <string.h> |
#include <ctype.h> |
#if defined(__18CXX) |
#include <delays.h> |
#include <i2c.h> |
#include <eep.h> |
#elif defined(__PIC32MX__) |
#include <peripheral/i2c.h> |
#include <dee_emulation/dee_emulation_pic32.h> |
#endif |
#if defined (UBW) |
#pragma romdata dataEEPROM=0xF00000 |
// F_CAL_DONE, 4 bytes cal data, F_INIT_FREQ, 4 bytes freq, F_SMOOTH, 2 bytes |
// F_SUB_MUL, 4 bytes sub and 4 bytes mul |
// F_CROSS_OVER, 16 bytes or 8 words of 7 cross over points and 1 flag for BPF |
// followed by 16 bytes or 8 words of 7 cross over points and 1 flag for LPF |
// F_BLINK_LED, 1 byte boolean |
rom unsigned char init_data[] = {0xff, 0,0,0,0, 0xff, 0,0,0,0, 0xff, 0,0, |
0xff, 0,0,0,0,0,0,0,0, |
0xff, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, |
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, |
TRUE}; |
#endif |
/** V A R I A B L E S ********************************************************/ |
#pragma udata |
BYTE old_SW; |
BYTE i2c_adr; |
BYTE command; |
BYTE replybuf[8]; |
WORD wCount; |
BYTE abpf_flag; |
COMMAND_BUFFER_t command_buffer[COMMAND_BUFFER_SIZE]; |
BYTE current_command_in, current_command_out; |
BYTE command_count; |
avr_freq_t avr_freq, fcryst_freq; // avr freq [MHz]*2^21 |
// fcryst freq [Mhz]*2^24 |
unsigned short R137, R135 = 0; |
unsigned char registers[6]; |
unsigned char tempBuf[8]; |
unsigned char counter; |
double delta_rfreq; |
double rfreq, Old_rfreq; |
double fcryst_double, Old_freq_double, Smooth_double; |
double set_frequency; |
avr_freq_t f_mul; |
offset_t f_sub; |
unsigned char validCombo; |
#if defined(__18F14K50) || defined(__18F13K50) || defined(__18LF14K50) || defined(__18LF13K50) |
#pragma udata usbram2 |
#elif defined(__18F2455) || defined(__18F2550) || defined(__18F4455) || defined(__18F4550)\ |
|| defined(__18F4450) || defined(__18F2450)\ |
|| defined(__18F2458) || defined(__18F2453) || defined(__18F4558) || defined(__18F4553) |
#pragma udata USB_VARIABLES=0x500 |
#else |
#pragma udata |
#endif |
#pragma udata |
BOOL blinkStatusValid = TRUE; |
/** P R I V A T E P R O T O T Y P E S ***************************************/ |
void BlinkUSBStatus(void); |
BOOL SwitchIsPressed(void); |
void ServiceRequests(void); |
/** D E C L A R A T I O N S **************************************************/ |
#pragma code |
float Cross2Switch(WORD_VAL val){ // convert from 11.5 bit format in [Mhz] |
float whole, fraction; |
whole = (float) (val.Val >> 5); |
fraction = ((float) (val.Val & 0x001f)) / 32.0; |
return (whole + fraction); |
} |
WORD_VAL Switch2Cross(float val){ // convert from float to 11.5 bit format [Mhz] |
WORD_VAL w; |
unsigned int i; |
i = val; |
w.Val = i * 32.0; |
w.Val += (val - (float) i) * 32.0; |
return (w); |
} |
void UserInit(void) |
{ |
WORD_VAL w; |
//#if defined (UBW) |
// unsigned char i; |
//#elif |
unsigned int i; |
unsigned int value; |
//#endif |
#if defined(UBW) |
// Port A - RA0 BPF_S0, RA1 BPF_S1, RA2 RXTX, RA3-5 LPF0-2 |
LATA = 0x00; |
TRISA = 0x00; // 00000000 |
// Turn all analog inputs into digital inputs |
ADCON1 = 0x0F; |
// Turn off the ADC |
ADCON0bits.ADON = 0; |
CMCON = 0x07; // Comparators as digital inputs |
// RB0-1 for i2c, RB6-7 Paddle dit/dah, RB2-5 LPF 3-6 |
LATB = 0x00; |
TRISB = 0xc3; // 11000011 |
INTCON2bits.RBPU = 0; // enable RB weak internal pullup |
// Make all of PORTC inputs |
LATC = 0x00; |
TRISC = 0xFF; |
mInitAllLEDs(); |
mInitSwitch(); |
old_SW = UserSW; |
#elif defined(UBW32) |
// gO through each I/O register, setting them all to digital i/o |
// and making none of them open drain and turning off all pullups and |
// setting all of the latches to zero. We have PORTA through PORTG on |
// this chip. That's 7 total. |
LATA = 0x0000; |
TRISA = 0x0000; |
ODCA = 0x0000; |
LATB = 0x0000; |
TRISB = 0x0000; |
ODCB = 0x0000; |
LATC = 0x0000; |
TRISC = 0x0000; |
ODCC = 0x0000; |
LATD = 0x0000; |
TRISD = 0x0000; |
ODCD = 0x0000; |
LATE = 0x0000; |
TRISE = 0x0000; |
ODCE = 0x0000; |
LATF = 0x0000; |
TRISF = 0x0030; // RF4-5 paddle input |
ODCF = 0x0000; |
CNPUE = 0x060000; // Pull up on CNPUE17-18, corresponding to RF4-5 |
LATG = 0x0000; |
TRISG = 0x0000; |
ODCG = 0x0000; |
//Initialize all of the LED pins |
mInitAllLEDs(); |
mInitAllSwitches(); |
old_SW = UserSW; |
// Initialize Data EEPROM Emulation |
if (DataEEInit()) { |
mLED_4_On(); // Error occured |
} |
else { |
mLED_4_Off(); |
}; |
#endif |
i2c_adr = DEFAULT_I2C_ADDRESS; |
// check for previous calibration, which sets fcryst, the actual crystal freq |
#if defined (UBW) |
if (Read_b_eep(F_CAL_DONE) != F_CAL_DONE_VALUE){ // cal not done before, use default |
fcryst_freq.qw = (double) DEFAULT_FCRYST * (double) (1L << 24); // 114.285 Mhz |
} |
else { // cal done before, read into fcryst |
for (i=0; i<4; i++) fcryst_freq.bytes[i] = Read_b_eep(i + F_CAL_DONE +1); |
}; |
#elif defined (UBW32) |
DataEERead(&value, F_CAL_DONE); |
if ( value != F_CAL_DONE_VALUE){ // cal not done before, use default |
fcryst_freq.qw = (double) DEFAULT_FCRYST * (double) (1L << 24); // 114.285 Mhz |
} |
else { // cal done before, read into fcryst |
DataEERead(&value, (F_CAL_DONE +1)); |
fcryst_freq.qw = value; |
}; |
#endif |
// Now that fcryst is checked, set it first so that it can be used by startup freq setting |
fcryst_double = (double) fcryst_freq.qw / (double) (1L << 24); |
validCombo = 1; |
command_count = 0; |
current_command_in = 0; |
current_command_out = 0; |
Old_freq_double = 0; |
// check for previous startup freq setting |
#if defined (UBW) |
if (Read_b_eep(F_INIT_FREQ) != F_INIT_FREQ_VALUE){ // not set before, use default |
avr_freq.qw = (double) DEFAULT_INIT_FREQ * (double) (1L << 21); |
} |
else { // startup freq set before, read into avr |
for (i=0; i<4; i++) avr_freq.bytes[i] = Read_b_eep(i + F_INIT_FREQ +1); |
}; |
#elif defined (UBW32) |
DataEERead(&value, F_INIT_FREQ); |
if ( value != F_INIT_FREQ_VALUE){ // not set before, use default |
avr_freq.qw = (double) DEFAULT_INIT_FREQ * (double) (1L << 21); |
} |
else { // set before, read |
DataEERead(&value, (F_INIT_FREQ +1)); |
avr_freq.qw = value; |
}; |
#endif |
// check for previous smooth setting |
#if defined (UBW) |
if (Read_b_eep(F_SMOOTH) != F_SMOOTH_VALUE){ // not set before, use default |
Smooth_double = (double) DEFAULT_SMOOTH / 1000000L; // in ppm |
} |
else { // set before, read |
for (i=0; i<2; i++) w.v[i] = Read_b_eep(i + F_SMOOTH +1); |
Smooth_double = (double) w.Val / 1000000L; |
}; |
#elif defined (UBW32) |
DataEERead(&value, F_SMOOTH); |
if ( value != F_SMOOTH_VALUE){ // not set before, use default |
Smooth_double = (double) DEFAULT_SMOOTH / 1000000L; |
} |
else { // set before, read |
DataEERead(&value, (F_SMOOTH +1)); |
w.Val = value; |
Smooth_double = (double) w.Val / 1000000L; |
} |
#endif |
// check for previous sub mul setting |
#if defined (UBW) |
if (Read_b_eep(F_SUB_MUL) != F_SUB_MUL_VALUE){ // not set before, use default |
f_sub.qw = (double) DEFAULT_SUB * (double) (1L << 21); |
f_mul.qw = (double) DEFAULT_MUL * (double) (1L << 21); |
} |
else { // startup freq set before, read into avr |
for (i=0; i<4; i++) f_sub.bytes[i] = Read_b_eep(i + F_SUB_MUL +1); |
for (i=0; i<4; i++) f_mul.bytes[i] = Read_b_eep(i + F_SUB_MUL +5); |
}; |
#elif defined (UBW32) |
DataEERead(&value, F_SUB_MUL); |
if ( value != F_SUB_MUL_VALUE){ // not set before, use default |
f_sub.qw = (double) DEFAULT_SUB * (double) (1L << 21); |
f_mul.qw = (double) DEFAULT_MUL * (double) (1L << 21); |
} |
else { // set before, read |
DataEERead(&value, (F_SUB_MUL +1)); |
f_sub.qw = value; |
DataEERead(&value, (F_SUB_MUL +2)); |
f_mul.qw = value; |
}; |
#endif |
// Check for Cross Over Points |
#if defined (UBW) |
if (Read_b_eep(F_CROSS_OVER) != F_CROSS_OVER_VALUE){ // not set before, use default |
#if defined (YAS) |
FilterSwitchOver[0] = (2.4 - DEFAULT_SUB) * DEFAULT_MUL * 4.0; // default BPF switchover points |
FilterSwitchOver[1] = (8.5 - DEFAULT_SUB) * DEFAULT_MUL * 4.0; |
FilterSwitchOver[2] = (19.0 - DEFAULT_SUB) * DEFAULT_MUL * 4.0; |
FilterSwitchOver[3] = (19.0 - DEFAULT_SUB) * DEFAULT_MUL * 4.0; |
FilterSwitchOver[4] = (19.0 - DEFAULT_SUB) * DEFAULT_MUL* 4.0; |
FilterSwitchOver[5] = (19.0 - DEFAULT_SUB) * DEFAULT_MUL* 4.0; |
FilterSwitchOver[6] = (19.0 - DEFAULT_SUB) * DEFAULT_MUL * 4.0; |
#else |
FilterSwitchOver[0] = (2.4 - DEFAULT_SUB) * DEFAULT_MUL * 4.0; // default BPF switchover points |
FilterSwitchOver[1] = (8.5 - DEFAULT_SUB) * DEFAULT_MUL * 4.0; |
FilterSwitchOver[2] = (19.0 - DEFAULT_SUB) * DEFAULT_MUL * 4.0; |
#endif |
for (i = 0; i < (NUM_BPF - 1); i++) FilterCrossOver[i] = Switch2Cross(FilterSwitchOver[i]); |
FilterCrossOver[(NUM_BPF-1)].Val = 1; // Enabled |
abpf_flag = 1; |
#if defined (K5OOR) |
LPFSwitchOver[0] = (2.0 - DEFAULT_SUB) * DEFAULT_MUL * 4.0; |
LPFSwitchOver[1] = (4.0 - DEFAULT_SUB) * DEFAULT_MUL * 4.0; |
LPFSwitchOver[2] = (7.45 - DEFAULT_SUB) * DEFAULT_MUL * 4.0; |
LPFSwitchOver[3] = (15.0 - DEFAULT_SUB) * DEFAULT_MUL* 4.0; |
LPFSwitchOver[4] = (21.5 - DEFAULT_SUB) * DEFAULT_MUL * 4.0; |
LPFSwitchOver[5] = (30.0 - DEFAULT_SUB) * DEFAULT_MUL * 4.0; |
LPFSwitchOver[6] = (30.0 - DEFAULT_SUB) * DEFAULT_MUL * 4.0; |
#elif defined (ALEX) |
LPFSwitchOver[0] = (2.0 - DEFAULT_SUB) * DEFAULT_MUL * 4.0; |
LPFSwitchOver[1] = (4.0 - DEFAULT_SUB) * DEFAULT_MUL * 4.0; |
LPFSwitchOver[2] = (9.0 - DEFAULT_SUB) * DEFAULT_MUL * 4.0; |
LPFSwitchOver[3] = (11.0 - DEFAULT_SUB) * DEFAULT_MUL * 4.0; |
LPFSwitchOver[4] = (14.5 - DEFAULT_SUB) * DEFAULT_MUL * 4.0; |
LPFSwitchOver[5] = (20.0 - DEFAULT_SUB) * DEFAULT_MUL * 4.0; |
LPFSwitchOver[6] = (30.0 - DEFAULT_SUB) * DEFAULT_MUL* 4.0; |
#elif defined (MARC) |
LPFSwitchOver[0] = (2.0 - DEFAULT_SUB) * DEFAULT_MUL * 4.0; |
LPFSwitchOver[1] = (4.0 - DEFAULT_SUB) * DEFAULT_MUL * 4.0; |
LPFSwitchOver[2] = (8.0 - DEFAULT_SUB) * DEFAULT_MUL * 4.0; |
LPFSwitchOver[3] = (11.0 - DEFAULT_SUB) * DEFAULT_MUL * 4.0; |
LPFSwitchOver[4] = (14.5 - DEFAULT_SUB) * DEFAULT_MUL * 4.0; |
LPFSwitchOver[5] = (18.2 - DEFAULT_SUB) * DEFAULT_MUL * 4.0; |
LPFSwitchOver[6] = (21.0 - DEFAULT_SUB) * DEFAULT_MUL * 4.0; |
#else |
#error "Must define an LPF configuration." |
#endif |
for (i = 0; i < 7; i++) LPFCrossOver[i] = Switch2Cross(LPFSwitchOver[i]); |
LPFCrossOver[7].Val = 1; // Enabled |
} |
else { // set before, read |
for (i = 0; i < NUM_BPF; i++){ |
w.v[0] = Read_b_eep(2 * i + F_CROSS_OVER +1); |
w.v[1] = Read_b_eep(2 * i + 1 + F_CROSS_OVER + 1); |
FilterCrossOver[i].Val = w.Val; |
}; |
abpf_flag = FilterCrossOver[(NUM_BPF-1)].v[0]; |
for (i = 0; i < 8; i++){ |
w.v[0] = Read_b_eep(2 * i + F_CROSS_OVER +17); |
w.v[1] = Read_b_eep(2 * i + 1 + F_CROSS_OVER + 17); |
LPFCrossOver[i].Val = w.Val; |
}; |
} |
#elif defined (UBW32) |
DataEERead(&value, F_CROSS_OVER); |
if ( value != F_CROSS_OVER_VALUE){ // not set before, use default |
FilterSwitchOver[0] = (2.4 - DEFAULT_SUB) * DEFAULT_MUL * 4.0; // default BPF switchover points |
FilterSwitchOver[1] = (8.5 - DEFAULT_SUB) * DEFAULT_MUL * 4.0; |
FilterSwitchOver[2] = (19.0 - DEFAULT_SUB) * DEFAULT_MUL * 4.0; |
for (i = 0; i < 3; i++) FilterCrossOver[i] = Switch2Cross(FilterSwitchOver[i]); |
FilterCrossOver[3].Val = 1; // Enabled |
abpf_flag = 1; |
#if defined (K5OOR) |
LPFSwitchOver[0] = (2.0 - DEFAULT_SUB) * DEFAULT_MUL * 4.0; |
LPFSwitchOver[1] = (4.0 - DEFAULT_SUB) * DEFAULT_MUL * 4.0; |
LPFSwitchOver[2] = (7.45 - DEFAULT_SUB) * DEFAULT_MUL * 4.0; |
LPFSwitchOver[3] = (15.0 - DEFAULT_SUB) * DEFAULT_MUL* 4.0; |
LPFSwitchOver[4] = (21.5 - DEFAULT_SUB) * DEFAULT_MUL * 4.0; |
LPFSwitchOver[5] = (30.0 - DEFAULT_SUB) * DEFAULT_MUL * 4.0; |
LPFSwitchOver[6] = (30.0 - DEFAULT_SUB) * DEFAULT_MUL * 4.0; |
#elif defined (ALEX) |
LPFSwitchOver[0] = (2.0 - DEFAULT_SUB) * DEFAULT_MUL * 4.0; |
LPFSwitchOver[1] = (4.0 - DEFAULT_SUB) * DEFAULT_MUL * 4.0; |
LPFSwitchOver[2] = (9.0 - DEFAULT_SUB) * DEFAULT_MUL * 4.0; |
LPFSwitchOver[3] = (11.0 - DEFAULT_SUB) * DEFAULT_MUL * 4.0; |
LPFSwitchOver[4] = (14.5 - DEFAULT_SUB) * DEFAULT_MUL * 4.0; |
LPFSwitchOver[5] = (20.0 - DEFAULT_SUB) * DEFAULT_MUL * 4.0; |
LPFSwitchOver[6] = (30.0 - DEFAULT_SUB) * DEFAULT_MUL* 4.0; |
#elif defined (MARC) |
LPFSwitchOver[0] = (2.0 - DEFAULT_SUB) * DEFAULT_MUL * 4.0; |
LPFSwitchOver[1] = (4.0 - DEFAULT_SUB) * DEFAULT_MUL * 4.0; |
LPFSwitchOver[2] = (8.0 - DEFAULT_SUB) * DEFAULT_MUL * 4.0; |
LPFSwitchOver[3] = (11.0 - DEFAULT_SUB) * DEFAULT_MUL * 4.0; |
LPFSwitchOver[4] = (14.5 - DEFAULT_SUB) * DEFAULT_MUL * 4.0; |
LPFSwitchOver[5] = (18.2 - DEFAULT_SUB) * DEFAULT_MUL * 4.0; |
LPFSwitchOver[6] = (21.0 - DEFAULT_SUB) * DEFAULT_MUL * 4.0; |
#else |
#error "Must define an LPF configuration." |
#endif |
for (i = 0; i < 7; i++) LPFCrossOver[i] = Switch2Cross(LPFSwitchOver[i]); |
LPFCrossOver[7].Val = 1; // Enabled |
} |
else { // set before, read |
for (i=0; i< NUM_BPF; i++) { |
DataEERead(&value, (i + F_CROSS_OVER +1)); |
FilterCrossOver[i].Val = value; |
}; |
abpf_flag = FilterCrossOver[(NUM_BPF-1)].Val; |
for (i=0; i<8; i++) { |
DataEERead(&value, (i + F_CROSS_OVER +9)); |
LPFCrossOver[i].Val = value; |
}; |
}; |
#endif // UBW32 |
for (i = 0; i < (NUM_BPF-1); i++) FilterSwitchOver[i] = Cross2Switch(FilterCrossOver[i]); |
for (i = 0; i < 7; i++) LPFSwitchOver[i] = Cross2Switch(LPFCrossOver[i]); |
// End initialising filter switchover points |
#if defined(UBW) |
blinkStatusValid = Read_b_eep(F_BLINK_LED); |
#elif defined (UBW32) |
DataEERead(&value, F_BLINK_LED); |
blinkStatusValid = value; |
#endif |
#if defined (UBW) |
OpenI2C(MASTER, SLEW_ON);// Initialize I2C module |
SSPADD = 48; //400kHz Baud clock(9) @16MHz |
//100kHz Baud clock(39) @16MHz |
#elif defined (UBW32) |
OpenI2C1(I2C_ON, ( GetPeripheralClock() / 400000UL - 2) ); |
#endif |
// IF we don't reset Si570 on startup, it will not hang if Si570 not connected |
#if defined (INIT_SI570_ON_STARTUP) |
Reset_Si570(); |
#endif |
// check for previous startup freq setting, if set, then set Si570 to startup freq |
#if defined (UBW32) |
DataEERead(&value, F_INIT_FREQ); |
if ( value == F_INIT_FREQ_VALUE){ |
#else |
if (Read_b_eep(F_INIT_FREQ) == F_INIT_FREQ_VALUE){ |
#endif |
// avr_freq has been setup by the reading of the startup freq |
set_frequency = (double) avr_freq.qw / (double)(1L << 21); |
SetFrequency(set_frequency); |
}; |
}//end UserInit |
/****************************************************************************** |
* Function: void ProcessIO(void) |
* |
* PreCondition: None |
* |
* Input: None |
* |
* Output: None |
* |
* Side Effects: None |
* |
* Overview: This function is a place holder for other user routines. |
* It is a mixture of both USB and non-USB tasks. |
* |
* Note: None |
*****************************************************************************/ |
void ProcessIO(void) |
{ |
if (SwitchIsPressed()){ |
blinkStatusValid = !blinkStatusValid; // toggle blink led |
#if defined(UBW) |
Write_b_eep(F_BLINK_LED, blinkStatusValid); |
#elif defined(UBW32) |
DataEEWrite(blinkStatusValid, F_BLINK_LED); |
#endif |
}; |
//Blink the LEDs according to the USB device status |
if(blinkStatusValid) BlinkUSBStatus(); |
else mLED_Both_Off(); |
// User Application USB tasks |
if((USBDeviceState < ADDRESS_STATE)||(USBSuspendControl==1)) return; |
//respond to any USB commands that might have come over the bus |
ServiceRequests(); |
}//end ProcessIO |
/****************************************************************************** |
* Function: void ServiceRequests(void) |
* |
* PreCondition: None |
* |
* Input: None |
* |
* Output: None |
* |
* Side Effects: USB traffic can be generated |
* |
* Overview: This function takes in the commands from the PC from the |
* application and executes the commands requested |
* |
* Note: None |
*****************************************************************************/ |
void ServiceRequests(void) |
{ |
BYTE command_to_process; |
if (command_count > 0) { // there is command in buffer |
command_to_process = command_buffer[current_command_out].command; |
switch (command_to_process){ |
case CMD_SET_FREQ_REG: |
Set_Register_Handler(); |
break; |
case CMD_SET_LO_SM: |
Set_Sub_Mul_Handler(); |
break; |
case CMD_SET_FREQ: |
Set_Freq_Handler(); |
break; |
case CMD_SET_XTAL: |
Set_Cal_Handler(); |
break; |
case CMD_SET_STARTUP: |
Set_Init_Freq_Handler(); |
break; |
case CMD_SET_PPM: |
Set_Smooth_Handler(); |
break; |
}; |
// end switch |
current_command_out++; |
if (current_command_out >= COMMAND_BUFFER_SIZE) current_command_out = 0; |
command_count--; |
} // end command_count > 0 |
}//end ServiceRequests |
/******************************************************************** |
* Function: void BlinkUSBStatus(void) |
* |
* PreCondition: None |
* |
* Input: None |
* |
* Output: None |
* |
* Side Effects: None |
* |
* Overview: BlinkUSBStatus turns on and off LEDs |
* corresponding to the USB device state. |
* |
* Note: mLED macros can be found in HardwareProfile.h |
* USBDeviceState is declared and updated in |
* usb_device.c. |
*******************************************************************/ |
void BlinkUSBStatus(void) |
{ |
static WORD led_count=0; |
if(led_count == 0)led_count = 10000U; |
led_count--; |
if(USBSuspendControl == 1) |
{ |
if(led_count==0) |
{ |
mLED_1_Toggle(); |
mLED_2 = mLED_1; |
}//end if |
} |
else |
{ |
if(USBDeviceState == DETACHED_STATE) |
{ |
mLED_1_Off(); mLED_2_Off(); |
} |
else if(USBDeviceState == ATTACHED_STATE) |
{ |
mLED_1_On(); mLED_2_On(); |
} |
else if(USBDeviceState == POWERED_STATE) |
{ |
mLED_1_On(); mLED_2_Off(); |
} |
else if(USBDeviceState == DEFAULT_STATE) |
{ |
mLED_1_Off(); mLED_2_On(); |
} |
else if(USBDeviceState == ADDRESS_STATE) |
{ |
if(led_count == 0) |
{ |
mLED_1_Toggle(); |
mLED_2_Off(); |
}//end if |
} |
else if(USBDeviceState == CONFIGURED_STATE) |
{ |
if(led_count==0) |
{ |
mLED_1_Toggle(); |
mLED_2 = !mLED_1; |
}//end if |
}//end if(...) |
}//end if(UCONbits.SUSPND...) |
}//end BlinkUSBStatus |
/****************************************************************************** |
* Function: BOOL SwitchIsPressed(void) |
* |
* PreCondition: None |
* |
* Input: None |
* |
* Output: BOOL - TRUE if the SW2 was pressed and FALSE otherwise |
* |
* Side Effects: None |
* |
* Overview: returns TRUE if the SW2 was pressed and FALSE otherwise |
* |
* Note: None |
*****************************************************************************/ |
BOOL SwitchIsPressed(void) |
{ |
if(UserSW != old_SW) |
{ |
old_SW = UserSW; // Save new value |
if(UserSW == 0) // If pressed |
return TRUE; // Was pressed |
}//end if |
return FALSE; // Was not pressed |
}//end SwitchIsPressed |
void Reset_Si570() |
{ |
#if defined (UBW) |
StartI2C(); //Reset Si570 to Startup |
IdleI2C(); |
WriteI2C(i2c_adr << 1); |
WriteI2C(135); //REG 135 |
WriteI2C(0x01); // reset |
StopI2C(); |
IdleI2C(); |
#elif defined (UBW32) |
StartI2C1(); //Reset Si570 to Startup |
IdleI2C1(); |
MasterWriteI2C1(i2c_adr << 1); |
MasterWriteI2C1(135); //REG 135 |
MasterWriteI2C1(0x01); // reset |
StopI2C1(); |
IdleI2C1(); |
#endif |
} |
void ReadRegs() |
{ |
unsigned int i; |
for(i=0;i<6;i++) |
{ |
#if defined (UBW) |
StartI2C(); |
IdleI2C(); |
WriteI2C(i2c_adr << 1); |
WriteI2C(i+7); //specify register |
RestartI2C(); |
IdleI2C(); |
WriteI2C(i2c_adr << 1 | 0x01); |
registers[i] = ReadI2C(); |
StopI2C(); |
IdleI2C(); |
#elif defined (UBW32) |
StartI2C1(); |
IdleI2C1(); |
MasterWriteI2C1(i2c_adr << 1); |
MasterWriteI2C1(i+7); |
RestartI2C1(); |
IdleI2C1(); |
MasterWriteI2C1(i2c_adr << 1 | 0x01); |
registers[i] = MasterReadI2C1(); |
StopI2C1(); |
IdleI2C1(); |
#endif |
} |
} |
void Freeze () { |
Prep_rd(137); //get current value |
#if defined (UBW) |
R137 = ReadI2C(); |
#elif defined (UBW32) |
R137 = MasterReadI2C1(); |
#endif |
R137 = R137 | 0x10; //turn on freeze |
WriteBk(); |
} |
void Unfreeze () { |
Prep_rd(137); |
#if defined (UBW) |
R137 = ReadI2C(); |
#elif defined (UBW32) |
R137 = MasterReadI2C1(); |
#endif |
R137 = R137 & 0xEF; |
WriteBk(); |
} |
void WriteBk () { //Write back |
#if defined (UBW) |
StopI2C(); |
IdleI2C(); |
StartI2C(); |
IdleI2C(); |
WriteI2C(i2c_adr<<1); |
WriteI2C(137); //REG |
WriteI2C(R137); // new data |
StopI2C(); |
IdleI2C(); |
#elif defined (UBW32) |
StopI2C1(); |
IdleI2C1(); |
StartI2C1(); |
IdleI2C1(); |
MasterWriteI2C1(i2c_adr<<1); |
MasterWriteI2C1(137); //REG |
MasterWriteI2C1(R137); // new data |
StopI2C1(); |
IdleI2C1(); |
#endif |
} |
void Prep_rd (unsigned short r) { // get ready to read |
#if defined (UBW) |
StartI2C(); |
IdleI2C(); |
WriteI2C(i2c_adr<<1); |
WriteI2C(r); //REG |
RestartI2C(); |
IdleI2C(); |
WriteI2C(i2c_adr<<1 | 0x01); |
#elif defined (UBW32) |
StartI2C1(); |
IdleI2C1(); |
MasterWriteI2C1(i2c_adr<<1); |
MasterWriteI2C1(r); //REG |
RestartI2C1(); |
IdleI2C1(); |
MasterWriteI2C1(i2c_adr<<1 | 0x01); |
#endif |
} |
void NewF () { |
Prep_rd(135); |
#if defined (UBW) |
R135 = ReadI2C(); |
R135 |= 0x40; // set New Data bit |
StopI2C(); |
IdleI2C(); |
StartI2C(); |
IdleI2C(); |
WriteI2C(i2c_adr<<1); |
WriteI2C(135); //REG |
WriteI2C(R135); |
StopI2C(); |
IdleI2C(); |
#elif defined (UBW32) |
R135 = MasterReadI2C1(); |
R135 |= 0x40; // set New Data bit |
StopI2C1(); |
IdleI2C1(); |
StartI2C1(); |
IdleI2C1(); |
MasterWriteI2C1(i2c_adr<<1); |
MasterWriteI2C1(135); //REG |
MasterWriteI2C1(R135); |
StopI2C1(); |
IdleI2C1(); |
#endif |
} |
void RunFreqProg(double f) |
{ |
double rfreq_fraction; |
unsigned long rfreq_integer_part; |
unsigned long rfreq_fraction_part; |
const float FDCO_MAX = 5670; //MHz |
const float FDCO_MIN = 4850; |
// Register finding the lowest DCO frequenty - code from Fred |
unsigned char xHS_DIV; |
unsigned int xN1; |
unsigned int xN; |
// Registers to save the found dividers |
unsigned char sHS_DIV=0; |
unsigned char sN1=0; |
unsigned int sN=0; // Total dividing |
unsigned int N0; // Total divider needed (N1 * HS_DIV) |
// Find the total division needed. |
// It is always one too low (not in the case reminder is zero, reminder not used here). |
N0 = FDCO_MIN / (float) f; |
sN = 11*128; |
for(xHS_DIV = 11; xHS_DIV > 3; xHS_DIV--) |
{ |
// Skip the unavailable divider's |
if (xHS_DIV == 8 || xHS_DIV == 10) |
continue; |
// Calculate the needed low speed divider |
xN1 = N0 / xHS_DIV + 1; |
if (xN1 > 128) |
continue; |
// Skip the unavailable divider's |
if (xN1 != 1 && (xN1 & 1) == 1) |
xN1 += 1; |
xN = xHS_DIV * xN1; |
if (sN > xN) |
{ |
sN = xN; |
sN1 = xN1; |
sHS_DIV = xHS_DIV; |
} |
}; |
validCombo = 0; |
if (sHS_DIV == 0) return; // no valid dividers found |
rfreq = f * (double) sN; // DCO freq |
if ((float)rfreq > FDCO_MAX) return; // calculated DCO freq > max |
validCombo = 1; |
// rfreq is a 38 bit number, MSB 10 bits integer portion, and LSB 28 fraction |
// in the Si570 registers, tempBuf[1] has 6 bits, and tempBuf[2] has 4 bits of the integer portion |
rfreq /= fcryst_double; // DCO divided by fcryst |
rfreq_integer_part = rfreq; |
rfreq_fraction = rfreq - rfreq_integer_part; |
rfreq_fraction_part = rfreq_fraction * (1L << 28); |
sHS_DIV -= 4; |
sN1 -= 1; |
tempBuf[0] = (sHS_DIV << 5) | (sN1 >> 2); |
tempBuf[1] = (sN1 & 3) << 6; |
tempBuf[1] |= ((rfreq_integer_part >> 4) & 0x3f); |
tempBuf[2] = ((rfreq_integer_part & 0x0f) << 4) | (rfreq_fraction_part >> 24); |
tempBuf[3] = rfreq_fraction_part >> 16; |
tempBuf[4] = rfreq_fraction_part >> 8; |
tempBuf[5] = rfreq_fraction_part; |
} |
void SetNewFreq() |
{ int i; |
double freq_double; |
double delta_freq; |
if(validCombo) |
{ |
Freeze(); // freeze DCO |
for (i=7; i<=12; i++){ //Data to Si570 |
#if defined (UBW) |
StartI2C(); |
IdleI2C(); |
WriteI2C(i2c_adr<<1); |
WriteI2C(i); //specify register |
WriteI2C(tempBuf[i-7]); // new data to registers |
StopI2C(); |
IdleI2C(); |
#elif defined (UBW32) |
StartI2C1(); |
IdleI2C1(); |
MasterWriteI2C1(i2c_adr<<1); |
MasterWriteI2C1(i); //specify register |
MasterWriteI2C1(tempBuf[i-7]); // new data to registers |
StopI2C1(); |
IdleI2C1(); |
#endif |
} |
Unfreeze (); // thaw (unfreeze) |
// check for smooth tune range |
freq_double = Freq_From_Register(fcryst_double); |
if (freq_double >= Old_freq_double) delta_freq = freq_double - Old_freq_double; |
else delta_freq = Old_freq_double - freq_double; |
if (((delta_rfreq / Old_rfreq ) > Smooth_double) || (delta_freq > 0.5)){ |
NewF (); // indicate new freq. This will cause a pause in the Si570 output |
Old_rfreq = rfreq; |
Old_freq_double = freq_double; |
}; |
// set filters, using set freq without offset and multiplier |
if (abpf_flag) Set_BPF((float) set_frequency); |
Set_LPF((float)set_frequency); |
}; // valid combo |
} |
double Freq_From_Register(double fcryst){ // side effects: rfreq and delta_rfreq are set |
double freq_double; |
unsigned char n1; |
unsigned char hsdiv; |
unsigned long rfreq_integer_portion, rfreq_fraction_portion; |
// Now find out the current rfreq and freq |
hsdiv = ((tempBuf[0] & 0xE0) >> 5) + 4; |
n1 = ((tempBuf[0] & 0x1f ) << 2 ) + ((tempBuf[1] & 0xc0 ) >> 6 ); |
// if(n1 == 0) n1 = 1; |
// else if((n1 & 1) !=0) n1 += 1; |
n1 += 1; |
rfreq_integer_portion = ((unsigned long)(tempBuf[1] & 0x3f)) << 4 | |
((unsigned long)(tempBuf[2] & 0xf0)) >> 4; |
rfreq_fraction_portion = ((unsigned long) (tempBuf[2] & 0x0f)) << 24; |
rfreq_fraction_portion += ((unsigned long)(tempBuf[3])) << 16; |
rfreq_fraction_portion += ((unsigned long)(tempBuf[4])) << 8; |
rfreq_fraction_portion += ((unsigned long)(tempBuf[5])); |
rfreq = (double)rfreq_integer_portion + ((double)rfreq_fraction_portion / (1L << 28)); |
if (rfreq >= Old_rfreq) delta_rfreq = rfreq - Old_rfreq; |
else delta_rfreq = Old_rfreq - rfreq; |
freq_double = fcryst * rfreq / (double) hsdiv / (double) n1; |
return (freq_double); |
} |
void Set_BPF(float freq){ // note the freq used is the Si570 freq |
#if defined(YAS) |
if (freq < FilterSwitchOver[0]) {BPF_S2 = 0;BPF_S1 = 0; BPF_S0 = 0;} |
else if (freq < FilterSwitchOver[1]) {BPF_S2 = 0; BPF_S1=0;BPF_S0=1;} |
else if (freq < FilterSwitchOver[2]) {BPF_S2 = 0;BPF_S1=1;BPF_S0=0;} |
else if (freq < FilterSwitchOver[3]) {BPF_S2 = 0; BPF_S1 = 1; BPF_S0 = 1;} |
else if (freq < FilterSwitchOver[4]) {BPF_S2 = 1; BPF_S1 = 0; BPF_S0 = 0;} |
else if (freq < FilterSwitchOver[5]) {BPF_S2 = 1; BPF_S1 = 0; BPF_S0 = 1;} |
else if (freq < FilterSwitchOver[6]) {BPF_S2 = 1; BPF_S1 = 1; BPF_S0 = 0;} |
else {BPF_S2 = 1;BPF_S1=1; BPF_S0=1;}; |
#else |
if (freq < FilterSwitchOver[0]) {BPF_S1 = 0; BPF_S0 = 0;} |
else if (freq < FilterSwitchOver[1]) {BPF_S1=0;BPF_S0=1;} |
else if (freq < FilterSwitchOver[2]) {BPF_S1=1;BPF_S0=0;} |
else {BPF_S1=1; BPF_S0=1;}; |
#endif |
} |
void Set_LPF(float freq){ |
unsigned char LPF_select; |
LPF_0 = 0; |
LPF_1 = 0; |
LPF_2 = 0; |
#if defined(YAS) |
if (freq < LPFSwitchOver[0]) {LPF_0 = 0; LPF_1 = 0; LPF_2 = 0; LPF_select = 0x01;} |
else if (freq < LPFSwitchOver[1]) {LPF_0 = 1; LPF_1 = 0; LPF_2 = 0; LPF_select = 0x02;} |
else if (freq < LPFSwitchOver[2]) {LPF_0 = 0; LPF_1 = 1; LPF_2 = 0; LPF_select = 0x04;} |
else if (freq < LPFSwitchOver[3]) {LPF_0 = 1; LPF_1 = 1; LPF_2 = 0; LPF_select = 0x08;} |
else if (freq < LPFSwitchOver[4]) {LPF_0 = 0; LPF_1 = 0; LPF_2 = 1; LPF_select = 0x10;} |
else if (freq < LPFSwitchOver[5]) {LPF_0 = 1; LPF_1 = 0; LPF_2 =1; LPF_select = 0x20;} |
else if (freq < LPFSwitchOver[6]) {LPF_0 = 0; LPF_1 = 1; LPF_2 = 1; LPF_select = 0x40;} |
else {LPF_0 = 1; LPF_1 = 1; LPF_2 = 1; LPF_select = 0x80;}; |
#else |
LPF_3 = 0; |
LPF_4 = 0; |
LPF_5 = 0; |
LPF_6 = 0; |
if (freq < LPFSwitchOver[0]) {LPF_0 = 1; LPF_select = 0x01;} |
else if (freq < LPFSwitchOver[1]) {LPF_1 = 1; LPF_select = 0x02;} |
else if (freq <= LPFSwitchOver[2]) {LPF_2 = 1; LPF_select = 0x04;} |
else if (freq < LPFSwitchOver[3]) {LPF_3 = 1; LPF_select = 0x08;} |
else if (freq < LPFSwitchOver[4]) {LPF_4 = 1; LPF_select = 0x10;} |
else if (freq < LPFSwitchOver[5]) {LPF_5 = 1; LPF_select = 0x20;} |
else if (freq < LPFSwitchOver[6]) {LPF_6 = 1; LPF_select = 0x40;} |
else {LPF_6 = 1; LPF_select = 0x80;}; |
#endif |
// Now use i2c bus to switch LPF |
#if defined (UBW) |
StartI2C(); |
IdleI2C(); |
WriteI2C(PCF8574 << 1); |
WriteI2C(LPF_select); |
StopI2C(); |
IdleI2C(); |
#elif defined (UBW32) |
StartI2C1(); |
IdleI2C1(); |
MasterWriteI2C1(PCF8574 << 1); |
MasterWriteI2C1(LPF_select); |
StopI2C1(); |
IdleI2C1(); |
#endif |
} |
void SetFrequency(double f) |
{ |
// introduce the offset and mul here |
RunFreqProg((f - ((double)f_sub.qw / (double)(1L << 21))) * (double)f_mul.qw/(double)(1L <<21)); |
SetNewFreq(); |
} |
void Set_Freq_Handler(void){ // 4 byte freq value in avr_freq format |
BYTE i; |
if (command_buffer[current_command_out].wCount == 4){ |
for (i=0; i<4; i++) avr_freq.bytes[i] = command_buffer[current_command_out].data[i]; |
set_frequency = (double) avr_freq.qw / (double)(1L << 21); |
SetFrequency(set_frequency); |
} |
} |
void Set_Register_Handler(void){ // 6 byte register value |
unsigned char i; |
if (command_buffer[current_command_out].wCount == 6){ |
for (i=0; i<6; i++) tempBuf[i] = command_buffer[current_command_out].data[i]; |
set_frequency = Freq_From_Register(DEFAULT_FCRYST); |
SetFrequency(set_frequency); |
} |
} |
void Set_Cal_Handler(void){ |
// 4 bytes of fcryst freq in avr_freq format |
int i; |
if (command_buffer[current_command_out].wCount == 4){ |
for (i=0; i<4; i++)fcryst_freq.bytes[i] = command_buffer[current_command_out].data[i]; |
fcryst_double = (double) fcryst_freq.qw / (double)(1L << 24); |
#if defined(UBW) |
for (i=0; i<4; i++){ |
Write_b_eep (i+F_CAL_DONE+1, fcryst_freq.bytes[i]); |
Busy_eep (); |
}; |
#elif defined (UBW32) |
DataEEWrite( (unsigned int) fcryst_freq.qw, (F_CAL_DONE + 1)); |
#endif |
#if defined (UBW) |
Write_b_eep(F_CAL_DONE, F_CAL_DONE_VALUE); |
Busy_eep(); |
#elif defined (UBW32) |
DataEEWrite(F_CAL_DONE_VALUE, F_CAL_DONE); |
#endif |
}; |
} |
void Set_Init_Freq_Handler(void) |
{ |
#if defined (UBW) |
unsigned char i; |
#else |
unsigned int i; |
#endif |
if (command_buffer[current_command_out].wCount == 4){ |
for (i=0; i<4; i++) avr_freq.bytes[i] = command_buffer[current_command_out].data[i]; |
#if defined (UBW) |
for (i=0; i<4; i++){ |
Write_b_eep((i + F_INIT_FREQ +1), avr_freq.bytes[i]); |
Busy_eep(); |
}; |
#elif defined (UBW32) |
DataEEWrite( (unsigned int) avr_freq.qw, (F_INIT_FREQ +1)); |
#endif |
#if defined (UBW) |
Write_b_eep(F_INIT_FREQ, F_INIT_FREQ_VALUE); |
Busy_eep(); |
#elif defined (UBW32) |
DataEEWrite(F_INIT_FREQ_VALUE, F_INIT_FREQ); |
#endif |
}; |
} |
void Set_Sub_Mul_Handler(void) |
{ |
#if defined (UBW) |
unsigned char i; |
#else |
unsigned int i; |
#endif |
avr_freq_t old_f_mul; |
offset_t old_f_sub; |
double filter_value; |
if (command_buffer[current_command_out].wCount == 8){ |
old_f_sub = f_sub; // save old values first |
old_f_mul = f_mul; |
for (i=0; i<4; i++) f_sub.bytes[i] = command_buffer[current_command_out].data[i]; |
for (i=0; i<4; i++) f_mul.bytes[i] = command_buffer[current_command_out].data[i+4]; |
#if defined (UBW) |
for (i=0; i<4; i++){ |
Write_b_eep((i + F_SUB_MUL +1), f_sub.bytes[i]); |
Busy_eep(); |
}; |
for (i=0; i<4; i++){ |
Write_b_eep((i + F_SUB_MUL +5), f_mul.bytes[i]); |
Busy_eep(); |
}; |
#elif defined (UBW32) |
DataEEWrite( (unsigned int) f_sub.qw, (F_SUB_MUL +1)); |
DataEEWrite( (unsigned int) f_mul.qw, (F_SUB_MUL +5)); |
#endif |
#if defined (UBW) |
Write_b_eep(F_SUB_MUL, F_SUB_MUL_VALUE); |
Busy_eep(); |
#elif defined (UBW32) |
DataEEWrite(F_SUB_MUL_VALUE, F_SUB_MUL); |
#endif |
// Now update the filter switchover points as well |
for (i = 0; i < (NUM_BPF - 1); i++){ |
// get back filter_value in Mhz |
filter_value = FilterSwitchOver[i] / (old_f_mul.qw / ((double) (1L << 21))) / 4 + (old_f_sub.qw / ((double) (1L << 21))); |
// now convert to new translated values |
FilterSwitchOver[i] = (filter_value - (f_sub.qw / (double)(1L << 21))) * (f_mul.qw / (double)(1L << 21)) * 4; |
FilterCrossOver[i] = Switch2Cross(FilterSwitchOver[i]); |
}; |
for (i = 0; i < 7; i++){ |
// get back filter_value in Mhz |
filter_value = LPFSwitchOver[i] / (old_f_mul.qw / ((double) (1L << 21))) / 4 + (old_f_sub.qw / ((double) (1L << 21))); |
// now convert to new translated values |
LPFSwitchOver[i] = (filter_value - (f_sub.qw / (double)(1L << 21))) * (f_mul.qw / (double)(1L << 21)) * 4; |
LPFCrossOver[i] = Switch2Cross(LPFSwitchOver[i]); |
}; |
}; // if wCount == 8 |
} |
void Set_Smooth_Handler(void) |
{ |
WORD_VAL w; |
unsigned int i; |
if (command_buffer[current_command_out].wCount == 2){ // 2 bytes of Smooth Tune value in ppm |
w.v[0] = command_buffer[current_command_out].data[0]; |
w.v[1] = command_buffer[current_command_out].data[1]; |
Smooth_double = (double) w.Val / 1000000L; |
#if defined (UBW) |
for (i=0; i<2; i++){ |
Write_b_eep (i+F_SMOOTH+1, w.v[i]); |
Busy_eep (); |
}; |
#elif defined (UBW32) |
DataEEWrite( (unsigned int) w.Val, (i + F_SMOOTH + 1)); |
#endif |
#if defined (UBW) |
Write_b_eep(F_SMOOTH, F_SMOOTH_VALUE); |
Busy_eep(); |
#elif defined (UBW32) |
DataEEWrite( F_SMOOTH_VALUE, F_SMOOTH); |
#endif |
} |
} |
/** EOF user.c ***************************************************************/ |
/Modules/Clock/CLKGEN01A/SW/DG8SAQ synthesiser_Emulator/user.h |
---|
0,0 → 1,197 |
/********************************************************************* |
* |
* Microchip USB C18 Firmware Version 1.2 |
* |
********************************************************************* |
* FileName: user.h |
* Dependencies: See INCLUDES section below |
* Processor: PIC18 |
* Compiler: C18 3.11+ |
* Company: Microchip Technology, Inc. |
* |
* Software License Agreement |
* |
* The software supplied herewith by Microchip Technology Incorporated |
* (the Company) for its PICmicro® Microcontroller is intended and |
* supplied to you, the Companys customer, for use solely and |
* exclusively on Microchip PICmicro Microcontroller products. The |
* software is owned by the Company and/or its supplier, and is |
* protected under applicable copyright laws. All rights are reserved. |
* Any use in violation of the foregoing restrictions may subject the |
* user to criminal sanctions under applicable laws, as well as to |
* civil liability for the breach of the terms and conditions of this |
* license. |
* |
* THIS SOFTWARE IS PROVIDED IN AN AS IS CONDITION. NO WARRANTIES, |
* WHETHER EXPRESS, IMPLIED OR STATUTORY, INCLUDING, BUT NOT LIMITED |
* TO, IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A |
* PARTICULAR PURPOSE APPLY TO THIS SOFTWARE. THE COMPANY SHALL NOT, |
* IN ANY CIRCUMSTANCES, BE LIABLE FOR SPECIAL, INCIDENTAL OR |
* CONSEQUENTIAL DAMAGES, FOR ANY REASON WHATSOEVER. |
* |
* Author Date Comment |
*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ |
* Rawin Rojvanit 11/19/04 Original. |
* Rawin Rojvanit 05/14/07 Minor updates. |
********************************************************************/ |
#ifndef PICDEM_FS_DEMO_H |
#define PICDEM_FS_DEMO_H |
/** I N C L U D E S **********************************************************/ |
/** D E F I N I T I O N S ****************************************************/ |
// For custom LPF switchover points |
#define ALEX |
//#define K5OOR |
//#define MARC |
// YAS is defined in the HardwareProfile - UBW.h, if needed |
#if defined(YAS) |
#define NUM_BPF 8 |
#else |
#define NUM_BPF 4 |
#endif |
#define INIT_SI570_ON_STARTUP |
#define VERSION_MAJOR 16 |
#define VERSION_MINOR 04 |
#define DEFAULT_I2C_ADDRESS 0x55 |
#define PCF8574 0x39 // A2 A1 A0 -> 0 0 1 |
#define F_CAL_DONE 0 // EEPROM position of F_CAL_DONE flag. 4 bytes follow. |
#define F_CAL_DONE_VALUE 0x55 |
#define DEFAULT_FCRYST 114.285 |
//#if defined(UBW) |
#define F_INIT_FREQ 5 // 4 bytes follow |
//#elif defined(UBW32) |
//#define F_INIT_FREQ 2 // fcryst 4 bytes all stored in one 32 bit slot |
//#endif |
#define F_INIT_FREQ_VALUE 0x55 |
#define DEFAULT_INIT_FREQ 56.32 |
#if defined(UBW) |
#define F_SMOOTH 10 // 2 bytes follow |
#elif defined(UBW32) |
#define F_SMOOTH 4 // 1 slot follow |
#endif |
#define F_SMOOTH_VALUE 0x55 |
#define DEFAULT_SMOOTH 3500 // ppm |
#define F_SUB_MUL_VALUE 0x55 |
#define DEFAULT_SUB 0.0 |
#define DEFAULT_MUL 1.0 |
#if defined(UBW) |
#define F_SUB_MUL 13 // 8 bytes follow |
#elif defined(UBW32) |
#define F_SUB_MUL 6 // 2 slots follow |
#endif |
#if defined(UBW) |
#define F_CROSS_OVER 22 // 32 bytes follow |
#elif defined(UBW32) |
#define F_CROSS_OVER 9 // 16 words stored in 16 (unsigned int) slots |
#endif |
#define F_CROSS_OVER_VALUE 0x55 |
#if defined(UBW) |
#define F_BLINK_LED 55 |
#elif defined(UBW32) |
#define F_BLINK_LED 26 |
#endif |
/** S T R U C T U R E S ******************************************************/ |
extern BYTE i2c_adr; |
extern BYTE command; |
extern BYTE replybuf[8]; |
extern WORD wCount; |
#define COMMAND_BUFFER_SIZE 16 |
#define DATA_PACKET_SIZE 6 |
typedef struct COMMAND_BUFFER |
{ |
BYTE command; |
WORD wCount; |
BYTE data[DATA_PACKET_SIZE]; |
} COMMAND_BUFFER_t; |
extern COMMAND_BUFFER_t command_buffer[COMMAND_BUFFER_SIZE]; |
extern BYTE current_command_in, current_command_out; |
extern BYTE command_count; |
extern double set_frequency; |
extern unsigned char tempBuf[8]; |
typedef union _avr_freq |
{ |
unsigned long qw; |
unsigned char bytes[4]; |
} avr_freq_t; |
extern avr_freq_t avr_freq, fcryst_freq; //frequency [MHz]*2^21 |
// fcryst freq [MHz]*2^24 |
extern avr_freq_t f_mul; // mul for set freq in 11.21 format |
typedef union _offset |
{ |
long qw; // signed offset in 11.21 format |
unsigned char bytes[4]; |
} offset_t; |
extern offset_t f_sub; |
extern unsigned char registers[6]; |
extern BYTE abpf_flag; |
extern double Smooth_double; |
extern double fcryst_double; |
extern WORD_VAL FilterCrossOver[8]; // 11.5 bit value Mhz |
extern float FilterSwitchOver[7]; |
extern WORD_VAL LPFCrossOver[8]; |
extern float LPFSwitchOver[7]; |
/** P U B L I C P R O T O T Y P E S *****************************************/ |
void UserInit(void); |
void ProcessIO(void); |
void Set_Freq_Handler(void); |
void Set_Register_Handler(void); |
void Set_Cal_Handler(void); |
void Set_Init_Freq_Handler(void); |
void Set_Smooth_Handler(void); |
void Set_Sub_Mul_Handler(void); |
void Reset_Si570(void); |
void Freeze (void); |
void Unfreeze (void); |
void Prep_rd (unsigned short); |
void WriteBk (void); |
void NewF (void); |
void SetNewFreq(void); |
void ReadRegs(void); |
void ReadStartUpConfiguration(void); |
void RunFreqProg(double); |
void SetFrequency(double); |
void Set_BPF(float); |
void Set_LPF(float); |
float Cross2Switch(WORD_VAL); |
WORD_VAL Switch2Cross(float); |
double Freq_From_Register(double); |
void Read_Command_Into_Buffer(void); |
void USBCheckUserRequest(void); |
void USBCheckUBWRequest(void); |
#endif //PICDEM_FS_DEMO_H |
/Modules/Clock/CLKGEN01A/PCB/CLKGEN.pcb |
---|
Cannot display: file marked as a binary type. |
svn:mime-type = application/octet-stream |
Property changes: |
Added: svn:mime-type |
+application/octet-stream |
\ No newline at end of property |
/Modules/Clock/CLKGEN01A/PrjInfo.txt |
---|
0,0 → 1,14 |
[InfoShortDescription.en] |
Low jitter clock generator |
[InfoShortDescription.cs] |
Generátor hodin s nízkým šumem. |
[InfoLongDescription.en] |
Single output I2C programmable clock generator. |
[InfoLongDescription.cs] |
I2C programovatelný precizní generátor hodin s výstupem na SATA konektor. |
[End] |
based on http://wb6dhw.com/Si570/Si570.html |
/Modules/Clock/CLKGEN01A/CLKGEN01A_Bottom_Small.jpg |
---|
Cannot display: file marked as a binary type. |
svn:mime-type = application/octet-stream |
Property changes: |
Added: svn:mime-type |
+application/octet-stream |
\ No newline at end of property |
/Modules/Clock/CLKGEN01A/DOC/SRC/CLKGEN01A_Bottom_Big.jpg |
---|
Cannot display: file marked as a binary type. |
svn:mime-type = application/octet-stream |
Property changes: |
Added: svn:mime-type |
+application/octet-stream |
\ No newline at end of property |
/Modules/Clock/CLKGEN01A/DOC/CLKGEN01A.pdf |
---|
Cannot display: file marked as a binary type. |
svn:mime-type = application/octet-stream |
Property changes: |
Added: svn:mime-type |
+application/octet-stream |
\ No newline at end of property |
/Modules/Clock/CLKGEN01A/CAM_AMA/T1.pdf |
---|
Cannot display: file marked as a binary type. |
svn:mime-type = application/octet-stream |
Property changes: |
Added: svn:mime-type |
+application/octet-stream |
\ No newline at end of property |
/Modules/Clock/CLKGEN01A/CAM_AMA/V2.pdf |
---|
Cannot display: file marked as a binary type. |
svn:mime-type = application/octet-stream |
Property changes: |
Added: svn:mime-type |
+application/octet-stream |
\ No newline at end of property |
/Modules/Clock/CLKGEN01A/CAM_PROFI/M2.PHO |
---|
0,0 → 1,255 |
* |
* |
G04 PADS9.0.2 Build Number: 372616 generated Gerber (RS-274-X) file* |
G04 PC Version=2.1* |
* |
%IN "CLKGEN.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* |
* |
%ADD024C,0.001*% |
%ADD043R,0.055X0.055*% |
%ADD060R,0.07693X0.07693*% |
%ADD061R,0.06118X0.06118*% |
%ADD062R,0.071X0.071*% |
%ADD063C,0.081*% |
%ADD064C,0.05528*% |
%ADD065C,0.11079*% |
%ADD066R,0.081X0.081*% |
%ADD067R,0.076X0.076*% |
%ADD068R,0.086X0.086*% |
%ADD069C,0.041*% |
%ADD070R,0.09465X0.09465*% |
%ADD071C,0.25213*% |
%ADD072C,0.21*% |
%ADD073R,0.059X0.059*% |
* |
* |
* |
* |
G04 PC Circuitry* |
G04 Layer Name CLKGEN.pcb - circuitry* |
%LPD*% |
* |
* |
G04 PC Custom Flashes* |
G04 Layer Name CLKGEN.pcb - flashes* |
%LPD*% |
* |
* |
G04 PC Circuitry* |
G04 Layer Name CLKGEN.pcb - circuitry* |
%LPD*% |
* |
G54D24* |
G54D43* |
G01X203000Y246450D02* |
Y244750D01* |
X210600Y246450D02* |
Y244750D01* |
X203000Y255250D02* |
Y253550D01* |
X210600Y255250D02* |
Y253550D01* |
X245400Y227550D02* |
Y229250D01* |
X237800Y227550D02* |
Y229250D01* |
X137408Y226261D02* |
X135708D01* |
X137408Y218661D02* |
X135708D01* |
X174318Y228841D02* |
X173118D01* |
X174318Y221241D02* |
X173118D01* |
X185595Y207021D02* |
Y208221D01* |
X177995Y207021D02* |
Y208221D01* |
X137205Y210696D02* |
X136005D01* |
X137205Y203096D02* |
X136005D01* |
X154958Y217661D02* |
X156158D01* |
X154958Y225261D02* |
X156158D01* |
X164958Y217661D02* |
X166158D01* |
X164958Y225261D02* |
X166158D01* |
X153517Y179275D02* |
X152317D01* |
X153517Y171675D02* |
X152317D01* |
X164067Y179275D02* |
X162867D01* |
X164067Y171675D02* |
X162867D01* |
X188438Y238422D02* |
Y237222D01* |
X196038Y238422D02* |
Y237222D01* |
X225000Y241800D02* |
Y243000D01* |
X217400Y241800D02* |
Y243000D01* |
G54D60* |
X227076Y213427D02* |
Y215198D01* |
X217076Y213427D02* |
Y215198D01* |
X207076Y213427D02* |
Y215198D01* |
Y229962D02* |
Y231734D01* |
X217076Y229962D02* |
Y231734D01* |
X227076Y229962D02* |
Y231734D01* |
G54D61* |
X228789Y222580D02* |
X227824D01* |
X206328D02* |
X205364D01* |
G54D62* |
X186884Y166138D02* |
Y170638D01* |
X173884Y166138D02* |
Y170638D01* |
X224689Y172049D02* |
Y167549D01* |
X237689Y172049D02* |
Y167549D01* |
G54D63* |
X173529Y134397D03* |
X163529D03* |
X173529Y144397D03* |
X163529D03* |
X173529Y154397D03* |
X163529D03* |
X251309Y187702D03* |
X261309D03* |
X251309Y177702D03* |
X261309D03* |
X251309Y167702D03* |
X261309D03* |
G54D64* |
X191403Y269381D02* |
Y268593D01* |
X196403Y263475D02* |
Y262688D01* |
X201403Y263475D02* |
Y262688D01* |
X206403Y269381D02* |
Y268593D01* |
X211403Y263475D02* |
Y262688D01* |
X216403Y263475D02* |
Y262688D01* |
X221403Y269381D02* |
Y268593D01* |
G54D65* |
X232230Y259144D03* |
X181718Y263081D03* |
G54D66* |
X220015Y201331D03* |
Y191331D03* |
X210020Y201331D03* |
Y191331D03* |
X152637Y188800D03* |
Y198800D03* |
X162637Y188800D03* |
Y198800D03* |
G54D67* |
X221002Y136510D02* |
Y135310D01* |
X202802Y136510D02* |
Y135310D01* |
X211902Y136510D02* |
Y135310D01* |
G54D68* |
X215752Y160310D02* |
X208052D01* |
G54D69* |
X146058Y234411D02* |
Y229911D01* |
X151058Y234411D02* |
Y229911D01* |
X156058Y234411D02* |
Y229911D01* |
X161058Y234411D02* |
Y229911D01* |
Y213011D02* |
Y208511D01* |
X156058Y213011D02* |
Y208511D01* |
X151058Y213011D02* |
Y208511D01* |
X146058Y213011D02* |
Y208511D01* |
G54D70* |
X190262Y156326D02* |
Y155933D01* |
Y136247D02* |
Y135854D01* |
X233542Y156326D02* |
Y155933D01* |
Y136247D02* |
Y135854D01* |
G54D71* |
X140000Y260000D03* |
Y140000D03* |
X260000D03* |
Y260000D03* |
G54D72* |
X200800Y170400D03* |
X178800Y188000D03* |
G54D73* |
X184280Y230140D02* |
Y227440D01* |
X195680Y230140D02* |
Y227440D01* |
X0Y0D02* |
M02* |
/Modules/Clock/CLKGEN01A/CAM_PROFI/V2.PHO |
---|
0,0 → 1,2043 |
* |
* |
G04 PADS9.0.2 Build Number: 372616 generated Gerber (RS-274-X) file* |
G04 PC Version=2.1* |
* |
%IN "CLKGEN.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* |
* |
%ADD010R,0.039X0.039*% |
%ADD012R,0.07X0.07*% |
%ADD013C,0.23622*% |
%ADD014C,0.05*% |
%ADD017C,0.02*% |
%ADD020C,0.012*% |
%ADD024C,0.001*% |
%ADD025C,0.01*% |
%ADD040R,0.06X0.06*% |
%ADD043R,0.055X0.055*% |
%ADD045R,0.065X0.065*% |
%ADD046R,0.043X0.043*% |
%ADD047C,0.025*% |
%ADD055C,0.04331*% |
%ADD056C,0.09843*% |
%ADD057R,0.06693X0.06693*% |
%ADD058R,0.05118X0.05118*% |
%ADD059R,0.07874X0.07874*% |
* |
* |
* |
* |
G04 PC Circuitry* |
G04 Layer Name CLKGEN.pcb - circuitry* |
%LPD*% |
* |
* |
G04 PC Custom Flashes* |
G04 Layer Name CLKGEN.pcb - flashes* |
%LPD*% |
* |
* |
G04 PC Circuitry* |
G04 Layer Name CLKGEN.pcb - circuitry* |
%LPD*% |
* |
G54D10* |
G01X203000Y246450D02* |
Y244750D01* |
X210600Y246450D02* |
Y244750D01* |
X203000Y255250D02* |
Y253550D01* |
X210600Y255250D02* |
Y253550D01* |
X245400Y227550D02* |
Y229250D01* |
X237800Y227550D02* |
Y229250D01* |
X137408Y226261D02* |
X135708D01* |
X137408Y218661D02* |
X135708D01* |
X174318Y228841D02* |
X173118D01* |
X174318Y221241D02* |
X173118D01* |
X185595Y207021D02* |
Y208221D01* |
X177995Y207021D02* |
Y208221D01* |
X137205Y210696D02* |
X136005D01* |
X137205Y203096D02* |
X136005D01* |
X154958Y217661D02* |
X156158D01* |
X154958Y225261D02* |
X156158D01* |
X164958Y217661D02* |
X166158D01* |
X164958Y225261D02* |
X166158D01* |
X153517Y179275D02* |
X152317D01* |
X153517Y171675D02* |
X152317D01* |
X164067Y179275D02* |
X162867D01* |
X164067Y171675D02* |
X162867D01* |
X188438Y238422D02* |
Y237222D01* |
X196038Y238422D02* |
Y237222D01* |
X225000Y241800D02* |
Y243000D01* |
X217400Y241800D02* |
Y243000D01* |
G54D12* |
X215752Y160310D02* |
X208052D01* |
G54D13* |
X140000Y260000D03* |
Y140000D03* |
X260000D03* |
Y260000D03* |
G54D14* |
X200800Y170400D03* |
G54D17* |
X202802Y135910D02* |
Y143393D01* |
X190262Y155933* |
Y156129* |
X211902Y135910D02* |
Y160310D01* |
X163529Y144397D02* |
X158000Y149925D01* |
Y160800* |
X163467Y166267* |
Y171675* |
X173529Y144397D02* |
X163529D01* |
X190262Y156129D02* |
X187998D01* |
Y168388* |
X186884* |
X233542Y156129D02* |
X231671Y158000D01* |
X230400* |
Y161889* |
X224689Y167600* |
Y169246* |
X186884Y168388D02* |
Y170638D01* |
X181921Y175600* |
X211902Y160310D02* |
X215752D01* |
X224689Y169246* |
Y169799* |
X163467Y171675D02* |
X152917D01* |
X152317* |
X136605Y187387* |
Y203096* |
X152917Y179275D02* |
X152637D01* |
Y188800* |
X163467Y171675D02* |
Y172625D01* |
X165017* |
X168000Y173366* |
X170234Y175600* |
X181921* |
X163467Y179275D02* |
X162637D01* |
Y188800* |
X224689Y172049D02* |
X230342Y177702D01* |
X238000* |
X224689Y172049D02* |
X214338Y182400D01* |
X202616* |
X177995Y207021* |
Y207621* |
X251309Y177702D02* |
X238000D01* |
Y178200* |
X237800Y178400* |
Y228400* |
X261309Y177702D02* |
X251309D01* |
X152637Y188800D02* |
Y198800D01* |
X162637Y188800D02* |
Y198800D01* |
X223896Y185600D02* |
X232834Y194538D01* |
Y219245* |
X223896Y185600D02* |
X206139D01* |
X196800Y194939* |
Y195816* |
X185595Y207021* |
Y207621* |
X152637Y198800D02* |
X154047D01* |
Y203650* |
X155197Y204800* |
X155200* |
X156058Y205658* |
Y210761* |
X162637Y198800D02* |
X161058D01* |
Y210761* |
X210020Y191331D02* |
Y201331D01* |
X220015Y191331D02* |
Y201331D01* |
X177995Y207621D02* |
Y217565D01* |
X174318Y221241* |
X173718* |
X210020Y201331D02* |
X217076Y208387D01* |
Y214312* |
X220015Y201331D02* |
X227076Y208392D01* |
Y214312* |
X146058Y210761D02* |
X136605D01* |
Y218661* |
X136558* |
X136605Y210696D02* |
Y210761D01* |
X146058D02* |
X151058D01* |
X156058D02* |
Y217661D01* |
X155558* |
X161058Y210761D02* |
Y213011D01* |
X164765Y217661* |
X165558* |
X232834Y219245D02* |
X229144Y222935D01* |
X228307* |
X155558Y225261D02* |
X156058D01* |
Y232161* |
X173718Y228841D02* |
X173118D01* |
X163960Y238000* |
X184280Y228790D02* |
X173718D01* |
Y228841* |
X205846Y222580D02* |
X200540D01* |
X195680Y227440* |
Y228790* |
X228307Y222580D02* |
Y222935D01* |
X237800Y228400D02* |
X234000D01* |
X233200Y229200* |
Y230048* |
X232400Y230848* |
X227076* |
X156058Y232161D02* |
Y234411D01* |
X159647Y238000* |
X163960* |
G54D20* |
X185595Y207621D02* |
Y216410D01* |
X176964Y225041* |
X170000* |
X169780Y225261* |
X165558* |
X164651* |
X163608Y226611* |
X161058Y229911* |
Y232161* |
X173718Y221241D02* |
X169495D01* |
X169276Y221461* |
X152312* |
X151058Y222715* |
Y232161* |
X196038Y237822D02* |
Y238105D01* |
X203000Y245067* |
Y245600* |
X207076Y230848D02* |
Y231734D01* |
X200988Y237822* |
X196038* |
X217076Y230848D02* |
Y241676D01* |
X217400Y242000* |
X203000Y245600D02* |
Y246450D01* |
X196403Y253047* |
Y263081* |
X210600Y240800D02* |
X208000D01* |
X206800Y242000* |
Y249750* |
X203000Y253550* |
Y254400* |
X210600Y240800D02* |
X215600D01* |
X216800Y242000* |
X217400* |
X210600Y245600D02* |
Y246450D01* |
X216403Y252253* |
Y263081* |
X217400Y242000D02* |
Y242400D01* |
X203000Y254400D02* |
X202600Y254800D01* |
X201403* |
Y263081* |
X210600Y254400D02* |
X211046D01* |
Y263081* |
X211403* |
G54D24* |
G54D25* |
X272400Y236873D02* |
X271900Y237055D01* |
X271400Y237418* |
X271150Y237782* |
Y238509* |
X271400Y238873* |
X271900Y239236* |
X272400Y239418* |
X273150Y239600* |
X274400* |
X275150Y239418* |
X275650Y239236* |
X276150Y238873* |
X276400Y238509* |
Y237782* |
X276150Y237418* |
X275650Y237055* |
X275150Y236873* |
X271150Y235236D02* |
X276400D01* |
Y233055* |
X271150Y231418D02* |
X276400D01* |
X271150Y228873D02* |
X274650Y231418D01* |
X273400Y230509D02* |
X276400Y228873D01* |
X272400Y224509D02* |
X271900Y224691D01* |
X271400Y225055* |
X271150Y225418* |
Y226145* |
X271400Y226509* |
X271900Y226873* |
X272400Y227055* |
X273150Y227236* |
X274400* |
X275150Y227055* |
X275650Y226873* |
X276150Y226509* |
X276400Y226145* |
Y225418* |
X276150Y225055* |
X275650Y224691* |
X275150Y224509* |
X274400* |
Y225418D02* |
Y224509D01* |
X271150Y222873D02* |
X276400D01* |
X271150D02* |
Y220509D01* |
X273650Y222873D02* |
Y221418D01* |
X276400Y222873D02* |
Y220509D01* |
X271150Y218873D02* |
X276400D01* |
X271150D02* |
X276400Y216327D01* |
X271150D02* |
X276400D01* |
X271150Y213600D02* |
X271400Y214145D01* |
X272150Y214509* |
X273400Y214691* |
X274150* |
X275400Y214509* |
X276150Y214145* |
X276400Y213600* |
Y213236* |
X276150Y212691* |
X275400Y212327* |
X274150Y212145* |
X273400* |
X272150Y212327* |
X271400Y212691* |
X271150Y213236* |
Y213600* |
X272150Y210509D02* |
X271900Y210145D01* |
X271150Y209600* |
X276400* |
X271150Y206509D02* |
X276400Y207964D01* |
X271150Y206509D02* |
X276400Y205055D01* |
X274650Y207418D02* |
Y205600D01* |
X277300Y242300D02* |
Y276800D01* |
G75* |
G03X276800Y277300I-500J-0D01* |
G01X123200* |
G03X122700Y276800I0J-500* |
G01Y123200* |
G03X123200Y122700I500J0* |
G01X276800* |
G03X277300Y123200I-0J500* |
G01Y201627* |
G03X276800Y202127I-500J0* |
G01X269650* |
X267950Y203827D02* |
G03X269650Y202127I1700J0D01* |
G01X267950Y203827D02* |
Y240100D01* |
X269650Y241800D02* |
G03X267950Y240100I0J-1700D01* |
G01X269650Y241800D02* |
X276800D01* |
G03X277300Y242300I-0J500* |
G01X266259Y180952D02* |
Y174452D01* |
X264559Y172752D02* |
G03X266259Y174452I0J1700D01* |
G01X264559Y172752D02* |
X258059D01* |
X256707Y173422D02* |
G03X258059Y172752I1352J1030D01* |
G01X256707Y173422D02* |
G03X255911I-398J-303D01* |
G01X254559Y172752D02* |
G03X255911Y173422I0J1700D01* |
G01X254559Y172752D02* |
X248059D01* |
X246359Y174452D02* |
G03X248059Y172752I1700J0D01* |
G01X246359Y174452D02* |
Y174502D01* |
G03X245859Y175002I-500J0* |
G01X238000* |
X231667* |
G03X231314Y174856I0J-500* |
G01X229285Y172827* |
G03X229139Y172474I354J-353* |
G01Y167175* |
G03X229285Y166822I500J0* |
G01X232309Y163798* |
X233056Y162373D02* |
G03X232309Y163798I-2656J-484D01* |
G01X233056Y162374D02* |
G03X233548Y161963I492J89D01* |
G01X237479* |
X239179Y160263D02* |
G03X237479Y161963I-1700J0D01* |
G01X239179Y160263D02* |
Y151996D01* |
X237479Y150296D02* |
G03X239179Y151996I-0J1700D01* |
G01X237479Y150296D02* |
X229605D01* |
X227905Y151996D02* |
G03X229605Y150296I1700J-0D01* |
G01X227905Y151996D02* |
Y156873D01* |
G03X227873Y157049I-500J0* |
G01X227700Y158000D02* |
G03X227873Y157049I2700J0D01* |
G01X227700Y158000D02* |
Y160563D01* |
G03X227554Y160917I-500J0* |
G01X225518Y162953* |
G03X225164Y163099I-354J-354* |
G01X222567* |
G03X222213Y162953I-0J-500* |
G01X221099Y161838* |
G03X220952Y161484I353J-354* |
G01Y156810* |
X219252Y155110D02* |
G03X220952Y156810I0J1700D01* |
G01X219252Y155110D02* |
X215102D01* |
G03X214602Y154610I0J-500* |
G01Y141701* |
G03X215057Y141203I500J-0* |
G01X216602Y139510D02* |
G03X215057Y141203I-1700J-0D01* |
G01X216602Y139510D02* |
Y132310D01* |
X214902Y130610D02* |
G03X216602Y132310I0J1700D01* |
G01X214902Y130610D02* |
X208902D01* |
X207704Y131103D02* |
G03X208902Y130610I1198J1207D01* |
G01X207704Y131103D02* |
G03X207000I-352J-355D01* |
G01X205802Y130610D02* |
G03X207000Y131103I0J1700D01* |
G01X205802Y130610D02* |
X199802D01* |
X198102Y132310D02* |
G03X199802Y130610I1700J-0D01* |
G01X198102Y132310D02* |
Y139510D01* |
X199648Y141203D02* |
G03X198102Y139510I154J-1693D01* |
G01X199648Y141203D02* |
G03X200102Y141701I-46J498D01* |
G01Y142067* |
G03X199956Y142421I-500J0* |
G01X192227Y150149* |
G03X191874Y150296I-353J-353* |
G01X186325* |
X184625Y151996D02* |
G03X186325Y150296I1700J-0D01* |
G01X184625Y151996D02* |
Y160263D01* |
X184783Y160978D02* |
G03X184625Y160263I1542J-715D01* |
G01X184783Y160978D02* |
G03X184329Y161688I-454J210D01* |
G01X184134* |
X182434Y163388D02* |
G03X184134Y161688I1700J-0D01* |
G01X182434Y163388D02* |
Y171062D01* |
G03X182287Y171416I-500J0* |
G01X180949Y172754* |
G03X180596Y172900I-353J-354* |
G01X171560* |
G03X171206Y172754I-0J-500* |
G01X169909Y171456* |
X168651Y170745D02* |
G03X169909Y171456I-651J2621D01* |
G01X168651Y170745D02* |
X168097Y170608D01* |
G03X167717Y170122I120J-486* |
G01Y169725* |
X166520Y168101D02* |
G03X167717Y169725I-503J1624D01* |
G01X166520Y168101D02* |
G03X166167Y167623I147J-478D01* |
G01Y166267* |
X165377Y164358D02* |
G03X166167Y166267I-1910J1909D01* |
G01X165377Y164358D02* |
X160846Y159828D01* |
G03X160700Y159475I354J-353* |
G01Y151251* |
G03X160846Y150897I500J-0* |
G01X162251Y149493* |
G03X162604Y149347I353J354* |
G01X166779* |
X168131Y148677D02* |
G03X166779Y149347I-1352J-1030D01* |
G01X168131Y148677D02* |
G03X168927I398J303D01* |
G01X170279Y149347D02* |
G03X168927Y148677I-0J-1700D01* |
G01X170279Y149347D02* |
X176779D01* |
X178479Y147647D02* |
G03X176779Y149347I-1700J-0D01* |
G01X178479Y147647D02* |
Y141147D01* |
X176779Y139446D02* |
G03X178479Y141147I-0J1701D01* |
G01X176779Y139446D02* |
X170279D01* |
X168927Y140116D02* |
G03X170279Y139446I1352J1031D01* |
G01X168927Y140116D02* |
G03X168131I-398J-303D01* |
G01X166779Y139446D02* |
G03X168131Y140116I-0J1701D01* |
G01X166779Y139446D02* |
X160279D01* |
X158579Y141147D02* |
G03X160279Y139446I1700J-0D01* |
G01X158579Y141147D02* |
Y145321D01* |
G03X158433Y145675I-500J0* |
G01X156091Y148016* |
X155300Y149925D02* |
G03X156091Y148016I2700J0D01* |
G01X155300Y149925D02* |
Y160800D01* |
X156091Y162709D02* |
G03X155300Y160800I1909J-1909D01* |
G01X156091Y162709D02* |
X160621Y167239D01* |
G03X160767Y167593I-354J354* |
G01Y167623* |
G03X160415Y168101I-500J0* |
G01X159518Y168759D02* |
G03X160415Y168101I1399J966D01* |
G01X159518Y168759D02* |
G03X159107Y168975I-411J-284D01* |
G01X157277* |
G03X156866Y168759I0J-500* |
G01X155467Y168025D02* |
G03X156866Y168759I-0J1700D01* |
G01X155467Y168025D02* |
X150367D01* |
X148667Y169725D02* |
G03X150367Y168025I1700J-0D01* |
G01X148667Y169725D02* |
Y171299D01* |
G03X148520Y171653I-500J0* |
G01X134696Y185478* |
X133905Y187387D02* |
G03X134696Y185478I2700J-0D01* |
G01X133905Y187387D02* |
Y199044D01* |
G03X133552Y199522I-500J-0* |
G01X132355Y201146D02* |
G03X133552Y199522I1700J-0D01* |
G01X132355Y201146D02* |
Y205046D01* |
X133135Y206475D02* |
G03X132355Y205046I920J-1429D01* |
G01X133135Y206475D02* |
G03Y207316I-271J421D01* |
G01X132355Y208746D02* |
G03X133135Y207316I1700J-0D01* |
G01X132355Y208746D02* |
Y212646D01* |
X133301Y214170D02* |
G03X132355Y212646I754J-1524D01* |
G01X133301Y214170D02* |
G03X133234Y215093I-222J448D01* |
G01X132058Y216711D02* |
G03X133234Y215093I1700J-0D01* |
G01X132058Y216711D02* |
Y220611D01* |
X133758Y222311D02* |
G03X132058Y220611I-0J-1700D01* |
G01X133758Y222311D02* |
X139358D01* |
X141058Y220611D02* |
G03X139358Y222311I-1700J-0D01* |
G01X141058Y220611D02* |
Y216711D01* |
X139924Y215108D02* |
G03X141058Y216711I-566J1603D01* |
G01X139924Y215108D02* |
G03X139878Y214184I167J-471D01* |
G01X140518Y213662D02* |
G03X139878Y214184I-1363J-1016D01* |
G01X140518Y213662D02* |
G03X140919Y213461I401J299D01* |
G01X142741* |
G03X143222Y213823I-0J500* |
G01X148195Y215044D02* |
G03X143222Y213823I-2137J-2033D01* |
G01X148195Y215044D02* |
G03X148920I363J344D01* |
G01X150844Y215953D02* |
G03X148920Y215044I214J-2942D01* |
G01X150844Y215953D02* |
G03X151308Y216452I-36J499D01* |
G01Y219099* |
G03X151076Y219521I-500J0* |
G01X150686Y219834D02* |
G03X151076Y219521I1626J1627D01* |
G01X150686Y219834D02* |
X149431Y221089D01* |
X148758Y222715D02* |
G03X149431Y221089I2300J0D01* |
G01X148758Y222715D02* |
Y227895D01* |
G03X148663Y228187I-500J0* |
G01X148108Y229911D02* |
G03X148663Y228187I2950J-0D01* |
G01X148108Y229911D02* |
Y234411D01* |
X153195Y236444D02* |
G03X148108Y234411I-2137J-2033D01* |
G01X153195Y236444D02* |
G03X153920I363J344D01* |
G01X154902Y237125D02* |
G03X153920Y236444I1156J-2714D01* |
G01X154902Y237125D02* |
G03X155060Y237232I-195J460D01* |
G01X157738Y239909* |
X159647Y240700D02* |
G03X157738Y239909I-0J-2700D01* |
G01X159647Y240700D02* |
X163960D01* |
X165869Y239909D02* |
G03X163960Y240700I-1909J-1909D01* |
G01X165869Y239909D02* |
X173140Y232638D01* |
G03X173494Y232491I354J353* |
G01X176268* |
X177694Y231717D02* |
G03X176268Y232491I-1426J-926D01* |
G01X177694Y231717D02* |
G03X178113Y231490I419J273D01* |
G01X179930* |
G03X180430Y231990I0J500* |
G01Y232290* |
X182130Y233990D02* |
G03X180430Y232290I0J-1700D01* |
G01X182130Y233990D02* |
X186430D01* |
X188130Y232290D02* |
G03X186430Y233990I-1700J-0D01* |
G01X188130Y232290D02* |
Y225290D01* |
X186430Y223590D02* |
G03X188130Y225290I0J1700D01* |
G01X186430Y223590D02* |
X182875D01* |
G03X182522Y222736I0J-500* |
G01X187221Y218037* |
X187895Y216410D02* |
G03X187221Y218037I-2300J0D01* |
G01X187895Y216410D02* |
Y212200D01* |
G03X188202Y211739I500J-0* |
G01X189245Y210171D02* |
G03X188202Y211739I-1700J-0D01* |
G01X189245Y210171D02* |
Y207396D01* |
G03X189391Y207043I500J0* |
G01X198709Y197725* |
X199469Y196226D02* |
G03X198709Y197725I-2669J-410D01* |
G01X199469Y196226D02* |
G03X199609Y195949I494J76D01* |
G01X204216Y191341* |
G03X205070Y191695I354J354* |
G01Y194581* |
X205740Y195933D02* |
G03X205070Y194581I1030J-1352D01* |
G01X205740Y195933D02* |
G03Y196728I-303J398D01* |
G01X205070Y198081D02* |
G03X205740Y196728I1700J-0D01* |
G01X205070Y198081D02* |
Y204581D01* |
X206770Y206281D02* |
G03X205070Y204581I-0J-1700D01* |
G01X206770Y206281D02* |
X210944D01* |
G03X211298Y206427I0J500* |
G01X212806Y207935* |
G03X212743Y208696I-354J354* |
G01X212030Y210080D02* |
G03X212743Y208696I1700J0D01* |
G01X212030Y210080D02* |
Y218545D01* |
X213730Y220245D02* |
G03X212030Y218545I-0J-1700D01* |
G01X213730Y220245D02* |
X220423D01* |
X221700Y219666D02* |
G03X220423Y220245I-1277J-1121D01* |
G01X221700Y219666D02* |
G03X222452I376J330D01* |
G01X223216Y220165D02* |
G03X222452Y219666I514J-1620D01* |
G01X223216Y220165D02* |
G03X223565Y220642I-151J477D01* |
G01Y224518* |
G03X223216Y224995I-500J0* |
G01X222452Y225494D02* |
G03X223216Y224995I1278J1122D01* |
G01X222452Y225494D02* |
G03X221700I-376J-330D01* |
G01X220423Y224916D02* |
G03X221700Y225494I-0J1700D01* |
G01X220423Y224916D02* |
X213730D01* |
X212452Y225494D02* |
G03X213730Y224916I1278J1122D01* |
G01X212452Y225494D02* |
G03X211700I-376J-330D01* |
G01X210936Y224995D02* |
G03X211700Y225494I-513J1621D01* |
G01X210936Y224995D02* |
G03X210587Y224518I151J-477D01* |
G01Y220021* |
X208887Y218321D02* |
G03X210587Y220021I0J1700D01* |
G01X208887Y218321D02* |
X202805D01* |
X201178Y219526D02* |
G03X202805Y218321I1627J495D01* |
G01X201178Y219526D02* |
G03X200700Y219880I-478J-146D01* |
G01X200540* |
X198630Y220671D02* |
G03X200540Y219880I1910J1909D01* |
G01X198630Y220671D02* |
X195858Y223443D01* |
G03X195505Y223590I-353J-353* |
G01X193530* |
X191830Y225290D02* |
G03X193530Y223590I1700J-0D01* |
G01X191830Y225290D02* |
Y232290D01* |
X192535Y233668D02* |
G03X191830Y232290I995J-1378D01* |
G01X192535Y233668D02* |
G03X192662Y234346I-292J406D01* |
G01X192388Y235272D02* |
G03X192662Y234346I1700J-0D01* |
G01X192388Y235272D02* |
Y240372D01* |
X194088Y242072D02* |
G03X192388Y240372I0J-1700D01* |
G01X194088Y242072D02* |
X196545D01* |
G03X196899Y242218I0J500* |
G01X199204Y244523* |
G03X199350Y244877I-354J354* |
G01Y246640* |
G03X199204Y246994I-500J0* |
G01X194777Y251421* |
X194103Y253047D02* |
G03X194777Y251421I2300J0D01* |
G01X194103Y253047D02* |
Y259339D01* |
G03X193924Y259722I-500J-0* |
G01X192538Y262688D02* |
G03X193924Y259722I3865J-0D01* |
G01X192538Y262688D02* |
Y263475D01* |
X198617Y266644D02* |
G03X192538Y263475I-2214J-3169D01* |
G01X198617Y266644D02* |
G03X199189I286J410D01* |
G01X205268Y263475D02* |
G03X199189Y266644I-3865J0D01* |
G01X205268Y263475D02* |
Y262688D01* |
X203946Y259777D02* |
G03X205268Y262688I-2543J2911D01* |
G01X203946Y259777D02* |
G03X204275Y258900I329J-377D01* |
G01X204950* |
X206380Y258120D02* |
G03X204950Y258900I-1430J-920D01* |
G01X206380Y258120D02* |
G03X207220I420J271D01* |
G01X208338Y258871D02* |
G03X207220Y258120I312J-1671D01* |
G01X208338Y258871D02* |
G03X208746Y259363I-92J492D01* |
G01Y259673* |
G03X208608Y260018I-500J-0* |
G01X207538Y262688D02* |
G03X208608Y260018I3865J-0D01* |
G01X207538Y262688D02* |
Y263475D01* |
X213617Y266644D02* |
G03X207538Y263475I-2214J-3169D01* |
G01X213617Y266644D02* |
G03X214189I286J410D01* |
G01X220268Y263475D02* |
G03X214189Y266644I-3865J0D01* |
G01X220268Y263475D02* |
Y262688D01* |
X218882Y259722D02* |
G03X220268Y262688I-2479J2966D01* |
G01X218882Y259722D02* |
G03X218703Y259339I321J-383D01* |
G01Y252253* |
X218029Y250627D02* |
G03X218703Y252253I-1626J1626D01* |
G01X218029Y250627D02* |
X214897Y247495D01* |
G03X215296Y246643I354J-354* |
G01X215450Y246650D02* |
G03X215296Y246643I0J-1700D01* |
G01X215450Y246650D02* |
X219350D01* |
X221050Y244950D02* |
G03X219350Y246650I-1700J0D01* |
G01X221050Y244950D02* |
Y239850D01* |
X219757Y238199D02* |
G03X221050Y239850I-407J1651D01* |
G01X219757Y238199D02* |
G03X219376Y237714I119J-485D01* |
G01Y237280* |
G03X219876Y236780I500J0* |
G01X220423* |
X221700Y236201D02* |
G03X220423Y236780I-1277J-1121D01* |
G01X221700Y236201D02* |
G03X222452I376J330D01* |
G01X223730Y236780D02* |
G03X222452Y236201I-0J-1700D01* |
G01X223730Y236780D02* |
X230423D01* |
X232123Y235080D02* |
G03X230423Y236780I-1700J0D01* |
G01X232123Y235080D02* |
Y234040D01* |
G03X232588Y233541I500J0* |
G01X234309Y232757D02* |
G03X232588Y233541I-1909J-1909D01* |
G01X234309Y232757D02* |
X234345Y232721D01* |
G03X234960Y232649I354J354* |
G01X235850Y232900D02* |
G03X234960Y232649I0J-1700D01* |
G01X235850Y232900D02* |
X239750D01* |
X241450Y231200D02* |
G03X239750Y232900I-1700J0D01* |
G01X241450Y231200D02* |
Y225600D01* |
X240716Y224201D02* |
G03X241450Y225600I-966J1399D01* |
G01X240716Y224201D02* |
G03X240500Y223790I284J-411D01* |
G01Y180902* |
G03X241000Y180402I500J0* |
G01X245859* |
G03X246359Y180902I0J500* |
G01Y180952* |
X248059Y182652D02* |
G03X246359Y180952I0J-1700D01* |
G01X248059Y182652D02* |
X254559D01* |
X255911Y181982D02* |
G03X254559Y182652I-1352J-1030D01* |
G01X255911Y181982D02* |
G03X256707I398J303D01* |
G01X258059Y182652D02* |
G03X256707Y181982I0J-1700D01* |
G01X258059Y182652D02* |
X264559D01* |
X266259Y180952D02* |
G03X264559Y182652I-1700J0D01* |
G01X122700Y276599D02* |
X277300D01* |
X122700Y275699D02* |
X277300D01* |
X122700Y274799D02* |
X277300D01* |
X122700Y273899D02* |
X277300D01* |
X122700Y272999D02* |
X277300D01* |
X122700Y272099D02* |
X277300D01* |
X122700Y271199D02* |
X277300D01* |
X122700Y270299D02* |
X277300D01* |
X122700Y269399D02* |
X277300D01* |
X122700Y268499D02* |
X277300D01* |
X122700Y267599D02* |
X277300D01* |
X218536Y266699D02* |
X277300D01* |
X219492Y265799D02* |
X277300D01* |
X219997Y264899D02* |
X277300D01* |
X220233Y263999D02* |
X277300D01* |
X220268Y263099D02* |
X277300D01* |
X220237Y262199D02* |
X277300D01* |
X220010Y261299D02* |
X277300D01* |
X219518Y260399D02* |
X277300D01* |
X218729Y259499D02* |
X277300D01* |
X218703Y258599D02* |
X277300D01* |
X218703Y257699D02* |
X277300D01* |
X218703Y256799D02* |
X277300D01* |
X218703Y255899D02* |
X277300D01* |
X218703Y254999D02* |
X277300D01* |
X218703Y254099D02* |
X277300D01* |
X218703Y253199D02* |
X277300D01* |
X218703Y252299D02* |
X277300D01* |
X218538Y251399D02* |
X277300D01* |
X217901Y250499D02* |
X277300D01* |
X217001Y249599D02* |
X277300D01* |
X216101Y248699D02* |
X277300D01* |
X215201Y247799D02* |
X277300D01* |
X214813Y246899D02* |
X277300D01* |
X220688Y245999D02* |
X277300D01* |
X221044Y245099D02* |
X277300D01* |
X221050Y244199D02* |
X277300D01* |
X221050Y243299D02* |
X277300D01* |
X221050Y242399D02* |
X277300D01* |
X240500Y200999D02* |
X277300D01* |
X240500Y200099D02* |
X277300D01* |
X240500Y199199D02* |
X277300D01* |
X240500Y198299D02* |
X277300D01* |
X240500Y197399D02* |
X277300D01* |
X240500Y196499D02* |
X277300D01* |
X240500Y195599D02* |
X277300D01* |
X240500Y194699D02* |
X277300D01* |
X240500Y193799D02* |
X277300D01* |
X240500Y192899D02* |
X277300D01* |
X240500Y191999D02* |
X277300D01* |
X240500Y191099D02* |
X277300D01* |
X240500Y190199D02* |
X277300D01* |
X240500Y189299D02* |
X277300D01* |
X240500Y188399D02* |
X277300D01* |
X240500Y187499D02* |
X277300D01* |
X240500Y186599D02* |
X277300D01* |
X240500Y185699D02* |
X277300D01* |
X240500Y184799D02* |
X277300D01* |
X240500Y183899D02* |
X277300D01* |
X240500Y182999D02* |
X277300D01* |
X265814Y182099D02* |
X277300D01* |
X266241Y181199D02* |
X277300D01* |
X266259Y180299D02* |
X277300D01* |
X266259Y179399D02* |
X277300D01* |
X266259Y178499D02* |
X277300D01* |
X266259Y177599D02* |
X277300D01* |
X266259Y176699D02* |
X277300D01* |
X266259Y175799D02* |
X277300D01* |
X266259Y174899D02* |
X277300D01* |
X266198Y173999D02* |
X277300D01* |
X265588Y173099D02* |
X277300D01* |
X229139Y172199D02* |
X277300D01* |
X229139Y171299D02* |
X277300D01* |
X229139Y170399D02* |
X277300D01* |
X229139Y169499D02* |
X277300D01* |
X229139Y168599D02* |
X277300D01* |
X229139Y167699D02* |
X277300D01* |
X229308Y166799D02* |
X277300D01* |
X230208Y165899D02* |
X277300D01* |
X231108Y164999D02* |
X277300D01* |
X232008Y164099D02* |
X277300D01* |
X232761Y163199D02* |
X277300D01* |
X233076Y162299D02* |
X277300D01* |
X238744Y161399D02* |
X277300D01* |
X239163Y160499D02* |
X277300D01* |
X239179Y159599D02* |
X277300D01* |
X239179Y158699D02* |
X277300D01* |
X239179Y157799D02* |
X277300D01* |
X239179Y156899D02* |
X277300D01* |
X239179Y155999D02* |
X277300D01* |
X239179Y155099D02* |
X277300D01* |
X239179Y154199D02* |
X277300D01* |
X239179Y153299D02* |
X277300D01* |
X239179Y152399D02* |
X277300D01* |
X239105Y151499D02* |
X277300D01* |
X238448Y150599D02* |
X277300D01* |
X214602Y149699D02* |
X277300D01* |
X214602Y148799D02* |
X277300D01* |
X214602Y147899D02* |
X277300D01* |
X214602Y146999D02* |
X277300D01* |
X214602Y146099D02* |
X277300D01* |
X214602Y145199D02* |
X277300D01* |
X214602Y144299D02* |
X277300D01* |
X214602Y143399D02* |
X277300D01* |
X214602Y142499D02* |
X277300D01* |
X214613Y141599D02* |
X277300D01* |
X216117Y140699D02* |
X277300D01* |
X216577Y139799D02* |
X277300D01* |
X216602Y138899D02* |
X277300D01* |
X216602Y137999D02* |
X277300D01* |
X216602Y137099D02* |
X277300D01* |
X216602Y136199D02* |
X277300D01* |
X216602Y135299D02* |
X277300D01* |
X216602Y134399D02* |
X277300D01* |
X216602Y133499D02* |
X277300D01* |
X216602Y132599D02* |
X277300D01* |
X216489Y131699D02* |
X277300D01* |
X215681Y130799D02* |
X277300D01* |
X122700Y129899D02* |
X277300D01* |
X122700Y128999D02* |
X277300D01* |
X122700Y128099D02* |
X277300D01* |
X122700Y127199D02* |
X277300D01* |
X122700Y126299D02* |
X277300D01* |
X122700Y125399D02* |
X277300D01* |
X122700Y124499D02* |
X277300D01* |
X122700Y123599D02* |
X277300D01* |
X240500Y201899D02* |
X277220D01* |
X221050Y241499D02* |
X268684D01* |
X240500Y202799D02* |
X268296D01* |
X221050Y240599D02* |
X268025D01* |
X240500Y203699D02* |
X267955D01* |
X221043Y239699D02* |
X267950D01* |
X220686Y238799D02* |
X267950D01* |
X219412Y237899D02* |
X267950D01* |
X219463Y236999D02* |
X267950D01* |
X231784Y236099D02* |
X267950D01* |
X232119Y235199D02* |
X267950D01* |
X232123Y234299D02* |
X267950D01* |
X233285Y233399D02* |
X267950D01* |
X240847Y232499D02* |
X267950D01* |
X241403Y231599D02* |
X267950D01* |
X241450Y230699D02* |
X267950D01* |
X241450Y229799D02* |
X267950D01* |
X241450Y228899D02* |
X267950D01* |
X241450Y227999D02* |
X267950D01* |
X241450Y227099D02* |
X267950D01* |
X241450Y226199D02* |
X267950D01* |
X241423Y225299D02* |
X267950D01* |
X240953Y224399D02* |
X267950D01* |
X240500Y223499D02* |
X267950D01* |
X240500Y222599D02* |
X267950D01* |
X240500Y221699D02* |
X267950D01* |
X240500Y220799D02* |
X267950D01* |
X240500Y219899D02* |
X267950D01* |
X240500Y218999D02* |
X267950D01* |
X240500Y218099D02* |
X267950D01* |
X240500Y217199D02* |
X267950D01* |
X240500Y216299D02* |
X267950D01* |
X240500Y215399D02* |
X267950D01* |
X240500Y214499D02* |
X267950D01* |
X240500Y213599D02* |
X267950D01* |
X240500Y212699D02* |
X267950D01* |
X240500Y211799D02* |
X267950D01* |
X240500Y210899D02* |
X267950D01* |
X240500Y209999D02* |
X267950D01* |
X240500Y209099D02* |
X267950D01* |
X240500Y208199D02* |
X267950D01* |
X240500Y207299D02* |
X267950D01* |
X240500Y206399D02* |
X267950D01* |
X240500Y205499D02* |
X267950D01* |
X240500Y204599D02* |
X267950D01* |
X255588Y173099D02* |
X257030D01* |
X255814Y182099D02* |
X256804D01* |
X229557Y173099D02* |
X247030D01* |
X240500Y182099D02* |
X246804D01* |
X230457Y173999D02* |
X246421D01* |
X240500Y181199D02* |
X246377D01* |
X231363Y174899D02* |
X246164D01* |
X214602Y150599D02* |
X228636D01* |
X214602Y151499D02* |
X227979D01* |
X220746Y155999D02* |
X227905D01* |
X214998Y155099D02* |
X227905D01* |
X214602Y154199D02* |
X227905D01* |
X214602Y153299D02* |
X227905D01* |
X214602Y152399D02* |
X227905D01* |
X220952Y156899D02* |
X227904D01* |
X220952Y157799D02* |
X227707D01* |
X220952Y160499D02* |
X227700D01* |
X220952Y159599D02* |
X227700D01* |
X220952Y158699D02* |
X227700D01* |
X220952Y161399D02* |
X227072D01* |
X221559Y162299D02* |
X226172D01* |
X210587Y224399D02* |
X223565D01* |
X210587Y223499D02* |
X223565D01* |
X210587Y222599D02* |
X223565D01* |
X210587Y221699D02* |
X223565D01* |
X210587Y220799D02* |
X223565D01* |
X221451Y219899D02* |
X222702D01* |
X221498Y225299D02* |
X222655D01* |
X221825Y236099D02* |
X222327D01* |
X213536Y266699D02* |
X214270D01* |
X189245Y208199D02* |
X212944D01* |
X210583Y219899D02* |
X212702D01* |
X211498Y225299D02* |
X212655D01* |
X189245Y209099D02* |
X212342D01* |
X189254Y207299D02* |
X212169D01* |
X210245Y218999D02* |
X212091D01* |
X189245Y209999D02* |
X212032D01* |
X187159Y218099D02* |
X212030D01* |
X187756Y217199D02* |
X212030D01* |
X187895Y216299D02* |
X212030D01* |
X187895Y215399D02* |
X212030D01* |
X187895Y214499D02* |
X212030D01* |
X187895Y213599D02* |
X212030D01* |
X187895Y212699D02* |
X212030D01* |
X188097Y211799D02* |
X212030D01* |
X189081Y210899D02* |
X212030D01* |
X190035Y206399D02* |
X211267D01* |
X203536Y266699D02* |
X209270D01* |
X203785Y259499D02* |
X208746D01* |
X204492Y265799D02* |
X208314D01* |
X204518Y260399D02* |
X208288D01* |
X206581Y130799D02* |
X208123D01* |
X204997Y264899D02* |
X207809D01* |
X205010Y261299D02* |
X207796D01* |
X205916Y258599D02* |
X207684D01* |
X205233Y263999D02* |
X207573D01* |
X205237Y262199D02* |
X207569D01* |
X205268Y263099D02* |
X207538D01* |
X199412Y196499D02* |
X205908D01* |
X199959Y195599D02* |
X205408D01* |
X190935Y205499D02* |
X205339D01* |
X198987Y197399D02* |
X205213D01* |
X200859Y194699D02* |
X205074D01* |
X191835Y204599D02* |
X205070D01* |
X192735Y203699D02* |
X205070D01* |
X193635Y202799D02* |
X205070D01* |
X194535Y201899D02* |
X205070D01* |
X195435Y200999D02* |
X205070D01* |
X196335Y200099D02* |
X205070D01* |
X197235Y199199D02* |
X205070D01* |
X198135Y198299D02* |
X205070D01* |
X201759Y193799D02* |
X205070D01* |
X202659Y192899D02* |
X205070D01* |
X203559Y191999D02* |
X205070D01* |
X186259Y218999D02* |
X201446D01* |
X185359Y219899D02* |
X200223D01* |
X178479Y141599D02* |
X200092D01* |
X178479Y142499D02* |
X199878D01* |
X122700Y245999D02* |
X199350D01* |
X122700Y245099D02* |
X199350D01* |
X122700Y246899D02* |
X199278D01* |
X198536Y266699D02* |
X199270D01* |
X122700Y130799D02* |
X199023D01* |
X178479Y143399D02* |
X198978D01* |
X122700Y244199D02* |
X198879D01* |
X178419Y140699D02* |
X198587D01* |
X184459Y220799D02* |
X198503D01* |
X122700Y247799D02* |
X198399D01* |
X122700Y131699D02* |
X198216D01* |
X177815Y139799D02* |
X198127D01* |
X122700Y138899D02* |
X198102D01* |
X122700Y137999D02* |
X198102D01* |
X122700Y137099D02* |
X198102D01* |
X122700Y136199D02* |
X198102D01* |
X122700Y135299D02* |
X198102D01* |
X122700Y134399D02* |
X198102D01* |
X122700Y133499D02* |
X198102D01* |
X122700Y132599D02* |
X198102D01* |
X178479Y144299D02* |
X198078D01* |
X122700Y243299D02* |
X197979D01* |
X183559Y221699D02* |
X197603D01* |
X122700Y248699D02* |
X197499D01* |
X178479Y145199D02* |
X197178D01* |
X122700Y242399D02* |
X197079D01* |
X182659Y222599D02* |
X196703D01* |
X122700Y249599D02* |
X196599D01* |
X178479Y146099D02* |
X196278D01* |
X182588Y223499D02* |
X195792D01* |
X122700Y250499D02* |
X195699D01* |
X178479Y146999D02* |
X195378D01* |
X122700Y251399D02* |
X194799D01* |
X178460Y147899D02* |
X194478D01* |
X122700Y266699D02* |
X194270D01* |
X122700Y252299D02* |
X194228D01* |
X122700Y258599D02* |
X194103D01* |
X122700Y257699D02* |
X194103D01* |
X122700Y256799D02* |
X194103D01* |
X122700Y255899D02* |
X194103D01* |
X122700Y254999D02* |
X194103D01* |
X122700Y254099D02* |
X194103D01* |
X122700Y253199D02* |
X194103D01* |
X122700Y259499D02* |
X194077D01* |
X178029Y148799D02* |
X193578D01* |
X122700Y265799D02* |
X193314D01* |
X122700Y260399D02* |
X193288D01* |
X122700Y241499D02* |
X192815D01* |
X122700Y264899D02* |
X192809D01* |
X122700Y261299D02* |
X192796D01* |
X171479Y234299D02* |
X192689D01* |
X162045Y149699D02* |
X192678D01* |
X122700Y263999D02* |
X192573D01* |
X122700Y262199D02* |
X192569D01* |
X122700Y263099D02* |
X192538D01* |
X164692Y240599D02* |
X192403D01* |
X170579Y235199D02* |
X192390D01* |
X166079Y239699D02* |
X192388D01* |
X166979Y238799D02* |
X192388D01* |
X167879Y237899D02* |
X192388D01* |
X168779Y236999D02* |
X192388D01* |
X169679Y236099D02* |
X192388D01* |
X187719Y233399D02* |
X192242D01* |
X187878Y224399D02* |
X192082D01* |
X188117Y232499D02* |
X191843D01* |
X188130Y231599D02* |
X191830D01* |
X188130Y230699D02* |
X191830D01* |
X188130Y229799D02* |
X191830D01* |
X188130Y228899D02* |
X191830D01* |
X188130Y227999D02* |
X191830D01* |
X188130Y227099D02* |
X191830D01* |
X188130Y226199D02* |
X191830D01* |
X188130Y225299D02* |
X191830D01* |
X161145Y150599D02* |
X185356D01* |
X162417Y161399D02* |
X184782D01* |
X160700Y151499D02* |
X184700D01* |
X161517Y160499D02* |
X184642D01* |
X160716Y159599D02* |
X184625D01* |
X160700Y158699D02* |
X184625D01* |
X160700Y157799D02* |
X184625D01* |
X160700Y156899D02* |
X184625D01* |
X160700Y155999D02* |
X184625D01* |
X160700Y155099D02* |
X184625D01* |
X160700Y154199D02* |
X184625D01* |
X160700Y153299D02* |
X184625D01* |
X160700Y152399D02* |
X184625D01* |
X163317Y162299D02* |
X182828D01* |
X164217Y163199D02* |
X182444D01* |
X167801Y170399D02* |
X182434D01* |
X167702Y169499D02* |
X182434D01* |
X167291Y168599D02* |
X182434D01* |
X166173Y167699D02* |
X182434D01* |
X166167Y166799D02* |
X182434D01* |
X166142Y165899D02* |
X182434D01* |
X165851Y164999D02* |
X182434D01* |
X165117Y164099D02* |
X182434D01* |
X169737Y171299D02* |
X182374D01* |
X170651Y172199D02* |
X181504D01* |
X172379Y233399D02* |
X180842D01* |
X173408Y232499D02* |
X180443D01* |
X177802Y231599D02* |
X180242D01* |
X167815Y139799D02* |
X169243D01* |
X168029Y148799D02* |
X169029D01* |
X122700Y167699D02* |
X160762D01* |
X122700Y166799D02* |
X160180D01* |
X156740Y168599D02* |
X159644D01* |
X122700Y165899D02* |
X159280D01* |
X122700Y139799D02* |
X159243D01* |
X122700Y240599D02* |
X158914D01* |
X122700Y140699D02* |
X158639D01* |
X122700Y145199D02* |
X158579D01* |
X122700Y144299D02* |
X158579D01* |
X122700Y143399D02* |
X158579D01* |
X122700Y142499D02* |
X158579D01* |
X122700Y141599D02* |
X158579D01* |
X122700Y164999D02* |
X158380D01* |
X122700Y146099D02* |
X158008D01* |
X122700Y239699D02* |
X157527D01* |
X122700Y164099D02* |
X157480D01* |
X122700Y146999D02* |
X157108D01* |
X122700Y238799D02* |
X156627D01* |
X122700Y163199D02* |
X156580D01* |
X122700Y147899D02* |
X156208D01* |
X122700Y162299D02* |
X155754D01* |
X122700Y237899D02* |
X155727D01* |
X122700Y148799D02* |
X155546D01* |
X122700Y161399D02* |
X155367D01* |
X122700Y149699D02* |
X155310D01* |
X122700Y160499D02* |
X155300D01* |
X122700Y159599D02* |
X155300D01* |
X122700Y158699D02* |
X155300D01* |
X122700Y157799D02* |
X155300D01* |
X122700Y156899D02* |
X155300D01* |
X122700Y155999D02* |
X155300D01* |
X122700Y155099D02* |
X155300D01* |
X122700Y154199D02* |
X155300D01* |
X122700Y153299D02* |
X155300D01* |
X122700Y152399D02* |
X155300D01* |
X122700Y151499D02* |
X155300D01* |
X122700Y150599D02* |
X155300D01* |
X152473Y236999D02* |
X154642D01* |
X141058Y218999D02* |
X151308D01* |
X141058Y218099D02* |
X151308D01* |
X141058Y217199D02* |
X151308D01* |
X141007Y216299D02* |
X151284D01* |
X141058Y219899D02* |
X150621D01* |
X141047Y220799D02* |
X149721D01* |
X122700Y236999D02* |
X149642D01* |
X147790Y215399D02* |
X149326D01* |
X122700Y168599D02* |
X149093D01* |
X140664Y221699D02* |
X148994D01* |
X122700Y222599D02* |
X148761D01* |
X122700Y227099D02* |
X148758D01* |
X122700Y226199D02* |
X148758D01* |
X122700Y225299D02* |
X148758D01* |
X122700Y224399D02* |
X148758D01* |
X122700Y223499D02* |
X148758D01* |
X122700Y227999D02* |
X148747D01* |
X122700Y169499D02* |
X148682D01* |
X122700Y171299D02* |
X148667D01* |
X122700Y170399D02* |
X148667D01* |
X122700Y236099D02* |
X148638D01* |
X122700Y228899D02* |
X148287D01* |
X122700Y235199D02* |
X148215D01* |
X122700Y229799D02* |
X148110D01* |
X122700Y234299D02* |
X148108D01* |
X122700Y233399D02* |
X148108D01* |
X122700Y232499D02* |
X148108D01* |
X122700Y231599D02* |
X148108D01* |
X122700Y230699D02* |
X148108D01* |
X122700Y172199D02* |
X147974D01* |
X122700Y173099D02* |
X147074D01* |
X122700Y173999D02* |
X146174D01* |
X122700Y174899D02* |
X145274D01* |
X122700Y175799D02* |
X144374D01* |
X140439Y215399D02* |
X144326D01* |
X139611Y214499D02* |
X143510D01* |
X122700Y176699D02* |
X143474D01* |
X140574Y213599D02* |
X143086D01* |
X122700Y177599D02* |
X142574D01* |
X122700Y178499D02* |
X141674D01* |
X122700Y179399D02* |
X140774D01* |
X122700Y180299D02* |
X139874D01* |
X122700Y181199D02* |
X138974D01* |
X122700Y182099D02* |
X138074D01* |
X122700Y182999D02* |
X137174D01* |
X122700Y183899D02* |
X136274D01* |
X122700Y184799D02* |
X135374D01* |
X122700Y185699D02* |
X134498D01* |
X122700Y186599D02* |
X134022D01* |
X122700Y198299D02* |
X133905D01* |
X122700Y197399D02* |
X133905D01* |
X122700Y196499D02* |
X133905D01* |
X122700Y195599D02* |
X133905D01* |
X122700Y194699D02* |
X133905D01* |
X122700Y193799D02* |
X133905D01* |
X122700Y192899D02* |
X133905D01* |
X122700Y191999D02* |
X133905D01* |
X122700Y191099D02* |
X133905D01* |
X122700Y190199D02* |
X133905D01* |
X122700Y189299D02* |
X133905D01* |
X122700Y188399D02* |
X133905D01* |
X122700Y187499D02* |
X133905D01* |
X122700Y199199D02* |
X133880D01* |
X122700Y214499D02* |
X133565D01* |
X122700Y207299D02* |
X133160D01* |
X122700Y206399D02* |
X133025D01* |
X122700Y200099D02* |
X132715D01* |
X122700Y215399D02* |
X132676D01* |
X122700Y213599D02* |
X132647D01* |
X122700Y221699D02* |
X132451D01* |
X122700Y208199D02* |
X132445D01* |
X122700Y205499D02* |
X132416D01* |
X122700Y200999D02* |
X132361D01* |
X122700Y212699D02* |
X132356D01* |
X122700Y211799D02* |
X132355D01* |
X122700Y210899D02* |
X132355D01* |
X122700Y209999D02* |
X132355D01* |
X122700Y209099D02* |
X132355D01* |
X122700Y204599D02* |
X132355D01* |
X122700Y203699D02* |
X132355D01* |
X122700Y202799D02* |
X132355D01* |
X122700Y201899D02* |
X132355D01* |
X122700Y216299D02* |
X132108D01* |
X122700Y220799D02* |
X132068D01* |
X122700Y219899D02* |
X132058D01* |
X122700Y218999D02* |
X132058D01* |
X122700Y218099D02* |
X132058D01* |
X122700Y217199D02* |
X132058D01* |
G54D40* |
X221002Y136510D02* |
Y135310D01* |
X202802Y136510D02* |
Y135310D01* |
X211902Y136510D02* |
Y135310D01* |
X178800Y188000D03* |
G54D43* |
X186884Y166138D02* |
Y170638D01* |
X173884Y166138D02* |
Y170638D01* |
X224689Y172049D02* |
Y167549D01* |
X237689Y172049D02* |
Y167549D01* |
G54D45* |
X173529Y134397D03* |
X163529D03* |
X173529Y144397D03* |
X163529D03* |
X173529Y154397D03* |
X163529D03* |
X251309Y187702D03* |
X261309D03* |
X251309Y177702D03* |
X261309D03* |
X251309Y167702D03* |
X261309D03* |
X220015Y201331D03* |
Y191331D03* |
X210020Y201331D03* |
Y191331D03* |
X152637Y188800D03* |
Y198800D03* |
X162637Y188800D03* |
Y198800D03* |
G54D46* |
X184280Y230140D02* |
Y227440D01* |
X195680Y230140D02* |
Y227440D01* |
G54D47* |
X146058Y234411D02* |
Y229911D01* |
X151058Y234411D02* |
Y229911D01* |
X156058Y234411D02* |
Y229911D01* |
X161058Y234411D02* |
Y229911D01* |
Y213011D02* |
Y208511D01* |
X156058Y213011D02* |
Y208511D01* |
X151058Y213011D02* |
Y208511D01* |
X146058Y213011D02* |
Y208511D01* |
G54D55* |
X191403Y269381D02* |
Y268593D01* |
X196403Y263475D02* |
Y262688D01* |
X201403Y263475D02* |
Y262688D01* |
X206403Y269381D02* |
Y268593D01* |
X211403Y263475D02* |
Y262688D01* |
X216403Y263475D02* |
Y262688D01* |
X221403Y269381D02* |
Y268593D01* |
G54D56* |
X232230Y259144D03* |
X181718Y263081D03* |
G54D57* |
X227076Y213427D02* |
Y215198D01* |
X217076Y213427D02* |
Y215198D01* |
X207076Y213427D02* |
Y215198D01* |
Y229962D02* |
Y231734D01* |
X217076Y229962D02* |
Y231734D01* |
X227076Y229962D02* |
Y231734D01* |
G54D58* |
X228789Y222580D02* |
X227824D01* |
X206328D02* |
X205364D01* |
G54D59* |
X190262Y156326D02* |
Y155933D01* |
Y136247D02* |
Y135854D01* |
X233542Y156326D02* |
Y155933D01* |
Y136247D02* |
Y135854D01* |
G74* |
X0Y0D02* |
M02* |
/Modules/Clock/CLKGEN01A/CAM_PROFI/BOARD.PHO |
---|
0,0 → 1,364 |
* |
* |
G04 PADS9.0.2 Build Number: 372616 generated Gerber (RS-274-X) file* |
G04 PC Version=2.1* |
* |
%IN "CLKGEN.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* |
* |
%ADD024C,0.001*% |
%ADD025C,0.01*% |
* |
* |
* |
* |
G04 PC Circuitry* |
G04 Layer Name CLKGEN.pcb - circuitry* |
%LPD*% |
* |
* |
G04 PC Custom Flashes* |
G04 Layer Name CLKGEN.pcb - flashes* |
%LPD*% |
* |
* |
G04 PC Circuitry* |
G04 Layer Name CLKGEN.pcb - circuitry* |
%LPD*% |
* |
G54D24* |
G01X121000Y279000D02* |
X121003D01* |
X279000D02* |
X279003D01* |
X279000Y121000D02* |
X279003D01* |
X279000Y279000D02* |
X279003D01* |
G54D25* |
X121000D02* |
X279000D01* |
Y121000* |
X121000* |
Y279000* |
Y301200D02* |
X182227D01* |
X121000D02* |
X131000Y303700D01* |
Y298700* |
X121000Y301200* |
X279000D02* |
X217773D01* |
X279000D02* |
X269000Y298700D01* |
Y303700* |
X279000Y301200* |
X121000Y284000D02* |
Y306200D01* |
X279000Y284000D02* |
Y306200D01* |
X185227Y302763D02* |
X185682Y303075D01* |
X186364Y304013* |
X186364D02* |
Y297450D01* |
X191364Y304013D02* |
X189091D01* |
X189091D02* |
X188864Y301200D01* |
X189091Y301513* |
X189091D02* |
X189773Y301825D01* |
X190455* |
X191136Y301513* |
X191136D02* |
X191591Y300888D01* |
X191591D02* |
X191818Y299950D01* |
X191591Y299325* |
X191364Y298388* |
X191364D02* |
X190909Y297763D01* |
X190909D02* |
X190227Y297450D01* |
X189545* |
X188864Y297763* |
X188864D02* |
X188636Y298075D01* |
X188409Y298700* |
X195000Y304013D02* |
X194318Y303700D01* |
X194091Y303075* |
Y302450* |
X194318Y301825* |
X194773Y301513* |
X194773D02* |
X195682Y301200D01* |
X196364Y300888* |
X196364D02* |
X196818Y300263D01* |
X196818D02* |
X197045Y299638D01* |
X197045D02* |
Y298700D01* |
X196818Y298075* |
X196591Y297763* |
X196591D02* |
X195909Y297450D01* |
X195000* |
X194318Y297763* |
X194318D02* |
X194091Y298075D01* |
X193864Y298700* |
Y299638* |
X193864D02* |
X194091Y300263D01* |
X194091D02* |
X194545Y300888D01* |
X194545D02* |
X195227Y301200D01* |
X196136Y301513* |
X196136D02* |
X196591Y301825D01* |
X196818Y302450* |
Y303075* |
X196591Y303700* |
X195909Y304013* |
X195909D02* |
X195000D01* |
X200455D02* |
X199773Y303700D01* |
X199318Y302763* |
X199318D02* |
X199091Y301200D01* |
Y300263* |
X199091D02* |
X199318Y298700D01* |
X199773Y297763* |
X199773D02* |
X200455Y297450D01* |
X200909* |
X201591Y297763* |
X201591D02* |
X202045Y298700D01* |
X202273Y300263* |
X202273D02* |
Y301200D01* |
X202045Y302763* |
X202045D02* |
X201591Y303700D01* |
X200909Y304013* |
X200909D02* |
X200455D01* |
X204318Y301825D02* |
Y297450D01* |
Y300575D02* |
X205000Y301513D01* |
X205000D02* |
X205455Y301825D01* |
X206136* |
X206591Y301513* |
X206591D02* |
X206818Y300575D01* |
Y297450* |
Y300575D02* |
X207500Y301513D01* |
X207500D02* |
X207955Y301825D01* |
X208636* |
X209091Y301513* |
X209091D02* |
X209318Y300575D01* |
Y297450* |
X211364Y304013D02* |
X211591Y303700D01* |
X211818Y304013* |
X211818D02* |
X211591Y304325D01* |
X211364Y304013* |
X211591Y301825D02* |
Y297450D01* |
X213864Y304013D02* |
Y297450D01* |
X306000Y121000D02* |
Y193250D01* |
Y121000D02* |
X303500Y131000D01* |
X308500* |
X306000Y121000* |
Y279000D02* |
Y206750D01* |
Y279000D02* |
X308500Y269000D01* |
X303500* |
X306000Y279000* |
X284000Y121000D02* |
X311000D01* |
X284000Y279000D02* |
X311000D01* |
X291227Y201563D02* |
X291682Y201875D01* |
X292364Y202813* |
X292364D02* |
Y196250D01* |
X297364Y202813D02* |
X295091D01* |
X295091D02* |
X294864Y200000D01* |
X295091Y200313* |
X295091D02* |
X295773Y200625D01* |
X296455* |
X297136Y200313* |
X297136D02* |
X297591Y199688D01* |
X297591D02* |
X297818Y198750D01* |
X297591Y198125* |
X297364Y197188* |
X297364D02* |
X296909Y196563D01* |
X296909D02* |
X296227Y196250D01* |
X295545* |
X294864Y196563* |
X294864D02* |
X294636Y196875D01* |
X294409Y197500* |
X301000Y202813D02* |
X300318Y202500D01* |
X300091Y201875* |
Y201250* |
X300318Y200625* |
X300773Y200313* |
X300773D02* |
X301682Y200000D01* |
X302364Y199688* |
X302364D02* |
X302818Y199063D01* |
X302818D02* |
X303045Y198438D01* |
X303045D02* |
Y197500D01* |
X302818Y196875* |
X302591Y196563* |
X302591D02* |
X301909Y196250D01* |
X301000* |
X300318Y196563* |
X300318D02* |
X300091Y196875D01* |
X299864Y197500* |
Y198438* |
X299864D02* |
X300091Y199063D01* |
X300091D02* |
X300545Y199688D01* |
X300545D02* |
X301227Y200000D01* |
X302136Y200313* |
X302136D02* |
X302591Y200625D01* |
X302818Y201250* |
Y201875* |
X302591Y202500* |
X301909Y202813* |
X301909D02* |
X301000D01* |
X306455D02* |
X305773Y202500D01* |
X305318Y201563* |
X305318D02* |
X305091Y200000D01* |
Y199063* |
X305091D02* |
X305318Y197500D01* |
X305773Y196563* |
X305773D02* |
X306455Y196250D01* |
X306909* |
X307591Y196563* |
X307591D02* |
X308045Y197500D01* |
X308273Y199063* |
X308273D02* |
Y200000D01* |
X308045Y201563* |
X308045D02* |
X307591Y202500D01* |
X306909Y202813* |
X306909D02* |
X306455D01* |
X310318Y200625D02* |
Y196250D01* |
Y199375D02* |
X311000Y200313D01* |
X311000D02* |
X311455Y200625D01* |
X312136* |
X312591Y200313* |
X312591D02* |
X312818Y199375D01* |
Y196250* |
Y199375D02* |
X313500Y200313D01* |
X313500D02* |
X313955Y200625D01* |
X314636* |
X315091Y200313* |
X315091D02* |
X315318Y199375D01* |
Y196250* |
X317364Y202813D02* |
X317591Y202500D01* |
X317818Y202813* |
X317818D02* |
X317591Y203125D01* |
X317364Y202813* |
X317591Y200625D02* |
Y196250D01* |
X319864Y202813D02* |
Y196250D01* |
X0Y0D02* |
M02* |
/Modules/Clock/CLKGEN01A/CAM_PROFI/DRILL.DRL |
---|
0,0 → 1,39 |
% |
T1C.02913F197S55 |
X01964Y026308 |
X02014Y026308 |
X02114Y026308 |
X02064Y026899 |
X01914Y026899 |
X02214Y026899 |
X02164Y026308 |
T2C.035F197S55 |
X016353Y01344 |
X016353Y01444 |
X016353Y01544 |
X015264Y01888 |
X016264Y01888 |
X015264Y01988 |
X016264Y01988 |
X021002Y020133 |
X021002Y019133 |
X017353Y01544 |
X017353Y01444 |
X017353Y01344 |
X025131Y01677 |
X026131Y01677 |
X025131Y01777 |
X026131Y01777 |
X026131Y01877 |
X025131Y01877 |
X022002Y019133 |
X022002Y020133 |
T3C.05315F107S55 |
X023223Y025914 |
X018172Y026308 |
T4C.12598F035S794 |
X014Y014 |
X014Y026 |
X026Y026 |
X026Y014 |
M30 |
/Modules/Clock/CLKGEN01A/CAM_PROFI/T1.PHO |
---|
0,0 → 1,1106 |
* |
* |
G04 PADS9.0.2 Build Number: 372616 generated Gerber (RS-274-X) file* |
G04 PC Version=2.1* |
* |
%IN "CLKGEN.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* |
* |
%ADD024C,0.001*% |
%ADD025C,0.01*% |
%ADD029C,0.005*% |
%ADD036C,0.008*% |
* |
* |
* |
* |
G04 PC Circuitry* |
G04 Layer Name CLKGEN.pcb - circuitry* |
%LPD*% |
* |
* |
G04 PC Custom Flashes* |
G04 Layer Name CLKGEN.pcb - flashes* |
%LPD*% |
* |
* |
G04 PC Circuitry* |
G04 Layer Name CLKGEN.pcb - circuitry* |
%LPD*% |
* |
G54D24* |
G54D25* |
G01X198400Y217500D02* |
X199127Y214000D01* |
X199855Y217500D02* |
X199127Y214000D01* |
X199855Y217500D02* |
X200582Y214000D01* |
X201309Y217500D02* |
X200582Y214000D01* |
X202945Y217500D02* |
X203673Y214000D01* |
X204400Y217500D02* |
X203673Y214000D01* |
X204400Y217500D02* |
X205127Y214000D01* |
X205855Y217500D02* |
X205127Y214000D01* |
X207491Y217500D02* |
X208218Y214000D01* |
X208945Y217500D02* |
X208218Y214000D01* |
X208945Y217500D02* |
X209673Y214000D01* |
X210400Y217500D02* |
X209673Y214000D01* |
X212218Y214500D02* |
X212036Y214250D01* |
X212218Y214000* |
X212400Y214250* |
X212218Y214500* |
X214036Y217500D02* |
Y214000D01* |
Y216500D02* |
X214582Y217250D01* |
X214945Y217500* |
X215491* |
X215855Y217250* |
X216036Y216500* |
Y214000* |
Y216500D02* |
X216582Y217250D01* |
X216945Y217500* |
X217491* |
X217855Y217250* |
X218036Y216500* |
Y214000* |
X219673Y219250D02* |
Y214000D01* |
X223491Y217500D02* |
Y214000D01* |
Y216750D02* |
X223127Y217250D01* |
X222764Y217500* |
X222218* |
X221855Y217250* |
X221491Y216750* |
X221309Y216000* |
Y215500* |
X221491Y214750* |
X221855Y214250* |
X222218Y214000* |
X222764* |
X223127Y214250* |
X223491Y214750* |
X225127Y219250D02* |
Y214000D01* |
Y216750D02* |
X225491Y217250D01* |
X225855Y217500* |
X226400* |
X226764Y217250* |
X227127Y216750* |
X227309Y216000* |
Y215500* |
X227127Y214750* |
X226764Y214250* |
X226400Y214000* |
X225855* |
X225491Y214250* |
X225127Y214750* |
X229127Y214500D02* |
X228945Y214250D01* |
X229127Y214000* |
X229309Y214250* |
X229127Y214500* |
X233127Y216750D02* |
X232764Y217250D01* |
X232400Y217500* |
X231855* |
X231491Y217250* |
X231127Y216750* |
X230945Y216000* |
Y215500* |
X231127Y214750* |
X231491Y214250* |
X231855Y214000* |
X232400* |
X232764Y214250* |
X233127Y214750* |
X236764Y217500D02* |
X234764Y214000D01* |
Y217500D02* |
X236764D01* |
X234764Y214000D02* |
X236764D01* |
X180350Y134000D02* |
X185600D01* |
X180350D02* |
Y135636D01* |
X180600Y136182* |
X180850Y136364* |
X181350Y136545* |
X182100* |
X182600Y136364* |
X182850Y136182* |
X183100Y135636* |
Y134000* |
X180350Y139273D02* |
X180600Y138909D01* |
X181100Y138545* |
X181600Y138364* |
X182350Y138182* |
X183600* |
X184350Y138364* |
X184850Y138545* |
X185350Y138909* |
X185600Y139273* |
Y140000* |
X185350Y140364* |
X184850Y140727* |
X184350Y140909* |
X183600Y141091* |
X182350* |
X181600Y140909* |
X181100Y140727* |
X180600Y140364* |
X180350Y140000* |
Y139273* |
Y142727D02* |
X185600Y143636D01* |
X180350Y144545D02* |
X185600Y143636D01* |
X180350Y144545D02* |
X185600Y145455D01* |
X180350Y146364D02* |
X185600Y145455D01* |
X180350Y148000D02* |
X185600D01* |
X180350D02* |
Y150364D01* |
X182850Y148000D02* |
Y149455D01* |
X185600Y148000D02* |
Y150364D01* |
X180350Y152000D02* |
X185600D01* |
X180350D02* |
Y153636D01* |
X180600Y154182* |
X180850Y154364* |
X181350Y154545* |
X181850* |
X182350Y154364* |
X182600Y154182* |
X182850Y153636* |
Y152000* |
Y153273D02* |
X185600Y154545D01* |
X237550Y168800D02* |
X242800Y170255D01* |
X237550Y171709D02* |
X242800Y170255D01* |
X240050Y175527D02* |
X239550Y175164D01* |
X239300Y174800* |
Y174255* |
X239550Y173891* |
X240050Y173527* |
X240800Y173345* |
X241300* |
X242050Y173527* |
X242550Y173891* |
X242800Y174255* |
Y174800* |
X242550Y175164* |
X242050Y175527* |
X239300Y178073D02* |
X239550Y177709D01* |
X240050Y177345* |
X240800Y177164* |
X241300* |
X242050Y177345* |
X242550Y177709* |
X242800Y178073* |
Y178618* |
X242550Y178982* |
X242050Y179345* |
X241300Y179527* |
X240800* |
X240050Y179345* |
X239550Y178982* |
X239300Y178618* |
Y178073* |
Y181164D02* |
X242800D01* |
X240800D02* |
X240050Y181345D01* |
X239550Y181709* |
X239300Y182073* |
Y182618* |
X240800Y184255D02* |
Y186436D01* |
X240300* |
X239800Y186255* |
X239550Y186073* |
X239300Y185709* |
Y185164* |
X239550Y184800* |
X240050Y184436* |
X240800Y184255* |
X241300* |
X242050Y184436* |
X242550Y184800* |
X242800Y185164* |
Y185709* |
X242550Y186073* |
X242050Y186436* |
X241950Y196764D02* |
Y198764D01* |
X243950Y197673* |
Y198218* |
X244200Y198582* |
X244450Y198764* |
X245200Y198945* |
X245700* |
X246450Y198764* |
X246950Y198400* |
X247200Y197855* |
Y197309* |
X246950Y196764* |
X246700Y196582* |
X246200Y196400* |
X246700Y200764D02* |
X246950Y200582D01* |
X247200Y200764* |
X246950Y200945* |
X246700Y200764* |
X241950Y202945D02* |
Y204945D01* |
X243950Y203855* |
Y204400* |
X244200Y204764* |
X244450Y204945* |
X245200Y205127* |
X245700* |
X246450Y204945* |
X246950Y204582* |
X247200Y204036* |
Y203491* |
X246950Y202945* |
X246700Y202764* |
X246200Y202582* |
X241950Y206764D02* |
X247200Y208218D01* |
X241950Y209673D02* |
X247200Y208218D01* |
X253600Y196182D02* |
X253350D01* |
X252850Y196364* |
X252600Y196545* |
X252350Y196909* |
Y197636* |
X252600Y198000* |
X252850Y198182* |
X253350Y198364* |
X253850* |
X254350Y198182* |
X255100Y197818* |
X257600Y196000* |
Y198545* |
X257100Y200364D02* |
X257350Y200182D01* |
X257600Y200364* |
X257350Y200545* |
X257100Y200364* |
X252350Y204545D02* |
Y202727D01* |
X254600Y202545* |
X254350Y202727* |
X254100Y203273* |
Y203818* |
X254350Y204364* |
X254850Y204727* |
X255600Y204909* |
X256100Y204727* |
X256850Y204545* |
X257350Y204182* |
X257600Y203636* |
Y203091* |
X257350Y202545* |
X257100Y202364* |
X256600Y202182* |
X252350Y206545D02* |
X257600Y208000D01* |
X252350Y209455D02* |
X257600Y208000D01* |
X263350Y196000D02* |
X263100Y196364D01* |
X262350Y196909* |
X267600* |
X267100Y198727D02* |
X267350Y198545D01* |
X267600Y198727* |
X267350Y198909* |
X267100Y198727* |
X262350Y201455D02* |
X262600Y200909D01* |
X263100Y200727* |
X263600* |
X264100Y200909* |
X264350Y201273* |
X264600Y202000* |
X264850Y202545* |
X265350Y202909* |
X265850Y203091* |
X266600* |
X267100Y202909* |
X267350Y202727* |
X267600Y202182* |
Y201455* |
X267350Y200909* |
X267100Y200727* |
X266600Y200545* |
X265850* |
X265350Y200727* |
X264850Y201091* |
X264600Y201636* |
X264350Y202364* |
X264100Y202727* |
X263600Y202909* |
X263100* |
X262600Y202727* |
X262350Y202182* |
Y201455* |
Y204727D02* |
X267600Y206182D01* |
X262350Y207636D02* |
X267600Y206182D01* |
X149500Y171745D02* |
X149000Y171382D01* |
X148750Y170836* |
Y170109* |
X149000Y169564* |
X149500Y169200* |
X150000* |
X150500Y169382* |
X150750Y169564* |
X151000Y169927* |
X151500Y171018* |
X151750Y171382* |
X152000Y171564* |
X152500Y171745* |
X153250* |
X153750Y171382* |
X154000Y170836* |
Y170109* |
X153750Y169564* |
X153250Y169200* |
X150000Y176109D02* |
X149500Y175927D01* |
X149000Y175564* |
X148750Y175200* |
Y174473* |
X149000Y174109* |
X149500Y173745* |
X150000Y173564* |
X150750Y173382* |
X152000* |
X152750Y173564* |
X153250Y173745* |
X153750Y174109* |
X154000Y174473* |
Y175200* |
X153750Y175564* |
X153250Y175927* |
X152750Y176109* |
X148750Y177745D02* |
X154000D01* |
Y179927* |
X159900Y170945D02* |
X159400Y170582D01* |
X159150Y170036* |
Y169309* |
X159400Y168764* |
X159900Y168400* |
X160400* |
X160900Y168582* |
X161150Y168764* |
X161400Y169127* |
X161900Y170218* |
X162150Y170582* |
X162400Y170764* |
X162900Y170945* |
X163650* |
X164150Y170582* |
X164400Y170036* |
Y169309* |
X164150Y168764* |
X163650Y168400* |
X159150Y172582D02* |
X164400D01* |
X159150D02* |
Y173855D01* |
X159400Y174400* |
X159900Y174764* |
X160400Y174945* |
X161150Y175127* |
X162400* |
X163150Y174945* |
X163650Y174764* |
X164150Y174400* |
X164400Y173855* |
Y172582* |
X159150Y178218D02* |
X164400Y176764D01* |
X159150Y178218D02* |
X164400Y179673D01* |
X162650Y177309D02* |
Y179127D01* |
X207150Y178291D02* |
X207400Y177927D01* |
X207900Y177564* |
X208400Y177382* |
X209150Y177200* |
X210400* |
X211150Y177382* |
X211650Y177564* |
X212150Y177927* |
X212400Y178291* |
Y179018* |
X212150Y179382* |
X211650Y179745* |
X211150Y179927* |
X210400Y180109* |
X209150* |
X208400Y179927* |
X207900Y179745* |
X207400Y179382* |
X207150Y179018* |
Y178291* |
Y181745D02* |
X212400D01* |
X207150D02* |
Y184109D01* |
X209650Y181745D02* |
Y183200D01* |
X212400Y181745D02* |
Y184109D01* |
X217150Y176800D02* |
X222400Y178255D01* |
X217150Y179709D02* |
X222400Y178255D01* |
X219650Y183527D02* |
X219150Y183164D01* |
X218900Y182800* |
Y182255* |
X219150Y181891* |
X219650Y181527* |
X220400Y181345* |
X220900* |
X221650Y181527* |
X222150Y181891* |
X222400Y182255* |
Y182800* |
X222150Y183164* |
X221650Y183527* |
X138727Y239600D02* |
X138545Y240100D01* |
X138182Y240600* |
X137818Y240850* |
X137091* |
X136727Y240600* |
X136364Y240100* |
X136182Y239600* |
X136000Y238850* |
Y237600* |
X136182Y236850* |
X136364Y236350* |
X136727Y235850* |
X137091Y235600* |
X137818* |
X138182Y235850* |
X138545Y236350* |
X138727Y236850* |
X140364Y240850D02* |
Y235600D01* |
X142545* |
X144182Y240850D02* |
Y235600D01* |
X146727Y240850D02* |
X144182Y237350D01* |
X145091Y238600D02* |
X146727Y235600D01* |
X151091Y239600D02* |
X150909Y240100D01* |
X150545Y240600* |
X150182Y240850* |
X149455* |
X149091Y240600* |
X148727Y240100* |
X148545Y239600* |
X148364Y238850* |
Y237600* |
X148545Y236850* |
X148727Y236350* |
X149091Y235850* |
X149455Y235600* |
X150182* |
X150545Y235850* |
X150909Y236350* |
X151091Y236850* |
Y237600* |
X150182D02* |
X151091D01* |
X152727Y240850D02* |
Y235600D01* |
Y240850D02* |
X155091D01* |
X152727Y238350D02* |
X154182D01* |
X152727Y235600D02* |
X155091D01* |
X156727Y240850D02* |
Y235600D01* |
Y240850D02* |
X159273Y235600D01* |
Y240850D02* |
Y235600D01* |
X162000Y240850D02* |
X161455Y240600D01* |
X161091Y239850* |
X160909Y238600* |
Y237850* |
X161091Y236600* |
X161455Y235850* |
X162000Y235600* |
X162364* |
X162909Y235850* |
X163273Y236600* |
X163455Y237850* |
Y238600* |
X163273Y239850* |
X162909Y240600* |
X162364Y240850* |
X162000* |
X165091Y239850D02* |
X165455Y240100D01* |
X166000Y240850* |
Y235600* |
X169091Y240850D02* |
X167636Y235600D01* |
X169091Y240850D02* |
X170545Y235600D01* |
X168182Y237350D02* |
X170000D01* |
X161200Y228450D02* |
Y223200D01* |
X163018Y226700D02* |
X161200Y224200D01* |
X161927Y225200D02* |
X163200Y223200D01* |
X167018Y226700D02* |
Y223200D01* |
Y225950D02* |
X166655Y226450D01* |
X166291Y226700* |
X165745* |
X165382Y226450* |
X165018Y225950* |
X164836Y225200* |
Y224700* |
X165018Y223950* |
X165382Y223450* |
X165745Y223200* |
X166291* |
X166655Y223450* |
X167018Y223950* |
X168655Y228450D02* |
Y223200D01* |
X170473Y226700D02* |
X168655Y224200D01* |
X169382Y225200D02* |
X170655Y223200D01* |
X172291Y228450D02* |
Y223200D01* |
X173927Y228450D02* |
X174109Y228200D01* |
X174291Y228450* |
X174109Y228700* |
X173927Y228450* |
X174109Y226700D02* |
Y223200D01* |
X175927Y228450D02* |
Y223200D01* |
X177745Y226700D02* |
X175927Y224200D01* |
X176655Y225200D02* |
X177927Y223200D01* |
X183927Y227200D02* |
Y227450D01* |
X184109Y227950* |
X184291Y228200* |
X184655Y228450* |
X185382* |
X185745Y228200* |
X185927Y227950* |
X186109Y227450* |
Y226950* |
X185927Y226450* |
X185564Y225700* |
X183745Y223200* |
X186291* |
X189018Y228450D02* |
X188473Y228200D01* |
X188109Y227450* |
X187927Y226200* |
Y225450* |
X188109Y224200* |
X188473Y223450* |
X189018Y223200* |
X189382* |
X189927Y223450* |
X190291Y224200* |
X190473Y225450* |
Y226200* |
X190291Y227450* |
X189927Y228200* |
X189382Y228450* |
X189018* |
X192109Y227450D02* |
X192473Y227700D01* |
X193018Y228450* |
Y223200* |
X195745Y228450D02* |
X195200Y228200D01* |
X194836Y227450* |
X194655Y226200* |
Y225450* |
X194836Y224200* |
X195200Y223450* |
X195745Y223200* |
X196109* |
X196655Y223450* |
X197018Y224200* |
X197200Y225450* |
Y226200* |
X197018Y227450* |
X196655Y228200* |
X196109Y228450* |
X195745* |
X165600Y253927D02* |
X165100Y253745D01* |
X164600Y253382* |
X164350Y253018* |
Y252291* |
X164600Y251927* |
X165100Y251564* |
X165600Y251382* |
X166350Y251200* |
X167600* |
X168350Y251382* |
X168850Y251564* |
X169350Y251927* |
X169600Y252291* |
Y253018* |
X169350Y253382* |
X168850Y253745* |
X168350Y253927* |
X164350Y255564D02* |
X169600D01* |
Y257745* |
X164350Y259382D02* |
X169600D01* |
X164350Y261927D02* |
X167850Y259382D01* |
X166600Y260291D02* |
X169600Y261927D01* |
X164350Y264655D02* |
X164600Y264291D01* |
X165100Y263927* |
X165600Y263745* |
X166350Y263564* |
X167600* |
X168350Y263745* |
X168850Y263927* |
X169350Y264291* |
X169600Y264655* |
Y265382* |
X169350Y265745* |
X168850Y266109* |
X168350Y266291* |
X167600Y266473* |
X166350* |
X165600Y266291* |
X165100Y266109* |
X164600Y265745* |
X164350Y265382* |
Y264655* |
Y268109D02* |
X168100D01* |
X168850Y268291* |
X169350Y268655* |
X169600Y269200* |
Y269564* |
X169350Y270109* |
X168850Y270473* |
X168100Y270655* |
X164350* |
Y273564D02* |
X169600D01* |
X164350Y272291D02* |
Y274836D01* |
X196950Y248400D02* |
X196700Y248764D01* |
X195950Y249309* |
X201200* |
X212800Y248182D02* |
X212550D01* |
X212050Y248364* |
X211800Y248545* |
X211550Y248909* |
Y249636* |
X211800Y250000* |
X212050Y250182* |
X212550Y250364* |
X213050* |
X213550Y250182* |
X214300Y249818* |
X216800Y248000* |
Y250545* |
X152100Y132000D02* |
X155600D01* |
X153100D02* |
X152350Y132545D01* |
X152100Y132909* |
Y133455* |
X152350Y133818* |
X153100Y134000* |
X155600* |
X153100D02* |
X152350Y134545D01* |
X152100Y134909* |
Y135455* |
X152350Y135818* |
X153100Y136000* |
X155600* |
X152100Y139818D02* |
X155600D01* |
X152850D02* |
X152350Y139455D01* |
X152100Y139091* |
Y138545* |
X152350Y138182* |
X152850Y137818* |
X153600Y137636* |
X154100* |
X154850Y137818* |
X155350Y138182* |
X155600Y138545* |
Y139091* |
X155350Y139455* |
X154850Y139818* |
X152100Y141455D02* |
X155600Y143455D01* |
X152100D02* |
X155600Y141455D01* |
X150350Y151636D02* |
Y149818D01* |
X152600Y149636* |
X152350Y149818* |
X152100Y150364* |
Y150909* |
X152350Y151455* |
X152850Y151818* |
X153600Y152000* |
X154100Y151818* |
X154850Y151636* |
X155350Y151273* |
X155600Y150727* |
Y150182* |
X155350Y149636* |
X155100Y149455* |
X154600Y149273* |
X150350Y153636D02* |
X155600Y155091D01* |
X150350Y156545D02* |
X155600Y155091D01* |
G54D29* |
X171123Y145192D02* |
X168123D01* |
X167560Y145328* |
X167373Y145465* |
X167185Y145737* |
Y146010* |
X167373Y146283* |
X167560Y146419* |
X168123Y146556* |
X168498* |
X170373Y143965D02* |
X170560Y143692D01* |
X171123Y143283* |
X167185* |
X210467Y254800D02* |
Y257300D01* |
X210580Y257769* |
X210694Y257925* |
X210921Y258081* |
X211148* |
X211376Y257925* |
X211489Y257769* |
X211603Y257300* |
Y256988* |
X209330Y255581D02* |
Y255425D01* |
X209217Y255113* |
X209103Y254956* |
X208876Y254800* |
X208421* |
X208194Y254956* |
X208080Y255113* |
X207967Y255425* |
Y255738* |
X208080Y256050* |
X208308Y256519* |
X209444Y258081* |
X207853* |
X253715Y176293D02* |
X256715D01* |
X257278Y176157* |
X257465Y176020* |
X257653Y175748* |
Y175475* |
X257465Y175202* |
X257278Y175066* |
X256715Y174929* |
X256340* |
X253715Y177793D02* |
Y179293D01* |
X255215Y178475* |
Y178884* |
X255403Y179157* |
X255590Y179293* |
X256153Y179429* |
X256528* |
X257090Y179293* |
X257465Y179020* |
X257653Y178611* |
Y178202* |
X257465Y177793* |
X257278Y177657* |
X256903Y177520* |
X218538Y198924D02* |
Y195924D01* |
X218402Y195362* |
X218265Y195174* |
X217993Y194987* |
X217720* |
X217447Y195174* |
X217311Y195362* |
X217174Y195924* |
Y196299* |
X221129Y198924D02* |
X219765Y196299D01* |
X221811* |
X221129Y198924D02* |
Y194987D01* |
X208543Y198924D02* |
Y195924D01* |
X208406Y195362* |
X208270Y195174* |
X207997Y194987* |
X207724* |
X207452Y195174* |
X207315Y195362* |
X207179Y195924* |
Y196299* |
X211543Y198924D02* |
X210179D01* |
X210043Y197237* |
X210179Y197424* |
X210588Y197612* |
X210997* |
X211406Y197424* |
X211679Y197049* |
X211815Y196487* |
X211679Y196112* |
X211543Y195549* |
X211270Y195174* |
X210861Y194987* |
X210452* |
X210043Y195174* |
X209906Y195362* |
X209770Y195737* |
X158978Y191206D02* |
Y194206D01* |
X159114Y194769* |
X159251Y194956* |
X159523Y195144* |
X159796* |
X160069Y194956* |
X160205Y194769* |
X160342Y194206* |
Y193831* |
X156114Y191769D02* |
X156251Y191394D01* |
X156660Y191206* |
X156932* |
X157342Y191394* |
X157614Y191956* |
X157751Y192894* |
Y193831* |
X157614Y194581* |
X157342Y194956* |
X156932Y195144* |
X156796* |
X156387Y194956* |
X156114Y194581* |
X155978Y194019* |
Y193831* |
X156114Y193269* |
X156387Y192894* |
X156796Y192706* |
X156932* |
X157342Y192894* |
X157614Y193269* |
X157751Y193831* |
X137432Y262594D02* |
Y258656D01* |
Y262594D02* |
X138523Y258656D01* |
X139614Y262594D02* |
X138523Y258656D01* |
X139614Y262594D02* |
Y258656D01* |
X140841Y261844D02* |
X141114Y262031D01* |
X141523Y262594* |
Y258656* |
X136818Y142594D02* |
Y138656D01* |
Y142594D02* |
X137909Y138656D01* |
X139000Y142594D02* |
X137909Y138656D01* |
X139000Y142594D02* |
Y138656D01* |
X140364Y141656D02* |
Y141844D01* |
X140500Y142219* |
X140636Y142406* |
X140909Y142594* |
X141455* |
X141727Y142406* |
X141864Y142219* |
X142000Y141844* |
Y141469* |
X141864Y141094* |
X141591Y140531* |
X140227Y138656* |
X142136* |
X256818Y142594D02* |
Y138656D01* |
Y142594D02* |
X257909Y138656D01* |
X259000Y142594D02* |
X257909Y138656D01* |
X259000Y142594D02* |
Y138656D01* |
X260500Y142594D02* |
X262000D01* |
X261182Y141094* |
X261591* |
X261864Y140906* |
X262000Y140719* |
X262136Y140156* |
Y139781* |
X262000Y139219* |
X261727Y138844* |
X261318Y138656* |
X260909* |
X260500Y138844* |
X260364Y139031* |
X260227Y139406* |
X256750Y262594D02* |
Y258656D01* |
Y262594D02* |
X257841Y258656D01* |
X258932Y262594D02* |
X257841Y258656D01* |
X258932Y262594D02* |
Y258656D01* |
X261523Y262594D02* |
X260159Y259969D01* |
X262205* |
X261523Y262594D02* |
Y258656D01* |
G54D36* |
X178529Y159397D02* |
Y129397D01* |
X158529* |
Y159397* |
X178529* |
X246309Y162702D02* |
Y192702D01* |
X266309* |
Y162702* |
X246309* |
X215015Y206331D02* |
X225015D01* |
Y186331* |
X215015* |
Y206331* |
X205020D02* |
X215020D01* |
Y186331* |
X205020* |
Y206331* |
X167637Y183800D02* |
X147637D01* |
Y203800* |
X167637* |
Y183800* |
X0Y0D02* |
M02* |
/Modules/Clock/CLKGEN01A/SCH/CLKGEN.DSN |
---|
Cannot display: file marked as a binary type. |
svn:mime-type = application/octet-stream |
Property changes: |
Added: svn:mime-type |
+application/octet-stream |
\ No newline at end of property |
/Modules/Clock/CLKGEN01A/SCH/CLKGEN.asc |
---|
0,0 → 1,72 |
*PADS-PCB* |
*PART* |
C1 C-ELYT,10uF@ELYTB |
C2 C-ELYT,10uF@ELYTB |
C3 C,470nF@C0805 |
C4 C,470nF@C0805 |
C5 C,100nF@C0805 |
C6 C,100nF@C0805 |
D1 D,1N4007@DO41 |
D2 D,1N4007@DO41 |
J1 JUMP2X3,JUMP2X3@JUMP2X3 |
J2 SATA,SATA@SATA |
J3 JUMP2X3,JUMP2X3@JUMP2X3 |
J4 JUMP2X1,JUMP2X1@JUMP2X1 |
J5 JUMP2X1,JUMP2X1@JUMP2X1 |
J6 JUMP2X2,JUMP2X2@JUMP2X2 |
M1 PAD,HOLE_M3@HOLE_M3 |
M2 PAD,HOLE_M3@HOLE_M3 |
M3 PAD,HOLE_M3@HOLE_M3 |
M4 PAD,HOLE_M3@HOLE_M3 |
M5 FIDU,FIDU@FIDU |
M6 FIDU_PASTE,FIDU_PASTE@FIDU_PASTE |
R1 R,4k7@R0805 |
R10 R,195R@R0805 |
R11 R,195R@R0805 |
R2 R,4k7@R0805 |
R3 R,200k@R0805 |
R4 R,0R@R0805 |
R5 R,0R@R0805 |
R6 R,4k7@R0805 |
R7 R,4k7@R0805 |
R9 R,0R@R0805 |
U1 SOT223,LM1117MPX@SOT223 |
U2 Si570,Si570@Si5XX |
U3 SO8_150,GTL2002@SO8_150 |
*NET* |
*SIGNAL* GND |
J1.1 J1.2 J1.5 J1.6 J2.1 J2.4 J2.7 J3.1 |
J3.2 J3.5 J3.6 U1.1 C1.C C2.C D1.A U2.3 |
C5.1 D2.A U3.1 C6.1 M1.1 M2.1 M3.1 M4.1 |
R10.1 R11.1 |
*SIGNAL* N01155 |
J2.3 C4.1 U2.5 R11.2 |
*SIGNAL* N01159 |
J2.2 C3.1 U2.4 R10.2 |
*SIGNAL* N01181 |
J2.6 C3.2 |
*SIGNAL* N01192 |
J2.5 C4.2 |
*SIGNAL* N02020 |
U2.1 J4.1 J4.2 |
*SIGNAL* N02024 |
U2.2 J5.1 J5.2 |
*SIGNAL* N02853 |
U3.6 J6.1 J6.2 R4.1 R6.1 |
*SIGNAL* N02857 |
U3.5 J6.3 J6.4 R5.1 R7.1 |
*SIGNAL* N03045 |
U3.7 U3.8 R3.1 C6.2 |
*SIGNAL* N03387 |
R1.1 U3.3 R4.2 R9.1 |
*SIGNAL* N03720 |
U2.7 R2.1 U3.4 R5.2 |
*SIGNAL* N08058 |
U2.8 R9.2 |
*SIGNAL* VDD |
J3.3 J3.4 U1.3 U1.4 C2.A U2.6 C5.2 D2.C |
R1.2 R2.2 U3.2 |
*SIGNAL* VIN |
J1.3 J1.4 U1.2 C1.A D1.C R3.2 R6.2 R7.2 |
*END* |
/Modules/Clock/CLKGEN01A/SCH/CLKGEN.pdf |
---|
Cannot display: file marked as a binary type. |
svn:mime-type = application/octet-stream |
Property changes: |
Added: svn:mime-type |
+application/octet-stream |
\ No newline at end of property |
/Modules/Clock/CLKHUB02A/PCB/CLKHUB.pcb |
---|
Cannot display: file marked as a binary type. |
svn:mime-type = application/octet-stream |
Property changes: |
Added: svn:mime-type |
+application/octet-stream |
\ No newline at end of property |
/Modules/Clock/CLKHUB02A/CAM_AMA/V2.pdf |
---|
Cannot display: file marked as a binary type. |
svn:mime-type = application/octet-stream |
Property changes: |
Added: svn:mime-type |
+application/octet-stream |
\ No newline at end of property |
/Modules/Clock/CLKHUB02A/CAM_PROFI/V2.PHO |
---|
0,0 → 1,5178 |
* |
* |
G04 PADS9.0.2 Build Number: 372616 generated Gerber (RS-274-X) file* |
G04 PC Version=2.1* |
* |
%IN "CLKHUB.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* |
* |
%ADD010R,0.039X0.039*% |
%ADD013C,0.23622*% |
%ADD017C,0.02*% |
%ADD020C,0.012*% |
%ADD024C,0.001*% |
%ADD025C,0.01*% |
%ADD045R,0.065X0.065*% |
%ADD047C,0.025*% |
%ADD055C,0.04331*% |
%ADD056C,0.09843*% |
%ADD057C,0.01811*% |
%ADD058R,0.07874X0.07874*% |
%ADD059R,0.085X0.085*% |
* |
* |
* |
* |
G04 PC Circuitry* |
G04 Layer Name CLKHUB.pcb - circuitry* |
%LPD*% |
* |
* |
G04 PC Custom Flashes* |
G04 Layer Name CLKHUB.pcb - flashes* |
%LPD*% |
* |
* |
G04 PC Circuitry* |
G04 Layer Name CLKHUB.pcb - circuitry* |
%LPD*% |
* |
G54D10* |
G01X231709Y233490D02* |
X233409D01* |
X231709Y241090D02* |
X233409D01* |
X232655Y286377D02* |
X230955D01* |
X232655Y278777D02* |
X230955D01* |
X276750Y285844D02* |
X275050D01* |
X276750Y278244D02* |
X275050D01* |
X268401Y285670D02* |
X266701D01* |
X268401Y278070D02* |
X266701D01* |
X273748Y239796D02* |
Y241496D01* |
X266148Y239796D02* |
Y241496D01* |
X297548Y263840D02* |
X298748D01* |
X297548Y271440D02* |
X298748D01* |
X281348Y244700D02* |
X282548D01* |
X281348Y252300D02* |
X282548D01* |
X289648Y263840D02* |
X290848D01* |
X289648Y271440D02* |
X290848D01* |
X306748D02* |
X305548D01* |
X306748Y263840D02* |
X305548D01* |
X314648Y271440D02* |
X313448D01* |
X314648Y263840D02* |
X313448D01* |
X298748Y252300D02* |
X297548D01* |
X298748Y244700D02* |
X297548D01* |
X290848Y252300D02* |
X289648D01* |
X290848Y244700D02* |
X289648D01* |
X305548D02* |
X306748D01* |
X305548Y252300D02* |
X306748D01* |
X313448Y244700D02* |
X314648D01* |
X313448Y252300D02* |
X314648D01* |
X282548Y271440D02* |
X281348D01* |
X282548Y263840D02* |
X281348D01* |
X252700Y223600D02* |
Y222400D01* |
X260300Y223600D02* |
Y222400D01* |
X252700Y215600D02* |
Y214400D01* |
X260300Y215600D02* |
Y214400D01* |
X283800D02* |
Y215600D01* |
X276200Y214400D02* |
Y215600D01* |
X283800Y222400D02* |
Y223600D01* |
X276200Y222400D02* |
Y223600D01* |
X229700Y215600D02* |
Y214400D01* |
X237300Y215600D02* |
Y214400D01* |
X229700Y223600D02* |
Y222400D01* |
X237300Y223600D02* |
Y222400D01* |
X274772Y302066D02* |
Y303266D01* |
X267172Y302066D02* |
Y303266D01* |
X274772Y294222D02* |
Y295422D01* |
X267172Y294222D02* |
Y295422D01* |
X255814Y294487D02* |
Y295687D01* |
X248214Y294487D02* |
Y295687D01* |
X255773Y302478D02* |
Y303678D01* |
X248173Y302478D02* |
Y303678D01* |
X226841Y295963D02* |
Y294763D01* |
X234441Y295963D02* |
Y294763D01* |
X226779Y303801D02* |
Y302601D01* |
X234379Y303801D02* |
Y302601D01* |
X211148Y292983D02* |
X209948D01* |
X211148Y285383D02* |
X209948D01* |
X218648Y292983D02* |
X217448D01* |
X218648Y285383D02* |
X217448D01* |
Y227091D02* |
X218648D01* |
X217448Y234691D02* |
X218648D01* |
X209948Y227091D02* |
X211148D01* |
X209948Y234691D02* |
X211148D01* |
X209948Y246016D02* |
X211148D01* |
X209948Y253616D02* |
X211148D01* |
X217448Y246016D02* |
X218648D01* |
X217448Y253616D02* |
X218648D01* |
X211148Y272220D02* |
X209948D01* |
X211148Y264620D02* |
X209948D01* |
X218648Y272220D02* |
X217448D01* |
X218648Y264620D02* |
X217448D01* |
X347698Y239838D02* |
X345998D01* |
X347698Y232238D02* |
X345998D01* |
G54D13* |
X140000Y380000D03* |
Y140000D03* |
X340000D03* |
Y380000D03* |
G54D17* |
X352600Y236200D02* |
X354000Y237600D01* |
Y276157* |
X352600Y236200D02* |
X337366D01* |
X333566Y240000* |
X302848* |
X301530Y241319* |
X298983Y244700* |
X298148* |
Y271440D02* |
X298748D01* |
X302800Y275491* |
Y276951* |
X304200Y278351* |
Y296158* |
X289126Y286741D02* |
X297000Y294614D01* |
X302656* |
X304200Y296158* |
X311096Y303054* |
X311846* |
X354000Y276157D02* |
X327157Y303000D01* |
X326961* |
Y324823* |
X333726Y331588* |
X326961Y303000D02* |
X319863D01* |
X319809Y303054* |
X311846* |
G54D20* |
X210000Y170000D02* |
X214453D01* |
X237300Y192847* |
Y215000* |
X210000Y175000D02* |
X216059D01* |
X233400Y192341* |
Y219100* |
X234201Y219901* |
X237300Y221937* |
Y223000* |
X278600Y179947D02* |
Y182034D01* |
X277700Y179048D02* |
G75* |
G03X278600Y179947I-0J900D01* |
G01X277100Y179048D02* |
X277700D01* |
X276200Y179948D02* |
G03X277100Y179048I900J0D01* |
G01X276200Y179948D02* |
X276200D01* |
Y215000* |
X262065Y173568D02* |
Y189969D01* |
X256727Y195306* |
Y207677* |
X290000Y170000D02* |
X290394D01* |
X293800Y173406* |
Y176600* |
X280000Y190400* |
Y218600* |
X276200Y222400* |
Y223000* |
X290000Y175000D02* |
X289606D01* |
X281673Y182934* |
X250000Y170000D02* |
X253800D01* |
X255100Y171300* |
X259797* |
X262065Y173568* |
X250000Y175000D02* |
X256200D01* |
X259800Y178600* |
Y189600* |
X254327Y195073* |
Y196800* |
X253427Y197700* |
X253427* |
X253427* |
X251743* |
X250843Y198600* |
Y199200* |
X250843* |
X251743Y200100* |
X173100Y191241D02* |
X174494D01* |
X176465Y193212* |
Y197985* |
X175577Y198874* |
Y200076* |
X204349Y228847* |
X206108* |
X207501Y230241* |
X212998* |
X217448Y234691* |
X218048* |
X173100Y191241D02* |
X171465D01* |
X168100Y194606* |
Y195000* |
X218048Y227091D02* |
Y225741D01* |
X210548* |
Y227091* |
X218048Y246016D02* |
Y244666D01* |
X210548* |
Y246016* |
X177591Y205484D02* |
X203355Y231247D01* |
X205113* |
X206600Y232734* |
X208598Y233341* |
X210548* |
Y234691* |
X176055Y204847D02* |
G03X177591Y205484I-0J2173D01* |
G01X176055Y204847D02* |
X169484D01* |
G03X168584Y203947I0J-900* |
G01Y203347D02* |
Y203947D01* |
Y203347D02* |
G03X169484Y202447I900J0D01* |
G01X172200D02* |
X169484D01* |
X173100Y201547D02* |
G03X172200Y202447I-900J0D01* |
G01X174753Y231200D02* |
X197169Y253616D01* |
X210548* |
X174753Y231200D02* |
X171506D01* |
X168100Y234606* |
Y235000* |
X168584Y203947D02* |
X168584D01* |
X218048Y253616D02* |
X218648D01* |
X223496Y258463* |
X231738* |
X218048Y253616D02* |
X216985D01* |
X214950Y256714* |
X214864Y256800* |
X210548Y234691D02* |
X211148D01* |
X217697Y241240* |
X219750* |
X227585Y249075* |
Y250058* |
X229691Y252164* |
X231738* |
X218048Y234691D02* |
X218648D01* |
X226157Y242200* |
X227138* |
X231738Y246800* |
Y249014* |
X173100Y195000D02* |
Y201547D01* |
X187785Y235000D02* |
X198801Y246016D01* |
X210548* |
X173100Y235000D02* |
Y235394D01* |
X194506Y256800* |
X214864* |
X281673Y182934D02* |
G03X280136Y183570I-1537J-1537D01* |
X278600Y182034I0J-1536* |
G01X253427Y200100D02* |
X253429D01* |
X254327Y200998* |
Y209127* |
X256400Y211200* |
Y218500* |
X260300Y222400* |
Y223000* |
X253427Y200100D02* |
X253427D01* |
X251743* |
X224778Y250400D02* |
X229691Y255313D01* |
X231738* |
X224778Y250400D02* |
X213764D01* |
X213647Y250517* |
X211612Y253616* |
X210548* |
X240500Y246200D02* |
Y273500D01* |
X251048Y237225D02* |
X251423Y237600D01* |
Y241927* |
X263450Y226047D02* |
X260347Y229150D01* |
X255858* |
X253403Y231605* |
X252966* |
X251048Y233522* |
Y237225* |
X256727Y207677D02* |
X260300Y211250D01* |
Y215000* |
X237300Y223000D02* |
Y229900D01* |
X241974Y234574* |
Y241927* |
X237300Y215000D02* |
Y215600D01* |
X245124Y223424* |
Y241927* |
X276200Y223000D02* |
Y223600D01* |
X262575Y237225* |
X257348* |
X257722Y237600* |
Y241927* |
X276200Y215000D02* |
Y215600D01* |
X269401Y222399* |
Y224701* |
X263153Y230950* |
X258326* |
X254948Y234328* |
Y237225* |
X254573Y237600* |
Y241927* |
X260300Y215000D02* |
Y215600D01* |
X263450Y218750* |
Y226047* |
X260300Y223000D02* |
Y223600D01* |
X256900Y227000* |
X255000* |
X248274Y233726* |
Y241927* |
X238825D02* |
Y243975D01* |
X240500Y246200* |
X260872Y241927D02* |
Y243975D01* |
X258647Y246200* |
X240500* |
X290248Y244700D02* |
X298148D01* |
X290248Y252300D02* |
X291312D01* |
X293347Y255399* |
X293848Y255900* |
X310448* |
X290248Y252300D02* |
X281948D01* |
X276661* |
X273648Y255313* |
X267959* |
X281948Y244700D02* |
X282548D01* |
X286348Y248500* |
X293748* |
X297548Y252300* |
X298148* |
X281948Y244700D02* |
X281348D01* |
X277124Y248924* |
X274289* |
X272539Y250675* |
X271495* |
X270006Y252164* |
X267959* |
X266148Y240646D02* |
X260872D01* |
Y241927* |
X273748Y240646D02* |
Y241496D01* |
X269642Y245601* |
X269266* |
X267959Y246909* |
Y249014* |
X232559Y241090D02* |
X238825D01* |
Y241927* |
X340000Y226239D02* |
X345998Y232238D01* |
X346848* |
X330753Y245600D02* |
X332800Y247647D01* |
Y250594* |
X330753Y245600D02* |
X323300D01* |
X320500Y248400* |
X310648* |
X306748Y252300* |
X306148* |
X310809Y259760D02* |
X310950Y259901D01* |
X312985Y263000* |
X314048* |
Y263840* |
X310809Y259760D02* |
X293488D01* |
X293347Y259901* |
X291312Y263000* |
X290248* |
Y263840* |
X334906Y244000D02* |
Y243600D01* |
X320800* |
X319700Y244700* |
X314048* |
X332800Y250594D02* |
X329394Y254000D01* |
X329000* |
X304900Y250950D02* |
X298148D01* |
Y252300* |
X304900Y250950D02* |
X305899Y251949D01* |
X306148* |
Y252300* |
X346848Y251038D02* |
X337415D01* |
X330653Y257800* |
X274311* |
X273648Y258463* |
X267959* |
X346848Y239838D02* |
Y251038D01* |
X314048Y252300D02* |
X312985D01* |
X310950Y255399* |
X310448Y255900* |
X306148Y244700D02* |
X314048D01* |
X329000Y249000D02* |
X323300D01* |
X320000Y252300* |
X314048* |
X218048Y264620D02* |
X224620D01* |
X224762Y264762* |
X231738* |
X218048Y264620D02* |
X216985D01* |
X214950Y267718* |
X214268Y268400* |
X193641* |
X173100Y288941* |
Y295000* |
X218048Y272220D02* |
Y273570D01* |
X210548Y264620D02* |
X194028D01* |
X168100Y290547* |
Y295000* |
X210548Y272220D02* |
Y273570D01* |
X218048* |
X210548Y272220D02* |
X209948D01* |
X199632Y282536* |
Y283153* |
X187785Y295000* |
X218048Y285383D02* |
X217448D01* |
X213632Y289200* |
X208000* |
X173100Y324100* |
Y335000* |
X218048Y292983D02* |
X218648D01* |
X222600Y296935* |
Y298422* |
X226779Y302601* |
Y303201* |
X218048Y292983D02* |
Y294333D01* |
X210548Y285383D02* |
X206798D01* |
X202623Y289558* |
Y291600* |
X169400Y324824* |
Y329900* |
X168100Y331200* |
Y335000* |
X210548Y292983D02* |
Y294333D01* |
X218048* |
X275900Y278244D02* |
X274191D01* |
X272100* |
X231738Y267912D02* |
Y267711D01* |
X229490* |
X221402Y275800* |
X220732* |
X211148Y285383* |
X210548* |
X224199Y261400D02* |
X224412Y261612D01* |
X231738* |
X224199Y261400D02* |
X213768D01* |
X213647Y261521* |
X211612Y264620* |
X210548* |
X267551Y278070D02* |
X260872D01* |
Y278148* |
X240500Y273500D02* |
X258271D01* |
X260872Y276101* |
Y278070* |
X240500Y273500D02* |
X238825Y276101D01* |
Y278148* |
X257348Y282775D02* |
Y284398D01* |
X267172Y294222* |
Y294822* |
X240200Y311651D02* |
Y341400D01* |
X243800Y345000* |
X250000* |
X237800Y306101D02* |
Y342253D01* |
X245547Y350000* |
X250000* |
X242349Y282775D02* |
Y291236D01* |
X238222Y295363* |
X234441* |
X234379Y303201D02* |
Y321015D01* |
X210394Y345000* |
X210000* |
X226779Y303201D02* |
Y313536D01* |
X210000Y330315* |
X234441Y295363D02* |
Y296426D01* |
X231343Y298461* |
X230600Y299204* |
Y318947* |
X206200Y343347* |
X226841Y295363D02* |
Y303201D01* |
X226779* |
X248173Y303078D02* |
Y303678D01* |
X240200Y311651* |
X255773Y303078D02* |
Y312625D01* |
X250000Y318397* |
Y330315* |
X248214Y295087D02* |
Y295687D01* |
X237800Y306101* |
X255814Y295087D02* |
Y303078D01* |
X255773* |
X267172Y294822D02* |
Y295422D01* |
X271400Y299650* |
Y332600* |
X283800Y345000* |
X290000* |
X274772Y294822D02* |
Y302666D01* |
X267172D02* |
Y328230D01* |
X269200Y330259* |
Y333653* |
X282947Y347400* |
X287006* |
X289606Y350000* |
X290000* |
X274772Y302666D02* |
Y315087D01* |
X290000Y330315* |
X257722Y278148D02* |
Y282400D01* |
X257348Y282775* |
X254573Y278148D02* |
Y282400D01* |
X254948Y282775* |
Y287617* |
X260451Y293120* |
Y295345* |
X267172Y302066* |
Y302666* |
X251423Y278148D02* |
Y299228D01* |
X248173Y302478* |
Y303078* |
X248274Y278148D02* |
Y282326D01* |
X248214Y282386* |
Y295087* |
X245124Y278148D02* |
Y282400D01* |
X244749Y282775* |
Y292230* |
X234379Y302601* |
Y303201* |
X241974Y278148D02* |
Y282400D01* |
X242349Y282775* |
X238825Y278148D02* |
X231805D01* |
Y278777* |
X231738Y271061D02* |
X229691D01* |
X224600Y276152* |
Y279432* |
X218648Y285383* |
X218048* |
X267959Y261612D02* |
X274993D01* |
X277220Y263840* |
X281948* |
X267959Y264762D02* |
X274671D01* |
X281348Y271440* |
X281948* |
X267959Y267912D02* |
X272850D01* |
X276800Y271862* |
Y272488* |
X281912Y277600* |
X289986* |
X299126Y286741* |
X267959Y271061D02* |
Y273839D01* |
X267551Y274247* |
Y278070* |
X281948Y263840D02* |
X290248D01* |
Y271440D02* |
X298148D01* |
X306148Y263840D02* |
X298148D01* |
X297548* |
X293788Y267600* |
X286388* |
X282548Y271440* |
X281948* |
X267551Y278070D02* |
Y278244D01* |
X272100* |
X267551Y285670D02* |
Y285844D01* |
X275900* |
Y278244D02* |
X276750D01* |
X280212Y281705* |
X284091* |
X289126Y286741* |
X275900Y285844D02* |
Y289500D01* |
X274772Y290628* |
Y294822* |
X231805Y286377D02* |
Y289799D01* |
X226841Y294763* |
Y295363* |
X338169Y267469D02* |
X341738Y271038D01* |
X346848* |
X338169Y267469D02* |
X334331D01* |
X332800Y269000* |
X329000* |
X346848Y261038D02* |
X342200D01* |
X338169Y265069* |
X314048Y263840D02* |
X321440D01* |
X321600Y264000* |
X329000* |
X306148Y263840D02* |
X306748D01* |
X310509Y267600* |
X320200* |
X321600Y269000* |
X329000* |
X314048Y271440D02* |
X306148D01* |
Y276951* |
X309126Y279929* |
Y286741* |
X329000Y264000D02* |
X333262D01* |
X334331Y265069* |
X338169* |
X206200Y343347D02* |
Y346594D01* |
X209606Y350000* |
X210000* |
G54D24* |
G54D25* |
X182000Y162850D02* |
Y157600D01* |
X179455Y162850D02* |
X182000Y159350D01* |
X181091Y160600D02* |
X179455Y157600D01* |
X175636Y161100D02* |
Y157600D01* |
Y160350D02* |
X176000Y160850D01* |
X176364Y161100* |
X176909* |
X177273Y160850* |
X177636Y160350* |
X177818Y159600* |
Y159100* |
X177636Y158350* |
X177273Y157850* |
X176909Y157600* |
X176364* |
X176000Y157850* |
X175636Y158350* |
X174000Y162850D02* |
Y157600D01* |
X172182Y161100D02* |
X174000Y158600D01* |
X173273Y159600D02* |
X172000Y157600D01* |
X170364Y162850D02* |
Y157600D01* |
X168727Y162850D02* |
X168545Y162600D01* |
X168364Y162850* |
X168545Y163100* |
X168727Y162850* |
X168545Y161100D02* |
Y157600D01* |
X166727Y162850D02* |
Y157600D01* |
X164909Y161100D02* |
X166727Y158600D01* |
X166000Y159600D02* |
X164727Y157600D01* |
X158727Y161600D02* |
Y161850D01* |
X158545Y162350* |
X158364Y162600* |
X158000Y162850* |
X157273* |
X156909Y162600* |
X156727Y162350* |
X156545Y161850* |
Y161350* |
X156727Y160850* |
X157091Y160100* |
X158909Y157600* |
X156364* |
X153636Y162850D02* |
X154182Y162600D01* |
X154545Y161850* |
X154727Y160600* |
Y159850* |
X154545Y158600* |
X154182Y157850* |
X153636Y157600* |
X153273* |
X152727Y157850* |
X152364Y158600* |
X152182Y159850* |
Y160600* |
X152364Y161850* |
X152727Y162600* |
X153273Y162850* |
X153636* |
X150545Y161850D02* |
X150182Y162100D01* |
X149636Y162850* |
Y157600* |
X146909Y162850D02* |
X147455Y162600D01* |
X147818Y161850* |
X148000Y160600* |
Y159850* |
X147818Y158600* |
X147455Y157850* |
X146909Y157600* |
X146545* |
X146000Y157850* |
X145636Y158600* |
X145455Y159850* |
Y160600* |
X145636Y161850* |
X146000Y162600* |
X146545Y162850* |
X146909* |
X179673Y170600D02* |
X179855Y171100D01* |
X180218Y171600* |
X180582Y171850* |
X181309* |
X181673Y171600* |
X182036Y171100* |
X182218Y170600* |
X182400Y169850* |
Y168600* |
X182218Y167850* |
X182036Y167350* |
X181673Y166850* |
X181309Y166600* |
X180582* |
X180218Y166850* |
X179855Y167350* |
X179673Y167850* |
X178036Y171850D02* |
Y166600D01* |
X175855* |
X174218Y171850D02* |
Y166600D01* |
X171673Y171850D02* |
X174218Y168350D01* |
X173309Y169600D02* |
X171673Y166600D01* |
X170036Y171850D02* |
Y166600D01* |
X167491Y171850D02* |
Y166600D01* |
X170036Y169350D02* |
X167491D01* |
X165855Y171850D02* |
Y168100D01* |
X165673Y167350* |
X165309Y166850* |
X164764Y166600* |
X164400* |
X163855Y166850* |
X163491Y167350* |
X163309Y168100* |
Y171850* |
X161673D02* |
Y166600D01* |
Y171850D02* |
X160036D01* |
X159491Y171600* |
X159309Y171350* |
X159127Y170850* |
Y170350* |
X159309Y169850* |
X159491Y169600* |
X160036Y169350* |
X161673D02* |
X160036D01* |
X159491Y169100* |
X159309Y168850* |
X159127Y168350* |
Y167600* |
X159309Y167100* |
X159491Y166850* |
X160036Y166600* |
X161673* |
X156400Y171850D02* |
X156945Y171600D01* |
X157309Y170850* |
X157491Y169600* |
Y168850* |
X157309Y167600* |
X156945Y166850* |
X156400Y166600* |
X156036* |
X155491Y166850* |
X155127Y167600* |
X154945Y168850* |
Y169600* |
X155127Y170850* |
X155491Y171600* |
X156036Y171850* |
X156400* |
X153127Y170600D02* |
Y170850D01* |
X152945Y171350* |
X152764Y171600* |
X152400Y171850* |
X151673* |
X151309Y171600* |
X151127Y171350* |
X150945Y170850* |
Y170350* |
X151127Y169850* |
X151491Y169100* |
X153309Y166600* |
X150764* |
X147673Y171850D02* |
X149127Y166600D01* |
X147673Y171850D02* |
X146218Y166600D01* |
X148582Y168350D02* |
X146764D01* |
X272782Y273700D02* |
X272600Y273450D01* |
X272782Y273200* |
X272964Y273450* |
X272782Y273700* |
X337500Y203800D02* |
X341000Y203073D01* |
X337500Y202345D02* |
X341000Y203073D01* |
X337500Y202345D02* |
X341000Y201618D01* |
X337500Y200891D02* |
X341000Y201618D01* |
X337500Y199255D02* |
X341000Y198527D01* |
X337500Y197800D02* |
X341000Y198527D01* |
X337500Y197800D02* |
X341000Y197073D01* |
X337500Y196345D02* |
X341000Y197073D01* |
X337500Y194709D02* |
X341000Y193982D01* |
X337500Y193255D02* |
X341000Y193982D01* |
X337500Y193255D02* |
X341000Y192527D01* |
X337500Y191800D02* |
X341000Y192527D01* |
X340500Y189982D02* |
X340750Y190164D01* |
X341000Y189982* |
X340750Y189800* |
X340500Y189982* |
X337500Y188164D02* |
X341000D01* |
X338500D02* |
X337750Y187618D01* |
X337500Y187255* |
Y186709* |
X337750Y186345* |
X338500Y186164* |
X341000* |
X338500D02* |
X337750Y185618D01* |
X337500Y185255* |
Y184709* |
X337750Y184345* |
X338500Y184164* |
X341000* |
X335750Y182527D02* |
X341000D01* |
X337500Y178709D02* |
X341000D01* |
X338250D02* |
X337750Y179073D01* |
X337500Y179436* |
Y179982* |
X337750Y180345* |
X338250Y180709* |
X339000Y180891* |
X339500* |
X340250Y180709* |
X340750Y180345* |
X341000Y179982* |
Y179436* |
X340750Y179073* |
X340250Y178709* |
X335750Y177073D02* |
X341000D01* |
X338250D02* |
X337750Y176709D01* |
X337500Y176345* |
Y175800* |
X337750Y175436* |
X338250Y175073* |
X339000Y174891* |
X339500* |
X340250Y175073* |
X340750Y175436* |
X341000Y175800* |
Y176345* |
X340750Y176709* |
X340250Y177073* |
X340500Y173073D02* |
X340750Y173255D01* |
X341000Y173073* |
X340750Y172891* |
X340500Y173073* |
X338250Y169073D02* |
X337750Y169436D01* |
X337500Y169800* |
Y170345* |
X337750Y170709* |
X338250Y171073* |
X339000Y171255* |
X339500* |
X340250Y171073* |
X340750Y170709* |
X341000Y170345* |
Y169800* |
X340750Y169436* |
X340250Y169073* |
X337500Y165436D02* |
X341000Y167436D01* |
X337500D02* |
Y165436D01* |
X341000Y167436D02* |
Y165436D01* |
X343748Y244679D02* |
Y244808D01* |
G03X343307Y245305I-500J0* |
G01X341116Y247496D02* |
G03X343307Y245305I2482J292D01* |
G01X341116Y247496D02* |
G03X340619Y247938I-497J-58D01* |
G01X337415* |
X336541Y248064D02* |
G03X337415Y247938I874J2974D01* |
G01X336541Y248064D02* |
G03X335900Y247593I-142J-480D01* |
G01X334992Y245455D02* |
G03X335900Y247593I-2192J2192D01* |
G01X334992Y245455D02* |
X333841Y244304D01* |
G03X334116Y243457I354J-354* |
G01X336041Y242475D02* |
G03X334116Y243457I-2475J-2475D01* |
G01X336041Y242475D02* |
X338669Y239846D01* |
G03X339023Y239700I354J354* |
G01X341048* |
G03X341548Y240200I0J500* |
G01Y241788* |
X343382Y244197D02* |
G03X341548Y241788I666J-2409D01* |
G01X343382Y244197D02* |
G03X343748Y244679I-134J482D01* |
G01X341568Y255746D02* |
G03Y256329I-406J292D01* |
G01X341098Y257788D02* |
G03X341568Y256329I2500J-0D01* |
G01X341098Y257788D02* |
Y257814D01* |
G03X340821Y258261I-500J-0* |
G01X340008Y258846D02* |
G03X340821Y258261I2192J2192D01* |
G01X340008Y258846D02* |
X337031Y261822D01* |
G03X336678Y261969I-353J-353* |
G01X335822* |
G03X335469Y261822I0J-500* |
G01X335454Y261808* |
X333262Y260900D02* |
G03X335454Y261808I0J3100D01* |
G01X333262Y260900D02* |
X333143D01* |
G03X332797Y260039I-0J-500* |
G01X332845Y259992D02* |
G03X332797Y260039I-2192J-2192D01* |
G01X332845Y259992D02* |
X338553Y254284D01* |
G03X338906Y254138I353J354* |
G01X340619* |
G03X341116Y254579I-0J500* |
G01X341568Y255746D02* |
G03X341116Y254579I2030J-1458D01* |
G01X319809Y243500D02* |
G03X320162Y244354I-0J500D01* |
G01X319362Y245154* |
G03X319009Y245300I-353J-354* |
G01X310648* |
X308456Y246208D02* |
G03X310648Y245300I2192J2192D01* |
G01X308456Y246208D02* |
X306961Y247704D01* |
G03X306607Y247850I-354J-354* |
G01X303616* |
G03X303129Y247233I-0J-500* |
G01X303198Y246650D02* |
G03X303129Y247233I-2500J0D01* |
G01X303198Y246650D02* |
Y245088D01* |
G03X303299Y244787I500J-0* |
G01X304119Y243699* |
G03X304518Y243500I399J301* |
G01X319809* |
X347213Y276788D02* |
G03X347566Y277641I-0J500D01* |
G01X328791Y296417* |
G03X328438Y296563I-353J-354* |
G01X322827* |
X320342Y298789D02* |
G03X322827Y296563I2485J274D01* |
G01X320342Y298789D02* |
G03X319345Y298746I-497J-54D01* |
G01X316846Y296304D02* |
G03X319345Y298746I-0J2500D01* |
G01X316846Y296303D02* |
X309502D01* |
X309502D02* |
G03X309149Y296157I0J-500D01* |
G01X307846Y294855* |
G03X307700Y294501I354J-354* |
G01Y278351* |
X306675Y275876D02* |
G03X307700Y278351I-2475J2475D01* |
G01X306675Y275876D02* |
X306441Y275643D01* |
G03X306296Y275314I354J-354* |
G01X305275Y273016D02* |
G03X306296Y275314I-2475J2475D01* |
G01X305275Y273016D02* |
X303345Y271086D01* |
G03X303198Y270733I353J-353* |
G01Y269490* |
X303129Y268906D02* |
G03X303198Y269490I-2431J584D01* |
G01X303129Y268906D02* |
G03X303616Y268290I487J-116D01* |
G01X306607* |
G03X306961Y268436I0J500* |
G01X308317Y269792* |
X310509Y270700D02* |
G03X308317Y269792I-0J-3100D01* |
G01X310509Y270700D02* |
X318709D01* |
G03X319062Y270846I-0J500* |
G01X319408Y271192* |
X321600Y272100D02* |
G03X319408Y271192I0J-3100D01* |
G01X321600Y272100D02* |
X324902D01* |
G03X325261Y272252I0J500* |
G01X328606Y273665D02* |
G03X325261Y272252I0J-4665D01* |
G01X328606Y273665D02* |
X329394D01* |
X332751Y272239D02* |
G03X329394Y273665I-3357J-3239D01* |
G01X332751Y272239D02* |
G03X333068Y272088I360J348D01* |
G01X334992Y271192D02* |
G03X333068Y272088I-2192J-2192D01* |
G01X334992Y271192D02* |
X335469Y270715D01* |
G03X335822Y270569I353J354* |
G01X336678* |
G03X337031Y270715I-0J500* |
G01X339546Y273230* |
X340761Y273980D02* |
G03X339546Y273230I977J-2942D01* |
G01X340761Y273980D02* |
G03X341102Y274426I-158J474D01* |
G01X343598Y276788D02* |
G03X341102Y274426I0J-2500D01* |
G01X343598Y276788D02* |
X347213D01* |
X356500Y279814D02* |
Y396000D01* |
G03X356000Y396500I-500J-0* |
G01X124000* |
G03X123500Y396000I0J-500* |
G01Y124000* |
G03X124000Y123500I500J0* |
G01X356000* |
G03X356500Y124000I-0J500* |
G01Y233943* |
G03X355646Y234297I-500J0* |
G01X355075Y233725* |
X352600Y232700D02* |
G03X355075Y233725I0J3500D01* |
G01X352600Y232700D02* |
X337366D01* |
X334891Y233725D02* |
G03X337366Y232700I2475J2475D01* |
G01X334891Y233725D02* |
X332263Y236354D01* |
G03X331909Y236500I-354J-354* |
G01X302848* |
X300374Y237525D02* |
G03X302848Y236500I2474J2475D01* |
G01X300374Y237525D02* |
X299055Y238844D01* |
X298734Y239213D02* |
G03X299055Y238844I2796J2106D01* |
G01X298734Y239213D02* |
X298103Y240051D01* |
G03X297704Y240250I-399J-301* |
G01X295598* |
X294432Y240539D02* |
G03X295598Y240250I1166J2211D01* |
G01X294432Y240539D02* |
G03X293965I-234J-442D01* |
G01X292798Y240250D02* |
G03X293965Y240539I0J2500D01* |
G01X292798Y240250D02* |
X287698D01* |
X286365Y240635D02* |
G03X287698Y240250I1333J2115D01* |
G01X286365Y240635D02* |
G03X285832I-267J-423D01* |
G01X284498Y240250D02* |
G03X285832Y240635I0J2500D01* |
G01X284498Y240250D02* |
X279398D01* |
X276898Y242750D02* |
G03X279398Y240250I2500J0D01* |
G01X276898Y242750D02* |
Y244559D01* |
G03X276752Y244912I-500J-0* |
G01X275986Y245678* |
G03X275633Y245824I-353J-354* |
G01X274289* |
X272097Y246732D02* |
G03X274289Y245824I2192J2192D01* |
G01X272097Y246732D02* |
X271369Y247460D01* |
G03X271082Y247602I-354J-353* |
G01X269303Y248483D02* |
G03X271082Y247602I2192J2192D01* |
G01X269303Y248483D02* |
X269174Y248612D01* |
G03X268820Y248758I-354J-354* |
G01X265911* |
X262795Y253537D02* |
G03X265911Y248758I3116J-1373D01* |
G01X262795Y253537D02* |
G03Y253940I-458J201D01* |
G01Y256686D02* |
G03Y253940I3116J-1373D01* |
G01Y256686D02* |
G03Y257090I-458J202D01* |
G01Y259836D02* |
G03Y257090I3116J-1373D01* |
G01Y259836D02* |
G03Y260239I-458J202D01* |
G01Y262986D02* |
G03Y260239I3116J-1374D01* |
G01Y262986D02* |
G03Y263389I-458J201D01* |
G01Y266135D02* |
G03Y263389I3116J-1373D01* |
G01Y266135D02* |
G03Y266538I-458J202D01* |
G01Y269285D02* |
G03Y266538I3116J-1373D01* |
G01Y269285D02* |
G03Y269688I-458J201D01* |
G01X262702Y272201D02* |
G03X262795Y269688I3209J-1140D01* |
G01X262702Y272201D02* |
G03X261878Y272722I-471J168D01* |
G01X260463Y271308* |
X258271Y270400D02* |
G03X260463Y271308I0J3100D01* |
G01X258271Y270400D02* |
X244100D01* |
G03X243600Y269900I0J-500* |
G01Y249800* |
G03X244100Y249300I500J0* |
G01X258647* |
X260839Y248392D02* |
G03X258647Y249300I-2192J-2192D01* |
G01X260839Y248392D02* |
X261993Y247237D01* |
G03X262158Y247128I354J354* |
G01X263519Y246117D02* |
G03X262158Y247128I-2647J-2142D01* |
G01X263519Y246117D02* |
G03X263956Y245934I389J315D01* |
G01X264198Y245946D02* |
G03X263956Y245934I-0J-2500D01* |
G01X264198Y245946D02* |
X268098D01* |
X270598Y243446D02* |
G03X268098Y245946I-2500J-0D01* |
G01X270598Y243446D02* |
Y237846D01* |
X269372Y235695D02* |
G03X270598Y237846I-1274J2151D01* |
G01X269372Y235695D02* |
G03X269273Y234911I255J-431D01* |
G01X275988Y228196* |
G03X276341Y228050I353J354* |
G01X278150* |
X280650Y225550D02* |
G03X278150Y228050I-2500J0D01* |
G01X280650Y225550D02* |
Y222541D01* |
G03X280796Y222188I500J0* |
G01X282192Y220792* |
X283100Y218600D02* |
G03X282192Y220792I-3100J0D01* |
G01X283100Y218600D02* |
Y191891D01* |
G03X283246Y191538I500J0* |
G01X295992Y178792* |
X296900Y176600D02* |
G03X295992Y178792I-3100J0D01* |
G01X296900Y176600D02* |
Y173406D01* |
X295992Y171214D02* |
G03X296900Y173406I-2192J2192D01* |
G01X295992Y171214D02* |
X295205Y170427D01* |
G03X295059Y170067I354J-353* |
G01X291565Y165484D02* |
G03X295059Y170067I-1171J4516D01* |
G01X291565Y165484D02* |
G03Y164516I125J-484D01* |
G01X294476Y157742D02* |
G03X291565Y164516I-4082J2258D01* |
G01X294476Y157742D02* |
G03Y157258I438J-242D01* |
G01X290394Y150335D02* |
G03X294476Y157258I-0J4665D01* |
G01X290394Y150335D02* |
X289606D01* |
X285524Y157258D02* |
G03X289606Y150335I4082J-2258D01* |
G01X285524Y157258D02* |
G03Y157742I-438J242D01* |
G01X288435Y164516D02* |
G03X285524Y157742I1171J-4516D01* |
G01X288435Y164516D02* |
G03Y165484I-125J484D01* |
G01X285524Y172258D02* |
G03X288435Y165484I4082J-2258D01* |
G01X285524Y172258D02* |
G03Y172742I-438J242D01* |
G01X284941Y175067D02* |
G03X285524Y172742I4665J-67D01* |
G01X284941Y175067D02* |
G03X284795Y175427I-500J7D01* |
G01X282029Y178193* |
G03X281234Y178074I-353J-353* |
G01X277700Y175948D02* |
G03X281234Y178074I-0J4000D01* |
G01X277700Y175948D02* |
X277100D01* |
X273100Y179924D02* |
G03X277100Y175948I4000J24D01* |
G01X273100Y179924D02* |
X273100D01* |
Y179958D02* |
G03Y179924I3100J-10D01* |
G01Y179958D02* |
Y179960D01* |
Y209944* |
G03X272875Y210362I-500J0* |
G01X271750Y212450D02* |
G03X272875Y210362I2500J0D01* |
G01X271750Y212450D02* |
Y215459D01* |
G03X271604Y215812I-500J-0* |
G01X267404Y220012* |
G03X266550Y219659I-354J-353* |
G01Y218750* |
X265642Y216558D02* |
G03X266550Y218750I-2192J2192D01* |
G01X265642Y216558D02* |
X264896Y215812D01* |
G03X264750Y215459I354J-353* |
G01Y212450* |
X263356Y210208D02* |
G03X264750Y212450I-1106J2242D01* |
G01X263356Y210208D02* |
G03X263122Y209966I221J-449D01* |
G01X262492Y209058D02* |
G03X263122Y209966I-2192J2192D01* |
G01X262492Y209058D02* |
X259973Y206539D01* |
G03X259827Y206186I354J-353* |
G01Y196797* |
G03X259973Y196444I500J0* |
G01X264257Y192161* |
X265165Y189969D02* |
G03X264257Y192161I-3100J-0D01* |
G01X265165Y189969D02* |
Y173568D01* |
X264257Y171375D02* |
G03X265165Y173568I-2192J2193D01* |
G01X264257Y171375D02* |
X261989Y169108D01* |
X259797Y168200D02* |
G03X261989Y169108I0J3100D01* |
G01X259797Y168200D02* |
X256591D01* |
G03X256238Y168054I0J-500* |
G01X255992Y167808* |
X254068Y166912D02* |
G03X255992Y167808I-268J3088D01* |
G01X254068Y166912D02* |
G03X253751Y166761I43J-499D01* |
G01X251565Y165484D02* |
G03X253751Y166761I-1171J4516D01* |
G01X251565Y165484D02* |
G03Y164516I125J-484D01* |
G01X254476Y157742D02* |
G03X251565Y164516I-4082J2258D01* |
G01X254476Y157742D02* |
G03Y157258I438J-242D01* |
G01X250394Y150335D02* |
G03X254476Y157258I-0J4665D01* |
G01X250394Y150335D02* |
X249606D01* |
X245524Y157258D02* |
G03X249606Y150335I4082J-2258D01* |
G01X245524Y157258D02* |
G03Y157742I-438J242D01* |
G01X248435Y164516D02* |
G03X245524Y157742I1171J-4516D01* |
G01X248435Y164516D02* |
G03Y165484I-125J484D01* |
G01X245524Y172258D02* |
G03X248435Y165484I4082J-2258D01* |
G01X245524Y172258D02* |
G03Y172742I-438J242D01* |
G01X249606Y179665D02* |
G03X245524Y172742I0J-4665D01* |
G01X249606Y179665D02* |
X250394D01* |
X253739Y178252D02* |
G03X250394Y179665I-3345J-3252D01* |
G01X253739Y178252D02* |
G03X254098Y178100I359J348D01* |
G01X254709* |
G03X255062Y178246I-0J500* |
G01X256554Y179738* |
G03X256700Y180091I-354J353* |
G01Y188109* |
G03X256554Y188462I-500J-0* |
G01X252135Y192881* |
X251316Y194336D02* |
G03X252135Y192881I3011J737D01* |
G01X251316Y194336D02* |
G03X250957Y194701I-486J-118D01* |
G01X249550Y195508D02* |
G03X250957Y194701I2193J2192D01* |
G01X249550Y195508D02* |
X248651Y196408D01* |
X247743Y198600D02* |
G03X248651Y196408I3100J-0D01* |
G01X247743Y198600D02* |
Y199200D01* |
X248650Y201392D02* |
G03X247743Y199200I2193J-2192D01* |
G01X248650Y201392D02* |
X249550Y202292D01* |
X250868Y203074D02* |
G03X249550Y202292I875J-2974D01* |
G01X250868Y203074D02* |
G03X251227Y203554I-141J480D01* |
G01Y209127* |
X252135Y211319D02* |
G03X251227Y209127I2192J-2192D01* |
G01X252135Y211319D02* |
X253154Y212338D01* |
G03X253300Y212691I-354J353* |
G01Y218500* |
X254208Y220692D02* |
G03X253300Y218500I2192J-2192D01* |
G01X254208Y220692D02* |
X255704Y222188D01* |
G03X255850Y222541I-354J353* |
G01Y223400* |
G03X255350Y223900I-500J-0* |
G01X255000* |
X252808Y224808D02* |
G03X255000Y223900I2192J2192D01* |
G01X252808Y224808D02* |
X249078Y228538D01* |
G03X248224Y228185I-354J-353* |
G01Y223424* |
X247316Y221232D02* |
G03X248224Y223424I-2192J2192D01* |
G01X247316Y221232D02* |
X241896Y215812D01* |
G03X241750Y215459I354J-353* |
G01Y212450* |
X240625Y210362D02* |
G03X241750Y212450I-1375J2088D01* |
G01X240625Y210362D02* |
G03X240400Y209944I275J-418D01* |
G01Y192847* |
X239492Y190655D02* |
G03X240400Y192847I-2192J2192D01* |
G01X239492Y190655D02* |
X216645Y167808D01* |
X214453Y166900D02* |
G03X216645Y167808I-0J3100D01* |
G01X214453Y166900D02* |
X214098D01* |
G03X213739Y166748I-0J-500* |
G01X211565Y165484D02* |
G03X213739Y166748I-1171J4516D01* |
G01X211565Y165484D02* |
G03Y164516I125J-484D01* |
G01X214476Y157742D02* |
G03X211565Y164516I-4082J2258D01* |
G01X214476Y157742D02* |
G03Y157258I438J-242D01* |
G01X210394Y150335D02* |
G03X214476Y157258I-0J4665D01* |
G01X210394Y150335D02* |
X209606D01* |
X205524Y157258D02* |
G03X209606Y150335I4082J-2258D01* |
G01X205524Y157258D02* |
G03Y157742I-438J242D01* |
G01X208435Y164516D02* |
G03X205524Y157742I1171J-4516D01* |
G01X208435Y164516D02* |
G03Y165484I-125J484D01* |
G01X205524Y172258D02* |
G03X208435Y165484I4082J-2258D01* |
G01X205524Y172258D02* |
G03Y172742I-438J242D01* |
G01X209606Y179665D02* |
G03X205524Y172742I0J-4665D01* |
G01X209606Y179665D02* |
X210394D01* |
X213739Y178252D02* |
G03X210394Y179665I-3345J-3252D01* |
G01X213739Y178252D02* |
G03X214098Y178100I359J348D01* |
G01X214567* |
G03X214921Y178246I0J500* |
G01X230154Y193479* |
G03X230300Y193833I-354J354* |
G01Y219100* |
X231208Y221292D02* |
G03X230300Y219100I2192J-2192D01* |
G01X231208Y221292D02* |
X232009Y222094D01* |
X232500Y222493D02* |
G03X232009Y222094I1701J-2592D01* |
G01X232500Y222493D02* |
X232624Y222575D01* |
G03X232850Y222993I-274J418* |
G01Y225550* |
X233975Y227638D02* |
G03X232850Y225550I1375J-2088D01* |
G01X233975Y227638D02* |
G03X234200Y228056I-275J418D01* |
G01Y229900* |
X235108Y232092D02* |
G03X234200Y229900I2192J-2192D01* |
G01X235108Y232092D02* |
X238670Y235654D01* |
G03X238382Y236504I-353J354* |
G01X237083Y236954D02* |
G03X238382Y236504I1742J2926D01* |
G01X237083Y236954D02* |
G03X236583Y236960I-256J-430D01* |
G01X235359Y236640D02* |
G03X236583Y236960I-0J2500D01* |
G01X235359Y236640D02* |
X229759D01* |
X227462Y238152D02* |
G03X229759Y236640I2297J988D01* |
G01X227462Y238152D02* |
G03X226649Y238308I-459J-197D01* |
G01X223245Y234904* |
G03X223098Y234550I353J-354* |
G01Y232741* |
X220598Y230241D02* |
G03X223098Y232741I0J2500D01* |
G01X220598Y230241D02* |
X217590D01* |
G03X217236Y230095I-0J-500* |
G01X215190Y228049* |
X212998Y227141D02* |
G03X215190Y228049I0J3100D01* |
G01X212998Y227141D02* |
X208993D01* |
G03X208639Y226995I-0J-500* |
G01X208300Y226655* |
X206108Y225747D02* |
G03X208300Y226655I-0J3100D01* |
G01X206108Y225747D02* |
X205840D01* |
G03X205486Y225601I-0J-500* |
G01X179484Y199599* |
G03X179369Y199070I354J-354* |
G01X179565Y197985D02* |
G03X179369Y199070I-3100J0D01* |
G01X179565Y197985D02* |
Y193212D01* |
X178657Y191020D02* |
G03X179565Y193212I-2192J2192D01* |
G01X178657Y191020D02* |
X176686Y189049D01* |
X174494Y188141D02* |
G03X176686Y189049I-0J3100D01* |
G01X174494Y188141D02* |
X173100D01* |
X171465* |
X169273Y189049D02* |
G03X171465Y188141I2192J2192D01* |
G01X169273Y189049D02* |
X168527Y189795D01* |
G03X168167Y189941I-353J-354* |
G01X163584Y193435D02* |
G03X168167Y189941I4516J1171D01* |
G01X163584Y193435D02* |
G03X162616I-484J-125D01* |
G01X155842Y190524D02* |
G03X162616Y193435I2258J4082D01* |
G01X155842Y190524D02* |
G03X155358I-242J-438D01* |
G01X148435Y194606D02* |
G03X155358Y190524I4665J0D01* |
G01X148435Y194606D02* |
Y195394D01* |
X155358Y199476D02* |
G03X148435Y195394I-2258J-4082D01* |
G01X155358Y199476D02* |
G03X155842I242J438D01* |
G01X162616Y196565D02* |
G03X155842Y199476I-4516J-1171D01* |
G01X162616Y196565D02* |
G03X163584I484J125D01* |
G01X166430Y199750D02* |
G03X163584Y196565I1670J-4356D01* |
G01X166430Y199750D02* |
G03X166611Y200565I-179J467D01* |
G01X165484Y203347D02* |
G03X166611Y200565I4000J0D01* |
G01X165484Y203347D02* |
Y203935D01* |
Y203937* |
Y203971D02* |
G03Y203937I3100J-24D01* |
G01Y203971D02* |
Y203972D01* |
X169484Y207947D02* |
G03X165484Y203972I0J-4000D01* |
G01X169484Y207947D02* |
X175463D01* |
G03X175817Y208094I0J500* |
G01X201162Y233439* |
X203355Y234347D02* |
G03X201162Y233439I-0J-3100D01* |
G01X203355Y234347D02* |
X203622D01* |
G03X203976Y234494I0J500* |
G01X204408Y234926* |
X205221Y235510D02* |
G03X204408Y234926I1379J-2776D01* |
G01X205221Y235510D02* |
G03X205498Y235958I-223J448D01* |
G01Y236641* |
X207998Y239141D02* |
G03X205498Y236641I0J-2500D01* |
G01X207998Y239141D02* |
X211007D01* |
G03X211361Y239288I0J500* |
G01X215505Y243432* |
X217697Y244340D02* |
G03X215505Y243432I-0J-3100D01* |
G01X217697Y244340D02* |
X218259D01* |
G03X218612Y244486I-0J500* |
G01X220572Y246446* |
G03X220219Y247300I-353J354* |
G01X213764* |
X211572Y248208D02* |
G03X213764Y247300I2192J2192D01* |
G01X211572Y248208D02* |
X211455Y248325D01* |
X211056Y248815D02* |
G03X211455Y248325I2591J1702D01* |
G01X211056Y248815D02* |
X210974Y248940D01* |
G03X210556Y249166I-418J-274* |
G01X207998* |
X205911Y250291D02* |
G03X207998Y249166I2087J1375D01* |
G01X205911Y250291D02* |
G03X205493Y250516I-418J-275D01* |
G01X198660* |
G03X198306Y250369I-0J-500* |
G01X176945Y229008* |
X174753Y228100D02* |
G03X176945Y229008I-0J3100D01* |
G01X174753Y228100D02* |
X171506D01* |
X169314Y229008D02* |
G03X171506Y228100I2192J2192D01* |
G01X169314Y229008D02* |
X168527Y229795D01* |
G03X168167Y229941I-353J-354* |
G01X163584Y233435D02* |
G03X168167Y229941I4516J1171D01* |
G01X163584Y233435D02* |
G03X162616I-484J-125D01* |
G01X155842Y230524D02* |
G03X162616Y233435I2258J4082D01* |
G01X155842Y230524D02* |
G03X155358I-242J-438D01* |
G01X148435Y234606D02* |
G03X155358Y230524I4665J0D01* |
G01X148435Y234606D02* |
Y235394D01* |
X155358Y239476D02* |
G03X148435Y235394I-2258J-4082D01* |
G01X155358Y239476D02* |
G03X155842I242J438D01* |
G01X162616Y236565D02* |
G03X155842Y239476I-4516J-1171D01* |
G01X162616Y236565D02* |
G03X163584I484J125D01* |
G01X170358Y239476D02* |
G03X163584Y236565I-2258J-4082D01* |
G01X170358Y239476D02* |
G03X170842I242J438D01* |
G01X173167Y240059D02* |
G03X170842Y239476I-67J-4665D01* |
G01X173167Y240059D02* |
G03X173527Y240205I7J500D01* |
G01X192314Y258992* |
X194506Y259900D02* |
G03X192314Y258992I0J-3100D01* |
G01X194506Y259900D02* |
X206036D01* |
G03X206363Y260778I0J500* |
G01X205911Y261295D02* |
G03X206363Y260778I2087J1375D01* |
G01X205911Y261295D02* |
G03X205493Y261520I-418J-275D01* |
G01X194028* |
X191836Y262428D02* |
G03X194028Y261520I2192J2192D01* |
G01X191836Y262428D02* |
X165908Y288355D01* |
X165000Y290547D02* |
G03X165908Y288355I3100J0D01* |
G01X165000Y290547D02* |
Y290902D01* |
G03X164848Y291261I-500J0* |
G01X163584Y293435D02* |
G03X164848Y291261I4516J1171D01* |
G01X163584Y293435D02* |
G03X162616I-484J-125D01* |
G01X155842Y290524D02* |
G03X162616Y293435I2258J4082D01* |
G01X155842Y290524D02* |
G03X155358I-242J-438D01* |
G01X148435Y294606D02* |
G03X155358Y290524I4665J0D01* |
G01X148435Y294606D02* |
Y295394D01* |
X155358Y299476D02* |
G03X148435Y295394I-2258J-4082D01* |
G01X155358Y299476D02* |
G03X155842I242J438D01* |
G01X162616Y296565D02* |
G03X155842Y299476I-4516J-1171D01* |
G01X162616Y296565D02* |
G03X163584I484J125D01* |
G01X170358Y299476D02* |
G03X163584Y296565I-2258J-4082D01* |
G01X170358Y299476D02* |
G03X170842I242J438D01* |
G01X177765Y295394D02* |
G03X170842Y299476I-4665J-0D01* |
G01X177765Y295394D02* |
Y294606D01* |
X176352Y291261D02* |
G03X177765Y294606I-3252J3345D01* |
G01X176352Y291261D02* |
G03X176200Y290902I348J-359D01* |
G01Y290433* |
G03X176346Y290079I500J-0* |
G01X194779Y271646* |
G03X195133Y271500I354J354* |
G01X214268* |
X216460Y270592D02* |
G03X214268Y271500I-2192J-2192D01* |
G01X216460Y270592D02* |
X217142Y269910D01* |
X217541Y269420D02* |
G03X217142Y269910I-2591J-1702D01* |
G01X217541Y269420D02* |
X217623Y269295D01* |
G03X218041Y269070I418J275* |
G01X220598* |
X222686Y267945D02* |
G03X220598Y269070I-2088J-1375D01* |
G01X222686Y267945D02* |
G03X223104Y267720I418J275D01* |
G01X223759* |
G03X223898Y267739I0J500* |
G01X223987Y267764D02* |
G03X223898Y267739I775J-3002D01* |
G01X223987Y267764D02* |
G03X224216Y268601I-124J484D01* |
G01X220137Y272681* |
G03X219915Y272810I-354J-354* |
G01X218540Y273608D02* |
G03X219915Y272810I2192J2192D01* |
G01X218540Y273608D02* |
X211361Y280787D01* |
G03X211007Y280933I-354J-354* |
G01X207998* |
X205756Y282328D02* |
G03X207998Y280933I2242J1105D01* |
G01X205756Y282328D02* |
G03X205515Y282562I-448J-222D01* |
G01X204606Y283191D02* |
G03X205515Y282562I2192J2192D01* |
G01X204606Y283191D02* |
X200431Y287366D01* |
X199523Y289558D02* |
G03X200431Y287366I3100J0D01* |
G01X199523Y289558D02* |
Y290109D01* |
G03X199377Y290463I-500J0* |
G01X167208Y322632* |
X166300Y324824D02* |
G03X167208Y322632I3100J-0D01* |
G01X166300Y324824D02* |
Y328409D01* |
G03X166154Y328762I-500J-0* |
G01X165908Y329008* |
X165012Y330932D02* |
G03X165908Y329008I3088J268D01* |
G01X165012Y330932D02* |
G03X164861Y331249I-499J-43D01* |
G01X163584Y333435D02* |
G03X164861Y331249I4516J1171D01* |
G01X163584Y333435D02* |
G03X162616I-484J-125D01* |
G01X155842Y330524D02* |
G03X162616Y333435I2258J4082D01* |
G01X155842Y330524D02* |
G03X155358I-242J-438D01* |
G01X148435Y334606D02* |
G03X155358Y330524I4665J0D01* |
G01X148435Y334606D02* |
Y335394D01* |
X155358Y339476D02* |
G03X148435Y335394I-2258J-4082D01* |
G01X155358Y339476D02* |
G03X155842I242J438D01* |
G01X162616Y336565D02* |
G03X155842Y339476I-4516J-1171D01* |
G01X162616Y336565D02* |
G03X163584I484J125D01* |
G01X170358Y339476D02* |
G03X163584Y336565I-2258J-4082D01* |
G01X170358Y339476D02* |
G03X170842I242J438D01* |
G01X177765Y335394D02* |
G03X170842Y339476I-4665J-0D01* |
G01X177765Y335394D02* |
Y334606D01* |
X176352Y331261D02* |
G03X177765Y334606I-3252J3345D01* |
G01X176352Y331261D02* |
G03X176200Y330902I348J-359D01* |
G01Y325591* |
G03X176346Y325238I500J0* |
G01X209138Y292446* |
G03X209491Y292300I353J354* |
G01X213632* |
X215824Y291392D02* |
G03X213632Y292300I-2192J-2192D01* |
G01X215824Y291392D02* |
X217236Y289980D01* |
G03X217590Y289833I354J353* |
G01X220598* |
X223098Y287333D02* |
G03X220598Y289833I-2500J0D01* |
G01X223098Y287333D02* |
Y285525D01* |
G03X223245Y285171I500J-0* |
G01X226247Y282168* |
G03X227002Y282223I354J354* |
G01X229005Y283227D02* |
G03X227002Y282223I-0J-2500D01* |
G01X229005Y283227D02* |
X234605D01* |
X236032Y282779D02* |
G03X234605Y283227I-1427J-2052D01* |
G01X236032Y282779D02* |
G03X236639Y282806I286J411D01* |
G01X238759Y283600D02* |
G03X236639Y282806I66J-3405D01* |
G01X238759Y283600D02* |
G03X239249Y284100I-10J500D01* |
G01Y289745* |
G03X239103Y290098I-500J-0* |
G01X238481Y290720* |
G03X237838Y290774I-353J-354* |
G01X236391Y290313D02* |
G03X237838Y290774I0J2500D01* |
G01X236391Y290313D02* |
X232491D01* |
X229991Y292813D02* |
G03X232491Y290313I2500J-0D01* |
G01X229991Y292813D02* |
Y295370D01* |
G03X229766Y295788I-500J0* |
G01X229641Y295870* |
X229151Y296269D02* |
G03X229641Y295870I2192J2192D01* |
G01X229151Y296269D02* |
X228408Y297012D01* |
X227500Y299204D02* |
G03X228408Y297012I3100J0D01* |
G01X227500Y299204D02* |
Y317456D01* |
G03X227354Y317810I-500J0* |
G01X204008Y341155* |
X203100Y343347D02* |
G03X204008Y341155I3100J0D01* |
G01X203100Y343347D02* |
Y346594D01* |
X204008Y348786D02* |
G03X203100Y346594I2192J-2192D01* |
G01X204008Y348786D02* |
X204795Y349573D01* |
G03X204941Y349933I-354J353* |
G01X208435Y354516D02* |
G03X204941Y349933I1171J-4516D01* |
G01X208435Y354516D02* |
G03Y355484I-125J484D01* |
G01X205524Y362258D02* |
G03X208435Y355484I4082J-2258D01* |
G01X205524Y362258D02* |
G03Y362742I-438J242D01* |
G01X209606Y369665D02* |
G03X205524Y362742I0J-4665D01* |
G01X209606Y369665D02* |
X210394D01* |
X214476Y362742D02* |
G03X210394Y369665I-4082J2258D01* |
G01X214476Y362742D02* |
G03Y362258I438J-242D01* |
G01X211565Y355484D02* |
G03X214476Y362258I-1171J4516D01* |
G01X211565Y355484D02* |
G03Y354516I125J-484D01* |
G01X214476Y347742D02* |
G03X211565Y354516I-4082J2258D01* |
G01X214476Y347742D02* |
G03Y347258I438J-242D01* |
G01X215059Y344933D02* |
G03X214476Y347258I-4665J67D01* |
G01X215059Y344933D02* |
G03X215205Y344573I500J-7D01* |
G01X233846Y325931* |
G03X234700Y326285I354J354* |
G01Y342253* |
X235608Y344445D02* |
G03X234700Y342253I2192J-2192D01* |
G01X235608Y344445D02* |
X243355Y352192D01* |
X245547Y353100D02* |
G03X243355Y352192I0J-3100D01* |
G01X245547Y353100D02* |
X245902D01* |
G03X246261Y353252I0J500* |
G01X248435Y354516D02* |
G03X246261Y353252I1171J-4516D01* |
G01X248435Y354516D02* |
G03Y355484I-125J484D01* |
G01X245524Y362258D02* |
G03X248435Y355484I4082J-2258D01* |
G01X245524Y362258D02* |
G03Y362742I-438J242D01* |
G01X249606Y369665D02* |
G03X245524Y362742I0J-4665D01* |
G01X249606Y369665D02* |
X250394D01* |
X254476Y362742D02* |
G03X250394Y369665I-4082J2258D01* |
G01X254476Y362742D02* |
G03Y362258I438J-242D01* |
G01X251565Y355484D02* |
G03X254476Y362258I-1171J4516D01* |
G01X251565Y355484D02* |
G03Y354516I125J-484D01* |
G01X254476Y347742D02* |
G03X251565Y354516I-4082J2258D01* |
G01X254476Y347742D02* |
G03Y347258I438J-242D01* |
G01X250394Y340335D02* |
G03X254476Y347258I-0J4665D01* |
G01X250394Y340335D02* |
X249606D01* |
X246261Y341748D02* |
G03X249606Y340335I3345J3252D01* |
G01X246261Y341748D02* |
G03X245902Y341900I-359J-348D01* |
G01X245291* |
G03X244938Y341754I0J-500* |
G01X243446Y340262* |
G03X243300Y339909I354J-353* |
G01Y313142* |
G03X243446Y312789I500J0* |
G01X247960Y308275* |
G03X248314Y308129I354J354* |
G01X248314D02* |
X250123D01* |
X252623Y305628D02* |
G03X250123Y308129I-2500J0D01* |
G01X252623Y305628D02* |
Y302620D01* |
G03X252769Y302266I500J-0* |
G01X253615Y301420* |
X254523Y299228D02* |
G03X253615Y301420I-3100J-0D01* |
G01X254523Y299228D02* |
Y292784D01* |
G03X255377Y292430I500J-0* |
G01X257205Y294258* |
G03X257351Y294611I-354J353* |
G01Y295345* |
X258259Y297537D02* |
G03X257351Y295345I2192J-2192D01* |
G01X258259Y297537D02* |
X262575Y301854D01* |
G03X262722Y302207I-353J353* |
G01Y305216* |
X263847Y307304D02* |
G03X262722Y305216I1375J-2088D01* |
G01X263847Y307304D02* |
G03X264072Y307721I-275J417D01* |
G01Y328230* |
X264980Y330422D02* |
G03X264072Y328230I2192J-2192D01* |
G01X264980Y330422D02* |
X265954Y331396D01* |
G03X266100Y331750I-354J354* |
G01Y333653* |
X267008Y335845D02* |
G03X266100Y333653I2192J-2192D01* |
G01X267008Y335845D02* |
X280755Y349592D01* |
X282947Y350500D02* |
G03X280755Y349592I0J-3100D01* |
G01X282947Y350500D02* |
X284539D01* |
G03X285029Y350903I-0J500* |
G01X288435Y354516D02* |
G03X285029Y350903I1171J-4516D01* |
G01X288435Y354516D02* |
G03Y355484I-125J484D01* |
G01X285524Y362258D02* |
G03X288435Y355484I4082J-2258D01* |
G01X285524Y362258D02* |
G03Y362742I-438J242D01* |
G01X289606Y369665D02* |
G03X285524Y362742I0J-4665D01* |
G01X289606Y369665D02* |
X290394D01* |
X294476Y362742D02* |
G03X290394Y369665I-4082J2258D01* |
G01X294476Y362742D02* |
G03Y362258I438J-242D01* |
G01X291565Y355484D02* |
G03X294476Y362258I-1171J4516D01* |
G01X291565Y355484D02* |
G03Y354516I125J-484D01* |
G01X294476Y347742D02* |
G03X291565Y354516I-4082J2258D01* |
G01X294476Y347742D02* |
G03Y347258I438J-242D01* |
G01X290394Y340335D02* |
G03X294476Y347258I-0J4665D01* |
G01X290394Y340335D02* |
X289606D01* |
X286261Y341748D02* |
G03X289606Y340335I3345J3252D01* |
G01X286261Y341748D02* |
G03X285902Y341900I-359J-348D01* |
G01X285291* |
G03X284938Y341754I0J-500* |
G01X274646Y331462* |
G03X274500Y331109I354J-353* |
G01Y299650* |
X273592Y297458D02* |
G03X274500Y299650I-2192J2192D01* |
G01X273592Y297458D02* |
X271768Y295634D01* |
G03X271622Y295280I354J-354* |
G01Y292272* |
X269122Y289772D02* |
G03X271622Y292272I-0J2500D01* |
G01X269122Y289772D02* |
X267313D01* |
G03X266959Y289625I-0J-500* |
G01X261628Y284293* |
G03X261839Y283460I353J-353* |
G01X263374Y282505D02* |
G03X261839Y283460I-2502J-2310D01* |
G01X263374Y282505D02* |
G03X263910Y282374I367J340D01* |
G01X264751Y282520D02* |
G03X263910Y282374I0J-2500D01* |
G01X264751Y282520D02* |
X270351D01* |
X271356Y282309D02* |
G03X270351Y282520I-1005J-2289D01* |
G01X271356Y282309D02* |
G03X271814Y282338I201J458D01* |
G01X273100Y282694D02* |
G03X271814Y282338I0J-2500D01* |
G01X273100Y282694D02* |
X276609D01* |
G03X276963Y282840I0J500* |
G01X278019Y283897* |
X280212Y284805D02* |
G03X278019Y283897I-0J-3100D01* |
G01X280212Y284805D02* |
X282599D01* |
G03X282953Y284952I0J500* |
G01X283230Y285228* |
G03X283376Y285582I-354J354* |
G01Y289991* |
X285876Y292491D02* |
G03X283376Y289991I0J-2500D01* |
G01X285876Y292491D02* |
X289720D01* |
G03X290073Y292637I-0J500* |
G01X294525Y297089* |
X297000Y298114D02* |
G03X294525Y297089I0J-3500D01* |
G01X297000Y298114D02* |
X301000D01* |
G03X301353Y298261I-0J500* |
G01X301725Y298633* |
X304199Y301107* |
G03X304346Y301460I-353J353* |
G01Y307304* |
X306846Y309804D02* |
G03X304346Y307304I-0J-2500D01* |
G01X306846Y309804D02* |
X316846D01* |
X319346Y307304D02* |
G03X316846Y309804I-2500J-0D01* |
G01X319346Y307304D02* |
Y307273D01* |
G03X320342Y307217I500J-0* |
G01X322827Y309437D02* |
G03X320342Y307217I-0J-2500D01* |
G01X322827Y309437D02* |
X322961D01* |
G03X323461Y309937I-0J500* |
G01Y324823* |
X324486Y327298D02* |
G03X323461Y324823I2475J-2475D01* |
G01X324486Y327298D02* |
X327830Y330641D01* |
G03X327976Y330995I-354J354* |
G01Y334838* |
X330476Y337338D02* |
G03X327976Y334838I0J-2500D01* |
G01X330476Y337338D02* |
X336976D01* |
X338434Y336869D02* |
G03X336976Y337338I-1458J-2031D01* |
G01X338434Y336869D02* |
G03X339018I292J406D01* |
G01X340476Y337338D02* |
G03X339018Y336869I0J-2500D01* |
G01X340476Y337338D02* |
X346976D01* |
X349476Y334838D02* |
G03X346976Y337338I-2500J0D01* |
G01X349476Y334838D02* |
Y328338D01* |
X346976Y325838D02* |
G03X349476Y328338I0J2500D01* |
G01X346976Y325838D02* |
X340476D01* |
X339018Y326307D02* |
G03X340476Y325838I1458J2031D01* |
G01X339018Y326307D02* |
G03X338434I-292J-406D01* |
G01X336976Y325838D02* |
G03X338434Y326307I0J2500D01* |
G01X336976Y325838D02* |
X333133D01* |
G03X332779Y325692I-0J-500* |
G01X330607Y323519* |
G03X330461Y323166I354J-353* |
G01Y309937* |
G03X330961Y309437I500J0* |
G01X331094* |
X333595Y306937D02* |
G03X331094Y309437I-2501J0D01* |
G01X333595Y306937D02* |
Y301720D01* |
G03X333741Y301366I500J-0* |
G01X355646Y279461* |
G03X356500Y279814I354J353* |
G01X344350Y204300D02* |
Y164209D01* |
X343250Y163109D02* |
G03X344350Y164209I0J1100D01* |
G01X343250Y163109D02* |
X334250D01* |
X333150Y164209D02* |
G03X334250Y163109I1100J0D01* |
G01X333150Y164209D02* |
Y204300D01* |
X334250Y205400D02* |
G03X333150Y204300I0J-1100D01* |
G01X334250Y205400D02* |
X343250D01* |
X344350Y204300D02* |
G03X343250Y205400I-1100J0D01* |
G01X184000Y173350D02* |
Y164350D01* |
X183725Y163622D02* |
G03X184000Y164350I-825J728D01* |
G01X183725Y163622D02* |
G03X183600Y163292I375J-330D01* |
G01Y155350* |
X182500Y154250D02* |
G03X183600Y155350I0J1100D01* |
G01X182500Y154250D02* |
X144227D01* |
X143127Y155350D02* |
G03X144227Y154250I1100J0D01* |
G01X143127Y155350D02* |
Y164350D01* |
X143652Y165288D02* |
G03X143127Y164350I575J-938D01* |
G01X143652Y165288D02* |
G03X143891Y165714I-261J426D01* |
G01Y173350* |
X144991Y174450D02* |
G03X143891Y173350I-0J-1100D01* |
G01X144991Y174450D02* |
X182900D01* |
X184000Y173350D02* |
G03X182900Y174450I-1100J0D01* |
G01X123500Y395899D02* |
X356500D01* |
X123500Y394999D02* |
X356500D01* |
X123500Y394099D02* |
X356500D01* |
X123500Y393199D02* |
X356500D01* |
X123500Y392299D02* |
X356500D01* |
X123500Y391399D02* |
X356500D01* |
X123500Y390499D02* |
X356500D01* |
X123500Y389599D02* |
X356500D01* |
X123500Y388699D02* |
X356500D01* |
X123500Y387799D02* |
X356500D01* |
X123500Y386899D02* |
X356500D01* |
X123500Y385999D02* |
X356500D01* |
X123500Y385099D02* |
X356500D01* |
X123500Y384199D02* |
X356500D01* |
X123500Y383299D02* |
X356500D01* |
X123500Y382399D02* |
X356500D01* |
X123500Y381499D02* |
X356500D01* |
X123500Y380599D02* |
X356500D01* |
X123500Y379699D02* |
X356500D01* |
X123500Y378799D02* |
X356500D01* |
X123500Y377899D02* |
X356500D01* |
X123500Y376999D02* |
X356500D01* |
X123500Y376099D02* |
X356500D01* |
X123500Y375199D02* |
X356500D01* |
X123500Y374299D02* |
X356500D01* |
X123500Y373399D02* |
X356500D01* |
X123500Y372499D02* |
X356500D01* |
X123500Y371599D02* |
X356500D01* |
X123500Y370699D02* |
X356500D01* |
X123500Y369799D02* |
X356500D01* |
X292956Y368899D02* |
X356500D01* |
X293968Y367999D02* |
X356500D01* |
X294560Y367099D02* |
X356500D01* |
X294902Y366199D02* |
X356500D01* |
X295050Y365299D02* |
X356500D01* |
X295020Y364399D02* |
X356500D01* |
X294811Y363499D02* |
X356500D01* |
X294424Y362599D02* |
X356500D01* |
X294739Y361699D02* |
X356500D01* |
X294990Y360799D02* |
X356500D01* |
X295058Y359899D02* |
X356500D01* |
X294950Y358999D02* |
X356500D01* |
X294654Y358099D02* |
X356500D01* |
X294124Y357199D02* |
X356500D01* |
X293234Y356299D02* |
X356500D01* |
X291389Y355399D02* |
X356500D01* |
X291630Y354499D02* |
X356500D01* |
X293363Y353599D02* |
X356500D01* |
X294199Y352699D02* |
X356500D01* |
X294698Y351799D02* |
X356500D01* |
X294972Y350899D02* |
X356500D01* |
X295059Y349999D02* |
X356500D01* |
X294971Y349099D02* |
X356500D01* |
X294697Y348199D02* |
X356500D01* |
X294456Y347299D02* |
X356500D01* |
X294844Y346399D02* |
X356500D01* |
X295032Y345499D02* |
X356500D01* |
X295042Y344599D02* |
X356500D01* |
X294874Y343699D02* |
X356500D01* |
X294507Y342799D02* |
X356500D01* |
X293879Y341899D02* |
X356500D01* |
X292793Y340999D02* |
X356500D01* |
X283283Y340099D02* |
X356500D01* |
X282383Y339199D02* |
X356500D01* |
X281483Y338299D02* |
X356500D01* |
X280583Y337399D02* |
X356500D01* |
X348845Y336499D02* |
X356500D01* |
X349357Y335599D02* |
X356500D01* |
X349476Y334699D02* |
X356500D01* |
X349476Y333799D02* |
X356500D01* |
X349476Y332899D02* |
X356500D01* |
X349476Y331999D02* |
X356500D01* |
X349476Y331099D02* |
X356500D01* |
X349476Y330199D02* |
X356500D01* |
X349476Y329299D02* |
X356500D01* |
X349476Y328399D02* |
X356500D01* |
X349331Y327499D02* |
X356500D01* |
X348772Y326599D02* |
X356500D01* |
X332787Y325699D02* |
X356500D01* |
X331886Y324799D02* |
X356500D01* |
X330986Y323899D02* |
X356500D01* |
X330461Y322999D02* |
X356500D01* |
X330461Y322099D02* |
X356500D01* |
X330461Y321199D02* |
X356500D01* |
X330461Y320299D02* |
X356500D01* |
X330461Y319399D02* |
X356500D01* |
X330461Y318499D02* |
X356500D01* |
X330461Y317599D02* |
X356500D01* |
X330461Y316699D02* |
X356500D01* |
X330461Y315799D02* |
X356500D01* |
X330461Y314899D02* |
X356500D01* |
X330461Y313999D02* |
X356500D01* |
X330461Y313099D02* |
X356500D01* |
X330461Y312199D02* |
X356500D01* |
X330461Y311299D02* |
X356500D01* |
X330461Y310399D02* |
X356500D01* |
X330720Y309499D02* |
X356500D01* |
X332962Y308599D02* |
X356500D01* |
X333476Y307699D02* |
X356500D01* |
X333595Y306799D02* |
X356500D01* |
X333595Y305899D02* |
X356500D01* |
X333595Y304999D02* |
X356500D01* |
X333595Y304099D02* |
X356500D01* |
X333595Y303199D02* |
X356500D01* |
X333595Y302299D02* |
X356500D01* |
X333711Y301399D02* |
X356500D01* |
X334609Y300499D02* |
X356500D01* |
X335509Y299599D02* |
X356500D01* |
X336409Y298699D02* |
X356500D01* |
X337309Y297799D02* |
X356500D01* |
X338209Y296899D02* |
X356500D01* |
X339109Y295999D02* |
X356500D01* |
X340009Y295099D02* |
X356500D01* |
X340909Y294199D02* |
X356500D01* |
X341809Y293299D02* |
X356500D01* |
X342709Y292399D02* |
X356500D01* |
X343609Y291499D02* |
X356500D01* |
X344509Y290599D02* |
X356500D01* |
X345409Y289699D02* |
X356500D01* |
X346309Y288799D02* |
X356500D01* |
X347209Y287899D02* |
X356500D01* |
X348109Y286999D02* |
X356500D01* |
X349009Y286099D02* |
X356500D01* |
X349909Y285199D02* |
X356500D01* |
X350809Y284299D02* |
X356500D01* |
X351709Y283399D02* |
X356500D01* |
X352609Y282499D02* |
X356500D01* |
X353509Y281599D02* |
X356500D01* |
X354409Y280699D02* |
X356500D01* |
X355248Y233899D02* |
X356500D01* |
X354015Y232999D02* |
X356500D01* |
X272085Y232099D02* |
X356500D01* |
X272985Y231199D02* |
X356500D01* |
X273885Y230299D02* |
X356500D01* |
X274785Y229399D02* |
X356500D01* |
X275685Y228499D02* |
X356500D01* |
X279583Y227599D02* |
X356500D01* |
X280371Y226699D02* |
X356500D01* |
X280638Y225799D02* |
X356500D01* |
X280650Y224899D02* |
X356500D01* |
X280650Y223999D02* |
X356500D01* |
X280650Y223099D02* |
X356500D01* |
X280786Y222199D02* |
X356500D01* |
X281685Y221299D02* |
X356500D01* |
X282525Y220399D02* |
X356500D01* |
X282967Y219499D02* |
X356500D01* |
X283100Y218599D02* |
X356500D01* |
X283100Y217699D02* |
X356500D01* |
X283100Y216799D02* |
X356500D01* |
X283100Y215899D02* |
X356500D01* |
X283100Y214999D02* |
X356500D01* |
X283100Y214099D02* |
X356500D01* |
X283100Y213199D02* |
X356500D01* |
X283100Y212299D02* |
X356500D01* |
X283100Y211399D02* |
X356500D01* |
X283100Y210499D02* |
X356500D01* |
X283100Y209599D02* |
X356500D01* |
X283100Y208699D02* |
X356500D01* |
X283100Y207799D02* |
X356500D01* |
X283100Y206899D02* |
X356500D01* |
X283100Y205999D02* |
X356500D01* |
X344006Y205099D02* |
X356500D01* |
X344350Y204199D02* |
X356500D01* |
X344350Y203299D02* |
X356500D01* |
X344350Y202399D02* |
X356500D01* |
X344350Y201499D02* |
X356500D01* |
X344350Y200599D02* |
X356500D01* |
X344350Y199699D02* |
X356500D01* |
X344350Y198799D02* |
X356500D01* |
X344350Y197899D02* |
X356500D01* |
X344350Y196999D02* |
X356500D01* |
X344350Y196099D02* |
X356500D01* |
X344350Y195199D02* |
X356500D01* |
X344350Y194299D02* |
X356500D01* |
X344350Y193399D02* |
X356500D01* |
X344350Y192499D02* |
X356500D01* |
X344350Y191599D02* |
X356500D01* |
X344350Y190699D02* |
X356500D01* |
X344350Y189799D02* |
X356500D01* |
X344350Y188899D02* |
X356500D01* |
X344350Y187999D02* |
X356500D01* |
X344350Y187099D02* |
X356500D01* |
X344350Y186199D02* |
X356500D01* |
X344350Y185299D02* |
X356500D01* |
X344350Y184399D02* |
X356500D01* |
X344350Y183499D02* |
X356500D01* |
X344350Y182599D02* |
X356500D01* |
X344350Y181699D02* |
X356500D01* |
X344350Y180799D02* |
X356500D01* |
X344350Y179899D02* |
X356500D01* |
X344350Y178999D02* |
X356500D01* |
X344350Y178099D02* |
X356500D01* |
X344350Y177199D02* |
X356500D01* |
X344350Y176299D02* |
X356500D01* |
X344350Y175399D02* |
X356500D01* |
X344350Y174499D02* |
X356500D01* |
X344350Y173599D02* |
X356500D01* |
X344350Y172699D02* |
X356500D01* |
X344350Y171799D02* |
X356500D01* |
X344350Y170899D02* |
X356500D01* |
X344350Y169999D02* |
X356500D01* |
X344350Y169099D02* |
X356500D01* |
X344350Y168199D02* |
X356500D01* |
X344350Y167299D02* |
X356500D01* |
X344350Y166399D02* |
X356500D01* |
X344350Y165499D02* |
X356500D01* |
X344350Y164599D02* |
X356500D01* |
X344224Y163699D02* |
X356500D01* |
X294126Y162799D02* |
X356500D01* |
X294655Y161899D02* |
X356500D01* |
X294951Y160999D02* |
X356500D01* |
X295058Y160099D02* |
X356500D01* |
X294990Y159199D02* |
X356500D01* |
X294738Y158299D02* |
X356500D01* |
X294424Y157399D02* |
X356500D01* |
X294812Y156499D02* |
X356500D01* |
X295021Y155599D02* |
X356500D01* |
X295049Y154699D02* |
X356500D01* |
X294902Y153799D02* |
X356500D01* |
X294559Y152899D02* |
X356500D01* |
X293966Y151999D02* |
X356500D01* |
X292952Y151099D02* |
X356500D01* |
X123500Y150199D02* |
X356500D01* |
X123500Y149299D02* |
X356500D01* |
X123500Y148399D02* |
X356500D01* |
X123500Y147499D02* |
X356500D01* |
X123500Y146599D02* |
X356500D01* |
X123500Y145699D02* |
X356500D01* |
X123500Y144799D02* |
X356500D01* |
X123500Y143899D02* |
X356500D01* |
X123500Y142999D02* |
X356500D01* |
X123500Y142099D02* |
X356500D01* |
X123500Y141199D02* |
X356500D01* |
X123500Y140299D02* |
X356500D01* |
X123500Y139399D02* |
X356500D01* |
X123500Y138499D02* |
X356500D01* |
X123500Y137599D02* |
X356500D01* |
X123500Y136699D02* |
X356500D01* |
X123500Y135799D02* |
X356500D01* |
X123500Y134899D02* |
X356500D01* |
X123500Y133999D02* |
X356500D01* |
X123500Y133099D02* |
X356500D01* |
X123500Y132199D02* |
X356500D01* |
X123500Y131299D02* |
X356500D01* |
X123500Y130399D02* |
X356500D01* |
X123500Y129499D02* |
X356500D01* |
X123500Y128599D02* |
X356500D01* |
X123500Y127699D02* |
X356500D01* |
X123500Y126799D02* |
X356500D01* |
X123500Y125899D02* |
X356500D01* |
X123500Y124999D02* |
X356500D01* |
X123500Y124099D02* |
X356500D01* |
X355309Y279799D02* |
X356500D01* |
X271185Y232999D02* |
X335951D01* |
X270285Y233899D02* |
X334718D01* |
X269385Y234799D02* |
X333818D01* |
X283100Y205099D02* |
X333494D01* |
X293237Y163699D02* |
X333276D01* |
X283100Y204199D02* |
X333150D01* |
X283100Y203299D02* |
X333150D01* |
X283100Y202399D02* |
X333150D01* |
X283100Y201499D02* |
X333150D01* |
X283100Y200599D02* |
X333150D01* |
X283100Y199699D02* |
X333150D01* |
X283100Y198799D02* |
X333150D01* |
X283100Y197899D02* |
X333150D01* |
X283100Y196999D02* |
X333150D01* |
X283100Y196099D02* |
X333150D01* |
X283100Y195199D02* |
X333150D01* |
X283100Y194299D02* |
X333150D01* |
X283100Y193399D02* |
X333150D01* |
X283100Y192499D02* |
X333150D01* |
X283194Y191599D02* |
X333150D01* |
X284085Y190699D02* |
X333150D01* |
X284985Y189799D02* |
X333150D01* |
X285885Y188899D02* |
X333150D01* |
X286785Y187999D02* |
X333150D01* |
X287685Y187099D02* |
X333150D01* |
X288585Y186199D02* |
X333150D01* |
X289485Y185299D02* |
X333150D01* |
X290385Y184399D02* |
X333150D01* |
X291285Y183499D02* |
X333150D01* |
X292185Y182599D02* |
X333150D01* |
X293085Y181699D02* |
X333150D01* |
X293985Y180799D02* |
X333150D01* |
X294885Y179899D02* |
X333150D01* |
X295785Y178999D02* |
X333150D01* |
X296514Y178099D02* |
X333150D01* |
X296842Y177199D02* |
X333150D01* |
X296900Y176299D02* |
X333150D01* |
X296900Y175399D02* |
X333150D01* |
X296900Y174499D02* |
X333150D01* |
X296900Y173599D02* |
X333150D01* |
X296818Y172699D02* |
X333150D01* |
X296451Y171799D02* |
X333150D01* |
X295676Y170899D02* |
X333150D01* |
X295059Y169999D02* |
X333150D01* |
X294971Y169099D02* |
X333150D01* |
X294697Y168199D02* |
X333150D01* |
X294197Y167299D02* |
X333150D01* |
X293360Y166399D02* |
X333150D01* |
X291620Y165499D02* |
X333150D01* |
X291392Y164599D02* |
X333150D01* |
X269379Y235699D02* |
X332918D01* |
X279683Y336499D02* |
X328607D01* |
X278783Y335599D02* |
X328095D01* |
X277883Y334699D02* |
X327976D01* |
X276983Y333799D02* |
X327976D01* |
X276083Y332899D02* |
X327976D01* |
X275183Y331999D02* |
X327976D01* |
X274500Y331099D02* |
X327976D01* |
X274500Y330199D02* |
X327387D01* |
X274500Y329299D02* |
X326487D01* |
X274500Y328399D02* |
X325587D01* |
X274500Y327499D02* |
X324687D01* |
X274500Y326599D02* |
X323945D01* |
X274500Y325699D02* |
X323572D01* |
X274500Y324799D02* |
X323461D01* |
X274500Y323899D02* |
X323461D01* |
X274500Y322999D02* |
X323461D01* |
X274500Y322099D02* |
X323461D01* |
X274500Y321199D02* |
X323461D01* |
X274500Y320299D02* |
X323461D01* |
X274500Y319399D02* |
X323461D01* |
X274500Y318499D02* |
X323461D01* |
X274500Y317599D02* |
X323461D01* |
X274500Y316699D02* |
X323461D01* |
X274500Y315799D02* |
X323461D01* |
X274500Y314899D02* |
X323461D01* |
X274500Y313999D02* |
X323461D01* |
X274500Y313099D02* |
X323461D01* |
X274500Y312199D02* |
X323461D01* |
X274500Y311299D02* |
X323461D01* |
X274500Y310399D02* |
X323461D01* |
X318042Y309499D02* |
X323201D01* |
X318984Y308599D02* |
X320959D01* |
X319314Y307699D02* |
X320446D01* |
X319686Y306799D02* |
X320005D01* |
X274500Y309499D02* |
X305649D01* |
X274500Y308599D02* |
X304707D01* |
X274500Y307699D02* |
X304377D01* |
X274500Y306799D02* |
X304346D01* |
X274500Y305899D02* |
X304346D01* |
X274500Y304999D02* |
X304346D01* |
X274500Y304099D02* |
X304346D01* |
X274500Y303199D02* |
X304346D01* |
X274500Y302299D02* |
X304346D01* |
X274500Y301399D02* |
X304342D01* |
X274500Y300499D02* |
X303591D01* |
X274500Y299599D02* |
X302691D01* |
X270265Y236599D02* |
X302023D01* |
X274350Y298699D02* |
X301791D01* |
X270574Y237499D02* |
X300400D01* |
X270598Y238399D02* |
X299500D01* |
X270598Y239299D02* |
X298669D01* |
X270598Y240199D02* |
X297924D01* |
X273887Y297799D02* |
X295547D01* |
X273033Y296899D02* |
X294334D01* |
X272133Y295999D02* |
X293434D01* |
X271622Y295099D02* |
X292534D01* |
X271622Y294199D02* |
X291634D01* |
X271622Y293299D02* |
X290734D01* |
X251389Y355399D02* |
X288611D01* |
X251392Y164599D02* |
X288608D01* |
X251620Y165499D02* |
X288380D01* |
X251630Y354499D02* |
X288370D01* |
X284183Y340999D02* |
X287207D01* |
X252952Y151099D02* |
X287048D01* |
X252956Y368899D02* |
X287044D01* |
X253234Y356299D02* |
X286766D01* |
X253237Y163699D02* |
X286763D01* |
X253360Y166399D02* |
X286640D01* |
X253363Y353599D02* |
X286637D01* |
X253966Y151999D02* |
X286034D01* |
X253968Y367999D02* |
X286032D01* |
X285255Y341899D02* |
X285938D01* |
X254124Y357199D02* |
X285876D01* |
X254126Y162799D02* |
X285874D01* |
X255321Y167299D02* |
X285803D01* |
X254199Y352699D02* |
X285801D01* |
X254424Y362599D02* |
X285576D01* |
X254424Y157399D02* |
X285576D01* |
X265040Y172699D02* |
X285545D01* |
X254559Y152899D02* |
X285441D01* |
X254560Y367099D02* |
X285440D01* |
X254654Y358099D02* |
X285346D01* |
X254655Y161899D02* |
X285345D01* |
X256555Y168199D02* |
X285303D01* |
X254698Y351799D02* |
X285302D01* |
X264610Y171799D02* |
X285302D01* |
X254738Y158299D02* |
X285262D01* |
X254739Y361699D02* |
X285261D01* |
X271622Y292399D02* |
X285204D01* |
X254811Y363499D02* |
X285189D01* |
X254812Y156499D02* |
X285188D01* |
X265165Y173599D02* |
X285156D01* |
X254902Y153799D02* |
X285098D01* |
X254902Y366199D02* |
X285098D01* |
X254950Y358999D02* |
X285050D01* |
X254951Y160999D02* |
X285049D01* |
X261980Y169099D02* |
X285029D01* |
X263780Y170899D02* |
X285028D01* |
X254972Y350899D02* |
X285028D01* |
X254990Y159199D02* |
X285010D01* |
X254990Y360799D02* |
X285010D01* |
X255020Y364399D02* |
X284980D01* |
X255021Y155599D02* |
X284979D01* |
X265165Y174499D02* |
X284968D01* |
X255049Y154699D02* |
X284951D01* |
X255050Y365299D02* |
X284950D01* |
X255058Y359899D02* |
X284942D01* |
X255058Y160099D02* |
X284942D01* |
X262880Y169999D02* |
X284941D01* |
X265165Y175399D02* |
X284821D01* |
X279338Y176299D02* |
X283924D01* |
X271499Y291499D02* |
X283882D01* |
X270980Y290599D02* |
X283451D01* |
X267053Y289699D02* |
X283376D01* |
X266133Y288799D02* |
X283376D01* |
X265233Y287899D02* |
X283376D01* |
X264333Y286999D02* |
X283376D01* |
X263433Y286099D02* |
X283376D01* |
X262533Y285199D02* |
X283200D01* |
X280605Y177199D02* |
X283024D01* |
X281248Y178099D02* |
X282124D01* |
X255059Y349999D02* |
X281257D01* |
X254971Y349099D02* |
X280262D01* |
X254697Y348199D02* |
X279362D01* |
X261633Y284299D02* |
X278514D01* |
X254456Y347299D02* |
X278462D01* |
X254844Y346399D02* |
X277562D01* |
X262028Y283399D02* |
X277521D01* |
X270598Y241099D02* |
X277521D01* |
X270598Y241999D02* |
X277014D01* |
X270573Y243799D02* |
X276898D01* |
X270598Y242899D02* |
X276898D01* |
X270261Y244699D02* |
X276878D01* |
X255032Y345499D02* |
X276662D01* |
X269369Y245599D02* |
X276065D01* |
X255042Y344599D02* |
X275762D01* |
X265165Y176299D02* |
X275462D01* |
X254874Y343699D02* |
X274862D01* |
X265165Y177199D02* |
X274195D01* |
X254507Y342799D02* |
X273962D01* |
X265165Y178099D02* |
X273553D01* |
X265165Y178999D02* |
X273214D01* |
X265165Y179899D02* |
X273100D01* |
X262924Y209599D02* |
X273100D01* |
X262133Y208699D02* |
X273100D01* |
X261233Y207799D02* |
X273100D01* |
X260333Y206899D02* |
X273100D01* |
X259827Y205999D02* |
X273100D01* |
X259827Y205099D02* |
X273100D01* |
X259827Y204199D02* |
X273100D01* |
X259827Y203299D02* |
X273100D01* |
X259827Y202399D02* |
X273100D01* |
X259827Y201499D02* |
X273100D01* |
X259827Y200599D02* |
X273100D01* |
X259827Y199699D02* |
X273100D01* |
X259827Y198799D02* |
X273100D01* |
X259827Y197899D02* |
X273100D01* |
X259827Y196999D02* |
X273100D01* |
X260319Y196099D02* |
X273100D01* |
X261219Y195199D02* |
X273100D01* |
X262119Y194299D02* |
X273100D01* |
X263019Y193399D02* |
X273100D01* |
X263919Y192499D02* |
X273100D01* |
X264701Y191599D02* |
X273100D01* |
X265077Y190699D02* |
X273100D01* |
X265165Y189799D02* |
X273100D01* |
X265165Y188899D02* |
X273100D01* |
X265165Y187999D02* |
X273100D01* |
X265165Y187099D02* |
X273100D01* |
X265165Y186199D02* |
X273100D01* |
X265165Y185299D02* |
X273100D01* |
X265165Y184399D02* |
X273100D01* |
X265165Y183499D02* |
X273100D01* |
X265165Y182599D02* |
X273100D01* |
X265165Y181699D02* |
X273100D01* |
X265165Y180799D02* |
X273100D01* |
X253879Y341899D02* |
X273062D01* |
X263813Y210499D02* |
X272687D01* |
X263158Y246499D02* |
X272359D01* |
X252793Y340999D02* |
X272162D01* |
X270674Y282499D02* |
X272132D01* |
X264518Y211399D02* |
X271982D01* |
X264745Y212299D02* |
X271755D01* |
X264750Y214999D02* |
X271750D01* |
X264750Y214099D02* |
X271750D01* |
X264750Y213199D02* |
X271750D01* |
X264983Y215899D02* |
X271517D01* |
X261832Y247399D02* |
X271431D01* |
X243337Y340099D02* |
X271262D01* |
X265859Y216799D02* |
X270617D01* |
X243300Y339199D02* |
X270362D01* |
X266366Y217699D02* |
X269717D01* |
X260932Y248299D02* |
X269504D01* |
X243300Y338299D02* |
X269462D01* |
X266546Y218599D02* |
X268817D01* |
X243300Y337399D02* |
X268562D01* |
X266550Y219499D02* |
X267917D01* |
X243300Y336499D02* |
X267662D01* |
X243300Y335599D02* |
X266787D01* |
X243300Y334699D02* |
X266282D01* |
X243300Y333799D02* |
X266103D01* |
X243300Y332899D02* |
X266100D01* |
X243300Y331999D02* |
X266100D01* |
X243300Y331099D02* |
X265656D01* |
X243300Y330199D02* |
X264777D01* |
X263380Y282499D02* |
X264428D01* |
X243300Y329299D02* |
X264262D01* |
X259433Y249199D02* |
X264236D01* |
X243300Y328399D02* |
X264076D01* |
X243300Y327499D02* |
X264072D01* |
X243300Y326599D02* |
X264072D01* |
X243300Y325699D02* |
X264072D01* |
X243300Y324799D02* |
X264072D01* |
X243300Y323899D02* |
X264072D01* |
X243300Y322999D02* |
X264072D01* |
X243300Y322099D02* |
X264072D01* |
X243300Y321199D02* |
X264072D01* |
X243300Y320299D02* |
X264072D01* |
X243300Y319399D02* |
X264072D01* |
X243300Y318499D02* |
X264072D01* |
X243300Y317599D02* |
X264072D01* |
X243300Y316699D02* |
X264072D01* |
X243300Y315799D02* |
X264072D01* |
X243300Y314899D02* |
X264072D01* |
X243300Y313999D02* |
X264072D01* |
X243302Y313099D02* |
X264072D01* |
X244036Y312199D02* |
X264072D01* |
X244936Y311299D02* |
X264072D01* |
X245836Y310399D02* |
X264072D01* |
X246736Y309499D02* |
X264072D01* |
X247636Y308599D02* |
X264072D01* |
X251524Y307699D02* |
X264071D01* |
X252332Y306799D02* |
X263286D01* |
X243600Y250099D02* |
X263203D01* |
X243600Y266299D02* |
X262836D01* |
X243600Y259999D02* |
X262836D01* |
X243600Y253699D02* |
X262836D01* |
X252608Y305899D02* |
X262817D01* |
X252623Y304999D02* |
X262722D01* |
X252623Y304099D02* |
X262722D01* |
X252623Y303199D02* |
X262722D01* |
X252739Y302299D02* |
X262722D01* |
X243600Y250999D02* |
X262711D01* |
X243600Y257299D02* |
X262711D01* |
X243600Y263599D02* |
X262711D01* |
X243600Y269899D02* |
X262711D01* |
X243600Y268999D02* |
X262684D01* |
X243600Y262699D02* |
X262684D01* |
X243600Y256399D02* |
X262684D01* |
X261754Y272599D02* |
X262675D01* |
X243600Y254599D02* |
X262582D01* |
X243600Y260899D02* |
X262582D01* |
X243600Y267199D02* |
X262581D01* |
X260854Y271699D02* |
X262566D01* |
X243600Y265399D02* |
X262566D01* |
X243600Y259099D02* |
X262566D01* |
X243600Y252799D02* |
X262566D01* |
X243600Y251899D02* |
X262516D01* |
X243600Y258199D02* |
X262516D01* |
X243600Y264499D02* |
X262516D01* |
X259792Y270799D02* |
X262516D01* |
X243600Y268099D02* |
X262511D01* |
X243600Y261799D02* |
X262511D01* |
X243600Y255499D02* |
X262511D01* |
X253636Y301399D02* |
X262120D01* |
X254251Y300499D02* |
X261220D01* |
X254501Y299599D02* |
X260320D01* |
X254523Y298699D02* |
X259420D01* |
X254523Y297799D02* |
X258520D01* |
X254523Y296899D02* |
X257768D01* |
X254523Y295999D02* |
X257421D01* |
X254523Y295099D02* |
X257351D01* |
X254523Y294199D02* |
X257145D01* |
X236835Y187999D02* |
X256700D01* |
X235935Y187099D02* |
X256700D01* |
X235035Y186199D02* |
X256700D01* |
X234135Y185299D02* |
X256700D01* |
X233235Y184399D02* |
X256700D01* |
X232335Y183499D02* |
X256700D01* |
X231435Y182599D02* |
X256700D01* |
X230535Y181699D02* |
X256700D01* |
X229635Y180799D02* |
X256700D01* |
X228735Y179899D02* |
X256661D01* |
X254523Y293299D02* |
X256245D01* |
X237735Y188899D02* |
X256117D01* |
X248207Y223099D02* |
X255850D01* |
X252797Y178999D02* |
X255815D01* |
X247972Y222199D02* |
X255714D01* |
X254704Y292399D02* |
X255342D01* |
X238635Y189799D02* |
X255217D01* |
X247381Y221299D02* |
X254815D01* |
X239535Y190699D02* |
X254317D01* |
X248224Y223999D02* |
X254224D01* |
X246483Y220399D02* |
X253949D01* |
X245583Y219499D02* |
X253465D01* |
X240137Y191599D02* |
X253417D01* |
X244683Y218599D02* |
X253302D01* |
X243783Y217699D02* |
X253300D01* |
X242883Y216799D02* |
X253300D01* |
X241983Y215899D02* |
X253300D01* |
X241750Y214999D02* |
X253300D01* |
X241750Y214099D02* |
X253300D01* |
X241750Y213199D02* |
X253300D01* |
X241745Y212299D02* |
X253115D01* |
X248224Y224899D02* |
X252717D01* |
X240380Y192499D02* |
X252517D01* |
X241518Y211399D02* |
X252215D01* |
X248224Y225799D02* |
X251817D01* |
X240400Y193399D02* |
X251718D01* |
X240813Y210499D02* |
X251547D01* |
X240400Y194299D02* |
X251325D01* |
X240400Y209599D02* |
X251263D01* |
X240400Y208699D02* |
X251227D01* |
X240400Y207799D02* |
X251227D01* |
X240400Y206899D02* |
X251227D01* |
X240400Y205999D02* |
X251227D01* |
X240400Y205099D02* |
X251227D01* |
X240400Y204199D02* |
X251227D01* |
X240400Y203299D02* |
X251157D01* |
X248224Y226699D02* |
X250917D01* |
X248224Y227599D02* |
X250017D01* |
X240400Y195199D02* |
X249911D01* |
X240400Y202399D02* |
X249663D01* |
X248335Y228499D02* |
X249117D01* |
X240400Y196099D02* |
X248960D01* |
X240400Y201499D02* |
X248757D01* |
X211389Y355399D02* |
X248611D01* |
X211392Y164599D02* |
X248608D01* |
X211620Y165499D02* |
X248380D01* |
X211630Y354499D02* |
X248370D01* |
X240400Y196999D02* |
X248188D01* |
X240400Y200599D02* |
X248076D01* |
X240400Y197899D02* |
X247823D01* |
X240400Y199699D02* |
X247783D01* |
X240400Y198799D02* |
X247743D01* |
X244183Y340999D02* |
X247207D01* |
X227835Y178999D02* |
X247203D01* |
X212952Y151099D02* |
X247048D01* |
X212956Y368899D02* |
X247044D01* |
X213234Y356299D02* |
X246766D01* |
X213237Y163699D02* |
X246763D01* |
X213360Y166399D02* |
X246640D01* |
X213363Y353599D02* |
X246637D01* |
X226935Y178099D02* |
X246119D01* |
X213966Y151999D02* |
X246034D01* |
X213968Y367999D02* |
X246032D01* |
X245255Y341899D02* |
X245938D01* |
X214124Y357199D02* |
X245876D01* |
X214126Y162799D02* |
X245874D01* |
X215973Y167299D02* |
X245803D01* |
X214424Y362599D02* |
X245576D01* |
X214424Y157399D02* |
X245576D01* |
X221535Y172699D02* |
X245545D01* |
X226035Y177199D02* |
X245492D01* |
X214559Y152899D02* |
X245441D01* |
X214560Y367099D02* |
X245440D01* |
X214654Y358099D02* |
X245346D01* |
X214655Y161899D02* |
X245345D01* |
X217035Y168199D02* |
X245303D01* |
X220635Y171799D02* |
X245302D01* |
X214738Y158299D02* |
X245262D01* |
X214739Y361699D02* |
X245261D01* |
X214811Y363499D02* |
X245189D01* |
X214812Y156499D02* |
X245188D01* |
X222435Y173599D02* |
X245156D01* |
X225135Y176299D02* |
X245125D01* |
X214902Y153799D02* |
X245098D01* |
X214902Y366199D02* |
X245098D01* |
X214950Y358999D02* |
X245050D01* |
X214951Y160999D02* |
X245049D01* |
X217935Y169099D02* |
X245029D01* |
X219735Y170899D02* |
X245028D01* |
X214990Y159199D02* |
X245010D01* |
X214990Y360799D02* |
X245010D01* |
X215020Y364399D02* |
X244980D01* |
X215021Y155599D02* |
X244979D01* |
X223335Y174499D02* |
X244968D01* |
X224235Y175399D02* |
X244958D01* |
X215049Y154699D02* |
X244951D01* |
X215050Y365299D02* |
X244950D01* |
X215058Y359899D02* |
X244942D01* |
X215058Y160099D02* |
X244942D01* |
X218835Y169999D02* |
X244941D01* |
X214199Y352699D02* |
X244022D01* |
X214698Y351799D02* |
X242962D01* |
X214972Y350899D02* |
X242062D01* |
X215059Y349999D02* |
X241162D01* |
X214971Y349099D02* |
X240262D01* |
X214697Y348199D02* |
X239362D01* |
X221408Y289699D02* |
X239249D01* |
X222624Y288799D02* |
X239249D01* |
X223034Y287899D02* |
X239249D01* |
X223098Y286999D02* |
X239249D01* |
X223098Y286099D02* |
X239249D01* |
X223219Y285199D02* |
X239249D01* |
X224117Y284299D02* |
X239249D01* |
X224040Y235699D02* |
X238710D01* |
X237552Y290599D02* |
X238603D01* |
X214456Y347299D02* |
X238462D01* |
X224940Y236599D02* |
X237914D01* |
X223165Y234799D02* |
X237815D01* |
X225017Y283399D02* |
X237669D01* |
X214844Y346399D02* |
X237562D01* |
X223098Y233899D02* |
X236915D01* |
X215032Y345499D02* |
X236662D01* |
X223098Y232999D02* |
X236015D01* |
X215181Y344599D02* |
X235762D01* |
X223014Y232099D02* |
X235115D01* |
X216079Y343699D02* |
X235058D01* |
X216979Y342799D02* |
X234748D01* |
X217879Y341899D02* |
X234700D01* |
X218779Y340999D02* |
X234700D01* |
X219679Y340099D02* |
X234700D01* |
X220579Y339199D02* |
X234700D01* |
X221479Y338299D02* |
X234700D01* |
X222379Y337399D02* |
X234700D01* |
X223279Y336499D02* |
X234700D01* |
X224179Y335599D02* |
X234700D01* |
X225079Y334699D02* |
X234700D01* |
X225979Y333799D02* |
X234700D01* |
X226879Y332899D02* |
X234700D01* |
X227779Y331999D02* |
X234700D01* |
X228679Y331099D02* |
X234700D01* |
X229579Y330199D02* |
X234700D01* |
X230479Y329299D02* |
X234700D01* |
X231379Y328399D02* |
X234700D01* |
X232279Y327499D02* |
X234700D01* |
X233179Y326599D02* |
X234700D01* |
X222566Y231199D02* |
X234485D01* |
X221131Y230299D02* |
X234226D01* |
X216540Y229399D02* |
X234200D01* |
X215640Y228499D02* |
X234200D01* |
X214619Y227599D02* |
X233917D01* |
X208343Y226699D02* |
X233129D01* |
X206669Y225799D02* |
X232862D01* |
X204784Y224899D02* |
X232850D01* |
X203884Y223999D02* |
X232850D01* |
X202984Y223099D02* |
X232850D01* |
X202084Y222199D02* |
X232120D01* |
X216617Y290599D02* |
X231330D01* |
X201184Y221299D02* |
X231215D01* |
X200284Y220399D02* |
X230585D01* |
X215712Y291499D02* |
X230364D01* |
X199384Y219499D02* |
X230326D01* |
X198484Y218599D02* |
X230300D01* |
X197584Y217699D02* |
X230300D01* |
X196684Y216799D02* |
X230300D01* |
X195784Y215899D02* |
X230300D01* |
X194884Y214999D02* |
X230300D01* |
X193984Y214099D02* |
X230300D01* |
X193084Y213199D02* |
X230300D01* |
X192184Y212299D02* |
X230300D01* |
X191284Y211399D02* |
X230300D01* |
X190384Y210499D02* |
X230300D01* |
X189484Y209599D02* |
X230300D01* |
X188584Y208699D02* |
X230300D01* |
X187684Y207799D02* |
X230300D01* |
X186784Y206899D02* |
X230300D01* |
X185884Y205999D02* |
X230300D01* |
X184984Y205099D02* |
X230300D01* |
X184084Y204199D02* |
X230300D01* |
X183184Y203299D02* |
X230300D01* |
X182284Y202399D02* |
X230300D01* |
X181384Y201499D02* |
X230300D01* |
X180484Y200599D02* |
X230300D01* |
X179584Y199699D02* |
X230300D01* |
X179457Y198799D02* |
X230300D01* |
X179565Y197899D02* |
X230300D01* |
X179565Y196999D02* |
X230300D01* |
X179565Y196099D02* |
X230300D01* |
X179565Y195199D02* |
X230300D01* |
X179565Y194299D02* |
X230300D01* |
X179565Y193399D02* |
X230073D01* |
X209193Y292399D02* |
X230026D01* |
X206485Y295099D02* |
X229991D01* |
X207385Y294199D02* |
X229991D01* |
X208285Y293299D02* |
X229991D01* |
X205585Y295999D02* |
X229460D01* |
X179482Y192499D02* |
X229173D01* |
X204685Y296899D02* |
X228521D01* |
X179112Y191599D02* |
X228273D01* |
X225840Y237499D02* |
X227873D01* |
X203785Y297799D02* |
X227837D01* |
X202885Y298699D02* |
X227541D01* |
X184885Y316699D02* |
X227500D01* |
X185785Y315799D02* |
X227500D01* |
X186685Y314899D02* |
X227500D01* |
X187585Y313999D02* |
X227500D01* |
X188485Y313099D02* |
X227500D01* |
X189385Y312199D02* |
X227500D01* |
X190285Y311299D02* |
X227500D01* |
X191185Y310399D02* |
X227500D01* |
X192085Y309499D02* |
X227500D01* |
X192985Y308599D02* |
X227500D01* |
X193885Y307699D02* |
X227500D01* |
X194785Y306799D02* |
X227500D01* |
X195685Y305899D02* |
X227500D01* |
X196585Y304999D02* |
X227500D01* |
X197485Y304099D02* |
X227500D01* |
X198385Y303199D02* |
X227500D01* |
X199285Y302299D02* |
X227500D01* |
X200185Y301399D02* |
X227500D01* |
X201085Y300499D02* |
X227500D01* |
X201985Y299599D02* |
X227500D01* |
X183985Y317599D02* |
X227479D01* |
X178336Y190699D02* |
X227373D01* |
X225917Y282499D02* |
X227241D01* |
X226773Y238399D02* |
X227233D01* |
X183085Y318499D02* |
X226664D01* |
X177436Y189799D02* |
X226473D01* |
X182185Y319399D02* |
X225764D01* |
X176525Y188899D02* |
X225573D01* |
X181285Y320299D02* |
X224864D01* |
X123500Y187999D02* |
X224673D01* |
X222576Y268099D02* |
X224340D01* |
X180385Y321199D02* |
X223964D01* |
X221190Y268999D02* |
X223819D01* |
X123500Y187099D02* |
X223773D01* |
X179485Y322099D02* |
X223064D01* |
X217153Y269899D02* |
X222919D01* |
X123500Y186199D02* |
X222873D01* |
X178585Y322999D02* |
X222164D01* |
X216232Y270799D02* |
X222019D01* |
X123500Y185299D02* |
X221973D01* |
X177685Y323899D02* |
X221264D01* |
X194727Y271699D02* |
X221119D01* |
X123500Y184399D02* |
X221073D01* |
X194436Y246499D02* |
X220618D01* |
X176785Y324799D02* |
X220364D01* |
X193827Y272599D02* |
X220219D01* |
X123500Y183499D02* |
X220173D01* |
X193536Y245599D02* |
X219725D01* |
X176200Y325699D02* |
X219464D01* |
X123500Y182599D02* |
X219273D01* |
X192636Y244699D02* |
X218825D01* |
X192927Y273499D02* |
X218655D01* |
X176200Y326599D02* |
X218564D01* |
X123500Y181699D02* |
X218373D01* |
X192027Y274399D02* |
X217749D01* |
X176200Y327499D02* |
X217664D01* |
X123500Y180799D02* |
X217473D01* |
X191127Y275299D02* |
X216849D01* |
X176200Y328399D02* |
X216764D01* |
X123500Y179899D02* |
X216573D01* |
X190227Y276199D02* |
X215949D01* |
X191736Y243799D02* |
X215947D01* |
X176200Y329299D02* |
X215864D01* |
X212797Y178999D02* |
X215673D01* |
X189327Y277099D02* |
X215049D01* |
X190836Y242899D02* |
X214972D01* |
X176200Y330199D02* |
X214964D01* |
X188427Y277999D02* |
X214149D01* |
X189936Y241999D02* |
X214072D01* |
X176240Y331099D02* |
X214064D01* |
X187527Y278899D02* |
X213249D01* |
X189036Y241099D02* |
X213172D01* |
X176969Y331999D02* |
X213164D01* |
X195336Y247399D02* |
X212988D01* |
X186627Y279799D02* |
X212349D01* |
X188136Y240199D02* |
X212272D01* |
X177442Y332899D02* |
X212264D01* |
X196236Y248299D02* |
X211481D01* |
X185727Y280699D02* |
X211449D01* |
X187236Y239299D02* |
X211372D01* |
X177695Y333799D02* |
X211364D01* |
X177765Y334699D02* |
X210464D01* |
X177761Y335599D02* |
X209564D01* |
X177633Y336499D02* |
X208664D01* |
X123500Y355399D02* |
X208611D01* |
X184000Y164599D02* |
X208608D01* |
X184000Y165499D02* |
X208380D01* |
X123500Y354499D02* |
X208370D01* |
X177313Y337399D02* |
X207764D01* |
X197136Y249199D02* |
X207594D01* |
X123500Y178999D02* |
X207203D01* |
X123500Y151099D02* |
X207048D01* |
X123500Y368899D02* |
X207044D01* |
X176751Y338299D02* |
X206864D01* |
X123500Y356299D02* |
X206766D01* |
X183786Y163699D02* |
X206763D01* |
X184000Y166399D02* |
X206640D01* |
X123500Y353599D02* |
X206637D01* |
X123500Y259999D02* |
X206335D01* |
X184827Y281599D02* |
X206300D01* |
X123500Y260899D02* |
X206234D01* |
X186336Y238399D02* |
X206220D01* |
X123500Y178099D02* |
X206119D01* |
X198036Y250099D02* |
X206051D01* |
X123500Y151999D02* |
X206034D01* |
X123500Y367999D02* |
X206032D01* |
X175800Y339199D02* |
X205964D01* |
X123500Y357199D02* |
X205876D01* |
X183600Y162799D02* |
X205874D01* |
X184000Y167299D02* |
X205803D01* |
X123500Y352699D02* |
X205801D01* |
X185436Y237499D02* |
X205650D01* |
X183927Y282499D02* |
X205618D01* |
X123500Y362599D02* |
X205576D01* |
X183600Y157399D02* |
X205576D01* |
X184000Y172699D02* |
X205545D01* |
X184536Y236599D02* |
X205498D01* |
X123500Y177199D02* |
X205492D01* |
X123500Y152899D02* |
X205441D01* |
X123500Y367099D02* |
X205440D01* |
X183636Y235699D02* |
X205426D01* |
X123500Y358099D02* |
X205346D01* |
X183600Y161899D02* |
X205345D01* |
X184000Y168199D02* |
X205303D01* |
X123500Y351799D02* |
X205302D01* |
X184000Y171799D02* |
X205302D01* |
X183600Y158299D02* |
X205262D01* |
X123500Y361699D02* |
X205261D01* |
X123500Y363499D02* |
X205189D01* |
X183600Y156499D02* |
X205188D01* |
X183972Y173599D02* |
X205156D01* |
X123500Y176299D02* |
X205125D01* |
X123500Y153799D02* |
X205098D01* |
X123500Y366199D02* |
X205098D01* |
X123500Y340099D02* |
X205064D01* |
X123500Y358999D02* |
X205050D01* |
X183600Y160999D02* |
X205049D01* |
X184000Y169099D02* |
X205029D01* |
X123500Y350899D02* |
X205028D01* |
X184000Y170899D02* |
X205028D01* |
X183600Y159199D02* |
X205010D01* |
X123500Y360799D02* |
X205010D01* |
X123500Y364399D02* |
X204980D01* |
X183600Y155599D02* |
X204979D01* |
X123500Y174499D02* |
X204968D01* |
X123500Y175399D02* |
X204958D01* |
X183386Y154699D02* |
X204951D01* |
X123500Y365299D02* |
X204950D01* |
X123500Y359899D02* |
X204942D01* |
X183600Y160099D02* |
X204942D01* |
X123500Y349999D02* |
X204941D01* |
X184000Y169999D02* |
X204941D01* |
X183027Y283399D02* |
X204399D01* |
X123500Y349099D02* |
X204321D01* |
X182736Y234799D02* |
X204281D01* |
X123500Y340999D02* |
X204164D01* |
X123500Y348199D02* |
X203548D01* |
X182127Y284299D02* |
X203499D01* |
X123500Y341899D02* |
X203459D01* |
X123500Y347299D02* |
X203181D01* |
X123500Y342799D02* |
X203149D01* |
X123500Y346399D02* |
X203100D01* |
X123500Y345499D02* |
X203100D01* |
X123500Y344599D02* |
X203100D01* |
X123500Y343699D02* |
X203100D01* |
X181227Y285199D02* |
X202599D01* |
X181836Y233899D02* |
X201748D01* |
X180327Y286099D02* |
X201699D01* |
X179427Y286999D02* |
X200799D01* |
X180936Y232999D02* |
X200722D01* |
X178527Y287899D02* |
X200005D01* |
X180036Y232099D02* |
X199822D01* |
X177627Y288799D02* |
X199618D01* |
X176727Y289699D02* |
X199523D01* |
X176200Y290599D02* |
X199241D01* |
X179136Y231199D02* |
X198922D01* |
X176580Y291499D02* |
X198341D01* |
X178236Y230299D02* |
X198022D01* |
X177210Y292399D02* |
X197441D01* |
X177336Y229399D02* |
X197122D01* |
X177578Y293299D02* |
X196541D01* |
X176274Y228499D02* |
X196222D01* |
X177748Y294199D02* |
X195641D01* |
X123500Y227599D02* |
X195322D01* |
X177765Y295099D02* |
X194741D01* |
X123500Y226699D02* |
X194422D01* |
X177726Y295999D02* |
X193841D01* |
X123500Y225799D02* |
X193522D01* |
X177516Y296899D02* |
X192941D01* |
X123500Y261799D02* |
X192742D01* |
X123500Y224899D02* |
X192622D01* |
X123500Y259099D02* |
X192426D01* |
X177098Y297799D02* |
X192041D01* |
X123500Y223999D02* |
X191722D01* |
X123500Y262699D02* |
X191565D01* |
X123500Y258199D02* |
X191521D01* |
X176393Y298699D02* |
X191141D01* |
X123500Y223099D02* |
X190822D01* |
X123500Y263599D02* |
X190665D01* |
X123500Y257299D02* |
X190621D01* |
X175121Y299599D02* |
X190241D01* |
X123500Y222199D02* |
X189922D01* |
X123500Y264499D02* |
X189765D01* |
X123500Y256399D02* |
X189721D01* |
X123500Y300499D02* |
X189341D01* |
X123500Y221299D02* |
X189022D01* |
X123500Y265399D02* |
X188865D01* |
X123500Y255499D02* |
X188821D01* |
X123500Y301399D02* |
X188441D01* |
X123500Y220399D02* |
X188122D01* |
X123500Y266299D02* |
X187965D01* |
X123500Y254599D02* |
X187921D01* |
X123500Y302299D02* |
X187541D01* |
X123500Y219499D02* |
X187222D01* |
X123500Y267199D02* |
X187065D01* |
X123500Y253699D02* |
X187021D01* |
X123500Y303199D02* |
X186641D01* |
X123500Y218599D02* |
X186322D01* |
X123500Y268099D02* |
X186165D01* |
X123500Y252799D02* |
X186121D01* |
X123500Y304099D02* |
X185741D01* |
X123500Y217699D02* |
X185422D01* |
X123500Y268999D02* |
X185265D01* |
X123500Y251899D02* |
X185221D01* |
X123500Y304999D02* |
X184841D01* |
X123500Y216799D02* |
X184522D01* |
X123500Y269899D02* |
X184365D01* |
X123500Y250999D02* |
X184321D01* |
X123500Y305899D02* |
X183941D01* |
X123500Y215899D02* |
X183622D01* |
X123500Y270799D02* |
X183465D01* |
X123500Y250099D02* |
X183421D01* |
X123500Y306799D02* |
X183041D01* |
X123500Y214999D02* |
X182722D01* |
X123500Y271699D02* |
X182565D01* |
X123500Y249199D02* |
X182521D01* |
X123500Y307699D02* |
X182141D01* |
X123500Y214099D02* |
X181822D01* |
X123500Y272599D02* |
X181665D01* |
X123500Y248299D02* |
X181621D01* |
X123500Y308599D02* |
X181241D01* |
X123500Y213199D02* |
X180922D01* |
X123500Y273499D02* |
X180765D01* |
X123500Y247399D02* |
X180721D01* |
X123500Y309499D02* |
X180341D01* |
X123500Y212299D02* |
X180022D01* |
X123500Y274399D02* |
X179865D01* |
X123500Y246499D02* |
X179821D01* |
X123500Y310399D02* |
X179441D01* |
X123500Y211399D02* |
X179122D01* |
X123500Y275299D02* |
X178965D01* |
X123500Y245599D02* |
X178921D01* |
X123500Y311299D02* |
X178541D01* |
X123500Y210499D02* |
X178222D01* |
X123500Y276199D02* |
X178065D01* |
X123500Y244699D02* |
X178021D01* |
X123500Y312199D02* |
X177641D01* |
X123500Y209599D02* |
X177322D01* |
X123500Y277099D02* |
X177165D01* |
X123500Y243799D02* |
X177121D01* |
X123500Y313099D02* |
X176741D01* |
X123500Y208699D02* |
X176422D01* |
X123500Y277999D02* |
X176265D01* |
X123500Y242899D02* |
X176221D01* |
X123500Y313999D02* |
X175841D01* |
X123500Y278899D02* |
X175365D01* |
X123500Y241999D02* |
X175321D01* |
X123500Y314899D02* |
X174941D01* |
X123500Y279799D02* |
X174465D01* |
X123500Y241099D02* |
X174421D01* |
X123500Y315799D02* |
X174041D01* |
X123500Y280699D02* |
X173565D01* |
X123500Y240199D02* |
X173521D01* |
X123500Y316699D02* |
X173141D01* |
X123500Y281599D02* |
X172665D01* |
X123500Y317599D02* |
X172241D01* |
X123500Y282499D02* |
X171765D01* |
X123500Y318499D02* |
X171341D01* |
X170121Y299599D02* |
X171079D01* |
X123500Y283399D02* |
X170865D01* |
X123500Y319399D02* |
X170441D01* |
X123500Y228499D02* |
X169985D01* |
X123500Y284299D02* |
X169965D01* |
X123500Y320299D02* |
X169541D01* |
X123500Y188899D02* |
X169435D01* |
X123500Y285199D02* |
X169065D01* |
X123500Y229399D02* |
X168924D01* |
X123500Y321199D02* |
X168641D01* |
X123500Y189799D02* |
X168523D01* |
X123500Y207799D02* |
X168404D01* |
X123500Y286099D02* |
X168165D01* |
X123500Y322099D02* |
X167741D01* |
X123500Y286999D02* |
X167265D01* |
X123500Y322999D02* |
X166894D01* |
X123500Y206899D02* |
X166784D01* |
X123500Y200599D02* |
X166578D01* |
X123500Y323899D02* |
X166441D01* |
X123500Y287899D02* |
X166365D01* |
X159892Y230299D02* |
X166308D01* |
X159898Y199699D02* |
X166302D01* |
X123500Y324799D02* |
X166300D01* |
X123500Y328399D02* |
X166300D01* |
X123500Y327499D02* |
X166300D01* |
X123500Y326599D02* |
X166300D01* |
X123500Y325699D02* |
X166300D01* |
X160121Y299599D02* |
X166079D01* |
X123500Y205999D02* |
X166050D01* |
X123500Y201499D02* |
X165937D01* |
X123500Y205099D02* |
X165653D01* |
X123500Y329299D02* |
X165652D01* |
X123500Y202399D02* |
X165598D01* |
X160649Y190699D02* |
X165551D01* |
X160653Y239299D02* |
X165547D01* |
X123500Y288799D02* |
X165540D01* |
X123500Y204199D02* |
X165492D01* |
X123500Y203299D02* |
X165485D01* |
X160800Y339199D02* |
X165400D01* |
X159629Y330199D02* |
X165166D01* |
X123500Y289699D02* |
X165118D01* |
X160488Y290599D02* |
X165000D01* |
X161176Y331099D02* |
X164967D01* |
X161287Y231199D02* |
X164913D01* |
X161289Y198799D02* |
X164911D01* |
X161393Y298699D02* |
X164807D01* |
X161580Y291499D02* |
X164620D01* |
X161667Y191599D02* |
X164533D01* |
X161669Y238399D02* |
X164531D01* |
X161751Y338299D02* |
X164449D01* |
X161969Y331999D02* |
X164231D01* |
X162034Y232099D02* |
X164166D01* |
X162036Y197899D02* |
X164164D01* |
X162098Y297799D02* |
X164102D01* |
X162210Y292399D02* |
X163990D01* |
X162262Y192499D02* |
X163938D01* |
X162264Y237499D02* |
X163936D01* |
X162313Y337399D02* |
X163887D01* |
X162442Y332899D02* |
X163758D01* |
X162480Y232999D02* |
X163720D01* |
X162481Y196999D02* |
X163719D01* |
X162516Y296899D02* |
X163684D01* |
X162578Y293299D02* |
X163622D01* |
X162606Y193399D02* |
X163594D01* |
X162607Y236599D02* |
X163593D01* |
X162638Y336499D02* |
X163562D01* |
X162996Y333799D02* |
X163204D01* |
X154629Y330199D02* |
X156571D01* |
X154892Y230299D02* |
X156308D01* |
X154898Y199699D02* |
X156302D01* |
X155121Y299599D02* |
X156079D01* |
X123500Y330199D02* |
X151571D01* |
X123500Y230299D02* |
X151308D01* |
X123500Y199699D02* |
X151302D01* |
X123500Y299599D02* |
X151079D01* |
X123500Y290599D02* |
X150712D01* |
X123500Y190699D02* |
X150551D01* |
X123500Y239299D02* |
X150547D01* |
X123500Y339199D02* |
X150400D01* |
X123500Y331099D02* |
X150024D01* |
X123500Y231199D02* |
X149913D01* |
X123500Y198799D02* |
X149911D01* |
X123500Y298699D02* |
X149807D01* |
X123500Y291499D02* |
X149620D01* |
X123500Y191599D02* |
X149533D01* |
X123500Y238399D02* |
X149531D01* |
X123500Y338299D02* |
X149449D01* |
X123500Y331999D02* |
X149231D01* |
X123500Y232099D02* |
X149166D01* |
X123500Y197899D02* |
X149164D01* |
X123500Y297799D02* |
X149102D01* |
X123500Y292399D02* |
X148990D01* |
X123500Y192499D02* |
X148938D01* |
X123500Y237499D02* |
X148936D01* |
X123500Y337399D02* |
X148887D01* |
X123500Y332899D02* |
X148758D01* |
X123500Y232999D02* |
X148720D01* |
X123500Y196999D02* |
X148719D01* |
X123500Y296899D02* |
X148684D01* |
X123500Y293299D02* |
X148622D01* |
X123500Y193399D02* |
X148594D01* |
X123500Y236599D02* |
X148593D01* |
X123500Y336499D02* |
X148567D01* |
X123500Y333799D02* |
X148505D01* |
X123500Y233899D02* |
X148489D01* |
X123500Y196099D02* |
X148488D01* |
X123500Y295999D02* |
X148474D01* |
X123500Y294199D02* |
X148452D01* |
X123500Y194299D02* |
X148445D01* |
X123500Y235699D02* |
X148445D01* |
X123500Y335599D02* |
X148439D01* |
X123500Y334699D02* |
X148435D01* |
X123500Y295099D02* |
X148435D01* |
X123500Y234799D02* |
X148435D01* |
X123500Y195199D02* |
X148435D01* |
X123500Y173599D02* |
X143919D01* |
X123500Y172699D02* |
X143891D01* |
X123500Y171799D02* |
X143891D01* |
X123500Y170899D02* |
X143891D01* |
X123500Y169999D02* |
X143891D01* |
X123500Y169099D02* |
X143891D01* |
X123500Y168199D02* |
X143891D01* |
X123500Y167299D02* |
X143891D01* |
X123500Y166399D02* |
X143891D01* |
X123500Y165499D02* |
X143842D01* |
X123500Y154699D02* |
X143341D01* |
X123500Y164599D02* |
X143156D01* |
X123500Y163699D02* |
X143127D01* |
X123500Y162799D02* |
X143127D01* |
X123500Y161899D02* |
X143127D01* |
X123500Y160999D02* |
X143127D01* |
X123500Y160099D02* |
X143127D01* |
X123500Y159199D02* |
X143127D01* |
X123500Y158299D02* |
X143127D01* |
X123500Y157399D02* |
X143127D01* |
X123500Y156499D02* |
X143127D01* |
X123500Y155599D02* |
X143127D01* |
X307468Y277099D02* |
X347676D01* |
X307682Y277999D02* |
X347209D01* |
X307700Y278899D02* |
X346309D01* |
X307700Y279799D02* |
X345409D01* |
X307700Y280699D02* |
X344509D01* |
X307700Y281599D02* |
X343609D01* |
X307700Y282499D02* |
X342709D01* |
X306960Y276199D02* |
X341987D01* |
X307700Y283399D02* |
X341809D01* |
X306295Y275299D02* |
X341312D01* |
X306125Y274399D02* |
X341100D01* |
X307700Y284299D02* |
X340909D01* |
X307700Y285199D02* |
X340009D01* |
X330630Y273499D02* |
X339853D01* |
X307700Y286099D02* |
X339109D01* |
X332363Y272599D02* |
X338915D01* |
X307700Y286999D02* |
X338209D01* |
X334326Y271699D02* |
X338015D01* |
X307700Y287899D02* |
X337309D01* |
X335385Y270799D02* |
X337115D01* |
X307700Y288799D02* |
X336409D01* |
X307700Y289699D02* |
X335509D01* |
X307700Y290599D02* |
X334609D01* |
X307700Y291499D02* |
X333709D01* |
X307700Y292399D02* |
X332809D01* |
X307700Y293299D02* |
X331909D01* |
X307700Y294199D02* |
X331009D01* |
X308090Y295099D02* |
X330109D01* |
X308990Y295999D02* |
X329209D01* |
X305678Y273499D02* |
X327370D01* |
X304857Y272599D02* |
X325637D01* |
X318465Y296899D02* |
X321575D01* |
X319135Y297799D02* |
X320670D01* |
X319343Y298699D02* |
X320353D01* |
X303957Y271699D02* |
X320074D01* |
X303203Y270799D02* |
X319007D01* |
X303198Y269899D02* |
X308429D01* |
X303150Y268999D02* |
X307524D01* |
X304044Y243799D02* |
X320266D01* |
X303366Y244699D02* |
X319817D01* |
X303198Y245599D02* |
X309321D01* |
X303198Y246499D02* |
X308166D01* |
X303118Y247399D02* |
X307266D01* |
X336438Y256399D02* |
X341520D01* |
X337338Y255499D02* |
X341411D01* |
X335538Y257299D02* |
X341147D01* |
X338238Y254599D02* |
X341118D01* |
X334638Y258199D02* |
X340917D01* |
X333738Y259099D02* |
X339755D01* |
X332838Y259999D02* |
X338855D01* |
X333107Y260899D02* |
X337955D01* |
X335445Y261799D02* |
X337055D01* |
X334236Y244699D02* |
X343748D01* |
X333718Y243799D02* |
X342563D01* |
X335127Y245599D02* |
X342391D01* |
X335528Y242899D02* |
X341809D01* |
X336517Y241999D02* |
X341557D01* |
X337417Y241099D02* |
X341548D01* |
X338317Y240199D02* |
X341548D01* |
X335679Y246499D02* |
X341456D01* |
X335890Y247399D02* |
X341129D01* |
G54D45* |
X333726Y341588D03* |
X343726D03* |
X333726Y331588D03* |
X343726D03* |
X333726Y321588D03* |
X343726D03* |
X309126Y286741D03* |
X299126D03* |
X289126D03* |
X346848Y251038D03* |
Y261038D03* |
Y271038D03* |
G54D47* |
X333726Y331588D02* |
X343726D01* |
G54D55* |
X335299Y274000D02* |
X334512D01* |
X329394Y269000D02* |
X328606D01* |
X329394Y264000D02* |
X328606D01* |
X335299Y259000D02* |
X334512D01* |
X329394Y254000D02* |
X328606D01* |
X329394Y249000D02* |
X328606D01* |
X335299Y244000D02* |
X334512D01* |
X256299Y180000D02* |
X255512D01* |
X250394Y175000D02* |
X249606D01* |
X250394Y170000D02* |
X249606D01* |
X256299Y165000D02* |
X255512D01* |
X250394Y160000D02* |
X249606D01* |
X250394Y155000D02* |
X249606D01* |
X256299Y150000D02* |
X255512D01* |
X296299Y180000D02* |
X295512D01* |
X290394Y175000D02* |
X289606D01* |
X290394Y170000D02* |
X289606D01* |
X296299Y165000D02* |
X295512D01* |
X290394Y160000D02* |
X289606D01* |
X290394Y155000D02* |
X289606D01* |
X296299Y150000D02* |
X295512D01* |
X283701Y340000D02* |
X284488D01* |
X289606Y345000D02* |
X290394D01* |
X289606Y350000D02* |
X290394D01* |
X283701Y355000D02* |
X284488D01* |
X289606Y360000D02* |
X290394D01* |
X289606Y365000D02* |
X290394D01* |
X283701Y370000D02* |
X284488D01* |
X243701Y340000D02* |
X244488D01* |
X249606Y345000D02* |
X250394D01* |
X249606Y350000D02* |
X250394D01* |
X243701Y355000D02* |
X244488D01* |
X249606Y360000D02* |
X250394D01* |
X249606Y365000D02* |
X250394D01* |
X243701Y370000D02* |
X244488D01* |
X203701Y340000D02* |
X204488D01* |
X209606Y345000D02* |
X210394D01* |
X209606Y350000D02* |
X210394D01* |
X203701Y355000D02* |
X204488D01* |
X209606Y360000D02* |
X210394D01* |
X209606Y365000D02* |
X210394D01* |
X203701Y370000D02* |
X204488D01* |
X178100Y328701D02* |
Y329488D01* |
X173100Y334606D02* |
Y335394D01* |
X168100Y334606D02* |
Y335394D01* |
X163100Y328701D02* |
Y329488D01* |
X158100Y334606D02* |
Y335394D01* |
X153100Y334606D02* |
Y335394D01* |
X148100Y328701D02* |
Y329488D01* |
X178100Y288701D02* |
Y289488D01* |
X173100Y294606D02* |
Y295394D01* |
X168100Y294606D02* |
Y295394D01* |
X163100Y288701D02* |
Y289488D01* |
X158100Y294606D02* |
Y295394D01* |
X153100Y294606D02* |
Y295394D01* |
X148100Y288701D02* |
Y289488D01* |
X178100Y228701D02* |
Y229488D01* |
X173100Y234606D02* |
Y235394D01* |
X168100Y234606D02* |
Y235394D01* |
X163100Y228701D02* |
Y229488D01* |
X158100Y234606D02* |
Y235394D01* |
X153100Y234606D02* |
Y235394D01* |
X148100Y228701D02* |
Y229488D01* |
X178100Y188701D02* |
Y189488D01* |
X173100Y194606D02* |
Y195394D01* |
X168100Y194606D02* |
Y195394D01* |
X163100Y188701D02* |
Y189488D01* |
X158100Y194606D02* |
Y195394D01* |
X153100Y194606D02* |
Y195394D01* |
X148100Y188701D02* |
Y189488D01* |
X216299Y180000D02* |
X215512D01* |
X210394Y175000D02* |
X209606D01* |
X210394Y170000D02* |
X209606D01* |
X216299Y165000D02* |
X215512D01* |
X210394Y160000D02* |
X209606D01* |
X210394Y155000D02* |
X209606D01* |
X216299Y150000D02* |
X215512D01* |
G54D56* |
X325063Y233173D03* |
X329000Y283685D03* |
X246063Y139173D03* |
X250000Y189685D03* |
X286063Y139173D03* |
X290000Y189685D03* |
X293937Y380827D03* |
X290000Y330315D03* |
X253937Y380827D03* |
X250000Y330315D03* |
X213937Y380827D03* |
X210000Y330315D03* |
X137273Y338937D03* |
X187785Y335000D03* |
X137273Y298937D03* |
X187785Y295000D03* |
X137273Y238937D03* |
X187785Y235000D03* |
X137273Y198937D03* |
X187785Y195000D03* |
X206063Y139173D03* |
X210000Y189685D03* |
G54D57* |
X270006Y271061D02* |
X265911D01* |
X270006Y267912D02* |
X265911D01* |
X270006Y264762D02* |
X265911D01* |
X270006Y261612D02* |
X265911D01* |
X270006Y258463D02* |
X265911D01* |
X270006Y255313D02* |
X265911D01* |
X270006Y252164D02* |
X265911D01* |
X270006Y249014D02* |
X265911D01* |
X260872Y239880D02* |
Y243975D01* |
X257722Y239880D02* |
Y243975D01* |
X254573Y239880D02* |
Y243975D01* |
X251423Y239880D02* |
Y243975D01* |
X248274Y239880D02* |
Y243975D01* |
X245124Y239880D02* |
Y243975D01* |
X241974Y239880D02* |
Y243975D01* |
X238825Y239880D02* |
Y243975D01* |
X233785Y249014D02* |
X229691D01* |
X233785Y252164D02* |
X229691D01* |
X233785Y255313D02* |
X229691D01* |
X233785Y258463D02* |
X229691D01* |
X233785Y261612D02* |
X229691D01* |
X233785Y264762D02* |
X229691D01* |
X233785Y267912D02* |
X229691D01* |
X233785Y271061D02* |
X229691D01* |
X238825Y276101D02* |
Y280195D01* |
X241974Y276101D02* |
Y280195D01* |
X245124Y276101D02* |
Y280195D01* |
X248274Y276101D02* |
Y280195D01* |
X251423Y276101D02* |
Y280195D01* |
X254573Y276101D02* |
Y280195D01* |
X257722Y276101D02* |
Y280195D01* |
X260872Y276101D02* |
Y280195D01* |
G54D58* |
X326764Y303000D02* |
X327157D01* |
X346843D02* |
X347236D01* |
G54D59* |
X311096Y303054D02* |
X312596D01* |
X311096Y323054D02* |
X312596D01* |
G74* |
X0Y0D02* |
M02* |
/Modules/Clock/CLKHUB02A/CAM_PROFI/BOARD.PHO |
---|
0,0 → 1,376 |
* |
* |
G04 PADS9.0.2 Build Number: 372616 generated Gerber (RS-274-X) file* |
G04 PC Version=2.1* |
* |
%IN "CLKHUB.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* |
* |
%ADD024C,0.001*% |
%ADD025C,0.01*% |
* |
* |
* |
* |
G04 PC Circuitry* |
G04 Layer Name CLKHUB.pcb - circuitry* |
%LPD*% |
* |
* |
G04 PC Custom Flashes* |
G04 Layer Name CLKHUB.pcb - flashes* |
%LPD*% |
* |
* |
G04 PC Circuitry* |
G04 Layer Name CLKHUB.pcb - circuitry* |
%LPD*% |
* |
G54D24* |
G01X121000Y399000D02* |
X121003D01* |
X359000D02* |
X359003D01* |
X359000Y121000D02* |
X359003D01* |
X359000Y399000D02* |
X359003D01* |
G54D25* |
X121000D02* |
X359000D01* |
Y121000* |
X121000* |
Y399000* |
Y415200D02* |
X221318D01* |
X121000D02* |
X131000Y417700D01* |
Y412700* |
X121000Y415200* |
X359000D02* |
X258682D01* |
X359000D02* |
X349000Y412700D01* |
Y417700* |
X359000Y415200* |
X121000Y404000D02* |
Y420200D01* |
X359000Y404000D02* |
Y420200D01* |
X224545Y416450D02* |
Y416763D01* |
X224545D02* |
X224773Y417388D01* |
X224773D02* |
X225000Y417700D01* |
X225455Y418013* |
X225455D02* |
X226364D01* |
X226364D02* |
X226818Y417700D01* |
X227045Y417388* |
X227045D02* |
X227273Y416763D01* |
X227273D02* |
Y416138D01* |
X227273D02* |
X227045Y415513D01* |
X227045D02* |
X226591Y414575D01* |
X224318Y411450* |
X227500* |
X230000Y418013D02* |
X232500D01* |
X232500D02* |
X231136Y415513D01* |
X231136D02* |
X231818D01* |
X231818D02* |
X232273Y415200D01* |
X232500Y414888* |
X232500D02* |
X232727Y413950D01* |
Y413325* |
X232500Y412388* |
X232500D02* |
X232045Y411763D01* |
X232045D02* |
X231364Y411450D01* |
X230682* |
X230000Y411763* |
X230000D02* |
X229773Y412075D01* |
X229545Y412700* |
X235909Y418013D02* |
X235227Y417700D01* |
X235000Y417075* |
Y416450* |
X235227Y415825* |
X235682Y415513* |
X235682D02* |
X236591Y415200D01* |
X237273Y414888* |
X237273D02* |
X237727Y414263D01* |
X237727D02* |
X237955Y413638D01* |
X237955D02* |
Y412700D01* |
X237727Y412075* |
X237500Y411763* |
X237500D02* |
X236818Y411450D01* |
X235909* |
X235227Y411763* |
X235227D02* |
X235000Y412075D01* |
X234773Y412700* |
Y413638* |
X234773D02* |
X235000Y414263D01* |
X235000D02* |
X235455Y414888D01* |
X235455D02* |
X236136Y415200D01* |
X237045Y415513* |
X237045D02* |
X237500Y415825D01* |
X237727Y416450* |
Y417075* |
X237500Y417700* |
X236818Y418013* |
X236818D02* |
X235909D01* |
X241364D02* |
X240682Y417700D01* |
X240227Y416763* |
X240227D02* |
X240000Y415200D01* |
Y414263* |
X240000D02* |
X240227Y412700D01* |
X240682Y411763* |
X240682D02* |
X241364Y411450D01* |
X241818* |
X242500Y411763* |
X242500D02* |
X242955Y412700D01* |
X243182Y414263* |
X243182D02* |
Y415200D01* |
X242955Y416763* |
X242955D02* |
X242500Y417700D01* |
X241818Y418013* |
X241818D02* |
X241364D01* |
X245227Y415825D02* |
Y411450D01* |
Y414575D02* |
X245909Y415513D01* |
X245909D02* |
X246364Y415825D01* |
X247045* |
X247500Y415513* |
X247500D02* |
X247727Y414575D01* |
Y411450* |
Y414575D02* |
X248409Y415513D01* |
X248409D02* |
X248864Y415825D01* |
X249545* |
X250000Y415513* |
X250000D02* |
X250227Y414575D01* |
Y411450* |
X252273Y418013D02* |
X252500Y417700D01* |
X252727Y418013* |
X252727D02* |
X252500Y418325D01* |
X252273Y418013* |
X252500Y415825D02* |
Y411450D01* |
X254773Y418013D02* |
Y411450D01* |
X383800Y121000D02* |
Y253250D01* |
Y121000D02* |
X381300Y131000D01* |
X386300* |
X383800Y121000* |
Y399000D02* |
Y266750D01* |
Y399000D02* |
X386300Y389000D01* |
X381300* |
X383800Y399000* |
X364000Y121000D02* |
X388800D01* |
X364000Y399000D02* |
X388800D01* |
X368345Y261250D02* |
Y261563D01* |
X368345D02* |
X368573Y262188D01* |
X368573D02* |
X368800Y262500D01* |
X369255Y262813* |
X369255D02* |
X370164D01* |
X370164D02* |
X370618Y262500D01* |
X370845Y262188* |
X370845D02* |
X371073Y261563D01* |
X371073D02* |
Y260938D01* |
X371073D02* |
X370845Y260313D01* |
X370845D02* |
X370391Y259375D01* |
X368118Y256250* |
X371300* |
X376527Y262813D02* |
X374255Y256250D01* |
X373345Y262813D02* |
X376527D01* |
X379709D02* |
X379027Y262500D01* |
X378800Y261875* |
Y261250* |
X379027Y260625* |
X379482Y260313* |
X379482D02* |
X380391Y260000D01* |
X381073Y259688* |
X381073D02* |
X381527Y259063D01* |
X381527D02* |
X381755Y258438D01* |
X381755D02* |
Y257500D01* |
X381527Y256875* |
X381300Y256563* |
X381300D02* |
X380618Y256250D01* |
X379709* |
X379027Y256563* |
X379027D02* |
X378800Y256875D01* |
X378573Y257500* |
Y258438* |
X378573D02* |
X378800Y259063D01* |
X378800D02* |
X379255Y259688D01* |
X379255D02* |
X379936Y260000D01* |
X380845Y260313* |
X380845D02* |
X381300Y260625D01* |
X381527Y261250* |
Y261875* |
X381300Y262500* |
X380618Y262813* |
X380618D02* |
X379709D01* |
X385164D02* |
X384482Y262500D01* |
X384027Y261563* |
X384027D02* |
X383800Y260000D01* |
Y259063* |
X383800D02* |
X384027Y257500D01* |
X384482Y256563* |
X384482D02* |
X385164Y256250D01* |
X385618* |
X386300Y256563* |
X386300D02* |
X386755Y257500D01* |
X386982Y259063* |
X386982D02* |
Y260000D01* |
X386755Y261563* |
X386755D02* |
X386300Y262500D01* |
X385618Y262813* |
X385618D02* |
X385164D01* |
X389027Y260625D02* |
Y256250D01* |
Y259375D02* |
X389709Y260313D01* |
X389709D02* |
X390164Y260625D01* |
X390845* |
X391300Y260313* |
X391300D02* |
X391527Y259375D01* |
Y256250* |
Y259375D02* |
X392209Y260313D01* |
X392209D02* |
X392664Y260625D01* |
X393345* |
X393800Y260313* |
X393800D02* |
X394027Y259375D01* |
Y256250* |
X396073Y262813D02* |
X396300Y262500D01* |
X396527Y262813* |
X396527D02* |
X396300Y263125D01* |
X396073Y262813* |
X396300Y260625D02* |
Y256250D01* |
X398573Y262813D02* |
Y256250D01* |
X0Y0D02* |
M02* |
/Modules/Clock/CLKHUB02A/CAM_PROFI/DRILL.DRL |
---|
0,0 → 1,121 |
% |
T1C.02913F197S55 |
X021Y016 |
X021Y0155 |
X021591Y015 |
X025Y016 |
X025Y0155 |
X025591Y015 |
X029Y016 |
X029Y0155 |
X029591Y015 |
X029591Y018 |
X029591Y0165 |
X029Y0175 |
X029Y017 |
X025591Y0165 |
X025591Y018 |
X025Y017 |
X025Y0175 |
X021591Y018 |
X021591Y0165 |
X021Y0175 |
X021Y017 |
X01781Y018909 |
X01631Y018909 |
X01481Y018909 |
X01481Y022909 |
X01531Y0195 |
X01531Y0235 |
X01581Y0235 |
X01581Y0195 |
X01631Y022909 |
X01681Y0235 |
X01681Y0195 |
X01731Y0235 |
X01731Y0195 |
X01781Y022909 |
X033491Y0259 |
X033491Y0244 |
X033491Y0274 |
X0329Y0249 |
X0329Y0264 |
X0329Y0269 |
X0329Y0254 |
X01781Y028909 |
X01631Y028909 |
X01481Y028909 |
X01481Y032909 |
X01531Y0295 |
X01531Y0335 |
X01581Y0335 |
X01581Y0295 |
X01631Y032909 |
X01681Y0295 |
X01681Y0335 |
X01731Y0335 |
X01731Y0295 |
X01781Y032909 |
X029Y036 |
X029Y0345 |
X029Y035 |
X028409Y0355 |
X028409Y034 |
X025Y036 |
X025Y0345 |
X025Y035 |
X024409Y0355 |
X024409Y034 |
X021Y0345 |
X021Y036 |
X021Y035 |
X020409Y0355 |
X020409Y034 |
X020409Y037 |
X021Y0365 |
X024409Y037 |
X025Y0365 |
X028409Y037 |
X029Y0365 |
T2C.035F197S55 |
X034685Y025104 |
X034685Y026104 |
X034685Y027104 |
X034373Y033159 |
X034373Y032159 |
X033373Y033159 |
X033373Y032159 |
X030913Y028674 |
X029913Y028674 |
X028913Y028674 |
X033373Y034159 |
X034373Y034159 |
T3C.05315F107S55 |
X013727Y019894 |
X018779Y0195 |
X020606Y013917 |
X021Y018969 |
X024606Y013917 |
X025Y018969 |
X028606Y013917 |
X029Y018969 |
X0329Y028369 |
X032506Y023317 |
X018779Y0235 |
X013727Y023894 |
X013727Y029894 |
X013727Y033894 |
X018779Y0295 |
X018779Y0335 |
X021Y033031 |
X025Y033031 |
X029Y033031 |
X029394Y038083 |
X025394Y038083 |
X021394Y038083 |
T4C.12598F035S794 |
X014Y014 |
X034Y014 |
X034Y038 |
X014Y038 |
M30 |
/Modules/Clock/CLKHUB02A/SCH/CLKHUB02A.pdf |
---|
Cannot display: file marked as a binary type. |
svn:mime-type = application/octet-stream |
Property changes: |
Added: svn:mime-type |
+application/octet-stream |
\ No newline at end of property |
/Modules/Clock/CLKHUB02A/SCH/CLKHUB.DSN |
---|
Cannot display: file marked as a binary type. |
svn:mime-type = application/octet-stream |
Property changes: |
Added: svn:mime-type |
+application/octet-stream |
\ No newline at end of property |
/Modules/Clock/CLKHUB02A/SCH/CLKHUB.asc |
---|
0,0 → 1,129 |
*PADS-PCB* |
*PART* |
C1 C-ELYT,10uF@ELYTB |
C2 C,100nF@C0805 |
C3 C,100nF@C0805 |
C4 C,100nF@C0805 |
C5 C,100nF@C0805 |
C6 C,100nF@C0805 |
C7 C,10nF@C0805 |
D1 D,1N4007SMD@MELF |
J1 SATA,JUMP7@SATA |
J10 SATA,JUMP7@SATA |
J11 SATA,JUMP7@SATA |
J12 JUMP2X3,JUMP2X3@JUMP2X3 |
J14 JUMP3,JUMP3@JUMP3 |
J15 JUMP3,JUMP3@JUMP3 |
J2 SATA,JUMP7@SATA |
J3 SATA,JUMP7@SATA |
J4 SATA,JUMP7@SATA |
J5 SATA,JUMP7@SATA |
J6 SATA,JUMP7@SATA |
J7 SATA,JUMP7@SATA |
J8 SATA,JUMP7@SATA |
J9 SATA,JUMP7@SATA |
M1 PAD,HOLE_M3@HOLE_M3 |
M2 PAD,HOLE_M3@HOLE_M3 |
M3 PAD,HOLE_M3@HOLE_M3 |
M4 PAD,HOLE_M3@HOLE_M3 |
R1 R,127@R0805 |
R10 R,100@R0805 |
R11 R,195@R0805 |
R12 R,195@R0805 |
R13 R,195@R0805 |
R14 R,195@R0805 |
R15 R,195@R0805 |
R16 R,195@R0805 |
R17 R,195@R0805 |
R18 R,195@R0805 |
R19 R,195@R0805 |
R2 R,127@R0805 |
R20 R,195@R0805 |
R21 R,195@R0805 |
R22 R,195@R0805 |
R23 R,195@R0805 |
R24 R,195@R0805 |
R25 R,195@R0805 |
R26 R,195@R0805 |
R27 R,195@R0805 |
R28 R,195@R0805 |
R29 R,195@R0805 |
R3 R,83@R0805 |
R30 R,195@R0805 |
R4 R,83@R0805 |
R5 R,127@R0805 |
R6 R,127@R0805 |
R7 R,83@R0805 |
R8 R,83@R0805 |
R9 R,100@R0805 |
U1 TQFP32,CDCLVP111@TQFP32 |
*NET* |
*SIGNAL* GND |
J1.1 J1.4 J1.7 J2.1 J2.4 J2.7 J3.1 J3.4 |
J3.7 J4.1 J4.4 J4.7 J5.1 J5.4 J5.7 J6.1 |
J6.4 J6.7 J7.1 J7.4 J7.7 J8.1 J8.4 J8.7 |
J9.1 J9.4 J9.7 J10.1 J10.4 J10.7 J11.1 J11.4 |
J11.7 J12.1 J12.2 J12.5 J12.6 D1.A C1.C C2.1 |
C3.1 C4.1 C5.1 C6.1 M1.1 M2.1 M3.1 M4.1 |
J14.1 R3.1 R4.1 R7.1 R8.1 R11.1 R12.1 R13.1 |
R14.1 R15.1 R16.1 U1.8 R18.1 R17.1 R19.1 R20.1 |
R21.1 R22.1 R23.1 R24.1 R25.1 R26.1 R27.1 R28.1 |
R29.1 R30.1 C7.2 |
*SIGNAL* N07209 |
J1.5 R5.1 R7.2 R10.1 U1.7 |
*SIGNAL* N07217 |
J1.6 R6.1 R8.2 R10.2 U1.6 |
*SIGNAL* N07225 |
J1.2 R1.1 R3.2 R9.1 U1.3 J15.3 |
*SIGNAL* N07229 |
J1.3 R2.1 R4.2 R9.2 U1.4 J15.2 |
*SIGNAL* N09725 |
J11.3 R14.2 U1.10 |
*SIGNAL* N09745 |
J10.3 R12.2 U1.12 |
*SIGNAL* N09755 |
J10.2 R11.2 U1.13 |
*SIGNAL* N13453 |
J11.2 R13.2 U1.11 |
*SIGNAL* N15785 |
U1.5 J15.1 C7.1 |
*SIGNAL* N15789 |
J14.2 U1.2 |
*SIGNAL* N16585 |
J9.3 R15.2 U1.14 |
*SIGNAL* N16592 |
J9.2 R16.2 U1.15 |
*SIGNAL* N16599 |
J8.3 U1.17 R25.2 |
*SIGNAL* N16606 |
J8.2 U1.18 R26.2 |
*SIGNAL* N16613 |
J7.3 U1.19 R27.2 |
*SIGNAL* N16620 |
J7.2 U1.20 R28.2 |
*SIGNAL* N16627 |
J6.3 U1.21 R29.2 |
*SIGNAL* N16645 |
J6.2 U1.22 R30.2 |
*SIGNAL* N16840 |
J5.3 U1.23 R23.2 |
*SIGNAL* N17106 |
J5.2 U1.24 R24.2 |
*SIGNAL* N19218 |
J4.3 U1.26 R21.2 |
*SIGNAL* N19240 |
J4.2 U1.27 R22.2 |
*SIGNAL* N19269 |
J3.3 U1.28 R19.2 |
*SIGNAL* N19305 |
J3.2 U1.29 R20.2 |
*SIGNAL* N19362 |
J2.3 U1.30 R17.2 |
*SIGNAL* N19391 |
J2.2 U1.31 R18.2 |
*SIGNAL* VCC |
J12.3 J12.4 D1.C C1.A C2.2 C3.2 C4.2 C5.2 |
C6.2 J14.3 R1.2 R2.2 R5.2 R6.2 U1.1 U1.9 |
U1.16 U1.25 U1.32 |
*END* |
/Modules/Clock/CLKHUB02A/DOC/CLKHUB02A.pdf |
---|
Cannot display: file marked as a binary type. |
svn:mime-type = application/octet-stream |
Property changes: |
Added: svn:mime-type |
+application/octet-stream |
\ No newline at end of property |
/Modules/Clock/CLKHUB02A/PrjInfo.txt |
---|
0,0 → 1,12 |
[InfoShortDescription.en] |
Low jitter clock distributor |
[InfoShortDescription.cs] |
Distributor hodin s nízkým šumem. |
[InfoLongDescription.en] |
high speed clock distributor with ten LVPECL outputs. Usabele up to 3.5GHz |
[InfoLongDescription.cs] |
10ti násobný budič hodin. Výstupy jsou v logice LVPECL vyvedené na SATA konektory. Je použitelný do frekvence 3,5GHz |
[End] |
/Modules/Clock/RTC_DALLAS/DS1307.pdf |
---|
0,0 → 1,2806 |
+%âãÏÓ |
+ |
+xref |
+146 32 |
+0000000016 00000 n |
+0000001487 00000 n |
+0000001622 00000 n |
+0000001665 00000 n |
+0000001997 00000 n |
+0000002164 00000 n |
+0000002778 00000 n |
+0000003318 00000 n |
+0000003565 00000 n |
+0000003833 00000 n |
+0000004086 00000 n |
+0000004188 00000 n |
+0000005347 00000 n |
+0000005489 00000 n |
+0000005775 00000 n |
+0000006734 00000 n |
+0000007576 00000 n |
+0000008077 00000 n |
+0000008336 00000 n |
+0000009249 00000 n |
+0000010203 00000 n |
+0000011024 00000 n |
+0000011740 00000 n |
+0000012633 00000 n |
+0000047340 00000 n |
+0000060466 00000 n |
+0000089324 00000 n |
+0000109920 00000 n |
+0000116512 00000 n |
+0000116753 00000 n |
+0000116948 00000 n |
+0000000936 00000 n |
+trailer |
+<</Size 178/Prev 296211/Root 147 0 R/Info 145 0 R/ID[<EA35B1B21DCA341CCE9FBF22429D99EA><BDE42EF0B437424AAF6DD067A1ACA3FB>]>> |
+startxref |
+0 |
+%%EOF |
+ |
+177 0 obj<</Length 451/B 560/Filter/FlateDecode/I 584/L 544/O 528/S 395>>stream |
+,Ç"4 Z\ ´ KÄ\ /¤ ÇÀÂ$¤eØì m Å5LÖÎ0<d¸Ä`ÍÃÌðy |
+C8Ã!!]n2f`F'23&0>f]Æ°á%» CÃsÆ |
+-@þD&^°8Ã} Don |
+157 0 obj<</Length 1088/Filter/FlateDecode>>stream |
+Bë0âCüHþ=ñêCKäÛjbð9g1ikys^¾}¢ê¥ëùlSs;ñ}ÍÄÉ}®zBÅÓ f:§¾ø±Ñûß´þxrv%ùãÿßSÌ TÔÚÿý¢´³Q×àI&ÄoLÉëLaS|ÄE L#ð_^nÿû×»G7p¾&?ÃHâI6z4²)@]ce |
+.ý9xR¸UñжtC' 5i ×ÓûÖ¬jðNæjgßäî»ôµs=TU |
+t½ÀÃf°>òòu<fXóô°$!Ϻ/ úæp ´ý²^7û6¥V}§fE£f¼Hë³®Åeñmn)< |
+¿1W÷%Im0Voû¢¬M¾³ÓO(Á¿ $¼8 |
+159 0 obj<</Length 216/Filter/FlateDecode>>stream |
+HTP1nÃ0Üõ |
+U鶷8m5µRêµ¹$û~g]ó«Y<·+Õ´½áozø0s²X/F²GøøMð!«å7 Ùjl |
+ |
+160 0 obj<</Length 889/Filter/FlateDecode>>stream |
+æßñû#OìàÃ'ñçÑ«8æîïGG1Ý)w\q¼ÅvÇmßÏÚ!¸@ñÍrÍ.a±¼XÍâ¹c¼ ìUt={í"íá8lïÜó ³Î |
+×å6ªÉ`p:ôrÁNÚÃõí ^öçP¾M&rHÛ½HäwºÏ ÛëüߢyD'5[6ÕC#*uGu°þÒFZië«E§êNÁ:{(âObÙ:îSd³NUj;%ÉûI6Öå$s©HHÂNJa0C#Ùв&é2Õl!ÒHÝ8¢ðº¤î¤l["¢á{nÓdå KèA½ÂFVÊ~j,hØ®dy.TÕèêh¶Â(~.'Âr°¨q |
+ZÃ)fIôUZÔ1ª¨uç!T×HXò(z=H;8¼³'#ÔòØ-¿&Ûï¡¿_þÊ 7û |
+w¹¤ú ¾b¸Xæ¢%:çKÀb¬?L?ü+À Õ |
+161 0 obj<</Length 772/Filter/FlateDecode>>stream |
+Îÿ/¿ß¸| |
+;æó~2´ç¹Sðn1 ÆF-çõqðùÏ: FÁá±,÷iy7·ÒÑ%ëB]s¨Ð ±§iIò´Ä!d,âþ³ZVJI¼[f©Oý§Zzcl§îK<½ýr8õ_¤"GKê&£© |
+«ß¥Ýº°²ÃDu°Ø {ZT-ÒdØÏØ¿b+4õN3õÉìsk¦§<xâ¸~íàdq*,©ÎZÁ OªÙ/âí¸Í#?ßLþÎv"4ïW·íÓιÐHÌ+ûv(6½¢hùb'ÑßClÁÐ%î{IÛçM5w¤ÃËèô¨b³gDz8EuK«CÝ |
+<þ¿¨%ÞWgõ? ãÏT |
+164 0 obj<</Length 843/Filter/FlateDecode>>stream |
+Lç|R6óåf£°Ìîþáñ®üÍ~ñ ÒsðØ ç3ðxgPw§Ý9öé¼AÓDyB~,ãÄéà9Üð |
+\[ ÄÏЮÆlýmn:¯Q:Ûû#R!ð˰Ôð1vlÏ{»!Fù%ÄÓyMÓ'?Ó_!¶¯ÎNþ*N ÁÛÿÕÀ7ë§7ýþË<ÊkÒ gc⨠¶ÿ|[$¾Àw:mPÌæÐÝçx§?7Agÿ²Ó LØ |
+165 0 obj<</Length 884/Filter/FlateDecode>>stream |
+rwçýpøQ8uÓÜé'êp¤´Ï°§d£Øñß}rÁéæíèÞcÿ^/©¢TRÆTz,]ëÔ¨äËc;Vª¦jÕ.îÒ)òÇà´fá¾Aj{*)|FtdÔÐ P>òǺÿÓ{bq?®Jî|êpHH@éÁ8jh]âÕû ÆTR[ |
+F!Ïäöhû WhL N¬>YfÔRh«øfÚ UuÀòÑÐÄZP¾xíÇÒ7vm4ó4M²ÌK)¼cGKnXü+nýá_ Èþð |
+166 0 obj<</Length 751/Filter/FlateDecode>>stream |
+;nnã;s£s¶-Àµ¬ëë/KÁqµæ(²ØQµZÍ?Î<_SäÀhîáïºÿÜÐæÄq} 1±B±uôáBCY sÔ«ÓÎ\²×¾CZ4äía¢îJ¶ÿÑg¬àe*ª?|ú/ñºð:n½¤¸_Af |
+¸HFþÅòÏe6Ât¦°}×U( |
+öº©@ßP5LÉ.½gjxá\ ·e]ÁæÒ }~@«¥µË1`¿Jæ+pä$ó ¦ |
+®Ï(/¨`ÞÒU²¤ãÎë¶üp%®hmÊí1Ä;»È l¸4Ñc+»é°·g.Ô.Ñ-¾ôþÈj(n":pÖUÜm§t©µs?.R«0hØÈÐÜ^í¶G$rc´úÈÚÂö8êsap8Q³ëÊhXÖ«ÂXÚSQeÃÙNjÏUÒvc÷füLÉØZ³ÅÐÔ©nò¹Ê;L-{çéãIcLßý` QÀ |
+167 0 obj<</Length 646/Filter/FlateDecode>>stream |
+HUÉn1½ÏWèè `F¤ö£í K¬tAÑS (ìÿ¿<¹Û ñøôH%)ª]Ñ2v |
+$0¡¤\¬¸kÕ<ø@·)A¨·;ßb#Æ Ùö:Vµ¶Þ0ô³Þ°¯×á<ú"rþ§[ßuëÜÝç |
+U~é4hÊ¿Uø5ÿè,è¨á¼ïÛUÿ |
+Õüo¿ônñíþÓsuâÞçí4^pc BjWÊ AvÁÅt±eTÈ6¥¹^å9#ÙÄ7ÔñV*+»óÍ;'ùK¾å?Nö^¹B,BÙJÅñ_ȶ¸ØﺻòÈ<Kªx¸Bý` |
+Ⱦ |
+168 0 obj<</Length 823/Filter/FlateDecode>>stream |
+Ù(&xÉ ¶hjü´Á5úæHU;ÖèìBä¤à´¦À¬x ¢<ÎA.zqË /ÍkÞJáIz¥aª´w"^ë½F×æ9}m¨²î0øæ¬B%U|/t F`ʵªØL Z ÚÂC+JÑÑcá¾Á¨PÛ 5ª&gߺÏòs®Þ±µLïÂÞ NÌz·É¹q/iç©p/øù{° UE8daű |
+³+Ê*ÂØÝ+CöÎDnsÔÛ'¥?I³ð¹ëÊòº{Ð{u¨AQ¶Dh~~EÁ2í~R+DwVPüáé(;~1G¸µß¶Û«Û§ûëõ±½èa)-MÒ¦¬¨He8ª<,¾Z©nk |
+q°«DrI+Q åw¢^u¼(aó ËD:¸l¹ÛJСðFÈØqûºñFCÆ_È%ìGܪ+TkeëYÆ×9¹Øx{þ µ O¬ö |
+169 0 obj<</Length 34621/Filter/FlateDecode/Length1 59536>>stream |
+HÔV{<éæb0ȽÄÐëVî!w[aĸDÓ`0fvfÜ2s¤Û ÅV$å²6mm*jN$§ÒV{)ÊYiûN´»uÎÙýï\çó|÷w}~Ïûûþ~ï0 à }UÓÛ!3 |
+f5È"ÿVÊar<'¡ò) SÃL" &]I¨¼ âEsÚR× ;Ò Ññ©Q%ª2 øÕ ÒÃblî8¸4á0ÔMÊP±RÀÒ1aÊåa®( oÏe2°S/_p]Bq)<9/ùJÔ~ª$08¬ûaX f ÕÀã |
+è=Ðñt½DÎã³x3Í# ¸¡çÑs æÃì@3ÝÕÀ¡¹ 5#²&ÙÞÙo0ÒØR±¦/ÊòÆb0äP 3'ÁJIH'M <FlÅàKa 4ûT¦I&DàxÀBt9K&D>õW*÷h¿x°çÏßMÑÒõKÅj¡+YX¥Õ»V|)^G:¾A°I}ÃÃcPá×81x4Ñò¨MÀãªCX|v;:¡ñBÄ%LæòãÈ ºDANuÁG3Ä'iA6&sýß,Ù$dpxìh$ÅOb3YH +$/9mS*âë³ÒÍÇ׶Yéîî@óXe1ílOÏ:ìl¡5?ðE |
+p9$C[µµ]øÿþD%¿ç)íAßûN¬HîX ã1fæ"Òi |
+¹sÊ |
+¡î%öµZéX>1;#+»W+ü»ö¡É§7m7|þ0%AlÊ/Ô§¯M¶±?m©&"Ýü"ÿ®^åÝ65©,ùÕõ~«G^:è}R´E÷P|vÓj¯±õ'lî¾5¿So÷ú3HàиÁÓ[òT¶(+íÕkë®S5^Õ/r¤|ËD 4_ç麱¶¬¾ù¾½þ±ºòwNËåJx!{M¶.ê`6¦²¥§ |
+výô¢ºªkC;ñ¦lNG]QasªqVÞÃÙÑnÞ'rúSöw |
+\¦¦S³j;§L(Æc¡WÃb°X%4Îznä~ê æi÷Õ4ÿ?Å, ²âSÛü |
+âÒñÿ)¾ùÉýÛ9@»9 |
+½&e8\[«[5àpkD2ßxkðÄñ Ã7lìíX2A9¥«¶¦±EÊqÖcôûá̲ïjõM¯$Æ¢]@ýý<×Á°ÛÑqr§ó$sô±ëçMG6 Æs çÎå¥òÙÑ1B ʲZ~l&+àF w.gAÖ¤9eõO%\>CÈæ&uá¹ÂÐøM.é ÈÊDaϦÎÈdmç«É+ò<ù_èÏ´ |
+{é |
+kT¤Cf#ÞGeNtBBǾuظP0yùdfÁÌ©ö=üõ7/ËÓumuH²ê¶ÇóEZ EÇ¡¨L~^TE2"nóÆØü#úk·¨ñÛ;{ë(ÿ??ñ`'ÉaÁ°\ÓÖ/Îcî%+O¬§SJÈÝrÚ·#§Õ~P÷õxè~³³¥^7"ÇÞÿ½ÍÁ!¼ÊÆ1ิ¶U?Êø¼Ç©DÛ0£BÕ`7½¿íÞ§PE¦×V/¾ajkh~uTe¡"óØénkúD`M;EzZ¼hj :^aíä¥W-á{,»C»ÀXÓï®6öø«Ì'¸úþáFèKOK íÛzÊlnϸLÎó®}mkÖÖ_ÜT |
+nǺ\é²Ùõd¥J¥u¬Vl¯õÝ$|¥þF¸Õ?Bä9bÙwîÒ\<ÛIÁ'x½*öÛ÷'Tt¢]¡ý78=ÿo+WDmª»ï¹ÿB}ÇCµ÷qüÌJc_¦¬Q#²<3Èd;eÆRJ24F.ºe¦"îtqE!²iUJJ"JÙRºÊçÌhq[^ÏÏó4ÿùý¾¿ß9¿åó}¿ßãµ}ÿX aÀX } |
+ö'°sMS ÆÊ én(ÅoËà<|ÃàË¿# ó; dÖø3¬`Ƨá~´²m8³M¸dn |
+ïzP}w0sia©àª%ø~>WH| _tóÆjÕÑ2½ÖÜgvmP?_¿Fäóí4'ääÄ~;yì£ÿ^~`Øóª¦ y®Y®IñÇÎ/t.óÓ{WHP ¿W/$Å÷céñÝ ï-°§è¯¼\DCÂmz°sô±¨lôdQéí"òͪÞþ¿QSnEŹY+£¸T¥%5²Mý[,4,LAÒoS¬Ê×ÑfÒ½ÊEBEI;mèéi)£I㶠#!åôØ+¨zÝË;q\ñʳhÛõØ?,¶_ï|9"R»ÇÓ#¿*º½=>ð´ô¹Ü¯TÄ1ízϦó Û|fZuêYób³¦cR6ì±Ø¹Ç¬+q9ieí gÝGüõó^lq~ãÀ=9(ÑìÞ¸k3u}NÈçvle0OôæÅVïSwäÄå´$Ï8Åh¤°Ôk&Ínf_HÄ á |
+SþÓïðÅ |
+¯þKKç[ñ°j?ODCÒhɵBèÓëí@ËÜûmµq-àÖyÃE!opm.«X¡@ àlTU Øð?wÀî-üU@Ð@ ÌSUû(ìÈÈÈ¯Í |
+¹>ñE> ÄÙf¨ÉPÞxUz¶"É?ºû`ZÌk´°Û-fcC¼E¶KCõÁ3JäG;"ïqÂ÷^j!´&ñó-ýâß¼Òe§®JNw´õ¹hòâR÷:a÷l¨Óàj*{_ó¢æjŹ:\Th:ãôØfîä[ Niäþ±BBÙãçMº¦Ü;áñpÞüP§´Õ#Zô¬£ÄÖWNNäãMÐsÝL=_ÝÐzùk3hÅÃ`ïÞèUÌyKliMè®>¾ÿvVÔ&íIYmÒ£ zó¼&§®O´Nçq iûå°iw |
+T] |
+CR0VèBwÿÐ@¾Ti¡áalUgv$+4Zâç$*þiª]°.¤jÍ_f2a5²}!|9ºùFúùPĹÑÚÎ.ªvVvv4/UK |
+ÅÆfcÃ=Î~))ÍôfmJu©ª¡<ËþJÓ^ Ü|ñ|n!`í~¶` ~> |