Added PCB and Schematic files

This commit is contained in:
Philip Smart
2022-03-10 00:02:28 +00:00
parent 4ba087e591
commit 29527bea3f
28 changed files with 51914 additions and 73 deletions

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,762 @@
G04 #@! TF.GenerationSoftware,KiCad,Pcbnew,(5.1.2-1)-1*
G04 #@! TF.CreationDate,2022-01-26T01:19:45+00:00*
G04 #@! TF.ProjectId,mz25key,6d7a3235-6b65-4792-9e6b-696361645f70,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 (5.1.2-1)-1) date 2022-01-26 01:19:45*
%MOMM*%
%LPD*%
G04 APERTURE LIST*
%ADD10C,0.120000*%
%ADD11C,0.200000*%
%ADD12C,0.150000*%
%ADD13C,0.500000*%
G04 APERTURE END LIST*
D10*
X71330000Y-83420000D02*
X56330000Y-83420000D01*
X99160000Y-100300000D02*
X99170000Y-86360000D01*
X89020000Y-100290000D02*
X99160000Y-100300000D01*
X89020000Y-86360000D02*
X89020000Y-100290000D01*
X99170000Y-86360000D02*
X89020000Y-86360000D01*
X57400000Y-102790000D02*
X57400000Y-83790000D01*
X54400000Y-102790000D02*
X57400000Y-102790000D01*
X54400000Y-83800000D02*
X54400000Y-102790000D01*
X57400000Y-83790000D02*
X54400000Y-83800000D01*
X54830000Y-80420000D02*
X54830000Y-83420000D01*
X71330000Y-80420000D02*
X54830000Y-80420000D01*
X71330000Y-83420000D02*
X71330000Y-80420000D01*
D11*
X79453333Y-86628571D02*
X79120000Y-86628571D01*
X78977142Y-87152380D02*
X79453333Y-87152380D01*
X79453333Y-86152380D01*
X78977142Y-86152380D01*
X78596190Y-87104761D02*
X78453333Y-87152380D01*
X78215238Y-87152380D01*
X78120000Y-87104761D01*
X78072380Y-87057142D01*
X78024761Y-86961904D01*
X78024761Y-86866666D01*
X78072380Y-86771428D01*
X78120000Y-86723809D01*
X78215238Y-86676190D01*
X78405714Y-86628571D01*
X78500952Y-86580952D01*
X78548571Y-86533333D01*
X78596190Y-86438095D01*
X78596190Y-86342857D01*
X78548571Y-86247619D01*
X78500952Y-86200000D01*
X78405714Y-86152380D01*
X78167619Y-86152380D01*
X78024761Y-86200000D01*
X77596190Y-87152380D02*
X77596190Y-86152380D01*
X77215238Y-86152380D01*
X77120000Y-86200000D01*
X77072380Y-86247619D01*
X77024761Y-86342857D01*
X77024761Y-86485714D01*
X77072380Y-86580952D01*
X77120000Y-86628571D01*
X77215238Y-86676190D01*
X77596190Y-86676190D01*
X76691428Y-86152380D02*
X76072380Y-86152380D01*
X76405714Y-86533333D01*
X76262857Y-86533333D01*
X76167619Y-86580952D01*
X76120000Y-86628571D01*
X76072380Y-86723809D01*
X76072380Y-86961904D01*
X76120000Y-87057142D01*
X76167619Y-87104761D01*
X76262857Y-87152380D01*
X76548571Y-87152380D01*
X76643809Y-87104761D01*
X76691428Y-87057142D01*
X75691428Y-86247619D02*
X75643809Y-86200000D01*
X75548571Y-86152380D01*
X75310476Y-86152380D01*
X75215238Y-86200000D01*
X75167619Y-86247619D01*
X75120000Y-86342857D01*
X75120000Y-86438095D01*
X75167619Y-86580952D01*
X75739047Y-87152380D01*
X75120000Y-87152380D01*
X74691428Y-86771428D02*
X73929523Y-86771428D01*
X73500952Y-87104761D02*
X73358095Y-87152380D01*
X73120000Y-87152380D01*
X73024761Y-87104761D01*
X72977142Y-87057142D01*
X72929523Y-86961904D01*
X72929523Y-86866666D01*
X72977142Y-86771428D01*
X73024761Y-86723809D01*
X73120000Y-86676190D01*
X73310476Y-86628571D01*
X73405714Y-86580952D01*
X73453333Y-86533333D01*
X73500952Y-86438095D01*
X73500952Y-86342857D01*
X73453333Y-86247619D01*
X73405714Y-86200000D01*
X73310476Y-86152380D01*
X73072380Y-86152380D01*
X72929523Y-86200000D01*
X71786666Y-86866666D02*
X71310476Y-86866666D01*
X71881904Y-87152380D02*
X71548571Y-86152380D01*
X71215238Y-87152380D01*
X70881904Y-87152380D02*
X70881904Y-86152380D01*
X69786666Y-86152380D02*
X69215238Y-86152380D01*
X69500952Y-87152380D02*
X69500952Y-86152380D01*
X68881904Y-87152380D02*
X68881904Y-86152380D01*
X68453333Y-87152380D02*
X68453333Y-86628571D01*
X68500952Y-86533333D01*
X68596190Y-86485714D01*
X68739047Y-86485714D01*
X68834285Y-86533333D01*
X68881904Y-86580952D01*
X67977142Y-87152380D02*
X67977142Y-86485714D01*
X67977142Y-86152380D02*
X68024761Y-86200000D01*
X67977142Y-86247619D01*
X67929523Y-86200000D01*
X67977142Y-86152380D01*
X67977142Y-86247619D01*
X67500952Y-86485714D02*
X67500952Y-87152380D01*
X67500952Y-86580952D02*
X67453333Y-86533333D01*
X67358095Y-86485714D01*
X67215238Y-86485714D01*
X67120000Y-86533333D01*
X67072380Y-86628571D01*
X67072380Y-87152380D01*
X66596190Y-87152380D02*
X66596190Y-86152380D01*
X66500952Y-86771428D02*
X66215238Y-87152380D01*
X66215238Y-86485714D02*
X66596190Y-86866666D01*
X65405714Y-87104761D02*
X65500952Y-87152380D01*
X65691428Y-87152380D01*
X65786666Y-87104761D01*
X65834285Y-87009523D01*
X65834285Y-86628571D01*
X65786666Y-86533333D01*
X65691428Y-86485714D01*
X65500952Y-86485714D01*
X65405714Y-86533333D01*
X65358095Y-86628571D01*
X65358095Y-86723809D01*
X65834285Y-86819047D01*
X64929523Y-87152380D02*
X64929523Y-86485714D01*
X64929523Y-86676190D02*
X64881904Y-86580952D01*
X64834285Y-86533333D01*
X64739047Y-86485714D01*
X64643809Y-86485714D01*
X74500952Y-88852380D02*
X74500952Y-87852380D01*
X74167619Y-88566666D01*
X73834285Y-87852380D01*
X73834285Y-88852380D01*
X73215238Y-88852380D02*
X73310476Y-88804761D01*
X73358095Y-88757142D01*
X73405714Y-88661904D01*
X73405714Y-88376190D01*
X73358095Y-88280952D01*
X73310476Y-88233333D01*
X73215238Y-88185714D01*
X73072380Y-88185714D01*
X72977142Y-88233333D01*
X72929523Y-88280952D01*
X72881904Y-88376190D01*
X72881904Y-88661904D01*
X72929523Y-88757142D01*
X72977142Y-88804761D01*
X73072380Y-88852380D01*
X73215238Y-88852380D01*
X72024761Y-88852380D02*
X72024761Y-87852380D01*
X72024761Y-88804761D02*
X72120000Y-88852380D01*
X72310476Y-88852380D01*
X72405714Y-88804761D01*
X72453333Y-88757142D01*
X72500952Y-88661904D01*
X72500952Y-88376190D01*
X72453333Y-88280952D01*
X72405714Y-88233333D01*
X72310476Y-88185714D01*
X72120000Y-88185714D01*
X72024761Y-88233333D01*
X71120000Y-88185714D02*
X71120000Y-88852380D01*
X71548571Y-88185714D02*
X71548571Y-88709523D01*
X71500952Y-88804761D01*
X71405714Y-88852380D01*
X71262857Y-88852380D01*
X71167619Y-88804761D01*
X71120000Y-88757142D01*
X70500952Y-88852380D02*
X70596190Y-88804761D01*
X70643809Y-88709523D01*
X70643809Y-87852380D01*
X69739047Y-88804761D02*
X69834285Y-88852380D01*
X70024761Y-88852380D01*
X70120000Y-88804761D01*
X70167619Y-88709523D01*
X70167619Y-88328571D01*
X70120000Y-88233333D01*
X70024761Y-88185714D01*
X69834285Y-88185714D01*
X69739047Y-88233333D01*
X69691428Y-88328571D01*
X69691428Y-88423809D01*
X70167619Y-88519047D01*
D12*
X87730000Y-84220000D02*
X87730000Y-102220000D01*
X62230000Y-84220000D02*
X62230000Y-102220000D01*
X87730000Y-84220000D02*
X62230000Y-84220000D01*
X87730000Y-102220000D02*
X62230000Y-102220000D01*
X81730000Y-84220000D02*
X81730000Y-102220000D01*
D13*
X81867981Y-103126000D02*
G75*
G03X81867981Y-103126000I-283981J0D01*
G01*
D10*
X91878578Y-103730000D02*
X91361422Y-103730000D01*
X91878578Y-102310000D02*
X91361422Y-102310000D01*
X59508578Y-85300000D02*
X58991422Y-85300000D01*
X59508578Y-83880000D02*
X58991422Y-83880000D01*
X91361422Y-100240000D02*
X91878578Y-100240000D01*
X91361422Y-101660000D02*
X91878578Y-101660000D01*
X83681422Y-104270000D02*
X84198578Y-104270000D01*
X83681422Y-105690000D02*
X84198578Y-105690000D01*
X87040000Y-103410000D02*
X88440000Y-103410000D01*
X88440000Y-105730000D02*
X86540000Y-105730000D01*
X91351422Y-104300000D02*
X91868578Y-104300000D01*
X91351422Y-105720000D02*
X91868578Y-105720000D01*
X91878578Y-99580000D02*
X91361422Y-99580000D01*
X91878578Y-98160000D02*
X91361422Y-98160000D01*
X90998578Y-88140000D02*
X90481422Y-88140000D01*
X90998578Y-86720000D02*
X90481422Y-86720000D01*
X91210000Y-93341422D02*
X91210000Y-93858578D01*
X89790000Y-93341422D02*
X89790000Y-93858578D01*
X96061422Y-96370000D02*
X96578578Y-96370000D01*
X96061422Y-97790000D02*
X96578578Y-97790000D01*
D12*
X62049523Y-84141904D02*
X62049523Y-84789523D01*
X62011428Y-84865714D01*
X61973333Y-84903809D01*
X61897142Y-84941904D01*
X61744761Y-84941904D01*
X61668571Y-84903809D01*
X61630476Y-84865714D01*
X61592380Y-84789523D01*
X61592380Y-84141904D01*
X61287619Y-84141904D02*
X60792380Y-84141904D01*
X61059047Y-84446666D01*
X60944761Y-84446666D01*
X60868571Y-84484761D01*
X60830476Y-84522857D01*
X60792380Y-84599047D01*
X60792380Y-84789523D01*
X60830476Y-84865714D01*
X60868571Y-84903809D01*
X60944761Y-84941904D01*
X61173333Y-84941904D01*
X61249523Y-84903809D01*
X61287619Y-84865714D01*
X65953333Y-105466666D02*
X65953333Y-105966666D01*
X65986666Y-106066666D01*
X66053333Y-106133333D01*
X66153333Y-106166666D01*
X66220000Y-106166666D01*
X65620000Y-106166666D02*
X65620000Y-105466666D01*
X65353333Y-105466666D01*
X65286666Y-105500000D01*
X65253333Y-105533333D01*
X65220000Y-105600000D01*
X65220000Y-105700000D01*
X65253333Y-105766666D01*
X65286666Y-105800000D01*
X65353333Y-105833333D01*
X65620000Y-105833333D01*
X64953333Y-105533333D02*
X64920000Y-105500000D01*
X64853333Y-105466666D01*
X64686666Y-105466666D01*
X64620000Y-105500000D01*
X64586666Y-105533333D01*
X64553333Y-105600000D01*
X64553333Y-105666666D01*
X64586666Y-105766666D01*
X64986666Y-106166666D01*
X64553333Y-106166666D01*
X69543333Y-105456666D02*
X69543333Y-105956666D01*
X69576666Y-106056666D01*
X69643333Y-106123333D01*
X69743333Y-106156666D01*
X69810000Y-106156666D01*
X69210000Y-106156666D02*
X69210000Y-105456666D01*
X68943333Y-105456666D01*
X68876666Y-105490000D01*
X68843333Y-105523333D01*
X68810000Y-105590000D01*
X68810000Y-105690000D01*
X68843333Y-105756666D01*
X68876666Y-105790000D01*
X68943333Y-105823333D01*
X69210000Y-105823333D01*
X68143333Y-106156666D02*
X68543333Y-106156666D01*
X68343333Y-106156666D02*
X68343333Y-105456666D01*
X68410000Y-105556666D01*
X68476666Y-105623333D01*
X68543333Y-105656666D01*
X94750000Y-103346666D02*
X94983333Y-103013333D01*
X95150000Y-103346666D02*
X95150000Y-102646666D01*
X94883333Y-102646666D01*
X94816666Y-102680000D01*
X94783333Y-102713333D01*
X94750000Y-102780000D01*
X94750000Y-102880000D01*
X94783333Y-102946666D01*
X94816666Y-102980000D01*
X94883333Y-103013333D01*
X95150000Y-103013333D01*
X94083333Y-103346666D02*
X94483333Y-103346666D01*
X94283333Y-103346666D02*
X94283333Y-102646666D01*
X94350000Y-102746666D01*
X94416666Y-102813333D01*
X94483333Y-102846666D01*
X93450000Y-102646666D02*
X93783333Y-102646666D01*
X93816666Y-102980000D01*
X93783333Y-102946666D01*
X93716666Y-102913333D01*
X93550000Y-102913333D01*
X93483333Y-102946666D01*
X93450000Y-102980000D01*
X93416666Y-103046666D01*
X93416666Y-103213333D01*
X93450000Y-103280000D01*
X93483333Y-103313333D01*
X93550000Y-103346666D01*
X93716666Y-103346666D01*
X93783333Y-103313333D01*
X93816666Y-103280000D01*
X59710000Y-86346666D02*
X59943333Y-86013333D01*
X60110000Y-86346666D02*
X60110000Y-85646666D01*
X59843333Y-85646666D01*
X59776666Y-85680000D01*
X59743333Y-85713333D01*
X59710000Y-85780000D01*
X59710000Y-85880000D01*
X59743333Y-85946666D01*
X59776666Y-85980000D01*
X59843333Y-86013333D01*
X60110000Y-86013333D01*
X59043333Y-86346666D02*
X59443333Y-86346666D01*
X59243333Y-86346666D02*
X59243333Y-85646666D01*
X59310000Y-85746666D01*
X59376666Y-85813333D01*
X59443333Y-85846666D01*
X58443333Y-85880000D02*
X58443333Y-86346666D01*
X58610000Y-85613333D02*
X58776666Y-86113333D01*
X58343333Y-86113333D01*
X89390000Y-101296666D02*
X89623333Y-100963333D01*
X89790000Y-101296666D02*
X89790000Y-100596666D01*
X89523333Y-100596666D01*
X89456666Y-100630000D01*
X89423333Y-100663333D01*
X89390000Y-100730000D01*
X89390000Y-100830000D01*
X89423333Y-100896666D01*
X89456666Y-100930000D01*
X89523333Y-100963333D01*
X89790000Y-100963333D01*
X88723333Y-101296666D02*
X89123333Y-101296666D01*
X88923333Y-101296666D02*
X88923333Y-100596666D01*
X88990000Y-100696666D01*
X89056666Y-100763333D01*
X89123333Y-100796666D01*
X88056666Y-101296666D02*
X88456666Y-101296666D01*
X88256666Y-101296666D02*
X88256666Y-100596666D01*
X88323333Y-100696666D01*
X88390000Y-100763333D01*
X88456666Y-100796666D01*
X84380000Y-103866666D02*
X84613333Y-103533333D01*
X84780000Y-103866666D02*
X84780000Y-103166666D01*
X84513333Y-103166666D01*
X84446666Y-103200000D01*
X84413333Y-103233333D01*
X84380000Y-103300000D01*
X84380000Y-103400000D01*
X84413333Y-103466666D01*
X84446666Y-103500000D01*
X84513333Y-103533333D01*
X84780000Y-103533333D01*
X83713333Y-103866666D02*
X84113333Y-103866666D01*
X83913333Y-103866666D02*
X83913333Y-103166666D01*
X83980000Y-103266666D01*
X84046666Y-103333333D01*
X84113333Y-103366666D01*
X83280000Y-103166666D02*
X83213333Y-103166666D01*
X83146666Y-103200000D01*
X83113333Y-103233333D01*
X83080000Y-103300000D01*
X83046666Y-103433333D01*
X83046666Y-103600000D01*
X83080000Y-103733333D01*
X83113333Y-103800000D01*
X83146666Y-103833333D01*
X83213333Y-103866666D01*
X83280000Y-103866666D01*
X83346666Y-103833333D01*
X83380000Y-103800000D01*
X83413333Y-103733333D01*
X83446666Y-103600000D01*
X83446666Y-103433333D01*
X83413333Y-103300000D01*
X83380000Y-103233333D01*
X83346666Y-103200000D01*
X83280000Y-103166666D01*
X87796666Y-103053333D02*
X87863333Y-103020000D01*
X87930000Y-102953333D01*
X88030000Y-102853333D01*
X88096666Y-102820000D01*
X88163333Y-102820000D01*
X88130000Y-102986666D02*
X88196666Y-102953333D01*
X88263333Y-102886666D01*
X88296666Y-102753333D01*
X88296666Y-102520000D01*
X88263333Y-102386666D01*
X88196666Y-102320000D01*
X88130000Y-102286666D01*
X87996666Y-102286666D01*
X87930000Y-102320000D01*
X87863333Y-102386666D01*
X87830000Y-102520000D01*
X87830000Y-102753333D01*
X87863333Y-102886666D01*
X87930000Y-102953333D01*
X87996666Y-102986666D01*
X88130000Y-102986666D01*
X87163333Y-102986666D02*
X87563333Y-102986666D01*
X87363333Y-102986666D02*
X87363333Y-102286666D01*
X87430000Y-102386666D01*
X87496666Y-102453333D01*
X87563333Y-102486666D01*
X94166666Y-105240000D02*
X94200000Y-105273333D01*
X94300000Y-105306666D01*
X94366666Y-105306666D01*
X94466666Y-105273333D01*
X94533333Y-105206666D01*
X94566666Y-105140000D01*
X94600000Y-105006666D01*
X94600000Y-104906666D01*
X94566666Y-104773333D01*
X94533333Y-104706666D01*
X94466666Y-104640000D01*
X94366666Y-104606666D01*
X94300000Y-104606666D01*
X94200000Y-104640000D01*
X94166666Y-104673333D01*
X93566666Y-104840000D02*
X93566666Y-105306666D01*
X93733333Y-104573333D02*
X93900000Y-105073333D01*
X93466666Y-105073333D01*
X55943333Y-82906666D02*
X55943333Y-83406666D01*
X55976666Y-83506666D01*
X56043333Y-83573333D01*
X56143333Y-83606666D01*
X56210000Y-83606666D01*
X55676666Y-82906666D02*
X55243333Y-82906666D01*
X55476666Y-83173333D01*
X55376666Y-83173333D01*
X55310000Y-83206666D01*
X55276666Y-83240000D01*
X55243333Y-83306666D01*
X55243333Y-83473333D01*
X55276666Y-83540000D01*
X55310000Y-83573333D01*
X55376666Y-83606666D01*
X55576666Y-83606666D01*
X55643333Y-83573333D01*
X55676666Y-83540000D01*
X94706666Y-92861904D02*
X94706666Y-93433333D01*
X94744761Y-93547619D01*
X94820952Y-93623809D01*
X94935238Y-93661904D01*
X95011428Y-93661904D01*
X94363809Y-92938095D02*
X94325714Y-92900000D01*
X94249523Y-92861904D01*
X94059047Y-92861904D01*
X93982857Y-92900000D01*
X93944761Y-92938095D01*
X93906666Y-93014285D01*
X93906666Y-93090476D01*
X93944761Y-93204761D01*
X94401904Y-93661904D01*
X93906666Y-93661904D01*
X89346666Y-99156666D02*
X89580000Y-98823333D01*
X89746666Y-99156666D02*
X89746666Y-98456666D01*
X89480000Y-98456666D01*
X89413333Y-98490000D01*
X89380000Y-98523333D01*
X89346666Y-98590000D01*
X89346666Y-98690000D01*
X89380000Y-98756666D01*
X89413333Y-98790000D01*
X89480000Y-98823333D01*
X89746666Y-98823333D01*
X89013333Y-99156666D02*
X88880000Y-99156666D01*
X88813333Y-99123333D01*
X88780000Y-99090000D01*
X88713333Y-98990000D01*
X88680000Y-98856666D01*
X88680000Y-98590000D01*
X88713333Y-98523333D01*
X88746666Y-98490000D01*
X88813333Y-98456666D01*
X88946666Y-98456666D01*
X89013333Y-98490000D01*
X89046666Y-98523333D01*
X89080000Y-98590000D01*
X89080000Y-98756666D01*
X89046666Y-98823333D01*
X89013333Y-98856666D01*
X88946666Y-98890000D01*
X88813333Y-98890000D01*
X88746666Y-98856666D01*
X88713333Y-98823333D01*
X88680000Y-98756666D01*
X91240000Y-85956666D02*
X91473333Y-85623333D01*
X91640000Y-85956666D02*
X91640000Y-85256666D01*
X91373333Y-85256666D01*
X91306666Y-85290000D01*
X91273333Y-85323333D01*
X91240000Y-85390000D01*
X91240000Y-85490000D01*
X91273333Y-85556666D01*
X91306666Y-85590000D01*
X91373333Y-85623333D01*
X91640000Y-85623333D01*
X90573333Y-85956666D02*
X90973333Y-85956666D01*
X90773333Y-85956666D02*
X90773333Y-85256666D01*
X90840000Y-85356666D01*
X90906666Y-85423333D01*
X90973333Y-85456666D01*
X90306666Y-85323333D02*
X90273333Y-85290000D01*
X90206666Y-85256666D01*
X90040000Y-85256666D01*
X89973333Y-85290000D01*
X89940000Y-85323333D01*
X89906666Y-85390000D01*
X89906666Y-85456666D01*
X89940000Y-85556666D01*
X90340000Y-85956666D01*
X89906666Y-85956666D01*
X90940000Y-91836666D02*
X91173333Y-91503333D01*
X91340000Y-91836666D02*
X91340000Y-91136666D01*
X91073333Y-91136666D01*
X91006666Y-91170000D01*
X90973333Y-91203333D01*
X90940000Y-91270000D01*
X90940000Y-91370000D01*
X90973333Y-91436666D01*
X91006666Y-91470000D01*
X91073333Y-91503333D01*
X91340000Y-91503333D01*
X90273333Y-91836666D02*
X90673333Y-91836666D01*
X90473333Y-91836666D02*
X90473333Y-91136666D01*
X90540000Y-91236666D01*
X90606666Y-91303333D01*
X90673333Y-91336666D01*
X90040000Y-91136666D02*
X89606666Y-91136666D01*
X89840000Y-91403333D01*
X89740000Y-91403333D01*
X89673333Y-91436666D01*
X89640000Y-91470000D01*
X89606666Y-91536666D01*
X89606666Y-91703333D01*
X89640000Y-91770000D01*
X89673333Y-91803333D01*
X89740000Y-91836666D01*
X89940000Y-91836666D01*
X90006666Y-91803333D01*
X90040000Y-91770000D01*
X96416666Y-95996666D02*
X96650000Y-95663333D01*
X96816666Y-95996666D02*
X96816666Y-95296666D01*
X96550000Y-95296666D01*
X96483333Y-95330000D01*
X96450000Y-95363333D01*
X96416666Y-95430000D01*
X96416666Y-95530000D01*
X96450000Y-95596666D01*
X96483333Y-95630000D01*
X96550000Y-95663333D01*
X96816666Y-95663333D01*
X96016666Y-95596666D02*
X96083333Y-95563333D01*
X96116666Y-95530000D01*
X96150000Y-95463333D01*
X96150000Y-95430000D01*
X96116666Y-95363333D01*
X96083333Y-95330000D01*
X96016666Y-95296666D01*
X95883333Y-95296666D01*
X95816666Y-95330000D01*
X95783333Y-95363333D01*
X95750000Y-95430000D01*
X95750000Y-95463333D01*
X95783333Y-95530000D01*
X95816666Y-95563333D01*
X95883333Y-95596666D01*
X96016666Y-95596666D01*
X96083333Y-95630000D01*
X96116666Y-95663333D01*
X96150000Y-95730000D01*
X96150000Y-95863333D01*
X96116666Y-95930000D01*
X96083333Y-95963333D01*
X96016666Y-95996666D01*
X95883333Y-95996666D01*
X95816666Y-95963333D01*
X95783333Y-95930000D01*
X95750000Y-95863333D01*
X95750000Y-95730000D01*
X95783333Y-95663333D01*
X95816666Y-95630000D01*
X95883333Y-95596666D01*
X56153333Y-102926666D02*
X56153333Y-103426666D01*
X56186666Y-103526666D01*
X56253333Y-103593333D01*
X56353333Y-103626666D01*
X56420000Y-103626666D01*
X55453333Y-103626666D02*
X55853333Y-103626666D01*
X55653333Y-103626666D02*
X55653333Y-102926666D01*
X55720000Y-103026666D01*
X55786666Y-103093333D01*
X55853333Y-103126666D01*
M02*

