primo commit
This commit is contained in:
61
cat.svg
Normal file
61
cat.svg
Normal file
@@ -0,0 +1,61 @@
|
||||
<?xml version="1.0" encoding="iso-8859-1"?>
|
||||
<!-- Generator: Adobe Illustrator 16.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
|
||||
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
|
||||
<svg version="1.1" id="Capa_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
|
||||
width="413.928px" height="413.928px" viewBox="0 0 413.928 413.928" style="enable-background:new 0 0 413.928 413.928;"
|
||||
xml:space="preserve">
|
||||
<g>
|
||||
<path d="M115.041,145.731c-15.572,0-28.242,12.669-28.242,28.242c0,15.575,12.675,28.242,28.242,28.242
|
||||
c15.57,0,28.242-12.667,28.242-28.242C143.283,158.4,130.616,145.731,115.041,145.731z M115.041,186.02
|
||||
c-6.637,0-12.042-5.4-12.042-12.04c0-6.645,5.405-12.044,12.042-12.044s12.042,5.399,12.042,12.044
|
||||
C127.083,180.62,121.683,186.02,115.041,186.02z"/>
|
||||
<path d="M244.873,145.731c-15.572,0-28.244,12.669-28.244,28.242c0,15.575,12.677,28.242,28.244,28.242
|
||||
c15.578,0,28.255-12.667,28.255-28.242C273.127,158.4,260.451,145.731,244.873,145.731z M244.873,186.02
|
||||
c-6.634,0-12.044-5.4-12.044-12.04c0-6.645,5.41-12.044,12.044-12.044c6.645,0,12.056,5.399,12.056,12.044
|
||||
C256.928,180.62,251.528,186.02,244.873,186.02z"/>
|
||||
<path d="M353.158,277.963c0-46.918,26.024-63.424,27.084-64.072c3.85-2.278,5.115-7.246,2.837-11.096
|
||||
c-2.283-3.857-7.256-5.121-11.101-2.843c-1.429,0.85-35.021,21.39-35.021,78.011c0,32.083,10.958,52.708,19.76,69.282
|
||||
c6.312,11.865,11.29,21.246,11.29,31.968c0,7.683-1.672,13.23-4.83,16.062c-3.217,2.879-7.42,2.452-7.499,2.452
|
||||
c-0.385-0.058-0.78-0.084-1.171-0.084h-29.815c3.47-5.432,5.516-11.855,5.516-18.769V13.703c0-3.636-2.426-6.827-5.933-7.805
|
||||
c-3.496-0.986-7.225,0.503-9.107,3.615l-39.562,65.485c-12.139-0.231-47.809-0.509-154.588-0.509
|
||||
c-22.673,0-33.895,0.016-39.564,0.056L45.009,4.371c-1.724-3.317-5.508-5.028-9.109-4.137c-3.631,0.886-6.184,4.137-6.184,7.868
|
||||
v370.762c0,19.28,15.681,34.969,34.966,34.969H188.46h106.784h58.82c0.532,0.047,1.286,0.095,2.225,0.095
|
||||
c3.961,0,11.085-0.881,17.36-6.297c7.003-6.054,10.558-15.614,10.558-28.429c0-14.761-6.402-26.815-13.179-39.572
|
||||
C362.65,323.878,353.158,306.007,353.158,277.963z M188.46,397.638H64.682c-10.347,0-18.766-8.422-18.766-18.768V41.28
|
||||
l23.451,45.148c1.484,2.874,4.633,4.538,7.702,4.353c1.625-0.042,13.948-0.092,43.949-0.092c62.264,0,151.983,0.195,158.27,0.504
|
||||
c3.068,0.327,6.159-1.14,7.805-3.863l26.915-44.555v336.1c0,10.347-8.416,18.769-18.763,18.769H188.46V397.638z"/>
|
||||
<path d="M194.134,218.562h-28.35c-4.47,0-8.101,3.623-8.101,8.1c0,4.478,3.631,8.101,8.101,8.101h6.146l-0.599,10.31
|
||||
c-0.266,4.467,3.148,8.295,7.612,8.559c0.158,0.005,0.319,0.011,0.475,0.011c4.261,0,7.831-3.328,8.079-7.631l0.654-11.254h5.982
|
||||
c4.472,0,8.1-3.622,8.1-8.1S198.606,218.562,194.134,218.562z"/>
|
||||
</g>
|
||||
<g>
|
||||
</g>
|
||||
<g>
|
||||
</g>
|
||||
<g>
|
||||
</g>
|
||||
<g>
|
||||
</g>
|
||||
<g>
|
||||
</g>
|
||||
<g>
|
||||
</g>
|
||||
<g>
|
||||
</g>
|
||||
<g>
|
||||
</g>
|
||||
<g>
|
||||
</g>
|
||||
<g>
|
||||
</g>
|
||||
<g>
|
||||
</g>
|
||||
<g>
|
||||
</g>
|
||||
<g>
|
||||
</g>
|
||||
<g>
|
||||
</g>
|
||||
<g>
|
||||
</g>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 2.9 KiB |
4345
squeow_hw/bom/ibom.html
Normal file
4345
squeow_hw/bom/ibom.html
Normal file
File diff suppressed because one or more lines are too long
1947
squeow_hw/fp-info-cache
Normal file
1947
squeow_hw/fp-info-cache
Normal file
File diff suppressed because it is too large
Load Diff
BIN
squeow_hw/jlcpcb.zip
Normal file
BIN
squeow_hw/jlcpcb.zip
Normal file
Binary file not shown.
285
squeow_hw/jlcpcb/squeow-B_Cu.gbl
Normal file
285
squeow_hw/jlcpcb/squeow-B_Cu.gbl
Normal file
@@ -0,0 +1,285 @@
|
||||
G04 #@! TF.GenerationSoftware,KiCad,Pcbnew,6.0.7+dfsg-3*
|
||||
G04 #@! TF.CreationDate,2022-10-05T14:50:53+02:00*
|
||||
G04 #@! TF.ProjectId,squeow,73717565-6f77-42e6-9b69-6361645f7063,rev?*
|
||||
G04 #@! TF.SameCoordinates,Original*
|
||||
G04 #@! TF.FileFunction,Copper,L2,Bot*
|
||||
G04 #@! TF.FilePolarity,Positive*
|
||||
%FSLAX46Y46*%
|
||||
G04 Gerber Fmt 4.6, Leading zero omitted, Abs format (unit mm)*
|
||||
G04 Created by KiCad (PCBNEW 6.0.7+dfsg-3) date 2022-10-05 14:50:53*
|
||||
%MOMM*%
|
||||
%LPD*%
|
||||
G01*
|
||||
G04 APERTURE LIST*
|
||||
G04 #@! TA.AperFunction,ViaPad*
|
||||
%ADD10C,0.800000*%
|
||||
G04 #@! TD*
|
||||
G04 #@! TA.AperFunction,Conductor*
|
||||
%ADD11C,1.000000*%
|
||||
G04 #@! TD*
|
||||
G04 APERTURE END LIST*
|
||||
D10*
|
||||
X34544000Y-48361600D03*
|
||||
X39751000Y-29718000D03*
|
||||
X23749000Y-22352000D03*
|
||||
X32918400Y-48361600D03*
|
||||
X20193000Y-46736000D03*
|
||||
X17741500Y-22352000D03*
|
||||
X41783000Y-22733000D03*
|
||||
X32893000Y-24003000D03*
|
||||
X15113000Y-53467000D03*
|
||||
X41910000Y-54610000D03*
|
||||
X43307000Y-37338000D03*
|
||||
X27178000Y-38100000D03*
|
||||
X15113000Y-39497000D03*
|
||||
X26060400Y-38811200D03*
|
||||
X17627600Y-45669200D03*
|
||||
X28702000Y-28448000D03*
|
||||
D11*
|
||||
X17627600Y-45669200D02*
|
||||
X19202400Y-45669200D01*
|
||||
X26060400Y-31089600D02*
|
||||
X26060400Y-38811200D01*
|
||||
X19202400Y-45669200D02*
|
||||
X26060400Y-38811200D01*
|
||||
X28702000Y-28448000D02*
|
||||
X26060400Y-31089600D01*
|
||||
G04 #@! TA.AperFunction,Conductor*
|
||||
G36*
|
||||
X47693621Y-12847002D02*
|
||||
G01*
|
||||
X47740114Y-12900658D01*
|
||||
X47751500Y-12953000D01*
|
||||
X47751500Y-55627000D01*
|
||||
X47731498Y-55695121D01*
|
||||
X47677842Y-55741614D01*
|
||||
X47625500Y-55753000D01*
|
||||
X12699500Y-55753000D01*
|
||||
X12631379Y-55732998D01*
|
||||
X12584886Y-55679342D01*
|
||||
X12573500Y-55627000D01*
|
||||
X12573500Y-45662125D01*
|
||||
X16614245Y-45662125D01*
|
||||
X16632170Y-45859088D01*
|
||||
X16688010Y-46048819D01*
|
||||
X16779640Y-46224090D01*
|
||||
X16903568Y-46378225D01*
|
||||
X16908292Y-46382189D01*
|
||||
X16915533Y-46388265D01*
|
||||
X17055074Y-46505354D01*
|
||||
X17060472Y-46508321D01*
|
||||
X17060477Y-46508325D01*
|
||||
X17157853Y-46561857D01*
|
||||
X17228387Y-46600633D01*
|
||||
X17234254Y-46602494D01*
|
||||
X17234256Y-46602495D01*
|
||||
X17411036Y-46658573D01*
|
||||
X17416906Y-46660435D01*
|
||||
X17570827Y-46677700D01*
|
||||
X19140557Y-46677700D01*
|
||||
X19154164Y-46678437D01*
|
||||
X19185662Y-46681859D01*
|
||||
X19185667Y-46681859D01*
|
||||
X19191788Y-46682524D01*
|
||||
X19218038Y-46680227D01*
|
||||
X19241788Y-46678150D01*
|
||||
X19246614Y-46677821D01*
|
||||
X19249086Y-46677700D01*
|
||||
X19252169Y-46677700D01*
|
||||
X19264138Y-46676526D01*
|
||||
X19294906Y-46673510D01*
|
||||
X19296219Y-46673388D01*
|
||||
X19340484Y-46669515D01*
|
||||
X19388813Y-46665287D01*
|
||||
X19393932Y-46663800D01*
|
||||
X19399233Y-46663280D01*
|
||||
X19488234Y-46636409D01*
|
||||
X19489367Y-46636074D01*
|
||||
X19572814Y-46611830D01*
|
||||
X19572818Y-46611828D01*
|
||||
X19578736Y-46610109D01*
|
||||
X19583468Y-46607656D01*
|
||||
X19588569Y-46606116D01*
|
||||
X19604460Y-46597667D01*
|
||||
X19670660Y-46562469D01*
|
||||
X19671826Y-46561857D01*
|
||||
X19748853Y-46521929D01*
|
||||
X19754326Y-46519092D01*
|
||||
X19758489Y-46515769D01*
|
||||
X19763196Y-46513266D01*
|
||||
X19835318Y-46454445D01*
|
||||
X19836174Y-46453754D01*
|
||||
X19875373Y-46422462D01*
|
||||
X19877877Y-46419958D01*
|
||||
X19878595Y-46419316D01*
|
||||
X19882928Y-46415615D01*
|
||||
X19916462Y-46388265D01*
|
||||
X19945688Y-46352937D01*
|
||||
X19953677Y-46344158D01*
|
||||
X26729779Y-39568055D01*
|
||||
X26739922Y-39558953D01*
|
||||
X26764618Y-39539097D01*
|
||||
X26769425Y-39535232D01*
|
||||
X26801692Y-39496778D01*
|
||||
X26804873Y-39493130D01*
|
||||
X26806517Y-39491317D01*
|
||||
X26808709Y-39489125D01*
|
||||
X26835980Y-39455924D01*
|
||||
X26836762Y-39454982D01*
|
||||
X26892593Y-39388447D01*
|
||||
X26892595Y-39388444D01*
|
||||
X26896554Y-39383726D01*
|
||||
X26899123Y-39379053D01*
|
||||
X26902503Y-39374938D01*
|
||||
X26946428Y-39293020D01*
|
||||
X26947057Y-39291862D01*
|
||||
X26988865Y-39215812D01*
|
||||
X26988865Y-39215811D01*
|
||||
X26991833Y-39210413D01*
|
||||
X26993444Y-39205335D01*
|
||||
X26995963Y-39200637D01*
|
||||
X27023153Y-39111702D01*
|
||||
X27023536Y-39110472D01*
|
||||
X27049771Y-39027770D01*
|
||||
X27051635Y-39021894D01*
|
||||
X27052228Y-39016603D01*
|
||||
X27053788Y-39011502D01*
|
||||
X27063195Y-38918889D01*
|
||||
X27063315Y-38917769D01*
|
||||
X27068900Y-38867973D01*
|
||||
X27068900Y-38864444D01*
|
||||
X27068955Y-38863461D01*
|
||||
X27069404Y-38857756D01*
|
||||
X27073152Y-38820864D01*
|
||||
X27073152Y-38820861D01*
|
||||
X27073774Y-38814737D01*
|
||||
X27069459Y-38769088D01*
|
||||
X27068900Y-38757231D01*
|
||||
X27068900Y-31559525D01*
|
||||
X27088902Y-31491404D01*
|
||||
X27105805Y-31470430D01*
|
||||
X29450310Y-29125925D01*
|
||||
X29544103Y-29011738D01*
|
||||
X29547010Y-29006316D01*
|
||||
X29547013Y-29006312D01*
|
||||
X29634651Y-28842868D01*
|
||||
X29634651Y-28842867D01*
|
||||
X29637563Y-28837437D01*
|
||||
X29695388Y-28648302D01*
|
||||
X29715374Y-28451537D01*
|
||||
X29696762Y-28254638D01*
|
||||
X29640260Y-28065103D01*
|
||||
X29548018Y-27890153D01*
|
||||
X29423553Y-27736452D01*
|
||||
X29271605Y-27609853D01*
|
||||
X29097960Y-27515178D01*
|
||||
X28909232Y-27456035D01*
|
||||
X28903109Y-27455370D01*
|
||||
X28903105Y-27455369D01*
|
||||
X28718737Y-27435340D01*
|
||||
X28718733Y-27435340D01*
|
||||
X28712612Y-27434675D01*
|
||||
X28515587Y-27451912D01*
|
||||
X28410386Y-27482477D01*
|
||||
X28331579Y-27505372D01*
|
||||
X28331574Y-27505374D01*
|
||||
X28325664Y-27507091D01*
|
||||
X28150074Y-27598108D01*
|
||||
X28029028Y-27694738D01*
|
||||
X25391021Y-30332745D01*
|
||||
X25380878Y-30341847D01*
|
||||
X25351375Y-30365568D01*
|
||||
X25347408Y-30370296D01*
|
||||
X25319109Y-30404021D01*
|
||||
X25315928Y-30407669D01*
|
||||
X25314285Y-30409481D01*
|
||||
X25312091Y-30411675D01*
|
||||
X25284758Y-30444949D01*
|
||||
X25284096Y-30445747D01*
|
||||
X25224246Y-30517074D01*
|
||||
X25221678Y-30521744D01*
|
||||
X25218297Y-30525861D01*
|
||||
X25187260Y-30583745D01*
|
||||
X25174423Y-30607686D01*
|
||||
X25173794Y-30608845D01*
|
||||
X25131938Y-30684981D01*
|
||||
X25131935Y-30684989D01*
|
||||
X25128967Y-30690387D01*
|
||||
X25127355Y-30695469D01*
|
||||
X25124838Y-30700163D01*
|
||||
X25097638Y-30789131D01*
|
||||
X25097318Y-30790159D01*
|
||||
X25069165Y-30878906D01*
|
||||
X25068571Y-30884202D01*
|
||||
X25067013Y-30889298D01*
|
||||
X25066390Y-30895434D01*
|
||||
X25057618Y-30981787D01*
|
||||
X25057489Y-30982993D01*
|
||||
X25051900Y-31032827D01*
|
||||
X25051900Y-31036354D01*
|
||||
X25051845Y-31037339D01*
|
||||
X25051398Y-31043019D01*
|
||||
X25047026Y-31086062D01*
|
||||
X25047606Y-31092193D01*
|
||||
X25051341Y-31131709D01*
|
||||
X25051900Y-31143567D01*
|
||||
X25051900Y-38341276D01*
|
||||
X25031898Y-38409397D01*
|
||||
X25014995Y-38430371D01*
|
||||
X18821571Y-44623795D01*
|
||||
X18759259Y-44657821D01*
|
||||
X18732476Y-44660700D01*
|
||||
X17577831Y-44660700D01*
|
||||
X17574775Y-44661000D01*
|
||||
X17574768Y-44661000D01*
|
||||
X17516260Y-44666737D01*
|
||||
X17430767Y-44675120D01*
|
||||
X17424866Y-44676902D01*
|
||||
X17424864Y-44676902D01*
|
||||
X17351547Y-44699038D01*
|
||||
X17241431Y-44732284D01*
|
||||
X17066804Y-44825134D01*
|
||||
X16980538Y-44895491D01*
|
||||
X16918313Y-44946240D01*
|
||||
X16918310Y-44946243D01*
|
||||
X16913538Y-44950135D01*
|
||||
X16909611Y-44954882D01*
|
||||
X16909609Y-44954884D01*
|
||||
X16791399Y-45097775D01*
|
||||
X16791397Y-45097779D01*
|
||||
X16787470Y-45102525D01*
|
||||
X16693402Y-45276499D01*
|
||||
X16634918Y-45465432D01*
|
||||
X16614245Y-45662125D01*
|
||||
X12573500Y-45662125D01*
|
||||
X12573500Y-14277615D01*
|
||||
X12593502Y-14209494D01*
|
||||
X12647158Y-14163001D01*
|
||||
X12667526Y-14155739D01*
|
||||
X12707579Y-14145231D01*
|
||||
X12760411Y-14131371D01*
|
||||
X12764371Y-14129731D01*
|
||||
X12764376Y-14129729D01*
|
||||
X12912246Y-14068479D01*
|
||||
X13034415Y-14017875D01*
|
||||
X13290482Y-13868242D01*
|
||||
X13523871Y-13685241D01*
|
||||
X13730266Y-13472258D01*
|
||||
X13732799Y-13468810D01*
|
||||
X13732803Y-13468805D01*
|
||||
X13903307Y-13236691D01*
|
||||
X13905845Y-13233236D01*
|
||||
X13977223Y-13101775D01*
|
||||
X14045311Y-12976372D01*
|
||||
X14045312Y-12976370D01*
|
||||
X14047361Y-12972596D01*
|
||||
X14060907Y-12936748D01*
|
||||
X14071595Y-12908463D01*
|
||||
X14114385Y-12851809D01*
|
||||
X14181010Y-12827284D01*
|
||||
X14189461Y-12827000D01*
|
||||
X47625500Y-12827000D01*
|
||||
X47693621Y-12847002D01*
|
||||
G37*
|
||||
G04 #@! TD.AperFunction*
|
||||
M02*
|
||||
15
squeow_hw/jlcpcb/squeow-B_Mask.gbs
Normal file
15
squeow_hw/jlcpcb/squeow-B_Mask.gbs
Normal file
@@ -0,0 +1,15 @@
|
||||
G04 #@! TF.GenerationSoftware,KiCad,Pcbnew,6.0.7+dfsg-3*
|
||||
G04 #@! TF.CreationDate,2022-10-05T14:50:53+02:00*
|
||||
G04 #@! TF.ProjectId,squeow,73717565-6f77-42e6-9b69-6361645f7063,rev?*
|
||||
G04 #@! TF.SameCoordinates,Original*
|
||||
G04 #@! TF.FileFunction,Soldermask,Bot*
|
||||
G04 #@! TF.FilePolarity,Negative*
|
||||
%FSLAX46Y46*%
|
||||
G04 Gerber Fmt 4.6, Leading zero omitted, Abs format (unit mm)*
|
||||
G04 Created by KiCad (PCBNEW 6.0.7+dfsg-3) date 2022-10-05 14:50:53*
|
||||
%MOMM*%
|
||||
%LPD*%
|
||||
G01*
|
||||
G04 APERTURE LIST*
|
||||
G04 APERTURE END LIST*
|
||||
M02*
|
||||
15
squeow_hw/jlcpcb/squeow-B_Paste.gbp
Normal file
15
squeow_hw/jlcpcb/squeow-B_Paste.gbp
Normal file
@@ -0,0 +1,15 @@
|
||||
G04 #@! TF.GenerationSoftware,KiCad,Pcbnew,6.0.7+dfsg-3*
|
||||
G04 #@! TF.CreationDate,2022-10-05T14:50:53+02:00*
|
||||
G04 #@! TF.ProjectId,squeow,73717565-6f77-42e6-9b69-6361645f7063,rev?*
|
||||
G04 #@! TF.SameCoordinates,Original*
|
||||
G04 #@! TF.FileFunction,Paste,Bot*
|
||||
G04 #@! TF.FilePolarity,Positive*
|
||||
%FSLAX46Y46*%
|
||||
G04 Gerber Fmt 4.6, Leading zero omitted, Abs format (unit mm)*
|
||||
G04 Created by KiCad (PCBNEW 6.0.7+dfsg-3) date 2022-10-05 14:50:53*
|
||||
%MOMM*%
|
||||
%LPD*%
|
||||
G01*
|
||||
G04 APERTURE LIST*
|
||||
G04 APERTURE END LIST*
|
||||
M02*
|
||||
16
squeow_hw/jlcpcb/squeow-B_Silkscreen.gbo
Normal file
16
squeow_hw/jlcpcb/squeow-B_Silkscreen.gbo
Normal file
@@ -0,0 +1,16 @@
|
||||
G04 #@! TF.GenerationSoftware,KiCad,Pcbnew,6.0.7+dfsg-3*
|
||||
G04 #@! TF.CreationDate,2022-10-05T14:50:53+02:00*
|
||||
G04 #@! TF.ProjectId,squeow,73717565-6f77-42e6-9b69-6361645f7063,rev?*
|
||||
G04 #@! TF.SameCoordinates,Original*
|
||||
G04 #@! TF.FileFunction,Legend,Bot*
|
||||
G04 #@! TF.FilePolarity,Positive*
|
||||
%FSLAX46Y46*%
|
||||
G04 Gerber Fmt 4.6, Leading zero omitted, Abs format (unit mm)*
|
||||
G04 Created by KiCad (PCBNEW 6.0.7+dfsg-3) date 2022-10-05 14:50:53*
|
||||
%MOMM*%
|
||||
%LPD*%
|
||||
G01*
|
||||
G04 APERTURE LIST*
|
||||
G04 APERTURE END LIST*
|
||||
%LPC*%
|
||||
M02*
|
||||
39
squeow_hw/jlcpcb/squeow-Edge_Cuts.gm1
Normal file
39
squeow_hw/jlcpcb/squeow-Edge_Cuts.gm1
Normal file
@@ -0,0 +1,39 @@
|
||||
G04 #@! TF.GenerationSoftware,KiCad,Pcbnew,6.0.7+dfsg-3*
|
||||
G04 #@! TF.CreationDate,2022-10-05T14:50:53+02:00*
|
||||
G04 #@! TF.ProjectId,squeow,73717565-6f77-42e6-9b69-6361645f7063,rev?*
|
||||
G04 #@! TF.SameCoordinates,Original*
|
||||
G04 #@! TF.FileFunction,Profile,NP*
|
||||
%FSLAX46Y46*%
|
||||
G04 Gerber Fmt 4.6, Leading zero omitted, Abs format (unit mm)*
|
||||
G04 Created by KiCad (PCBNEW 6.0.7+dfsg-3) date 2022-10-05 14:50:53*
|
||||
%MOMM*%
|
||||
%LPD*%
|
||||
G01*
|
||||
G04 APERTURE LIST*
|
||||
G04 #@! TA.AperFunction,Profile*
|
||||
%ADD10C,0.150000*%
|
||||
G04 #@! TD*
|
||||
G04 #@! TA.AperFunction,Profile*
|
||||
%ADD11C,0.100000*%
|
||||
G04 #@! TD*
|
||||
G04 APERTURE END LIST*
|
||||
D10*
|
||||
X12065000Y-12065000D02*
|
||||
X48260000Y-12065000D01*
|
||||
X48260000Y-12065000D02*
|
||||
X48260000Y-56515000D01*
|
||||
X48260000Y-56515000D02*
|
||||
X12065000Y-56515000D01*
|
||||
X12065000Y-56515000D02*
|
||||
X12065000Y-12065000D01*
|
||||
D11*
|
||||
X13731666Y-12065000D02*
|
||||
G75*
|
||||
G03*
|
||||
X13731666Y-12065000I-1666666J0D01*
|
||||
G01*
|
||||
X9565000Y-12065000D02*
|
||||
X14565000Y-12065000D01*
|
||||
X12065000Y-9565000D02*
|
||||
X12065000Y-14565000D01*
|
||||
M02*
|
||||
3374
squeow_hw/jlcpcb/squeow-F_Cu.gtl
Normal file
3374
squeow_hw/jlcpcb/squeow-F_Cu.gtl
Normal file
File diff suppressed because it is too large
Load Diff
226
squeow_hw/jlcpcb/squeow-F_Mask.gts
Normal file
226
squeow_hw/jlcpcb/squeow-F_Mask.gts
Normal file
@@ -0,0 +1,226 @@
|
||||
G04 #@! TF.GenerationSoftware,KiCad,Pcbnew,6.0.7+dfsg-3*
|
||||
G04 #@! TF.CreationDate,2022-10-05T14:50:53+02:00*
|
||||
G04 #@! TF.ProjectId,squeow,73717565-6f77-42e6-9b69-6361645f7063,rev?*
|
||||
G04 #@! TF.SameCoordinates,Original*
|
||||
G04 #@! TF.FileFunction,Soldermask,Top*
|
||||
G04 #@! TF.FilePolarity,Negative*
|
||||
%FSLAX46Y46*%
|
||||
G04 Gerber Fmt 4.6, Leading zero omitted, Abs format (unit mm)*
|
||||
G04 Created by KiCad (PCBNEW 6.0.7+dfsg-3) date 2022-10-05 14:50:53*
|
||||
%MOMM*%
|
||||
%LPD*%
|
||||
G01*
|
||||
G04 APERTURE LIST*
|
||||
G04 Aperture macros list*
|
||||
%AMRoundRect*
|
||||
0 Rectangle with rounded corners*
|
||||
0 $1 Rounding radius*
|
||||
0 $2 $3 $4 $5 $6 $7 $8 $9 X,Y pos of 4 corners*
|
||||
0 Add a 4 corners polygon primitive as box body*
|
||||
4,1,4,$2,$3,$4,$5,$6,$7,$8,$9,$2,$3,0*
|
||||
0 Add four circle primitives for the rounded corners*
|
||||
1,1,$1+$1,$2,$3*
|
||||
1,1,$1+$1,$4,$5*
|
||||
1,1,$1+$1,$6,$7*
|
||||
1,1,$1+$1,$8,$9*
|
||||
0 Add four rect primitives between the rounded corners*
|
||||
20,1,$1+$1,$2,$3,$4,$5,0*
|
||||
20,1,$1+$1,$4,$5,$6,$7,0*
|
||||
20,1,$1+$1,$6,$7,$8,$9,0*
|
||||
20,1,$1+$1,$8,$9,$2,$3,0*%
|
||||
%AMFreePoly0*
|
||||
4,1,9,3.862500,-0.866500,0.737500,-0.866500,0.737500,-0.450000,-0.737500,-0.450000,-0.737500,0.450000,0.737500,0.450000,0.737500,0.866500,3.862500,0.866500,3.862500,-0.866500,3.862500,-0.866500,$1*%
|
||||
G04 Aperture macros list end*
|
||||
%ADD10R,1.000000X2.510000*%
|
||||
%ADD11RoundRect,0.250000X0.350000X0.450000X-0.350000X0.450000X-0.350000X-0.450000X0.350000X-0.450000X0*%
|
||||
%ADD12RoundRect,0.250000X-0.412500X-1.100000X0.412500X-1.100000X0.412500X1.100000X-0.412500X1.100000X0*%
|
||||
%ADD13R,0.900000X1.300000*%
|
||||
%ADD14FreePoly0,90.000000*%
|
||||
%ADD15RoundRect,0.125000X-0.625000X-0.125000X0.625000X-0.125000X0.625000X0.125000X-0.625000X0.125000X0*%
|
||||
%ADD16RoundRect,0.125000X-0.125000X-0.625000X0.125000X-0.625000X0.125000X0.625000X-0.125000X0.625000X0*%
|
||||
%ADD17R,0.300000X1.400000*%
|
||||
%ADD18R,0.700000X0.450000*%
|
||||
%ADD19R,1.900000X1.000000*%
|
||||
%ADD20RoundRect,0.250000X-1.100000X0.412500X-1.100000X-0.412500X1.100000X-0.412500X1.100000X0.412500X0*%
|
||||
%ADD21RoundRect,0.250000X0.412500X1.100000X-0.412500X1.100000X-0.412500X-1.100000X0.412500X-1.100000X0*%
|
||||
%ADD22RoundRect,0.250000X1.100000X-0.412500X1.100000X0.412500X-1.100000X0.412500X-1.100000X-0.412500X0*%
|
||||
%ADD23RoundRect,0.150000X0.150000X-0.825000X0.150000X0.825000X-0.150000X0.825000X-0.150000X-0.825000X0*%
|
||||
%ADD24RoundRect,0.150000X-0.825000X-0.150000X0.825000X-0.150000X0.825000X0.150000X-0.825000X0.150000X0*%
|
||||
%ADD25RoundRect,0.250000X-0.350000X-0.450000X0.350000X-0.450000X0.350000X0.450000X-0.350000X0.450000X0*%
|
||||
%ADD26R,4.000000X4.000000*%
|
||||
%ADD27R,0.450000X0.700000*%
|
||||
%ADD28R,1.500000X2.700000*%
|
||||
%ADD29R,2.400000X3.500000*%
|
||||
%ADD30R,2.510000X1.000000*%
|
||||
G04 APERTURE END LIST*
|
||||
D10*
|
||||
X36728400Y-54610000D03*
|
||||
X39268400Y-51300000D03*
|
||||
D11*
|
||||
X36290000Y-34163000D03*
|
||||
X34290000Y-34163000D03*
|
||||
D12*
|
||||
X14616500Y-28194000D03*
|
||||
X17741500Y-28194000D03*
|
||||
D13*
|
||||
X27075000Y-26542000D03*
|
||||
D14*
|
||||
X28575000Y-26454500D03*
|
||||
D13*
|
||||
X30075000Y-26542000D03*
|
||||
D12*
|
||||
X32981500Y-14605000D03*
|
||||
X36106500Y-14605000D03*
|
||||
D15*
|
||||
X27536500Y-39745000D03*
|
||||
X27536500Y-40545000D03*
|
||||
X27536500Y-41345000D03*
|
||||
X27536500Y-42145000D03*
|
||||
X27536500Y-42945000D03*
|
||||
X27536500Y-43745000D03*
|
||||
X27536500Y-44545000D03*
|
||||
X27536500Y-45345000D03*
|
||||
D16*
|
||||
X28911500Y-46720000D03*
|
||||
X29711500Y-46720000D03*
|
||||
X30511500Y-46720000D03*
|
||||
X31311500Y-46720000D03*
|
||||
X32111500Y-46720000D03*
|
||||
X32911500Y-46720000D03*
|
||||
X33711500Y-46720000D03*
|
||||
X34511500Y-46720000D03*
|
||||
D15*
|
||||
X35886500Y-45345000D03*
|
||||
X35886500Y-44545000D03*
|
||||
X35886500Y-43745000D03*
|
||||
X35886500Y-42945000D03*
|
||||
X35886500Y-42145000D03*
|
||||
X35886500Y-41345000D03*
|
||||
X35886500Y-40545000D03*
|
||||
X35886500Y-39745000D03*
|
||||
D16*
|
||||
X34511500Y-38370000D03*
|
||||
X33711500Y-38370000D03*
|
||||
X32911500Y-38370000D03*
|
||||
X32111500Y-38370000D03*
|
||||
X31311500Y-38370000D03*
|
||||
X30511500Y-38370000D03*
|
||||
X29711500Y-38370000D03*
|
||||
X28911500Y-38370000D03*
|
||||
D17*
|
||||
X18042000Y-36195000D03*
|
||||
X18542000Y-36195000D03*
|
||||
X19042000Y-36195000D03*
|
||||
X19542000Y-36195000D03*
|
||||
X20042000Y-36195000D03*
|
||||
X20042000Y-31795000D03*
|
||||
X19542000Y-31795000D03*
|
||||
X19042000Y-31795000D03*
|
||||
X18542000Y-31795000D03*
|
||||
X18042000Y-31795000D03*
|
||||
D12*
|
||||
X20701000Y-28194000D03*
|
||||
X23826000Y-28194000D03*
|
||||
D11*
|
||||
X36290000Y-32258000D03*
|
||||
X34290000Y-32258000D03*
|
||||
D18*
|
||||
X19304000Y-44816000D03*
|
||||
X19304000Y-46116000D03*
|
||||
X21304000Y-45466000D03*
|
||||
D19*
|
||||
X17018000Y-53467000D03*
|
||||
X13718000Y-50927000D03*
|
||||
X17018000Y-48387000D03*
|
||||
X13718000Y-45847000D03*
|
||||
X17018000Y-43307000D03*
|
||||
D20*
|
||||
X20193000Y-38442500D03*
|
||||
X20193000Y-41567500D03*
|
||||
D21*
|
||||
X39624000Y-47625000D03*
|
||||
X36499000Y-47625000D03*
|
||||
D22*
|
||||
X32893000Y-28448000D03*
|
||||
X32893000Y-25323000D03*
|
||||
D23*
|
||||
X13931500Y-24700000D03*
|
||||
X15201500Y-24700000D03*
|
||||
X16471500Y-24700000D03*
|
||||
X17741500Y-24700000D03*
|
||||
X17741500Y-19750000D03*
|
||||
X16471500Y-19750000D03*
|
||||
X15201500Y-19750000D03*
|
||||
X13931500Y-19750000D03*
|
||||
D24*
|
||||
X27178000Y-30480000D03*
|
||||
X27178000Y-31750000D03*
|
||||
X27178000Y-33020000D03*
|
||||
X27178000Y-34290000D03*
|
||||
X32128000Y-34290000D03*
|
||||
X32128000Y-33020000D03*
|
||||
X32128000Y-31750000D03*
|
||||
X32128000Y-30480000D03*
|
||||
D25*
|
||||
X26797000Y-36195000D03*
|
||||
X28797000Y-36195000D03*
|
||||
D22*
|
||||
X15367000Y-34875000D03*
|
||||
X15367000Y-31750000D03*
|
||||
D26*
|
||||
X28536500Y-15748000D03*
|
||||
D10*
|
||||
X20370800Y-54610000D03*
|
||||
X22910800Y-51300000D03*
|
||||
X25450800Y-54610000D03*
|
||||
X27990800Y-51300000D03*
|
||||
X30530800Y-54610000D03*
|
||||
X33070800Y-51300000D03*
|
||||
D27*
|
||||
X17160000Y-38624000D03*
|
||||
X15860000Y-38624000D03*
|
||||
X16510000Y-40624000D03*
|
||||
D26*
|
||||
X16471500Y-15748000D03*
|
||||
D27*
|
||||
X14239000Y-38624000D03*
|
||||
X12939000Y-38624000D03*
|
||||
X13589000Y-40624000D03*
|
||||
D28*
|
||||
X33033000Y-18034000D03*
|
||||
X37833000Y-18034000D03*
|
||||
D18*
|
||||
X19336000Y-47483000D03*
|
||||
X19336000Y-48783000D03*
|
||||
X21336000Y-48133000D03*
|
||||
D23*
|
||||
X19939000Y-24700000D03*
|
||||
X21209000Y-24700000D03*
|
||||
X22479000Y-24700000D03*
|
||||
X23749000Y-24700000D03*
|
||||
X23749000Y-19750000D03*
|
||||
X22479000Y-19750000D03*
|
||||
X21209000Y-19750000D03*
|
||||
X19939000Y-19750000D03*
|
||||
D26*
|
||||
X22479000Y-15748000D03*
|
||||
D29*
|
||||
X23622000Y-39370000D03*
|
||||
X23622000Y-34170000D03*
|
||||
D30*
|
||||
X45978000Y-52578000D03*
|
||||
X42668000Y-50038000D03*
|
||||
X45978000Y-47498000D03*
|
||||
X42668000Y-44958000D03*
|
||||
X45978000Y-42418000D03*
|
||||
X42668000Y-39878000D03*
|
||||
X45978000Y-37338000D03*
|
||||
X42668000Y-34798000D03*
|
||||
X45978000Y-32258000D03*
|
||||
X42668000Y-29718000D03*
|
||||
X45978000Y-27178000D03*
|
||||
X42668000Y-24638000D03*
|
||||
X45978000Y-22098000D03*
|
||||
X42668000Y-19558000D03*
|
||||
X45978000Y-17018000D03*
|
||||
M02*
|
||||
218
squeow_hw/jlcpcb/squeow-F_Paste.gtp
Normal file
218
squeow_hw/jlcpcb/squeow-F_Paste.gtp
Normal file
@@ -0,0 +1,218 @@
|
||||
G04 #@! TF.GenerationSoftware,KiCad,Pcbnew,6.0.7+dfsg-3*
|
||||
G04 #@! TF.CreationDate,2022-10-05T14:50:53+02:00*
|
||||
G04 #@! TF.ProjectId,squeow,73717565-6f77-42e6-9b69-6361645f7063,rev?*
|
||||
G04 #@! TF.SameCoordinates,Original*
|
||||
G04 #@! TF.FileFunction,Paste,Top*
|
||||
G04 #@! TF.FilePolarity,Positive*
|
||||
%FSLAX46Y46*%
|
||||
G04 Gerber Fmt 4.6, Leading zero omitted, Abs format (unit mm)*
|
||||
G04 Created by KiCad (PCBNEW 6.0.7+dfsg-3) date 2022-10-05 14:50:53*
|
||||
%MOMM*%
|
||||
%LPD*%
|
||||
G01*
|
||||
G04 APERTURE LIST*
|
||||
G04 Aperture macros list*
|
||||
%AMRoundRect*
|
||||
0 Rectangle with rounded corners*
|
||||
0 $1 Rounding radius*
|
||||
0 $2 $3 $4 $5 $6 $7 $8 $9 X,Y pos of 4 corners*
|
||||
0 Add a 4 corners polygon primitive as box body*
|
||||
4,1,4,$2,$3,$4,$5,$6,$7,$8,$9,$2,$3,0*
|
||||
0 Add four circle primitives for the rounded corners*
|
||||
1,1,$1+$1,$2,$3*
|
||||
1,1,$1+$1,$4,$5*
|
||||
1,1,$1+$1,$6,$7*
|
||||
1,1,$1+$1,$8,$9*
|
||||
0 Add four rect primitives between the rounded corners*
|
||||
20,1,$1+$1,$2,$3,$4,$5,0*
|
||||
20,1,$1+$1,$4,$5,$6,$7,0*
|
||||
20,1,$1+$1,$6,$7,$8,$9,0*
|
||||
20,1,$1+$1,$8,$9,$2,$3,0*%
|
||||
%AMFreePoly0*
|
||||
4,1,9,3.862500,-0.866500,0.737500,-0.866500,0.737500,-0.450000,-0.737500,-0.450000,-0.737500,0.450000,0.737500,0.450000,0.737500,0.866500,3.862500,0.866500,3.862500,-0.866500,3.862500,-0.866500,$1*%
|
||||
G04 Aperture macros list end*
|
||||
%ADD10R,1.000000X2.510000*%
|
||||
%ADD11RoundRect,0.250000X0.350000X0.450000X-0.350000X0.450000X-0.350000X-0.450000X0.350000X-0.450000X0*%
|
||||
%ADD12RoundRect,0.250000X-0.412500X-1.100000X0.412500X-1.100000X0.412500X1.100000X-0.412500X1.100000X0*%
|
||||
%ADD13R,0.900000X1.300000*%
|
||||
%ADD14FreePoly0,90.000000*%
|
||||
%ADD15RoundRect,0.125000X-0.625000X-0.125000X0.625000X-0.125000X0.625000X0.125000X-0.625000X0.125000X0*%
|
||||
%ADD16RoundRect,0.125000X-0.125000X-0.625000X0.125000X-0.625000X0.125000X0.625000X-0.125000X0.625000X0*%
|
||||
%ADD17R,0.300000X1.400000*%
|
||||
%ADD18R,0.700000X0.450000*%
|
||||
%ADD19R,1.900000X1.000000*%
|
||||
%ADD20RoundRect,0.250000X-1.100000X0.412500X-1.100000X-0.412500X1.100000X-0.412500X1.100000X0.412500X0*%
|
||||
%ADD21RoundRect,0.250000X0.412500X1.100000X-0.412500X1.100000X-0.412500X-1.100000X0.412500X-1.100000X0*%
|
||||
%ADD22RoundRect,0.250000X1.100000X-0.412500X1.100000X0.412500X-1.100000X0.412500X-1.100000X-0.412500X0*%
|
||||
%ADD23RoundRect,0.150000X0.150000X-0.825000X0.150000X0.825000X-0.150000X0.825000X-0.150000X-0.825000X0*%
|
||||
%ADD24RoundRect,0.150000X-0.825000X-0.150000X0.825000X-0.150000X0.825000X0.150000X-0.825000X0.150000X0*%
|
||||
%ADD25RoundRect,0.250000X-0.350000X-0.450000X0.350000X-0.450000X0.350000X0.450000X-0.350000X0.450000X0*%
|
||||
%ADD26R,0.450000X0.700000*%
|
||||
%ADD27R,1.500000X2.700000*%
|
||||
%ADD28R,2.400000X3.500000*%
|
||||
%ADD29R,2.510000X1.000000*%
|
||||
G04 APERTURE END LIST*
|
||||
D10*
|
||||
X36728400Y-54610000D03*
|
||||
X39268400Y-51300000D03*
|
||||
D11*
|
||||
X36290000Y-34163000D03*
|
||||
X34290000Y-34163000D03*
|
||||
D12*
|
||||
X14616500Y-28194000D03*
|
||||
X17741500Y-28194000D03*
|
||||
D13*
|
||||
X27075000Y-26542000D03*
|
||||
D14*
|
||||
X28575000Y-26454500D03*
|
||||
D13*
|
||||
X30075000Y-26542000D03*
|
||||
D12*
|
||||
X32981500Y-14605000D03*
|
||||
X36106500Y-14605000D03*
|
||||
D15*
|
||||
X27536500Y-39745000D03*
|
||||
X27536500Y-40545000D03*
|
||||
X27536500Y-41345000D03*
|
||||
X27536500Y-42145000D03*
|
||||
X27536500Y-42945000D03*
|
||||
X27536500Y-43745000D03*
|
||||
X27536500Y-44545000D03*
|
||||
X27536500Y-45345000D03*
|
||||
D16*
|
||||
X28911500Y-46720000D03*
|
||||
X29711500Y-46720000D03*
|
||||
X30511500Y-46720000D03*
|
||||
X31311500Y-46720000D03*
|
||||
X32111500Y-46720000D03*
|
||||
X32911500Y-46720000D03*
|
||||
X33711500Y-46720000D03*
|
||||
X34511500Y-46720000D03*
|
||||
D15*
|
||||
X35886500Y-45345000D03*
|
||||
X35886500Y-44545000D03*
|
||||
X35886500Y-43745000D03*
|
||||
X35886500Y-42945000D03*
|
||||
X35886500Y-42145000D03*
|
||||
X35886500Y-41345000D03*
|
||||
X35886500Y-40545000D03*
|
||||
X35886500Y-39745000D03*
|
||||
D16*
|
||||
X34511500Y-38370000D03*
|
||||
X33711500Y-38370000D03*
|
||||
X32911500Y-38370000D03*
|
||||
X32111500Y-38370000D03*
|
||||
X31311500Y-38370000D03*
|
||||
X30511500Y-38370000D03*
|
||||
X29711500Y-38370000D03*
|
||||
X28911500Y-38370000D03*
|
||||
D17*
|
||||
X18042000Y-36195000D03*
|
||||
X18542000Y-36195000D03*
|
||||
X19042000Y-36195000D03*
|
||||
X19542000Y-36195000D03*
|
||||
X20042000Y-36195000D03*
|
||||
X20042000Y-31795000D03*
|
||||
X19542000Y-31795000D03*
|
||||
X19042000Y-31795000D03*
|
||||
X18542000Y-31795000D03*
|
||||
X18042000Y-31795000D03*
|
||||
D12*
|
||||
X20701000Y-28194000D03*
|
||||
X23826000Y-28194000D03*
|
||||
D11*
|
||||
X36290000Y-32258000D03*
|
||||
X34290000Y-32258000D03*
|
||||
D18*
|
||||
X19304000Y-44816000D03*
|
||||
X19304000Y-46116000D03*
|
||||
X21304000Y-45466000D03*
|
||||
D19*
|
||||
X17018000Y-53467000D03*
|
||||
X13718000Y-50927000D03*
|
||||
X17018000Y-48387000D03*
|
||||
X13718000Y-45847000D03*
|
||||
X17018000Y-43307000D03*
|
||||
D20*
|
||||
X20193000Y-38442500D03*
|
||||
X20193000Y-41567500D03*
|
||||
D21*
|
||||
X39624000Y-47625000D03*
|
||||
X36499000Y-47625000D03*
|
||||
D22*
|
||||
X32893000Y-28448000D03*
|
||||
X32893000Y-25323000D03*
|
||||
D23*
|
||||
X13931500Y-24700000D03*
|
||||
X15201500Y-24700000D03*
|
||||
X16471500Y-24700000D03*
|
||||
X17741500Y-24700000D03*
|
||||
X17741500Y-19750000D03*
|
||||
X16471500Y-19750000D03*
|
||||
X15201500Y-19750000D03*
|
||||
X13931500Y-19750000D03*
|
||||
D24*
|
||||
X27178000Y-30480000D03*
|
||||
X27178000Y-31750000D03*
|
||||
X27178000Y-33020000D03*
|
||||
X27178000Y-34290000D03*
|
||||
X32128000Y-34290000D03*
|
||||
X32128000Y-33020000D03*
|
||||
X32128000Y-31750000D03*
|
||||
X32128000Y-30480000D03*
|
||||
D25*
|
||||
X26797000Y-36195000D03*
|
||||
X28797000Y-36195000D03*
|
||||
D22*
|
||||
X15367000Y-34875000D03*
|
||||
X15367000Y-31750000D03*
|
||||
D10*
|
||||
X20370800Y-54610000D03*
|
||||
X22910800Y-51300000D03*
|
||||
X25450800Y-54610000D03*
|
||||
X27990800Y-51300000D03*
|
||||
X30530800Y-54610000D03*
|
||||
X33070800Y-51300000D03*
|
||||
D26*
|
||||
X17160000Y-38624000D03*
|
||||
X15860000Y-38624000D03*
|
||||
X16510000Y-40624000D03*
|
||||
X14239000Y-38624000D03*
|
||||
X12939000Y-38624000D03*
|
||||
X13589000Y-40624000D03*
|
||||
D27*
|
||||
X33033000Y-18034000D03*
|
||||
X37833000Y-18034000D03*
|
||||
D18*
|
||||
X19336000Y-47483000D03*
|
||||
X19336000Y-48783000D03*
|
||||
X21336000Y-48133000D03*
|
||||
D23*
|
||||
X19939000Y-24700000D03*
|
||||
X21209000Y-24700000D03*
|
||||
X22479000Y-24700000D03*
|
||||
X23749000Y-24700000D03*
|
||||
X23749000Y-19750000D03*
|
||||
X22479000Y-19750000D03*
|
||||
X21209000Y-19750000D03*
|
||||
X19939000Y-19750000D03*
|
||||
D28*
|
||||
X23622000Y-39370000D03*
|
||||
X23622000Y-34170000D03*
|
||||
D29*
|
||||
X45978000Y-52578000D03*
|
||||
X42668000Y-50038000D03*
|
||||
X45978000Y-47498000D03*
|
||||
X42668000Y-44958000D03*
|
||||
X45978000Y-42418000D03*
|
||||
X42668000Y-39878000D03*
|
||||
X45978000Y-37338000D03*
|
||||
X42668000Y-34798000D03*
|
||||
X45978000Y-32258000D03*
|
||||
X42668000Y-29718000D03*
|
||||
X45978000Y-27178000D03*
|
||||
X42668000Y-24638000D03*
|
||||
X45978000Y-22098000D03*
|
||||
X42668000Y-19558000D03*
|
||||
X45978000Y-17018000D03*
|
||||
M02*
|
||||
1194
squeow_hw/jlcpcb/squeow-F_Silkscreen.gto
Normal file
1194
squeow_hw/jlcpcb/squeow-F_Silkscreen.gto
Normal file
File diff suppressed because it is too large
Load Diff
110
squeow_hw/jlcpcb/squeow-NPTH-drl_map.gbr
Normal file
110
squeow_hw/jlcpcb/squeow-NPTH-drl_map.gbr
Normal file
@@ -0,0 +1,110 @@
|
||||
%TF.GenerationSoftware,KiCad,Pcbnew,6.0.7+dfsg-3*%
|
||||
%TF.CreationDate,2022-10-05T14:52:24+02:00*%
|
||||
%TF.ProjectId,squeow,73717565-6f77-42e6-9b69-6361645f7063,rev?*%
|
||||
%TF.SameCoordinates,Original*%
|
||||
%TF.FileFunction,Drillmap*%
|
||||
%TF.FilePolarity,Positive*%
|
||||
%FSLAX45Y45*%
|
||||
G04 Gerber Fmt 4.5, Leading zero omitted, Abs format (unit mm)*
|
||||
G04 Created by KiCad (PCBNEW 6.0.7+dfsg-3) date 2022-10-05 14:52:24*
|
||||
%MOMM*%
|
||||
%LPD*%
|
||||
G01*
|
||||
G04 APERTURE LIST*
|
||||
%ADD10C,0.150000*%
|
||||
%ADD11C,0.200000*%
|
||||
G04 APERTURE END LIST*
|
||||
D10*
|
||||
X1206500Y-1206500D02*
|
||||
X4826000Y-1206500D01*
|
||||
X4826000Y-1206500D02*
|
||||
X4826000Y-5651500D01*
|
||||
X4826000Y-5651500D02*
|
||||
X1206500Y-5651500D01*
|
||||
X1206500Y-5651500D02*
|
||||
X1206500Y-1206500D01*
|
||||
D11*
|
||||
X1456619Y-5969476D02*
|
||||
X1456619Y-5769476D01*
|
||||
X1504238Y-5769476D01*
|
||||
X1532809Y-5779000D01*
|
||||
X1551857Y-5798048D01*
|
||||
X1561381Y-5817095D01*
|
||||
X1570905Y-5855190D01*
|
||||
X1570905Y-5883762D01*
|
||||
X1561381Y-5921857D01*
|
||||
X1551857Y-5940905D01*
|
||||
X1532809Y-5959952D01*
|
||||
X1504238Y-5969476D01*
|
||||
X1456619Y-5969476D01*
|
||||
X1656619Y-5969476D02*
|
||||
X1656619Y-5836143D01*
|
||||
X1656619Y-5874238D02*
|
||||
X1666143Y-5855190D01*
|
||||
X1675667Y-5845667D01*
|
||||
X1694714Y-5836143D01*
|
||||
X1713762Y-5836143D01*
|
||||
X1780428Y-5969476D02*
|
||||
X1780428Y-5836143D01*
|
||||
X1780428Y-5769476D02*
|
||||
X1770905Y-5779000D01*
|
||||
X1780428Y-5788524D01*
|
||||
X1789952Y-5779000D01*
|
||||
X1780428Y-5769476D01*
|
||||
X1780428Y-5788524D01*
|
||||
X1904238Y-5969476D02*
|
||||
X1885190Y-5959952D01*
|
||||
X1875667Y-5940905D01*
|
||||
X1875667Y-5769476D01*
|
||||
X2009000Y-5969476D02*
|
||||
X1989952Y-5959952D01*
|
||||
X1980428Y-5940905D01*
|
||||
X1980428Y-5769476D01*
|
||||
X2237571Y-5969476D02*
|
||||
X2237571Y-5769476D01*
|
||||
X2304238Y-5912333D01*
|
||||
X2370905Y-5769476D01*
|
||||
X2370905Y-5969476D01*
|
||||
X2551857Y-5969476D02*
|
||||
X2551857Y-5864714D01*
|
||||
X2542333Y-5845667D01*
|
||||
X2523286Y-5836143D01*
|
||||
X2485190Y-5836143D01*
|
||||
X2466143Y-5845667D01*
|
||||
X2551857Y-5959952D02*
|
||||
X2532810Y-5969476D01*
|
||||
X2485190Y-5969476D01*
|
||||
X2466143Y-5959952D01*
|
||||
X2456619Y-5940905D01*
|
||||
X2456619Y-5921857D01*
|
||||
X2466143Y-5902809D01*
|
||||
X2485190Y-5893286D01*
|
||||
X2532810Y-5893286D01*
|
||||
X2551857Y-5883762D01*
|
||||
X2647095Y-5836143D02*
|
||||
X2647095Y-6036143D01*
|
||||
X2647095Y-5845667D02*
|
||||
X2666143Y-5836143D01*
|
||||
X2704238Y-5836143D01*
|
||||
X2723286Y-5845667D01*
|
||||
X2732810Y-5855190D01*
|
||||
X2742333Y-5874238D01*
|
||||
X2742333Y-5931381D01*
|
||||
X2732810Y-5950428D01*
|
||||
X2723286Y-5959952D01*
|
||||
X2704238Y-5969476D01*
|
||||
X2666143Y-5969476D01*
|
||||
X2647095Y-5959952D01*
|
||||
X2828048Y-5950428D02*
|
||||
X2837571Y-5959952D01*
|
||||
X2828048Y-5969476D01*
|
||||
X2818524Y-5959952D01*
|
||||
X2828048Y-5950428D01*
|
||||
X2828048Y-5969476D01*
|
||||
X2828048Y-5845667D02*
|
||||
X2837571Y-5855190D01*
|
||||
X2828048Y-5864714D01*
|
||||
X2818524Y-5855190D01*
|
||||
X2828048Y-5845667D01*
|
||||
X2828048Y-5864714D01*
|
||||
M02*
|
||||
13
squeow_hw/jlcpcb/squeow-NPTH.drl
Normal file
13
squeow_hw/jlcpcb/squeow-NPTH.drl
Normal file
@@ -0,0 +1,13 @@
|
||||
M48
|
||||
; DRILL file {KiCad 6.0.7+dfsg-3} date mer 5 ott 2022, 14:52:04
|
||||
; FORMAT={-:-/ absolute / metric / decimal}
|
||||
; #@! TF.CreationDate,2022-10-05T14:52:04+02:00
|
||||
; #@! TF.GenerationSoftware,Kicad,Pcbnew,6.0.7+dfsg-3
|
||||
; #@! TF.FileFunction,NonPlated,1,2,NPTH
|
||||
FMAT,2
|
||||
METRIC
|
||||
%
|
||||
G90
|
||||
G05
|
||||
T0
|
||||
M30
|
||||
481
squeow_hw/jlcpcb/squeow-PTH-drl_map.gbr
Normal file
481
squeow_hw/jlcpcb/squeow-PTH-drl_map.gbr
Normal file
@@ -0,0 +1,481 @@
|
||||
%TF.GenerationSoftware,KiCad,Pcbnew,6.0.7+dfsg-3*%
|
||||
%TF.CreationDate,2022-10-05T14:52:24+02:00*%
|
||||
%TF.ProjectId,squeow,73717565-6f77-42e6-9b69-6361645f7063,rev?*%
|
||||
%TF.SameCoordinates,Original*%
|
||||
%TF.FileFunction,Drillmap*%
|
||||
%TF.FilePolarity,Positive*%
|
||||
%FSLAX45Y45*%
|
||||
G04 Gerber Fmt 4.5, Leading zero omitted, Abs format (unit mm)*
|
||||
G04 Created by KiCad (PCBNEW 6.0.7+dfsg-3) date 2022-10-05 14:52:24*
|
||||
%MOMM*%
|
||||
%LPD*%
|
||||
G01*
|
||||
G04 APERTURE LIST*
|
||||
%ADD10C,0.150000*%
|
||||
%ADD11C,0.200000*%
|
||||
%ADD12C,0.040000*%
|
||||
G04 APERTURE END LIST*
|
||||
D10*
|
||||
X1206500Y-1206500D02*
|
||||
X4826000Y-1206500D01*
|
||||
X4826000Y-1206500D02*
|
||||
X4826000Y-5651500D01*
|
||||
X4826000Y-5651500D02*
|
||||
X1206500Y-5651500D01*
|
||||
X1206500Y-5651500D02*
|
||||
X1206500Y-1206500D01*
|
||||
D11*
|
||||
D12*
|
||||
X1491300Y-3929700D02*
|
||||
X1531300Y-3969700D01*
|
||||
X1531300Y-3929700D02*
|
||||
X1491300Y-3969700D01*
|
||||
X1491300Y-5326700D02*
|
||||
X1531300Y-5366700D01*
|
||||
X1531300Y-5326700D02*
|
||||
X1491300Y-5366700D01*
|
||||
X1742760Y-4546920D02*
|
||||
X1782760Y-4586920D01*
|
||||
X1782760Y-4546920D02*
|
||||
X1742760Y-4586920D01*
|
||||
X1754150Y-2215200D02*
|
||||
X1794150Y-2255200D01*
|
||||
X1794150Y-2215200D02*
|
||||
X1754150Y-2255200D01*
|
||||
X1999300Y-4653600D02*
|
||||
X2039300Y-4693600D01*
|
||||
X2039300Y-4653600D02*
|
||||
X1999300Y-4693600D01*
|
||||
X2354900Y-2215200D02*
|
||||
X2394900Y-2255200D01*
|
||||
X2394900Y-2215200D02*
|
||||
X2354900Y-2255200D01*
|
||||
X2586040Y-3861120D02*
|
||||
X2626040Y-3901120D01*
|
||||
X2626040Y-3861120D02*
|
||||
X2586040Y-3901120D01*
|
||||
X2697800Y-3790000D02*
|
||||
X2737800Y-3830000D01*
|
||||
X2737800Y-3790000D02*
|
||||
X2697800Y-3830000D01*
|
||||
X2850200Y-2824800D02*
|
||||
X2890200Y-2864800D01*
|
||||
X2890200Y-2824800D02*
|
||||
X2850200Y-2864800D01*
|
||||
X3269300Y-2380300D02*
|
||||
X3309300Y-2420300D01*
|
||||
X3309300Y-2380300D02*
|
||||
X3269300Y-2420300D01*
|
||||
X3271840Y-4816160D02*
|
||||
X3311840Y-4856160D01*
|
||||
X3311840Y-4816160D02*
|
||||
X3271840Y-4856160D01*
|
||||
X3434400Y-4816160D02*
|
||||
X3474400Y-4856160D01*
|
||||
X3474400Y-4816160D02*
|
||||
X3434400Y-4856160D01*
|
||||
X3955100Y-2951800D02*
|
||||
X3995100Y-2991800D01*
|
||||
X3995100Y-2951800D02*
|
||||
X3955100Y-2991800D01*
|
||||
X4158300Y-2253300D02*
|
||||
X4198300Y-2293300D01*
|
||||
X4198300Y-2253300D02*
|
||||
X4158300Y-2293300D01*
|
||||
X4171000Y-5441000D02*
|
||||
X4211000Y-5481000D01*
|
||||
X4211000Y-5441000D02*
|
||||
X4171000Y-5481000D01*
|
||||
X4310700Y-3713800D02*
|
||||
X4350700Y-3753800D01*
|
||||
X4350700Y-3713800D02*
|
||||
X4310700Y-3753800D01*
|
||||
D11*
|
||||
X1456619Y-5969476D02*
|
||||
X1456619Y-5769476D01*
|
||||
X1504238Y-5769476D01*
|
||||
X1532809Y-5779000D01*
|
||||
X1551857Y-5798048D01*
|
||||
X1561381Y-5817095D01*
|
||||
X1570905Y-5855190D01*
|
||||
X1570905Y-5883762D01*
|
||||
X1561381Y-5921857D01*
|
||||
X1551857Y-5940905D01*
|
||||
X1532809Y-5959952D01*
|
||||
X1504238Y-5969476D01*
|
||||
X1456619Y-5969476D01*
|
||||
X1656619Y-5969476D02*
|
||||
X1656619Y-5836143D01*
|
||||
X1656619Y-5874238D02*
|
||||
X1666143Y-5855190D01*
|
||||
X1675667Y-5845667D01*
|
||||
X1694714Y-5836143D01*
|
||||
X1713762Y-5836143D01*
|
||||
X1780428Y-5969476D02*
|
||||
X1780428Y-5836143D01*
|
||||
X1780428Y-5769476D02*
|
||||
X1770905Y-5779000D01*
|
||||
X1780428Y-5788524D01*
|
||||
X1789952Y-5779000D01*
|
||||
X1780428Y-5769476D01*
|
||||
X1780428Y-5788524D01*
|
||||
X1904238Y-5969476D02*
|
||||
X1885190Y-5959952D01*
|
||||
X1875667Y-5940905D01*
|
||||
X1875667Y-5769476D01*
|
||||
X2009000Y-5969476D02*
|
||||
X1989952Y-5959952D01*
|
||||
X1980428Y-5940905D01*
|
||||
X1980428Y-5769476D01*
|
||||
X2237571Y-5969476D02*
|
||||
X2237571Y-5769476D01*
|
||||
X2304238Y-5912333D01*
|
||||
X2370905Y-5769476D01*
|
||||
X2370905Y-5969476D01*
|
||||
X2551857Y-5969476D02*
|
||||
X2551857Y-5864714D01*
|
||||
X2542333Y-5845667D01*
|
||||
X2523286Y-5836143D01*
|
||||
X2485190Y-5836143D01*
|
||||
X2466143Y-5845667D01*
|
||||
X2551857Y-5959952D02*
|
||||
X2532810Y-5969476D01*
|
||||
X2485190Y-5969476D01*
|
||||
X2466143Y-5959952D01*
|
||||
X2456619Y-5940905D01*
|
||||
X2456619Y-5921857D01*
|
||||
X2466143Y-5902809D01*
|
||||
X2485190Y-5893286D01*
|
||||
X2532810Y-5893286D01*
|
||||
X2551857Y-5883762D01*
|
||||
X2647095Y-5836143D02*
|
||||
X2647095Y-6036143D01*
|
||||
X2647095Y-5845667D02*
|
||||
X2666143Y-5836143D01*
|
||||
X2704238Y-5836143D01*
|
||||
X2723286Y-5845667D01*
|
||||
X2732810Y-5855190D01*
|
||||
X2742333Y-5874238D01*
|
||||
X2742333Y-5931381D01*
|
||||
X2732810Y-5950428D01*
|
||||
X2723286Y-5959952D01*
|
||||
X2704238Y-5969476D01*
|
||||
X2666143Y-5969476D01*
|
||||
X2647095Y-5959952D01*
|
||||
X2828048Y-5950428D02*
|
||||
X2837571Y-5959952D01*
|
||||
X2828048Y-5969476D01*
|
||||
X2818524Y-5959952D01*
|
||||
X2828048Y-5950428D01*
|
||||
X2828048Y-5969476D01*
|
||||
X2828048Y-5845667D02*
|
||||
X2837571Y-5855190D01*
|
||||
X2828048Y-5864714D01*
|
||||
X2818524Y-5855190D01*
|
||||
X2828048Y-5845667D01*
|
||||
X2828048Y-5864714D01*
|
||||
D12*
|
||||
X1159000Y-6279000D02*
|
||||
X1199000Y-6319000D01*
|
||||
X1199000Y-6279000D02*
|
||||
X1159000Y-6319000D01*
|
||||
D11*
|
||||
X1494714Y-6189476D02*
|
||||
X1513762Y-6189476D01*
|
||||
X1532809Y-6199000D01*
|
||||
X1542333Y-6208524D01*
|
||||
X1551857Y-6227571D01*
|
||||
X1561381Y-6265667D01*
|
||||
X1561381Y-6313286D01*
|
||||
X1551857Y-6351381D01*
|
||||
X1542333Y-6370428D01*
|
||||
X1532809Y-6379952D01*
|
||||
X1513762Y-6389476D01*
|
||||
X1494714Y-6389476D01*
|
||||
X1475667Y-6379952D01*
|
||||
X1466143Y-6370428D01*
|
||||
X1456619Y-6351381D01*
|
||||
X1447095Y-6313286D01*
|
||||
X1447095Y-6265667D01*
|
||||
X1456619Y-6227571D01*
|
||||
X1466143Y-6208524D01*
|
||||
X1475667Y-6199000D01*
|
||||
X1494714Y-6189476D01*
|
||||
X1647095Y-6370428D02*
|
||||
X1656619Y-6379952D01*
|
||||
X1647095Y-6389476D01*
|
||||
X1637571Y-6379952D01*
|
||||
X1647095Y-6370428D01*
|
||||
X1647095Y-6389476D01*
|
||||
X1828048Y-6256143D02*
|
||||
X1828048Y-6389476D01*
|
||||
X1780428Y-6179952D02*
|
||||
X1732809Y-6322809D01*
|
||||
X1856619Y-6322809D01*
|
||||
X1970905Y-6189476D02*
|
||||
X1989952Y-6189476D01*
|
||||
X2009000Y-6199000D01*
|
||||
X2018524Y-6208524D01*
|
||||
X2028048Y-6227571D01*
|
||||
X2037571Y-6265667D01*
|
||||
X2037571Y-6313286D01*
|
||||
X2028048Y-6351381D01*
|
||||
X2018524Y-6370428D01*
|
||||
X2009000Y-6379952D01*
|
||||
X1989952Y-6389476D01*
|
||||
X1970905Y-6389476D01*
|
||||
X1951857Y-6379952D01*
|
||||
X1942333Y-6370428D01*
|
||||
X1932809Y-6351381D01*
|
||||
X1923286Y-6313286D01*
|
||||
X1923286Y-6265667D01*
|
||||
X1932809Y-6227571D01*
|
||||
X1942333Y-6208524D01*
|
||||
X1951857Y-6199000D01*
|
||||
X1970905Y-6189476D01*
|
||||
X2161381Y-6189476D02*
|
||||
X2180429Y-6189476D01*
|
||||
X2199476Y-6199000D01*
|
||||
X2209000Y-6208524D01*
|
||||
X2218524Y-6227571D01*
|
||||
X2228048Y-6265667D01*
|
||||
X2228048Y-6313286D01*
|
||||
X2218524Y-6351381D01*
|
||||
X2209000Y-6370428D01*
|
||||
X2199476Y-6379952D01*
|
||||
X2180429Y-6389476D01*
|
||||
X2161381Y-6389476D01*
|
||||
X2142333Y-6379952D01*
|
||||
X2132810Y-6370428D01*
|
||||
X2123286Y-6351381D01*
|
||||
X2113762Y-6313286D01*
|
||||
X2113762Y-6265667D01*
|
||||
X2123286Y-6227571D01*
|
||||
X2132810Y-6208524D01*
|
||||
X2142333Y-6199000D01*
|
||||
X2161381Y-6189476D01*
|
||||
X2313762Y-6389476D02*
|
||||
X2313762Y-6256143D01*
|
||||
X2313762Y-6275190D02*
|
||||
X2323286Y-6265667D01*
|
||||
X2342333Y-6256143D01*
|
||||
X2370905Y-6256143D01*
|
||||
X2389952Y-6265667D01*
|
||||
X2399476Y-6284714D01*
|
||||
X2399476Y-6389476D01*
|
||||
X2399476Y-6284714D02*
|
||||
X2409000Y-6265667D01*
|
||||
X2428048Y-6256143D01*
|
||||
X2456619Y-6256143D01*
|
||||
X2475667Y-6265667D01*
|
||||
X2485190Y-6284714D01*
|
||||
X2485190Y-6389476D01*
|
||||
X2580429Y-6389476D02*
|
||||
X2580429Y-6256143D01*
|
||||
X2580429Y-6275190D02*
|
||||
X2589952Y-6265667D01*
|
||||
X2609000Y-6256143D01*
|
||||
X2637571Y-6256143D01*
|
||||
X2656619Y-6265667D01*
|
||||
X2666143Y-6284714D01*
|
||||
X2666143Y-6389476D01*
|
||||
X2666143Y-6284714D02*
|
||||
X2675667Y-6265667D01*
|
||||
X2694714Y-6256143D01*
|
||||
X2723286Y-6256143D01*
|
||||
X2742333Y-6265667D01*
|
||||
X2751857Y-6284714D01*
|
||||
X2751857Y-6389476D01*
|
||||
X3142333Y-6179952D02*
|
||||
X2970905Y-6437095D01*
|
||||
X3399476Y-6189476D02*
|
||||
X3418524Y-6189476D01*
|
||||
X3437571Y-6199000D01*
|
||||
X3447095Y-6208524D01*
|
||||
X3456619Y-6227571D01*
|
||||
X3466143Y-6265667D01*
|
||||
X3466143Y-6313286D01*
|
||||
X3456619Y-6351381D01*
|
||||
X3447095Y-6370428D01*
|
||||
X3437571Y-6379952D01*
|
||||
X3418524Y-6389476D01*
|
||||
X3399476Y-6389476D01*
|
||||
X3380428Y-6379952D01*
|
||||
X3370905Y-6370428D01*
|
||||
X3361381Y-6351381D01*
|
||||
X3351857Y-6313286D01*
|
||||
X3351857Y-6265667D01*
|
||||
X3361381Y-6227571D01*
|
||||
X3370905Y-6208524D01*
|
||||
X3380428Y-6199000D01*
|
||||
X3399476Y-6189476D01*
|
||||
X3551857Y-6370428D02*
|
||||
X3561381Y-6379952D01*
|
||||
X3551857Y-6389476D01*
|
||||
X3542333Y-6379952D01*
|
||||
X3551857Y-6370428D01*
|
||||
X3551857Y-6389476D01*
|
||||
X3685190Y-6189476D02*
|
||||
X3704238Y-6189476D01*
|
||||
X3723286Y-6199000D01*
|
||||
X3732809Y-6208524D01*
|
||||
X3742333Y-6227571D01*
|
||||
X3751857Y-6265667D01*
|
||||
X3751857Y-6313286D01*
|
||||
X3742333Y-6351381D01*
|
||||
X3732809Y-6370428D01*
|
||||
X3723286Y-6379952D01*
|
||||
X3704238Y-6389476D01*
|
||||
X3685190Y-6389476D01*
|
||||
X3666143Y-6379952D01*
|
||||
X3656619Y-6370428D01*
|
||||
X3647095Y-6351381D01*
|
||||
X3637571Y-6313286D01*
|
||||
X3637571Y-6265667D01*
|
||||
X3647095Y-6227571D01*
|
||||
X3656619Y-6208524D01*
|
||||
X3666143Y-6199000D01*
|
||||
X3685190Y-6189476D01*
|
||||
X3942333Y-6389476D02*
|
||||
X3828048Y-6389476D01*
|
||||
X3885190Y-6389476D02*
|
||||
X3885190Y-6189476D01*
|
||||
X3866143Y-6218048D01*
|
||||
X3847095Y-6237095D01*
|
||||
X3828048Y-6246619D01*
|
||||
X4123286Y-6189476D02*
|
||||
X4028048Y-6189476D01*
|
||||
X4018524Y-6284714D01*
|
||||
X4028048Y-6275190D01*
|
||||
X4047095Y-6265667D01*
|
||||
X4094714Y-6265667D01*
|
||||
X4113762Y-6275190D01*
|
||||
X4123286Y-6284714D01*
|
||||
X4132809Y-6303762D01*
|
||||
X4132809Y-6351381D01*
|
||||
X4123286Y-6370428D01*
|
||||
X4113762Y-6379952D01*
|
||||
X4094714Y-6389476D01*
|
||||
X4047095Y-6389476D01*
|
||||
X4028048Y-6379952D01*
|
||||
X4018524Y-6370428D01*
|
||||
X4199476Y-6189476D02*
|
||||
X4332810Y-6189476D01*
|
||||
X4247095Y-6389476D01*
|
||||
X4399476Y-6189476D02*
|
||||
X4399476Y-6227571D01*
|
||||
X4475667Y-6189476D02*
|
||||
X4475667Y-6227571D01*
|
||||
X4770905Y-6465667D02*
|
||||
X4761381Y-6456143D01*
|
||||
X4742333Y-6427571D01*
|
||||
X4732810Y-6408524D01*
|
||||
X4723286Y-6379952D01*
|
||||
X4713762Y-6332333D01*
|
||||
X4713762Y-6294238D01*
|
||||
X4723286Y-6246619D01*
|
||||
X4732810Y-6218048D01*
|
||||
X4742333Y-6199000D01*
|
||||
X4761381Y-6170428D01*
|
||||
X4770905Y-6160905D01*
|
||||
X4951857Y-6389476D02*
|
||||
X4837571Y-6389476D01*
|
||||
X4894714Y-6389476D02*
|
||||
X4894714Y-6189476D01*
|
||||
X4875667Y-6218048D01*
|
||||
X4856619Y-6237095D01*
|
||||
X4837571Y-6246619D01*
|
||||
X5123286Y-6189476D02*
|
||||
X5085190Y-6189476D01*
|
||||
X5066143Y-6199000D01*
|
||||
X5056619Y-6208524D01*
|
||||
X5037571Y-6237095D01*
|
||||
X5028048Y-6275190D01*
|
||||
X5028048Y-6351381D01*
|
||||
X5037571Y-6370428D01*
|
||||
X5047095Y-6379952D01*
|
||||
X5066143Y-6389476D01*
|
||||
X5104238Y-6389476D01*
|
||||
X5123286Y-6379952D01*
|
||||
X5132810Y-6370428D01*
|
||||
X5142333Y-6351381D01*
|
||||
X5142333Y-6303762D01*
|
||||
X5132810Y-6284714D01*
|
||||
X5123286Y-6275190D01*
|
||||
X5104238Y-6265667D01*
|
||||
X5066143Y-6265667D01*
|
||||
X5047095Y-6275190D01*
|
||||
X5037571Y-6284714D01*
|
||||
X5028048Y-6303762D01*
|
||||
X5380429Y-6389476D02*
|
||||
X5380429Y-6189476D01*
|
||||
X5466143Y-6389476D02*
|
||||
X5466143Y-6284714D01*
|
||||
X5456619Y-6265667D01*
|
||||
X5437571Y-6256143D01*
|
||||
X5409000Y-6256143D01*
|
||||
X5389952Y-6265667D01*
|
||||
X5380429Y-6275190D01*
|
||||
X5589952Y-6389476D02*
|
||||
X5570905Y-6379952D01*
|
||||
X5561381Y-6370428D01*
|
||||
X5551857Y-6351381D01*
|
||||
X5551857Y-6294238D01*
|
||||
X5561381Y-6275190D01*
|
||||
X5570905Y-6265667D01*
|
||||
X5589952Y-6256143D01*
|
||||
X5618524Y-6256143D01*
|
||||
X5637571Y-6265667D01*
|
||||
X5647095Y-6275190D01*
|
||||
X5656619Y-6294238D01*
|
||||
X5656619Y-6351381D01*
|
||||
X5647095Y-6370428D01*
|
||||
X5637571Y-6379952D01*
|
||||
X5618524Y-6389476D01*
|
||||
X5589952Y-6389476D01*
|
||||
X5770905Y-6389476D02*
|
||||
X5751857Y-6379952D01*
|
||||
X5742333Y-6360905D01*
|
||||
X5742333Y-6189476D01*
|
||||
X5923286Y-6379952D02*
|
||||
X5904238Y-6389476D01*
|
||||
X5866143Y-6389476D01*
|
||||
X5847095Y-6379952D01*
|
||||
X5837571Y-6360905D01*
|
||||
X5837571Y-6284714D01*
|
||||
X5847095Y-6265667D01*
|
||||
X5866143Y-6256143D01*
|
||||
X5904238Y-6256143D01*
|
||||
X5923286Y-6265667D01*
|
||||
X5932809Y-6284714D01*
|
||||
X5932809Y-6303762D01*
|
||||
X5837571Y-6322809D01*
|
||||
X6009000Y-6379952D02*
|
||||
X6028048Y-6389476D01*
|
||||
X6066143Y-6389476D01*
|
||||
X6085190Y-6379952D01*
|
||||
X6094714Y-6360905D01*
|
||||
X6094714Y-6351381D01*
|
||||
X6085190Y-6332333D01*
|
||||
X6066143Y-6322809D01*
|
||||
X6037571Y-6322809D01*
|
||||
X6018524Y-6313286D01*
|
||||
X6009000Y-6294238D01*
|
||||
X6009000Y-6284714D01*
|
||||
X6018524Y-6265667D01*
|
||||
X6037571Y-6256143D01*
|
||||
X6066143Y-6256143D01*
|
||||
X6085190Y-6265667D01*
|
||||
X6161381Y-6465667D02*
|
||||
X6170905Y-6456143D01*
|
||||
X6189952Y-6427571D01*
|
||||
X6199476Y-6408524D01*
|
||||
X6209000Y-6379952D01*
|
||||
X6218524Y-6332333D01*
|
||||
X6218524Y-6294238D01*
|
||||
X6209000Y-6246619D01*
|
||||
X6199476Y-6218048D01*
|
||||
X6189952Y-6199000D01*
|
||||
X6170905Y-6170428D01*
|
||||
X6161381Y-6160905D01*
|
||||
M02*
|
||||
32
squeow_hw/jlcpcb/squeow-PTH.drl
Normal file
32
squeow_hw/jlcpcb/squeow-PTH.drl
Normal file
@@ -0,0 +1,32 @@
|
||||
M48
|
||||
; DRILL file {KiCad 6.0.7+dfsg-3} date mer 5 ott 2022, 14:52:04
|
||||
; FORMAT={-:-/ absolute / metric / decimal}
|
||||
; #@! TF.CreationDate,2022-10-05T14:52:04+02:00
|
||||
; #@! TF.GenerationSoftware,Kicad,Pcbnew,6.0.7+dfsg-3
|
||||
; #@! TF.FileFunction,Plated,1,2,PTH
|
||||
FMAT,2
|
||||
METRIC
|
||||
; #@! TA.AperFunction,Plated,PTH,ViaDrill
|
||||
T1C0.400
|
||||
%
|
||||
G90
|
||||
G05
|
||||
T1
|
||||
X15.113Y-39.497
|
||||
X15.113Y-53.467
|
||||
X17.628Y-45.669
|
||||
X17.741Y-22.352
|
||||
X20.193Y-46.736
|
||||
X23.749Y-22.352
|
||||
X26.06Y-38.811
|
||||
X27.178Y-38.1
|
||||
X28.702Y-28.448
|
||||
X32.893Y-24.003
|
||||
X32.918Y-48.362
|
||||
X34.544Y-48.362
|
||||
X39.751Y-29.718
|
||||
X41.783Y-22.733
|
||||
X41.91Y-54.61
|
||||
X43.307Y-37.338
|
||||
T0
|
||||
M30
|
||||
BIN
squeow_hw/squeow-backups/squeow-2022-10-04_134218.zip
Normal file
BIN
squeow_hw/squeow-backups/squeow-2022-10-04_134218.zip
Normal file
Binary file not shown.
BIN
squeow_hw/squeow-backups/squeow-2022-10-04_141706.zip
Normal file
BIN
squeow_hw/squeow-backups/squeow-2022-10-04_141706.zip
Normal file
Binary file not shown.
BIN
squeow_hw/squeow-backups/squeow-2022-10-05_104657.zip
Normal file
BIN
squeow_hw/squeow-backups/squeow-2022-10-05_104657.zip
Normal file
Binary file not shown.
BIN
squeow_hw/squeow-backups/squeow-2022-10-05_140432.zip
Normal file
BIN
squeow_hw/squeow-backups/squeow-2022-10-05_140432.zip
Normal file
Binary file not shown.
BIN
squeow_hw/squeow-backups/squeow-2022-10-05_145900.zip
Normal file
BIN
squeow_hw/squeow-backups/squeow-2022-10-05_145900.zip
Normal file
Binary file not shown.
BIN
squeow_hw/squeow-backups/squeow-2022-10-07_223214.zip
Normal file
BIN
squeow_hw/squeow-backups/squeow-2022-10-07_223214.zip
Normal file
Binary file not shown.
BIN
squeow_hw/squeow-backups/squeow-2022-10-10_123446.zip
Normal file
BIN
squeow_hw/squeow-backups/squeow-2022-10-10_123446.zip
Normal file
Binary file not shown.
BIN
squeow_hw/squeow-backups/squeow-2022-10-10_124608.zip
Normal file
BIN
squeow_hw/squeow-backups/squeow-2022-10-10_124608.zip
Normal file
Binary file not shown.
BIN
squeow_hw/squeow-backups/squeow-2022-10-28_154142.zip
Normal file
BIN
squeow_hw/squeow-backups/squeow-2022-10-28_154142.zip
Normal file
Binary file not shown.
BIN
squeow_hw/squeow-backups/squeow-2022-10-28_192108.zip
Normal file
BIN
squeow_hw/squeow-backups/squeow-2022-10-28_192108.zip
Normal file
Binary file not shown.
BIN
squeow_hw/squeow-backups/squeow-2022-11-11_211649.zip
Normal file
BIN
squeow_hw/squeow-backups/squeow-2022-11-11_211649.zip
Normal file
Binary file not shown.
BIN
squeow_hw/squeow-backups/squeow-2022-11-11_212452.zip
Normal file
BIN
squeow_hw/squeow-backups/squeow-2022-11-11_212452.zip
Normal file
Binary file not shown.
BIN
squeow_hw/squeow-backups/squeow-2022-11-11_214509.zip
Normal file
BIN
squeow_hw/squeow-backups/squeow-2022-11-11_214509.zip
Normal file
Binary file not shown.
BIN
squeow_hw/squeow-backups/squeow-2022-11-13_012818.zip
Normal file
BIN
squeow_hw/squeow-backups/squeow-2022-11-13_012818.zip
Normal file
Binary file not shown.
BIN
squeow_hw/squeow-backups/squeow-2022-11-15_134144.zip
Normal file
BIN
squeow_hw/squeow-backups/squeow-2022-11-15_134144.zip
Normal file
Binary file not shown.
BIN
squeow_hw/squeow-backups/squeow-2022-11-15_134823.zip
Normal file
BIN
squeow_hw/squeow-backups/squeow-2022-11-15_134823.zip
Normal file
Binary file not shown.
BIN
squeow_hw/squeow-backups/squeow-2022-11-18_190348.zip
Normal file
BIN
squeow_hw/squeow-backups/squeow-2022-11-18_190348.zip
Normal file
Binary file not shown.
BIN
squeow_hw/squeow-backups/squeow-2022-11-18_202540.zip
Normal file
BIN
squeow_hw/squeow-backups/squeow-2022-11-18_202540.zip
Normal file
Binary file not shown.
BIN
squeow_hw/squeow-backups/squeow-2023-01-01_011521.zip
Normal file
BIN
squeow_hw/squeow-backups/squeow-2023-01-01_011521.zip
Normal file
Binary file not shown.
BIN
squeow_hw/squeow-backups/squeow-2023-03-15_221901.zip
Normal file
BIN
squeow_hw/squeow-backups/squeow-2023-03-15_221901.zip
Normal file
Binary file not shown.
BIN
squeow_hw/squeow-backups/squeow-2023-06-30_110458.zip
Normal file
BIN
squeow_hw/squeow-backups/squeow-2023-06-30_110458.zip
Normal file
Binary file not shown.
BIN
squeow_hw/squeow-backups/squeow-2023-06-30_111541.zip
Normal file
BIN
squeow_hw/squeow-backups/squeow-2023-06-30_111541.zip
Normal file
Binary file not shown.
BIN
squeow_hw/squeow-backups/squeow-2023-06-30_185236.zip
Normal file
BIN
squeow_hw/squeow-backups/squeow-2023-06-30_185236.zip
Normal file
Binary file not shown.
BIN
squeow_hw/squeow-backups/squeow-2023-06-30_185854.zip
Normal file
BIN
squeow_hw/squeow-backups/squeow-2023-06-30_185854.zip
Normal file
Binary file not shown.
BIN
squeow_hw/squeow-backups/squeow-2023-06-30_201736.zip
Normal file
BIN
squeow_hw/squeow-backups/squeow-2023-06-30_201736.zip
Normal file
Binary file not shown.
BIN
squeow_hw/squeow-backups/squeow-2023-07-01_181420.zip
Normal file
BIN
squeow_hw/squeow-backups/squeow-2023-07-01_181420.zip
Normal file
Binary file not shown.
3901
squeow_hw/squeow.kicad_pcb
Normal file
3901
squeow_hw/squeow.kicad_pcb
Normal file
File diff suppressed because it is too large
Load Diff
77
squeow_hw/squeow.kicad_prl
Normal file
77
squeow_hw/squeow.kicad_prl
Normal file
@@ -0,0 +1,77 @@
|
||||
{
|
||||
"board": {
|
||||
"active_layer": 0,
|
||||
"active_layer_preset": "",
|
||||
"auto_track_width": false,
|
||||
"hidden_netclasses": [],
|
||||
"hidden_nets": [],
|
||||
"high_contrast_mode": 0,
|
||||
"net_color_mode": 1,
|
||||
"opacity": {
|
||||
"images": 0.6,
|
||||
"pads": 1.0,
|
||||
"tracks": 1.0,
|
||||
"vias": 1.0,
|
||||
"zones": 0.6
|
||||
},
|
||||
"ratsnest_display_mode": 0,
|
||||
"selection_filter": {
|
||||
"dimensions": true,
|
||||
"footprints": true,
|
||||
"graphics": true,
|
||||
"keepouts": true,
|
||||
"lockedItems": true,
|
||||
"otherItems": true,
|
||||
"pads": true,
|
||||
"text": true,
|
||||
"tracks": true,
|
||||
"vias": true,
|
||||
"zones": true
|
||||
},
|
||||
"visible_items": [
|
||||
0,
|
||||
1,
|
||||
2,
|
||||
3,
|
||||
4,
|
||||
5,
|
||||
8,
|
||||
9,
|
||||
10,
|
||||
11,
|
||||
12,
|
||||
13,
|
||||
14,
|
||||
15,
|
||||
16,
|
||||
17,
|
||||
18,
|
||||
19,
|
||||
20,
|
||||
21,
|
||||
22,
|
||||
23,
|
||||
24,
|
||||
25,
|
||||
26,
|
||||
27,
|
||||
28,
|
||||
29,
|
||||
30,
|
||||
32,
|
||||
33,
|
||||
34,
|
||||
35,
|
||||
36
|
||||
],
|
||||
"visible_layers": "0001020_ffffffff",
|
||||
"zone_display_mode": 0
|
||||
},
|
||||
"meta": {
|
||||
"filename": "squeow.kicad_prl",
|
||||
"version": 3
|
||||
},
|
||||
"project": {
|
||||
"files": []
|
||||
}
|
||||
}
|
||||
507
squeow_hw/squeow.kicad_pro
Normal file
507
squeow_hw/squeow.kicad_pro
Normal file
@@ -0,0 +1,507 @@
|
||||
{
|
||||
"board": {
|
||||
"3dviewports": [],
|
||||
"design_settings": {
|
||||
"defaults": {
|
||||
"board_outline_line_width": 0.09999999999999999,
|
||||
"copper_line_width": 0.19999999999999998,
|
||||
"copper_text_italic": false,
|
||||
"copper_text_size_h": 1.5,
|
||||
"copper_text_size_v": 1.5,
|
||||
"copper_text_thickness": 0.3,
|
||||
"copper_text_upright": false,
|
||||
"courtyard_line_width": 0.049999999999999996,
|
||||
"dimension_precision": 4,
|
||||
"dimension_units": 3,
|
||||
"dimensions": {
|
||||
"arrow_length": 1270000,
|
||||
"extension_offset": 500000,
|
||||
"keep_text_aligned": true,
|
||||
"suppress_zeroes": false,
|
||||
"text_position": 0,
|
||||
"units_format": 1
|
||||
},
|
||||
"fab_line_width": 0.09999999999999999,
|
||||
"fab_text_italic": false,
|
||||
"fab_text_size_h": 1.0,
|
||||
"fab_text_size_v": 1.0,
|
||||
"fab_text_thickness": 0.15,
|
||||
"fab_text_upright": false,
|
||||
"other_line_width": 0.15,
|
||||
"other_text_italic": false,
|
||||
"other_text_size_h": 1.0,
|
||||
"other_text_size_v": 1.0,
|
||||
"other_text_thickness": 0.15,
|
||||
"other_text_upright": false,
|
||||
"pads": {
|
||||
"drill": 0.762,
|
||||
"height": 1.524,
|
||||
"width": 1.524
|
||||
},
|
||||
"silk_line_width": 0.15,
|
||||
"silk_text_italic": false,
|
||||
"silk_text_size_h": 1.0,
|
||||
"silk_text_size_v": 1.0,
|
||||
"silk_text_thickness": 0.15,
|
||||
"silk_text_upright": false,
|
||||
"zones": {
|
||||
"45_degree_only": false,
|
||||
"min_clearance": 0.508
|
||||
}
|
||||
},
|
||||
"diff_pair_dimensions": [
|
||||
{
|
||||
"gap": 0.0,
|
||||
"via_gap": 0.0,
|
||||
"width": 0.0
|
||||
}
|
||||
],
|
||||
"drc_exclusions": [],
|
||||
"meta": {
|
||||
"version": 2
|
||||
},
|
||||
"rule_severities": {
|
||||
"annular_width": "error",
|
||||
"clearance": "error",
|
||||
"connection_width": "warning",
|
||||
"copper_edge_clearance": "error",
|
||||
"copper_sliver": "warning",
|
||||
"courtyards_overlap": "error",
|
||||
"diff_pair_gap_out_of_range": "error",
|
||||
"diff_pair_uncoupled_length_too_long": "error",
|
||||
"drill_out_of_range": "error",
|
||||
"duplicate_footprints": "warning",
|
||||
"extra_footprint": "warning",
|
||||
"footprint": "error",
|
||||
"footprint_type_mismatch": "error",
|
||||
"hole_clearance": "error",
|
||||
"hole_near_hole": "error",
|
||||
"invalid_outline": "error",
|
||||
"isolated_copper": "warning",
|
||||
"item_on_disabled_layer": "error",
|
||||
"items_not_allowed": "error",
|
||||
"length_out_of_range": "error",
|
||||
"lib_footprint_issues": "warning",
|
||||
"lib_footprint_mismatch": "warning",
|
||||
"malformed_courtyard": "error",
|
||||
"microvia_drill_out_of_range": "error",
|
||||
"missing_courtyard": "ignore",
|
||||
"missing_footprint": "warning",
|
||||
"net_conflict": "warning",
|
||||
"npth_inside_courtyard": "ignore",
|
||||
"padstack": "error",
|
||||
"pth_inside_courtyard": "ignore",
|
||||
"shorting_items": "error",
|
||||
"silk_edge_clearance": "warning",
|
||||
"silk_over_copper": "warning",
|
||||
"silk_overlap": "warning",
|
||||
"skew_out_of_range": "error",
|
||||
"solder_mask_bridge": "error",
|
||||
"starved_thermal": "error",
|
||||
"text_height": "warning",
|
||||
"text_thickness": "warning",
|
||||
"through_hole_pad_without_hole": "error",
|
||||
"too_many_vias": "error",
|
||||
"track_dangling": "warning",
|
||||
"track_width": "error",
|
||||
"tracks_crossing": "error",
|
||||
"unconnected_items": "error",
|
||||
"unresolved_variable": "error",
|
||||
"via_dangling": "warning",
|
||||
"zones_intersect": "error"
|
||||
},
|
||||
"rules": {
|
||||
"allow_blind_buried_vias": false,
|
||||
"allow_microvias": false,
|
||||
"max_error": 0.005,
|
||||
"min_clearance": 0.0,
|
||||
"min_connection": 0.0,
|
||||
"min_copper_edge_clearance": 0.0,
|
||||
"min_hole_clearance": 0.25,
|
||||
"min_hole_to_hole": 0.25,
|
||||
"min_microvia_diameter": 0.19999999999999998,
|
||||
"min_microvia_drill": 0.09999999999999999,
|
||||
"min_resolved_spokes": 2,
|
||||
"min_silk_clearance": 0.0,
|
||||
"min_text_height": 0.7999999999999999,
|
||||
"min_text_thickness": 0.08,
|
||||
"min_through_hole_diameter": 0.3,
|
||||
"min_track_width": 0.19999999999999998,
|
||||
"min_via_annular_width": 0.049999999999999996,
|
||||
"min_via_diameter": 0.39999999999999997,
|
||||
"solder_mask_clearance": 0.0,
|
||||
"solder_mask_min_width": 0.0,
|
||||
"solder_mask_to_copper_clearance": 0.0,
|
||||
"use_height_for_length_calcs": true
|
||||
},
|
||||
"teardrop_options": [
|
||||
{
|
||||
"td_allow_use_two_tracks": true,
|
||||
"td_curve_segcount": 5,
|
||||
"td_on_pad_in_zone": false,
|
||||
"td_onpadsmd": true,
|
||||
"td_onroundshapesonly": false,
|
||||
"td_ontrackend": false,
|
||||
"td_onviapad": true
|
||||
}
|
||||
],
|
||||
"teardrop_parameters": [
|
||||
{
|
||||
"td_curve_segcount": 0,
|
||||
"td_height_ratio": 1.0,
|
||||
"td_length_ratio": 0.5,
|
||||
"td_maxheight": 2.0,
|
||||
"td_maxlen": 1.0,
|
||||
"td_target_name": "td_round_shape",
|
||||
"td_width_to_size_filter_ratio": 0.9
|
||||
},
|
||||
{
|
||||
"td_curve_segcount": 0,
|
||||
"td_height_ratio": 1.0,
|
||||
"td_length_ratio": 0.5,
|
||||
"td_maxheight": 2.0,
|
||||
"td_maxlen": 1.0,
|
||||
"td_target_name": "td_rect_shape",
|
||||
"td_width_to_size_filter_ratio": 0.9
|
||||
},
|
||||
{
|
||||
"td_curve_segcount": 0,
|
||||
"td_height_ratio": 1.0,
|
||||
"td_length_ratio": 0.5,
|
||||
"td_maxheight": 2.0,
|
||||
"td_maxlen": 1.0,
|
||||
"td_target_name": "td_track_end",
|
||||
"td_width_to_size_filter_ratio": 0.9
|
||||
}
|
||||
],
|
||||
"track_widths": [
|
||||
0.0,
|
||||
0.2,
|
||||
0.5,
|
||||
1.0
|
||||
],
|
||||
"via_dimensions": [
|
||||
{
|
||||
"diameter": 0.0,
|
||||
"drill": 0.0
|
||||
}
|
||||
],
|
||||
"zones_allow_external_fillets": false,
|
||||
"zones_use_no_outline": true
|
||||
},
|
||||
"layer_presets": [],
|
||||
"viewports": []
|
||||
},
|
||||
"boards": [],
|
||||
"cvpcb": {
|
||||
"equivalence_files": []
|
||||
},
|
||||
"erc": {
|
||||
"erc_exclusions": [],
|
||||
"meta": {
|
||||
"version": 0
|
||||
},
|
||||
"pin_map": [
|
||||
[
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
1,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
2
|
||||
],
|
||||
[
|
||||
0,
|
||||
2,
|
||||
0,
|
||||
1,
|
||||
0,
|
||||
0,
|
||||
1,
|
||||
0,
|
||||
2,
|
||||
2,
|
||||
2,
|
||||
2
|
||||
],
|
||||
[
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
1,
|
||||
0,
|
||||
1,
|
||||
0,
|
||||
1,
|
||||
2
|
||||
],
|
||||
[
|
||||
0,
|
||||
1,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
1,
|
||||
1,
|
||||
2,
|
||||
1,
|
||||
1,
|
||||
2
|
||||
],
|
||||
[
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
1,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
2
|
||||
],
|
||||
[
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
2
|
||||
],
|
||||
[
|
||||
1,
|
||||
1,
|
||||
1,
|
||||
1,
|
||||
1,
|
||||
0,
|
||||
1,
|
||||
1,
|
||||
1,
|
||||
1,
|
||||
1,
|
||||
2
|
||||
],
|
||||
[
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
1,
|
||||
0,
|
||||
0,
|
||||
1,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
2
|
||||
],
|
||||
[
|
||||
0,
|
||||
2,
|
||||
1,
|
||||
2,
|
||||
0,
|
||||
0,
|
||||
1,
|
||||
0,
|
||||
2,
|
||||
2,
|
||||
2,
|
||||
2
|
||||
],
|
||||
[
|
||||
0,
|
||||
2,
|
||||
0,
|
||||
1,
|
||||
0,
|
||||
0,
|
||||
1,
|
||||
0,
|
||||
2,
|
||||
0,
|
||||
0,
|
||||
2
|
||||
],
|
||||
[
|
||||
0,
|
||||
2,
|
||||
1,
|
||||
1,
|
||||
0,
|
||||
0,
|
||||
1,
|
||||
0,
|
||||
2,
|
||||
0,
|
||||
0,
|
||||
2
|
||||
],
|
||||
[
|
||||
2,
|
||||
2,
|
||||
2,
|
||||
2,
|
||||
2,
|
||||
2,
|
||||
2,
|
||||
2,
|
||||
2,
|
||||
2,
|
||||
2,
|
||||
2
|
||||
]
|
||||
],
|
||||
"rule_severities": {
|
||||
"bus_definition_conflict": "error",
|
||||
"bus_entry_needed": "error",
|
||||
"bus_to_bus_conflict": "error",
|
||||
"bus_to_net_conflict": "error",
|
||||
"conflicting_netclasses": "error",
|
||||
"different_unit_footprint": "error",
|
||||
"different_unit_net": "error",
|
||||
"duplicate_reference": "error",
|
||||
"duplicate_sheet_names": "error",
|
||||
"endpoint_off_grid": "warning",
|
||||
"extra_units": "error",
|
||||
"global_label_dangling": "warning",
|
||||
"hier_label_mismatch": "error",
|
||||
"label_dangling": "error",
|
||||
"lib_symbol_issues": "warning",
|
||||
"missing_bidi_pin": "warning",
|
||||
"missing_input_pin": "warning",
|
||||
"missing_power_pin": "error",
|
||||
"missing_unit": "warning",
|
||||
"multiple_net_names": "warning",
|
||||
"net_not_bus_member": "warning",
|
||||
"no_connect_connected": "warning",
|
||||
"no_connect_dangling": "warning",
|
||||
"pin_not_connected": "error",
|
||||
"pin_not_driven": "error",
|
||||
"pin_to_pin": "warning",
|
||||
"power_pin_not_driven": "error",
|
||||
"similar_labels": "warning",
|
||||
"simulation_model_issue": "ignore",
|
||||
"unannotated": "error",
|
||||
"unit_value_mismatch": "error",
|
||||
"unresolved_variable": "error",
|
||||
"wire_dangling": "error"
|
||||
}
|
||||
},
|
||||
"libraries": {
|
||||
"pinned_footprint_libs": [],
|
||||
"pinned_symbol_libs": []
|
||||
},
|
||||
"meta": {
|
||||
"filename": "squeow.kicad_pro",
|
||||
"version": 1
|
||||
},
|
||||
"net_settings": {
|
||||
"classes": [
|
||||
{
|
||||
"bus_width": 12,
|
||||
"clearance": 0.2,
|
||||
"diff_pair_gap": 0.25,
|
||||
"diff_pair_via_gap": 0.25,
|
||||
"diff_pair_width": 0.2,
|
||||
"line_style": 0,
|
||||
"microvia_diameter": 0.3,
|
||||
"microvia_drill": 0.1,
|
||||
"name": "Default",
|
||||
"pcb_color": "rgba(0, 0, 0, 0.000)",
|
||||
"schematic_color": "rgba(0, 0, 0, 0.000)",
|
||||
"track_width": 0.25,
|
||||
"via_diameter": 0.8,
|
||||
"via_drill": 0.4,
|
||||
"wire_width": 6
|
||||
}
|
||||
],
|
||||
"meta": {
|
||||
"version": 3
|
||||
},
|
||||
"net_colors": null,
|
||||
"netclass_assignments": null,
|
||||
"netclass_patterns": []
|
||||
},
|
||||
"pcbnew": {
|
||||
"last_paths": {
|
||||
"gencad": "",
|
||||
"idf": "",
|
||||
"netlist": "",
|
||||
"specctra_dsn": "",
|
||||
"step": "",
|
||||
"vrml": ""
|
||||
},
|
||||
"page_layout_descr_file": ""
|
||||
},
|
||||
"schematic": {
|
||||
"annotate_start_num": 0,
|
||||
"drawing": {
|
||||
"dashed_lines_dash_length_ratio": 12.0,
|
||||
"dashed_lines_gap_length_ratio": 3.0,
|
||||
"default_line_thickness": 6.0,
|
||||
"default_text_size": 50.0,
|
||||
"field_names": [],
|
||||
"intersheets_ref_own_page": false,
|
||||
"intersheets_ref_prefix": "",
|
||||
"intersheets_ref_short": false,
|
||||
"intersheets_ref_show": false,
|
||||
"intersheets_ref_suffix": "",
|
||||
"junction_size_choice": 3,
|
||||
"label_size_ratio": 0.375,
|
||||
"pin_symbol_size": 25.0,
|
||||
"text_offset_ratio": 0.15
|
||||
},
|
||||
"legacy_lib_dir": "",
|
||||
"legacy_lib_list": [],
|
||||
"meta": {
|
||||
"version": 1
|
||||
},
|
||||
"net_format_name": "",
|
||||
"ngspice": {
|
||||
"fix_include_paths": true,
|
||||
"fix_passive_vals": false,
|
||||
"meta": {
|
||||
"version": 0
|
||||
},
|
||||
"model_mode": 0,
|
||||
"workbook_filename": ""
|
||||
},
|
||||
"page_layout_descr_file": "",
|
||||
"plot_directory": "",
|
||||
"spice_adjust_passive_values": false,
|
||||
"spice_current_sheet_as_root": false,
|
||||
"spice_external_command": "spice \"%I\"",
|
||||
"spice_model_current_sheet_as_root": true,
|
||||
"spice_save_all_currents": false,
|
||||
"spice_save_all_voltages": false,
|
||||
"subpart_first_id": 65,
|
||||
"subpart_id_separator": 0
|
||||
},
|
||||
"sheets": [
|
||||
[
|
||||
"dd809985-7087-414a-8be4-5f927ae2bdb6",
|
||||
""
|
||||
]
|
||||
],
|
||||
"text_variables": {}
|
||||
}
|
||||
3923
squeow_hw/squeow.kicad_sch
Normal file
3923
squeow_hw/squeow.kicad_sch
Normal file
File diff suppressed because it is too large
Load Diff
2067
squeow_mod/_autosave-squeow_mod.kicad_pcb
Normal file
2067
squeow_mod/_autosave-squeow_mod.kicad_pcb
Normal file
File diff suppressed because it is too large
Load Diff
435
squeow_mod/fp-info-cache
Normal file
435
squeow_mod/fp-info-cache
Normal file
@@ -0,0 +1,435 @@
|
||||
103351009360878
|
||||
Resistor_SMD
|
||||
R_0201_0603Metric
|
||||
Resistor SMD 0201 (0603 Metric), square (rectangular) end terminal, IPC_7351 nominal, (Body size source: https://www.vishay.com/docs/20052/crcw0201e3.pdf), generated with kicad-footprint-generator
|
||||
resistor
|
||||
0
|
||||
4
|
||||
2
|
||||
Resistor_SMD
|
||||
R_0201_0603Metric_Pad0.64x0.40mm_HandSolder
|
||||
Resistor SMD 0201 (0603 Metric), square (rectangular) end terminal, IPC_7351 nominal with elongated pad for handsoldering. (Body size source: https://www.vishay.com/docs/20052/crcw0201e3.pdf), generated with kicad-footprint-generator
|
||||
resistor handsolder
|
||||
0
|
||||
4
|
||||
2
|
||||
Resistor_SMD
|
||||
R_0402_1005Metric
|
||||
Resistor SMD 0402 (1005 Metric), square (rectangular) end terminal, IPC_7351 nominal, (Body size source: IPC-SM-782 page 72, https://www.pcb-3d.com/wordpress/wp-content/uploads/ipc-sm-782a_amendment_1_and_2.pdf), generated with kicad-footprint-generator
|
||||
resistor
|
||||
0
|
||||
2
|
||||
2
|
||||
Resistor_SMD
|
||||
R_0402_1005Metric_Pad0.72x0.64mm_HandSolder
|
||||
Resistor SMD 0402 (1005 Metric), square (rectangular) end terminal, IPC_7351 nominal with elongated pad for handsoldering. (Body size source: IPC-SM-782 page 72, https://www.pcb-3d.com/wordpress/wp-content/uploads/ipc-sm-782a_amendment_1_and_2.pdf), generated with kicad-footprint-generator
|
||||
resistor handsolder
|
||||
0
|
||||
2
|
||||
2
|
||||
Resistor_SMD
|
||||
R_0603_1608Metric
|
||||
Resistor SMD 0603 (1608 Metric), square (rectangular) end terminal, IPC_7351 nominal, (Body size source: IPC-SM-782 page 72, https://www.pcb-3d.com/wordpress/wp-content/uploads/ipc-sm-782a_amendment_1_and_2.pdf), generated with kicad-footprint-generator
|
||||
resistor
|
||||
0
|
||||
2
|
||||
2
|
||||
Resistor_SMD
|
||||
R_0603_1608Metric_Pad0.98x0.95mm_HandSolder
|
||||
Resistor SMD 0603 (1608 Metric), square (rectangular) end terminal, IPC_7351 nominal with elongated pad for handsoldering. (Body size source: IPC-SM-782 page 72, https://www.pcb-3d.com/wordpress/wp-content/uploads/ipc-sm-782a_amendment_1_and_2.pdf), generated with kicad-footprint-generator
|
||||
resistor handsolder
|
||||
0
|
||||
2
|
||||
2
|
||||
Resistor_SMD
|
||||
R_0612_1632Metric
|
||||
Resistor SMD 0612 (1632 Metric), square (rectangular) end terminal, IPC_7351 nominal, (Body size source: https://www.vishay.com/docs/20019/rcwe.pdf), generated with kicad-footprint-generator
|
||||
resistor
|
||||
0
|
||||
2
|
||||
2
|
||||
Resistor_SMD
|
||||
R_0612_1632Metric_Pad1.18x3.40mm_HandSolder
|
||||
Resistor SMD 0612 (1632 Metric), square (rectangular) end terminal, IPC_7351 nominal with elongated pad for handsoldering. (Body size source: https://www.vishay.com/docs/20019/rcwe.pdf), generated with kicad-footprint-generator
|
||||
resistor handsolder
|
||||
0
|
||||
2
|
||||
2
|
||||
Resistor_SMD
|
||||
R_0805_2012Metric
|
||||
Resistor SMD 0805 (2012 Metric), square (rectangular) end terminal, IPC_7351 nominal, (Body size source: IPC-SM-782 page 72, https://www.pcb-3d.com/wordpress/wp-content/uploads/ipc-sm-782a_amendment_1_and_2.pdf), generated with kicad-footprint-generator
|
||||
resistor
|
||||
0
|
||||
2
|
||||
2
|
||||
Resistor_SMD
|
||||
R_0805_2012Metric_Pad1.20x1.40mm_HandSolder
|
||||
Resistor SMD 0805 (2012 Metric), square (rectangular) end terminal, IPC_7351 nominal with elongated pad for handsoldering. (Body size source: IPC-SM-782 page 72, https://www.pcb-3d.com/wordpress/wp-content/uploads/ipc-sm-782a_amendment_1_and_2.pdf), generated with kicad-footprint-generator
|
||||
resistor handsolder
|
||||
0
|
||||
2
|
||||
2
|
||||
Resistor_SMD
|
||||
R_0815_2038Metric
|
||||
Resistor SMD 0815 (2038 Metric), square (rectangular) end terminal, IPC_7351 nominal, (Body size source: https://www.susumu.co.jp/common/pdf/n_catalog_partition07_en.pdf), generated with kicad-footprint-generator
|
||||
resistor
|
||||
0
|
||||
2
|
||||
2
|
||||
Resistor_SMD
|
||||
R_0815_2038Metric_Pad1.20x4.05mm_HandSolder
|
||||
Resistor SMD 0815 (2038 Metric), square (rectangular) end terminal, IPC_7351 nominal with elongated pad for handsoldering. (Body size source: https://www.susumu.co.jp/common/pdf/n_catalog_partition07_en.pdf), generated with kicad-footprint-generator
|
||||
resistor handsolder
|
||||
0
|
||||
2
|
||||
2
|
||||
Resistor_SMD
|
||||
R_01005_0402Metric
|
||||
Resistor SMD 01005 (0402 Metric), square (rectangular) end terminal, IPC_7351 nominal, (Body size source: http://www.vishay.com/docs/20056/crcw01005e3.pdf), generated with kicad-footprint-generator
|
||||
resistor
|
||||
0
|
||||
4
|
||||
2
|
||||
Resistor_SMD
|
||||
R_01005_0402Metric_Pad0.57x0.30mm_HandSolder
|
||||
Resistor SMD 01005 (0402 Metric), square (rectangular) end terminal, IPC_7351 nominal with elongated pad for handsoldering. (Body size source: http://www.vishay.com/docs/20056/crcw01005e3.pdf), generated with kicad-footprint-generator
|
||||
resistor handsolder
|
||||
0
|
||||
4
|
||||
2
|
||||
Resistor_SMD
|
||||
R_1020_2550Metric
|
||||
Resistor SMD 1020 (2550 Metric), square (rectangular) end terminal, IPC_7351 nominal, (Body size source: https://www.vishay.com/docs/20019/rcwe.pdf), generated with kicad-footprint-generator
|
||||
resistor
|
||||
0
|
||||
2
|
||||
2
|
||||
Resistor_SMD
|
||||
R_1020_2550Metric_Pad1.33x5.20mm_HandSolder
|
||||
Resistor SMD 1020 (2550 Metric), square (rectangular) end terminal, IPC_7351 nominal with elongated pad for handsoldering. (Body size source: https://www.vishay.com/docs/20019/rcwe.pdf), generated with kicad-footprint-generator
|
||||
resistor handsolder
|
||||
0
|
||||
2
|
||||
2
|
||||
Resistor_SMD
|
||||
R_1206_3216Metric
|
||||
Resistor SMD 1206 (3216 Metric), square (rectangular) end terminal, IPC_7351 nominal, (Body size source: IPC-SM-782 page 72, https://www.pcb-3d.com/wordpress/wp-content/uploads/ipc-sm-782a_amendment_1_and_2.pdf), generated with kicad-footprint-generator
|
||||
resistor
|
||||
0
|
||||
2
|
||||
2
|
||||
Resistor_SMD
|
||||
R_1206_3216Metric_Pad1.30x1.75mm_HandSolder
|
||||
Resistor SMD 1206 (3216 Metric), square (rectangular) end terminal, IPC_7351 nominal with elongated pad for handsoldering. (Body size source: IPC-SM-782 page 72, https://www.pcb-3d.com/wordpress/wp-content/uploads/ipc-sm-782a_amendment_1_and_2.pdf), generated with kicad-footprint-generator
|
||||
resistor handsolder
|
||||
0
|
||||
2
|
||||
2
|
||||
Resistor_SMD
|
||||
R_1210_3225Metric
|
||||
Resistor SMD 1210 (3225 Metric), square (rectangular) end terminal, IPC_7351 nominal, (Body size source: IPC-SM-782 page 72, https://www.pcb-3d.com/wordpress/wp-content/uploads/ipc-sm-782a_amendment_1_and_2.pdf), generated with kicad-footprint-generator
|
||||
resistor
|
||||
0
|
||||
2
|
||||
2
|
||||
Resistor_SMD
|
||||
R_1210_3225Metric_Pad1.30x2.65mm_HandSolder
|
||||
Resistor SMD 1210 (3225 Metric), square (rectangular) end terminal, IPC_7351 nominal with elongated pad for handsoldering. (Body size source: IPC-SM-782 page 72, https://www.pcb-3d.com/wordpress/wp-content/uploads/ipc-sm-782a_amendment_1_and_2.pdf), generated with kicad-footprint-generator
|
||||
resistor handsolder
|
||||
0
|
||||
2
|
||||
2
|
||||
Resistor_SMD
|
||||
R_1218_3246Metric
|
||||
Resistor SMD 1218 (3246 Metric), square (rectangular) end terminal, IPC_7351 nominal, (Body size source: https://www.vishay.com/docs/20035/dcrcwe3.pdf), generated with kicad-footprint-generator
|
||||
resistor
|
||||
0
|
||||
2
|
||||
2
|
||||
Resistor_SMD
|
||||
R_1218_3246Metric_Pad1.22x4.75mm_HandSolder
|
||||
Resistor SMD 1218 (3246 Metric), square (rectangular) end terminal, IPC_7351 nominal with elongated pad for handsoldering. (Body size source: https://www.vishay.com/docs/20035/dcrcwe3.pdf), generated with kicad-footprint-generator
|
||||
resistor handsolder
|
||||
0
|
||||
2
|
||||
2
|
||||
Resistor_SMD
|
||||
R_1812_4532Metric
|
||||
Resistor SMD 1812 (4532 Metric), square (rectangular) end terminal, IPC_7351 nominal, (Body size source: https://www.nikhef.nl/pub/departments/mt/projects/detectorR_D/dtddice/ERJ2G.pdf), generated with kicad-footprint-generator
|
||||
resistor
|
||||
0
|
||||
2
|
||||
2
|
||||
Resistor_SMD
|
||||
R_1812_4532Metric_Pad1.30x3.40mm_HandSolder
|
||||
Resistor SMD 1812 (4532 Metric), square (rectangular) end terminal, IPC_7351 nominal with elongated pad for handsoldering. (Body size source: https://www.nikhef.nl/pub/departments/mt/projects/detectorR_D/dtddice/ERJ2G.pdf), generated with kicad-footprint-generator
|
||||
resistor handsolder
|
||||
0
|
||||
2
|
||||
2
|
||||
Resistor_SMD
|
||||
R_2010_5025Metric
|
||||
Resistor SMD 2010 (5025 Metric), square (rectangular) end terminal, IPC_7351 nominal, (Body size source: IPC-SM-782 page 72, https://www.pcb-3d.com/wordpress/wp-content/uploads/ipc-sm-782a_amendment_1_and_2.pdf), generated with kicad-footprint-generator
|
||||
resistor
|
||||
0
|
||||
2
|
||||
2
|
||||
Resistor_SMD
|
||||
R_2010_5025Metric_Pad1.40x2.65mm_HandSolder
|
||||
Resistor SMD 2010 (5025 Metric), square (rectangular) end terminal, IPC_7351 nominal with elongated pad for handsoldering. (Body size source: IPC-SM-782 page 72, https://www.pcb-3d.com/wordpress/wp-content/uploads/ipc-sm-782a_amendment_1_and_2.pdf), generated with kicad-footprint-generator
|
||||
resistor handsolder
|
||||
0
|
||||
2
|
||||
2
|
||||
Resistor_SMD
|
||||
R_2512_6332Metric
|
||||
Resistor SMD 2512 (6332 Metric), square (rectangular) end terminal, IPC_7351 nominal, (Body size source: IPC-SM-782 page 72, https://www.pcb-3d.com/wordpress/wp-content/uploads/ipc-sm-782a_amendment_1_and_2.pdf), generated with kicad-footprint-generator
|
||||
resistor
|
||||
0
|
||||
2
|
||||
2
|
||||
Resistor_SMD
|
||||
R_2512_6332Metric_Pad1.40x3.35mm_HandSolder
|
||||
Resistor SMD 2512 (6332 Metric), square (rectangular) end terminal, IPC_7351 nominal with elongated pad for handsoldering. (Body size source: IPC-SM-782 page 72, https://www.pcb-3d.com/wordpress/wp-content/uploads/ipc-sm-782a_amendment_1_and_2.pdf), generated with kicad-footprint-generator
|
||||
resistor handsolder
|
||||
0
|
||||
2
|
||||
2
|
||||
Resistor_SMD
|
||||
R_2816_7142Metric
|
||||
Resistor SMD 2816 (7142 Metric), square (rectangular) end terminal, IPC_7351 nominal, (Body size from: https://www.vishay.com/docs/30100/wsl.pdf), generated with kicad-footprint-generator
|
||||
resistor
|
||||
0
|
||||
2
|
||||
2
|
||||
Resistor_SMD
|
||||
R_2816_7142Metric_Pad3.20x4.45mm_HandSolder
|
||||
Resistor SMD 2816 (7142 Metric), square (rectangular) end terminal, IPC_7351 nominal with elongated pad for handsoldering. (Body size from: https://www.vishay.com/docs/30100/wsl.pdf), generated with kicad-footprint-generator
|
||||
resistor handsolder
|
||||
0
|
||||
2
|
||||
2
|
||||
Resistor_SMD
|
||||
R_4020_10251Metric
|
||||
Resistor SMD 4020 (10251 Metric), square (rectangular) end terminal, IPC_7351 nominal, (Body size source: http://datasheet.octopart.com/HVC0603T5004FET-Ohmite-datasheet-26699797.pdf), generated with kicad-footprint-generator
|
||||
resistor
|
||||
0
|
||||
2
|
||||
2
|
||||
Resistor_SMD
|
||||
R_4020_10251Metric_Pad1.65x5.30mm_HandSolder
|
||||
Resistor SMD 4020 (10251 Metric), square (rectangular) end terminal, IPC_7351 nominal with elongated pad for handsoldering. (Body size source: http://datasheet.octopart.com/HVC0603T5004FET-Ohmite-datasheet-26699797.pdf), generated with kicad-footprint-generator
|
||||
resistor handsolder
|
||||
0
|
||||
2
|
||||
2
|
||||
Resistor_SMD
|
||||
R_Array_Concave_2x0603
|
||||
Thick Film Chip Resistor Array, Wave soldering, Vishay CRA06P (see cra06p.pdf)
|
||||
resistor array
|
||||
0
|
||||
4
|
||||
4
|
||||
Resistor_SMD
|
||||
R_Array_Concave_4x0402
|
||||
Thick Film Chip Resistor Array, Wave soldering, Vishay CRA04P (see cra04p.pdf)
|
||||
resistor array
|
||||
0
|
||||
8
|
||||
8
|
||||
Resistor_SMD
|
||||
R_Array_Concave_4x0603
|
||||
Thick Film Chip Resistor Array, Wave soldering, Vishay CRA06P (see cra06p.pdf)
|
||||
resistor array
|
||||
0
|
||||
8
|
||||
8
|
||||
Resistor_SMD
|
||||
R_Array_Convex_2x0402
|
||||
Chip Resistor Network, ROHM MNR02 (see mnr_g.pdf)
|
||||
resistor array
|
||||
0
|
||||
4
|
||||
4
|
||||
Resistor_SMD
|
||||
R_Array_Convex_2x0603
|
||||
Chip Resistor Network, ROHM MNR12 (see mnr_g.pdf)
|
||||
resistor array
|
||||
0
|
||||
4
|
||||
4
|
||||
Resistor_SMD
|
||||
R_Array_Convex_2x0606
|
||||
Precision Thin Film Chip Resistor Array, VISHAY (see http://www.vishay.com/docs/28770/acasat.pdf)
|
||||
resistor array
|
||||
0
|
||||
4
|
||||
4
|
||||
Resistor_SMD
|
||||
R_Array_Convex_2x1206
|
||||
Chip Resistor Network, ROHM MNR32 (see mnr_g.pdf)
|
||||
resistor array
|
||||
0
|
||||
4
|
||||
4
|
||||
Resistor_SMD
|
||||
R_Array_Convex_4x0402
|
||||
Chip Resistor Network, ROHM MNR04 (see mnr_g.pdf)
|
||||
resistor array
|
||||
0
|
||||
8
|
||||
8
|
||||
Resistor_SMD
|
||||
R_Array_Convex_4x0603
|
||||
Chip Resistor Network, ROHM MNR14 (see mnr_g.pdf)
|
||||
resistor array
|
||||
0
|
||||
8
|
||||
8
|
||||
Resistor_SMD
|
||||
R_Array_Convex_4x0612
|
||||
Precision Thin Film Chip Resistor Array, VISHAY (see http://www.vishay.com/docs/28770/acasat.pdf)
|
||||
resistor array
|
||||
0
|
||||
8
|
||||
8
|
||||
Resistor_SMD
|
||||
R_Array_Convex_4x1206
|
||||
Chip Resistor Network, ROHM MNR34 (see mnr_g.pdf)
|
||||
resistor array
|
||||
0
|
||||
8
|
||||
8
|
||||
Resistor_SMD
|
||||
R_Array_Convex_5x0603
|
||||
Chip Resistor Network, ROHM MNR15 (see mnr_g.pdf)
|
||||
resistor array
|
||||
0
|
||||
10
|
||||
10
|
||||
Resistor_SMD
|
||||
R_Array_Convex_5x1206
|
||||
Chip Resistor Network, ROHM MNR35 (see mnr_g.pdf)
|
||||
resistor array
|
||||
0
|
||||
10
|
||||
10
|
||||
Resistor_SMD
|
||||
R_Array_Convex_8x0602
|
||||
Chip Resistor Network, ROHM MNR18 (see mnr_g.pdf)
|
||||
resistor array
|
||||
0
|
||||
16
|
||||
16
|
||||
Resistor_SMD
|
||||
R_Cat16-2
|
||||
SMT resistor net, Bourns CAT16 series, 2 way
|
||||
SMT resistor net Bourns CAT16 series 2 way
|
||||
0
|
||||
4
|
||||
4
|
||||
Resistor_SMD
|
||||
R_Cat16-4
|
||||
SMT resistor net, Bourns CAT16 series, 4 way
|
||||
SMT resistor net Bourns CAT16 series 4 way
|
||||
0
|
||||
8
|
||||
8
|
||||
Resistor_SMD
|
||||
R_Cat16-8
|
||||
SMT resistor net, Bourns CAT16 series, 8 way
|
||||
SMT resistor net Bourns CAT16 series 8 way
|
||||
0
|
||||
16
|
||||
16
|
||||
Resistor_SMD
|
||||
R_MELF_MMB-0207
|
||||
Resistor, MELF, MMB-0207, http://www.vishay.com/docs/28713/melfprof.pdf
|
||||
MELF Resistor
|
||||
0
|
||||
2
|
||||
2
|
||||
Resistor_SMD
|
||||
R_MicroMELF_MMU-0102
|
||||
Resistor, MicroMELF, MMU-0102, http://www.vishay.com/docs/28713/melfprof.pdf
|
||||
MicroMELF Resistor
|
||||
0
|
||||
2
|
||||
2
|
||||
Resistor_SMD
|
||||
R_MiniMELF_MMA-0204
|
||||
Resistor, MiniMELF, MMA-0204, http://www.vishay.com/docs/28713/melfprof.pdf
|
||||
MiniMELF Resistor
|
||||
0
|
||||
2
|
||||
2
|
||||
Resistor_SMD
|
||||
R_Shunt_Ohmite_LVK12
|
||||
4 contact shunt resistor
|
||||
shunt resistor 4 contacts
|
||||
0
|
||||
4
|
||||
4
|
||||
Resistor_SMD
|
||||
R_Shunt_Ohmite_LVK20
|
||||
4 contacts shunt resistor, https://www.ohmite.com/assets/docs/res_lvk.pdf
|
||||
4 contacts resistor smd
|
||||
0
|
||||
4
|
||||
4
|
||||
Resistor_SMD
|
||||
R_Shunt_Ohmite_LVK24
|
||||
4 contacts shunt resistor,https://www.ohmite.com/assets/docs/res_lvk.pdf
|
||||
4 contacts resistor smd
|
||||
0
|
||||
4
|
||||
4
|
||||
Resistor_SMD
|
||||
R_Shunt_Ohmite_LVK25
|
||||
4 contacts shunt resistor,https://www.ohmite.com/assets/docs/res_lvk.pdf
|
||||
4 contacts resistor smd
|
||||
0
|
||||
4
|
||||
4
|
||||
Resistor_SMD
|
||||
R_Shunt_Vishay_WSK2512_6332Metric_T1.19mm
|
||||
Shunt Resistor SMD 2512 (6332 Metric), 2.6mm thick, Vishay WKS2512, Terminal length (T) 1.19mm, 5 to 200 milli Ohm (http://http://www.vishay.com/docs/30108/wsk.pdf)
|
||||
resistor shunt WSK2512
|
||||
0
|
||||
4
|
||||
4
|
||||
Resistor_SMD
|
||||
R_Shunt_Vishay_WSK2512_6332Metric_T2.21mm
|
||||
Shunt Resistor SMD 2512 (6332 Metric), 2.6mm thick, Vishay WKS2512, Terminal length (T) 2.21mm, 1 to 4.9 milli Ohm (http://http://www.vishay.com/docs/30108/wsk.pdf)
|
||||
resistor shunt WSK2512
|
||||
0
|
||||
4
|
||||
4
|
||||
Resistor_SMD
|
||||
R_Shunt_Vishay_WSK2512_6332Metric_T2.66mm
|
||||
Shunt Resistor SMD 2512 (6332 Metric), 2.6mm thick, Vishay WKS2512, Terminal length (T) 2.66mm, 0.5 to 0.99 milli Ohm (http://http://www.vishay.com/docs/30108/wsk.pdf)
|
||||
resistor shunt WSK2512
|
||||
0
|
||||
4
|
||||
4
|
||||
Resistor_SMD
|
||||
R_Shunt_Vishay_WSKW0612
|
||||
https://www.vishay.com/docs/30332/wskw0612.pdf
|
||||
4-Terminal SMD Shunt
|
||||
0
|
||||
4
|
||||
4
|
||||
Resistor_SMD
|
||||
R_Shunt_Vishay_WSR2_WSR3
|
||||
Power Metal Strip Resistors 0.005 to 0.2, https://www.vishay.com/docs/30101/wsr.pdf
|
||||
SMD Shunt Resistor
|
||||
0
|
||||
2
|
||||
2
|
||||
Resistor_SMD
|
||||
R_Shunt_Vishay_WSR2_WSR3_KelvinConnection
|
||||
Power Metal Strip Resistors 0.005 to 0.2, https://www.vishay.com/docs/30101/wsr.pdf
|
||||
SMD Shunt Resistor
|
||||
0
|
||||
4
|
||||
2
|
||||
129
squeow_mod/squeow_mod-B_Cu.gbr
Normal file
129
squeow_mod/squeow_mod-B_Cu.gbr
Normal file
@@ -0,0 +1,129 @@
|
||||
%TF.GenerationSoftware,KiCad,Pcbnew,7.0.5+dfsg-2*%
|
||||
%TF.CreationDate,2023-06-30T15:01:52+02:00*%
|
||||
%TF.ProjectId,squeow_mod,73717565-6f77-45f6-9d6f-642e6b696361,rev?*%
|
||||
%TF.SameCoordinates,PX2cce564PYfbec30*%
|
||||
%TF.FileFunction,Copper,L2,Bot*%
|
||||
%TF.FilePolarity,Positive*%
|
||||
%FSLAX46Y46*%
|
||||
G04 Gerber Fmt 4.6, Leading zero omitted, Abs format (unit mm)*
|
||||
G04 Created by KiCad (PCBNEW 7.0.5+dfsg-2) date 2023-06-30 15:01:52*
|
||||
%MOMM*%
|
||||
%LPD*%
|
||||
G01*
|
||||
G04 APERTURE LIST*
|
||||
%TA.AperFunction,ComponentPad*%
|
||||
%ADD10O,2.000000X1.905000*%
|
||||
%TD*%
|
||||
%TA.AperFunction,ComponentPad*%
|
||||
%ADD11R,2.000000X1.905000*%
|
||||
%TD*%
|
||||
%TA.AperFunction,ComponentPad*%
|
||||
%ADD12O,1.700000X1.700000*%
|
||||
%TD*%
|
||||
%TA.AperFunction,ComponentPad*%
|
||||
%ADD13R,1.700000X1.700000*%
|
||||
%TD*%
|
||||
G04 APERTURE END LIST*
|
||||
D10*
|
||||
%TO.P,D1,3,K*%
|
||||
%TO.N,Net-(C1-Pad2)*%
|
||||
X3977500Y-56515000D03*
|
||||
%TO.P,D1,2,A*%
|
||||
%TO.N,Net-(D1-Pad2)*%
|
||||
X3977500Y-59055000D03*
|
||||
D11*
|
||||
%TO.P,D1,1,K*%
|
||||
%TO.N,Net-(D1-Pad1)*%
|
||||
X3977500Y-61595000D03*
|
||||
%TD*%
|
||||
D10*
|
||||
%TO.P,Q3,3,S*%
|
||||
%TO.N,Net-(C3-Pad2)*%
|
||||
X3977500Y-24130000D03*
|
||||
%TO.P,Q3,2,D*%
|
||||
%TO.N,Net-(C2-Pad2)*%
|
||||
X3977500Y-26670000D03*
|
||||
D11*
|
||||
%TO.P,Q3,1,G*%
|
||||
%TO.N,Net-(Q3-Pad1)*%
|
||||
X3977500Y-29210000D03*
|
||||
%TD*%
|
||||
D10*
|
||||
%TO.P,D3,3,K*%
|
||||
%TO.N,Net-(C3-Pad2)*%
|
||||
X3977500Y-13335000D03*
|
||||
%TO.P,D3,2,A*%
|
||||
%TO.N,Net-(D3-Pad2)*%
|
||||
X3977500Y-15875000D03*
|
||||
D11*
|
||||
%TO.P,D3,1,K*%
|
||||
%TO.N,Net-(D2-Pad2)*%
|
||||
X3977500Y-18415000D03*
|
||||
%TD*%
|
||||
D10*
|
||||
%TO.P,D2,3,K*%
|
||||
%TO.N,Net-(C2-Pad2)*%
|
||||
X3977500Y-34925000D03*
|
||||
%TO.P,D2,2,A*%
|
||||
%TO.N,Net-(D2-Pad2)*%
|
||||
X3977500Y-37465000D03*
|
||||
D11*
|
||||
%TO.P,D2,1,K*%
|
||||
%TO.N,Net-(D1-Pad2)*%
|
||||
X3977500Y-40005000D03*
|
||||
%TD*%
|
||||
D12*
|
||||
%TO.P,J6,5,Pin_5*%
|
||||
%TO.N,Net-(J6-Pad5)*%
|
||||
X24137500Y-33655000D03*
|
||||
%TO.P,J6,4,Pin_4*%
|
||||
%TO.N,Net-(J6-Pad4)*%
|
||||
X24137500Y-36195000D03*
|
||||
%TO.P,J6,3,Pin_3*%
|
||||
%TO.N,Net-(J6-Pad3)*%
|
||||
X24137500Y-38735000D03*
|
||||
%TO.P,J6,2,Pin_2*%
|
||||
%TO.N,Net-(J6-Pad2)*%
|
||||
X24137500Y-41275000D03*
|
||||
D13*
|
||||
%TO.P,J6,1,Pin_1*%
|
||||
%TO.N,Net-(J6-Pad1)*%
|
||||
X24137500Y-43815000D03*
|
||||
%TD*%
|
||||
D10*
|
||||
%TO.P,Q1,3,S*%
|
||||
%TO.N,Net-(C1-Pad2)*%
|
||||
X3977500Y-67310000D03*
|
||||
%TO.P,Q1,2,D*%
|
||||
%TO.N,Net-(D1-Pad1)*%
|
||||
X3977500Y-69850000D03*
|
||||
D11*
|
||||
%TO.P,Q1,1,G*%
|
||||
%TO.N,Net-(Q1-Pad1)*%
|
||||
X3977500Y-72390000D03*
|
||||
%TD*%
|
||||
D10*
|
||||
%TO.P,Q2,3,S*%
|
||||
%TO.N,Net-(C2-Pad2)*%
|
||||
X3977500Y-45720000D03*
|
||||
%TO.P,Q2,2,D*%
|
||||
%TO.N,Net-(C1-Pad2)*%
|
||||
X3977500Y-48260000D03*
|
||||
D11*
|
||||
%TO.P,Q2,1,G*%
|
||||
%TO.N,Net-(Q2-Pad1)*%
|
||||
X3977500Y-50800000D03*
|
||||
%TD*%
|
||||
D10*
|
||||
%TO.P,Q4,3,S*%
|
||||
%TO.N,Net-(C4-Pad2)*%
|
||||
X3977500Y-2540000D03*
|
||||
%TO.P,Q4,2,D*%
|
||||
%TO.N,Net-(C3-Pad2)*%
|
||||
X3977500Y-5080000D03*
|
||||
D11*
|
||||
%TO.P,Q4,1,G*%
|
||||
%TO.N,Net-(Q4-Pad1)*%
|
||||
X3977500Y-7620000D03*
|
||||
%TD*%
|
||||
M02*
|
||||
92
squeow_mod/squeow_mod-B_Mask.gbr
Normal file
92
squeow_mod/squeow_mod-B_Mask.gbr
Normal file
@@ -0,0 +1,92 @@
|
||||
%TF.GenerationSoftware,KiCad,Pcbnew,7.0.5+dfsg-2*%
|
||||
%TF.CreationDate,2023-06-30T15:01:54+02:00*%
|
||||
%TF.ProjectId,squeow_mod,73717565-6f77-45f6-9d6f-642e6b696361,rev?*%
|
||||
%TF.SameCoordinates,PX2cce564PYfbec30*%
|
||||
%TF.FileFunction,Soldermask,Bot*%
|
||||
%TF.FilePolarity,Negative*%
|
||||
%FSLAX46Y46*%
|
||||
G04 Gerber Fmt 4.6, Leading zero omitted, Abs format (unit mm)*
|
||||
G04 Created by KiCad (PCBNEW 7.0.5+dfsg-2) date 2023-06-30 15:01:54*
|
||||
%MOMM*%
|
||||
%LPD*%
|
||||
G01*
|
||||
G04 APERTURE LIST*
|
||||
%ADD10O,2.000000X1.905000*%
|
||||
%ADD11R,2.000000X1.905000*%
|
||||
%ADD12O,3.500000X3.500000*%
|
||||
%ADD13O,1.700000X1.700000*%
|
||||
%ADD14R,1.700000X1.700000*%
|
||||
G04 APERTURE END LIST*
|
||||
D10*
|
||||
%TO.C,D1*%
|
||||
X3977500Y-56515000D03*
|
||||
X3977500Y-59055000D03*
|
||||
D11*
|
||||
X3977500Y-61595000D03*
|
||||
D12*
|
||||
X-11822500Y-59055000D03*
|
||||
%TD*%
|
||||
D10*
|
||||
%TO.C,Q3*%
|
||||
X3977500Y-24130000D03*
|
||||
X3977500Y-26670000D03*
|
||||
D11*
|
||||
X3977500Y-29210000D03*
|
||||
D12*
|
||||
X-11822500Y-26670000D03*
|
||||
%TD*%
|
||||
D10*
|
||||
%TO.C,D3*%
|
||||
X3977500Y-13335000D03*
|
||||
X3977500Y-15875000D03*
|
||||
D11*
|
||||
X3977500Y-18415000D03*
|
||||
D12*
|
||||
X-11822500Y-15875000D03*
|
||||
%TD*%
|
||||
D10*
|
||||
%TO.C,D2*%
|
||||
X3977500Y-34925000D03*
|
||||
X3977500Y-37465000D03*
|
||||
D11*
|
||||
X3977500Y-40005000D03*
|
||||
D12*
|
||||
X-11822500Y-37465000D03*
|
||||
%TD*%
|
||||
D13*
|
||||
%TO.C,J6*%
|
||||
X24137500Y-33655000D03*
|
||||
X24137500Y-36195000D03*
|
||||
X24137500Y-38735000D03*
|
||||
X24137500Y-41275000D03*
|
||||
D14*
|
||||
X24137500Y-43815000D03*
|
||||
%TD*%
|
||||
D10*
|
||||
%TO.C,Q1*%
|
||||
X3977500Y-67310000D03*
|
||||
X3977500Y-69850000D03*
|
||||
D11*
|
||||
X3977500Y-72390000D03*
|
||||
D12*
|
||||
X-11822500Y-69850000D03*
|
||||
%TD*%
|
||||
D10*
|
||||
%TO.C,Q2*%
|
||||
X3977500Y-45720000D03*
|
||||
X3977500Y-48260000D03*
|
||||
D11*
|
||||
X3977500Y-50800000D03*
|
||||
D12*
|
||||
X-11822500Y-48260000D03*
|
||||
%TD*%
|
||||
D10*
|
||||
%TO.C,Q4*%
|
||||
X3977500Y-2540000D03*
|
||||
X3977500Y-5080000D03*
|
||||
D11*
|
||||
X3977500Y-7620000D03*
|
||||
D12*
|
||||
X-11822500Y-5080000D03*
|
||||
%TD*%
|
||||
M02*
|
||||
15
squeow_mod/squeow_mod-B_Paste.gbr
Normal file
15
squeow_mod/squeow_mod-B_Paste.gbr
Normal file
@@ -0,0 +1,15 @@
|
||||
%TF.GenerationSoftware,KiCad,Pcbnew,7.0.5+dfsg-2*%
|
||||
%TF.CreationDate,2023-06-30T15:01:53+02:00*%
|
||||
%TF.ProjectId,squeow_mod,73717565-6f77-45f6-9d6f-642e6b696361,rev?*%
|
||||
%TF.SameCoordinates,PX2cce564PYfbec30*%
|
||||
%TF.FileFunction,Paste,Bot*%
|
||||
%TF.FilePolarity,Positive*%
|
||||
%FSLAX46Y46*%
|
||||
G04 Gerber Fmt 4.6, Leading zero omitted, Abs format (unit mm)*
|
||||
G04 Created by KiCad (PCBNEW 7.0.5+dfsg-2) date 2023-06-30 15:01:53*
|
||||
%MOMM*%
|
||||
%LPD*%
|
||||
G01*
|
||||
G04 APERTURE LIST*
|
||||
G04 APERTURE END LIST*
|
||||
M02*
|
||||
15
squeow_mod/squeow_mod-B_Silkscreen.gbr
Normal file
15
squeow_mod/squeow_mod-B_Silkscreen.gbr
Normal file
@@ -0,0 +1,15 @@
|
||||
%TF.GenerationSoftware,KiCad,Pcbnew,7.0.5+dfsg-2*%
|
||||
%TF.CreationDate,2023-06-30T15:01:53+02:00*%
|
||||
%TF.ProjectId,squeow_mod,73717565-6f77-45f6-9d6f-642e6b696361,rev?*%
|
||||
%TF.SameCoordinates,PX2cce564PYfbec30*%
|
||||
%TF.FileFunction,Legend,Bot*%
|
||||
%TF.FilePolarity,Positive*%
|
||||
%FSLAX46Y46*%
|
||||
G04 Gerber Fmt 4.6, Leading zero omitted, Abs format (unit mm)*
|
||||
G04 Created by KiCad (PCBNEW 7.0.5+dfsg-2) date 2023-06-30 15:01:53*
|
||||
%MOMM*%
|
||||
%LPD*%
|
||||
G01*
|
||||
G04 APERTURE LIST*
|
||||
G04 APERTURE END LIST*
|
||||
M02*
|
||||
23
squeow_mod/squeow_mod-Edge_Cuts.gbr
Normal file
23
squeow_mod/squeow_mod-Edge_Cuts.gbr
Normal file
@@ -0,0 +1,23 @@
|
||||
%TF.GenerationSoftware,KiCad,Pcbnew,7.0.5+dfsg-2*%
|
||||
%TF.CreationDate,2023-06-30T15:01:54+02:00*%
|
||||
%TF.ProjectId,squeow_mod,73717565-6f77-45f6-9d6f-642e6b696361,rev?*%
|
||||
%TF.SameCoordinates,PX2cce564PYfbec30*%
|
||||
%TF.FileFunction,Profile,NP*%
|
||||
%FSLAX46Y46*%
|
||||
G04 Gerber Fmt 4.6, Leading zero omitted, Abs format (unit mm)*
|
||||
G04 Created by KiCad (PCBNEW 7.0.5+dfsg-2) date 2023-06-30 15:01:54*
|
||||
%MOMM*%
|
||||
%LPD*%
|
||||
G01*
|
||||
G04 APERTURE LIST*
|
||||
%TA.AperFunction,Profile*%
|
||||
%ADD10C,0.100000*%
|
||||
%TD*%
|
||||
G04 APERTURE END LIST*
|
||||
D10*
|
||||
X0Y0D02*
|
||||
X26035000Y0D01*
|
||||
X26035000Y-79375000D01*
|
||||
X0Y-79375000D01*
|
||||
X0Y0D01*
|
||||
M02*
|
||||
719
squeow_mod/squeow_mod-F_Cu.gbr
Normal file
719
squeow_mod/squeow_mod-F_Cu.gbr
Normal file
@@ -0,0 +1,719 @@
|
||||
%TF.GenerationSoftware,KiCad,Pcbnew,7.0.5+dfsg-2*%
|
||||
%TF.CreationDate,2023-06-30T15:01:52+02:00*%
|
||||
%TF.ProjectId,squeow_mod,73717565-6f77-45f6-9d6f-642e6b696361,rev?*%
|
||||
%TF.SameCoordinates,PX2cce564PYfbec30*%
|
||||
%TF.FileFunction,Copper,L1,Top*%
|
||||
%TF.FilePolarity,Positive*%
|
||||
%FSLAX46Y46*%
|
||||
G04 Gerber Fmt 4.6, Leading zero omitted, Abs format (unit mm)*
|
||||
G04 Created by KiCad (PCBNEW 7.0.5+dfsg-2) date 2023-06-30 15:01:52*
|
||||
%MOMM*%
|
||||
%LPD*%
|
||||
G01*
|
||||
G04 APERTURE LIST*
|
||||
G04 Aperture macros list*
|
||||
%AMRoundRect*
|
||||
0 Rectangle with rounded corners*
|
||||
0 $1 Rounding radius*
|
||||
0 $2 $3 $4 $5 $6 $7 $8 $9 X,Y pos of 4 corners*
|
||||
0 Add a 4 corners polygon primitive as box body*
|
||||
4,1,4,$2,$3,$4,$5,$6,$7,$8,$9,$2,$3,0*
|
||||
0 Add four circle primitives for the rounded corners*
|
||||
1,1,$1+$1,$2,$3*
|
||||
1,1,$1+$1,$4,$5*
|
||||
1,1,$1+$1,$6,$7*
|
||||
1,1,$1+$1,$8,$9*
|
||||
0 Add four rect primitives between the rounded corners*
|
||||
20,1,$1+$1,$2,$3,$4,$5,0*
|
||||
20,1,$1+$1,$4,$5,$6,$7,0*
|
||||
20,1,$1+$1,$6,$7,$8,$9,0*
|
||||
20,1,$1+$1,$8,$9,$2,$3,0*%
|
||||
G04 Aperture macros list end*
|
||||
%TA.AperFunction,ComponentPad*%
|
||||
%ADD10O,2.000000X1.905000*%
|
||||
%TD*%
|
||||
%TA.AperFunction,ComponentPad*%
|
||||
%ADD11R,2.000000X1.905000*%
|
||||
%TD*%
|
||||
%TA.AperFunction,SMDPad,CuDef*%
|
||||
%ADD12C,4.000000*%
|
||||
%TD*%
|
||||
%TA.AperFunction,SMDPad,CuDef*%
|
||||
%ADD13R,2.160000X0.640000*%
|
||||
%TD*%
|
||||
%TA.AperFunction,SMDPad,CuDef*%
|
||||
%ADD14RoundRect,0.250000X-0.400000X-0.625000X0.400000X-0.625000X0.400000X0.625000X-0.400000X0.625000X0*%
|
||||
%TD*%
|
||||
%TA.AperFunction,SMDPad,CuDef*%
|
||||
%ADD15RoundRect,0.250000X1.450000X-0.537500X1.450000X0.537500X-1.450000X0.537500X-1.450000X-0.537500X0*%
|
||||
%TD*%
|
||||
%TA.AperFunction,ComponentPad*%
|
||||
%ADD16O,1.700000X1.700000*%
|
||||
%TD*%
|
||||
%TA.AperFunction,ComponentPad*%
|
||||
%ADD17R,1.700000X1.700000*%
|
||||
%TD*%
|
||||
%TA.AperFunction,SMDPad,CuDef*%
|
||||
%ADD18R,0.600000X0.450000*%
|
||||
%TD*%
|
||||
%TA.AperFunction,SMDPad,CuDef*%
|
||||
%ADD19RoundRect,0.250000X-0.400000X-1.450000X0.400000X-1.450000X0.400000X1.450000X-0.400000X1.450000X0*%
|
||||
%TD*%
|
||||
%TA.AperFunction,Conductor*%
|
||||
%ADD20C,1.000000*%
|
||||
%TD*%
|
||||
%TA.AperFunction,Conductor*%
|
||||
%ADD21C,2.000000*%
|
||||
%TD*%
|
||||
G04 APERTURE END LIST*
|
||||
D10*
|
||||
%TO.P,D1,3,K*%
|
||||
%TO.N,Net-(C1-Pad2)*%
|
||||
X3977500Y-56515000D03*
|
||||
%TO.P,D1,2,A*%
|
||||
%TO.N,Net-(D1-Pad2)*%
|
||||
X3977500Y-59055000D03*
|
||||
D11*
|
||||
%TO.P,D1,1,K*%
|
||||
%TO.N,Net-(D1-Pad1)*%
|
||||
X3977500Y-61595000D03*
|
||||
%TD*%
|
||||
D12*
|
||||
%TO.P,J3,1,Pin_1*%
|
||||
%TO.N,Net-(D2-Pad2)*%
|
||||
X8017500Y-37465000D03*
|
||||
%TD*%
|
||||
D13*
|
||||
%TO.P,U3,6,VCC*%
|
||||
%TO.N,Net-(C3-Pad1)*%
|
||||
X10977500Y-30480000D03*
|
||||
%TO.P,U3,5,VO*%
|
||||
%TO.N,Net-(Q3-Pad1)*%
|
||||
X10977500Y-29210000D03*
|
||||
%TO.P,U3,4,VEE*%
|
||||
%TO.N,Net-(C3-Pad2)*%
|
||||
X10977500Y-27940000D03*
|
||||
%TO.P,U3,3,C*%
|
||||
%TO.N,GND*%
|
||||
X19517500Y-27940000D03*
|
||||
%TO.P,U3,2,NC*%
|
||||
%TO.N,unconnected-(U3-Pad2)*%
|
||||
X19517500Y-29210000D03*
|
||||
%TO.P,U3,1,A*%
|
||||
%TO.N,Net-(R3-Pad1)*%
|
||||
X19517500Y-30480000D03*
|
||||
%TD*%
|
||||
D10*
|
||||
%TO.P,Q3,3,S*%
|
||||
%TO.N,Net-(C3-Pad2)*%
|
||||
X3977500Y-24130000D03*
|
||||
%TO.P,Q3,2,D*%
|
||||
%TO.N,Net-(C2-Pad2)*%
|
||||
X3977500Y-26670000D03*
|
||||
D11*
|
||||
%TO.P,Q3,1,G*%
|
||||
%TO.N,Net-(Q3-Pad1)*%
|
||||
X3977500Y-29210000D03*
|
||||
%TD*%
|
||||
D10*
|
||||
%TO.P,D3,3,K*%
|
||||
%TO.N,Net-(C3-Pad2)*%
|
||||
X3977500Y-13335000D03*
|
||||
%TO.P,D3,2,A*%
|
||||
%TO.N,Net-(D3-Pad2)*%
|
||||
X3977500Y-15875000D03*
|
||||
D11*
|
||||
%TO.P,D3,1,K*%
|
||||
%TO.N,Net-(D2-Pad2)*%
|
||||
X3977500Y-18415000D03*
|
||||
%TD*%
|
||||
D14*
|
||||
%TO.P,R3,2*%
|
||||
%TO.N,Net-(J6-Pad3)*%
|
||||
X20607500Y-38735000D03*
|
||||
%TO.P,R3,1*%
|
||||
%TO.N,Net-(R3-Pad1)*%
|
||||
X17507500Y-38735000D03*
|
||||
%TD*%
|
||||
D10*
|
||||
%TO.P,D2,3,K*%
|
||||
%TO.N,Net-(C2-Pad2)*%
|
||||
X3977500Y-34925000D03*
|
||||
%TO.P,D2,2,A*%
|
||||
%TO.N,Net-(D2-Pad2)*%
|
||||
X3977500Y-37465000D03*
|
||||
D11*
|
||||
%TO.P,D2,1,K*%
|
||||
%TO.N,Net-(D1-Pad2)*%
|
||||
X3977500Y-40005000D03*
|
||||
%TD*%
|
||||
D15*
|
||||
%TO.P,C2,2*%
|
||||
%TO.N,Net-(C2-Pad2)*%
|
||||
X7627500Y-48662500D03*
|
||||
%TO.P,C2,1*%
|
||||
%TO.N,Net-(C2-Pad1)*%
|
||||
X7627500Y-52937500D03*
|
||||
%TD*%
|
||||
%TO.P,C4,2*%
|
||||
%TO.N,Net-(C4-Pad2)*%
|
||||
X7627500Y-5482500D03*
|
||||
%TO.P,C4,1*%
|
||||
%TO.N,Net-(C4-Pad1)*%
|
||||
X7627500Y-9757500D03*
|
||||
%TD*%
|
||||
D16*
|
||||
%TO.P,J6,5,Pin_5*%
|
||||
%TO.N,Net-(J6-Pad5)*%
|
||||
X24137500Y-33655000D03*
|
||||
%TO.P,J6,4,Pin_4*%
|
||||
%TO.N,Net-(J6-Pad4)*%
|
||||
X24137500Y-36195000D03*
|
||||
%TO.P,J6,3,Pin_3*%
|
||||
%TO.N,Net-(J6-Pad3)*%
|
||||
X24137500Y-38735000D03*
|
||||
%TO.P,J6,2,Pin_2*%
|
||||
%TO.N,Net-(J6-Pad2)*%
|
||||
X24137500Y-41275000D03*
|
||||
D17*
|
||||
%TO.P,J6,1,Pin_1*%
|
||||
%TO.N,Net-(J6-Pad1)*%
|
||||
X24137500Y-43815000D03*
|
||||
%TD*%
|
||||
D12*
|
||||
%TO.P,J2,1,Pin_1*%
|
||||
%TO.N,Net-(D1-Pad2)*%
|
||||
X8017500Y-59055000D03*
|
||||
%TD*%
|
||||
%TO.P,J4,1,Pin_1*%
|
||||
%TO.N,Net-(D3-Pad2)*%
|
||||
X8017500Y-15875000D03*
|
||||
%TD*%
|
||||
D18*
|
||||
%TO.P,D6,2,A*%
|
||||
%TO.N,Net-(D2-Pad2)*%
|
||||
X9947500Y-33655000D03*
|
||||
%TO.P,D6,1,K*%
|
||||
%TO.N,Net-(C3-Pad1)*%
|
||||
X7847500Y-33655000D03*
|
||||
%TD*%
|
||||
D12*
|
||||
%TO.P,J5,1,Pin_1*%
|
||||
%TO.N,Net-(C4-Pad2)*%
|
||||
X8017500Y-2540000D03*
|
||||
%TD*%
|
||||
D18*
|
||||
%TO.P,D7,2,A*%
|
||||
%TO.N,Net-(D3-Pad2)*%
|
||||
X9947500Y-12065000D03*
|
||||
%TO.P,D7,1,K*%
|
||||
%TO.N,Net-(C4-Pad1)*%
|
||||
X7847500Y-12065000D03*
|
||||
%TD*%
|
||||
D15*
|
||||
%TO.P,C3,2*%
|
||||
%TO.N,Net-(C3-Pad2)*%
|
||||
X7627500Y-27072500D03*
|
||||
%TO.P,C3,1*%
|
||||
%TO.N,Net-(C3-Pad1)*%
|
||||
X7627500Y-31347500D03*
|
||||
%TD*%
|
||||
%TO.P,C1,2*%
|
||||
%TO.N,Net-(C1-Pad2)*%
|
||||
X7627500Y-70252500D03*
|
||||
%TO.P,C1,1*%
|
||||
%TO.N,Net-(C1-Pad1)*%
|
||||
X7627500Y-74527500D03*
|
||||
%TD*%
|
||||
D13*
|
||||
%TO.P,U4,6,VCC*%
|
||||
%TO.N,Net-(C4-Pad1)*%
|
||||
X10977500Y-8890000D03*
|
||||
%TO.P,U4,5,VO*%
|
||||
%TO.N,Net-(Q4-Pad1)*%
|
||||
X10977500Y-7620000D03*
|
||||
%TO.P,U4,4,VEE*%
|
||||
%TO.N,Net-(C4-Pad2)*%
|
||||
X10977500Y-6350000D03*
|
||||
%TO.P,U4,3,C*%
|
||||
%TO.N,GND*%
|
||||
X19517500Y-6350000D03*
|
||||
%TO.P,U4,2,NC*%
|
||||
%TO.N,unconnected-(U4-Pad2)*%
|
||||
X19517500Y-7620000D03*
|
||||
%TO.P,U4,1,A*%
|
||||
%TO.N,Net-(R4-Pad1)*%
|
||||
X19517500Y-8890000D03*
|
||||
%TD*%
|
||||
D14*
|
||||
%TO.P,R4,2*%
|
||||
%TO.N,Net-(J6-Pad4)*%
|
||||
X20607500Y-36195000D03*
|
||||
%TO.P,R4,1*%
|
||||
%TO.N,Net-(R4-Pad1)*%
|
||||
X17507500Y-36195000D03*
|
||||
%TD*%
|
||||
D10*
|
||||
%TO.P,Q1,3,S*%
|
||||
%TO.N,Net-(C1-Pad2)*%
|
||||
X3977500Y-67310000D03*
|
||||
%TO.P,Q1,2,D*%
|
||||
%TO.N,Net-(D1-Pad1)*%
|
||||
X3977500Y-69850000D03*
|
||||
D11*
|
||||
%TO.P,Q1,1,G*%
|
||||
%TO.N,Net-(Q1-Pad1)*%
|
||||
X3977500Y-72390000D03*
|
||||
%TD*%
|
||||
D13*
|
||||
%TO.P,U1,6,VCC*%
|
||||
%TO.N,Net-(C1-Pad1)*%
|
||||
X10977500Y-73660000D03*
|
||||
%TO.P,U1,5,VO*%
|
||||
%TO.N,Net-(Q1-Pad1)*%
|
||||
X10977500Y-72390000D03*
|
||||
%TO.P,U1,4,VEE*%
|
||||
%TO.N,Net-(C1-Pad2)*%
|
||||
X10977500Y-71120000D03*
|
||||
%TO.P,U1,3,C*%
|
||||
%TO.N,GND*%
|
||||
X19517500Y-71120000D03*
|
||||
%TO.P,U1,2,NC*%
|
||||
%TO.N,unconnected-(U1-Pad2)*%
|
||||
X19517500Y-72390000D03*
|
||||
%TO.P,U1,1,A*%
|
||||
%TO.N,Net-(R1-Pad1)*%
|
||||
X19517500Y-73660000D03*
|
||||
%TD*%
|
||||
D18*
|
||||
%TO.P,D4,2,A*%
|
||||
%TO.N,Net-(D1-Pad1)*%
|
||||
X12487500Y-76200000D03*
|
||||
%TO.P,D4,1,K*%
|
||||
%TO.N,Net-(C1-Pad1)*%
|
||||
X10387500Y-76200000D03*
|
||||
%TD*%
|
||||
D14*
|
||||
%TO.P,R1,2*%
|
||||
%TO.N,Net-(J6-Pad1)*%
|
||||
X20607500Y-43815000D03*
|
||||
%TO.P,R1,1*%
|
||||
%TO.N,Net-(R1-Pad1)*%
|
||||
X17507500Y-43815000D03*
|
||||
%TD*%
|
||||
D10*
|
||||
%TO.P,Q2,3,S*%
|
||||
%TO.N,Net-(C2-Pad2)*%
|
||||
X3977500Y-45720000D03*
|
||||
%TO.P,Q2,2,D*%
|
||||
%TO.N,Net-(C1-Pad2)*%
|
||||
X3977500Y-48260000D03*
|
||||
D11*
|
||||
%TO.P,Q2,1,G*%
|
||||
%TO.N,Net-(Q2-Pad1)*%
|
||||
X3977500Y-50800000D03*
|
||||
%TD*%
|
||||
D18*
|
||||
%TO.P,D5,2,A*%
|
||||
%TO.N,Net-(D1-Pad2)*%
|
||||
X9947500Y-55245000D03*
|
||||
%TO.P,D5,1,K*%
|
||||
%TO.N,Net-(C2-Pad1)*%
|
||||
X7847500Y-55245000D03*
|
||||
%TD*%
|
||||
D12*
|
||||
%TO.P,J1,1,Pin_1*%
|
||||
%TO.N,Net-(D1-Pad1)*%
|
||||
X4017500Y-76835000D03*
|
||||
%TD*%
|
||||
D10*
|
||||
%TO.P,Q4,3,S*%
|
||||
%TO.N,Net-(C4-Pad2)*%
|
||||
X3977500Y-2540000D03*
|
||||
%TO.P,Q4,2,D*%
|
||||
%TO.N,Net-(C3-Pad2)*%
|
||||
X3977500Y-5080000D03*
|
||||
D11*
|
||||
%TO.P,Q4,1,G*%
|
||||
%TO.N,Net-(Q4-Pad1)*%
|
||||
X3977500Y-7620000D03*
|
||||
%TD*%
|
||||
D14*
|
||||
%TO.P,R2,2*%
|
||||
%TO.N,Net-(J6-Pad2)*%
|
||||
X20607500Y-41275000D03*
|
||||
%TO.P,R2,1*%
|
||||
%TO.N,Net-(R2-Pad1)*%
|
||||
X17507500Y-41275000D03*
|
||||
%TD*%
|
||||
D19*
|
||||
%TO.P,R5,2*%
|
||||
%TO.N,Net-(J6-Pad5)*%
|
||||
X23542500Y-25400000D03*
|
||||
%TO.P,R5,1*%
|
||||
%TO.N,GND*%
|
||||
X19092500Y-25400000D03*
|
||||
%TD*%
|
||||
D13*
|
||||
%TO.P,U2,6,VCC*%
|
||||
%TO.N,Net-(C2-Pad1)*%
|
||||
X10977500Y-52070000D03*
|
||||
%TO.P,U2,5,VO*%
|
||||
%TO.N,Net-(Q2-Pad1)*%
|
||||
X10977500Y-50800000D03*
|
||||
%TO.P,U2,4,VEE*%
|
||||
%TO.N,Net-(C2-Pad2)*%
|
||||
X10977500Y-49530000D03*
|
||||
%TO.P,U2,3,C*%
|
||||
%TO.N,GND*%
|
||||
X19517500Y-49530000D03*
|
||||
%TO.P,U2,2,NC*%
|
||||
%TO.N,unconnected-(U2-Pad2)*%
|
||||
X19517500Y-50800000D03*
|
||||
%TO.P,U2,1,A*%
|
||||
%TO.N,Net-(R2-Pad1)*%
|
||||
X19517500Y-52070000D03*
|
||||
%TD*%
|
||||
D20*
|
||||
%TO.N,Net-(C1-Pad1)*%
|
||||
X10375000Y-76212500D02*
|
||||
X10387500Y-76200000D01*
|
||||
X8445000Y-73710000D02*
|
||||
X10977500Y-73710000D01*
|
||||
X7627500Y-74527500D02*
|
||||
X8445000Y-73710000D01*
|
||||
X9312500Y-76212500D02*
|
||||
X10375000Y-76212500D01*
|
||||
X9312500Y-76212500D02*
|
||||
X7627500Y-74527500D01*
|
||||
D21*
|
||||
%TO.N,Net-(C1-Pad2)*%
|
||||
X1912500Y-56515000D02*
|
||||
X1477500Y-56080000D01*
|
||||
X2826641Y-67310000D02*
|
||||
X3977500Y-67310000D01*
|
||||
D20*
|
||||
X7627500Y-70252500D02*
|
||||
X8445000Y-71070000D01*
|
||||
D21*
|
||||
X5087500Y-67310000D02*
|
||||
X7627500Y-69850000D01*
|
||||
X1477500Y-56080000D02*
|
||||
X1477500Y-65960859D01*
|
||||
X3977500Y-67310000D02*
|
||||
X5087500Y-67310000D01*
|
||||
X1477500Y-48347500D02*
|
||||
X1477500Y-56080000D01*
|
||||
D20*
|
||||
X8445000Y-71070000D02*
|
||||
X10977500Y-71070000D01*
|
||||
D21*
|
||||
X7627500Y-69850000D02*
|
||||
X7627500Y-70252500D01*
|
||||
X1477500Y-65960859D02*
|
||||
X2826641Y-67310000D01*
|
||||
X1565000Y-48260000D02*
|
||||
X1477500Y-48347500D01*
|
||||
X3977500Y-48260000D02*
|
||||
X1565000Y-48260000D01*
|
||||
X3977500Y-56515000D02*
|
||||
X1912500Y-56515000D01*
|
||||
D20*
|
||||
%TO.N,Net-(C2-Pad1)*%
|
||||
X8445000Y-52120000D02*
|
||||
X10977500Y-52120000D01*
|
||||
X7847500Y-55245000D02*
|
||||
X7847500Y-53157500D01*
|
||||
X7627500Y-52937500D02*
|
||||
X8445000Y-52120000D01*
|
||||
D21*
|
||||
%TO.N,Net-(C2-Pad2)*%
|
||||
X1565000Y-26670000D02*
|
||||
X1477500Y-26757500D01*
|
||||
X3977500Y-45720000D02*
|
||||
X5087500Y-45720000D01*
|
||||
X3977500Y-26670000D02*
|
||||
X1565000Y-26670000D01*
|
||||
X1477500Y-35125000D02*
|
||||
X1477500Y-43220000D01*
|
||||
D20*
|
||||
X7627500Y-48662500D02*
|
||||
X8445000Y-49480000D01*
|
||||
D21*
|
||||
X1677500Y-34925000D02*
|
||||
X1477500Y-35125000D01*
|
||||
X7627500Y-48260000D02*
|
||||
X7627500Y-48662500D01*
|
||||
D20*
|
||||
X8445000Y-49480000D02*
|
||||
X10977500Y-49480000D01*
|
||||
D21*
|
||||
X3977500Y-34925000D02*
|
||||
X1677500Y-34925000D01*
|
||||
X1477500Y-26757500D02*
|
||||
X1477500Y-35125000D01*
|
||||
X1477500Y-43220000D02*
|
||||
X3977500Y-45720000D01*
|
||||
X5087500Y-45720000D02*
|
||||
X7627500Y-48260000D01*
|
||||
D20*
|
||||
%TO.N,Net-(C3-Pad1)*%
|
||||
X7627500Y-31347500D02*
|
||||
X8445000Y-30530000D01*
|
||||
X8445000Y-30530000D02*
|
||||
X10977500Y-30530000D01*
|
||||
X7847500Y-33655000D02*
|
||||
X7847500Y-31567500D01*
|
||||
D21*
|
||||
%TO.N,Net-(C3-Pad2)*%
|
||||
X1912500Y-5080000D02*
|
||||
X1477500Y-5515000D01*
|
||||
X5722500Y-24130000D02*
|
||||
X7627500Y-26035000D01*
|
||||
X1477500Y-21630000D02*
|
||||
X3977500Y-24130000D01*
|
||||
X1477500Y-5515000D02*
|
||||
X1477500Y-13770000D01*
|
||||
X7627500Y-26035000D02*
|
||||
X7627500Y-27072500D01*
|
||||
D20*
|
||||
X7627500Y-27072500D02*
|
||||
X8445000Y-27890000D01*
|
||||
D21*
|
||||
X3977500Y-5080000D02*
|
||||
X1912500Y-5080000D01*
|
||||
D20*
|
||||
X8445000Y-27890000D02*
|
||||
X10977500Y-27890000D01*
|
||||
D21*
|
||||
X1477500Y-13770000D02*
|
||||
X1477500Y-21630000D01*
|
||||
X1912500Y-13335000D02*
|
||||
X1477500Y-13770000D01*
|
||||
X3977500Y-13335000D02*
|
||||
X1912500Y-13335000D01*
|
||||
X3977500Y-24130000D02*
|
||||
X5722500Y-24130000D01*
|
||||
D20*
|
||||
%TO.N,Net-(C4-Pad1)*%
|
||||
X7847500Y-12065000D02*
|
||||
X7847500Y-9977500D01*
|
||||
X7627500Y-9757500D02*
|
||||
X8445000Y-8940000D01*
|
||||
X8445000Y-8940000D02*
|
||||
X10977500Y-8940000D01*
|
||||
D21*
|
||||
%TO.N,Net-(C4-Pad2)*%
|
||||
X7627500Y-5482500D02*
|
||||
X7627500Y-2930000D01*
|
||||
D20*
|
||||
X7627500Y-5482500D02*
|
||||
X8445000Y-6300000D01*
|
||||
X8445000Y-6300000D02*
|
||||
X10977500Y-6300000D01*
|
||||
D21*
|
||||
X3977500Y-2540000D02*
|
||||
X8017500Y-2540000D01*
|
||||
%TO.N,Net-(D1-Pad2)*%
|
||||
X13557500Y-54395000D02*
|
||||
X12390000Y-55562500D01*
|
||||
X8897500Y-59055000D02*
|
||||
X6992500Y-59055000D01*
|
||||
X6992500Y-59055000D02*
|
||||
X3977500Y-59055000D01*
|
||||
X12390000Y-55562500D02*
|
||||
X8897500Y-59055000D01*
|
||||
X5087500Y-40005000D02*
|
||||
X13557500Y-48475000D01*
|
||||
D20*
|
||||
X9947500Y-55245000D02*
|
||||
X12072500Y-55245000D01*
|
||||
X12072500Y-55245000D02*
|
||||
X12390000Y-55562500D01*
|
||||
D21*
|
||||
X13557500Y-48475000D02*
|
||||
X13557500Y-54395000D01*
|
||||
X3977500Y-40005000D02*
|
||||
X5087500Y-40005000D01*
|
||||
%TO.N,Net-(D2-Pad2)*%
|
||||
X13977500Y-31750000D02*
|
||||
X11120000Y-34607500D01*
|
||||
X5087500Y-18415000D02*
|
||||
X13977500Y-27305000D01*
|
||||
D20*
|
||||
X10167500Y-33655000D02*
|
||||
X11120000Y-34607500D01*
|
||||
D21*
|
||||
X13977500Y-27305000D02*
|
||||
X13977500Y-31750000D01*
|
||||
X3977500Y-37465000D02*
|
||||
X8017500Y-37465000D01*
|
||||
X3977500Y-18415000D02*
|
||||
X5087500Y-18415000D01*
|
||||
D20*
|
||||
X9947500Y-33655000D02*
|
||||
X10167500Y-33655000D01*
|
||||
D21*
|
||||
X11120000Y-34607500D02*
|
||||
X8262500Y-37465000D01*
|
||||
D20*
|
||||
%TO.N,Net-(D3-Pad2)*%
|
||||
X6992500Y-15875000D02*
|
||||
X9947500Y-12920000D01*
|
||||
X9947500Y-12920000D02*
|
||||
X9947500Y-12065000D01*
|
||||
D21*
|
||||
X6992500Y-15875000D02*
|
||||
X3977500Y-15875000D01*
|
||||
D20*
|
||||
%TO.N,Net-(Q1-Pad1)*%
|
||||
X10977500Y-72390000D02*
|
||||
X3977500Y-72390000D01*
|
||||
%TO.N,Net-(Q3-Pad1)*%
|
||||
X10977500Y-29210000D02*
|
||||
X3977500Y-29210000D01*
|
||||
%TO.N,Net-(Q4-Pad1)*%
|
||||
X3977500Y-7620000D02*
|
||||
X10977500Y-7620000D01*
|
||||
%TO.N,GND*%
|
||||
X17152500Y-25400000D02*
|
||||
X16517500Y-26035000D01*
|
||||
X12072500Y-44450000D02*
|
||||
X16517500Y-48895000D01*
|
||||
X18422500Y-71120000D02*
|
||||
X19517500Y-71120000D01*
|
||||
X16517500Y-48895000D02*
|
||||
X16517500Y-50165000D01*
|
||||
X19517500Y-6350000D02*
|
||||
X17887500Y-6350000D01*
|
||||
X16517500Y-7720000D02*
|
||||
X16517500Y-26035000D01*
|
||||
X16517500Y-69215000D02*
|
||||
X18422500Y-71120000D01*
|
||||
X12072500Y-36830000D02*
|
||||
X12072500Y-44450000D01*
|
||||
X16517500Y-27940000D02*
|
||||
X16517500Y-32385000D01*
|
||||
X16517500Y-32385000D02*
|
||||
X12072500Y-36830000D01*
|
||||
X16517500Y-49530000D02*
|
||||
X16517500Y-50165000D01*
|
||||
X19517500Y-27940000D02*
|
||||
X16517500Y-27940000D01*
|
||||
X19517500Y-49530000D02*
|
||||
X16517500Y-49530000D01*
|
||||
X17887500Y-6350000D02*
|
||||
X16517500Y-7720000D01*
|
||||
X16517500Y-50165000D02*
|
||||
X16517500Y-69215000D01*
|
||||
X19092500Y-25400000D02*
|
||||
X17152500Y-25400000D01*
|
||||
X16517500Y-26035000D02*
|
||||
X16517500Y-27940000D01*
|
||||
%TO.N,Net-(Q2-Pad1)*%
|
||||
X10977500Y-50800000D02*
|
||||
X3977500Y-50800000D01*
|
||||
%TO.N,Net-(J6-Pad2)*%
|
||||
X24137500Y-41275000D02*
|
||||
X20057500Y-41275000D01*
|
||||
%TO.N,Net-(J6-Pad3)*%
|
||||
X24137500Y-38735000D02*
|
||||
X20057500Y-38735000D01*
|
||||
%TO.N,Net-(J6-Pad4)*%
|
||||
X20057500Y-36195000D02*
|
||||
X24137500Y-36195000D01*
|
||||
%TO.N,Net-(R1-Pad1)*%
|
||||
X23502500Y-48260000D02*
|
||||
X21597500Y-46355000D01*
|
||||
X20047500Y-46355000D02*
|
||||
X17507500Y-43815000D01*
|
||||
X21597500Y-46355000D02*
|
||||
X20047500Y-46355000D01*
|
||||
X21147500Y-73660000D02*
|
||||
X23502500Y-71305000D01*
|
||||
X19517500Y-73660000D02*
|
||||
X21147500Y-73660000D01*
|
||||
X23502500Y-71305000D02*
|
||||
X23502500Y-48260000D01*
|
||||
D21*
|
||||
%TO.N,Net-(D1-Pad1)*%
|
||||
X3977500Y-61595000D02*
|
||||
X5087500Y-61595000D01*
|
||||
X1477500Y-69937500D02*
|
||||
X3977500Y-69937500D01*
|
||||
D20*
|
||||
X12707500Y-76835000D02*
|
||||
X12707500Y-76420000D01*
|
||||
D21*
|
||||
X5087500Y-61595000D02*
|
||||
X13557500Y-70065000D01*
|
||||
X1477500Y-74495000D02*
|
||||
X1477500Y-69937500D01*
|
||||
X13557500Y-75985000D02*
|
||||
X12707500Y-76835000D01*
|
||||
X11580000Y-77962500D02*
|
||||
X12707500Y-76835000D01*
|
||||
X4945000Y-77962500D02*
|
||||
X11580000Y-77962500D01*
|
||||
D20*
|
||||
X12707500Y-76420000D02*
|
||||
X12487500Y-76200000D01*
|
||||
D21*
|
||||
X3817500Y-76835000D02*
|
||||
X4945000Y-77962500D01*
|
||||
X13557500Y-70065000D02*
|
||||
X13557500Y-75985000D01*
|
||||
X3817500Y-76835000D02*
|
||||
X1477500Y-74495000D01*
|
||||
D20*
|
||||
%TO.N,Net-(J6-Pad1)*%
|
||||
X24137500Y-43815000D02*
|
||||
X20057500Y-43815000D01*
|
||||
%TO.N,Net-(R2-Pad1)*%
|
||||
X21147500Y-52070000D02*
|
||||
X21347500Y-51870000D01*
|
||||
X19518286Y-47490000D02*
|
||||
X18017500Y-47490000D01*
|
||||
X16232500Y-41275000D02*
|
||||
X17507500Y-41275000D01*
|
||||
X19633286Y-47605000D02*
|
||||
X19518286Y-47490000D01*
|
||||
X15017500Y-44490000D02*
|
||||
X15017500Y-42490000D01*
|
||||
X15017500Y-42490000D02*
|
||||
X16232500Y-41275000D01*
|
||||
X18017500Y-47490000D02*
|
||||
X15017500Y-44490000D01*
|
||||
X21347500Y-51870000D02*
|
||||
X21347500Y-48645000D01*
|
||||
X21347500Y-48645000D02*
|
||||
X20307500Y-47605000D01*
|
||||
X20307500Y-47605000D02*
|
||||
X19633286Y-47605000D01*
|
||||
X19517500Y-52070000D02*
|
||||
X21147500Y-52070000D01*
|
||||
%TO.N,Net-(R3-Pad1)*%
|
||||
X16017500Y-37245000D02*
|
||||
X17507500Y-38735000D01*
|
||||
X19517500Y-31152766D02*
|
||||
X16017500Y-34652766D01*
|
||||
X19517500Y-30480000D02*
|
||||
X19517500Y-31152766D01*
|
||||
X16017500Y-34652766D02*
|
||||
X16017500Y-37245000D01*
|
||||
%TO.N,Net-(R4-Pad1)*%
|
||||
X21347500Y-10720000D02*
|
||||
X19517500Y-8890000D01*
|
||||
X17507500Y-35390000D02*
|
||||
X21347500Y-31550000D01*
|
||||
X17507500Y-36195000D02*
|
||||
X17507500Y-35390000D01*
|
||||
X21347500Y-31550000D02*
|
||||
X21347500Y-10720000D01*
|
||||
%TO.N,Net-(J6-Pad5)*%
|
||||
X24137500Y-25995000D02*
|
||||
X23542500Y-25400000D01*
|
||||
X24137500Y-33655000D02*
|
||||
X24137500Y-25995000D01*
|
||||
%TD*%
|
||||
M02*
|
||||
234
squeow_mod/squeow_mod-F_Mask.gbr
Normal file
234
squeow_mod/squeow_mod-F_Mask.gbr
Normal file
@@ -0,0 +1,234 @@
|
||||
%TF.GenerationSoftware,KiCad,Pcbnew,7.0.5+dfsg-2*%
|
||||
%TF.CreationDate,2023-06-30T15:01:53+02:00*%
|
||||
%TF.ProjectId,squeow_mod,73717565-6f77-45f6-9d6f-642e6b696361,rev?*%
|
||||
%TF.SameCoordinates,PX2cce564PYfbec30*%
|
||||
%TF.FileFunction,Soldermask,Top*%
|
||||
%TF.FilePolarity,Negative*%
|
||||
%FSLAX46Y46*%
|
||||
G04 Gerber Fmt 4.6, Leading zero omitted, Abs format (unit mm)*
|
||||
G04 Created by KiCad (PCBNEW 7.0.5+dfsg-2) date 2023-06-30 15:01:53*
|
||||
%MOMM*%
|
||||
%LPD*%
|
||||
G01*
|
||||
G04 APERTURE LIST*
|
||||
G04 Aperture macros list*
|
||||
%AMRoundRect*
|
||||
0 Rectangle with rounded corners*
|
||||
0 $1 Rounding radius*
|
||||
0 $2 $3 $4 $5 $6 $7 $8 $9 X,Y pos of 4 corners*
|
||||
0 Add a 4 corners polygon primitive as box body*
|
||||
4,1,4,$2,$3,$4,$5,$6,$7,$8,$9,$2,$3,0*
|
||||
0 Add four circle primitives for the rounded corners*
|
||||
1,1,$1+$1,$2,$3*
|
||||
1,1,$1+$1,$4,$5*
|
||||
1,1,$1+$1,$6,$7*
|
||||
1,1,$1+$1,$8,$9*
|
||||
0 Add four rect primitives between the rounded corners*
|
||||
20,1,$1+$1,$2,$3,$4,$5,0*
|
||||
20,1,$1+$1,$4,$5,$6,$7,0*
|
||||
20,1,$1+$1,$6,$7,$8,$9,0*
|
||||
20,1,$1+$1,$8,$9,$2,$3,0*%
|
||||
G04 Aperture macros list end*
|
||||
%ADD10O,2.000000X1.905000*%
|
||||
%ADD11R,2.000000X1.905000*%
|
||||
%ADD12O,3.500000X3.500000*%
|
||||
%ADD13C,4.000000*%
|
||||
%ADD14R,2.160000X0.640000*%
|
||||
%ADD15RoundRect,0.250000X-0.400000X-0.625000X0.400000X-0.625000X0.400000X0.625000X-0.400000X0.625000X0*%
|
||||
%ADD16RoundRect,0.250000X1.450000X-0.537500X1.450000X0.537500X-1.450000X0.537500X-1.450000X-0.537500X0*%
|
||||
%ADD17O,1.700000X1.700000*%
|
||||
%ADD18R,1.700000X1.700000*%
|
||||
%ADD19R,0.600000X0.450000*%
|
||||
%ADD20RoundRect,0.250000X-0.400000X-1.450000X0.400000X-1.450000X0.400000X1.450000X-0.400000X1.450000X0*%
|
||||
G04 APERTURE END LIST*
|
||||
D10*
|
||||
%TO.C,D1*%
|
||||
X3977500Y-56515000D03*
|
||||
X3977500Y-59055000D03*
|
||||
D11*
|
||||
X3977500Y-61595000D03*
|
||||
D12*
|
||||
X-11822500Y-59055000D03*
|
||||
%TD*%
|
||||
D13*
|
||||
%TO.C,J3*%
|
||||
X8017500Y-37465000D03*
|
||||
%TD*%
|
||||
D14*
|
||||
%TO.C,U3*%
|
||||
X10977500Y-30480000D03*
|
||||
X10977500Y-29210000D03*
|
||||
X10977500Y-27940000D03*
|
||||
X19517500Y-27940000D03*
|
||||
X19517500Y-29210000D03*
|
||||
X19517500Y-30480000D03*
|
||||
%TD*%
|
||||
D10*
|
||||
%TO.C,Q3*%
|
||||
X3977500Y-24130000D03*
|
||||
X3977500Y-26670000D03*
|
||||
D11*
|
||||
X3977500Y-29210000D03*
|
||||
D12*
|
||||
X-11822500Y-26670000D03*
|
||||
%TD*%
|
||||
D10*
|
||||
%TO.C,D3*%
|
||||
X3977500Y-13335000D03*
|
||||
X3977500Y-15875000D03*
|
||||
D11*
|
||||
X3977500Y-18415000D03*
|
||||
D12*
|
||||
X-11822500Y-15875000D03*
|
||||
%TD*%
|
||||
D15*
|
||||
%TO.C,R3*%
|
||||
X20607500Y-38735000D03*
|
||||
X17507500Y-38735000D03*
|
||||
%TD*%
|
||||
D10*
|
||||
%TO.C,D2*%
|
||||
X3977500Y-34925000D03*
|
||||
X3977500Y-37465000D03*
|
||||
D11*
|
||||
X3977500Y-40005000D03*
|
||||
D12*
|
||||
X-11822500Y-37465000D03*
|
||||
%TD*%
|
||||
D16*
|
||||
%TO.C,C2*%
|
||||
X7627500Y-48662500D03*
|
||||
X7627500Y-52937500D03*
|
||||
%TD*%
|
||||
%TO.C,C4*%
|
||||
X7627500Y-5482500D03*
|
||||
X7627500Y-9757500D03*
|
||||
%TD*%
|
||||
D17*
|
||||
%TO.C,J6*%
|
||||
X24137500Y-33655000D03*
|
||||
X24137500Y-36195000D03*
|
||||
X24137500Y-38735000D03*
|
||||
X24137500Y-41275000D03*
|
||||
D18*
|
||||
X24137500Y-43815000D03*
|
||||
%TD*%
|
||||
D13*
|
||||
%TO.C,J2*%
|
||||
X8017500Y-59055000D03*
|
||||
%TD*%
|
||||
%TO.C,J4*%
|
||||
X8017500Y-15875000D03*
|
||||
%TD*%
|
||||
D19*
|
||||
%TO.C,D6*%
|
||||
X9947500Y-33655000D03*
|
||||
X7847500Y-33655000D03*
|
||||
%TD*%
|
||||
D13*
|
||||
%TO.C,J5*%
|
||||
X8017500Y-2540000D03*
|
||||
%TD*%
|
||||
D19*
|
||||
%TO.C,D7*%
|
||||
X9947500Y-12065000D03*
|
||||
X7847500Y-12065000D03*
|
||||
%TD*%
|
||||
D16*
|
||||
%TO.C,C3*%
|
||||
X7627500Y-27072500D03*
|
||||
X7627500Y-31347500D03*
|
||||
%TD*%
|
||||
%TO.C,C1*%
|
||||
X7627500Y-70252500D03*
|
||||
X7627500Y-74527500D03*
|
||||
%TD*%
|
||||
D14*
|
||||
%TO.C,U4*%
|
||||
X10977500Y-8890000D03*
|
||||
X10977500Y-7620000D03*
|
||||
X10977500Y-6350000D03*
|
||||
X19517500Y-6350000D03*
|
||||
X19517500Y-7620000D03*
|
||||
X19517500Y-8890000D03*
|
||||
%TD*%
|
||||
D15*
|
||||
%TO.C,R4*%
|
||||
X20607500Y-36195000D03*
|
||||
X17507500Y-36195000D03*
|
||||
%TD*%
|
||||
D10*
|
||||
%TO.C,Q1*%
|
||||
X3977500Y-67310000D03*
|
||||
X3977500Y-69850000D03*
|
||||
D11*
|
||||
X3977500Y-72390000D03*
|
||||
D12*
|
||||
X-11822500Y-69850000D03*
|
||||
%TD*%
|
||||
D14*
|
||||
%TO.C,U1*%
|
||||
X10977500Y-73660000D03*
|
||||
X10977500Y-72390000D03*
|
||||
X10977500Y-71120000D03*
|
||||
X19517500Y-71120000D03*
|
||||
X19517500Y-72390000D03*
|
||||
X19517500Y-73660000D03*
|
||||
%TD*%
|
||||
D19*
|
||||
%TO.C,D4*%
|
||||
X12487500Y-76200000D03*
|
||||
X10387500Y-76200000D03*
|
||||
%TD*%
|
||||
D15*
|
||||
%TO.C,R1*%
|
||||
X20607500Y-43815000D03*
|
||||
X17507500Y-43815000D03*
|
||||
%TD*%
|
||||
D10*
|
||||
%TO.C,Q2*%
|
||||
X3977500Y-45720000D03*
|
||||
X3977500Y-48260000D03*
|
||||
D11*
|
||||
X3977500Y-50800000D03*
|
||||
D12*
|
||||
X-11822500Y-48260000D03*
|
||||
%TD*%
|
||||
D19*
|
||||
%TO.C,D5*%
|
||||
X9947500Y-55245000D03*
|
||||
X7847500Y-55245000D03*
|
||||
%TD*%
|
||||
D13*
|
||||
%TO.C,J1*%
|
||||
X4017500Y-76835000D03*
|
||||
%TD*%
|
||||
D10*
|
||||
%TO.C,Q4*%
|
||||
X3977500Y-2540000D03*
|
||||
X3977500Y-5080000D03*
|
||||
D11*
|
||||
X3977500Y-7620000D03*
|
||||
D12*
|
||||
X-11822500Y-5080000D03*
|
||||
%TD*%
|
||||
D15*
|
||||
%TO.C,R2*%
|
||||
X20607500Y-41275000D03*
|
||||
X17507500Y-41275000D03*
|
||||
%TD*%
|
||||
D20*
|
||||
%TO.C,R5*%
|
||||
X23542500Y-25400000D03*
|
||||
X19092500Y-25400000D03*
|
||||
%TD*%
|
||||
D14*
|
||||
%TO.C,U2*%
|
||||
X10977500Y-52070000D03*
|
||||
X10977500Y-50800000D03*
|
||||
X10977500Y-49530000D03*
|
||||
X19517500Y-49530000D03*
|
||||
X19517500Y-50800000D03*
|
||||
X19517500Y-52070000D03*
|
||||
%TD*%
|
||||
M02*
|
||||
136
squeow_mod/squeow_mod-F_Paste.gbr
Normal file
136
squeow_mod/squeow_mod-F_Paste.gbr
Normal file
@@ -0,0 +1,136 @@
|
||||
%TF.GenerationSoftware,KiCad,Pcbnew,7.0.5+dfsg-2*%
|
||||
%TF.CreationDate,2023-06-30T15:01:52+02:00*%
|
||||
%TF.ProjectId,squeow_mod,73717565-6f77-45f6-9d6f-642e6b696361,rev?*%
|
||||
%TF.SameCoordinates,PX2cce564PYfbec30*%
|
||||
%TF.FileFunction,Paste,Top*%
|
||||
%TF.FilePolarity,Positive*%
|
||||
%FSLAX46Y46*%
|
||||
G04 Gerber Fmt 4.6, Leading zero omitted, Abs format (unit mm)*
|
||||
G04 Created by KiCad (PCBNEW 7.0.5+dfsg-2) date 2023-06-30 15:01:52*
|
||||
%MOMM*%
|
||||
%LPD*%
|
||||
G01*
|
||||
G04 APERTURE LIST*
|
||||
G04 Aperture macros list*
|
||||
%AMRoundRect*
|
||||
0 Rectangle with rounded corners*
|
||||
0 $1 Rounding radius*
|
||||
0 $2 $3 $4 $5 $6 $7 $8 $9 X,Y pos of 4 corners*
|
||||
0 Add a 4 corners polygon primitive as box body*
|
||||
4,1,4,$2,$3,$4,$5,$6,$7,$8,$9,$2,$3,0*
|
||||
0 Add four circle primitives for the rounded corners*
|
||||
1,1,$1+$1,$2,$3*
|
||||
1,1,$1+$1,$4,$5*
|
||||
1,1,$1+$1,$6,$7*
|
||||
1,1,$1+$1,$8,$9*
|
||||
0 Add four rect primitives between the rounded corners*
|
||||
20,1,$1+$1,$2,$3,$4,$5,0*
|
||||
20,1,$1+$1,$4,$5,$6,$7,0*
|
||||
20,1,$1+$1,$6,$7,$8,$9,0*
|
||||
20,1,$1+$1,$8,$9,$2,$3,0*%
|
||||
G04 Aperture macros list end*
|
||||
%ADD10R,2.160000X0.640000*%
|
||||
%ADD11RoundRect,0.250000X-0.400000X-0.625000X0.400000X-0.625000X0.400000X0.625000X-0.400000X0.625000X0*%
|
||||
%ADD12RoundRect,0.250000X1.450000X-0.537500X1.450000X0.537500X-1.450000X0.537500X-1.450000X-0.537500X0*%
|
||||
%ADD13R,0.600000X0.450000*%
|
||||
%ADD14RoundRect,0.250000X-0.400000X-1.450000X0.400000X-1.450000X0.400000X1.450000X-0.400000X1.450000X0*%
|
||||
G04 APERTURE END LIST*
|
||||
D10*
|
||||
%TO.C,U3*%
|
||||
X10977500Y-30480000D03*
|
||||
X10977500Y-29210000D03*
|
||||
X10977500Y-27940000D03*
|
||||
X19517500Y-27940000D03*
|
||||
X19517500Y-29210000D03*
|
||||
X19517500Y-30480000D03*
|
||||
%TD*%
|
||||
D11*
|
||||
%TO.C,R3*%
|
||||
X20607500Y-38735000D03*
|
||||
X17507500Y-38735000D03*
|
||||
%TD*%
|
||||
D12*
|
||||
%TO.C,C2*%
|
||||
X7627500Y-48662500D03*
|
||||
X7627500Y-52937500D03*
|
||||
%TD*%
|
||||
%TO.C,C4*%
|
||||
X7627500Y-5482500D03*
|
||||
X7627500Y-9757500D03*
|
||||
%TD*%
|
||||
D13*
|
||||
%TO.C,D6*%
|
||||
X9947500Y-33655000D03*
|
||||
X7847500Y-33655000D03*
|
||||
%TD*%
|
||||
%TO.C,D7*%
|
||||
X9947500Y-12065000D03*
|
||||
X7847500Y-12065000D03*
|
||||
%TD*%
|
||||
D12*
|
||||
%TO.C,C3*%
|
||||
X7627500Y-27072500D03*
|
||||
X7627500Y-31347500D03*
|
||||
%TD*%
|
||||
%TO.C,C1*%
|
||||
X7627500Y-70252500D03*
|
||||
X7627500Y-74527500D03*
|
||||
%TD*%
|
||||
D10*
|
||||
%TO.C,U4*%
|
||||
X10977500Y-8890000D03*
|
||||
X10977500Y-7620000D03*
|
||||
X10977500Y-6350000D03*
|
||||
X19517500Y-6350000D03*
|
||||
X19517500Y-7620000D03*
|
||||
X19517500Y-8890000D03*
|
||||
%TD*%
|
||||
D11*
|
||||
%TO.C,R4*%
|
||||
X20607500Y-36195000D03*
|
||||
X17507500Y-36195000D03*
|
||||
%TD*%
|
||||
D10*
|
||||
%TO.C,U1*%
|
||||
X10977500Y-73660000D03*
|
||||
X10977500Y-72390000D03*
|
||||
X10977500Y-71120000D03*
|
||||
X19517500Y-71120000D03*
|
||||
X19517500Y-72390000D03*
|
||||
X19517500Y-73660000D03*
|
||||
%TD*%
|
||||
D13*
|
||||
%TO.C,D4*%
|
||||
X12487500Y-76200000D03*
|
||||
X10387500Y-76200000D03*
|
||||
%TD*%
|
||||
D11*
|
||||
%TO.C,R1*%
|
||||
X20607500Y-43815000D03*
|
||||
X17507500Y-43815000D03*
|
||||
%TD*%
|
||||
D13*
|
||||
%TO.C,D5*%
|
||||
X9947500Y-55245000D03*
|
||||
X7847500Y-55245000D03*
|
||||
%TD*%
|
||||
D11*
|
||||
%TO.C,R2*%
|
||||
X20607500Y-41275000D03*
|
||||
X17507500Y-41275000D03*
|
||||
%TD*%
|
||||
D14*
|
||||
%TO.C,R5*%
|
||||
X23542500Y-25400000D03*
|
||||
X19092500Y-25400000D03*
|
||||
%TD*%
|
||||
D10*
|
||||
%TO.C,U2*%
|
||||
X10977500Y-52070000D03*
|
||||
X10977500Y-50800000D03*
|
||||
X10977500Y-49530000D03*
|
||||
X19517500Y-49530000D03*
|
||||
X19517500Y-50800000D03*
|
||||
X19517500Y-52070000D03*
|
||||
%TD*%
|
||||
M02*
|
||||
1579
squeow_mod/squeow_mod-F_Silkscreen.gbr
Normal file
1579
squeow_mod/squeow_mod-F_Silkscreen.gbr
Normal file
File diff suppressed because it is too large
Load Diff
23
squeow_mod/squeow_mod-NPTH.drl
Normal file
23
squeow_mod/squeow_mod-NPTH.drl
Normal file
@@ -0,0 +1,23 @@
|
||||
M48
|
||||
; DRILL file {KiCad 7.0.5+dfsg-2} date ven 30 giu 2023, 15:02:06
|
||||
; FORMAT={-:-/ absolute / inch / decimal}
|
||||
; #@! TF.CreationDate,2023-06-30T15:02:06+02:00
|
||||
; #@! TF.GenerationSoftware,Kicad,Pcbnew,7.0.5+dfsg-2
|
||||
; #@! TF.FileFunction,NonPlated,1,2,NPTH
|
||||
FMAT,2
|
||||
INCH
|
||||
; #@! TA.AperFunction,NonPlated,NPTH,ComponentDrill
|
||||
T1C0.1378
|
||||
%
|
||||
G90
|
||||
G05
|
||||
T1
|
||||
X-0.4655Y-0.2
|
||||
X-0.4655Y-0.625
|
||||
X-0.4655Y-1.05
|
||||
X-0.4655Y-1.475
|
||||
X-0.4655Y-1.9
|
||||
X-0.4655Y-2.325
|
||||
X-0.4655Y-2.75
|
||||
T0
|
||||
M30
|
||||
45
squeow_mod/squeow_mod-PTH.drl
Normal file
45
squeow_mod/squeow_mod-PTH.drl
Normal file
@@ -0,0 +1,45 @@
|
||||
M48
|
||||
; DRILL file {KiCad 7.0.5+dfsg-2} date ven 30 giu 2023, 15:02:06
|
||||
; FORMAT={-:-/ absolute / inch / decimal}
|
||||
; #@! TF.CreationDate,2023-06-30T15:02:06+02:00
|
||||
; #@! TF.GenerationSoftware,Kicad,Pcbnew,7.0.5+dfsg-2
|
||||
; #@! TF.FileFunction,Plated,1,2,PTH
|
||||
FMAT,2
|
||||
INCH
|
||||
; #@! TA.AperFunction,Plated,PTH,ComponentDrill
|
||||
T1C0.0394
|
||||
; #@! TA.AperFunction,Plated,PTH,ComponentDrill
|
||||
T2C0.0472
|
||||
%
|
||||
G90
|
||||
G05
|
||||
T1
|
||||
X0.9503Y-1.325
|
||||
X0.9503Y-1.425
|
||||
X0.9503Y-1.525
|
||||
X0.9503Y-1.625
|
||||
X0.9503Y-1.725
|
||||
T2
|
||||
X0.1566Y-0.1
|
||||
X0.1566Y-0.2
|
||||
X0.1566Y-0.3
|
||||
X0.1566Y-0.525
|
||||
X0.1566Y-0.625
|
||||
X0.1566Y-0.725
|
||||
X0.1566Y-0.95
|
||||
X0.1566Y-1.05
|
||||
X0.1566Y-1.15
|
||||
X0.1566Y-1.375
|
||||
X0.1566Y-1.475
|
||||
X0.1566Y-1.575
|
||||
X0.1566Y-1.8
|
||||
X0.1566Y-1.9
|
||||
X0.1566Y-2.0
|
||||
X0.1566Y-2.225
|
||||
X0.1566Y-2.325
|
||||
X0.1566Y-2.425
|
||||
X0.1566Y-2.65
|
||||
X0.1566Y-2.75
|
||||
X0.1566Y-2.85
|
||||
T0
|
||||
M30
|
||||
BIN
squeow_mod/squeow_mod-backups/squeow_mod-2022-09-13_162503.zip
Normal file
BIN
squeow_mod/squeow_mod-backups/squeow_mod-2022-09-13_162503.zip
Normal file
Binary file not shown.
BIN
squeow_mod/squeow_mod-backups/squeow_mod-2022-11-11_220552.zip
Normal file
BIN
squeow_mod/squeow_mod-backups/squeow_mod-2022-11-11_220552.zip
Normal file
Binary file not shown.
BIN
squeow_mod/squeow_mod-backups/squeow_mod-2022-11-11_221817.zip
Normal file
BIN
squeow_mod/squeow_mod-backups/squeow_mod-2022-11-11_221817.zip
Normal file
Binary file not shown.
BIN
squeow_mod/squeow_mod-backups/squeow_mod-2022-11-11_223404.zip
Normal file
BIN
squeow_mod/squeow_mod-backups/squeow_mod-2022-11-11_223404.zip
Normal file
Binary file not shown.
BIN
squeow_mod/squeow_mod-backups/squeow_mod-2022-11-11_224225.zip
Normal file
BIN
squeow_mod/squeow_mod-backups/squeow_mod-2022-11-11_224225.zip
Normal file
Binary file not shown.
BIN
squeow_mod/squeow_mod-backups/squeow_mod-2022-11-11_225139.zip
Normal file
BIN
squeow_mod/squeow_mod-backups/squeow_mod-2022-11-11_225139.zip
Normal file
Binary file not shown.
BIN
squeow_mod/squeow_mod-backups/squeow_mod-2022-11-13_011331.zip
Normal file
BIN
squeow_mod/squeow_mod-backups/squeow_mod-2022-11-13_011331.zip
Normal file
Binary file not shown.
BIN
squeow_mod/squeow_mod-backups/squeow_mod-2022-11-13_012331.zip
Normal file
BIN
squeow_mod/squeow_mod-backups/squeow_mod-2022-11-13_012331.zip
Normal file
Binary file not shown.
BIN
squeow_mod/squeow_mod-backups/squeow_mod-2022-11-13_013833.zip
Normal file
BIN
squeow_mod/squeow_mod-backups/squeow_mod-2022-11-13_013833.zip
Normal file
Binary file not shown.
BIN
squeow_mod/squeow_mod-backups/squeow_mod-2022-11-13_014437.zip
Normal file
BIN
squeow_mod/squeow_mod-backups/squeow_mod-2022-11-13_014437.zip
Normal file
Binary file not shown.
BIN
squeow_mod/squeow_mod-backups/squeow_mod-2022-11-13_015035.zip
Normal file
BIN
squeow_mod/squeow_mod-backups/squeow_mod-2022-11-13_015035.zip
Normal file
Binary file not shown.
BIN
squeow_mod/squeow_mod-backups/squeow_mod-2022-11-15_134056.zip
Normal file
BIN
squeow_mod/squeow_mod-backups/squeow_mod-2022-11-15_134056.zip
Normal file
Binary file not shown.
BIN
squeow_mod/squeow_mod-backups/squeow_mod-2023-03-15_222431.zip
Normal file
BIN
squeow_mod/squeow_mod-backups/squeow_mod-2023-03-15_222431.zip
Normal file
Binary file not shown.
BIN
squeow_mod/squeow_mod-backups/squeow_mod-2023-06-30_111052.zip
Normal file
BIN
squeow_mod/squeow_mod-backups/squeow_mod-2023-06-30_111052.zip
Normal file
Binary file not shown.
BIN
squeow_mod/squeow_mod-backups/squeow_mod-2023-06-30_120439.zip
Normal file
BIN
squeow_mod/squeow_mod-backups/squeow_mod-2023-06-30_120439.zip
Normal file
Binary file not shown.
BIN
squeow_mod/squeow_mod-backups/squeow_mod-2023-06-30_121643.zip
Normal file
BIN
squeow_mod/squeow_mod-backups/squeow_mod-2023-06-30_121643.zip
Normal file
Binary file not shown.
BIN
squeow_mod/squeow_mod-backups/squeow_mod-2023-06-30_151038.zip
Normal file
BIN
squeow_mod/squeow_mod-backups/squeow_mod-2023-06-30_151038.zip
Normal file
Binary file not shown.
125
squeow_mod/squeow_mod-job.gbrjob
Normal file
125
squeow_mod/squeow_mod-job.gbrjob
Normal file
@@ -0,0 +1,125 @@
|
||||
{
|
||||
"Header": {
|
||||
"GenerationSoftware": {
|
||||
"Vendor": "KiCad",
|
||||
"Application": "Pcbnew",
|
||||
"Version": "7.0.5+dfsg-2"
|
||||
},
|
||||
"CreationDate": "2023-06-30T15:01:54+02:00"
|
||||
},
|
||||
"GeneralSpecs": {
|
||||
"ProjectId": {
|
||||
"Name": "squeow_mod",
|
||||
"GUID": "73717565-6f77-45f6-9d6f-642e6b696361",
|
||||
"Revision": "rev?"
|
||||
},
|
||||
"Size": {
|
||||
"X": 26.135,
|
||||
"Y": 79.475
|
||||
},
|
||||
"LayerNumber": 2,
|
||||
"BoardThickness": 1.6,
|
||||
"Finish": "None"
|
||||
},
|
||||
"DesignRules": [
|
||||
{
|
||||
"Layers": "Outer",
|
||||
"PadToPad": 0.25,
|
||||
"PadToTrack": 0.25,
|
||||
"TrackToTrack": 0.25,
|
||||
"MinLineWidth": 1.0
|
||||
}
|
||||
],
|
||||
"FilesAttributes": [
|
||||
{
|
||||
"Path": "squeow_mod-F_Cu.gbr",
|
||||
"FileFunction": "Copper,L1,Top",
|
||||
"FilePolarity": "Positive"
|
||||
},
|
||||
{
|
||||
"Path": "squeow_mod-B_Cu.gbr",
|
||||
"FileFunction": "Copper,L2,Bot",
|
||||
"FilePolarity": "Positive"
|
||||
},
|
||||
{
|
||||
"Path": "squeow_mod-F_Paste.gbr",
|
||||
"FileFunction": "SolderPaste,Top",
|
||||
"FilePolarity": "Positive"
|
||||
},
|
||||
{
|
||||
"Path": "squeow_mod-B_Paste.gbr",
|
||||
"FileFunction": "SolderPaste,Bot",
|
||||
"FilePolarity": "Positive"
|
||||
},
|
||||
{
|
||||
"Path": "squeow_mod-F_Silkscreen.gbr",
|
||||
"FileFunction": "Legend,Top",
|
||||
"FilePolarity": "Positive"
|
||||
},
|
||||
{
|
||||
"Path": "squeow_mod-B_Silkscreen.gbr",
|
||||
"FileFunction": "Legend,Bot",
|
||||
"FilePolarity": "Positive"
|
||||
},
|
||||
{
|
||||
"Path": "squeow_mod-F_Mask.gbr",
|
||||
"FileFunction": "SolderMask,Top",
|
||||
"FilePolarity": "Negative"
|
||||
},
|
||||
{
|
||||
"Path": "squeow_mod-B_Mask.gbr",
|
||||
"FileFunction": "SolderMask,Bot",
|
||||
"FilePolarity": "Negative"
|
||||
},
|
||||
{
|
||||
"Path": "squeow_mod-Edge_Cuts.gbr",
|
||||
"FileFunction": "Profile",
|
||||
"FilePolarity": "Positive"
|
||||
}
|
||||
],
|
||||
"MaterialStackup": [
|
||||
{
|
||||
"Type": "Legend",
|
||||
"Name": "Top Silk Screen"
|
||||
},
|
||||
{
|
||||
"Type": "SolderPaste",
|
||||
"Name": "Top Solder Paste"
|
||||
},
|
||||
{
|
||||
"Type": "SolderMask",
|
||||
"Thickness": 0.01,
|
||||
"Name": "Top Solder Mask"
|
||||
},
|
||||
{
|
||||
"Type": "Copper",
|
||||
"Thickness": 0.035,
|
||||
"Name": "F.Cu"
|
||||
},
|
||||
{
|
||||
"Type": "Dielectric",
|
||||
"Thickness": 1.51,
|
||||
"Material": "FR4",
|
||||
"Name": "F.Cu/B.Cu",
|
||||
"Notes": "Type: dielectric layer 1 (from F.Cu to B.Cu)"
|
||||
},
|
||||
{
|
||||
"Type": "Copper",
|
||||
"Thickness": 0.035,
|
||||
"Name": "B.Cu"
|
||||
},
|
||||
{
|
||||
"Type": "SolderMask",
|
||||
"Thickness": 0.01,
|
||||
"Name": "Bottom Solder Mask"
|
||||
},
|
||||
{
|
||||
"Type": "SolderPaste",
|
||||
"Name": "Bottom Solder Paste"
|
||||
},
|
||||
{
|
||||
"Type": "Legend",
|
||||
"Name": "Bottom Silk Screen"
|
||||
}
|
||||
]
|
||||
}
|
||||
1656
squeow_mod/squeow_mod.kicad_pcb
Normal file
1656
squeow_mod/squeow_mod.kicad_pcb
Normal file
File diff suppressed because it is too large
Load Diff
77
squeow_mod/squeow_mod.kicad_prl
Normal file
77
squeow_mod/squeow_mod.kicad_prl
Normal file
@@ -0,0 +1,77 @@
|
||||
{
|
||||
"board": {
|
||||
"active_layer": 0,
|
||||
"active_layer_preset": "",
|
||||
"auto_track_width": false,
|
||||
"hidden_netclasses": [],
|
||||
"hidden_nets": [],
|
||||
"high_contrast_mode": 0,
|
||||
"net_color_mode": 1,
|
||||
"opacity": {
|
||||
"images": 0.6,
|
||||
"pads": 1.0,
|
||||
"tracks": 1.0,
|
||||
"vias": 1.0,
|
||||
"zones": 0.6
|
||||
},
|
||||
"ratsnest_display_mode": 0,
|
||||
"selection_filter": {
|
||||
"dimensions": true,
|
||||
"footprints": true,
|
||||
"graphics": true,
|
||||
"keepouts": true,
|
||||
"lockedItems": true,
|
||||
"otherItems": true,
|
||||
"pads": true,
|
||||
"text": true,
|
||||
"tracks": true,
|
||||
"vias": true,
|
||||
"zones": true
|
||||
},
|
||||
"visible_items": [
|
||||
0,
|
||||
1,
|
||||
2,
|
||||
3,
|
||||
4,
|
||||
5,
|
||||
8,
|
||||
9,
|
||||
10,
|
||||
11,
|
||||
12,
|
||||
13,
|
||||
14,
|
||||
15,
|
||||
16,
|
||||
17,
|
||||
18,
|
||||
19,
|
||||
20,
|
||||
21,
|
||||
22,
|
||||
23,
|
||||
24,
|
||||
25,
|
||||
26,
|
||||
27,
|
||||
28,
|
||||
29,
|
||||
30,
|
||||
32,
|
||||
33,
|
||||
34,
|
||||
35,
|
||||
36
|
||||
],
|
||||
"visible_layers": "0001020_ffffffff",
|
||||
"zone_display_mode": 0
|
||||
},
|
||||
"meta": {
|
||||
"filename": "squeow_mod.kicad_prl",
|
||||
"version": 3
|
||||
},
|
||||
"project": {
|
||||
"files": []
|
||||
}
|
||||
}
|
||||
454
squeow_mod/squeow_mod.kicad_pro
Normal file
454
squeow_mod/squeow_mod.kicad_pro
Normal file
@@ -0,0 +1,454 @@
|
||||
{
|
||||
"board": {
|
||||
"3dviewports": [],
|
||||
"design_settings": {
|
||||
"defaults": {
|
||||
"board_outline_line_width": 0.09999999999999999,
|
||||
"copper_line_width": 0.19999999999999998,
|
||||
"copper_text_italic": false,
|
||||
"copper_text_size_h": 1.5,
|
||||
"copper_text_size_v": 1.5,
|
||||
"copper_text_thickness": 0.3,
|
||||
"copper_text_upright": false,
|
||||
"courtyard_line_width": 0.049999999999999996,
|
||||
"dimension_precision": 4,
|
||||
"dimension_units": 3,
|
||||
"dimensions": {
|
||||
"arrow_length": 1270000,
|
||||
"extension_offset": 500000,
|
||||
"keep_text_aligned": true,
|
||||
"suppress_zeroes": false,
|
||||
"text_position": 0,
|
||||
"units_format": 1
|
||||
},
|
||||
"fab_line_width": 0.09999999999999999,
|
||||
"fab_text_italic": false,
|
||||
"fab_text_size_h": 1.0,
|
||||
"fab_text_size_v": 1.0,
|
||||
"fab_text_thickness": 0.15,
|
||||
"fab_text_upright": false,
|
||||
"other_line_width": 0.15,
|
||||
"other_text_italic": false,
|
||||
"other_text_size_h": 1.0,
|
||||
"other_text_size_v": 1.0,
|
||||
"other_text_thickness": 0.15,
|
||||
"other_text_upright": false,
|
||||
"pads": {
|
||||
"drill": 0.762,
|
||||
"height": 1.524,
|
||||
"width": 1.524
|
||||
},
|
||||
"silk_line_width": 0.15,
|
||||
"silk_text_italic": false,
|
||||
"silk_text_size_h": 1.0,
|
||||
"silk_text_size_v": 1.0,
|
||||
"silk_text_thickness": 0.15,
|
||||
"silk_text_upright": false,
|
||||
"zones": {
|
||||
"45_degree_only": false,
|
||||
"min_clearance": 0.508
|
||||
}
|
||||
},
|
||||
"diff_pair_dimensions": [
|
||||
{
|
||||
"gap": 0.0,
|
||||
"via_gap": 0.0,
|
||||
"width": 0.0
|
||||
}
|
||||
],
|
||||
"drc_exclusions": [],
|
||||
"meta": {
|
||||
"version": 2
|
||||
},
|
||||
"rule_severities": {
|
||||
"annular_width": "error",
|
||||
"clearance": "error",
|
||||
"copper_edge_clearance": "error",
|
||||
"courtyards_overlap": "error",
|
||||
"diff_pair_gap_out_of_range": "error",
|
||||
"diff_pair_uncoupled_length_too_long": "error",
|
||||
"drill_out_of_range": "error",
|
||||
"duplicate_footprints": "warning",
|
||||
"extra_footprint": "warning",
|
||||
"footprint_type_mismatch": "error",
|
||||
"hole_clearance": "error",
|
||||
"hole_near_hole": "error",
|
||||
"invalid_outline": "error",
|
||||
"item_on_disabled_layer": "error",
|
||||
"items_not_allowed": "error",
|
||||
"length_out_of_range": "error",
|
||||
"malformed_courtyard": "error",
|
||||
"microvia_drill_out_of_range": "error",
|
||||
"missing_courtyard": "ignore",
|
||||
"missing_footprint": "warning",
|
||||
"net_conflict": "warning",
|
||||
"npth_inside_courtyard": "ignore",
|
||||
"padstack": "error",
|
||||
"pth_inside_courtyard": "ignore",
|
||||
"shorting_items": "error",
|
||||
"silk_over_copper": "warning",
|
||||
"silk_overlap": "warning",
|
||||
"skew_out_of_range": "error",
|
||||
"through_hole_pad_without_hole": "error",
|
||||
"too_many_vias": "error",
|
||||
"track_dangling": "warning",
|
||||
"track_width": "error",
|
||||
"tracks_crossing": "error",
|
||||
"unconnected_items": "error",
|
||||
"unresolved_variable": "error",
|
||||
"via_dangling": "warning",
|
||||
"zone_has_empty_net": "error",
|
||||
"zones_intersect": "error"
|
||||
},
|
||||
"rules": {
|
||||
"allow_blind_buried_vias": false,
|
||||
"allow_microvias": false,
|
||||
"max_error": 0.005,
|
||||
"min_clearance": 0.0,
|
||||
"min_copper_edge_clearance": 0.0,
|
||||
"min_hole_clearance": 0.25,
|
||||
"min_hole_to_hole": 0.25,
|
||||
"min_microvia_diameter": 0.19999999999999998,
|
||||
"min_microvia_drill": 0.09999999999999999,
|
||||
"min_silk_clearance": 0.0,
|
||||
"min_through_hole_diameter": 0.3,
|
||||
"min_track_width": 0.19999999999999998,
|
||||
"min_via_annular_width": 0.049999999999999996,
|
||||
"min_via_diameter": 0.39999999999999997,
|
||||
"solder_mask_clearance": 0.0,
|
||||
"solder_mask_min_width": 0.0,
|
||||
"use_height_for_length_calcs": true
|
||||
},
|
||||
"track_widths": [
|
||||
0.0,
|
||||
0.5,
|
||||
1.0,
|
||||
2.0,
|
||||
3.0,
|
||||
4.0
|
||||
],
|
||||
"via_dimensions": [
|
||||
{
|
||||
"diameter": 0.0,
|
||||
"drill": 0.0
|
||||
}
|
||||
],
|
||||
"zones_allow_external_fillets": false,
|
||||
"zones_use_no_outline": true
|
||||
},
|
||||
"layer_presets": [],
|
||||
"viewports": []
|
||||
},
|
||||
"boards": [],
|
||||
"cvpcb": {
|
||||
"equivalence_files": []
|
||||
},
|
||||
"erc": {
|
||||
"erc_exclusions": [],
|
||||
"meta": {
|
||||
"version": 0
|
||||
},
|
||||
"pin_map": [
|
||||
[
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
1,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
2
|
||||
],
|
||||
[
|
||||
0,
|
||||
2,
|
||||
0,
|
||||
1,
|
||||
0,
|
||||
0,
|
||||
1,
|
||||
0,
|
||||
2,
|
||||
2,
|
||||
2,
|
||||
2
|
||||
],
|
||||
[
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
1,
|
||||
0,
|
||||
1,
|
||||
0,
|
||||
1,
|
||||
2
|
||||
],
|
||||
[
|
||||
0,
|
||||
1,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
1,
|
||||
1,
|
||||
2,
|
||||
1,
|
||||
1,
|
||||
2
|
||||
],
|
||||
[
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
1,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
2
|
||||
],
|
||||
[
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
2
|
||||
],
|
||||
[
|
||||
1,
|
||||
1,
|
||||
1,
|
||||
1,
|
||||
1,
|
||||
0,
|
||||
1,
|
||||
1,
|
||||
1,
|
||||
1,
|
||||
1,
|
||||
2
|
||||
],
|
||||
[
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
1,
|
||||
0,
|
||||
0,
|
||||
1,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
2
|
||||
],
|
||||
[
|
||||
0,
|
||||
2,
|
||||
1,
|
||||
2,
|
||||
0,
|
||||
0,
|
||||
1,
|
||||
0,
|
||||
2,
|
||||
2,
|
||||
2,
|
||||
2
|
||||
],
|
||||
[
|
||||
0,
|
||||
2,
|
||||
0,
|
||||
1,
|
||||
0,
|
||||
0,
|
||||
1,
|
||||
0,
|
||||
2,
|
||||
0,
|
||||
0,
|
||||
2
|
||||
],
|
||||
[
|
||||
0,
|
||||
2,
|
||||
1,
|
||||
1,
|
||||
0,
|
||||
0,
|
||||
1,
|
||||
0,
|
||||
2,
|
||||
0,
|
||||
0,
|
||||
2
|
||||
],
|
||||
[
|
||||
2,
|
||||
2,
|
||||
2,
|
||||
2,
|
||||
2,
|
||||
2,
|
||||
2,
|
||||
2,
|
||||
2,
|
||||
2,
|
||||
2,
|
||||
2
|
||||
]
|
||||
],
|
||||
"rule_severities": {
|
||||
"bus_definition_conflict": "error",
|
||||
"bus_entry_needed": "error",
|
||||
"bus_to_bus_conflict": "error",
|
||||
"bus_to_net_conflict": "error",
|
||||
"conflicting_netclasses": "error",
|
||||
"different_unit_footprint": "error",
|
||||
"different_unit_net": "error",
|
||||
"duplicate_reference": "error",
|
||||
"duplicate_sheet_names": "error",
|
||||
"endpoint_off_grid": "warning",
|
||||
"extra_units": "error",
|
||||
"global_label_dangling": "warning",
|
||||
"hier_label_mismatch": "error",
|
||||
"label_dangling": "error",
|
||||
"lib_symbol_issues": "warning",
|
||||
"missing_bidi_pin": "warning",
|
||||
"missing_input_pin": "warning",
|
||||
"missing_power_pin": "error",
|
||||
"missing_unit": "warning",
|
||||
"multiple_net_names": "warning",
|
||||
"net_not_bus_member": "warning",
|
||||
"no_connect_connected": "warning",
|
||||
"no_connect_dangling": "warning",
|
||||
"pin_not_connected": "error",
|
||||
"pin_not_driven": "error",
|
||||
"pin_to_pin": "warning",
|
||||
"power_pin_not_driven": "error",
|
||||
"similar_labels": "warning",
|
||||
"simulation_model_issue": "ignore",
|
||||
"unannotated": "error",
|
||||
"unit_value_mismatch": "error",
|
||||
"unresolved_variable": "error",
|
||||
"wire_dangling": "error"
|
||||
}
|
||||
},
|
||||
"libraries": {
|
||||
"pinned_footprint_libs": [],
|
||||
"pinned_symbol_libs": []
|
||||
},
|
||||
"meta": {
|
||||
"filename": "squeow_mod.kicad_pro",
|
||||
"version": 1
|
||||
},
|
||||
"net_settings": {
|
||||
"classes": [
|
||||
{
|
||||
"bus_width": 12,
|
||||
"clearance": 0.25,
|
||||
"diff_pair_gap": 0.25,
|
||||
"diff_pair_via_gap": 0.25,
|
||||
"diff_pair_width": 0.2,
|
||||
"line_style": 0,
|
||||
"microvia_diameter": 0.3,
|
||||
"microvia_drill": 0.1,
|
||||
"name": "Default",
|
||||
"pcb_color": "rgba(0, 0, 0, 0.000)",
|
||||
"schematic_color": "rgba(0, 0, 0, 0.000)",
|
||||
"track_width": 0.25,
|
||||
"via_diameter": 0.8,
|
||||
"via_drill": 0.4,
|
||||
"wire_width": 6
|
||||
}
|
||||
],
|
||||
"meta": {
|
||||
"version": 3
|
||||
},
|
||||
"net_colors": null,
|
||||
"netclass_assignments": null,
|
||||
"netclass_patterns": []
|
||||
},
|
||||
"pcbnew": {
|
||||
"last_paths": {
|
||||
"gencad": "",
|
||||
"idf": "",
|
||||
"netlist": "",
|
||||
"specctra_dsn": "",
|
||||
"step": "",
|
||||
"vrml": ""
|
||||
},
|
||||
"page_layout_descr_file": ""
|
||||
},
|
||||
"schematic": {
|
||||
"annotate_start_num": 0,
|
||||
"drawing": {
|
||||
"dashed_lines_dash_length_ratio": 12.0,
|
||||
"dashed_lines_gap_length_ratio": 3.0,
|
||||
"default_line_thickness": 6.0,
|
||||
"default_text_size": 50.0,
|
||||
"field_names": [],
|
||||
"intersheets_ref_own_page": false,
|
||||
"intersheets_ref_prefix": "",
|
||||
"intersheets_ref_short": false,
|
||||
"intersheets_ref_show": false,
|
||||
"intersheets_ref_suffix": "",
|
||||
"junction_size_choice": 3,
|
||||
"label_size_ratio": 0.375,
|
||||
"pin_symbol_size": 25.0,
|
||||
"text_offset_ratio": 0.15
|
||||
},
|
||||
"legacy_lib_dir": "",
|
||||
"legacy_lib_list": [],
|
||||
"meta": {
|
||||
"version": 1
|
||||
},
|
||||
"net_format_name": "",
|
||||
"ngspice": {
|
||||
"fix_include_paths": true,
|
||||
"fix_passive_vals": false,
|
||||
"meta": {
|
||||
"version": 0
|
||||
},
|
||||
"model_mode": 0,
|
||||
"workbook_filename": ""
|
||||
},
|
||||
"page_layout_descr_file": "",
|
||||
"plot_directory": "",
|
||||
"spice_adjust_passive_values": false,
|
||||
"spice_current_sheet_as_root": false,
|
||||
"spice_external_command": "spice \"%I\"",
|
||||
"spice_model_current_sheet_as_root": true,
|
||||
"spice_save_all_currents": false,
|
||||
"spice_save_all_voltages": false,
|
||||
"subpart_first_id": 65,
|
||||
"subpart_id_separator": 0
|
||||
},
|
||||
"sheets": [
|
||||
[
|
||||
"9f71c27a-ec7c-41dd-bc8e-e65fc2612166",
|
||||
""
|
||||
]
|
||||
],
|
||||
"text_variables": {}
|
||||
}
|
||||
2270
squeow_mod/squeow_mod.kicad_sch
Normal file
2270
squeow_mod/squeow_mod.kicad_sch
Normal file
File diff suppressed because it is too large
Load Diff
14
squeow_sw/.mxproject
Normal file
14
squeow_sw/.mxproject
Normal file
File diff suppressed because one or more lines are too long
13139
squeow_sw/Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g431xx.h
Normal file
13139
squeow_sw/Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g431xx.h
Normal file
File diff suppressed because it is too large
Load Diff
259
squeow_sw/Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g4xx.h
Normal file
259
squeow_sw/Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g4xx.h
Normal file
@@ -0,0 +1,259 @@
|
||||
/**
|
||||
******************************************************************************
|
||||
* @file stm32g4xx.h
|
||||
* @author MCD Application Team
|
||||
* @brief CMSIS STM32G4xx Device Peripheral Access Layer Header File.
|
||||
*
|
||||
* The file is the unique include file that the application programmer
|
||||
* is using in the C source code, usually in main.c. This file contains:
|
||||
* - Configuration section that allows to select:
|
||||
* - The STM32G4xx device used in the target application
|
||||
* - To use or not the peripheral’s drivers in application code(i.e.
|
||||
* code will be based on direct access to peripheral’s registers
|
||||
* rather than drivers API), this option is controlled by
|
||||
* "#define USE_HAL_DRIVER"
|
||||
*
|
||||
******************************************************************************
|
||||
* @attention
|
||||
*
|
||||
* Copyright (c) 2019 STMicroelectronics.
|
||||
* All rights reserved.
|
||||
*
|
||||
* This software is licensed under terms that can be found in the LICENSE file
|
||||
* in the root directory of this software component.
|
||||
* If no LICENSE file comes with this software, it is provided AS-IS.
|
||||
*
|
||||
******************************************************************************
|
||||
*/
|
||||
|
||||
/** @addtogroup CMSIS
|
||||
* @{
|
||||
*/
|
||||
|
||||
/** @addtogroup stm32g4xx
|
||||
* @{
|
||||
*/
|
||||
|
||||
#ifndef __STM32G4xx_H
|
||||
#define __STM32G4xx_H
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif /* __cplusplus */
|
||||
|
||||
/** @addtogroup Library_configuration_section
|
||||
* @{
|
||||
*/
|
||||
|
||||
/**
|
||||
* @brief STM32 Family
|
||||
*/
|
||||
#if !defined (STM32G4)
|
||||
#define STM32G4
|
||||
#endif /* STM32G4 */
|
||||
|
||||
/* Uncomment the line below according to the target STM32G4 device used in your
|
||||
application
|
||||
*/
|
||||
|
||||
#if !defined (STM32G431xx) && !defined (STM32G441xx) && !defined (STM32G471xx) && \
|
||||
!defined (STM32G473xx) && !defined (STM32G474xx) && !defined (STM32G484xx) && \
|
||||
!defined (STM32GBK1CB) && !defined (STM32G491xx) && !defined (STM32G4A1xx)
|
||||
/* #define STM32G431xx */ /*!< STM32G431xx Devices */
|
||||
/* #define STM32G441xx */ /*!< STM32G441xx Devices */
|
||||
/* #define STM32G471xx */ /*!< STM32G471xx Devices */
|
||||
/* #define STM32G473xx */ /*!< STM32G473xx Devices */
|
||||
/* #define STM32G483xx */ /*!< STM32G483xx Devices */
|
||||
/* #define STM32G474xx */ /*!< STM32G474xx Devices */
|
||||
/* #define STM32G484xx */ /*!< STM32G484xx Devices */
|
||||
/* #define STM32G491xx */ /*!< STM32G491xx Devices */
|
||||
/* #define STM32G4A1xx */ /*!< STM32G4A1xx Devices */
|
||||
/* #define STM32GBK1CB */ /*!< STM32GBK1CB Devices */
|
||||
#endif
|
||||
|
||||
/* Tip: To avoid modifying this file each time you need to switch between these
|
||||
devices, you can define the device in your toolchain compiler preprocessor.
|
||||
*/
|
||||
#if !defined (USE_HAL_DRIVER)
|
||||
/**
|
||||
* @brief Comment the line below if you will not use the peripherals drivers.
|
||||
In this case, these drivers will not be included and the application code will
|
||||
be based on direct access to peripherals registers
|
||||
*/
|
||||
/*#define USE_HAL_DRIVER */
|
||||
#endif /* USE_HAL_DRIVER */
|
||||
|
||||
/**
|
||||
* @brief CMSIS Device version number V1.2.2
|
||||
*/
|
||||
#define __STM32G4_CMSIS_VERSION_MAIN (0x01U) /*!< [31:24] main version */
|
||||
#define __STM32G4_CMSIS_VERSION_SUB1 (0x02U) /*!< [23:16] sub1 version */
|
||||
#define __STM32G4_CMSIS_VERSION_SUB2 (0x02U) /*!< [15:8] sub2 version */
|
||||
#define __STM32G4_CMSIS_VERSION_RC (0x00U) /*!< [7:0] release candidate */
|
||||
#define __STM32G4_CMSIS_VERSION ((__STM32G4_CMSIS_VERSION_MAIN << 24)\
|
||||
|(__STM32G4_CMSIS_VERSION_SUB1 << 16)\
|
||||
|(__STM32G4_CMSIS_VERSION_SUB2 << 8 )\
|
||||
|(__STM32G4_CMSIS_VERSION_RC))
|
||||
|
||||
/**
|
||||
* @}
|
||||
*/
|
||||
|
||||
/** @addtogroup Device_Included
|
||||
* @{
|
||||
*/
|
||||
|
||||
#if defined(STM32G431xx)
|
||||
#include "stm32g431xx.h"
|
||||
#elif defined(STM32G441xx)
|
||||
#include "stm32g441xx.h"
|
||||
#elif defined(STM32G471xx)
|
||||
#include "stm32g471xx.h"
|
||||
#elif defined(STM32G473xx)
|
||||
#include "stm32g473xx.h"
|
||||
#elif defined(STM32G483xx)
|
||||
#include "stm32g483xx.h"
|
||||
#elif defined(STM32G474xx)
|
||||
#include "stm32g474xx.h"
|
||||
#elif defined(STM32G484xx)
|
||||
#include "stm32g484xx.h"
|
||||
#elif defined(STM32G491xx)
|
||||
#include "stm32g491xx.h"
|
||||
#elif defined(STM32G4A1xx)
|
||||
#include "stm32g4a1xx.h"
|
||||
#elif defined(STM32GBK1CB)
|
||||
#include "stm32gbk1cb.h"
|
||||
#else
|
||||
#error "Please select first the target STM32G4xx device used in your application (in stm32g4xx.h file)"
|
||||
#endif
|
||||
|
||||
/**
|
||||
* @}
|
||||
*/
|
||||
|
||||
/** @addtogroup Exported_types
|
||||
* @{
|
||||
*/
|
||||
typedef enum
|
||||
{
|
||||
RESET = 0,
|
||||
SET = !RESET
|
||||
} FlagStatus, ITStatus;
|
||||
|
||||
typedef enum
|
||||
{
|
||||
DISABLE = 0,
|
||||
ENABLE = !DISABLE
|
||||
} FunctionalState;
|
||||
#define IS_FUNCTIONAL_STATE(STATE) (((STATE) == DISABLE) || ((STATE) == ENABLE))
|
||||
|
||||
typedef enum
|
||||
{
|
||||
SUCCESS = 0,
|
||||
ERROR = !SUCCESS
|
||||
} ErrorStatus;
|
||||
|
||||
/**
|
||||
* @}
|
||||
*/
|
||||
|
||||
|
||||
/** @addtogroup Exported_macros
|
||||
* @{
|
||||
*/
|
||||
#define SET_BIT(REG, BIT) ((REG) |= (BIT))
|
||||
|
||||
#define CLEAR_BIT(REG, BIT) ((REG) &= ~(BIT))
|
||||
|
||||
#define READ_BIT(REG, BIT) ((REG) & (BIT))
|
||||
|
||||
#define CLEAR_REG(REG) ((REG) = (0x0))
|
||||
|
||||
#define WRITE_REG(REG, VAL) ((REG) = (VAL))
|
||||
|
||||
#define READ_REG(REG) ((REG))
|
||||
|
||||
#define MODIFY_REG(REG, CLEARMASK, SETMASK) WRITE_REG((REG), (((READ_REG(REG)) & (~(CLEARMASK))) | (SETMASK)))
|
||||
|
||||
#define POSITION_VAL(VAL) (__CLZ(__RBIT(VAL)))
|
||||
|
||||
/* Use of CMSIS compiler intrinsics for register exclusive access */
|
||||
/* Atomic 32-bit register access macro to set one or several bits */
|
||||
#define ATOMIC_SET_BIT(REG, BIT) \
|
||||
do { \
|
||||
uint32_t val; \
|
||||
do { \
|
||||
val = __LDREXW((__IO uint32_t *)&(REG)) | (BIT); \
|
||||
} while ((__STREXW(val,(__IO uint32_t *)&(REG))) != 0U); \
|
||||
} while(0)
|
||||
|
||||
/* Atomic 32-bit register access macro to clear one or several bits */
|
||||
#define ATOMIC_CLEAR_BIT(REG, BIT) \
|
||||
do { \
|
||||
uint32_t val; \
|
||||
do { \
|
||||
val = __LDREXW((__IO uint32_t *)&(REG)) & ~(BIT); \
|
||||
} while ((__STREXW(val,(__IO uint32_t *)&(REG))) != 0U); \
|
||||
} while(0)
|
||||
|
||||
/* Atomic 32-bit register access macro to clear and set one or several bits */
|
||||
#define ATOMIC_MODIFY_REG(REG, CLEARMSK, SETMASK) \
|
||||
do { \
|
||||
uint32_t val; \
|
||||
do { \
|
||||
val = (__LDREXW((__IO uint32_t *)&(REG)) & ~(CLEARMSK)) | (SETMASK); \
|
||||
} while ((__STREXW(val,(__IO uint32_t *)&(REG))) != 0U); \
|
||||
} while(0)
|
||||
|
||||
/* Atomic 16-bit register access macro to set one or several bits */
|
||||
#define ATOMIC_SETH_BIT(REG, BIT) \
|
||||
do { \
|
||||
uint16_t val; \
|
||||
do { \
|
||||
val = __LDREXH((__IO uint16_t *)&(REG)) | (BIT); \
|
||||
} while ((__STREXH(val,(__IO uint16_t *)&(REG))) != 0U); \
|
||||
} while(0)
|
||||
|
||||
/* Atomic 16-bit register access macro to clear one or several bits */
|
||||
#define ATOMIC_CLEARH_BIT(REG, BIT) \
|
||||
do { \
|
||||
uint16_t val; \
|
||||
do { \
|
||||
val = __LDREXH((__IO uint16_t *)&(REG)) & ~(BIT); \
|
||||
} while ((__STREXH(val,(__IO uint16_t *)&(REG))) != 0U); \
|
||||
} while(0)
|
||||
|
||||
/* Atomic 16-bit register access macro to clear and set one or several bits */
|
||||
#define ATOMIC_MODIFYH_REG(REG, CLEARMSK, SETMASK) \
|
||||
do { \
|
||||
uint16_t val; \
|
||||
do { \
|
||||
val = (__LDREXH((__IO uint16_t *)&(REG)) & ~(CLEARMSK)) | (SETMASK); \
|
||||
} while ((__STREXH(val,(__IO uint16_t *)&(REG))) != 0U); \
|
||||
} while(0)
|
||||
|
||||
|
||||
/**
|
||||
* @}
|
||||
*/
|
||||
|
||||
#if defined (USE_HAL_DRIVER)
|
||||
#include "stm32g4xx_hal.h"
|
||||
#endif /* USE_HAL_DRIVER */
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif /* __cplusplus */
|
||||
|
||||
#endif /* __STM32G4xx_H */
|
||||
/**
|
||||
* @}
|
||||
*/
|
||||
|
||||
/**
|
||||
* @}
|
||||
*/
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -0,0 +1,104 @@
|
||||
/**
|
||||
******************************************************************************
|
||||
* @file system_stm32g4xx.h
|
||||
* @author MCD Application Team
|
||||
* @brief CMSIS Cortex-M4 Device System Source File for STM32G4xx devices.
|
||||
******************************************************************************
|
||||
* @attention
|
||||
*
|
||||
* Copyright (c) 2019 STMicroelectronics.
|
||||
* All rights reserved.
|
||||
*
|
||||
* This software is licensed under terms that can be found in the LICENSE file
|
||||
* in the root directory of this software component.
|
||||
* If no LICENSE file comes with this software, it is provided AS-IS.
|
||||
*
|
||||
******************************************************************************
|
||||
*/
|
||||
|
||||
/** @addtogroup CMSIS
|
||||
* @{
|
||||
*/
|
||||
|
||||
/** @addtogroup stm32g4xx_system
|
||||
* @{
|
||||
*/
|
||||
|
||||
/**
|
||||
* @brief Define to prevent recursive inclusion
|
||||
*/
|
||||
#ifndef __SYSTEM_STM32G4XX_H
|
||||
#define __SYSTEM_STM32G4XX_H
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
/** @addtogroup STM32G4xx_System_Includes
|
||||
* @{
|
||||
*/
|
||||
|
||||
/**
|
||||
* @}
|
||||
*/
|
||||
|
||||
|
||||
/** @addtogroup STM32G4xx_System_Exported_Variables
|
||||
* @{
|
||||
*/
|
||||
/* The SystemCoreClock variable is updated in three ways:
|
||||
1) by calling CMSIS function SystemCoreClockUpdate()
|
||||
2) by calling HAL API function HAL_RCC_GetSysClockFreq()
|
||||
3) each time HAL_RCC_ClockConfig() is called to configure the system clock frequency
|
||||
Note: If you use this function to configure the system clock; then there
|
||||
is no need to call the 2 first functions listed above, since SystemCoreClock
|
||||
variable is updated automatically.
|
||||
*/
|
||||
extern uint32_t SystemCoreClock; /*!< System Clock Frequency (Core Clock) */
|
||||
|
||||
extern const uint8_t AHBPrescTable[16]; /*!< AHB prescalers table values */
|
||||
extern const uint8_t APBPrescTable[8]; /*!< APB prescalers table values */
|
||||
|
||||
/**
|
||||
* @}
|
||||
*/
|
||||
|
||||
/** @addtogroup STM32G4xx_System_Exported_Constants
|
||||
* @{
|
||||
*/
|
||||
|
||||
/**
|
||||
* @}
|
||||
*/
|
||||
|
||||
/** @addtogroup STM32G4xx_System_Exported_Macros
|
||||
* @{
|
||||
*/
|
||||
|
||||
/**
|
||||
* @}
|
||||
*/
|
||||
|
||||
/** @addtogroup STM32G4xx_System_Exported_Functions
|
||||
* @{
|
||||
*/
|
||||
|
||||
extern void SystemInit(void);
|
||||
extern void SystemCoreClockUpdate(void);
|
||||
/**
|
||||
* @}
|
||||
*/
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif /*__SYSTEM_STM32G4XX_H */
|
||||
|
||||
/**
|
||||
* @}
|
||||
*/
|
||||
|
||||
/**
|
||||
* @}
|
||||
*/
|
||||
6
squeow_sw/Drivers/CMSIS/Device/ST/STM32G4xx/LICENSE.txt
Normal file
6
squeow_sw/Drivers/CMSIS/Device/ST/STM32G4xx/LICENSE.txt
Normal file
@@ -0,0 +1,6 @@
|
||||
This software component is provided to you as part of a software package and
|
||||
applicable license terms are in the Package_license file. If you received this
|
||||
software component outside of a package or without applicable license terms,
|
||||
the terms of the Apache-2.0 license shall apply.
|
||||
You may obtain a copy of the Apache-2.0 at:
|
||||
https://opensource.org/licenses/Apache-2.0
|
||||
894
squeow_sw/Drivers/CMSIS/Include/cmsis_armcc.h
Normal file
894
squeow_sw/Drivers/CMSIS/Include/cmsis_armcc.h
Normal file
@@ -0,0 +1,894 @@
|
||||
/**************************************************************************//**
|
||||
* @file cmsis_armcc.h
|
||||
* @brief CMSIS compiler ARMCC (Arm Compiler 5) header file
|
||||
* @version V5.1.0
|
||||
* @date 08. May 2019
|
||||
******************************************************************************/
|
||||
/*
|
||||
* Copyright (c) 2009-2019 Arm Limited. All rights reserved.
|
||||
*
|
||||
* SPDX-License-Identifier: Apache-2.0
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the License); you may
|
||||
* not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an AS IS BASIS, WITHOUT
|
||||
* WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
#ifndef __CMSIS_ARMCC_H
|
||||
#define __CMSIS_ARMCC_H
|
||||
|
||||
|
||||
#if defined(__ARMCC_VERSION) && (__ARMCC_VERSION < 400677)
|
||||
#error "Please use Arm Compiler Toolchain V4.0.677 or later!"
|
||||
#endif
|
||||
|
||||
/* CMSIS compiler control architecture macros */
|
||||
#if ((defined (__TARGET_ARCH_6_M ) && (__TARGET_ARCH_6_M == 1)) || \
|
||||
(defined (__TARGET_ARCH_6S_M ) && (__TARGET_ARCH_6S_M == 1)) )
|
||||
#define __ARM_ARCH_6M__ 1
|
||||
#endif
|
||||
|
||||
#if (defined (__TARGET_ARCH_7_M ) && (__TARGET_ARCH_7_M == 1))
|
||||
#define __ARM_ARCH_7M__ 1
|
||||
#endif
|
||||
|
||||
#if (defined (__TARGET_ARCH_7E_M) && (__TARGET_ARCH_7E_M == 1))
|
||||
#define __ARM_ARCH_7EM__ 1
|
||||
#endif
|
||||
|
||||
/* __ARM_ARCH_8M_BASE__ not applicable */
|
||||
/* __ARM_ARCH_8M_MAIN__ not applicable */
|
||||
|
||||
/* CMSIS compiler control DSP macros */
|
||||
#if ((defined (__ARM_ARCH_7EM__) && (__ARM_ARCH_7EM__ == 1)) )
|
||||
#define __ARM_FEATURE_DSP 1
|
||||
#endif
|
||||
|
||||
/* CMSIS compiler specific defines */
|
||||
#ifndef __ASM
|
||||
#define __ASM __asm
|
||||
#endif
|
||||
#ifndef __INLINE
|
||||
#define __INLINE __inline
|
||||
#endif
|
||||
#ifndef __STATIC_INLINE
|
||||
#define __STATIC_INLINE static __inline
|
||||
#endif
|
||||
#ifndef __STATIC_FORCEINLINE
|
||||
#define __STATIC_FORCEINLINE static __forceinline
|
||||
#endif
|
||||
#ifndef __NO_RETURN
|
||||
#define __NO_RETURN __declspec(noreturn)
|
||||
#endif
|
||||
#ifndef __USED
|
||||
#define __USED __attribute__((used))
|
||||
#endif
|
||||
#ifndef __WEAK
|
||||
#define __WEAK __attribute__((weak))
|
||||
#endif
|
||||
#ifndef __PACKED
|
||||
#define __PACKED __attribute__((packed))
|
||||
#endif
|
||||
#ifndef __PACKED_STRUCT
|
||||
#define __PACKED_STRUCT __packed struct
|
||||
#endif
|
||||
#ifndef __PACKED_UNION
|
||||
#define __PACKED_UNION __packed union
|
||||
#endif
|
||||
#ifndef __UNALIGNED_UINT32 /* deprecated */
|
||||
#define __UNALIGNED_UINT32(x) (*((__packed uint32_t *)(x)))
|
||||
#endif
|
||||
#ifndef __UNALIGNED_UINT16_WRITE
|
||||
#define __UNALIGNED_UINT16_WRITE(addr, val) ((*((__packed uint16_t *)(addr))) = (val))
|
||||
#endif
|
||||
#ifndef __UNALIGNED_UINT16_READ
|
||||
#define __UNALIGNED_UINT16_READ(addr) (*((const __packed uint16_t *)(addr)))
|
||||
#endif
|
||||
#ifndef __UNALIGNED_UINT32_WRITE
|
||||
#define __UNALIGNED_UINT32_WRITE(addr, val) ((*((__packed uint32_t *)(addr))) = (val))
|
||||
#endif
|
||||
#ifndef __UNALIGNED_UINT32_READ
|
||||
#define __UNALIGNED_UINT32_READ(addr) (*((const __packed uint32_t *)(addr)))
|
||||
#endif
|
||||
#ifndef __ALIGNED
|
||||
#define __ALIGNED(x) __attribute__((aligned(x)))
|
||||
#endif
|
||||
#ifndef __RESTRICT
|
||||
#define __RESTRICT __restrict
|
||||
#endif
|
||||
#ifndef __COMPILER_BARRIER
|
||||
#define __COMPILER_BARRIER() __memory_changed()
|
||||
#endif
|
||||
|
||||
/* ######################### Startup and Lowlevel Init ######################## */
|
||||
|
||||
#ifndef __PROGRAM_START
|
||||
#define __PROGRAM_START __main
|
||||
#endif
|
||||
|
||||
#ifndef __INITIAL_SP
|
||||
#define __INITIAL_SP Image$$ARM_LIB_STACK$$ZI$$Limit
|
||||
#endif
|
||||
|
||||
#ifndef __STACK_LIMIT
|
||||
#define __STACK_LIMIT Image$$ARM_LIB_STACK$$ZI$$Base
|
||||
#endif
|
||||
|
||||
#ifndef __VECTOR_TABLE
|
||||
#define __VECTOR_TABLE __Vectors
|
||||
#endif
|
||||
|
||||
#ifndef __VECTOR_TABLE_ATTRIBUTE
|
||||
#define __VECTOR_TABLE_ATTRIBUTE __attribute((used, section("RESET")))
|
||||
#endif
|
||||
|
||||
/* ########################### Core Function Access ########################### */
|
||||
/** \ingroup CMSIS_Core_FunctionInterface
|
||||
\defgroup CMSIS_Core_RegAccFunctions CMSIS Core Register Access Functions
|
||||
@{
|
||||
*/
|
||||
|
||||
/**
|
||||
\brief Enable IRQ Interrupts
|
||||
\details Enables IRQ interrupts by clearing the I-bit in the CPSR.
|
||||
Can only be executed in Privileged modes.
|
||||
*/
|
||||
/* intrinsic void __enable_irq(); */
|
||||
|
||||
|
||||
/**
|
||||
\brief Disable IRQ Interrupts
|
||||
\details Disables IRQ interrupts by setting the I-bit in the CPSR.
|
||||
Can only be executed in Privileged modes.
|
||||
*/
|
||||
/* intrinsic void __disable_irq(); */
|
||||
|
||||
/**
|
||||
\brief Get Control Register
|
||||
\details Returns the content of the Control Register.
|
||||
\return Control Register value
|
||||
*/
|
||||
__STATIC_INLINE uint32_t __get_CONTROL(void)
|
||||
{
|
||||
register uint32_t __regControl __ASM("control");
|
||||
return(__regControl);
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
\brief Set Control Register
|
||||
\details Writes the given value to the Control Register.
|
||||
\param [in] control Control Register value to set
|
||||
*/
|
||||
__STATIC_INLINE void __set_CONTROL(uint32_t control)
|
||||
{
|
||||
register uint32_t __regControl __ASM("control");
|
||||
__regControl = control;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
\brief Get IPSR Register
|
||||
\details Returns the content of the IPSR Register.
|
||||
\return IPSR Register value
|
||||
*/
|
||||
__STATIC_INLINE uint32_t __get_IPSR(void)
|
||||
{
|
||||
register uint32_t __regIPSR __ASM("ipsr");
|
||||
return(__regIPSR);
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
\brief Get APSR Register
|
||||
\details Returns the content of the APSR Register.
|
||||
\return APSR Register value
|
||||
*/
|
||||
__STATIC_INLINE uint32_t __get_APSR(void)
|
||||
{
|
||||
register uint32_t __regAPSR __ASM("apsr");
|
||||
return(__regAPSR);
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
\brief Get xPSR Register
|
||||
\details Returns the content of the xPSR Register.
|
||||
\return xPSR Register value
|
||||
*/
|
||||
__STATIC_INLINE uint32_t __get_xPSR(void)
|
||||
{
|
||||
register uint32_t __regXPSR __ASM("xpsr");
|
||||
return(__regXPSR);
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
\brief Get Process Stack Pointer
|
||||
\details Returns the current value of the Process Stack Pointer (PSP).
|
||||
\return PSP Register value
|
||||
*/
|
||||
__STATIC_INLINE uint32_t __get_PSP(void)
|
||||
{
|
||||
register uint32_t __regProcessStackPointer __ASM("psp");
|
||||
return(__regProcessStackPointer);
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
\brief Set Process Stack Pointer
|
||||
\details Assigns the given value to the Process Stack Pointer (PSP).
|
||||
\param [in] topOfProcStack Process Stack Pointer value to set
|
||||
*/
|
||||
__STATIC_INLINE void __set_PSP(uint32_t topOfProcStack)
|
||||
{
|
||||
register uint32_t __regProcessStackPointer __ASM("psp");
|
||||
__regProcessStackPointer = topOfProcStack;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
\brief Get Main Stack Pointer
|
||||
\details Returns the current value of the Main Stack Pointer (MSP).
|
||||
\return MSP Register value
|
||||
*/
|
||||
__STATIC_INLINE uint32_t __get_MSP(void)
|
||||
{
|
||||
register uint32_t __regMainStackPointer __ASM("msp");
|
||||
return(__regMainStackPointer);
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
\brief Set Main Stack Pointer
|
||||
\details Assigns the given value to the Main Stack Pointer (MSP).
|
||||
\param [in] topOfMainStack Main Stack Pointer value to set
|
||||
*/
|
||||
__STATIC_INLINE void __set_MSP(uint32_t topOfMainStack)
|
||||
{
|
||||
register uint32_t __regMainStackPointer __ASM("msp");
|
||||
__regMainStackPointer = topOfMainStack;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
\brief Get Priority Mask
|
||||
\details Returns the current state of the priority mask bit from the Priority Mask Register.
|
||||
\return Priority Mask value
|
||||
*/
|
||||
__STATIC_INLINE uint32_t __get_PRIMASK(void)
|
||||
{
|
||||
register uint32_t __regPriMask __ASM("primask");
|
||||
return(__regPriMask);
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
\brief Set Priority Mask
|
||||
\details Assigns the given value to the Priority Mask Register.
|
||||
\param [in] priMask Priority Mask
|
||||
*/
|
||||
__STATIC_INLINE void __set_PRIMASK(uint32_t priMask)
|
||||
{
|
||||
register uint32_t __regPriMask __ASM("primask");
|
||||
__regPriMask = (priMask);
|
||||
}
|
||||
|
||||
|
||||
#if ((defined (__ARM_ARCH_7M__ ) && (__ARM_ARCH_7M__ == 1)) || \
|
||||
(defined (__ARM_ARCH_7EM__) && (__ARM_ARCH_7EM__ == 1)) )
|
||||
|
||||
/**
|
||||
\brief Enable FIQ
|
||||
\details Enables FIQ interrupts by clearing the F-bit in the CPSR.
|
||||
Can only be executed in Privileged modes.
|
||||
*/
|
||||
#define __enable_fault_irq __enable_fiq
|
||||
|
||||
|
||||
/**
|
||||
\brief Disable FIQ
|
||||
\details Disables FIQ interrupts by setting the F-bit in the CPSR.
|
||||
Can only be executed in Privileged modes.
|
||||
*/
|
||||
#define __disable_fault_irq __disable_fiq
|
||||
|
||||
|
||||
/**
|
||||
\brief Get Base Priority
|
||||
\details Returns the current value of the Base Priority register.
|
||||
\return Base Priority register value
|
||||
*/
|
||||
__STATIC_INLINE uint32_t __get_BASEPRI(void)
|
||||
{
|
||||
register uint32_t __regBasePri __ASM("basepri");
|
||||
return(__regBasePri);
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
\brief Set Base Priority
|
||||
\details Assigns the given value to the Base Priority register.
|
||||
\param [in] basePri Base Priority value to set
|
||||
*/
|
||||
__STATIC_INLINE void __set_BASEPRI(uint32_t basePri)
|
||||
{
|
||||
register uint32_t __regBasePri __ASM("basepri");
|
||||
__regBasePri = (basePri & 0xFFU);
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
\brief Set Base Priority with condition
|
||||
\details Assigns the given value to the Base Priority register only if BASEPRI masking is disabled,
|
||||
or the new value increases the BASEPRI priority level.
|
||||
\param [in] basePri Base Priority value to set
|
||||
*/
|
||||
__STATIC_INLINE void __set_BASEPRI_MAX(uint32_t basePri)
|
||||
{
|
||||
register uint32_t __regBasePriMax __ASM("basepri_max");
|
||||
__regBasePriMax = (basePri & 0xFFU);
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
\brief Get Fault Mask
|
||||
\details Returns the current value of the Fault Mask register.
|
||||
\return Fault Mask register value
|
||||
*/
|
||||
__STATIC_INLINE uint32_t __get_FAULTMASK(void)
|
||||
{
|
||||
register uint32_t __regFaultMask __ASM("faultmask");
|
||||
return(__regFaultMask);
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
\brief Set Fault Mask
|
||||
\details Assigns the given value to the Fault Mask register.
|
||||
\param [in] faultMask Fault Mask value to set
|
||||
*/
|
||||
__STATIC_INLINE void __set_FAULTMASK(uint32_t faultMask)
|
||||
{
|
||||
register uint32_t __regFaultMask __ASM("faultmask");
|
||||
__regFaultMask = (faultMask & (uint32_t)1U);
|
||||
}
|
||||
|
||||
#endif /* ((defined (__ARM_ARCH_7M__ ) && (__ARM_ARCH_7M__ == 1)) || \
|
||||
(defined (__ARM_ARCH_7EM__) && (__ARM_ARCH_7EM__ == 1)) ) */
|
||||
|
||||
|
||||
/**
|
||||
\brief Get FPSCR
|
||||
\details Returns the current value of the Floating Point Status/Control register.
|
||||
\return Floating Point Status/Control register value
|
||||
*/
|
||||
__STATIC_INLINE uint32_t __get_FPSCR(void)
|
||||
{
|
||||
#if ((defined (__FPU_PRESENT) && (__FPU_PRESENT == 1U)) && \
|
||||
(defined (__FPU_USED ) && (__FPU_USED == 1U)) )
|
||||
register uint32_t __regfpscr __ASM("fpscr");
|
||||
return(__regfpscr);
|
||||
#else
|
||||
return(0U);
|
||||
#endif
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
\brief Set FPSCR
|
||||
\details Assigns the given value to the Floating Point Status/Control register.
|
||||
\param [in] fpscr Floating Point Status/Control value to set
|
||||
*/
|
||||
__STATIC_INLINE void __set_FPSCR(uint32_t fpscr)
|
||||
{
|
||||
#if ((defined (__FPU_PRESENT) && (__FPU_PRESENT == 1U)) && \
|
||||
(defined (__FPU_USED ) && (__FPU_USED == 1U)) )
|
||||
register uint32_t __regfpscr __ASM("fpscr");
|
||||
__regfpscr = (fpscr);
|
||||
#else
|
||||
(void)fpscr;
|
||||
#endif
|
||||
}
|
||||
|
||||
|
||||
/*@} end of CMSIS_Core_RegAccFunctions */
|
||||
|
||||
|
||||
/* ########################## Core Instruction Access ######################### */
|
||||
/** \defgroup CMSIS_Core_InstructionInterface CMSIS Core Instruction Interface
|
||||
Access to dedicated instructions
|
||||
@{
|
||||
*/
|
||||
|
||||
/**
|
||||
\brief No Operation
|
||||
\details No Operation does nothing. This instruction can be used for code alignment purposes.
|
||||
*/
|
||||
#define __NOP __nop
|
||||
|
||||
|
||||
/**
|
||||
\brief Wait For Interrupt
|
||||
\details Wait For Interrupt is a hint instruction that suspends execution until one of a number of events occurs.
|
||||
*/
|
||||
#define __WFI __wfi
|
||||
|
||||
|
||||
/**
|
||||
\brief Wait For Event
|
||||
\details Wait For Event is a hint instruction that permits the processor to enter
|
||||
a low-power state until one of a number of events occurs.
|
||||
*/
|
||||
#define __WFE __wfe
|
||||
|
||||
|
||||
/**
|
||||
\brief Send Event
|
||||
\details Send Event is a hint instruction. It causes an event to be signaled to the CPU.
|
||||
*/
|
||||
#define __SEV __sev
|
||||
|
||||
|
||||
/**
|
||||
\brief Instruction Synchronization Barrier
|
||||
\details Instruction Synchronization Barrier flushes the pipeline in the processor,
|
||||
so that all instructions following the ISB are fetched from cache or memory,
|
||||
after the instruction has been completed.
|
||||
*/
|
||||
#define __ISB() do {\
|
||||
__schedule_barrier();\
|
||||
__isb(0xF);\
|
||||
__schedule_barrier();\
|
||||
} while (0U)
|
||||
|
||||
/**
|
||||
\brief Data Synchronization Barrier
|
||||
\details Acts as a special kind of Data Memory Barrier.
|
||||
It completes when all explicit memory accesses before this instruction complete.
|
||||
*/
|
||||
#define __DSB() do {\
|
||||
__schedule_barrier();\
|
||||
__dsb(0xF);\
|
||||
__schedule_barrier();\
|
||||
} while (0U)
|
||||
|
||||
/**
|
||||
\brief Data Memory Barrier
|
||||
\details Ensures the apparent order of the explicit memory operations before
|
||||
and after the instruction, without ensuring their completion.
|
||||
*/
|
||||
#define __DMB() do {\
|
||||
__schedule_barrier();\
|
||||
__dmb(0xF);\
|
||||
__schedule_barrier();\
|
||||
} while (0U)
|
||||
|
||||
|
||||
/**
|
||||
\brief Reverse byte order (32 bit)
|
||||
\details Reverses the byte order in unsigned integer value. For example, 0x12345678 becomes 0x78563412.
|
||||
\param [in] value Value to reverse
|
||||
\return Reversed value
|
||||
*/
|
||||
#define __REV __rev
|
||||
|
||||
|
||||
/**
|
||||
\brief Reverse byte order (16 bit)
|
||||
\details Reverses the byte order within each halfword of a word. For example, 0x12345678 becomes 0x34127856.
|
||||
\param [in] value Value to reverse
|
||||
\return Reversed value
|
||||
*/
|
||||
#ifndef __NO_EMBEDDED_ASM
|
||||
__attribute__((section(".rev16_text"))) __STATIC_INLINE __ASM uint32_t __REV16(uint32_t value)
|
||||
{
|
||||
rev16 r0, r0
|
||||
bx lr
|
||||
}
|
||||
#endif
|
||||
|
||||
|
||||
/**
|
||||
\brief Reverse byte order (16 bit)
|
||||
\details Reverses the byte order in a 16-bit value and returns the signed 16-bit result. For example, 0x0080 becomes 0x8000.
|
||||
\param [in] value Value to reverse
|
||||
\return Reversed value
|
||||
*/
|
||||
#ifndef __NO_EMBEDDED_ASM
|
||||
__attribute__((section(".revsh_text"))) __STATIC_INLINE __ASM int16_t __REVSH(int16_t value)
|
||||
{
|
||||
revsh r0, r0
|
||||
bx lr
|
||||
}
|
||||
#endif
|
||||
|
||||
|
||||
/**
|
||||
\brief Rotate Right in unsigned value (32 bit)
|
||||
\details Rotate Right (immediate) provides the value of the contents of a register rotated by a variable number of bits.
|
||||
\param [in] op1 Value to rotate
|
||||
\param [in] op2 Number of Bits to rotate
|
||||
\return Rotated value
|
||||
*/
|
||||
#define __ROR __ror
|
||||
|
||||
|
||||
/**
|
||||
\brief Breakpoint
|
||||
\details Causes the processor to enter Debug state.
|
||||
Debug tools can use this to investigate system state when the instruction at a particular address is reached.
|
||||
\param [in] value is ignored by the processor.
|
||||
If required, a debugger can use it to store additional information about the breakpoint.
|
||||
*/
|
||||
#define __BKPT(value) __breakpoint(value)
|
||||
|
||||
|
||||
/**
|
||||
\brief Reverse bit order of value
|
||||
\details Reverses the bit order of the given value.
|
||||
\param [in] value Value to reverse
|
||||
\return Reversed value
|
||||
*/
|
||||
#if ((defined (__ARM_ARCH_7M__ ) && (__ARM_ARCH_7M__ == 1)) || \
|
||||
(defined (__ARM_ARCH_7EM__) && (__ARM_ARCH_7EM__ == 1)) )
|
||||
#define __RBIT __rbit
|
||||
#else
|
||||
__attribute__((always_inline)) __STATIC_INLINE uint32_t __RBIT(uint32_t value)
|
||||
{
|
||||
uint32_t result;
|
||||
uint32_t s = (4U /*sizeof(v)*/ * 8U) - 1U; /* extra shift needed at end */
|
||||
|
||||
result = value; /* r will be reversed bits of v; first get LSB of v */
|
||||
for (value >>= 1U; value != 0U; value >>= 1U)
|
||||
{
|
||||
result <<= 1U;
|
||||
result |= value & 1U;
|
||||
s--;
|
||||
}
|
||||
result <<= s; /* shift when v's highest bits are zero */
|
||||
return result;
|
||||
}
|
||||
#endif
|
||||
|
||||
|
||||
/**
|
||||
\brief Count leading zeros
|
||||
\details Counts the number of leading zeros of a data value.
|
||||
\param [in] value Value to count the leading zeros
|
||||
\return number of leading zeros in value
|
||||
*/
|
||||
#define __CLZ __clz
|
||||
|
||||
|
||||
#if ((defined (__ARM_ARCH_7M__ ) && (__ARM_ARCH_7M__ == 1)) || \
|
||||
(defined (__ARM_ARCH_7EM__) && (__ARM_ARCH_7EM__ == 1)) )
|
||||
|
||||
/**
|
||||
\brief LDR Exclusive (8 bit)
|
||||
\details Executes a exclusive LDR instruction for 8 bit value.
|
||||
\param [in] ptr Pointer to data
|
||||
\return value of type uint8_t at (*ptr)
|
||||
*/
|
||||
#if defined(__ARMCC_VERSION) && (__ARMCC_VERSION < 5060020)
|
||||
#define __LDREXB(ptr) ((uint8_t ) __ldrex(ptr))
|
||||
#else
|
||||
#define __LDREXB(ptr) _Pragma("push") _Pragma("diag_suppress 3731") ((uint8_t ) __ldrex(ptr)) _Pragma("pop")
|
||||
#endif
|
||||
|
||||
|
||||
/**
|
||||
\brief LDR Exclusive (16 bit)
|
||||
\details Executes a exclusive LDR instruction for 16 bit values.
|
||||
\param [in] ptr Pointer to data
|
||||
\return value of type uint16_t at (*ptr)
|
||||
*/
|
||||
#if defined(__ARMCC_VERSION) && (__ARMCC_VERSION < 5060020)
|
||||
#define __LDREXH(ptr) ((uint16_t) __ldrex(ptr))
|
||||
#else
|
||||
#define __LDREXH(ptr) _Pragma("push") _Pragma("diag_suppress 3731") ((uint16_t) __ldrex(ptr)) _Pragma("pop")
|
||||
#endif
|
||||
|
||||
|
||||
/**
|
||||
\brief LDR Exclusive (32 bit)
|
||||
\details Executes a exclusive LDR instruction for 32 bit values.
|
||||
\param [in] ptr Pointer to data
|
||||
\return value of type uint32_t at (*ptr)
|
||||
*/
|
||||
#if defined(__ARMCC_VERSION) && (__ARMCC_VERSION < 5060020)
|
||||
#define __LDREXW(ptr) ((uint32_t ) __ldrex(ptr))
|
||||
#else
|
||||
#define __LDREXW(ptr) _Pragma("push") _Pragma("diag_suppress 3731") ((uint32_t ) __ldrex(ptr)) _Pragma("pop")
|
||||
#endif
|
||||
|
||||
|
||||
/**
|
||||
\brief STR Exclusive (8 bit)
|
||||
\details Executes a exclusive STR instruction for 8 bit values.
|
||||
\param [in] value Value to store
|
||||
\param [in] ptr Pointer to location
|
||||
\return 0 Function succeeded
|
||||
\return 1 Function failed
|
||||
*/
|
||||
#if defined(__ARMCC_VERSION) && (__ARMCC_VERSION < 5060020)
|
||||
#define __STREXB(value, ptr) __strex(value, ptr)
|
||||
#else
|
||||
#define __STREXB(value, ptr) _Pragma("push") _Pragma("diag_suppress 3731") __strex(value, ptr) _Pragma("pop")
|
||||
#endif
|
||||
|
||||
|
||||
/**
|
||||
\brief STR Exclusive (16 bit)
|
||||
\details Executes a exclusive STR instruction for 16 bit values.
|
||||
\param [in] value Value to store
|
||||
\param [in] ptr Pointer to location
|
||||
\return 0 Function succeeded
|
||||
\return 1 Function failed
|
||||
*/
|
||||
#if defined(__ARMCC_VERSION) && (__ARMCC_VERSION < 5060020)
|
||||
#define __STREXH(value, ptr) __strex(value, ptr)
|
||||
#else
|
||||
#define __STREXH(value, ptr) _Pragma("push") _Pragma("diag_suppress 3731") __strex(value, ptr) _Pragma("pop")
|
||||
#endif
|
||||
|
||||
|
||||
/**
|
||||
\brief STR Exclusive (32 bit)
|
||||
\details Executes a exclusive STR instruction for 32 bit values.
|
||||
\param [in] value Value to store
|
||||
\param [in] ptr Pointer to location
|
||||
\return 0 Function succeeded
|
||||
\return 1 Function failed
|
||||
*/
|
||||
#if defined(__ARMCC_VERSION) && (__ARMCC_VERSION < 5060020)
|
||||
#define __STREXW(value, ptr) __strex(value, ptr)
|
||||
#else
|
||||
#define __STREXW(value, ptr) _Pragma("push") _Pragma("diag_suppress 3731") __strex(value, ptr) _Pragma("pop")
|
||||
#endif
|
||||
|
||||
|
||||
/**
|
||||
\brief Remove the exclusive lock
|
||||
\details Removes the exclusive lock which is created by LDREX.
|
||||
*/
|
||||
#define __CLREX __clrex
|
||||
|
||||
|
||||
/**
|
||||
\brief Signed Saturate
|
||||
\details Saturates a signed value.
|
||||
\param [in] value Value to be saturated
|
||||
\param [in] sat Bit position to saturate to (1..32)
|
||||
\return Saturated value
|
||||
*/
|
||||
#define __SSAT __ssat
|
||||
|
||||
|
||||
/**
|
||||
\brief Unsigned Saturate
|
||||
\details Saturates an unsigned value.
|
||||
\param [in] value Value to be saturated
|
||||
\param [in] sat Bit position to saturate to (0..31)
|
||||
\return Saturated value
|
||||
*/
|
||||
#define __USAT __usat
|
||||
|
||||
|
||||
/**
|
||||
\brief Rotate Right with Extend (32 bit)
|
||||
\details Moves each bit of a bitstring right by one bit.
|
||||
The carry input is shifted in at the left end of the bitstring.
|
||||
\param [in] value Value to rotate
|
||||
\return Rotated value
|
||||
*/
|
||||
#ifndef __NO_EMBEDDED_ASM
|
||||
__attribute__((section(".rrx_text"))) __STATIC_INLINE __ASM uint32_t __RRX(uint32_t value)
|
||||
{
|
||||
rrx r0, r0
|
||||
bx lr
|
||||
}
|
||||
#endif
|
||||
|
||||
|
||||
/**
|
||||
\brief LDRT Unprivileged (8 bit)
|
||||
\details Executes a Unprivileged LDRT instruction for 8 bit value.
|
||||
\param [in] ptr Pointer to data
|
||||
\return value of type uint8_t at (*ptr)
|
||||
*/
|
||||
#define __LDRBT(ptr) ((uint8_t ) __ldrt(ptr))
|
||||
|
||||
|
||||
/**
|
||||
\brief LDRT Unprivileged (16 bit)
|
||||
\details Executes a Unprivileged LDRT instruction for 16 bit values.
|
||||
\param [in] ptr Pointer to data
|
||||
\return value of type uint16_t at (*ptr)
|
||||
*/
|
||||
#define __LDRHT(ptr) ((uint16_t) __ldrt(ptr))
|
||||
|
||||
|
||||
/**
|
||||
\brief LDRT Unprivileged (32 bit)
|
||||
\details Executes a Unprivileged LDRT instruction for 32 bit values.
|
||||
\param [in] ptr Pointer to data
|
||||
\return value of type uint32_t at (*ptr)
|
||||
*/
|
||||
#define __LDRT(ptr) ((uint32_t ) __ldrt(ptr))
|
||||
|
||||
|
||||
/**
|
||||
\brief STRT Unprivileged (8 bit)
|
||||
\details Executes a Unprivileged STRT instruction for 8 bit values.
|
||||
\param [in] value Value to store
|
||||
\param [in] ptr Pointer to location
|
||||
*/
|
||||
#define __STRBT(value, ptr) __strt(value, ptr)
|
||||
|
||||
|
||||
/**
|
||||
\brief STRT Unprivileged (16 bit)
|
||||
\details Executes a Unprivileged STRT instruction for 16 bit values.
|
||||
\param [in] value Value to store
|
||||
\param [in] ptr Pointer to location
|
||||
*/
|
||||
#define __STRHT(value, ptr) __strt(value, ptr)
|
||||
|
||||
|
||||
/**
|
||||
\brief STRT Unprivileged (32 bit)
|
||||
\details Executes a Unprivileged STRT instruction for 32 bit values.
|
||||
\param [in] value Value to store
|
||||
\param [in] ptr Pointer to location
|
||||
*/
|
||||
#define __STRT(value, ptr) __strt(value, ptr)
|
||||
|
||||
#else /* ((defined (__ARM_ARCH_7M__ ) && (__ARM_ARCH_7M__ == 1)) || \
|
||||
(defined (__ARM_ARCH_7EM__) && (__ARM_ARCH_7EM__ == 1)) ) */
|
||||
|
||||
/**
|
||||
\brief Signed Saturate
|
||||
\details Saturates a signed value.
|
||||
\param [in] value Value to be saturated
|
||||
\param [in] sat Bit position to saturate to (1..32)
|
||||
\return Saturated value
|
||||
*/
|
||||
__attribute__((always_inline)) __STATIC_INLINE int32_t __SSAT(int32_t val, uint32_t sat)
|
||||
{
|
||||
if ((sat >= 1U) && (sat <= 32U))
|
||||
{
|
||||
const int32_t max = (int32_t)((1U << (sat - 1U)) - 1U);
|
||||
const int32_t min = -1 - max ;
|
||||
if (val > max)
|
||||
{
|
||||
return max;
|
||||
}
|
||||
else if (val < min)
|
||||
{
|
||||
return min;
|
||||
}
|
||||
}
|
||||
return val;
|
||||
}
|
||||
|
||||
/**
|
||||
\brief Unsigned Saturate
|
||||
\details Saturates an unsigned value.
|
||||
\param [in] value Value to be saturated
|
||||
\param [in] sat Bit position to saturate to (0..31)
|
||||
\return Saturated value
|
||||
*/
|
||||
__attribute__((always_inline)) __STATIC_INLINE uint32_t __USAT(int32_t val, uint32_t sat)
|
||||
{
|
||||
if (sat <= 31U)
|
||||
{
|
||||
const uint32_t max = ((1U << sat) - 1U);
|
||||
if (val > (int32_t)max)
|
||||
{
|
||||
return max;
|
||||
}
|
||||
else if (val < 0)
|
||||
{
|
||||
return 0U;
|
||||
}
|
||||
}
|
||||
return (uint32_t)val;
|
||||
}
|
||||
|
||||
#endif /* ((defined (__ARM_ARCH_7M__ ) && (__ARM_ARCH_7M__ == 1)) || \
|
||||
(defined (__ARM_ARCH_7EM__) && (__ARM_ARCH_7EM__ == 1)) ) */
|
||||
|
||||
/*@}*/ /* end of group CMSIS_Core_InstructionInterface */
|
||||
|
||||
|
||||
/* ################### Compiler specific Intrinsics ########################### */
|
||||
/** \defgroup CMSIS_SIMD_intrinsics CMSIS SIMD Intrinsics
|
||||
Access to dedicated SIMD instructions
|
||||
@{
|
||||
*/
|
||||
|
||||
#if ((defined (__ARM_ARCH_7EM__) && (__ARM_ARCH_7EM__ == 1)) )
|
||||
|
||||
#define __SADD8 __sadd8
|
||||
#define __QADD8 __qadd8
|
||||
#define __SHADD8 __shadd8
|
||||
#define __UADD8 __uadd8
|
||||
#define __UQADD8 __uqadd8
|
||||
#define __UHADD8 __uhadd8
|
||||
#define __SSUB8 __ssub8
|
||||
#define __QSUB8 __qsub8
|
||||
#define __SHSUB8 __shsub8
|
||||
#define __USUB8 __usub8
|
||||
#define __UQSUB8 __uqsub8
|
||||
#define __UHSUB8 __uhsub8
|
||||
#define __SADD16 __sadd16
|
||||
#define __QADD16 __qadd16
|
||||
#define __SHADD16 __shadd16
|
||||
#define __UADD16 __uadd16
|
||||
#define __UQADD16 __uqadd16
|
||||
#define __UHADD16 __uhadd16
|
||||
#define __SSUB16 __ssub16
|
||||
#define __QSUB16 __qsub16
|
||||
#define __SHSUB16 __shsub16
|
||||
#define __USUB16 __usub16
|
||||
#define __UQSUB16 __uqsub16
|
||||
#define __UHSUB16 __uhsub16
|
||||
#define __SASX __sasx
|
||||
#define __QASX __qasx
|
||||
#define __SHASX __shasx
|
||||
#define __UASX __uasx
|
||||
#define __UQASX __uqasx
|
||||
#define __UHASX __uhasx
|
||||
#define __SSAX __ssax
|
||||
#define __QSAX __qsax
|
||||
#define __SHSAX __shsax
|
||||
#define __USAX __usax
|
||||
#define __UQSAX __uqsax
|
||||
#define __UHSAX __uhsax
|
||||
#define __USAD8 __usad8
|
||||
#define __USADA8 __usada8
|
||||
#define __SSAT16 __ssat16
|
||||
#define __USAT16 __usat16
|
||||
#define __UXTB16 __uxtb16
|
||||
#define __UXTAB16 __uxtab16
|
||||
#define __SXTB16 __sxtb16
|
||||
#define __SXTAB16 __sxtab16
|
||||
#define __SMUAD __smuad
|
||||
#define __SMUADX __smuadx
|
||||
#define __SMLAD __smlad
|
||||
#define __SMLADX __smladx
|
||||
#define __SMLALD __smlald
|
||||
#define __SMLALDX __smlaldx
|
||||
#define __SMUSD __smusd
|
||||
#define __SMUSDX __smusdx
|
||||
#define __SMLSD __smlsd
|
||||
#define __SMLSDX __smlsdx
|
||||
#define __SMLSLD __smlsld
|
||||
#define __SMLSLDX __smlsldx
|
||||
#define __SEL __sel
|
||||
#define __QADD __qadd
|
||||
#define __QSUB __qsub
|
||||
|
||||
#define __PKHBT(ARG1,ARG2,ARG3) ( ((((uint32_t)(ARG1)) ) & 0x0000FFFFUL) | \
|
||||
((((uint32_t)(ARG2)) << (ARG3)) & 0xFFFF0000UL) )
|
||||
|
||||
#define __PKHTB(ARG1,ARG2,ARG3) ( ((((uint32_t)(ARG1)) ) & 0xFFFF0000UL) | \
|
||||
((((uint32_t)(ARG2)) >> (ARG3)) & 0x0000FFFFUL) )
|
||||
|
||||
#define __SMMLA(ARG1,ARG2,ARG3) ( (int32_t)((((int64_t)(ARG1) * (ARG2)) + \
|
||||
((int64_t)(ARG3) << 32U) ) >> 32U))
|
||||
|
||||
#endif /* ((defined (__ARM_ARCH_7EM__) && (__ARM_ARCH_7EM__ == 1)) ) */
|
||||
/*@} end of group CMSIS_SIMD_intrinsics */
|
||||
|
||||
|
||||
#endif /* __CMSIS_ARMCC_H */
|
||||
1444
squeow_sw/Drivers/CMSIS/Include/cmsis_armclang.h
Normal file
1444
squeow_sw/Drivers/CMSIS/Include/cmsis_armclang.h
Normal file
File diff suppressed because it is too large
Load Diff
1891
squeow_sw/Drivers/CMSIS/Include/cmsis_armclang_ltm.h
Normal file
1891
squeow_sw/Drivers/CMSIS/Include/cmsis_armclang_ltm.h
Normal file
File diff suppressed because it is too large
Load Diff
283
squeow_sw/Drivers/CMSIS/Include/cmsis_compiler.h
Normal file
283
squeow_sw/Drivers/CMSIS/Include/cmsis_compiler.h
Normal file
@@ -0,0 +1,283 @@
|
||||
/**************************************************************************//**
|
||||
* @file cmsis_compiler.h
|
||||
* @brief CMSIS compiler generic header file
|
||||
* @version V5.1.0
|
||||
* @date 09. October 2018
|
||||
******************************************************************************/
|
||||
/*
|
||||
* Copyright (c) 2009-2018 Arm Limited. All rights reserved.
|
||||
*
|
||||
* SPDX-License-Identifier: Apache-2.0
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the License); you may
|
||||
* not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an AS IS BASIS, WITHOUT
|
||||
* WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
#ifndef __CMSIS_COMPILER_H
|
||||
#define __CMSIS_COMPILER_H
|
||||
|
||||
#include <stdint.h>
|
||||
|
||||
/*
|
||||
* Arm Compiler 4/5
|
||||
*/
|
||||
#if defined ( __CC_ARM )
|
||||
#include "cmsis_armcc.h"
|
||||
|
||||
|
||||
/*
|
||||
* Arm Compiler 6.6 LTM (armclang)
|
||||
*/
|
||||
#elif defined (__ARMCC_VERSION) && (__ARMCC_VERSION >= 6010050) && (__ARMCC_VERSION < 6100100)
|
||||
#include "cmsis_armclang_ltm.h"
|
||||
|
||||
/*
|
||||
* Arm Compiler above 6.10.1 (armclang)
|
||||
*/
|
||||
#elif defined (__ARMCC_VERSION) && (__ARMCC_VERSION >= 6100100)
|
||||
#include "cmsis_armclang.h"
|
||||
|
||||
|
||||
/*
|
||||
* GNU Compiler
|
||||
*/
|
||||
#elif defined ( __GNUC__ )
|
||||
#include "cmsis_gcc.h"
|
||||
|
||||
|
||||
/*
|
||||
* IAR Compiler
|
||||
*/
|
||||
#elif defined ( __ICCARM__ )
|
||||
#include <cmsis_iccarm.h>
|
||||
|
||||
|
||||
/*
|
||||
* TI Arm Compiler
|
||||
*/
|
||||
#elif defined ( __TI_ARM__ )
|
||||
#include <cmsis_ccs.h>
|
||||
|
||||
#ifndef __ASM
|
||||
#define __ASM __asm
|
||||
#endif
|
||||
#ifndef __INLINE
|
||||
#define __INLINE inline
|
||||
#endif
|
||||
#ifndef __STATIC_INLINE
|
||||
#define __STATIC_INLINE static inline
|
||||
#endif
|
||||
#ifndef __STATIC_FORCEINLINE
|
||||
#define __STATIC_FORCEINLINE __STATIC_INLINE
|
||||
#endif
|
||||
#ifndef __NO_RETURN
|
||||
#define __NO_RETURN __attribute__((noreturn))
|
||||
#endif
|
||||
#ifndef __USED
|
||||
#define __USED __attribute__((used))
|
||||
#endif
|
||||
#ifndef __WEAK
|
||||
#define __WEAK __attribute__((weak))
|
||||
#endif
|
||||
#ifndef __PACKED
|
||||
#define __PACKED __attribute__((packed))
|
||||
#endif
|
||||
#ifndef __PACKED_STRUCT
|
||||
#define __PACKED_STRUCT struct __attribute__((packed))
|
||||
#endif
|
||||
#ifndef __PACKED_UNION
|
||||
#define __PACKED_UNION union __attribute__((packed))
|
||||
#endif
|
||||
#ifndef __UNALIGNED_UINT32 /* deprecated */
|
||||
struct __attribute__((packed)) T_UINT32 { uint32_t v; };
|
||||
#define __UNALIGNED_UINT32(x) (((struct T_UINT32 *)(x))->v)
|
||||
#endif
|
||||
#ifndef __UNALIGNED_UINT16_WRITE
|
||||
__PACKED_STRUCT T_UINT16_WRITE { uint16_t v; };
|
||||
#define __UNALIGNED_UINT16_WRITE(addr, val) (void)((((struct T_UINT16_WRITE *)(void*)(addr))->v) = (val))
|
||||
#endif
|
||||
#ifndef __UNALIGNED_UINT16_READ
|
||||
__PACKED_STRUCT T_UINT16_READ { uint16_t v; };
|
||||
#define __UNALIGNED_UINT16_READ(addr) (((const struct T_UINT16_READ *)(const void *)(addr))->v)
|
||||
#endif
|
||||
#ifndef __UNALIGNED_UINT32_WRITE
|
||||
__PACKED_STRUCT T_UINT32_WRITE { uint32_t v; };
|
||||
#define __UNALIGNED_UINT32_WRITE(addr, val) (void)((((struct T_UINT32_WRITE *)(void *)(addr))->v) = (val))
|
||||
#endif
|
||||
#ifndef __UNALIGNED_UINT32_READ
|
||||
__PACKED_STRUCT T_UINT32_READ { uint32_t v; };
|
||||
#define __UNALIGNED_UINT32_READ(addr) (((const struct T_UINT32_READ *)(const void *)(addr))->v)
|
||||
#endif
|
||||
#ifndef __ALIGNED
|
||||
#define __ALIGNED(x) __attribute__((aligned(x)))
|
||||
#endif
|
||||
#ifndef __RESTRICT
|
||||
#define __RESTRICT __restrict
|
||||
#endif
|
||||
#ifndef __COMPILER_BARRIER
|
||||
#warning No compiler specific solution for __COMPILER_BARRIER. __COMPILER_BARRIER is ignored.
|
||||
#define __COMPILER_BARRIER() (void)0
|
||||
#endif
|
||||
|
||||
|
||||
/*
|
||||
* TASKING Compiler
|
||||
*/
|
||||
#elif defined ( __TASKING__ )
|
||||
/*
|
||||
* The CMSIS functions have been implemented as intrinsics in the compiler.
|
||||
* Please use "carm -?i" to get an up to date list of all intrinsics,
|
||||
* Including the CMSIS ones.
|
||||
*/
|
||||
|
||||
#ifndef __ASM
|
||||
#define __ASM __asm
|
||||
#endif
|
||||
#ifndef __INLINE
|
||||
#define __INLINE inline
|
||||
#endif
|
||||
#ifndef __STATIC_INLINE
|
||||
#define __STATIC_INLINE static inline
|
||||
#endif
|
||||
#ifndef __STATIC_FORCEINLINE
|
||||
#define __STATIC_FORCEINLINE __STATIC_INLINE
|
||||
#endif
|
||||
#ifndef __NO_RETURN
|
||||
#define __NO_RETURN __attribute__((noreturn))
|
||||
#endif
|
||||
#ifndef __USED
|
||||
#define __USED __attribute__((used))
|
||||
#endif
|
||||
#ifndef __WEAK
|
||||
#define __WEAK __attribute__((weak))
|
||||
#endif
|
||||
#ifndef __PACKED
|
||||
#define __PACKED __packed__
|
||||
#endif
|
||||
#ifndef __PACKED_STRUCT
|
||||
#define __PACKED_STRUCT struct __packed__
|
||||
#endif
|
||||
#ifndef __PACKED_UNION
|
||||
#define __PACKED_UNION union __packed__
|
||||
#endif
|
||||
#ifndef __UNALIGNED_UINT32 /* deprecated */
|
||||
struct __packed__ T_UINT32 { uint32_t v; };
|
||||
#define __UNALIGNED_UINT32(x) (((struct T_UINT32 *)(x))->v)
|
||||
#endif
|
||||
#ifndef __UNALIGNED_UINT16_WRITE
|
||||
__PACKED_STRUCT T_UINT16_WRITE { uint16_t v; };
|
||||
#define __UNALIGNED_UINT16_WRITE(addr, val) (void)((((struct T_UINT16_WRITE *)(void *)(addr))->v) = (val))
|
||||
#endif
|
||||
#ifndef __UNALIGNED_UINT16_READ
|
||||
__PACKED_STRUCT T_UINT16_READ { uint16_t v; };
|
||||
#define __UNALIGNED_UINT16_READ(addr) (((const struct T_UINT16_READ *)(const void *)(addr))->v)
|
||||
#endif
|
||||
#ifndef __UNALIGNED_UINT32_WRITE
|
||||
__PACKED_STRUCT T_UINT32_WRITE { uint32_t v; };
|
||||
#define __UNALIGNED_UINT32_WRITE(addr, val) (void)((((struct T_UINT32_WRITE *)(void *)(addr))->v) = (val))
|
||||
#endif
|
||||
#ifndef __UNALIGNED_UINT32_READ
|
||||
__PACKED_STRUCT T_UINT32_READ { uint32_t v; };
|
||||
#define __UNALIGNED_UINT32_READ(addr) (((const struct T_UINT32_READ *)(const void *)(addr))->v)
|
||||
#endif
|
||||
#ifndef __ALIGNED
|
||||
#define __ALIGNED(x) __align(x)
|
||||
#endif
|
||||
#ifndef __RESTRICT
|
||||
#warning No compiler specific solution for __RESTRICT. __RESTRICT is ignored.
|
||||
#define __RESTRICT
|
||||
#endif
|
||||
#ifndef __COMPILER_BARRIER
|
||||
#warning No compiler specific solution for __COMPILER_BARRIER. __COMPILER_BARRIER is ignored.
|
||||
#define __COMPILER_BARRIER() (void)0
|
||||
#endif
|
||||
|
||||
|
||||
/*
|
||||
* COSMIC Compiler
|
||||
*/
|
||||
#elif defined ( __CSMC__ )
|
||||
#include <cmsis_csm.h>
|
||||
|
||||
#ifndef __ASM
|
||||
#define __ASM _asm
|
||||
#endif
|
||||
#ifndef __INLINE
|
||||
#define __INLINE inline
|
||||
#endif
|
||||
#ifndef __STATIC_INLINE
|
||||
#define __STATIC_INLINE static inline
|
||||
#endif
|
||||
#ifndef __STATIC_FORCEINLINE
|
||||
#define __STATIC_FORCEINLINE __STATIC_INLINE
|
||||
#endif
|
||||
#ifndef __NO_RETURN
|
||||
// NO RETURN is automatically detected hence no warning here
|
||||
#define __NO_RETURN
|
||||
#endif
|
||||
#ifndef __USED
|
||||
#warning No compiler specific solution for __USED. __USED is ignored.
|
||||
#define __USED
|
||||
#endif
|
||||
#ifndef __WEAK
|
||||
#define __WEAK __weak
|
||||
#endif
|
||||
#ifndef __PACKED
|
||||
#define __PACKED @packed
|
||||
#endif
|
||||
#ifndef __PACKED_STRUCT
|
||||
#define __PACKED_STRUCT @packed struct
|
||||
#endif
|
||||
#ifndef __PACKED_UNION
|
||||
#define __PACKED_UNION @packed union
|
||||
#endif
|
||||
#ifndef __UNALIGNED_UINT32 /* deprecated */
|
||||
@packed struct T_UINT32 { uint32_t v; };
|
||||
#define __UNALIGNED_UINT32(x) (((struct T_UINT32 *)(x))->v)
|
||||
#endif
|
||||
#ifndef __UNALIGNED_UINT16_WRITE
|
||||
__PACKED_STRUCT T_UINT16_WRITE { uint16_t v; };
|
||||
#define __UNALIGNED_UINT16_WRITE(addr, val) (void)((((struct T_UINT16_WRITE *)(void *)(addr))->v) = (val))
|
||||
#endif
|
||||
#ifndef __UNALIGNED_UINT16_READ
|
||||
__PACKED_STRUCT T_UINT16_READ { uint16_t v; };
|
||||
#define __UNALIGNED_UINT16_READ(addr) (((const struct T_UINT16_READ *)(const void *)(addr))->v)
|
||||
#endif
|
||||
#ifndef __UNALIGNED_UINT32_WRITE
|
||||
__PACKED_STRUCT T_UINT32_WRITE { uint32_t v; };
|
||||
#define __UNALIGNED_UINT32_WRITE(addr, val) (void)((((struct T_UINT32_WRITE *)(void *)(addr))->v) = (val))
|
||||
#endif
|
||||
#ifndef __UNALIGNED_UINT32_READ
|
||||
__PACKED_STRUCT T_UINT32_READ { uint32_t v; };
|
||||
#define __UNALIGNED_UINT32_READ(addr) (((const struct T_UINT32_READ *)(const void *)(addr))->v)
|
||||
#endif
|
||||
#ifndef __ALIGNED
|
||||
#warning No compiler specific solution for __ALIGNED. __ALIGNED is ignored.
|
||||
#define __ALIGNED(x)
|
||||
#endif
|
||||
#ifndef __RESTRICT
|
||||
#warning No compiler specific solution for __RESTRICT. __RESTRICT is ignored.
|
||||
#define __RESTRICT
|
||||
#endif
|
||||
#ifndef __COMPILER_BARRIER
|
||||
#warning No compiler specific solution for __COMPILER_BARRIER. __COMPILER_BARRIER is ignored.
|
||||
#define __COMPILER_BARRIER() (void)0
|
||||
#endif
|
||||
|
||||
|
||||
#else
|
||||
#error Unknown compiler.
|
||||
#endif
|
||||
|
||||
|
||||
#endif /* __CMSIS_COMPILER_H */
|
||||
|
||||
2168
squeow_sw/Drivers/CMSIS/Include/cmsis_gcc.h
Normal file
2168
squeow_sw/Drivers/CMSIS/Include/cmsis_gcc.h
Normal file
File diff suppressed because it is too large
Load Diff
964
squeow_sw/Drivers/CMSIS/Include/cmsis_iccarm.h
Normal file
964
squeow_sw/Drivers/CMSIS/Include/cmsis_iccarm.h
Normal file
@@ -0,0 +1,964 @@
|
||||
/**************************************************************************//**
|
||||
* @file cmsis_iccarm.h
|
||||
* @brief CMSIS compiler ICCARM (IAR Compiler for Arm) header file
|
||||
* @version V5.1.0
|
||||
* @date 08. May 2019
|
||||
******************************************************************************/
|
||||
|
||||
//------------------------------------------------------------------------------
|
||||
//
|
||||
// Copyright (c) 2017-2019 IAR Systems
|
||||
// Copyright (c) 2017-2019 Arm Limited. All rights reserved.
|
||||
//
|
||||
// Licensed under the Apache License, Version 2.0 (the "License")
|
||||
// you may not use this file except in compliance with the License.
|
||||
// You may obtain a copy of the License at
|
||||
// http://www.apache.org/licenses/LICENSE-2.0
|
||||
//
|
||||
// Unless required by applicable law or agreed to in writing, software
|
||||
// distributed under the License is distributed on an "AS IS" BASIS,
|
||||
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
// See the License for the specific language governing permissions and
|
||||
// limitations under the License.
|
||||
//
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
|
||||
#ifndef __CMSIS_ICCARM_H__
|
||||
#define __CMSIS_ICCARM_H__
|
||||
|
||||
#ifndef __ICCARM__
|
||||
#error This file should only be compiled by ICCARM
|
||||
#endif
|
||||
|
||||
#pragma system_include
|
||||
|
||||
#define __IAR_FT _Pragma("inline=forced") __intrinsic
|
||||
|
||||
#if (__VER__ >= 8000000)
|
||||
#define __ICCARM_V8 1
|
||||
#else
|
||||
#define __ICCARM_V8 0
|
||||
#endif
|
||||
|
||||
#ifndef __ALIGNED
|
||||
#if __ICCARM_V8
|
||||
#define __ALIGNED(x) __attribute__((aligned(x)))
|
||||
#elif (__VER__ >= 7080000)
|
||||
/* Needs IAR language extensions */
|
||||
#define __ALIGNED(x) __attribute__((aligned(x)))
|
||||
#else
|
||||
#warning No compiler specific solution for __ALIGNED.__ALIGNED is ignored.
|
||||
#define __ALIGNED(x)
|
||||
#endif
|
||||
#endif
|
||||
|
||||
|
||||
/* Define compiler macros for CPU architecture, used in CMSIS 5.
|
||||
*/
|
||||
#if __ARM_ARCH_6M__ || __ARM_ARCH_7M__ || __ARM_ARCH_7EM__ || __ARM_ARCH_8M_BASE__ || __ARM_ARCH_8M_MAIN__
|
||||
/* Macros already defined */
|
||||
#else
|
||||
#if defined(__ARM8M_MAINLINE__) || defined(__ARM8EM_MAINLINE__)
|
||||
#define __ARM_ARCH_8M_MAIN__ 1
|
||||
#elif defined(__ARM8M_BASELINE__)
|
||||
#define __ARM_ARCH_8M_BASE__ 1
|
||||
#elif defined(__ARM_ARCH_PROFILE) && __ARM_ARCH_PROFILE == 'M'
|
||||
#if __ARM_ARCH == 6
|
||||
#define __ARM_ARCH_6M__ 1
|
||||
#elif __ARM_ARCH == 7
|
||||
#if __ARM_FEATURE_DSP
|
||||
#define __ARM_ARCH_7EM__ 1
|
||||
#else
|
||||
#define __ARM_ARCH_7M__ 1
|
||||
#endif
|
||||
#endif /* __ARM_ARCH */
|
||||
#endif /* __ARM_ARCH_PROFILE == 'M' */
|
||||
#endif
|
||||
|
||||
/* Alternativ core deduction for older ICCARM's */
|
||||
#if !defined(__ARM_ARCH_6M__) && !defined(__ARM_ARCH_7M__) && !defined(__ARM_ARCH_7EM__) && \
|
||||
!defined(__ARM_ARCH_8M_BASE__) && !defined(__ARM_ARCH_8M_MAIN__)
|
||||
#if defined(__ARM6M__) && (__CORE__ == __ARM6M__)
|
||||
#define __ARM_ARCH_6M__ 1
|
||||
#elif defined(__ARM7M__) && (__CORE__ == __ARM7M__)
|
||||
#define __ARM_ARCH_7M__ 1
|
||||
#elif defined(__ARM7EM__) && (__CORE__ == __ARM7EM__)
|
||||
#define __ARM_ARCH_7EM__ 1
|
||||
#elif defined(__ARM8M_BASELINE__) && (__CORE == __ARM8M_BASELINE__)
|
||||
#define __ARM_ARCH_8M_BASE__ 1
|
||||
#elif defined(__ARM8M_MAINLINE__) && (__CORE == __ARM8M_MAINLINE__)
|
||||
#define __ARM_ARCH_8M_MAIN__ 1
|
||||
#elif defined(__ARM8EM_MAINLINE__) && (__CORE == __ARM8EM_MAINLINE__)
|
||||
#define __ARM_ARCH_8M_MAIN__ 1
|
||||
#else
|
||||
#error "Unknown target."
|
||||
#endif
|
||||
#endif
|
||||
|
||||
|
||||
|
||||
#if defined(__ARM_ARCH_6M__) && __ARM_ARCH_6M__==1
|
||||
#define __IAR_M0_FAMILY 1
|
||||
#elif defined(__ARM_ARCH_8M_BASE__) && __ARM_ARCH_8M_BASE__==1
|
||||
#define __IAR_M0_FAMILY 1
|
||||
#else
|
||||
#define __IAR_M0_FAMILY 0
|
||||
#endif
|
||||
|
||||
|
||||
#ifndef __ASM
|
||||
#define __ASM __asm
|
||||
#endif
|
||||
|
||||
#ifndef __COMPILER_BARRIER
|
||||
#define __COMPILER_BARRIER() __ASM volatile("":::"memory")
|
||||
#endif
|
||||
|
||||
#ifndef __INLINE
|
||||
#define __INLINE inline
|
||||
#endif
|
||||
|
||||
#ifndef __NO_RETURN
|
||||
#if __ICCARM_V8
|
||||
#define __NO_RETURN __attribute__((__noreturn__))
|
||||
#else
|
||||
#define __NO_RETURN _Pragma("object_attribute=__noreturn")
|
||||
#endif
|
||||
#endif
|
||||
|
||||
#ifndef __PACKED
|
||||
#if __ICCARM_V8
|
||||
#define __PACKED __attribute__((packed, aligned(1)))
|
||||
#else
|
||||
/* Needs IAR language extensions */
|
||||
#define __PACKED __packed
|
||||
#endif
|
||||
#endif
|
||||
|
||||
#ifndef __PACKED_STRUCT
|
||||
#if __ICCARM_V8
|
||||
#define __PACKED_STRUCT struct __attribute__((packed, aligned(1)))
|
||||
#else
|
||||
/* Needs IAR language extensions */
|
||||
#define __PACKED_STRUCT __packed struct
|
||||
#endif
|
||||
#endif
|
||||
|
||||
#ifndef __PACKED_UNION
|
||||
#if __ICCARM_V8
|
||||
#define __PACKED_UNION union __attribute__((packed, aligned(1)))
|
||||
#else
|
||||
/* Needs IAR language extensions */
|
||||
#define __PACKED_UNION __packed union
|
||||
#endif
|
||||
#endif
|
||||
|
||||
#ifndef __RESTRICT
|
||||
#if __ICCARM_V8
|
||||
#define __RESTRICT __restrict
|
||||
#else
|
||||
/* Needs IAR language extensions */
|
||||
#define __RESTRICT restrict
|
||||
#endif
|
||||
#endif
|
||||
|
||||
#ifndef __STATIC_INLINE
|
||||
#define __STATIC_INLINE static inline
|
||||
#endif
|
||||
|
||||
#ifndef __FORCEINLINE
|
||||
#define __FORCEINLINE _Pragma("inline=forced")
|
||||
#endif
|
||||
|
||||
#ifndef __STATIC_FORCEINLINE
|
||||
#define __STATIC_FORCEINLINE __FORCEINLINE __STATIC_INLINE
|
||||
#endif
|
||||
|
||||
#ifndef __UNALIGNED_UINT16_READ
|
||||
#pragma language=save
|
||||
#pragma language=extended
|
||||
__IAR_FT uint16_t __iar_uint16_read(void const *ptr)
|
||||
{
|
||||
return *(__packed uint16_t*)(ptr);
|
||||
}
|
||||
#pragma language=restore
|
||||
#define __UNALIGNED_UINT16_READ(PTR) __iar_uint16_read(PTR)
|
||||
#endif
|
||||
|
||||
|
||||
#ifndef __UNALIGNED_UINT16_WRITE
|
||||
#pragma language=save
|
||||
#pragma language=extended
|
||||
__IAR_FT void __iar_uint16_write(void const *ptr, uint16_t val)
|
||||
{
|
||||
*(__packed uint16_t*)(ptr) = val;;
|
||||
}
|
||||
#pragma language=restore
|
||||
#define __UNALIGNED_UINT16_WRITE(PTR,VAL) __iar_uint16_write(PTR,VAL)
|
||||
#endif
|
||||
|
||||
#ifndef __UNALIGNED_UINT32_READ
|
||||
#pragma language=save
|
||||
#pragma language=extended
|
||||
__IAR_FT uint32_t __iar_uint32_read(void const *ptr)
|
||||
{
|
||||
return *(__packed uint32_t*)(ptr);
|
||||
}
|
||||
#pragma language=restore
|
||||
#define __UNALIGNED_UINT32_READ(PTR) __iar_uint32_read(PTR)
|
||||
#endif
|
||||
|
||||
#ifndef __UNALIGNED_UINT32_WRITE
|
||||
#pragma language=save
|
||||
#pragma language=extended
|
||||
__IAR_FT void __iar_uint32_write(void const *ptr, uint32_t val)
|
||||
{
|
||||
*(__packed uint32_t*)(ptr) = val;;
|
||||
}
|
||||
#pragma language=restore
|
||||
#define __UNALIGNED_UINT32_WRITE(PTR,VAL) __iar_uint32_write(PTR,VAL)
|
||||
#endif
|
||||
|
||||
#ifndef __UNALIGNED_UINT32 /* deprecated */
|
||||
#pragma language=save
|
||||
#pragma language=extended
|
||||
__packed struct __iar_u32 { uint32_t v; };
|
||||
#pragma language=restore
|
||||
#define __UNALIGNED_UINT32(PTR) (((struct __iar_u32 *)(PTR))->v)
|
||||
#endif
|
||||
|
||||
#ifndef __USED
|
||||
#if __ICCARM_V8
|
||||
#define __USED __attribute__((used))
|
||||
#else
|
||||
#define __USED _Pragma("__root")
|
||||
#endif
|
||||
#endif
|
||||
|
||||
#ifndef __WEAK
|
||||
#if __ICCARM_V8
|
||||
#define __WEAK __attribute__((weak))
|
||||
#else
|
||||
#define __WEAK _Pragma("__weak")
|
||||
#endif
|
||||
#endif
|
||||
|
||||
#ifndef __PROGRAM_START
|
||||
#define __PROGRAM_START __iar_program_start
|
||||
#endif
|
||||
|
||||
#ifndef __INITIAL_SP
|
||||
#define __INITIAL_SP CSTACK$$Limit
|
||||
#endif
|
||||
|
||||
#ifndef __STACK_LIMIT
|
||||
#define __STACK_LIMIT CSTACK$$Base
|
||||
#endif
|
||||
|
||||
#ifndef __VECTOR_TABLE
|
||||
#define __VECTOR_TABLE __vector_table
|
||||
#endif
|
||||
|
||||
#ifndef __VECTOR_TABLE_ATTRIBUTE
|
||||
#define __VECTOR_TABLE_ATTRIBUTE @".intvec"
|
||||
#endif
|
||||
|
||||
#ifndef __ICCARM_INTRINSICS_VERSION__
|
||||
#define __ICCARM_INTRINSICS_VERSION__ 0
|
||||
#endif
|
||||
|
||||
#if __ICCARM_INTRINSICS_VERSION__ == 2
|
||||
|
||||
#if defined(__CLZ)
|
||||
#undef __CLZ
|
||||
#endif
|
||||
#if defined(__REVSH)
|
||||
#undef __REVSH
|
||||
#endif
|
||||
#if defined(__RBIT)
|
||||
#undef __RBIT
|
||||
#endif
|
||||
#if defined(__SSAT)
|
||||
#undef __SSAT
|
||||
#endif
|
||||
#if defined(__USAT)
|
||||
#undef __USAT
|
||||
#endif
|
||||
|
||||
#include "iccarm_builtin.h"
|
||||
|
||||
#define __disable_fault_irq __iar_builtin_disable_fiq
|
||||
#define __disable_irq __iar_builtin_disable_interrupt
|
||||
#define __enable_fault_irq __iar_builtin_enable_fiq
|
||||
#define __enable_irq __iar_builtin_enable_interrupt
|
||||
#define __arm_rsr __iar_builtin_rsr
|
||||
#define __arm_wsr __iar_builtin_wsr
|
||||
|
||||
|
||||
#define __get_APSR() (__arm_rsr("APSR"))
|
||||
#define __get_BASEPRI() (__arm_rsr("BASEPRI"))
|
||||
#define __get_CONTROL() (__arm_rsr("CONTROL"))
|
||||
#define __get_FAULTMASK() (__arm_rsr("FAULTMASK"))
|
||||
|
||||
#if ((defined (__FPU_PRESENT) && (__FPU_PRESENT == 1U)) && \
|
||||
(defined (__FPU_USED ) && (__FPU_USED == 1U)) )
|
||||
#define __get_FPSCR() (__arm_rsr("FPSCR"))
|
||||
#define __set_FPSCR(VALUE) (__arm_wsr("FPSCR", (VALUE)))
|
||||
#else
|
||||
#define __get_FPSCR() ( 0 )
|
||||
#define __set_FPSCR(VALUE) ((void)VALUE)
|
||||
#endif
|
||||
|
||||
#define __get_IPSR() (__arm_rsr("IPSR"))
|
||||
#define __get_MSP() (__arm_rsr("MSP"))
|
||||
#if (!(defined (__ARM_ARCH_8M_MAIN__ ) && (__ARM_ARCH_8M_MAIN__ == 1)) && \
|
||||
(!defined (__ARM_FEATURE_CMSE) || (__ARM_FEATURE_CMSE < 3)))
|
||||
// without main extensions, the non-secure MSPLIM is RAZ/WI
|
||||
#define __get_MSPLIM() (0U)
|
||||
#else
|
||||
#define __get_MSPLIM() (__arm_rsr("MSPLIM"))
|
||||
#endif
|
||||
#define __get_PRIMASK() (__arm_rsr("PRIMASK"))
|
||||
#define __get_PSP() (__arm_rsr("PSP"))
|
||||
|
||||
#if (!(defined (__ARM_ARCH_8M_MAIN__ ) && (__ARM_ARCH_8M_MAIN__ == 1)) && \
|
||||
(!defined (__ARM_FEATURE_CMSE) || (__ARM_FEATURE_CMSE < 3)))
|
||||
// without main extensions, the non-secure PSPLIM is RAZ/WI
|
||||
#define __get_PSPLIM() (0U)
|
||||
#else
|
||||
#define __get_PSPLIM() (__arm_rsr("PSPLIM"))
|
||||
#endif
|
||||
|
||||
#define __get_xPSR() (__arm_rsr("xPSR"))
|
||||
|
||||
#define __set_BASEPRI(VALUE) (__arm_wsr("BASEPRI", (VALUE)))
|
||||
#define __set_BASEPRI_MAX(VALUE) (__arm_wsr("BASEPRI_MAX", (VALUE)))
|
||||
#define __set_CONTROL(VALUE) (__arm_wsr("CONTROL", (VALUE)))
|
||||
#define __set_FAULTMASK(VALUE) (__arm_wsr("FAULTMASK", (VALUE)))
|
||||
#define __set_MSP(VALUE) (__arm_wsr("MSP", (VALUE)))
|
||||
|
||||
#if (!(defined (__ARM_ARCH_8M_MAIN__ ) && (__ARM_ARCH_8M_MAIN__ == 1)) && \
|
||||
(!defined (__ARM_FEATURE_CMSE) || (__ARM_FEATURE_CMSE < 3)))
|
||||
// without main extensions, the non-secure MSPLIM is RAZ/WI
|
||||
#define __set_MSPLIM(VALUE) ((void)(VALUE))
|
||||
#else
|
||||
#define __set_MSPLIM(VALUE) (__arm_wsr("MSPLIM", (VALUE)))
|
||||
#endif
|
||||
#define __set_PRIMASK(VALUE) (__arm_wsr("PRIMASK", (VALUE)))
|
||||
#define __set_PSP(VALUE) (__arm_wsr("PSP", (VALUE)))
|
||||
#if (!(defined (__ARM_ARCH_8M_MAIN__ ) && (__ARM_ARCH_8M_MAIN__ == 1)) && \
|
||||
(!defined (__ARM_FEATURE_CMSE) || (__ARM_FEATURE_CMSE < 3)))
|
||||
// without main extensions, the non-secure PSPLIM is RAZ/WI
|
||||
#define __set_PSPLIM(VALUE) ((void)(VALUE))
|
||||
#else
|
||||
#define __set_PSPLIM(VALUE) (__arm_wsr("PSPLIM", (VALUE)))
|
||||
#endif
|
||||
|
||||
#define __TZ_get_CONTROL_NS() (__arm_rsr("CONTROL_NS"))
|
||||
#define __TZ_set_CONTROL_NS(VALUE) (__arm_wsr("CONTROL_NS", (VALUE)))
|
||||
#define __TZ_get_PSP_NS() (__arm_rsr("PSP_NS"))
|
||||
#define __TZ_set_PSP_NS(VALUE) (__arm_wsr("PSP_NS", (VALUE)))
|
||||
#define __TZ_get_MSP_NS() (__arm_rsr("MSP_NS"))
|
||||
#define __TZ_set_MSP_NS(VALUE) (__arm_wsr("MSP_NS", (VALUE)))
|
||||
#define __TZ_get_SP_NS() (__arm_rsr("SP_NS"))
|
||||
#define __TZ_set_SP_NS(VALUE) (__arm_wsr("SP_NS", (VALUE)))
|
||||
#define __TZ_get_PRIMASK_NS() (__arm_rsr("PRIMASK_NS"))
|
||||
#define __TZ_set_PRIMASK_NS(VALUE) (__arm_wsr("PRIMASK_NS", (VALUE)))
|
||||
#define __TZ_get_BASEPRI_NS() (__arm_rsr("BASEPRI_NS"))
|
||||
#define __TZ_set_BASEPRI_NS(VALUE) (__arm_wsr("BASEPRI_NS", (VALUE)))
|
||||
#define __TZ_get_FAULTMASK_NS() (__arm_rsr("FAULTMASK_NS"))
|
||||
#define __TZ_set_FAULTMASK_NS(VALUE)(__arm_wsr("FAULTMASK_NS", (VALUE)))
|
||||
|
||||
#if (!(defined (__ARM_ARCH_8M_MAIN__ ) && (__ARM_ARCH_8M_MAIN__ == 1)) && \
|
||||
(!defined (__ARM_FEATURE_CMSE) || (__ARM_FEATURE_CMSE < 3)))
|
||||
// without main extensions, the non-secure PSPLIM is RAZ/WI
|
||||
#define __TZ_get_PSPLIM_NS() (0U)
|
||||
#define __TZ_set_PSPLIM_NS(VALUE) ((void)(VALUE))
|
||||
#else
|
||||
#define __TZ_get_PSPLIM_NS() (__arm_rsr("PSPLIM_NS"))
|
||||
#define __TZ_set_PSPLIM_NS(VALUE) (__arm_wsr("PSPLIM_NS", (VALUE)))
|
||||
#endif
|
||||
|
||||
#define __TZ_get_MSPLIM_NS() (__arm_rsr("MSPLIM_NS"))
|
||||
#define __TZ_set_MSPLIM_NS(VALUE) (__arm_wsr("MSPLIM_NS", (VALUE)))
|
||||
|
||||
#define __NOP __iar_builtin_no_operation
|
||||
|
||||
#define __CLZ __iar_builtin_CLZ
|
||||
#define __CLREX __iar_builtin_CLREX
|
||||
|
||||
#define __DMB __iar_builtin_DMB
|
||||
#define __DSB __iar_builtin_DSB
|
||||
#define __ISB __iar_builtin_ISB
|
||||
|
||||
#define __LDREXB __iar_builtin_LDREXB
|
||||
#define __LDREXH __iar_builtin_LDREXH
|
||||
#define __LDREXW __iar_builtin_LDREX
|
||||
|
||||
#define __RBIT __iar_builtin_RBIT
|
||||
#define __REV __iar_builtin_REV
|
||||
#define __REV16 __iar_builtin_REV16
|
||||
|
||||
__IAR_FT int16_t __REVSH(int16_t val)
|
||||
{
|
||||
return (int16_t) __iar_builtin_REVSH(val);
|
||||
}
|
||||
|
||||
#define __ROR __iar_builtin_ROR
|
||||
#define __RRX __iar_builtin_RRX
|
||||
|
||||
#define __SEV __iar_builtin_SEV
|
||||
|
||||
#if !__IAR_M0_FAMILY
|
||||
#define __SSAT __iar_builtin_SSAT
|
||||
#endif
|
||||
|
||||
#define __STREXB __iar_builtin_STREXB
|
||||
#define __STREXH __iar_builtin_STREXH
|
||||
#define __STREXW __iar_builtin_STREX
|
||||
|
||||
#if !__IAR_M0_FAMILY
|
||||
#define __USAT __iar_builtin_USAT
|
||||
#endif
|
||||
|
||||
#define __WFE __iar_builtin_WFE
|
||||
#define __WFI __iar_builtin_WFI
|
||||
|
||||
#if __ARM_MEDIA__
|
||||
#define __SADD8 __iar_builtin_SADD8
|
||||
#define __QADD8 __iar_builtin_QADD8
|
||||
#define __SHADD8 __iar_builtin_SHADD8
|
||||
#define __UADD8 __iar_builtin_UADD8
|
||||
#define __UQADD8 __iar_builtin_UQADD8
|
||||
#define __UHADD8 __iar_builtin_UHADD8
|
||||
#define __SSUB8 __iar_builtin_SSUB8
|
||||
#define __QSUB8 __iar_builtin_QSUB8
|
||||
#define __SHSUB8 __iar_builtin_SHSUB8
|
||||
#define __USUB8 __iar_builtin_USUB8
|
||||
#define __UQSUB8 __iar_builtin_UQSUB8
|
||||
#define __UHSUB8 __iar_builtin_UHSUB8
|
||||
#define __SADD16 __iar_builtin_SADD16
|
||||
#define __QADD16 __iar_builtin_QADD16
|
||||
#define __SHADD16 __iar_builtin_SHADD16
|
||||
#define __UADD16 __iar_builtin_UADD16
|
||||
#define __UQADD16 __iar_builtin_UQADD16
|
||||
#define __UHADD16 __iar_builtin_UHADD16
|
||||
#define __SSUB16 __iar_builtin_SSUB16
|
||||
#define __QSUB16 __iar_builtin_QSUB16
|
||||
#define __SHSUB16 __iar_builtin_SHSUB16
|
||||
#define __USUB16 __iar_builtin_USUB16
|
||||
#define __UQSUB16 __iar_builtin_UQSUB16
|
||||
#define __UHSUB16 __iar_builtin_UHSUB16
|
||||
#define __SASX __iar_builtin_SASX
|
||||
#define __QASX __iar_builtin_QASX
|
||||
#define __SHASX __iar_builtin_SHASX
|
||||
#define __UASX __iar_builtin_UASX
|
||||
#define __UQASX __iar_builtin_UQASX
|
||||
#define __UHASX __iar_builtin_UHASX
|
||||
#define __SSAX __iar_builtin_SSAX
|
||||
#define __QSAX __iar_builtin_QSAX
|
||||
#define __SHSAX __iar_builtin_SHSAX
|
||||
#define __USAX __iar_builtin_USAX
|
||||
#define __UQSAX __iar_builtin_UQSAX
|
||||
#define __UHSAX __iar_builtin_UHSAX
|
||||
#define __USAD8 __iar_builtin_USAD8
|
||||
#define __USADA8 __iar_builtin_USADA8
|
||||
#define __SSAT16 __iar_builtin_SSAT16
|
||||
#define __USAT16 __iar_builtin_USAT16
|
||||
#define __UXTB16 __iar_builtin_UXTB16
|
||||
#define __UXTAB16 __iar_builtin_UXTAB16
|
||||
#define __SXTB16 __iar_builtin_SXTB16
|
||||
#define __SXTAB16 __iar_builtin_SXTAB16
|
||||
#define __SMUAD __iar_builtin_SMUAD
|
||||
#define __SMUADX __iar_builtin_SMUADX
|
||||
#define __SMMLA __iar_builtin_SMMLA
|
||||
#define __SMLAD __iar_builtin_SMLAD
|
||||
#define __SMLADX __iar_builtin_SMLADX
|
||||
#define __SMLALD __iar_builtin_SMLALD
|
||||
#define __SMLALDX __iar_builtin_SMLALDX
|
||||
#define __SMUSD __iar_builtin_SMUSD
|
||||
#define __SMUSDX __iar_builtin_SMUSDX
|
||||
#define __SMLSD __iar_builtin_SMLSD
|
||||
#define __SMLSDX __iar_builtin_SMLSDX
|
||||
#define __SMLSLD __iar_builtin_SMLSLD
|
||||
#define __SMLSLDX __iar_builtin_SMLSLDX
|
||||
#define __SEL __iar_builtin_SEL
|
||||
#define __QADD __iar_builtin_QADD
|
||||
#define __QSUB __iar_builtin_QSUB
|
||||
#define __PKHBT __iar_builtin_PKHBT
|
||||
#define __PKHTB __iar_builtin_PKHTB
|
||||
#endif
|
||||
|
||||
#else /* __ICCARM_INTRINSICS_VERSION__ == 2 */
|
||||
|
||||
#if __IAR_M0_FAMILY
|
||||
/* Avoid clash between intrinsics.h and arm_math.h when compiling for Cortex-M0. */
|
||||
#define __CLZ __cmsis_iar_clz_not_active
|
||||
#define __SSAT __cmsis_iar_ssat_not_active
|
||||
#define __USAT __cmsis_iar_usat_not_active
|
||||
#define __RBIT __cmsis_iar_rbit_not_active
|
||||
#define __get_APSR __cmsis_iar_get_APSR_not_active
|
||||
#endif
|
||||
|
||||
|
||||
#if (!((defined (__FPU_PRESENT) && (__FPU_PRESENT == 1U)) && \
|
||||
(defined (__FPU_USED ) && (__FPU_USED == 1U)) ))
|
||||
#define __get_FPSCR __cmsis_iar_get_FPSR_not_active
|
||||
#define __set_FPSCR __cmsis_iar_set_FPSR_not_active
|
||||
#endif
|
||||
|
||||
#ifdef __INTRINSICS_INCLUDED
|
||||
#error intrinsics.h is already included previously!
|
||||
#endif
|
||||
|
||||
#include <intrinsics.h>
|
||||
|
||||
#if __IAR_M0_FAMILY
|
||||
/* Avoid clash between intrinsics.h and arm_math.h when compiling for Cortex-M0. */
|
||||
#undef __CLZ
|
||||
#undef __SSAT
|
||||
#undef __USAT
|
||||
#undef __RBIT
|
||||
#undef __get_APSR
|
||||
|
||||
__STATIC_INLINE uint8_t __CLZ(uint32_t data)
|
||||
{
|
||||
if (data == 0U) { return 32U; }
|
||||
|
||||
uint32_t count = 0U;
|
||||
uint32_t mask = 0x80000000U;
|
||||
|
||||
while ((data & mask) == 0U)
|
||||
{
|
||||
count += 1U;
|
||||
mask = mask >> 1U;
|
||||
}
|
||||
return count;
|
||||
}
|
||||
|
||||
__STATIC_INLINE uint32_t __RBIT(uint32_t v)
|
||||
{
|
||||
uint8_t sc = 31U;
|
||||
uint32_t r = v;
|
||||
for (v >>= 1U; v; v >>= 1U)
|
||||
{
|
||||
r <<= 1U;
|
||||
r |= v & 1U;
|
||||
sc--;
|
||||
}
|
||||
return (r << sc);
|
||||
}
|
||||
|
||||
__STATIC_INLINE uint32_t __get_APSR(void)
|
||||
{
|
||||
uint32_t res;
|
||||
__asm("MRS %0,APSR" : "=r" (res));
|
||||
return res;
|
||||
}
|
||||
|
||||
#endif
|
||||
|
||||
#if (!((defined (__FPU_PRESENT) && (__FPU_PRESENT == 1U)) && \
|
||||
(defined (__FPU_USED ) && (__FPU_USED == 1U)) ))
|
||||
#undef __get_FPSCR
|
||||
#undef __set_FPSCR
|
||||
#define __get_FPSCR() (0)
|
||||
#define __set_FPSCR(VALUE) ((void)VALUE)
|
||||
#endif
|
||||
|
||||
#pragma diag_suppress=Pe940
|
||||
#pragma diag_suppress=Pe177
|
||||
|
||||
#define __enable_irq __enable_interrupt
|
||||
#define __disable_irq __disable_interrupt
|
||||
#define __NOP __no_operation
|
||||
|
||||
#define __get_xPSR __get_PSR
|
||||
|
||||
#if (!defined(__ARM_ARCH_6M__) || __ARM_ARCH_6M__==0)
|
||||
|
||||
__IAR_FT uint32_t __LDREXW(uint32_t volatile *ptr)
|
||||
{
|
||||
return __LDREX((unsigned long *)ptr);
|
||||
}
|
||||
|
||||
__IAR_FT uint32_t __STREXW(uint32_t value, uint32_t volatile *ptr)
|
||||
{
|
||||
return __STREX(value, (unsigned long *)ptr);
|
||||
}
|
||||
#endif
|
||||
|
||||
|
||||
/* __CORTEX_M is defined in core_cm0.h, core_cm3.h and core_cm4.h. */
|
||||
#if (__CORTEX_M >= 0x03)
|
||||
|
||||
__IAR_FT uint32_t __RRX(uint32_t value)
|
||||
{
|
||||
uint32_t result;
|
||||
__ASM("RRX %0, %1" : "=r"(result) : "r" (value) : "cc");
|
||||
return(result);
|
||||
}
|
||||
|
||||
__IAR_FT void __set_BASEPRI_MAX(uint32_t value)
|
||||
{
|
||||
__asm volatile("MSR BASEPRI_MAX,%0"::"r" (value));
|
||||
}
|
||||
|
||||
|
||||
#define __enable_fault_irq __enable_fiq
|
||||
#define __disable_fault_irq __disable_fiq
|
||||
|
||||
|
||||
#endif /* (__CORTEX_M >= 0x03) */
|
||||
|
||||
__IAR_FT uint32_t __ROR(uint32_t op1, uint32_t op2)
|
||||
{
|
||||
return (op1 >> op2) | (op1 << ((sizeof(op1)*8)-op2));
|
||||
}
|
||||
|
||||
#if ((defined (__ARM_ARCH_8M_MAIN__ ) && (__ARM_ARCH_8M_MAIN__ == 1)) || \
|
||||
(defined (__ARM_ARCH_8M_BASE__ ) && (__ARM_ARCH_8M_BASE__ == 1)) )
|
||||
|
||||
__IAR_FT uint32_t __get_MSPLIM(void)
|
||||
{
|
||||
uint32_t res;
|
||||
#if (!(defined (__ARM_ARCH_8M_MAIN__ ) && (__ARM_ARCH_8M_MAIN__ == 1)) && \
|
||||
(!defined (__ARM_FEATURE_CMSE ) || (__ARM_FEATURE_CMSE < 3)))
|
||||
// without main extensions, the non-secure MSPLIM is RAZ/WI
|
||||
res = 0U;
|
||||
#else
|
||||
__asm volatile("MRS %0,MSPLIM" : "=r" (res));
|
||||
#endif
|
||||
return res;
|
||||
}
|
||||
|
||||
__IAR_FT void __set_MSPLIM(uint32_t value)
|
||||
{
|
||||
#if (!(defined (__ARM_ARCH_8M_MAIN__ ) && (__ARM_ARCH_8M_MAIN__ == 1)) && \
|
||||
(!defined (__ARM_FEATURE_CMSE ) || (__ARM_FEATURE_CMSE < 3)))
|
||||
// without main extensions, the non-secure MSPLIM is RAZ/WI
|
||||
(void)value;
|
||||
#else
|
||||
__asm volatile("MSR MSPLIM,%0" :: "r" (value));
|
||||
#endif
|
||||
}
|
||||
|
||||
__IAR_FT uint32_t __get_PSPLIM(void)
|
||||
{
|
||||
uint32_t res;
|
||||
#if (!(defined (__ARM_ARCH_8M_MAIN__ ) && (__ARM_ARCH_8M_MAIN__ == 1)) && \
|
||||
(!defined (__ARM_FEATURE_CMSE ) || (__ARM_FEATURE_CMSE < 3)))
|
||||
// without main extensions, the non-secure PSPLIM is RAZ/WI
|
||||
res = 0U;
|
||||
#else
|
||||
__asm volatile("MRS %0,PSPLIM" : "=r" (res));
|
||||
#endif
|
||||
return res;
|
||||
}
|
||||
|
||||
__IAR_FT void __set_PSPLIM(uint32_t value)
|
||||
{
|
||||
#if (!(defined (__ARM_ARCH_8M_MAIN__ ) && (__ARM_ARCH_8M_MAIN__ == 1)) && \
|
||||
(!defined (__ARM_FEATURE_CMSE ) || (__ARM_FEATURE_CMSE < 3)))
|
||||
// without main extensions, the non-secure PSPLIM is RAZ/WI
|
||||
(void)value;
|
||||
#else
|
||||
__asm volatile("MSR PSPLIM,%0" :: "r" (value));
|
||||
#endif
|
||||
}
|
||||
|
||||
__IAR_FT uint32_t __TZ_get_CONTROL_NS(void)
|
||||
{
|
||||
uint32_t res;
|
||||
__asm volatile("MRS %0,CONTROL_NS" : "=r" (res));
|
||||
return res;
|
||||
}
|
||||
|
||||
__IAR_FT void __TZ_set_CONTROL_NS(uint32_t value)
|
||||
{
|
||||
__asm volatile("MSR CONTROL_NS,%0" :: "r" (value));
|
||||
}
|
||||
|
||||
__IAR_FT uint32_t __TZ_get_PSP_NS(void)
|
||||
{
|
||||
uint32_t res;
|
||||
__asm volatile("MRS %0,PSP_NS" : "=r" (res));
|
||||
return res;
|
||||
}
|
||||
|
||||
__IAR_FT void __TZ_set_PSP_NS(uint32_t value)
|
||||
{
|
||||
__asm volatile("MSR PSP_NS,%0" :: "r" (value));
|
||||
}
|
||||
|
||||
__IAR_FT uint32_t __TZ_get_MSP_NS(void)
|
||||
{
|
||||
uint32_t res;
|
||||
__asm volatile("MRS %0,MSP_NS" : "=r" (res));
|
||||
return res;
|
||||
}
|
||||
|
||||
__IAR_FT void __TZ_set_MSP_NS(uint32_t value)
|
||||
{
|
||||
__asm volatile("MSR MSP_NS,%0" :: "r" (value));
|
||||
}
|
||||
|
||||
__IAR_FT uint32_t __TZ_get_SP_NS(void)
|
||||
{
|
||||
uint32_t res;
|
||||
__asm volatile("MRS %0,SP_NS" : "=r" (res));
|
||||
return res;
|
||||
}
|
||||
__IAR_FT void __TZ_set_SP_NS(uint32_t value)
|
||||
{
|
||||
__asm volatile("MSR SP_NS,%0" :: "r" (value));
|
||||
}
|
||||
|
||||
__IAR_FT uint32_t __TZ_get_PRIMASK_NS(void)
|
||||
{
|
||||
uint32_t res;
|
||||
__asm volatile("MRS %0,PRIMASK_NS" : "=r" (res));
|
||||
return res;
|
||||
}
|
||||
|
||||
__IAR_FT void __TZ_set_PRIMASK_NS(uint32_t value)
|
||||
{
|
||||
__asm volatile("MSR PRIMASK_NS,%0" :: "r" (value));
|
||||
}
|
||||
|
||||
__IAR_FT uint32_t __TZ_get_BASEPRI_NS(void)
|
||||
{
|
||||
uint32_t res;
|
||||
__asm volatile("MRS %0,BASEPRI_NS" : "=r" (res));
|
||||
return res;
|
||||
}
|
||||
|
||||
__IAR_FT void __TZ_set_BASEPRI_NS(uint32_t value)
|
||||
{
|
||||
__asm volatile("MSR BASEPRI_NS,%0" :: "r" (value));
|
||||
}
|
||||
|
||||
__IAR_FT uint32_t __TZ_get_FAULTMASK_NS(void)
|
||||
{
|
||||
uint32_t res;
|
||||
__asm volatile("MRS %0,FAULTMASK_NS" : "=r" (res));
|
||||
return res;
|
||||
}
|
||||
|
||||
__IAR_FT void __TZ_set_FAULTMASK_NS(uint32_t value)
|
||||
{
|
||||
__asm volatile("MSR FAULTMASK_NS,%0" :: "r" (value));
|
||||
}
|
||||
|
||||
__IAR_FT uint32_t __TZ_get_PSPLIM_NS(void)
|
||||
{
|
||||
uint32_t res;
|
||||
#if (!(defined (__ARM_ARCH_8M_MAIN__ ) && (__ARM_ARCH_8M_MAIN__ == 1)) && \
|
||||
(!defined (__ARM_FEATURE_CMSE ) || (__ARM_FEATURE_CMSE < 3)))
|
||||
// without main extensions, the non-secure PSPLIM is RAZ/WI
|
||||
res = 0U;
|
||||
#else
|
||||
__asm volatile("MRS %0,PSPLIM_NS" : "=r" (res));
|
||||
#endif
|
||||
return res;
|
||||
}
|
||||
|
||||
__IAR_FT void __TZ_set_PSPLIM_NS(uint32_t value)
|
||||
{
|
||||
#if (!(defined (__ARM_ARCH_8M_MAIN__ ) && (__ARM_ARCH_8M_MAIN__ == 1)) && \
|
||||
(!defined (__ARM_FEATURE_CMSE ) || (__ARM_FEATURE_CMSE < 3)))
|
||||
// without main extensions, the non-secure PSPLIM is RAZ/WI
|
||||
(void)value;
|
||||
#else
|
||||
__asm volatile("MSR PSPLIM_NS,%0" :: "r" (value));
|
||||
#endif
|
||||
}
|
||||
|
||||
__IAR_FT uint32_t __TZ_get_MSPLIM_NS(void)
|
||||
{
|
||||
uint32_t res;
|
||||
__asm volatile("MRS %0,MSPLIM_NS" : "=r" (res));
|
||||
return res;
|
||||
}
|
||||
|
||||
__IAR_FT void __TZ_set_MSPLIM_NS(uint32_t value)
|
||||
{
|
||||
__asm volatile("MSR MSPLIM_NS,%0" :: "r" (value));
|
||||
}
|
||||
|
||||
#endif /* __ARM_ARCH_8M_MAIN__ or __ARM_ARCH_8M_BASE__ */
|
||||
|
||||
#endif /* __ICCARM_INTRINSICS_VERSION__ == 2 */
|
||||
|
||||
#define __BKPT(value) __asm volatile ("BKPT %0" : : "i"(value))
|
||||
|
||||
#if __IAR_M0_FAMILY
|
||||
__STATIC_INLINE int32_t __SSAT(int32_t val, uint32_t sat)
|
||||
{
|
||||
if ((sat >= 1U) && (sat <= 32U))
|
||||
{
|
||||
const int32_t max = (int32_t)((1U << (sat - 1U)) - 1U);
|
||||
const int32_t min = -1 - max ;
|
||||
if (val > max)
|
||||
{
|
||||
return max;
|
||||
}
|
||||
else if (val < min)
|
||||
{
|
||||
return min;
|
||||
}
|
||||
}
|
||||
return val;
|
||||
}
|
||||
|
||||
__STATIC_INLINE uint32_t __USAT(int32_t val, uint32_t sat)
|
||||
{
|
||||
if (sat <= 31U)
|
||||
{
|
||||
const uint32_t max = ((1U << sat) - 1U);
|
||||
if (val > (int32_t)max)
|
||||
{
|
||||
return max;
|
||||
}
|
||||
else if (val < 0)
|
||||
{
|
||||
return 0U;
|
||||
}
|
||||
}
|
||||
return (uint32_t)val;
|
||||
}
|
||||
#endif
|
||||
|
||||
#if (__CORTEX_M >= 0x03) /* __CORTEX_M is defined in core_cm0.h, core_cm3.h and core_cm4.h. */
|
||||
|
||||
__IAR_FT uint8_t __LDRBT(volatile uint8_t *addr)
|
||||
{
|
||||
uint32_t res;
|
||||
__ASM("LDRBT %0, [%1]" : "=r" (res) : "r" (addr) : "memory");
|
||||
return ((uint8_t)res);
|
||||
}
|
||||
|
||||
__IAR_FT uint16_t __LDRHT(volatile uint16_t *addr)
|
||||
{
|
||||
uint32_t res;
|
||||
__ASM("LDRHT %0, [%1]" : "=r" (res) : "r" (addr) : "memory");
|
||||
return ((uint16_t)res);
|
||||
}
|
||||
|
||||
__IAR_FT uint32_t __LDRT(volatile uint32_t *addr)
|
||||
{
|
||||
uint32_t res;
|
||||
__ASM("LDRT %0, [%1]" : "=r" (res) : "r" (addr) : "memory");
|
||||
return res;
|
||||
}
|
||||
|
||||
__IAR_FT void __STRBT(uint8_t value, volatile uint8_t *addr)
|
||||
{
|
||||
__ASM("STRBT %1, [%0]" : : "r" (addr), "r" ((uint32_t)value) : "memory");
|
||||
}
|
||||
|
||||
__IAR_FT void __STRHT(uint16_t value, volatile uint16_t *addr)
|
||||
{
|
||||
__ASM("STRHT %1, [%0]" : : "r" (addr), "r" ((uint32_t)value) : "memory");
|
||||
}
|
||||
|
||||
__IAR_FT void __STRT(uint32_t value, volatile uint32_t *addr)
|
||||
{
|
||||
__ASM("STRT %1, [%0]" : : "r" (addr), "r" (value) : "memory");
|
||||
}
|
||||
|
||||
#endif /* (__CORTEX_M >= 0x03) */
|
||||
|
||||
#if ((defined (__ARM_ARCH_8M_MAIN__ ) && (__ARM_ARCH_8M_MAIN__ == 1)) || \
|
||||
(defined (__ARM_ARCH_8M_BASE__ ) && (__ARM_ARCH_8M_BASE__ == 1)) )
|
||||
|
||||
|
||||
__IAR_FT uint8_t __LDAB(volatile uint8_t *ptr)
|
||||
{
|
||||
uint32_t res;
|
||||
__ASM volatile ("LDAB %0, [%1]" : "=r" (res) : "r" (ptr) : "memory");
|
||||
return ((uint8_t)res);
|
||||
}
|
||||
|
||||
__IAR_FT uint16_t __LDAH(volatile uint16_t *ptr)
|
||||
{
|
||||
uint32_t res;
|
||||
__ASM volatile ("LDAH %0, [%1]" : "=r" (res) : "r" (ptr) : "memory");
|
||||
return ((uint16_t)res);
|
||||
}
|
||||
|
||||
__IAR_FT uint32_t __LDA(volatile uint32_t *ptr)
|
||||
{
|
||||
uint32_t res;
|
||||
__ASM volatile ("LDA %0, [%1]" : "=r" (res) : "r" (ptr) : "memory");
|
||||
return res;
|
||||
}
|
||||
|
||||
__IAR_FT void __STLB(uint8_t value, volatile uint8_t *ptr)
|
||||
{
|
||||
__ASM volatile ("STLB %1, [%0]" :: "r" (ptr), "r" (value) : "memory");
|
||||
}
|
||||
|
||||
__IAR_FT void __STLH(uint16_t value, volatile uint16_t *ptr)
|
||||
{
|
||||
__ASM volatile ("STLH %1, [%0]" :: "r" (ptr), "r" (value) : "memory");
|
||||
}
|
||||
|
||||
__IAR_FT void __STL(uint32_t value, volatile uint32_t *ptr)
|
||||
{
|
||||
__ASM volatile ("STL %1, [%0]" :: "r" (ptr), "r" (value) : "memory");
|
||||
}
|
||||
|
||||
__IAR_FT uint8_t __LDAEXB(volatile uint8_t *ptr)
|
||||
{
|
||||
uint32_t res;
|
||||
__ASM volatile ("LDAEXB %0, [%1]" : "=r" (res) : "r" (ptr) : "memory");
|
||||
return ((uint8_t)res);
|
||||
}
|
||||
|
||||
__IAR_FT uint16_t __LDAEXH(volatile uint16_t *ptr)
|
||||
{
|
||||
uint32_t res;
|
||||
__ASM volatile ("LDAEXH %0, [%1]" : "=r" (res) : "r" (ptr) : "memory");
|
||||
return ((uint16_t)res);
|
||||
}
|
||||
|
||||
__IAR_FT uint32_t __LDAEX(volatile uint32_t *ptr)
|
||||
{
|
||||
uint32_t res;
|
||||
__ASM volatile ("LDAEX %0, [%1]" : "=r" (res) : "r" (ptr) : "memory");
|
||||
return res;
|
||||
}
|
||||
|
||||
__IAR_FT uint32_t __STLEXB(uint8_t value, volatile uint8_t *ptr)
|
||||
{
|
||||
uint32_t res;
|
||||
__ASM volatile ("STLEXB %0, %2, [%1]" : "=r" (res) : "r" (ptr), "r" (value) : "memory");
|
||||
return res;
|
||||
}
|
||||
|
||||
__IAR_FT uint32_t __STLEXH(uint16_t value, volatile uint16_t *ptr)
|
||||
{
|
||||
uint32_t res;
|
||||
__ASM volatile ("STLEXH %0, %2, [%1]" : "=r" (res) : "r" (ptr), "r" (value) : "memory");
|
||||
return res;
|
||||
}
|
||||
|
||||
__IAR_FT uint32_t __STLEX(uint32_t value, volatile uint32_t *ptr)
|
||||
{
|
||||
uint32_t res;
|
||||
__ASM volatile ("STLEX %0, %2, [%1]" : "=r" (res) : "r" (ptr), "r" (value) : "memory");
|
||||
return res;
|
||||
}
|
||||
|
||||
#endif /* __ARM_ARCH_8M_MAIN__ or __ARM_ARCH_8M_BASE__ */
|
||||
|
||||
#undef __IAR_FT
|
||||
#undef __IAR_M0_FAMILY
|
||||
#undef __ICCARM_V8
|
||||
|
||||
#pragma diag_default=Pe940
|
||||
#pragma diag_default=Pe177
|
||||
|
||||
#endif /* __CMSIS_ICCARM_H__ */
|
||||
39
squeow_sw/Drivers/CMSIS/Include/cmsis_version.h
Normal file
39
squeow_sw/Drivers/CMSIS/Include/cmsis_version.h
Normal file
@@ -0,0 +1,39 @@
|
||||
/**************************************************************************//**
|
||||
* @file cmsis_version.h
|
||||
* @brief CMSIS Core(M) Version definitions
|
||||
* @version V5.0.3
|
||||
* @date 24. June 2019
|
||||
******************************************************************************/
|
||||
/*
|
||||
* Copyright (c) 2009-2019 ARM Limited. All rights reserved.
|
||||
*
|
||||
* SPDX-License-Identifier: Apache-2.0
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the License); you may
|
||||
* not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an AS IS BASIS, WITHOUT
|
||||
* WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
#if defined ( __ICCARM__ )
|
||||
#pragma system_include /* treat file as system include file for MISRA check */
|
||||
#elif defined (__clang__)
|
||||
#pragma clang system_header /* treat file as system include file */
|
||||
#endif
|
||||
|
||||
#ifndef __CMSIS_VERSION_H
|
||||
#define __CMSIS_VERSION_H
|
||||
|
||||
/* CMSIS Version definitions */
|
||||
#define __CM_CMSIS_VERSION_MAIN ( 5U) /*!< [31:16] CMSIS Core(M) main version */
|
||||
#define __CM_CMSIS_VERSION_SUB ( 3U) /*!< [15:0] CMSIS Core(M) sub version */
|
||||
#define __CM_CMSIS_VERSION ((__CM_CMSIS_VERSION_MAIN << 16U) | \
|
||||
__CM_CMSIS_VERSION_SUB ) /*!< CMSIS Core(M) version number */
|
||||
#endif
|
||||
2968
squeow_sw/Drivers/CMSIS/Include/core_armv81mml.h
Normal file
2968
squeow_sw/Drivers/CMSIS/Include/core_armv81mml.h
Normal file
File diff suppressed because it is too large
Load Diff
1921
squeow_sw/Drivers/CMSIS/Include/core_armv8mbl.h
Normal file
1921
squeow_sw/Drivers/CMSIS/Include/core_armv8mbl.h
Normal file
File diff suppressed because it is too large
Load Diff
2835
squeow_sw/Drivers/CMSIS/Include/core_armv8mml.h
Normal file
2835
squeow_sw/Drivers/CMSIS/Include/core_armv8mml.h
Normal file
File diff suppressed because it is too large
Load Diff
952
squeow_sw/Drivers/CMSIS/Include/core_cm0.h
Normal file
952
squeow_sw/Drivers/CMSIS/Include/core_cm0.h
Normal file
@@ -0,0 +1,952 @@
|
||||
/**************************************************************************//**
|
||||
* @file core_cm0.h
|
||||
* @brief CMSIS Cortex-M0 Core Peripheral Access Layer Header File
|
||||
* @version V5.0.6
|
||||
* @date 13. March 2019
|
||||
******************************************************************************/
|
||||
/*
|
||||
* Copyright (c) 2009-2019 Arm Limited. All rights reserved.
|
||||
*
|
||||
* SPDX-License-Identifier: Apache-2.0
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the License); you may
|
||||
* not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an AS IS BASIS, WITHOUT
|
||||
* WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
#if defined ( __ICCARM__ )
|
||||
#pragma system_include /* treat file as system include file for MISRA check */
|
||||
#elif defined (__clang__)
|
||||
#pragma clang system_header /* treat file as system include file */
|
||||
#endif
|
||||
|
||||
#ifndef __CORE_CM0_H_GENERIC
|
||||
#define __CORE_CM0_H_GENERIC
|
||||
|
||||
#include <stdint.h>
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
/**
|
||||
\page CMSIS_MISRA_Exceptions MISRA-C:2004 Compliance Exceptions
|
||||
CMSIS violates the following MISRA-C:2004 rules:
|
||||
|
||||
\li Required Rule 8.5, object/function definition in header file.<br>
|
||||
Function definitions in header files are used to allow 'inlining'.
|
||||
|
||||
\li Required Rule 18.4, declaration of union type or object of union type: '{...}'.<br>
|
||||
Unions are used for effective representation of core registers.
|
||||
|
||||
\li Advisory Rule 19.7, Function-like macro defined.<br>
|
||||
Function-like macros are used to allow more efficient code.
|
||||
*/
|
||||
|
||||
|
||||
/*******************************************************************************
|
||||
* CMSIS definitions
|
||||
******************************************************************************/
|
||||
/**
|
||||
\ingroup Cortex_M0
|
||||
@{
|
||||
*/
|
||||
|
||||
#include "cmsis_version.h"
|
||||
|
||||
/* CMSIS CM0 definitions */
|
||||
#define __CM0_CMSIS_VERSION_MAIN (__CM_CMSIS_VERSION_MAIN) /*!< \deprecated [31:16] CMSIS HAL main version */
|
||||
#define __CM0_CMSIS_VERSION_SUB (__CM_CMSIS_VERSION_SUB) /*!< \deprecated [15:0] CMSIS HAL sub version */
|
||||
#define __CM0_CMSIS_VERSION ((__CM0_CMSIS_VERSION_MAIN << 16U) | \
|
||||
__CM0_CMSIS_VERSION_SUB ) /*!< \deprecated CMSIS HAL version number */
|
||||
|
||||
#define __CORTEX_M (0U) /*!< Cortex-M Core */
|
||||
|
||||
/** __FPU_USED indicates whether an FPU is used or not.
|
||||
This core does not support an FPU at all
|
||||
*/
|
||||
#define __FPU_USED 0U
|
||||
|
||||
#if defined ( __CC_ARM )
|
||||
#if defined __TARGET_FPU_VFP
|
||||
#error "Compiler generates FPU instructions for a device without an FPU (check __FPU_PRESENT)"
|
||||
#endif
|
||||
|
||||
#elif defined (__ARMCC_VERSION) && (__ARMCC_VERSION >= 6010050)
|
||||
#if defined __ARM_FP
|
||||
#error "Compiler generates FPU instructions for a device without an FPU (check __FPU_PRESENT)"
|
||||
#endif
|
||||
|
||||
#elif defined ( __GNUC__ )
|
||||
#if defined (__VFP_FP__) && !defined(__SOFTFP__)
|
||||
#error "Compiler generates FPU instructions for a device without an FPU (check __FPU_PRESENT)"
|
||||
#endif
|
||||
|
||||
#elif defined ( __ICCARM__ )
|
||||
#if defined __ARMVFP__
|
||||
#error "Compiler generates FPU instructions for a device without an FPU (check __FPU_PRESENT)"
|
||||
#endif
|
||||
|
||||
#elif defined ( __TI_ARM__ )
|
||||
#if defined __TI_VFP_SUPPORT__
|
||||
#error "Compiler generates FPU instructions for a device without an FPU (check __FPU_PRESENT)"
|
||||
#endif
|
||||
|
||||
#elif defined ( __TASKING__ )
|
||||
#if defined __FPU_VFP__
|
||||
#error "Compiler generates FPU instructions for a device without an FPU (check __FPU_PRESENT)"
|
||||
#endif
|
||||
|
||||
#elif defined ( __CSMC__ )
|
||||
#if ( __CSMC__ & 0x400U)
|
||||
#error "Compiler generates FPU instructions for a device without an FPU (check __FPU_PRESENT)"
|
||||
#endif
|
||||
|
||||
#endif
|
||||
|
||||
#include "cmsis_compiler.h" /* CMSIS compiler specific defines */
|
||||
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif /* __CORE_CM0_H_GENERIC */
|
||||
|
||||
#ifndef __CMSIS_GENERIC
|
||||
|
||||
#ifndef __CORE_CM0_H_DEPENDANT
|
||||
#define __CORE_CM0_H_DEPENDANT
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
/* check device defines and use defaults */
|
||||
#if defined __CHECK_DEVICE_DEFINES
|
||||
#ifndef __CM0_REV
|
||||
#define __CM0_REV 0x0000U
|
||||
#warning "__CM0_REV not defined in device header file; using default!"
|
||||
#endif
|
||||
|
||||
#ifndef __NVIC_PRIO_BITS
|
||||
#define __NVIC_PRIO_BITS 2U
|
||||
#warning "__NVIC_PRIO_BITS not defined in device header file; using default!"
|
||||
#endif
|
||||
|
||||
#ifndef __Vendor_SysTickConfig
|
||||
#define __Vendor_SysTickConfig 0U
|
||||
#warning "__Vendor_SysTickConfig not defined in device header file; using default!"
|
||||
#endif
|
||||
#endif
|
||||
|
||||
/* IO definitions (access restrictions to peripheral registers) */
|
||||
/**
|
||||
\defgroup CMSIS_glob_defs CMSIS Global Defines
|
||||
|
||||
<strong>IO Type Qualifiers</strong> are used
|
||||
\li to specify the access to peripheral variables.
|
||||
\li for automatic generation of peripheral register debug information.
|
||||
*/
|
||||
#ifdef __cplusplus
|
||||
#define __I volatile /*!< Defines 'read only' permissions */
|
||||
#else
|
||||
#define __I volatile const /*!< Defines 'read only' permissions */
|
||||
#endif
|
||||
#define __O volatile /*!< Defines 'write only' permissions */
|
||||
#define __IO volatile /*!< Defines 'read / write' permissions */
|
||||
|
||||
/* following defines should be used for structure members */
|
||||
#define __IM volatile const /*! Defines 'read only' structure member permissions */
|
||||
#define __OM volatile /*! Defines 'write only' structure member permissions */
|
||||
#define __IOM volatile /*! Defines 'read / write' structure member permissions */
|
||||
|
||||
/*@} end of group Cortex_M0 */
|
||||
|
||||
|
||||
|
||||
/*******************************************************************************
|
||||
* Register Abstraction
|
||||
Core Register contain:
|
||||
- Core Register
|
||||
- Core NVIC Register
|
||||
- Core SCB Register
|
||||
- Core SysTick Register
|
||||
******************************************************************************/
|
||||
/**
|
||||
\defgroup CMSIS_core_register Defines and Type Definitions
|
||||
\brief Type definitions and defines for Cortex-M processor based devices.
|
||||
*/
|
||||
|
||||
/**
|
||||
\ingroup CMSIS_core_register
|
||||
\defgroup CMSIS_CORE Status and Control Registers
|
||||
\brief Core Register type definitions.
|
||||
@{
|
||||
*/
|
||||
|
||||
/**
|
||||
\brief Union type to access the Application Program Status Register (APSR).
|
||||
*/
|
||||
typedef union
|
||||
{
|
||||
struct
|
||||
{
|
||||
uint32_t _reserved0:28; /*!< bit: 0..27 Reserved */
|
||||
uint32_t V:1; /*!< bit: 28 Overflow condition code flag */
|
||||
uint32_t C:1; /*!< bit: 29 Carry condition code flag */
|
||||
uint32_t Z:1; /*!< bit: 30 Zero condition code flag */
|
||||
uint32_t N:1; /*!< bit: 31 Negative condition code flag */
|
||||
} b; /*!< Structure used for bit access */
|
||||
uint32_t w; /*!< Type used for word access */
|
||||
} APSR_Type;
|
||||
|
||||
/* APSR Register Definitions */
|
||||
#define APSR_N_Pos 31U /*!< APSR: N Position */
|
||||
#define APSR_N_Msk (1UL << APSR_N_Pos) /*!< APSR: N Mask */
|
||||
|
||||
#define APSR_Z_Pos 30U /*!< APSR: Z Position */
|
||||
#define APSR_Z_Msk (1UL << APSR_Z_Pos) /*!< APSR: Z Mask */
|
||||
|
||||
#define APSR_C_Pos 29U /*!< APSR: C Position */
|
||||
#define APSR_C_Msk (1UL << APSR_C_Pos) /*!< APSR: C Mask */
|
||||
|
||||
#define APSR_V_Pos 28U /*!< APSR: V Position */
|
||||
#define APSR_V_Msk (1UL << APSR_V_Pos) /*!< APSR: V Mask */
|
||||
|
||||
|
||||
/**
|
||||
\brief Union type to access the Interrupt Program Status Register (IPSR).
|
||||
*/
|
||||
typedef union
|
||||
{
|
||||
struct
|
||||
{
|
||||
uint32_t ISR:9; /*!< bit: 0.. 8 Exception number */
|
||||
uint32_t _reserved0:23; /*!< bit: 9..31 Reserved */
|
||||
} b; /*!< Structure used for bit access */
|
||||
uint32_t w; /*!< Type used for word access */
|
||||
} IPSR_Type;
|
||||
|
||||
/* IPSR Register Definitions */
|
||||
#define IPSR_ISR_Pos 0U /*!< IPSR: ISR Position */
|
||||
#define IPSR_ISR_Msk (0x1FFUL /*<< IPSR_ISR_Pos*/) /*!< IPSR: ISR Mask */
|
||||
|
||||
|
||||
/**
|
||||
\brief Union type to access the Special-Purpose Program Status Registers (xPSR).
|
||||
*/
|
||||
typedef union
|
||||
{
|
||||
struct
|
||||
{
|
||||
uint32_t ISR:9; /*!< bit: 0.. 8 Exception number */
|
||||
uint32_t _reserved0:15; /*!< bit: 9..23 Reserved */
|
||||
uint32_t T:1; /*!< bit: 24 Thumb bit (read 0) */
|
||||
uint32_t _reserved1:3; /*!< bit: 25..27 Reserved */
|
||||
uint32_t V:1; /*!< bit: 28 Overflow condition code flag */
|
||||
uint32_t C:1; /*!< bit: 29 Carry condition code flag */
|
||||
uint32_t Z:1; /*!< bit: 30 Zero condition code flag */
|
||||
uint32_t N:1; /*!< bit: 31 Negative condition code flag */
|
||||
} b; /*!< Structure used for bit access */
|
||||
uint32_t w; /*!< Type used for word access */
|
||||
} xPSR_Type;
|
||||
|
||||
/* xPSR Register Definitions */
|
||||
#define xPSR_N_Pos 31U /*!< xPSR: N Position */
|
||||
#define xPSR_N_Msk (1UL << xPSR_N_Pos) /*!< xPSR: N Mask */
|
||||
|
||||
#define xPSR_Z_Pos 30U /*!< xPSR: Z Position */
|
||||
#define xPSR_Z_Msk (1UL << xPSR_Z_Pos) /*!< xPSR: Z Mask */
|
||||
|
||||
#define xPSR_C_Pos 29U /*!< xPSR: C Position */
|
||||
#define xPSR_C_Msk (1UL << xPSR_C_Pos) /*!< xPSR: C Mask */
|
||||
|
||||
#define xPSR_V_Pos 28U /*!< xPSR: V Position */
|
||||
#define xPSR_V_Msk (1UL << xPSR_V_Pos) /*!< xPSR: V Mask */
|
||||
|
||||
#define xPSR_T_Pos 24U /*!< xPSR: T Position */
|
||||
#define xPSR_T_Msk (1UL << xPSR_T_Pos) /*!< xPSR: T Mask */
|
||||
|
||||
#define xPSR_ISR_Pos 0U /*!< xPSR: ISR Position */
|
||||
#define xPSR_ISR_Msk (0x1FFUL /*<< xPSR_ISR_Pos*/) /*!< xPSR: ISR Mask */
|
||||
|
||||
|
||||
/**
|
||||
\brief Union type to access the Control Registers (CONTROL).
|
||||
*/
|
||||
typedef union
|
||||
{
|
||||
struct
|
||||
{
|
||||
uint32_t _reserved0:1; /*!< bit: 0 Reserved */
|
||||
uint32_t SPSEL:1; /*!< bit: 1 Stack to be used */
|
||||
uint32_t _reserved1:30; /*!< bit: 2..31 Reserved */
|
||||
} b; /*!< Structure used for bit access */
|
||||
uint32_t w; /*!< Type used for word access */
|
||||
} CONTROL_Type;
|
||||
|
||||
/* CONTROL Register Definitions */
|
||||
#define CONTROL_SPSEL_Pos 1U /*!< CONTROL: SPSEL Position */
|
||||
#define CONTROL_SPSEL_Msk (1UL << CONTROL_SPSEL_Pos) /*!< CONTROL: SPSEL Mask */
|
||||
|
||||
/*@} end of group CMSIS_CORE */
|
||||
|
||||
|
||||
/**
|
||||
\ingroup CMSIS_core_register
|
||||
\defgroup CMSIS_NVIC Nested Vectored Interrupt Controller (NVIC)
|
||||
\brief Type definitions for the NVIC Registers
|
||||
@{
|
||||
*/
|
||||
|
||||
/**
|
||||
\brief Structure type to access the Nested Vectored Interrupt Controller (NVIC).
|
||||
*/
|
||||
typedef struct
|
||||
{
|
||||
__IOM uint32_t ISER[1U]; /*!< Offset: 0x000 (R/W) Interrupt Set Enable Register */
|
||||
uint32_t RESERVED0[31U];
|
||||
__IOM uint32_t ICER[1U]; /*!< Offset: 0x080 (R/W) Interrupt Clear Enable Register */
|
||||
uint32_t RESERVED1[31U];
|
||||
__IOM uint32_t ISPR[1U]; /*!< Offset: 0x100 (R/W) Interrupt Set Pending Register */
|
||||
uint32_t RESERVED2[31U];
|
||||
__IOM uint32_t ICPR[1U]; /*!< Offset: 0x180 (R/W) Interrupt Clear Pending Register */
|
||||
uint32_t RESERVED3[31U];
|
||||
uint32_t RESERVED4[64U];
|
||||
__IOM uint32_t IP[8U]; /*!< Offset: 0x300 (R/W) Interrupt Priority Register */
|
||||
} NVIC_Type;
|
||||
|
||||
/*@} end of group CMSIS_NVIC */
|
||||
|
||||
|
||||
/**
|
||||
\ingroup CMSIS_core_register
|
||||
\defgroup CMSIS_SCB System Control Block (SCB)
|
||||
\brief Type definitions for the System Control Block Registers
|
||||
@{
|
||||
*/
|
||||
|
||||
/**
|
||||
\brief Structure type to access the System Control Block (SCB).
|
||||
*/
|
||||
typedef struct
|
||||
{
|
||||
__IM uint32_t CPUID; /*!< Offset: 0x000 (R/ ) CPUID Base Register */
|
||||
__IOM uint32_t ICSR; /*!< Offset: 0x004 (R/W) Interrupt Control and State Register */
|
||||
uint32_t RESERVED0;
|
||||
__IOM uint32_t AIRCR; /*!< Offset: 0x00C (R/W) Application Interrupt and Reset Control Register */
|
||||
__IOM uint32_t SCR; /*!< Offset: 0x010 (R/W) System Control Register */
|
||||
__IOM uint32_t CCR; /*!< Offset: 0x014 (R/W) Configuration Control Register */
|
||||
uint32_t RESERVED1;
|
||||
__IOM uint32_t SHP[2U]; /*!< Offset: 0x01C (R/W) System Handlers Priority Registers. [0] is RESERVED */
|
||||
__IOM uint32_t SHCSR; /*!< Offset: 0x024 (R/W) System Handler Control and State Register */
|
||||
} SCB_Type;
|
||||
|
||||
/* SCB CPUID Register Definitions */
|
||||
#define SCB_CPUID_IMPLEMENTER_Pos 24U /*!< SCB CPUID: IMPLEMENTER Position */
|
||||
#define SCB_CPUID_IMPLEMENTER_Msk (0xFFUL << SCB_CPUID_IMPLEMENTER_Pos) /*!< SCB CPUID: IMPLEMENTER Mask */
|
||||
|
||||
#define SCB_CPUID_VARIANT_Pos 20U /*!< SCB CPUID: VARIANT Position */
|
||||
#define SCB_CPUID_VARIANT_Msk (0xFUL << SCB_CPUID_VARIANT_Pos) /*!< SCB CPUID: VARIANT Mask */
|
||||
|
||||
#define SCB_CPUID_ARCHITECTURE_Pos 16U /*!< SCB CPUID: ARCHITECTURE Position */
|
||||
#define SCB_CPUID_ARCHITECTURE_Msk (0xFUL << SCB_CPUID_ARCHITECTURE_Pos) /*!< SCB CPUID: ARCHITECTURE Mask */
|
||||
|
||||
#define SCB_CPUID_PARTNO_Pos 4U /*!< SCB CPUID: PARTNO Position */
|
||||
#define SCB_CPUID_PARTNO_Msk (0xFFFUL << SCB_CPUID_PARTNO_Pos) /*!< SCB CPUID: PARTNO Mask */
|
||||
|
||||
#define SCB_CPUID_REVISION_Pos 0U /*!< SCB CPUID: REVISION Position */
|
||||
#define SCB_CPUID_REVISION_Msk (0xFUL /*<< SCB_CPUID_REVISION_Pos*/) /*!< SCB CPUID: REVISION Mask */
|
||||
|
||||
/* SCB Interrupt Control State Register Definitions */
|
||||
#define SCB_ICSR_NMIPENDSET_Pos 31U /*!< SCB ICSR: NMIPENDSET Position */
|
||||
#define SCB_ICSR_NMIPENDSET_Msk (1UL << SCB_ICSR_NMIPENDSET_Pos) /*!< SCB ICSR: NMIPENDSET Mask */
|
||||
|
||||
#define SCB_ICSR_PENDSVSET_Pos 28U /*!< SCB ICSR: PENDSVSET Position */
|
||||
#define SCB_ICSR_PENDSVSET_Msk (1UL << SCB_ICSR_PENDSVSET_Pos) /*!< SCB ICSR: PENDSVSET Mask */
|
||||
|
||||
#define SCB_ICSR_PENDSVCLR_Pos 27U /*!< SCB ICSR: PENDSVCLR Position */
|
||||
#define SCB_ICSR_PENDSVCLR_Msk (1UL << SCB_ICSR_PENDSVCLR_Pos) /*!< SCB ICSR: PENDSVCLR Mask */
|
||||
|
||||
#define SCB_ICSR_PENDSTSET_Pos 26U /*!< SCB ICSR: PENDSTSET Position */
|
||||
#define SCB_ICSR_PENDSTSET_Msk (1UL << SCB_ICSR_PENDSTSET_Pos) /*!< SCB ICSR: PENDSTSET Mask */
|
||||
|
||||
#define SCB_ICSR_PENDSTCLR_Pos 25U /*!< SCB ICSR: PENDSTCLR Position */
|
||||
#define SCB_ICSR_PENDSTCLR_Msk (1UL << SCB_ICSR_PENDSTCLR_Pos) /*!< SCB ICSR: PENDSTCLR Mask */
|
||||
|
||||
#define SCB_ICSR_ISRPREEMPT_Pos 23U /*!< SCB ICSR: ISRPREEMPT Position */
|
||||
#define SCB_ICSR_ISRPREEMPT_Msk (1UL << SCB_ICSR_ISRPREEMPT_Pos) /*!< SCB ICSR: ISRPREEMPT Mask */
|
||||
|
||||
#define SCB_ICSR_ISRPENDING_Pos 22U /*!< SCB ICSR: ISRPENDING Position */
|
||||
#define SCB_ICSR_ISRPENDING_Msk (1UL << SCB_ICSR_ISRPENDING_Pos) /*!< SCB ICSR: ISRPENDING Mask */
|
||||
|
||||
#define SCB_ICSR_VECTPENDING_Pos 12U /*!< SCB ICSR: VECTPENDING Position */
|
||||
#define SCB_ICSR_VECTPENDING_Msk (0x1FFUL << SCB_ICSR_VECTPENDING_Pos) /*!< SCB ICSR: VECTPENDING Mask */
|
||||
|
||||
#define SCB_ICSR_VECTACTIVE_Pos 0U /*!< SCB ICSR: VECTACTIVE Position */
|
||||
#define SCB_ICSR_VECTACTIVE_Msk (0x1FFUL /*<< SCB_ICSR_VECTACTIVE_Pos*/) /*!< SCB ICSR: VECTACTIVE Mask */
|
||||
|
||||
/* SCB Application Interrupt and Reset Control Register Definitions */
|
||||
#define SCB_AIRCR_VECTKEY_Pos 16U /*!< SCB AIRCR: VECTKEY Position */
|
||||
#define SCB_AIRCR_VECTKEY_Msk (0xFFFFUL << SCB_AIRCR_VECTKEY_Pos) /*!< SCB AIRCR: VECTKEY Mask */
|
||||
|
||||
#define SCB_AIRCR_VECTKEYSTAT_Pos 16U /*!< SCB AIRCR: VECTKEYSTAT Position */
|
||||
#define SCB_AIRCR_VECTKEYSTAT_Msk (0xFFFFUL << SCB_AIRCR_VECTKEYSTAT_Pos) /*!< SCB AIRCR: VECTKEYSTAT Mask */
|
||||
|
||||
#define SCB_AIRCR_ENDIANESS_Pos 15U /*!< SCB AIRCR: ENDIANESS Position */
|
||||
#define SCB_AIRCR_ENDIANESS_Msk (1UL << SCB_AIRCR_ENDIANESS_Pos) /*!< SCB AIRCR: ENDIANESS Mask */
|
||||
|
||||
#define SCB_AIRCR_SYSRESETREQ_Pos 2U /*!< SCB AIRCR: SYSRESETREQ Position */
|
||||
#define SCB_AIRCR_SYSRESETREQ_Msk (1UL << SCB_AIRCR_SYSRESETREQ_Pos) /*!< SCB AIRCR: SYSRESETREQ Mask */
|
||||
|
||||
#define SCB_AIRCR_VECTCLRACTIVE_Pos 1U /*!< SCB AIRCR: VECTCLRACTIVE Position */
|
||||
#define SCB_AIRCR_VECTCLRACTIVE_Msk (1UL << SCB_AIRCR_VECTCLRACTIVE_Pos) /*!< SCB AIRCR: VECTCLRACTIVE Mask */
|
||||
|
||||
/* SCB System Control Register Definitions */
|
||||
#define SCB_SCR_SEVONPEND_Pos 4U /*!< SCB SCR: SEVONPEND Position */
|
||||
#define SCB_SCR_SEVONPEND_Msk (1UL << SCB_SCR_SEVONPEND_Pos) /*!< SCB SCR: SEVONPEND Mask */
|
||||
|
||||
#define SCB_SCR_SLEEPDEEP_Pos 2U /*!< SCB SCR: SLEEPDEEP Position */
|
||||
#define SCB_SCR_SLEEPDEEP_Msk (1UL << SCB_SCR_SLEEPDEEP_Pos) /*!< SCB SCR: SLEEPDEEP Mask */
|
||||
|
||||
#define SCB_SCR_SLEEPONEXIT_Pos 1U /*!< SCB SCR: SLEEPONEXIT Position */
|
||||
#define SCB_SCR_SLEEPONEXIT_Msk (1UL << SCB_SCR_SLEEPONEXIT_Pos) /*!< SCB SCR: SLEEPONEXIT Mask */
|
||||
|
||||
/* SCB Configuration Control Register Definitions */
|
||||
#define SCB_CCR_STKALIGN_Pos 9U /*!< SCB CCR: STKALIGN Position */
|
||||
#define SCB_CCR_STKALIGN_Msk (1UL << SCB_CCR_STKALIGN_Pos) /*!< SCB CCR: STKALIGN Mask */
|
||||
|
||||
#define SCB_CCR_UNALIGN_TRP_Pos 3U /*!< SCB CCR: UNALIGN_TRP Position */
|
||||
#define SCB_CCR_UNALIGN_TRP_Msk (1UL << SCB_CCR_UNALIGN_TRP_Pos) /*!< SCB CCR: UNALIGN_TRP Mask */
|
||||
|
||||
/* SCB System Handler Control and State Register Definitions */
|
||||
#define SCB_SHCSR_SVCALLPENDED_Pos 15U /*!< SCB SHCSR: SVCALLPENDED Position */
|
||||
#define SCB_SHCSR_SVCALLPENDED_Msk (1UL << SCB_SHCSR_SVCALLPENDED_Pos) /*!< SCB SHCSR: SVCALLPENDED Mask */
|
||||
|
||||
/*@} end of group CMSIS_SCB */
|
||||
|
||||
|
||||
/**
|
||||
\ingroup CMSIS_core_register
|
||||
\defgroup CMSIS_SysTick System Tick Timer (SysTick)
|
||||
\brief Type definitions for the System Timer Registers.
|
||||
@{
|
||||
*/
|
||||
|
||||
/**
|
||||
\brief Structure type to access the System Timer (SysTick).
|
||||
*/
|
||||
typedef struct
|
||||
{
|
||||
__IOM uint32_t CTRL; /*!< Offset: 0x000 (R/W) SysTick Control and Status Register */
|
||||
__IOM uint32_t LOAD; /*!< Offset: 0x004 (R/W) SysTick Reload Value Register */
|
||||
__IOM uint32_t VAL; /*!< Offset: 0x008 (R/W) SysTick Current Value Register */
|
||||
__IM uint32_t CALIB; /*!< Offset: 0x00C (R/ ) SysTick Calibration Register */
|
||||
} SysTick_Type;
|
||||
|
||||
/* SysTick Control / Status Register Definitions */
|
||||
#define SysTick_CTRL_COUNTFLAG_Pos 16U /*!< SysTick CTRL: COUNTFLAG Position */
|
||||
#define SysTick_CTRL_COUNTFLAG_Msk (1UL << SysTick_CTRL_COUNTFLAG_Pos) /*!< SysTick CTRL: COUNTFLAG Mask */
|
||||
|
||||
#define SysTick_CTRL_CLKSOURCE_Pos 2U /*!< SysTick CTRL: CLKSOURCE Position */
|
||||
#define SysTick_CTRL_CLKSOURCE_Msk (1UL << SysTick_CTRL_CLKSOURCE_Pos) /*!< SysTick CTRL: CLKSOURCE Mask */
|
||||
|
||||
#define SysTick_CTRL_TICKINT_Pos 1U /*!< SysTick CTRL: TICKINT Position */
|
||||
#define SysTick_CTRL_TICKINT_Msk (1UL << SysTick_CTRL_TICKINT_Pos) /*!< SysTick CTRL: TICKINT Mask */
|
||||
|
||||
#define SysTick_CTRL_ENABLE_Pos 0U /*!< SysTick CTRL: ENABLE Position */
|
||||
#define SysTick_CTRL_ENABLE_Msk (1UL /*<< SysTick_CTRL_ENABLE_Pos*/) /*!< SysTick CTRL: ENABLE Mask */
|
||||
|
||||
/* SysTick Reload Register Definitions */
|
||||
#define SysTick_LOAD_RELOAD_Pos 0U /*!< SysTick LOAD: RELOAD Position */
|
||||
#define SysTick_LOAD_RELOAD_Msk (0xFFFFFFUL /*<< SysTick_LOAD_RELOAD_Pos*/) /*!< SysTick LOAD: RELOAD Mask */
|
||||
|
||||
/* SysTick Current Register Definitions */
|
||||
#define SysTick_VAL_CURRENT_Pos 0U /*!< SysTick VAL: CURRENT Position */
|
||||
#define SysTick_VAL_CURRENT_Msk (0xFFFFFFUL /*<< SysTick_VAL_CURRENT_Pos*/) /*!< SysTick VAL: CURRENT Mask */
|
||||
|
||||
/* SysTick Calibration Register Definitions */
|
||||
#define SysTick_CALIB_NOREF_Pos 31U /*!< SysTick CALIB: NOREF Position */
|
||||
#define SysTick_CALIB_NOREF_Msk (1UL << SysTick_CALIB_NOREF_Pos) /*!< SysTick CALIB: NOREF Mask */
|
||||
|
||||
#define SysTick_CALIB_SKEW_Pos 30U /*!< SysTick CALIB: SKEW Position */
|
||||
#define SysTick_CALIB_SKEW_Msk (1UL << SysTick_CALIB_SKEW_Pos) /*!< SysTick CALIB: SKEW Mask */
|
||||
|
||||
#define SysTick_CALIB_TENMS_Pos 0U /*!< SysTick CALIB: TENMS Position */
|
||||
#define SysTick_CALIB_TENMS_Msk (0xFFFFFFUL /*<< SysTick_CALIB_TENMS_Pos*/) /*!< SysTick CALIB: TENMS Mask */
|
||||
|
||||
/*@} end of group CMSIS_SysTick */
|
||||
|
||||
|
||||
/**
|
||||
\ingroup CMSIS_core_register
|
||||
\defgroup CMSIS_CoreDebug Core Debug Registers (CoreDebug)
|
||||
\brief Cortex-M0 Core Debug Registers (DCB registers, SHCSR, and DFSR) are only accessible over DAP and not via processor.
|
||||
Therefore they are not covered by the Cortex-M0 header file.
|
||||
@{
|
||||
*/
|
||||
/*@} end of group CMSIS_CoreDebug */
|
||||
|
||||
|
||||
/**
|
||||
\ingroup CMSIS_core_register
|
||||
\defgroup CMSIS_core_bitfield Core register bit field macros
|
||||
\brief Macros for use with bit field definitions (xxx_Pos, xxx_Msk).
|
||||
@{
|
||||
*/
|
||||
|
||||
/**
|
||||
\brief Mask and shift a bit field value for use in a register bit range.
|
||||
\param[in] field Name of the register bit field.
|
||||
\param[in] value Value of the bit field. This parameter is interpreted as an uint32_t type.
|
||||
\return Masked and shifted value.
|
||||
*/
|
||||
#define _VAL2FLD(field, value) (((uint32_t)(value) << field ## _Pos) & field ## _Msk)
|
||||
|
||||
/**
|
||||
\brief Mask and shift a register value to extract a bit filed value.
|
||||
\param[in] field Name of the register bit field.
|
||||
\param[in] value Value of register. This parameter is interpreted as an uint32_t type.
|
||||
\return Masked and shifted bit field value.
|
||||
*/
|
||||
#define _FLD2VAL(field, value) (((uint32_t)(value) & field ## _Msk) >> field ## _Pos)
|
||||
|
||||
/*@} end of group CMSIS_core_bitfield */
|
||||
|
||||
|
||||
/**
|
||||
\ingroup CMSIS_core_register
|
||||
\defgroup CMSIS_core_base Core Definitions
|
||||
\brief Definitions for base addresses, unions, and structures.
|
||||
@{
|
||||
*/
|
||||
|
||||
/* Memory mapping of Core Hardware */
|
||||
#define SCS_BASE (0xE000E000UL) /*!< System Control Space Base Address */
|
||||
#define SysTick_BASE (SCS_BASE + 0x0010UL) /*!< SysTick Base Address */
|
||||
#define NVIC_BASE (SCS_BASE + 0x0100UL) /*!< NVIC Base Address */
|
||||
#define SCB_BASE (SCS_BASE + 0x0D00UL) /*!< System Control Block Base Address */
|
||||
|
||||
#define SCB ((SCB_Type *) SCB_BASE ) /*!< SCB configuration struct */
|
||||
#define SysTick ((SysTick_Type *) SysTick_BASE ) /*!< SysTick configuration struct */
|
||||
#define NVIC ((NVIC_Type *) NVIC_BASE ) /*!< NVIC configuration struct */
|
||||
|
||||
|
||||
/*@} */
|
||||
|
||||
|
||||
|
||||
/*******************************************************************************
|
||||
* Hardware Abstraction Layer
|
||||
Core Function Interface contains:
|
||||
- Core NVIC Functions
|
||||
- Core SysTick Functions
|
||||
- Core Register Access Functions
|
||||
******************************************************************************/
|
||||
/**
|
||||
\defgroup CMSIS_Core_FunctionInterface Functions and Instructions Reference
|
||||
*/
|
||||
|
||||
|
||||
|
||||
/* ########################## NVIC functions #################################### */
|
||||
/**
|
||||
\ingroup CMSIS_Core_FunctionInterface
|
||||
\defgroup CMSIS_Core_NVICFunctions NVIC Functions
|
||||
\brief Functions that manage interrupts and exceptions via the NVIC.
|
||||
@{
|
||||
*/
|
||||
|
||||
#ifdef CMSIS_NVIC_VIRTUAL
|
||||
#ifndef CMSIS_NVIC_VIRTUAL_HEADER_FILE
|
||||
#define CMSIS_NVIC_VIRTUAL_HEADER_FILE "cmsis_nvic_virtual.h"
|
||||
#endif
|
||||
#include CMSIS_NVIC_VIRTUAL_HEADER_FILE
|
||||
#else
|
||||
#define NVIC_SetPriorityGrouping __NVIC_SetPriorityGrouping
|
||||
#define NVIC_GetPriorityGrouping __NVIC_GetPriorityGrouping
|
||||
#define NVIC_EnableIRQ __NVIC_EnableIRQ
|
||||
#define NVIC_GetEnableIRQ __NVIC_GetEnableIRQ
|
||||
#define NVIC_DisableIRQ __NVIC_DisableIRQ
|
||||
#define NVIC_GetPendingIRQ __NVIC_GetPendingIRQ
|
||||
#define NVIC_SetPendingIRQ __NVIC_SetPendingIRQ
|
||||
#define NVIC_ClearPendingIRQ __NVIC_ClearPendingIRQ
|
||||
/*#define NVIC_GetActive __NVIC_GetActive not available for Cortex-M0 */
|
||||
#define NVIC_SetPriority __NVIC_SetPriority
|
||||
#define NVIC_GetPriority __NVIC_GetPriority
|
||||
#define NVIC_SystemReset __NVIC_SystemReset
|
||||
#endif /* CMSIS_NVIC_VIRTUAL */
|
||||
|
||||
#ifdef CMSIS_VECTAB_VIRTUAL
|
||||
#ifndef CMSIS_VECTAB_VIRTUAL_HEADER_FILE
|
||||
#define CMSIS_VECTAB_VIRTUAL_HEADER_FILE "cmsis_vectab_virtual.h"
|
||||
#endif
|
||||
#include CMSIS_VECTAB_VIRTUAL_HEADER_FILE
|
||||
#else
|
||||
#define NVIC_SetVector __NVIC_SetVector
|
||||
#define NVIC_GetVector __NVIC_GetVector
|
||||
#endif /* (CMSIS_VECTAB_VIRTUAL) */
|
||||
|
||||
#define NVIC_USER_IRQ_OFFSET 16
|
||||
|
||||
|
||||
/* The following EXC_RETURN values are saved the LR on exception entry */
|
||||
#define EXC_RETURN_HANDLER (0xFFFFFFF1UL) /* return to Handler mode, uses MSP after return */
|
||||
#define EXC_RETURN_THREAD_MSP (0xFFFFFFF9UL) /* return to Thread mode, uses MSP after return */
|
||||
#define EXC_RETURN_THREAD_PSP (0xFFFFFFFDUL) /* return to Thread mode, uses PSP after return */
|
||||
|
||||
|
||||
/* Interrupt Priorities are WORD accessible only under Armv6-M */
|
||||
/* The following MACROS handle generation of the register offset and byte masks */
|
||||
#define _BIT_SHIFT(IRQn) ( ((((uint32_t)(int32_t)(IRQn)) ) & 0x03UL) * 8UL)
|
||||
#define _SHP_IDX(IRQn) ( (((((uint32_t)(int32_t)(IRQn)) & 0x0FUL)-8UL) >> 2UL) )
|
||||
#define _IP_IDX(IRQn) ( (((uint32_t)(int32_t)(IRQn)) >> 2UL) )
|
||||
|
||||
#define __NVIC_SetPriorityGrouping(X) (void)(X)
|
||||
#define __NVIC_GetPriorityGrouping() (0U)
|
||||
|
||||
/**
|
||||
\brief Enable Interrupt
|
||||
\details Enables a device specific interrupt in the NVIC interrupt controller.
|
||||
\param [in] IRQn Device specific interrupt number.
|
||||
\note IRQn must not be negative.
|
||||
*/
|
||||
__STATIC_INLINE void __NVIC_EnableIRQ(IRQn_Type IRQn)
|
||||
{
|
||||
if ((int32_t)(IRQn) >= 0)
|
||||
{
|
||||
__COMPILER_BARRIER();
|
||||
NVIC->ISER[0U] = (uint32_t)(1UL << (((uint32_t)IRQn) & 0x1FUL));
|
||||
__COMPILER_BARRIER();
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
\brief Get Interrupt Enable status
|
||||
\details Returns a device specific interrupt enable status from the NVIC interrupt controller.
|
||||
\param [in] IRQn Device specific interrupt number.
|
||||
\return 0 Interrupt is not enabled.
|
||||
\return 1 Interrupt is enabled.
|
||||
\note IRQn must not be negative.
|
||||
*/
|
||||
__STATIC_INLINE uint32_t __NVIC_GetEnableIRQ(IRQn_Type IRQn)
|
||||
{
|
||||
if ((int32_t)(IRQn) >= 0)
|
||||
{
|
||||
return((uint32_t)(((NVIC->ISER[0U] & (1UL << (((uint32_t)IRQn) & 0x1FUL))) != 0UL) ? 1UL : 0UL));
|
||||
}
|
||||
else
|
||||
{
|
||||
return(0U);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
\brief Disable Interrupt
|
||||
\details Disables a device specific interrupt in the NVIC interrupt controller.
|
||||
\param [in] IRQn Device specific interrupt number.
|
||||
\note IRQn must not be negative.
|
||||
*/
|
||||
__STATIC_INLINE void __NVIC_DisableIRQ(IRQn_Type IRQn)
|
||||
{
|
||||
if ((int32_t)(IRQn) >= 0)
|
||||
{
|
||||
NVIC->ICER[0U] = (uint32_t)(1UL << (((uint32_t)IRQn) & 0x1FUL));
|
||||
__DSB();
|
||||
__ISB();
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
\brief Get Pending Interrupt
|
||||
\details Reads the NVIC pending register and returns the pending bit for the specified device specific interrupt.
|
||||
\param [in] IRQn Device specific interrupt number.
|
||||
\return 0 Interrupt status is not pending.
|
||||
\return 1 Interrupt status is pending.
|
||||
\note IRQn must not be negative.
|
||||
*/
|
||||
__STATIC_INLINE uint32_t __NVIC_GetPendingIRQ(IRQn_Type IRQn)
|
||||
{
|
||||
if ((int32_t)(IRQn) >= 0)
|
||||
{
|
||||
return((uint32_t)(((NVIC->ISPR[0U] & (1UL << (((uint32_t)IRQn) & 0x1FUL))) != 0UL) ? 1UL : 0UL));
|
||||
}
|
||||
else
|
||||
{
|
||||
return(0U);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
\brief Set Pending Interrupt
|
||||
\details Sets the pending bit of a device specific interrupt in the NVIC pending register.
|
||||
\param [in] IRQn Device specific interrupt number.
|
||||
\note IRQn must not be negative.
|
||||
*/
|
||||
__STATIC_INLINE void __NVIC_SetPendingIRQ(IRQn_Type IRQn)
|
||||
{
|
||||
if ((int32_t)(IRQn) >= 0)
|
||||
{
|
||||
NVIC->ISPR[0U] = (uint32_t)(1UL << (((uint32_t)IRQn) & 0x1FUL));
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
\brief Clear Pending Interrupt
|
||||
\details Clears the pending bit of a device specific interrupt in the NVIC pending register.
|
||||
\param [in] IRQn Device specific interrupt number.
|
||||
\note IRQn must not be negative.
|
||||
*/
|
||||
__STATIC_INLINE void __NVIC_ClearPendingIRQ(IRQn_Type IRQn)
|
||||
{
|
||||
if ((int32_t)(IRQn) >= 0)
|
||||
{
|
||||
NVIC->ICPR[0U] = (uint32_t)(1UL << (((uint32_t)IRQn) & 0x1FUL));
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
\brief Set Interrupt Priority
|
||||
\details Sets the priority of a device specific interrupt or a processor exception.
|
||||
The interrupt number can be positive to specify a device specific interrupt,
|
||||
or negative to specify a processor exception.
|
||||
\param [in] IRQn Interrupt number.
|
||||
\param [in] priority Priority to set.
|
||||
\note The priority cannot be set for every processor exception.
|
||||
*/
|
||||
__STATIC_INLINE void __NVIC_SetPriority(IRQn_Type IRQn, uint32_t priority)
|
||||
{
|
||||
if ((int32_t)(IRQn) >= 0)
|
||||
{
|
||||
NVIC->IP[_IP_IDX(IRQn)] = ((uint32_t)(NVIC->IP[_IP_IDX(IRQn)] & ~(0xFFUL << _BIT_SHIFT(IRQn))) |
|
||||
(((priority << (8U - __NVIC_PRIO_BITS)) & (uint32_t)0xFFUL) << _BIT_SHIFT(IRQn)));
|
||||
}
|
||||
else
|
||||
{
|
||||
SCB->SHP[_SHP_IDX(IRQn)] = ((uint32_t)(SCB->SHP[_SHP_IDX(IRQn)] & ~(0xFFUL << _BIT_SHIFT(IRQn))) |
|
||||
(((priority << (8U - __NVIC_PRIO_BITS)) & (uint32_t)0xFFUL) << _BIT_SHIFT(IRQn)));
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
\brief Get Interrupt Priority
|
||||
\details Reads the priority of a device specific interrupt or a processor exception.
|
||||
The interrupt number can be positive to specify a device specific interrupt,
|
||||
or negative to specify a processor exception.
|
||||
\param [in] IRQn Interrupt number.
|
||||
\return Interrupt Priority.
|
||||
Value is aligned automatically to the implemented priority bits of the microcontroller.
|
||||
*/
|
||||
__STATIC_INLINE uint32_t __NVIC_GetPriority(IRQn_Type IRQn)
|
||||
{
|
||||
|
||||
if ((int32_t)(IRQn) >= 0)
|
||||
{
|
||||
return((uint32_t)(((NVIC->IP[ _IP_IDX(IRQn)] >> _BIT_SHIFT(IRQn) ) & (uint32_t)0xFFUL) >> (8U - __NVIC_PRIO_BITS)));
|
||||
}
|
||||
else
|
||||
{
|
||||
return((uint32_t)(((SCB->SHP[_SHP_IDX(IRQn)] >> _BIT_SHIFT(IRQn) ) & (uint32_t)0xFFUL) >> (8U - __NVIC_PRIO_BITS)));
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
\brief Encode Priority
|
||||
\details Encodes the priority for an interrupt with the given priority group,
|
||||
preemptive priority value, and subpriority value.
|
||||
In case of a conflict between priority grouping and available
|
||||
priority bits (__NVIC_PRIO_BITS), the smallest possible priority group is set.
|
||||
\param [in] PriorityGroup Used priority group.
|
||||
\param [in] PreemptPriority Preemptive priority value (starting from 0).
|
||||
\param [in] SubPriority Subpriority value (starting from 0).
|
||||
\return Encoded priority. Value can be used in the function \ref NVIC_SetPriority().
|
||||
*/
|
||||
__STATIC_INLINE uint32_t NVIC_EncodePriority (uint32_t PriorityGroup, uint32_t PreemptPriority, uint32_t SubPriority)
|
||||
{
|
||||
uint32_t PriorityGroupTmp = (PriorityGroup & (uint32_t)0x07UL); /* only values 0..7 are used */
|
||||
uint32_t PreemptPriorityBits;
|
||||
uint32_t SubPriorityBits;
|
||||
|
||||
PreemptPriorityBits = ((7UL - PriorityGroupTmp) > (uint32_t)(__NVIC_PRIO_BITS)) ? (uint32_t)(__NVIC_PRIO_BITS) : (uint32_t)(7UL - PriorityGroupTmp);
|
||||
SubPriorityBits = ((PriorityGroupTmp + (uint32_t)(__NVIC_PRIO_BITS)) < (uint32_t)7UL) ? (uint32_t)0UL : (uint32_t)((PriorityGroupTmp - 7UL) + (uint32_t)(__NVIC_PRIO_BITS));
|
||||
|
||||
return (
|
||||
((PreemptPriority & (uint32_t)((1UL << (PreemptPriorityBits)) - 1UL)) << SubPriorityBits) |
|
||||
((SubPriority & (uint32_t)((1UL << (SubPriorityBits )) - 1UL)))
|
||||
);
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
\brief Decode Priority
|
||||
\details Decodes an interrupt priority value with a given priority group to
|
||||
preemptive priority value and subpriority value.
|
||||
In case of a conflict between priority grouping and available
|
||||
priority bits (__NVIC_PRIO_BITS) the smallest possible priority group is set.
|
||||
\param [in] Priority Priority value, which can be retrieved with the function \ref NVIC_GetPriority().
|
||||
\param [in] PriorityGroup Used priority group.
|
||||
\param [out] pPreemptPriority Preemptive priority value (starting from 0).
|
||||
\param [out] pSubPriority Subpriority value (starting from 0).
|
||||
*/
|
||||
__STATIC_INLINE void NVIC_DecodePriority (uint32_t Priority, uint32_t PriorityGroup, uint32_t* const pPreemptPriority, uint32_t* const pSubPriority)
|
||||
{
|
||||
uint32_t PriorityGroupTmp = (PriorityGroup & (uint32_t)0x07UL); /* only values 0..7 are used */
|
||||
uint32_t PreemptPriorityBits;
|
||||
uint32_t SubPriorityBits;
|
||||
|
||||
PreemptPriorityBits = ((7UL - PriorityGroupTmp) > (uint32_t)(__NVIC_PRIO_BITS)) ? (uint32_t)(__NVIC_PRIO_BITS) : (uint32_t)(7UL - PriorityGroupTmp);
|
||||
SubPriorityBits = ((PriorityGroupTmp + (uint32_t)(__NVIC_PRIO_BITS)) < (uint32_t)7UL) ? (uint32_t)0UL : (uint32_t)((PriorityGroupTmp - 7UL) + (uint32_t)(__NVIC_PRIO_BITS));
|
||||
|
||||
*pPreemptPriority = (Priority >> SubPriorityBits) & (uint32_t)((1UL << (PreemptPriorityBits)) - 1UL);
|
||||
*pSubPriority = (Priority ) & (uint32_t)((1UL << (SubPriorityBits )) - 1UL);
|
||||
}
|
||||
|
||||
|
||||
|
||||
/**
|
||||
\brief Set Interrupt Vector
|
||||
\details Sets an interrupt vector in SRAM based interrupt vector table.
|
||||
The interrupt number can be positive to specify a device specific interrupt,
|
||||
or negative to specify a processor exception.
|
||||
Address 0 must be mapped to SRAM.
|
||||
\param [in] IRQn Interrupt number
|
||||
\param [in] vector Address of interrupt handler function
|
||||
*/
|
||||
__STATIC_INLINE void __NVIC_SetVector(IRQn_Type IRQn, uint32_t vector)
|
||||
{
|
||||
uint32_t vectors = 0x0U;
|
||||
(* (int *) (vectors + ((int32_t)IRQn + NVIC_USER_IRQ_OFFSET) * 4)) = vector;
|
||||
/* ARM Application Note 321 states that the M0 does not require the architectural barrier */
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
\brief Get Interrupt Vector
|
||||
\details Reads an interrupt vector from interrupt vector table.
|
||||
The interrupt number can be positive to specify a device specific interrupt,
|
||||
or negative to specify a processor exception.
|
||||
\param [in] IRQn Interrupt number.
|
||||
\return Address of interrupt handler function
|
||||
*/
|
||||
__STATIC_INLINE uint32_t __NVIC_GetVector(IRQn_Type IRQn)
|
||||
{
|
||||
uint32_t vectors = 0x0U;
|
||||
return (uint32_t)(* (int *) (vectors + ((int32_t)IRQn + NVIC_USER_IRQ_OFFSET) * 4));
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
\brief System Reset
|
||||
\details Initiates a system reset request to reset the MCU.
|
||||
*/
|
||||
__NO_RETURN __STATIC_INLINE void __NVIC_SystemReset(void)
|
||||
{
|
||||
__DSB(); /* Ensure all outstanding memory accesses included
|
||||
buffered write are completed before reset */
|
||||
SCB->AIRCR = ((0x5FAUL << SCB_AIRCR_VECTKEY_Pos) |
|
||||
SCB_AIRCR_SYSRESETREQ_Msk);
|
||||
__DSB(); /* Ensure completion of memory access */
|
||||
|
||||
for(;;) /* wait until reset */
|
||||
{
|
||||
__NOP();
|
||||
}
|
||||
}
|
||||
|
||||
/*@} end of CMSIS_Core_NVICFunctions */
|
||||
|
||||
|
||||
/* ########################## FPU functions #################################### */
|
||||
/**
|
||||
\ingroup CMSIS_Core_FunctionInterface
|
||||
\defgroup CMSIS_Core_FpuFunctions FPU Functions
|
||||
\brief Function that provides FPU type.
|
||||
@{
|
||||
*/
|
||||
|
||||
/**
|
||||
\brief get FPU type
|
||||
\details returns the FPU type
|
||||
\returns
|
||||
- \b 0: No FPU
|
||||
- \b 1: Single precision FPU
|
||||
- \b 2: Double + Single precision FPU
|
||||
*/
|
||||
__STATIC_INLINE uint32_t SCB_GetFPUType(void)
|
||||
{
|
||||
return 0U; /* No FPU */
|
||||
}
|
||||
|
||||
|
||||
/*@} end of CMSIS_Core_FpuFunctions */
|
||||
|
||||
|
||||
|
||||
/* ################################## SysTick function ############################################ */
|
||||
/**
|
||||
\ingroup CMSIS_Core_FunctionInterface
|
||||
\defgroup CMSIS_Core_SysTickFunctions SysTick Functions
|
||||
\brief Functions that configure the System.
|
||||
@{
|
||||
*/
|
||||
|
||||
#if defined (__Vendor_SysTickConfig) && (__Vendor_SysTickConfig == 0U)
|
||||
|
||||
/**
|
||||
\brief System Tick Configuration
|
||||
\details Initializes the System Timer and its interrupt, and starts the System Tick Timer.
|
||||
Counter is in free running mode to generate periodic interrupts.
|
||||
\param [in] ticks Number of ticks between two interrupts.
|
||||
\return 0 Function succeeded.
|
||||
\return 1 Function failed.
|
||||
\note When the variable <b>__Vendor_SysTickConfig</b> is set to 1, then the
|
||||
function <b>SysTick_Config</b> is not included. In this case, the file <b><i>device</i>.h</b>
|
||||
must contain a vendor-specific implementation of this function.
|
||||
*/
|
||||
__STATIC_INLINE uint32_t SysTick_Config(uint32_t ticks)
|
||||
{
|
||||
if ((ticks - 1UL) > SysTick_LOAD_RELOAD_Msk)
|
||||
{
|
||||
return (1UL); /* Reload value impossible */
|
||||
}
|
||||
|
||||
SysTick->LOAD = (uint32_t)(ticks - 1UL); /* set reload register */
|
||||
NVIC_SetPriority (SysTick_IRQn, (1UL << __NVIC_PRIO_BITS) - 1UL); /* set Priority for Systick Interrupt */
|
||||
SysTick->VAL = 0UL; /* Load the SysTick Counter Value */
|
||||
SysTick->CTRL = SysTick_CTRL_CLKSOURCE_Msk |
|
||||
SysTick_CTRL_TICKINT_Msk |
|
||||
SysTick_CTRL_ENABLE_Msk; /* Enable SysTick IRQ and SysTick Timer */
|
||||
return (0UL); /* Function successful */
|
||||
}
|
||||
|
||||
#endif
|
||||
|
||||
/*@} end of CMSIS_Core_SysTickFunctions */
|
||||
|
||||
|
||||
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif /* __CORE_CM0_H_DEPENDANT */
|
||||
|
||||
#endif /* __CMSIS_GENERIC */
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user