Compare commits

...

112 Commits

Author SHA1 Message Date
4eb4a1993d add physical case for USB hub 2022-12-21 02:15:07 +01:00
13c5469ba2 lib: update repo 2022-12-21 02:14:07 +01:00
2b563d3e59 doc: add serial info 2022-12-21 02:13:51 +01:00
c91917f370 doc: add EEPROM programming 2022-12-21 02:13:07 +01:00
7f3c5024ad doc: minor, fix README 2022-12-21 02:12:57 +01:00
c5b8e17fe7 doc: add v2 changelog 2022-12-21 02:12:24 +01:00
49b61c90fd doc: fix typo and improve over-current details 2022-10-15 16:03:32 +02:00
1e3a18c7b2 sch/brd: fix 6-40V feedback 2022-10-15 15:37:47 +02:00
08382b5221 rake: fix pdfcat 2022-09-12 14:00:11 +02:00
bfec7d2523 brd: minor, remove stub 2022-09-12 13:49:36 +02:00
b12dc32618 brd: minor, add missing DFP silk screen 2022-09-12 13:39:12 +02:00
b7281faf20 doc: listed tested current limiters 2022-09-12 12:13:23 +02:00
f45d075096 brd: update current limit netname 2022-09-12 12:03:43 +02:00
23dd01b03b sch: replace TJ2242 current limit with DIO7553 2022-09-12 12:03:19 +02:00
a9610657e4 lib: add DIO7553 current limit 2022-09-12 12:01:53 +02:00
c241c9cfb4 brd: route TJ2242 for other DFP 2022-07-24 19:04:03 +02:00
61112471f2 sch: set TJ2242 BoM 2022-07-24 18:19:19 +02:00
dc836b816f sch: propagate TJ2242 change to DFP 2022-07-24 18:17:11 +02:00
b3956df5d2 brd: route TJ2242 2022-07-24 18:15:24 +02:00
6861b06fe4 sch: replace current limit with TJ2242 2022-07-24 17:32:30 +02:00
55c48fbaf9 lib: add TJ2242 current limit 2022-07-24 17:31:49 +02:00
7cd047cf24 doc: document OCS timing 2022-07-24 16:50:40 +02:00
f41d5e6557 sch: reduce green LED brightness 2022-06-18 10:05:40 +02:00
0f2fca2479 sch: minor, add OCS info 2022-06-17 17:33:50 +02:00
6731d4e397 brd: route DFP VBUS for TVS 2022-06-17 17:08:36 +02:00
efa7388363 sch: use DFP VBUS for TVS 2022-06-17 17:08:21 +02:00
a822a1ae14 brd: implement sch changes (crystal, 6-40V output, current limit) 2022-06-17 16:37:56 +02:00
2b838e7a54 sch: minor, fix connection 2022-06-17 16:36:30 +02:00
6e35891b90 sch: minor, fix footprint 2022-06-17 16:35:46 +02:00
5755d3a790 sch: replicate changes to other DFP 2022-06-16 19:22:42 +02:00
0355594851 sch: use current limit with error flag 2022-06-16 19:21:23 +02:00
f9abdbdb4d sch: prevent 6-40V feedback 2022-06-16 19:16:21 +02:00
b165245ded sch: only allow 6-40V output when present 2022-06-16 19:06:13 +02:00
338657f927 lib: add SY6288 current limit 2022-06-16 19:00:49 +02:00
64cb5285b1 lib: minor description improvement 2022-06-16 19:00:19 +02:00
beb1722f2f sch: fix 3.3V dip and hub reset 2022-06-16 18:50:52 +02:00
48cad88a56 sch: fix crystal 2022-06-16 18:38:12 +02:00
4f25a52ca6 brd: add port text information 2022-06-16 18:32:43 +02:00
23c5dc43a1 doc: add flashing instructions 2022-06-16 18:14:01 +02:00
9f8f01dd5d switch to version 2 to add fixes 2022-06-16 18:04:17 +02:00
23b70f5697 doc: improve doc, fix current limit 2022-06-16 18:03:29 +02:00
37636fa6cd doc: document usage 2022-06-16 17:51:05 +02:00
d81381e0c0 doc: move developmnet information in separate file 2022-06-16 17:24:52 +02:00
c5e6291beb doc: list v1 changes 2022-06-16 17:01:00 +02:00
51c6af4add rake: all multi-sheet export 2022-06-16 16:44:14 +02:00
bde94d7b85 lib: update repo 2022-05-28 12:36:25 +02:00
2988c900c8 brd: minor cleanup 2022-05-21 13:39:24 +02:00
94d78ddd39 brd: improve silk 2022-05-21 11:40:00 +02:00
2223168ef2 brd: improve text 2022-05-20 19:59:00 +02:00
2b26e45092 brd: finish routing 2022-05-20 18:53:10 +02:00
11d7172ab9 sch: connect more shield of USB-A 2022-05-20 18:52:50 +02:00
a668a7953b sch: fix hub part 2022-05-20 14:05:13 +02:00
9dc2d6bbe9 fix dfp generation 2022-05-20 14:04:33 +02:00
d67ac812a0 brd: restart 1-sided layout 2022-05-20 13:34:29 +02:00
223f4ffdf8 sch: fix netname, improve routing 2022-05-20 13:33:37 +02:00
1a37524a59 sch: minor, fix downstream ports 2022-05-20 13:32:50 +02:00
a8b1bac321 lib: add 1x6 header 2022-05-20 13:31:58 +02:00
5080e79de8 lib: make inductor footprint smaller 2022-05-20 13:31:28 +02:00
891291cc64 changelog: document v0 errors 2022-05-20 13:29:28 +02:00
e01867bf73 add empty changelog 2022-05-20 10:26:36 +02:00
f3cc67efa1 lib: fix USB-A connector 2022-05-16 16:03:43 +02:00
7a951854e2 brd: use all schematic sheets 2022-05-16 16:02:56 +02:00
e5c06db27a sch: make schematic flat instead of hierarchical 2022-05-16 16:02:17 +02:00
9adee74626 sch: fix capacitor refdes collision 2022-05-16 16:01:43 +02:00
97f117f52a add script to clone dfp schematic 2022-05-12 18:35:21 +02:00
578567b95d sch: add all DFP 2022-05-12 18:34:45 +02:00
7b095612d8 lib: fix USB-A pinout 2022-05-11 19:34:01 +02:00
89bf8ee2da sch: use current limit and fix OCS 2022-05-11 19:33:05 +02:00
34454bc0ad lib: add MT9700 current-limit 2022-05-11 19:32:18 +02:00
f7c22b3bac sch: use subsheet for DFP 2022-05-11 12:40:49 +02:00
4428bf9740 lib: minor, update library 2022-05-11 12:40:15 +02:00
a4b46c4b3b update submodule source 2022-05-11 12:13:02 +02:00
71377ef17d sch: use multi-part USB symbol 2022-05-11 12:12:40 +02:00
6b8b118f57 lib: make USB symbol multipart 2022-05-11 12:11:33 +02:00
748d9caa8a sch: document nMOS on power output 2022-05-10 18:53:37 +02:00
f90cc17564 sch: unswap DFP data lines 2022-05-10 18:44:43 +02:00
38c017df0e sch: fix 6-40V buck enable 2022-05-10 18:40:20 +02:00
6ca314ab20 switch to next version 2022-05-10 16:21:50 +02:00
43b39e512e brd: change some thermals 2022-04-18 14:33:32 +02:00
d1c82f8293 sch: minor, re-arrange 2022-04-14 15:36:21 +02:00
51960b929f brd: add project name as silk screen 2022-04-05 18:47:25 +02:00
f7c3d5492d brd: place refdes 2022-04-05 18:15:03 +02:00
27d79fde82 brd: first routing completed 2022-04-05 15:23:52 +02:00
a793fce99f sch: simplify protection 2022-04-05 15:22:57 +02:00
1fa95afea2 sch: arrange ports 2022-04-03 18:37:20 +02:00
166e92724d sch: copy 6 downstream ports 2022-04-03 18:34:25 +02:00
8bc6a95643 sch: swap DM/DP 2022-04-03 18:27:00 +02:00
bc0fad1f42 brd: fix overlapping components 2022-04-03 18:20:58 +02:00
4557640f5f brd: copy 6 downstream ports 2022-04-03 18:14:44 +02:00
0d7b6b19ba sch: use VBUS for input-TVS 2022-04-03 12:24:45 +02:00
6581d18e41 sch: make routing easier for header 2022-04-02 18:31:51 +02:00
8783935df5 sch: minor, comment 1V8 rail 2022-04-02 18:20:01 +02:00
5966ed10d8 sch: connect tab of XL2596S 2022-04-02 18:17:35 +02:00
f026117a8b lib: add tab pin to XL2596S 2022-04-02 18:17:14 +02:00
26f31a612c sch: add Vgs protection resistor 2022-04-02 13:54:36 +02:00
db951d8493 sch: add net names 2022-04-02 13:52:53 +02:00
e3ebf72bcb Makefile: fix lepton CLI call 2022-02-02 15:38:51 +01:00
62f35353d4 lib: footprint don't have polarity dot anymore 2022-02-02 15:37:06 +01:00
09b899a9a6 qeda: remove polarity dot 2022-02-02 15:36:01 +01:00
abee832aa0 lib: add description to symbol 2022-01-30 16:20:24 +01:00
a0ba6ce381 lib: fix USB-B footprint 2022-01-30 16:19:26 +01:00
b776544878 pcb: add project enclosure 2022-01-28 18:47:58 +01:00
5ee619c0b5 README: add project description 2022-01-28 18:46:39 +01:00
6c51f29372 Rakefile: minor, show error on empty BOM 2022-01-28 18:45:05 +01:00
d21265f083 Rakefile: minor, improve readability 2022-01-28 18:44:48 +01:00
786947f2fb lib: add better crystal symbol, with 4 pins 2022-01-28 18:40:13 +01:00
327b1ca07e lib: add better power jack symbol 2022-01-28 18:19:44 +01:00
a976e4fde0 lib: add custom chassi ssymbol with net name 2022-01-28 18:15:15 +01:00
60ce73cdf9 lib: add generated parts 2022-01-28 18:09:58 +01:00
5fcf15b9c6 lib: define project parts 2022-01-28 17:57:55 +01:00
f2304bbd82 sch: first draft, with one port 2022-01-28 17:56:22 +01:00
adc85e6281 set project name 2022-01-04 14:31:54 +01:00
95 changed files with 109986 additions and 685 deletions

2
.gitmodules vendored
View File

@ -1,3 +1,3 @@
[submodule "library"]
path = library
url = http://git.cuvoodoo.info/qeda_library
url = https://git.cuvoodoo.info/kingkevin/qeda_library

View File

@ -4,6 +4,35 @@ config:
densityLevel: 'N'
lineWidth:
silkscreen: 0.2
polarityMark: none
preferManufacturer: false
smoothPadCorners: false
library:
- connector/barrel_dc-005-2.0
- ic/eeprom_ft24c16a-e@p
- mechanical/switch_hroppart_ss12f44g5
- vreg/buck_xl2596@to263-5l
- connector/usb-a-2.0-receptacle_c42678
- connector/usb-b-2.0-receptacle_c46392
- vreg/fuse_1206sfh
- resistor/r0603
- capacitor/c0603
- transistor/pmos_40p05
- transistor/nmos_bss138
- diode/schottky_rb521s
- diode/schottky_ss34
- inductor/slh@1207
- vreg/ldo_torex_xc6206@mr
- ic/usbhub_microchip_usb2517
- diode/tvs_st_usblc6-2@sc6
- diode/led0805
- capacitor/cap_radial_10mm
- capacitor/cap_radial_6.3mm
- capacitor/cap_radial_5mm
- connector/header-2.54@2x3
- oscillator/x3225
- vreg/current-limit_mt9700
- connector/header-2.54@1x6
- vreg/current-limit_sy6288
- vreg/current-limit_tj2242
- vreg/current-limit_dio755x

45
CHANGELOG.md Normal file
View File

@ -0,0 +1,45 @@
v2
==
this has major fixes for version 1:
- missing crystal resistor
- 3.3V dip using larger capacitor
- 6-40V feedback
- DFP over-current
v1
==
this is a complete re- board layout.
it does not fit an off-the selves enclosure anymore.
all SMD parts are on one side to allow easier SMT assembly.
fixes:
- 6-40V power input activated when UFP is connected
- use current limit on DFP (prevents USB to reset when DFP is shorted)
- 6-40V power input capacitor now lays down
- remove copper plane under crystal to prevent impedance error
errors:
- crystal still does not start
- none of the two possible OCS inputs (Dx04 XOR Dx05) work
- power dip causes reset when enabling all 7 DFP power outputs at once
v0
==
this version has been designed to fit in a 100x60x25mm enclosure.
this makes it very compact, and not all surface mount parts fit on one side.
this is not too much of an issue since it's a hand soldered prototype.
the prototype mostly works, with a couple of small errors:
- 6-40V power input is not activated unless the hub is already powered (through USB or 5V input)
- crystal oscillator doesn't always start. I think the underlying copper plane skewed the impedance/capacitance too much
- USB-A footprint has inverted pinout: just solder it on the other side and don't swap the data pins in the EEPROM configuration
- fuse on downstream port is not fast enough to prevent shorts and causes the hub to reset
- 6-40V power input capacitor is too tall and does not fit in the case
- one of the LEDS on port 3 is misplaced

96
DEVELOPMENT.md Normal file
View File