View File

@@ -0,0 +1,55 @@
G04 #@! TF.GenerationSoftware,KiCad,Pcbnew,(5.1.2-1)-1*
G04 #@! TF.CreationDate,2022-01-26T01:19:45+00:00*
G04 #@! TF.ProjectId,mz25key,6d7a3235-6b65-4792-9e6b-696361645f70,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 (5.1.2-1)-1) date 2022-01-26 01:19:45*
%MOMM*%
%LPD*%
G04 APERTURE LIST*
%ADD10C,0.050000*%
G04 APERTURE END LIST*
D10*
X100000000Y-84000000D02*
G75*
G02X96000000Y-80000000I-2000000J2000000D01*
G01*
X96000000Y-106500000D02*
G75*
G02X100000000Y-102500000I2000000J2000000D01*
G01*
X50000001Y-102500002D02*
G75*
G02X54000001Y-106500002I2000000J-2000000D01*
G01*
X71500000Y-83000000D02*
X78500000Y-83000000D01*
X78500000Y-83000000D02*
X78500000Y-80000000D01*
X71500000Y-83000000D02*
X71500000Y-80000000D01*
X78500000Y-106500000D02*
X78500000Y-103500000D01*
X71500000Y-106500000D02*
X71500000Y-103500000D01*
X71500000Y-103500000D02*
X78500000Y-103500000D01*
X78500000Y-106500000D02*
X96000000Y-106500000D01*
X54000000Y-106500000D02*
X71500000Y-106500000D01*
X78500000Y-80000000D02*
X96000000Y-80000000D01*
X54000000Y-80000000D02*
G75*
G02X50000000Y-84000000I-2000000J-2000000D01*
G01*
X50000000Y-84000000D02*
X50000000Y-102500000D01*
X100000000Y-84000000D02*
X100000000Y-102500000D01*
X54000000Y-80000000D02*
X71500000Y-80000000D01*
M02*

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,545 @@
%FSLAX45Y45*%
G04 Gerber Fmt 4.5, Leading zero omitted, Abs format (unit mm)*
G04 Created by KiCad (PCBNEW (5.1.2-1)-1) date 2022-01-26 01:19:42*
%MOMM*%
%LPD*%
G04 APERTURE LIST*
%ADD10C,0.050000*%
%ADD11C,0.200000*%
%ADD12C,0.300000*%
G04 APERTURE END LIST*
D10*
X10000000Y-8400000D02*
G75*
G02X9600000Y-8000000I-200000J200000D01*
G01*
X9600000Y-10650000D02*
G75*
G02X10000000Y-10250000I200000J200000D01*
G01*
X5000000Y-10250000D02*
G75*
G02X5400000Y-10650000I200000J-200000D01*
G01*
X7150000Y-8300000D02*
X7850000Y-8300000D01*
X7850000Y-8300000D02*
X7850000Y-8000000D01*
X7150000Y-8300000D02*
X7150000Y-8000000D01*
X7850000Y-10650000D02*
X7850000Y-10350000D01*
X7150000Y-10650000D02*
X7150000Y-10350000D01*
X7150000Y-10350000D02*
X7850000Y-10350000D01*
X7850000Y-10650000D02*
X9600000Y-10650000D01*
X5400000Y-10650000D02*
X7150000Y-10650000D01*
X7850000Y-8000000D02*
X9600000Y-8000000D01*
X5400000Y-8000000D02*
G75*
G02X5000000Y-8400000I-200000J-200000D01*
G01*
X5000000Y-8400000D02*
X5000000Y-10250000D01*
X10000000Y-8400000D02*
X10000000Y-10250000D01*
X5400000Y-8000000D02*
X7150000Y-8000000D01*
D11*
X8995000Y-8245000D02*
X9205000Y-8455000D01*
X9205000Y-8245000D02*
X8995000Y-8455000D01*
X5815000Y-10165000D02*
X6025000Y-10375000D01*
X6025000Y-10165000D02*
X5815000Y-10375000D01*
D12*
X5283928Y-11118215D02*
X5283928Y-10818215D01*
X5355357Y-10818215D01*
X5398214Y-10832500D01*
X5426786Y-10861072D01*
X5441071Y-10889643D01*
X5455357Y-10946786D01*
X5455357Y-10989643D01*
X5441071Y-11046786D01*
X5426786Y-11075357D01*
X5398214Y-11103929D01*
X5355357Y-11118215D01*
X5283928Y-11118215D01*
X5583928Y-11118215D02*
X5583928Y-10918215D01*
X5583928Y-10975357D02*
X5598214Y-10946786D01*
X5612500Y-10932500D01*
X5641071Y-10918215D01*
X5669643Y-10918215D01*
X5769643Y-11118215D02*
X5769643Y-10918215D01*
X5769643Y-10818215D02*
X5755357Y-10832500D01*
X5769643Y-10846786D01*
X5783928Y-10832500D01*
X5769643Y-10818215D01*
X5769643Y-10846786D01*
X5955357Y-11118215D02*
X5926786Y-11103929D01*
X5912500Y-11075357D01*
X5912500Y-10818215D01*
X6112500Y-11118215D02*
X6083928Y-11103929D01*
X6069643Y-11075357D01*
X6069643Y-10818215D01*
X6455357Y-11118215D02*
X6455357Y-10818215D01*
X6555357Y-11032500D01*
X6655357Y-10818215D01*
X6655357Y-11118215D01*
X6926786Y-11118215D02*
X6926786Y-10961072D01*
X6912500Y-10932500D01*
X6883928Y-10918215D01*
X6826786Y-10918215D01*
X6798214Y-10932500D01*
X6926786Y-11103929D02*
X6898214Y-11118215D01*
X6826786Y-11118215D01*
X6798214Y-11103929D01*
X6783928Y-11075357D01*
X6783928Y-11046786D01*
X6798214Y-11018215D01*
X6826786Y-11003929D01*
X6898214Y-11003929D01*
X6926786Y-10989643D01*
X7069643Y-10918215D02*
X7069643Y-11218214D01*
X7069643Y-10932500D02*
X7098214Y-10918215D01*
X7155357Y-10918215D01*
X7183928Y-10932500D01*
X7198214Y-10946786D01*
X7212500Y-10975357D01*
X7212500Y-11061072D01*
X7198214Y-11089643D01*
X7183928Y-11103929D01*
X7155357Y-11118215D01*
X7098214Y-11118215D01*
X7069643Y-11103929D01*
X7341071Y-11089643D02*
X7355357Y-11103929D01*
X7341071Y-11118215D01*
X7326786Y-11103929D01*
X7341071Y-11089643D01*
X7341071Y-11118215D01*
X7341071Y-10932500D02*
X7355357Y-10946786D01*
X7341071Y-10961072D01*
X7326786Y-10946786D01*
X7341071Y-10932500D01*
X7341071Y-10961072D01*
X4787500Y-11507500D02*
X4997500Y-11717500D01*
X4997500Y-11507500D02*
X4787500Y-11717500D01*
X5269643Y-11476786D02*
X5283928Y-11462500D01*
X5312500Y-11448214D01*
X5383928Y-11448214D01*
X5412500Y-11462500D01*
X5426786Y-11476786D01*
X5441071Y-11505357D01*
X5441071Y-11533929D01*
X5426786Y-11576786D01*
X5255357Y-11748214D01*
X5441071Y-11748214D01*
X5569643Y-11719643D02*
X5583928Y-11733929D01*
X5569643Y-11748214D01*
X5555357Y-11733929D01*
X5569643Y-11719643D01*
X5569643Y-11748214D01*
X5869643Y-11748214D02*
X5698214Y-11748214D01*
X5783928Y-11748214D02*
X5783928Y-11448214D01*
X5755357Y-11491072D01*
X5726786Y-11519643D01*
X5698214Y-11533929D01*
X6055357Y-11448214D02*
X6083928Y-11448214D01*
X6112500Y-11462500D01*
X6126786Y-11476786D01*
X6141071Y-11505357D01*
X6155357Y-11562500D01*
X6155357Y-11633929D01*
X6141071Y-11691072D01*
X6126786Y-11719643D01*
X6112500Y-11733929D01*
X6083928Y-11748214D01*
X6055357Y-11748214D01*
X6026786Y-11733929D01*
X6012500Y-11719643D01*
X5998214Y-11691072D01*
X5983928Y-11633929D01*
X5983928Y-11562500D01*
X5998214Y-11505357D01*
X6012500Y-11476786D01*
X6026786Y-11462500D01*
X6055357Y-11448214D01*
X6283928Y-11748214D02*
X6283928Y-11548214D01*
X6283928Y-11576786D02*
X6298214Y-11562500D01*
X6326786Y-11548214D01*
X6369643Y-11548214D01*
X6398214Y-11562500D01*
X6412500Y-11591072D01*
X6412500Y-11748214D01*
X6412500Y-11591072D02*
X6426786Y-11562500D01*
X6455357Y-11548214D01*
X6498214Y-11548214D01*
X6526786Y-11562500D01*
X6541071Y-11591072D01*
X6541071Y-11748214D01*
X6683928Y-11748214D02*
X6683928Y-11548214D01*
X6683928Y-11576786D02*
X6698214Y-11562500D01*
X6726786Y-11548214D01*
X6769643Y-11548214D01*
X6798214Y-11562500D01*
X6812500Y-11591072D01*
X6812500Y-11748214D01*
X6812500Y-11591072D02*
X6826786Y-11562500D01*
X6855357Y-11548214D01*
X6898214Y-11548214D01*
X6926786Y-11562500D01*
X6941071Y-11591072D01*
X6941071Y-11748214D01*
X7526786Y-11433929D02*
X7269643Y-11819643D01*
X7912500Y-11448214D02*
X7941071Y-11448214D01*
X7969643Y-11462500D01*
X7983928Y-11476786D01*
X7998214Y-11505357D01*
X8012500Y-11562500D01*
X8012500Y-11633929D01*
X7998214Y-11691072D01*
X7983928Y-11719643D01*
X7969643Y-11733929D01*
X7941071Y-11748214D01*
X7912500Y-11748214D01*
X7883928Y-11733929D01*
X7869643Y-11719643D01*
X7855357Y-11691072D01*
X7841071Y-11633929D01*
X7841071Y-11562500D01*
X7855357Y-11505357D01*
X7869643Y-11476786D01*
X7883928Y-11462500D01*
X7912500Y-11448214D01*
X8141071Y-11719643D02*
X8155357Y-11733929D01*
X8141071Y-11748214D01*
X8126786Y-11733929D01*
X8141071Y-11719643D01*
X8141071Y-11748214D01*
X8341071Y-11448214D02*
X8369643Y-11448214D01*
X8398214Y-11462500D01*
X8412500Y-11476786D01*
X8426786Y-11505357D01*
X8441071Y-11562500D01*
X8441071Y-11633929D01*
X8426786Y-11691072D01*
X8412500Y-11719643D01*
X8398214Y-11733929D01*
X8369643Y-11748214D01*
X8341071Y-11748214D01*
X8312500Y-11733929D01*
X8298214Y-11719643D01*
X8283928Y-11691072D01*
X8269643Y-11633929D01*
X8269643Y-11562500D01*
X8283928Y-11505357D01*
X8298214Y-11476786D01*
X8312500Y-11462500D01*
X8341071Y-11448214D01*
X8612500Y-11576786D02*
X8583928Y-11562500D01*
X8569643Y-11548214D01*
X8555357Y-11519643D01*
X8555357Y-11505357D01*
X8569643Y-11476786D01*
X8583928Y-11462500D01*
X8612500Y-11448214D01*
X8669643Y-11448214D01*
X8698214Y-11462500D01*
X8712500Y-11476786D01*
X8726786Y-11505357D01*
X8726786Y-11519643D01*
X8712500Y-11548214D01*
X8698214Y-11562500D01*
X8669643Y-11576786D01*
X8612500Y-11576786D01*
X8583928Y-11591072D01*
X8569643Y-11605357D01*
X8555357Y-11633929D01*
X8555357Y-11691072D01*
X8569643Y-11719643D01*
X8583928Y-11733929D01*
X8612500Y-11748214D01*
X8669643Y-11748214D01*
X8698214Y-11733929D01*
X8712500Y-11719643D01*
X8726786Y-11691072D01*
X8726786Y-11633929D01*
X8712500Y-11605357D01*
X8698214Y-11591072D01*
X8669643Y-11576786D01*
X8826786Y-11448214D02*
X9012500Y-11448214D01*
X8912500Y-11562500D01*
X8955357Y-11562500D01*
X8983928Y-11576786D01*
X8998214Y-11591072D01*
X9012500Y-11619643D01*
X9012500Y-11691072D01*
X8998214Y-11719643D01*
X8983928Y-11733929D01*
X8955357Y-11748214D01*
X8869643Y-11748214D01*
X8841071Y-11733929D01*
X8826786Y-11719643D01*
X9126786Y-11448214D02*
X9126786Y-11505357D01*
X9241071Y-11448214D02*
X9241071Y-11505357D01*
X9683928Y-11862500D02*
X9669643Y-11848214D01*
X9641071Y-11805357D01*
X9626786Y-11776786D01*
X9612500Y-11733929D01*
X9598214Y-11662500D01*
X9598214Y-11605357D01*
X9612500Y-11533929D01*
X9626786Y-11491072D01*
X9641071Y-11462500D01*
X9669643Y-11419643D01*
X9683928Y-11405357D01*
X9783928Y-11476786D02*
X9798214Y-11462500D01*
X9826786Y-11448214D01*
X9898214Y-11448214D01*
X9926786Y-11462500D01*
X9941071Y-11476786D01*
X9955357Y-11505357D01*
X9955357Y-11533929D01*
X9941071Y-11576786D01*
X9769643Y-11748214D01*
X9955357Y-11748214D01*
X10312500Y-11748214D02*
X10312500Y-11448214D01*
X10441071Y-11748214D02*
X10441071Y-11591072D01*
X10426786Y-11562500D01*
X10398214Y-11548214D01*
X10355357Y-11548214D01*
X10326786Y-11562500D01*
X10312500Y-11576786D01*
X10626786Y-11748214D02*
X10598214Y-11733929D01*
X10583928Y-11719643D01*
X10569643Y-11691072D01*
X10569643Y-11605357D01*
X10583928Y-11576786D01*
X10598214Y-11562500D01*
X10626786Y-11548214D01*
X10669643Y-11548214D01*
X10698214Y-11562500D01*
X10712500Y-11576786D01*
X10726786Y-11605357D01*
X10726786Y-11691072D01*
X10712500Y-11719643D01*
X10698214Y-11733929D01*
X10669643Y-11748214D01*
X10626786Y-11748214D01*
X10898214Y-11748214D02*
X10869643Y-11733929D01*
X10855357Y-11705357D01*
X10855357Y-11448214D01*
X11126786Y-11733929D02*
X11098214Y-11748214D01*
X11041071Y-11748214D01*
X11012500Y-11733929D01*
X10998214Y-11705357D01*
X10998214Y-11591072D01*
X11012500Y-11562500D01*
X11041071Y-11548214D01*
X11098214Y-11548214D01*
X11126786Y-11562500D01*
X11141071Y-11591072D01*
X11141071Y-11619643D01*
X10998214Y-11648214D01*
X11255357Y-11733929D02*
X11283928Y-11748214D01*
X11341071Y-11748214D01*
X11369643Y-11733929D01*
X11383928Y-11705357D01*
X11383928Y-11691072D01*
X11369643Y-11662500D01*
X11341071Y-11648214D01*
X11298214Y-11648214D01*
X11269643Y-11633929D01*
X11255357Y-11605357D01*
X11255357Y-11591072D01*
X11269643Y-11562500D01*
X11298214Y-11548214D01*
X11341071Y-11548214D01*
X11369643Y-11562500D01*
X11483928Y-11862500D02*
X11498214Y-11848214D01*
X11526786Y-11805357D01*
X11541071Y-11776786D01*
X11555357Y-11733929D01*
X11569643Y-11662500D01*
X11569643Y-11605357D01*
X11555357Y-11533929D01*
X11541071Y-11491072D01*
X11526786Y-11462500D01*
X11498214Y-11419643D01*
X11483928Y-11405357D01*
X12026786Y-11862500D02*
X12012500Y-11848214D01*
X11983928Y-11805357D01*
X11969643Y-11776786D01*
X11955357Y-11733929D01*
X11941071Y-11662500D01*
X11941071Y-11605357D01*
X11955357Y-11533929D01*
X11969643Y-11491072D01*
X11983928Y-11462500D01*
X12012500Y-11419643D01*
X12026786Y-11405357D01*
X12141071Y-11548214D02*
X12141071Y-11748214D01*
X12141071Y-11576786D02*
X12155357Y-11562500D01*
X12183928Y-11548214D01*
X12226786Y-11548214D01*
X12255357Y-11562500D01*
X12269643Y-11591072D01*
X12269643Y-11748214D01*
X12455357Y-11748214D02*
X12426786Y-11733929D01*
X12412500Y-11719643D01*
X12398214Y-11691072D01*
X12398214Y-11605357D01*
X12412500Y-11576786D01*
X12426786Y-11562500D01*
X12455357Y-11548214D01*
X12498214Y-11548214D01*
X12526786Y-11562500D01*
X12541071Y-11576786D01*
X12555357Y-11605357D01*
X12555357Y-11691072D01*
X12541071Y-11719643D01*
X12526786Y-11733929D01*
X12498214Y-11748214D01*
X12455357Y-11748214D01*
X12641071Y-11548214D02*
X12755357Y-11548214D01*
X12683928Y-11448214D02*
X12683928Y-11705357D01*
X12698214Y-11733929D01*
X12726786Y-11748214D01*
X12755357Y-11748214D01*
X13083928Y-11548214D02*
X13083928Y-11848214D01*
X13083928Y-11562500D02*
X13112500Y-11548214D01*
X13169643Y-11548214D01*
X13198214Y-11562500D01*
X13212500Y-11576786D01*
X13226786Y-11605357D01*
X13226786Y-11691072D01*
X13212500Y-11719643D01*
X13198214Y-11733929D01*
X13169643Y-11748214D01*
X13112500Y-11748214D01*
X13083928Y-11733929D01*
X13398214Y-11748214D02*
X13369643Y-11733929D01*
X13355357Y-11705357D01*
X13355357Y-11448214D01*
X13641071Y-11748214D02*
X13641071Y-11591072D01*
X13626786Y-11562500D01*
X13598214Y-11548214D01*
X13541071Y-11548214D01*
X13512500Y-11562500D01*
X13641071Y-11733929D02*
X13612500Y-11748214D01*
X13541071Y-11748214D01*
X13512500Y-11733929D01*
X13498214Y-11705357D01*
X13498214Y-11676786D01*
X13512500Y-11648214D01*
X13541071Y-11633929D01*
X13612500Y-11633929D01*
X13641071Y-11619643D01*
X13741071Y-11548214D02*
X13855357Y-11548214D01*
X13783928Y-11448214D02*
X13783928Y-11705357D01*
X13798214Y-11733929D01*
X13826786Y-11748214D01*
X13855357Y-11748214D01*
X14069643Y-11733929D02*
X14041071Y-11748214D01*
X13983928Y-11748214D01*
X13955357Y-11733929D01*
X13941071Y-11705357D01*
X13941071Y-11591072D01*
X13955357Y-11562500D01*
X13983928Y-11548214D01*
X14041071Y-11548214D01*
X14069643Y-11562500D01*
X14083928Y-11591072D01*
X14083928Y-11619643D01*
X13941071Y-11648214D01*
X14341071Y-11748214D02*
X14341071Y-11448214D01*
X14341071Y-11733929D02*
X14312500Y-11748214D01*
X14255357Y-11748214D01*
X14226786Y-11733929D01*
X14212500Y-11719643D01*
X14198214Y-11691072D01*
X14198214Y-11605357D01*
X14212500Y-11576786D01*
X14226786Y-11562500D01*
X14255357Y-11548214D01*
X14312500Y-11548214D01*
X14341071Y-11562500D01*
X14455357Y-11862500D02*
X14469643Y-11848214D01*
X14498214Y-11805357D01*
X14512500Y-11776786D01*
X14526786Y-11733929D01*
X14541071Y-11662500D01*
X14541071Y-11605357D01*
X14526786Y-11533929D01*
X14512500Y-11491072D01*
X14498214Y-11462500D01*
X14469643Y-11419643D01*
X14455357Y-11405357D01*
M02*

