Compare commits

..

No commits in common. "main" and "ci-test" have entirely different histories.

85 changed files with 114 additions and 49938 deletions

View file

@ -11,8 +11,4 @@ So far, the connectors seem to match up with the ones shown in the SEM schematic
There is also a Z80 based system + an EEPROM on the board.
## Front Side
![Image of PH00524-2](./ph00524-2.jpg)
## Back Side
![Image of the back side of PH00524-2](./ph00524-2-back.jpg)

BIN
modules/ph00524/ph00524-2-back.jpg (Stored with Git LFS)

Binary file not shown.

View file

@ -1,7 +0,0 @@
Open Beam Interface for the JEOL T330A
--------------------------------------
Setup of [Open Beam Interface][0] for our scope.
![Current OBI setup for our JEOL T330A](./kenji-obi.jpg)
[0]: https://github.com/nanographs/Open-Beam-Interface

View file

@ -1,5 +0,0 @@
pool/*.db
pool/*.db-*
*.imp_meta
*.autosave
*.bak

View file

@ -1,5 +0,0 @@
Adapter board from 'PC' DE9 connector to 4x SMA.
Designed using HorizonEDA.
![screenshot of board in HorizonEDA](design.png)

View file

@ -1,11 +0,0 @@
{
"blocks": {
"6590a349-edbb-4eb4-8a8e-db9dc800d507": {
"block_filename": "top_block.json",
"schematic_filename": "top_schematic.json",
"symbol_filename": ""
}
},
"top_block": "6590a349-edbb-4eb4-8a8e-db9dc800d507",
"type": "blocks"
}

File diff suppressed because it is too large Load diff

Binary file not shown.

Before

Width:  |  Height:  |  Size: 50 KiB

View file

@ -1,22 +0,0 @@
{
"blocks": [
{
"block_filename": "top_block.json",
"is_top": true,
"schematic_filename": "top_schematic.json"
}
],
"blocks_filename": "blocks.json",
"board_filename": "board.json",
"name": "",
"pictures_filename": "pictures",
"planes_filename": "planes.json",
"pool_cache_directory": "cache",
"pool_directory": "pool",
"pool_uuid": "6d752bc3-29b3-45df-8cf2-1e3aacefbcc6",
"title": "",
"type": "project",
"uuid": "b3d369d6-efea-4156-a11e-fc343d00f563",
"version": 3,
"vias_directory": ""
}

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

View file

@ -1,8 +0,0 @@
%FSLAX46Y46*%
%MOMM*%
G01*
%LPD*%
G01*
%LPD*%
G75*
M02*

View file

@ -1,252 +0,0 @@
%FSLAX46Y46*%
%MOMM*%
%AMPS14*
21,1,1.700000,5.200000,0.000000,0.000000,270.000000*
%
%ADD14PS14*%
%AMPS13*
1,1,1.900000,0.000000,0.000000*
%
%ADD13PS13*%
%AMPS15*
1,1,0.500000,0.000000,0.000000*
%
%ADD15PS15*%
%AMPS11*
4,1,8,
-5.942000,2.513000,
-5.942000,1.614500,
-5.230800,1.614500,
-5.230800,0.354000,
-5.942000,0.354000,
-5.942000,-0.100000,
0.100000,-0.100000,
0.100000,2.513000,
-5.942000,2.513000,
0*
%
%ADD11PS11*%
%AMPS10*
1,1,3.200000,0.000000,0.000000*
%
%ADD10PS10*%
%AMPS12*
4,1,8,
-5.942000,0.100000,
-5.942000,-0.354000,
-5.230800,-0.354000,
-5.230800,-1.614500,
-5.942000,-1.614500,
-5.942000,-2.513000,
0.100000,-2.513000,
0.100000,0.100000,
-5.942000,0.100000,
0*
%
%ADD12PS12*%
G01*
%LPD*%
G01*
%LPD*%
G75*
D10*
X34000000Y-5000000D03*
D10*
X34000000Y-60000000D03*
D11*
X6342000Y-21325000D03*
D12*
X6342000Y-27675000D03*
D11*
X6342000Y-5325000D03*
D12*
X6342000Y-11675000D03*
D13*
X12460000Y-60500000D03*
D13*
X15000000Y-60500000D03*
D13*
X17540000Y-60500000D03*
D14*
X36000000Y-30625000D03*
D14*
X36000000Y-27875000D03*
D14*
X36000000Y-33375000D03*
D14*
X36000000Y-36125000D03*
D11*
X6342000Y-37325000D03*
D12*
X6342000Y-43675000D03*
D11*
X6342000Y-53325000D03*
D12*
X6342000Y-59675000D03*
D13*
X12460000Y-44500000D03*
D13*
X15000000Y-44500000D03*
D13*
X17540000Y-44500000D03*
D13*
X12460000Y-28500000D03*
D13*
X15000000Y-28500000D03*
D13*
X17540000Y-28500000D03*
D13*
X12460000Y-12500000D03*
D13*
X15000000Y-12500000D03*
D13*
X17540000Y-12500000D03*
D15*
X14500000Y-10000000D03*
D15*
X8000000Y-39000000D03*
D15*
X22000000Y-8500000D03*
D15*
X28500000Y-1500000D03*
D15*
X37500000Y-23500000D03*
D15*
X30500000Y-26500000D03*
D15*
X2000000Y-63500000D03*
D15*
X22500000Y-38500000D03*
D15*
X35500000Y-1500000D03*
D15*
X10000000Y-63500000D03*
D15*
X5500000Y-16500000D03*
D15*
X27000000Y-38000000D03*
D15*
X25500000Y-43000000D03*
D15*
X7500000Y-7000000D03*
D15*
X30500000Y-35500000D03*
D15*
X14500000Y-1500000D03*
D15*
X8000000Y-42000000D03*
D15*
X8000000Y-58000000D03*
D15*
X13000000Y-39000000D03*
D15*
X23500000Y-28000000D03*
D15*
X8000000Y-55000000D03*
D15*
X23500000Y-63500000D03*
D15*
X19000000Y-55000000D03*
D15*
X21500000Y-1500000D03*
D15*
X16000000Y-58000000D03*
D15*
X37000000Y-63500000D03*
D15*
X21000000Y-42000000D03*
D15*
X26000000Y-12500000D03*
D15*
X32000000Y-37500000D03*
D15*
X15000000Y-26000000D03*
D15*
X22000000Y-12500000D03*
D15*
X15000000Y-42000000D03*
D15*
X37500000Y-18000000D03*
D15*
X1000000Y-48500000D03*
D15*
X14000000Y-55000000D03*
D15*
X28000000Y-50000000D03*
D15*
X32500000Y-20500000D03*
D15*
X1500000Y-16500000D03*
D15*
X31500000Y-29000000D03*
D15*
X12000000Y-23000000D03*
D15*
X37000000Y-58500000D03*
D15*
X30000000Y-30500000D03*
D15*
X25000000Y-53500000D03*
D15*
X11500000Y-7000000D03*
D15*
X37500000Y-6000000D03*
D15*
X37500000Y-12000000D03*
D15*
X23000000Y-55000000D03*
D15*
X25500000Y-58000000D03*
D15*
X8000000Y-26000000D03*
D15*
X18000000Y-23000000D03*
D15*
X8000000Y-1500000D03*
D15*
X23500000Y-24000000D03*
D15*
X30500000Y-63500000D03*
D15*
X17500000Y-7000000D03*
D15*
X32500000Y-24500000D03*
D15*
X18000000Y-39000000D03*
D15*
X27000000Y-34000000D03*
D15*
X1500000Y-1500000D03*
D15*
X25500000Y-48000000D03*
D15*
X28500000Y-40500000D03*
D15*
X17000000Y-63500000D03*
D15*
X28500000Y-45000000D03*
D15*
X21500000Y-58000000D03*
D15*
X5500000Y-32500000D03*
D15*
X5500000Y-48500000D03*
D15*
X29500000Y-20500000D03*
D15*
X37500000Y-41000000D03*
D15*
X30000000Y-16500000D03*
D15*
X7500000Y-10000000D03*
D15*
X27500000Y-31500000D03*
D15*
X26000000Y-16500000D03*
D15*
X27500000Y-28000000D03*
D15*
X8000000Y-23000000D03*
D15*
X1500000Y-32500000D03*
M02*

View file

@ -1,21 +0,0 @@
%FSLAX46Y46*%
%MOMM*%
%ADD10C,0.010000*%
G01*
%LPD*%
G01*
%LPD*%
D10*
X0Y-65000000D02*
X0Y0D01*
D10*
X0Y0D02*
X39000000Y0D01*
D10*
X39000000Y0D02*
X39000000Y-65000000D01*
D10*
X39000000Y-65000000D02*
X0Y-65000000D01*
G75*
M02*

File diff suppressed because it is too large Load diff

View file

@ -1,940 +0,0 @@
%FSLAX46Y46*%
%MOMM*%
%ADD10C,0.150000*%
%ADD11C,0.200000*%
G01*
%LPD*%
G01*
%LPD*%
D10*
X5199143Y-31342096D02*
X5199143Y-30580190D01*
D10*
X5151524Y-31484952D02*
X5199143Y-31342096D01*
D10*
X5103905Y-31532572D02*
X5151524Y-31484952D01*
D10*
X5008667Y-31580190D02*
X5103905Y-31532572D01*
D10*
X4913428Y-31580190D02*
X5008667Y-31580190D01*
D10*
X4818190Y-31532572D02*
X4913428Y-31580190D01*
D10*
X4770571Y-31484952D02*
X4818190Y-31532572D01*
D10*
X4722952Y-31342096D02*
X4770571Y-31484952D01*
D10*
X4722952Y-31246858D02*
X4722952Y-31342096D01*
D10*
X5580095Y-30770666D02*
X5580095Y-30818286D01*
D10*
X5627714Y-30675428D02*
X5580095Y-30770666D01*
D10*
X5675333Y-30627810D02*
X5627714Y-30675428D01*
D10*
X5770571Y-30580190D02*
X5675333Y-30627810D01*
D10*
X5961047Y-30580190D02*
X5770571Y-30580190D01*
D10*
X6056285Y-30627810D02*
X5961047Y-30580190D01*
D10*
X6103905Y-30675428D02*
X6056285Y-30627810D01*
D10*
X6151524Y-30770666D02*
X6103905Y-30675428D01*
D10*
X6151524Y-30865904D02*
X6151524Y-30770666D01*
D10*
X6103905Y-30961142D02*
X6151524Y-30865904D01*
D10*
X6008666Y-31104000D02*
X6103905Y-30961142D01*
D10*
X5532476Y-31580190D02*
X6008666Y-31104000D01*
D10*
X6199143Y-31580190D02*
X5532476Y-31580190D01*
D10*
X5199143Y-15342095D02*
X5199143Y-14580190D01*
D10*
X5151524Y-15484952D02*
X5199143Y-15342095D01*
D10*
X5103905Y-15532571D02*
X5151524Y-15484952D01*
D10*
X5008667Y-15580190D02*
X5103905Y-15532571D01*
D10*
X4913428Y-15580190D02*
X5008667Y-15580190D01*
D10*
X4818190Y-15532571D02*
X4913428Y-15580190D01*
D10*
X4770571Y-15484952D02*
X4818190Y-15532571D01*
D10*
X4722952Y-15342095D02*
X4770571Y-15484952D01*
D10*
X4722952Y-15246857D02*
X4722952Y-15342095D01*
D10*
X5627714Y-14580190D02*
X6103905Y-14580190D01*
D10*
X5580095Y-15008762D02*
X5627714Y-14580190D01*
D10*
X5627714Y-14961143D02*
X5580095Y-15008762D01*
D10*
X5770571Y-14913524D02*
X5627714Y-14961143D01*
D10*
X5913428Y-14913524D02*
X5770571Y-14913524D01*
D10*
X6056285Y-14961143D02*
X5913428Y-14913524D01*
D10*
X6151524Y-15056381D02*
X6056285Y-14961143D01*
D10*
X6199143Y-15199238D02*
X6151524Y-15056381D01*
D10*
X6199143Y-15294476D02*
X6199143Y-15199238D01*
D10*
X6151524Y-15437333D02*
X6199143Y-15294476D01*
D10*
X6056285Y-15532571D02*
X6151524Y-15437333D01*
D10*
X5913428Y-15580190D02*
X6056285Y-15532571D01*
D10*
X5770571Y-15580190D02*
X5913428Y-15580190D01*
D10*
X5627714Y-15532571D02*
X5770571Y-15580190D01*
D10*
X5580095Y-15484952D02*
X5627714Y-15532571D01*
D10*
X5532476Y-15389714D02*
X5580095Y-15484952D01*
D10*
X18810000Y-61770000D02*
X11190000Y-61770000D01*
D10*
X11190000Y-59230000D02*
X18810000Y-59230000D01*
D10*
X12085000Y-63020000D02*
X12460000Y-62270000D01*
D10*
X12460000Y-62270000D02*
X12835000Y-63020000D01*
D10*
X18810000Y-59230000D02*
X18810000Y-61770000D01*
D10*
X12835000Y-63020000D02*
X12085000Y-63020000D01*
D10*
X11190000Y-61770000D02*
X11190000Y-59230000D01*
D10*
X10158095Y-61198572D02*
X9396190Y-61198572D01*
D10*
X10300952Y-61246192D02*
X10158095Y-61198572D01*
D10*
X10348571Y-61293808D02*
X10300952Y-61246192D01*
D10*
X10396190Y-61389048D02*
X10348571Y-61293808D01*
D10*
X10396190Y-61484284D02*
X10396190Y-61389048D01*
D10*
X10348571Y-61579524D02*
X10396190Y-61484284D01*
D10*
X10300952Y-61627144D02*
X10348571Y-61579524D01*
D10*
X10158095Y-61674760D02*
X10300952Y-61627144D01*
D10*
X10062857Y-61674760D02*
X10158095Y-61674760D01*
D10*
X9443810Y-60293808D02*
X9539048Y-60246192D01*
D10*
X9396190Y-60436668D02*
X9443810Y-60293808D01*
D10*
X9396190Y-60531904D02*
X9396190Y-60436668D01*
D10*
X9443810Y-60674760D02*
X9396190Y-60531904D01*
D10*
X9586667Y-60770000D02*
X9443810Y-60674760D01*
D10*
X9824762Y-60817620D02*
X9586667Y-60770000D01*
D10*
X10062857Y-60817620D02*
X9824762Y-60817620D01*
D10*
X10253333Y-60770000D02*
X10062857Y-60817620D01*
D10*
X10348571Y-60674760D02*
X10253333Y-60770000D01*
D10*
X10396190Y-60531904D02*
X10348571Y-60674760D01*
D10*
X10396190Y-60484284D02*
X10396190Y-60531904D01*
D10*
X10348571Y-60341428D02*
X10396190Y-60484284D01*
D10*
X10253333Y-60246192D02*
X10348571Y-60341428D01*
D10*
X10110476Y-60198572D02*
X10253333Y-60246192D01*
D10*
X10062857Y-60198572D02*
X10110476Y-60198572D01*
D10*
X9920000Y-60246192D02*
X10062857Y-60198572D01*
D10*
X9824762Y-60341428D02*
X9920000Y-60246192D01*
D10*
X9777143Y-60484284D02*
X9824762Y-60341428D01*
D10*
X9777143Y-60531904D02*
X9777143Y-60484284D01*
D10*
X9824762Y-60674760D02*
X9777143Y-60531904D01*
D10*
X9920000Y-60770000D02*
X9824762Y-60674760D01*
D10*
X10062857Y-60817620D02*
X9920000Y-60770000D01*
D11*
X33000000Y-27250000D02*
X33000000Y-25750000D01*
D10*
X31988096Y-26892858D02*
X31226190Y-26892858D01*
D10*
X32130952Y-26940476D02*
X31988096Y-26892858D01*
D10*
X32178572Y-26988096D02*
X32130952Y-26940476D01*
D10*
X32226190Y-27083334D02*
X32178572Y-26988096D01*
D10*
X32226190Y-27178572D02*
X32226190Y-27083334D01*
D10*
X32178572Y-27273810D02*
X32226190Y-27178572D01*
D10*
X32130952Y-27321428D02*
X32178572Y-27273810D01*
D10*
X31988096Y-27369048D02*
X32130952Y-27321428D01*
D10*
X31892858Y-27369048D02*
X31988096Y-27369048D01*
D10*
X31226190Y-25940476D02*
X31226190Y-26464286D01*
D10*
X31607142Y-26226190D02*
X31226190Y-25940476D01*
D10*
X31607142Y-26083334D02*
X31607142Y-26226190D01*
D10*
X31654762Y-25988096D02*
X31607142Y-26083334D01*
D10*
X31702380Y-25940476D02*
X31654762Y-25988096D01*
D10*
X31845238Y-25892858D02*
X31702380Y-25940476D01*
D10*
X31940476Y-25892858D02*
X31845238Y-25892858D01*
D10*
X32083334Y-25940476D02*
X31940476Y-25892858D01*
D10*
X32178572Y-26035714D02*
X32083334Y-25940476D01*
D10*
X32226190Y-26178572D02*
X32178572Y-26035714D01*
D10*
X32226190Y-26321428D02*
X32226190Y-26178572D01*
D10*
X32178572Y-26464286D02*
X32226190Y-26321428D01*
D10*
X32130952Y-26511904D02*
X32178572Y-26464286D01*
D10*
X32035714Y-26559524D02*
X32130952Y-26511904D01*
D10*
X16438095Y-58476192D02*
X16438095Y-57476192D01*
D10*
X16866666Y-57476192D02*
X16438095Y-57476192D01*
D10*
X17009524Y-57523808D02*
X16866666Y-57476192D01*
D10*
X17057142Y-57571428D02*
X17009524Y-57523808D01*
D10*
X17104762Y-57666668D02*
X17057142Y-57571428D01*
D10*
X17104762Y-57761904D02*
X17104762Y-57666668D01*
D10*
X17057142Y-57857144D02*
X17104762Y-57761904D01*
D10*
X17009524Y-57904760D02*
X17057142Y-57857144D01*
D10*
X16866666Y-57952380D02*
X17009524Y-57904760D01*
D10*
X16438095Y-57952380D02*
X16866666Y-57952380D01*
D10*
X17104762Y-58476192D02*
X16771429Y-57952380D01*
D10*
X18009524Y-57476192D02*
X17485714Y-57476192D01*
D10*
X17723810Y-57857144D02*
X18009524Y-57476192D01*
D10*
X17866666Y-57857144D02*
X17723810Y-57857144D01*
D10*
X17961904Y-57904760D02*
X17866666Y-57857144D01*
D10*
X18009524Y-57952380D02*
X17961904Y-57904760D01*
D10*
X18057142Y-58095240D02*
X18009524Y-57952380D01*
D10*
X18057142Y-58190476D02*
X18057142Y-58095240D01*
D10*
X18009524Y-58333332D02*
X18057142Y-58190476D01*
D10*
X17914286Y-58428572D02*
X18009524Y-58333332D01*
D10*
X17771428Y-58476192D02*
X17914286Y-58428572D01*
D10*
X17628572Y-58476192D02*
X17771428Y-58476192D01*
D10*
X17485714Y-58428572D02*
X17628572Y-58476192D01*
D10*
X17438096Y-58380952D02*
X17485714Y-58428572D01*
D10*
X17390476Y-58285716D02*
X17438096Y-58380952D01*
D10*
X16438095Y-26476190D02*
X16438095Y-25476190D01*
D10*
X16866666Y-25476190D02*
X16438095Y-25476190D01*
D10*
X17009524Y-25523810D02*
X16866666Y-25476190D01*
D10*
X17057142Y-25571428D02*
X17009524Y-25523810D01*
D10*
X17104762Y-25666666D02*
X17057142Y-25571428D01*
D10*
X17104762Y-25761904D02*
X17104762Y-25666666D01*
D10*
X17057142Y-25857142D02*
X17104762Y-25761904D01*
D10*
X17009524Y-25904762D02*
X17057142Y-25857142D01*
D10*
X16866666Y-25952380D02*
X17009524Y-25904762D01*
D10*
X16438095Y-25952380D02*
X16866666Y-25952380D01*
D10*
X17104762Y-26476190D02*
X16771429Y-25952380D01*
D10*
X17628572Y-25619048D02*
X17533334Y-25666666D01*
D10*
X17771428Y-25476190D02*
X17628572Y-25619048D01*
D10*
X17771428Y-26476190D02*
X17771428Y-25476190D01*
D10*
X5199143Y-47342096D02*
X5199143Y-46580192D01*
D10*
X5151524Y-47484952D02*
X5199143Y-47342096D01*
D10*
X5103905Y-47532572D02*
X5151524Y-47484952D01*
D10*
X5008667Y-47580192D02*
X5103905Y-47532572D01*
D10*
X4913428Y-47580192D02*
X5008667Y-47580192D01*
D10*
X4818190Y-47532572D02*
X4913428Y-47580192D01*
D10*
X4770571Y-47484952D02*
X4818190Y-47532572D01*
D10*
X4722952Y-47342096D02*
X4770571Y-47484952D01*
D10*
X4722952Y-47246856D02*
X4722952Y-47342096D01*
D10*
X6103905Y-47056380D02*
X6151524Y-46913524D01*
D10*
X6008666Y-47151620D02*
X6103905Y-47056380D01*
D10*
X5865809Y-47199240D02*
X6008666Y-47151620D01*
D10*
X5818190Y-47199240D02*
X5865809Y-47199240D01*
D10*
X5675333Y-47151620D02*
X5818190Y-47199240D01*
D10*
X5580095Y-47056380D02*
X5675333Y-47151620D01*
D10*
X5532476Y-46913524D02*
X5580095Y-47056380D01*
D10*
X5532476Y-46865904D02*
X5532476Y-46913524D01*
D10*
X5580095Y-46723048D02*
X5532476Y-46865904D01*
D10*
X5675333Y-46627808D02*
X5580095Y-46723048D01*
D10*
X5818190Y-46580192D02*
X5675333Y-46627808D01*
D10*
X5865809Y-46580192D02*
X5818190Y-46580192D01*
D10*
X6008666Y-46627808D02*
X5865809Y-46580192D01*
D10*
X6103905Y-46723048D02*
X6008666Y-46627808D01*
D10*
X6151524Y-46913524D02*
X6103905Y-46723048D01*
D10*
X6151524Y-47151620D02*
X6151524Y-46913524D01*
D10*
X6103905Y-47389716D02*
X6151524Y-47151620D01*
D10*
X6008666Y-47532572D02*
X6103905Y-47389716D01*
D10*
X5865809Y-47580192D02*
X6008666Y-47532572D01*
D10*
X5770571Y-47580192D02*
X5865809Y-47580192D01*
D10*
X5627714Y-47532572D02*
X5770571Y-47580192D01*
D10*
X5580095Y-47437332D02*
X5627714Y-47532572D01*
D10*
X5199143Y-63342096D02*
X5199143Y-62580192D01*
D10*
X5151524Y-63484952D02*
X5199143Y-63342096D01*
D10*
X5103905Y-63532572D02*
X5151524Y-63484952D01*
D10*
X5008667Y-63580192D02*
X5103905Y-63532572D01*
D10*
X4913428Y-63580192D02*
X5008667Y-63580192D01*
D10*
X4818190Y-63532572D02*
X4913428Y-63580192D01*
D10*
X4770571Y-63484952D02*
X4818190Y-63532572D01*
D10*
X4722952Y-63342096D02*
X4770571Y-63484952D01*
D10*
X4722952Y-63246856D02*
X4722952Y-63342096D01*
D10*
X5722952Y-63580192D02*
X6199143Y-62580192D01*
D10*
X6199143Y-62580192D02*
X5532476Y-62580192D01*
D10*
X18810000Y-45770000D02*
X11190000Y-45770000D01*
D10*
X11190000Y-43230000D02*
X18810000Y-43230000D01*
D10*
X12085000Y-47020000D02*
X12460000Y-46270000D01*
D10*
X12460000Y-46270000D02*
X12835000Y-47020000D01*
D10*
X18810000Y-43230000D02*
X18810000Y-45770000D01*
D10*
X12835000Y-47020000D02*
X12085000Y-47020000D01*
D10*
X11190000Y-45770000D02*
X11190000Y-43230000D01*
D10*
X10158095Y-45198572D02*
X9396190Y-45198572D01*
D10*
X10300952Y-45246192D02*
X10158095Y-45198572D01*
D10*
X10348571Y-45293808D02*
X10300952Y-45246192D01*
D10*
X10396190Y-45389048D02*
X10348571Y-45293808D01*
D10*
X10396190Y-45484284D02*
X10396190Y-45389048D01*
D10*
X10348571Y-45579524D02*
X10396190Y-45484284D01*
D10*
X10300952Y-45627144D02*
X10348571Y-45579524D01*
D10*
X10158095Y-45674760D02*
X10300952Y-45627144D01*
D10*
X10062857Y-45674760D02*
X10158095Y-45674760D01*
D10*
X9443810Y-44770000D02*
X9396190Y-44627144D01*
D10*
X9539048Y-44817620D02*
X9443810Y-44770000D01*
D10*
X9634286Y-44817620D02*
X9539048Y-44817620D01*
D10*
X9729524Y-44770000D02*
X9634286Y-44817620D01*
D10*
X9777143Y-44674760D02*
X9729524Y-44770000D01*
D10*
X9824762Y-44484284D02*
X9777143Y-44674760D01*
D10*
X9872381Y-44341428D02*
X9824762Y-44484284D01*
D10*
X9967619Y-44246192D02*
X9872381Y-44341428D01*
D10*
X10062857Y-44198572D02*
X9967619Y-44246192D01*
D10*
X10205714Y-44198572D02*
X10062857Y-44198572D01*
D10*
X10300952Y-44246192D02*
X10205714Y-44198572D01*
D10*
X10348571Y-44293808D02*
X10300952Y-44246192D01*
D10*
X10396190Y-44436668D02*
X10348571Y-44293808D01*
D10*
X10396190Y-44627144D02*
X10396190Y-44436668D01*
D10*
X10348571Y-44770000D02*
X10396190Y-44627144D01*
D10*
X10300952Y-44817620D02*
X10348571Y-44770000D01*
D10*
X10205714Y-44865240D02*
X10300952Y-44817620D01*
D10*
X10062857Y-44865240D02*
X10205714Y-44865240D01*
D10*
X9967619Y-44817620D02*
X10062857Y-44865240D01*
D10*
X9872381Y-44722380D02*
X9967619Y-44817620D01*
D10*
X9824762Y-44579524D02*
X9872381Y-44722380D01*
D10*
X9777143Y-44389048D02*
X9824762Y-44579524D01*
D10*
X9729524Y-44293808D02*
X9777143Y-44389048D01*
D10*
X9634286Y-44246192D02*
X9729524Y-44293808D01*
D10*
X9539048Y-44246192D02*
X9634286Y-44246192D01*
D10*
X9443810Y-44293808D02*
X9539048Y-44246192D01*
D10*
X9396190Y-44436668D02*
X9443810Y-44293808D01*
D10*
X9396190Y-44627144D02*
X9396190Y-44436668D01*
D10*
X18810000Y-29770000D02*
X11190000Y-29770000D01*
D10*
X11190000Y-27230000D02*
X18810000Y-27230000D01*
D10*
X12085000Y-31020000D02*
X12460000Y-30270000D01*
D10*
X12460000Y-30270000D02*
X12835000Y-31020000D01*
D10*
X18810000Y-27230000D02*
X18810000Y-29770000D01*
D10*
X12835000Y-31020000D02*
X12085000Y-31020000D01*
D10*
X11190000Y-29770000D02*
X11190000Y-27230000D01*
D10*
X10158095Y-29198572D02*
X9396190Y-29198572D01*
D10*
X10300952Y-29246190D02*
X10158095Y-29198572D01*
D10*
X10348571Y-29293810D02*
X10300952Y-29246190D01*
D10*
X10396190Y-29389048D02*
X10348571Y-29293810D01*
D10*
X10396190Y-29484286D02*
X10396190Y-29389048D01*
D10*
X10348571Y-29579524D02*
X10396190Y-29484286D01*
D10*
X10300952Y-29627142D02*
X10348571Y-29579524D01*
D10*
X10158095Y-29674762D02*
X10300952Y-29627142D01*
D10*
X10062857Y-29674762D02*
X10158095Y-29674762D01*
D10*
X9539048Y-28627142D02*
X9586667Y-28722380D01*
D10*
X9396190Y-28484286D02*
X9539048Y-28627142D01*
D10*
X10396190Y-28484286D02*
X9396190Y-28484286D01*
D10*
X16438095Y-10476190D02*
X16438095Y-9476190D01*
D10*
X16866666Y-9476190D02*
X16438095Y-9476190D01*
D10*
X17009524Y-9523810D02*
X16866666Y-9476190D01*
D10*
X17057142Y-9571429D02*
X17009524Y-9523810D01*
D10*
X17104762Y-9666667D02*
X17057142Y-9571429D01*
D10*
X17104762Y-9761905D02*
X17104762Y-9666667D01*
D10*
X17057142Y-9857143D02*
X17104762Y-9761905D01*
D10*
X17009524Y-9904762D02*
X17057142Y-9857143D01*
D10*
X16866666Y-9952381D02*
X17009524Y-9904762D01*
D10*
X16438095Y-9952381D02*
X16866666Y-9952381D01*
D10*
X17104762Y-10476190D02*
X16771429Y-9952381D01*
D10*
X17438096Y-9666667D02*
X17438096Y-9714286D01*
D10*
X17485714Y-9571429D02*
X17438096Y-9666667D01*
D10*
X17533334Y-9523810D02*
X17485714Y-9571429D01*
D10*
X17628572Y-9476190D02*
X17533334Y-9523810D01*
D10*
X17819048Y-9476190D02*
X17628572Y-9476190D01*
D10*
X17914286Y-9523810D02*
X17819048Y-9476190D01*
D10*
X17961904Y-9571429D02*
X17914286Y-9523810D01*
D10*
X18009524Y-9666667D02*
X17961904Y-9571429D01*
D10*
X18009524Y-9761905D02*
X18009524Y-9666667D01*
D10*
X17961904Y-9857143D02*
X18009524Y-9761905D01*
D10*
X17866666Y-10000000D02*
X17961904Y-9857143D01*
D10*
X17390476Y-10476190D02*
X17866666Y-10000000D01*
D10*
X18057142Y-10476190D02*
X17390476Y-10476190D01*
D10*
X16438095Y-42476192D02*
X16438095Y-41476192D01*
D10*
X16866666Y-41476192D02*
X16438095Y-41476192D01*
D10*
X17009524Y-41523808D02*
X16866666Y-41476192D01*
D10*
X17057142Y-41571428D02*
X17009524Y-41523808D01*
D10*
X17104762Y-41666668D02*
X17057142Y-41571428D01*
D10*
X17104762Y-41761904D02*
X17104762Y-41666668D01*
D10*
X17057142Y-41857144D02*
X17104762Y-41761904D01*
D10*
X17009524Y-41904760D02*
X17057142Y-41857144D01*
D10*
X16866666Y-41952380D02*
X17009524Y-41904760D01*
D10*
X16438095Y-41952380D02*
X16866666Y-41952380D01*
D10*
X17104762Y-42476192D02*
X16771429Y-41952380D01*
D10*
X17390476Y-42142856D02*
X17866666Y-41476192D01*
D10*
X18104762Y-42142856D02*
X17390476Y-42142856D01*
D10*
X17866666Y-42476192D02*
X17866666Y-41476192D01*
D10*
X18810000Y-13770000D02*
X11190000Y-13770000D01*
D10*
X11190000Y-11230000D02*
X18810000Y-11230000D01*
D10*
X12085000Y-15020000D02*
X12460000Y-14270000D01*
D10*
X12460000Y-14270000D02*
X12835000Y-15020000D01*
D10*
X18810000Y-11230000D02*
X18810000Y-13770000D01*
D10*
X12835000Y-15020000D02*
X12085000Y-15020000D01*
D10*
X11190000Y-13770000D02*
X11190000Y-11230000D01*
D10*
X10158095Y-13198571D02*
X9396190Y-13198571D01*
D10*
X10300952Y-13246190D02*
X10158095Y-13198571D01*
D10*
X10348571Y-13293810D02*
X10300952Y-13246190D01*
D10*
X10396190Y-13389048D02*
X10348571Y-13293810D01*
D10*
X10396190Y-13484286D02*
X10396190Y-13389048D01*
D10*
X10348571Y-13579524D02*
X10396190Y-13484286D01*
D10*
X10300952Y-13627143D02*
X10348571Y-13579524D01*
D10*
X10158095Y-13674762D02*
X10300952Y-13627143D01*
D10*
X10062857Y-13674762D02*
X10158095Y-13674762D01*
D10*
X10062857Y-12865238D02*
X9396190Y-12389048D01*
D10*
X10062857Y-12150952D02*
X10062857Y-12865238D01*
D10*
X10396190Y-12389048D02*
X9396190Y-12389048D01*
G75*
M02*

View file

@ -1,47 +0,0 @@
%FSLAX46Y46*%
%MOMM*%
%AMPS10*
21,1,1.500000,5.000000,0.000000,0.000000,270.000000*
%
%ADD10PS10*%
%AMPS11*
1,1,0.240000,0.130000,0.330000*
1,1,0.240000,0.130000,-0.330000*
21,1,0.500000,0.660000,0.000000,0.000000,180.000000*
21,1,0.260000,0.900000,0.000000,0.000000,180.000000*
1,1,0.240000,-0.130000,0.330000*
1,1,0.240000,-0.130000,-0.330000*
%
%ADD11PS11*%
G01*
%LPD*%
G01*
%LPD*%
G75*
D10*
X36000000Y-32000000D03*
D10*
X36000000Y-29250000D03*
D10*
X36000000Y-34750000D03*
D10*
X36000000Y-37500000D03*
D10*
X36000000Y-26500000D03*
D11*
X17750000Y-56500000D03*
D11*
X16250000Y-56500000D03*
D11*
X17750000Y-24500000D03*
D11*
X16250000Y-24500000D03*
D11*
X17750000Y-8500000D03*
D11*
X16250000Y-8500000D03*
D11*
X17750000Y-40500000D03*
D11*
X16250000Y-40500000D03*
M02*

View file

@ -1,303 +0,0 @@
%FSLAX46Y46*%
%MOMM*%
%AMPS14*
1,1,1.900000,0.000000,0.000000*
%
%ADD14PS14*%
%AMPS15*
21,1,1.700000,5.200000,0.000000,0.000000,270.000000*
%
%ADD15PS15*%
%AMPS17*
1,1,0.500000,0.000000,0.000000*
%
%ADD17PS17*%
%AMPS11*
4,1,8,
-5.942000,2.513000,
-5.942000,1.614500,
-5.230800,1.614500,
-5.230800,0.354000,
-5.942000,0.354000,
-5.942000,-0.100000,
0.100000,-0.100000,
0.100000,2.513000,
-5.942000,2.513000,
0*
%
%ADD11PS11*%
%AMPS13*
21,1,2.490000,6.040000,0.000000,0.000000,90.000000*
%
%ADD13PS13*%
%AMPS10*
1,1,3.200000,0.000000,0.000000*
%
%ADD10PS10*%
%AMPS16*
1,1,0.440000,0.130000,-0.330000*
1,1,0.440000,-0.130000,0.330000*
1,1,0.440000,-0.130000,-0.330000*
1,1,0.440000,0.130000,0.330000*
21,1,0.700000,0.660000,0.000000,0.000000,180.000000*
21,1,0.260000,1.100000,0.000000,0.000000,180.000000*
%
%ADD16PS16*%
%AMPS12*
4,1,8,
-5.942000,0.100000,
-5.942000,-0.354000,
-5.230800,-0.354000,
-5.230800,-1.614500,
-5.942000,-1.614500,
-5.942000,-2.513000,
0.100000,-2.513000,
0.100000,0.100000,
-5.942000,0.100000,
0*
%
%ADD12PS12*%
G01*
%LPD*%
G36*
X0Y-1000000D02*
X0Y0D01*
X39000000Y0D01*
X39000000Y-65000000D01*
X0Y-65000000D01*
X0Y-64000000D01*
X38000000Y-64000000D01*
X38000000Y-1000000D01*
X0Y-1000000D01*
D02*
G37*
G01*
%LPD*%
G75*
D10*
X34000000Y-5000000D03*
D10*
X34000000Y-60000000D03*
D11*
X6342000Y-21325000D03*
D12*
X6342000Y-27675000D03*
D13*
X3420000Y-24500000D03*
D11*
X6342000Y-5325000D03*
D12*
X6342000Y-11675000D03*
D13*
X3420000Y-8500000D03*
D14*
X12460000Y-60500000D03*
D14*
X15000000Y-60500000D03*
D14*
X17540000Y-60500000D03*
D15*
X36000000Y-32000000D03*
D15*
X36000000Y-29250000D03*
D15*
X36000000Y-34750000D03*
D15*
X36000000Y-37500000D03*
D15*
X36000000Y-26500000D03*
D16*
X17750000Y-56500000D03*
D16*
X16250000Y-56500000D03*
D16*
X17750000Y-24500000D03*
D16*
X16250000Y-24500000D03*
D11*
X6342000Y-37325000D03*
D12*
X6342000Y-43675000D03*
D13*
X3420000Y-40500000D03*
D11*
X6342000Y-53325000D03*
D12*
X6342000Y-59675000D03*
D13*
X3420000Y-56500000D03*
D14*
X12460000Y-44500000D03*
D14*
X15000000Y-44500000D03*
D14*
X17540000Y-44500000D03*
D14*
X12460000Y-28500000D03*
D14*
X15000000Y-28500000D03*
D14*
X17540000Y-28500000D03*
D16*
X17750000Y-8500000D03*
D16*
X16250000Y-8500000D03*
D16*
X17750000Y-40500000D03*
D16*
X16250000Y-40500000D03*
D14*
X12460000Y-12500000D03*
D14*
X15000000Y-12500000D03*
D14*
X17540000Y-12500000D03*
D17*
X14500000Y-10000000D03*
D17*
X8000000Y-39000000D03*
D17*
X22000000Y-8500000D03*
D17*
X28500000Y-1500000D03*
D17*
X37500000Y-23500000D03*
D17*
X30500000Y-26500000D03*
D17*
X2000000Y-63500000D03*
D17*
X22500000Y-38500000D03*
D17*
X35500000Y-1500000D03*
D17*
X10000000Y-63500000D03*
D17*
X5500000Y-16500000D03*
D17*
X27000000Y-38000000D03*
D17*
X25500000Y-43000000D03*
D17*
X7500000Y-7000000D03*
D17*
X30500000Y-35500000D03*
D17*
X14500000Y-1500000D03*
D17*
X8000000Y-42000000D03*
D17*
X8000000Y-58000000D03*
D17*
X13000000Y-39000000D03*
D17*
X23500000Y-28000000D03*
D17*
X8000000Y-55000000D03*
D17*
X23500000Y-63500000D03*
D17*
X19000000Y-55000000D03*
D17*
X21500000Y-1500000D03*
D17*
X16000000Y-58000000D03*
D17*
X37000000Y-63500000D03*
D17*
X21000000Y-42000000D03*
D17*
X26000000Y-12500000D03*
D17*
X32000000Y-37500000D03*
D17*
X15000000Y-26000000D03*
D17*
X22000000Y-12500000D03*
D17*
X15000000Y-42000000D03*
D17*
X37500000Y-18000000D03*
D17*
X1000000Y-48500000D03*
D17*
X14000000Y-55000000D03*
D17*
X28000000Y-50000000D03*
D17*
X32500000Y-20500000D03*
D17*
X1500000Y-16500000D03*
D17*
X31500000Y-29000000D03*
D17*
X12000000Y-23000000D03*
D17*
X37000000Y-58500000D03*
D17*
X30000000Y-30500000D03*
D17*
X25000000Y-53500000D03*
D17*
X11500000Y-7000000D03*
D17*
X37500000Y-6000000D03*
D17*
X37500000Y-12000000D03*
D17*
X23000000Y-55000000D03*
D17*
X25500000Y-58000000D03*
D17*
X8000000Y-26000000D03*
D17*
X18000000Y-23000000D03*
D17*
X8000000Y-1500000D03*
D17*
X23500000Y-24000000D03*
D17*
X30500000Y-63500000D03*
D17*
X17500000Y-7000000D03*
D17*
X32500000Y-24500000D03*
D17*
X18000000Y-39000000D03*
D17*
X27000000Y-34000000D03*
D17*
X1500000Y-1500000D03*
D17*
X25500000Y-48000000D03*
D17*
X28500000Y-40500000D03*
D17*
X17000000Y-63500000D03*
D17*
X28500000Y-45000000D03*
D17*
X21500000Y-58000000D03*
D17*
X5500000Y-32500000D03*
D17*
X5500000Y-48500000D03*
D17*
X29500000Y-20500000D03*
D17*
X37500000Y-41000000D03*
D17*
X30000000Y-16500000D03*
D17*
X7500000Y-10000000D03*
D17*
X27500000Y-31500000D03*
D17*
X26000000Y-16500000D03*
D17*
X27500000Y-28000000D03*
D17*
X8000000Y-23000000D03*
D17*
X1500000Y-32500000D03*
M02*

View file

@ -1,102 +0,0 @@
M48
FMAT,2
METRIC,TZ
T3C0.300
T2C1.000
T1C3.000
%
G90
G05
M71
T3
X14.500Y-10.000
X8.000Y-39.000
X22.000Y-8.500
X28.500Y-1.500
X37.500Y-23.500
X30.500Y-26.500
X2.000Y-63.500
X22.500Y-38.500
X35.500Y-1.500
X10.000Y-63.500
X5.500Y-16.500
X27.000Y-38.000
X25.500Y-43.000
X7.500Y-7.000
X30.500Y-35.500
X14.500Y-1.500
X8.000Y-42.000
X8.000Y-58.000
X13.000Y-39.000
X23.500Y-28.000
X8.000Y-55.000
X23.500Y-63.500
X19.000Y-55.000
X21.500Y-1.500
X16.000Y-58.000
X37.000Y-63.500
X21.000Y-42.000
X26.000Y-12.500
X32.000Y-37.500
X15.000Y-26.000
X22.000Y-12.500
X15.000Y-42.000
X37.500Y-18.000
X1.000Y-48.500
X14.000Y-55.000
X28.000Y-50.000
X32.500Y-20.500
X1.500Y-16.500
X31.500Y-29.000
X12.000Y-23.000
X37.000Y-58.500
X30.000Y-30.500
X25.000Y-53.500
X11.500Y-7.000
X37.500Y-6.000
X37.500Y-12.000
X23.000Y-55.000
X25.500Y-58.000
X8.000Y-26.000
X18.000Y-23.000
X8.000Y-1.500
X23.500Y-24.000
X30.500Y-63.500
X17.500Y-7.000
X32.500Y-24.500
X18.000Y-39.000
X27.000Y-34.000
X1.500Y-1.500
X25.500Y-48.000
X28.500Y-40.500
X17.000Y-63.500
X28.500Y-45.000
X21.500Y-58.000
X5.500Y-32.500
X5.500Y-48.500
X29.500Y-20.500
X37.500Y-41.000
X30.000Y-16.500
X7.500Y-10.000
X27.500Y-31.500
X26.000Y-16.500
X27.500Y-28.000
X8.000Y-23.000
X1.500Y-32.500
T2
X12.460Y-60.500
X15.000Y-60.500
X17.540Y-60.500
X12.460Y-44.500
X15.000Y-44.500
X17.540Y-44.500
X12.460Y-28.500
X15.000Y-28.500
X17.540Y-28.500
X12.460Y-12.500
X15.000Y-12.500
X17.540Y-12.500
T1
X34.000Y-5.000
X34.000Y-60.000
M30

File diff suppressed because it is too large Load diff

View file

@ -1,431 +0,0 @@
{
"arcs": {
"31331b42-c31d-49fb-a8c0-d087060cdeaf": {
"center": "8cad91c2-e816-4b60-bce8-dd2e93577136",
"from": "571d66fc-8cf4-4447-ad11-cfccd2569399",
"layer": 20,
"to": "1f2ea25f-9edd-41a9-8f7b-c88eea2784eb",
"width": 700000
},
"5c31d3fd-16cd-44b3-a28e-71ccb386a243": {
"center": "8cad91c2-e816-4b60-bce8-dd2e93577136",
"from": "1f2ea25f-9edd-41a9-8f7b-c88eea2784eb",
"layer": 20,
"to": "571d66fc-8cf4-4447-ad11-cfccd2569399",
"width": 700000
},
"80f683ed-51fc-498a-9916-a16628d602d9": {
"center": "a6666b50-1f63-43e4-8005-7961b9af4c49",
"from": "5a504432-e37a-431d-ba43-6f8b3f1fd2c6",
"layer": 20,
"to": "3234e80b-dfbe-4ac9-babf-e38d54e8b169",
"width": 2000000
},
"dbe5d70b-5e40-401d-ab3d-5826c9c702f5": {
"center": "a6666b50-1f63-43e4-8005-7961b9af4c49",
"from": "3234e80b-dfbe-4ac9-babf-e38d54e8b169",
"layer": 20,
"to": "5a504432-e37a-431d-ba43-6f8b3f1fd2c6",
"width": 2000000
}
},
"junctions": {
"1f2ea25f-9edd-41a9-8f7b-c88eea2784eb": {
"position": [
-8150000,
-1145750
]
},
"3234e80b-dfbe-4ac9-babf-e38d54e8b169": {
"position": [
950000,
1950000
]
},
"571d66fc-8cf4-4447-ad11-cfccd2569399": {
"position": [
8150000,
1950000
]
},
"5a504432-e37a-431d-ba43-6f8b3f1fd2c6": {
"position": [
-949750,
1902000
]
},
"8cad91c2-e816-4b60-bce8-dd2e93577136": {
"position": [
0,
402125
]
},
"a6666b50-1f63-43e4-8005-7961b9af4c49": {
"position": [
125,
1926000
]
}
},
"lines": {},
"name": "Horizon EDA (Silkscreen)",
"polygons": {
"4099f29e-0272-475d-b30a-8fdd82521475": {
"layer": 20,
"parameter_class": "",
"vertices": [
{
"arc_center": [
0,
0
],
"arc_reverse": false,
"position": [
6674750,
-1813250
],
"type": "line"
},
{
"arc_center": [
0,
0
],
"arc_reverse": false,
"position": [
6441750,
-2420000
],
"type": "line"
},
{
"arc_center": [
0,
0
],
"arc_reverse": false,
"position": [
-6448750,
-2420000
],
"type": "line"
},
{
"arc_center": [
0,
0
],
"arc_reverse": false,
"position": [
-6681500,
-1813250
],
"type": "line"
}
]
},
"6255ef85-a205-4a5a-8a46-639ea282f196": {
"layer": 20,
"parameter_class": "",
"vertices": [
{
"arc_center": [
0,
0
],
"arc_reverse": false,
"position": [
4579250,
-4939000
],
"type": "line"
},
{
"arc_center": [
0,
0
],
"arc_reverse": false,
"position": [
-4579000,
-4939000
],
"type": "line"
},
{
"arc_center": [
0,
0
],
"arc_reverse": false,
"position": [
-4101500,
-5315500
],
"type": "line"
},
{
"arc_center": [
0,
0
],
"arc_reverse": false,
"position": [
-3591500,
-5650000
],
"type": "line"
},
{
"arc_center": [
0,
0
],
"arc_reverse": false,
"position": [
-3052000,
-5939750
],
"type": "line"
},
{
"arc_center": [
0,
0
],
"arc_reverse": false,
"position": [
-2485250,
-6182500
],
"type": "line"
},
{
"arc_center": [
0,
0
],
"arc_reverse": false,
"position": [
-1894000,
-6375500
],
"type": "line"
},
{
"arc_center": [
0,
0
],
"arc_reverse": false,
"position": [
-1281000,
-6516500
],
"type": "line"
},
{
"arc_center": [
0,
0
],
"arc_reverse": false,
"position": [
-648750,
-6603000
],
"type": "line"
},
{
"arc_center": [
0,
0
],
"arc_reverse": false,
"position": [
0,
-6632250
],
"type": "line"
},
{
"arc_center": [
0,
0
],
"arc_reverse": false,
"position": [
649000,
-6602500
],
"type": "line"
},
{
"arc_center": [
0,
0
],
"arc_reverse": false,
"position": [
1281000,
-6515500
],
"type": "line"
},
{
"arc_center": [
0,
0
],
"arc_reverse": false,
"position": [
1894250,
-6373750
],
"type": "line"
},
{
"arc_center": [
0,
0
],
"arc_reverse": false,
"position": [
2485500,
-6179750
],
"type": "line"
},
{
"arc_center": [
0,
0
],
"arc_reverse": false,
"position": [
3052250,
-5936750
],
"type": "line"
},
{
"arc_center": [
0,
0
],
"arc_reverse": false,
"position": [
3591750,
-5647000
],
"type": "line"
},
{
"arc_center": [
0,
0
],
"arc_reverse": false,
"position": [
4101750,
-5313500
],
"type": "line"
}
]
},
"e2d60933-4a37-4202-8379-c6c89b9fd5b8": {
"layer": 20,
"parameter_class": "",
"vertices": [
{
"arc_center": [
0,
0
],
"arc_reverse": false,
"position": [
6096000,
-3104500
],
"type": "line"
},
{
"arc_center": [
0,
0
],
"arc_reverse": false,
"position": [
6096000,
-3104500
],
"type": "line"
},
{
"arc_center": [
0,
0
],
"arc_reverse": false,
"position": [
-6096000,
-3104500
],
"type": "line"
},
{
"arc_center": [
0,
0
],
"arc_reverse": false,
"position": [
-5771250,
-3617000
],
"type": "line"
},
{
"arc_center": [
0,
0
],
"arc_reverse": false,
"position": [
-5404500,
-4092250
],
"type": "line"
},
{
"arc_center": [
0,
0
],
"arc_reverse": false,
"position": [
5411750,
-4092250
],
"type": "line"
},
{
"arc_center": [
0,
0
],
"arc_reverse": false,
"position": [
5775000,
-3617000
],
"type": "line"
}
]
}
},
"texts": {},
"type": "decal",
"uuid": "43187eed-3a67-4629-a544-f980ea5a2683"
}

View file

@ -1,19 +0,0 @@
{
"gates": {
"7fbb1da2-7777-4835-add3-612b96b30e91": {
"name": "Main",
"suffix": "",
"swap_group": 0,
"unit": "e74e03b1-a7b8-4ba0-aecd-432f6f494064"
}
},
"manufacturer": "",
"name": "Coaxial connector",
"prefix": "J",
"tags": [
"connector",
"generic"
],
"type": "entity",
"uuid": "1d1d771d-3f05-4639-ba89-48f54cee58c6"
}

View file

@ -1 +0,0 @@
{"type": "entity", "manufacturer": "", "prefix": "J", "name": "Generic 9 pin connector", "tags": ["connector", "generic"], "uuid": "218b8c98-a576-4e2c-bb43-b7b0dcfcedf8", "gates": {"672e1f10-0401-43ad-b266-e7b705e49202": {"name": "Main", "suffix": "", "swap_group": 0, "unit": "804f8c1a-9233-4f1d-8327-9793242cd931"}}}

View file

@ -1 +0,0 @@
{"type": "entity", "manufacturer": "", "prefix": "J", "name": "Generic 2 pin connector", "tags": ["connector", "generic"], "uuid": "29f544a1-a789-4fe6-a1ef-29da5ba3d371", "gates": {"eb7f68b1-6fba-4a35-a470-2cecb23fe087": {"name": "Main", "suffix": "", "swap_group": 0, "unit": "c6a7e13e-6c70-4a80-a0dd-335d7b16967f"}}}

View file

@ -1,15 +0,0 @@
{
"gates": {
"48af78e5-730e-44eb-977a-cf188e4fcb39": {
"name": "Main",
"suffix": "",
"swap_group": 0,
"unit": "9b22b899-e8eb-4ce8-b62d-79b7b2db035e"
}
},
"tags": ["passive", "resistor", "generic"],
"name": "Two-terminal resistor",
"prefix": "R",
"type": "entity",
"uuid": "3ce770af-7be0-4f72-b2af-2c8010911aaf"
}

View file

@ -1 +0,0 @@
{"type": "entity", "manufacturer": "", "prefix": "J", "name": "Generic 3 pin connector", "tags": ["connector", "generic"], "uuid": "dac08463-17e8-4eb3-b5b4-4d7be5775379", "gates": {"6cbea03f-31ec-49ea-9903-b9bf7b26e340": {"name": "Main", "suffix": "", "swap_group": 0, "unit": "f866fdef-b785-46aa-998b-da21e7d86e93"}}}

View file

@ -1,288 +0,0 @@
{
"arcs": {},
"default_model": "00000000-0000-0000-0000-000000000000",
"dimensions": {},
"grid_settings": {
"current": {
"mode": "square",
"name": "",
"origin": [
0,
0
],
"spacing_rect": [
1000000,
1000000
],
"spacing_square": 250000
},
"grids": {}
},
"junctions": {
"4b548a1f-82d5-42f1-b5a9-233020c66816": {
"position": [
4750000,
3000000
]
},
"514e9d38-4fde-4966-a894-2f0f7a27bd89": {
"position": [
6250000,
3000000
]
}
},
"keepouts": {},
"lines": {
"462dbd4c-be6e-444e-a94b-7ed4e6f980a3": {
"from": "4b548a1f-82d5-42f1-b5a9-233020c66816",
"layer": 20,
"to": "514e9d38-4fde-4966-a894-2f0f7a27bd89",
"width": 200000
}
},
"manufacturer": "Generic",
"models": {},
"name": "DE9 Edge Launch",
"pads": {
"2ce9090d-e907-40e7-bd24-711373251638": {
"name": "3",
"padstack": "3846f4bf-7acf-403a-bc36-771ec675eac9",
"parameter_set": {
"pad_height": 5000000,
"pad_width": 1500000
},
"placement": {
"angle": 32768,
"mirror": false,
"shift": [
0,
0
]
}
},
"38694908-72f1-4e93-bf64-d8b662f1087f": {
"name": "7",
"padstack": "263ec020-0287-4960-bda2-bd4f5aa0a974",
"parameter_set": {
"pad_height": 5000000,
"pad_width": 1500000
},
"placement": {
"angle": 32768,
"mirror": false,
"shift": [
1375000,
0
]
}
},
"3df241d8-aeb4-439e-a9ac-22c7aaf48490": {
"name": "2",
"padstack": "3846f4bf-7acf-403a-bc36-771ec675eac9",
"parameter_set": {
"pad_height": 5000000,
"pad_width": 1500000
},
"placement": {
"angle": 32768,
"mirror": false,
"shift": [
2750000,
0
]
}
},
"3e2d527c-2db6-4dc1-9226-59bcbda861d4": {
"name": "6",
"padstack": "263ec020-0287-4960-bda2-bd4f5aa0a974",
"parameter_set": {
"pad_height": 5000000,
"pad_width": 1500000
},
"placement": {
"angle": 32768,
"mirror": false,
"shift": [
4125000,
0
]
}
},
"8e656416-0602-411a-af02-9e498375fb2f": {
"name": "8",
"padstack": "263ec020-0287-4960-bda2-bd4f5aa0a974",
"parameter_set": {
"pad_height": 5000000,
"pad_width": 1500000
},
"placement": {
"angle": 32768,
"mirror": false,
"shift": [
-1375000,
0
]
}
},
"9da96202-0edd-4196-88ec-120aad459ec7": {
"name": "9",
"padstack": "263ec020-0287-4960-bda2-bd4f5aa0a974",
"parameter_set": {
"pad_height": 5000000,
"pad_width": 1500000
},
"placement": {
"angle": 32768,
"mirror": false,
"shift": [
-4125000,
0
]
}
},
"a3bb016b-1d92-4ed8-8119-6b5bce4de43f": {
"name": "4",
"padstack": "3846f4bf-7acf-403a-bc36-771ec675eac9",
"parameter_set": {
"pad_height": 5000000,
"pad_width": 1500000
},
"placement": {
"angle": 32768,
"mirror": false,
"shift": [
-2750000,
0
]
}
},
"cdde280e-46d5-4eae-9b16-575da6b5adee": {
"name": "5",
"padstack": "3846f4bf-7acf-403a-bc36-771ec675eac9",
"parameter_set": {
"pad_height": 5000000,
"pad_width": 1500000
},
"placement": {
"angle": 32768,
"mirror": false,
"shift": [
-5500000,
0
]
}
},
"fe4913ff-9bf2-4e00-a1c5-f04e05eebc43": {
"name": "1",
"padstack": "3846f4bf-7acf-403a-bc36-771ec675eac9",
"parameter_set": {
"pad_height": 5000000,
"pad_width": 1500000
},
"placement": {
"angle": 32768,
"mirror": false,
"shift": [
5500000,
0
]
}
}
},
"parameter_program": "",
"parameter_set": {},
"polygons": {
"aac874c5-6a5d-4f13-b3e5-8f43b4301e80": {
"layer": 60,
"parameter_class": "courtyard",
"vertices": [
{
"arc_center": [
0,
0
],
"arc_reverse": false,
"position": [
6250000,
2500000
],
"type": "line"
},
{
"arc_center": [
0,
0
],
"arc_reverse": false,
"position": [
6250000,
-2500000
],
"type": "line"
},
{
"arc_center": [
0,
0
],
"arc_reverse": false,
"position": [
-6250000,
-2500000
],
"type": "line"
},
{
"arc_center": [
0,
0
],
"arc_reverse": false,
"position": [
-6250000,
2500000
],
"type": "line"
}
]
}
},
"rules": {
"clearance_package": {
"clearance_silkscreen_cu": 200000,
"clearance_silkscreen_pkg": 200000,
"enabled": true,
"order": -1
},
"package_checks": {
"enabled": true,
"order": -1
}
},
"tags": [
"connector",
"generic"
],
"texts": {
"8f5ea38d-8466-4480-9162-1bba31f49f2e": {
"font": "simplex",
"from_smash": false,
"layer": 20,
"origin": "center",
"placement": {
"angle": 32768,
"mirror": false,
"shift": [
6250000,
4250000
]
},
"size": 1000000,
"text": "$RD",
"width": 150000
}
},
"type": "package",
"uuid": "8a7c447c-9b38-4008-bb36-4963eb1707ea"
}

View file

@ -1,363 +0,0 @@
{
"arcs": {},
"default_model": "84ec8229-d872-42f8-bfcc-96938ff02bd1",
"dimensions": {},
"junctions": {
"0a740d64-5459-44e6-bdcc-a1efd331d807": {
"position": [
1270000,
-2540000
]
},
"80a43f22-0059-4ced-b4d8-ff1c36015780": {
"position": [
-1270000,
-2540000
]
},
"9b0bf198-8b0c-45ff-a14f-aa74d93facd4": {
"position": [
-1770000,
1270000
]
},
"9b10026b-58a7-43e4-953a-68a6935f3bab": {
"position": [
-2520000,
895000
]
},
"d69a70c8-e93e-4059-9ac3-709a743093ab": {
"position": [
-1270000,
2540000
]
},
"dff7942a-6556-4260-80b8-a09a91366b54": {
"position": [
1270000,
2540000
]
},
"eaff5280-c820-4c14-a432-97091dbfe4be": {
"position": [
-2520000,
1645000
]
}
},
"keepouts": {},
"lines": {
"235709dc-0c3e-42d0-89c4-e087c95fcba6": {
"from": "80a43f22-0059-4ced-b4d8-ff1c36015780",
"layer": 20,
"to": "d69a70c8-e93e-4059-9ac3-709a743093ab",
"width": 150000
},
"3f0d920f-2e18-4ad1-96f5-e31e863a69ee": {
"from": "dff7942a-6556-4260-80b8-a09a91366b54",
"layer": 20,
"to": "0a740d64-5459-44e6-bdcc-a1efd331d807",
"width": 150000
},
"3f165a62-2d8a-4472-b386-0f4701f0ca4c": {
"from": "eaff5280-c820-4c14-a432-97091dbfe4be",
"layer": 20,
"to": "9b0bf198-8b0c-45ff-a14f-aa74d93facd4",
"width": 150000
},
"61b2951c-0510-408b-a63e-73b3c3f8761b": {
"from": "9b0bf198-8b0c-45ff-a14f-aa74d93facd4",
"layer": 20,
"to": "9b10026b-58a7-43e4-953a-68a6935f3bab",
"width": 150000
},
"adac42c7-c996-4b71-a7b8-416675e8c859": {
"from": "0a740d64-5459-44e6-bdcc-a1efd331d807",
"layer": 20,
"to": "80a43f22-0059-4ced-b4d8-ff1c36015780",
"width": 150000
},
"bea06d61-6320-4083-ba8d-784febec8765": {
"from": "9b10026b-58a7-43e4-953a-68a6935f3bab",
"layer": 20,
"to": "eaff5280-c820-4c14-a432-97091dbfe4be",
"width": 150000
},
"e8cdf09f-2937-4d7c-aa87-6b5ebaa148aa": {
"from": "d69a70c8-e93e-4059-9ac3-709a743093ab",
"layer": 20,
"to": "dff7942a-6556-4260-80b8-a09a91366b54",
"width": 150000
}
},
"manufacturer": "",
"models": {
"84ec8229-d872-42f8-bfcc-96938ff02bd1": {
"filename": "3d_models/cache/6d752bc3-29b3-45df-8cf2-1e3aacefbcc6/3d_models/connector/header/2.54mm/PinHeader_1x02_P2.54mm_Vertical.step",
"pitch": 0,
"roll": 0,
"x": 0,
"y": 1270000,
"yaw": 0,
"z": 0
}
},
"name": "Pin header 1×2, 2.54mm pitch, vertical",
"pads": {
"7bc2147a-0234-41f6-ab65-444e57a43ce5": {
"name": "1",
"padstack": "296cf69b-9d53-45e4-aaab-4aedf4087d3a",
"parameter_set": {
"hole_diameter": 1000000,
"pad_diameter": 1700000
},
"placement": {
"angle": 0,
"mirror": false,
"shift": [
0,
1270000
]
}
},
"7de8ad61-d839-4bad-85e8-5b3d093d4d6c": {
"name": "2",
"padstack": "296cf69b-9d53-45e4-aaab-4aedf4087d3a",
"parameter_set": {
"hole_diameter": 1000000,
"pad_diameter": 1700000
},
"placement": {
"angle": 0,
"mirror": false,
"shift": [
0,
-1270000
]
}
}
},
"parameter_program": "2.540mm 5.080mm\nget-parameter [ courtyard_expansion ]\n2 * +xy\nset-polygon [ courtyard rectangle 0mm 0mm ]",
"parameter_set": {
"courtyard_expansion": 250000
},
"polygons": {
"3322ee2d-24ff-47df-9c67-0f9626dffd93": {
"layer": 40,
"parameter_class": "",
"vertices": [
{
"arc_center": [
0,
0
],
"arc_reverse": false,
"position": [
-1270000,
2540000
],
"type": "line"
},
{
"arc_center": [
0,
0
],
"arc_reverse": false,
"position": [
1270000,
2540000
],
"type": "line"
},
{
"arc_center": [
0,
0
],
"arc_reverse": false,
"position": [
1270000,
-2540000
],
"type": "line"
},
{
"arc_center": [
0,
0
],
"arc_reverse": false,
"position": [
-1270000,
-2540000
],
"type": "line"
}
]
},
"45a233cb-e960-474c-95b5-01d39aa03eb7": {
"layer": 60,
"parameter_class": "courtyard",
"vertices": [
{
"arc_center": [
0,
0
],
"arc_reverse": false,
"position": [
-1270000,
2540000
],
"type": "line"
},
{
"arc_center": [
0,
0
],
"arc_reverse": false,
"position": [
1270000,
2540000
],
"type": "line"
},
{
"arc_center": [
0,
0
],
"arc_reverse": false,
"position": [
1270000,
-2540000
],
"type": "line"
},
{
"arc_center": [
0,
0
],
"arc_reverse": false,
"position": [
-1270000,
-2540000
],
"type": "line"
}
]
},
"fa8bb976-c5ec-46a7-9da1-880aa4d5f94d": {
"layer": 50,
"parameter_class": "",
"vertices": [
{
"arc_center": [
0,
0
],
"arc_reverse": false,
"position": [
-270000,
2540000
],
"type": "line"
},
{
"arc_center": [
0,
0
],
"arc_reverse": false,
"position": [
1270000,
2540000
],
"type": "line"
},
{
"arc_center": [
0,
0
],
"arc_reverse": false,
"position": [
1270000,
-2540000
],
"type": "line"
},
{
"arc_center": [
0,
0
],
"arc_reverse": false,
"position": [
-1270000,
-2540000
],
"type": "line"
},
{
"arc_center": [
0,
0
],
"arc_reverse": false,
"position": [
-1270000,
1540000
],
"type": "line"
}
]
}
},
"tags": [
"generic",
"header"
],
"texts": {
"913b4616-24ea-484f-bb29-d62f975cde42": {
"font": "simplex",
"from_smash": false,
"layer": 20,
"origin": "center",
"placement": {
"angle": 0,
"mirror": false,
"shift": [
-1270000,
3810000
]
},
"size": 1000000,
"text": "$RD",
"width": 150000
},
"de20a055-0c45-4a0e-adc5-a23e4b0a5e0e": {
"font": "simplex",
"from_smash": false,
"layer": 50,
"origin": "center",
"placement": {
"angle": 16384,
"mirror": false,
"shift": [
0,
-2540000
]
},
"size": 1500000,
"text": "$RD",
"width": 0
}
},
"type": "package",
"uuid": "84529497-31a1-4f8f-abac-c07d0782069f"
}

View file

@ -1,379 +0,0 @@
{
"arcs": {},
"default_model": "84ec8229-d872-42f8-bfcc-96938ff02bd1",
"dimensions": {},
"junctions": {
"0a740d64-5459-44e6-bdcc-a1efd331d807": {
"position": [
1270000,
-3810000
]
},
"80a43f22-0059-4ced-b4d8-ff1c36015780": {
"position": [
-1270000,
-3810000
]
},
"9b0bf198-8b0c-45ff-a14f-aa74d93facd4": {
"position": [
-1770000,
2540000
]
},
"9b10026b-58a7-43e4-953a-68a6935f3bab": {
"position": [
-2520000,
2165000
]
},
"d69a70c8-e93e-4059-9ac3-709a743093ab": {
"position": [
-1270000,
3810000
]
},
"dff7942a-6556-4260-80b8-a09a91366b54": {
"position": [
1270000,
3810000
]
},
"eaff5280-c820-4c14-a432-97091dbfe4be": {
"position": [
-2520000,
2915000
]
}
},
"keepouts": {},
"lines": {
"235709dc-0c3e-42d0-89c4-e087c95fcba6": {
"from": "80a43f22-0059-4ced-b4d8-ff1c36015780",
"layer": 20,
"to": "d69a70c8-e93e-4059-9ac3-709a743093ab",
"width": 150000
},
"3f0d920f-2e18-4ad1-96f5-e31e863a69ee": {
"from": "dff7942a-6556-4260-80b8-a09a91366b54",
"layer": 20,
"to": "0a740d64-5459-44e6-bdcc-a1efd331d807",
"width": 150000
},
"3f165a62-2d8a-4472-b386-0f4701f0ca4c": {
"from": "eaff5280-c820-4c14-a432-97091dbfe4be",
"layer": 20,
"to": "9b0bf198-8b0c-45ff-a14f-aa74d93facd4",
"width": 150000
},
"61b2951c-0510-408b-a63e-73b3c3f8761b": {
"from": "9b0bf198-8b0c-45ff-a14f-aa74d93facd4",
"layer": 20,
"to": "9b10026b-58a7-43e4-953a-68a6935f3bab",
"width": 150000
},
"adac42c7-c996-4b71-a7b8-416675e8c859": {
"from": "0a740d64-5459-44e6-bdcc-a1efd331d807",
"layer": 20,
"to": "80a43f22-0059-4ced-b4d8-ff1c36015780",
"width": 150000
},
"bea06d61-6320-4083-ba8d-784febec8765": {
"from": "9b10026b-58a7-43e4-953a-68a6935f3bab",
"layer": 20,
"to": "eaff5280-c820-4c14-a432-97091dbfe4be",
"width": 150000
},
"e8cdf09f-2937-4d7c-aa87-6b5ebaa148aa": {
"from": "d69a70c8-e93e-4059-9ac3-709a743093ab",
"layer": 20,
"to": "dff7942a-6556-4260-80b8-a09a91366b54",
"width": 150000
}
},
"manufacturer": "",
"models": {
"84ec8229-d872-42f8-bfcc-96938ff02bd1": {
"filename": "3d_models/cache/6d752bc3-29b3-45df-8cf2-1e3aacefbcc6/3d_models/connector/header/2.54mm/PinHeader_1x03_P2.54mm_Vertical.step",
"pitch": 0,
"roll": 0,
"x": 0,
"y": 2540000,
"yaw": 0,
"z": 0
}
},
"name": "Pin header 1×3, 2.54mm pitch, vertical",
"pads": {
"7bc2147a-0234-41f6-ab65-444e57a43ce5": {
"name": "1",
"padstack": "296cf69b-9d53-45e4-aaab-4aedf4087d3a",
"parameter_set": {
"hole_diameter": 1000000,
"pad_diameter": 1700000
},
"placement": {
"angle": 0,
"mirror": false,
"shift": [
0,
2540000
]
}
},
"7de8ad61-d839-4bad-85e8-5b3d093d4d6c": {
"name": "2",
"padstack": "296cf69b-9d53-45e4-aaab-4aedf4087d3a",
"parameter_set": {
"hole_diameter": 1000000,
"pad_diameter": 1700000
},
"placement": {
"angle": 0,
"mirror": false,
"shift": [
0,
0
]
}
},
"f4f2991b-d46c-492e-b2b6-beacc3120e00": {
"name": "3",
"padstack": "296cf69b-9d53-45e4-aaab-4aedf4087d3a",
"parameter_set": {
"hole_diameter": 1000000,
"pad_diameter": 1700000
},
"placement": {
"angle": 0,
"mirror": false,
"shift": [
0,
-2540000
]
}
}
},
"parameter_program": "2.540mm 7.620mm\nget-parameter [ courtyard_expansion ]\n2 * +xy\nset-polygon [ courtyard rectangle 0mm 0mm ]",
"parameter_set": {
"courtyard_expansion": 250000
},
"polygons": {
"3322ee2d-24ff-47df-9c67-0f9626dffd93": {
"layer": 40,
"parameter_class": "",
"vertices": [
{
"arc_center": [
0,
0
],
"arc_reverse": false,
"position": [
-1270000,
3810000
],
"type": "line"
},
{
"arc_center": [
0,
0
],
"arc_reverse": false,
"position": [
1270000,
3810000
],
"type": "line"
},
{
"arc_center": [
0,
0
],
"arc_reverse": false,
"position": [
1270000,
-3810000
],
"type": "line"
},
{
"arc_center": [
0,
0
],
"arc_reverse": false,
"position": [
-1270000,
-3810000
],
"type": "line"
}
]
},
"45a233cb-e960-474c-95b5-01d39aa03eb7": {
"layer": 60,
"parameter_class": "courtyard",
"vertices": [
{
"arc_center": [
0,
0
],
"arc_reverse": false,
"position": [
-1270000,
3810000
],
"type": "line"
},
{
"arc_center": [
0,
0
],
"arc_reverse": false,
"position": [
1270000,
3810000
],
"type": "line"
},
{
"arc_center": [
0,
0
],
"arc_reverse": false,
"position": [
1270000,
-3810000
],
"type": "line"
},
{
"arc_center": [
0,
0
],
"arc_reverse": false,
"position": [
-1270000,
-3810000
],
"type": "line"
}
]
},
"fa8bb976-c5ec-46a7-9da1-880aa4d5f94d": {
"layer": 50,
"parameter_class": "",
"vertices": [
{
"arc_center": [
0,
0
],
"arc_reverse": false,
"position": [
-270000,
3810000
],
"type": "line"
},
{
"arc_center": [
0,
0
],
"arc_reverse": false,
"position": [
1270000,
3810000
],
"type": "line"
},
{
"arc_center": [
0,
0
],
"arc_reverse": false,
"position": [
1270000,
-3810000
],
"type": "line"
},
{
"arc_center": [
0,
0
],
"arc_reverse": false,
"position": [
-1270000,
-3810000
],
"type": "line"
},
{
"arc_center": [
0,
0
],
"arc_reverse": false,
"position": [
-1270000,
2810000
],
"type": "line"
}
]
}
},
"tags": [
"generic",
"header"
],
"texts": {
"913b4616-24ea-484f-bb29-d62f975cde42": {
"font": "simplex",
"from_smash": false,
"layer": 20,
"origin": "center",
"placement": {
"angle": 0,
"mirror": false,
"shift": [
-1270000,
5080000
]
},
"size": 1000000,
"text": "$RD",
"width": 150000
},
"de20a055-0c45-4a0e-adc5-a23e4b0a5e0e": {
"font": "simplex",
"from_smash": false,
"layer": 50,
"origin": "center",
"placement": {
"angle": 16384,
"mirror": false,
"shift": [
0,
-3810000
]
},
"size": 1500000,
"text": "$RD",
"width": 0
}
},
"type": "package",
"uuid": "9103c334-3f16-47e9-ab2b-a9700763c47f"
}

View file

@ -1,422 +0,0 @@
{
"arcs": {},
"default_model": "00000000-0000-0000-0000-000000000000",
"dimensions": {},
"junctions": {},
"keepouts": {},
"lines": {},
"manufacturer": "Molex",
"models": {},
"name": "73251-1150",
"pads": {
"71d17bc9-8dcb-4d8d-85e1-7487fc9ae67c": {
"name": "GND2",
"padstack": "52e0c9cb-539a-4d70-af97-9b131d2dd86e",
"parameter_set": {},
"placement": {
"angle": 0,
"mirror": false,
"shift": [
3175000,
-5842000
]
}
},
"c455703e-4ce6-4d3f-adbe-6f8179d36b75": {
"name": "GND1",
"padstack": "f42e8caa-d3f3-4afc-9580-45ee1bbdfab6",
"parameter_set": {},
"placement": {
"angle": 0,
"mirror": false,
"shift": [
-3175000,
-5842000
]
}
},
"d33a5d70-8af2-40e2-8567-e67653d1ac6b": {
"name": "SIG",
"padstack": "549ce255-6721-44db-9d47-ec07764772ca",
"parameter_set": {
"pad_height": 5840000,
"pad_width": 2290000
},
"placement": {
"angle": 0,
"mirror": false,
"shift": [
0,
-2920000
]
}
}
},
"parameter_program": "11.176mm 5.842mm\nget-parameter [ courtyard_expansion ]\n2 * +xy\nset-polygon [ courtyard rectangle 0.000mm -2.921mm ]",
"parameter_set": {
"courtyard_expansion": 250000
},
"polygons": {
"4de26164-014c-400f-9bb7-15537e80ca5c": {
"layer": 40,
"parameter_class": "",
"vertices": [
{
"arc_center": [
237500,
0
],
"arc_reverse": false,
"position": [
4762489,
1651000
],
"type": "line"
},
{
"arc_center": [
0,
0
],
"arc_reverse": false,
"position": [
2692400,
1651000
],
"type": "line"
},
{
"arc_center": [
0,
0
],
"arc_reverse": false,
"position": [
2692400,
9525000
],
"type": "line"
},
{
"arc_center": [
0,
0
],
"arc_reverse": false,
"position": [
-2692400,
9525000
],
"type": "line"
},
{
"arc_center": [
0,
0
],
"arc_reverse": false,
"position": [
-2692400,
1651000
],
"type": "line"
},
{
"arc_center": [
-237500,
0
],
"arc_reverse": false,
"position": [
-4762511,
1651000
],
"type": "line"
},
{
"arc_center": [
0,
0
],
"arc_reverse": false,
"position": [
-4762511,
-4749800
],
"type": "line"
},
{
"arc_center": [
0,
0
],
"arc_reverse": false,
"position": [
-3746511,
-4749800
],
"type": "line"
},
{
"arc_center": [
0,
0
],
"arc_reverse": false,
"position": [
-3746511,
508000
],
"type": "line"
},
{
"arc_center": [
0,
0
],
"arc_reverse": false,
"position": [
-381011,
508000
],
"type": "line"
},
{
"arc_center": [
-869000,
0
],
"arc_reverse": false,
"position": [
-381011,
-4749800
],
"type": "line"
},
{
"arc_center": [
869000,
0
],
"arc_reverse": false,
"position": [
380989,
-4749800
],
"type": "line"
},
{
"arc_center": [
0,
0
],
"arc_reverse": false,
"position": [
380989,
508000
],
"type": "line"
},
{
"arc_center": [
0,
0
],
"arc_reverse": false,
"position": [
3746489,
508000
],
"type": "line"
},
{
"arc_center": [
0,
0
],
"arc_reverse": false,
"position": [
3746489,
-4749800
],
"type": "line"
},
{
"arc_center": [
0,
0
],
"arc_reverse": false,
"position": [
4762489,
-4749800
],
"type": "line"
}
]
},
"764693ac-937c-412f-ac61-561f45649603": {
"layer": 60,
"parameter_class": "courtyard",
"vertices": [
{
"arc_center": [
0,
0
],
"arc_reverse": false,
"position": [
-5838000,
-6092000
],
"type": "line"
},
{
"arc_center": [
0,
0
],
"arc_reverse": false,
"position": [
-5838000,
250000
],
"type": "line"
},
{
"arc_center": [
0,
0
],
"arc_reverse": false,
"position": [
5838000,
250000
],
"type": "line"
},
{
"arc_center": [
0,
0
],
"arc_reverse": false,
"position": [
5838000,
-6092000
],
"type": "line"
}
]
},
"d7daa14c-5596-43b6-aa5e-a13873f751cb": {
"layer": 50,
"parameter_class": "",
"vertices": [
{
"arc_center": [
0,
0
],
"arc_reverse": false,
"position": [
-4762511,
-4749800
],
"type": "line"
},
{
"arc_center": [
0,
0
],
"arc_reverse": false,
"position": [
-4762500,
0
],
"type": "line"
},
{
"arc_center": [
0,
0
],
"arc_reverse": false,
"position": [
4762500,
0
],
"type": "line"
},
{
"arc_center": [
0,
0
],
"arc_reverse": false,
"position": [
4762489,
-4749800
],
"type": "line"
}
]
}
},
"rules": {
"clearance_package": {
"clearance_silkscreen_cu": 200000,
"clearance_silkscreen_pkg": 200000,
"enabled": true,
"order": -1
},
"package_checks": {
"enabled": true,
"order": -1
}
},
"tags": [
"coaxial",
"connector",
"sma"
],
"texts": {
"1d502916-9294-4bc7-98d1-18a9dd62d916": {
"font": "simplex",
"from_smash": false,
"layer": 20,
"origin": "center",
"placement": {
"angle": 16384,
"mirror": false,
"shift": [
-6604000,
-5842000
]
},
"size": 1000000,
"text": "$RD",
"width": 150000
},
"791cb769-9049-486a-b6cc-47e853831bf0": {
"font": "simplex",
"from_smash": false,
"layer": 50,
"origin": "center",
"placement": {
"angle": 0,
"mirror": false,
"shift": [
-3810000,
-2540000
]
},
"size": 1000000,
"text": "$RD",
"width": 0
}
},
"type": "package",
"uuid": "afcfb049-61c1-4439-8c6a-c30a8eb07ab3"
}

View file

@ -1,424 +0,0 @@
{
"holes": {},
"name": "Right",
"padstack_type": "top",
"parameter_program": "get-parameter [ solder_mask_expansion ]\nexpand-polygon [ mask 2413000 5842000 1714500 5842000 1714500 5130800 254000 5130800 254000 5842000 0 5842000 0 0 2413000 0 ]\n\n",
"parameter_set": {
"solder_mask_expansion": 100000
},
"parameters_required": [],
"polygons": {
"721722e3-84f4-4caa-ba2b-86ae64df2cb6": {
"layer": 10,
"parameter_class": "mask",
"vertices": [
{
"arc_center": [
0,
0
],
"arc_reverse": false,
"position": [
2513000,
5942000
],
"type": "line"
},
{
"arc_center": [
0,
0
],
"arc_reverse": false,
"position": [
1614500,
5942000
],
"type": "line"
},
{
"arc_center": [
0,
0
],
"arc_reverse": false,
"position": [
1614500,
5230800
],
"type": "line"
},
{
"arc_center": [
0,
0
],
"arc_reverse": false,
"position": [
354000,
5230800
],
"type": "line"
},
{
"arc_center": [
0,
0
],
"arc_reverse": false,
"position": [
354000,
5942000
],
"type": "line"
},
{
"arc_center": [
0,
0
],
"arc_reverse": false,
"position": [
-100000,
5942000
],
"type": "line"
},
{
"arc_center": [
0,
0
],
"arc_reverse": false,
"position": [
-100000,
-100000
],
"type": "line"
},
{
"arc_center": [
0,
0
],
"arc_reverse": false,
"position": [
2513000,
-100000
],
"type": "line"
}
]
},
"ccb60b32-c98d-45cd-af20-bb7532c5b802": {
"layer": -100,
"parameter_class": "",
"vertices": [
{
"arc_center": [
498000,
0
],
"arc_reverse": false,
"position": [
0,
5842000
],
"type": "line"
},
{
"arc_center": [
-498000,
0
],
"arc_reverse": false,
"position": [
254000,
5842000
],
"type": "line"
},
{
"arc_center": [
-105000,
0
],
"arc_reverse": false,
"position": [
254000,
5130800
],
"type": "line"
},
{
"arc_center": [
105000,
0
],
"arc_reverse": false,
"position": [
1714500,
5130800
],
"type": "line"
},
{
"arc_center": [
0,
0
],
"arc_reverse": false,
"position": [
1714500,
5842000
],
"type": "line"
},
{
"arc_center": [
0,
0
],
"arc_reverse": false,
"position": [
2413000,
5842000
],
"type": "line"
},
{
"arc_center": [
0,
0
],
"arc_reverse": false,
"position": [
2413000,
0
],
"type": "line"
},
{
"arc_center": [
0,
0
],
"arc_reverse": false,
"position": [
0,
0
],
"type": "line"
}
]
},
"e12104a1-58bc-456c-907a-a11ad9650bcb": {
"layer": 0,
"parameter_class": "",
"vertices": [
{
"arc_center": [
498000,
0
],
"arc_reverse": false,
"position": [
0,
5842000
],
"type": "line"
},
{
"arc_center": [
-498000,
0
],
"arc_reverse": false,
"position": [
254000,
5842000
],
"type": "line"
},
{
"arc_center": [
-105000,
0
],
"arc_reverse": false,
"position": [
254000,
5130800
],
"type": "line"
},
{
"arc_center": [
105000,
0
],
"arc_reverse": false,
"position": [
1714500,
5130800
],
"type": "line"
},
{
"arc_center": [
0,
0
],
"arc_reverse": false,
"position": [
1714500,
5842000
],
"type": "line"
},
{
"arc_center": [
0,
0
],
"arc_reverse": false,
"position": [
2413000,
5842000
],
"type": "line"
},
{
"arc_center": [
0,
0
],
"arc_reverse": false,
"position": [
2413000,
0
],
"type": "line"
},
{
"arc_center": [
0,
0
],
"arc_reverse": false,
"position": [
0,
0
],
"type": "line"
}
]
},
"ec6ce035-05e5-45f6-84d9-4da81f973a80": {
"layer": -110,
"parameter_class": "mask",
"vertices": [
{
"arc_center": [
0,
0
],
"arc_reverse": false,
"position": [
2513000,
5942000
],
"type": "line"
},
{
"arc_center": [
0,
0
],
"arc_reverse": false,
"position": [
1614500,
5942000
],
"type": "line"
},
{
"arc_center": [
0,
0
],
"arc_reverse": false,
"position": [
1614500,
5230800
],
"type": "line"
},
{
"arc_center": [
0,
0
],
"arc_reverse": false,
"position": [
354000,
5230800
],
"type": "line"
},
{
"arc_center": [
0,
0
],
"arc_reverse": false,
"position": [
354000,
5942000
],
"type": "line"
},
{
"arc_center": [
0,
0
],
"arc_reverse": false,
"position": [
-100000,
5942000
],
"type": "line"
},
{
"arc_center": [
0,
0
],
"arc_reverse": false,
"position": [
-100000,
-100000
],
"type": "line"
},
{
"arc_center": [
0,
0
],
"arc_reverse": false,
"position": [
2513000,
-100000
],
"type": "line"
}
]
}
},
"shapes": {},
"type": "padstack",
"uuid": "52e0c9cb-539a-4d70-af97-9b131d2dd86e",
"well_known_name": ""
}

View file

@ -1,424 +0,0 @@
{
"holes": {},
"name": "Left",
"padstack_type": "top",
"parameter_program": "get-parameter [ solder_mask_expansion ]\nexpand-polygon [ mask 0 5842000 -254000 5842000 -254000 5130800 -1714500 5130800 -1714500 5842000 -2413000 5842000 -2413000 0 0 0 ]\n",
"parameter_set": {
"solder_mask_expansion": 100000
},
"parameters_required": [],
"polygons": {
"580de9e5-c615-49d7-a4bb-4b6bbd33681d": {
"layer": -110,
"parameter_class": "mask",
"vertices": [
{
"arc_center": [
0,
0
],
"arc_reverse": false,
"position": [
100000,
5942000
],
"type": "line"
},
{
"arc_center": [
0,
0
],
"arc_reverse": false,
"position": [
-354000,
5942000
],
"type": "line"
},
{
"arc_center": [
0,
0
],
"arc_reverse": false,
"position": [
-354000,
5230800
],
"type": "line"
},
{
"arc_center": [
0,
0
],
"arc_reverse": false,
"position": [
-1614500,
5230800
],
"type": "line"
},
{
"arc_center": [
0,
0
],
"arc_reverse": false,
"position": [
-1614500,
5942000
],
"type": "line"
},
{
"arc_center": [
0,
0
],
"arc_reverse": false,
"position": [
-2513000,
5942000
],
"type": "line"
},
{
"arc_center": [
0,
0
],
"arc_reverse": false,
"position": [
-2513000,
-100000
],
"type": "line"
},
{
"arc_center": [
0,
0
],
"arc_reverse": false,
"position": [
100000,
-100000
],
"type": "line"
}
]
},
"997e0ec6-5a3f-45e4-a30d-a1d02af6aab3": {
"layer": 0,
"parameter_class": "",
"vertices": [
{
"arc_center": [
498000,
0
],
"arc_reverse": false,
"position": [
0,
5842000
],
"type": "line"
},
{
"arc_center": [
-498000,
0
],
"arc_reverse": false,
"position": [
-254000,
5842000
],
"type": "line"
},
{
"arc_center": [
-105000,
0
],
"arc_reverse": false,
"position": [
-254000,
5130800
],
"type": "line"
},
{
"arc_center": [
105000,
0
],
"arc_reverse": false,
"position": [
-1714500,
5130800
],
"type": "line"
},
{
"arc_center": [
0,
0
],
"arc_reverse": false,
"position": [
-1714500,
5842000
],
"type": "line"
},
{
"arc_center": [
0,
0
],
"arc_reverse": false,
"position": [
-2413000,
5842000
],
"type": "line"
},
{
"arc_center": [
0,
0
],
"arc_reverse": false,
"position": [
-2413000,
0
],
"type": "line"
},
{
"arc_center": [
0,
0
],
"arc_reverse": false,
"position": [
0,
0
],
"type": "line"
}
]
},
"c29699f4-f9ca-4e9b-9f29-c6aa128baaf8": {
"layer": -100,
"parameter_class": "",
"vertices": [
{
"arc_center": [
498000,
0
],
"arc_reverse": false,
"position": [
0,
5842000
],
"type": "line"
},
{
"arc_center": [
-498000,
0
],
"arc_reverse": false,
"position": [
-254000,
5842000
],
"type": "line"
},
{
"arc_center": [
-105000,
0
],
"arc_reverse": false,
"position": [
-254000,
5130800
],
"type": "line"
},
{
"arc_center": [
105000,
0
],
"arc_reverse": false,
"position": [
-1714500,
5130800
],
"type": "line"
},
{
"arc_center": [
0,
0
],
"arc_reverse": false,
"position": [
-1714500,
5842000
],
"type": "line"
},
{
"arc_center": [
0,
0
],
"arc_reverse": false,
"position": [
-2413000,
5842000
],
"type": "line"
},
{
"arc_center": [
0,
0
],
"arc_reverse": false,
"position": [
-2413000,
0
],
"type": "line"
},
{
"arc_center": [
0,
0
],
"arc_reverse": false,
"position": [
0,
0
],
"type": "line"
}
]
},
"c9499d6f-9685-4236-9e16-ec6d23eeb3a0": {
"layer": 10,
"parameter_class": "mask",
"vertices": [
{
"arc_center": [
0,
0
],
"arc_reverse": false,
"position": [
100000,
5942000
],
"type": "line"
},
{
"arc_center": [
0,
0
],
"arc_reverse": false,
"position": [
-354000,
5942000
],
"type": "line"
},
{
"arc_center": [
0,
0
],
"arc_reverse": false,
"position": [
-354000,
5230800
],
"type": "line"
},
{
"arc_center": [
0,
0
],
"arc_reverse": false,
"position": [
-1614500,
5230800
],
"type": "line"
},
{
"arc_center": [
0,
0
],
"arc_reverse": false,
"position": [
-1614500,
5942000
],
"type": "line"
},
{
"arc_center": [
0,
0
],
"arc_reverse": false,
"position": [
-2513000,
5942000
],
"type": "line"
},
{
"arc_center": [
0,
0
],
"arc_reverse": false,
"position": [
-2513000,
-100000
],
"type": "line"
},
{
"arc_center": [
0,
0
],
"arc_reverse": false,
"position": [
100000,
-100000
],
"type": "line"
}
]
}
},
"shapes": {},
"type": "padstack",
"uuid": "f42e8caa-d3f3-4afc-9580-45ee1bbdfab6",
"well_known_name": ""
}

View file

@ -1,279 +0,0 @@
{
"arcs": {},
"default_model": "96c366ee-a963-41a0-9cc8-54c646979695",
"dimensions": {},
"junctions": {},
"keepouts": {},
"lines": {},
"manufacturer": "",
"models": {
"96c366ee-a963-41a0-9cc8-54c646979695": {
"filename": "3d_models/cache/6d752bc3-29b3-45df-8cf2-1e3aacefbcc6/3d_models/passive/resistor/R_0603_1608Metric.step",
"pitch": 0,
"roll": 0,
"x": 0,
"y": 0,
"yaw": 0,
"z": 0
}
},
"name": "R0603",
"pads": {
"63256dd2-2eab-46fe-9201-b2e553476e98": {
"name": "1",
"padstack": "8e762581-e1b1-4fb4-81d3-7f8a1cabb97f",
"parameter_set": {
"corner_radius": 120000,
"pad_height": 900000,
"pad_width": 500000
},
"placement": {
"angle": 0,
"mirror": false,
"shift": [
-750000,
0
]
}
},
"6dd73a26-6e83-43b6-8317-09836acef67d": {
"name": "2",
"padstack": "8e762581-e1b1-4fb4-81d3-7f8a1cabb97f",
"parameter_set": {
"corner_radius": 120000,
"pad_height": 900000,
"pad_width": 500000
},
"placement": {
"angle": 0,
"mirror": false,
"shift": [
750000,
0
]
}
}
},
"parameter_program": "2mm 0.9mm\nget-parameter [ courtyard_expansion ]\n2 * +xy\nset-polygon [ courtyard rectangle 0 0 ]",
"parameter_set": {
"courtyard_expansion": 250000
},
"polygons": {
"70304e41-42a9-420c-8df2-7f55e794790d": {
"layer": 60,
"parameter_class": "courtyard",
"vertices": [
{
"arc_center": [
0,
0
],
"arc_reverse": false,
"position": [
-1250000,
-700000
],
"type": "line"
},
{
"arc_center": [
0,
0
],
"arc_reverse": false,
"position": [
-1250000,
700000
],
"type": "line"
},
{
"arc_center": [
0,
0
],
"arc_reverse": false,
"position": [
1250000,
700000
],
"type": "line"
},
{
"arc_center": [
0,
0
],
"arc_reverse": false,
"position": [
1250000,
-700000
],
"type": "line"
}
]
},
"77bb0c60-8394-4c84-9618-7b8a18a38af1": {
"layer": 40,
"parameter_class": "",
"vertices": [
{
"arc_center": [
200000,
-100000
],
"arc_reverse": false,
"position": [
-800000,
400000
],
"type": "line"
},
{
"arc_center": [
200000,
100000
],
"arc_reverse": false,
"position": [
-800000,
-400000
],
"type": "line"
},
{
"arc_center": [
-200000,
100000
],
"arc_reverse": false,
"position": [
800000,
-400000
],
"type": "line"
},
{
"arc_center": [
-200000,
-100000
],
"arc_reverse": false,
"position": [
800000,
400000
],
"type": "line"
}
]
},
"963b656b-1f38-4212-bae8-58eeaf4bec3c": {
"layer": 50,
"parameter_class": "",
"vertices": [
{
"arc_center": [
200000,
-100000
],
"arc_reverse": false,
"position": [
-800000,
400000
],
"type": "line"
},
{
"arc_center": [
200000,
100000
],
"arc_reverse": false,
"position": [
-800000,
-400000
],
"type": "line"
},
{
"arc_center": [
-200000,
100000
],
"arc_reverse": false,
"position": [
800000,
-400000
],
"type": "line"
},
{
"arc_center": [
-200000,
-100000
],
"arc_reverse": false,
"position": [
800000,
400000
],
"type": "line"
}
]
}
},
"rules": {
"clearance_package": {
"clearance_silkscreen_cu": 200000,
"clearance_silkscreen_pkg": 200000,
"enabled": true,
"order": -1
},
"package_checks": {
"enabled": true,
"order": -1
}
},
"tags": [
"generic",
"smd"
],
"texts": {
"02fe2ab4-3e88-406e-9dd5-a01be9241517": {
"font": "simplex",
"from_smash": false,
"layer": 50,
"origin": "center",
"placement": {
"angle": 0,
"mirror": false,
"shift": [
-800000,
0
]
},
"size": 300000,
"text": "$RD",
"width": 0
},
"522e0b9a-7aee-4f56-9c9e-c9e48e62cea5": {
"font": "simplex",
"from_smash": false,
"layer": 20,
"origin": "center",
"placement": {
"angle": 0,
"mirror": false,
"shift": [
-1200000,
1500000
]
},
"size": 1000000,
"text": "$RD",
"width": 150000
}
},
"type": "package",
"uuid": "fe22ac1d-25b9-4a47-8414-51c990d7f94b"
}

View file

@ -1,55 +0,0 @@
{
"holes": {},
"name": "SMD rectangular (no paste, bottom)",
"padstack_type": "bottom",
"parameter_program": "get-parameter [ pad_width ]\nget-parameter [ pad_height ]\ndupc dupc\nset-shape [ pad rectangle ]\nget-parameter [ solder_mask_expansion ]\n2 *\n+xy\nset-shape [ mask rectangle ]",
"parameter_set": {
"pad_height": 900000,
"pad_width": 700000,
"solder_mask_expansion": 100000
},
"parameters_required": [
"pad_width",
"pad_height"
],
"polygons": {},
"shapes": {
"ddcf3d29-661b-41d1-ac1a-5e335f94e736": {
"form": "rectangle",
"layer": -100,
"parameter_class": "pad",
"params": [
700000,
900000
],
"placement": {
"angle": 0,
"mirror": false,
"shift": [
0,
0
]
}
},
"e93f30d7-af52-4284-8af0-b2341ade6c5d": {
"form": "rectangle",
"layer": -110,
"parameter_class": "mask",
"params": [
900000,
1100000
],
"placement": {
"angle": 0,
"mirror": false,
"shift": [
0,
0
]
}
}
},
"type": "padstack",
"uuid": "263ec020-0287-4960-bda2-bd4f5aa0a974",
"well_known_name": ""
}

View file

@ -1,117 +0,0 @@
{
"holes": {
"aad60944-b2c4-4a0c-88e0-b52cabcfa95b": {
"diameter": 400000,
"length": 500000,
"parameter_class": "hole",
"placement": {
"angle": 0,
"mirror": false,
"shift": [
0,
0
]
},
"plated": true,
"shape": "round"
}
},
"name": "TH round",
"padstack_type": "through",
"parameter_program": "get-parameter [ hole_diameter ]\ndup\nset-hole [ hole round ]\n\nget-parameter [ pad_diameter ] dup\nset-shape [ copper circle ]\n\nget-parameter [ solder_mask_expansion ] 2 * +\nset-shape [ mask circle ] ",
"parameter_set": {
"hole_diameter": 400000,
"pad_diameter": 600000,
"solder_mask_expansion": 100000
},
"parameters_required": [
"pad_diameter",
"hole_diameter"
],
"polygons": {},
"shapes": {
"35d48caf-d547-4382-b165-77cc9cc637d6": {
"form": "circle",
"layer": 0,
"parameter_class": "copper",
"params": [
600000
],
"placement": {
"angle": 0,
"mirror": false,
"shift": [
0,
0
]
}
},
"57c576a3-1d92-43e7-8760-fe443a23f1af": {
"form": "circle",
"layer": 10,
"parameter_class": "mask",
"params": [
800000
],
"placement": {
"angle": 0,
"mirror": false,
"shift": [
0,
0
]
}
},
"7ce79fc2-169e-44ce-b355-473cddadba0f": {
"form": "circle",
"layer": -110,
"parameter_class": "mask",
"params": [
800000
],
"placement": {
"angle": 0,
"mirror": false,
"shift": [
0,
0
]
}
},
"bed217e6-2bf3-4ac3-bfe4-544dfa66c2e5": {
"form": "circle",
"layer": -1,
"parameter_class": "copper",
"params": [
600000
],
"placement": {
"angle": 0,
"mirror": false,
"shift": [
0,
0
]
}
},
"d71acd28-ea4c-4a7a-b746-8f609baeb703": {
"form": "circle",
"layer": -100,
"parameter_class": "copper",
"params": [
600000
],
"placement": {
"angle": 0,
"mirror": false,
"shift": [
0,
0
]
}
}
},
"type": "padstack",
"uuid": "296cf69b-9d53-45e4-aaab-4aedf4087d3a",
"well_known_name": "th circular"
}

View file

@ -1,73 +0,0 @@
{
"holes": {},
"name": "SMD rectangular",
"padstack_type": "top",
"parameter_program": "get-parameter [ pad_width ]\nget-parameter [ pad_height ]\ndupc dupc\nset-shape [ pad rectangle ]\nget-parameter [ solder_mask_expansion ]\n2 *\n+xy\nset-shape [ mask rectangle ]\n\nget-parameter [ paste_mask_contraction ]\n2 *\n-xy\nset-shape [ paste rectangle ]",
"parameter_set": {
"pad_height": 900000,
"pad_width": 700000,
"paste_mask_contraction": 0,
"solder_mask_expansion": 100000
},
"parameters_required": [
"pad_width",
"pad_height"
],
"polygons": {},
"shapes": {
"888ff92f-96e3-4658-a9cb-1e9626aafe07": {
"form": "rectangle",
"layer": 30,
"parameter_class": "paste",
"params": [
700000,
900000
],
"placement": {
"angle": 0,
"mirror": false,
"shift": [
0,
0
]
}
},
"ddcf3d29-661b-41d1-ac1a-5e335f94e736": {
"form": "rectangle",
"layer": 0,
"parameter_class": "pad",
"params": [
700000,
900000
],
"placement": {
"angle": 0,
"mirror": false,
"shift": [
0,
0
]
}
},
"e93f30d7-af52-4284-8af0-b2341ade6c5d": {
"form": "rectangle",
"layer": 10,
"parameter_class": "mask",
"params": [
900000,
1100000
],
"placement": {
"angle": 0,
"mirror": false,
"shift": [
0,
0
]
}
}
},
"type": "padstack",
"uuid": "3846f4bf-7acf-403a-bc36-771ec675eac9",
"well_known_name": "smd rectangular"
}

View file

@ -1,116 +0,0 @@
{
"holes": {
"056fa8e5-8b21-454e-a805-467fd49763b6": {
"diameter": 400000,
"length": 500000,
"parameter_class": "hole",
"placement": {
"angle": 0,
"mirror": false,
"shift": [
0,
0
]
},
"plated": true,
"shape": "round"
}
},
"name": "Circular via",
"padstack_type": "via",
"parameter_program": "get-parameter [ via_diameter ]\nset-shape [ via circle ]\n\nget-parameter [ hole_diameter ]\ndup\nset-hole [ hole round ]\n\nget-parameter [ via_solder_mask_expansion ] 2 *\n+\nset-shape [ mask circle ]",
"parameter_set": {
"hole_diameter": 400000,
"via_diameter": 700000,
"via_solder_mask_expansion": 100000
},
"parameters_required": [
"hole_diameter",
"via_diameter"
],
"polygons": {},
"shapes": {
"0fcc5be3-fa35-464c-ac89-7bfaea0821da": {
"form": "circle",
"layer": -110,
"parameter_class": "mask",
"params": [
600000
],
"placement": {
"angle": 0,
"mirror": false,
"shift": [
0,
0
]
}
},
"1919564e-4dfd-4afa-ae6b-b06ddcefb9e6": {
"form": "circle",
"layer": 10,
"parameter_class": "mask",
"params": [
600000
],
"placement": {
"angle": 0,
"mirror": false,
"shift": [
0,
0
]
}
},
"3d4a1caa-13a9-4828-aee6-4ec776b4f007": {
"form": "circle",
"layer": -1,
"parameter_class": "via",
"params": [
700000
],
"placement": {
"angle": 0,
"mirror": false,
"shift": [
0,
0
]
}
},
"587492a5-d20b-4258-b1a8-04da900ea393": {
"form": "circle",
"layer": -100,
"parameter_class": "via",
"params": [
700000
],
"placement": {
"angle": 0,
"mirror": false,
"shift": [
0,
0
]
}
},
"c0afc6ea-f577-42ee-8860-16eaf52721bf": {
"form": "circle",
"layer": 0,
"parameter_class": "via",
"params": [
700000
],
"placement": {
"angle": 0,
"mirror": false,
"shift": [
0,
0
]
}
}
},
"type": "padstack",
"uuid": "3c4a52fe-3ae0-4c3e-a108-824b53d6d6da"
}

View file

@ -1,55 +0,0 @@
{
"holes": {},
"name": "SMD rectangular (no paste)",
"padstack_type": "top",
"parameter_program": "get-parameter [ pad_width ]\nget-parameter [ pad_height ]\ndupc dupc\nset-shape [ pad rectangle ]\nget-parameter [ solder_mask_expansion ]\n2 *\n+xy\nset-shape [ mask rectangle ]",
"parameter_set": {
"pad_height": 900000,
"pad_width": 700000,
"solder_mask_expansion": 100000
},
"parameters_required": [
"pad_width",
"pad_height"
],
"polygons": {},
"shapes": {
"ddcf3d29-661b-41d1-ac1a-5e335f94e736": {
"form": "rectangle",
"layer": 0,
"parameter_class": "pad",
"params": [
700000,
900000
],
"placement": {
"angle": 0,
"mirror": false,
"shift": [
0,
0
]
}
},
"e93f30d7-af52-4284-8af0-b2341ade6c5d": {
"form": "rectangle",
"layer": 10,
"parameter_class": "mask",
"params": [
900000,
1100000
],
"placement": {
"angle": 0,
"mirror": false,
"shift": [
0,
0
]
}
}
},
"type": "padstack",
"uuid": "549ce255-6721-44db-9d47-ec07764772ca",
"well_known_name": ""
}

View file

@ -1,67 +0,0 @@
{
"holes": {
"9eaa7713-8b92-4be2-9e8e-843e955d3a16": {
"diameter": 600000,
"length": 500000,
"parameter_class": "hole",
"placement": {
"angle": 0,
"mirror": false,
"shift": [
0,
0
]
},
"plated": false,
"shape": "round"
}
},
"name": "Circular mechanical Hole",
"padstack_type": "mechanical",
"parameter_program": "get-parameter [ hole_diameter ]\ndup\nset-hole [ hole round ]\nget-parameter [ hole_solder_mask_expansion ] 2 *\n+\nset-shape [ mask circle ]",
"parameter_set": {
"hole_diameter": 600000,
"hole_solder_mask_expansion": 100000
},
"parameters_required": [
"hole_diameter"
],
"polygons": {},
"shapes": {
"e6921620-a07c-46c8-aef2-ffcb45896d08": {
"form": "circle",
"layer": 10,
"parameter_class": "mask",
"params": [
800000
],
"placement": {
"angle": 0,
"mirror": false,
"shift": [
0,
0
]
}
},
"f9a0c921-ce49-43c6-bca3-7fa003da982d": {
"form": "circle",
"layer": -110,
"parameter_class": "mask",
"params": [
800000
],
"placement": {
"angle": 0,
"mirror": false,
"shift": [
0,
0
]
}
}
},
"type": "padstack",
"uuid": "762c84c2-187d-454a-af81-d3381bec5257",
"well_known_name": "npth circular"
}

View file

@ -1,318 +0,0 @@
{
"holes": {},
"name": "SMD rectangular with rounded corners",
"padstack_type": "top",
"parameter_program": "get-parameter [ pad_width ]\nget-parameter [ corner_radius ] 2 * -\nget-parameter [ pad_height ]\ndupc dupc\nset-shape [ pad1 rectangle ]\nget-parameter [ solder_mask_expansion ]\n2 *\n+\nset-shape [ mask1 rectangle ]\nget-parameter [ paste_mask_contraction ]\n2 *\n-\nset-shape [ paste1 rectangle ]\n\nget-parameter [ pad_width ]\nget-parameter [ pad_height ]\nget-parameter [ corner_radius ] 2 * -\ndupc dupc\nset-shape [ pad2 rectangle ]\nswap\nget-parameter [ solder_mask_expansion ]\n2 * +\nswap\nset-shape [ mask2 rectangle ]\nswap\nget-parameter [ paste_mask_contraction ]\n2 * -\nswap\nset-shape [ paste2 rectangle ]\n\nget-parameter [ corner_radius ] dup dup 2 *\ndup dup dup\nset-shape [ pad_corner1 circle ]\nset-shape [ pad_corner2 circle ]\nset-shape [ pad_corner3 circle ]\nset-shape [ pad_corner4 circle ]\nget-parameter [ solder_mask_expansion ] + 2 *\ndup dup dup\nset-shape [ mask_corner1 circle ]\nset-shape [ mask_corner2 circle ]\nset-shape [ mask_corner3 circle ]\nset-shape [ mask_corner4 circle ]\nget-parameter [ paste_mask_contraction ] - 2 *\ndup dup dup\nset-shape [ paste_corner1 circle ]\nset-shape [ paste_corner2 circle ]\nset-shape [ paste_corner3 circle ]\nset-shape [ paste_corner4 circle ]\n\nget-parameter [ pad_width ]\nget-parameter [ corner_radius ] 2 * - 2 /\nget-parameter [ pad_height ]\nget-parameter [ corner_radius ] 2 * - 2 /\ndupc dupc dupc\nset-shape [ pad_corner1 position ]\nset-shape [ mask_corner1 position ]\nset-shape [ paste_corner1 position ]\nswap -1 * swap\ndupc dupc dupc\nset-shape [ pad_corner2 position ]\nset-shape [ mask_corner2 position ]\nset-shape [ paste_corner2 position ]\n-1 *\ndupc dupc dupc\nset-shape [ pad_corner3 position ]\nset-shape [ mask_corner3 position ]\nset-shape [ paste_corner3 position ]\nswap -1 * swap\ndupc dupc\nset-shape [ pad_corner4 position ]\nset-shape [ mask_corner4 position ]\nset-shape [ paste_corner4 position ]",
"parameter_set": {
"corner_radius": 100000,
"pad_height": 2000000,
"pad_width": 900000,
"paste_mask_contraction": 0,
"solder_mask_expansion": 100000
},
"parameters_required": [
"pad_width",
"pad_height",
"corner_radius"
],
"polygons": {},
"shapes": {
"19fd6834-7b1d-47e5-b6fb-6f1c1bb4802b": {
"form": "circle",
"layer": 0,
"parameter_class": "pad_corner4",
"params": [
200000
],
"placement": {
"angle": 0,
"mirror": false,
"shift": [
350000,
-900000
]
}
},
"233425db-45b7-4291-9cd3-ce7bf9c5887c": {
"form": "circle",
"layer": 10,
"parameter_class": "mask_corner2",
"params": [
400000
],
"placement": {
"angle": 0,
"mirror": false,
"shift": [
-350000,
900000
]
}
},
"2480e5fa-a56b-4f75-a9ff-f9576ddfdf14": {
"form": "circle",
"layer": 30,
"parameter_class": "paste_corner3",
"params": [
200000
],
"placement": {
"angle": 0,
"mirror": false,
"shift": [
-350000,
-900000
]
}
},
"2d593908-a7e0-42d3-b447-6f5472e3f168": {
"form": "circle",
"layer": 10,
"parameter_class": "mask_corner4",
"params": [
400000
],
"placement": {
"angle": 0,
"mirror": false,
"shift": [
350000,
-900000
]
}
},
"3fb8c7f4-16b4-4a69-9ae0-98d16faf11ed": {
"form": "circle",
"layer": 30,
"parameter_class": "paste_corner2",
"params": [
200000
],
"placement": {
"angle": 0,
"mirror": false,
"shift": [
-350000,
900000
]
}
},
"54aa005d-14d6-4daf-916d-8cc4f33d31eb": {
"form": "rectangle",
"layer": 30,
"parameter_class": "paste2",
"params": [
900000,
1800000
],
"placement": {
"angle": 0,
"mirror": false,
"shift": [
0,
0
]
}
},
"5d8313e0-987f-4f68-a70b-654058f75898": {
"form": "circle",
"layer": 10,
"parameter_class": "mask_corner1",
"params": [
400000
],
"placement": {
"angle": 0,
"mirror": false,
"shift": [
350000,
900000
]
}
},
"64b6423d-c765-4997-8f04-5b230ace4abb": {
"form": "circle",
"layer": 0,
"parameter_class": "pad_corner2",
"params": [
200000
],
"placement": {
"angle": 0,
"mirror": false,
"shift": [
-350000,
900000
]
}
},
"8402a815-54b3-42d9-b96a-6f0631eb3579": {
"form": "circle",
"layer": 0,
"parameter_class": "pad_corner1",
"params": [
200000
],
"placement": {
"angle": 0,
"mirror": false,
"shift": [
350000,
900000
]
}
},
"888ff92f-96e3-4658-a9cb-1e9626aafe07": {
"form": "rectangle",
"layer": 30,
"parameter_class": "paste1",
"params": [
700000,
2000000
],
"placement": {
"angle": 0,
"mirror": false,
"shift": [
0,
0
]
}
},
"9c5dd306-043a-4190-8b16-6ab3d2dafaa3": {
"form": "circle",
"layer": 10,
"parameter_class": "mask_corner3",
"params": [
400000
],
"placement": {
"angle": 0,
"mirror": false,
"shift": [
-350000,
-900000
]
}
},
"a9154914-ba44-4f24-ab76-9132d8f2024f": {
"form": "rectangle",
"layer": 10,
"parameter_class": "mask2",
"params": [
1100000,
1800000
],
"placement": {
"angle": 0,
"mirror": false,
"shift": [
0,
0
]
}
},
"b85c63cf-3f4d-4b38-9968-22276d4ba5ec": {
"form": "circle",
"layer": 30,
"parameter_class": "paste_corner4",
"params": [
200000
],
"placement": {
"angle": 0,
"mirror": false,
"shift": [
350000,
-900000
]
}
},
"b8b84b83-babb-47ef-b2c9-236209e7689e": {
"form": "rectangle",
"layer": 0,
"parameter_class": "pad2",
"params": [
900000,
1800000
],
"placement": {
"angle": 0,
"mirror": false,
"shift": [
0,
0
]
}
},
"ddcf3d29-661b-41d1-ac1a-5e335f94e736": {
"form": "rectangle",
"layer": 0,
"parameter_class": "pad1",
"params": [
700000,
2000000
],
"placement": {
"angle": 0,
"mirror": false,
"shift": [
0,
0
]
}
},
"e900b87f-85f6-44a1-bc42-0af10cad7194": {
"form": "circle",
"layer": 0,
"parameter_class": "pad_corner3",
"params": [
200000
],
"placement": {
"angle": 0,
"mirror": false,
"shift": [
-350000,
-900000
]
}
},
"e93f30d7-af52-4284-8af0-b2341ade6c5d": {
"form": "rectangle",
"layer": 10,
"parameter_class": "mask1",
"params": [
700000,
2200000
],
"placement": {
"angle": 0,
"mirror": false,
"shift": [
0,
0
]
}
},
"fa7293d5-02e0-4a5b-868f-87f93d06729e": {
"form": "circle",
"layer": 30,
"parameter_class": "paste_corner1",
"params": [
200000
],
"placement": {
"angle": 0,
"mirror": false,
"shift": [
350000,
900000
]
}
}
},
"type": "padstack",
"uuid": "8e762581-e1b1-4fb4-81d3-7f8a1cabb97f",
"well_known_name": "smd rectangular rounded"
}

View file

@ -1,116 +0,0 @@
{
"holes": {
"056fa8e5-8b21-454e-a805-467fd49763b6": {
"diameter": 400000,
"length": 500000,
"parameter_class": "hole",
"placement": {
"angle": 0,
"mirror": false,
"shift": [
0,
0
]
},
"plated": true,
"shape": "round"
}
},
"name": "Circular Hole",
"padstack_type": "hole",
"parameter_program": "get-parameter [ hole_diameter ]\ndup dup\nset-hole [ hole round ]\n\nget-parameter [ hole_solder_mask_expansion ] 2 *\n+\nset-shape [ mask circle ]\n\nget-parameter [ hole_annular_ring ] 2 *\n+\nset-shape [ pad circle ]",
"parameter_set": {
"hole_annular_ring": 200000,
"hole_diameter": 400000,
"hole_solder_mask_expansion": 100000
},
"parameters_required": [
"hole_diameter",
"hole_annular_ring"
],
"polygons": {},
"shapes": {
"0fcc5be3-fa35-464c-ac89-7bfaea0821da": {
"form": "circle",
"layer": -110,
"parameter_class": "mask",
"params": [
600000
],
"placement": {
"angle": 0,
"mirror": false,
"shift": [
0,
0
]
}
},
"1919564e-4dfd-4afa-ae6b-b06ddcefb9e6": {
"form": "circle",
"layer": 10,
"parameter_class": "mask",
"params": [
600000
],
"placement": {
"angle": 0,
"mirror": false,
"shift": [
0,
0
]
}
},
"3d4a1caa-13a9-4828-aee6-4ec776b4f007": {
"form": "circle",
"layer": -1,
"parameter_class": "pad",
"params": [
800000
],
"placement": {
"angle": 0,
"mirror": false,
"shift": [
0,
0
]
}
},
"587492a5-d20b-4258-b1a8-04da900ea393": {
"form": "circle",
"layer": -100,
"parameter_class": "pad",
"params": [
800000
],
"placement": {
"angle": 0,
"mirror": false,
"shift": [
0,
0
]
}
},
"c0afc6ea-f577-42ee-8860-16eaf52721bf": {
"form": "circle",
"layer": 0,
"parameter_class": "pad",
"params": [
800000
],
"placement": {
"angle": 0,
"mirror": false,
"shift": [
0,
0
]
}
}
},
"type": "padstack",
"uuid": "ca1ef428-ac41-4e12-a7c3-a867e4588cec"
}

View file

@ -1,72 +0,0 @@
{
"MPN": [
false,
"DE9 Edge Launch"
],
"datasheet": [
false,
""
],
"description": [
false,
"A DE9 connector for cables, but mounted on a 1.6mm PCB"
],
"entity": "218b8c98-a576-4e2c-bb43-b7b0dcfcedf8",
"inherit_model": true,
"inherit_tags": false,
"manufacturer": [
false,
"Generic"
],
"model": "00000000-0000-0000-0000-000000000000",
"package": "8a7c447c-9b38-4008-bb36-4963eb1707ea",
"pad_map": {
"2ce9090d-e907-40e7-bd24-711373251638": {
"gate": "672e1f10-0401-43ad-b266-e7b705e49202",
"pin": "9edba34d-c7d1-479b-96c3-0c1f1cec5dcf"
},
"38694908-72f1-4e93-bf64-d8b662f1087f": {
"gate": "672e1f10-0401-43ad-b266-e7b705e49202",
"pin": "ec41bfae-7e85-4b98-9019-3bcb832399d9"
},
"3df241d8-aeb4-439e-a9ac-22c7aaf48490": {
"gate": "672e1f10-0401-43ad-b266-e7b705e49202",
"pin": "b4e5d951-1240-41cb-b62b-e441cdfef97f"
},
"3e2d527c-2db6-4dc1-9226-59bcbda861d4": {
"gate": "672e1f10-0401-43ad-b266-e7b705e49202",
"pin": "02b8636a-6aef-4c55-bee9-1ffa209e87ce"
},
"8e656416-0602-411a-af02-9e498375fb2f": {
"gate": "672e1f10-0401-43ad-b266-e7b705e49202",
"pin": "a73991e8-aac8-4ee5-9fcd-63a3ba351fb6"
},
"9da96202-0edd-4196-88ec-120aad459ec7": {
"gate": "672e1f10-0401-43ad-b266-e7b705e49202",
"pin": "6087a965-c809-456f-977b-db94fdc9d527"
},
"a3bb016b-1d92-4ed8-8119-6b5bce4de43f": {
"gate": "672e1f10-0401-43ad-b266-e7b705e49202",
"pin": "cadba1a3-1c63-4137-a971-6e2baed3f636"
},
"cdde280e-46d5-4eae-9b16-575da6b5adee": {
"gate": "672e1f10-0401-43ad-b266-e7b705e49202",
"pin": "d398172f-c518-4766-aa47-85d9978e8f57"
},
"fe4913ff-9bf2-4e00-a1c5-f04e05eebc43": {
"gate": "672e1f10-0401-43ad-b266-e7b705e49202",
"pin": "3187f32d-cf35-464a-aa68-9730eebaf2b1"
}
},
"parametric": {},
"tags": [
"connector",
"generic"
],
"type": "part",
"uuid": "6af66fe7-5f46-4d5a-906d-abb26e23e557",
"value": [
false,
""
]
}

View file

@ -1,27 +0,0 @@
{
"MPN": [
false,
"CPL-RES-0603-0-0.1W"
],
"base": "cbeda48c-7fb0-4cfb-a4de-d9672e8cc190",
"inherit_tags": true,
"manufacturer": [
false,
"CPL"
],
"parametric": {
"pmax": "0.1",
"table": "resistors",
"value": "0.0",
"tolerance": "1.0"
},
"tags": [
"cpl"
],
"type": "part",
"uuid": "6e276559-ece3-48fa-beda-7810b3b8af73",
"value": [
false,
"0 \u03a9"
]
}

View file

@ -1,44 +0,0 @@
{
"MPN": [
false,
"Generic Pin header 1×2, 2.54mm pitch, vertical"
],
"datasheet": [
false,
""
],
"description": [
false,
""
],
"entity": "29f544a1-a789-4fe6-a1ef-29da5ba3d371",
"inherit_model": true,
"inherit_tags": false,
"manufacturer": [
false,
""
],
"model": "00000000-0000-0000-0000-000000000000",
"package": "84529497-31a1-4f8f-abac-c07d0782069f",
"pad_map": {
"7bc2147a-0234-41f6-ab65-444e57a43ce5": {
"gate": "eb7f68b1-6fba-4a35-a470-2cecb23fe087",
"pin": "b3cef4f5-fe6c-45b5-b063-1618f997168f"
},
"7de8ad61-d839-4bad-85e8-5b3d093d4d6c": {
"gate": "eb7f68b1-6fba-4a35-a470-2cecb23fe087",
"pin": "588536f1-9e96-4500-bcbb-4ba48082b643"
}
},
"parametric": {},
"tags": [
"generic",
"header"
],
"type": "part",
"uuid": "84529497-31a1-4f8f-abac-c07d0782069f",
"value": [
false,
""
]
}

View file

@ -1,48 +0,0 @@
{
"MPN": [
false,
"Generic Pin header 1×3, 2.54mm pitch, vertical"
],
"datasheet": [
false,
""
],
"description": [
false,
""
],
"entity": "dac08463-17e8-4eb3-b5b4-4d7be5775379",
"inherit_model": true,
"inherit_tags": false,
"manufacturer": [
false,
""
],
"model": "00000000-0000-0000-0000-000000000000",
"package": "9103c334-3f16-47e9-ab2b-a9700763c47f",
"pad_map": {
"7bc2147a-0234-41f6-ab65-444e57a43ce5": {
"gate": "6cbea03f-31ec-49ea-9903-b9bf7b26e340",
"pin": "b22250f7-9956-4ac8-ada1-725b7ba800c8"
},
"7de8ad61-d839-4bad-85e8-5b3d093d4d6c": {
"gate": "6cbea03f-31ec-49ea-9903-b9bf7b26e340",
"pin": "1803365d-f745-4921-a54f-c5df6afa6561"
},
"f4f2991b-d46c-492e-b2b6-beacc3120e00": {
"gate": "6cbea03f-31ec-49ea-9903-b9bf7b26e340",
"pin": "4c0e5d34-b007-432d-880b-3a3b8e963a14"
}
},
"parametric": {},
"tags": [
"generic",
"header"
],
"type": "part",
"uuid": "9103c334-3f16-47e9-ab2b-a9700763c47f",
"value": [
false,
""
]
}

View file

@ -1,49 +0,0 @@
{
"MPN": [
false,
"73251-1150"
],
"datasheet": [
false,
"https://www.molex.com/pdm_docs/sd/732511150_sd.pdf"
],
"description": [
false,
"50 Ohms, SMA Jack Receptacle, Edge Mount, .25µm Gold (Au) Plating"
],
"entity": "1d1d771d-3f05-4639-ba89-48f54cee58c6",
"inherit_model": false,
"inherit_tags": false,
"manufacturer": [
false,
"Molex"
],
"model": "00000000-0000-0000-0000-000000000000",
"package": "afcfb049-61c1-4439-8c6a-c30a8eb07ab3",
"pad_map": {
"71d17bc9-8dcb-4d8d-85e1-7487fc9ae67c": {
"gate": "7fbb1da2-7777-4835-add3-612b96b30e91",
"pin": "207305c6-2559-44f9-b056-ec6cc1fec55c"
},
"c455703e-4ce6-4d3f-adbe-6f8179d36b75": {
"gate": "7fbb1da2-7777-4835-add3-612b96b30e91",
"pin": "207305c6-2559-44f9-b056-ec6cc1fec55c"
},
"d33a5d70-8af2-40e2-8567-e67653d1ac6b": {
"gate": "7fbb1da2-7777-4835-add3-612b96b30e91",
"pin": "a01e0362-c2b2-4565-9588-bc920e201988"
}
},
"parametric": {},
"tags": [
"coaxial",
"connector",
"sma"
],
"type": "part",
"uuid": "c4f817ca-686d-4aa5-b6a3-14eed41728e6",
"value": [
false,
""
]
}

View file

@ -1,34 +0,0 @@
{
"MPN": [
false,
"base 0603 resistor"
],
"entity": "3ce770af-7be0-4f72-b2af-2c8010911aaf",
"inherit_tags": false,
"manufacturer": [
false,
""
],
"package": "fe22ac1d-25b9-4a47-8414-51c990d7f94b",
"pad_map": {
"63256dd2-2eab-46fe-9201-b2e553476e98": {
"gate": "48af78e5-730e-44eb-977a-cf188e4fcb39",
"pin": "6a44037c-65e2-4876-9359-42890048841d"
},
"6dd73a26-6e83-43b6-8317-09836acef67d": {
"gate": "48af78e5-730e-44eb-977a-cf188e4fcb39",
"pin": "dda0ec99-5d70-4fbe-a8db-897542e7554e"
}
},
"parametric": {},
"tags": [
"passive",
"resistor"
],
"type": "part",
"uuid": "cbeda48c-7fb0-4cfb-a4de-d9672e8cc190",
"value": [
false,
""
]
}

View file

@ -1,10 +0,0 @@
{
"default_frame": "00000000-0000-0000-0000-000000000000",
"default_via": "3c4a52fe-3ae0-4c3e-a108-824b53d6d6da",
"name": "Project pool",
"pools_included": [
"6d752bc3-29b3-45df-8cf2-1e3aacefbcc6"
],
"type": "pool",
"uuid": "466088f9-3f15-420d-af8a-fff902537aed"
}

View file

@ -1 +0,0 @@
{"type": "symbol", "can_expand": true, "name": "Generic 2 pin connector (1\u00d72)", "unit": "c6a7e13e-6c70-4a80-a0dd-335d7b16967f", "uuid": "5b7a580f-fa81-4cde-84c2-9da30ebc9c5a", "junctions": {"2000b3bf-1ef3-4d37-981d-ff988d6bfa1d": {"position": [-3750000, -3750000]}, "6be74b9c-ec52-4273-a16a-ebdbf174c463": {"position": [-3750000, 3750000]}, "4243c36b-e666-4ed7-80f4-4f10d2a784b0": {"position": [3750000, 3750000]}, "87768599-8123-4766-995a-929089c70de1": {"position": [3750000, -3750000]}}, "lines": {"fd241dd4-4cd4-4da8-ac00-1e916b25a917": {"from": "2000b3bf-1ef3-4d37-981d-ff988d6bfa1d", "to": "6be74b9c-ec52-4273-a16a-ebdbf174c463"}, "6121b8b3-37f5-4169-8389-eb35d25acc71": {"from": "6be74b9c-ec52-4273-a16a-ebdbf174c463", "to": "4243c36b-e666-4ed7-80f4-4f10d2a784b0"}, "d4237b75-9db9-4178-9730-19512472acce": {"from": "4243c36b-e666-4ed7-80f4-4f10d2a784b0", "to": "87768599-8123-4766-995a-929089c70de1"}, "8859c990-c163-4006-9346-51ac2d87af07": {"from": "87768599-8123-4766-995a-929089c70de1", "to": "2000b3bf-1ef3-4d37-981d-ff988d6bfa1d"}}, "pins": {"b3cef4f5-fe6c-45b5-b063-1618f997168f": {"position": [6250000, 1250000], "length": 2500000, "orientation": "right"}, "588536f1-9e96-4500-bcbb-4ba48082b643": {"position": [6250000, -1250000], "length": 2500000, "orientation": "right"}}, "texts": {"46dd4d12-8d53-4bdf-a68e-c2c498fd01ad": {"placement": {"shift": [-3750000, 5000000], "mirror": false, "angle": 0}, "text": "$REFDES", "size": 1500000, "origin": "center"}, "caddaf4b-e90f-4702-92ea-245f70e33cba": {"placement": {"shift": [-3750000, -5000000], "mirror": false, "angle": 0}, "text": "$VALUE", "size": 1500000, "origin": "center"}}}

View file

@ -1,158 +0,0 @@
{
"arcs": {
"1c45b2d8-c6f2-4693-8a68-7b81861e4841": {
"center": "d4dfc279-3aae-4f12-8931-0d91f7fe94d3",
"from": "780cfc9f-779f-4410-a292-f5f1ae7a1c68",
"layer": 0,
"to": "ad140135-944d-44f8-9a3b-35d61c69ef9c",
"width": 0
},
"35a85551-fd5d-447f-9bed-92cc4dc2a667": {
"center": "d4dfc279-3aae-4f12-8931-0d91f7fe94d3",
"from": "ad140135-944d-44f8-9a3b-35d61c69ef9c",
"layer": 0,
"to": "780cfc9f-779f-4410-a292-f5f1ae7a1c68",
"width": 0
},
"97ede31e-f98e-438c-87f3-6f460c83aaee": {
"center": "d4dfc279-3aae-4f12-8931-0d91f7fe94d3",
"from": "f8624b54-469e-4cd4-aeb8-9157d3cac73a",
"layer": 0,
"to": "949d5efc-8de6-423b-8eb8-c66dbf6cca81",
"width": 0
},
"edfe5e33-67f0-4b14-9ac5-91ed8475e90b": {
"center": "d4dfc279-3aae-4f12-8931-0d91f7fe94d3",
"from": "949d5efc-8de6-423b-8eb8-c66dbf6cca81",
"layer": 0,
"to": "a13e8f2f-2af7-4035-a543-31f33f198f25",
"width": 0
}
},
"junctions": {
"780cfc9f-779f-4410-a292-f5f1ae7a1c68": {
"position": [
-375000,
0
]
},
"949d5efc-8de6-423b-8eb8-c66dbf6cca81": {
"position": [
1250000,
0
]
},
"a13e8f2f-2af7-4035-a543-31f33f198f25": {
"position": [
-1192000,
375000
]
},
"ad140135-944d-44f8-9a3b-35d61c69ef9c": {
"position": [
375000,
0
]
},
"b7fac46a-5685-46e4-a48a-5c9037a43ba2": {
"position": [
-1250000,
0
]
},
"d4dfc279-3aae-4f12-8931-0d91f7fe94d3": {
"position": [
0,
0
]
},
"f8624b54-469e-4cd4-aeb8-9157d3cac73a": {
"position": [
-1192000,
-375000
]
}
},
"lines": {
"0269c40d-34fd-4ac1-b1f6-c08658a73ac4": {
"from": "b7fac46a-5685-46e4-a48a-5c9037a43ba2",
"layer": 0,
"to": "780cfc9f-779f-4410-a292-f5f1ae7a1c68",
"width": 0
}
},
"name": "Coaxial connector",
"pins": {
"207305c6-2559-44f9-b056-ec6cc1fec55c": {
"decoration": {
"clock": false,
"dot": false,
"driver": "default",
"schmitt": false
},
"length": 2500000,
"name_visible": false,
"orientation": "down",
"pad_visible": true,
"position": [
0,
-3750000
]
},
"a01e0362-c2b2-4565-9588-bc920e201988": {
"decoration": {
"clock": false,
"dot": false,
"driver": "default",
"schmitt": false
},
"length": 2500000,
"name_visible": false,
"orientation": "left",
"pad_visible": true,
"position": [
-3750000,
0
]
}
},
"polygons": {},
"text_placements": {},
"texts": {
"b77bb995-0531-4df8-8b98-975394c28569": {
"from_smash": false,
"layer": 0,
"origin": "center",
"placement": {
"angle": 0,
"mirror": false,
"shift": [
1250000,
2500000
]
},
"size": 1500000,
"text": "$REFDES",
"width": 0
},
"e3678e4c-906a-4c2b-ad17-ff8d9970f317": {
"from_smash": false,
"layer": 0,
"origin": "center",
"placement": {
"angle": 0,
"mirror": false,
"shift": [
1250000,
-2500000
]
},
"size": 1500000,
"text": "$VALUE",
"width": 0
}
},
"type": "symbol",
"unit": "e74e03b1-a7b8-4ba0-aecd-432f6f494064",
"uuid": "773229dd-326f-4195-acf3-d138351784f9"
}

View file

@ -1 +0,0 @@
{"type": "symbol", "can_expand": true, "name": "Generic 3 pin connector (1\u00d73)", "unit": "f866fdef-b785-46aa-998b-da21e7d86e93", "uuid": "c06dffb6-8721-4b8e-a056-210974def620", "junctions": {"6525761b-ebb9-4a37-90b3-459838f0a877": {"position": [-3750000, -5000000]}, "4ce12afe-2210-4798-a54d-02bddd3b6903": {"position": [-3750000, 5000000]}, "570812e1-a515-48a5-a663-75f8a1fb2b65": {"position": [3750000, 5000000]}, "da4bbd86-9f0b-4b92-b3ff-dccf8796f1b1": {"position": [3750000, -5000000]}}, "lines": {"6d73235f-6e90-471d-9cd5-a5b70e9de780": {"from": "6525761b-ebb9-4a37-90b3-459838f0a877", "to": "4ce12afe-2210-4798-a54d-02bddd3b6903"}, "58e64bcb-749e-4545-8498-e3f00dd30d8b": {"from": "4ce12afe-2210-4798-a54d-02bddd3b6903", "to": "570812e1-a515-48a5-a663-75f8a1fb2b65"}, "212bb201-088b-494e-8617-c39154e52391": {"from": "570812e1-a515-48a5-a663-75f8a1fb2b65", "to": "da4bbd86-9f0b-4b92-b3ff-dccf8796f1b1"}, "cf06736c-f4e5-4de5-afc7-74019eaeebf0": {"from": "da4bbd86-9f0b-4b92-b3ff-dccf8796f1b1", "to": "6525761b-ebb9-4a37-90b3-459838f0a877"}}, "pins": {"b22250f7-9956-4ac8-ada1-725b7ba800c8": {"position": [6250000, 2500000], "length": 2500000, "orientation": "right"}, "1803365d-f745-4921-a54f-c5df6afa6561": {"position": [6250000, 0], "length": 2500000, "orientation": "right"}, "4c0e5d34-b007-432d-880b-3a3b8e963a14": {"position": [6250000, -2500000], "length": 2500000, "orientation": "right"}}, "texts": {"4470be59-9772-461d-bc9a-f950601338c8": {"placement": {"shift": [-3750000, 6250000], "mirror": false, "angle": 0}, "text": "$REFDES", "size": 1500000, "origin": "center"}, "25526db8-e8a5-480d-8e50-18f1e83b9bae": {"placement": {"shift": [-3750000, -6250000], "mirror": false, "angle": 0}, "text": "$VALUE", "size": 1500000, "origin": "center"}}}

View file

@ -1,279 +0,0 @@
{
"arcs": {},
"can_expand": false,
"junctions": {
"1d7c5e92-3631-44b3-9857-6011cfbd4683": {
"position": [
-2500000,
-1000000
]
},
"59446d3c-20fd-46a4-9ef6-bb1fdf2ad48b": {
"position": [
2500000,
-1000000
]
},
"a29dd91b-86ee-4499-ab34-458947a62158": {
"position": [
-2500000,
1000000
]
},
"d34607a3-f468-40ca-a895-6b36ec6e9100": {
"position": [
2500000,
1000000
]
}
},
"lines": {
"4fb24639-f88b-4c98-9886-2d1c120160b6": {
"from": "d34607a3-f468-40ca-a895-6b36ec6e9100",
"layer": 0,
"to": "59446d3c-20fd-46a4-9ef6-bb1fdf2ad48b",
"width": 0
},
"a3608f8b-4825-4443-ad18-7706413d96b2": {
"from": "59446d3c-20fd-46a4-9ef6-bb1fdf2ad48b",
"layer": 0,
"to": "1d7c5e92-3631-44b3-9857-6011cfbd4683",
"width": 0
},
"e0c0b8a3-a384-45a2-8366-825260417e07": {
"from": "a29dd91b-86ee-4499-ab34-458947a62158",
"layer": 0,
"to": "d34607a3-f468-40ca-a895-6b36ec6e9100",
"width": 0
},
"fb49239d-4f08-459c-95dd-7cd402831e33": {
"from": "1d7c5e92-3631-44b3-9857-6011cfbd4683",
"layer": 0,
"to": "a29dd91b-86ee-4499-ab34-458947a62158",
"width": 0
}
},
"name": "EU Resistor",
"pins": {
"6a44037c-65e2-4876-9359-42890048841d": {
"decoration": {
"clock": false,
"dot": false,
"driver": "default",
"schmitt": false
},
"length": 1250000,
"name_orientation": "in_line",
"name_visible": false,
"orientation": "left",
"pad_visible": false,
"position": [
-3750000,
0
]
},
"dda0ec99-5d70-4fbe-a8db-897542e7554e": {
"decoration": {
"clock": false,
"dot": false,
"driver": "default",
"schmitt": false
},
"length": 1250000,
"name_orientation": "in_line",
"name_visible": false,
"orientation": "right",
"pad_visible": false,
"position": [
3750000,
0
]
}
},
"polygons": {},
"text_placements": {
"0m": {
"35099bf5-0e81-401a-aa96-d1112f12d918": {
"angle": 0,
"mirror": true,
"shift": [
2500000,
-2500000
]
},
"fc82ac00-1f07-4009-9129-6e1827d3dc5c": {
"angle": 0,
"mirror": true,
"shift": [
2500000,
2500000
]
}
},
"0n": {
"35099bf5-0e81-401a-aa96-d1112f12d918": {
"angle": 0,
"mirror": false,
"shift": [
-2500000,
-2500000
]
},
"fc82ac00-1f07-4009-9129-6e1827d3dc5c": {
"angle": 0,
"mirror": false,
"shift": [
-2500000,
2500000
]
}
},
"180m": {
"35099bf5-0e81-401a-aa96-d1112f12d918": {
"angle": 32768,
"mirror": true,
"shift": [
-2500000,
2500000
]
},
"fc82ac00-1f07-4009-9129-6e1827d3dc5c": {
"angle": 32768,
"mirror": true,
"shift": [
-2500000,
-2500000
]
}
},
"180n": {
"35099bf5-0e81-401a-aa96-d1112f12d918": {
"angle": 32768,
"mirror": false,
"shift": [
2500000,
2500000
]
},
"fc82ac00-1f07-4009-9129-6e1827d3dc5c": {
"angle": 32768,
"mirror": false,
"shift": [
2500000,
-2500000
]
}
},
"270m": {
"35099bf5-0e81-401a-aa96-d1112f12d918": {
"angle": 16384,
"mirror": true,
"shift": [
1250000,
-2500000
]
},
"fc82ac00-1f07-4009-9129-6e1827d3dc5c": {
"angle": 16384,
"mirror": true,
"shift": [
-1250000,
-2500000
]
}
},
"270n": {
"35099bf5-0e81-401a-aa96-d1112f12d918": {
"angle": 16384,
"mirror": true,
"shift": [
1250000,
-2500000
]
},
"fc82ac00-1f07-4009-9129-6e1827d3dc5c": {
"angle": 16384,
"mirror": true,
"shift": [
-1250000,
-2500000
]
}
},
"90m": {
"35099bf5-0e81-401a-aa96-d1112f12d918": {
"angle": 49152,
"mirror": false,
"shift": [
-1250000,
-2500000
]
},
"fc82ac00-1f07-4009-9129-6e1827d3dc5c": {
"angle": 49152,
"mirror": false,
"shift": [
1250000,
-2500000
]
}
},
"90n": {
"35099bf5-0e81-401a-aa96-d1112f12d918": {
"angle": 49152,
"mirror": false,
"shift": [
-1250000,
-2500000
]
},
"fc82ac00-1f07-4009-9129-6e1827d3dc5c": {
"angle": 49152,
"mirror": false,
"shift": [
1250000,
-2500000
]
}
}
},
"texts": {
"35099bf5-0e81-401a-aa96-d1112f12d918": {
"font": "simplex",
"from_smash": false,
"layer": 0,
"origin": "center",
"placement": {
"angle": 0,
"mirror": false,
"shift": [
-2500000,
-2500000
]
},
"size": 1500000,
"text": "$VALUE",
"width": 0
},
"fc82ac00-1f07-4009-9129-6e1827d3dc5c": {
"font": "simplex",
"from_smash": false,
"layer": 0,
"origin": "center",
"placement": {
"angle": 0,
"mirror": false,
"shift": [
-2500000,
2500000
]
},
"size": 1500000,
"text": "$REFDES",
"width": 0
}
},
"type": "symbol",
"unit": "9b22b899-e8eb-4ce8-b62d-79b7b2db035e",
"uuid": "e2cde69b-9fa7-4332-ba8f-7e5b3ee8ad73"
}

View file

@ -1 +0,0 @@
{"type": "symbol", "can_expand": true, "name": "Generic 9 pin connector (1\u00d79)", "unit": "804f8c1a-9233-4f1d-8327-9793242cd931", "uuid": "eee22dbf-401a-4edb-aca1-b187365e178f", "junctions": {"6cb4a208-ac8d-46b1-a1cd-bbfbbb2bd267": {"position": [-3750000, -12500000]}, "3a1cc8f9-1632-4f69-89e6-f92af6592bfe": {"position": [-3750000, 12500000]}, "eb89bab1-3253-46d4-9dfd-d49d758a1033": {"position": [3750000, 12500000]}, "fe9a6572-35e7-451f-a9b5-73df5fcd81ca": {"position": [3750000, -12500000]}}, "lines": {"dace1026-3cc5-4fe2-8fcd-19cfa7acbc32": {"from": "6cb4a208-ac8d-46b1-a1cd-bbfbbb2bd267", "to": "3a1cc8f9-1632-4f69-89e6-f92af6592bfe"}, "76f1e2be-4cff-406a-b50a-becff61100df": {"from": "3a1cc8f9-1632-4f69-89e6-f92af6592bfe", "to": "eb89bab1-3253-46d4-9dfd-d49d758a1033"}, "4a4ccae4-7234-4f33-bb80-c7902948e592": {"from": "eb89bab1-3253-46d4-9dfd-d49d758a1033", "to": "fe9a6572-35e7-451f-a9b5-73df5fcd81ca"}, "b5d8c6a7-f435-4dac-ac38-a20c6023006e": {"from": "fe9a6572-35e7-451f-a9b5-73df5fcd81ca", "to": "6cb4a208-ac8d-46b1-a1cd-bbfbbb2bd267"}}, "pins": {"3187f32d-cf35-464a-aa68-9730eebaf2b1": {"position": [6250000, 10000000], "length": 2500000, "orientation": "right"}, "b4e5d951-1240-41cb-b62b-e441cdfef97f": {"position": [6250000, 7500000], "length": 2500000, "orientation": "right"}, "9edba34d-c7d1-479b-96c3-0c1f1cec5dcf": {"position": [6250000, 5000000], "length": 2500000, "orientation": "right"}, "cadba1a3-1c63-4137-a971-6e2baed3f636": {"position": [6250000, 2500000], "length": 2500000, "orientation": "right"}, "d398172f-c518-4766-aa47-85d9978e8f57": {"position": [6250000, 0], "length": 2500000, "orientation": "right"}, "02b8636a-6aef-4c55-bee9-1ffa209e87ce": {"position": [6250000, -2500000], "length": 2500000, "orientation": "right"}, "ec41bfae-7e85-4b98-9019-3bcb832399d9": {"position": [6250000, -5000000], "length": 2500000, "orientation": "right"}, "a73991e8-aac8-4ee5-9fcd-63a3ba351fb6": {"position": [6250000, -7500000], "length": 2500000, "orientation": "right"}, "6087a965-c809-456f-977b-db94fdc9d527": {"position": [6250000, -10000000], "length": 2500000, "orientation": "right"}}, "texts": {"f3ef9b92-d012-4d26-9b1d-58ecdf7b2cce": {"placement": {"shift": [-3750000, 13750000], "mirror": false, "angle": 0}, "text": "$REFDES", "size": 1500000, "origin": "center"}, "c805aff5-a5c8-4cdc-9afc-09dfc5b62547": {"placement": {"shift": [-3750000, -13750000], "mirror": false, "angle": 0}, "text": "$VALUE", "size": 1500000, "origin": "center"}}}

View file

@ -1 +0,0 @@
{"name": "Generic 9 pin connector", "manufacturer": "", "uuid": "804f8c1a-9233-4f1d-8327-9793242cd931", "type": "unit", "pins": {"3187f32d-cf35-464a-aa68-9730eebaf2b1": {"direction": "passive", "names": [], "swap_group": 0, "primary_name": "1"}, "b4e5d951-1240-41cb-b62b-e441cdfef97f": {"direction": "passive", "names": [], "swap_group": 0, "primary_name": "2"}, "9edba34d-c7d1-479b-96c3-0c1f1cec5dcf": {"direction": "passive", "names": [], "swap_group": 0, "primary_name": "3"}, "cadba1a3-1c63-4137-a971-6e2baed3f636": {"direction": "passive", "names": [], "swap_group": 0, "primary_name": "4"}, "d398172f-c518-4766-aa47-85d9978e8f57": {"direction": "passive", "names": [], "swap_group": 0, "primary_name": "5"}, "02b8636a-6aef-4c55-bee9-1ffa209e87ce": {"direction": "passive", "names": [], "swap_group": 0, "primary_name": "6"}, "ec41bfae-7e85-4b98-9019-3bcb832399d9": {"direction": "passive", "names": [], "swap_group": 0, "primary_name": "7"}, "a73991e8-aac8-4ee5-9fcd-63a3ba351fb6": {"direction": "passive", "names": [], "swap_group": 0, "primary_name": "8"}, "6087a965-c809-456f-977b-db94fdc9d527": {"direction": "passive", "names": [], "swap_group": 0, "primary_name": "9"}}}

View file

@ -1,19 +0,0 @@
{
"type" : "unit",
"uuid" : "9b22b899-e8eb-4ce8-b62d-79b7b2db035e",
"name" : "Two-terminal resistor",
"tags" : ["generic", "resistor", "passive"],
"pins" : {
"6a44037c-65e2-4876-9359-42890048841d" : {
"primary_name" : "A",
"direction" : "passive",
"swap_group" : 1
},
"dda0ec99-5d70-4fbe-a8db-897542e7554e" : {
"primary_name" : "B",
"direction" : "passive",
"swap_group" : 1
}
}
}

View file

@ -1 +0,0 @@
{"name": "Generic 2 pin connector", "manufacturer": "", "uuid": "c6a7e13e-6c70-4a80-a0dd-335d7b16967f", "type": "unit", "pins": {"b3cef4f5-fe6c-45b5-b063-1618f997168f": {"direction": "passive", "names": [], "swap_group": 0, "primary_name": "1"}, "588536f1-9e96-4500-bcbb-4ba48082b643": {"direction": "passive", "names": [], "swap_group": 0, "primary_name": "2"}}}

View file

@ -1,20 +0,0 @@
{
"manufacturer": "",
"name": "Coaxial connector",
"pins": {
"207305c6-2559-44f9-b056-ec6cc1fec55c": {
"direction": "passive",
"names": [],
"primary_name": "GND",
"swap_group": 0
},
"a01e0362-c2b2-4565-9588-bc920e201988": {
"direction": "passive",
"names": [],
"primary_name": "SIG",
"swap_group": 0
}
},
"type": "unit",
"uuid": "e74e03b1-a7b8-4ba0-aecd-432f6f494064"
}

View file

@ -1 +0,0 @@
{"name": "Generic 3 pin connector", "manufacturer": "", "uuid": "f866fdef-b785-46aa-998b-da21e7d86e93", "type": "unit", "pins": {"b22250f7-9956-4ac8-ada1-725b7ba800c8": {"direction": "passive", "names": [], "swap_group": 0, "primary_name": "1"}, "1803365d-f745-4921-a54f-c5df6afa6561": {"direction": "passive", "names": [], "swap_group": 0, "primary_name": "2"}, "4c0e5d34-b007-432d-880b-3a3b8e963a14": {"direction": "passive", "names": [], "swap_group": 0, "primary_name": "3"}}}

View file

@ -1,404 +0,0 @@
{
"block_instance_mappings": {},
"block_instances": {},
"bom_export_settings": {
"concrete_parts": {},
"csv_settings": {
"columns": [
"QTY",
"MPN",
"value",
"manufacturer",
"refdes"
],
"order": "asc",
"sort_column": "refdes"
},
"orderable_MPNs": {},
"output_filename": ""
},
"buses": {},
"components": {
"0ba7fc84-22a7-485e-ab1f-3cbad7ccccf8": {
"alt_pins": {},
"connections": {
"6cbea03f-31ec-49ea-9903-b9bf7b26e340/1803365d-f745-4921-a54f-c5df6afa6561": {
"net": "7bacb991-ae51-4e22-8450-bc48138b6dbb"
},
"6cbea03f-31ec-49ea-9903-b9bf7b26e340/4c0e5d34-b007-432d-880b-3a3b8e963a14": {
"net": "8ff86bdf-504e-43a5-a8b3-c95eb9f1767b"
},
"6cbea03f-31ec-49ea-9903-b9bf7b26e340/b22250f7-9956-4ac8-ada1-725b7ba800c8": {
"net": "f42c22b7-4f1a-4804-a0f9-34241b9edbb7"
}
},
"entity": "dac08463-17e8-4eb3-b5b4-4d7be5775379",
"group": "00000000-0000-0000-0000-000000000000",
"part": "9103c334-3f16-47e9-ab2b-a9700763c47f",
"pin_names": {},
"refdes": "J6",
"tag": "2f586684-fa38-4de8-90f4-e2db38455081",
"value": ""
},
"0ea1f9f5-c64a-4e4c-aa63-27c68f34e7bf": {
"alt_pins": {},
"connections": {
"48af78e5-730e-44eb-977a-cf188e4fcb39/6a44037c-65e2-4876-9359-42890048841d": {
"net": "8ff86bdf-504e-43a5-a8b3-c95eb9f1767b"
},
"48af78e5-730e-44eb-977a-cf188e4fcb39/dda0ec99-5d70-4fbe-a8db-897542e7554e": {
"net": "f42c22b7-4f1a-4804-a0f9-34241b9edbb7"
}
},
"entity": "3ce770af-7be0-4f72-b2af-2c8010911aaf",
"group": "00000000-0000-0000-0000-000000000000",
"part": "6e276559-ece3-48fa-beda-7810b3b8af73",
"pin_names": {},
"refdes": "R3",
"tag": "0b258362-88bd-4f0e-be4f-9b7557b394e5",
"value": ""
},
"189050e1-cdb6-4eda-b8a0-dd8491c09399": {
"alt_pins": {},
"connections": {
"7fbb1da2-7777-4835-add3-612b96b30e91/207305c6-2559-44f9-b056-ec6cc1fec55c": {
"net": "7bacb991-ae51-4e22-8450-bc48138b6dbb"
},
"7fbb1da2-7777-4835-add3-612b96b30e91/a01e0362-c2b2-4565-9588-bc920e201988": {
"net": "694b82f3-b89c-45b4-88fb-314686994af5"
}
},
"entity": "1d1d771d-3f05-4639-ba89-48f54cee58c6",
"group": "00000000-0000-0000-0000-000000000000",
"part": "c4f817ca-686d-4aa5-b6a3-14eed41728e6",
"pin_names": {},
"refdes": "J2",
"tag": "7d9b58ba-cac2-41f3-99e0-1b33e04a56bd",
"value": ""
},
"1bf51fae-ec0f-4ae3-b4d2-90c5b47350db": {
"alt_pins": {},
"connections": {
"6cbea03f-31ec-49ea-9903-b9bf7b26e340/1803365d-f745-4921-a54f-c5df6afa6561": {
"net": "7bacb991-ae51-4e22-8450-bc48138b6dbb"
},
"6cbea03f-31ec-49ea-9903-b9bf7b26e340/4c0e5d34-b007-432d-880b-3a3b8e963a14": {
"net": "4264d421-02db-42fa-b328-0831ac5c242f"
},
"6cbea03f-31ec-49ea-9903-b9bf7b26e340/b22250f7-9956-4ac8-ada1-725b7ba800c8": {
"net": "39af0482-c723-46ea-8562-087306764020"
}
},
"entity": "dac08463-17e8-4eb3-b5b4-4d7be5775379",
"group": "00000000-0000-0000-0000-000000000000",
"part": "9103c334-3f16-47e9-ab2b-a9700763c47f",
"pin_names": {},
"refdes": "J8",
"tag": "5758bc17-3551-46b0-b28d-151b3e0f5c5c",
"value": ""
},
"3c99490e-a4fa-40ef-8b8b-8744283ef4e3": {
"alt_pins": {},
"connections": {
"7fbb1da2-7777-4835-add3-612b96b30e91/207305c6-2559-44f9-b056-ec6cc1fec55c": {
"net": "7bacb991-ae51-4e22-8450-bc48138b6dbb"
},
"7fbb1da2-7777-4835-add3-612b96b30e91/a01e0362-c2b2-4565-9588-bc920e201988": {
"net": "867a00b0-b837-43cf-83de-84694eb1ed71"
}
},
"entity": "1d1d771d-3f05-4639-ba89-48f54cee58c6",
"group": "00000000-0000-0000-0000-000000000000",
"part": "c4f817ca-686d-4aa5-b6a3-14eed41728e6",
"pin_names": {},
"refdes": "J5",
"tag": "d1f1eba0-4f5b-492a-9438-a33ed48ffc4a",
"value": ""
},
"43e804d2-6698-454b-a686-1ee0061dedd2": {
"alt_pins": {},
"connections": {
"7fbb1da2-7777-4835-add3-612b96b30e91/207305c6-2559-44f9-b056-ec6cc1fec55c": {
"net": "7bacb991-ae51-4e22-8450-bc48138b6dbb"
},
"7fbb1da2-7777-4835-add3-612b96b30e91/a01e0362-c2b2-4565-9588-bc920e201988": {
"net": "39af0482-c723-46ea-8562-087306764020"
}
},
"entity": "1d1d771d-3f05-4639-ba89-48f54cee58c6",
"group": "00000000-0000-0000-0000-000000000000",
"part": "c4f817ca-686d-4aa5-b6a3-14eed41728e6",
"pin_names": {},
"refdes": "J9",
"tag": "2210462d-68d0-4432-95a9-a77fae73c797",
"value": ""
},
"44bb9153-d97a-49e9-936b-270700e2518e": {
"alt_pins": {},
"connections": {
"6cbea03f-31ec-49ea-9903-b9bf7b26e340/1803365d-f745-4921-a54f-c5df6afa6561": {
"net": "7bacb991-ae51-4e22-8450-bc48138b6dbb"
},
"6cbea03f-31ec-49ea-9903-b9bf7b26e340/4c0e5d34-b007-432d-880b-3a3b8e963a14": {
"net": "77c8d66b-e509-44f5-845c-05fff2d541a7"
},
"6cbea03f-31ec-49ea-9903-b9bf7b26e340/b22250f7-9956-4ac8-ada1-725b7ba800c8": {
"net": "867a00b0-b837-43cf-83de-84694eb1ed71"
}
},
"entity": "dac08463-17e8-4eb3-b5b4-4d7be5775379",
"group": "00000000-0000-0000-0000-000000000000",
"part": "9103c334-3f16-47e9-ab2b-a9700763c47f",
"pin_names": {},
"refdes": "J4",
"tag": "660af710-503e-41f2-a9fb-e88616a4a90e",
"value": ""
},
"5512e641-e87f-4f18-9cf0-ee4cd1d3b8fe": {
"alt_pins": {},
"connections": {
"672e1f10-0401-43ad-b266-e7b705e49202/02b8636a-6aef-4c55-bee9-1ffa209e87ce": {
"net": "7bacb991-ae51-4e22-8450-bc48138b6dbb"
},
"672e1f10-0401-43ad-b266-e7b705e49202/3187f32d-cf35-464a-aa68-9730eebaf2b1": {
"net": "77c8d66b-e509-44f5-845c-05fff2d541a7"
},
"672e1f10-0401-43ad-b266-e7b705e49202/6087a965-c809-456f-977b-db94fdc9d527": {
"net": null
},
"672e1f10-0401-43ad-b266-e7b705e49202/9edba34d-c7d1-479b-96c3-0c1f1cec5dcf": {
"net": "4264d421-02db-42fa-b328-0831ac5c242f"
},
"672e1f10-0401-43ad-b266-e7b705e49202/a73991e8-aac8-4ee5-9fcd-63a3ba351fb6": {
"net": "7bacb991-ae51-4e22-8450-bc48138b6dbb"
},
"672e1f10-0401-43ad-b266-e7b705e49202/b4e5d951-1240-41cb-b62b-e441cdfef97f": {
"net": "7bacb991-ae51-4e22-8450-bc48138b6dbb"
},
"672e1f10-0401-43ad-b266-e7b705e49202/cadba1a3-1c63-4137-a971-6e2baed3f636": {
"net": "8ff86bdf-504e-43a5-a8b3-c95eb9f1767b"
},
"672e1f10-0401-43ad-b266-e7b705e49202/d398172f-c518-4766-aa47-85d9978e8f57": {
"net": "7bacb991-ae51-4e22-8450-bc48138b6dbb"
},
"672e1f10-0401-43ad-b266-e7b705e49202/ec41bfae-7e85-4b98-9019-3bcb832399d9": {
"net": "5e1ea12a-b67d-4a4a-a526-0f8d286afa6e"
}
},
"entity": "218b8c98-a576-4e2c-bb43-b7b0dcfcedf8",
"group": "00000000-0000-0000-0000-000000000000",
"part": "6af66fe7-5f46-4d5a-906d-abb26e23e557",
"pin_names": {},
"refdes": "J3",
"tag": "717b34d2-40a5-46b9-8cba-432bd9e1554d",
"value": ""
},
"55597817-6fe4-4f04-82f7-a6ee4529be73": {
"alt_pins": {},
"connections": {
"7fbb1da2-7777-4835-add3-612b96b30e91/207305c6-2559-44f9-b056-ec6cc1fec55c": {
"net": "7bacb991-ae51-4e22-8450-bc48138b6dbb"
},
"7fbb1da2-7777-4835-add3-612b96b30e91/a01e0362-c2b2-4565-9588-bc920e201988": {
"net": "f42c22b7-4f1a-4804-a0f9-34241b9edbb7"
}
},
"entity": "1d1d771d-3f05-4639-ba89-48f54cee58c6",
"group": "00000000-0000-0000-0000-000000000000",
"part": "c4f817ca-686d-4aa5-b6a3-14eed41728e6",
"pin_names": {},
"refdes": "J7",
"tag": "7f9ffaf8-c00b-495a-88e4-599123b04177",
"value": ""
},
"7c4c0a48-f141-4028-ae64-c8b47a3c3640": {
"alt_pins": {},
"connections": {
"48af78e5-730e-44eb-977a-cf188e4fcb39/6a44037c-65e2-4876-9359-42890048841d": {
"net": "5e1ea12a-b67d-4a4a-a526-0f8d286afa6e"
},
"48af78e5-730e-44eb-977a-cf188e4fcb39/dda0ec99-5d70-4fbe-a8db-897542e7554e": {
"net": "694b82f3-b89c-45b4-88fb-314686994af5"
}
},
"entity": "3ce770af-7be0-4f72-b2af-2c8010911aaf",
"group": "00000000-0000-0000-0000-000000000000",
"part": "6e276559-ece3-48fa-beda-7810b3b8af73",
"pin_names": {},
"refdes": "R1",
"tag": "c2ac07a8-c692-40ee-9840-09935876d73d",
"value": ""
},
"92933ab2-d358-414c-ba0a-8832f8103f75": {
"alt_pins": {},
"connections": {
"6cbea03f-31ec-49ea-9903-b9bf7b26e340/1803365d-f745-4921-a54f-c5df6afa6561": {
"net": "7bacb991-ae51-4e22-8450-bc48138b6dbb"
},
"6cbea03f-31ec-49ea-9903-b9bf7b26e340/4c0e5d34-b007-432d-880b-3a3b8e963a14": {
"net": "5e1ea12a-b67d-4a4a-a526-0f8d286afa6e"
},
"6cbea03f-31ec-49ea-9903-b9bf7b26e340/b22250f7-9956-4ac8-ada1-725b7ba800c8": {
"net": "694b82f3-b89c-45b4-88fb-314686994af5"
}
},
"entity": "dac08463-17e8-4eb3-b5b4-4d7be5775379",
"group": "00000000-0000-0000-0000-000000000000",
"part": "9103c334-3f16-47e9-ab2b-a9700763c47f",
"pin_names": {},
"refdes": "J1",
"tag": "cad52c54-f100-4950-9ce9-f9a540c2b785",
"value": ""
},
"9bac649d-2637-484d-afde-0638f66a88f4": {
"alt_pins": {},
"connections": {
"48af78e5-730e-44eb-977a-cf188e4fcb39/6a44037c-65e2-4876-9359-42890048841d": {
"net": "4264d421-02db-42fa-b328-0831ac5c242f"
},
"48af78e5-730e-44eb-977a-cf188e4fcb39/dda0ec99-5d70-4fbe-a8db-897542e7554e": {
"net": "39af0482-c723-46ea-8562-087306764020"
}
},
"entity": "3ce770af-7be0-4f72-b2af-2c8010911aaf",
"group": "00000000-0000-0000-0000-000000000000",
"part": "6e276559-ece3-48fa-beda-7810b3b8af73",
"pin_names": {},
"refdes": "R4",
"tag": "b3e73172-7994-4762-83a0-b183439635b4",
"value": ""
},
"ea638e0f-70b8-4c74-b866-114f2fa81e48": {
"alt_pins": {},
"connections": {
"48af78e5-730e-44eb-977a-cf188e4fcb39/6a44037c-65e2-4876-9359-42890048841d": {
"net": "77c8d66b-e509-44f5-845c-05fff2d541a7"
},
"48af78e5-730e-44eb-977a-cf188e4fcb39/dda0ec99-5d70-4fbe-a8db-897542e7554e": {
"net": "867a00b0-b837-43cf-83de-84694eb1ed71"
}
},
"entity": "3ce770af-7be0-4f72-b2af-2c8010911aaf",
"group": "00000000-0000-0000-0000-000000000000",
"part": "6e276559-ece3-48fa-beda-7810b3b8af73",
"pin_names": {},
"refdes": "R2",
"tag": "7ea0f8f0-3dcc-4e04-96e8-1e68a46afe30",
"value": ""
}
},
"group_names": {},
"name": "Top",
"net_class_default": "bca93fb2-a2b3-4be7-9ef9-b7dbcf1242ab",
"net_classes": {
"bca93fb2-a2b3-4be7-9ef9-b7dbcf1242ab": {
"name": "default"
}
},
"nets": {
"39af0482-c723-46ea-8562-087306764020": {
"is_port": false,
"is_power": false,
"name": "",
"net_class": "bca93fb2-a2b3-4be7-9ef9-b7dbcf1242ab",
"port_direction": "bidirectional",
"power_symbol_name_visible": true,
"power_symbol_style": "gnd"
},
"4264d421-02db-42fa-b328-0831ac5c242f": {
"is_port": false,
"is_power": false,
"name": "K_EXT",
"net_class": "bca93fb2-a2b3-4be7-9ef9-b7dbcf1242ab",
"port_direction": "bidirectional",
"power_symbol_name_visible": true,
"power_symbol_style": "gnd"
},
"5e1ea12a-b67d-4a4a-a526-0f8d286afa6e": {
"is_port": false,
"is_power": false,
"name": "K_X",
"net_class": "bca93fb2-a2b3-4be7-9ef9-b7dbcf1242ab",
"port_direction": "bidirectional",
"power_symbol_name_visible": true,
"power_symbol_style": "gnd"
},
"694b82f3-b89c-45b4-88fb-314686994af5": {
"is_port": false,
"is_power": false,
"name": "",
"net_class": "bca93fb2-a2b3-4be7-9ef9-b7dbcf1242ab",
"port_direction": "bidirectional",
"power_symbol_name_visible": true,
"power_symbol_style": "gnd"
},
"77c8d66b-e509-44f5-845c-05fff2d541a7": {
"is_port": false,
"is_power": false,
"name": "K_Y",
"net_class": "bca93fb2-a2b3-4be7-9ef9-b7dbcf1242ab",
"port_direction": "bidirectional",
"power_symbol_name_visible": true,
"power_symbol_style": "gnd"
},
"7bacb991-ae51-4e22-8450-bc48138b6dbb": {
"is_port": false,
"is_power": true,
"name": "GND",
"net_class": "bca93fb2-a2b3-4be7-9ef9-b7dbcf1242ab",
"port_direction": "bidirectional",
"power_symbol_name_visible": true,
"power_symbol_style": "gnd"
},
"867a00b0-b837-43cf-83de-84694eb1ed71": {
"is_port": false,
"is_power": false,
"name": "",
"net_class": "bca93fb2-a2b3-4be7-9ef9-b7dbcf1242ab",
"port_direction": "bidirectional",
"power_symbol_name_visible": true,
"power_symbol_style": "gnd"
},
"8ff86bdf-504e-43a5-a8b3-c95eb9f1767b": {
"is_port": false,
"is_power": false,
"name": "K_SIG",
"net_class": "bca93fb2-a2b3-4be7-9ef9-b7dbcf1242ab",
"port_direction": "bidirectional",
"power_symbol_name_visible": true,
"power_symbol_style": "gnd"
},
"f42c22b7-4f1a-4804-a0f9-34241b9edbb7": {
"is_port": false,
"is_power": false,
"name": "",
"net_class": "bca93fb2-a2b3-4be7-9ef9-b7dbcf1242ab",
"port_direction": "bidirectional",
"power_symbol_name_visible": true,
"power_symbol_style": "gnd"
}
},
"project_meta": {
"author": "q3k",
"date": "2025-03-18",
"project_name": "external-iface",
"project_title": "Kenji External Interface",
"rev": "1"
},
"tag_names": {
"0b258362-88bd-4f0e-be4f-9b7557b394e5": "5",
"2210462d-68d0-4432-95a9-a77fae73c797": "3",
"2f586684-fa38-4de8-90f4-e2db38455081": "11",
"5758bc17-3551-46b0-b28d-151b3e0f5c5c": "12",
"660af710-503e-41f2-a9fb-e88616a4a90e": "10",
"717b34d2-40a5-46b9-8cba-432bd9e1554d": "12",
"7d9b58ba-cac2-41f3-99e0-1b33e04a56bd": "0",
"7ea0f8f0-3dcc-4e04-96e8-1e68a46afe30": "6",
"7f9ffaf8-c00b-495a-88e4-599123b04177": "2",
"b3e73172-7994-4762-83a0-b183439635b4": "4",
"c2ac07a8-c692-40ee-9840-09935876d73d": "7",
"cad52c54-f100-4950-9ce9-f9a540c2b785": "9",
"d1f1eba0-4f5b-492a-9438-a33ed48ffc4a": "1"
},
"uuid": "6590a349-edbb-4eb4-8a8e-db9dc800d507"
}

File diff suppressed because it is too large Load diff

Binary file not shown.

Before

Width:  |  Height:  |  Size: 329 KiB

View file

@ -1,16 +0,0 @@
[instrument_info]
manufacturer='JEOL'
model='T330A'
[beam.electron.pinout]
scan_enable = [-1]
blank = [2]
[transforms]
[timings]
ext_switch_delay_ms = 20
[server]
host = "10.250.240.1"
port = 1234

BIN
obi/obi-mounting.FCStd (Stored with Git LFS)

Binary file not shown.

View file

@ -1,50 +0,0 @@
# nix-build obi.nix
# not callPackage because we need a very new nixpkgs for numpy2
with import (builtins.fetchTarball {
name = "nixos-unstable-2025-10-05";
url = "https://github.com/nixos/nixpkgs/archive/e06e469c8e2d893f1f0dcb55bbd9de8904ee0cf5.tar.gz";
sha256 = "sha256:174gj7nxcmj4l5dr1iqfr67cl14x1aw3hxqzg716pw0g1qrmjs4w";
}) {};
python3.pkgs.buildPythonApplication {
name = "open-beam-interface";
src = fetchFromGitHub {
owner = "q3k";
repo = "Open-Beam-Interface";
rev = "7076782325fe04f146e6c3d126a4a1fe1ff9da8f";
hash = "sha256-3Tu2nFx3V5XIgyRb0da/28CxkY7Lscln0F4T98PGyHY=";
};
pyproject = true;
nativeBuildInputs = [
python3.pkgs.pdm-backend
];
nativeCheckInput = [
python3.pkgs.unittestCheckHook
];
propagatedBuildInputs = [
glasgow
yosys
nextpnr
icestorm
] ++ (with python3.pkgs; [
numpy
tifffile
pillow
tomlkit
pyqtgraph
pyqt6
qasync
]);
check = false;
preBuild = ''
export PDM_BUILD_SCM_VERSION=1.0
cd software
'';
}

View file

@ -13,24 +13,3 @@ succbone is our "automation" system for the vacuum system of the SEM.
- Signal two different vacuum levels to the original evacuation controller
* Rough vacuum reached
* High vacuum reached
- Diffusion pump temperature monitoring via three PT100 sensors
- Environmental temperature & humidity monitoring (external sensor)
### Device Overview
These are the main devices powering the succbone control system. For details,
please check the wiring diagrams in [`panel.pdf`](./panel.pdf).
- `-KEB1`: BeagleBone as main control system with addonboard for PSU & analog 0-10V readout
- `-KED1`: MikroTik RB450G router as gateway to the outside and network switch
- `-KED2`: MODBUS-TCP to MODBUS-RTU bridge
- `-KEC1`: MODBUS-RTU 8x relay output and 8x digital input board
- `-KEC2`: MODBUS-RTU 8x PT100 500°C transmitter
- `-BTA1`: MODBUS-RTU environmental temperature & humidity sensor
- `-QAA1`: Contactor for the roughing pump interlock
- `-QAA2`: Contactor for the diffusion pump interlock
### 3D-Printed Components
- [DIN-rail mount for the BeagleBone](https://www.printables.com/model/1058768-beaglebone-din-mount)
- [DIN-rail mount for the MikroTik RB450G]
- (legacy: [DIN-rail mount for relay board](https://www.printables.com/model/1019947-relay-board-din-rail-mount))
- [Cable Strain Relief Plates](https://www.printables.com/model/932070-parametric-cable-strain-relief-plate)

BIN
succbone/panel.pdf (Stored with Git LFS)

Binary file not shown.

BIN
succbone/panel.qet (Stored with Git LFS)

Binary file not shown.

BIN
succbone/succbone-control-panel.jpg (Stored with Git LFS)

Binary file not shown.

BIN
succbone/succbone-din-mount.FCStd (Stored with Git LFS)

Binary file not shown.

BIN
succbone/succbone-din-mount.stl (Stored with Git LFS)

Binary file not shown.

View file

@ -37,7 +37,6 @@ Running locally
---
```
$ ./ci.sh # run tests
$ go run . -fake
```

View file

@ -4,8 +4,5 @@ go 1.22.3
require (
github.com/coder/websocket v1.8.12
github.com/simonvetter/modbus v1.6.3
k8s.io/klog v1.0.0
)
require github.com/goburrow/serial v0.1.0 // indirect

View file

@ -1,9 +1,5 @@
github.com/coder/websocket v1.8.12 h1:5bUXkEPPIbewrnkU8LTCLVaxi4N4J8ahufH2vlo4NAo=
github.com/coder/websocket v1.8.12/go.mod h1:LNVeNrXQZfe5qhS9ALED3uA+l5pPqvwXg3CKoDBB2gs=
github.com/go-logr/logr v0.1.0/go.mod h1:ixOQHD9gLJUVQQ2ZOR7zLEifBX6tGkNJF4QyIY7sIas=
github.com/goburrow/serial v0.1.0 h1:v2T1SQa/dlUqQiYIT8+Cu7YolfqAi3K96UmhwYyuSrA=
github.com/goburrow/serial v0.1.0/go.mod h1:sAiqG0nRVswsm1C97xsttiYCzSLBmUZ/VSlVLZJ8haA=
github.com/simonvetter/modbus v1.6.3 h1:kDzwVfIPczsM4Iz09il/Dij/bqlT4XiJVa0GYaOVA9w=
github.com/simonvetter/modbus v1.6.3/go.mod h1:hh90ZaTaPLcK2REj6/fpTbiV0J6S7GWmd8q+GVRObPw=
k8s.io/klog v1.0.0 h1:Pt+yjF5aB1xDSVbau4VsWe+dQNzA0qv1LlXdC2dF6Q8=
k8s.io/klog v1.0.0/go.mod h1:4Bi6QPql/J/LkTDqv7R/cd3hPo4k2DG6Ptcz060Ez5I=

View file

@ -62,17 +62,6 @@ type apiData struct {
// DPOn means the diffusion pump is turned on.
DPOn bool
}
// Temperature state.
Temperatures struct {
DPBottom float32
DPTop float32
DPInlet float32
SEM float32
}
// Humidity state.
Humidity struct {
SEM float32
}
// Pressure feedback into evacuation board.
Feedback struct {
// RoughReached is true when the system has reached a rough vacuum
@ -126,11 +115,6 @@ func (s *webServer) apiData(skipSystem bool) *apiData {
ad.Pirani.MbarFloat = mbar
ad.Pumps.RPOn = state.rpOn
ad.Pumps.DPOn = state.dpOn
ad.Temperatures.DPBottom = state.tempDPBottom
ad.Temperatures.DPTop = state.tempDPTop
ad.Temperatures.DPInlet = state.tempDPInlet
ad.Temperatures.SEM = state.tempSEM
ad.Humidity.SEM = state.humiditySEM
ad.Feedback.RoughReached = rough
ad.Feedback.HighReached = high
ad.LoopLoad = s.d.loopLoad()
@ -179,80 +163,16 @@ func (s *webServer) viewStream(w http.ResponseWriter, r *http.Request) {
}
}
func boolToFloat(b bool) float32 {
if b {
return 1.0
} else {
return 0.0
}
}
// httpMetrics serves minimalistic Prometheus-compatible metrics.
func (s *webServer) viewMetrics(w http.ResponseWriter, r *http.Request) {
// TODO(q3k): also serve Go stuff using the actual Prometheus metrics client
// library.
// TODO(q3k): serve the rest of the data model
state := s.d.snapshot()
// sem_pressure_mbar is meant to represent the fused pressure value
// from all data sources once we have more vacuum sensors in the
// system. sem_pirani_mbar is just the reading from the pirani gauge.
mbar := state.piraniMbar100.mbar
fmt.Fprintf(w, "# HELP sem_pressure_mbar Pressure in the SEM chamber, in millibar\n")
fmt.Fprintf(w, "# TYPE sem_pressure_mbar gauge\n")
fmt.Fprintf(w, "sem_pressure_mbar %f\n", state.piraniMbar100.mbar)
fmt.Fprintf(w, "# HELP sem_pirani_mbar Pressure reading by the Pirani gauge, in millibar\n")
fmt.Fprintf(w, "# TYPE sem_pirani_mbar gauge\n")
fmt.Fprintf(w, "sem_pirani_mbar %f\n", state.piraniMbar100.mbar)
fmt.Fprintf(w, "# HELP sem_pirani_volts Voltage output from the Pirani gauge, in volts\n")
fmt.Fprintf(w, "# TYPE sem_pirani_volts gauge\n")
fmt.Fprintf(w, "sem_pirani_volts %f\n", state.piraniVolts100.avg)
fmt.Fprintf(w, "# HELP sem_pirani_failsafe_active Whether pirani gauge failsafe mode is active (boolean)\n")
fmt.Fprintf(w, "# TYPE sem_pirani_failsafe_active gauge\n")
fmt.Fprintf(w, "sem_pirani_failsafe_active %f\n", boolToFloat(state.safety.failsafe))
fmt.Fprintf(w, "# HELP sem_dp_lockout_active Whether diffusion pump lockout is active (boolean)\n")
fmt.Fprintf(w, "# TYPE sem_dp_lockout_active gauge\n")
fmt.Fprintf(w, "sem_dp_lockout_active %f\n", boolToFloat(state.safety.highPressure))
fmt.Fprintf(w, "# HELP sem_pump_diffusion_running Whether the diffusion pump is running (boolean)\n")
fmt.Fprintf(w, "# TYPE sem_pump_diffusion_running gauge\n")
fmt.Fprintf(w, "sem_pump_diffusion_running %f\n", boolToFloat(state.dpOn))
fmt.Fprintf(w, "# HELP sem_pump_roughing_running Whether the roughing pump is running (boolean)\n")
fmt.Fprintf(w, "# TYPE sem_pump_roughing_running gauge\n")
fmt.Fprintf(w, "sem_pump_roughing_running %f\n", boolToFloat(state.rpOn))
rough, high := state.vacuumStatus()
fmt.Fprintf(w, "# HELP sem_vacuum_rough_reached Whether a rough vacuum has been reached (boolean)\n")
fmt.Fprintf(w, "# TYPE sem_vacuum_rough_reached gauge\n")
fmt.Fprintf(w, "sem_vacuum_rough_reached %f\n", boolToFloat(rough))
fmt.Fprintf(w, "# HELP sem_vacuum_high_reached Whether a high vacuum has been reached (boolean)\n")
fmt.Fprintf(w, "# TYPE sem_vacuum_high_reached gauge\n")
fmt.Fprintf(w, "sem_vacuum_high_reached %f\n", boolToFloat(high))
fmt.Fprintf(w, "# HELP sem_environment_temperature_celsius Environmental temperature of the SEM, in degrees celsius\n")
fmt.Fprintf(w, "# TYPE sem_environment_temperature_celsius gauge\n")
fmt.Fprintf(w, "sem_environment_temperature_celsius %f\n", state.tempSEM)
fmt.Fprintf(w, "# HELP sem_environment_humidity_percent Environmental relative humidity of the SEM, in percent\n")
fmt.Fprintf(w, "# TYPE sem_environment_humidity_percent gauge\n")
fmt.Fprintf(w, "sem_environment_humidity_percent %f\n", state.humiditySEM)
fmt.Fprintf(w, "# HELP sem_dp_bottom_temperature_celsius Temperature of the DP bottom, in degrees celsius\n")
fmt.Fprintf(w, "# TYPE sem_dp_bottom_temperature_celsius gauge\n")
fmt.Fprintf(w, "sem_dp_bottom_temperature_celsius %f\n", state.tempDPBottom)
fmt.Fprintf(w, "# HELP sem_dp_top_temperature_celsius Temperature of the DP top, in degrees celsius\n")
fmt.Fprintf(w, "# TYPE sem_dp_top_temperature_celsius gauge\n")
fmt.Fprintf(w, "sem_dp_top_temperature_celsius %f\n", state.tempDPTop)
fmt.Fprintf(w, "# HELP sem_dp_inlet_temperature_celsius Temperature of the DP inlet flange, in degrees celsius\n")
fmt.Fprintf(w, "# TYPE sem_dp_inlet_temperature_celsius gauge\n")
fmt.Fprintf(w, "sem_dp_inlet_temperature_celsius %f\n", state.tempDPInlet)
fmt.Fprintf(w, "sem_pressure_mbar %f\n", mbar)
}
func (s *webServer) viewRoughingPumpEnable(w http.ResponseWriter, r *http.Request) {

View file

@ -5,23 +5,24 @@
<link rel="shortcut icon" type="image/png" href="/favicon.png">
<style>
body {
font-size: 12px;
font-size: 14px;
padding: 2em;
}
table {
font-size: 30px;
font-size: 40px;
margin-top: 1em;
}
table.status td {
width: 2em;
}
th, td {
background-color: #e8e8e8;
padding: 0.3em;
padding: 0.4em;
}
th {
font-weight: 100;
text-align: right;
font-size: 25px;
font-size: 30px;
}
td {
text-align: left;
@ -34,7 +35,7 @@ h2 {
font-weight: 100;
}
button {
height: 3.3em;
height: 4.5em;
padding-left: 1.5em;
padding-right: 1.5em;
}
@ -51,44 +52,6 @@ td > span {
.logo > img {
height: 10em;
}
.graph-container {
background-color: #e8e8e8;
text-align: center;
}
.main-grid {
margin-top: 2em;
margin-left: auto;
margin-right: auto;
max-width: 160em;
clear: both;
display: grid;
grid-template-columns: repeat(auto-fit, minmax(54em, 1fr));
column-gap: 2em;
row-gap: 2em;
}
.has-hidden .hidden-text {
display: none;
}
.has-hidden:hover .hidden-text {
display: block;
}
@media only screen and (max-width: 700px) {
body {
font-size: 6px;
}
table {
font-size: 20px;
}
th {
font-size: 15px;
}
}
</style>
<div class="logo"><img src="/favicon.png" /></div>
@ -96,7 +59,19 @@ td > span {
<h1>succd</h1>
<h2>nothing more permanent than a temporary solution</h2>
<div class="main-grid">
<p style="margin-top: 2em; clear: both;">
<table>
<tr>
<th rowspan="2">Pirani Gauge</th>
<th>Voltage</th>
<td id="volts">{{ .Pirani.Volts }}</td>
</tr>
<tr>
<th>Pressure</th>
<td id="mbar">{{ .Pirani.Mbar }}</td>
</tr>
</table>
<table class="status">
<tr>
<th>Thresholds</th>
@ -147,49 +122,13 @@ td > span {
<th>Status</th>
<td id="status" colspan="1">OK</td>
<th>Load</th>
<td id="load" colspan="1" style="width: 4em;">...</td>
<td id="load" colspan="1">...</td>
</tr>
</table>
<table>
<tr>
<th>Pirani Pressure</th>
<td colspan="2" class="has-hidden">
<div id="mbar">{{ .Pirani.Mbar }}</div>
<div class="hidden-text" style="color: #606060;">
<span>Voltage: </span><span id="volts">{{ .Pirani.Volts }}</span>
</div>
</td>
</tr>
<tr>
<th rowspan="4">Temperatures</th>
<th>DP Bottom</th>
<td id="temp-dp-bottom">{{ .Temperatures.DPBottom }}&nbsp;°C</td>
</tr>
<tr>
<th>DP Top</th>
<td id="temp-dp-top">{{ .Temperatures.DPTop }}&nbsp;°C</td>
</tr>
<tr>
<th>DP Inlet</th>
<td id="temp-dp-inlet">{{ .Temperatures.DPInlet }}&nbsp;°C</td>
</tr>
<tr>
<th>SEM Environment</th>
<td id="temp-sem">{{ .Temperatures.SEM }}&nbsp;°C</td>
</tr>
<tr>
<th>Humidity</th>
<th>SEM Environment</th>
<td id="humidity-sem">{{ .Humidity.SEM }}%</td>
</tr>
</table>
<div class="graph-container">
<canvas id="graph" width="1024" height="512" style="max-width: 100%;"></canvas>
</div>
</div>
</p>
<p style="margin-top: 2em;">
<canvas id="graph" width="1024" height="512" style="max-width: 100%;"></canvas>
</p>
<p style="font-style: italic; font-size: 12px; margin-top: 5em;">
{{ .System.Hostname }} | load: {{ .System.Load }} | <a href="/debug/pprof">pprof</a> | <a href="/metrics">metrics</a> | ws ping: <span id="ping"></span>
@ -220,7 +159,7 @@ let historicalDraw = (w, h) => {
// coordinate calculation.
canvas.clearRect(0, 0, w, h);
canvas.fillStyle = "#e8e8e8";
canvas.fillStyle = "#f0f0f0";
canvas.fillRect(0, 0, w, h);
// Margins of the main graph window.
@ -339,11 +278,6 @@ window.addEventListener("load", (_) => {
let trough = document.querySelector("#trough");
let thigh = document.querySelector("#thigh");
let load = document.querySelector("#load");
let tempSEM = document.querySelector("#temp-sem");
let tempDPBottom = document.querySelector("#temp-dp-bottom");
let tempDPTop = document.querySelector("#temp-dp-top");
let tempDPInlet = document.querySelector("#temp-dp-inlet");
let humiditySEM = document.querySelector('#humidity-sem');
// Buttons
let pd = document.querySelector("#pd");
@ -352,14 +286,6 @@ window.addEventListener("load", (_) => {
let rpoff = document.querySelector("#rpoff");
canvas = document.querySelector("#graph").getContext("2d");
let colors = {
default: "background-color: #e8e8e8",
highlightNeutral: "background-color: #8282ff",
highlightCaution: "background-color: #ff941a",
highlightFault: "background-color: #f06060",
highlightGood: "background-color: #60f060",
};
// TODO(q3k): unhardcode this.
historicalDraw(1024, 512);
@ -381,7 +307,7 @@ window.addEventListener("load", (_) => {
connected = true;
console.log("Socket connected!");
status.innerHTML = "Online";
status.style = colors.default;
status.style = "background-color: #60f060;";
});
socket.addEventListener("message", (event) => {
const data = JSON.parse(event.data);
@ -389,71 +315,47 @@ window.addEventListener("load", (_) => {
mbar.innerHTML = data.Pirani.Mbar;
if (data.Safety.Failsafe) {
failsafe.innerHTML = "ON";
failsafe.style = colors.highlightFault;
failsafe.style = "background-color: #f06060";
} else {
failsafe.innerHTML = "OFF";
failsafe.style = colors.default;
failsafe.style = "background-color: #60f060";
}
if (data.Safety.HighPressure) {
highpressure.innerHTML = "ON";
highpressure.style = colors.default;
highpressure.style = "background-color: #f06060";
} else {
highpressure.innerHTML = "OFF";
highpressure.style = colors.default;
highpressure.style = "background-color: #60f060";
}
if (data.Pumps.RPOn) {
rp.innerHTML = "ON";
rp.style = colors.default;
rp.style = "background-color: #60f060";
} else {
rp.innerHTML = "OFF";
rp.style = colors.highlightNeutral;
rp.style = "background-color: #f06060";
}
if (data.Pumps.DPOn) {
dp.innerHTML = "ON";
dp.style = colors.highlightCaution;
dp.style = "background-color: #60f060";
} else {
dp.innerHTML = "OFF";
dp.style = colors.default;
}
tempSEM.innerHTML = data.Temperatures.SEM + "&nbsp;°C";
tempSEM.style = (data.Temperatures.SEM > 30) ?
colors.highlightCaution : colors.default;
humiditySEM.innerHTML = data.Humidity.SEM + "%";
humiditySEM.style = (data.Humidity.SEM > 59) ?
colors.highlightCaution : colors.default;
tempDPTop.innerHTML = data.Temperatures.DPTop + "&nbsp;°C";
tempDPTop.style = (data.Temperatures.DPTop > 30) ?
colors.highlightCaution : colors.default;
tempDPInlet.innerHTML = data.Temperatures.DPInlet + "&nbsp;°C";
tempDPInlet.style = (data.Temperatures.DPInlet > 30) ?
colors.highlightCaution : colors.default;
tempDPBottom.innerHTML = data.Temperatures.DPBottom + "&nbsp;°C";
if (data.Temperatures.DPBottom > 200) {
tempDPBottom.style = colors.highlightFault;
} else if (data.Temperatures.DPBottom > 50) {
tempDPBottom.style = colors.highlightNeutral;
} else {
tempDPBottom.style = colors.default;
dp.style = "background-color: #f06060";
}
let t = [];
if (data.Feedback.RoughReached) {
trough.innerHTML = "OK";
trough.style = colors.highlightGood;
trough.style = "background-color: #60f060";
} else {
trough.innerHTML = "NOK";
trough.style = colors.default;
trough.style = "background-color: #f06060";
}
if (data.Feedback.HighReached) {
thigh.innerHTML = "OK";
thigh.style = colors.highlightGood;
thigh.style = "background-color: #60f060";
} else {
thigh.innerHTML = "NOK";
thigh.style = colors.default;
thigh.style = "background-color: #f06060";
}
load.innerHTML = data.LoopLoad.toString() + "%";
historicalPush(data.Pirani.MbarFloat);
@ -461,16 +363,7 @@ window.addEventListener("load", (_) => {
});
socket.addEventListener("close", (event) => {
status.innerHTML = "Offline";
status.style = colors.highlightFault;
// Indicate all process values as unknown
[failsafe, highpressure, rp, dp, trough, thigh, volts, mbar, tempDPBottom, tempDPTop, tempDPInlet].forEach((el) => {
if (!el.innerHTML.includes("??")) {
el.innerHTML += "??";
}
});
status.style = "background-color: #f06060;";
if (connected) {
console.log("Socket dead, reconnecting...");
}

View file

@ -6,28 +6,22 @@ import (
"net/http"
"os"
"os/signal"
"time"
"github.com/simonvetter/modbus"
"k8s.io/klog"
)
var (
flagFake bool
flagListenHTTP string
flagPressureThresholdRough = ScientificNotationValue(1e-1)
flagPressureThresholdRoughHysteresis = ScientificNotationValue(3e-2)
flagPressureThresholdHigh = ScientificNotationValue(1e-4)
flagPressureThresholdHighHysteresis = ScientificNotationValue(2e-5)
flagFake bool
flagListenHTTP string
flagPressureThresholdRough = ScientificNotationValue(1e-1)
flagPressureThresholdHigh = ScientificNotationValue(1e-4)
)
func main() {
flag.BoolVar(&flagFake, "fake", false, "Enable fake mode which allows to run succd for tests outside the succbone")
flag.StringVar(&flagListenHTTP, "listen_http", ":8080", "Address at which to listen for HTTP requests")
flag.TextVar(&flagPressureThresholdRough, "pressure_threshold_rough", &flagPressureThresholdRough, "Threshold for opening up diffusion pump (mbar)")
flag.TextVar(&flagPressureThresholdRoughHysteresis, "pressure_threshold_rough_hysteresis", &flagPressureThresholdRoughHysteresis, "+-Hysteresis for rough threshold (mbar)")
flag.TextVar(&flagPressureThresholdHigh, "pressure_threshold_high", &flagPressureThresholdHigh, "Threshold for enabling high voltage circuits (mbar)")
flag.TextVar(&flagPressureThresholdHighHysteresis, "pressure_threshold_high_hysteresis", &flagPressureThresholdHighHysteresis, "+-Hysteresis for high threshold (mbar)")
flag.Parse()
ctx, _ := signal.NotifyContext(context.Background(), os.Interrupt)
@ -37,19 +31,17 @@ func main() {
d.daemonState.piraniVolts3.limit = 3
d.daemonState.piraniVolts100.limit = 100
d.tempDPBottom = 420.6
d.tempDPTop = 69.0
d.tempDPInlet = 42.0
d.tempSEM = 42.5
d.humiditySEM = 66.6
d.aboveRough.threshold = float64(flagPressureThresholdRough)
d.aboveRough.hysteresis = float64(flagPressureThresholdRoughHysteresis)
d.aboveHigh.threshold = float64(flagPressureThresholdHigh)
d.aboveHigh.hysteresis = float64(flagPressureThresholdHighHysteresis)
if flagFake {
klog.Infof("Starting with fake peripherals")
d.adcPirani = &fakeADC{}
d.gpioRoughingPump = &fakeGPIO{desc: "rp"}
d.gpioDiffusionPump = &fakeGPIO{desc: "~dp"}
d.gpioBtnPumpDown = &fakeGPIO{desc: "~pd"}
d.gpioBtnVent = &fakeGPIO{desc: "~vent"}
d.gpioBelowRough = &fakeGPIO{desc: "~rough"}
d.gpioBelowHigh = &fakeGPIO{desc: "~high"}
} else {
adc, err := newBBADC(0)
if err != nil {
@ -57,19 +49,21 @@ func main() {
}
d.adcPirani = adc
// Setup modbus client
d.modbusClient, err = modbus.NewClient(&modbus.ClientConfiguration{
URL: "tcp://10.250.241.20:8887",
Timeout: 1 * time.Second,
})
if err != nil {
klog.Exitf("Failed to setup modbus client %v", err)
}
// Connect to modbus client
err = d.modbusClient.Open()
if err != nil {
klog.Warningf("Failed to connect to modbus TCP %v", err)
for _, c := range []struct {
out *gpio
num int
}{
{&d.gpioRoughingPump, 115},
{&d.gpioDiffusionPump, 49},
{&d.gpioBtnPumpDown, 48},
{&d.gpioBtnVent, 60},
{&d.gpioBelowRough, 30},
{&d.gpioBelowHigh, 7},
} {
*c.out, err = newBBGPIO(c.num, true)
if err != nil {
klog.Exitf("Failed to setup GPIO: %v", err)
}
}
}
@ -86,9 +80,5 @@ func main() {
}()
go d.process(ctx)
if !flagFake {
go d.modbusProcess(ctx)
}
<-ctx.Done()
}

View file

@ -1,163 +0,0 @@
package main
import (
"context"
"time"
"github.com/simonvetter/modbus"
"k8s.io/klog"
)
func modbusValuesToFloat(v uint16) float32 {
return float32(v) / 10.0
}
func (d *daemon) modbusRestart() error {
d.modbusClient.Close()
return d.modbusClient.Open()
}
// There are currently two devices connected to the modbus.
// The first one (slave 1) is a temperature/humidity sensor.
// The second one (slave 2) is a PTA8D08 transmitter
//
// Returns whether modbus should restart (only in case of an underlying network error)
func (d *daemon) modbusUpdate() bool {
var err error
var numDevicesNotResponding int
// Switch to slave 1 (BTA1)
d.modbusClient.SetUnitId(1)
// Read temperature and humidity
var registersBTA1 []uint16 // temperature, humidity
registersBTA1, err = d.modbusClient.ReadRegisters(1, 2, modbus.INPUT_REGISTER)
if err != nil {
numDevicesNotResponding += 1
klog.Warningf("error while reading registers from BTA1 %v", err)
} else if len(registersBTA1) != 2 {
klog.Warningf("expected two registers from modbus slave 1, but got %d", len(registersBTA1))
} else {
d.mu.Lock()
d.daemonState.tempSEM = modbusValuesToFloat(registersBTA1[0])
d.daemonState.humiditySEM = modbusValuesToFloat(registersBTA1[1])
d.mu.Unlock()
}
// Switch to slave 2 (KEC2)
d.modbusClient.SetUnitId(2)
// PT100 mapping
// Channel 0: Cable -WGA6, Sensor "dp bottom"
// Channel 1: Cable -WGA8, Sensor "dp inlet"
// Channel 2: Cable WGA7, Sensor "dp top"
var registersKEC2 []uint16 // temperatures dp
registersKEC2, err = d.modbusClient.ReadRegisters(0, 3, modbus.HOLDING_REGISTER)
if err != nil {
numDevicesNotResponding += 1
klog.Warningf("error while reading registers from KEC2 %v", err)
} else if len(registersKEC2) != 3 {
klog.Warningf("expected three registers from modbus slave 2, but got %d", len(registersKEC2))
} else {
d.mu.Lock()
d.daemonState.tempDPBottom = modbusValuesToFloat(registersKEC2[0])
d.daemonState.tempDPInlet = modbusValuesToFloat(registersKEC2[1])
d.daemonState.tempDPTop = modbusValuesToFloat(registersKEC2[2])
d.mu.Unlock()
}
// Switch to slave 3 (KEC1)
d.modbusClient.SetUnitId(3)
// Do a read first to avoid side-effects from the subsequent write to the relay states
var digitalInputs [8]bool
var digitalInputRegisters []uint16
digitalInputRegisters, err = d.modbusClient.ReadRegisters(0x81, 8, modbus.HOLDING_REGISTER)
if err != nil {
numDevicesNotResponding += 1
klog.Warningf("error while reading digital inputs from KEC1 %v", err)
} else {
// Convert MODBUS words into bools
for idx, value := range digitalInputRegisters {
if value != 0 {
digitalInputs[idx] = true
} else {
digitalInputs[idx] = false
}
}
// TODO: Input mapping goes here
}
// We must wait between reading and writing to the -KEC1 relay board
// because otherwise it chokes and times out the write registers
// command.
time.Sleep(time.Millisecond * 10)
// KFA1-KFA8
var relayState [8]bool
d.mu.Lock()
// -KFA1 Roughing Pump (normally closed contact)
relayState[0] = !d.daemonState.rpOn
// -KFA2 Diffusion Pump
relayState[1] = d.daemonState.dpOn
// -KFA4 Button Vent
relayState[3] = d.daemonState.vent.output
// -KFA5 Button Pump-Down
relayState[4] = d.daemonState.pumpdown.output
// -KFA6 Fake-Pirani Rough (normally closed contact)
relayState[5] = !d.aboveRough.output
// -KFA7 Fake-Pirani High (normally closed contact)
relayState[6] = !d.aboveHigh.output
d.mu.Unlock()
// The KEC1 module uses a non-standard MODBUS interface
// instead of coils
// 0x0100 is the open command
// 0x0200 is the close command
// We write 8 words (16-bit) to address 0x01 to update the relays
var registerValuesKEC1 [8]uint16
// Convert the boolean values to the commands
for idx, state := range relayState {
if state {
registerValuesKEC1[idx] = 0x0100
} else {
registerValuesKEC1[idx] = 0x0200
}
}
err = d.modbusClient.WriteRegisters(0x01, registerValuesKEC1[:])
if err != nil {
numDevicesNotResponding += 1
klog.Warningf("error while updating registers %v", err)
}
if numDevicesNotResponding >= 4 {
klog.Warningf("no device did respond to our request. Probably a network timeout.")
return true
}
return false
}
// Call modbusUpdate every 100 milliseconds
func (d *daemon) modbusProcess(ctx context.Context) {
for {
select {
case <-ctx.Done():
return
default:
shouldRestart := d.modbusUpdate()
// the modbus library does not reopen the tcp socket in case of
// a connection loss.
if shouldRestart {
klog.Infof("restarting modbus connection...")
err := d.modbusRestart()
if err != nil {
klog.Warningf("failed to restart modbus %v", err)
}
}
time.Sleep(time.Millisecond * 100)
}
}
}

View file

@ -8,17 +8,22 @@ import (
"sync/atomic"
"time"
"github.com/simonvetter/modbus"
"k8s.io/klog"
)
// daemon is the main service of the succdaemon.
type daemon struct {
modbusClient *modbus.ModbusClient
// adcPirani is the adc implementation returning the voltage of the Pfeiffer
// Pirani gauge.
adcPirani adc
gpioDiffusionPump gpio
gpioRoughingPump gpio
gpioBtnPumpDown gpio
gpioBtnVent gpio
gpioBelowRough gpio
gpioBelowHigh gpio
load atomic.Int64
// mu guards the state below.
@ -50,13 +55,6 @@ type daemonState struct {
pumpdown momentaryOutput
aboveRough thresholdOutput
aboveHigh thresholdOutput
tempDPBottom float32
tempDPTop float32
tempDPInlet float32
tempSEM float32
humiditySEM float32
}
func (d *daemonState) vacuumStatus() (rough, high bool) {
@ -164,5 +162,33 @@ func (d *daemon) processOnce(_ context.Context) error {
d.dpOn = false
}
// Update relay outputs.
for _, rel := range []struct {
name string
gpio gpio
// activeHigh means the relay is active high, ie. a true source will
// mean that NO/COM get connected, and a false source means that NC/COM
// get connected.
activeHigh bool
source bool
}{
{"rp", d.gpioRoughingPump, false, d.rpOn},
{"dp", d.gpioDiffusionPump, true, d.dpOn},
{"pumpdown", d.gpioBtnPumpDown, true, d.pumpdown.output},
{"vent", d.gpioBtnVent, true, d.vent.output},
{"rough", d.gpioBelowRough, false, d.aboveRough.output},
{"high", d.gpioBelowHigh, false, d.aboveHigh.output},
} {
val := rel.source
if rel.activeHigh {
// Invert because the relays go through logical inversion (ie. a
// GPIO false is a relay trigger).
val = !val
}
if err := rel.gpio.set(val); err != nil {
return fmt.Errorf("when outputting %s: %w", rel.name, err)
}
}
return nil
}

View file

@ -30,20 +30,13 @@ type thresholdOutput struct {
debounce time.Time
// threshold is the setpoint of the block.
threshold float64
// hysteresis around the process setpoint (min/max is threshold +- hysteresis)
hysteresis float64
}
func (t *thresholdOutput) process(value float64) {
if time.Now().Before(t.debounce) {
return
}
new := t.output
if t.output {
new = value > (t.threshold - t.hysteresis)
} else {
new = value > (t.threshold + t.hysteresis)
}
new := value > t.threshold
if new != t.output {
t.output = new
t.debounce = time.Now().Add(time.Second * 5)

View file

@ -26,37 +26,20 @@ func TestMomentaryOutput(t *testing.T) {
func TestThresholdOutput(t *testing.T) {
to := thresholdOutput{
threshold: 1,
hysteresis: 0.2,
threshold: 1,
}
to.process(0.7)
to.process(0)
if to.output {
t.Fatalf("output shouldn't have triggered")
}
to.process(1)
if to.output {
t.Fatalf("output shouldn't have triggered")
}
to.process(1.3)
to.process(2)
if !to.output {
t.Fatalf("output should have triggered")
}
to.process(1)
if !to.output {
t.Fatalf("output should have triggered")
}
to.process(0.7)
to.process(0)
if !to.output {
t.Fatalf("output should have triggered (in debounce)")
}
// let debounce timeout pass
time.Sleep(time.Second * 6)
to.process(0.7)
if to.output {
t.Fatalf("output shouldn't have triggered")
}
}
func TestRingbufferInput(t *testing.T) {