From 3905f35fb2eeec23ab57d393406a3cd8a55ab34c Mon Sep 17 00:00:00 2001 From: Anton Date: Sun, 21 Jun 2026 21:36:17 +0300 Subject: [PATCH] add atmega48pa --- IC/Ki-IC.kicad_sym | 683 ++++++++++++++++++ .../TQFP-32_7x7mm_P0.8mm.kicad_mod | 606 ++++++++++++++++ .../__pycache__/__init__.cpython-312.pyc | Bin 0 -> 753 bytes .../connector_generator.cpython-312.pyc | Bin 0 -> 31732 bytes .../__pycache__/main.cpython-312.pyc | Bin 0 -> 4581 bytes .../__pycache__/ui.cpython-312.pyc | Bin 0 -> 36628 bytes 6 files changed, 1289 insertions(+) create mode 100644 IC/Ki-IC.pretty/TQFP-32_7x7mm_P0.8mm.kicad_mod create mode 100644 plugins/connector-generator/connector_generator_plugin/__pycache__/__init__.cpython-312.pyc create mode 100644 plugins/connector-generator/connector_generator_plugin/__pycache__/connector_generator.cpython-312.pyc create mode 100644 plugins/connector-generator/connector_generator_plugin/__pycache__/main.cpython-312.pyc create mode 100644 plugins/connector-generator/connector_generator_plugin/__pycache__/ui.cpython-312.pyc diff --git a/IC/Ki-IC.kicad_sym b/IC/Ki-IC.kicad_sym index 2fe9307..1107ab1 100644 --- a/IC/Ki-IC.kicad_sym +++ b/IC/Ki-IC.kicad_sym @@ -2,6 +2,689 @@ (version 20251024) (generator "kicad_symbol_editor") (generator_version "10.0") + (symbol "ATmega48PA-A" + (pin_names + (offset 1) + ) + (exclude_from_sim no) + (in_bom yes) + (on_board yes) + (in_pos_files yes) + (duplicate_pin_numbers_are_jumpers no) + (property "Reference" "DD" + (at -20 46.25 0) + (show_name no) + (do_not_autoplace no) + (effects + (font + (size 2.2 2.2) + ) + (justify left) + ) + ) + (property "Value" "ATmega48PA-A" + (at -20 -47.5 0) + (show_name no) + (do_not_autoplace no) + (effects + (font + (size 2.2 2.2) + ) + (justify left bottom) + ) + ) + (property "Footprint" "Package_QFP:TQFP-32_7x7mm_P0.8mm" + (at 1.25 52.5 0) + (show_name no) + (do_not_autoplace no) + (hide yes) + (effects + (font + (size 1.27 1.27) + (italic yes) + ) + ) + ) + (property "Datasheet" "http://ww1.microchip.com/downloads/en/DeviceDoc/ATmega48PA_88PA_168PA-Data-Sheet-40002011A.pdf" + (at 0 50 0) + (show_name no) + (do_not_autoplace no) + (hide yes) + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (property "Description" "20MHz, 4kB Flash, 512B SRAM, 256B EEPROM, TQFP-32" + (at 0 47.5 0) + (show_name no) + (do_not_autoplace no) + (hide yes) + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (property "ki_keywords" "AVR 8bit Microcontroller MegaAVR PicoPower" + (at 0 0 0) + (show_name no) + (do_not_autoplace no) + (hide yes) + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (property "ki_fp_filters" "TQFP*7x7mm*P0.8mm*" + (at 0 0 0) + (show_name no) + (do_not_autoplace no) + (hide yes) + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (symbol "ATmega48PA-A_0_1" + (rectangle + (start -20 45) + (end 20 -45) + (stroke + (width 0.254) + (type default) + ) + (fill + (type background) + ) + ) + ) + (symbol "ATmega48PA-A_1_1" + (pin bidirectional line + (at 22.5 -20 180) + (length 2.5) + (name "PD3" + (effects + (font + (size 2.2 2.2) + ) + ) + ) + (number "1" + (effects + (font + (size 1.8 1.8) + ) + ) + ) + ) + (pin bidirectional line + (at 22.5 -25 180) + (length 2.5) + (name "PD4" + (effects + (font + (size 2.2 2.2) + ) + ) + ) + (number "2" + (effects + (font + (size 1.8 1.8) + ) + ) + ) + ) + (pin power_in line + (at -22.5 27.5 0) + (length 2.5) + (name "GND" + (effects + (font + (size 2.2 2.2) + ) + ) + ) + (number "3" + (effects + (font + (size 1.8 1.8) + ) + ) + ) + ) + (pin power_in line + (at -22.5 35 0) + (length 2.5) + (name "VCC" + (effects + (font + (size 2.2 2.2) + ) + ) + ) + (number "4" + (effects + (font + (size 1.8 1.8) + ) + ) + ) + ) + (pin passive line + (at -22.5 27.5 0) + (length 2.5) + (hide yes) + (name "GND" + (effects + (font + (size 2.2 2.2) + ) + ) + ) + (number "5" + (effects + (font + (size 1.8 1.8) + ) + ) + ) + ) + (pin passive line + (at -22.5 35 0) + (length 2.5) + (hide yes) + (name "VCC" + (effects + (font + (size 2.2 2.2) + ) + ) + ) + (number "6" + (effects + (font + (size 1.8 1.8) + ) + ) + ) + ) + (pin bidirectional line + (at 22.5 10 180) + (length 2.5) + (name "XTAL1/PB6" + (effects + (font + (size 2.2 2.2) + ) + ) + ) + (number "7" + (effects + (font + (size 1.8 1.8) + ) + ) + ) + ) + (pin bidirectional line + (at 22.5 5 180) + (length 2.5) + (name "XTAL2/PB7" + (effects + (font + (size 2.2 2.2) + ) + ) + ) + (number "8" + (effects + (font + (size 1.8 1.8) + ) + ) + ) + ) + (pin bidirectional line + (at 22.5 -30 180) + (length 2.5) + (name "PD5" + (effects + (font + (size 2.2 2.2) + ) + ) + ) + (number "9" + (effects + (font + (size 1.8 1.8) + ) + ) + ) + ) + (pin bidirectional line + (at 22.5 -35 180) + (length 2.5) + (name "PD6" + (effects + (font + (size 2.2 2.2) + ) + ) + ) + (number "10" + (effects + (font + (size 1.8 1.8) + ) + ) + ) + ) + (pin bidirectional line + (at 22.5 -40 180) + (length 2.5) + (name "PD7" + (effects + (font + (size 2.2 2.2) + ) + ) + ) + (number "11" + (effects + (font + (size 1.8 1.8) + ) + ) + ) + ) + (pin bidirectional line + (at 22.5 40 180) + (length 2.5) + (name "PB0" + (effects + (font + (size 2.2 2.2) + ) + ) + ) + (number "12" + (effects + (font + (size 1.8 1.8) + ) + ) + ) + ) + (pin bidirectional line + (at 22.5 35 180) + (length 2.5) + (name "PB1" + (effects + (font + (size 2.2 2.2) + ) + ) + ) + (number "13" + (effects + (font + (size 1.8 1.8) + ) + ) + ) + ) + (pin bidirectional line + (at 22.5 30 180) + (length 2.5) + (name "PB2" + (effects + (font + (size 2.2 2.2) + ) + ) + ) + (number "14" + (effects + (font + (size 1.8 1.8) + ) + ) + ) + ) + (pin bidirectional line + (at 22.5 25 180) + (length 2.5) + (name "PB3" + (effects + (font + (size 2.2 2.2) + ) + ) + ) + (number "15" + (effects + (font + (size 1.8 1.8) + ) + ) + ) + ) + (pin bidirectional line + (at 22.5 20 180) + (length 2.5) + (name "PB4" + (effects + (font + (size 2.2 2.2) + ) + ) + ) + (number "16" + (effects + (font + (size 1.8 1.8) + ) + ) + ) + ) + (pin bidirectional line + (at 22.5 15 180) + (length 2.5) + (name "PB5" + (effects + (font + (size 2.2 2.2) + ) + ) + ) + (number "17" + (effects + (font + (size 1.8 1.8) + ) + ) + ) + ) + (pin power_in line + (at -22.5 40 0) + (length 2.5) + (name "AVCC" + (effects + (font + (size 2.2 2.2) + ) + ) + ) + (number "18" + (effects + (font + (size 1.8 1.8) + ) + ) + ) + ) + (pin input line + (at -22.5 10 0) + (length 2.5) + (name "ADC6" + (effects + (font + (size 2.2 2.2) + ) + ) + ) + (number "19" + (effects + (font + (size 1.8 1.8) + ) + ) + ) + ) + (pin passive line + (at -22.5 20 0) + (length 2.5) + (name "AREF" + (effects + (font + (size 2.2 2.2) + ) + ) + ) + (number "20" + (effects + (font + (size 1.8 1.8) + ) + ) + ) + ) + (pin passive line + (at -22.5 27.5 0) + (length 2.5) + (hide yes) + (name "GND" + (effects + (font + (size 2.2 2.2) + ) + ) + ) + (number "21" + (effects + (font + (size 1.8 1.8) + ) + ) + ) + ) + (pin input line + (at -22.5 5 0) + (length 2.5) + (name "ADC7" + (effects + (font + (size 2.2 2.2) + ) + ) + ) + (number "22" + (effects + (font + (size 1.8 1.8) + ) + ) + ) + ) + (pin bidirectional line + (at -22.5 -5 0) + (length 2.5) + (name "PC0" + (effects + (font + (size 2.2 2.2) + ) + ) + ) + (number "23" + (effects + (font + (size 1.8 1.8) + ) + ) + ) + ) + (pin bidirectional line + (at -22.5 -10 0) + (length 2.5) + (name "PC1" + (effects + (font + (size 2.2 2.2) + ) + ) + ) + (number "24" + (effects + (font + (size 1.8 1.8) + ) + ) + ) + ) + (pin bidirectional line + (at -22.5 -15 0) + (length 2.5) + (name "PC2" + (effects + (font + (size 2.2 2.2) + ) + ) + ) + (number "25" + (effects + (font + (size 1.8 1.8) + ) + ) + ) + ) + (pin bidirectional line + (at -22.5 -20 0) + (length 2.5) + (name "PC3" + (effects + (font + (size 2.2 2.2) + ) + ) + ) + (number "26" + (effects + (font + (size 1.8 1.8) + ) + ) + ) + ) + (pin bidirectional line + (at -22.5 -25 0) + (length 2.5) + (name "PC4" + (effects + (font + (size 2.2 2.2) + ) + ) + ) + (number "27" + (effects + (font + (size 1.8 1.8) + ) + ) + ) + ) + (pin bidirectional line + (at -22.5 -30 0) + (length 2.5) + (name "PC5" + (effects + (font + (size 2.2 2.2) + ) + ) + ) + (number "28" + (effects + (font + (size 1.8 1.8) + ) + ) + ) + ) + (pin bidirectional line + (at -22.5 -35 0) + (length 2.5) + (name "~{RESET}/PC6" + (effects + (font + (size 2.2 2.2) + ) + ) + ) + (number "29" + (effects + (font + (size 1.8 1.8) + ) + ) + ) + ) + (pin bidirectional line + (at 22.5 -5 180) + (length 2.5) + (name "PD0" + (effects + (font + (size 2.2 2.2) + ) + ) + ) + (number "30" + (effects + (font + (size 1.8 1.8) + ) + ) + ) + ) + (pin bidirectional line + (at 22.5 -10 180) + (length 2.5) + (name "PD1" + (effects + (font + (size 2.2 2.2) + ) + ) + ) + (number "31" + (effects + (font + (size 1.8 1.8) + ) + ) + ) + ) + (pin bidirectional line + (at 22.5 -15 180) + (length 2.5) + (name "PD2" + (effects + (font + (size 2.2 2.2) + ) + ) + ) + (number "32" + (effects + (font + (size 1.8 1.8) + ) + ) + ) + ) + ) + (embedded_fonts no) + ) (symbol "FUSB340TMX" (pin_names (offset 1.016) diff --git a/IC/Ki-IC.pretty/TQFP-32_7x7mm_P0.8mm.kicad_mod b/IC/Ki-IC.pretty/TQFP-32_7x7mm_P0.8mm.kicad_mod new file mode 100644 index 0000000..a45c957 --- /dev/null +++ b/IC/Ki-IC.pretty/TQFP-32_7x7mm_P0.8mm.kicad_mod @@ -0,0 +1,606 @@ +(footprint "TQFP-32_7x7mm_P0.8mm" + (version 20260206) + (generator "pcbnew") + (generator_version "10.0") + (layer "F.Cu") + (descr "TQFP, 32 Pin (JEDEC MS-026 variation ABA, https://www.jedec.org/document_search?search_api_views_fulltext=MS-026, https://ww1.microchip.com/downloads/en/PackagingSpec/00000049BZ.pdf#page=656)") + (tags "TQFP QFP") + (property "Reference" "REF**" + (at 0 -5.85 0) + (layer "F.SilkS") + (uuid "05916a49-5928-4677-8434-d432fe531ea2") + (effects + (font + (size 1 1) + (thickness 0.15) + ) + ) + ) + (property "Value" "TQFP-32_7x7mm_P0.8mm" + (at 0 5.85 0) + (layer "F.Fab") + (uuid "e6746305-fe4c-4bc8-b21f-03595911a0de") + (effects + (font + (size 1 1) + (thickness 0.15) + ) + ) + ) + (property "Datasheet" "" + (at 0 0 0) + (layer "F.Fab") + (hide yes) + (uuid "3309612a-c8b6-44c4-8fd3-3f09721a962b") + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (property "Description" "" + (at 0 0 0) + (layer "F.Fab") + (hide yes) + (uuid "bedd5c30-bfd2-44f2-8c52-451e2ef41ef1") + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (property "KiLib_Generator" "package/gullwing" + (at 0 0 0) + (layer "F.SilkS") + (hide yes) + (uuid "36ca6767-86d7-4639-9809-c20132193ecc") + (effects + (font + (size 1 1) + (thickness 0.15) + ) + ) + ) + (attr smd) + (duplicate_pad_numbers_are_jumpers no) + (fp_line + (start -3.61 -3.335) + (end -3.335 -3.61) + (stroke + (width 0.15) + (type default) + ) + (layer "F.SilkS") + (uuid "ac6ee459-f640-47b5-a47a-4ff50db5caf1") + ) + (fp_line + (start -3.61 3.61) + (end -3.61 3.335) + (stroke + (width 0.15) + (type solid) + ) + (layer "F.SilkS") + (uuid "616b8399-f172-46d8-888f-035dc15bded3") + ) + (fp_line + (start -3.335 3.61) + (end -3.61 3.61) + (stroke + (width 0.15) + (type solid) + ) + (layer "F.SilkS") + (uuid "f71c31ab-7117-46ab-9099-e1f90187e61d") + ) + (fp_line + (start 3.335 -3.61) + (end 3.61 -3.61) + (stroke + (width 0.15) + (type solid) + ) + (layer "F.SilkS") + (uuid "9b2021ac-c79e-4405-8220-189947555f7e") + ) + (fp_line + (start 3.61 -3.61) + (end 3.61 -3.335) + (stroke + (width 0.15) + (type solid) + ) + (layer "F.SilkS") + (uuid "8796dfaf-fee2-49e7-8474-9acdafb70fbe") + ) + (fp_line + (start 3.61 3.335) + (end 3.61 3.61) + (stroke + (width 0.15) + (type solid) + ) + (layer "F.SilkS") + (uuid "cc3ee34c-99b1-499a-ac74-84b6a36fbefd") + ) + (fp_line + (start 3.61 3.61) + (end 3.335 3.61) + (stroke + (width 0.15) + (type solid) + ) + (layer "F.SilkS") + (uuid "267d7f20-281d-4849-a672-1aa806d664f7") + ) + (fp_circle + (center -4.1625 -3.625) + (end -4.1625 -3.75) + (stroke + (width 0.25) + (type solid) + ) + (fill no) + (layer "F.SilkS") + (uuid "f716049c-d2cd-4698-8341-6c1f19619a85") + ) + (fp_line + (start -5.15 -3.33) + (end -3.75 -3.33) + (stroke + (width 0.05) + (type solid) + ) + (layer "F.CrtYd") + (uuid "761f090d-391c-43a0-901f-9af631731e18") + ) + (fp_line + (start -5.15 3.33) + (end -5.15 -3.33) + (stroke + (width 0.05) + (type solid) + ) + (layer "F.CrtYd") + (uuid "e105d20d-5ce0-4500-b4ca-0f45a4ae776a") + ) + (fp_line + (start -3.75 -3.75) + (end -3.33 -3.75) + (stroke + (width 0.05) + (type solid) + ) + (layer "F.CrtYd") + (uuid "67cae69a-7c0a-4dd3-b614-ccf96039c768") + ) + (fp_line + (start -3.75 -3.33) + (end -3.75 -3.75) + (stroke + (width 0.05) + (type solid) + ) + (layer "F.CrtYd") + (uuid "6f42a1f0-a081-44d9-8908-641ef1b73080") + ) + (fp_line + (start -3.75 3.33) + (end -5.15 3.33) + (stroke + (width 0.05) + (type solid) + ) + (layer "F.CrtYd") + (uuid "5133c7d8-811d-42ac-bf3c-2c6a71481a00") + ) + (fp_line + (start -3.75 3.75) + (end -3.75 3.33) + (stroke + (width 0.05) + (type solid) + ) + (layer "F.CrtYd") + (uuid "5ed9b555-af9f-4465-af2d-c756497b1a9c") + ) + (fp_line + (start -3.33 -5.15) + (end 3.33 -5.15) + (stroke + (width 0.05) + (type solid) + ) + (layer "F.CrtYd") + (uuid "5d19e73f-a722-4d1f-8cdc-de4fe3966f51") + ) + (fp_line + (start -3.33 -3.75) + (end -3.33 -5.15) + (stroke + (width 0.05) + (type solid) + ) + (layer "F.CrtYd") + (uuid "d6ab1300-0e56-41bc-9a50-0180b023329b") + ) + (fp_line + (start -3.33 3.75) + (end -3.75 3.75) + (stroke + (width 0.05) + (type solid) + ) + (layer "F.CrtYd") + (uuid "df6a574b-fd53-4780-b942-c8102697e2d4") + ) + (fp_line + (start -3.33 5.15) + (end -3.33 3.75) + (stroke + (width 0.05) + (type solid) + ) + (layer "F.CrtYd") + (uuid "1f6604c1-2c3d-4887-84e5-119f30b46739") + ) + (fp_line + (start 3.33 -5.15) + (end 3.33 -3.75) + (stroke + (width 0.05) + (type solid) + ) + (layer "F.CrtYd") + (uuid "ab417d3e-17f2-4e9b-bbfe-9bf667b22820") + ) + (fp_line + (start 3.33 -3.75) + (end 3.75 -3.75) + (stroke + (width 0.05) + (type solid) + ) + (layer "F.CrtYd") + (uuid "9ad547fb-e304-411f-b2cd-0ae132e198eb") + ) + (fp_line + (start 3.33 3.75) + (end 3.33 5.15) + (stroke + (width 0.05) + (type solid) + ) + (layer "F.CrtYd") + (uuid "f8e1b1a7-4d3a-4920-83a8-d009625990ca") + ) + (fp_line + (start 3.33 5.15) + (end -3.33 5.15) + (stroke + (width 0.05) + (type solid) + ) + (layer "F.CrtYd") + (uuid "a09da20a-1c59-4031-8069-768918f993af") + ) + (fp_line + (start 3.75 -3.75) + (end 3.75 -3.33) + (stroke + (width 0.05) + (type solid) + ) + (layer "F.CrtYd") + (uuid "5e6fced6-2f75-490b-a3bb-7ecce68e2330") + ) + (fp_line + (start 3.75 -3.33) + (end 5.15 -3.33) + (stroke + (width 0.05) + (type solid) + ) + (layer "F.CrtYd") + (uuid "b434798f-71de-4e5d-888c-1d7363b4af06") + ) + (fp_line + (start 3.75 3.33) + (end 3.75 3.75) + (stroke + (width 0.05) + (type solid) + ) + (layer "F.CrtYd") + (uuid "15b00e61-a932-4ccf-8ed2-1b225a9ead72") + ) + (fp_line + (start 3.75 3.75) + (end 3.33 3.75) + (stroke + (width 0.05) + (type solid) + ) + (layer "F.CrtYd") + (uuid "addd6a5b-4fd3-47e8-9bcd-f01fe28ca8e4") + ) + (fp_line + (start 5.15 -3.33) + (end 5.15 3.33) + (stroke + (width 0.05) + (type solid) + ) + (layer "F.CrtYd") + (uuid "08148eaf-962a-4dd1-9985-e7f2fbf59926") + ) + (fp_line + (start 5.15 3.33) + (end 3.75 3.33) + (stroke + (width 0.05) + (type solid) + ) + (layer "F.CrtYd") + (uuid "b9bd1ffa-d333-4b0f-ae9d-ea3fe6cbc2de") + ) + (fp_poly + (pts + (xy -2.5 -3.5) (xy 3.5 -3.5) (xy 3.5 3.5) (xy -3.5 3.5) (xy -3.5 -2.5) + ) + (stroke + (width 0.1) + (type solid) + ) + (fill no) + (layer "F.Fab") + (uuid "0263b536-aae7-4506-94b9-ba98e223ec38") + ) + (fp_text user "${REFERENCE}" + (at 0 0 0) + (layer "F.Fab") + (uuid "a503a4b4-02e9-43a0-aec7-6ecee8771c21") + (effects + (font + (size 1 1) + (thickness 0.15) + ) + ) + ) + (pad "1" smd roundrect + (at -4.1625 -2.8) + (size 1.475 0.55) + (layers "F.Cu" "F.Mask" "F.Paste") + (roundrect_rratio 0.25) + (uuid "3a5a396d-32d7-4685-ae90-819481935a4d") + ) + (pad "2" smd roundrect + (at -4.1625 -2) + (size 1.475 0.55) + (layers "F.Cu" "F.Mask" "F.Paste") + (roundrect_rratio 0.25) + (uuid "6523b5f0-f25e-4702-af5d-88a1bb438af0") + ) + (pad "3" smd roundrect + (at -4.1625 -1.2) + (size 1.475 0.55) + (layers "F.Cu" "F.Mask" "F.Paste") + (roundrect_rratio 0.25) + (uuid "9dd0e99f-e666-467d-8d67-715ebf282807") + ) + (pad "4" smd roundrect + (at -4.1625 -0.4) + (size 1.475 0.55) + (layers "F.Cu" "F.Mask" "F.Paste") + (roundrect_rratio 0.25) + (uuid "e865c236-7bcc-428b-b7eb-cb8fab1ce78f") + ) + (pad "5" smd roundrect + (at -4.1625 0.4) + (size 1.475 0.55) + (layers "F.Cu" "F.Mask" "F.Paste") + (roundrect_rratio 0.25) + (uuid "b25a7e23-8db9-47ea-8ac9-e0017c0e2b18") + ) + (pad "6" smd roundrect + (at -4.1625 1.2) + (size 1.475 0.55) + (layers "F.Cu" "F.Mask" "F.Paste") + (roundrect_rratio 0.25) + (uuid "0db12093-aa8f-4c90-be58-423b630ac50c") + ) + (pad "7" smd roundrect + (at -4.1625 2) + (size 1.475 0.55) + (layers "F.Cu" "F.Mask" "F.Paste") + (roundrect_rratio 0.25) + (uuid "19fb89da-f179-4b40-b745-d40f4d0662fa") + ) + (pad "8" smd roundrect + (at -4.1625 2.8) + (size 1.475 0.55) + (layers "F.Cu" "F.Mask" "F.Paste") + (roundrect_rratio 0.25) + (uuid "fa4ee53d-b841-4f13-80f9-a391c2b456e9") + ) + (pad "9" smd roundrect + (at -2.8 4.1625) + (size 0.55 1.475) + (layers "F.Cu" "F.Mask" "F.Paste") + (roundrect_rratio 0.25) + (uuid "79ea2564-c193-479b-87c4-403d59eba7df") + ) + (pad "10" smd roundrect + (at -2 4.1625) + (size 0.55 1.475) + (layers "F.Cu" "F.Mask" "F.Paste") + (roundrect_rratio 0.25) + (uuid "9dd5f8c4-babe-44c7-bbcb-469911e2736e") + ) + (pad "11" smd roundrect + (at -1.2 4.1625) + (size 0.55 1.475) + (layers "F.Cu" "F.Mask" "F.Paste") + (roundrect_rratio 0.25) + (uuid "ebe65365-0620-46b7-9ecd-4c6f2e2dbc57") + ) + (pad "12" smd roundrect + (at -0.4 4.1625) + (size 0.55 1.475) + (layers "F.Cu" "F.Mask" "F.Paste") + (roundrect_rratio 0.25) + (uuid "0184d7fe-e73a-488a-a394-82e6c8d1d939") + ) + (pad "13" smd roundrect + (at 0.4 4.1625) + (size 0.55 1.475) + (layers "F.Cu" "F.Mask" "F.Paste") + (roundrect_rratio 0.25) + (uuid "b76b2698-504f-40f0-846e-c1b89f8f9211") + ) + (pad "14" smd roundrect + (at 1.2 4.1625) + (size 0.55 1.475) + (layers "F.Cu" "F.Mask" "F.Paste") + (roundrect_rratio 0.25) + (uuid "b04c0288-be18-49fa-9286-6b8566605439") + ) + (pad "15" smd roundrect + (at 2 4.1625) + (size 0.55 1.475) + (layers "F.Cu" "F.Mask" "F.Paste") + (roundrect_rratio 0.25) + (uuid "87fb6ecd-85aa-4c37-9582-4f20f1a9c2c3") + ) + (pad "16" smd roundrect + (at 2.8 4.1625) + (size 0.55 1.475) + (layers "F.Cu" "F.Mask" "F.Paste") + (roundrect_rratio 0.25) + (uuid "e17939d0-b23d-4a06-a6cd-e66efe30923f") + ) + (pad "17" smd roundrect + (at 4.1625 2.8) + (size 1.475 0.55) + (layers "F.Cu" "F.Mask" "F.Paste") + (roundrect_rratio 0.25) + (uuid "ac5d07e3-692a-433a-9a0d-8c534a5627eb") + ) + (pad "18" smd roundrect + (at 4.1625 2) + (size 1.475 0.55) + (layers "F.Cu" "F.Mask" "F.Paste") + (roundrect_rratio 0.25) + (uuid "2e71b8d6-27ae-48e3-9c76-036dc3ea3f2c") + ) + (pad "19" smd roundrect + (at 4.1625 1.2) + (size 1.475 0.55) + (layers "F.Cu" "F.Mask" "F.Paste") + (roundrect_rratio 0.25) + (uuid "940f35e3-fd1b-4233-982e-d28c90d3bcf3") + ) + (pad "20" smd roundrect + (at 4.1625 0.4) + (size 1.475 0.55) + (layers "F.Cu" "F.Mask" "F.Paste") + (roundrect_rratio 0.25) + (uuid "54eacf58-660f-4086-820e-b4fb70f75f54") + ) + (pad "21" smd roundrect + (at 4.1625 -0.4) + (size 1.475 0.55) + (layers "F.Cu" "F.Mask" "F.Paste") + (roundrect_rratio 0.25) + (uuid "0fb62e20-c343-4cfe-acc3-84aec8dffe13") + ) + (pad "22" smd roundrect + (at 4.1625 -1.2) + (size 1.475 0.55) + (layers "F.Cu" "F.Mask" "F.Paste") + (roundrect_rratio 0.25) + (uuid "02ca1fdb-3d8b-4af0-b5c8-513171f16822") + ) + (pad "23" smd roundrect + (at 4.1625 -2) + (size 1.475 0.55) + (layers "F.Cu" "F.Mask" "F.Paste") + (roundrect_rratio 0.25) + (uuid "a730ba4e-2104-46b4-9a49-b733597586ad") + ) + (pad "24" smd roundrect + (at 4.1625 -2.8) + (size 1.475 0.55) + (layers "F.Cu" "F.Mask" "F.Paste") + (roundrect_rratio 0.25) + (uuid "43a97657-f7dc-483c-8e33-edcb2801884e") + ) + (pad "25" smd roundrect + (at 2.8 -4.1625) + (size 0.55 1.475) + (layers "F.Cu" "F.Mask" "F.Paste") + (roundrect_rratio 0.25) + (uuid "279964ad-5347-4bd1-8193-c3c1ed0e27a2") + ) + (pad "26" smd roundrect + (at 2 -4.1625) + (size 0.55 1.475) + (layers "F.Cu" "F.Mask" "F.Paste") + (roundrect_rratio 0.25) + (uuid "d8afb752-ca75-4a06-a788-107fd6f8a002") + ) + (pad "27" smd roundrect + (at 1.2 -4.1625) + (size 0.55 1.475) + (layers "F.Cu" "F.Mask" "F.Paste") + (roundrect_rratio 0.25) + (uuid "aee9b063-c964-434f-ac95-9309f604c6fd") + ) + (pad "28" smd roundrect + (at 0.4 -4.1625) + (size 0.55 1.475) + (layers "F.Cu" "F.Mask" "F.Paste") + (roundrect_rratio 0.25) + (uuid "5935b43a-1133-4193-932d-9006bb666945") + ) + (pad "29" smd roundrect + (at -0.4 -4.1625) + (size 0.55 1.475) + (layers "F.Cu" "F.Mask" "F.Paste") + (roundrect_rratio 0.25) + (uuid "ff152d19-035c-4b40-9110-aec463a0ce8b") + ) + (pad "30" smd roundrect + (at -1.2 -4.1625) + (size 0.55 1.475) + (layers "F.Cu" "F.Mask" "F.Paste") + (roundrect_rratio 0.25) + (uuid "36107dc4-c2ec-4159-949e-6e97844de503") + ) + (pad "31" smd roundrect + (at -2 -4.1625) + (size 0.55 1.475) + (layers "F.Cu" "F.Mask" "F.Paste") + (roundrect_rratio 0.25) + (uuid "210202f3-aa0c-43b5-9ef0-00c1812086cc") + ) + (pad "32" smd roundrect + (at -2.8 -4.1625) + (size 0.55 1.475) + (layers "F.Cu" "F.Mask" "F.Paste") + (roundrect_rratio 0.25) + (uuid "9f3e4738-2db9-4b13-bc51-41b8b79383f0") + ) + (embedded_fonts no) + (model "${KICAD10_3DMODEL_DIR}/Package_QFP.3dshapes/TQFP-32_7x7mm_P0.8mm.step" + (offset + (xyz 0 0 0) + ) + (scale + (xyz 1 1 1) + ) + (rotate + (xyz 0 0 0) + ) + ) +) diff --git a/plugins/connector-generator/connector_generator_plugin/__pycache__/__init__.cpython-312.pyc b/plugins/connector-generator/connector_generator_plugin/__pycache__/__init__.cpython-312.pyc new file mode 100644 index 0000000000000000000000000000000000000000..b6ef9249e1292ea6679883f46e4cb6fe271cf3f7 GIT binary patch literal 753 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 IjDg$#4{d5Jw*UYD literal 0 HcmV?d00001 diff --git a/plugins/connector-generator/connector_generator_plugin/__pycache__/main.cpython-312.pyc b/plugins/connector-generator/connector_generator_plugin/__pycache__/main.cpython-312.pyc new file mode 100644 index 0000000000000000000000000000000000000000..433001e9d4a97dd4ed80ecd369815cafabb7e575 GIT binary patch literal 4581 zcmbVPU2Gf25#IYDdB-39P@?q{(K^YNZAKO8G`5u{tpl63lvJV=I8KugXo(Z=ERmt^ z*u7(I5mFbQM5^b0Ez1Yaej;#O`IZj9|H8D$4Z6hvmacf0UDqWtYox- z^U~Qn9VJUjQ*?owo!yDLBhcTpu^;p`Z|rrnQHV#@nynjUWRK+jt>*%5k0fj4nr!<klnRWHW{K(KazYWk>r;{7Z_V2*(3!{qGYq&BGo(tvoHs{ zYQC^CokA1L1hWmv!R-h$6nYxHxaT-J!90zQQ_#BwdIJ=k0_f#IueWM(2qYhHBqO!O z_JK@Xl!OCmJ)LQWShKf6X7>hoWNsCe{ zttyI~)>WJul@%F_gv(oMqB(WcZ2j`_qN|`E>v;flbFz|FrHnFK?CRPjYOs}YIid+& zyK?dmbXvwc=*f@>XchAsHnpaAR7c;P4oU2FgkdP}c+-ahdh0 zwU!WmRPmr3AG zqq4tl85s26ZNNN;U=q042gJ4llb|&@Nj@ePa=NzJg3ee6nORE+3F7~IE#^o;DTX%M z1>M{4T45;SHn~)a+77*mrd1zmQLXlPYkRbrsE0%8Pgp#?MTqH_-Szk>Bw z%ph04u6)G|a@y;PPAo(x zb<{zHZV=OQKmdjsch9mf^5y28PzB2O--!brUa=!7YS^j2s&zrsHd*9rDe*fjjLieF_ znOXKP+&v$6TGd7bss_zJtf0|hLw3nl1H$QnK&d(l$q^)4LOFU0avX`xG2`qM$#~Ed zGf8EuPP97r!U{XZPO>v$y_)k(va1e^>v=TEW;Y3#>THHalk_CxIPH{c(v@vkUB%%X zc?!Y!CT_nvK7qC&y_#LYyYI5CfOmeM^Ukl6_#TDUoYN-xmE?BzxAvUiTw0v{t=5u9 zujX05M8BdX2*WHv&UFQP$;-8_6yg4yjE7_~8?0eTFX?w|aq0*^RIFV|SaM=PNsq}A zCVu=GK}mSBH-Y9u7V4V*epx@N=AXRHU3N3HDPh$QY}*@F=J;eqEY{ zz<$g4opDhxeh;yI(Rc?su0XRIAwo4oqF&==2=;d&_&FHmmd_04V#EZ z>P$Dh0;4iE*^F{bHRfduK)H2&w4mQq3&PHD9o{g7lgR{@R*89f&7i$)_JzSxg z`p$A#SPb`+!aeih*qOe6a;TyEjeYaMuY<6^_H^P@;>BUY44fMHS>p5CKGfW?geWqt zb~D!d zMi%CU9=z2UDFbL7K707w!Iu-iNR%2Q|KeTs!OuZoV;B|*gv`1|5DkRxRGL8h9W4RI z&fR;^k3OR74m^ZD3hpBOL%xGNbJa})f0d&M&ohMgZ;jv2ToM$A%7Vf0fm$3IvZVLJ+1_`9Ng*( z*(nbZxhv%%SP37s{2O3M>H)}zrbuo53rpoKdu8TmvWwo}jmx4uC-_)%FOv~UGSNt?6r z4QnQ+!3g=OGF^ubAAF+U^z}i4@Q4L}m>>>ih)N+(3NAjr=vIdr$Q)`obk&*x1@X?|WpLEAy?hO^bYMiElOT>7C~vn0DXt z1fGBPN6(g7@AJbm!)N;E5@!<&Y-fdbxdP>2*O{G*!LCxU>y@#~O$)&Tvz{_nyU4Yb zIKYSKxhEIH(NZ{S#J)2hesY0(s?60aaxEpU<=oB%uCwB;q3Un2^|zY0E;e_Un!61) zbi3_dDrB_pzKx(>N>V)4P-#Z2f42B%rsXJAhz}M%6Dnx4*`O>0@pb|*yjp- zQK>^*!xHjR_5Wr$SN$>qQgK1^j@AVy@zIV0?syBj+EW+bj;^)1;vLL2fg*H!ZG0bd IZ7&7%Kf-=4Q2+n{ literal 0 HcmV?d00001 diff --git a/plugins/connector-generator/connector_generator_plugin/__pycache__/ui.cpython-312.pyc b/plugins/connector-generator/connector_generator_plugin/__pycache__/ui.cpython-312.pyc new file mode 100644 index 0000000000000000000000000000000000000000..980a2fa4c7e3e3fe608c0052bc7fd8e895310fac GIT binary patch literal 36628 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