View File

@@ -0,0 +1,17 @@
M48
; DRILL file {KiCad (5.1.2-1)-1} date Wednesday, 26 January 2022 at 01:19:43
; FORMAT={-:-/ absolute / metric / decimal}
; #@! TF.CreationDate,2022-01-26T01:19:43+00:00
; #@! TF.GenerationSoftware,Kicad,Pcbnew,(5.1.2-1)-1
; #@! TF.FileFunction,NonPlated,1,2,NPTH
FMAT,2
METRIC
T1C2.100
%
G90
G05
T1
X91.0Y-83.5
X59.2Y-102.7
T0
M30

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,123 @@
M48
; DRILL file {KiCad (5.1.2-1)-1} date Wednesday, 26 January 2022 at 01:19:43
; FORMAT={-:-/ absolute / metric / decimal}
; #@! TF.CreationDate,2022-01-26T01:19:43+00:00
; #@! TF.GenerationSoftware,Kicad,Pcbnew,(5.1.2-1)-1
; #@! TF.FileFunction,Plated,1,2,PTH
FMAT,2
METRIC
T1C0.300
T2C0.400
T3C0.500
T4C0.650
T5C0.800
T6C0.900
T7C2.000
%
G90
G05
T1
X52.43Y-97.044
X54.362Y-91.265
X59.328Y-83.232
X60.957Y-94.765
X62.377Y-84.112
X63.627Y-99.931
X63.776Y-90.989
X64.027Y-96.46
X64.128Y-88.939
X64.653Y-97.094
X64.795Y-94.713
X64.987Y-95.816
X65.261Y-85.617
X65.92Y-96.502
X66.853Y-95.611
X66.872Y-100.284
X67.017Y-99.702
X67.578Y-99.931
X68.742Y-92.535
X69.636Y-86.157
X71.975Y-101.19
X73.667Y-100.585
X74.308Y-97.665
X74.472Y-100.468
X74.515Y-85.279
X75.548Y-99.429
X75.785Y-85.279
X75.809Y-98.343
X76.105Y-88.682
X76.37Y-100.135
X77.183Y-97.864
X77.669Y-100.572
X81.195Y-86.878
X81.758Y-99.542
X82.023Y-86.735
X82.938Y-86.512
X89.164Y-94.426
X89.781Y-103.65
X91.62Y-98.905
T2
X60.07Y-95.678
X60.07Y-96.73
X60.19Y-90.54
X61.97Y-103.05
X68.52Y-98.94
X85.8Y-94.04
T3
X73.13Y-95.68
X73.64Y-94.76
X74.17Y-95.64
X78.96Y-101.81
X78.97Y-102.65
X80.2Y-101.81
X80.23Y-102.65
T4
X68.37Y-104.56
X69.64Y-104.56
X64.67Y-104.56
X65.94Y-104.56
T5
X56.14Y-81.83
X58.14Y-81.83
X60.14Y-81.83
X62.14Y-81.83
X64.14Y-81.83
X66.14Y-81.83
X68.14Y-81.83
X70.14Y-81.83
X55.92Y-85.22
X55.92Y-87.22
X55.92Y-89.22
X55.92Y-91.22
X55.92Y-93.22
X55.92Y-95.22
X55.92Y-97.22
X55.92Y-99.22
X55.92Y-101.22
T6
X84.42Y-82.74
X86.96Y-82.74
X90.28Y-90.145
X90.28Y-96.495
X92.82Y-90.145
X92.82Y-92.177
X92.82Y-94.336
X92.82Y-96.495
T7
G00X95.71Y-86.335
M15
G01X95.01Y-86.335
M16
G05
G00X95.71Y-100.305
M15
G01X95.01Y-100.305
M16
G05
G00X96.568Y-93.67
M15
G01X96.568Y-92.97
M16
G05
T0
M30