@ -0,0 +1,96 @@
this will describe how to generate the output files form the sources.
requirements
============
to be able to generate the outputs you need following software:
- rake: the central script taking care of generating the output files (Makefile is too cumbersome to parse files)
- [QEDA](http://qeda.org/): to generate footprints for the parts
- [Lepton EDA](https://github.com/lepton-eda/lepton-eda): for the schematic capture
- [pcb-rnd](http://repo.hu/projects/pcb-rnd/): for the board layout
the output generation is automatized.
compiling
=========
library
-------
almost all of the symbols and footprints used in the schematic and board layout are defined in the [QEDA](http://qeda.org/) format and generated for the CAD software.
the `library` folder contains the QEDA parts definitions.
to install QEDA using NPM from the official repository:
~~~
sudo npm install -g qeda
~~~
to install QEDA from the sources:
~~~
git clone https://github.com/qeda/qeda
cd qeda
npm install
sudo npm install --global
~~~
to generate the parts:
~~~
rake library
~~~
this will use the parts definition (.yaml files) in the `library` to generate [gEDA gschem](http://wiki.geda-project.org/geda:gaf)/[Lepton EDA](https://github.com/lepton-eda/lepton-eda) symbols (.sym files) in the `geda/symbols` folder, and [coralEDA pcb-rnd](http://repo.hu/projects/pcb-rnd/) footprints (.lht files) in the `coraleda/subc` folder.
only the QEDA parts in subfolders within `library` come from the [QEDA library](https://doc.qeda.org/library/), but the files are included in this project for simplicity and archiving purposes.
all other parts are custom and written for this project.
schematic
---------
the `.sch` file is the schematic source file.
it has been drawn using [Lepton EDA](https://github.com/lepton-eda/lepton-eda).
it uses standard symbols, and the ones in the `geda/symbols/` folder.
most symbols are generated by QEDA as described above.
to export as pdf:
~~~
rake print
~~~
BOM
---
to export the bill of material (as CSV):
~~~
rake bom
~~~
board
-----
the `.lht` file is the board layout source file.
it has been drawn using [coralEDA pcb-rnd](http://repo.hu/projects/pcb-rnd/).
it uses the symbols from the `coraleda/subc/` folder.
most symbols are generated by QEDA as described above.
`oshw_logo.lht` is just the Open Source Hardware Logo.
it been generated from https://oshwlogo.cuvoodoo.info/.
to export gerber files for PCB manufacturer (and photo preview + overview document):
~~~
rake fabrication
~~~
flashing
========
the USB hub gets its configuration from an external EEPROM.
running `eeprom.rb` will generate the EEPROM configuration in `eeprom.bin`.
this must then be flashed on the board EEPROM.
it is possible to flash it in circuit using the corresponding header, and by holding the RST signal low to prevent the USB hub from interfering with the communication.
to flash it using [minipro](https://gitlab.com/DavidGriffith/minipro/):
~~~
minipro --device "AT24C16@SOIC8" --write eeprom.bin -s
~~~

217
README.md
View File

@ -1,88 +1,169 @@
these are the hardware design files for **insert project name here**.
the CuVoodoo USB hub is a 7-port USB 2.0 hub meant for device testing.
purpose
=======
most USB hubs are super cheap and crappy, leading to poor connection and data transfer.
there are industrial USB hubs, but they are bulky and very expensive.
to solve this issue I decided to design my own USB hub, tailored to my needs.
when developing and testing hardware, you often end with a lot of USB devices connected (serial debugger, programmer, logic analyzer, ...).
USB allows to have up to 128 devices, but only with a maximum depth of 7.
thus you are only allowed to have a maximum of 5 USB hubs between computer and devices, and I often have to plan my setup to not reach this limit.
most 7-port USB hubs use two 4-port USB hub, the seconds being connected to the first.
there are some exceptions to that, but they are rare, old, and often not advertised as such.
this heavily limits the actual number of end devices.
the CuVoodoo USB hub is a 7-port flat USB hub, preventing reaching this limit too fast.
the upstream and downstream USB ports are individually ESD protected.
this safety becomes important when developing, testing, and handling bare electronic devices.
this also comes in handy when connecting circuit with different ground potentials.
ESD protections already saved my day twice this way.
the issue is that they can blow without you noticing, but at least they protected the device once.
each output port is current limited to 500 mA.
no USB 2.0 device should draw more that this specified limit.
it if does, there is very probably an issue with the device.
this protection allows to isolate the faulty device and not have it affect all other connected devices, or the hub itself.
see `current limitation` below for more details.
each downstream port is power controlled.
this allows to remotely switch on and off individual devices.
this is an important requirement when developing and testing devices, which require a power cycle.
additionally, a switch next to the USB port can force the power off state.
the USB hub can be self-powered (through the USB input port), externally powered by 5V, or externally powered by anything between 6 and 40V.
this allows to use higher voltage power supplies to provide enough current to all ports.
the 5V are not feed back to the host.
each USB port comes with a high voltage output power port, connected to the high voltage input port.
this allows to power devices which require more than 5V, with a maximum or 5A, such as 12V externally powered devices.
these power outputs are controllable along the USB port.
as with the 5V USB power output, this allows to remotely switch on an off individual devices.
each port has status LEDs, indicating the speed and power status of the connected device.
the board uses proper impedance and differential signal routing to provide clean USB signals.
design choice
=============
USB 2.0
-------
this hub is only for USB 2.0 devices.
these are by far most of the devices I develop.
it makes it simpler and keeps the cost reasonable.
I often even disable USB 3.0 because of the 13-device limitation of the Intel xHCI.
when I need USB 3.0 for the very few devices, I connected them to the computer directly.
USB2517
-------
I wanted to use the FE2.1 7-port USB hub chip.
it does not need an external voltage regulator or crystal.
it is easier to solder thanks to its TQFP package, and provides all required functionalities.
sadly I could not find a source for the 64-pin packages, and the 48-pin variant does not provide all required functionalities.
thus I had to fall back to the Microchip USB2517, which uses a harder to solder QFN package.
power control
-------------
some USB hub chips allow to remotely control the power output on individual ports.
this capability is here also used to control the power on the higher voltage output.
thus you can completely power off even larger target devices.
current limitation
------------------
the USB hub has current limitation on the output.
this does limit the current to 500 mA, but only in constant current mode.
following current limiters have been tested:
- 0.5A PPTC fuse: it takes too long to trigger (> 1s), and switch off is not reliably detected
- MT9700: it has no over-current signal
- SY6288AAAC: the (fixed) current limit is not 0.6A, but around 1.5A
- TJ2242GSF6: over-current is only detected after 3s (instead of specified 100us, probably caused by thermal shutdown), and it is not signaled
- DIO7553ST6: works as expected and wished
the power distribution switch detects the over-current state and asserts the fault flag after 10 ms.
after 0.1 ms (as set in OC_TIMER, in Configuration Data Byte 2, in EEPROM) the hub will switch off power.
this also clears the over-current state.
after 100 ms the HUB will re-enable power.
this loop will repeat indefinitely.
no over-current is reported to the host in this case (when the over-current is cleared while power is off).
it is only reported when the OCS is asserted for longer (unknown time, with OCS kept low also when powered off).
this is a flaw of the USB2517, where the over-current is only reported if it can't control the power state.
I did not find a configuration option for this aspect in the datasheet.
LED color
---------
the USB specification, LEDs are used as port indicator (section 11.5.3)
- off: powered off/disconnected
- amber: current limitation reached
- green: enabled or transmitting
instead the following color scheme is used:
- green off: power off or over-current
- green on: power on
- red: low speed device connected
- blue: full speed device connected
- purple (red+blue): high speed device connected
- red and blue off: disconnected or in sleep
power output
------------
switching the power of the USB port also switches the 6-40V forward output.
when the 6-40V input is not connected, current/voltage feedback from the outputs is blocked.
usage
=====
requirements
============
it mainly works like a regular USB hub, at least when it comes to the data transfer.
just plug the device in a port.
to be able to generate the outputs you need following software:
power on the Downstream Facing Ports (DFPs) is only available when the Upstream Facing Port (UFP) is connected.
- rake: the central script taking care of generating the output files (Makefile is too cumbersome to parse files)
- [QEDA](http://qeda.org/): to generate footprints for the parts
- [Lepton EDA](https://github.com/lepton-eda/lepton-eda): for the schematic capture
- [pcb-rnd](http://repo.hu/projects/pcb-rnd/): for the board layout
the output generation is automatized.
the hub can operate as bus powered (power coming from the UFP), but it would not be able to provide more than 500 mA across all DFPs.
it is preferable to connect an external 5V power supply to be able to provide 500 mA on all DFPs.
this will also turn the hub into self powered, not using any power from the UFP.
alternatively, you can connect a 6 to 40V power supply on the other power input.
the power for the hub and the 5V for the DFP will be derivate from this higher voltage supply.
the same higher voltage will be available on the power output next to the individual DFPs.
the hub will not switch on until the UFP USB port is connected.
compiling
=========
a switch next to each DFP allows to turn off the power output on the USB and power ports.
the green LED is on when power output is available.
library
-------
the power output on the USB and power ports can also be turned on/off remotely using standard USB commands.
this power output control is implemented in [uhubctl](https://github.com/mvp/uhubctl):
almost all of the symbols and footprints used in the schematic and board layout are defined in the [QEDA](http://qeda.org/) format and generated for the CAD software.
the `library` folder contains the QEDA parts definitions.
to install QEDA using NPM from the official repository:
~~~
sudo npm install -g qeda
# list controllable USB hub ports
sudo uhubctl
# switch of port
uhubctl --action off --location 1-1.4 --ports 5
~~~
to install QEDA from the sources:
EEPROM
======
the USB2517 USB hub chip gets its configuration from an EEPROM.
to generate the configuration:
~~~
git clone https://github.com/qeda/qeda
cd qeda
npm install
sudo npm install --global
ruby eeprom.rb
~~~
to generate the parts:
this will create the `eeprom.bin` binary file.
feel free to adjust the configuration in the generating script, such as the serial number.
after having soldered all the parts on the board, connect a programmer (here a MiniPRO TL866xx) on the J4 pin header to write the AT24C02 EEPROM:
~~~
rake library
~~~
this will use the parts definition (.yaml files) in the `library` to generate [gEDA gschem](http://wiki.geda-project.org/geda:gaf)/[Lepton EDA](https://github.com/lepton-eda/lepton-eda) symbols (.sym files) in the `geda/symbols` folder, and [coralEDA pcb-rnd](http://repo.hu/projects/pcb-rnd/) footprints (.lht files) in the `coraleda/subc` folder.
only the QEDA parts in subfolders within `library` come from the [QEDA library](https://doc.qeda.org/library/), but the files are included in this project for simplicity and archiving purposes.
all other parts are custom and written for this project.
schematic
---------
the `.sch` file is the schematic source file.
it has been drawn using [Lepton EDA](https://github.com/lepton-eda/lepton-eda).
it uses standard symbols, and the ones in the `geda/symbols/` folder.
most symbols are generated by QEDA as described above.
to export as pdf:
~~~
rake print
~~~
BOM
---
to export the bill of material (as CSV):
~~~
rake bom
~~~
board
-----
the `.lht` file is the board layout source file.
it has been drawn using [coralEDA pcb-rnd](http://repo.hu/projects/pcb-rnd/).
it uses the symbols from the `coraleda/subc/` folder.
most symbols are generated by QEDA as described above.
`oshw_logo.lht` is just the Open Source Hardware Logo.
it been generated from https://oshwlogo.cuvoodoo.info/.
to export gerber files for PCB manufacturer (and photo preview + overview document):
~~~
rake fabrication
minipro --device "AT24C02@SOIC8" --write eeprom.bin -s
~~~

View File

@ -14,7 +14,9 @@ require 'csv' # to export BOM and costs
# =================
# common name used for file names
name = "template"
name = "usb_hub"
# additional schematic sheets
sheets = ["usb_hub-dfp1", "usb_hub-dfp2", "usb_hub-dfp3", "usb_hub-dfp4", "usb_hub-dfp5", "usb_hub-dfp6", "usb_hub-dfp7"]
# project version, read from "version" file
raise "define project version in 'version' file" unless File.exist? "version"
version = IO.read("version").split("\n")[0]
@ -37,8 +39,12 @@ task :default => [:print, :fabrication, :bom, :pnp]
desc "print schematic and layout (as pdf)"
prints = [ "#{name}.sch.pdf", "#{name}.brd.pdf", "#{name}.brd-top.svg", "#{name}.brd-bottom.svg" ]
unless sheets.empty? then
prints += sheets.collect{|sheet| "#{sheet}.sch.pdf"}
prints << "#{name}.sch-all.pdf"
end
task :print => prints
CLEAN.include([ "#{name}.versioned.sch", "#{name}.versioned.lht" ])
CLEAN.include([ "#{name}.versioned.sch", "#{name}.versioned.lht" ] + sheets.collect{|sheet| "#{sheet}.versioned.sch"})
CLOBBER.include(prints)
desc "generate fabrication gerbers (as archive)"
@ -89,7 +95,12 @@ end
desc "generate printable version (PDF) of schematic"
rule ".sch.pdf" => ".versioned.sch" do |t|
sh "lepton-cli export --color --paper iso_a4 --layout landscape --output #{t.name} #{t.source} 2> /dev/null"
sh "lepton-cli export --color --paper=iso_a4 --layout=landscape --output=#{t.name} #{t.source} 2> /dev/null"
end
desc "generate grouped printable version (PDF) of schematic"
rule ".sch-all.pdf" => ["#{name}.sch.pdf"] + sheets.collect{|sheet| "#{sheet}.sch.pdf"} do |t|
sh "mutool merge -o #{t.name} " + t.prerequisites * " "
end
desc "generate printable version (PostScript) of board layout"
@ -123,9 +134,9 @@ end
desc "generate BOM file from schematic"
rule ".bom.csv" => ".sch" do |t|
attributes = ["device", "value", "description", "footprint", "manufacturer", "mpn", "datasheet", "lcsc", "digikey"]
bom_data = bom2(t.prerequisites[0],attributes)
bom_data = bom2(t.prerequisites[0], attributes)
CSV.open(t.name, "wb") do |csv|
all_attributes = ["refdes","qty"]+attributes
all_attributes = ["refdes","qty"] + attributes
csv << all_attributes
bom_data.each do |line|
csv << all_attributes.collect{|attribute| line[attribute]}
@ -165,6 +176,10 @@ def bom2(schematic, attributes)
list.gsub!(/(?!http):(?!\/\/)/, '\1":"\2') # protect the values between ':' (such as URLs)
# parse bom2
csv = CSV.parse(list, col_sep: ":", quote_char: '"')
if csv.empty? then
$stderr.puts "no parts found for BOM"
return []
end
csv[1..-1].each do |row|
line = {}
row.each_index do |col|

View File

@ -0,0 +1,187 @@
$fn=30;
BOARD_WIDTH=96.5;
BOARD_HEIGHT=96.0;
BOARD_THICKNESS=1.6;
HOLE_NW_X=4.0;
HOLE_NW_Y=4.0;
HOLE_NE_X=92.5;
HOLE_NE_Y=4.0;
HOLE_SW_X=4.0;
HOLE_SW_Y=92.0;
HOLE_SE_X=92.5;
HOLE_SE_Y=92.0;
WALL_SPACE=1.0;
WALL_THICKNESS=2.0;
HOLE_HEIGHT=15.0; // USB A is 14.5
module pillar() {
translate([0,0,HOLE_HEIGHT/2]) {
difference() {
cylinder(h=HOLE_HEIGHT, d=6, center=true);
cylinder(h=HOLE_HEIGHT, d=3.5, center=true);
}
}
}
mirror([1,0,0]) { // we used bottom view
// bottom plate
cube([BOARD_WIDTH+2*WALL_SPACE+2*WALL_THICKNESS, BOARD_HEIGHT+2*WALL_SPACE+2*WALL_THICKNESS, WALL_THICKNESS]);
// screw mounts
translate([WALL_THICKNESS+WALL_SPACE+HOLE_NW_X,WALL_THICKNESS+WALL_SPACE+HOLE_NW_Y,WALL_THICKNESS]) {
pillar();
}
translate([WALL_THICKNESS+WALL_SPACE+HOLE_NE_X,WALL_THICKNESS+WALL_SPACE+HOLE_NE_Y,WALL_THICKNESS]) {
pillar();
}
translate([WALL_THICKNESS+WALL_SPACE+HOLE_SW_X,WALL_THICKNESS+WALL_SPACE+HOLE_SW_Y,WALL_THICKNESS]) {
pillar();
}
translate([WALL_THICKNESS+WALL_SPACE+HOLE_SE_X,WALL_THICKNESS+WALL_SPACE+HOLE_SE_Y,WALL_THICKNESS]) {
pillar();
}
// side
MARGIN=1.0;
USB_B_WIDTH=12.0+MARGIN;
USB_B_HEIGHT=11.0+MARGIN;
USB_A_WIDTH=7.0+MARGIN;
USB_A_HEIGHT=14.5+MARGIN;
BARREL_WIDTH=9.0+MARGIN;
BARREL_HEIGHT=11.3+MARGIN;
INDUCTOR_HEIGHT=7.5;
// side north
difference() {
cube([BOARD_WIDTH+2*WALL_SPACE+2*WALL_THICKNESS, WALL_THICKNESS, WALL_THICKNESS+HOLE_HEIGHT+BOARD_THICKNESS+INDUCTOR_HEIGHT]);
// DFP 7 USB A
translate([WALL_THICKNESS+WALL_SPACE+12.5-USB_A_WIDTH/2,0,WALL_THICKNESS+HOLE_HEIGHT-USB_A_HEIGHT]) {
cube([USB_A_WIDTH,WALL_THICKNESS,USB_A_HEIGHT]);
}
// DFP 7 BARREL
translate([WALL_THICKNESS+WALL_SPACE+28-BARREL_WIDTH/2,0,WALL_THICKNESS+HOLE_HEIGHT-BARREL_HEIGHT]) {
cube([BARREL_WIDTH,WALL_THICKNESS,BARREL_HEIGHT]);
}
// DFP 6 USB A
translate([WALL_THICKNESS+WALL_SPACE+40.5-USB_A_WIDTH/2,0,WALL_THICKNESS+HOLE_HEIGHT-USB_A_HEIGHT]) {
cube([USB_A_WIDTH,WALL_THICKNESS,USB_A_HEIGHT]);
}
// DFP 6 BARREL
translate([WALL_THICKNESS+WALL_SPACE+56-BARREL_WIDTH/2,0,WALL_THICKNESS+HOLE_HEIGHT-BARREL_HEIGHT]) {
cube([BARREL_WIDTH,WALL_THICKNESS,BARREL_HEIGHT]);
}
// DFP 5 USB A
translate([WALL_THICKNESS+WALL_SPACE+68.5-USB_A_WIDTH/2,0,WALL_THICKNESS+HOLE_HEIGHT-USB_A_HEIGHT]) {
cube([USB_A_WIDTH,WALL_THICKNESS,USB_A_HEIGHT]);
}
// DFP 5 BARREL
translate([WALL_THICKNESS+WALL_SPACE+84-BARREL_WIDTH/2,0,WALL_THICKNESS+HOLE_HEIGHT-BARREL_HEIGHT]) {
cube([BARREL_WIDTH,WALL_THICKNESS,BARREL_HEIGHT]);
}
}
// side west
difference() {
cube([WALL_THICKNESS, BOARD_HEIGHT+2*WALL_SPACE+2*WALL_THICKNESS, WALL_THICKNESS+HOLE_HEIGHT+BOARD_THICKNESS+INDUCTOR_HEIGHT]);
// USB B
translate([0,WALL_THICKNESS+WALL_SPACE+48-USB_B_WIDTH/2,WALL_THICKNESS+HOLE_HEIGHT-USB_B_HEIGHT]) {
cube([WALL_THICKNESS,USB_B_WIDTH,USB_B_HEIGHT]);
}
// 5V BARREL
translate([0,WALL_THICKNESS+WALL_SPACE+33-BARREL_WIDTH/2,WALL_THICKNESS+HOLE_HEIGHT-BARREL_HEIGHT]) {
cube([WALL_THICKNESS,BARREL_WIDTH,BARREL_HEIGHT]);
}
// 12V BARREL
translate([0,WALL_THICKNESS+WALL_SPACE+63-BARREL_WIDTH/2,WALL_THICKNESS+HOLE_HEIGHT-BARREL_HEIGHT]) {
cube([WALL_THICKNESS,BARREL_WIDTH,BARREL_HEIGHT]);
}
}
// side south
translate([0,BOARD_HEIGHT+WALL_THICKNESS+2*WALL_SPACE,0]) {
difference() {
cube([BOARD_WIDTH+2*WALL_SPACE+2*WALL_THICKNESS, WALL_THICKNESS, WALL_THICKNESS+HOLE_HEIGHT+BOARD_THICKNESS+INDUCTOR_HEIGHT]);
// DFP 1 USB A
translate([WALL_THICKNESS+WALL_SPACE+27.5-USB_A_WIDTH/2,0,WALL_THICKNESS+HOLE_HEIGHT-USB_A_HEIGHT]) {
cube([USB_A_WIDTH,WALL_THICKNESS,USB_A_HEIGHT]);
}
// DFP 1 BARREL
translate([WALL_THICKNESS+WALL_SPACE+12-BARREL_WIDTH/2,0,WALL_THICKNESS+HOLE_HEIGHT-BARREL_HEIGHT]) {
cube([BARREL_WIDTH,WALL_THICKNESS,BARREL_HEIGHT]);
}
// DFP 2 USB A
translate([WALL_THICKNESS+WALL_SPACE+55.5-USB_A_WIDTH/2,0,WALL_THICKNESS+HOLE_HEIGHT-USB_A_HEIGHT]) {
cube([USB_A_WIDTH,WALL_THICKNESS,USB_A_HEIGHT]);
}
// DFP 2 BARREL
translate([WALL_THICKNESS+WALL_SPACE+40-BARREL_WIDTH/2,0,WALL_THICKNESS+HOLE_HEIGHT-BARREL_HEIGHT]) {
cube([BARREL_WIDTH,WALL_THICKNESS,BARREL_HEIGHT]);
}
// DFP 3 USB A
translate([WALL_THICKNESS+WALL_SPACE+83.5-USB_A_WIDTH/2,0,WALL_THICKNESS+HOLE_HEIGHT-USB_A_HEIGHT]) {
cube([USB_A_WIDTH,WALL_THICKNESS,USB_A_HEIGHT]);
}
// DFP 3 BARREL
translate([WALL_THICKNESS+WALL_SPACE+68-BARREL_WIDTH/2,0,WALL_THICKNESS+HOLE_HEIGHT-BARREL_HEIGHT]) {
cube([BARREL_WIDTH,WALL_THICKNESS,BARREL_HEIGHT]);
}
}
}
// side east
translate([BOARD_WIDTH+WALL_THICKNESS+2*WALL_SPACE,0,0]) {
difference() {
cube([WALL_THICKNESS, BOARD_HEIGHT+2*WALL_SPACE+2*WALL_THICKNESS, WALL_THICKNESS+HOLE_HEIGHT+BOARD_THICKNESS+INDUCTOR_HEIGHT]);
// DFP 4 USB A
translate([0,WALL_THICKNESS+WALL_SPACE+40.5-USB_A_WIDTH/2,WALL_THICKNESS+HOLE_HEIGHT-USB_A_HEIGHT]) {
cube([WALL_THICKNESS,USB_A_WIDTH,USB_A_HEIGHT]);
}
// DFP 4 BARREL
translate([0,WALL_THICKNESS+WALL_SPACE+56-BARREL_WIDTH/2,WALL_THICKNESS+HOLE_HEIGHT-BARREL_HEIGHT]) {
cube([WALL_THICKNESS,BARREL_WIDTH,BARREL_HEIGHT]);
}
}
}
// top plate
SWITCH_WIDTH=3.0+0.5;
SWITCH_LENGTH=6.0+0.5;
translate([0,0,WALL_THICKNESS+HOLE_HEIGHT+BOARD_THICKNESS+INDUCTOR_HEIGHT]) {
difference() {
cube([BOARD_WIDTH+2*WALL_SPACE+2*WALL_THICKNESS, BOARD_HEIGHT+2*WALL_SPACE+2*WALL_THICKNESS, WALL_THICKNESS]);
// DFP 7
translate([WALL_THICKNESS+WALL_SPACE+20.0, WALL_THICKNESS+WALL_SPACE+6.7,WALL_THICKNESS/2]) {
cube([SWITCH_WIDTH, SWITCH_LENGTH, WALL_THICKNESS], center=true);
}
// DFP 6
translate([WALL_THICKNESS+WALL_SPACE+48.0, WALL_THICKNESS+WALL_SPACE+6.7,WALL_THICKNESS/2]) {
cube([SWITCH_WIDTH, SWITCH_LENGTH, WALL_THICKNESS], center=true);
}
// DFP 5
translate([WALL_THICKNESS+WALL_SPACE+76.0, WALL_THICKNESS+WALL_SPACE+6.7,WALL_THICKNESS/2]) {
cube([SWITCH_WIDTH, SWITCH_LENGTH, WALL_THICKNESS], center=true);
}
// DFP 4
translate([WALL_THICKNESS+WALL_SPACE+89.7, WALL_THICKNESS+WALL_SPACE+48.0,WALL_THICKNESS/2]) {
cube([SWITCH_LENGTH, SWITCH_WIDTH, WALL_THICKNESS], center=true);
}
// DFP 3
translate([WALL_THICKNESS+WALL_SPACE+76.0, WALL_THICKNESS+WALL_SPACE+89.3,WALL_THICKNESS/2]) {
cube([SWITCH_WIDTH, SWITCH_LENGTH, WALL_THICKNESS], center=true);
}
// DFP 2
translate([WALL_THICKNESS+WALL_SPACE+48.0, WALL_THICKNESS+WALL_SPACE+89.3,WALL_THICKNESS/2]) {
cube([SWITCH_WIDTH, SWITCH_LENGTH, WALL_THICKNESS], center=true);
}
// DFP 1
translate([WALL_THICKNESS+WALL_SPACE+20.0, WALL_THICKNESS+WALL_SPACE+89.3,WALL_THICKNESS/2]) {
cube([SWITCH_WIDTH, SWITCH_LENGTH, WALL_THICKNESS], center=true);
}
}
}
}

Binary file not shown.

View File

@ -0,0 +1,45 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg
width="103mm"
height="102mm"
viewBox="-103 -102 103 102"
version="1.1"
id="svg4172"
sodipodi:docname="top_plate.svg"
inkscape:version="1.2.1 (9c6d41e410, 2022-07-14, custom)"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns="http://www.w3.org/2000/svg"
xmlns:svg="http://www.w3.org/2000/svg">
<defs
id="defs4176" />
<sodipodi:namedview
id="namedview4174"
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1.0"
inkscape:showpageshadow="2"
inkscape:pageopacity="0.0"
inkscape:pagecheckerboard="0"
inkscape:deskcolor="#d1d1d1"
inkscape:document-units="mm"
showgrid="false"
inkscape:zoom="1.0246119"
inkscape:cx="362.08831"
inkscape:cy="323.04914"
inkscape:window-width="1916"
inkscape:window-height="1041"
inkscape:window-x="0"
inkscape:window-y="37"
inkscape:window-maximized="1"
inkscape:current-layer="svg4172" />
<title
id="title4168">OpenSCAD Model</title>
<path
d=" M 0,-102 L -102.5,-102 L -102.5,-0 L 0,-0 z M -24.75,-89.05 L -24.75,-95.55 L -21.25,-95.55 L -21.25,-89.05 z M -52.75,-89.05 L -52.75,-95.55 L -49.25,-95.55 L -49.25,-89.05 z M -80.75,-89.05 L -80.75,-95.55 L -77.25,-95.55 L -77.25,-89.05 z M -95.95,-49.25 L -95.95,-52.75 L -89.45,-52.75 L -89.45,-49.25 z M -24.75,-6.45 L -24.75,-12.95 L -21.25,-12.95 L -21.25,-6.45 z M -52.75,-6.45 L -52.75,-12.95 L -49.25,-12.95 L -49.25,-6.45 z M -80.75,-6.45 L -80.75,-12.95 L -77.25,-12.95 L -77.25,-6.45 z "
stroke="black"
fill="lightgray"
stroke-width="0.5"
id="path4170"
style="stroke:#ff0000;fill:none" />
</svg>

After

Width:  |  Height:  |  Size: 1.8 KiB

View File

@ -0,0 +1,307 @@
# subcircuit generated using QEDA
li:pcb-rnd-subcircuit-v6 {
ha:subc.1 {
uid = CAPC1608X92N............
ha:attributes {
footprint = CAPC1608X92N
}
ha:data {
li:padstack_prototypes {
ha:ps_proto_v6.2 {
htop = 0
hbottom = 0
hdia = 0
hplated = 0
li:shape {
ha:ps_shape_v4 {
clearance = 0.200mm
li:ps_poly {
-0.625mm
-0.550mm
0.625mm
-0.550mm
0.625mm
0.550mm
-0.625mm
0.550mm
}
ha:layer_mask {
top = 1
copper = 1
}
ha:combining {
}
}
ha:ps_shape_v4 {
clearance = 0
li:ps_poly {
-0.675mm
-0.600mm
0.675mm
-0.600mm
0.675mm
0.600mm
-0.675mm
0.600mm
}
ha:layer_mask {
top = 1
mask = 1
}
ha:combining {
sub = 1
auto = 1
}
}
ha:ps_shape_v4 {
clearance = 0
li:ps_poly {
-0.625mm
-0.550mm
0.625mm
-0.550mm
0.625mm
0.550mm
-0.625mm
0.550mm
}
ha:layer_mask {
top = 1
paste = 1
}
ha:combining {
auto = 1
}
}
}
}
}
li:objects {
ha:padstack_ref.23 {
proto = 2
rot = 0
x = 0.000mm
y = -0.750mm
ha:attributes {
term = 1
name = 1
}
clearance = 0.200mm
ha:flags {
clearline = 1
}
}
ha:padstack_ref.24 {
proto = 2
rot = 0
x = 0.000mm
y = 0.750mm
ha:attributes {
term = 2
name = 2
}
clearance = 0.200mm
ha:flags {
clearline = 1
}
}
}
li:layers {
ha:subc-aux {
lid = 0
ha:type {
top = 1
misc = 1
virtual = 1
}
li:objects {
ha:line.25 {
clearance = 0
thickness = 0.1mm
ha:attributes {
subc-role = origin
}
x1 = 0.000mm
x2 = 0.000mm
y1 = 0.000mm
y2 = 0.000mm
}
ha:line.26 {
clearance = 0
thickness = 0.1mm
ha:attributes {
subc-role = x
}
x1 = 0.000mm
x2 = 1.000mm
y1 = 0.000mm
y2 = 0.000mm
}
ha:line.27 {
clearance = 0
thickness = 0.1mm
ha:attributes {
subc-role = y
}
x1 = 0.000mm
x2 = 0.000mm
y1 = 0.000mm
y2 = 1.000mm
}
ha:line.28 {
clearance = 0
thickness = 0.1mm
ha:attributes {
subc-role = pnp-origin
}
x1 = 0.000mm
x2 = 0.000mm
y1 = 0.000mm
y2 = 0.000mm
}
}
}
ha:top-silkscreen {
lid = 1
ha:type {
top = 1
silk = 1
}
li:objects {
ha:text.29 {
x = 0.000mm
y = 0.000mm
rot = 0
scale = 100
string = %a.parent.refdes%
fid = 0
ha:flags {
floater = 1
dyntext = 1
}
}
ha:line.30 {
x1 = -0.925mm
y1 = -0.900mm
x2 = -0.925mm
y2 = 0.900mm
thickness = 0.200mm
clearance = 0
}
ha:line.31 {
x1 = 0.925mm
y1 = -0.900mm
x2 = 0.925mm
y2 = 0.900mm
thickness = 0.200mm
clearance = 0
}
}
}
ha:top-assembly {
lid = 2
ha:type {
top = 1
doc = 1
}
purpose = assy
li:objects {
ha:arc.32 {
x = 0.000mm
y = 0.000mm
width = 0.500mm
height = 0.500mm
thickness = 0.100mm
astart = 0
adelta = 360
clearance = 0
}
ha:line.33 {
x1 = -0.700mm
y1 = 0.000mm
x2 = 0.700mm
y2 = 0.000mm
thickness = 0.100mm
clearance = 0
}
ha:line.34 {
x1 = 0.000mm
y1 = -0.700mm
x2 = 0.000mm
y2 = 0.700mm
thickness = 0.100mm
clearance = 0
}
ha:text.35 {
x = 0.000mm
y = 0.000mm
rot = 90
scale = 53
string = CAPC1608X92N
fid = 0
ha:flags {
floater = 1
}
}
ha:line.36 {
x1 = -0.400mm
y1 = -0.800mm
x2 = 0.400mm
y2 = -0.800mm
thickness = 0.100mm
clearance = 0
}
ha:line.37 {
x1 = 0.400mm
y1 = -0.800mm
x2 = 0.400mm
y2 = 0.800mm
thickness = 0.100mm
clearance = 0
}
ha:line.38 {
x1 = 0.400mm
y1 = 0.800mm
x2 = -0.400mm
y2 = 0.800mm
thickness = 0.100mm
clearance = 0
}
ha:line.39 {
x1 = -0.400mm
y1 = 0.800mm
x2 = -0.400mm
y2 = -0.800mm
thickness = 0.100mm
clearance = 0
}
}
}
ha:top-courtyard {
lid = 3
ha:type {
top = 1
doc = 1
}
purpose = ko.courtyard
li:objects {
ha:polygon.40 {
li:geometry {
ta:contour {
{ -0.875mm; -1.550mm }
{ -0.875mm; -1.050mm }
{ -0.875mm; 1.050mm }
{ -0.875mm; 1.550mm }
{ 0.875mm; 1.550mm }
{ 0.875mm; 1.050mm }
{ 0.875mm; -1.050mm }
{ 0.875mm; -1.550mm }
}
}
}
}
}
}
}
}
}

View File

@ -0,0 +1,428 @@
# subcircuit generated using QEDA
li:pcb-rnd-subcircuit-v6 {
ha:subc.1 {
uid = CAPPRD200W45D500H700N...
ha:attributes {
footprint = CAPPRD200W45D500H700N
}
ha:data {
li:padstack_prototypes {
ha:ps_proto_v6.2 {
htop = 0
hbottom = 0
hdia = 0.650mm
hplated = 1
li:shape {
ha:ps_shape_v4 {
clearance = 0.200mm
li:ps_poly {
-0.525mm
-0.525mm
0.525mm
-0.525mm
0.525mm
0.525mm
-0.525mm
0.525mm
}
ha:layer_mask {
top = 1
copper = 1
}
ha:combining {
}
}
ha:ps_shape_v4 {
clearance = 0
li:ps_poly {
-0.575mm
-0.575mm
0.575mm
-0.575mm
0.575mm
0.575mm
-0.575mm
0.575mm
}
ha:layer_mask {
top = 1
mask = 1
}
ha:combining {
sub = 1
auto = 1
}
}
ha:ps_shape_v4 {
clearance = 0.200mm
li:ps_poly {
-0.525mm
-0.525mm
0.525mm
-0.525mm
0.525mm
0.525mm
-0.525mm
0.525mm
}
ha:layer_mask {
intern = 1
copper = 1
}
ha:combining {
}
}
ha:ps_shape_v4 {
clearance = 0.200mm
li:ps_poly {
-0.525mm
-0.525mm
0.525mm
-0.525mm
0.525mm
0.525mm
-0.525mm
0.525mm
}
ha:layer_mask {
bottom = 1
copper = 1
}
ha:combining {
}
}
ha:ps_shape_v4 {
clearance = 0
li:ps_poly {
-0.575mm
-0.575mm
0.575mm
-0.575mm
0.575mm
0.575mm
-0.575mm
0.575mm
}
ha:layer_mask {
bottom = 1
mask = 1
}
ha:combining {
sub = 1
auto = 1
}
}
}
}
ha:ps_proto_v6.3 {
htop = 0
hbottom = 0
hdia = 0.650mm
hplated = 1
li:shape {
ha:ps_shape_v4 {
clearance = 0.200mm
ha:ps_circ {
x = 0
y = 0
dia = 1.050mm
}
ha:layer_mask {
top = 1
copper = 1
}
ha:combining {
}
}
ha:ps_shape_v4 {
clearance = 0
ha:ps_circ {
x = 0
y = 0
dia = 1.100mm
}
ha:layer_mask {
top = 1
mask = 1
}
ha:combining {
sub = 1
auto = 1
}
}
ha:ps_shape_v4 {
clearance = 0.200mm
ha:ps_circ {
x = 0
y = 0
dia = 1.050mm
}
ha:layer_mask {
intern = 1
copper = 1
}
ha:combining {
}
}
ha:ps_shape_v4 {
clearance = 0.200mm
ha:ps_circ {
x = 0
y = 0
dia = 1.050mm
}
ha:layer_mask {
bottom = 1
copper = 1
}
ha:combining {
}
}
ha:ps_shape_v4 {
clearance = 0
ha:ps_circ {
x = 0
y = 0
dia = 1.100mm
}
ha:layer_mask {
bottom = 1
mask = 1
}
ha:combining {
sub = 1
auto = 1
}
}
}
}
}
li:objects {
ha:padstack_ref.17 {
proto = 2
rot = 0
x = 0.000mm
y = -1.000mm
ha:attributes {
term = 1
name = 1
}
clearance = 0.200mm
ha:flags {
clearline = 1
}
}
ha:padstack_ref.18 {
proto = 3
rot = 0
x = 0.000mm
y = 1.000mm
ha:attributes {
term = 2
name = 2
}
clearance = 0.200mm
ha:flags {
clearline = 1
}
}
}
li:layers {
ha:subc-aux {
lid = 0
ha:type {
top = 1
misc = 1
virtual = 1
}
li:objects {
ha:line.19 {
clearance = 0
thickness = 0.1mm
ha:attributes {
subc-role = origin
}
x1 = 0.000mm
x2 = 0.000mm
y1 = 0.000mm
y2 = 0.000mm
}
ha:line.20 {
clearance = 0
thickness = 0.1mm
ha:attributes {
subc-role = x
}
x1 = 0.000mm
x2 = 1.000mm
y1 = 0.000mm
y2 = 0.000mm
}
ha:line.21 {
clearance = 0
thickness = 0.1mm
ha:attributes {
subc-role = y
}
x1 = 0.000mm
x2 = 0.000mm
y1 = 0.000mm
y2 = 1.000mm
}
ha:line.22 {
clearance = 0
thickness = 0.1mm
ha:attributes {
subc-role = pnp-origin
}
x1 = 0.000mm
x2 = 0.000mm
y1 = 0.000mm
y2 = 0.000mm
}
}
}
ha:top-silkscreen {
lid = 1
ha:type {
top = 1
silk = 1
}
li:objects {
ha:text.23 {
x = 0.000mm
y = 0.000mm
rot = 0
scale = 100
string = %a.parent.refdes%
fid = 0
ha:flags {
floater = 1
dyntext = 1
}
}
ha:arc.24 {
x = 0.000mm
y = 0.000mm
width = 2.600mm
height = 2.600mm
thickness = 0.200mm
astart = 0
adelta = 360
clearance = 0
}
ha:line.25 {
x1 = -0.825mm
y1 = -2.600mm
x2 = 0.825mm
y2 = -2.600mm
thickness = 0.200mm
clearance = 0
}
ha:line.26 {
x1 = 0.825mm
y1 = -2.600mm
x2 = 0.825mm
y2 = -0.175mm
thickness = 0.200mm
clearance = 0
}
ha:line.27 {
x1 = 0.825mm
y1 = -0.175mm
x2 = -0.825mm
y2 = -0.175mm
thickness = 0.200mm
clearance = 0
}
ha:line.28 {
x1 = -0.825mm
y1 = -0.175mm
x2 = -0.825mm
y2 = -2.600mm
thickness = 0.200mm
clearance = 0
}
}
}
ha:top-assembly {
lid = 2
ha:type {
top = 1
doc = 1
}
purpose = assy
li:objects {
ha:arc.29 {
x = 0.000mm
y = 0.000mm
width = 0.500mm
height = 0.500mm
thickness = 0.100mm
astart = 0
adelta = 360
clearance = 0
}
ha:line.30 {
x1 = -0.700mm
y1 = 0.000mm
x2 = 0.700mm
y2 = 0.000mm
thickness = 0.100mm
clearance = 0
}
ha:line.31 {
x1 = 0.000mm
y1 = -0.700mm
x2 = 0.000mm
y2 = 0.700mm
thickness = 0.100mm
clearance = 0
}
ha:text.32 {
x = 0.000mm
y = 0.000mm
rot = 0
scale = 100
string = CAPPRD200W45D500H700N
fid = 0
ha:flags {
floater = 1
}
}
ha:arc.33 {
x = 0.000mm
y = 0.000mm
width = 2.500mm
height = 2.500mm
thickness = 0.100mm
astart = 0
adelta = 360
clearance = 0
}
}
}
ha:top-courtyard {
lid = 3
ha:type {
top = 1
doc = 1
}
purpose = ko.courtyard
li:objects {
ha:arc.34 {
x = 0.000mm
y = 0.000mm
width = 2.750mm
height = 2.750mm
thickness = 0.050mm
astart = 0
adelta = 360
clearance = 0
}
}
}
}
}
}
}

View File

@ -0,0 +1,428 @@
# subcircuit generated using QEDA
li:pcb-rnd-subcircuit-v6 {
ha:subc.1 {
uid = CAPPRD250W50D630H700N...
ha:attributes {
footprint = CAPPRD250W50D630H700N
}
ha:data {
li:padstack_prototypes {
ha:ps_proto_v6.2 {
htop = 0
hbottom = 0
hdia = 0.700mm
hplated = 1
li:shape {
ha:ps_shape_v4 {
clearance = 0.200mm
li:ps_poly {
-0.550mm
-0.550mm
0.550mm
-0.550mm
0.550mm
0.550mm
-0.550mm
0.550mm
}
ha:layer_mask {
top = 1
copper = 1
}
ha:combining {
}
}
ha:ps_shape_v4 {
clearance = 0
li:ps_poly {
-0.600mm
-0.600mm
0.600mm
-0.600mm
0.600mm
0.600mm
-0.600mm
0.600mm
}
ha:layer_mask {
top = 1
mask = 1
}
ha:combining {
sub = 1
auto = 1
}
}
ha:ps_shape_v4 {
clearance = 0.200mm
li:ps_poly {
-0.550mm
-0.550mm
0.550mm
-0.550mm
0.550mm
0.550mm
-0.550mm
0.550mm
}
ha:layer_mask {
intern = 1
copper = 1
}
ha:combining {
}
}
ha:ps_shape_v4 {
clearance = 0.200mm
li:ps_poly {
-0.550mm
-0.550mm
0.550mm
-0.550mm
0.550mm
0.550mm
-0.550mm
0.550mm
}
ha:layer_mask {
bottom = 1
copper = 1
}
ha:combining {
}
}
ha:ps_shape_v4 {
clearance = 0
li:ps_poly {
-0.600mm
-0.600mm
0.600mm
-0.600mm
0.600mm
0.600mm
-0.600mm
0.600mm
}
ha:layer_mask {
bottom = 1
mask = 1
}
ha:combining {
sub = 1
auto = 1
}
}
}
}
ha:ps_proto_v6.3 {
htop = 0
hbottom = 0
hdia = 0.700mm
hplated = 1
li:shape {
ha:ps_shape_v4 {
clearance = 0.200mm
ha:ps_circ {
x = 0
y = 0
dia = 1.100mm
}
ha:layer_mask {
top = 1
copper = 1
}
ha:combining {
}
}
ha:ps_shape_v4 {
clearance = 0
ha:ps_circ {
x = 0
y = 0
dia = 1.150mm
}
ha:layer_mask {
top = 1
mask = 1
}
ha:combining {
sub = 1
auto = 1
}
}
ha:ps_shape_v4 {
clearance = 0.200mm
ha:ps_circ {
x = 0
y = 0
dia = 1.100mm
}
ha:layer_mask {
intern = 1
copper = 1
}
ha:combining {
}
}
ha:ps_shape_v4 {
clearance = 0.200mm
ha:ps_circ {
x = 0
y = 0
dia = 1.100mm
}
ha:layer_mask {
bottom = 1
copper = 1
}
ha:combining {
}
}
ha:ps_shape_v4 {
clearance = 0
ha:ps_circ {
x = 0
y = 0
dia = 1.150mm
}
ha:layer_mask {
bottom = 1
mask = 1
}
ha:combining {
sub = 1
auto = 1
}
}
}
}
}
li:objects {
ha:padstack_ref.17 {
proto = 2
rot = 0
x = 0.000mm
y = -1.250mm
ha:attributes {
term = 1
name = 1
}
clearance = 0.200mm
ha:flags {
clearline = 1
}
}
ha:padstack_ref.18 {
proto = 3
rot = 0
x = 0.000mm
y = 1.250mm
ha:attributes {
term = 2
name = 2
}
clearance = 0.200mm
ha:flags {
clearline = 1
}
}
}
li:layers {
ha:subc-aux {
lid = 0
ha:type {
top = 1
misc = 1
virtual = 1
}
li:objects {
ha:line.19 {
clearance = 0
thickness = 0.1mm
ha:attributes {
subc-role = origin
}
x1 = 0.000mm
x2 = 0.000mm
y1 = 0.000mm
y2 = 0.000mm
}
ha:line.20 {
clearance = 0
thickness = 0.1mm
ha:attributes {
subc-role = x
}
x1 = 0.000mm
x2 = 1.000mm
y1 = 0.000mm
y2 = 0.000mm
}
ha:line.21 {
clearance = 0
thickness = 0.1mm
ha:attributes {
subc-role = y
}
x1 = 0.000mm
x2 = 0.000mm
y1 = 0.000mm
y2 = 1.000mm
}
ha:line.22 {
clearance = 0
thickness = 0.1mm
ha:attributes {
subc-role = pnp-origin
}
x1 = 0.000mm
x2 = 0.000mm
y1 = 0.000mm
y2 = 0.000mm
}
}
}
ha:top-silkscreen {
lid = 1
ha:type {
top = 1
silk = 1
}
li:objects {
ha:text.23 {
x = 0.000mm
y = 0.000mm
rot = 0
scale = 100
string = %a.parent.refdes%
fid = 0
ha:flags {
floater = 1
dyntext = 1
}
}
ha:arc.24 {
x = 0.000mm
y = 0.000mm
width = 3.250mm
height = 3.250mm
thickness = 0.200mm
astart = 0
adelta = 360
clearance = 0
}
ha:line.25 {
x1 = -0.850mm
y1 = -3.250mm
x2 = 0.850mm
y2 = -3.250mm
thickness = 0.200mm
clearance = 0
}
ha:line.26 {
x1 = 0.850mm
y1 = -3.250mm
x2 = 0.850mm
y2 = -0.400mm
thickness = 0.200mm
clearance = 0
}
ha:line.27 {
x1 = 0.850mm
y1 = -0.400mm
x2 = -0.850mm
y2 = -0.400mm
thickness = 0.200mm
clearance = 0
}
ha:line.28 {
x1 = -0.850mm
y1 = -0.400mm
x2 = -0.850mm
y2 = -3.250mm
thickness = 0.200mm
clearance = 0
}
}
}
ha:top-assembly {
lid = 2
ha:type {
top = 1
doc = 1
}
purpose = assy
li:objects {
ha:arc.29 {
x = 0.000mm
y = 0.000mm
width = 0.500mm
height = 0.500mm
thickness = 0.100mm
astart = 0
adelta = 360
clearance = 0
}
ha:line.30 {
x1 = -0.700mm
y1 = 0.000mm
x2 = 0.700mm
y2 = 0.000mm
thickness = 0.100mm
clearance = 0
}
ha:line.31 {
x1 = 0.000mm
y1 = -0.700mm
x2 = 0.000mm
y2 = 0.700mm
thickness = 0.100mm
clearance = 0
}
ha:text.32 {
x = 0.000mm
y = 0.000mm
rot = 0
scale = 100
string = CAPPRD250W50D630H700N
fid = 0
ha:flags {
floater = 1
}
}
ha:arc.33 {
x = 0.000mm
y = 0.000mm
width = 3.150mm
height = 3.150mm
thickness = 0.100mm
astart = 0
adelta = 360
clearance = 0
}
}
}
ha:top-courtyard {
lid = 3
ha:type {
top = 1
doc = 1
}
purpose = ko.courtyard
li:objects {
ha:arc.34 {
x = 0.000mm
y = 0.000mm
width = 3.400mm
height = 3.400mm
thickness = 0.050mm
astart = 0
adelta = 360
clearance = 0
}
}
}
}
}
}
}

View File

@ -0,0 +1,428 @@
# subcircuit generated using QEDA
li:pcb-rnd-subcircuit-v6 {
ha:subc.1 {
uid = CAPPRD500W60D1000H2000N.
ha:attributes {
footprint = CAPPRD500W60D1000H2000N
}
ha:data {
li:padstack_prototypes {
ha:ps_proto_v6.2 {
htop = 0
hbottom = 0
hdia = 0.800mm
hplated = 1
li:shape {
ha:ps_shape_v4 {
clearance = 0.200mm
li:ps_poly {
-0.600mm
-0.600mm
0.600mm
-0.600mm
0.600mm
0.600mm
-0.600mm
0.600mm
}
ha:layer_mask {
top = 1
copper = 1
}
ha:combining {
}
}
ha:ps_shape_v4 {
clearance = 0
li:ps_poly {
-0.650mm
-0.650mm
0.650mm
-0.650mm
0.650mm
0.650mm
-0.650mm
0.650mm
}
ha:layer_mask {
top = 1
mask = 1
}
ha:combining {
sub = 1
auto = 1
}
}
ha:ps_shape_v4 {
clearance = 0.200mm
li:ps_poly {
-0.600mm
-0.600mm
0.600mm
-0.600mm
0.600mm
0.600mm
-0.600mm
0.600mm
}
ha:layer_mask {
intern = 1
copper = 1
}
ha:combining {
}
}
ha:ps_shape_v4 {
clearance = 0.200mm
li:ps_poly {
-0.600mm
-0.600mm
0.600mm
-0.600mm
0.600mm
0.600mm
-0.600mm
0.600mm
}
ha:layer_mask {
bottom = 1
copper = 1
}
ha:combining {
}
}
ha:ps_shape_v4 {
clearance = 0
li:ps_poly {
-0.650mm
-0.650mm
0.650mm
-0.650mm
0.650mm
0.650mm
-0.650mm
0.650mm
}
ha:layer_mask {
bottom = 1
mask = 1
}
ha:combining {
sub = 1
auto = 1
}
}
}
}
ha:ps_proto_v6.3 {
htop = 0
hbottom = 0
hdia = 0.800mm
hplated = 1
li:shape {
ha:ps_shape_v4 {
clearance = 0.200mm
ha:ps_circ {
x = 0
y = 0
dia = 1.200mm
}
ha:layer_mask {
top = 1
copper = 1
}
ha:combining {
}
}
ha:ps_shape_v4 {
clearance = 0
ha:ps_circ {
x = 0
y = 0
dia = 1.250mm
}
ha:layer_mask {
top = 1
mask = 1
}
ha:combining {
sub = 1
auto = 1
}
}
ha:ps_shape_v4 {
clearance = 0.200mm
ha:ps_circ {
x = 0
y = 0
dia = 1.200mm
}
ha:layer_mask {
intern = 1
copper = 1
}
ha:combining {
}
}
ha:ps_shape_v4 {
clearance = 0.200mm
ha:ps_circ {
x = 0
y = 0
dia = 1.200mm
}
ha:layer_mask {
bottom = 1
copper = 1
}
ha:combining {
}
}
ha:ps_shape_v4 {
clearance = 0
ha:ps_circ {
x = 0
y = 0
dia = 1.250mm
}
ha:layer_mask {
bottom = 1
mask = 1
}
ha:combining {
sub = 1
auto = 1
}
}
}
}
}
li:objects {
ha:padstack_ref.17 {
proto = 2
rot = 0
x = 0.000mm
y = -2.500mm
ha:attributes {
term = 1
name = 1
}
clearance = 0.200mm
ha:flags {
clearline = 1
}
}
ha:padstack_ref.18 {
proto = 3
rot = 0
x = 0.000mm
y = 2.500mm
ha:attributes {
term = 2
name = 2
}
clearance = 0.200mm
ha:flags {
clearline = 1
}
}
}
li:layers {
ha:subc-aux {
lid = 0
ha:type {
top = 1
misc = 1
virtual = 1
}
li:objects {
ha:line.19 {
clearance = 0
thickness = 0.1mm
ha:attributes {
subc-role = origin
}
x1 = 0.000mm
x2 = 0.000mm
y1 = 0.000mm
y2 = 0.000mm
}
ha:line.20 {
clearance = 0
thickness = 0.1mm
ha:attributes {
subc-role = x
}
x1 = 0.000mm
x2 = 1.000mm
y1 = 0.000mm
y2 = 0.000mm
}
ha:line.21 {
clearance = 0
thickness = 0.1mm
ha:attributes {
subc-role = y
}
x1 = 0.000mm
x2 = 0.000mm
y1 = 0.000mm
y2 = 1.000mm
}
ha:line.22 {
clearance = 0
thickness = 0.1mm
ha:attributes {
subc-role = pnp-origin
}
x1 = 0.000mm
x2 = 0.000mm
y1 = 0.000mm
y2 = 0.000mm
}
}
}
ha:top-silkscreen {
lid = 1
ha:type {
top = 1
silk = 1
}
li:objects {
ha:text.23 {
x = 0.000mm
y = 0.000mm
rot = 0
scale = 100
string = %a.parent.refdes%
fid = 0
ha:flags {
floater = 1
dyntext = 1
}
}
ha:arc.24 {
x = 0.000mm
y = 0.000mm
width = 5.100mm
height = 5.100mm
thickness = 0.200mm
astart = 0
adelta = 360
clearance = 0
}
ha:line.25 {
x1 = -0.900mm
y1 = -5.100mm
x2 = 0.900mm
y2 = -5.100mm
thickness = 0.200mm
clearance = 0
}
ha:line.26 {
x1 = 0.900mm
y1 = -5.100mm
x2 = 0.900mm
y2 = -1.600mm
thickness = 0.200mm
clearance = 0
}
ha:line.27 {
x1 = 0.900mm
y1 = -1.600mm
x2 = -0.900mm
y2 = -1.600mm
thickness = 0.200mm
clearance = 0
}
ha:line.28 {
x1 = -0.900mm
y1 = -1.600mm
x2 = -0.900mm
y2 = -5.100mm
thickness = 0.200mm
clearance = 0
}
}
}
ha:top-assembly {
lid = 2
ha:type {
top = 1
doc = 1
}
purpose = assy
li:objects {
ha:arc.29 {
x = 0.000mm
y = 0.000mm
width = 0.500mm
height = 0.500mm
thickness = 0.100mm
astart = 0
adelta = 360
clearance = 0
}
ha:line.30 {
x1 = -0.700mm
y1 = 0.000mm
x2 = 0.700mm
y2 = 0.000mm
thickness = 0.100mm
clearance = 0
}
ha:line.31 {
x1 = 0.000mm
y1 = -0.700mm
x2 = 0.000mm
y2 = 0.700mm
thickness = 0.100mm
clearance = 0
}
ha:text.32 {
x = 0.000mm
y = 0.000mm
rot = 0
scale = 100
string = CAPPRD500W60D1000H2000N
fid = 0
ha:flags {
floater = 1
}
}
ha:arc.33 {
x = 0.000mm
y = 0.000mm
width = 5.000mm
height = 5.000mm
thickness = 0.100mm
astart = 0
adelta = 360
clearance = 0
}
}
}
ha:top-courtyard {
lid = 3
ha:type {
top = 1
doc = 1
}
purpose = ko.courtyard
li:objects {
ha:arc.34 {
x = 0.000mm
y = 0.000mm
width = 5.250mm
height = 5.250mm
thickness = 0.050mm
astart = 0
adelta = 360
clearance = 0
}
}
}
}
}
}
}

View File

@ -0,0 +1,647 @@
# subcircuit generated using QEDA
li:pcb-rnd-subcircuit-v6 {
ha:subc.1 {
uid = CONNECTOR_906-351A1012D1
ha:attributes {
footprint = CONNECTOR_906-351A1012D10200
}
ha:data {
li:padstack_prototypes {
ha:ps_proto_v6.2 {
htop = 0
hbottom = 0
hdia = 0.800mm
hplated = 1
li:shape {
ha:ps_shape_v4 {
clearance = 0.200mm
ha:ps_circ {
x = 0
y = 0
dia = 1.200mm
}
ha:layer_mask {
top = 1
copper = 1
}
ha:combining {
}
}
ha:ps_shape_v4 {
clearance = 0
ha:ps_circ {
x = 0
y = 0
dia = 1.250mm
}
ha:layer_mask {
top = 1
mask = 1
}
ha:combining {
sub = 1
auto = 1
}
}
ha:ps_shape_v4 {
clearance = 0.200mm
ha:ps_circ {
x = 0
y = 0
dia = 1.200mm
}
ha:layer_mask {
intern = 1
copper = 1
}
ha:combining {
}
}
ha:ps_shape_v4 {
clearance = 0.200mm
ha:ps_circ {
x = 0
y = 0
dia = 1.200mm
}
ha:layer_mask {
bottom = 1
copper = 1
}
ha:combining {
}
}
ha:ps_shape_v4 {
clearance = 0
ha:ps_circ {
x = 0
y = 0
dia = 1.250mm
}
ha:layer_mask {
bottom = 1
mask = 1
}
ha:combining {
sub = 1
auto = 1
}
}
}
}
ha:ps_proto_v6.3 {
htop = 0
hbottom = 0
hdia = 0
hplated = 1
li:shape {
ha:ps_shape_v4 {
clearance = 0
ha:ps_line {
x1 = 0.000mm
y1 = -0.250mm
x2 = 0.000mm
y2 = 0.250mm
thickness = 1.400mm
square = 0
}
ha:layer_mask {
mech = 1
}
ha:combining {
auto = 1
}
}
ha:ps_shape_v4 {
clearance = 0.200mm
ha:ps_line {
x1 = 0.000mm
y1 = -0.250mm
x2 = 0.000mm
y2 = 0.250mm
thickness = 1.900mm
square = 0
}
ha:layer_mask {
top = 1
copper = 1
}
ha:combining {
}
}
ha:ps_shape_v4 {
clearance = 0
ha:ps_line {
x1 = 0.000mm
y1 = -0.250mm
x2 = 0.000mm
y2 = 0.250mm
thickness = 2.000mm
square = 0
}
ha:layer_mask {
top = 1
mask = 1
}
ha:combining {
sub = 1
auto = 1
}
}
ha:ps_shape_v4 {
clearance = 0.200mm
ha:ps_line {
x1 = 0.000mm
y1 = -0.250mm
x2 = 0.000mm
y2 = 0.250mm
thickness = 1.900mm
square = 0
}
ha:layer_mask {
intern = 1
copper = 1
}
ha:combining {
}
}
ha:ps_shape_v4 {
clearance = 0.200mm
ha:ps_line {
x1 = 0.000mm
y1 = -0.250mm
x2 = 0.000mm
y2 = 0.250mm
thickness = 1.900mm
square = 0
}
ha:layer_mask {
bottom = 1
copper = 1
}
ha:combining {
}
}
ha:ps_shape_v4 {
clearance = 0
ha:ps_line {
x1 = 0.000mm
y1 = -0.250mm
x2 = 0.000mm
y2 = 0.250mm
thickness = 2.000mm
square = 0
}
ha:layer_mask {
bottom = 1
mask = 1
}
ha:combining {
sub = 1
auto = 1
}
}
}
}
ha:ps_proto_v6.4 {
htop = 0
hbottom = 0
hdia = 0
hplated = 1
li:shape {
ha:ps_shape_v4 {
clearance = 0
ha:ps_line {
x1 = -0.850mm
y1 = 0.000mm
x2 = 0.850mm
y2 = 0.000mm
thickness = 0.900mm
square = 0
}
ha:layer_mask {
mech = 1
}
ha:combining {
auto = 1
}
}
ha:ps_shape_v4 {
clearance = 0.200mm
ha:ps_line {
x1 = -0.850mm
y1 = 0.000mm
x2 = 0.850mm
y2 = 0.000mm
thickness = 1.400mm
square = 0
}
ha:layer_mask {
top = 1
copper = 1
}
ha:combining {
}
}
ha:ps_shape_v4 {
clearance = 0
ha:ps_line {
x1 = -0.850mm
y1 = 0.000mm
x2 = 0.850mm
y2 = 0.000mm
thickness = 1.500mm
square = 0
}
ha:layer_mask {
top = 1
mask = 1
}
ha:combining {
sub = 1
auto = 1
}
}
ha:ps_shape_v4 {
clearance = 0.200mm
ha:ps_line {
x1 = -0.850mm
y1 = 0.000mm
x2 = 0.850mm
y2 = 0.000mm
thickness = 1.400mm
square = 0
}
ha:layer_mask {
intern = 1
copper = 1
}
ha:combining {
}
}
ha:ps_shape_v4 {
clearance = 0.200mm
ha:ps_line {
x1 = -0.850mm
y1 = 0.000mm
x2 = 0.850mm
y2 = 0.000mm
thickness = 1.400mm
square = 0
}
ha:layer_mask {
bottom = 1
copper = 1
}
ha:combining {
}
}
ha:ps_shape_v4 {
clearance = 0
ha:ps_line {
x1 = -0.850mm
y1 = 0.000mm
x2 = 0.850mm
y2 = 0.000mm
thickness = 1.500mm
square = 0
}
ha:layer_mask {
bottom = 1
mask = 1
}
ha:combining {
sub = 1
auto = 1
}
}
}
}
}
li:objects {
ha:padstack_ref.25 {
proto = 2
rot = 0
x = -2.100mm
y = -5.500mm
ha:attributes {
term = 4
name = 4
}
clearance = 0.200mm
ha:flags {
clearline = 1
}
}
ha:padstack_ref.26 {
proto = 2
rot = 0
x = -0.700mm
y = -5.500mm
ha:attributes {
term = 3
name = 3
}
clearance = 0.200mm
ha:flags {
clearline = 1
}
}
ha:padstack_ref.27 {
proto = 2
rot = 0
x = 0.700mm
y = -5.500mm
ha:attributes {
term = 2
name = 2
}
clearance = 0.200mm
ha:flags {
clearline = 1
}
}
ha:padstack_ref.28 {
proto = 2
rot = 0
x = 2.100mm
y = -5.500mm
ha:attributes {
term = 1
name = 1
}
clearance = 0.200mm
ha:flags {
clearline = 1
}
}
ha:padstack_ref.29 {
proto = 3
rot = 0
x = -3.080mm
y = -3.500mm
ha:attributes {
term = 5
name = 5
}
clearance = 0.200mm
ha:flags {
clearline = 1
}
}
ha:padstack_ref.30 {
proto = 3
rot = 0
x = 3.080mm
y = -3.500mm
ha:attributes {
term = 6
name = 6
}
clearance = 0.200mm
ha:flags {
clearline = 1
}
}
ha:padstack_ref.31 {
proto = 4
rot = 0
x = 0.000mm
y = 2.100mm
ha:attributes {
term = 7
name = 7
}
clearance = 0.200mm
ha:flags {
clearline = 1
}
}
}
li:layers {
ha:subc-aux {
lid = 0
ha:type {
top = 1
misc = 1
virtual = 1
}
li:objects {
ha:line.32 {
clearance = 0
thickness = 0.1mm
ha:attributes {
subc-role = origin
}
x1 = 0.000mm
x2 = 0.000mm
y1 = 0.000mm
y2 = 0.000mm
}
ha:line.33 {
clearance = 0
thickness = 0.1mm
ha:attributes {
subc-role = x
}
x1 = 0.000mm
x2 = 1.000mm
y1 = 0.000mm
y2 = 0.000mm
}
ha:line.34 {
clearance = 0
thickness = 0.1mm
ha:attributes {
subc-role = y
}
x1 = 0.000mm
x2 = 0.000mm
y1 = 0.000mm
y2 = 1.000mm
}
ha:line.35 {
clearance = 0
thickness = 0.1mm
ha:attributes {
subc-role = pnp-origin
}
x1 = 0.000mm
x2 = 0.000mm
y1 = 0.000mm
y2 = 0.000mm
}
}
}
ha:top-silkscreen {
lid = 1
ha:type {
top = 1
silk = 1
}
li:objects {
ha:text.36 {
x = 0.000mm
y = 0.000mm
rot = 0
scale = 100
string = %a.parent.refdes%
fid = 0
ha:flags {
floater = 1
dyntext = 1
}
}
ha:line.37 {
x1 = -3.600mm
y1 = -6.900mm
x2 = 3.600mm
y2 = -6.900mm
thickness = 0.200mm
clearance = 0
}
ha:line.38 {
x1 = 3.600mm
y1 = -6.900mm
x2 = 3.600mm
y2 = -5.000mm
thickness = 0.200mm
clearance = 0
}
ha:line.39 {
x1 = 3.600mm
y1 = -2.000mm
x2 = 3.600mm
y2 = 6.900mm
thickness = 0.200mm
clearance = 0
}
ha:line.40 {
x1 = 3.600mm
y1 = 6.900mm
x2 = -3.600mm
y2 = 6.900mm
thickness = 0.200mm
clearance = 0
}
ha:line.41 {
x1 = -3.600mm
y1 = -6.900mm
x2 = -3.600mm
y2 = -5.000mm
thickness = 0.200mm
clearance = 0
}
ha:line.42 {
x1 = -3.600mm
y1 = -2.000mm
x2 = -3.600mm
y2 = 6.900mm
thickness = 0.200mm
clearance = 0
}
}
}
ha:top-assembly {
lid = 2
ha:type {
top = 1
doc = 1
}
purpose = assy
li:objects {
ha:arc.43 {
x = 0.000mm
y = 0.000mm
width = 0.500mm
height = 0.500mm
thickness = 0.100mm
astart = 0
adelta = 360
clearance = 0
}
ha:line.44 {
x1 = -0.700mm
y1 = 0.000mm
x2 = 0.700mm
y2 = 0.000mm
thickness = 0.100mm
clearance = 0
}
ha:line.45 {
x1 = 0.000mm
y1 = -0.700mm
x2 = 0.000mm
y2 = 0.700mm
thickness = 0.100mm
clearance = 0
}
ha:text.46 {
x = 0.000mm
y = 0.000mm
rot = 90
scale = 100
string = CONNECTOR_906-351A1012D10200
fid = 0
ha:flags {
floater = 1
}
}
ha:line.47 {
x1 = -3.500mm
y1 = -6.800mm
x2 = 3.500mm
y2 = -6.800mm
thickness = 0.100mm
clearance = 0
}
ha:line.48 {
x1 = 3.500mm
y1 = -6.800mm
x2 = 3.500mm
y2 = 6.800mm
thickness = 0.100mm
clearance = 0
}
ha:line.49 {
x1 = 3.500mm
y1 = 6.800mm
x2 = -3.500mm
y2 = 6.800mm
thickness = 0.100mm
clearance = 0
}
ha:line.50 {
x1 = -3.500mm
y1 = 6.800mm
x2 = -3.500mm
y2 = -6.800mm
thickness = 0.100mm
clearance = 0
}
}
}
ha:top-courtyard {
lid = 3
ha:type {
top = 1
doc = 1
}
purpose = ko.courtyard
li:objects {
ha:polygon.51 {
li:geometry {
ta:contour {
{ -4.280mm; -7.050mm }
{ 4.280mm; -7.050mm }
{ 4.280mm; 7.050mm }
{ -4.280mm; 7.050mm }
}
}
}
}
}
}
}
}
}

View File

@ -0,0 +1,487 @@
# subcircuit generated using QEDA
li:pcb-rnd-subcircuit-v6 {
ha:subc.1 {
uid = CONNECTOR_921-111A1010D1
ha:attributes {
footprint = CONNECTOR_921-111A1010D10200
}
ha:data {
li:padstack_prototypes {
ha:ps_proto_v6.2 {
htop = 0
hbottom = 0
hdia = 0.900mm
hplated = 1
li:shape {
ha:ps_shape_v4 {
clearance = 0.200mm
ha:ps_circ {
x = 0
y = 0
dia = 1.400mm
}
ha:layer_mask {
top = 1
copper = 1
}
ha:combining {
}
}
ha:ps_shape_v4 {
clearance = 0
ha:ps_circ {
x = 0
y = 0
dia = 1.450mm
}
ha:layer_mask {
top = 1
mask = 1
}
ha:combining {
sub = 1
auto = 1
}
}
ha:ps_shape_v4 {
clearance = 0.200mm
ha:ps_circ {
x = 0
y = 0
dia = 1.400mm
}
ha:layer_mask {
intern = 1
copper = 1
}
ha:combining {
}
}
ha:ps_shape_v4 {
clearance = 0.200mm
ha:ps_circ {
x = 0
y = 0
dia = 1.400mm
}
ha:layer_mask {
bottom = 1
copper = 1
}
ha:combining {
}
}
ha:ps_shape_v4 {
clearance = 0
ha:ps_circ {
x = 0
y = 0
dia = 1.450mm
}
ha:layer_mask {
bottom = 1
mask = 1
}
ha:combining {
sub = 1
auto = 1
}
}
}
}
ha:ps_proto_v6.3 {
htop = 0
hbottom = 0
hdia = 2.300mm
hplated = 1
li:shape {
ha:ps_shape_v4 {
clearance = 0.200mm
ha:ps_circ {
x = 0
y = 0
dia = 2.800mm
}
ha:layer_mask {
top = 1
copper = 1
}
ha:combining {
}
}
ha:ps_shape_v4 {
clearance = 0
ha:ps_circ {
x = 0
y = 0
dia = 2.850mm
}
ha:layer_mask {
top = 1
mask = 1
}
ha:combining {
sub = 1
auto = 1
}
}
ha:ps_shape_v4 {
clearance = 0.200mm
ha:ps_circ {
x = 0
y = 0
dia = 2.800mm
}
ha:layer_mask {
intern = 1
copper = 1
}
ha:combining {
}
}
ha:ps_shape_v4 {
clearance = 0.200mm
ha:ps_circ {
x = 0
y = 0
dia = 2.800mm
}
ha:layer_mask {
bottom = 1
copper = 1
}
ha:combining {
}
}
ha:ps_shape_v4 {
clearance = 0
ha:ps_circ {
x = 0
y = 0
dia = 2.850mm
}
ha:layer_mask {
bottom = 1
mask = 1
}
ha:combining {
sub = 1
auto = 1
}
}
}
}
}
li:objects {
ha:padstack_ref.24 {
proto = 2
rot = 0
x = -1.250mm
y = -6.910mm
ha:attributes {
term = 2
name = 2
}
clearance = 0.200mm
ha:flags {
clearline = 1
}
}
ha:padstack_ref.25 {
proto = 2
rot = 0
x = 1.250mm
y = -6.910mm
ha:attributes {
term = 1
name = 1
}
clearance = 0.200mm
ha:flags {
clearline = 1
}
}
ha:padstack_ref.26 {
proto = 2
rot = 0
x = -1.250mm
y = -4.910mm
ha:attributes {
term = 3
name = 3
}
clearance = 0.200mm
ha:flags {
clearline = 1
}
}
ha:padstack_ref.27 {
proto = 2
rot = 0
x = 1.250mm
y = -4.910mm
ha:attributes {
term = 4
name = 4
}
clearance = 0.200mm
ha:flags {
clearline = 1
}
}
ha:padstack_ref.28 {
proto = 3
rot = 0
x = -6.020mm
y = -2.200mm
ha:attributes {
term = 5
name = 5
}
clearance = 0.200mm
ha:flags {
clearline = 1
}
}
ha:padstack_ref.29 {
proto = 3
rot = 0
x = 6.020mm
y = -2.200mm
ha:attributes {
term = 6
name = 6
}
clearance = 0.200mm
ha:flags {
clearline = 1
}
}
}
li:layers {
ha:subc-aux {
lid = 0
ha:type {
top = 1
misc = 1
virtual = 1
}
li:objects {
ha:line.30 {
clearance = 0
thickness = 0.1mm
ha:attributes {
subc-role = origin
}
x1 = 0.000mm
x2 = 0.000mm
y1 = 0.000mm
y2 = 0.000mm
}
ha:line.31 {
clearance = 0
thickness = 0.1mm
ha:attributes {
subc-role = x
}
x1 = 0.000mm
x2 = 1.000mm
y1 = 0.000mm
y2 = 0.000mm
}
ha:line.32 {
clearance = 0
thickness = 0.1mm
ha:attributes {
subc-role = y
}
x1 = 0.000mm
x2 = 0.000mm
y1 = 0.000mm
y2 = 1.000mm
}
ha:line.33 {
clearance = 0
thickness = 0.1mm
ha:attributes {
subc-role = pnp-origin
}
x1 = 0.000mm
x2 = 0.000mm
y1 = 0.000mm
y2 = 0.000mm
}
}
}
ha:top-silkscreen {
lid = 1
ha:type {
top = 1
silk = 1
}
li:objects {
ha:text.34 {
x = 0.000mm
y = 0.000mm
rot = 0
scale = 100
string = %a.parent.refdes%
fid = 0
ha:flags {
floater = 1
dyntext = 1
}
}
ha:line.35 {
x1 = -6.150mm
y1 = -8.250mm
x2 = 6.150mm
y2 = -8.250mm
thickness = 0.200mm
clearance = 0
}
ha:line.36 {
x1 = 6.150mm
y1 = -8.250mm
x2 = 6.150mm
y2 = -3.900mm
thickness = 0.200mm
clearance = 0
}
ha:line.37 {
x1 = 6.150mm
y1 = -0.500mm
x2 = 6.150mm
y2 = 8.250mm
thickness = 0.200mm
clearance = 0
}
ha:line.38 {
x1 = 6.150mm
y1 = 8.250mm
x2 = -6.150mm
y2 = 8.250mm
thickness = 0.200mm
clearance = 0
}
ha:line.39 {
x1 = -6.150mm
y1 = -8.250mm
x2 = -6.150mm
y2 = -3.900mm
thickness = 0.200mm
clearance = 0
}
ha:line.40 {
x1 = -6.150mm
y1 = -0.500mm
x2 = -6.150mm
y2 = 8.250mm
thickness = 0.200mm
clearance = 0
}
}
}
ha:top-assembly {
lid = 2
ha:type {
top = 1
doc = 1
}
purpose = assy
li:objects {
ha:arc.41 {
x = 0.000mm
y = 0.000mm
width = 0.500mm
height = 0.500mm
thickness = 0.100mm
astart = 0
adelta = 360
clearance = 0
}
ha:line.42 {
x1 = -0.700mm
y1 = 0.000mm
x2 = 0.700mm
y2 = 0.000mm
thickness = 0.100mm
clearance = 0
}
ha:line.43 {
x1 = 0.000mm
y1 = -0.700mm
x2 = 0.000mm
y2 = 0.700mm
thickness = 0.100mm
clearance = 0
}
ha:text.44 {
x = 0.000mm
y = 0.000mm
rot = 90
scale = 100
string = CONNECTOR_921-111A1010D10200
fid = 0
ha:flags {
floater = 1
}
}
ha:line.45 {
x1 = -6.050mm
y1 = -8.150mm
x2 = 6.050mm
y2 = -8.150mm
thickness = 0.100mm
clearance = 0
}
ha:line.46 {
x1 = 6.050mm
y1 = -8.150mm
x2 = 6.050mm
y2 = 8.150mm
thickness = 0.100mm
clearance = 0
}
ha:line.47 {
x1 = 6.050mm
y1 = 8.150mm
x2 = -6.050mm
y2 = 8.150mm
thickness = 0.100mm
clearance = 0
}
ha:line.48 {
x1 = -6.050mm
y1 = 8.150mm
x2 = -6.050mm
y2 = -8.150mm
thickness = 0.100mm
clearance = 0
}
}
}
ha:top-courtyard {
lid = 3
ha:type {
top = 1
doc = 1
}
purpose = ko.courtyard
li:objects {
ha:polygon.49 {
li:geometry {
ta:contour {
{ -7.670mm; -8.400mm }
{ 7.670mm; -8.400mm }
{ 7.670mm; 8.400mm }
{ -7.670mm; 8.400mm }
}
}
}
}
}
}
}
}
}

View File

@ -0,0 +1,509 @@
# subcircuit generated using QEDA
li:pcb-rnd-subcircuit-v6 {
ha:subc.1 {
uid = CONNECTOR_DC-005_2.0....
ha:attributes {
footprint = CONNECTOR_DC-005_2.0
}
ha:data {
li:padstack_prototypes {
ha:ps_proto_v6.2 {
htop = 0
hbottom = 0
hdia = 0
hplated = 1
li:shape {
ha:ps_shape_v4 {
clearance = 0
ha:ps_line {
x1 = 0.000mm
y1 = -1.350mm
x2 = 0.000mm
y2 = 1.350mm
thickness = 0.800mm
square = 0
}
ha:layer_mask {
mech = 1
}
ha:combining {
auto = 1
}
}
ha:ps_shape_v4 {
clearance = 0.200mm
ha:ps_line {
x1 = 0.000mm
y1 = -1.350mm
x2 = 0.000mm
y2 = 1.350mm
thickness = 1.300mm
square = 0
}
ha:layer_mask {
top = 1
copper = 1
}
ha:combining {
}
}
ha:ps_shape_v4 {
clearance = 0
ha:ps_line {
x1 = 0.000mm
y1 = -1.350mm
x2 = 0.000mm
y2 = 1.350mm
thickness = 1.400mm
square = 0
}
ha:layer_mask {
top = 1
mask = 1
}
ha:combining {
sub = 1
auto = 1
}
}
ha:ps_shape_v4 {
clearance = 0.200mm
ha:ps_line {
x1 = 0.000mm
y1 = -1.350mm
x2 = 0.000mm
y2 = 1.350mm
thickness = 1.300mm
square = 0
}
ha:layer_mask {
intern = 1
copper = 1
}
ha:combining {
}
}
ha:ps_shape_v4 {
clearance = 0.200mm
ha:ps_line {
x1 = 0.000mm
y1 = -1.350mm
x2 = 0.000mm
y2 = 1.350mm
thickness = 1.300mm
square = 0
}
ha:layer_mask {
bottom = 1
copper = 1
}
ha:combining {
}
}
ha:ps_shape_v4 {
clearance = 0
ha:ps_line {
x1 = 0.000mm
y1 = -1.350mm
x2 = 0.000mm
y2 = 1.350mm
thickness = 1.400mm
square = 0
}
ha:layer_mask {
bottom = 1
mask = 1
}
ha:combining {
sub = 1
auto = 1
}
}
}
}
ha:ps_proto_v6.3 {
htop = 0
hbottom = 0
hdia = 0
hplated = 1
li:shape {
ha:ps_shape_v4 {
clearance = 0
ha:ps_line {
x1 = -1.350mm
y1 = 0.000mm
x2 = 1.350mm
y2 = 0.000mm
thickness = 0.800mm
square = 0
}
ha:layer_mask {
mech = 1
}
ha:combining {
auto = 1
}
}
ha:ps_shape_v4 {
clearance = 0.200mm
ha:ps_line {
x1 = -1.350mm
y1 = 0.000mm
x2 = 1.350mm
y2 = 0.000mm
thickness = 1.300mm
square = 0
}
ha:layer_mask {
top = 1
copper = 1
}
ha:combining {
}
}
ha:ps_shape_v4 {
clearance = 0
ha:ps_line {
x1 = -1.350mm
y1 = 0.000mm
x2 = 1.350mm
y2 = 0.000mm
thickness = 1.400mm
square = 0
}
ha:layer_mask {
top = 1
mask = 1
}
ha:combining {
sub = 1
auto = 1
}
}
ha:ps_shape_v4 {
clearance = 0.200mm
ha:ps_line {
x1 = -1.350mm
y1 = 0.000mm
x2 = 1.350mm
y2 = 0.000mm
thickness = 1.300mm
square = 0
}
ha:layer_mask {
intern = 1
copper = 1
}
ha:combining {
}
}
ha:ps_shape_v4 {
clearance = 0.200mm
ha:ps_line {
x1 = -1.350mm
y1 = 0.000mm
x2 = 1.350mm
y2 = 0.000mm
thickness = 1.300mm
square = 0
}
ha:layer_mask {
bottom = 1
copper = 1
}
ha:combining {
}
}
ha:ps_shape_v4 {
clearance = 0
ha:ps_line {
x1 = -1.350mm
y1 = 0.000mm
x2 = 1.350mm
y2 = 0.000mm
thickness = 1.400mm
square = 0
}
ha:layer_mask {
bottom = 1
mask = 1
}
ha:combining {
sub = 1
auto = 1
}
}
}
}
}
li:objects {
ha:padstack_ref.24 {
proto = 2
rot = 0
x = -6.400mm
y = 0.000mm
ha:attributes {
term = 1
name = 1
}
clearance = 0.200mm
ha:flags {
clearline = 1
}
}
ha:padstack_ref.25 {
proto = 2
rot = 0
x = -0.400mm
y = 0.000mm
ha:attributes {
term = 2
name = 2
}
clearance = 0.200mm
ha:flags {
clearline = 1
}
}
ha:padstack_ref.26 {
proto = 3
rot = 0
x = -3.900mm
y = -4.800mm
ha:attributes {
term = 3
name = 3
}
clearance = 0.200mm
ha:flags {
clearline = 1
}
}
}
li:layers {
ha:subc-aux {
lid = 0
ha:type {
top = 1
misc = 1
virtual = 1
}
li:objects {
ha:line.27 {
clearance = 0
thickness = 0.1mm
ha:attributes {
subc-role = origin
}
x1 = 0.000mm
x2 = 0.000mm
y1 = 0.000mm
y2 = 0.000mm
}
ha:line.28 {
clearance = 0
thickness = 0.1mm
ha:attributes {
subc-role = x
}
x1 = 0.000mm
x2 = 1.000mm
y1 = 0.000mm
y2 = 0.000mm
}
ha:line.29 {
clearance = 0
thickness = 0.1mm
ha:attributes {
subc-role = y
}
x1 = 0.000mm
x2 = 0.000mm
y1 = 0.000mm
y2 = 1.000mm
}
ha:line.30 {
clearance = 0
thickness = 0.1mm
ha:attributes {
subc-role = pnp-origin
}
x1 = 0.000mm
x2 = 0.000mm
y1 = 0.000mm
y2 = 0.000mm
}
}
}
ha:top-silkscreen {
lid = 1
ha:type {
top = 1
silk = 1
}
li:objects {
ha:text.31 {
x = 0.000mm
y = 0.000mm
rot = 0
scale = 100
string = %a.parent.refdes%
fid = 0
ha:flags {
floater = 1
dyntext = 1
}
}
ha:line.32 {
x1 = -7.200mm
y1 = -4.500mm
x2 = -6.200mm
y2 = -4.500mm
thickness = 0.200mm
clearance = 0
}
ha:line.33 {
x1 = -1.600mm
y1 = -4.500mm
x2 = 7.200mm
y2 = -4.500mm
thickness = 0.200mm
clearance = 0
}
ha:line.34 {
x1 = 7.200mm
y1 = -4.500mm
x2 = 7.200mm
y2 = 4.500mm
thickness = 0.200mm
clearance = 0
}
ha:line.35 {
x1 = 7.200mm
y1 = 4.500mm
x2 = -7.200mm
y2 = 4.500mm
thickness = 0.200mm
clearance = 0
}
ha:line.36 {
x1 = -7.200mm
y1 = -4.500mm
x2 = -7.200mm
y2 = -2.300mm
thickness = 0.200mm
clearance = 0
}
ha:line.37 {
x1 = -7.200mm
y1 = 2.300mm
x2 = -7.200mm
y2 = 4.500mm
thickness = 0.200mm
clearance = 0
}
}
}
ha:top-assembly {
lid = 2
ha:type {
top = 1
doc = 1
}
purpose = assy
li:objects {
ha:arc.38 {
x = 0.000mm
y = 0.000mm
width = 0.500mm
height = 0.500mm
thickness = 0.100mm
astart = 0
adelta = 360
clearance = 0
}
ha:line.39 {
x1 = -0.700mm
y1 = 0.000mm
x2 = 0.700mm
y2 = 0.000mm
thickness = 0.100mm
clearance = 0
}
ha:line.40 {
x1 = 0.000mm
y1 = -0.700mm
x2 = 0.000mm
y2 = 0.700mm
thickness = 0.100mm
clearance = 0
}
ha:text.41 {
x = 0.000mm
y = 0.000mm
rot = 0
scale = 100
string = CONNECTOR_DC-005_2.0
fid = 0
ha:flags {
floater = 1
}
}
ha:line.42 {
x1 = -7.100mm
y1 = -4.400mm
x2 = 7.100mm
y2 = -4.400mm
thickness = 0.100mm
clearance = 0
}
ha:line.43 {
x1 = 7.100mm
y1 = -4.400mm
x2 = 7.100mm
y2 = 4.400mm
thickness = 0.100mm
clearance = 0
}
ha:line.44 {
x1 = 7.100mm
y1 = 4.400mm
x2 = -7.100mm
y2 = 4.400mm
thickness = 0.100mm
clearance = 0
}
ha:line.45 {
x1 = -7.100mm
y1 = 4.400mm
x2 = -7.100mm
y2 = -4.400mm
thickness = 0.100mm
clearance = 0
}
}
}
ha:top-courtyard {
lid = 3
ha:type {
top = 1
doc = 1
}
purpose = ko.courtyard
li:objects {
ha:polygon.46 {
li:geometry {
ta:contour {
{ -7.350mm; -5.700mm }
{ 7.350mm; -5.700mm }
{ 7.350mm; 4.650mm }
{ -7.350mm; 4.650mm }
}
}
}
}
}
}
}
}
}

View File

@ -0,0 +1,504 @@
# subcircuit generated using QEDA
li:pcb-rnd-subcircuit-v6 {
ha:subc.1 {
uid = CONNECTOR_HEADER-2.54-1X
ha:attributes {
footprint = CONNECTOR_HEADER-2.54-1X6
}
ha:data {
li:padstack_prototypes {
ha:ps_proto_v6.2 {
htop = 0
hbottom = 0
hdia = 1.000mm
hplated = 1
li:shape {
ha:ps_shape_v4 {
clearance = 0.200mm
li:ps_poly {
-0.750mm
-0.750mm
0.750mm
-0.750mm
0.750mm
0.750mm
-0.750mm
0.750mm
}
ha:layer_mask {
top = 1
copper = 1
}
ha:combining {
}
}
ha:ps_shape_v4 {
clearance = 0
li:ps_poly {
-0.800mm
-0.800mm
0.800mm
-0.800mm
0.800mm
0.800mm
-0.800mm
0.800mm
}
ha:layer_mask {
top = 1
mask = 1
}
ha:combining {
sub = 1
auto = 1
}
}
ha:ps_shape_v4 {
clearance = 0.200mm
li:ps_poly {
-0.750mm
-0.750mm
0.750mm
-0.750mm
0.750mm
0.750mm
-0.750mm
0.750mm
}
ha:layer_mask {
intern = 1
copper = 1
}
ha:combining {
}
}
ha:ps_shape_v4 {
clearance = 0.200mm
li:ps_poly {
-0.750mm
-0.750mm
0.750mm
-0.750mm
0.750mm
0.750mm
-0.750mm
0.750mm
}
ha:layer_mask {
bottom = 1
copper = 1
}
ha:combining {
}
}
ha:ps_shape_v4 {
clearance = 0
li:ps_poly {
-0.800mm
-0.800mm
0.800mm
-0.800mm
0.800mm
0.800mm
-0.800mm
0.800mm
}
ha:layer_mask {
bottom = 1
mask = 1
}
ha:combining {
sub = 1
auto = 1
}
}
}
}
ha:ps_proto_v6.3 {
htop = 0
hbottom = 0
hdia = 1.000mm
hplated = 1
li:shape {
ha:ps_shape_v4 {
clearance = 0.200mm
ha:ps_circ {
x = 0
y = 0
dia = 1.500mm
}
ha:layer_mask {
top = 1
copper = 1
}
ha:combining {
}
}
ha:ps_shape_v4 {
clearance = 0
ha:ps_circ {
x = 0
y = 0
dia = 1.550mm
}
ha:layer_mask {
top = 1
mask = 1
}
ha:combining {
sub = 1
auto = 1
}
}
ha:ps_shape_v4 {
clearance = 0.200mm
ha:ps_circ {
x = 0
y = 0
dia = 1.500mm
}
ha:layer_mask {
intern = 1
copper = 1
}
ha:combining {
}
}
ha:ps_shape_v4 {
clearance = 0.200mm
ha:ps_circ {
x = 0
y = 0
dia = 1.500mm
}
ha:layer_mask {
bottom = 1
copper = 1
}
ha:combining {
}
}
ha:ps_shape_v4 {
clearance = 0
ha:ps_circ {
x = 0
y = 0
dia = 1.550mm
}
ha:layer_mask {
bottom = 1
mask = 1
}
ha:combining {
sub = 1
auto = 1
}
}
}
}
}
li:objects {
ha:padstack_ref.23 {
proto = 2
rot = 0
x = 0.000mm
y = -6.350mm
ha:attributes {
term = 1
name = 1
}
clearance = 0.200mm
ha:flags {
clearline = 1
}
}
ha:padstack_ref.24 {
proto = 3
rot = 0
x = 0.000mm
y = -3.810mm
ha:attributes {
term = 2
name = 2
}
clearance = 0.200mm
ha:flags {
clearline = 1
}
}
ha:padstack_ref.25 {
proto = 3
rot = 0
x = 0.000mm
y = -1.270mm
ha:attributes {
term = 3
name = 3
}
clearance = 0.200mm
ha:flags {
clearline = 1
}
}
ha:padstack_ref.26 {
proto = 3
rot = 0
x = 0.000mm
y = 1.270mm
ha:attributes {
term = 4
name = 4
}
clearance = 0.200mm
ha:flags {
clearline = 1
}
}
ha:padstack_ref.27 {
proto = 3
rot = 0
x = 0.000mm
y = 3.810mm
ha:attributes {
term = 5
name = 5
}
clearance = 0.200mm
ha:flags {
clearline = 1
}
}
ha:padstack_ref.28 {
proto = 3
rot = 0
x = 0.000mm
y = 6.350mm
ha:attributes {
term = 6
name = 6
}
clearance = 0.200mm
ha:flags {
clearline = 1
}
}
}
li:layers {
ha:subc-aux {
lid = 0
ha:type {
top = 1
misc = 1
virtual = 1
}
li:objects {
ha:line.29 {
clearance = 0
thickness = 0.1mm
ha:attributes {
subc-role = origin
}
x1 = 0.000mm
x2 = 0.000mm
y1 = 0.000mm
y2 = 0.000mm
}
ha:line.30 {
clearance = 0
thickness = 0.1mm
ha:attributes {
subc-role = x
}
x1 = 0.000mm
x2 = 1.000mm
y1 = 0.000mm
y2 = 0.000mm
}
ha:line.31 {
clearance = 0
thickness = 0.1mm
ha:attributes {
subc-role = y
}
x1 = 0.000mm
x2 = 0.000mm
y1 = 0.000mm
y2 = 1.000mm
}
ha:line.32 {
clearance = 0
thickness = 0.1mm
ha:attributes {
subc-role = pnp-origin
}
x1 = 0.000mm
x2 = 0.000mm
y1 = 0.000mm
y2 = 0.000mm
}
}
}
ha:top-silkscreen {
lid = 1
ha:type {
top = 1
silk = 1
}
li:objects {
ha:text.33 {
x = 0.000mm
y = 0.000mm
rot = 0
scale = 100
string = %a.parent.refdes%
fid = 0
ha:flags {
floater = 1
dyntext = 1
}
}
ha:line.34 {
x1 = -1.305mm
y1 = -7.720mm
x2 = 1.305mm
y2 = -7.720mm
thickness = 0.200mm
clearance = 0
}
ha:line.35 {
x1 = 1.305mm
y1 = -7.720mm
x2 = 1.305mm
y2 = 7.720mm
thickness = 0.200mm
clearance = 0
}
ha:line.36 {
x1 = 1.305mm
y1 = 7.720mm
x2 = -1.305mm
y2 = 7.720mm
thickness = 0.200mm
clearance = 0
}
ha:line.37 {
x1 = -1.305mm
y1 = 7.720mm
x2 = -1.305mm
y2 = -7.720mm
thickness = 0.200mm
clearance = 0
}
}
}
ha:top-assembly {
lid = 2
ha:type {
top = 1
doc = 1
}
purpose = assy
li:objects {
ha:arc.38 {
x = 0.000mm
y = 0.000mm
width = 0.500mm
height = 0.500mm
thickness = 0.100mm
astart = 0
adelta = 360
clearance = 0
}
ha:line.39 {
x1 = -0.700mm
y1 = 0.000mm
x2 = 0.700mm
y2 = 0.000mm
thickness = 0.100mm
clearance = 0
}
ha:line.40 {
x1 = 0.000mm
y1 = -0.700mm
x2 = 0.000mm
y2 = 0.700mm
thickness = 0.100mm
clearance = 0
}
ha:text.41 {
x = 0.000mm
y = 0.000mm
rot = 90
scale = 100
string = CONNECTOR_HEADER-2.54-1X6
fid = 0
ha:flags {
floater = 1
}
}
ha:line.42 {
x1 = -0.205mm
y1 = -7.620mm
x2 = 1.205mm
y2 = -7.620mm
thickness = 0.100mm
clearance = 0
}
ha:line.43 {
x1 = 1.205mm
y1 = -7.620mm
x2 = 1.205mm
y2 = 7.620mm
thickness = 0.100mm
clearance = 0
}
ha:line.44 {
x1 = 1.205mm
y1 = 7.620mm
x2 = -1.205mm
y2 = 7.620mm
thickness = 0.100mm
clearance = 0
}
ha:line.45 {
x1 = -1.205mm
y1 = 7.620mm
x2 = -1.205mm
y2 = -6.620mm
thickness = 0.100mm
clearance = 0
}
ha:line.46 {
x1 = -1.205mm
y1 = -6.620mm
x2 = -0.205mm
y2 = -7.620mm
thickness = 0.100mm
clearance = 0
}
}
}
ha:top-courtyard {
lid = 3
ha:type {
top = 1
doc = 1
}
purpose = ko.courtyard
li:objects {
ha:polygon.47 {
li:geometry {
ta:contour {
{ -1.455mm; -7.870mm }
{ 1.455mm; -7.870mm }
{ 1.455mm; 7.870mm }
{ -1.455mm; 7.870mm }
}
}
}
}
}
}
}
}
}

View File

@ -0,0 +1,504 @@
# subcircuit generated using QEDA
li:pcb-rnd-subcircuit-v6 {
ha:subc.1 {
uid = CONNECTOR_HEADER-2.54-2X
ha:attributes {
footprint = CONNECTOR_HEADER-2.54-2X3
}
ha:data {
li:padstack_prototypes {
ha:ps_proto_v6.2 {
htop = 0
hbottom = 0
hdia = 1.000mm
hplated = 1
li:shape {
ha:ps_shape_v4 {
clearance = 0.200mm
li:ps_poly {
-0.750mm
-0.750mm
0.750mm
-0.750mm
0.750mm
0.750mm
-0.750mm
0.750mm
}
ha:layer_mask {
top = 1
copper = 1
}
ha:combining {
}
}
ha:ps_shape_v4 {
clearance = 0
li:ps_poly {
-0.800mm
-0.800mm
0.800mm
-0.800mm
0.800mm
0.800mm
-0.800mm
0.800mm
}
ha:layer_mask {
top = 1
mask = 1
}
ha:combining {
sub = 1
auto = 1
}
}
ha:ps_shape_v4 {
clearance = 0.200mm
li:ps_poly {
-0.750mm
-0.750mm
0.750mm
-0.750mm
0.750mm
0.750mm
-0.750mm
0.750mm
}
ha:layer_mask {
intern = 1
copper = 1
}
ha:combining {
}
}
ha:ps_shape_v4 {
clearance = 0.200mm
li:ps_poly {
-0.750mm
-0.750mm
0.750mm
-0.750mm
0.750mm
0.750mm
-0.750mm
0.750mm
}
ha:layer_mask {
bottom = 1
copper = 1
}
ha:combining {
}
}
ha:ps_shape_v4 {
clearance = 0
li:ps_poly {
-0.800mm
-0.800mm
0.800mm
-0.800mm
0.800mm
0.800mm
-0.800mm
0.800mm
}
ha:layer_mask {
bottom = 1
mask = 1
}
ha:combining {
sub = 1
auto = 1
}
}
}
}
ha:ps_proto_v6.3 {
htop = 0
hbottom = 0
hdia = 1.000mm
hplated = 1
li:shape {
ha:ps_shape_v4 {
clearance = 0.200mm
ha:ps_circ {
x = 0
y = 0
dia = 1.500mm
}
ha:layer_mask {
top = 1
copper = 1
}
ha:combining {
}
}
ha:ps_shape_v4 {
clearance = 0
ha:ps_circ {
x = 0
y = 0
dia = 1.550mm
}
ha:layer_mask {
top = 1
mask = 1
}
ha:combining {
sub = 1
auto = 1
}
}
ha:ps_shape_v4 {
clearance = 0.200mm
ha:ps_circ {
x = 0
y = 0
dia = 1.500mm
}
ha:layer_mask {
intern = 1
copper = 1
}
ha:combining {
}
}
ha:ps_shape_v4 {
clearance = 0.200mm
ha:ps_circ {
x = 0
y = 0
dia = 1.500mm
}
ha:layer_mask {
bottom = 1
copper = 1
}
ha:combining {
}
}
ha:ps_shape_v4 {
clearance = 0
ha:ps_circ {
x = 0
y = 0
dia = 1.550mm
}
ha:layer_mask {
bottom = 1
mask = 1
}
ha:combining {
sub = 1
auto = 1
}
}
}
}
}
li:objects {
ha:padstack_ref.23 {
proto = 2
rot = 0
x = -1.270mm
y = -2.540mm
ha:attributes {
term = 1
name = 1
}
clearance = 0.200mm
ha:flags {
clearline = 1
}
}
ha:padstack_ref.24 {
proto = 3
rot = 0
x = 1.270mm
y = -2.540mm
ha:attributes {
term = 2
name = 2
}
clearance = 0.200mm
ha:flags {
clearline = 1
}
}
ha:padstack_ref.25 {
proto = 3
rot = 0
x = -1.270mm
y = 0.000mm
ha:attributes {
term = 3
name = 3
}
clearance = 0.200mm
ha:flags {
clearline = 1
}
}
ha:padstack_ref.26 {
proto = 3
rot = 0
x = 1.270mm
y = 0.000mm
ha:attributes {
term = 4
name = 4
}
clearance = 0.200mm
ha:flags {
clearline = 1
}
}
ha:padstack_ref.27 {
proto = 3
rot = 0
x = -1.270mm
y = 2.540mm
ha:attributes {
term = 5
name = 5
}
clearance = 0.200mm
ha:flags {
clearline = 1
}
}
ha:padstack_ref.28 {
proto = 3
rot = 0
x = 1.270mm
y = 2.540mm
ha:attributes {
term = 6
name = 6
}
clearance = 0.200mm
ha:flags {
clearline = 1
}
}
}
li:layers {
ha:subc-aux {
lid = 0
ha:type {
top = 1
misc = 1
virtual = 1
}
li:objects {
ha:line.29 {
clearance = 0
thickness = 0.1mm
ha:attributes {
subc-role = origin
}
x1 = 0.000mm
x2 = 0.000mm
y1 = 0.000mm
y2 = 0.000mm
}
ha:line.30 {
clearance = 0
thickness = 0.1mm
ha:attributes {
subc-role = x
}
x1 = 0.000mm
x2 = 1.000mm
y1 = 0.000mm
y2 = 0.000mm
}
ha:line.31 {
clearance = 0
thickness = 0.1mm
ha:attributes {
subc-role = y
}
x1 = 0.000mm
x2 = 0.000mm
y1 = 0.000mm
y2 = 1.000mm
}
ha:line.32 {
clearance = 0
thickness = 0.1mm
ha:attributes {
subc-role = pnp-origin
}
x1 = 0.000mm
x2 = 0.000mm
y1 = 0.000mm
y2 = 0.000mm
}
}
}
ha:top-silkscreen {
lid = 1
ha:type {
top = 1
silk = 1
}
li:objects {
ha:text.33 {
x = 0.000mm
y = 0.000mm
rot = 0
scale = 100
string = %a.parent.refdes%
fid = 0
ha:flags {
floater = 1
dyntext = 1
}
}
ha:line.34 {
x1 = -2.515mm
y1 = -3.910mm
x2 = 2.515mm
y2 = -3.910mm
thickness = 0.200mm
clearance = 0
}
ha:line.35 {
x1 = 2.515mm
y1 = -3.910mm
x2 = 2.515mm
y2 = 3.910mm
thickness = 0.200mm
clearance = 0
}
ha:line.36 {
x1 = 2.515mm
y1 = 3.910mm
x2 = -2.515mm
y2 = 3.910mm
thickness = 0.200mm
clearance = 0
}
ha:line.37 {
x1 = -2.515mm
y1 = 3.910mm
x2 = -2.515mm
y2 = -3.910mm
thickness = 0.200mm
clearance = 0
}
}
}
ha:top-assembly {
lid = 2
ha:type {
top = 1
doc = 1
}
purpose = assy
li:objects {
ha:arc.38 {
x = 0.000mm
y = 0.000mm
width = 0.500mm
height = 0.500mm
thickness = 0.100mm
astart = 0
adelta = 360
clearance = 0
}
ha:line.39 {
x1 = -0.700mm
y1 = 0.000mm
x2 = 0.700mm
y2 = 0.000mm
thickness = 0.100mm
clearance = 0
}
ha:line.40 {
x1 = 0.000mm
y1 = -0.700mm
x2 = 0.000mm
y2 = 0.700mm
thickness = 0.100mm
clearance = 0
}
ha:text.41 {
x = 0.000mm
y = 0.000mm
rot = 90
scale = 100
string = CONNECTOR_HEADER-2.54-2X3
fid = 0
ha:flags {
floater = 1
}
}
ha:line.42 {
x1 = -1.415mm
y1 = -3.810mm
x2 = 2.415mm
y2 = -3.810mm
thickness = 0.100mm
clearance = 0
}
ha:line.43 {
x1 = 2.415mm
y1 = -3.810mm
x2 = 2.415mm
y2 = 3.810mm
thickness = 0.100mm
clearance = 0
}
ha:line.44 {
x1 = 2.415mm
y1 = 3.810mm
x2 = -2.415mm
y2 = 3.810mm
thickness = 0.100mm
clearance = 0
}
ha:line.45 {
x1 = -2.415mm
y1 = 3.810mm
x2 = -2.415mm
y2 = -2.810mm
thickness = 0.100mm
clearance = 0
}
ha:line.46 {
x1 = -2.415mm
y1 = -2.810mm
x2 = -1.415mm
y2 = -3.810mm
thickness = 0.100mm
clearance = 0
}
}
}
ha:top-courtyard {
lid = 3
ha:type {
top = 1
doc = 1
}
purpose = ko.courtyard
li:objects {
ha:polygon.47 {
li:geometry {
ta:contour {
{ -2.665mm; -4.060mm }
{ 2.665mm; -4.060mm }
{ 2.665mm; 4.060mm }
{ -2.665mm; 4.060mm }
}
}
}
}
}
}
}
}
}

View File

@ -0,0 +1,307 @@
# subcircuit generated using QEDA
li:pcb-rnd-subcircuit-v6 {
ha:subc.1 {
uid = FUSC3215X117N...........
ha:attributes {
footprint = FUSC3215X117N
}
ha:data {
li:padstack_prototypes {
ha:ps_proto_v6.2 {
htop = 0
hbottom = 0
hdia = 0
hplated = 0
li:shape {
ha:ps_shape_v4 {
clearance = 0.200mm
li:ps_poly {
-0.975mm
-0.700mm
0.975mm
-0.700mm
0.975mm
0.700mm
-0.975mm
0.700mm
}
ha:layer_mask {
top = 1
copper = 1
}
ha:combining {
}
}
ha:ps_shape_v4 {
clearance = 0
li:ps_poly {
-1.025mm
-0.750mm
1.025mm
-0.750mm
1.025mm
0.750mm
-1.025mm
0.750mm
}
ha:layer_mask {
top = 1
mask = 1
}
ha:combining {
sub = 1
auto = 1
}
}
ha:ps_shape_v4 {
clearance = 0
li:ps_poly {
-0.975mm
-0.700mm
0.975mm
-0.700mm
0.975mm
0.700mm
-0.975mm
0.700mm
}
ha:layer_mask {
top = 1
paste = 1
}
ha:combining {
auto = 1
}
}
}
}
}
li:objects {
ha:padstack_ref.23 {
proto = 2
rot = 0
x = 0.000mm
y = -1.500mm
ha:attributes {
term = 1
name = 1
}
clearance = 0.200mm
ha:flags {
clearline = 1
}
}
ha:padstack_ref.24 {
proto = 2
rot = 0
x = 0.000mm
y = 1.500mm
ha:attributes {
term = 2
name = 2
}
clearance = 0.200mm
ha:flags {
clearline = 1
}
}
}
li:layers {
ha:subc-aux {
lid = 0
ha:type {
top = 1
misc = 1
virtual = 1
}
li:objects {
ha:line.25 {
clearance = 0
thickness = 0.1mm
ha:attributes {
subc-role = origin
}
x1 = 0.000mm
x2 = 0.000mm
y1 = 0.000mm
y2 = 0.000mm
}
ha:line.26 {
clearance = 0
thickness = 0.1mm
ha:attributes {
subc-role = x
}
x1 = 0.000mm
x2 = 1.000mm
y1 = 0.000mm
y2 = 0.000mm
}
ha:line.27 {
clearance = 0
thickness = 0.1mm
ha:attributes {
subc-role = y
}
x1 = 0.000mm
x2 = 0.000mm
y1 = 0.000mm
y2 = 1.000mm
}
ha:line.28 {
clearance = 0
thickness = 0.1mm
ha:attributes {
subc-role = pnp-origin
}
x1 = 0.000mm
x2 = 0.000mm
y1 = 0.000mm
y2 = 0.000mm
}
}
}
ha:top-silkscreen {
lid = 1
ha:type {
top = 1
silk = 1
}
li:objects {
ha:text.29 {
x = 0.000mm
y = 0.000mm
rot = 0
scale = 100
string = %a.parent.refdes%
fid = 0
ha:flags {
floater = 1
dyntext = 1
}
}
ha:line.30 {
x1 = -1.275mm
y1 = -1.700mm
x2 = -1.275mm
y2 = 1.700mm
thickness = 0.200mm
clearance = 0
}
ha:line.31 {
x1 = 1.275mm
y1 = -1.700mm
x2 = 1.275mm
y2 = 1.700mm
thickness = 0.200mm
clearance = 0
}
}
}
ha:top-assembly {
lid = 2
ha:type {
top = 1
doc = 1
}
purpose = assy
li:objects {
ha:arc.32 {
x = 0.000mm
y = 0.000mm
width = 0.500mm
height = 0.500mm
thickness = 0.100mm
astart = 0
adelta = 360
clearance = 0
}
ha:line.33 {
x1 = -0.700mm
y1 = 0.000mm
x2 = 0.700mm
y2 = 0.000mm
thickness = 0.100mm
clearance = 0
}
ha:line.34 {
x1 = 0.000mm
y1 = -0.700mm
x2 = 0.000mm
y2 = 0.700mm
thickness = 0.100mm
clearance = 0
}
ha:text.35 {
x = 0.000mm
y = 0.000mm
rot = 90
scale = 99
string = FUSC3215X117N
fid = 0
ha:flags {
floater = 1
}
}
ha:line.36 {
x1 = -0.750mm
y1 = -1.600mm
x2 = 0.750mm
y2 = -1.600mm
thickness = 0.100mm
clearance = 0
}
ha:line.37 {
x1 = 0.750mm
y1 = -1.600mm
x2 = 0.750mm
y2 = 1.600mm
thickness = 0.100mm
clearance = 0
}
ha:line.38 {
x1 = 0.750mm
y1 = 1.600mm
x2 = -0.750mm
y2 = 1.600mm
thickness = 0.100mm
clearance = 0
}
ha:line.39 {
x1 = -0.750mm
y1 = 1.600mm
x2 = -0.750mm
y2 = -1.600mm
thickness = 0.100mm
clearance = 0
}
}
}
ha:top-courtyard {
lid = 3
ha:type {
top = 1
doc = 1
}
purpose = ko.courtyard
li:objects {
ha:polygon.40 {
li:geometry {
ta:contour {
{ -1.225mm; -2.450mm }
{ -1.225mm; -1.850mm }
{ -1.225mm; 1.850mm }
{ -1.225mm; 2.450mm }
{ 1.225mm; 2.450mm }
{ 1.225mm; 1.850mm }
{ 1.225mm; -1.850mm }
{ 1.225mm; -2.450mm }
}
}
}
}
}
}
}
}
}

View File

@ -0,0 +1,343 @@
# subcircuit generated using QEDA
li:pcb-rnd-subcircuit-v6 {
ha:subc.1 {
uid = INDC120120X800N.........
ha:attributes {
footprint = INDC120120X800N
}
ha:data {
li:padstack_prototypes {
ha:ps_proto_v6.2 {
htop = 0
hbottom = 0
hdia = 0
hplated = 0
li:shape {
ha:ps_shape_v4 {
clearance = 0.200mm
li:ps_poly {
-3.775mm
-3.575mm
3.775mm
-3.575mm
3.775mm
3.575mm
-3.775mm
3.575mm
}
ha:layer_mask {
top = 1
copper = 1
}
ha:combining {
}
}
ha:ps_shape_v4 {
clearance = 0
li:ps_poly {
-3.825mm
-3.625mm
3.825mm
-3.625mm
3.825mm
3.625mm
-3.825mm
3.625mm
}
ha:layer_mask {
top = 1
mask = 1
}
ha:combining {
sub = 1
auto = 1
}
}
ha:ps_shape_v4 {
clearance = 0
li:ps_poly {
-3.775mm
-3.575mm
3.775mm
-3.575mm
3.775mm
3.575mm
-3.775mm
3.575mm
}
ha:layer_mask {
top = 1
paste = 1
}
ha:combining {
auto = 1
}
}
}
}
}
li:objects {
ha:padstack_ref.31 {
proto = 2
rot = 0
x = 0.000mm
y = -6.500mm
ha:attributes {
term = 1
name = 1
}
clearance = 0.200mm
ha:flags {
clearline = 1
}
}
ha:padstack_ref.32 {
proto = 2
rot = 0
x = 0.000mm
y = 6.500mm
ha:attributes {
term = 2
name = 2
}
clearance = 0.200mm
ha:flags {
clearline = 1
}
}
}
li:layers {
ha:subc-aux {
lid = 0
ha:type {
top = 1
misc = 1
virtual = 1
}
li:objects {
ha:line.33 {
clearance = 0
thickness = 0.1mm
ha:attributes {
subc-role = origin
}
x1 = 0.000mm
x2 = 0.000mm
y1 = 0.000mm
y2 = 0.000mm
}
ha:line.34 {
clearance = 0
thickness = 0.1mm
ha:attributes {
subc-role = x
}
x1 = 0.000mm
x2 = 1.000mm
y1 = 0.000mm
y2 = 0.000mm
}
ha:line.35 {
clearance = 0
thickness = 0.1mm
ha:attributes {
subc-role = y
}
x1 = 0.000mm
x2 = 0.000mm
y1 = 0.000mm
y2 = 1.000mm
}
ha:line.36 {
clearance = 0
thickness = 0.1mm
ha:attributes {
subc-role = pnp-origin
}
x1 = 0.000mm
x2 = 0.000mm
y1 = 0.000mm
y2 = 0.000mm
}
}
}
ha:top-silkscreen {
lid = 1
ha:type {
top = 1
silk = 1
}
li:objects {
ha:text.37 {
x = 0.000mm
y = 0.000mm
rot = 0
scale = 100
string = %a.parent.refdes%
fid = 0
ha:flags {
floater = 1
dyntext = 1
}
}
ha:line.38 {
x1 = -6.100mm
y1 = -6.100mm
x2 = -6.100mm
y2 = 6.100mm
thickness = 0.200mm
clearance = 0
}
ha:line.39 {
x1 = 6.100mm
y1 = -6.100mm
x2 = 6.100mm
y2 = 6.100mm
thickness = 0.200mm
clearance = 0
}
ha:line.40 {
x1 = -4.075mm
y1 = -6.100mm
x2 = -6.100mm
y2 = -6.100mm
thickness = 0.200mm
clearance = 0
}
ha:line.41 {
x1 = -4.075mm
y1 = 6.100mm
x2 = -6.100mm
y2 = 6.100mm
thickness = 0.200mm
clearance = 0
}
ha:line.42 {
x1 = 4.075mm
y1 = -6.100mm
x2 = 6.100mm
y2 = -6.100mm
thickness = 0.200mm
clearance = 0
}
ha:line.43 {
x1 = 4.075mm
y1 = 6.100mm
x2 = 6.100mm
y2 = 6.100mm
thickness = 0.200mm
clearance = 0
}
}
}
ha:top-assembly {
lid = 2
ha:type {
top = 1
doc = 1
}
purpose = assy
li:objects {
ha:arc.44 {
x = 0.000mm
y = 0.000mm
width = 0.500mm
height = 0.500mm
thickness = 0.100mm
astart = 0
adelta = 360
clearance = 0
}
ha:line.45 {
x1 = -0.700mm
y1 = 0.000mm
x2 = 0.700mm
y2 = 0.000mm
thickness = 0.100mm
clearance = 0
}
ha:line.46 {
x1 = 0.000mm
y1 = -0.700mm
x2 = 0.000mm
y2 = 0.700mm
thickness = 0.100mm
clearance = 0
}
ha:text.47 {
x = 0.000mm
y = 0.000mm
rot = 0
scale = 100
string = INDC120120X800N
fid = 0
ha:flags {
floater = 1
}
}
ha:line.48 {
x1 = -6.000mm
y1 = -6.000mm
x2 = 6.000mm
y2 = -6.000mm
thickness = 0.100mm
clearance = 0
}
ha:line.49 {
x1 = 6.000mm
y1 = -6.000mm
x2 = 6.000mm
y2 = 6.000mm
thickness = 0.100mm
clearance = 0
}
ha:line.50 {
x1 = 6.000mm
y1 = 6.000mm
x2 = -6.000mm
y2 = 6.000mm
thickness = 0.100mm
clearance = 0
}
ha:line.51 {
x1 = -6.000mm
y1 = 6.000mm
x2 = -6.000mm
y2 = -6.000mm
thickness = 0.100mm
clearance = 0
}
}
}
ha:top-courtyard {
lid = 3
ha:type {
top = 1
doc = 1
}
purpose = ko.courtyard
li:objects {
ha:polygon.52 {
li:geometry {
ta:contour {
{ -4.025mm; -10.325mm }
{ -4.025mm; -6.250mm }
{ -6.250mm; -6.250mm }
{ -6.250mm; 6.250mm }
{ -4.025mm; 6.250mm }
{ -4.025mm; 10.325mm }
{ 4.025mm; 10.325mm }
{ 4.025mm; 6.250mm }
{ 6.250mm; 6.250mm }
{ 6.250mm; -6.250mm }
{ 4.025mm; -6.250mm }
{ 4.025mm; -10.325mm }
}
}
}
}
}
}
}
}
}

View File

@ -0,0 +1,335 @@
# subcircuit generated using QEDA
li:pcb-rnd-subcircuit-v6 {
ha:subc.1 {
uid = INDUCTOR_SLH............
ha:attributes {
footprint = INDUCTOR_SLH
}
ha:data {
li:padstack_prototypes {
ha:ps_proto_v6.2 {
htop = 0
hbottom = 0
hdia = 0
hplated = 0
li:shape {
ha:ps_shape_v4 {
clearance = 0.200mm
li:ps_poly {
-2.700mm
-1.450mm
2.700mm
-1.450mm
2.700mm
1.450mm
-2.700mm
1.450mm
}
ha:layer_mask {
top = 1
copper = 1
}
ha:combining {
}
}
ha:ps_shape_v4 {
clearance = 0
li:ps_poly {
-2.750mm
-1.500mm
2.750mm
-1.500mm
2.750mm
1.500mm
-2.750mm
1.500mm
}
ha:layer_mask {
top = 1
mask = 1
}
ha:combining {
sub = 1
auto = 1
}
}
ha:ps_shape_v4 {
clearance = 0
li:ps_poly {
-2.700mm
-1.450mm
2.700mm
-1.450mm
2.700mm
1.450mm
-2.700mm
1.450mm
}
ha:layer_mask {
top = 1
paste = 1
}
ha:combining {
auto = 1
}
}
}
}
}
li:objects {
ha:padstack_ref.23 {
proto = 2
rot = 0
x = 0.000mm
y = -5.000mm
ha:attributes {
term = 1
name = 1
}
clearance = 0.200mm
ha:flags {
clearline = 1
}
}
ha:padstack_ref.24 {
proto = 2
rot = 0
x = 0.000mm
y = 5.000mm
ha:attributes {
term = 2
name = 2
}
clearance = 0.200mm
ha:flags {
clearline = 1
}
}
}
li:layers {
ha:subc-aux {
lid = 0
ha:type {
top = 1
misc = 1
virtual = 1
}
li:objects {
ha:line.25 {
clearance = 0
thickness = 0.1mm
ha:attributes {
subc-role = origin
}
x1 = 0.000mm
x2 = 0.000mm
y1 = 0.000mm
y2 = 0.000mm
}
ha:line.26 {
clearance = 0
thickness = 0.1mm
ha:attributes {
subc-role = x
}
x1 = 0.000mm
x2 = 1.000mm
y1 = 0.000mm
y2 = 0.000mm
}
ha:line.27 {
clearance = 0
thickness = 0.1mm
ha:attributes {
subc-role = y
}
x1 = 0.000mm
x2 = 0.000mm
y1 = 0.000mm
y2 = 1.000mm
}
ha:line.28 {
clearance = 0
thickness = 0.1mm
ha:attributes {
subc-role = pnp-origin
}
x1 = 0.000mm
x2 = 0.000mm
y1 = 0.000mm
y2 = 0.000mm
}
}
}
ha:top-silkscreen {
lid = 1
ha:type {
top = 1
silk = 1
}
li:objects {
ha:text.29 {
x = 0.000mm
y = 0.000mm
rot = 0
scale = 100
string = %a.parent.refdes%
fid = 0
ha:flags {
floater = 1
dyntext = 1
}
}
ha:line.30 {
x1 = -6.100mm
y1 = -6.100mm
x2 = -3.000mm
y2 = -6.100mm
thickness = 0.200mm
clearance = 0
}
ha:line.31 {
x1 = 3.000mm
y1 = -6.100mm
x2 = 6.100mm
y2 = -6.100mm
thickness = 0.200mm
clearance = 0
}
ha:line.32 {
x1 = 6.100mm
y1 = -6.100mm
x2 = 6.100mm
y2 = 6.100mm
thickness = 0.200mm
clearance = 0
}
ha:line.33 {
x1 = -6.100mm
y1 = 6.100mm
x2 = -3.000mm
y2 = 6.100mm
thickness = 0.200mm
clearance = 0
}
ha:line.34 {
x1 = 3.000mm
y1 = 6.100mm
x2 = 6.100mm
y2 = 6.100mm
thickness = 0.200mm
clearance = 0
}
ha:line.35 {
x1 = -6.100mm
y1 = 6.100mm
x2 = -6.100mm
y2 = -6.100mm
thickness = 0.200mm
clearance = 0
}
}
}
ha:top-assembly {
lid = 2
ha:type {
top = 1
doc = 1
}
purpose = assy
li:objects {
ha:arc.36 {
x = 0.000mm
y = 0.000mm
width = 0.500mm
height = 0.500mm
thickness = 0.100mm
astart = 0
adelta = 360
clearance = 0
}
ha:line.37 {
x1 = -0.700mm
y1 = 0.000mm
x2 = 0.700mm
y2 = 0.000mm
thickness = 0.100mm
clearance = 0
}
ha:line.38 {
x1 = 0.000mm
y1 = -0.700mm
x2 = 0.000mm
y2 = 0.700mm
thickness = 0.100mm
clearance = 0
}
ha:text.39 {
x = 0.000mm
y = 0.000mm
rot = 0
scale = 100
string = INDUCTOR_SLH
fid = 0
ha:flags {
floater = 1
}
}
ha:line.40 {
x1 = -6.000mm
y1 = -6.000mm
x2 = 6.000mm
y2 = -6.000mm
thickness = 0.100mm
clearance = 0
}
ha:line.41 {
x1 = 6.000mm
y1 = -6.000mm
x2 = 6.000mm
y2 = 6.000mm
thickness = 0.100mm
clearance = 0
}
ha:line.42 {
x1 = 6.000mm
y1 = 6.000mm
x2 = -6.000mm
y2 = 6.000mm
thickness = 0.100mm
clearance = 0
}
ha:line.43 {
x1 = -6.000mm
y1 = 6.000mm
x2 = -6.000mm
y2 = -6.000mm
thickness = 0.100mm
clearance = 0
}
}
}
ha:top-courtyard {
lid = 3
ha:type {
top = 1
doc = 1
}
purpose = ko.courtyard
li:objects {
ha:polygon.44 {
li:geometry {
ta:contour {
{ -6.250mm; -6.700mm }
{ 6.250mm; -6.700mm }
{ 6.250mm; 6.700mm }
{ -6.250mm; 6.700mm }
}
}
}
}
}
}
}
}
}

View File

@ -0,0 +1,339 @@
# subcircuit generated using QEDA
li:pcb-rnd-subcircuit-v6 {
ha:subc.1 {
uid = LEDC2012X80N............
ha:attributes {
footprint = LEDC2012X80N
}
ha:data {
li:padstack_prototypes {
ha:ps_proto_v6.2 {
htop = 0
hbottom = 0
hdia = 0
hplated = 0
li:shape {
ha:ps_shape_v4 {
clearance = 0.200mm
li:ps_poly {
-0.800mm
-0.550mm
0.800mm
-0.550mm
0.800mm
0.550mm
-0.800mm
0.550mm
}
ha:layer_mask {
top = 1
copper = 1
}
ha:combining {
}
}
ha:ps_shape_v4 {
clearance = 0
li:ps_poly {
-0.850mm
-0.600mm
0.850mm
-0.600mm
0.850mm
0.600mm
-0.850mm
0.600mm
}
ha:layer_mask {
top = 1
mask = 1
}
ha:combining {
sub = 1
auto = 1
}
}
ha:ps_shape_v4 {
clearance = 0
li:ps_poly {
-0.800mm
-0.550mm
0.800mm
-0.550mm
0.800mm
0.550mm
-0.800mm
0.550mm
}
ha:layer_mask {
top = 1
paste = 1
}
ha:combining {
auto = 1
}
}
}
}
}
li:objects {
ha:padstack_ref.27 {
proto = 2
rot = 0
x = 0.000mm
y = -0.900mm
ha:attributes {
term = 1
name = 1
}
clearance = 0.200mm
ha:flags {
clearline = 1
}
}
ha:padstack_ref.28 {
proto = 2
rot = 0
x = 0.000mm
y = 0.900mm
ha:attributes {
term = 2
name = 2
}
clearance = 0.200mm
ha:flags {
clearline = 1
}
}
}
li:layers {
ha:subc-aux {
lid = 0
ha:type {
top = 1
misc = 1
virtual = 1
}
li:objects {
ha:line.29 {
clearance = 0
thickness = 0.1mm
ha:attributes {
subc-role = origin
}
x1 = 0.000mm
x2 = 0.000mm
y1 = 0.000mm
y2 = 0.000mm
}
ha:line.30 {
clearance = 0
thickness = 0.1mm
ha:attributes {
subc-role = x
}
x1 = 0.000mm
x2 = 1.000mm
y1 = 0.000mm
y2 = 0.000mm
}
ha:line.31 {
clearance = 0
thickness = 0.1mm
ha:attributes {
subc-role = y
}
x1 = 0.000mm
x2 = 0.000mm
y1 = 0.000mm
y2 = 1.000mm
}
ha:line.32 {
clearance = 0
thickness = 0.1mm
ha:attributes {
subc-role = pnp-origin
}
x1 = 0.000mm
x2 = 0.000mm
y1 = 0.000mm
y2 = 0.000mm
}
}
}
ha:top-silkscreen {
lid = 1
ha:type {
top = 1
silk = 1
}
li:objects {
ha:text.33 {
x = 0.000mm
y = 0.000mm
rot = 0
scale = 100
string = %a.parent.refdes%
fid = 0
ha:flags {
floater = 1
dyntext = 1
}
}
ha:line.34 {
x1 = -1.100mm
y1 = -1.100mm
x2 = -1.100mm
y2 = 1.100mm
thickness = 0.200mm
clearance = 0
}
ha:line.35 {
x1 = 1.100mm
y1 = -1.100mm
x2 = 1.100mm
y2 = 1.100mm
thickness = 0.200mm
clearance = 0
}
ha:line.36 {
x1 = -1.100mm
y1 = -1.100mm
x2 = -1.100mm
y2 = -1.750mm
thickness = 0.200mm
clearance = 0
}
ha:line.37 {
x1 = -1.100mm
y1 = -1.750mm
x2 = 1.100mm
y2 = -1.750mm
thickness = 0.200mm
clearance = 0
}
ha:line.38 {
x1 = 1.100mm
y1 = -1.750mm
x2 = 1.100mm
y2 = -1.100mm
thickness = 0.200mm
clearance = 0
}
}
}
ha:top-assembly {
lid = 2
ha:type {
top = 1
doc = 1
}
purpose = assy
li:objects {
ha:arc.39 {
x = 0.000mm
y = 0.000mm
width = 0.500mm
height = 0.500mm
thickness = 0.100mm
astart = 0
adelta = 360
clearance = 0
}
ha:line.40 {
x1 = -0.700mm
y1 = 0.000mm
x2 = 0.700mm
y2 = 0.000mm
thickness = 0.100mm
clearance = 0
}
ha:line.41 {
x1 = 0.000mm
y1 = -0.700mm
x2 = 0.000mm
y2 = 0.700mm
thickness = 0.100mm
clearance = 0
}
ha:text.42 {
x = 0.000mm
y = 0.000mm
rot = 90
scale = 79
string = LEDC2012X80N
fid = 0
ha:flags {
floater = 1
}
}
ha:line.43 {
x1 = 0.000mm
y1 = -1.000mm
x2 = 0.600mm
y2 = -1.000mm
thickness = 0.100mm
clearance = 0
}
ha:line.44 {
x1 = 0.600mm
y1 = -1.000mm
x2 = 0.600mm
y2 = 1.000mm
thickness = 0.100mm
clearance = 0
}
ha:line.45 {
x1 = 0.600mm
y1 = 1.000mm
x2 = -0.600mm
y2 = 1.000mm
thickness = 0.100mm
clearance = 0
}
ha:line.46 {
x1 = -0.600mm
y1 = 1.000mm
x2 = -0.600mm
y2 = -0.400mm
thickness = 0.100mm
clearance = 0
}
ha:line.47 {
x1 = -0.600mm
y1 = -0.400mm
x2 = 0.000mm
y2 = -1.000mm
thickness = 0.100mm
clearance = 0
}
}
}
ha:top-courtyard {
lid = 3
ha:type {
top = 1
doc = 1
}
purpose = ko.courtyard
li:objects {
ha:polygon.48 {
li:geometry {
ta:contour {
{ -1.050mm; -1.700mm }
{ -1.050mm; -1.250mm }
{ -1.050mm; 1.250mm }
{ -1.050mm; 1.700mm }
{ 1.050mm; 1.700mm }
{ 1.050mm; 1.250mm }
{ 1.050mm; -1.250mm }
{ 1.050mm; -1.700mm }
}
}
}
}
}
}
}
}
}

View File

@ -0,0 +1,537 @@
# subcircuit generated using QEDA
li:pcb-rnd-subcircuit-v6 {
ha:subc.1 {
uid = MECHANICAL_SS12F44G5....
ha:attributes {
footprint = MECHANICAL_SS12F44G5
}
ha:data {
li:padstack_prototypes {
ha:ps_proto_v6.2 {
htop = 0
hbottom = 0
hdia = 0
hplated = 1
li:shape {
ha:ps_shape_v4 {
clearance = 0
ha:ps_line {
x1 = -0.150mm
y1 = 0.000mm
x2 = 0.150mm
y2 = 0.000mm
thickness = 0.600mm
square = 0
}
ha:layer_mask {
mech = 1
}
ha:combining {
auto = 1
}
}
ha:ps_shape_v4 {
clearance = 0.200mm
ha:ps_line {
x1 = -0.150mm
y1 = 0.000mm
x2 = 0.150mm
y2 = 0.000mm
thickness = 1.100mm
square = 0
}
ha:layer_mask {
top = 1
copper = 1
}
ha:combining {
}
}
ha:ps_shape_v4 {
clearance = 0
ha:ps_line {
x1 = -0.150mm
y1 = 0.000mm
x2 = 0.150mm
y2 = 0.000mm
thickness = 1.200mm
square = 0
}
ha:layer_mask {
top = 1
mask = 1
}
ha:combining {
sub = 1
auto = 1
}
}
ha:ps_shape_v4 {
clearance = 0.200mm
ha:ps_line {
x1 = -0.150mm
y1 = 0.000mm
x2 = 0.150mm
y2 = 0.000mm
thickness = 1.100mm
square = 0
}
ha:layer_mask {
intern = 1
copper = 1
}
ha:combining {
}
}
ha:ps_shape_v4 {
clearance = 0.200mm
ha:ps_line {
x1 = -0.150mm
y1 = 0.000mm
x2 = 0.150mm
y2 = 0.000mm
thickness = 1.100mm
square = 0
}
ha:layer_mask {
bottom = 1
copper = 1
}
ha:combining {
}
}
ha:ps_shape_v4 {
clearance = 0
ha:ps_line {
x1 = -0.150mm
y1 = 0.000mm
x2 = 0.150mm
y2 = 0.000mm
thickness = 1.200mm
square = 0
}
ha:layer_mask {
bottom = 1
mask = 1
}
ha:combining {
sub = 1
auto = 1
}
}
}
}
ha:ps_proto_v6.3 {
htop = 0
hbottom = 0
hdia = 0
hplated = 1
li:shape {
ha:ps_shape_v4 {
clearance = 0
ha:ps_line {
x1 = 0.000mm
y1 = -0.400mm
x2 = 0.000mm
y2 = 0.400mm
thickness = 0.700mm
square = 0
}
ha:layer_mask {
mech = 1
}
ha:combining {
auto = 1
}
}
ha:ps_shape_v4 {
clearance = 0.200mm
ha:ps_line {
x1 = 0.000mm
y1 = -0.350mm
x2 = 0.000mm
y2 = 0.350mm
thickness = 1.300mm
square = 0
}
ha:layer_mask {
top = 1
copper = 1
}
ha:combining {
}
}
ha:ps_shape_v4 {
clearance = 0
ha:ps_line {
x1 = 0.000mm
y1 = -0.350mm
x2 = 0.000mm
y2 = 0.350mm
thickness = 1.400mm
square = 0
}
ha:layer_mask {
top = 1
mask = 1
}
ha:combining {
sub = 1
auto = 1
}
}
ha:ps_shape_v4 {
clearance = 0.200mm
ha:ps_line {
x1 = 0.000mm
y1 = -0.350mm
x2 = 0.000mm
y2 = 0.350mm
thickness = 1.300mm
square = 0
}
ha:layer_mask {
intern = 1
copper = 1
}
ha:combining {
}
}
ha:ps_shape_v4 {
clearance = 0.200mm
ha:ps_line {
x1 = 0.000mm
y1 = -0.350mm
x2 = 0.000mm
y2 = 0.350mm
thickness = 1.300mm
square = 0
}
ha:layer_mask {
bottom = 1
copper = 1
}
ha:combining {
}
}
ha:ps_shape_v4 {
clearance = 0
ha:ps_line {
x1 = 0.000mm
y1 = -0.350mm
x2 = 0.000mm
y2 = 0.350mm
thickness = 1.400mm
square = 0
}
ha:layer_mask {
bottom = 1
mask = 1
}
ha:combining {
sub = 1
auto = 1
}
}
}
}
}
li:objects {
ha:padstack_ref.24 {
proto = 2
rot = 0
x = -3.000mm
y = 0.000mm
ha:attributes {
term = 1
name = 1
}
clearance = 0.200mm
ha:flags {
clearline = 1
}
}
ha:padstack_ref.25 {
proto = 2
rot = 0
x = 0.000mm
y = 0.000mm
ha:attributes {
term = 2
name = 2
}
clearance = 0.200mm
ha:flags {
clearline = 1
}
}
ha:padstack_ref.26 {
proto = 2
rot = 0
x = 3.000mm
y = 0.000mm
ha:attributes {
term = 3
name = 3
}
clearance = 0.200mm
ha:flags {
clearline = 1
}
}
ha:padstack_ref.27 {
proto = 3
rot = 0
x = -5.800mm
y = 0.000mm
ha:attributes {
term = NC1
name = NC1
}
clearance = 0.200mm
ha:flags {
clearline = 1
}
}
ha:padstack_ref.28 {
proto = 3
rot = 0
x = 5.800mm
y = 0.000mm
ha:attributes {
term = NC2
name = NC2
}
clearance = 0.200mm
ha:flags {
clearline = 1
}
}
}
li:layers {
ha:subc-aux {
lid = 0
ha:type {
top = 1
misc = 1
virtual = 1
}
li:objects {
ha:line.29 {
clearance = 0
thickness = 0.1mm
ha:attributes {
subc-role = origin
}
x1 = 0.000mm
x2 = 0.000mm
y1 = 0.000mm
y2 = 0.000mm
}
ha:line.30 {
clearance = 0
thickness = 0.1mm
ha:attributes {
subc-role = x
}
x1 = 0.000mm
x2 = 1.000mm
y1 = 0.000mm
y2 = 0.000mm
}
ha:line.31 {
clearance = 0
thickness = 0.1mm
ha:attributes {
subc-role = y
}
x1 = 0.000mm
x2 = 0.000mm
y1 = 0.000mm
y2 = 1.000mm
}
ha:line.32 {
clearance = 0
thickness = 0.1mm
ha:attributes {
subc-role = pnp-origin
}
x1 = 0.000mm
x2 = 0.000mm
y1 = 0.000mm
y2 = 0.000mm
}
}
}
ha:top-silkscreen {
lid = 1
ha:type {
top = 1
silk = 1
}
li:objects {
ha:text.33 {
x = 0.000mm
y = 0.000mm
rot = 0
scale = 100
string = %a.parent.refdes%
fid = 0
ha:flags {
floater = 1
dyntext = 1
}
}
ha:line.34 {
x1 = -6.150mm
y1 = -2.900mm
x2 = 6.150mm
y2 = -2.900mm
thickness = 0.200mm
clearance = 0
}
ha:line.35 {
x1 = 6.150mm
y1 = -2.900mm
x2 = 6.150mm
y2 = -1.300mm
thickness = 0.200mm
clearance = 0
}
ha:line.36 {
x1 = 6.150mm
y1 = 1.300mm
x2 = 6.150mm
y2 = 2.900mm
thickness = 0.200mm
clearance = 0
}
ha:line.37 {
x1 = 6.150mm
y1 = 2.900mm
x2 = -6.150mm
y2 = 2.900mm
thickness = 0.200mm
clearance = 0
}
ha:line.38 {
x1 = -6.150mm
y1 = -2.900mm
x2 = -6.150mm
y2 = -1.300mm
thickness = 0.200mm
clearance = 0
}
ha:line.39 {
x1 = -6.150mm
y1 = 1.300mm
x2 = -6.150mm
y2 = 2.900mm
thickness = 0.200mm
clearance = 0
}
}
}
ha:top-assembly {
lid = 2
ha:type {
top = 1
doc = 1
}
purpose = assy
li:objects {
ha:arc.40 {
x = 0.000mm
y = 0.000mm
width = 0.500mm
height = 0.500mm
thickness = 0.100mm
astart = 0
adelta = 360
clearance = 0
}
ha:line.41 {
x1 = -0.700mm
y1 = 0.000mm
x2 = 0.700mm
y2 = 0.000mm
thickness = 0.100mm
clearance = 0
}
ha:line.42 {
x1 = 0.000mm
y1 = -0.700mm
x2 = 0.000mm
y2 = 0.700mm
thickness = 0.100mm
clearance = 0
}
ha:text.43 {
x = 0.000mm
y = 0.000mm
rot = 0
scale = 100
string = MECHANICAL_SS12F44G5
fid = 0
ha:flags {
floater = 1
}
}
ha:line.44 {
x1 = -6.050mm
y1 = -2.800mm
x2 = 6.050mm
y2 = -2.800mm
thickness = 0.100mm
clearance = 0
}
ha:line.45 {
x1 = 6.050mm
y1 = -2.800mm
x2 = 6.050mm
y2 = 2.800mm
thickness = 0.100mm
clearance = 0
}
ha:line.46 {
x1 = 6.050mm
y1 = 2.800mm
x2 = -6.050mm
y2 = 2.800mm
thickness = 0.100mm
clearance = 0
}
ha:line.47 {
x1 = -6.050mm
y1 = 2.800mm
x2 = -6.050mm
y2 = -2.800mm
thickness = 0.100mm
clearance = 0
}
}
}
ha:top-courtyard {
lid = 3
ha:type {
top = 1
doc = 1
}
purpose = ko.courtyard
li:objects {
ha:polygon.48 {
li:geometry {
ta:contour {
{ -6.700mm; -3.050mm }
{ 6.700mm; -3.050mm }
{ 6.700mm; 3.050mm }
{ -6.700mm; 3.050mm }
}
}
}
}
}
}
}
}
}

View File

@ -0,0 +1,371 @@
# subcircuit generated using QEDA
li:pcb-rnd-subcircuit-v6 {
ha:subc.1 {
uid = OSCCC320X250X80N........
ha:attributes {
footprint = OSCCC320X250X80N
}
ha:data {
li:padstack_prototypes {
ha:ps_proto_v6.2 {
htop = 0
hbottom = 0
hdia = 0
hplated = 0
li:shape {
ha:ps_shape_v4 {
clearance = 0.200mm
li:ps_poly {
-0.625mm
-0.575mm
0.625mm
-0.575mm
0.625mm
0.575mm
-0.625mm
0.575mm
}
ha:layer_mask {
top = 1
copper = 1
}
ha:combining {
}
}
ha:ps_shape_v4 {
clearance = 0
li:ps_poly {
-0.675mm
-0.625mm
0.675mm
-0.625mm
0.675mm
0.625mm
-0.675mm
0.625mm
}
ha:layer_mask {
top = 1
mask = 1
}
ha:combining {
sub = 1
auto = 1
}
}
ha:ps_shape_v4 {
clearance = 0
li:ps_poly {
-0.625mm
-0.575mm
0.625mm
-0.575mm
0.625mm
0.575mm
-0.625mm
0.575mm
}
ha:layer_mask {
top = 1
paste = 1
}
ha:combining {
auto = 1
}
}
}
}
}
li:objects {
ha:padstack_ref.24 {
proto = 2
rot = 0
x = -0.713mm
y = -1.113mm
ha:attributes {
term = 1
name = 1
}
clearance = 0.200mm
ha:flags {
clearline = 1
}
}
ha:padstack_ref.25 {
proto = 2
rot = 0
x = -0.713mm
y = 1.113mm
ha:attributes {
term = 2
name = 2
}
clearance = 0.200mm
ha:flags {
clearline = 1
}
}
ha:padstack_ref.26 {
proto = 2
rot = 0
x = 0.713mm
y = -1.113mm
ha:attributes {
term = 4
name = 4
}
clearance = 0.200mm
ha:flags {
clearline = 1
}
}
ha:padstack_ref.27 {
proto = 2
rot = 0
x = 0.713mm
y = 1.113mm
ha:attributes {
term = 3
name = 3
}
clearance = 0.200mm
ha:flags {
clearline = 1
}
}
}
li:layers {
ha:subc-aux {
lid = 0
ha:type {
top = 1
misc = 1
virtual = 1
}
li:objects {
ha:line.28 {
clearance = 0
thickness = 0.1mm
ha:attributes {
subc-role = origin
}
x1 = 0.000mm
x2 = 0.000mm
y1 = 0.000mm
y2 = 0.000mm
}
ha:line.29 {
clearance = 0
thickness = 0.1mm
ha:attributes {
subc-role = x
}
x1 = 0.000mm
x2 = 1.000mm
y1 = 0.000mm
y2 = 0.000mm
}
ha:line.30 {
clearance = 0
thickness = 0.1mm
ha:attributes {
subc-role = y
}
x1 = 0.000mm
x2 = 0.000mm
y1 = 0.000mm
y2 = 1.000mm
}
ha:line.31 {
clearance = 0
thickness = 0.1mm
ha:attributes {
subc-role = pnp-origin
}
x1 = 0.000mm
x2 = 0.000mm
y1 = 0.000mm
y2 = 0.000mm
}
}
}
ha:top-silkscreen {
lid = 1
ha:type {
top = 1
silk = 1
}
li:objects {
ha:text.32 {
x = 0.000mm
y = 0.000mm
rot = 0
scale = 100
string = %a.parent.refdes%
fid = 0
ha:flags {
floater = 1
dyntext = 1
}
}
ha:line.33 {
x1 = -1.350mm
y1 = -1.988mm
x2 = 1.350mm
y2 = -1.988mm
thickness = 0.200mm
clearance = 0
}
ha:line.34 {
x1 = 1.350mm
y1 = -0.237mm
x2 = 1.350mm
y2 = 0.237mm
thickness = 0.200mm
clearance = 0
}
ha:line.35 {
x1 = 1.350mm
y1 = 1.988mm
x2 = -1.350mm
y2 = 1.988mm
thickness = 0.200mm
clearance = 0
}
ha:line.36 {
x1 = -1.350mm
y1 = -0.237mm
x2 = -1.350mm
y2 = 0.237mm
thickness = 0.200mm
clearance = 0
}
ha:line.37 {
x1 = -1.350mm
y1 = -1.988mm
x2 = -1.637mm
y2 = -1.988mm
thickness = 0.200mm
clearance = 0
}
ha:line.38 {
x1 = -1.637mm
y1 = -1.988mm
x2 = -1.637mm
y2 = -0.537mm
thickness = 0.200mm
clearance = 0
}
}
}
ha:top-assembly {
lid = 2
ha:type {
top = 1
doc = 1
}
purpose = assy
li:objects {
ha:arc.39 {
x = 0.000mm
y = 0.000mm
width = 0.500mm
height = 0.500mm
thickness = 0.100mm
astart = 0
adelta = 360
clearance = 0
}
ha:line.40 {
x1 = -0.700mm
y1 = 0.000mm
x2 = 0.700mm
y2 = 0.000mm
thickness = 0.100mm
clearance = 0
}
ha:line.41 {
x1 = 0.000mm
y1 = -0.700mm
x2 = 0.000mm
y2 = 0.700mm
thickness = 0.100mm
clearance = 0
}
ha:text.42 {
x = 0.000mm
y = 0.000mm
rot = 90
scale = 100
string = OSCCC320X250X80N
fid = 0
ha:flags {
floater = 1
}
}
ha:line.43 {
x1 = -0.250mm
y1 = -1.600mm
x2 = 1.250mm
y2 = -1.600mm
thickness = 0.100mm
clearance = 0
}
ha:line.44 {
x1 = 1.250mm
y1 = -1.600mm
x2 = 1.250mm
y2 = 1.600mm
thickness = 0.100mm
clearance = 0
}
ha:line.45 {
x1 = 1.250mm
y1 = 1.600mm
x2 = -1.250mm
y2 = 1.600mm
thickness = 0.100mm
clearance = 0
}
ha:line.46 {
x1 = -1.250mm
y1 = 1.600mm
x2 = -1.250mm
y2 = -0.600mm
thickness = 0.100mm
clearance = 0
}
ha:line.47 {
x1 = -1.250mm
y1 = -0.600mm
x2 = -0.250mm
y2 = -1.600mm
thickness = 0.100mm
clearance = 0
}
}
}
ha:top-courtyard {
lid = 3
ha:type {
top = 1
doc = 1
}
purpose = ko.courtyard
li:objects {
ha:polygon.48 {
li:geometry {
ta:contour {
{ -1.587mm; -1.938mm }
{ 1.587mm; -1.938mm }
{ 1.587mm; 1.938mm }
{ -1.587mm; 1.938mm }
}
}
}
}
}
}
}
}
}

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,307 @@
# subcircuit generated using QEDA
li:pcb-rnd-subcircuit-v6 {
ha:subc.1 {
uid = RESC1608X55N............
ha:attributes {
footprint = RESC1608X55N
}
ha:data {
li:padstack_prototypes {
ha:ps_proto_v6.2 {
htop = 0
hbottom = 0
hdia = 0
hplated = 0
li:shape {
ha:ps_shape_v4 {
clearance = 0.200mm
li:ps_poly {
-0.550mm
-0.375mm
0.550mm
-0.375mm
0.550mm
0.375mm
-0.550mm
0.375mm
}
ha:layer_mask {
top = 1
copper = 1
}
ha:combining {
}
}
ha:ps_shape_v4 {
clearance = 0
li:ps_poly {
-0.600mm
-0.425mm
0.600mm
-0.425mm
0.600mm
0.425mm
-0.600mm
0.425mm
}
ha:layer_mask {
top = 1
mask = 1
}
ha:combining {
sub = 1
auto = 1
}
}
ha:ps_shape_v4 {
clearance = 0
li:ps_poly {
-0.550mm
-0.375mm
0.550mm
-0.375mm
0.550mm
0.375mm
-0.550mm
0.375mm
}
ha:layer_mask {
top = 1
paste = 1
}
ha:combining {
auto = 1
}
}
}
}
}
li:objects {
ha:padstack_ref.23 {
proto = 2
rot = 0
x = 0.000mm
y = -0.700mm
ha:attributes {
term = 1
name = 1
}
clearance = 0.200mm
ha:flags {
clearline = 1
}
}
ha:padstack_ref.24 {
proto = 2
rot = 0
x = 0.000mm
y = 0.700mm
ha:attributes {
term = 2
name = 2
}
clearance = 0.200mm
ha:flags {
clearline = 1
}
}
}
li:layers {
ha:subc-aux {
lid = 0
ha:type {
top = 1
misc = 1
virtual = 1
}
li:objects {
ha:line.25 {
clearance = 0
thickness = 0.1mm
ha:attributes {
subc-role = origin
}
x1 = 0.000mm
x2 = 0.000mm
y1 = 0.000mm
y2 = 0.000mm
}
ha:line.26 {
clearance = 0
thickness = 0.1mm
ha:attributes {
subc-role = x
}
x1 = 0.000mm
x2 = 1.000mm
y1 = 0.000mm
y2 = 0.000mm
}
ha:line.27 {
clearance = 0
thickness = 0.1mm
ha:attributes {
subc-role = y
}
x1 = 0.000mm
x2 = 0.000mm
y1 = 0.000mm
y2 = 1.000mm
}
ha:line.28 {
clearance = 0
thickness = 0.1mm
ha:attributes {
subc-role = pnp-origin
}
x1 = 0.000mm
x2 = 0.000mm
y1 = 0.000mm
y2 = 0.000mm
}
}
}
ha:top-silkscreen {
lid = 1
ha:type {
top = 1
silk = 1
}
li:objects {
ha:text.29 {
x = 0.000mm
y = 0.000mm
rot = 0
scale = 100
string = %a.parent.refdes%
fid = 0
ha:flags {
floater = 1
dyntext = 1
}
}
ha:line.30 {
x1 = -0.850mm
y1 = -0.900mm
x2 = -0.850mm
y2 = 0.900mm
thickness = 0.200mm
clearance = 0
}
ha:line.31 {
x1 = 0.850mm
y1 = -0.900mm
x2 = 0.850mm
y2 = 0.900mm
thickness = 0.200mm
clearance = 0
}
}
}
ha:top-assembly {
lid = 2
ha:type {
top = 1
doc = 1
}
purpose = assy
li:objects {
ha:arc.32 {
x = 0.000mm
y = 0.000mm
width = 0.500mm
height = 0.500mm
thickness = 0.100mm
astart = 0
adelta = 360
clearance = 0
}
ha:line.33 {
x1 = -0.700mm
y1 = 0.000mm
x2 = 0.700mm
y2 = 0.000mm
thickness = 0.100mm
clearance = 0
}
ha:line.34 {
x1 = 0.000mm
y1 = -0.700mm
x2 = 0.000mm
y2 = 0.700mm
thickness = 0.100mm
clearance = 0
}
ha:text.35 {
x = 0.000mm
y = 0.000mm
rot = 90
scale = 53
string = RESC1608X55N
fid = 0
ha:flags {
floater = 1
}
}
ha:line.36 {
x1 = -0.400mm
y1 = -0.800mm
x2 = 0.400mm
y2 = -0.800mm
thickness = 0.100mm
clearance = 0
}
ha:line.37 {
x1 = 0.400mm
y1 = -0.800mm
x2 = 0.400mm
y2 = 0.800mm
thickness = 0.100mm
clearance = 0
}
ha:line.38 {
x1 = 0.400mm
y1 = 0.800mm
x2 = -0.400mm
y2 = 0.800mm
thickness = 0.100mm
clearance = 0
}
ha:line.39 {
x1 = -0.400mm
y1 = 0.800mm
x2 = -0.400mm
y2 = -0.800mm
thickness = 0.100mm
clearance = 0
}
}
}
ha:top-courtyard {
lid = 3
ha:type {
top = 1
doc = 1
}
purpose = ko.courtyard
li:objects {
ha:polygon.40 {
li:geometry {
ta:contour {
{ -0.730mm; -1.255mm }
{ -0.730mm; -0.980mm }
{ -0.730mm; 0.980mm }
{ -0.730mm; 1.255mm }
{ 0.730mm; 1.255mm }
{ 0.730mm; 0.980mm }
{ 0.730mm; -0.980mm }
{ 0.730mm; -1.255mm }
}
}
}
}
}
}
}
}
}

View File

@ -0,0 +1,343 @@
# subcircuit generated using QEDA
li:pcb-rnd-subcircuit-v6 {
ha:subc.1 {
uid = SOD1608X70N.............
ha:attributes {
footprint = SOD1608X70N
}
ha:data {
li:padstack_prototypes {
ha:ps_proto_v6.2 {
htop = 0
hbottom = 0
hdia = 0
hplated = 0
li:shape {
ha:ps_shape_v4 {
clearance = 0.200mm
li:ps_poly {
-0.250mm
-0.563mm
0.250mm
-0.563mm
0.250mm
0.563mm
-0.250mm
0.563mm
}
ha:layer_mask {
top = 1
copper = 1
}
ha:combining {
}
}
ha:ps_shape_v4 {
clearance = 0
li:ps_poly {
-0.287mm
-0.600mm
0.287mm
-0.600mm
0.287mm
0.600mm
-0.287mm
0.600mm
}
ha:layer_mask {
top = 1
mask = 1
}
ha:combining {
sub = 1
auto = 1
}
}
ha:ps_shape_v4 {
clearance = 0
li:ps_poly {
-0.250mm
-0.563mm
0.250mm
-0.563mm
0.250mm
0.563mm
-0.250mm
0.563mm
}
ha:layer_mask {
top = 1
paste = 1
}
ha:combining {
auto = 1
}
}
}
}
}
li:objects {
ha:padstack_ref.31 {
proto = 2
rot = 0
x = 0.000mm
y = -0.700mm
ha:attributes {
term = 1
name = 1
}
clearance = 0.200mm
ha:flags {
clearline = 1
}
}
ha:padstack_ref.32 {
proto = 2
rot = 0
x = 0.000mm
y = 0.700mm
ha:attributes {
term = 2
name = 2
}
clearance = 0.200mm
ha:flags {
clearline = 1
}
}
}
li:layers {
ha:subc-aux {
lid = 0
ha:type {
top = 1
misc = 1
virtual = 1
}
li:objects {
ha:line.33 {
clearance = 0
thickness = 0.1mm
ha:attributes {
subc-role = origin
}
x1 = 0.000mm
x2 = 0.000mm
y1 = 0.000mm
y2 = 0.000mm
}
ha:line.34 {
clearance = 0
thickness = 0.1mm
ha:attributes {
subc-role = x
}
x1 = 0.000mm
x2 = 1.000mm
y1 = 0.000mm
y2 = 0.000mm
}
ha:line.35 {
clearance = 0
thickness = 0.1mm
ha:attributes {
subc-role = y
}
x1 = 0.000mm
x2 = 0.000mm
y1 = 0.000mm
y2 = 1.000mm
}
ha:line.36 {
clearance = 0
thickness = 0.1mm
ha:attributes {
subc-role = pnp-origin
}
x1 = 0.000mm
x2 = 0.000mm
y1 = 0.000mm
y2 = 0.000mm
}
}
}
ha:top-silkscreen {
lid = 1
ha:type {
top = 1
silk = 1
}
li:objects {
ha:text.37 {
x = 0.000mm
y = 0.000mm
rot = 0
scale = 100
string = %a.parent.refdes%
fid = 0
ha:flags {
floater = 1
dyntext = 1
}
}
ha:line.38 {
x1 = -0.550mm
y1 = -0.700mm
x2 = -0.550mm
y2 = 0.700mm
thickness = 0.200mm
clearance = 0
}
ha:line.39 {
x1 = 0.550mm
y1 = -0.700mm
x2 = 0.550mm
y2 = 0.700mm
thickness = 0.200mm
clearance = 0
}
ha:line.40 {
x1 = -0.550mm
y1 = -0.700mm
x2 = -0.550mm
y2 = -1.563mm
thickness = 0.200mm
clearance = 0
}
ha:line.41 {
x1 = -0.550mm
y1 = -1.563mm
x2 = 0.550mm
y2 = -1.563mm
thickness = 0.200mm
clearance = 0
}
ha:line.42 {
x1 = 0.550mm
y1 = -1.563mm
x2 = 0.550mm
y2 = -0.700mm
thickness = 0.200mm
clearance = 0
}
}
}
ha:top-assembly {
lid = 2
ha:type {
top = 1
doc = 1
}
purpose = assy
li:objects {
ha:arc.43 {
x = 0.000mm
y = 0.000mm
width = 0.500mm
height = 0.500mm
thickness = 0.100mm
astart = 0
adelta = 360
clearance = 0
}
ha:line.44 {
x1 = -0.700mm
y1 = 0.000mm
x2 = 0.700mm
y2 = 0.000mm
thickness = 0.100mm
clearance = 0
}
ha:line.45 {
x1 = 0.000mm
y1 = -0.700mm
x2 = 0.000mm
y2 = 0.700mm
thickness = 0.100mm
clearance = 0
}
ha:text.46 {
x = 0.000mm
y = 0.000mm
rot = 90
scale = 53
string = SOD1608X70N
fid = 0
ha:flags {
floater = 1
}
}
ha:line.47 {
x1 = 0.000mm
y1 = -0.600mm
x2 = 0.400mm
y2 = -0.600mm
thickness = 0.100mm
clearance = 0
}
ha:line.48 {
x1 = 0.400mm
y1 = -0.600mm
x2 = 0.400mm
y2 = 0.600mm
thickness = 0.100mm
clearance = 0
}
ha:line.49 {
x1 = 0.400mm
y1 = 0.600mm
x2 = -0.400mm
y2 = 0.600mm
thickness = 0.100mm
clearance = 0
}
ha:line.50 {
x1 = -0.400mm
y1 = 0.600mm
x2 = -0.400mm
y2 = -0.200mm
thickness = 0.100mm
clearance = 0
}
ha:line.51 {
x1 = -0.400mm
y1 = -0.200mm
x2 = 0.000mm
y2 = -0.600mm
thickness = 0.100mm
clearance = 0
}
}
}
ha:top-courtyard {
lid = 3
ha:type {
top = 1
doc = 1
}
purpose = ko.courtyard
li:objects {
ha:polygon.52 {
li:geometry {
ta:contour {
{ -0.500mm; -1.512mm }
{ -0.500mm; -0.850mm }
{ -0.650mm; -0.850mm }
{ -0.650mm; 0.850mm }
{ -0.500mm; 0.850mm }
{ -0.500mm; 1.512mm }
{ 0.500mm; 1.512mm }
{ 0.500mm; 0.850mm }
{ 0.650mm; 0.850mm }
{ 0.650mm; -0.850mm }
{ 0.500mm; -0.850mm }
{ 0.500mm; -1.512mm }
}
}
}
}
}
}
}
}
}

View File

@ -0,0 +1,373 @@
# subcircuit generated using QEDA
li:pcb-rnd-subcircuit-v6 {
ha:subc.1 {
uid = SOT95P237X112-3N........
ha:attributes {
footprint = SOT95P237X112-3N
}
ha:data {
li:padstack_prototypes {
ha:ps_proto_v6.2 {
htop = 0
hbottom = 0
hdia = 0
hplated = 0
li:shape {
ha:ps_shape_v4 {
clearance = 0.200mm
li:ps_poly {
-0.550mm
-0.300mm
0.550mm
-0.300mm
0.550mm
0.300mm
-0.550mm
0.300mm
}
ha:layer_mask {
top = 1
copper = 1
}
ha:combining {
}
}
ha:ps_shape_v4 {
clearance = 0
li:ps_poly {
-0.600mm
-0.350mm
0.600mm
-0.350mm
0.600mm
0.350mm
-0.600mm
0.350mm
}
ha:layer_mask {
top = 1
mask = 1
}
ha:combining {
sub = 1
auto = 1
}
}
ha:ps_shape_v4 {
clearance = 0
li:ps_poly {
-0.550mm
-0.300mm
0.550mm
-0.300mm
0.550mm
0.300mm
-0.550mm
0.300mm
}
ha:layer_mask {
top = 1
paste = 1
}
ha:combining {
auto = 1
}
}
}
}
}
li:objects {
ha:padstack_ref.33 {
proto = 2
rot = 0
x = -1.150mm
y = -0.950mm
ha:attributes {
term = 1
name = 1
}
clearance = 0.200mm
ha:flags {
clearline = 1
}
}
ha:padstack_ref.34 {
proto = 2
rot = 0
x = -1.150mm
y = 0.950mm
ha:attributes {
term = 2
name = 2
}
clearance = 0.200mm
ha:flags {
clearline = 1
}
}
ha:padstack_ref.35 {
proto = 2
rot = 0
x = 1.150mm
y = 0.000mm
ha:attributes {
term = 3
name = 3
}
clearance = 0.200mm
ha:flags {
clearline = 1
}
}
}
li:layers {
ha:subc-aux {
lid = 0
ha:type {
top = 1
misc = 1
virtual = 1
}
li:objects {
ha:line.36 {
clearance = 0
thickness = 0.1mm
ha:attributes {
subc-role = origin
}
x1 = 0.000mm
x2 = 0.000mm
y1 = 0.000mm
y2 = 0.000mm
}
ha:line.37 {
clearance = 0
thickness = 0.1mm
ha:attributes {
subc-role = x
}
x1 = 0.000mm
x2 = 1.000mm
y1 = 0.000mm
y2 = 0.000mm
}
ha:line.38 {
clearance = 0
thickness = 0.1mm
ha:attributes {
subc-role = y
}
x1 = 0.000mm
x2 = 0.000mm
y1 = 0.000mm
y2 = 1.000mm
}
ha:line.39 {
clearance = 0
thickness = 0.1mm
ha:attributes {
subc-role = pnp-origin
}
x1 = 0.000mm
x2 = 0.000mm
y1 = 0.000mm
y2 = 0.000mm
}
}
}
ha:top-silkscreen {
lid = 1
ha:type {
top = 1
silk = 1
}
li:objects {
ha:text.40 {
x = 0.000mm
y = 0.000mm
rot = 0
scale = 100
string = %a.parent.refdes%
fid = 0
ha:flags {
floater = 1
dyntext = 1
}
}
ha:line.41 {
x1 = -0.750mm
y1 = -1.560mm
x2 = 0.750mm
y2 = -1.560mm
thickness = 0.200mm
clearance = 0
}
ha:line.42 {
x1 = 0.750mm
y1 = -1.560mm
x2 = 0.750mm
y2 = -0.600mm
thickness = 0.200mm
clearance = 0
}
ha:line.43 {
x1 = 0.750mm
y1 = 0.600mm
x2 = 0.750mm
y2 = 1.560mm
thickness = 0.200mm
clearance = 0
}
ha:line.44 {
x1 = 0.750mm
y1 = 1.560mm
x2 = -0.750mm
y2 = 1.560mm
thickness = 0.200mm
clearance = 0
}
ha:line.45 {
x1 = -0.750mm
y1 = -0.350mm
x2 = -0.750mm
y2 = 0.350mm
thickness = 0.200mm
clearance = 0
}
ha:line.46 {
x1 = -0.750mm
y1 = -1.550mm
x2 = -2.000mm
y2 = -1.550mm
thickness = 0.200mm
clearance = 0
}
ha:line.47 {
x1 = -2.000mm
y1 = -1.550mm
x2 = -2.000mm
y2 = -0.650mm
thickness = 0.200mm
clearance = 0
}
}
}
ha:top-assembly {
lid = 2
ha:type {
top = 1
doc = 1
}
purpose = assy
li:objects {
ha:arc.48 {
x = 0.000mm
y = 0.000mm
width = 0.500mm
height = 0.500mm
thickness = 0.100mm
astart = 0
adelta = 360
clearance = 0
}
ha:line.49 {
x1 = -0.700mm
y1 = 0.000mm
x2 = 0.700mm
y2 = 0.000mm
thickness = 0.100mm
clearance = 0
}
ha:line.50 {
x1 = 0.000mm
y1 = -0.700mm
x2 = 0.000mm
y2 = 0.700mm
thickness = 0.100mm
clearance = 0
}
ha:text.51 {
x = 0.000mm
y = 0.000mm
rot = 90
scale = 86
string = SOT95P237X112-3N
fid = 0
ha:flags {
floater = 1
}
}
ha:line.52 {
x1 = 0.000mm
y1 = -1.460mm
x2 = 0.650mm
y2 = -1.460mm
thickness = 0.100mm
clearance = 0
}
ha:line.53 {
x1 = 0.650mm
y1 = -1.460mm
x2 = 0.650mm
y2 = 1.460mm
thickness = 0.100mm
clearance = 0
}
ha:line.54 {
x1 = 0.650mm
y1 = 1.460mm
x2 = -0.650mm
y2 = 1.460mm
thickness = 0.100mm
clearance = 0
}
ha:line.55 {
x1 = -0.650mm
y1 = 1.460mm
x2 = -0.650mm
y2 = -0.810mm
thickness = 0.100mm
clearance = 0
}
ha:line.56 {
x1 = -0.650mm
y1 = -0.810mm
x2 = 0.000mm
y2 = -1.460mm
thickness = 0.100mm
clearance = 0
}
}
}
ha:top-courtyard {
lid = 3
ha:type {
top = 1
doc = 1
}
purpose = ko.courtyard
li:objects {
ha:polygon.57 {
li:geometry {
ta:contour {
{ -1.950mm; -1.500mm }
{ -0.900mm; -1.500mm }
{ -0.900mm; -1.710mm }
{ 0.900mm; -1.710mm }
{ 0.900mm; -0.550mm }
{ 1.950mm; -0.550mm }
{ 1.950mm; 0.550mm }
{ 0.900mm; 0.550mm }
{ 0.900mm; 1.710mm }
{ -0.900mm; 1.710mm }
{ -0.900mm; 1.500mm }
{ -1.950mm; 1.500mm }
}
}
}
}
}
}
}
}
}

View File

@ -0,0 +1,373 @@
# subcircuit generated using QEDA
li:pcb-rnd-subcircuit-v6 {
ha:subc.1 {
uid = SOT95P280X130-3N........
ha:attributes {
footprint = SOT95P280X130-3N
}
ha:data {
li:padstack_prototypes {
ha:ps_proto_v6.2 {
htop = 0
hbottom = 0
hdia = 0
hplated = 0
li:shape {
ha:ps_shape_v4 {
clearance = 0.200mm
li:ps_poly {
-0.537mm
-0.375mm
0.537mm
-0.375mm
0.537mm
0.375mm
-0.537mm
0.375mm
}
ha:layer_mask {
top = 1
copper = 1
}
ha:combining {
}
}
ha:ps_shape_v4 {
clearance = 0
li:ps_poly {
-0.588mm
-0.425mm
0.588mm
-0.425mm
0.588mm
0.425mm
-0.588mm
0.425mm
}
ha:layer_mask {
top = 1
mask = 1
}
ha:combining {
sub = 1
auto = 1
}
}
ha:ps_shape_v4 {
clearance = 0
li:ps_poly {
-0.537mm
-0.375mm
0.537mm
-0.375mm
0.537mm
0.375mm
-0.537mm
0.375mm
}
ha:layer_mask {
top = 1
paste = 1
}
ha:combining {
auto = 1
}
}
}
}
}
li:objects {
ha:padstack_ref.33 {
proto = 2
rot = 0
x = -1.350mm
y = -0.950mm
ha:attributes {
term = 1
name = 1
}
clearance = 0.200mm
ha:flags {
clearline = 1
}
}
ha:padstack_ref.34 {
proto = 2
rot = 0
x = -1.350mm
y = 0.950mm
ha:attributes {
term = 2
name = 2
}
clearance = 0.200mm
ha:flags {
clearline = 1
}
}
ha:padstack_ref.35 {
proto = 2
rot = 0
x = 1.350mm
y = 0.000mm
ha:attributes {
term = 3
name = 3
}
clearance = 0.200mm
ha:flags {
clearline = 1
}
}
}
li:layers {
ha:subc-aux {
lid = 0
ha:type {
top = 1
misc = 1
virtual = 1
}
li:objects {
ha:line.36 {
clearance = 0
thickness = 0.1mm
ha:attributes {
subc-role = origin
}
x1 = 0.000mm
x2 = 0.000mm
y1 = 0.000mm
y2 = 0.000mm
}
ha:line.37 {
clearance = 0
thickness = 0.1mm
ha:attributes {
subc-role = x
}
x1 = 0.000mm
x2 = 1.000mm
y1 = 0.000mm
y2 = 0.000mm
}
ha:line.38 {
clearance = 0
thickness = 0.1mm
ha:attributes {
subc-role = y
}
x1 = 0.000mm
x2 = 0.000mm
y1 = 0.000mm
y2 = 1.000mm
}
ha:line.39 {
clearance = 0
thickness = 0.1mm
ha:attributes {
subc-role = pnp-origin
}
x1 = 0.000mm
x2 = 0.000mm
y1 = 0.000mm
y2 = 0.000mm
}
}
}
ha:top-silkscreen {
lid = 1
ha:type {
top = 1
silk = 1
}
li:objects {
ha:text.40 {
x = 0.000mm
y = 0.000mm
rot = 0
scale = 100
string = %a.parent.refdes%
fid = 0
ha:flags {
floater = 1
dyntext = 1
}
}
ha:line.41 {
x1 = -0.925mm
y1 = -1.625mm
x2 = 0.925mm
y2 = -1.625mm
thickness = 0.200mm
clearance = 0
}
ha:line.42 {
x1 = 0.925mm
y1 = -1.625mm
x2 = 0.925mm
y2 = -0.675mm
thickness = 0.200mm
clearance = 0
}
ha:line.43 {
x1 = 0.925mm
y1 = 0.675mm
x2 = 0.925mm
y2 = 1.625mm
thickness = 0.200mm
clearance = 0
}
ha:line.44 {
x1 = 0.925mm
y1 = 1.625mm
x2 = -0.925mm
y2 = 1.625mm
thickness = 0.200mm
clearance = 0
}
ha:line.45 {
x1 = -0.925mm
y1 = -0.275mm
x2 = -0.925mm
y2 = 0.275mm
thickness = 0.200mm
clearance = 0
}
ha:line.46 {
x1 = -0.925mm
y1 = -1.625mm
x2 = -2.188mm
y2 = -1.625mm
thickness = 0.200mm
clearance = 0
}
ha:line.47 {
x1 = -2.188mm
y1 = -1.625mm
x2 = -2.188mm
y2 = -0.575mm
thickness = 0.200mm
clearance = 0
}
}
}
ha:top-assembly {
lid = 2
ha:type {
top = 1
doc = 1
}
purpose = assy
li:objects {
ha:arc.48 {
x = 0.000mm
y = 0.000mm
width = 0.500mm
height = 0.500mm
thickness = 0.100mm
astart = 0
adelta = 360
clearance = 0
}
ha:line.49 {
x1 = -0.700mm
y1 = 0.000mm
x2 = 0.700mm
y2 = 0.000mm
thickness = 0.100mm
clearance = 0
}
ha:line.50 {
x1 = 0.000mm
y1 = -0.700mm
x2 = 0.000mm
y2 = 0.700mm
thickness = 0.100mm
clearance = 0
}
ha:text.51 {
x = 0.000mm
y = 0.000mm
rot = 90
scale = 100
string = SOT95P280X130-3N
fid = 0
ha:flags {
floater = 1
}
}
ha:line.52 {
x1 = 0.000mm
y1 = -1.450mm
x2 = 0.825mm
y2 = -1.450mm
thickness = 0.100mm
clearance = 0
}
ha:line.53 {
x1 = 0.825mm
y1 = -1.450mm
x2 = 0.825mm
y2 = 1.450mm
thickness = 0.100mm
clearance = 0
}
ha:line.54 {
x1 = 0.825mm
y1 = 1.450mm
x2 = -0.825mm
y2 = 1.450mm
thickness = 0.100mm
clearance = 0
}
ha:line.55 {
x1 = -0.825mm
y1 = 1.450mm
x2 = -0.825mm
y2 = -0.625mm
thickness = 0.100mm
clearance = 0
}
ha:line.56 {
x1 = -0.825mm
y1 = -0.625mm
x2 = 0.000mm
y2 = -1.450mm
thickness = 0.100mm
clearance = 0
}
}
}
ha:top-courtyard {
lid = 3
ha:type {
top = 1
doc = 1
}
purpose = ko.courtyard
li:objects {
ha:polygon.57 {
li:geometry {
ta:contour {
{ -2.138mm; -1.575mm }
{ -1.075mm; -1.575mm }
{ -1.075mm; -1.700mm }
{ 1.075mm; -1.700mm }
{ 1.075mm; -0.625mm }
{ 2.138mm; -0.625mm }
{ 2.138mm; 0.625mm }
{ 1.075mm; 0.625mm }
{ 1.075mm; 1.700mm }
{ -1.075mm; 1.700mm }
{ -1.075mm; 1.575mm }
{ -2.138mm; 1.575mm }
}
}
}
}
}
}
}
}
}

View File

@ -0,0 +1,385 @@
# subcircuit generated using QEDA
li:pcb-rnd-subcircuit-v6 {
ha:subc.1 {
uid = SOT95P280X135-5N........
ha:attributes {
footprint = SOT95P280X135-5N
}
ha:data {
li:padstack_prototypes {
ha:ps_proto_v6.2 {
htop = 0
hbottom = 0
hdia = 0
hplated = 0
li:shape {
ha:ps_shape_v4 {
clearance = 0.200mm
li:ps_poly {
-0.688mm
-0.300mm
0.688mm
-0.300mm
0.688mm
0.300mm
-0.688mm
0.300mm
}
ha:layer_mask {
top = 1
copper = 1
}
ha:combining {
}
}
ha:ps_shape_v4 {
clearance = 0
li:ps_poly {
-0.738mm
-0.350mm
0.738mm
-0.350mm
0.738mm
0.350mm
-0.738mm
0.350mm
}
ha:layer_mask {
top = 1
mask = 1
}
ha:combining {
sub = 1
auto = 1
}
}
ha:ps_shape_v4 {
clearance = 0
li:ps_poly {
-0.688mm
-0.300mm
0.688mm
-0.300mm
0.688mm
0.300mm
-0.688mm
0.300mm
}
ha:layer_mask {
top = 1
paste = 1
}
ha:combining {
auto = 1
}
}
}
}
}
li:objects {
ha:padstack_ref.31 {
proto = 2
rot = 0
x = -1.250mm
y = -0.950mm
ha:attributes {
term = 1
name = 1
}
clearance = 0.200mm
ha:flags {
clearline = 1
}
}
ha:padstack_ref.32 {
proto = 2
rot = 0
x = -1.250mm
y = 0.000mm
ha:attributes {
term = 2
name = 2
}
clearance = 0.200mm
ha:flags {
clearline = 1
}
}
ha:padstack_ref.33 {
proto = 2
rot = 0
x = -1.250mm
y = 0.950mm
ha:attributes {
term = 3
name = 3
}
clearance = 0.200mm
ha:flags {
clearline = 1
}
}
ha:padstack_ref.34 {
proto = 2
rot = 0
x = 1.250mm
y = 0.950mm
ha:attributes {
term = 4
name = 4
}
clearance = 0.200mm
ha:flags {
clearline = 1
}
}
ha:padstack_ref.35 {
proto = 2
rot = 0
x = 1.250mm
y = -0.950mm
ha:attributes {
term = 5
name = 5
}
clearance = 0.200mm
ha:flags {
clearline = 1
}
}
}
li:layers {
ha:subc-aux {
lid = 0
ha:type {
top = 1
misc = 1
virtual = 1
}
li:objects {
ha:line.36 {
clearance = 0
thickness = 0.1mm
ha:attributes {
subc-role = origin
}
x1 = 0.000mm
x2 = 0.000mm
y1 = 0.000mm
y2 = 0.000mm
}
ha:line.37 {
clearance = 0
thickness = 0.1mm
ha:attributes {
subc-role = x
}
x1 = 0.000mm
x2 = 1.000mm
y1 = 0.000mm
y2 = 0.000mm
}
ha:line.38 {
clearance = 0
thickness = 0.1mm
ha:attributes {
subc-role = y
}
x1 = 0.000mm
x2 = 0.000mm
y1 = 0.000mm
y2 = 1.000mm
}
ha:line.39 {
clearance = 0
thickness = 0.1mm
ha:attributes {
subc-role = pnp-origin
}
x1 = 0.000mm
x2 = 0.000mm
y1 = 0.000mm
y2 = 0.000mm
}
}
}
ha:top-silkscreen {
lid = 1
ha:type {
top = 1
silk = 1
}
li:objects {
ha:text.40 {
x = 0.000mm
y = 0.000mm
rot = 0
scale = 100
string = %a.parent.refdes%
fid = 0
ha:flags {
floater = 1
dyntext = 1
}
}
ha:line.41 {
x1 = -0.700mm
y1 = -1.550mm
x2 = 0.700mm
y2 = -1.550mm
thickness = 0.200mm
clearance = 0
}
ha:line.42 {
x1 = 0.700mm
y1 = -0.350mm
x2 = 0.700mm
y2 = 0.350mm
thickness = 0.200mm
clearance = 0
}
ha:line.43 {
x1 = 0.700mm
y1 = 1.550mm
x2 = -0.700mm
y2 = 1.550mm
thickness = 0.200mm
clearance = 0
}
ha:line.44 {
x1 = -0.700mm
y1 = -1.550mm
x2 = -2.237mm
y2 = -1.550mm
thickness = 0.200mm
clearance = 0
}
ha:line.45 {
x1 = -2.237mm
y1 = -1.550mm
x2 = -2.237mm
y2 = -0.650mm
thickness = 0.200mm
clearance = 0
}
}
}
ha:top-assembly {
lid = 2
ha:type {
top = 1
doc = 1
}
purpose = assy
li:objects {
ha:arc.46 {
x = 0.000mm
y = 0.000mm
width = 0.500mm