From f7c19cfa8db1b7365959ba4cf389bf72ff506e3a Mon Sep 17 00:00:00 2001 From: cpu Date: Sat, 27 Sep 2025 13:12:56 +0200 Subject: [PATCH] added .gitignore --- .../.cache/atopile-mounting-holes-0.1.0.zip | Bin 35747 -> 0 bytes .../atopile/mounting-holes/MountingHole.py | 67 -- .ato/modules/atopile/mounting-holes/README.md | 49 -- .../__pycache__/MountingHole.cpython-313.pyc | Bin 4099 -> 0 bytes .ato/modules/atopile/mounting-holes/ato.yaml | 20 - .../MountingHole_2.2mm_M2.kicad_mod | 65 -- .../MountingHole_2.2mm_M2_Pad.kicad_mod | 67 -- ...ntingHole_2.2mm_M2_Pad_TopBottom.kicad_mod | 79 --- ...ountingHole_2.2mm_M2_Pad_TopOnly.kicad_mod | 73 -- .../MountingHole_2.2mm_M2_Pad_Via.kicad_mod | 131 ---- .../MountingHole_2.7mm_M2.5.kicad_mod | 65 -- .../MountingHole_2.7mm_M2.5_Pad.kicad_mod | 67 -- ...ingHole_2.7mm_M2.5_Pad_TopBottom.kicad_mod | 79 --- ...ntingHole_2.7mm_M2.5_Pad_TopOnly.kicad_mod | 73 -- .../MountingHole_2.7mm_M2.5_Pad_Via.kicad_mod | 131 ---- .../MountingHole_3.2mm_M3.kicad_mod | 65 -- .../MountingHole_3.2mm_M3_Pad.kicad_mod | 67 -- ...ntingHole_3.2mm_M3_Pad_TopBottom.kicad_mod | 79 --- ...ountingHole_3.2mm_M3_Pad_TopOnly.kicad_mod | 73 -- .../MountingHole_3.2mm_M3_Pad_Via.kicad_mod | 131 ---- .../MountingHole_4.3mm_M4.kicad_mod | 65 -- .../MountingHole_4.3mm_M4_Pad.kicad_mod | 67 -- ...ntingHole_4.3mm_M4_Pad_TopBottom.kicad_mod | 79 --- ...ountingHole_4.3mm_M4_Pad_TopOnly.kicad_mod | 73 -- .../MountingHole_4.3mm_M4_Pad_Via.kicad_mod | 131 ---- .../MountingHole_5.3mm_M5.kicad_mod | 65 -- .../MountingHole_5.3mm_M5_Pad.kicad_mod | 67 -- ...ntingHole_5.3mm_M5_Pad_TopBottom.kicad_mod | 79 --- ...ountingHole_5.3mm_M5_Pad_TopOnly.kicad_mod | 73 -- .../MountingHole_5.3mm_M5_Pad_Via.kicad_mod | 131 ---- .../MountingHole_6.4mm_M6.kicad_mod | 65 -- .../MountingHole_6.4mm_M6_Pad.kicad_mod | 67 -- ...ntingHole_6.4mm_M6_Pad_TopBottom.kicad_mod | 79 --- ...ountingHole_6.4mm_M6_Pad_TopOnly.kicad_mod | 73 -- .../MountingHole_6.4mm_M6_Pad_Via.kicad_mod | 131 ---- .../MountingHole_8.4mm_M8.kicad_mod | 65 -- .../MountingHole_8.4mm_M8_Pad.kicad_mod | 67 -- ...ntingHole_8.4mm_M8_Pad_TopBottom.kicad_mod | 79 --- ...ountingHole_8.4mm_M8_Pad_TopOnly.kicad_mod | 73 -- .../MountingHole_8.4mm_M8_Pad_Via.kicad_mod | 131 ---- .../mounting-holes/layouts/usage/fp-lib-table | 10 - .../layouts/usage/usage.kicad_pcb | 667 ------------------ .../layouts/usage/usage.kicad_pro | 284 -------- .../atopile/mounting-holes/parts/.gitkeep | 0 .ato/modules/atopile/mounting-holes/usage.ato | 16 - .gitignore | 51 ++ main.ato | 1 - 47 files changed, 51 insertions(+), 4019 deletions(-) delete mode 100644 .ato/modules/.cache/atopile-mounting-holes-0.1.0.zip delete mode 100644 .ato/modules/atopile/mounting-holes/MountingHole.py delete mode 100644 .ato/modules/atopile/mounting-holes/README.md delete mode 100644 .ato/modules/atopile/mounting-holes/__pycache__/MountingHole.cpython-313.pyc delete mode 100644 .ato/modules/atopile/mounting-holes/ato.yaml delete mode 100644 .ato/modules/atopile/mounting-holes/footprints/MountingHole/MountingHole_2.2mm_M2.kicad_mod delete mode 100644 .ato/modules/atopile/mounting-holes/footprints/MountingHole/MountingHole_2.2mm_M2_Pad.kicad_mod delete mode 100644 .ato/modules/atopile/mounting-holes/footprints/MountingHole/MountingHole_2.2mm_M2_Pad_TopBottom.kicad_mod delete mode 100644 .ato/modules/atopile/mounting-holes/footprints/MountingHole/MountingHole_2.2mm_M2_Pad_TopOnly.kicad_mod delete mode 100644 .ato/modules/atopile/mounting-holes/footprints/MountingHole/MountingHole_2.2mm_M2_Pad_Via.kicad_mod delete mode 100644 .ato/modules/atopile/mounting-holes/footprints/MountingHole/MountingHole_2.7mm_M2.5.kicad_mod delete mode 100644 .ato/modules/atopile/mounting-holes/footprints/MountingHole/MountingHole_2.7mm_M2.5_Pad.kicad_mod delete mode 100644 .ato/modules/atopile/mounting-holes/footprints/MountingHole/MountingHole_2.7mm_M2.5_Pad_TopBottom.kicad_mod delete mode 100644 .ato/modules/atopile/mounting-holes/footprints/MountingHole/MountingHole_2.7mm_M2.5_Pad_TopOnly.kicad_mod delete mode 100644 .ato/modules/atopile/mounting-holes/footprints/MountingHole/MountingHole_2.7mm_M2.5_Pad_Via.kicad_mod delete mode 100644 .ato/modules/atopile/mounting-holes/footprints/MountingHole/MountingHole_3.2mm_M3.kicad_mod delete mode 100644 .ato/modules/atopile/mounting-holes/footprints/MountingHole/MountingHole_3.2mm_M3_Pad.kicad_mod delete mode 100644 .ato/modules/atopile/mounting-holes/footprints/MountingHole/MountingHole_3.2mm_M3_Pad_TopBottom.kicad_mod delete mode 100644 .ato/modules/atopile/mounting-holes/footprints/MountingHole/MountingHole_3.2mm_M3_Pad_TopOnly.kicad_mod delete mode 100644 .ato/modules/atopile/mounting-holes/footprints/MountingHole/MountingHole_3.2mm_M3_Pad_Via.kicad_mod delete mode 100644 .ato/modules/atopile/mounting-holes/footprints/MountingHole/MountingHole_4.3mm_M4.kicad_mod delete mode 100644 .ato/modules/atopile/mounting-holes/footprints/MountingHole/MountingHole_4.3mm_M4_Pad.kicad_mod delete mode 100644 .ato/modules/atopile/mounting-holes/footprints/MountingHole/MountingHole_4.3mm_M4_Pad_TopBottom.kicad_mod delete mode 100644 .ato/modules/atopile/mounting-holes/footprints/MountingHole/MountingHole_4.3mm_M4_Pad_TopOnly.kicad_mod delete mode 100644 .ato/modules/atopile/mounting-holes/footprints/MountingHole/MountingHole_4.3mm_M4_Pad_Via.kicad_mod delete mode 100644 .ato/modules/atopile/mounting-holes/footprints/MountingHole/MountingHole_5.3mm_M5.kicad_mod delete mode 100644 .ato/modules/atopile/mounting-holes/footprints/MountingHole/MountingHole_5.3mm_M5_Pad.kicad_mod delete mode 100644 .ato/modules/atopile/mounting-holes/footprints/MountingHole/MountingHole_5.3mm_M5_Pad_TopBottom.kicad_mod delete mode 100644 .ato/modules/atopile/mounting-holes/footprints/MountingHole/MountingHole_5.3mm_M5_Pad_TopOnly.kicad_mod delete mode 100644 .ato/modules/atopile/mounting-holes/footprints/MountingHole/MountingHole_5.3mm_M5_Pad_Via.kicad_mod delete mode 100644 .ato/modules/atopile/mounting-holes/footprints/MountingHole/MountingHole_6.4mm_M6.kicad_mod delete mode 100644 .ato/modules/atopile/mounting-holes/footprints/MountingHole/MountingHole_6.4mm_M6_Pad.kicad_mod delete mode 100644 .ato/modules/atopile/mounting-holes/footprints/MountingHole/MountingHole_6.4mm_M6_Pad_TopBottom.kicad_mod delete mode 100644 .ato/modules/atopile/mounting-holes/footprints/MountingHole/MountingHole_6.4mm_M6_Pad_TopOnly.kicad_mod delete mode 100644 .ato/modules/atopile/mounting-holes/footprints/MountingHole/MountingHole_6.4mm_M6_Pad_Via.kicad_mod delete mode 100644 .ato/modules/atopile/mounting-holes/footprints/MountingHole/MountingHole_8.4mm_M8.kicad_mod delete mode 100644 .ato/modules/atopile/mounting-holes/footprints/MountingHole/MountingHole_8.4mm_M8_Pad.kicad_mod delete mode 100644 .ato/modules/atopile/mounting-holes/footprints/MountingHole/MountingHole_8.4mm_M8_Pad_TopBottom.kicad_mod delete mode 100644 .ato/modules/atopile/mounting-holes/footprints/MountingHole/MountingHole_8.4mm_M8_Pad_TopOnly.kicad_mod delete mode 100644 .ato/modules/atopile/mounting-holes/footprints/MountingHole/MountingHole_8.4mm_M8_Pad_Via.kicad_mod delete mode 100644 .ato/modules/atopile/mounting-holes/layouts/usage/fp-lib-table delete mode 100644 .ato/modules/atopile/mounting-holes/layouts/usage/usage.kicad_pcb delete mode 100644 .ato/modules/atopile/mounting-holes/layouts/usage/usage.kicad_pro delete mode 100644 .ato/modules/atopile/mounting-holes/parts/.gitkeep delete mode 100644 .ato/modules/atopile/mounting-holes/usage.ato create mode 100644 .gitignore diff --git a/.ato/modules/.cache/atopile-mounting-holes-0.1.0.zip b/.ato/modules/.cache/atopile-mounting-holes-0.1.0.zip deleted file mode 100644 index e68a0e6f68aa2bded4833ecbff41afc4ae6e84be..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 35747 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⁣O;bU48n zjo1?nnEP7RetZ_eGmHbNQRrHMvT6B83sM5+2AlwQe`Sc2$B-^@Qo5^x0kAYOES2QV z%i!H4{je9&WU{OVKEhW+7>Phrr- z*N^tqKacvS?#+LWfiaeXSYht>KUU;l5}@E=;5+zU!o_EFBI zOAs8`Yy3)!_%n6s-)98hU+fYL9si18KeJVSKP&itQkOu%gjWRm*#`f&yA=Grg6|D< z3CK)xMZlkJ@%J->?*nrQR0z5v&<~^d!{~ou@WRguz5~Z4SQ^C@!G0{`?`H(xis2IE zJuHQNB@6s{>HggU;f3!n!H#LJ2=>1!&A&3H;1>~Iz5Eg~m;Q>7zxa%QD0GI0gjb)w zgw$fXBIN(h^8fOU@Djq8ph&D&1pV1Ee{V4GYO$9ozk~3)pO=6vuy^u* zx6uDl0foPR@Zyb^fERV>R|5Po!{09>yolc=2rulgbtRCWo$dR|NYp zqhA@a@Jk0TjCBe0Son%Szr4?`@U+2e8(l(L!rH`LX(8dBwtscX@R~B0a0W27?JL6l z(fj+)ZngiXHNvZdTmm9UT^Ug5qS-hf7hIQ6_`3%$191rzB6CHkUu^OUcMrah{}K`` ze?`cj-PS*q^~28+z7+csazpX|6Y}337<^IfC14DUD0U^2`SFVVy+463tGom`fL;;g z$7bQG+j02XxJ$@v^(#XDFqhxY3%*L~66B-i6+wQP*S|j8@I@(?V5d4)1pDE>em^7l z0)Yay9@lKE{0x&WG_BHzAt_+43hPN z57fesg%8eNjJx<02Hk~?{X0|(KMX#?_~)RDVTa!T6K_;kL4lpu0RVQ`zePL%pa!OD H1_1m&SNGv| diff --git a/.ato/modules/atopile/mounting-holes/MountingHole.py b/.ato/modules/atopile/mounting-holes/MountingHole.py deleted file mode 100644 index 50e1e08..0000000 --- a/.ato/modules/atopile/mounting-holes/MountingHole.py +++ /dev/null @@ -1,67 +0,0 @@ -# This file is part of the faebryk project -# SPDX-License-Identifier: MIT - -import logging -from enum import Enum, StrEnum -from pathlib import Path - -import faebryk.library._F as F -from faebryk.core.module import Module -from faebryk.libs.iso_metric_screw_thread import Iso262_MetricScrewThreadSizes -from faebryk.libs.library import L -from faebryk.libs.part_lifecycle import PartLifecycle - -logger = logging.getLogger(__name__) - - -class MountingHole(Module): - class PadType(StrEnum): - NoPad = "" - Pad = "Pad" - Pad_TopBottom = "Pad_TopBottom" - Pad_TopOnly = "Pad_TopOnly" - Pad_Via = "Pad_Via" - - # We currently only have footprints for these sizes - class SupportedMetricScrewSizes(Enum): - M2 = Iso262_MetricScrewThreadSizes.M2.value - M2_5 = Iso262_MetricScrewThreadSizes.M2_5.value - M3 = Iso262_MetricScrewThreadSizes.M3.value - M4 = Iso262_MetricScrewThreadSizes.M4.value - M5 = Iso262_MetricScrewThreadSizes.M5.value - M6 = Iso262_MetricScrewThreadSizes.M6.value - M8 = Iso262_MetricScrewThreadSizes.M8.value - - contact: F.Electrical - - attach_to_footprint: F.can_attach_to_footprint_symmetrically - designator_prefix = L.f_field(F.has_designator_prefix)( - F.has_designator_prefix.Prefix.H - ) - - def footprint_name(self) -> str: - # e.g. MountingHole_2.7mm_M2.5_Pad_TopOnly - size_metric = self._metric_screw_size - size_mm = f"{size_metric.value}mm" - padtype_name = self._pad_type.value - if padtype_name: - padtype_name = f"_{padtype_name}" - - return f"MountingHole_{size_mm}_{size_metric.name}{padtype_name}" - - def __init__(self, metric_screw_size: SupportedMetricScrewSizes, pad_type: PadType): - super().__init__() - self._metric_screw_size = metric_screw_size - self._pad_type = pad_type - - def __preinit__(self): - fp_name = self.footprint_name() - fp_lib_name = "MountingHole" - fp_dir = Path(__file__).parent / "footprints" / fp_lib_name - fp_path = fp_dir / f"{fp_name}.kicad_mod" - - fp = F.KicadFootprint.from_path(fp_path, lib_name=fp_lib_name) - self.get_trait(F.can_attach_to_footprint).attach(fp) - - lifecycle = PartLifecycle.singleton() - lifecycle.library._insert_fp_lib(fp_lib_name, fp_dir) diff --git a/.ato/modules/atopile/mounting-holes/README.md b/.ato/modules/atopile/mounting-holes/README.md deleted file mode 100644 index 67a0719..0000000 --- a/.ato/modules/atopile/mounting-holes/README.md +++ /dev/null @@ -1,49 +0,0 @@ -# Mounting Holes - -Various mounting holes. - -Supported Sizes: - -- M2 -- M2_5 -- M3 -- M4 -- M5 -- M6 -- M8 - -Supported Pad Types: - -- NoPad -- Pad -- Pad_TopOnly -- Pad_Via - -## Usage - -```ato -#pragma experiment("MODULE_TEMPLATING") -from "atopile/mounting_holes/MountingHole.py" import MountingHole - -module Usage: - """ - Example of using mounting holes - """ - - m2_with_pad = new MountingHole - m6_no_pad = new MountingHole - m3_top_pad = new MountingHole - m4_pad_with_vias = new MountingHole - - m2_with_pad.contact ~ m3_top_pad.contact - m3_top_pad.contact ~ m4_pad_with_vias.contact - # m6_no_pad has no contact -``` - -## Contributing - -Contributions to this package are welcome via pull requests on the GitHub repository. - -## License - -This atopile package is provided under the [MIT License](https://opensource.org/license/mit/). diff --git a/.ato/modules/atopile/mounting-holes/__pycache__/MountingHole.cpython-313.pyc b/.ato/modules/atopile/mounting-holes/__pycache__/MountingHole.cpython-313.pyc deleted file mode 100644 index ebe4ab7b3f14be7af81a65d0d8a78ebe8a4b986d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4099 zcmb6cO>Y~=b@q$9B(l9{6c6xjKdx-EOgDwSoZM1LS#OQqaH3UbkE0dEQ9iB7$;I_7%5UeQiA#LEZ3kW*O_eSH61KvS;Bv4Y?g_r*q9<&hVaXpy#ak- z(Olgu>3|L1vdpQAQ|h8_<6=Q6VExgZ4XkUcO7Roj0s-bW0C`!%_U+=DUf3#>^n$;c z4_o$`0?mF27Rn>cC_-oH+@pl@q7u#v zGkgxsFiICtC7>r1xgX)A62ZMW^d5uz&Y*0RbS;{jhFvt)Z<;0jbqsbnWZ;Iw(f&E$ z95%1QVqW2}pzt`L2v}4CSW-kBT$i#zl4xIcd|6w)vsKYwQv(x3I2co}uBvy;%5~GW z%`yo$hCee(TSTOTkBZt~A&^2uQdL7M>#9mZs#^A92kxj#q_xq^HW&Q=?V6-g~+luEz&H6ETe&Oaq~_J8ptw4!a}IuXuF?rnI${uC_q~ z#RAAuMUJ$NvLeWK9}$FMM_CDEJLFJD*&xVLZyaeIWkVp_A^SSYhCw!UWKkG)lOnd&{nnjv2KaP$YYPAbj(pyg#~gXgm8Ttfy2{q0 zKXRj!PIS_ZzUxHat@6huj!pT037@gPuIE7oA{I=;)(ST1fh^Jr8>(%pYo=*eaM7?y z0PFT9HVV!90W%OS*7T}qTxL16La9fZ!Q_|~_6QM%5xDxMS%ZaH{Bdrl83vc*Xw{-k zgS{0t$3+mV!6{shh4on2Dd6+lVFY<{0+dI7iLm7|VN@cw2Z#z06IaXLrKMW*)>19F zu<&VEh6L3L6fYZ+o$$0cfh=$7r8N?!GL2b8^ao|q1=3X5D{&S*S_T^S!XeVKr^h7& z?MjRvW>TM6c>s^mtKNRMcg*P>gIbczxXBSGIZ{iE?%-Pdd{wOX4gC4jKYr@=U2ys? zRJ;Be?yC|E{K<>yzPkJqBNYSJyw{Umnm zyKYHnFz# zI+XmDmh>h)(sDwRn?d(lWxZ3;9)4qwKrYa+RMX0Mq}@F|+X#*ff`AZ~Fc<}qP%8(l zPeS7#7YmSia5KZ3Q7RShdr1RzdJaS}Ej~1O*5I~==Ru&NVIArebAv<{=)4=P(iL38 zW*L&$-XOts-BxX^6>ZX2&{^8cOU=ixMei3{AfWj*BCM(vtotcJQb!`Y z#i1s!o&tD`>hWGTe%6Vf-HnezHRwH44SyR;e!20dAvZSS#73T-aALF1!%pn|YM>rZ zZU21dL2Y2tiBDF=@8pOp4?6OoD~~$z=rge<}P&X_X{5G)rC8t>U@?PdrR*yjJ`*2`u|PbCbl5b2-b#ezeg#gFm8x1~ZWx^{Aki zN~)S=@HL=Xv{qd6>k^G-FQn;v)%pW~AAW}pSV1`P#pnTo?x0%~W_CU}K+x^QQ6&0# z{z-n9Prpj{yXk9A`r0mkt)5DM75qzZ=af4<=M2xiNL{W=L03BINGDxs#F0jPlkanE zI#A=2dy*u~GdtV?qWxZi6NYQ&-`_*f|NYVTwEI3360Ytc0RFvCwaoTHWSi^j5a)!~ z;m6MR1$7M(X~fd7_mVBXrs?O0Z;3X=?0^+%?rzue|u|DoUsWH8g$(bex z=33)L%RGGB+TKs1|JX_#5^e0|dvo9r3o_n@1Z@09Hu4n`{5G6M$6mmZ06iKEJbxrX z6aV1eZ7f~!HN1+;z@W~vt^(NO7>3!G5EK0u8hVLR|3O1Fij2HOOE1yzOEmi`*zE@U czX|qlU)l|xc^o(hOfgr#xcFZLowxq~0LBEDH2?qr diff --git a/.ato/modules/atopile/mounting-holes/ato.yaml b/.ato/modules/atopile/mounting-holes/ato.yaml deleted file mode 100644 index f2c2916..0000000 --- a/.ato/modules/atopile/mounting-holes/ato.yaml +++ /dev/null @@ -1,20 +0,0 @@ -requires-atopile: ^0.10.14 - -paths: - src: . - layout: ./layouts - -builds: - usage: - entry: usage.ato:Usage - hide_designators: true - -package: - identifier: atopile/mounting-holes - repository: https://github.com/atopile/packages - version: 0.1.0 - authors: - - name: atopile - email: hi@atopile.com - summary: Various mounting holes - license: MIT diff --git a/.ato/modules/atopile/mounting-holes/footprints/MountingHole/MountingHole_2.2mm_M2.kicad_mod b/.ato/modules/atopile/mounting-holes/footprints/MountingHole/MountingHole_2.2mm_M2.kicad_mod deleted file mode 100644 index 21827cc..0000000 --- a/.ato/modules/atopile/mounting-holes/footprints/MountingHole/MountingHole_2.2mm_M2.kicad_mod +++ /dev/null @@ -1,65 +0,0 @@ -(footprint "MountingHole_2.2mm_M2" - (version 20241229) - (generator "kicad-footprint-generator") - (layer "F.Cu") - (descr "Mounting Hole 2.2mm, M2, no annular, generated by kicad-footprint-generator mountinghole.py") - (tags "mountinghole M2") - (property "Reference" "REF**" - (at 0 -3.15 0) - (layer "F.SilkS") - (effects - (font - (size 1 1) - (thickness 0.15) - ) - ) - ) - (property "Value" "MountingHole_2.2mm_M2" - (at 0 3.15 0) - (layer "F.Fab") - (effects - (font - (size 1 1) - (thickness 0.15) - ) - ) - ) - (attr exclude_from_pos_files exclude_from_bom) - (fp_circle - (center 0 0) - (end 2.2 0) - (stroke - (width 0.15) - (type solid) - ) - (fill no) - (layer "Cmts.User") - ) - (fp_circle - (center 0 0) - (end 2.45 0) - (stroke - (width 0.05) - (type solid) - ) - (fill no) - (layer "F.CrtYd") - ) - (fp_text user "${REFERENCE}" - (at 0 0 0) - (layer "F.Fab") - (effects - (font - (size 1 1) - (thickness 0.15) - ) - ) - ) - (pad "" np_thru_hole circle - (at 0 0) - (size 2.2 2.2) - (drill 2.2) - (layers "*.Cu" "*.Mask") - ) - (embedded_fonts no) -) diff --git a/.ato/modules/atopile/mounting-holes/footprints/MountingHole/MountingHole_2.2mm_M2_Pad.kicad_mod b/.ato/modules/atopile/mounting-holes/footprints/MountingHole/MountingHole_2.2mm_M2_Pad.kicad_mod deleted file mode 100644 index 952595b..0000000 --- a/.ato/modules/atopile/mounting-holes/footprints/MountingHole/MountingHole_2.2mm_M2_Pad.kicad_mod +++ /dev/null @@ -1,67 +0,0 @@ -(footprint "MountingHole_2.2mm_M2_Pad" - (version 20241229) - (generator "kicad-footprint-generator") - (layer "F.Cu") - (descr "Mounting Hole 2.2mm, M2, generated by kicad-footprint-generator mountinghole.py") - (tags "mountinghole M2") - (property "Reference" "REF**" - (at 0 -3.15 0) - (layer "F.SilkS") - (effects - (font - (size 1 1) - (thickness 0.15) - ) - ) - ) - (property "Value" "MountingHole_2.2mm_M2_Pad" - (at 0 3.15 0) - (layer "F.Fab") - (effects - (font - (size 1 1) - (thickness 0.15) - ) - ) - ) - (attr exclude_from_pos_files exclude_from_bom) - (fp_circle - (center 0 0) - (end 2.2 0) - (stroke - (width 0.15) - (type solid) - ) - (fill no) - (layer "Cmts.User") - ) - (fp_circle - (center 0 0) - (end 2.45 0) - (stroke - (width 0.05) - (type solid) - ) - (fill no) - (layer "F.CrtYd") - ) - (fp_text user "${REFERENCE}" - (at 0 0 0) - (layer "F.Fab") - (effects - (font - (size 1 1) - (thickness 0.15) - ) - ) - ) - (pad "1" thru_hole circle - (at 0 0) - (size 4.4 4.4) - (drill 2.2) - (layers "*.Cu" "*.Mask") - (remove_unused_layers no) - (zone_connect 2) - ) - (embedded_fonts no) -) diff --git a/.ato/modules/atopile/mounting-holes/footprints/MountingHole/MountingHole_2.2mm_M2_Pad_TopBottom.kicad_mod b/.ato/modules/atopile/mounting-holes/footprints/MountingHole/MountingHole_2.2mm_M2_Pad_TopBottom.kicad_mod deleted file mode 100644 index 5a3c929..0000000 --- a/.ato/modules/atopile/mounting-holes/footprints/MountingHole/MountingHole_2.2mm_M2_Pad_TopBottom.kicad_mod +++ /dev/null @@ -1,79 +0,0 @@ -(footprint "MountingHole_2.2mm_M2_Pad_TopBottom" - (version 20241229) - (generator "kicad-footprint-generator") - (layer "F.Cu") - (descr "Mounting Hole 2.2mm, M2, generated by kicad-footprint-generator mountinghole.py") - (tags "mountinghole M2") - (property "Reference" "REF**" - (at 0 -3.15 0) - (layer "F.SilkS") - (effects - (font - (size 1 1) - (thickness 0.15) - ) - ) - ) - (property "Value" "MountingHole_2.2mm_M2_Pad_TopBottom" - (at 0 3.15 0) - (layer "F.Fab") - (effects - (font - (size 1 1) - (thickness 0.15) - ) - ) - ) - (attr exclude_from_pos_files exclude_from_bom) - (fp_circle - (center 0 0) - (end 2.2 0) - (stroke - (width 0.15) - (type solid) - ) - (fill no) - (layer "Cmts.User") - ) - (fp_circle - (center 0 0) - (end 2.45 0) - (stroke - (width 0.05) - (type solid) - ) - (fill no) - (layer "F.CrtYd") - ) - (fp_text user "${REFERENCE}" - (at 0 0 0) - (layer "F.Fab") - (effects - (font - (size 1 1) - (thickness 0.15) - ) - ) - ) - (pad "1" thru_hole circle - (at 0 0) - (size 2.6 2.6) - (drill 2.2) - (layers "*.Cu" "*.Mask") - (remove_unused_layers no) - (zone_connect 2) - ) - (pad "1" connect circle - (at 0 0) - (size 4.4 4.4) - (layers "F.Cu" "F.Mask") - (zone_connect 2) - ) - (pad "1" connect circle - (at 0 0) - (size 4.4 4.4) - (layers "B.Cu" "B.Mask") - (zone_connect 2) - ) - (embedded_fonts no) -) diff --git a/.ato/modules/atopile/mounting-holes/footprints/MountingHole/MountingHole_2.2mm_M2_Pad_TopOnly.kicad_mod b/.ato/modules/atopile/mounting-holes/footprints/MountingHole/MountingHole_2.2mm_M2_Pad_TopOnly.kicad_mod deleted file mode 100644 index 0b9c2f2..0000000 --- a/.ato/modules/atopile/mounting-holes/footprints/MountingHole/MountingHole_2.2mm_M2_Pad_TopOnly.kicad_mod +++ /dev/null @@ -1,73 +0,0 @@ -(footprint "MountingHole_2.2mm_M2_Pad_TopOnly" - (version 20241229) - (generator "kicad-footprint-generator") - (layer "F.Cu") - (descr "Mounting Hole 2.2mm, M2, generated by kicad-footprint-generator mountinghole.py") - (tags "mountinghole M2") - (property "Reference" "REF**" - (at 0 -3.15 0) - (layer "F.SilkS") - (effects - (font - (size 1 1) - (thickness 0.15) - ) - ) - ) - (property "Value" "MountingHole_2.2mm_M2_Pad_TopOnly" - (at 0 3.15 0) - (layer "F.Fab") - (effects - (font - (size 1 1) - (thickness 0.15) - ) - ) - ) - (attr exclude_from_pos_files exclude_from_bom) - (fp_circle - (center 0 0) - (end 2.2 0) - (stroke - (width 0.15) - (type solid) - ) - (fill no) - (layer "Cmts.User") - ) - (fp_circle - (center 0 0) - (end 2.45 0) - (stroke - (width 0.05) - (type solid) - ) - (fill no) - (layer "F.CrtYd") - ) - (fp_text user "${REFERENCE}" - (at 0 0 0) - (layer "F.Fab") - (effects - (font - (size 1 1) - (thickness 0.15) - ) - ) - ) - (pad "1" thru_hole circle - (at 0 0) - (size 2.6 2.6) - (drill 2.2) - (layers "*.Cu" "*.Mask") - (remove_unused_layers no) - (zone_connect 2) - ) - (pad "1" connect circle - (at 0 0) - (size 4.4 4.4) - (layers "F.Cu" "F.Mask") - (zone_connect 2) - ) - (embedded_fonts no) -) diff --git a/.ato/modules/atopile/mounting-holes/footprints/MountingHole/MountingHole_2.2mm_M2_Pad_Via.kicad_mod b/.ato/modules/atopile/mounting-holes/footprints/MountingHole/MountingHole_2.2mm_M2_Pad_Via.kicad_mod deleted file mode 100644 index fdc7d9d..0000000 --- a/.ato/modules/atopile/mounting-holes/footprints/MountingHole/MountingHole_2.2mm_M2_Pad_Via.kicad_mod +++ /dev/null @@ -1,131 +0,0 @@ -(footprint "MountingHole_2.2mm_M2_Pad_Via" - (version 20241229) - (generator "kicad-footprint-generator") - (layer "F.Cu") - (descr "Mounting Hole 2.2mm, M2, generated by kicad-footprint-generator mountinghole.py") - (tags "mountinghole M2") - (property "Reference" "REF**" - (at 0 -3.15 0) - (layer "F.SilkS") - (effects - (font - (size 1 1) - (thickness 0.15) - ) - ) - ) - (property "Value" "MountingHole_2.2mm_M2_Pad_Via" - (at 0 3.15 0) - (layer "F.Fab") - (effects - (font - (size 1 1) - (thickness 0.15) - ) - ) - ) - (attr exclude_from_pos_files exclude_from_bom) - (fp_circle - (center 0 0) - (end 2.2 0) - (stroke - (width 0.15) - (type solid) - ) - (fill no) - (layer "Cmts.User") - ) - (fp_circle - (center 0 0) - (end 2.45 0) - (stroke - (width 0.05) - (type solid) - ) - (fill no) - (layer "F.CrtYd") - ) - (fp_text user "${REFERENCE}" - (at 0 0 0) - (layer "F.Fab") - (effects - (font - (size 1 1) - (thickness 0.15) - ) - ) - ) - (pad "1" thru_hole circle - (at -1.65 0) - (size 0.7 0.7) - (drill 0.4) - (layers "*.Cu" "*.Mask") - (remove_unused_layers no) - (zone_connect 2) - ) - (pad "1" thru_hole circle - (at -1.166726 -1.166726) - (size 0.7 0.7) - (drill 0.4) - (layers "*.Cu" "*.Mask") - (remove_unused_layers no) - (zone_connect 2) - ) - (pad "1" thru_hole circle - (at -1.166726 1.166726) - (size 0.7 0.7) - (drill 0.4) - (layers "*.Cu" "*.Mask") - (remove_unused_layers no) - (zone_connect 2) - ) - (pad "1" thru_hole circle - (at 0 -1.65) - (size 0.7 0.7) - (drill 0.4) - (layers "*.Cu" "*.Mask") - (remove_unused_layers no) - (zone_connect 2) - ) - (pad "1" thru_hole circle - (at 0 0) - (size 4.4 4.4) - (drill 2.2) - (layers "*.Cu" "*.Mask") - (remove_unused_layers no) - (zone_connect 2) - ) - (pad "1" thru_hole circle - (at 0 1.65) - (size 0.7 0.7) - (drill 0.4) - (layers "*.Cu" "*.Mask") - (remove_unused_layers no) - (zone_connect 2) - ) - (pad "1" thru_hole circle - (at 1.166726 -1.166726) - (size 0.7 0.7) - (drill 0.4) - (layers "*.Cu" "*.Mask") - (remove_unused_layers no) - (zone_connect 2) - ) - (pad "1" thru_hole circle - (at 1.166726 1.166726) - (size 0.7 0.7) - (drill 0.4) - (layers "*.Cu" "*.Mask") - (remove_unused_layers no) - (zone_connect 2) - ) - (pad "1" thru_hole circle - (at 1.65 0) - (size 0.7 0.7) - (drill 0.4) - (layers "*.Cu" "*.Mask") - (remove_unused_layers no) - (zone_connect 2) - ) - (embedded_fonts no) -) diff --git a/.ato/modules/atopile/mounting-holes/footprints/MountingHole/MountingHole_2.7mm_M2.5.kicad_mod b/.ato/modules/atopile/mounting-holes/footprints/MountingHole/MountingHole_2.7mm_M2.5.kicad_mod deleted file mode 100644 index 617e331..0000000 --- a/.ato/modules/atopile/mounting-holes/footprints/MountingHole/MountingHole_2.7mm_M2.5.kicad_mod +++ /dev/null @@ -1,65 +0,0 @@ -(footprint "MountingHole_2.7mm_M2.5" - (version 20241229) - (generator "kicad-footprint-generator") - (layer "F.Cu") - (descr "Mounting Hole 2.7mm, M2.5, no annular, generated by kicad-footprint-generator mountinghole.py") - (tags "mountinghole M2.5") - (property "Reference" "REF**" - (at 0 -3.65 0) - (layer "F.SilkS") - (effects - (font - (size 1 1) - (thickness 0.15) - ) - ) - ) - (property "Value" "MountingHole_2.7mm_M2.5" - (at 0 3.65 0) - (layer "F.Fab") - (effects - (font - (size 1 1) - (thickness 0.15) - ) - ) - ) - (attr exclude_from_pos_files exclude_from_bom) - (fp_circle - (center 0 0) - (end 2.7 0) - (stroke - (width 0.15) - (type solid) - ) - (fill no) - (layer "Cmts.User") - ) - (fp_circle - (center 0 0) - (end 2.95 0) - (stroke - (width 0.05) - (type solid) - ) - (fill no) - (layer "F.CrtYd") - ) - (fp_text user "${REFERENCE}" - (at 0 0 0) - (layer "F.Fab") - (effects - (font - (size 1 1) - (thickness 0.15) - ) - ) - ) - (pad "" np_thru_hole circle - (at 0 0) - (size 2.7 2.7) - (drill 2.7) - (layers "*.Cu" "*.Mask") - ) - (embedded_fonts no) -) diff --git a/.ato/modules/atopile/mounting-holes/footprints/MountingHole/MountingHole_2.7mm_M2.5_Pad.kicad_mod b/.ato/modules/atopile/mounting-holes/footprints/MountingHole/MountingHole_2.7mm_M2.5_Pad.kicad_mod deleted file mode 100644 index a8f245e..0000000 --- a/.ato/modules/atopile/mounting-holes/footprints/MountingHole/MountingHole_2.7mm_M2.5_Pad.kicad_mod +++ /dev/null @@ -1,67 +0,0 @@ -(footprint "MountingHole_2.7mm_M2.5_Pad" - (version 20241229) - (generator "kicad-footprint-generator") - (layer "F.Cu") - (descr "Mounting Hole 2.7mm, M2.5, generated by kicad-footprint-generator mountinghole.py") - (tags "mountinghole M2.5") - (property "Reference" "REF**" - (at 0 -3.65 0) - (layer "F.SilkS") - (effects - (font - (size 1 1) - (thickness 0.15) - ) - ) - ) - (property "Value" "MountingHole_2.7mm_M2.5_Pad" - (at 0 3.65 0) - (layer "F.Fab") - (effects - (font - (size 1 1) - (thickness 0.15) - ) - ) - ) - (attr exclude_from_pos_files exclude_from_bom) - (fp_circle - (center 0 0) - (end 2.7 0) - (stroke - (width 0.15) - (type solid) - ) - (fill no) - (layer "Cmts.User") - ) - (fp_circle - (center 0 0) - (end 2.95 0) - (stroke - (width 0.05) - (type solid) - ) - (fill no) - (layer "F.CrtYd") - ) - (fp_text user "${REFERENCE}" - (at 0 0 0) - (layer "F.Fab") - (effects - (font - (size 1 1) - (thickness 0.15) - ) - ) - ) - (pad "1" thru_hole circle - (at 0 0) - (size 5.4 5.4) - (drill 2.7) - (layers "*.Cu" "*.Mask") - (remove_unused_layers no) - (zone_connect 2) - ) - (embedded_fonts no) -) diff --git a/.ato/modules/atopile/mounting-holes/footprints/MountingHole/MountingHole_2.7mm_M2.5_Pad_TopBottom.kicad_mod b/.ato/modules/atopile/mounting-holes/footprints/MountingHole/MountingHole_2.7mm_M2.5_Pad_TopBottom.kicad_mod deleted file mode 100644 index 6daf84f..0000000 --- a/.ato/modules/atopile/mounting-holes/footprints/MountingHole/MountingHole_2.7mm_M2.5_Pad_TopBottom.kicad_mod +++ /dev/null @@ -1,79 +0,0 @@ -(footprint "MountingHole_2.7mm_M2.5_Pad_TopBottom" - (version 20241229) - (generator "kicad-footprint-generator") - (layer "F.Cu") - (descr "Mounting Hole 2.7mm, M2.5, generated by kicad-footprint-generator mountinghole.py") - (tags "mountinghole M2.5") - (property "Reference" "REF**" - (at 0 -3.65 0) - (layer "F.SilkS") - (effects - (font - (size 1 1) - (thickness 0.15) - ) - ) - ) - (property "Value" "MountingHole_2.7mm_M2.5_Pad_TopBottom" - (at 0 3.65 0) - (layer "F.Fab") - (effects - (font - (size 1 1) - (thickness 0.15) - ) - ) - ) - (attr exclude_from_pos_files exclude_from_bom) - (fp_circle - (center 0 0) - (end 2.7 0) - (stroke - (width 0.15) - (type solid) - ) - (fill no) - (layer "Cmts.User") - ) - (fp_circle - (center 0 0) - (end 2.95 0) - (stroke - (width 0.05) - (type solid) - ) - (fill no) - (layer "F.CrtYd") - ) - (fp_text user "${REFERENCE}" - (at 0 0 0) - (layer "F.Fab") - (effects - (font - (size 1 1) - (thickness 0.15) - ) - ) - ) - (pad "1" thru_hole circle - (at 0 0) - (size 3.1 3.1) - (drill 2.7) - (layers "*.Cu" "*.Mask") - (remove_unused_layers no) - (zone_connect 2) - ) - (pad "1" connect circle - (at 0 0) - (size 5.4 5.4) - (layers "F.Cu" "F.Mask") - (zone_connect 2) - ) - (pad "1" connect circle - (at 0 0) - (size 5.4 5.4) - (layers "B.Cu" "B.Mask") - (zone_connect 2) - ) - (embedded_fonts no) -) diff --git a/.ato/modules/atopile/mounting-holes/footprints/MountingHole/MountingHole_2.7mm_M2.5_Pad_TopOnly.kicad_mod b/.ato/modules/atopile/mounting-holes/footprints/MountingHole/MountingHole_2.7mm_M2.5_Pad_TopOnly.kicad_mod deleted file mode 100644 index bd92db1..0000000 --- a/.ato/modules/atopile/mounting-holes/footprints/MountingHole/MountingHole_2.7mm_M2.5_Pad_TopOnly.kicad_mod +++ /dev/null @@ -1,73 +0,0 @@ -(footprint "MountingHole_2.7mm_M2.5_Pad_TopOnly" - (version 20241229) - (generator "kicad-footprint-generator") - (layer "F.Cu") - (descr "Mounting Hole 2.7mm, M2.5, generated by kicad-footprint-generator mountinghole.py") - (tags "mountinghole M2.5") - (property "Reference" "REF**" - (at 0 -3.65 0) - (layer "F.SilkS") - (effects - (font - (size 1 1) - (thickness 0.15) - ) - ) - ) - (property "Value" "MountingHole_2.7mm_M2.5_Pad_TopOnly" - (at 0 3.65 0) - (layer "F.Fab") - (effects - (font - (size 1 1) - (thickness 0.15) - ) - ) - ) - (attr exclude_from_pos_files exclude_from_bom) - (fp_circle - (center 0 0) - (end 2.7 0) - (stroke - (width 0.15) - (type solid) - ) - (fill no) - (layer "Cmts.User") - ) - (fp_circle - (center 0 0) - (end 2.95 0) - (stroke - (width 0.05) - (type solid) - ) - (fill no) - (layer "F.CrtYd") - ) - (fp_text user "${REFERENCE}" - (at 0 0 0) - (layer "F.Fab") - (effects - (font - (size 1 1) - (thickness 0.15) - ) - ) - ) - (pad "1" thru_hole circle - (at 0 0) - (size 3.1 3.1) - (drill 2.7) - (layers "*.Cu" "*.Mask") - (remove_unused_layers no) - (zone_connect 2) - ) - (pad "1" connect circle - (at 0 0) - (size 5.4 5.4) - (layers "F.Cu" "F.Mask") - (zone_connect 2) - ) - (embedded_fonts no) -) diff --git a/.ato/modules/atopile/mounting-holes/footprints/MountingHole/MountingHole_2.7mm_M2.5_Pad_Via.kicad_mod b/.ato/modules/atopile/mounting-holes/footprints/MountingHole/MountingHole_2.7mm_M2.5_Pad_Via.kicad_mod deleted file mode 100644 index 8fa45a8..0000000 --- a/.ato/modules/atopile/mounting-holes/footprints/MountingHole/MountingHole_2.7mm_M2.5_Pad_Via.kicad_mod +++ /dev/null @@ -1,131 +0,0 @@ -(footprint "MountingHole_2.7mm_M2.5_Pad_Via" - (version 20241229) - (generator "kicad-footprint-generator") - (layer "F.Cu") - (descr "Mounting Hole 2.7mm, M2.5, generated by kicad-footprint-generator mountinghole.py") - (tags "mountinghole M2.5") - (property "Reference" "REF**" - (at 0 -3.65 0) - (layer "F.SilkS") - (effects - (font - (size 1 1) - (thickness 0.15) - ) - ) - ) - (property "Value" "MountingHole_2.7mm_M2.5_Pad_Via" - (at 0 3.65 0) - (layer "F.Fab") - (effects - (font - (size 1 1) - (thickness 0.15) - ) - ) - ) - (attr exclude_from_pos_files exclude_from_bom) - (fp_circle - (center 0 0) - (end 2.7 0) - (stroke - (width 0.15) - (type solid) - ) - (fill no) - (layer "Cmts.User") - ) - (fp_circle - (center 0 0) - (end 2.95 0) - (stroke - (width 0.05) - (type solid) - ) - (fill no) - (layer "F.CrtYd") - ) - (fp_text user "${REFERENCE}" - (at 0 0 0) - (layer "F.Fab") - (effects - (font - (size 1 1) - (thickness 0.15) - ) - ) - ) - (pad "1" thru_hole circle - (at -2.025 0) - (size 0.8 0.8) - (drill 0.5) - (layers "*.Cu" "*.Mask") - (remove_unused_layers no) - (zone_connect 2) - ) - (pad "1" thru_hole circle - (at -1.431891 -1.431891) - (size 0.8 0.8) - (drill 0.5) - (layers "*.Cu" "*.Mask") - (remove_unused_layers no) - (zone_connect 2) - ) - (pad "1" thru_hole circle - (at -1.431891 1.431891) - (size 0.8 0.8) - (drill 0.5) - (layers "*.Cu" "*.Mask") - (remove_unused_layers no) - (zone_connect 2) - ) - (pad "1" thru_hole circle - (at 0 -2.025) - (size 0.8 0.8) - (drill 0.5) - (layers "*.Cu" "*.Mask") - (remove_unused_layers no) - (zone_connect 2) - ) - (pad "1" thru_hole circle - (at 0 0) - (size 5.4 5.4) - (drill 2.7) - (layers "*.Cu" "*.Mask") - (remove_unused_layers no) - (zone_connect 2) - ) - (pad "1" thru_hole circle - (at 0 2.025) - (size 0.8 0.8) - (drill 0.5) - (layers "*.Cu" "*.Mask") - (remove_unused_layers no) - (zone_connect 2) - ) - (pad "1" thru_hole circle - (at 1.431891 -1.431891) - (size 0.8 0.8) - (drill 0.5) - (layers "*.Cu" "*.Mask") - (remove_unused_layers no) - (zone_connect 2) - ) - (pad "1" thru_hole circle - (at 1.431891 1.431891) - (size 0.8 0.8) - (drill 0.5) - (layers "*.Cu" "*.Mask") - (remove_unused_layers no) - (zone_connect 2) - ) - (pad "1" thru_hole circle - (at 2.025 0) - (size 0.8 0.8) - (drill 0.5) - (layers "*.Cu" "*.Mask") - (remove_unused_layers no) - (zone_connect 2) - ) - (embedded_fonts no) -) diff --git a/.ato/modules/atopile/mounting-holes/footprints/MountingHole/MountingHole_3.2mm_M3.kicad_mod b/.ato/modules/atopile/mounting-holes/footprints/MountingHole/MountingHole_3.2mm_M3.kicad_mod deleted file mode 100644 index 1a874cc..0000000 --- a/.ato/modules/atopile/mounting-holes/footprints/MountingHole/MountingHole_3.2mm_M3.kicad_mod +++ /dev/null @@ -1,65 +0,0 @@ -(footprint "MountingHole_3.2mm_M3" - (version 20241229) - (generator "kicad-footprint-generator") - (layer "F.Cu") - (descr "Mounting Hole 3.2mm, M3, no annular, generated by kicad-footprint-generator mountinghole.py") - (tags "mountinghole M3") - (property "Reference" "REF**" - (at 0 -4.15 0) - (layer "F.SilkS") - (effects - (font - (size 1 1) - (thickness 0.15) - ) - ) - ) - (property "Value" "MountingHole_3.2mm_M3" - (at 0 4.15 0) - (layer "F.Fab") - (effects - (font - (size 1 1) - (thickness 0.15) - ) - ) - ) - (attr exclude_from_pos_files exclude_from_bom) - (fp_circle - (center 0 0) - (end 3.2 0) - (stroke - (width 0.15) - (type solid) - ) - (fill no) - (layer "Cmts.User") - ) - (fp_circle - (center 0 0) - (end 3.45 0) - (stroke - (width 0.05) - (type solid) - ) - (fill no) - (layer "F.CrtYd") - ) - (fp_text user "${REFERENCE}" - (at 0 0 0) - (layer "F.Fab") - (effects - (font - (size 1 1) - (thickness 0.15) - ) - ) - ) - (pad "" np_thru_hole circle - (at 0 0) - (size 3.2 3.2) - (drill 3.2) - (layers "*.Cu" "*.Mask") - ) - (embedded_fonts no) -) diff --git a/.ato/modules/atopile/mounting-holes/footprints/MountingHole/MountingHole_3.2mm_M3_Pad.kicad_mod b/.ato/modules/atopile/mounting-holes/footprints/MountingHole/MountingHole_3.2mm_M3_Pad.kicad_mod deleted file mode 100644 index a6def39..0000000 --- a/.ato/modules/atopile/mounting-holes/footprints/MountingHole/MountingHole_3.2mm_M3_Pad.kicad_mod +++ /dev/null @@ -1,67 +0,0 @@ -(footprint "MountingHole_3.2mm_M3_Pad" - (version 20241229) - (generator "kicad-footprint-generator") - (layer "F.Cu") - (descr "Mounting Hole 3.2mm, M3, generated by kicad-footprint-generator mountinghole.py") - (tags "mountinghole M3") - (property "Reference" "REF**" - (at 0 -4.15 0) - (layer "F.SilkS") - (effects - (font - (size 1 1) - (thickness 0.15) - ) - ) - ) - (property "Value" "MountingHole_3.2mm_M3_Pad" - (at 0 4.15 0) - (layer "F.Fab") - (effects - (font - (size 1 1) - (thickness 0.15) - ) - ) - ) - (attr exclude_from_pos_files exclude_from_bom) - (fp_circle - (center 0 0) - (end 3.2 0) - (stroke - (width 0.15) - (type solid) - ) - (fill no) - (layer "Cmts.User") - ) - (fp_circle - (center 0 0) - (end 3.45 0) - (stroke - (width 0.05) - (type solid) - ) - (fill no) - (layer "F.CrtYd") - ) - (fp_text user "${REFERENCE}" - (at 0 0 0) - (layer "F.Fab") - (effects - (font - (size 1 1) - (thickness 0.15) - ) - ) - ) - (pad "1" thru_hole circle - (at 0 0) - (size 6.4 6.4) - (drill 3.2) - (layers "*.Cu" "*.Mask") - (remove_unused_layers no) - (zone_connect 2) - ) - (embedded_fonts no) -) diff --git a/.ato/modules/atopile/mounting-holes/footprints/MountingHole/MountingHole_3.2mm_M3_Pad_TopBottom.kicad_mod b/.ato/modules/atopile/mounting-holes/footprints/MountingHole/MountingHole_3.2mm_M3_Pad_TopBottom.kicad_mod deleted file mode 100644 index ed4d75d..0000000 --- a/.ato/modules/atopile/mounting-holes/footprints/MountingHole/MountingHole_3.2mm_M3_Pad_TopBottom.kicad_mod +++ /dev/null @@ -1,79 +0,0 @@ -(footprint "MountingHole_3.2mm_M3_Pad_TopBottom" - (version 20241229) - (generator "kicad-footprint-generator") - (layer "F.Cu") - (descr "Mounting Hole 3.2mm, M3, generated by kicad-footprint-generator mountinghole.py") - (tags "mountinghole M3") - (property "Reference" "REF**" - (at 0 -4.15 0) - (layer "F.SilkS") - (effects - (font - (size 1 1) - (thickness 0.15) - ) - ) - ) - (property "Value" "MountingHole_3.2mm_M3_Pad_TopBottom" - (at 0 4.15 0) - (layer "F.Fab") - (effects - (font - (size 1 1) - (thickness 0.15) - ) - ) - ) - (attr exclude_from_pos_files exclude_from_bom) - (fp_circle - (center 0 0) - (end 3.2 0) - (stroke - (width 0.15) - (type solid) - ) - (fill no) - (layer "Cmts.User") - ) - (fp_circle - (center 0 0) - (end 3.45 0) - (stroke - (width 0.05) - (type solid) - ) - (fill no) - (layer "F.CrtYd") - ) - (fp_text user "${REFERENCE}" - (at 0 0 0) - (layer "F.Fab") - (effects - (font - (size 1 1) - (thickness 0.15) - ) - ) - ) - (pad "1" thru_hole circle - (at 0 0) - (size 3.6 3.6) - (drill 3.2) - (layers "*.Cu" "*.Mask") - (remove_unused_layers no) - (zone_connect 2) - ) - (pad "1" connect circle - (at 0 0) - (size 6.4 6.4) - (layers "F.Cu" "F.Mask") - (zone_connect 2) - ) - (pad "1" connect circle - (at 0 0) - (size 6.4 6.4) - (layers "B.Cu" "B.Mask") - (zone_connect 2) - ) - (embedded_fonts no) -) diff --git a/.ato/modules/atopile/mounting-holes/footprints/MountingHole/MountingHole_3.2mm_M3_Pad_TopOnly.kicad_mod b/.ato/modules/atopile/mounting-holes/footprints/MountingHole/MountingHole_3.2mm_M3_Pad_TopOnly.kicad_mod deleted file mode 100644 index aee54a8..0000000 --- a/.ato/modules/atopile/mounting-holes/footprints/MountingHole/MountingHole_3.2mm_M3_Pad_TopOnly.kicad_mod +++ /dev/null @@ -1,73 +0,0 @@ -(footprint "MountingHole_3.2mm_M3_Pad_TopOnly" - (version 20241229) - (generator "kicad-footprint-generator") - (layer "F.Cu") - (descr "Mounting Hole 3.2mm, M3, generated by kicad-footprint-generator mountinghole.py") - (tags "mountinghole M3") - (property "Reference" "REF**" - (at 0 -4.15 0) - (layer "F.SilkS") - (effects - (font - (size 1 1) - (thickness 0.15) - ) - ) - ) - (property "Value" "MountingHole_3.2mm_M3_Pad_TopOnly" - (at 0 4.15 0) - (layer "F.Fab") - (effects - (font - (size 1 1) - (thickness 0.15) - ) - ) - ) - (attr exclude_from_pos_files exclude_from_bom) - (fp_circle - (center 0 0) - (end 3.2 0) - (stroke - (width 0.15) - (type solid) - ) - (fill no) - (layer "Cmts.User") - ) - (fp_circle - (center 0 0) - (end 3.45 0) - (stroke - (width 0.05) - (type solid) - ) - (fill no) - (layer "F.CrtYd") - ) - (fp_text user "${REFERENCE}" - (at 0 0 0) - (layer "F.Fab") - (effects - (font - (size 1 1) - (thickness 0.15) - ) - ) - ) - (pad "1" thru_hole circle - (at 0 0) - (size 3.6 3.6) - (drill 3.2) - (layers "*.Cu" "*.Mask") - (remove_unused_layers no) - (zone_connect 2) - ) - (pad "1" connect circle - (at 0 0) - (size 6.4 6.4) - (layers "F.Cu" "F.Mask") - (zone_connect 2) - ) - (embedded_fonts no) -) diff --git a/.ato/modules/atopile/mounting-holes/footprints/MountingHole/MountingHole_3.2mm_M3_Pad_Via.kicad_mod b/.ato/modules/atopile/mounting-holes/footprints/MountingHole/MountingHole_3.2mm_M3_Pad_Via.kicad_mod deleted file mode 100644 index 18b4398..0000000 --- a/.ato/modules/atopile/mounting-holes/footprints/MountingHole/MountingHole_3.2mm_M3_Pad_Via.kicad_mod +++ /dev/null @@ -1,131 +0,0 @@ -(footprint "MountingHole_3.2mm_M3_Pad_Via" - (version 20241229) - (generator "kicad-footprint-generator") - (layer "F.Cu") - (descr "Mounting Hole 3.2mm, M3, generated by kicad-footprint-generator mountinghole.py") - (tags "mountinghole M3") - (property "Reference" "REF**" - (at 0 -4.15 0) - (layer "F.SilkS") - (effects - (font - (size 1 1) - (thickness 0.15) - ) - ) - ) - (property "Value" "MountingHole_3.2mm_M3_Pad_Via" - (at 0 4.15 0) - (layer "F.Fab") - (effects - (font - (size 1 1) - (thickness 0.15) - ) - ) - ) - (attr exclude_from_pos_files exclude_from_bom) - (fp_circle - (center 0 0) - (end 3.2 0) - (stroke - (width 0.15) - (type solid) - ) - (fill no) - (layer "Cmts.User") - ) - (fp_circle - (center 0 0) - (end 3.45 0) - (stroke - (width 0.05) - (type solid) - ) - (fill no) - (layer "F.CrtYd") - ) - (fp_text user "${REFERENCE}" - (at 0 0 0) - (layer "F.Fab") - (effects - (font - (size 1 1) - (thickness 0.15) - ) - ) - ) - (pad "1" thru_hole circle - (at -2.4 0) - (size 0.8 0.8) - (drill 0.5) - (layers "*.Cu" "*.Mask") - (remove_unused_layers no) - (zone_connect 2) - ) - (pad "1" thru_hole circle - (at -1.697056 -1.697056) - (size 0.8 0.8) - (drill 0.5) - (layers "*.Cu" "*.Mask") - (remove_unused_layers no) - (zone_connect 2) - ) - (pad "1" thru_hole circle - (at -1.697056 1.697056) - (size 0.8 0.8) - (drill 0.5) - (layers "*.Cu" "*.Mask") - (remove_unused_layers no) - (zone_connect 2) - ) - (pad "1" thru_hole circle - (at 0 -2.4) - (size 0.8 0.8) - (drill 0.5) - (layers "*.Cu" "*.Mask") - (remove_unused_layers no) - (zone_connect 2) - ) - (pad "1" thru_hole circle - (at 0 0) - (size 6.4 6.4) - (drill 3.2) - (layers "*.Cu" "*.Mask") - (remove_unused_layers no) - (zone_connect 2) - ) - (pad "1" thru_hole circle - (at 0 2.4) - (size 0.8 0.8) - (drill 0.5) - (layers "*.Cu" "*.Mask") - (remove_unused_layers no) - (zone_connect 2) - ) - (pad "1" thru_hole circle - (at 1.697056 -1.697056) - (size 0.8 0.8) - (drill 0.5) - (layers "*.Cu" "*.Mask") - (remove_unused_layers no) - (zone_connect 2) - ) - (pad "1" thru_hole circle - (at 1.697056 1.697056) - (size 0.8 0.8) - (drill 0.5) - (layers "*.Cu" "*.Mask") - (remove_unused_layers no) - (zone_connect 2) - ) - (pad "1" thru_hole circle - (at 2.4 0) - (size 0.8 0.8) - (drill 0.5) - (layers "*.Cu" "*.Mask") - (remove_unused_layers no) - (zone_connect 2) - ) - (embedded_fonts no) -) diff --git a/.ato/modules/atopile/mounting-holes/footprints/MountingHole/MountingHole_4.3mm_M4.kicad_mod b/.ato/modules/atopile/mounting-holes/footprints/MountingHole/MountingHole_4.3mm_M4.kicad_mod deleted file mode 100644 index 8fc4625..0000000 --- a/.ato/modules/atopile/mounting-holes/footprints/MountingHole/MountingHole_4.3mm_M4.kicad_mod +++ /dev/null @@ -1,65 +0,0 @@ -(footprint "MountingHole_4.3mm_M4" - (version 20241229) - (generator "kicad-footprint-generator") - (layer "F.Cu") - (descr "Mounting Hole 4.3mm, M4, no annular, generated by kicad-footprint-generator mountinghole.py") - (tags "mountinghole M4") - (property "Reference" "REF**" - (at 0 -5.25 0) - (layer "F.SilkS") - (effects - (font - (size 1 1) - (thickness 0.15) - ) - ) - ) - (property "Value" "MountingHole_4.3mm_M4" - (at 0 5.25 0) - (layer "F.Fab") - (effects - (font - (size 1 1) - (thickness 0.15) - ) - ) - ) - (attr exclude_from_pos_files exclude_from_bom) - (fp_circle - (center 0 0) - (end 4.3 0) - (stroke - (width 0.15) - (type solid) - ) - (fill no) - (layer "Cmts.User") - ) - (fp_circle - (center 0 0) - (end 4.55 0) - (stroke - (width 0.05) - (type solid) - ) - (fill no) - (layer "F.CrtYd") - ) - (fp_text user "${REFERENCE}" - (at 0 0 0) - (layer "F.Fab") - (effects - (font - (size 1 1) - (thickness 0.15) - ) - ) - ) - (pad "" np_thru_hole circle - (at 0 0) - (size 4.3 4.3) - (drill 4.3) - (layers "*.Cu" "*.Mask") - ) - (embedded_fonts no) -) diff --git a/.ato/modules/atopile/mounting-holes/footprints/MountingHole/MountingHole_4.3mm_M4_Pad.kicad_mod b/.ato/modules/atopile/mounting-holes/footprints/MountingHole/MountingHole_4.3mm_M4_Pad.kicad_mod deleted file mode 100644 index 17245a7..0000000 --- a/.ato/modules/atopile/mounting-holes/footprints/MountingHole/MountingHole_4.3mm_M4_Pad.kicad_mod +++ /dev/null @@ -1,67 +0,0 @@ -(footprint "MountingHole_4.3mm_M4_Pad" - (version 20241229) - (generator "kicad-footprint-generator") - (layer "F.Cu") - (descr "Mounting Hole 4.3mm, M4, generated by kicad-footprint-generator mountinghole.py") - (tags "mountinghole M4") - (property "Reference" "REF**" - (at 0 -5.25 0) - (layer "F.SilkS") - (effects - (font - (size 1 1) - (thickness 0.15) - ) - ) - ) - (property "Value" "MountingHole_4.3mm_M4_Pad" - (at 0 5.25 0) - (layer "F.Fab") - (effects - (font - (size 1 1) - (thickness 0.15) - ) - ) - ) - (attr exclude_from_pos_files exclude_from_bom) - (fp_circle - (center 0 0) - (end 4.3 0) - (stroke - (width 0.15) - (type solid) - ) - (fill no) - (layer "Cmts.User") - ) - (fp_circle - (center 0 0) - (end 4.55 0) - (stroke - (width 0.05) - (type solid) - ) - (fill no) - (layer "F.CrtYd") - ) - (fp_text user "${REFERENCE}" - (at 0 0 0) - (layer "F.Fab") - (effects - (font - (size 1 1) - (thickness 0.15) - ) - ) - ) - (pad "1" thru_hole circle - (at 0 0) - (size 8.6 8.6) - (drill 4.3) - (layers "*.Cu" "*.Mask") - (remove_unused_layers no) - (zone_connect 2) - ) - (embedded_fonts no) -) diff --git a/.ato/modules/atopile/mounting-holes/footprints/MountingHole/MountingHole_4.3mm_M4_Pad_TopBottom.kicad_mod b/.ato/modules/atopile/mounting-holes/footprints/MountingHole/MountingHole_4.3mm_M4_Pad_TopBottom.kicad_mod deleted file mode 100644 index b1fb0c8..0000000 --- a/.ato/modules/atopile/mounting-holes/footprints/MountingHole/MountingHole_4.3mm_M4_Pad_TopBottom.kicad_mod +++ /dev/null @@ -1,79 +0,0 @@ -(footprint "MountingHole_4.3mm_M4_Pad_TopBottom" - (version 20241229) - (generator "kicad-footprint-generator") - (layer "F.Cu") - (descr "Mounting Hole 4.3mm, M4, generated by kicad-footprint-generator mountinghole.py") - (tags "mountinghole M4") - (property "Reference" "REF**" - (at 0 -5.25 0) - (layer "F.SilkS") - (effects - (font - (size 1 1) - (thickness 0.15) - ) - ) - ) - (property "Value" "MountingHole_4.3mm_M4_Pad_TopBottom" - (at 0 5.25 0) - (layer "F.Fab") - (effects - (font - (size 1 1) - (thickness 0.15) - ) - ) - ) - (attr exclude_from_pos_files exclude_from_bom) - (fp_circle - (center 0 0) - (end 4.3 0) - (stroke - (width 0.15) - (type solid) - ) - (fill no) - (layer "Cmts.User") - ) - (fp_circle - (center 0 0) - (end 4.55 0) - (stroke - (width 0.05) - (type solid) - ) - (fill no) - (layer "F.CrtYd") - ) - (fp_text user "${REFERENCE}" - (at 0 0 0) - (layer "F.Fab") - (effects - (font - (size 1 1) - (thickness 0.15) - ) - ) - ) - (pad "1" thru_hole circle - (at 0 0) - (size 4.7 4.7) - (drill 4.3) - (layers "*.Cu" "*.Mask") - (remove_unused_layers no) - (zone_connect 2) - ) - (pad "1" connect circle - (at 0 0) - (size 8.6 8.6) - (layers "F.Cu" "F.Mask") - (zone_connect 2) - ) - (pad "1" connect circle - (at 0 0) - (size 8.6 8.6) - (layers "B.Cu" "B.Mask") - (zone_connect 2) - ) - (embedded_fonts no) -) diff --git a/.ato/modules/atopile/mounting-holes/footprints/MountingHole/MountingHole_4.3mm_M4_Pad_TopOnly.kicad_mod b/.ato/modules/atopile/mounting-holes/footprints/MountingHole/MountingHole_4.3mm_M4_Pad_TopOnly.kicad_mod deleted file mode 100644 index c73139a..0000000 --- a/.ato/modules/atopile/mounting-holes/footprints/MountingHole/MountingHole_4.3mm_M4_Pad_TopOnly.kicad_mod +++ /dev/null @@ -1,73 +0,0 @@ -(footprint "MountingHole_4.3mm_M4_Pad_TopOnly" - (version 20241229) - (generator "kicad-footprint-generator") - (layer "F.Cu") - (descr "Mounting Hole 4.3mm, M4, generated by kicad-footprint-generator mountinghole.py") - (tags "mountinghole M4") - (property "Reference" "REF**" - (at 0 -5.25 0) - (layer "F.SilkS") - (effects - (font - (size 1 1) - (thickness 0.15) - ) - ) - ) - (property "Value" "MountingHole_4.3mm_M4_Pad_TopOnly" - (at 0 5.25 0) - (layer "F.Fab") - (effects - (font - (size 1 1) - (thickness 0.15) - ) - ) - ) - (attr exclude_from_pos_files exclude_from_bom) - (fp_circle - (center 0 0) - (end 4.3 0) - (stroke - (width 0.15) - (type solid) - ) - (fill no) - (layer "Cmts.User") - ) - (fp_circle - (center 0 0) - (end 4.55 0) - (stroke - (width 0.05) - (type solid) - ) - (fill no) - (layer "F.CrtYd") - ) - (fp_text user "${REFERENCE}" - (at 0 0 0) - (layer "F.Fab") - (effects - (font - (size 1 1) - (thickness 0.15) - ) - ) - ) - (pad "1" thru_hole circle - (at 0 0) - (size 4.7 4.7) - (drill 4.3) - (layers "*.Cu" "*.Mask") - (remove_unused_layers no) - (zone_connect 2) - ) - (pad "1" connect circle - (at 0 0) - (size 8.6 8.6) - (layers "F.Cu" "F.Mask") - (zone_connect 2) - ) - (embedded_fonts no) -) diff --git a/.ato/modules/atopile/mounting-holes/footprints/MountingHole/MountingHole_4.3mm_M4_Pad_Via.kicad_mod b/.ato/modules/atopile/mounting-holes/footprints/MountingHole/MountingHole_4.3mm_M4_Pad_Via.kicad_mod deleted file mode 100644 index cee6285..0000000 --- a/.ato/modules/atopile/mounting-holes/footprints/MountingHole/MountingHole_4.3mm_M4_Pad_Via.kicad_mod +++ /dev/null @@ -1,131 +0,0 @@ -(footprint "MountingHole_4.3mm_M4_Pad_Via" - (version 20241229) - (generator "kicad-footprint-generator") - (layer "F.Cu") - (descr "Mounting Hole 4.3mm, M4, generated by kicad-footprint-generator mountinghole.py") - (tags "mountinghole M4") - (property "Reference" "REF**" - (at 0 -5.25 0) - (layer "F.SilkS") - (effects - (font - (size 1 1) - (thickness 0.15) - ) - ) - ) - (property "Value" "MountingHole_4.3mm_M4_Pad_Via" - (at 0 5.25 0) - (layer "F.Fab") - (effects - (font - (size 1 1) - (thickness 0.15) - ) - ) - ) - (attr exclude_from_pos_files exclude_from_bom) - (fp_circle - (center 0 0) - (end 4.3 0) - (stroke - (width 0.15) - (type solid) - ) - (fill no) - (layer "Cmts.User") - ) - (fp_circle - (center 0 0) - (end 4.55 0) - (stroke - (width 0.05) - (type solid) - ) - (fill no) - (layer "F.CrtYd") - ) - (fp_text user "${REFERENCE}" - (at 0 0 0) - (layer "F.Fab") - (effects - (font - (size 1 1) - (thickness 0.15) - ) - ) - ) - (pad "1" thru_hole circle - (at -3.225 0) - (size 0.9 0.9) - (drill 0.6) - (layers "*.Cu" "*.Mask") - (remove_unused_layers no) - (zone_connect 2) - ) - (pad "1" thru_hole circle - (at -2.280419 -2.280419) - (size 0.9 0.9) - (drill 0.6) - (layers "*.Cu" "*.Mask") - (remove_unused_layers no) - (zone_connect 2) - ) - (pad "1" thru_hole circle - (at -2.280419 2.280419) - (size 0.9 0.9) - (drill 0.6) - (layers "*.Cu" "*.Mask") - (remove_unused_layers no) - (zone_connect 2) - ) - (pad "1" thru_hole circle - (at 0 -3.225) - (size 0.9 0.9) - (drill 0.6) - (layers "*.Cu" "*.Mask") - (remove_unused_layers no) - (zone_connect 2) - ) - (pad "1" thru_hole circle - (at 0 0) - (size 8.6 8.6) - (drill 4.3) - (layers "*.Cu" "*.Mask") - (remove_unused_layers no) - (zone_connect 2) - ) - (pad "1" thru_hole circle - (at 0 3.225) - (size 0.9 0.9) - (drill 0.6) - (layers "*.Cu" "*.Mask") - (remove_unused_layers no) - (zone_connect 2) - ) - (pad "1" thru_hole circle - (at 2.280419 -2.280419) - (size 0.9 0.9) - (drill 0.6) - (layers "*.Cu" "*.Mask") - (remove_unused_layers no) - (zone_connect 2) - ) - (pad "1" thru_hole circle - (at 2.280419 2.280419) - (size 0.9 0.9) - (drill 0.6) - (layers "*.Cu" "*.Mask") - (remove_unused_layers no) - (zone_connect 2) - ) - (pad "1" thru_hole circle - (at 3.225 0) - (size 0.9 0.9) - (drill 0.6) - (layers "*.Cu" "*.Mask") - (remove_unused_layers no) - (zone_connect 2) - ) - (embedded_fonts no) -) diff --git a/.ato/modules/atopile/mounting-holes/footprints/MountingHole/MountingHole_5.3mm_M5.kicad_mod b/.ato/modules/atopile/mounting-holes/footprints/MountingHole/MountingHole_5.3mm_M5.kicad_mod deleted file mode 100644 index 82f3659..0000000 --- a/.ato/modules/atopile/mounting-holes/footprints/MountingHole/MountingHole_5.3mm_M5.kicad_mod +++ /dev/null @@ -1,65 +0,0 @@ -(footprint "MountingHole_5.3mm_M5" - (version 20241229) - (generator "kicad-footprint-generator") - (layer "F.Cu") - (descr "Mounting Hole 5.3mm, M5, no annular, generated by kicad-footprint-generator mountinghole.py") - (tags "mountinghole M5") - (property "Reference" "REF**" - (at 0 -6.25 0) - (layer "F.SilkS") - (effects - (font - (size 1 1) - (thickness 0.15) - ) - ) - ) - (property "Value" "MountingHole_5.3mm_M5" - (at 0 6.25 0) - (layer "F.Fab") - (effects - (font - (size 1 1) - (thickness 0.15) - ) - ) - ) - (attr exclude_from_pos_files exclude_from_bom) - (fp_circle - (center 0 0) - (end 5.3 0) - (stroke - (width 0.15) - (type solid) - ) - (fill no) - (layer "Cmts.User") - ) - (fp_circle - (center 0 0) - (end 5.55 0) - (stroke - (width 0.05) - (type solid) - ) - (fill no) - (layer "F.CrtYd") - ) - (fp_text user "${REFERENCE}" - (at 0 0 0) - (layer "F.Fab") - (effects - (font - (size 1 1) - (thickness 0.15) - ) - ) - ) - (pad "" np_thru_hole circle - (at 0 0) - (size 5.3 5.3) - (drill 5.3) - (layers "*.Cu" "*.Mask") - ) - (embedded_fonts no) -) diff --git a/.ato/modules/atopile/mounting-holes/footprints/MountingHole/MountingHole_5.3mm_M5_Pad.kicad_mod b/.ato/modules/atopile/mounting-holes/footprints/MountingHole/MountingHole_5.3mm_M5_Pad.kicad_mod deleted file mode 100644 index cdec023..0000000 --- a/.ato/modules/atopile/mounting-holes/footprints/MountingHole/MountingHole_5.3mm_M5_Pad.kicad_mod +++ /dev/null @@ -1,67 +0,0 @@ -(footprint "MountingHole_5.3mm_M5_Pad" - (version 20241229) - (generator "kicad-footprint-generator") - (layer "F.Cu") - (descr "Mounting Hole 5.3mm, M5, generated by kicad-footprint-generator mountinghole.py") - (tags "mountinghole M5") - (property "Reference" "REF**" - (at 0 -6.25 0) - (layer "F.SilkS") - (effects - (font - (size 1 1) - (thickness 0.15) - ) - ) - ) - (property "Value" "MountingHole_5.3mm_M5_Pad" - (at 0 6.25 0) - (layer "F.Fab") - (effects - (font - (size 1 1) - (thickness 0.15) - ) - ) - ) - (attr exclude_from_pos_files exclude_from_bom) - (fp_circle - (center 0 0) - (end 5.3 0) - (stroke - (width 0.15) - (type solid) - ) - (fill no) - (layer "Cmts.User") - ) - (fp_circle - (center 0 0) - (end 5.55 0) - (stroke - (width 0.05) - (type solid) - ) - (fill no) - (layer "F.CrtYd") - ) - (fp_text user "${REFERENCE}" - (at 0 0 0) - (layer "F.Fab") - (effects - (font - (size 1 1) - (thickness 0.15) - ) - ) - ) - (pad "1" thru_hole circle - (at 0 0) - (size 10.6 10.6) - (drill 5.3) - (layers "*.Cu" "*.Mask") - (remove_unused_layers no) - (zone_connect 2) - ) - (embedded_fonts no) -) diff --git a/.ato/modules/atopile/mounting-holes/footprints/MountingHole/MountingHole_5.3mm_M5_Pad_TopBottom.kicad_mod b/.ato/modules/atopile/mounting-holes/footprints/MountingHole/MountingHole_5.3mm_M5_Pad_TopBottom.kicad_mod deleted file mode 100644 index afb9c82..0000000 --- a/.ato/modules/atopile/mounting-holes/footprints/MountingHole/MountingHole_5.3mm_M5_Pad_TopBottom.kicad_mod +++ /dev/null @@ -1,79 +0,0 @@ -(footprint "MountingHole_5.3mm_M5_Pad_TopBottom" - (version 20241229) - (generator "kicad-footprint-generator") - (layer "F.Cu") - (descr "Mounting Hole 5.3mm, M5, generated by kicad-footprint-generator mountinghole.py") - (tags "mountinghole M5") - (property "Reference" "REF**" - (at 0 -6.25 0) - (layer "F.SilkS") - (effects - (font - (size 1 1) - (thickness 0.15) - ) - ) - ) - (property "Value" "MountingHole_5.3mm_M5_Pad_TopBottom" - (at 0 6.25 0) - (layer "F.Fab") - (effects - (font - (size 1 1) - (thickness 0.15) - ) - ) - ) - (attr exclude_from_pos_files exclude_from_bom) - (fp_circle - (center 0 0) - (end 5.3 0) - (stroke - (width 0.15) - (type solid) - ) - (fill no) - (layer "Cmts.User") - ) - (fp_circle - (center 0 0) - (end 5.55 0) - (stroke - (width 0.05) - (type solid) - ) - (fill no) - (layer "F.CrtYd") - ) - (fp_text user "${REFERENCE}" - (at 0 0 0) - (layer "F.Fab") - (effects - (font - (size 1 1) - (thickness 0.15) - ) - ) - ) - (pad "1" thru_hole circle - (at 0 0) - (size 5.7 5.7) - (drill 5.3) - (layers "*.Cu" "*.Mask") - (remove_unused_layers no) - (zone_connect 2) - ) - (pad "1" connect circle - (at 0 0) - (size 10.6 10.6) - (layers "F.Cu" "F.Mask") - (zone_connect 2) - ) - (pad "1" connect circle - (at 0 0) - (size 10.6 10.6) - (layers "B.Cu" "B.Mask") - (zone_connect 2) - ) - (embedded_fonts no) -) diff --git a/.ato/modules/atopile/mounting-holes/footprints/MountingHole/MountingHole_5.3mm_M5_Pad_TopOnly.kicad_mod b/.ato/modules/atopile/mounting-holes/footprints/MountingHole/MountingHole_5.3mm_M5_Pad_TopOnly.kicad_mod deleted file mode 100644 index 6fca0f5..0000000 --- a/.ato/modules/atopile/mounting-holes/footprints/MountingHole/MountingHole_5.3mm_M5_Pad_TopOnly.kicad_mod +++ /dev/null @@ -1,73 +0,0 @@ -(footprint "MountingHole_5.3mm_M5_Pad_TopOnly" - (version 20241229) - (generator "kicad-footprint-generator") - (layer "F.Cu") - (descr "Mounting Hole 5.3mm, M5, generated by kicad-footprint-generator mountinghole.py") - (tags "mountinghole M5") - (property "Reference" "REF**" - (at 0 -6.25 0) - (layer "F.SilkS") - (effects - (font - (size 1 1) - (thickness 0.15) - ) - ) - ) - (property "Value" "MountingHole_5.3mm_M5_Pad_TopOnly" - (at 0 6.25 0) - (layer "F.Fab") - (effects - (font - (size 1 1) - (thickness 0.15) - ) - ) - ) - (attr exclude_from_pos_files exclude_from_bom) - (fp_circle - (center 0 0) - (end 5.3 0) - (stroke - (width 0.15) - (type solid) - ) - (fill no) - (layer "Cmts.User") - ) - (fp_circle - (center 0 0) - (end 5.55 0) - (stroke - (width 0.05) - (type solid) - ) - (fill no) - (layer "F.CrtYd") - ) - (fp_text user "${REFERENCE}" - (at 0 0 0) - (layer "F.Fab") - (effects - (font - (size 1 1) - (thickness 0.15) - ) - ) - ) - (pad "1" thru_hole circle - (at 0 0) - (size 5.7 5.7) - (drill 5.3) - (layers "*.Cu" "*.Mask") - (remove_unused_layers no) - (zone_connect 2) - ) - (pad "1" connect circle - (at 0 0) - (size 10.6 10.6) - (layers "F.Cu" "F.Mask") - (zone_connect 2) - ) - (embedded_fonts no) -) diff --git a/.ato/modules/atopile/mounting-holes/footprints/MountingHole/MountingHole_5.3mm_M5_Pad_Via.kicad_mod b/.ato/modules/atopile/mounting-holes/footprints/MountingHole/MountingHole_5.3mm_M5_Pad_Via.kicad_mod deleted file mode 100644 index 85dddd7..0000000 --- a/.ato/modules/atopile/mounting-holes/footprints/MountingHole/MountingHole_5.3mm_M5_Pad_Via.kicad_mod +++ /dev/null @@ -1,131 +0,0 @@ -(footprint "MountingHole_5.3mm_M5_Pad_Via" - (version 20241229) - (generator "kicad-footprint-generator") - (layer "F.Cu") - (descr "Mounting Hole 5.3mm, M5, generated by kicad-footprint-generator mountinghole.py") - (tags "mountinghole M5") - (property "Reference" "REF**" - (at 0 -6.25 0) - (layer "F.SilkS") - (effects - (font - (size 1 1) - (thickness 0.15) - ) - ) - ) - (property "Value" "MountingHole_5.3mm_M5_Pad_Via" - (at 0 6.25 0) - (layer "F.Fab") - (effects - (font - (size 1 1) - (thickness 0.15) - ) - ) - ) - (attr exclude_from_pos_files exclude_from_bom) - (fp_circle - (center 0 0) - (end 5.3 0) - (stroke - (width 0.15) - (type solid) - ) - (fill no) - (layer "Cmts.User") - ) - (fp_circle - (center 0 0) - (end 5.55 0) - (stroke - (width 0.05) - (type solid) - ) - (fill no) - (layer "F.CrtYd") - ) - (fp_text user "${REFERENCE}" - (at 0 0 0) - (layer "F.Fab") - (effects - (font - (size 1 1) - (thickness 0.15) - ) - ) - ) - (pad "1" thru_hole circle - (at -3.975 0) - (size 0.9 0.9) - (drill 0.6) - (layers "*.Cu" "*.Mask") - (remove_unused_layers no) - (zone_connect 2) - ) - (pad "1" thru_hole circle - (at -2.810749 -2.810749) - (size 0.9 0.9) - (drill 0.6) - (layers "*.Cu" "*.Mask") - (remove_unused_layers no) - (zone_connect 2) - ) - (pad "1" thru_hole circle - (at -2.810749 2.810749) - (size 0.9 0.9) - (drill 0.6) - (layers "*.Cu" "*.Mask") - (remove_unused_layers no) - (zone_connect 2) - ) - (pad "1" thru_hole circle - (at 0 -3.975) - (size 0.9 0.9) - (drill 0.6) - (layers "*.Cu" "*.Mask") - (remove_unused_layers no) - (zone_connect 2) - ) - (pad "1" thru_hole circle - (at 0 0) - (size 10.6 10.6) - (drill 5.3) - (layers "*.Cu" "*.Mask") - (remove_unused_layers no) - (zone_connect 2) - ) - (pad "1" thru_hole circle - (at 0 3.975) - (size 0.9 0.9) - (drill 0.6) - (layers "*.Cu" "*.Mask") - (remove_unused_layers no) - (zone_connect 2) - ) - (pad "1" thru_hole circle - (at 2.810749 -2.810749) - (size 0.9 0.9) - (drill 0.6) - (layers "*.Cu" "*.Mask") - (remove_unused_layers no) - (zone_connect 2) - ) - (pad "1" thru_hole circle - (at 2.810749 2.810749) - (size 0.9 0.9) - (drill 0.6) - (layers "*.Cu" "*.Mask") - (remove_unused_layers no) - (zone_connect 2) - ) - (pad "1" thru_hole circle - (at 3.975 0) - (size 0.9 0.9) - (drill 0.6) - (layers "*.Cu" "*.Mask") - (remove_unused_layers no) - (zone_connect 2) - ) - (embedded_fonts no) -) diff --git a/.ato/modules/atopile/mounting-holes/footprints/MountingHole/MountingHole_6.4mm_M6.kicad_mod b/.ato/modules/atopile/mounting-holes/footprints/MountingHole/MountingHole_6.4mm_M6.kicad_mod deleted file mode 100644 index 6f6b771..0000000 --- a/.ato/modules/atopile/mounting-holes/footprints/MountingHole/MountingHole_6.4mm_M6.kicad_mod +++ /dev/null @@ -1,65 +0,0 @@ -(footprint "MountingHole_6.4mm_M6" - (version 20241229) - (generator "kicad-footprint-generator") - (layer "F.Cu") - (descr "Mounting Hole 6.4mm, M6, no annular, generated by kicad-footprint-generator mountinghole.py") - (tags "mountinghole M6") - (property "Reference" "REF**" - (at 0 -7.35 0) - (layer "F.SilkS") - (effects - (font - (size 1 1) - (thickness 0.15) - ) - ) - ) - (property "Value" "MountingHole_6.4mm_M6" - (at 0 7.35 0) - (layer "F.Fab") - (effects - (font - (size 1 1) - (thickness 0.15) - ) - ) - ) - (attr exclude_from_pos_files exclude_from_bom) - (fp_circle - (center 0 0) - (end 6.4 0) - (stroke - (width 0.15) - (type solid) - ) - (fill no) - (layer "Cmts.User") - ) - (fp_circle - (center 0 0) - (end 6.65 0) - (stroke - (width 0.05) - (type solid) - ) - (fill no) - (layer "F.CrtYd") - ) - (fp_text user "${REFERENCE}" - (at 0 0 0) - (layer "F.Fab") - (effects - (font - (size 1 1) - (thickness 0.15) - ) - ) - ) - (pad "" np_thru_hole circle - (at 0 0) - (size 6.4 6.4) - (drill 6.4) - (layers "*.Cu" "*.Mask") - ) - (embedded_fonts no) -) diff --git a/.ato/modules/atopile/mounting-holes/footprints/MountingHole/MountingHole_6.4mm_M6_Pad.kicad_mod b/.ato/modules/atopile/mounting-holes/footprints/MountingHole/MountingHole_6.4mm_M6_Pad.kicad_mod deleted file mode 100644 index 09b7ca7..0000000 --- a/.ato/modules/atopile/mounting-holes/footprints/MountingHole/MountingHole_6.4mm_M6_Pad.kicad_mod +++ /dev/null @@ -1,67 +0,0 @@ -(footprint "MountingHole_6.4mm_M6_Pad" - (version 20241229) - (generator "kicad-footprint-generator") - (layer "F.Cu") - (descr "Mounting Hole 6.4mm, M6, generated by kicad-footprint-generator mountinghole.py") - (tags "mountinghole M6") - (property "Reference" "REF**" - (at 0 -7.35 0) - (layer "F.SilkS") - (effects - (font - (size 1 1) - (thickness 0.15) - ) - ) - ) - (property "Value" "MountingHole_6.4mm_M6_Pad" - (at 0 7.35 0) - (layer "F.Fab") - (effects - (font - (size 1 1) - (thickness 0.15) - ) - ) - ) - (attr exclude_from_pos_files exclude_from_bom) - (fp_circle - (center 0 0) - (end 6.4 0) - (stroke - (width 0.15) - (type solid) - ) - (fill no) - (layer "Cmts.User") - ) - (fp_circle - (center 0 0) - (end 6.65 0) - (stroke - (width 0.05) - (type solid) - ) - (fill no) - (layer "F.CrtYd") - ) - (fp_text user "${REFERENCE}" - (at 0 0 0) - (layer "F.Fab") - (effects - (font - (size 1 1) - (thickness 0.15) - ) - ) - ) - (pad "1" thru_hole circle - (at 0 0) - (size 12.8 12.8) - (drill 6.4) - (layers "*.Cu" "*.Mask") - (remove_unused_layers no) - (zone_connect 2) - ) - (embedded_fonts no) -) diff --git a/.ato/modules/atopile/mounting-holes/footprints/MountingHole/MountingHole_6.4mm_M6_Pad_TopBottom.kicad_mod b/.ato/modules/atopile/mounting-holes/footprints/MountingHole/MountingHole_6.4mm_M6_Pad_TopBottom.kicad_mod deleted file mode 100644 index 00100d6..0000000 --- a/.ato/modules/atopile/mounting-holes/footprints/MountingHole/MountingHole_6.4mm_M6_Pad_TopBottom.kicad_mod +++ /dev/null @@ -1,79 +0,0 @@ -(footprint "MountingHole_6.4mm_M6_Pad_TopBottom" - (version 20241229) - (generator "kicad-footprint-generator") - (layer "F.Cu") - (descr "Mounting Hole 6.4mm, M6, generated by kicad-footprint-generator mountinghole.py") - (tags "mountinghole M6") - (property "Reference" "REF**" - (at 0 -7.35 0) - (layer "F.SilkS") - (effects - (font - (size 1 1) - (thickness 0.15) - ) - ) - ) - (property "Value" "MountingHole_6.4mm_M6_Pad_TopBottom" - (at 0 7.35 0) - (layer "F.Fab") - (effects - (font - (size 1 1) - (thickness 0.15) - ) - ) - ) - (attr exclude_from_pos_files exclude_from_bom) - (fp_circle - (center 0 0) - (end 6.4 0) - (stroke - (width 0.15) - (type solid) - ) - (fill no) - (layer "Cmts.User") - ) - (fp_circle - (center 0 0) - (end 6.65 0) - (stroke - (width 0.05) - (type solid) - ) - (fill no) - (layer "F.CrtYd") - ) - (fp_text user "${REFERENCE}" - (at 0 0 0) - (layer "F.Fab") - (effects - (font - (size 1 1) - (thickness 0.15) - ) - ) - ) - (pad "1" thru_hole circle - (at 0 0) - (size 6.8 6.8) - (drill 6.4) - (layers "*.Cu" "*.Mask") - (remove_unused_layers no) - (zone_connect 2) - ) - (pad "1" connect circle - (at 0 0) - (size 12.8 12.8) - (layers "F.Cu" "F.Mask") - (zone_connect 2) - ) - (pad "1" connect circle - (at 0 0) - (size 12.8 12.8) - (layers "B.Cu" "B.Mask") - (zone_connect 2) - ) - (embedded_fonts no) -) diff --git a/.ato/modules/atopile/mounting-holes/footprints/MountingHole/MountingHole_6.4mm_M6_Pad_TopOnly.kicad_mod b/.ato/modules/atopile/mounting-holes/footprints/MountingHole/MountingHole_6.4mm_M6_Pad_TopOnly.kicad_mod deleted file mode 100644 index 8af5b8c..0000000 --- a/.ato/modules/atopile/mounting-holes/footprints/MountingHole/MountingHole_6.4mm_M6_Pad_TopOnly.kicad_mod +++ /dev/null @@ -1,73 +0,0 @@ -(footprint "MountingHole_6.4mm_M6_Pad_TopOnly" - (version 20241229) - (generator "kicad-footprint-generator") - (layer "F.Cu") - (descr "Mounting Hole 6.4mm, M6, generated by kicad-footprint-generator mountinghole.py") - (tags "mountinghole M6") - (property "Reference" "REF**" - (at 0 -7.35 0) - (layer "F.SilkS") - (effects - (font - (size 1 1) - (thickness 0.15) - ) - ) - ) - (property "Value" "MountingHole_6.4mm_M6_Pad_TopOnly" - (at 0 7.35 0) - (layer "F.Fab") - (effects - (font - (size 1 1) - (thickness 0.15) - ) - ) - ) - (attr exclude_from_pos_files exclude_from_bom) - (fp_circle - (center 0 0) - (end 6.4 0) - (stroke - (width 0.15) - (type solid) - ) - (fill no) - (layer "Cmts.User") - ) - (fp_circle - (center 0 0) - (end 6.65 0) - (stroke - (width 0.05) - (type solid) - ) - (fill no) - (layer "F.CrtYd") - ) - (fp_text user "${REFERENCE}" - (at 0 0 0) - (layer "F.Fab") - (effects - (font - (size 1 1) - (thickness 0.15) - ) - ) - ) - (pad "1" thru_hole circle - (at 0 0) - (size 6.8 6.8) - (drill 6.4) - (layers "*.Cu" "*.Mask") - (remove_unused_layers no) - (zone_connect 2) - ) - (pad "1" connect circle - (at 0 0) - (size 12.8 12.8) - (layers "F.Cu" "F.Mask") - (zone_connect 2) - ) - (embedded_fonts no) -) diff --git a/.ato/modules/atopile/mounting-holes/footprints/MountingHole/MountingHole_6.4mm_M6_Pad_Via.kicad_mod b/.ato/modules/atopile/mounting-holes/footprints/MountingHole/MountingHole_6.4mm_M6_Pad_Via.kicad_mod deleted file mode 100644 index 19ddc71..0000000 --- a/.ato/modules/atopile/mounting-holes/footprints/MountingHole/MountingHole_6.4mm_M6_Pad_Via.kicad_mod +++ /dev/null @@ -1,131 +0,0 @@ -(footprint "MountingHole_6.4mm_M6_Pad_Via" - (version 20241229) - (generator "kicad-footprint-generator") - (layer "F.Cu") - (descr "Mounting Hole 6.4mm, M6, generated by kicad-footprint-generator mountinghole.py") - (tags "mountinghole M6") - (property "Reference" "REF**" - (at 0 -7.35 0) - (layer "F.SilkS") - (effects - (font - (size 1 1) - (thickness 0.15) - ) - ) - ) - (property "Value" "MountingHole_6.4mm_M6_Pad_Via" - (at 0 7.35 0) - (layer "F.Fab") - (effects - (font - (size 1 1) - (thickness 0.15) - ) - ) - ) - (attr exclude_from_pos_files exclude_from_bom) - (fp_circle - (center 0 0) - (end 6.4 0) - (stroke - (width 0.15) - (type solid) - ) - (fill no) - (layer "Cmts.User") - ) - (fp_circle - (center 0 0) - (end 6.65 0) - (stroke - (width 0.05) - (type solid) - ) - (fill no) - (layer "F.CrtYd") - ) - (fp_text user "${REFERENCE}" - (at 0 0 0) - (layer "F.Fab") - (effects - (font - (size 1 1) - (thickness 0.15) - ) - ) - ) - (pad "1" thru_hole circle - (at -4.8 0) - (size 0.9 0.9) - (drill 0.6) - (layers "*.Cu" "*.Mask") - (remove_unused_layers no) - (zone_connect 2) - ) - (pad "1" thru_hole circle - (at -3.394113 -3.394113) - (size 0.9 0.9) - (drill 0.6) - (layers "*.Cu" "*.Mask") - (remove_unused_layers no) - (zone_connect 2) - ) - (pad "1" thru_hole circle - (at -3.394113 3.394113) - (size 0.9 0.9) - (drill 0.6) - (layers "*.Cu" "*.Mask") - (remove_unused_layers no) - (zone_connect 2) - ) - (pad "1" thru_hole circle - (at 0 -4.8) - (size 0.9 0.9) - (drill 0.6) - (layers "*.Cu" "*.Mask") - (remove_unused_layers no) - (zone_connect 2) - ) - (pad "1" thru_hole circle - (at 0 0) - (size 12.8 12.8) - (drill 6.4) - (layers "*.Cu" "*.Mask") - (remove_unused_layers no) - (zone_connect 2) - ) - (pad "1" thru_hole circle - (at 0 4.8) - (size 0.9 0.9) - (drill 0.6) - (layers "*.Cu" "*.Mask") - (remove_unused_layers no) - (zone_connect 2) - ) - (pad "1" thru_hole circle - (at 3.394113 -3.394113) - (size 0.9 0.9) - (drill 0.6) - (layers "*.Cu" "*.Mask") - (remove_unused_layers no) - (zone_connect 2) - ) - (pad "1" thru_hole circle - (at 3.394113 3.394113) - (size 0.9 0.9) - (drill 0.6) - (layers "*.Cu" "*.Mask") - (remove_unused_layers no) - (zone_connect 2) - ) - (pad "1" thru_hole circle - (at 4.8 0) - (size 0.9 0.9) - (drill 0.6) - (layers "*.Cu" "*.Mask") - (remove_unused_layers no) - (zone_connect 2) - ) - (embedded_fonts no) -) diff --git a/.ato/modules/atopile/mounting-holes/footprints/MountingHole/MountingHole_8.4mm_M8.kicad_mod b/.ato/modules/atopile/mounting-holes/footprints/MountingHole/MountingHole_8.4mm_M8.kicad_mod deleted file mode 100644 index 144d831..0000000 --- a/.ato/modules/atopile/mounting-holes/footprints/MountingHole/MountingHole_8.4mm_M8.kicad_mod +++ /dev/null @@ -1,65 +0,0 @@ -(footprint "MountingHole_8.4mm_M8" - (version 20241229) - (generator "kicad-footprint-generator") - (layer "F.Cu") - (descr "Mounting Hole 8.4mm, M8, no annular, generated by kicad-footprint-generator mountinghole.py") - (tags "mountinghole M8") - (property "Reference" "REF**" - (at 0 -9.35 0) - (layer "F.SilkS") - (effects - (font - (size 1 1) - (thickness 0.15) - ) - ) - ) - (property "Value" "MountingHole_8.4mm_M8" - (at 0 9.35 0) - (layer "F.Fab") - (effects - (font - (size 1 1) - (thickness 0.15) - ) - ) - ) - (attr exclude_from_pos_files exclude_from_bom) - (fp_circle - (center 0 0) - (end 8.4 0) - (stroke - (width 0.15) - (type solid) - ) - (fill no) - (layer "Cmts.User") - ) - (fp_circle - (center 0 0) - (end 8.65 0) - (stroke - (width 0.05) - (type solid) - ) - (fill no) - (layer "F.CrtYd") - ) - (fp_text user "${REFERENCE}" - (at 0 0 0) - (layer "F.Fab") - (effects - (font - (size 1 1) - (thickness 0.15) - ) - ) - ) - (pad "" np_thru_hole circle - (at 0 0) - (size 8.4 8.4) - (drill 8.4) - (layers "*.Cu" "*.Mask") - ) - (embedded_fonts no) -) diff --git a/.ato/modules/atopile/mounting-holes/footprints/MountingHole/MountingHole_8.4mm_M8_Pad.kicad_mod b/.ato/modules/atopile/mounting-holes/footprints/MountingHole/MountingHole_8.4mm_M8_Pad.kicad_mod deleted file mode 100644 index 7b30c80..0000000 --- a/.ato/modules/atopile/mounting-holes/footprints/MountingHole/MountingHole_8.4mm_M8_Pad.kicad_mod +++ /dev/null @@ -1,67 +0,0 @@ -(footprint "MountingHole_8.4mm_M8_Pad" - (version 20241229) - (generator "kicad-footprint-generator") - (layer "F.Cu") - (descr "Mounting Hole 8.4mm, M8, generated by kicad-footprint-generator mountinghole.py") - (tags "mountinghole M8") - (property "Reference" "REF**" - (at 0 -9.35 0) - (layer "F.SilkS") - (effects - (font - (size 1 1) - (thickness 0.15) - ) - ) - ) - (property "Value" "MountingHole_8.4mm_M8_Pad" - (at 0 9.35 0) - (layer "F.Fab") - (effects - (font - (size 1 1) - (thickness 0.15) - ) - ) - ) - (attr exclude_from_pos_files exclude_from_bom) - (fp_circle - (center 0 0) - (end 8.4 0) - (stroke - (width 0.15) - (type solid) - ) - (fill no) - (layer "Cmts.User") - ) - (fp_circle - (center 0 0) - (end 8.65 0) - (stroke - (width 0.05) - (type solid) - ) - (fill no) - (layer "F.CrtYd") - ) - (fp_text user "${REFERENCE}" - (at 0 0 0) - (layer "F.Fab") - (effects - (font - (size 1 1) - (thickness 0.15) - ) - ) - ) - (pad "1" thru_hole circle - (at 0 0) - (size 16.8 16.8) - (drill 8.4) - (layers "*.Cu" "*.Mask") - (remove_unused_layers no) - (zone_connect 2) - ) - (embedded_fonts no) -) diff --git a/.ato/modules/atopile/mounting-holes/footprints/MountingHole/MountingHole_8.4mm_M8_Pad_TopBottom.kicad_mod b/.ato/modules/atopile/mounting-holes/footprints/MountingHole/MountingHole_8.4mm_M8_Pad_TopBottom.kicad_mod deleted file mode 100644 index 38bfc7c..0000000 --- a/.ato/modules/atopile/mounting-holes/footprints/MountingHole/MountingHole_8.4mm_M8_Pad_TopBottom.kicad_mod +++ /dev/null @@ -1,79 +0,0 @@ -(footprint "MountingHole_8.4mm_M8_Pad_TopBottom" - (version 20241229) - (generator "kicad-footprint-generator") - (layer "F.Cu") - (descr "Mounting Hole 8.4mm, M8, generated by kicad-footprint-generator mountinghole.py") - (tags "mountinghole M8") - (property "Reference" "REF**" - (at 0 -9.35 0) - (layer "F.SilkS") - (effects - (font - (size 1 1) - (thickness 0.15) - ) - ) - ) - (property "Value" "MountingHole_8.4mm_M8_Pad_TopBottom" - (at 0 9.35 0) - (layer "F.Fab") - (effects - (font - (size 1 1) - (thickness 0.15) - ) - ) - ) - (attr exclude_from_pos_files exclude_from_bom) - (fp_circle - (center 0 0) - (end 8.4 0) - (stroke - (width 0.15) - (type solid) - ) - (fill no) - (layer "Cmts.User") - ) - (fp_circle - (center 0 0) - (end 8.65 0) - (stroke - (width 0.05) - (type solid) - ) - (fill no) - (layer "F.CrtYd") - ) - (fp_text user "${REFERENCE}" - (at 0 0 0) - (layer "F.Fab") - (effects - (font - (size 1 1) - (thickness 0.15) - ) - ) - ) - (pad "1" thru_hole circle - (at 0 0) - (size 8.8 8.8) - (drill 8.4) - (layers "*.Cu" "*.Mask") - (remove_unused_layers no) - (zone_connect 2) - ) - (pad "1" connect circle - (at 0 0) - (size 16.8 16.8) - (layers "F.Cu" "F.Mask") - (zone_connect 2) - ) - (pad "1" connect circle - (at 0 0) - (size 16.8 16.8) - (layers "B.Cu" "B.Mask") - (zone_connect 2) - ) - (embedded_fonts no) -) diff --git a/.ato/modules/atopile/mounting-holes/footprints/MountingHole/MountingHole_8.4mm_M8_Pad_TopOnly.kicad_mod b/.ato/modules/atopile/mounting-holes/footprints/MountingHole/MountingHole_8.4mm_M8_Pad_TopOnly.kicad_mod deleted file mode 100644 index 4b7597d..0000000 --- a/.ato/modules/atopile/mounting-holes/footprints/MountingHole/MountingHole_8.4mm_M8_Pad_TopOnly.kicad_mod +++ /dev/null @@ -1,73 +0,0 @@ -(footprint "MountingHole_8.4mm_M8_Pad_TopOnly" - (version 20241229) - (generator "kicad-footprint-generator") - (layer "F.Cu") - (descr "Mounting Hole 8.4mm, M8, generated by kicad-footprint-generator mountinghole.py") - (tags "mountinghole M8") - (property "Reference" "REF**" - (at 0 -9.35 0) - (layer "F.SilkS") - (effects - (font - (size 1 1) - (thickness 0.15) - ) - ) - ) - (property "Value" "MountingHole_8.4mm_M8_Pad_TopOnly" - (at 0 9.35 0) - (layer "F.Fab") - (effects - (font - (size 1 1) - (thickness 0.15) - ) - ) - ) - (attr exclude_from_pos_files exclude_from_bom) - (fp_circle - (center 0 0) - (end 8.4 0) - (stroke - (width 0.15) - (type solid) - ) - (fill no) - (layer "Cmts.User") - ) - (fp_circle - (center 0 0) - (end 8.65 0) - (stroke - (width 0.05) - (type solid) - ) - (fill no) - (layer "F.CrtYd") - ) - (fp_text user "${REFERENCE}" - (at 0 0 0) - (layer "F.Fab") - (effects - (font - (size 1 1) - (thickness 0.15) - ) - ) - ) - (pad "1" thru_hole circle - (at 0 0) - (size 8.8 8.8) - (drill 8.4) - (layers "*.Cu" "*.Mask") - (remove_unused_layers no) - (zone_connect 2) - ) - (pad "1" connect circle - (at 0 0) - (size 16.8 16.8) - (layers "F.Cu" "F.Mask") - (zone_connect 2) - ) - (embedded_fonts no) -) diff --git a/.ato/modules/atopile/mounting-holes/footprints/MountingHole/MountingHole_8.4mm_M8_Pad_Via.kicad_mod b/.ato/modules/atopile/mounting-holes/footprints/MountingHole/MountingHole_8.4mm_M8_Pad_Via.kicad_mod deleted file mode 100644 index f8f6dac..0000000 --- a/.ato/modules/atopile/mounting-holes/footprints/MountingHole/MountingHole_8.4mm_M8_Pad_Via.kicad_mod +++ /dev/null @@ -1,131 +0,0 @@ -(footprint "MountingHole_8.4mm_M8_Pad_Via" - (version 20241229) - (generator "kicad-footprint-generator") - (layer "F.Cu") - (descr "Mounting Hole 8.4mm, M8, generated by kicad-footprint-generator mountinghole.py") - (tags "mountinghole M8") - (property "Reference" "REF**" - (at 0 -9.35 0) - (layer "F.SilkS") - (effects - (font - (size 1 1) - (thickness 0.15) - ) - ) - ) - (property "Value" "MountingHole_8.4mm_M8_Pad_Via" - (at 0 9.35 0) - (layer "F.Fab") - (effects - (font - (size 1 1) - (thickness 0.15) - ) - ) - ) - (attr exclude_from_pos_files exclude_from_bom) - (fp_circle - (center 0 0) - (end 8.4 0) - (stroke - (width 0.15) - (type solid) - ) - (fill no) - (layer "Cmts.User") - ) - (fp_circle - (center 0 0) - (end 8.65 0) - (stroke - (width 0.05) - (type solid) - ) - (fill no) - (layer "F.CrtYd") - ) - (fp_text user "${REFERENCE}" - (at 0 0 0) - (layer "F.Fab") - (effects - (font - (size 1 1) - (thickness 0.15) - ) - ) - ) - (pad "1" thru_hole circle - (at -6.3 0) - (size 1.1 1.1) - (drill 0.8) - (layers "*.Cu" "*.Mask") - (remove_unused_layers no) - (zone_connect 2) - ) - (pad "1" thru_hole circle - (at -4.454773 -4.454773) - (size 1.1 1.1) - (drill 0.8) - (layers "*.Cu" "*.Mask") - (remove_unused_layers no) - (zone_connect 2) - ) - (pad "1" thru_hole circle - (at -4.454773 4.454773) - (size 1.1 1.1) - (drill 0.8) - (layers "*.Cu" "*.Mask") - (remove_unused_layers no) - (zone_connect 2) - ) - (pad "1" thru_hole circle - (at 0 -6.3) - (size 1.1 1.1) - (drill 0.8) - (layers "*.Cu" "*.Mask") - (remove_unused_layers no) - (zone_connect 2) - ) - (pad "1" thru_hole circle - (at 0 0) - (size 16.8 16.8) - (drill 8.4) - (layers "*.Cu" "*.Mask") - (remove_unused_layers no) - (zone_connect 2) - ) - (pad "1" thru_hole circle - (at 0 6.3) - (size 1.1 1.1) - (drill 0.8) - (layers "*.Cu" "*.Mask") - (remove_unused_layers no) - (zone_connect 2) - ) - (pad "1" thru_hole circle - (at 4.454773 -4.454773) - (size 1.1 1.1) - (drill 0.8) - (layers "*.Cu" "*.Mask") - (remove_unused_layers no) - (zone_connect 2) - ) - (pad "1" thru_hole circle - (at 4.454773 4.454773) - (size 1.1 1.1) - (drill 0.8) - (layers "*.Cu" "*.Mask") - (remove_unused_layers no) - (zone_connect 2) - ) - (pad "1" thru_hole circle - (at 6.3 0) - (size 1.1 1.1) - (drill 0.8) - (layers "*.Cu" "*.Mask") - (remove_unused_layers no) - (zone_connect 2) - ) - (embedded_fonts no) -) diff --git a/.ato/modules/atopile/mounting-holes/layouts/usage/fp-lib-table b/.ato/modules/atopile/mounting-holes/layouts/usage/fp-lib-table deleted file mode 100644 index d38ae91..0000000 --- a/.ato/modules/atopile/mounting-holes/layouts/usage/fp-lib-table +++ /dev/null @@ -1,10 +0,0 @@ -(fp_lib_table - (version 7) - (lib - (name "MountingHole") - (type "KiCad") - (uri "${KIPRJMOD}/../../footprints/MountingHole") - (options "") - (descr "atopile: part lib: MountingHole") - ) -) \ No newline at end of file diff --git a/.ato/modules/atopile/mounting-holes/layouts/usage/usage.kicad_pcb b/.ato/modules/atopile/mounting-holes/layouts/usage/usage.kicad_pcb deleted file mode 100644 index 6d08d66..0000000 --- a/.ato/modules/atopile/mounting-holes/layouts/usage/usage.kicad_pcb +++ /dev/null @@ -1,667 +0,0 @@ -(kicad_pcb - (version 20241229) - (generator "pcbnew") - (generator_version "9.0") - (general - (thickness 1.6) - (legacy_teardrops no) - ) - (paper "A4") - (layers - (0 "F.Cu" signal) - (2 "B.Cu" signal) - (9 "F.Adhes" user "F.Adhesive") - (11 "B.Adhes" user "B.Adhesive") - (13 "F.Paste" user) - (15 "B.Paste" user) - (5 "F.SilkS" user "F.Silkscreen") - (7 "B.SilkS" user "B.Silkscreen") - (1 "F.Mask" user) - (3 "B.Mask" user) - (17 "Dwgs.User" user "User.Drawings") - (19 "Cmts.User" user "User.Comments") - (21 "Eco1.User" user "User.Eco1") - (23 "Eco2.User" user "User.Eco2") - (25 "Edge.Cuts" user) - (27 "Margin" user) - (31 "F.CrtYd" user "F.Courtyard") - (29 "B.CrtYd" user "B.Courtyard") - (35 "F.Fab" user) - (33 "B.Fab" user) - (39 "User.1" user) - (41 "User.2" user) - (43 "User.3" user) - (45 "User.4" user) - (47 "User.5" user) - (49 "User.6" user) - (51 "User.7" user) - (53 "User.8" user) - (55 "User.9" user) - ) - (setup - (pad_to_mask_clearance 0) - (allow_soldermask_bridges_in_footprints no) - (tenting front back) - (pcbplotparams - (layerselection 0x00000000_00000000_000010fc_ffffffff) - (plot_on_all_layers_selection 0x00000000_00000000_00000000_00000000) - (disableapertmacros no) - (usegerberextensions no) - (usegerberattributes yes) - (usegerberadvancedattributes yes) - (creategerberjobfile yes) - (dashed_line_dash_ratio 12) - (dashed_line_gap_ratio 3) - (svgprecision 4) - (plotframeref no) - (mode 1) - (useauxorigin no) - (hpglpennumber 1) - (hpglpenspeed 20) - (hpglpendiameter 15) - (pdf_front_fp_property_popups yes) - (pdf_back_fp_property_popups yes) - (pdf_metadata yes) - (pdf_single_document no) - (dxfpolygonmode yes) - (dxfimperialunits yes) - (dxfusepcbnewfont yes) - (psnegative no) - (psa4output no) - (plot_black_and_white yes) - (plotinvisibletext no) - (sketchpadsonfab no) - (plotreference yes) - (plotvalue yes) - (plotpadnumbers no) - (hidednponfab no) - (sketchdnponfab yes) - (crossoutdnponfab yes) - (plotfptext yes) - (subtractmaskfromsilk no) - (outputformat 1) - (mirror no) - (drillshape 1) - (scaleselection 1) - (outputdirectory "") - ) - ) - (net 0 "") - (net 2 "m6_no_pad-contact") - (net 3 "-contact") - (footprint "MountingHole:MountingHole_3.2mm_M3_Pad" - (layer "F.Cu") - (uuid "a07a1889-e241-4ac7-a5cf-69fb4642524b") - (at 0 0 0) - (property "Reference" "H1" - (at 0 -4.15 0) - (layer "F.SilkS") - (hide yes) - (uuid "3b949f8f-6bfd-4467-84db-7d63bcc09471") - (effects - (font - (size 1 1) - (thickness 0.15) - ) - ) - ) - (property "Value" "" - (at 0 4.15 0) - (layer "F.Fab") - (hide no) - (uuid "2b0beb9b-77b0-4c96-b917-6f1157dbe77a") - (effects - (font - (size 1 1) - (thickness 0.15) - ) - ) - ) - (property "Datasheet" "" - (at 0 0 0) - (layer "F.Fab") - (hide yes) - (uuid "7e9369ec-0737-48df-9de4-e63dfb0d93c5") - (effects - (font - (size 1.27 1.27) - (thickness 0.15) - ) - ) - ) - (property "Description" "" - (at 0 0 0) - (layer "F.Fab") - (hide yes) - (uuid "7942844a-742c-4e59-b8f3-55746a4a045d") - (effects - (font - (size 1.27 1.27) - (thickness 0.15) - ) - ) - ) - (property "__atopile_lib_fp_hash__" "23b13d3b-fddd-b8dd-7eda-d437c621d9a3" - (at 0 0 0) - (layer "User.9") - (hide yes) - (uuid "91332477-9bcc-43a8-a1aa-0f4e4642524b") - (effects - (font - (size 0.125 0.125) - (thickness 0.01875) - ) - ) - ) - (property "atopile_address" "m2_with_pad" - (at 0 0 0) - (layer "User.9") - (hide yes) - (uuid "97a17606-e2b1-4a43-b155-83e74642524b") - (effects - (font - (size 0.125 0.125) - (thickness 0.01875) - ) - ) - ) - (attr exclude_from_pos_files exclude_from_bom) - (fp_circle - (center 0 0) - (end 3.2 0) - (stroke - (width 0.15) - (type solid) - ) - (fill no) - (layer "Cmts.User") - (uuid "8c989a4e-20dd-45e4-84cd-4de6d6521afb") - ) - (fp_circle - (center 0 0) - (end 3.45 0) - (stroke - (width 0.05) - (type solid) - ) - (fill no) - (layer "F.CrtYd") - (uuid "d24ab101-0dfc-4acb-ac01-6b3acf0061ea") - ) - (fp_text user "${REFERENCE}" - (at 0 0 0) - (layer "F.Fab") - (uuid "380aef9d-3e46-4e7e-ba1a-1e93c6362e75") - (effects - (font - (size 1 1) - (thickness 0.15) - ) - (hide yes) - ) - (unlocked no) - ) - (pad "1" thru_hole circle - (at 0 0 0) - (size 6.4 6.4) - (drill 3.2) - (layers "*.Cu" "*.Mask") - (zone_connect 2) - (net 3 "-contact") - (remove_unused_layers no) - (uuid "bf8204e0-a0fd-4a28-bc1e-25fa2742355c") - ) - (embedded_fonts no) - ) - (footprint "MountingHole:MountingHole_3.2mm_M3_Pad_TopOnly" - (layer "F.Cu") - (uuid "e4ba9788-4470-4f00-88e6-80cf4642524b") - (at 12.5 0 0) - (property "Reference" "H2" - (at 0 -4.15 0) - (layer "F.SilkS") - (hide yes) - (uuid "5ae6fbdb-cc3f-4032-a1ad-7a18945f23a5") - (effects - (font - (size 1 1) - (thickness 0.15) - ) - ) - ) - (property "Value" "" - (at 0 4.15 0) - (layer "F.Fab") - (hide no) - (uuid "b39bf6d1-da0e-4c71-a436-6591127ae92f") - (effects - (font - (size 1 1) - (thickness 0.15) - ) - ) - ) - (property "Datasheet" "" - (at 0 0 0) - (layer "F.Fab") - (hide yes) - (uuid "265a5539-afaf-419b-adae-ccd567afe58b") - (effects - (font - (size 1.27 1.27) - (thickness 0.15) - ) - ) - ) - (property "Description" "" - (at 0 0 0) - (layer "F.Fab") - (hide yes) - (uuid "afe4c710-01a7-44b9-a082-9d3d2bee9e75") - (effects - (font - (size 1.27 1.27) - (thickness 0.15) - ) - ) - ) - (property "__atopile_lib_fp_hash__" "0e2df9a7-f003-e7bc-4806-191246315f3e" - (at 0 0 0) - (layer "User.9") - (hide yes) - (uuid "6ac3fa54-d3e1-4a73-bb96-9f544642524b") - (effects - (font - (size 0.125 0.125) - (thickness 0.01875) - ) - ) - ) - (property "atopile_address" "m3_top_pad" - (at 0 0 0) - (layer "User.9") - (hide yes) - (uuid "c2d3fe19-2164-4c8a-954f-e16c4642524b") - (effects - (font - (size 0.125 0.125) - (thickness 0.01875) - ) - ) - ) - (attr exclude_from_pos_files exclude_from_bom) - (fp_circle - (center 0 0) - (end 3.2 0) - (stroke - (width 0.15) - (type solid) - ) - (fill no) - (layer "Cmts.User") - (uuid "2d817407-8161-483f-a36f-9280b69fb0c6") - ) - (fp_circle - (center 0 0) - (end 3.45 0) - (stroke - (width 0.05) - (type solid) - ) - (fill no) - (layer "F.CrtYd") - (uuid "6167c7d9-6697-4acb-ba58-97e5f0260ddf") - ) - (fp_text user "${REFERENCE}" - (at 0 0 0) - (layer "F.Fab") - (uuid "9a00d168-7832-41a7-a54c-263050ef5f91") - (effects - (font - (size 1 1) - (thickness 0.15) - ) - (hide yes) - ) - (unlocked no) - ) - (pad "1" thru_hole circle - (at 0 0 0) - (size 3.6 3.6) - (drill 3.2) - (layers "*.Cu" "*.Mask") - (zone_connect 2) - (net 3 "-contact") - (remove_unused_layers no) - (uuid "b913393a-20d5-4621-8a82-9d188b29693c") - ) - (pad "1" connect circle - (at 0 0 0) - (size 6.4 6.4) - (layers "F.Cu" "F.Mask") - (zone_connect 2) - (net 3 "-contact") - (uuid "09483d31-bac6-46f9-b2ce-de880b6b9173") - ) - (embedded_fonts no) - ) - (footprint "MountingHole:MountingHole_6.4mm_M6" - (layer "F.Cu") - (uuid "fb44f55e-fe10-4ef5-b8dd-0a4a4642524b") - (at 12.5 -12.5 0) - (property "Reference" "H4" - (at 0 -7.35 0) - (layer "F.SilkS") - (hide yes) - (uuid "056af5e4-2448-47f8-80df-b0c514bde29f") - (effects - (font - (size 1 1) - (thickness 0.15) - ) - ) - ) - (property "Value" "" - (at 0 7.35 0) - (layer "F.Fab") - (hide no) - (uuid "a969ea1b-a5ea-4000-9a7f-912459a1d707") - (effects - (font - (size 1 1) - (thickness 0.15) - ) - ) - ) - (property "Datasheet" "" - (at 0 0 0) - (layer "F.Fab") - (hide yes) - (uuid "7102c11d-71b0-41af-9013-76ad1807d1fe") - (effects - (font - (size 1.27 1.27) - (thickness 0.15) - ) - ) - ) - (property "Description" "" - (at 0 0 0) - (layer "F.Fab") - (hide yes) - (uuid "7c3a7634-cb75-4283-b364-a3b1cd6d306b") - (effects - (font - (size 1.27 1.27) - (thickness 0.15) - ) - ) - ) - (property "__atopile_lib_fp_hash__" "a6b9f9b9-1f95-c001-fc48-f79413a9af43" - (at 0 0 0) - (layer "User.9") - (hide yes) - (uuid "8996193d-0a34-45cf-b494-09304642524b") - (effects - (font - (size 0.125 0.125) - (thickness 0.01875) - ) - ) - ) - (property "atopile_address" "m6_no_pad" - (at 0 0 0) - (layer "User.9") - (hide yes) - (uuid "98ff6ce6-78cd-483a-a4bb-43814642524b") - (effects - (font - (size 0.125 0.125) - (thickness 0.01875) - ) - ) - ) - (attr exclude_from_pos_files exclude_from_bom) - (fp_circle - (center 0 0) - (end 6.4 0) - (stroke - (width 0.15) - (type solid) - ) - (fill no) - (layer "Cmts.User") - (uuid "06623040-7e80-475d-9fd9-b88021f7e4ad") - ) - (fp_circle - (center 0 0) - (end 6.65 0) - (stroke - (width 0.05) - (type solid) - ) - (fill no) - (layer "F.CrtYd") - (uuid "6548589a-2b38-44c2-8ae3-e3d9bb26d55e") - ) - (fp_text user "${REFERENCE}" - (at 0 0 0) - (layer "F.Fab") - (uuid "29a23d63-8212-4030-983f-b1b221d0e011") - (effects - (font - (size 1 1) - (thickness 0.15) - ) - (hide yes) - ) - (unlocked no) - ) - (pad "" np_thru_hole circle - (at 0 0 0) - (size 6.4 6.4) - (drill 6.4) - (layers "*.Cu" "*.Mask") - (net 2 "m6_no_pad-contact") - (uuid "d4191163-0427-4f3f-8fce-9806147899b7") - ) - (embedded_fonts no) - ) - (footprint "MountingHole:MountingHole_4.3mm_M4_Pad_Via" - (layer "F.Cu") - (uuid "b21cb18f-d852-4ee2-b06d-325b4642524b") - (at 0 0 0) - (property "Reference" "H3" - (at 0 -5.25 0) - (layer "F.SilkS") - (hide yes) - (uuid "9afee134-7211-46dc-b9fd-cef8ab5add60") - (effects - (font - (size 1 1) - (thickness 0.15) - ) - ) - ) - (property "Value" "" - (at 0 5.25 0) - (layer "F.Fab") - (hide no) - (uuid "a841cfa9-6c1b-4b74-88f1-d71b559202d6") - (effects - (font - (size 1 1) - (thickness 0.15) - ) - ) - ) - (property "__atopile_lib_fp_hash__" "63830893-3649-1544-e78f-a1469191398b" - (at 0 0 0) - (layer "User.9") - (hide yes) - (uuid "a10b1359-62ca-4200-9137-334a4642524b") - (effects - (font - (size 0.125 0.125) - (thickness 0.01875) - ) - ) - ) - (property "atopile_address" "m4_pad_with_vias" - (at 0 0 0) - (layer "User.9") - (hide yes) - (uuid "3ed93f35-7e49-4aaf-bf4e-fff54642524b") - (effects - (font - (size 0.125 0.125) - (thickness 0.01875) - ) - ) - ) - (attr exclude_from_pos_files exclude_from_bom) - (fp_circle - (center 0 0) - (end 4.3 0) - (stroke - (width 0.15) - (type solid) - ) - (fill no) - (layer "Cmts.User") - (uuid "99dcaa89-25a0-4262-a8c4-9cdf213b4907") - ) - (fp_circle - (center 0 0) - (end 4.55 0) - (stroke - (width 0.05) - (type solid) - ) - (fill no) - (layer "F.CrtYd") - (uuid "c3662997-0e67-4695-917c-0eb38b8e0749") - ) - (fp_text user "${REFERENCE}" - (at 0 0 0) - (layer "F.Fab") - (uuid "68c0a66a-7cda-48a0-8f09-33af9283d7e9") - (effects - (font - (size 1 1) - (thickness 0.15) - ) - (hide yes) - ) - (unlocked no) - ) - (pad "1" thru_hole circle - (at -3.225 0 0) - (size 0.9 0.9) - (drill 0.6) - (layers "*.Cu" "*.Mask") - (zone_connect 2) - (net 3 "-contact") - (remove_unused_layers no) - (uuid "c417a11f-bf1c-4c84-b994-070f3f66bce9") - ) - (pad "1" thru_hole circle - (at -2.280419 -2.280419 0) - (size 0.9 0.9) - (drill 0.6) - (layers "*.Cu" "*.Mask") - (zone_connect 2) - (net 3 "-contact") - (remove_unused_layers no) - (uuid "77802c07-fa0f-4bee-92e9-3a89030bef6d") - ) - (pad "1" thru_hole circle - (at -2.280419 2.280419 0) - (size 0.9 0.9) - (drill 0.6) - (layers "*.Cu" "*.Mask") - (zone_connect 2) - (net 3 "-contact") - (remove_unused_layers no) - (uuid "c5858578-0405-480e-a262-f8098837f25a") - ) - (pad "1" thru_hole circle - (at 0 -3.225 0) - (size 0.9 0.9) - (drill 0.6) - (layers "*.Cu" "*.Mask") - (zone_connect 2) - (net 3 "-contact") - (remove_unused_layers no) - (uuid "1c395b59-12f5-4470-ae61-bff84d7a783a") - ) - (pad "1" thru_hole circle - (at 0 0 0) - (size 8.6 8.6) - (drill 4.3) - (layers "*.Cu" "*.Mask") - (zone_connect 2) - (net 3 "-contact") - (remove_unused_layers no) - (uuid "6d2991ba-3da4-49d2-b8d5-9429e8902183") - ) - (pad "1" thru_hole circle - (at 0 3.225 0) - (size 0.9 0.9) - (drill 0.6) - (layers "*.Cu" "*.Mask") - (zone_connect 2) - (net 3 "-contact") - (remove_unused_layers no) - (uuid "2bc99776-823c-41f6-94ab-4295e3f9ceb9") - ) - (pad "1" thru_hole circle - (at 2.280419 -2.280419 0) - (size 0.9 0.9) - (drill 0.6) - (layers "*.Cu" "*.Mask") - (zone_connect 2) - (net 3 "-contact") - (remove_unused_layers no) - (uuid "5ca8f1a4-1563-41bc-8dc8-827f900d3c8a") - ) - (pad "1" thru_hole circle - (at 2.280419 2.280419 0) - (size 0.9 0.9) - (drill 0.6) - (layers "*.Cu" "*.Mask") - (zone_connect 2) - (net 3 "-contact") - (remove_unused_layers no) - (uuid "ee2df947-627f-4ac1-a7fb-0173c69c70eb") - ) - (pad "1" thru_hole circle - (at 3.225 0 0) - (size 0.9 0.9) - (drill 0.6) - (layers "*.Cu" "*.Mask") - (zone_connect 2) - (net 3 "-contact") - (remove_unused_layers no) - (uuid "6fb181bc-d16c-441d-989a-71968b0506c8") - ) - (embedded_fonts no) - ) - (embedded_fonts no) - (segment - (start 0 -12.5) - (end 0 0) - (width 0.2) - (net 0) - (uuid "20876398-3d3b-446a-8ba8-b31fe85e4d96") - (layer "F.Cu") - ) - (segment - (start 0 0) - (end 12.5 0) - (width 0.2) - (net 0) - (uuid "34b28c28-e8a3-48b9-aba1-baf219a5a2d0") - (layer "F.Cu") - ) -) \ No newline at end of file diff --git a/.ato/modules/atopile/mounting-holes/layouts/usage/usage.kicad_pro b/.ato/modules/atopile/mounting-holes/layouts/usage/usage.kicad_pro deleted file mode 100644 index 2f77e08..0000000 --- a/.ato/modules/atopile/mounting-holes/layouts/usage/usage.kicad_pro +++ /dev/null @@ -1,284 +0,0 @@ -{ - "board": { - "3dviewports": [], - "design_settings": { - "defaults": { - "apply_defaults_to_fp_fields": false, - "apply_defaults_to_fp_shapes": false, - "apply_defaults_to_fp_text": false, - "board_outline_line_width": 0.05, - "copper_line_width": 0.2, - "copper_text_italic": false, - "copper_text_size_h": 1.5, - "copper_text_size_v": 1.5, - "copper_text_thickness": 0.3, - "copper_text_upright": false, - "courtyard_line_width": 0.05, - "dimension_precision": 4, - "dimension_units": 3, - "dimensions": { - "arrow_length": 1270000, - "extension_offset": 500000, - "keep_text_aligned": true, - "suppress_zeroes": true, - "text_position": 0, - "units_format": 0 - }, - "fab_line_width": 0.1, - "fab_text_italic": false, - "fab_text_size_h": 1.0, - "fab_text_size_v": 1.0, - "fab_text_thickness": 0.15, - "fab_text_upright": false, - "other_line_width": 0.1, - "other_text_italic": false, - "other_text_size_h": 1.0, - "other_text_size_v": 1.0, - "other_text_thickness": 0.15, - "other_text_upright": false, - "pads": { - "drill": 0.8, - "height": 1.27, - "width": 2.54 - }, - "silk_line_width": 0.1, - "silk_text_italic": false, - "silk_text_size_h": 1.0, - "silk_text_size_v": 1.0, - "silk_text_thickness": 0.1, - "silk_text_upright": false, - "zones": { - "min_clearance": 0.5 - } - }, - "diff_pair_dimensions": [], - "drc_exclusions": [], - "meta": { - "version": 2 - }, - "rule_severities": { - "annular_width": "error", - "clearance": "error", - "connection_width": "warning", - "copper_edge_clearance": "error", - "copper_sliver": "warning", - "courtyards_overlap": "error", - "creepage": "error", - "diff_pair_gap_out_of_range": "error", - "diff_pair_uncoupled_length_too_long": "error", - "drill_out_of_range": "error", - "duplicate_footprints": "warning", - "extra_footprint": "warning", - "footprint": "error", - "footprint_filters_mismatch": "ignore", - "footprint_symbol_mismatch": "warning", - "footprint_type_mismatch": "ignore", - "hole_clearance": "error", - "hole_to_hole": "warning", - "holes_co_located": "warning", - "invalid_outline": "error", - "isolated_copper": "warning", - "item_on_disabled_layer": "error", - "items_not_allowed": "error", - "length_out_of_range": "error", - "lib_footprint_issues": "warning", - "lib_footprint_mismatch": "warning", - "malformed_courtyard": "error", - "microvia_drill_out_of_range": "error", - "mirrored_text_on_front_layer": "warning", - "missing_courtyard": "ignore", - "missing_footprint": "warning", - "net_conflict": "warning", - "nonmirrored_text_on_back_layer": "warning", - "npth_inside_courtyard": "ignore", - "padstack": "warning", - "pth_inside_courtyard": "ignore", - "shorting_items": "error", - "silk_edge_clearance": "warning", - "silk_over_copper": "warning", - "silk_overlap": "warning", - "skew_out_of_range": "error", - "solder_mask_bridge": "error", - "starved_thermal": "error", - "text_height": "warning", - "text_on_edge_cuts": "error", - "text_thickness": "warning", - "through_hole_pad_without_hole": "error", - "too_many_vias": "error", - "track_angle": "error", - "track_dangling": "warning", - "track_segment_length": "error", - "track_width": "error", - "tracks_crossing": "error", - "unconnected_items": "error", - "unresolved_variable": "error", - "via_dangling": "warning", - "zones_intersect": "error" - }, - "rules": { - "max_error": 0.005, - "min_clearance": 0.0, - "min_connection": 0.0, - "min_copper_edge_clearance": 0.5, - "min_groove_width": 0.0, - "min_hole_clearance": 0.25, - "min_hole_to_hole": 0.25, - "min_microvia_diameter": 0.2, - "min_microvia_drill": 0.1, - "min_resolved_spokes": 2, - "min_silk_clearance": 0.0, - "min_text_height": 0.8, - "min_text_thickness": 0.08, - "min_through_hole_diameter": 0.3, - "min_track_width": 0.0, - "min_via_annular_width": 0.1, - "min_via_diameter": 0.5, - "solder_mask_to_copper_clearance": 0.0, - "use_height_for_length_calcs": true - }, - "teardrop_options": [ - { - "td_onpthpad": true, - "td_onroundshapesonly": false, - "td_onsmdpad": true, - "td_ontrackend": false, - "td_onvia": true - } - ], - "teardrop_parameters": [ - { - "td_allow_use_two_tracks": true, - "td_curve_segcount": 0, - "td_height_ratio": 1.0, - "td_length_ratio": 0.5, - "td_maxheight": 2.0, - "td_maxlen": 1.0, - "td_on_pad_in_zone": false, - "td_target_name": "td_round_shape", - "td_width_to_size_filter_ratio": 0.9 - }, - { - "td_allow_use_two_tracks": true, - "td_curve_segcount": 0, - "td_height_ratio": 1.0, - "td_length_ratio": 0.5, - "td_maxheight": 2.0, - "td_maxlen": 1.0, - "td_on_pad_in_zone": false, - "td_target_name": "td_rect_shape", - "td_width_to_size_filter_ratio": 0.9 - }, - { - "td_allow_use_two_tracks": true, - "td_curve_segcount": 0, - "td_height_ratio": 1.0, - "td_length_ratio": 0.5, - "td_maxheight": 2.0, - "td_maxlen": 1.0, - "td_on_pad_in_zone": false, - "td_target_name": "td_track_end", - "td_width_to_size_filter_ratio": 0.9 - } - ], - "track_widths": [], - "tuning_pattern_settings": { - "diff_pair_defaults": { - "corner_radius_percentage": 80, - "corner_style": 1, - "max_amplitude": 1.0, - "min_amplitude": 0.2, - "single_sided": false, - "spacing": 1.0 - }, - "diff_pair_skew_defaults": { - "corner_radius_percentage": 80, - "corner_style": 1, - "max_amplitude": 1.0, - "min_amplitude": 0.2, - "single_sided": false, - "spacing": 0.6 - }, - "single_track_defaults": { - "corner_radius_percentage": 80, - "corner_style": 1, - "max_amplitude": 1.0, - "min_amplitude": 0.2, - "single_sided": false, - "spacing": 0.6 - } - }, - "via_dimensions": [], - "zones_allow_external_fillets": false - }, - "ipc2581": { - "dist": "", - "distpn": "", - "internal_id": "", - "mfg": "", - "mpn": "" - }, - "layer_pairs": [], - "layer_presets": [], - "viewports": [] - }, - "boards": [], - "cvpcb": { - "equivalence_files": [] - }, - "libraries": { - "pinned_footprint_libs": [], - "pinned_symbol_libs": [] - }, - "meta": { - "filename": "usage.kicad_pro", - "version": 3 - }, - "net_settings": { - "classes": [ - { - "bus_width": 12, - "clearance": 0.2, - "diff_pair_gap": 0.25, - "diff_pair_via_gap": 0.25, - "diff_pair_width": 0.2, - "line_style": 0, - "microvia_diameter": 0.3, - "microvia_drill": 0.1, - "name": "Default", - "pcb_color": "rgba(0, 0, 0, 0.000)", - "priority": 2147483647, - "schematic_color": "rgba(0, 0, 0, 0.000)", - "track_width": 0.2, - "via_diameter": 0.6, - "via_drill": 0.3, - "wire_width": 6 - } - ], - "meta": { - "version": 4 - }, - "net_colors": null, - "netclass_assignments": null, - "netclass_patterns": [] - }, - "pcbnew": { - "last_paths": { - "gencad": "", - "idf": "", - "netlist": "", - "plot": "", - "pos_files": "", - "specctra_dsn": "", - "step": "", - "svg": "", - "vrml": "" - }, - "page_layout_descr_file": "" - }, - "schematic": { - "legacy_lib_dir": "", - "legacy_lib_list": [] - }, - "sheets": [], - "text_variables": {} -} diff --git a/.ato/modules/atopile/mounting-holes/parts/.gitkeep b/.ato/modules/atopile/mounting-holes/parts/.gitkeep deleted file mode 100644 index e69de29..0000000 diff --git a/.ato/modules/atopile/mounting-holes/usage.ato b/.ato/modules/atopile/mounting-holes/usage.ato deleted file mode 100644 index e368bb5..0000000 --- a/.ato/modules/atopile/mounting-holes/usage.ato +++ /dev/null @@ -1,16 +0,0 @@ -#pragma experiment("MODULE_TEMPLATING") -from "MountingHole.py" import MountingHole - -module Usage: - """ - Example of using mounting holes - """ - - m2_with_pad = new MountingHole - m6_no_pad = new MountingHole - m3_top_pad = new MountingHole - m4_pad_with_vias = new MountingHole - - m2_with_pad.contact ~ m3_top_pad.contact - m3_top_pad.contact ~ m4_pad_with_vias.contact - # m6_no_pad has no contact diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..4afd584 --- /dev/null +++ b/.gitignore @@ -0,0 +1,51 @@ +# For PCBs designed using KiCad: https://www.kicad.org/ +# Format documentation: https://kicad.org/help/file-formats/ + +# Temporary files +*.000 +*.bak +*.bck +*.kicad_pcb-bak +*.kicad_sch-bak +*-backups +*.kicad_prl +*.sch-bak +*~ +_autosave-* +*.tmp +*-save.pro +*-save.kicad_pcb +*.kicad_pcb.lck +fp-info-cache + +# Netlist files (exported from Eeschema) +*.net + +# Autorouter files (exported from Pcbnew) +*.dsn +*.ses + +# Exported BOM files +*.xml +*.csv + +build/ +.DS_Store + +# Virtual environment +.venv/ +venv/ + +# .ato directory +.ato/ + +# IDEs +.vscode/** +*.code-workspace + +__pycache__/ + +# Platformio +.pio/ + +*.egg-info/ \ No newline at end of file diff --git a/main.ato b/main.ato index 516d5db..07db3ce 100644 --- a/main.ato +++ b/main.ato @@ -115,7 +115,6 @@ module DFPlayerCarrierBoard: # --- Mechanical Mounting Holes --- # m2_with_pad = new MountingHole - # m2_with_pad.exclude_from_bom = True # m6_no_pad = new MountingHole # m3_top_pad = new MountingHole # m4_pad_with_vias = new MountingHole