View File

@@ -0,0 +1,17 @@
### Module positions - created on Tuesday, 22 February 2022 at 12:16:19 ###
### Printed by Pcbnew version (6.0.1-0)
## Unit = mm, Angle = deg.
## Side : bottom
# Ref Val Package PosX PosY Rot Side
C4 100nF C_0805_2012Metric -91.6100 -105.0100 0.0000 bottom
Q1 MMDT3904 SOT-363_SC-70-6 -87.7400 -104.5700 0.0000 bottom
R8 2K R_0805_2012Metric -96.3200 -97.0800 0.0000 bottom
R9 2K R_0805_2012Metric -91.6200 -98.8700 180.0000 bottom
R10 10K R_0805_2012Metric -83.9400 -104.9800 0.0000 bottom
R11 10K R_0805_2012Metric -91.6200 -100.9500 0.0000 bottom
R12 100R R_0805_2012Metric -90.7400 -87.4300 180.0000 bottom
R13 100R R_0805_2012Metric -90.5000 -93.6000 -90.0000 bottom
R14 10K R_0805_2012Metric -59.2500 -84.5900 180.0000 bottom
R15 10K R_0805_2012Metric -91.6200 -103.0200 180.0000 bottom
U3 ESP32-S_AI_Thinker ESP32-S -74.9800 -93.2200 -90.0000 bottom
## End

View File

@@ -0,0 +1,33 @@
### Module positions - created on Tuesday, 22 February 2022 at 12:16:19 ###
### Printed by Pcbnew version (6.0.1-0)
## Unit = mm, Angle = deg.
## Side : top
# Ref Val Package PosX PosY Rot Side
C1 100uF C_1210_3225Metric_Pad1.42x2.65mm_HandSolder 82.0700 -91.5500 0.0000 top
C2 100uF C_1210_3225Metric_Pad1.42x2.65mm_HandSolder 82.0300 -95.6200 0.0000 top
C3 100nF C_0805_2012Metric 60.0400 -90.5400 0.0000 top
D1 1N4001 D_1206_3216Metric 60.6400 -88.3400 180.0000 top
D2 1N4001 D_1206_3216Metric 60.6500 -85.9800 180.0000 top
D3 Power LED_D3.0mm_Clear 84.4200 -82.7400 0.0000 top
F1 500mA Fuse_1806_4516Metric 75.5100 -88.5400 0.0000 top
J1 MZ2500_Keyboard PinHeader_1x09_P2.00mm_Vertical 55.9200 -85.2200 0.0000 top
J2 PS/2_Keyboard Mini_din6_ps2 94.0900 -93.3200 90.0000 top
J3 PGM/OLED PinHeader_1x08_P2.00mm_Vertical 56.1400 -81.8300 90.0000 top
JP1 PGM PinHeader_1x02_P1.27mm_Vertical 69.6400 -104.5600 -90.0000 top
JP2 ~{RESET} PinHeader_1x02_P1.27mm_Vertical 65.9400 -104.5600 -90.0000 top
LG1 Argo_Logo Argo 75.3300 -85.2800 0.0000 top
R1 100R R_0805_2012Metric 52.4500 -87.2400 180.0000 top
R2 100R R_0805_2012Metric 52.4700 -89.2100 180.0000 top
R3 100R R_0805_2012Metric 52.4700 -91.2000 0.0000 top
R4 100R R_0805_2012Metric 52.4500 -93.1600 180.0000 top
R5 100R R_0805_2012Metric 52.4500 -95.1400 180.0000 top
R6 100R R_0805_2012Metric 52.4300 -97.1000 180.0000 top
R7 100R R_0805_2012Metric 52.4500 -99.0600 180.0000 top
R16 10K R_0805_2012Metric 75.0600 -102.2300 0.0000 top
R17 1K R_0805_2012Metric 66.1600 -89.8700 0.0000 top
R18 10K R_0805_2012Metric 69.6600 -86.7500 180.0000 top
R19 10K R_0805_2012Metric 66.1400 -86.7500 0.0000 top
SW1 WiFi_EN SW_SPST_B3S-1000 83.8700 -102.4400 180.0000 top
U1 AMS1117-3.3 SOT-223-3_TabPin2 74.0800 -93.5700 180.0000 top
U2 74LS257 SOIC-16_3.9x9.9mm_P1.27mm 63.5300 -95.9400 90.0000 top
## End

Binary file not shown.

4345
kicad/bom/ibom.html Normal file

File diff suppressed because one or more lines are too long

1
kicad/fp-info-cache Normal file
View File

@@ -0,0 +1 @@
0

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,75 @@
{
"board": {
"active_layer": 0,
"active_layer_preset": "All Layers",
"auto_track_width": true,
"hidden_nets": [],
"high_contrast_mode": 0,
"net_color_mode": 1,
"opacity": {
"pads": 1.0,
"tracks": 1.0,
"vias": 1.0,
"zones": 0.6
},
"ratsnest_display_mode": 0,
"selection_filter": {
"dimensions": true,
"footprints": true,
"graphics": true,
"keepouts": true,
"lockedItems": true,
"otherItems": true,
"pads": true,
"text": true,
"tracks": true,
"vias": true,
"zones": true
},
"visible_items": [
0,
1,
2,
3,
4,
5,
8,
9,
10,
11,
12,
13,
14,
15,
16,
17,
18,
19,
20,
21,
22,
23,
24,
25,
26,
27,
28,
29,
30,
32,
33,
34,
35,
36
],
"visible_layers": "fffffff_ffffffff",
"zone_display_mode": 0
},
"meta": {
"filename": "mz25key_v1_2.kicad_prl",
"version": 3
},
"project": {
"files": []
}
}

View File

@@ -0,0 +1,472 @@
{
"board": {
"design_settings": {
"defaults": {
"board_outline_line_width": 0.049999999999999996,
"copper_line_width": 0.19999999999999998,
"copper_text_italic": false,
"copper_text_size_h": 1.5,
"copper_text_size_v": 1.5,
"copper_text_thickness": 0.3,
"copper_text_upright": false,
"courtyard_line_width": 0.049999999999999996,
"dimension_precision": 4,
"dimension_units": 3,
"dimensions": {
"arrow_length": 1270000,
"extension_offset": 500000,
"keep_text_aligned": true,
"suppress_zeroes": false,
"text_position": 0,
"units_format": 1
},
"fab_line_width": 0.09999999999999999,
"fab_text_italic": false,
"fab_text_size_h": 1.0,
"fab_text_size_v": 1.0,
"fab_text_thickness": 0.15,
"fab_text_upright": false,
"other_line_width": 0.09999999999999999,
"other_text_italic": false,
"other_text_size_h": 1.0,
"other_text_size_v": 1.0,
"other_text_thickness": 0.15,
"other_text_upright": false,
"pads": {
"drill": 2.7,
"height": 2.5,
"width": 3.0
},
"silk_line_width": 0.12,
"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.254
}
},
"diff_pair_dimensions": [],
"drc_exclusions": [],
"meta": {
"filename": "board_design_settings.json",
"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"
},
"rule_severitieslegacy_courtyards_overlap": true,
"rule_severitieslegacy_no_courtyard_defined": false,
"rules": {
"allow_blind_buried_vias": false,
"allow_microvias": false,
"max_error": 0.005,
"min_clearance": 0.0,
"min_copper_edge_clearance": 0.024999999999999998,
"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.15239999999999998,
"min_via_annular_width": 0.049999999999999996,
"min_via_diameter": 0.39999999999999997,
"use_height_for_length_calcs": true
},
"track_widths": [
0.0,
0.1524,
0.254,
0.381,
0.508,
0.8128
],
"via_dimensions": [
{
"diameter": 0.0,
"drill": 0.0
},
{
"diameter": 0.5,
"drill": 0.3
},
{
"diameter": 0.5,
"drill": 0.35
},
{
"diameter": 0.5,
"drill": 0.4
},
{
"diameter": 0.8,
"drill": 0.5
}
],
"zones_allow_external_fillets": false,
"zones_use_no_outline": true
},
"layer_presets": []
},
"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_label_syntax": "error",
"bus_to_bus_conflict": "error",
"bus_to_net_conflict": "error",
"different_unit_footprint": "error",
"different_unit_net": "error",
"duplicate_reference": "error",
"duplicate_sheet_names": "error",
"extra_units": "error",
"global_label_dangling": "warning",
"hier_label_mismatch": "error",
"label_dangling": "error",
"lib_symbol_issues": "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",
"unannotated": "error",
"unit_value_mismatch": "error",
"unresolved_variable": "error",
"wire_dangling": "error"
}
},
"libraries": {
"pinned_footprint_libs": [],
"pinned_symbol_libs": []
},
"meta": {
"filename": "mz25key_v1_2.kicad_pro",
"version": 1
},
"net_settings": {
"classes": [
{
"bus_width": 12.0,
"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.1524,
"via_diameter": 0.4,
"via_drill": 0.3,
"wire_width": 6.0
},
{
"bus_width": 12.0,
"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": "Power",
"nets": [
"+5V",
"/VCC",
"/VCCMZ",
"GNDPWR"
],
"pcb_color": "rgba(0, 0, 0, 0.000)",
"schematic_color": "rgba(0, 0, 0, 0.000)",
"track_width": 0.381,
"via_diameter": 0.8,
"via_drill": 0.4,
"wire_width": 6.0
}
],
"meta": {
"version": 2
},
"net_colors": null
},
"pcbnew": {
"last_paths": {
"gencad": "",
"idf": "",
"netlist": "",
"specctra_dsn": "",
"step": "",
"vrml": ""
},
"page_layout_descr_file": ""
},
"schematic": {
"annotate_start_num": 0,
"drawing": {
"default_line_thickness": 6.0,
"default_text_size": 39.0,
"field_names": [],
"intersheets_ref_own_page": false,
"intersheets_ref_prefix": "",
"intersheets_ref_short": false,
"intersheets_ref_show": false,
"intersheets_ref_suffix": "",
"junction_size_choice": 3,
"label_size_ratio": 0.25,
"pin_symbol_size": 0.0,
"text_offset_ratio": 0.08
},
"legacy_lib_dir": "",
"legacy_lib_list": [],
"meta": {
"version": 1
},
"net_format_name": "",
"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_external_command": "spice \"%I\"",
"subpart_first_id": 65,
"subpart_id_separator": 0
},
"sheets": [
[
"6aacdfdc-ee59-4331-8617-399c8000f015",
""
]
],
"text_variables": {}
}

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

3
kicad/sym-lib-table Normal file
View File

@@ -0,0 +1,3 @@
(sym_lib_table
(lib (name "mz25key")(type "KiCad")(uri "${KIPRJMOD}/mz25key_v_1_2.kicad_sym")(options "")(descr ""))
)

View File

@@ -44,6 +44,24 @@ menu "MZ25Key Configuration"
endmenu
menu "MZ-2500/2800 Interface"
choice "Model"
prompt "Machine Model"
default MODEL_MZ2500
help
Choose the target machine on which the interface will be used. The MZ-2500 and MZ-2800 have the same keyboard hardware but the protocol differs and this option
will choose the correct protocol.
config MODEL_MZ2500
bool "Sharp MZ-2500"
help
The target machine is a Sharp MZ-2500.
config MODEL_MZ2800
bool "Sharp MZ-2800"
help
The target machine is a Sharp MZ-2800.
endchoice
menu "4Bit Strobe Input"
config MZ_KDB0

View File

@@ -251,7 +251,12 @@
PS2_KEY_PGUP, MZ_ALL, 0, 0, 0, 0, 0, 0, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, // Not assigned.
PS2_KEY_DELETE, MZ_ALL, 0, 0, 0, 0, 0, 0, 0x0A, 0x08, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, // DELETE
PS2_KEY_END, MZ_ALL, 0, 0, 0, 0, 0, 0, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, // Not assigned.
PS2_KEY_PGDN, MZ_ALL, 0, 0, 0, 0, 0, 0, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
#if defined(CONFIG_MODEL_MZ2500)
PS2_KEY_PGDN, MZ_ALL, 0, 0, 0, 0, 0, 0, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, // Not mapped
#endif
#if defined(CONFIG_MODEL_MZ2800)
PS2_KEY_PGDN, MZ_ALL, 0, 0, 0, 0, 0, 0, 0x0C, 0x10, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, // Japanese Key - Previous
#endif
PS2_KEY_UP_ARROW, MZ_ALL, 0, 0, 0, 0, 0, 0, 0x03, 0x08, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, // Up Arrow
PS2_KEY_L_ARROW, MZ_ALL, 0, 0, 0, 0, 0, 0, 0x03, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, // Left Arrow
PS2_KEY_DN_ARROW, MZ_ALL, 0, 0, 0, 0, 0, 0, 0x03, 0x10, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, // Down Arrow
@@ -291,7 +296,12 @@
PS2_KEY_L_SHIFT, MZ_ALL, 0, 0, 0, 0, 0, 0, 0x0B, 0x04, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
PS2_KEY_R_SHIFT, MZ_ALL, 0, 0, 0, 0, 0, 0, 0x0B, 0x04, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
PS2_KEY_L_CTRL, MZ_ALL, 0, 0, 0, 0, 0, 0, 0x0B, 0x10, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
PS2_KEY_R_CTRL, MZ_ALL, 0, 0, 0, 0, 0, 0, 0x0B, 0x10, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
#if defined(CONFIG_MODEL_MZ2500)
PS2_KEY_R_CTRL, MZ_ALL, 0, 0, 0, 0, 0, 0, 0x0B, 0x10, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, // Map to Control
#endif
#if defined(CONFIG_MODEL_MZ2800)
PS2_KEY_R_CTRL, MZ_ALL, 0, 0, 0, 0, 0, 0, 0x0C, 0x08, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, // Japanese Key - Cancel
#endif
0, MZ_ALL, 0, 0, 0, 0, 0, 0, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
};
#endif

View File

@@ -110,8 +110,13 @@ PS2KeyAdvanced Keyboard;
// Debug required objects.
SSD1306_t SSD1306;
// Handle to interact with the mz-2500 interface, ps/2 interface and wifi threads.
// Handle to interact with the mz-2500/mz-2800 interface, ps/2 interface and wifi threads.
#if defined(CONFIG_MODEL_MZ2500)
TaskHandle_t TaskMZ25IF = NULL;
#endif
#if defined(CONFIG_MODEL_MZ2800)
TaskHandle_t TaskMZ28IF = NULL;
#endif
TaskHandle_t TaskPS2IF = NULL;
#if defined(CONFIG_MZ_WIFI_ENABLED)
TaskHandle_t TaskWIFI = NULL;
@@ -180,12 +185,15 @@ static portMUX_TYPE mzMutex = portMUX_INITIALIZER_UNLOCKED;
#define dbgprintf(a, ...) {};
#endif
// Method to connect and interact with the MZ-2500/MZ-2800 keyboard controller.
// Method to connect and interact with the MZ-5800 keyboard controller. This method is seperate from the MZ-2800
// as the scan is different and as it is time critical it needs to be per target machine.
//
// The basic requirement is to:
// 1. Detect a falling edge on the RTSN signal
// 2. Read the provided ROW number.
// 3. Lookup the matrix data for given ROW.
// 4. Output data to LS257 Mux.
// 5. Wait for RTSN to return inactive.
// 5. Loop
//
// The ps2Interface method is responsible for obtaining a PS/2 Keyboard scancode and
@@ -206,6 +214,7 @@ static portMUX_TYPE mzMutex = portMUX_INITIALIZER_UNLOCKED;
// are in the first GPIO bank and RTSNi is in the second GPIO bank. Modify the code
// if RTSNi is set in the first bank or KDB[3:0], KDI4 are in the second bank.
//
#if defined(CONFIG_MODEL_MZ2500)
IRAM_ATTR void mz25Interface( void * pvParameters )
{
// Locals.
@@ -278,6 +287,117 @@ IRAM_ATTR void mz25Interface( void * pvParameters )
//TIMERG1.wdt_wprotect=0; // write protect
}
}
#endif
// Method to connect and interact with the MZ-2800 keyboard controller. This method is seperate from the MZ-2500
// as the scan is different and as it is time critical it needs to be per target machine.
//
// The basic requirement is to:
// 1. Detect a rising edge on the RTSN signal
// 2. Wait at least 200ns before sampling KD4
// 3. Wait at least 650ns before reading ROW.
// 4. Read the provided ROW number.
// 5. If KD4 = 0 then output logical AND of all columns to LS257 Mux.
// 6. If KD4 = 1 then lookup data for given row and output to LS257 Mux.
// 7. Wait for RTSN to return low.
// 7. Loop
//
// The ps2Interface method is responsible for obtaining a PS/2 Keyboard scancode and
// creating the corresponding virtual matrix.
//
// NB: As this method holds Core 1 under spinlock, no FreeRTOS or Arduino access
// can be made except for basic I/O ports. The spinlock has to be released for non
// I/O work.
//
// The MZ 2800 timing period is 1.78uS RTSN going active high, KD4 changing state 150ns after RTSN goes active,
// ROW number being set 650ns after RTSN goes active. MPX directly controls the LS257 latch so only need to write out
// and 8 bit value prior to RTSN going inactive.
// Normally the keyboard is in STROBE ALL mode. When a key is pressed, it commences a scan and when it arrives at the pressed
// key, RTSN cycle is suspended for varying amounts of time (ie 500us or 19ms) as the controller is looking for debounce and repeat.
//
// WARNING: The GPIO's are configurable via menuconfig BUT it is assumed all except RTSNi
// are in the first GPIO bank and RTSNi is in the second GPIO bank. Modify the code
// if RTSNi is set in the first bank or KDB[3:0], KDI4 are in the second bank.
//
#if defined(CONFIG_MODEL_MZ2800)
IRAM_ATTR void mz28Interface( void * pvParameters )
{
// Locals.
volatile uint32_t gpioIN;
volatile uint8_t strobeRow = 1;
// Mask values declared as variables, let the optimiser decide wether they are constants or placed in-memory.
uint32_t rowBitMask = (1 << CONFIG_MZ_KDB3) | (1 << CONFIG_MZ_KDB2) | (1 << CONFIG_MZ_KDB1) | (1 << CONFIG_MZ_KDB0);
uint32_t colBitMask = (1 << CONFIG_MZ_KDO7) | (1 << CONFIG_MZ_KDO6) | (1 << CONFIG_MZ_KDO5) | (1 << CONFIG_MZ_KDO4) |
(1 << CONFIG_MZ_KDO3) | (1 << CONFIG_MZ_KDO2) | (1 << CONFIG_MZ_KDO1) | (1 << CONFIG_MZ_KDO0);
uint32_t KDB3_MASK = (1 << CONFIG_MZ_KDB3);
uint32_t KDB2_MASK = (1 << CONFIG_MZ_KDB2);
uint32_t KDB1_MASK = (1 << CONFIG_MZ_KDB1);
uint32_t KDB0_MASK = (1 << CONFIG_MZ_KDB0);
uint32_t KDI4_MASK = (1 << CONFIG_MZ_KDI4);
uint32_t RTSNI_MASK = (1 << (CONFIG_MZ_RTSNI - 32));
ESP_LOGI(MAINTAG, "Starting mz28Interface thread, colBitMask=%08x, rowBitMask=%08x.", colBitMask, rowBitMask);
// Create, initialise and hold a spinlock so the current core is bound to this one method.
portENTER_CRITICAL(&mzMutex);
// Permanent loop, just wait for an RTSN strobe, latch the row, lookup matrix and output.
for(;;)
{
#if defined(CONFIG_MZ_WIFI_ENABLED)
// Whilst Wifi is active, suspend processing as we need to free up the core.
if(wifiActivated)
{
portEXIT_CRITICAL(&mzMutex);
while(wifiActivated);
portENTER_CRITICAL(&mzMutex);
}
#endif
// Detect RTSN going high, the MZ will send the required row during this cycle.
if(REG_READ(GPIO_IN1_REG) & RTSNI_MASK)
{
// Slight delay needed as KD4 lags behind RTSN by approx 200ns and ROW number lags 850ns behind RTSN.
for(volatile uint32_t delay=0; delay < 8; delay++);
// Read the GPIO ports to get latest Row and KDI4 states.
gpioIN = REG_READ(GPIO_IN_REG);
// Assemble the required matrix row from the configured bits.
strobeRow = ((gpioIN&KDB3_MASK) >> (CONFIG_MZ_KDB3-3)) | ((gpioIN&KDB2_MASK) >> (CONFIG_MZ_KDB2-2)) | ((gpioIN&KDB1_MASK) >> (CONFIG_MZ_KDB1-1)) | ((gpioIN&KDB0_MASK) >> CONFIG_MZ_KDB0);
// Clear all KDO bits - clear state = '1'
GPIO.out_w1ts = colBitMask; // Reset all scan data bits to '1', inactive.
// Another short delay once the row has been assembled as we dont want to change the latch setting too soon, changing to soon leads to ghosting on previous row.
for(volatile uint32_t delay=0; delay < 5; delay++);
// KDI4 indicates if row data is needed or a single byte ANDing all the keys together, ie. to detect a key press without strobing all rows.
if(gpioIN & KDI4_MASK)
{
// Set all required KDO bits according to keyMatrix, set state = '0'.
GPIO.out_w1tc = mzControl.keyMatrixAsGPIO[strobeRow]; // Set to '0' active bits.
} else
{
// Set all required KDO bits according to the strobe all value. set state = '0'.
GPIO.out_w1tc = mzControl.strobeAllAsGPIO; // Set to '0' active bits.
}
// Wait for RTSN to go low. No lockup guarding as timing is critical also the watchdog is disabled, if RTSN never goes low then the user has probably unplugged the interface!
while(REG_READ(GPIO_IN1_REG) & RTSNI_MASK);
}
// Logic to feed the watchdog if needed. Watchdog disabled in menuconfig but if enabled this will need to be used.
//TIMERG0.wdt_wprotect=TIMG_WDT_WKEY_VALUE; // write enable
//TIMERG0.wdt_feed=1; // feed dog
//TIMERG0.wdt_wprotect=0; // write protect
//TIMERG1.wdt_wprotect=TIMG_WDT_WKEY_VALUE; // write enable
//TIMERG1.wdt_feed=1; // feed dog
//TIMERG1.wdt_wprotect=0; // write protect
}
}
#endif
// Method to refresh the transposed matrix used in the MZ interface. The normal key matrix is transposed to save valuable time
// because even though a core is dedicated to the MZ interface the timing is critical and the ESP-32 doesnt have spare horse power!
@@ -1095,8 +1215,14 @@ void setup()
// to interact with the PS/2 keyboard and buffer scan codes.
//
// Core 1 - MZ Interface
#if defined(CONFIG_MODEL_MZ2500)
ESP_LOGI(MAINTAG, "Starting mz25if thread...");
xTaskCreatePinnedToCore(mz25Interface, "mz25if", 32768, NULL, 25, &TaskMZ25IF, 1);
#endif
#if defined(CONFIG_MODEL_MZ2800)
ESP_LOGI(MAINTAG, "Starting mz28if thread...");
xTaskCreatePinnedToCore(mz28Interface, "mz28if", 32768, NULL, 25, &TaskMZ28IF, 1);
#endif
vTaskDelay(500);
// Core 0 - Application

View File

@@ -189,6 +189,8 @@ CONFIG_KEYMAP_WYSE_KB3926=y
#
# MZ-2500/2800 Interface
#
# CONFIG_MODEL_MZ2500 is not set
CONFIG_MODEL_MZ2800=y
#
# 4Bit Strobe Input