v6 T3: Block N - ZED-F9P (U18) + low-noise LDO (U21) placed and wired
Leo generated the vendor part with easyeda2kicad (C5120257) -> Drogheda-v6.kicad_sym / .pretty / .3dshapes, now registered in sym-lib-table and fp-lib-table. CROSS-CHECK: the EasyEDA/LCSC symbol independently CONFIRMS the datasheet transcription - pads 1-54 match the u-blox pin assignment function for function, and the 21 Reserved pads are identical. Pads 55-102 are 48 extra GND pads (the ground array under the module), which our symbol was missing; T3a2 adds them stacked on the pin-1 coordinate so one GND label serves all. Symbol is now 102/102 pins, footprint = Drogheda-v6:LCC-LGA-102_L22.0-W17.0_FM660. Block N as wired (verified by rebuilding connectivity from label-on-pin geometry): GNSS_TX U16.16 + U18.43 GNSS_RX U16.17 + U18.42 DOUT_4G U18.26 (RXD2, RTCM in - modem end lands in T4) USART1_RX U16.43 + Rdfu1.1 + U18.27 (TXD2 uplink; K1.1 also on this net per the PCB) GNSS_RESET_N U16.53 (PC12) + U18.49 + R105 10k pull-up to 3V3_GNSS GNSS_TIMEPULSE U16.23 (PA7) + U18.53 GNSS_ANT_DETECT U16.9 (PC1) + U18.4 GNSS_ANT_SHORT_N U16.10 (PC2) + U18.6 GNSS_RTK_STAT U16.11 (PC3) + U18.20 <- hardware answer to are-corrections-being-used 3V3_GNSS = U21.5 + U18.33/34 + C120-C124 + R105; U21 fed from SW_5V (stays MCU-gated) V_BCKP = U18.36 on the UNGATED 3V3 so ephemeris survives a power-cycle 33 no-connects: the 21 reserved pads plus V_USB, USB_DM/DP, ANT_OFF, SDA, SCL, TX_READY, D_SEL (open = UART mode), SAFEBOOT_N, EXTINT, GEOFENCE_STAT and the LDO NC/NR pin. T3c fixes two coordinates the generators emitted as 3.552713679e-15 (i.e. zero); KiCad is not guaranteed to accept exponent notation. See the script header for the lesson: a first attempt used a bare numeric regex over the whole file and corrupted 264 UUIDs, because segments such as 895e-4153 parse as scientific notation. Reverted from backup and redone scoped to (at ...) forms only, with a UUID-integrity guard. Verified 2298 UUIDs, 0 malformed, 0 exponent coordinates. STILL OPEN: the PCB has no U18/U21/passive footprints yet - that is a KiCad Update-PCB-from-Schematic. And confirm the -04B datasheet pin assignment on paper. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01YJ4eAB6zjQT49RVwpgfKdt
This commit is contained in:
parent
8be9f41473
commit
3494413eaf
@ -964,7 +964,7 @@
|
|||||||
(at 0 30.48 0)
|
(at 0 30.48 0)
|
||||||
(effects (font (size 1.27 1.27)))
|
(effects (font (size 1.27 1.27)))
|
||||||
)
|
)
|
||||||
(property "Footprint" "Drogheda:u-blox_ZED-F9P_LGA54"
|
(property "Footprint" "Drogheda-v6:LCC-LGA-102_L22.0-W17.0_FM660"
|
||||||
(at 0 -5.08 0)
|
(at 0 -5.08 0)
|
||||||
(effects (font (size 1.27 1.27)))
|
(effects (font (size 1.27 1.27)))
|
||||||
(hide yes)
|
(hide yes)
|
||||||
@ -974,7 +974,7 @@
|
|||||||
(effects (font (size 1.27 1.27)))
|
(effects (font (size 1.27 1.27)))
|
||||||
(hide yes)
|
(hide yes)
|
||||||
)
|
)
|
||||||
(property "Description" "u-blox ZED-F9P multi-band L1/L2 GNSS receiver with RTK, 54-pin LGA 22.0 x 17.0 x 2.4 mm. NO internal LNA - an active antenna is mandatory. VCC 2.7-3.6 V, VCC ramp rate <= 20 us/V (damage limit). VCC_RF = VCC-0.1 V, 50 mA typ / 300 mA abs max. RESET_N needs a 7-13 kOhm pull-up. D_SEL open/high = UART. Reserved pins: leave open. LCSC C5120257."
|
(property "Description" "u-blox ZED-F9P multi-band L1/L2 GNSS receiver with RTK, 54-pin LGA 22.0 x 17.0 x 2.4 mm. NO internal LNA - an active antenna is mandatory. VCC 2.7-3.6 V, VCC ramp rate <= 20 us/V (damage limit). VCC_RF = VCC-0.1 V, 50 mA typ / 300 mA abs max. RESET_N needs a 7-13 kOhm pull-up. D_SEL open/high = UART. Reserved pins: leave open. LCSC C5120257. Land pattern = LGA-102: pads 1-54 per the datasheet, pads 55-102 are an additional GND array under the module (stacked on the pin-1 coordinate in this symbol)."
|
||||||
(at 0 -10.16 0)
|
(at 0 -10.16 0)
|
||||||
(effects (font (size 1.27 1.27)))
|
(effects (font (size 1.27 1.27)))
|
||||||
(hide yes)
|
(hide yes)
|
||||||
@ -1079,7 +1079,7 @@
|
|||||||
)
|
)
|
||||||
)
|
)
|
||||||
(pin input line
|
(pin input line
|
||||||
(at -33.02 3.552713679e-15 0)
|
(at -33.02 0 0)
|
||||||
(length 5.08)
|
(length 5.08)
|
||||||
(name "ANT_SHORT_N"
|
(name "ANT_SHORT_N"
|
||||||
(effects (font (size 1.27 1.27)))
|
(effects (font (size 1.27 1.27)))
|
||||||
@ -1429,7 +1429,7 @@
|
|||||||
)
|
)
|
||||||
)
|
)
|
||||||
(pin passive line
|
(pin passive line
|
||||||
(at -3.552713679e-15 -30.48 90)
|
(at 0 -30.48 90)
|
||||||
(length 5.08)
|
(length 5.08)
|
||||||
(name "RSVD22"
|
(name "RSVD22"
|
||||||
(effects (font (size 1.27 1.27)))
|
(effects (font (size 1.27 1.27)))
|
||||||
@ -1538,6 +1538,486 @@
|
|||||||
(effects (font (size 1.27 1.27)))
|
(effects (font (size 1.27 1.27)))
|
||||||
)
|
)
|
||||||
)
|
)
|
||||||
|
(pin passive line
|
||||||
|
(at -33.02 -2.54 0)
|
||||||
|
(length 5.08)
|
||||||
|
(name "GND"
|
||||||
|
(effects (font (size 1.27 1.27)))
|
||||||
|
)
|
||||||
|
(number "55"
|
||||||
|
(effects (font (size 1.27 1.27)))
|
||||||
|
)
|
||||||
|
)
|
||||||
|
(pin passive line
|
||||||
|
(at -33.02 -2.54 0)
|
||||||
|
(length 5.08)
|
||||||
|
(name "GND"
|
||||||
|
(effects (font (size 1.27 1.27)))
|
||||||
|
)
|
||||||
|
(number "56"
|
||||||
|
(effects (font (size 1.27 1.27)))
|
||||||
|
)
|
||||||
|
)
|
||||||
|
(pin passive line
|
||||||
|
(at -33.02 -2.54 0)
|
||||||
|
(length 5.08)
|
||||||
|
(name "GND"
|
||||||
|
(effects (font (size 1.27 1.27)))
|
||||||
|
)
|
||||||
|
(number "57"
|
||||||
|
(effects (font (size 1.27 1.27)))
|
||||||
|
)
|
||||||
|
)
|
||||||
|
(pin passive line
|
||||||
|
(at -33.02 -2.54 0)
|
||||||
|
(length 5.08)
|
||||||
|
(name "GND"
|
||||||
|
(effects (font (size 1.27 1.27)))
|
||||||
|
)
|
||||||
|
(number "58"
|
||||||
|
(effects (font (size 1.27 1.27)))
|
||||||
|
)
|
||||||
|
)
|
||||||
|
(pin passive line
|
||||||
|
(at -33.02 -2.54 0)
|
||||||
|
(length 5.08)
|
||||||
|
(name "GND"
|
||||||
|
(effects (font (size 1.27 1.27)))
|
||||||
|
)
|
||||||
|
(number "59"
|
||||||
|
(effects (font (size 1.27 1.27)))
|
||||||
|
)
|
||||||
|
)
|
||||||
|
(pin passive line
|
||||||
|
(at -33.02 -2.54 0)
|
||||||
|
(length 5.08)
|
||||||
|
(name "GND"
|
||||||
|
(effects (font (size 1.27 1.27)))
|
||||||
|
)
|
||||||
|
(number "60"
|
||||||
|
(effects (font (size 1.27 1.27)))
|
||||||
|
)
|
||||||
|
)
|
||||||
|
(pin passive line
|
||||||
|
(at -33.02 -2.54 0)
|
||||||
|
(length 5.08)
|
||||||
|
(name "GND"
|
||||||
|
(effects (font (size 1.27 1.27)))
|
||||||
|
)
|
||||||
|
(number "61"
|
||||||
|
(effects (font (size 1.27 1.27)))
|
||||||
|
)
|
||||||
|
)
|
||||||
|
(pin passive line
|
||||||
|
(at -33.02 -2.54 0)
|
||||||
|
(length 5.08)
|
||||||
|
(name "GND"
|
||||||
|
(effects (font (size 1.27 1.27)))
|
||||||
|
)
|
||||||
|
(number "62"
|
||||||
|
(effects (font (size 1.27 1.27)))
|
||||||
|
)
|
||||||
|
)
|
||||||
|
(pin passive line
|
||||||
|
(at -33.02 -2.54 0)
|
||||||
|
(length 5.08)
|
||||||
|
(name "GND"
|
||||||
|
(effects (font (size 1.27 1.27)))
|
||||||
|
)
|
||||||
|
(number "63"
|
||||||
|
(effects (font (size 1.27 1.27)))
|
||||||
|
)
|
||||||
|
)
|
||||||
|
(pin passive line
|
||||||
|
(at -33.02 -2.54 0)
|
||||||
|
(length 5.08)
|
||||||
|
(name "GND"
|
||||||
|
(effects (font (size 1.27 1.27)))
|
||||||
|
)
|
||||||
|
(number "64"
|
||||||
|
(effects (font (size 1.27 1.27)))
|
||||||
|
)
|
||||||
|
)
|
||||||
|
(pin passive line
|
||||||
|
(at -33.02 -2.54 0)
|
||||||
|
(length 5.08)
|
||||||
|
(name "GND"
|
||||||
|
(effects (font (size 1.27 1.27)))
|
||||||
|
)
|
||||||
|
(number "65"
|
||||||
|
(effects (font (size 1.27 1.27)))
|
||||||
|
)
|
||||||
|
)
|
||||||
|
(pin passive line
|
||||||
|
(at -33.02 -2.54 0)
|
||||||
|
(length 5.08)
|
||||||
|
(name "GND"
|
||||||
|
(effects (font (size 1.27 1.27)))
|
||||||
|
)
|
||||||
|
(number "66"
|
||||||
|
(effects (font (size 1.27 1.27)))
|
||||||
|
)
|
||||||
|
)
|
||||||
|
(pin passive line
|
||||||
|
(at -33.02 -2.54 0)
|
||||||
|
(length 5.08)
|
||||||
|
(name "GND"
|
||||||
|
(effects (font (size 1.27 1.27)))
|
||||||
|
)
|
||||||
|
(number "67"
|
||||||
|
(effects (font (size 1.27 1.27)))
|
||||||
|
)
|
||||||
|
)
|
||||||
|
(pin passive line
|
||||||
|
(at -33.02 -2.54 0)
|
||||||
|
(length 5.08)
|
||||||
|
(name "GND"
|
||||||
|
(effects (font (size 1.27 1.27)))
|
||||||
|
)
|
||||||
|
(number "68"
|
||||||
|
(effects (font (size 1.27 1.27)))
|
||||||
|
)
|
||||||
|
)
|
||||||
|
(pin passive line
|
||||||
|
(at -33.02 -2.54 0)
|
||||||
|
(length 5.08)
|
||||||
|
(name "GND"
|
||||||
|
(effects (font (size 1.27 1.27)))
|
||||||
|
)
|
||||||
|
(number "69"
|
||||||
|
(effects (font (size 1.27 1.27)))
|
||||||
|
)
|
||||||
|
)
|
||||||
|
(pin passive line
|
||||||
|
(at -33.02 -2.54 0)
|
||||||
|
(length 5.08)
|
||||||
|
(name "GND"
|
||||||
|
(effects (font (size 1.27 1.27)))
|
||||||
|
)
|
||||||
|
(number "70"
|
||||||
|
(effects (font (size 1.27 1.27)))
|
||||||
|
)
|
||||||
|
)
|
||||||
|
(pin passive line
|
||||||
|
(at -33.02 -2.54 0)
|
||||||
|
(length 5.08)
|
||||||
|
(name "GND"
|
||||||
|
(effects (font (size 1.27 1.27)))
|
||||||
|
)
|
||||||
|
(number "71"
|
||||||
|
(effects (font (size 1.27 1.27)))
|
||||||
|
)
|
||||||
|
)
|
||||||
|
(pin passive line
|
||||||
|
(at -33.02 -2.54 0)
|
||||||
|
(length 5.08)
|
||||||
|
(name "GND"
|
||||||
|
(effects (font (size 1.27 1.27)))
|
||||||
|
)
|
||||||
|
(number "72"
|
||||||
|
(effects (font (size 1.27 1.27)))
|
||||||
|
)
|
||||||
|
)
|
||||||
|
(pin passive line
|
||||||
|
(at -33.02 -2.54 0)
|
||||||
|
(length 5.08)
|
||||||
|
(name "GND"
|
||||||
|
(effects (font (size 1.27 1.27)))
|
||||||
|
)
|
||||||
|
(number "73"
|
||||||
|
(effects (font (size 1.27 1.27)))
|
||||||
|
)
|
||||||
|
)
|
||||||
|
(pin passive line
|
||||||
|
(at -33.02 -2.54 0)
|
||||||
|
(length 5.08)
|
||||||
|
(name "GND"
|
||||||
|
(effects (font (size 1.27 1.27)))
|
||||||
|
)
|
||||||
|
(number "74"
|
||||||
|
(effects (font (size 1.27 1.27)))
|
||||||
|
)
|
||||||
|
)
|
||||||
|
(pin passive line
|
||||||
|
(at -33.02 -2.54 0)
|
||||||
|
(length 5.08)
|
||||||
|
(name "GND"
|
||||||
|
(effects (font (size 1.27 1.27)))
|
||||||
|
)
|
||||||
|
(number "75"
|
||||||
|
(effects (font (size 1.27 1.27)))
|
||||||
|
)
|
||||||
|
)
|
||||||
|
(pin passive line
|
||||||
|
(at -33.02 -2.54 0)
|
||||||
|
(length 5.08)
|
||||||
|
(name "GND"
|
||||||
|
(effects (font (size 1.27 1.27)))
|
||||||
|
)
|
||||||
|
(number "76"
|
||||||
|
(effects (font (size 1.27 1.27)))
|
||||||
|
)
|
||||||
|
)
|
||||||
|
(pin passive line
|
||||||
|
(at -33.02 -2.54 0)
|
||||||
|
(length 5.08)
|
||||||
|
(name "GND"
|
||||||
|
(effects (font (size 1.27 1.27)))
|
||||||
|
)
|
||||||
|
(number "77"
|
||||||
|
(effects (font (size 1.27 1.27)))
|
||||||
|
)
|
||||||
|
)
|
||||||
|
(pin passive line
|
||||||
|
(at -33.02 -2.54 0)
|
||||||
|
(length 5.08)
|
||||||
|
(name "GND"
|
||||||
|
(effects (font (size 1.27 1.27)))
|
||||||
|
)
|
||||||
|
(number "78"
|
||||||
|
(effects (font (size 1.27 1.27)))
|
||||||
|
)
|
||||||
|
)
|
||||||
|
(pin passive line
|
||||||
|
(at -33.02 -2.54 0)
|
||||||
|
(length 5.08)
|
||||||
|
(name "GND"
|
||||||
|
(effects (font (size 1.27 1.27)))
|
||||||
|
)
|
||||||
|
(number "79"
|
||||||
|
(effects (font (size 1.27 1.27)))
|
||||||
|
)
|
||||||
|
)
|
||||||
|
(pin passive line
|
||||||
|
(at -33.02 -2.54 0)
|
||||||
|
(length 5.08)
|
||||||
|
(name "GND"
|
||||||
|
(effects (font (size 1.27 1.27)))
|
||||||
|
)
|
||||||
|
(number "80"
|
||||||
|
(effects (font (size 1.27 1.27)))
|
||||||
|
)
|
||||||
|
)
|
||||||
|
(pin passive line
|
||||||
|
(at -33.02 -2.54 0)
|
||||||
|
(length 5.08)
|
||||||
|
(name "GND"
|
||||||
|
(effects (font (size 1.27 1.27)))
|
||||||
|
)
|
||||||
|
(number "81"
|
||||||
|
(effects (font (size 1.27 1.27)))
|
||||||
|
)
|
||||||
|
)
|
||||||
|
(pin passive line
|
||||||
|
(at -33.02 -2.54 0)
|
||||||
|
(length 5.08)
|
||||||
|
(name "GND"
|
||||||
|
(effects (font (size 1.27 1.27)))
|
||||||
|
)
|
||||||
|
(number "82"
|
||||||
|
(effects (font (size 1.27 1.27)))
|
||||||
|
)
|
||||||
|
)
|
||||||
|
(pin passive line
|
||||||
|
(at -33.02 -2.54 0)
|
||||||
|
(length 5.08)
|
||||||
|
(name "GND"
|
||||||
|
(effects (font (size 1.27 1.27)))
|
||||||
|
)
|
||||||
|
(number "83"
|
||||||
|
(effects (font (size 1.27 1.27)))
|
||||||
|
)
|
||||||
|
)
|
||||||
|
(pin passive line
|
||||||
|
(at -33.02 -2.54 0)
|
||||||
|
(length 5.08)
|
||||||
|
(name "GND"
|
||||||
|
(effects (font (size 1.27 1.27)))
|
||||||
|
)
|
||||||
|
(number "84"
|
||||||
|
(effects (font (size 1.27 1.27)))
|
||||||
|
)
|
||||||
|
)
|
||||||
|
(pin passive line
|
||||||
|
(at -33.02 -2.54 0)
|
||||||
|
(length 5.08)
|
||||||
|
(name "GND"
|
||||||
|
(effects (font (size 1.27 1.27)))
|
||||||
|
)
|
||||||
|
(number "85"
|
||||||
|
(effects (font (size 1.27 1.27)))
|
||||||
|
)
|
||||||
|
)
|
||||||
|
(pin passive line
|
||||||
|
(at -33.02 -2.54 0)
|
||||||
|
(length 5.08)
|
||||||
|
(name "GND"
|
||||||
|
(effects (font (size 1.27 1.27)))
|
||||||
|
)
|
||||||
|
(number "86"
|
||||||
|
(effects (font (size 1.27 1.27)))
|
||||||
|
)
|
||||||
|
)
|
||||||
|
(pin passive line
|
||||||
|
(at -33.02 -2.54 0)
|
||||||
|
(length 5.08)
|
||||||
|
(name "GND"
|
||||||
|
(effects (font (size 1.27 1.27)))
|
||||||
|
)
|
||||||
|
(number "87"
|
||||||
|
(effects (font (size 1.27 1.27)))
|
||||||
|
)
|
||||||
|
)
|
||||||
|
(pin passive line
|
||||||
|
(at -33.02 -2.54 0)
|
||||||
|
(length 5.08)
|
||||||
|
(name "GND"
|
||||||
|
(effects (font (size 1.27 1.27)))
|
||||||
|
)
|
||||||
|
(number "88"
|
||||||
|
(effects (font (size 1.27 1.27)))
|
||||||
|
)
|
||||||
|
)
|
||||||
|
(pin passive line
|
||||||
|
(at -33.02 -2.54 0)
|
||||||
|
(length 5.08)
|
||||||
|
(name "GND"
|
||||||
|
(effects (font (size 1.27 1.27)))
|
||||||
|
)
|
||||||
|
(number "89"
|
||||||
|
(effects (font (size 1.27 1.27)))
|
||||||
|
)
|
||||||
|
)
|
||||||
|
(pin passive line
|
||||||
|
(at -33.02 -2.54 0)
|
||||||
|
(length 5.08)
|
||||||
|
(name "GND"
|
||||||
|
(effects (font (size 1.27 1.27)))
|
||||||
|
)
|
||||||
|
(number "90"
|
||||||
|
(effects (font (size 1.27 1.27)))
|
||||||
|
)
|
||||||
|
)
|
||||||
|
(pin passive line
|
||||||
|
(at -33.02 -2.54 0)
|
||||||
|
(length 5.08)
|
||||||
|
(name "GND"
|
||||||
|
(effects (font (size 1.27 1.27)))
|
||||||
|
)
|
||||||
|
(number "91"
|
||||||
|
(effects (font (size 1.27 1.27)))
|
||||||
|
)
|
||||||
|
)
|
||||||
|
(pin passive line
|
||||||
|
(at -33.02 -2.54 0)
|
||||||
|
(length 5.08)
|
||||||
|
(name "GND"
|
||||||
|
(effects (font (size 1.27 1.27)))
|
||||||
|
)
|
||||||
|
(number "92"
|
||||||
|
(effects (font (size 1.27 1.27)))
|
||||||
|
)
|
||||||
|
)
|
||||||
|
(pin passive line
|
||||||
|
(at -33.02 -2.54 0)
|
||||||
|
(length 5.08)
|
||||||
|
(name "GND"
|
||||||
|
(effects (font (size 1.27 1.27)))
|
||||||
|
)
|
||||||
|
(number "93"
|
||||||
|
(effects (font (size 1.27 1.27)))
|
||||||
|
)
|
||||||
|
)
|
||||||
|
(pin passive line
|
||||||
|
(at -33.02 -2.54 0)
|
||||||
|
(length 5.08)
|
||||||
|
(name "GND"
|
||||||
|
(effects (font (size 1.27 1.27)))
|
||||||
|
)
|
||||||
|
(number "94"
|
||||||
|
(effects (font (size 1.27 1.27)))
|
||||||
|
)
|
||||||
|
)
|
||||||
|
(pin passive line
|
||||||
|
(at -33.02 -2.54 0)
|
||||||
|
(length 5.08)
|
||||||
|
(name "GND"
|
||||||
|
(effects (font (size 1.27 1.27)))
|
||||||
|
)
|
||||||
|
(number "95"
|
||||||
|
(effects (font (size 1.27 1.27)))
|
||||||
|
)
|
||||||
|
)
|
||||||
|
(pin passive line
|
||||||
|
(at -33.02 -2.54 0)
|
||||||
|
(length 5.08)
|
||||||
|
(name "GND"
|
||||||
|
(effects (font (size 1.27 1.27)))
|
||||||
|
)
|
||||||
|
(number "96"
|
||||||
|
(effects (font (size 1.27 1.27)))
|
||||||
|
)
|
||||||
|
)
|
||||||
|
(pin passive line
|
||||||
|
(at -33.02 -2.54 0)
|
||||||
|
(length 5.08)
|
||||||
|
(name "GND"
|
||||||
|
(effects (font (size 1.27 1.27)))
|
||||||
|
)
|
||||||
|
(number "97"
|
||||||
|
(effects (font (size 1.27 1.27)))
|
||||||
|
)
|
||||||
|
)
|
||||||
|
(pin passive line
|
||||||
|
(at -33.02 -2.54 0)
|
||||||
|
(length 5.08)
|
||||||
|
(name "GND"
|
||||||
|
(effects (font (size 1.27 1.27)))
|
||||||
|
)
|
||||||
|
(number "98"
|
||||||
|
(effects (font (size 1.27 1.27)))
|
||||||
|
)
|
||||||
|
)
|
||||||
|
(pin passive line
|
||||||
|
(at -33.02 -2.54 0)
|
||||||
|
(length 5.08)
|
||||||
|
(name "GND"
|
||||||
|
(effects (font (size 1.27 1.27)))
|
||||||
|
)
|
||||||
|
(number "99"
|
||||||
|
(effects (font (size 1.27 1.27)))
|
||||||
|
)
|
||||||
|
)
|
||||||
|
(pin passive line
|
||||||
|
(at -33.02 -2.54 0)
|
||||||
|
(length 5.08)
|
||||||
|
(name "GND"
|
||||||
|
(effects (font (size 1.27 1.27)))
|
||||||
|
)
|
||||||
|
(number "100"
|
||||||
|
(effects (font (size 1.27 1.27)))
|
||||||
|
)
|
||||||
|
)
|
||||||
|
(pin passive line
|
||||||
|
(at -33.02 -2.54 0)
|
||||||
|
(length 5.08)
|
||||||
|
(name "GND"
|
||||||
|
(effects (font (size 1.27 1.27)))
|
||||||
|
)
|
||||||
|
(number "101"
|
||||||
|
(effects (font (size 1.27 1.27)))
|
||||||
|
)
|
||||||
|
)
|
||||||
|
(pin passive line
|
||||||
|
(at -33.02 -2.54 0)
|
||||||
|
(length 5.08)
|
||||||
|
(name "GND"
|
||||||
|
(effects (font (size 1.27 1.27)))
|
||||||
|
)
|
||||||
|
(number "102"
|
||||||
|
(effects (font (size 1.27 1.27)))
|
||||||
|
)
|
||||||
|
)
|
||||||
)
|
)
|
||||||
)
|
)
|
||||||
(symbol "LDO_SOT23-5"
|
(symbol "LDO_SOT23-5"
|
||||||
|
|||||||
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
691
03-Architecture-Hardware/kicad/Drogheda-v6.kicad_sym
Normal file
691
03-Architecture-Hardware/kicad/Drogheda-v6.kicad_sym
Normal file
@ -0,0 +1,691 @@
|
|||||||
|
(kicad_symbol_lib
|
||||||
|
(version 20211014)
|
||||||
|
(generator https://github.com/uPesy/easyeda2kicad.py)
|
||||||
|
|
||||||
|
(symbol "ZED-F9P-04B"
|
||||||
|
(in_bom yes)
|
||||||
|
(on_board yes)
|
||||||
|
(property
|
||||||
|
"Reference"
|
||||||
|
"U"
|
||||||
|
(id 0)
|
||||||
|
(at 0 68.58 0)
|
||||||
|
(effects (font (size 1.27 1.27) ) )
|
||||||
|
)
|
||||||
|
(property
|
||||||
|
"Value"
|
||||||
|
"ZED-F9P-04B"
|
||||||
|
(id 1)
|
||||||
|
(at 0 -68.58 0)
|
||||||
|
(effects (font (size 1.27 1.27) ) )
|
||||||
|
)
|
||||||
|
(property
|
||||||
|
"Footprint"
|
||||||
|
"Drogheda-v6:LCC-LGA-102_L22.0-W17.0_FM660"
|
||||||
|
(id 2)
|
||||||
|
(at 0 -71.12 0)
|
||||||
|
(effects (font (size 1.27 1.27) ) hide)
|
||||||
|
)
|
||||||
|
(property
|
||||||
|
"Datasheet"
|
||||||
|
"https://www.lcsc.com/datasheet/C5120257.pdf"
|
||||||
|
(id 3)
|
||||||
|
(at 0 -73.66 0)
|
||||||
|
(effects (font (size 1.27 1.27) ) hide)
|
||||||
|
)
|
||||||
|
(property
|
||||||
|
"Manufacturer"
|
||||||
|
"U-BLOX"
|
||||||
|
(id 4)
|
||||||
|
(at 0 -76.20 0)
|
||||||
|
(effects (font (size 1.27 1.27) ) hide)
|
||||||
|
)
|
||||||
|
(property
|
||||||
|
"MPN"
|
||||||
|
"ZED-F9P-04B"
|
||||||
|
(id 5)
|
||||||
|
(at 0 -78.74 0)
|
||||||
|
(effects (font (size 1.27 1.27) ) hide)
|
||||||
|
)
|
||||||
|
(property
|
||||||
|
"LCSC Part"
|
||||||
|
"C5120257"
|
||||||
|
(id 6)
|
||||||
|
(at 0 -81.28 0)
|
||||||
|
(effects (font (size 1.27 1.27) ) hide)
|
||||||
|
)
|
||||||
|
(property
|
||||||
|
"ki_keywords"
|
||||||
|
"Satellite Positioning Modules"
|
||||||
|
(id 8)
|
||||||
|
(at 0 -83.82 0)
|
||||||
|
(effects (font (size 1.27 1.27) ) hide)
|
||||||
|
)
|
||||||
|
(symbol "ZED-F9P-04B_0_1"
|
||||||
|
(rectangle
|
||||||
|
(start -25.40 66.04)
|
||||||
|
(end 22.86 -66.04)
|
||||||
|
(stroke (width 0) (type default))
|
||||||
|
(fill (type background))
|
||||||
|
)
|
||||||
|
(circle
|
||||||
|
(center -24.13 64.77)
|
||||||
|
(radius 0.38)
|
||||||
|
(stroke (width 0) (type default))
|
||||||
|
(fill (type none))
|
||||||
|
)
|
||||||
|
(pin unspecified line
|
||||||
|
(at -27.94 63.50 0)
|
||||||
|
(length 2.54)
|
||||||
|
(name "ANT_DETECT" (effects (font (size 1.27 1.27))))
|
||||||
|
(number "4" (effects (font (size 1.27 1.27))))
|
||||||
|
)
|
||||||
|
(pin unspecified line
|
||||||
|
(at -27.94 60.96 0)
|
||||||
|
(length 2.54)
|
||||||
|
(name "ANT_OFF" (effects (font (size 1.27 1.27))))
|
||||||
|
(number "5" (effects (font (size 1.27 1.27))))
|
||||||
|
)
|
||||||
|
(pin unspecified line
|
||||||
|
(at -27.94 58.42 0)
|
||||||
|
(length 2.54)
|
||||||
|
(name "ANT_SHORT_N" (effects (font (size 1.27 1.27))))
|
||||||
|
(number "6" (effects (font (size 1.27 1.27))))
|
||||||
|
)
|
||||||
|
(pin unspecified line
|
||||||
|
(at -27.94 55.88 0)
|
||||||
|
(length 2.54)
|
||||||
|
(name "D_SEL" (effects (font (size 1.27 1.27))))
|
||||||
|
(number "47" (effects (font (size 1.27 1.27))))
|
||||||
|
)
|
||||||
|
(pin unspecified line
|
||||||
|
(at -27.94 53.34 0)
|
||||||
|
(length 2.54)
|
||||||
|
(name "EXTINT" (effects (font (size 1.27 1.27))))
|
||||||
|
(number "51" (effects (font (size 1.27 1.27))))
|
||||||
|
)
|
||||||
|
(pin unspecified line
|
||||||
|
(at -27.94 50.80 0)
|
||||||
|
(length 2.54)
|
||||||
|
(name "GEOFENCE_STAT" (effects (font (size 1.27 1.27))))
|
||||||
|
(number "19" (effects (font (size 1.27 1.27))))
|
||||||
|
)
|
||||||
|
(pin unspecified line
|
||||||
|
(at -27.94 48.26 0)
|
||||||
|
(length 2.54)
|
||||||
|
(name "GND" (effects (font (size 1.27 1.27))))
|
||||||
|
(number "1" (effects (font (size 1.27 1.27))))
|
||||||
|
)
|
||||||
|
(pin unspecified line
|
||||||
|
(at -27.94 45.72 0)
|
||||||
|
(length 2.54)
|
||||||
|
(name "GND" (effects (font (size 1.27 1.27))))
|
||||||
|
(number "3" (effects (font (size 1.27 1.27))))
|
||||||
|
)
|
||||||
|
(pin unspecified line
|
||||||
|
(at -27.94 43.18 0)
|
||||||
|
(length 2.54)
|
||||||
|
(name "GND" (effects (font (size 1.27 1.27))))
|
||||||
|
(number "12" (effects (font (size 1.27 1.27))))
|
||||||
|
)
|
||||||
|
(pin unspecified line
|
||||||
|
(at -27.94 40.64 0)
|
||||||
|
(length 2.54)
|
||||||
|
(name "GND" (effects (font (size 1.27 1.27))))
|
||||||
|
(number "14" (effects (font (size 1.27 1.27))))
|
||||||
|
)
|
||||||
|
(pin unspecified line
|
||||||
|
(at -27.94 38.10 0)
|
||||||
|
(length 2.54)
|
||||||
|
(name "GND" (effects (font (size 1.27 1.27))))
|
||||||
|
(number "32" (effects (font (size 1.27 1.27))))
|
||||||
|
)
|
||||||
|
(pin unspecified line
|
||||||
|
(at -27.94 35.56 0)
|
||||||
|
(length 2.54)
|
||||||
|
(name "GND" (effects (font (size 1.27 1.27))))
|
||||||
|
(number "37" (effects (font (size 1.27 1.27))))
|
||||||
|
)
|
||||||
|
(pin unspecified line
|
||||||
|
(at -27.94 33.02 0)
|
||||||
|
(length 2.54)
|
||||||
|
(name "GND" (effects (font (size 1.27 1.27))))
|
||||||
|
(number "41" (effects (font (size 1.27 1.27))))
|
||||||
|
)
|
||||||
|
(pin unspecified line
|
||||||
|
(at -27.94 30.48 0)
|
||||||
|
(length 2.54)
|
||||||
|
(name "GND" (effects (font (size 1.27 1.27))))
|
||||||
|
(number "48" (effects (font (size 1.27 1.27))))
|
||||||
|
)
|
||||||
|
(pin unspecified line
|
||||||
|
(at -27.94 27.94 0)
|
||||||
|
(length 2.54)
|
||||||
|
(name "GND" (effects (font (size 1.27 1.27))))
|
||||||
|
(number "55" (effects (font (size 1.27 1.27))))
|
||||||
|
)
|
||||||
|
(pin unspecified line
|
||||||
|
(at -27.94 25.40 0)
|
||||||
|
(length 2.54)
|
||||||
|
(name "GND" (effects (font (size 1.27 1.27))))
|
||||||
|
(number "56" (effects (font (size 1.27 1.27))))
|
||||||
|
)
|
||||||
|
(pin unspecified line
|
||||||
|
(at -27.94 22.86 0)
|
||||||
|
(length 2.54)
|
||||||
|
(name "GND" (effects (font (size 1.27 1.27))))
|
||||||
|
(number "57" (effects (font (size 1.27 1.27))))
|
||||||
|
)
|
||||||
|
(pin unspecified line
|
||||||
|
(at -27.94 20.32 0)
|
||||||
|
(length 2.54)
|
||||||
|
(name "GND" (effects (font (size 1.27 1.27))))
|
||||||
|
(number "58" (effects (font (size 1.27 1.27))))
|
||||||
|
)
|
||||||
|
(pin unspecified line
|
||||||
|
(at -27.94 17.78 0)
|
||||||
|
(length 2.54)
|
||||||
|
(name "GND" (effects (font (size 1.27 1.27))))
|
||||||
|
(number "59" (effects (font (size 1.27 1.27))))
|
||||||
|
)
|
||||||
|
(pin unspecified line
|
||||||
|
(at -27.94 15.24 0)
|
||||||
|
(length 2.54)
|
||||||
|
(name "GND" (effects (font (size 1.27 1.27))))
|
||||||
|
(number "60" (effects (font (size 1.27 1.27))))
|
||||||
|
)
|
||||||
|
(pin unspecified line
|
||||||
|
(at -27.94 12.70 0)
|
||||||
|
(length 2.54)
|
||||||
|
(name "GND" (effects (font (size 1.27 1.27))))
|
||||||
|
(number "61" (effects (font (size 1.27 1.27))))
|
||||||
|
)
|
||||||
|
(pin unspecified line
|
||||||
|
(at -27.94 10.16 0)
|
||||||
|
(length 2.54)
|
||||||
|
(name "GND" (effects (font (size 1.27 1.27))))
|
||||||
|
(number "62" (effects (font (size 1.27 1.27))))
|
||||||
|
)
|
||||||
|
(pin unspecified line
|
||||||
|
(at -27.94 7.62 0)
|
||||||
|
(length 2.54)
|
||||||
|
(name "GND" (effects (font (size 1.27 1.27))))
|
||||||
|
(number "63" (effects (font (size 1.27 1.27))))
|
||||||
|
)
|
||||||
|
(pin unspecified line
|
||||||
|
(at -27.94 5.08 0)
|
||||||
|
(length 2.54)
|
||||||
|
(name "GND" (effects (font (size 1.27 1.27))))
|
||||||
|
(number "64" (effects (font (size 1.27 1.27))))
|
||||||
|
)
|
||||||
|
(pin unspecified line
|
||||||
|
(at -27.94 2.54 0)
|
||||||
|
(length 2.54)
|
||||||
|
(name "GND" (effects (font (size 1.27 1.27))))
|
||||||
|
(number "65" (effects (font (size 1.27 1.27))))
|
||||||
|
)
|
||||||
|
(pin unspecified line
|
||||||
|
(at -27.94 -0.00 0)
|
||||||
|
(length 2.54)
|
||||||
|
(name "GND" (effects (font (size 1.27 1.27))))
|
||||||
|
(number "66" (effects (font (size 1.27 1.27))))
|
||||||
|
)
|
||||||
|
(pin unspecified line
|
||||||
|
(at -27.94 -2.54 0)
|
||||||
|
(length 2.54)
|
||||||
|
(name "GND" (effects (font (size 1.27 1.27))))
|
||||||
|
(number "67" (effects (font (size 1.27 1.27))))
|
||||||
|
)
|
||||||
|
(pin unspecified line
|
||||||
|
(at -27.94 -5.08 0)
|
||||||
|
(length 2.54)
|
||||||
|
(name "GND" (effects (font (size 1.27 1.27))))
|
||||||
|
(number "68" (effects (font (size 1.27 1.27))))
|
||||||
|
)
|
||||||
|
(pin unspecified line
|
||||||
|
(at -27.94 -7.62 0)
|
||||||
|
(length 2.54)
|
||||||
|
(name "GND" (effects (font (size 1.27 1.27))))
|
||||||
|
(number "69" (effects (font (size 1.27 1.27))))
|
||||||
|
)
|
||||||
|
(pin unspecified line
|
||||||
|
(at -27.94 -10.16 0)
|
||||||
|
(length 2.54)
|
||||||
|
(name "GND" (effects (font (size 1.27 1.27))))
|
||||||
|
(number "70" (effects (font (size 1.27 1.27))))
|
||||||
|
)
|
||||||
|
(pin unspecified line
|
||||||
|
(at -27.94 -12.70 0)
|
||||||
|
(length 2.54)
|
||||||
|
(name "GND" (effects (font (size 1.27 1.27))))
|
||||||
|
(number "71" (effects (font (size 1.27 1.27))))
|
||||||
|
)
|
||||||
|
(pin unspecified line
|
||||||
|
(at -27.94 -15.24 0)
|
||||||
|
(length 2.54)
|
||||||
|
(name "GND" (effects (font (size 1.27 1.27))))
|
||||||
|
(number "72" (effects (font (size 1.27 1.27))))
|
||||||
|
)
|
||||||
|
(pin unspecified line
|
||||||
|
(at -27.94 -17.78 0)
|
||||||
|
(length 2.54)
|
||||||
|
(name "GND" (effects (font (size 1.27 1.27))))
|
||||||
|
(number "73" (effects (font (size 1.27 1.27))))
|
||||||
|
)
|
||||||
|
(pin unspecified line
|
||||||
|
(at -27.94 -20.32 0)
|
||||||
|
(length 2.54)
|
||||||
|
(name "GND" (effects (font (size 1.27 1.27))))
|
||||||
|
(number "74" (effects (font (size 1.27 1.27))))
|
||||||
|
)
|
||||||
|
(pin unspecified line
|
||||||
|
(at -27.94 -22.86 0)
|
||||||
|
(length 2.54)
|
||||||
|
(name "GND" (effects (font (size 1.27 1.27))))
|
||||||
|
(number "75" (effects (font (size 1.27 1.27))))
|
||||||
|
)
|
||||||
|
(pin unspecified line
|
||||||
|
(at -27.94 -25.40 0)
|
||||||
|
(length 2.54)
|
||||||
|
(name "GND" (effects (font (size 1.27 1.27))))
|
||||||
|
(number "76" (effects (font (size 1.27 1.27))))
|
||||||
|
)
|
||||||
|
(pin unspecified line
|
||||||
|
(at -27.94 -27.94 0)
|
||||||
|
(length 2.54)
|
||||||
|
(name "GND" (effects (font (size 1.27 1.27))))
|
||||||
|
(number "77" (effects (font (size 1.27 1.27))))
|
||||||
|
)
|
||||||
|
(pin unspecified line
|
||||||
|
(at -27.94 -30.48 0)
|
||||||
|
(length 2.54)
|
||||||
|
(name "GND" (effects (font (size 1.27 1.27))))
|
||||||
|
(number "78" (effects (font (size 1.27 1.27))))
|
||||||
|
)
|
||||||
|
(pin unspecified line
|
||||||
|
(at -27.94 -33.02 0)
|
||||||
|
(length 2.54)
|
||||||
|
(name "GND" (effects (font (size 1.27 1.27))))
|
||||||
|
(number "79" (effects (font (size 1.27 1.27))))
|
||||||
|
)
|
||||||
|
(pin unspecified line
|
||||||
|
(at -27.94 -35.56 0)
|
||||||
|
(length 2.54)
|
||||||
|
(name "GND" (effects (font (size 1.27 1.27))))
|
||||||
|
(number "80" (effects (font (size 1.27 1.27))))
|
||||||
|
)
|
||||||
|
(pin unspecified line
|
||||||
|
(at -27.94 -38.10 0)
|
||||||
|
(length 2.54)
|
||||||
|
(name "GND" (effects (font (size 1.27 1.27))))
|
||||||
|
(number "81" (effects (font (size 1.27 1.27))))
|
||||||
|
)
|
||||||
|
(pin unspecified line
|
||||||
|
(at -27.94 -40.64 0)
|
||||||
|
(length 2.54)
|
||||||
|
(name "GND" (effects (font (size 1.27 1.27))))
|
||||||
|
(number "82" (effects (font (size 1.27 1.27))))
|
||||||
|
)
|
||||||
|
(pin unspecified line
|
||||||
|
(at -27.94 -43.18 0)
|
||||||
|
(length 2.54)
|
||||||
|
(name "GND" (effects (font (size 1.27 1.27))))
|
||||||
|
(number "83" (effects (font (size 1.27 1.27))))
|
||||||
|
)
|
||||||
|
(pin unspecified line
|
||||||
|
(at -27.94 -45.72 0)
|
||||||
|
(length 2.54)
|
||||||
|
(name "GND" (effects (font (size 1.27 1.27))))
|
||||||
|
(number "84" (effects (font (size 1.27 1.27))))
|
||||||
|
)
|
||||||
|
(pin unspecified line
|
||||||
|
(at -27.94 -48.26 0)
|
||||||
|
(length 2.54)
|
||||||
|
(name "GND" (effects (font (size 1.27 1.27))))
|
||||||
|
(number "85" (effects (font (size 1.27 1.27))))
|
||||||
|
)
|
||||||
|
(pin unspecified line
|
||||||
|
(at -27.94 -50.80 0)
|
||||||
|
(length 2.54)
|
||||||
|
(name "GND" (effects (font (size 1.27 1.27))))
|
||||||
|
(number "86" (effects (font (size 1.27 1.27))))
|
||||||
|
)
|
||||||
|
(pin unspecified line
|
||||||
|
(at -27.94 -53.34 0)
|
||||||
|
(length 2.54)
|
||||||
|
(name "GND" (effects (font (size 1.27 1.27))))
|
||||||
|
(number "87" (effects (font (size 1.27 1.27))))
|
||||||
|
)
|
||||||
|
(pin unspecified line
|
||||||
|
(at -27.94 -55.88 0)
|
||||||
|
(length 2.54)
|
||||||
|
(name "GND" (effects (font (size 1.27 1.27))))
|
||||||
|
(number "88" (effects (font (size 1.27 1.27))))
|
||||||
|
)
|
||||||
|
(pin unspecified line
|
||||||
|
(at -27.94 -58.42 0)
|
||||||
|
(length 2.54)
|
||||||
|
(name "GND" (effects (font (size 1.27 1.27))))
|
||||||
|
(number "89" (effects (font (size 1.27 1.27))))
|
||||||
|
)
|
||||||
|
(pin unspecified line
|
||||||
|
(at -27.94 -60.96 0)
|
||||||
|
(length 2.54)
|
||||||
|
(name "GND" (effects (font (size 1.27 1.27))))
|
||||||
|
(number "90" (effects (font (size 1.27 1.27))))
|
||||||
|
)
|
||||||
|
(pin unspecified line
|
||||||
|
(at -27.94 -63.50 0)
|
||||||
|
(length 2.54)
|
||||||
|
(name "GND" (effects (font (size 1.27 1.27))))
|
||||||
|
(number "91" (effects (font (size 1.27 1.27))))
|
||||||
|
)
|
||||||
|
(pin unspecified line
|
||||||
|
(at 25.40 -63.50 180)
|
||||||
|
(length 2.54)
|
||||||
|
(name "GND" (effects (font (size 1.27 1.27))))
|
||||||
|
(number "92" (effects (font (size 1.27 1.27))))
|
||||||
|
)
|
||||||
|
(pin unspecified line
|
||||||
|
(at 25.40 -60.96 180)
|
||||||
|
(length 2.54)
|
||||||
|
(name "GND" (effects (font (size 1.27 1.27))))
|
||||||
|
(number "93" (effects (font (size 1.27 1.27))))
|
||||||
|
)
|
||||||
|
(pin unspecified line
|
||||||
|
(at 25.40 -58.42 180)
|
||||||
|
(length 2.54)
|
||||||
|
(name "GND" (effects (font (size 1.27 1.27))))
|
||||||
|
(number "94" (effects (font (size 1.27 1.27))))
|
||||||
|
)
|
||||||
|
(pin unspecified line
|
||||||
|
(at 25.40 -55.88 180)
|
||||||
|
(length 2.54)
|
||||||
|
(name "GND" (effects (font (size 1.27 1.27))))
|
||||||
|
(number "95" (effects (font (size 1.27 1.27))))
|
||||||
|
)
|
||||||
|
(pin unspecified line
|
||||||
|
(at 25.40 -53.34 180)
|
||||||
|
(length 2.54)
|
||||||
|
(name "GND" (effects (font (size 1.27 1.27))))
|
||||||
|
(number "96" (effects (font (size 1.27 1.27))))
|
||||||
|
)
|
||||||
|
(pin unspecified line
|
||||||
|
(at 25.40 -50.80 180)
|
||||||
|
(length 2.54)
|
||||||
|
(name "GND" (effects (font (size 1.27 1.27))))
|
||||||
|
(number "97" (effects (font (size 1.27 1.27))))
|
||||||
|
)
|
||||||
|
(pin unspecified line
|
||||||
|
(at 25.40 -48.26 180)
|
||||||
|
(length 2.54)
|
||||||
|
(name "GND" (effects (font (size 1.27 1.27))))
|
||||||
|
(number "98" (effects (font (size 1.27 1.27))))
|
||||||
|
)
|
||||||
|
(pin unspecified line
|
||||||
|
(at 25.40 -45.72 180)
|
||||||
|
(length 2.54)
|
||||||
|
(name "GND" (effects (font (size 1.27 1.27))))
|
||||||
|
(number "99" (effects (font (size 1.27 1.27))))
|
||||||
|
)
|
||||||
|
(pin unspecified line
|
||||||
|
(at 25.40 -43.18 180)
|
||||||
|
(length 2.54)
|
||||||
|
(name "GND" (effects (font (size 1.27 1.27))))
|
||||||
|
(number "100" (effects (font (size 1.27 1.27))))
|
||||||
|
)
|
||||||
|
(pin unspecified line
|
||||||
|
(at 25.40 -40.64 180)
|
||||||
|
(length 2.54)
|
||||||
|
(name "GND" (effects (font (size 1.27 1.27))))
|
||||||
|
(number "101" (effects (font (size 1.27 1.27))))
|
||||||
|
)
|
||||||
|
(pin unspecified line
|
||||||
|
(at 25.40 -38.10 180)
|
||||||
|
(length 2.54)
|
||||||
|
(name "GND" (effects (font (size 1.27 1.27))))
|
||||||
|
(number "102" (effects (font (size 1.27 1.27))))
|
||||||
|
)
|
||||||
|
(pin unspecified line
|
||||||
|
(at 25.40 -35.56 180)
|
||||||
|
(length 2.54)
|
||||||
|
(name "Reserved" (effects (font (size 1.27 1.27))))
|
||||||
|
(number "8" (effects (font (size 1.27 1.27))))
|
||||||
|
)
|
||||||
|
(pin unspecified line
|
||||||
|
(at 25.40 -33.02 180)
|
||||||
|
(length 2.54)
|
||||||
|
(name "Reserved" (effects (font (size 1.27 1.27))))
|
||||||
|
(number "9" (effects (font (size 1.27 1.27))))
|
||||||
|
)
|
||||||
|
(pin unspecified line
|
||||||
|
(at 25.40 -30.48 180)
|
||||||
|
(length 2.54)
|
||||||
|
(name "Reserved" (effects (font (size 1.27 1.27))))
|
||||||
|
(number "10" (effects (font (size 1.27 1.27))))
|
||||||
|
)
|
||||||
|
(pin unspecified line
|
||||||
|
(at 25.40 -27.94 180)
|
||||||
|
(length 2.54)
|
||||||
|
(name "Reserved" (effects (font (size 1.27 1.27))))
|
||||||
|
(number "11" (effects (font (size 1.27 1.27))))
|
||||||
|
)
|
||||||
|
(pin unspecified line
|
||||||
|
(at 25.40 -25.40 180)
|
||||||
|
(length 2.54)
|
||||||
|
(name "Reserved" (effects (font (size 1.27 1.27))))
|
||||||
|
(number "13" (effects (font (size 1.27 1.27))))
|
||||||
|
)
|
||||||
|
(pin unspecified line
|
||||||
|
(at 25.40 -22.86 180)
|
||||||
|
(length 2.54)
|
||||||
|
(name "Reserved" (effects (font (size 1.27 1.27))))
|
||||||
|
(number "15" (effects (font (size 1.27 1.27))))
|
||||||
|
)
|
||||||
|
(pin unspecified line
|
||||||
|
(at 25.40 -20.32 180)
|
||||||
|
(length 2.54)
|
||||||
|
(name "Reserved" (effects (font (size 1.27 1.27))))
|
||||||
|
(number "16" (effects (font (size 1.27 1.27))))
|
||||||
|
)
|
||||||
|
(pin unspecified line
|
||||||
|
(at 25.40 -17.78 180)
|
||||||
|
(length 2.54)
|
||||||
|
(name "Reserved" (effects (font (size 1.27 1.27))))
|
||||||
|
(number "17" (effects (font (size 1.27 1.27))))
|
||||||
|
)
|
||||||
|
(pin unspecified line
|
||||||
|
(at 25.40 -15.24 180)
|
||||||
|
(length 2.54)
|
||||||
|
(name "Reserved" (effects (font (size 1.27 1.27))))
|
||||||
|
(number "18" (effects (font (size 1.27 1.27))))
|
||||||
|
)
|
||||||
|
(pin unspecified line
|
||||||
|
(at 25.40 -12.70 180)
|
||||||
|
(length 2.54)
|
||||||
|
(name "Reserved" (effects (font (size 1.27 1.27))))
|
||||||
|
(number "21" (effects (font (size 1.27 1.27))))
|
||||||
|
)
|
||||||
|
(pin unspecified line
|
||||||
|
(at 25.40 -10.16 180)
|
||||||
|
(length 2.54)
|
||||||
|
(name "Reserved" (effects (font (size 1.27 1.27))))
|
||||||
|
(number "22" (effects (font (size 1.27 1.27))))
|
||||||
|
)
|
||||||
|
(pin unspecified line
|
||||||
|
(at 25.40 -7.62 180)
|
||||||
|
(length 2.54)
|
||||||
|
(name "Reserved" (effects (font (size 1.27 1.27))))
|
||||||
|
(number "23" (effects (font (size 1.27 1.27))))
|
||||||
|
)
|
||||||
|
(pin unspecified line
|
||||||
|
(at 25.40 -5.08 180)
|
||||||
|
(length 2.54)
|
||||||
|
(name "Reserved" (effects (font (size 1.27 1.27))))
|
||||||
|
(number "24" (effects (font (size 1.27 1.27))))
|
||||||
|
)
|
||||||
|
(pin unspecified line
|
||||||
|
(at 25.40 -2.54 180)
|
||||||
|
(length 2.54)
|
||||||
|
(name "Reserved" (effects (font (size 1.27 1.27))))
|
||||||
|
(number "25" (effects (font (size 1.27 1.27))))
|
||||||
|
)
|
||||||
|
(pin unspecified line
|
||||||
|
(at 25.40 -0.00 180)
|
||||||
|
(length 2.54)
|
||||||
|
(name "Reserved" (effects (font (size 1.27 1.27))))
|
||||||
|
(number "28" (effects (font (size 1.27 1.27))))
|
||||||
|
)
|
||||||
|
(pin unspecified line
|
||||||
|
(at 25.40 2.54 180)
|
||||||
|
(length 2.54)
|
||||||
|
(name "Reserved" (effects (font (size 1.27 1.27))))
|
||||||
|
(number "29" (effects (font (size 1.27 1.27))))
|
||||||
|
)
|
||||||
|
(pin unspecified line
|
||||||
|
(at 25.40 5.08 180)
|
||||||
|
(length 2.54)
|
||||||
|
(name "Reserved" (effects (font (size 1.27 1.27))))
|
||||||
|
(number "30" (effects (font (size 1.27 1.27))))
|
||||||
|
)
|
||||||
|
(pin unspecified line
|
||||||
|
(at 25.40 7.62 180)
|
||||||
|
(length 2.54)
|
||||||
|
(name "Reserved" (effects (font (size 1.27 1.27))))
|
||||||
|
(number "31" (effects (font (size 1.27 1.27))))
|
||||||
|
)
|
||||||
|
(pin unspecified line
|
||||||
|
(at 25.40 10.16 180)
|
||||||
|
(length 2.54)
|
||||||
|
(name "Reserved" (effects (font (size 1.27 1.27))))
|
||||||
|
(number "35" (effects (font (size 1.27 1.27))))
|
||||||
|
)
|
||||||
|
(pin unspecified line
|
||||||
|
(at 25.40 12.70 180)
|
||||||
|
(length 2.54)
|
||||||
|
(name "Reserved" (effects (font (size 1.27 1.27))))
|
||||||
|
(number "52" (effects (font (size 1.27 1.27))))
|
||||||
|
)
|
||||||
|
(pin unspecified line
|
||||||
|
(at 25.40 15.24 180)
|
||||||
|
(length 2.54)
|
||||||
|
(name "Reserved" (effects (font (size 1.27 1.27))))
|
||||||
|
(number "54" (effects (font (size 1.27 1.27))))
|
||||||
|
)
|
||||||
|
(pin unspecified line
|
||||||
|
(at 25.40 17.78 180)
|
||||||
|
(length 2.54)
|
||||||
|
(name "RESET_N" (effects (font (size 1.27 1.27))))
|
||||||
|
(number "49" (effects (font (size 1.27 1.27))))
|
||||||
|
)
|
||||||
|
(pin unspecified line
|
||||||
|
(at 25.40 20.32 180)
|
||||||
|
(length 2.54)
|
||||||
|
(name "RF_IN" (effects (font (size 1.27 1.27))))
|
||||||
|
(number "2" (effects (font (size 1.27 1.27))))
|
||||||
|
)
|
||||||
|
(pin unspecified line
|
||||||
|
(at 25.40 22.86 180)
|
||||||
|
(length 2.54)
|
||||||
|
(name "RTK_STAT" (effects (font (size 1.27 1.27))))
|
||||||
|
(number "20" (effects (font (size 1.27 1.27))))
|
||||||
|
)
|
||||||
|
(pin unspecified line
|
||||||
|
(at 25.40 25.40 180)
|
||||||
|
(length 2.54)
|
||||||
|
(name "RXD/SPI_MOSI" (effects (font (size 1.27 1.27))))
|
||||||
|
(number "43" (effects (font (size 1.27 1.27))))
|
||||||
|
)
|
||||||
|
(pin unspecified line
|
||||||
|
(at 25.40 27.94 180)
|
||||||
|
(length 2.54)
|
||||||
|
(name "RXD2" (effects (font (size 1.27 1.27))))
|
||||||
|
(number "26" (effects (font (size 1.27 1.27))))
|
||||||
|
)
|
||||||
|
(pin unspecified line
|
||||||
|
(at 25.40 30.48 180)
|
||||||
|
(length 2.54)
|
||||||
|
(name "SAFEBOOT_N" (effects (font (size 1.27 1.27))))
|
||||||
|
(number "50" (effects (font (size 1.27 1.27))))
|
||||||
|
)
|
||||||
|
(pin unspecified line
|
||||||
|
(at 25.40 33.02 180)
|
||||||
|
(length 2.54)
|
||||||
|
(name "SCL/SPI_CLK" (effects (font (size 1.27 1.27))))
|
||||||
|
(number "45" (effects (font (size 1.27 1.27))))
|
||||||
|
)
|
||||||
|
(pin unspecified line
|
||||||
|
(at 25.40 35.56 180)
|
||||||
|
(length 2.54)
|
||||||
|
(name "SDA/SPI_CS_N" (effects (font (size 1.27 1.27))))
|
||||||
|
(number "44" (effects (font (size 1.27 1.27))))
|
||||||
|
)
|
||||||
|
(pin unspecified line
|
||||||
|
(at 25.40 38.10 180)
|
||||||
|
(length 2.54)
|
||||||
|
(name "TIMEPULSE" (effects (font (size 1.27 1.27))))
|
||||||
|
(number "53" (effects (font (size 1.27 1.27))))
|
||||||
|
)
|
||||||
|
(pin unspecified line
|
||||||
|
(at 25.40 40.64 180)
|
||||||
|
(length 2.54)
|
||||||
|
(name "TX_READY" (effects (font (size 1.27 1.27))))
|
||||||
|
(number "46" (effects (font (size 1.27 1.27))))
|
||||||
|
)
|
||||||
|
(pin unspecified line
|
||||||
|
(at 25.40 43.18 180)
|
||||||
|
(length 2.54)
|
||||||
|
(name "TXD/SPI_MISO" (effects (font (size 1.27 1.27))))
|
||||||
|
(number "42" (effects (font (size 1.27 1.27))))
|
||||||
|
)
|
||||||
|
(pin unspecified line
|
||||||
|
(at 25.40 45.72 180)
|
||||||
|
(length 2.54)
|
||||||
|
(name "TXD2" (effects (font (size 1.27 1.27))))
|
||||||
|
(number "27" (effects (font (size 1.27 1.27))))
|
||||||
|
)
|
||||||
|
(pin unspecified line
|
||||||
|
(at 25.40 48.26 180)
|
||||||
|
(length 2.54)
|
||||||
|
(name "USB_DM" (effects (font (size 1.27 1.27))))
|
||||||
|
(number "39" (effects (font (size 1.27 1.27))))
|
||||||
|
)
|
||||||
|
(pin unspecified line
|
||||||
|
(at 25.40 50.80 180)
|
||||||
|
(length 2.54)
|
||||||
|
(name "USB_DP" (effects (font (size 1.27 1.27))))
|
||||||
|
(number "40" (effects (font (size 1.27 1.27))))
|
||||||
|
)
|
||||||
|
(pin unspecified line
|
||||||
|
(at 25.40 53.34 180)
|
||||||
|
(length 2.54)
|
||||||
|
(name "V_BCKP" (effects (font (size 1.27 1.27))))
|
||||||
|
(number "36" (effects (font (size 1.27 1.27))))
|
||||||
|
)
|
||||||
|
(pin unspecified line
|
||||||
|
(at 25.40 55.88 180)
|
||||||
|
(length 2.54)
|
||||||
|
(name "V_USB" (effects (font (size 1.27 1.27))))
|
||||||
|
(number "38" (effects (font (size 1.27 1.27))))
|
||||||
|
)
|
||||||
|
(pin unspecified line
|
||||||
|
(at 25.40 58.42 180)
|
||||||
|
(length 2.54)
|
||||||
|
(name "VCC" (effects (font (size 1.27 1.27))))
|
||||||
|
(number "33" (effects (font (size 1.27 1.27))))
|
||||||
|
)
|
||||||
|
(pin unspecified line
|
||||||
|
(at 25.40 60.96 180)
|
||||||
|
(length 2.54)
|
||||||
|
(name "VCC" (effects (font (size 1.27 1.27))))
|
||||||
|
(number "34" (effects (font (size 1.27 1.27))))
|
||||||
|
)
|
||||||
|
(pin unspecified line
|
||||||
|
(at 25.40 63.50 180)
|
||||||
|
(length 2.54)
|
||||||
|
(name "VCC_RF" (effects (font (size 1.27 1.27))))
|
||||||
|
(number "7" (effects (font (size 1.27 1.27))))
|
||||||
|
)
|
||||||
|
)
|
||||||
|
)
|
||||||
|
)
|
||||||
@ -0,0 +1,131 @@
|
|||||||
|
(module easyeda2kicad:LCC-LGA-102_L22.0-W17.0_FM660 (layer F.Cu) (tedit 5DC5F6A4)
|
||||||
|
(attr smd)
|
||||||
|
(fp_text reference REF** (at 0.000 -11.450) (layer F.SilkS)
|
||||||
|
(effects (font (size 1 1) (thickness 0.15)))
|
||||||
|
)
|
||||||
|
(fp_text value LCC-LGA-102_L22.0-W17.0_FM660 (at 0.000 11.450) (layer F.Fab)
|
||||||
|
(effects (font (size 1 1) (thickness 0.15)))
|
||||||
|
)
|
||||||
|
(fp_text user %R (at 0 0) (layer F.Fab)
|
||||||
|
(effects (font (size 1 1) (thickness 0.15)))
|
||||||
|
)
|
||||||
|
(property "LCSC Part" "C5120257")
|
||||||
|
(fp_line (start -11.05 8.51) (end -11.05 -8.51) (layer F.SilkS) (width 0.25))
|
||||||
|
(fp_line (start -11.05 -8.51) (end 11.05 -8.51) (layer F.SilkS) (width 0.25))
|
||||||
|
(fp_line (start 11.05 -8.51) (end 11.05 8.51) (layer F.SilkS) (width 0.25))
|
||||||
|
(fp_line (start 11.05 8.51) (end -11.05 8.51) (layer F.SilkS) (width 0.25))
|
||||||
|
(pad 102 smd rect (at -7.35 -5.25 0.00) (size 1.100 1.100) (layers F.Cu F.Paste F.Mask))
|
||||||
|
(pad 101 smd rect (at -5.25 -5.25 0.00) (size 1.100 1.100) (layers F.Cu F.Paste F.Mask))
|
||||||
|
(pad 100 smd rect (at -3.15 -5.25 0.00) (size 1.100 1.100) (layers F.Cu F.Paste F.Mask))
|
||||||
|
(pad 99 smd rect (at -1.05 -5.25 0.00) (size 1.100 1.100) (layers F.Cu F.Paste F.Mask))
|
||||||
|
(pad 98 smd rect (at 1.05 -5.25 0.00) (size 1.100 1.100) (layers F.Cu F.Paste F.Mask))
|
||||||
|
(pad 97 smd rect (at 3.15 -5.25 0.00) (size 1.100 1.100) (layers F.Cu F.Paste F.Mask))
|
||||||
|
(pad 96 smd rect (at 5.25 -5.25 0.00) (size 1.100 1.100) (layers F.Cu F.Paste F.Mask))
|
||||||
|
(pad 95 smd rect (at 7.35 -5.25 0.00) (size 1.100 1.100) (layers F.Cu F.Paste F.Mask))
|
||||||
|
(pad 87 smd rect (at 7.35 -3.15 0.00) (size 1.100 1.100) (layers F.Cu F.Paste F.Mask))
|
||||||
|
(pad 88 smd rect (at 5.25 -3.15 0.00) (size 1.100 1.100) (layers F.Cu F.Paste F.Mask))
|
||||||
|
(pad 89 smd rect (at 3.15 -3.15 0.00) (size 1.100 1.100) (layers F.Cu F.Paste F.Mask))
|
||||||
|
(pad 90 smd rect (at 1.05 -3.15 0.00) (size 1.100 1.100) (layers F.Cu F.Paste F.Mask))
|
||||||
|
(pad 91 smd rect (at -1.05 -3.15 0.00) (size 1.100 1.100) (layers F.Cu F.Paste F.Mask))
|
||||||
|
(pad 92 smd rect (at -3.15 -3.15 0.00) (size 1.100 1.100) (layers F.Cu F.Paste F.Mask))
|
||||||
|
(pad 93 smd rect (at -5.25 -3.15 0.00) (size 1.100 1.100) (layers F.Cu F.Paste F.Mask))
|
||||||
|
(pad 94 smd rect (at -7.35 -3.15 0.00) (size 1.100 1.100) (layers F.Cu F.Paste F.Mask))
|
||||||
|
(pad 86 smd rect (at -7.35 -1.05 0.00) (size 1.100 1.100) (layers F.Cu F.Paste F.Mask))
|
||||||
|
(pad 85 smd rect (at -5.25 -1.05 0.00) (size 1.100 1.100) (layers F.Cu F.Paste F.Mask))
|
||||||
|
(pad 84 smd rect (at -3.15 -1.05 0.00) (size 1.100 1.100) (layers F.Cu F.Paste F.Mask))
|
||||||
|
(pad 83 smd rect (at -1.05 -1.05 0.00) (size 1.100 1.100) (layers F.Cu F.Paste F.Mask))
|
||||||
|
(pad 82 smd rect (at 1.05 -1.05 0.00) (size 1.100 1.100) (layers F.Cu F.Paste F.Mask))
|
||||||
|
(pad 81 smd rect (at 3.15 -1.05 0.00) (size 1.100 1.100) (layers F.Cu F.Paste F.Mask))
|
||||||
|
(pad 80 smd rect (at 5.25 -1.05 0.00) (size 1.100 1.100) (layers F.Cu F.Paste F.Mask))
|
||||||
|
(pad 79 smd rect (at 7.35 -1.05 0.00) (size 1.100 1.100) (layers F.Cu F.Paste F.Mask))
|
||||||
|
(pad 71 smd rect (at 7.35 1.05 0.00) (size 1.100 1.100) (layers F.Cu F.Paste F.Mask))
|
||||||
|
(pad 72 smd rect (at 5.25 1.05 0.00) (size 1.100 1.100) (layers F.Cu F.Paste F.Mask))
|
||||||
|
(pad 73 smd rect (at 3.15 1.05 0.00) (size 1.100 1.100) (layers F.Cu F.Paste F.Mask))
|
||||||
|
(pad 74 smd rect (at 1.05 1.05 0.00) (size 1.100 1.100) (layers F.Cu F.Paste F.Mask))
|
||||||
|
(pad 75 smd rect (at -1.05 1.05 0.00) (size 1.100 1.100) (layers F.Cu F.Paste F.Mask))
|
||||||
|
(pad 76 smd rect (at -3.15 1.05 0.00) (size 1.100 1.100) (layers F.Cu F.Paste F.Mask))
|
||||||
|
(pad 77 smd rect (at -5.25 1.05 0.00) (size 1.100 1.100) (layers F.Cu F.Paste F.Mask))
|
||||||
|
(pad 78 smd rect (at -7.35 1.05 0.00) (size 1.100 1.100) (layers F.Cu F.Paste F.Mask))
|
||||||
|
(pad 70 smd rect (at -7.35 3.15 0.00) (size 1.100 1.100) (layers F.Cu F.Paste F.Mask))
|
||||||
|
(pad 69 smd rect (at -5.25 3.15 0.00) (size 1.100 1.100) (layers F.Cu F.Paste F.Mask))
|
||||||
|
(pad 68 smd rect (at -3.15 3.15 0.00) (size 1.100 1.100) (layers F.Cu F.Paste F.Mask))
|
||||||
|
(pad 67 smd rect (at -1.05 3.15 0.00) (size 1.100 1.100) (layers F.Cu F.Paste F.Mask))
|
||||||
|
(pad 66 smd rect (at 1.05 3.15 0.00) (size 1.100 1.100) (layers F.Cu F.Paste F.Mask))
|
||||||
|
(pad 65 smd rect (at 3.15 3.15 0.00) (size 1.100 1.100) (layers F.Cu F.Paste F.Mask))
|
||||||
|
(pad 64 smd rect (at 5.25 3.15 0.00) (size 1.100 1.100) (layers F.Cu F.Paste F.Mask))
|
||||||
|
(pad 63 smd rect (at 7.35 3.15 0.00) (size 1.100 1.100) (layers F.Cu F.Paste F.Mask))
|
||||||
|
(pad 62 smd rect (at 7.35 5.25 0.00) (size 1.100 1.100) (layers F.Cu F.Paste F.Mask))
|
||||||
|
(pad 61 smd rect (at 5.25 5.25 0.00) (size 1.100 1.100) (layers F.Cu F.Paste F.Mask))
|
||||||
|
(pad 60 smd rect (at 3.15 5.25 0.00) (size 1.100 1.100) (layers F.Cu F.Paste F.Mask))
|
||||||
|
(pad 59 smd rect (at 1.05 5.25 0.00) (size 1.100 1.100) (layers F.Cu F.Paste F.Mask))
|
||||||
|
(pad 58 smd rect (at -1.05 5.25 0.00) (size 1.100 1.100) (layers F.Cu F.Paste F.Mask))
|
||||||
|
(pad 57 smd rect (at -3.15 5.25 0.00) (size 1.100 1.100) (layers F.Cu F.Paste F.Mask))
|
||||||
|
(pad 56 smd rect (at -5.25 5.25 0.00) (size 1.100 1.100) (layers F.Cu F.Paste F.Mask))
|
||||||
|
(pad 55 smd rect (at -7.35 5.25 0.00) (size 1.100 1.100) (layers F.Cu F.Paste F.Mask))
|
||||||
|
(pad 54 smd rect (at -9.95 6.60 -90.00) (size 0.800 1.500) (layers F.Cu F.Paste F.Mask))
|
||||||
|
(pad 53 smd rect (at -9.95 5.50 -90.00) (size 0.800 1.500) (layers F.Cu F.Paste F.Mask))
|
||||||
|
(pad 52 smd rect (at -9.95 4.40 -90.00) (size 0.800 1.500) (layers F.Cu F.Paste F.Mask))
|
||||||
|
(pad 51 smd rect (at -9.95 3.30 -90.00) (size 0.800 1.500) (layers F.Cu F.Paste F.Mask))
|
||||||
|
(pad 50 smd rect (at -9.95 2.20 -90.00) (size 0.800 1.500) (layers F.Cu F.Paste F.Mask))
|
||||||
|
(pad 49 smd rect (at -9.95 1.10 -90.00) (size 0.800 1.500) (layers F.Cu F.Paste F.Mask))
|
||||||
|
(pad 48 smd rect (at -9.95 0.00 -90.00) (size 0.800 1.500) (layers F.Cu F.Paste F.Mask))
|
||||||
|
(pad 47 smd rect (at -9.95 -1.10 -90.00) (size 0.800 1.500) (layers F.Cu F.Paste F.Mask))
|
||||||
|
(pad 46 smd rect (at -9.95 -2.20 -90.00) (size 0.800 1.500) (layers F.Cu F.Paste F.Mask))
|
||||||
|
(pad 45 smd rect (at -9.95 -3.30 -90.00) (size 0.800 1.500) (layers F.Cu F.Paste F.Mask))
|
||||||
|
(pad 44 smd rect (at -9.95 -4.40 -90.00) (size 0.800 1.500) (layers F.Cu F.Paste F.Mask))
|
||||||
|
(pad 43 smd rect (at -9.95 -5.50 -90.00) (size 0.800 1.500) (layers F.Cu F.Paste F.Mask))
|
||||||
|
(pad 42 smd rect (at -9.95 -6.60 -90.00) (size 0.800 1.500) (layers F.Cu F.Paste F.Mask))
|
||||||
|
(pad 41 smd rect (at -7.15 -7.45 180.00) (size 0.800 1.500) (layers F.Cu F.Paste F.Mask))
|
||||||
|
(pad 40 smd rect (at -6.05 -7.45 180.00) (size 0.800 1.500) (layers F.Cu F.Paste F.Mask))
|
||||||
|
(pad 39 smd rect (at -4.95 -7.45 180.00) (size 0.800 1.500) (layers F.Cu F.Paste F.Mask))
|
||||||
|
(pad 38 smd rect (at -3.85 -7.45 180.00) (size 0.800 1.500) (layers F.Cu F.Paste F.Mask))
|
||||||
|
(pad 37 smd rect (at -2.75 -7.45 180.00) (size 0.800 1.500) (layers F.Cu F.Paste F.Mask))
|
||||||
|
(pad 36 smd rect (at -1.65 -7.45 180.00) (size 0.800 1.500) (layers F.Cu F.Paste F.Mask))
|
||||||
|
(pad 35 smd rect (at -0.55 -7.45 180.00) (size 0.800 1.500) (layers F.Cu F.Paste F.Mask))
|
||||||
|
(pad 34 smd rect (at 0.55 -7.45 180.00) (size 0.800 1.500) (layers F.Cu F.Paste F.Mask))
|
||||||
|
(pad 33 smd rect (at 1.65 -7.45 180.00) (size 0.800 1.500) (layers F.Cu F.Paste F.Mask))
|
||||||
|
(pad 32 smd rect (at 2.75 -7.45 180.00) (size 0.800 1.500) (layers F.Cu F.Paste F.Mask))
|
||||||
|
(pad 31 smd rect (at 3.85 -7.45 180.00) (size 0.800 1.500) (layers F.Cu F.Paste F.Mask))
|
||||||
|
(pad 30 smd rect (at 4.95 -7.45 180.00) (size 0.800 1.500) (layers F.Cu F.Paste F.Mask))
|
||||||
|
(pad 29 smd rect (at 6.05 -7.45 180.00) (size 0.800 1.500) (layers F.Cu F.Paste F.Mask))
|
||||||
|
(pad 28 smd rect (at 7.15 -7.45 180.00) (size 0.800 1.500) (layers F.Cu F.Paste F.Mask))
|
||||||
|
(pad 27 smd rect (at 9.95 -6.60 90.00) (size 0.800 1.500) (layers F.Cu F.Paste F.Mask))
|
||||||
|
(pad 26 smd rect (at 9.95 -5.50 90.00) (size 0.800 1.500) (layers F.Cu F.Paste F.Mask))
|
||||||
|
(pad 25 smd rect (at 9.95 -4.40 90.00) (size 0.800 1.500) (layers F.Cu F.Paste F.Mask))
|
||||||
|
(pad 24 smd rect (at 9.95 -3.30 90.00) (size 0.800 1.500) (layers F.Cu F.Paste F.Mask))
|
||||||
|
(pad 23 smd rect (at 9.95 -2.20 90.00) (size 0.800 1.500) (layers F.Cu F.Paste F.Mask))
|
||||||
|
(pad 22 smd rect (at 9.95 -1.10 90.00) (size 0.800 1.500) (layers F.Cu F.Paste F.Mask))
|
||||||
|
(pad 21 smd rect (at 9.95 0.00 90.00) (size 0.800 1.500) (layers F.Cu F.Paste F.Mask))
|
||||||
|
(pad 20 smd rect (at 9.95 1.10 90.00) (size 0.800 1.500) (layers F.Cu F.Paste F.Mask))
|
||||||
|
(pad 19 smd rect (at 9.95 2.20 90.00) (size 0.800 1.500) (layers F.Cu F.Paste F.Mask))
|
||||||
|
(pad 18 smd rect (at 9.95 3.30 90.00) (size 0.800 1.500) (layers F.Cu F.Paste F.Mask))
|
||||||
|
(pad 17 smd rect (at 9.95 4.40 90.00) (size 0.800 1.500) (layers F.Cu F.Paste F.Mask))
|
||||||
|
(pad 16 smd rect (at 9.95 5.50 90.00) (size 0.800 1.500) (layers F.Cu F.Paste F.Mask))
|
||||||
|
(pad 15 smd rect (at 9.95 6.60 90.00) (size 0.800 1.500) (layers F.Cu F.Paste F.Mask))
|
||||||
|
(pad 14 smd rect (at 7.15 7.45 0.00) (size 0.800 1.500) (layers F.Cu F.Paste F.Mask))
|
||||||
|
(pad 13 smd rect (at 6.05 7.45 0.00) (size 0.800 1.500) (layers F.Cu F.Paste F.Mask))
|
||||||
|
(pad 12 smd rect (at 4.95 7.45 0.00) (size 0.800 1.500) (layers F.Cu F.Paste F.Mask))
|
||||||
|
(pad 11 smd rect (at 3.85 7.45 0.00) (size 0.800 1.500) (layers F.Cu F.Paste F.Mask))
|
||||||
|
(pad 10 smd rect (at 2.75 7.45 0.00) (size 0.800 1.500) (layers F.Cu F.Paste F.Mask))
|
||||||
|
(pad 9 smd rect (at 1.65 7.45 0.00) (size 0.800 1.500) (layers F.Cu F.Paste F.Mask))
|
||||||
|
(pad 8 smd rect (at 0.55 7.45 0.00) (size 0.800 1.500) (layers F.Cu F.Paste F.Mask))
|
||||||
|
(pad 7 smd rect (at -0.55 7.45 0.00) (size 0.800 1.500) (layers F.Cu F.Paste F.Mask))
|
||||||
|
(pad 6 smd rect (at -1.65 7.45 0.00) (size 0.800 1.500) (layers F.Cu F.Paste F.Mask))
|
||||||
|
(pad 5 smd rect (at -2.75 7.45 0.00) (size 0.800 1.500) (layers F.Cu F.Paste F.Mask))
|
||||||
|
(pad 4 smd rect (at -3.85 7.45 0.00) (size 0.800 1.500) (layers F.Cu F.Paste F.Mask))
|
||||||
|
(pad 3 smd rect (at -4.95 7.45 0.00) (size 0.800 1.500) (layers F.Cu F.Paste F.Mask))
|
||||||
|
(pad 2 smd rect (at -6.05 7.45 0.00) (size 0.800 1.500) (layers F.Cu F.Paste F.Mask))
|
||||||
|
(pad 1 smd rect (at -7.15 7.45 0.00) (size 0.800 1.500) (layers F.Cu F.Paste F.Mask))
|
||||||
|
(fp_circle (center -11.00 8.50) (end -10.97 8.50) (layer F.SilkS) (width 0.06))
|
||||||
|
(fp_circle (center -7.38 8.51) (end -7.13 8.51) (layer Cmts.User) (width 0.50))
|
||||||
|
(fp_circle (center -7.62 9.27) (end -7.37 9.27) (layer F.SilkS) (width 0.50))
|
||||||
|
(fp_line (start -11.00 8.50) (end -11.00 -8.50) (layer F.CrtYd) (width 0.05))
|
||||||
|
(fp_line (start -11.00 -8.50) (end 11.00 -8.50) (layer F.CrtYd) (width 0.05))
|
||||||
|
(fp_line (start 11.00 -8.50) (end 11.00 8.50) (layer F.CrtYd) (width 0.05))
|
||||||
|
(fp_line (start 11.00 8.50) (end -11.00 8.50) (layer F.CrtYd) (width 0.05))
|
||||||
|
(model "/Users/leo/Documents/Claude/Projects/Drogheda/03-Architecture-Hardware/kicad/Drogheda-v6.3dshapes/LCC-LGA-102_L22.0-W17.0_FM660.wrl"
|
||||||
|
(offset (xyz 0.000 0.000 0.000))
|
||||||
|
(scale (xyz 1 1 1))
|
||||||
|
(rotate (xyz 0 0 0))
|
||||||
|
)
|
||||||
|
)
|
||||||
@ -1,4 +1,5 @@
|
|||||||
(fp_lib_table
|
(fp_lib_table
|
||||||
(version 7)
|
(version 7)
|
||||||
(lib (name "Drogheda")(type "KiCad")(uri "${KIPRJMOD}/Drogheda.pretty")(options "")(descr "Project footprints incl. E-J1 reverse-numbered socket"))
|
(lib (name "Drogheda")(type "KiCad")(uri "${KIPRJMOD}/Drogheda.pretty")(options "")(descr "Project footprints incl. E-J1 reverse-numbered socket"))
|
||||||
|
(lib (name "Drogheda-v6")(type "KiCad")(uri "${KIPRJMOD}/Drogheda-v6.pretty")(options "")(descr "easyeda2kicad footprints from LCSC - vendor land patterns for JLCPCB assembly"))
|
||||||
)
|
)
|
||||||
|
|||||||
File diff suppressed because it is too large
Load Diff
@ -1,4 +1,5 @@
|
|||||||
(sym_lib_table
|
(sym_lib_table
|
||||||
(version 7)
|
(version 7)
|
||||||
(lib (name "Drogheda-sym")(type "KiCad")(uri "/Users/leo/Documents/Claude/Projects/Drogheda/03-Architecture-Hardware/kicad/Drogheda-sym.kicad_sym")(options "")(descr ""))
|
(lib (name "Drogheda-sym")(type "KiCad")(uri "/Users/leo/Documents/Claude/Projects/Drogheda/03-Architecture-Hardware/kicad/Drogheda-sym.kicad_sym")(options "")(descr ""))
|
||||||
|
(lib (name "Drogheda-v6")(type "KiCad")(uri "${KIPRJMOD}/Drogheda-v6.kicad_sym")(options "")(descr "easyeda2kicad imports from LCSC (C5120257 ZED-F9P-04B, ...)"))
|
||||||
)
|
)
|
||||||
|
|||||||
78
scripts/2026-08-24_v6_T3a2_f9p_ground_array.py
Normal file
78
scripts/2026-08-24_v6_T3a2_f9p_ground_array.py
Normal file
@ -0,0 +1,78 @@
|
|||||||
|
#!/usr/bin/env python3
|
||||||
|
"""v6 T3a2 - patch Drogheda-sym:ZED-F9P for the REAL LGA-102 land pattern.
|
||||||
|
|
||||||
|
Cross-check performed 2026-08-24 against the EasyEDA/LCSC part C5120257 generated by
|
||||||
|
easyeda2kicad (Drogheda-v6.kicad_sym + Drogheda-v6.pretty):
|
||||||
|
|
||||||
|
* pads 1-54 map EXACTLY to the u-blox datasheet pin assignment - every function matched
|
||||||
|
(GND set, RF_IN 2, ANT_DETECT 4, ANT_OFF 5, ANT_SHORT_N 6, VCC_RF 7, GEOFENCE_STAT 19,
|
||||||
|
RTK_STAT 20, RXD2 26, TXD2 27, VCC 33/34, V_BCKP 36, V_USB 38, USB_DM/DP 39/40,
|
||||||
|
TXD 42, RXD 43, SDA 44, SCL 45, TX_READY 46, D_SEL 47, RESET_N 49, SAFEBOOT_N 50,
|
||||||
|
EXTINT 51, TIMEPULSE 53, and the identical 21 Reserved pads).
|
||||||
|
* pads 55-102 are 48 ADDITIONAL GND pads - the ground/thermal array under the module.
|
||||||
|
|
||||||
|
So the datasheet transcription is independently confirmed, and the only thing missing from
|
||||||
|
our symbol is the ground array. This patch adds pads 55-102 as GND, stacked on the pin-1
|
||||||
|
coordinate so a single GND label connects them all, and points Footprint at the real land
|
||||||
|
pattern.
|
||||||
|
|
||||||
|
Usage: python3 2026-08-24_v6_T3a2_f9p_ground_array.py [--apply]
|
||||||
|
"""
|
||||||
|
import os, sys, shutil, re
|
||||||
|
|
||||||
|
KI = os.path.join(os.path.dirname(os.path.abspath(__file__)), '..', '03-Architecture-Hardware', 'kicad')
|
||||||
|
LIB = os.path.join(KI, 'Drogheda-sym.kicad_sym')
|
||||||
|
APPLY = '--apply' in sys.argv
|
||||||
|
FP = 'Drogheda-v6:LCC-LGA-102_L22.0-W17.0_FM660'
|
||||||
|
|
||||||
|
src = open(LIB, encoding='utf-8').read()
|
||||||
|
i = src.find(' (symbol "ZED-F9P"\n')
|
||||||
|
if i < 0: sys.exit('ZED-F9P symbol not found')
|
||||||
|
j = src.find(' (symbol "LDO_SOT23-5"\n')
|
||||||
|
blk = src[i:j]
|
||||||
|
if '(number "102"' in blk: sys.exit('REFUSING: ground array already present')
|
||||||
|
|
||||||
|
# pin 1 (GND) coordinate, to stack the array on
|
||||||
|
m = re.search(r'\(pin power_in line\s*\n\s*\(at ([-\d.]+) ([-\d.]+) (\d+)\)(?:(?!\(pin ).)*?\(number "1"', blk, re.S)
|
||||||
|
if not m: sys.exit('could not locate pin 1')
|
||||||
|
x, y, rot = m.group(1), m.group(2), m.group(3)
|
||||||
|
print('stacking pads 55-102 on pin 1 at (%s, %s) rot %s' % (x, y, rot))
|
||||||
|
|
||||||
|
extra = ''
|
||||||
|
for n in range(55, 103):
|
||||||
|
extra += (' (pin passive line\n (at %s %s %s)\n (length 5.08)\n'
|
||||||
|
' (name "GND"\n (effects (font (size 1.27 1.27)))\n )\n'
|
||||||
|
' (number "%d"\n (effects (font (size 1.27 1.27)))\n )\n )\n'
|
||||||
|
) % (x, y, rot, n)
|
||||||
|
|
||||||
|
k = blk.rindex(' )\n )\n') # close of the _1_1 sub-symbol
|
||||||
|
newblk = blk[:k] + extra + blk[k:]
|
||||||
|
newblk = newblk.replace('(property "Footprint" "Drogheda:u-blox_ZED-F9P_LGA54"',
|
||||||
|
'(property "Footprint" "%s"' % FP, 1)
|
||||||
|
newblk = newblk.replace('LCSC C5120257.',
|
||||||
|
'LCSC C5120257. Land pattern = LGA-102: pads 1-54 per the datasheet, pads 55-102 are an '
|
||||||
|
'additional GND array under the module (stacked on the pin-1 coordinate in this symbol).', 1)
|
||||||
|
|
||||||
|
new = src[:i] + newblk + src[j:]
|
||||||
|
nums = re.findall(r'\(number "(\d+)"', newblk)
|
||||||
|
print('pin numbers now: %d, unique %d, missing %s'
|
||||||
|
% (len(nums), len(set(nums)), sorted(set(range(1,103)) - set(int(n) for n in nums)) or 'none'))
|
||||||
|
print('footprint property ->', FP)
|
||||||
|
|
||||||
|
def bal(t):
|
||||||
|
d=0; instr=False; esc=False
|
||||||
|
for ch in t:
|
||||||
|
if esc: esc=False; continue
|
||||||
|
if ch=='\\': esc=True; continue
|
||||||
|
if ch=='"': instr = not instr; continue
|
||||||
|
if instr: continue
|
||||||
|
if ch=='(': d+=1
|
||||||
|
elif ch==')': d-=1
|
||||||
|
return d
|
||||||
|
print('paren balance:', bal(new))
|
||||||
|
if not APPLY:
|
||||||
|
print('\nDRY RUN - nothing written. Re-run with --apply.'); sys.exit(0)
|
||||||
|
if bal(new) != 0: sys.exit('REFUSING: paren imbalance')
|
||||||
|
shutil.copy2(LIB, LIB + '.T3a2bak')
|
||||||
|
open(LIB, 'w', encoding='utf-8').write(new)
|
||||||
|
print('\nAPPLIED. Backup: Drogheda-sym.kicad_sym.T3a2bak')
|
||||||
@ -54,6 +54,7 @@ def pin(n, x, y, rot):
|
|||||||
' (number "%d"\n (effects (font (size 1.27 1.27)))\n )\n )\n'
|
' (number "%d"\n (effects (font (size 1.27 1.27)))\n )\n )\n'
|
||||||
) % (TYPE[n], fmt(x), fmt(y), rot, disp(n), n)
|
) % (TYPE[n], fmt(x), fmt(y), rot, disp(n), n)
|
||||||
def fmt(v):
|
def fmt(v):
|
||||||
|
v = 0.0 if abs(v) < 1e-9 else v # never emit 3.55e-15 - KiCad may reject exponents
|
||||||
return ('%.10g' % v)
|
return ('%.10g' % v)
|
||||||
|
|
||||||
body = []
|
body = []
|
||||||
|
|||||||
190
scripts/2026-08-24_v6_T3b_block_n.py
Normal file
190
scripts/2026-08-24_v6_T3b_block_n.py
Normal file
@ -0,0 +1,190 @@
|
|||||||
|
#!/usr/bin/env python3
|
||||||
|
"""v6 T3b - Block N: place U18 (ZED-F9P) + U21 (LDO) and wire the GNSS island.
|
||||||
|
|
||||||
|
The schematic is label-only (zero wires), so "wiring" = placing labels on pin coordinates.
|
||||||
|
Sheet coords: x = X + px , y = Y - py (py is the symbol-internal Y, which points up).
|
||||||
|
|
||||||
|
Usage: python3 2026-08-24_v6_T3b_block_n.py [--apply]
|
||||||
|
"""
|
||||||
|
import os, sys, shutil, uuid, re
|
||||||
|
|
||||||
|
KI = os.path.join(os.path.dirname(os.path.abspath(__file__)), '..', '03-Architecture-Hardware', 'kicad')
|
||||||
|
SCH = os.path.join(KI, 'hbox-watchdog-v6.kicad_sch')
|
||||||
|
LIB = os.path.join(KI, 'Drogheda-sym.kicad_sym')
|
||||||
|
APPLY = '--apply' in sys.argv
|
||||||
|
ROOT = '/561403b3-895e-4153-a7be-3876ae930d43'
|
||||||
|
|
||||||
|
U18X, U18Y = 470.0, 120.0 # ZED-F9P
|
||||||
|
U21X, U21Y = 390.0, 110.0 # LDO
|
||||||
|
P = 2.54
|
||||||
|
|
||||||
|
LEFT = [33,34,36,38,7,2,4,5,6,1,3,12,14,32,37,41,48]
|
||||||
|
RIGHT = [42,43,26,27,44,45,39,40,46,47,49,50,51,53,19,20]
|
||||||
|
RSVD = [8,9,10,11,13,15,16,17,18,21,22,23,24,25,28,29,30,31,35,52,54]
|
||||||
|
|
||||||
|
NC = '<NC>'
|
||||||
|
NET_L = {33:'3V3_GNSS', 34:'3V3_GNSS', 36:'3V3', 38:NC, 7:'VCC_RF_GNSS', 2:'RF_GNSS',
|
||||||
|
4:'GNSS_ANT_DETECT', 5:NC, 6:'GNSS_ANT_SHORT_N',
|
||||||
|
1:'GND', 3:'GND', 12:'GND', 14:'GND', 32:'GND', 37:'GND', 41:'GND', 48:'GND'}
|
||||||
|
NET_R = {42:'GNSS_RX', 43:'GNSS_TX', 26:'DOUT_4G', 27:'USART1_RX',
|
||||||
|
44:NC, 45:NC, 39:NC, 40:NC, 46:NC, 47:NC,
|
||||||
|
49:'GNSS_RESET_N', 50:NC, 51:NC, 53:'GNSS_TIMEPULSE', 19:NC, 20:'GNSS_RTK_STAT'}
|
||||||
|
|
||||||
|
# MCU-side labels: (net, x, y, rot, justify)
|
||||||
|
MCU = [('GNSS_ANT_DETECT', 482.6, 419.10, 180, 'right bottom'), # PC1
|
||||||
|
('GNSS_ANT_SHORT_N', 482.6, 421.64, 180, 'right bottom'), # PC2
|
||||||
|
('GNSS_RTK_STAT', 482.6, 424.18, 180, 'right bottom'), # PC3
|
||||||
|
('GNSS_RESET_N', 482.6, 447.04, 180, 'right bottom'), # PC12
|
||||||
|
('GNSS_TIMEPULSE', 518.16, 411.48, 0, 'left bottom')] # PA7
|
||||||
|
|
||||||
|
# passives: ref, value, x, y, pin1 net, pin2 net, footprint, lib
|
||||||
|
PASSIVES = [
|
||||||
|
('C119','10uF', 365.0, 110.0, 'SW_5V', 'GND', 'Capacitor_SMD:C_0805_2012Metric','Device:C'),
|
||||||
|
('C120','10uF', 415.0, 110.0, '3V3_GNSS', 'GND', 'Capacitor_SMD:C_0805_2012Metric','Device:C'),
|
||||||
|
('C121','100nF', 425.0, 110.0, '3V3_GNSS', 'GND', 'Capacitor_SMD:C_0402_1005Metric','Device:C'),
|
||||||
|
('C122','100nF', 365.0, 130.0, '3V3_GNSS', 'GND', 'Capacitor_SMD:C_0402_1005Metric','Device:C'),
|
||||||
|
('C123','100nF', 375.0, 130.0, '3V3_GNSS', 'GND', 'Capacitor_SMD:C_0402_1005Metric','Device:C'),
|
||||||
|
('C124','10uF', 355.0, 130.0, '3V3_GNSS', 'GND', 'Capacitor_SMD:C_0805_2012Metric','Device:C'),
|
||||||
|
('R105','10k', 415.0, 130.0, '3V3_GNSS', 'GNSS_RESET_N', 'Resistor_SMD:R_0603_1608Metric', 'Device:R'),
|
||||||
|
]
|
||||||
|
|
||||||
|
def f(v):
|
||||||
|
v = 0.0 if abs(v) < 1e-9 else v
|
||||||
|
return '%.10g' % v
|
||||||
|
|
||||||
|
def mklabel(name, x, y, rot, just):
|
||||||
|
return ('\n\t(label "%s"\n\t\t(at %s %s %d)\n\t\t(effects\n\t\t\t(font\n\t\t\t\t(size 1.27 1.27)\n'
|
||||||
|
'\t\t\t)\n\t\t\t(justify %s)\n\t\t)\n\t\t(uuid "%s")\n\t)') % (name, f(x), f(y), rot, just, uuid.uuid4())
|
||||||
|
|
||||||
|
def mknc(x, y):
|
||||||
|
return '\n\t(no_connect\n\t\t(at %s %s)\n\t\t(uuid "%s")\n\t)' % (f(x), f(y), uuid.uuid4())
|
||||||
|
|
||||||
|
def mksym(lib_id, ref, val, x, y, fp, pins, extra=''):
|
||||||
|
props = [('Reference', ref, x-3, y-3, ''), ('Value', val, x+3, y-3, ''),
|
||||||
|
('Footprint', fp, x, y, '\n\t\t\t(hide yes)'), ('Datasheet', '~', x, y, '\n\t\t\t(hide yes)'),
|
||||||
|
('Description', '', x, y, '\n\t\t\t(hide yes)')]
|
||||||
|
if extra: props.append(('LCSC', extra, x, y, '\n\t\t\t(hide yes)'))
|
||||||
|
p = ''
|
||||||
|
for nm, v, px, py, hide in props:
|
||||||
|
p += ('\t\t(property "%s" "%s"\n\t\t\t(at %s %s 0)%s\n\t\t\t(show_name no)\n\t\t\t(do_not_autoplace no)\n'
|
||||||
|
'\t\t\t(effects\n\t\t\t\t(font\n\t\t\t\t\t(size 1.27 1.27)\n\t\t\t\t)\n\t\t\t)\n\t\t)\n'
|
||||||
|
) % (nm, v, f(px), f(py), hide)
|
||||||
|
pn = ''.join('\t\t(pin "%s"\n\t\t\t(uuid "%s")\n\t\t)\n' % (n, uuid.uuid4()) for n in pins)
|
||||||
|
return ('\n\t(symbol\n\t\t(lib_id "%s")\n\t\t(at %s %s 0)\n\t\t(unit 1)\n\t\t(body_style 1)\n'
|
||||||
|
'\t\t(exclude_from_sim no)\n\t\t(in_bom yes)\n\t\t(on_board yes)\n\t\t(in_pos_files yes)\n'
|
||||||
|
'\t\t(dnp no)\n\t\t(uuid "%s")\n%s%s\t\t(instances\n\t\t\t(project "hbox-watchdog-v6"\n'
|
||||||
|
'\t\t\t\t(path "%s"\n\t\t\t\t\t(reference "%s")\n\t\t\t\t\t(unit 1)\n\t\t\t\t)\n\t\t\t)\n\t\t)\n\t)'
|
||||||
|
) % (lib_id, f(x), f(y), uuid.uuid4(), p, pn, ROOT, ref)
|
||||||
|
|
||||||
|
sch = open(SCH, encoding='utf-8').read()
|
||||||
|
libsrc = open(LIB, encoding='utf-8').read()
|
||||||
|
|
||||||
|
# ---- A. copy the two symbol definitions into the schematic's lib_symbols cache ----
|
||||||
|
def grab(name):
|
||||||
|
i = libsrc.find(' (symbol "%s"\n' % name)
|
||||||
|
if i < 0: sys.exit('symbol %s not found in %s' % (name, LIB))
|
||||||
|
d = 0; instr = False; esc = False; j = libsrc.index('(', i)
|
||||||
|
k = j
|
||||||
|
while k < len(libsrc):
|
||||||
|
ch = libsrc[k]
|
||||||
|
if esc: esc = False
|
||||||
|
elif ch == '\\': esc = True
|
||||||
|
elif ch == '"': instr = not instr
|
||||||
|
elif not instr:
|
||||||
|
if ch == '(': d += 1
|
||||||
|
elif ch == ')':
|
||||||
|
d -= 1
|
||||||
|
if d == 0: break
|
||||||
|
k += 1
|
||||||
|
blk = libsrc[j:k+1]
|
||||||
|
return blk.replace('(symbol "%s"' % name, '(symbol "Drogheda-sym:%s"' % name, 1)
|
||||||
|
|
||||||
|
added_defs = ''
|
||||||
|
for nm in ('ZED-F9P', 'LDO_SOT23-5'):
|
||||||
|
if '(symbol "Drogheda-sym:%s"' % nm in sch:
|
||||||
|
sys.exit('REFUSING: %s already cached in the schematic' % nm)
|
||||||
|
added_defs += '\n\t\t' + grab(nm)
|
||||||
|
|
||||||
|
m = re.search(r'\n\t\(lib_symbols\n', sch)
|
||||||
|
if not m: sys.exit('lib_symbols block not found')
|
||||||
|
d = 0; instr = False; esc = False; k = sch.index('(', m.start())
|
||||||
|
start = k
|
||||||
|
while k < len(sch):
|
||||||
|
ch = sch[k]
|
||||||
|
if esc: esc = False
|
||||||
|
elif ch == '\\': esc = True
|
||||||
|
elif ch == '"': instr = not instr
|
||||||
|
elif not instr:
|
||||||
|
if ch == '(': d += 1
|
||||||
|
elif ch == ')':
|
||||||
|
d -= 1
|
||||||
|
if d == 0: break
|
||||||
|
k += 1
|
||||||
|
sch = sch[:k] + added_defs + '\n\t' + sch[k:]
|
||||||
|
|
||||||
|
# ---- B. symbols ----
|
||||||
|
add = ''
|
||||||
|
add += mksym('Drogheda-sym:ZED-F9P', 'U18', 'ZED-F9P-04B', U18X, U18Y,
|
||||||
|
'Drogheda-v6:LCC-LGA-102_L22.0-W17.0_FM660', [str(n) for n in range(1, 103)], 'C5120257')
|
||||||
|
add += mksym('Drogheda-sym:LDO_SOT23-5', 'U21', 'AP2112K-3.3', U21X, U21Y,
|
||||||
|
'Package_TO_SOT_SMD:SOT-23-5', ['1','2','3','4','5'], 'C51118')
|
||||||
|
for ref, val, x, y, n1, n2, fp, lb in PASSIVES:
|
||||||
|
add += mksym(lb, ref, val, x, y, fp, ['1','2'])
|
||||||
|
|
||||||
|
# ---- C. labels + no-connects ----
|
||||||
|
nlab = nnc = 0
|
||||||
|
def put(net, x, y, rot, just):
|
||||||
|
global add, nlab, nnc
|
||||||
|
if net == NC:
|
||||||
|
add += mknc(x, y); nnc += 1
|
||||||
|
else:
|
||||||
|
add += mklabel(net, x, y, rot, just); nlab += 1
|
||||||
|
|
||||||
|
y = U18Y - (len(LEFT)-1)*P/2
|
||||||
|
for n in LEFT:
|
||||||
|
put(NET_L[n], U18X-33.02, y, 180, 'right bottom'); y += P
|
||||||
|
y = U18Y - (len(RIGHT)-1)*P/2
|
||||||
|
for n in RIGHT:
|
||||||
|
put(NET_R[n], U18X+33.02, y, 0, 'left bottom'); y += P
|
||||||
|
x = U18X - (len(RSVD)-1)*P/2
|
||||||
|
for n in RSVD:
|
||||||
|
put(NC, x, U18Y+30.48, 0, 'left bottom'); x += P
|
||||||
|
|
||||||
|
# U21 pins: 1 VIN(-12.7,0) 3 EN(-12.7,-2.54) 5 VOUT(12.7,0) 4 NC(12.7,-2.54) 2 GND(0,-10.16)
|
||||||
|
put('SW_5V', U21X-12.7, U21Y, 180, 'right bottom')
|
||||||
|
put('SW_5V', U21X-12.7, U21Y+2.54, 180, 'right bottom')
|
||||||
|
put('3V3_GNSS', U21X+12.7, U21Y, 0, 'left bottom')
|
||||||
|
put(NC, U21X+12.7, U21Y+2.54, 0, 'left bottom')
|
||||||
|
put('GND', U21X, U21Y+10.16, 90, 'left bottom')
|
||||||
|
|
||||||
|
for ref, val, x, y, n1, n2, fp, lb in PASSIVES:
|
||||||
|
put(n1, x, y-3.81, 90, 'left bottom')
|
||||||
|
put(n2, x, y+3.81, 90, 'left bottom')
|
||||||
|
|
||||||
|
for net, x, y, rot, just in MCU:
|
||||||
|
put(net, x, y, rot, just)
|
||||||
|
|
||||||
|
end = sch.rstrip()
|
||||||
|
assert end.endswith(')')
|
||||||
|
sch = end[:-1].rstrip('\n') + add + '\n)\n'
|
||||||
|
|
||||||
|
print('U18 ZED-F9P @ (%s, %s) U21 LDO @ (%s, %s)' % (U18X, U18Y, U21X, U21Y))
|
||||||
|
print('symbols added : U18, U21, ' + ', '.join(p[0] for p in PASSIVES))
|
||||||
|
print('labels added : %d no_connects added: %d (21 reserved + %d unused)' % (nlab, nnc, nnc-21))
|
||||||
|
def bal(t):
|
||||||
|
d=0; instr=False; esc=False
|
||||||
|
for ch in t:
|
||||||
|
if esc: esc=False; continue
|
||||||
|
if ch=='\\': esc=True; continue
|
||||||
|
if ch=='"': instr = not instr; continue
|
||||||
|
if instr: continue
|
||||||
|
if ch=='(': d+=1
|
||||||
|
elif ch==')': d-=1
|
||||||
|
return d
|
||||||
|
print('paren balance :', bal(sch))
|
||||||
|
if not APPLY:
|
||||||
|
print('\nDRY RUN - nothing written. Re-run with --apply.'); sys.exit(0)
|
||||||
|
if bal(sch) != 0: sys.exit('REFUSING: paren imbalance')
|
||||||
|
shutil.copy2(SCH, SCH + '.T3bbak')
|
||||||
|
open(SCH, 'w', encoding='utf-8').write(sch)
|
||||||
|
print('\nAPPLIED. Backup: hbox-watchdog-v6.kicad_sch.T3bbak')
|
||||||
50
scripts/2026-08-24_v6_T3c_fix_sci_notation.py
Normal file
50
scripts/2026-08-24_v6_T3c_fix_sci_notation.py
Normal file
@ -0,0 +1,50 @@
|
|||||||
|
#!/usr/bin/env python3
|
||||||
|
"""v6 T3c - replace scientific-notation COORDINATES with exact 0.
|
||||||
|
|
||||||
|
Float accumulation in the T3a/T3b generators emitted coordinates like 3.552713679e-15
|
||||||
|
(i.e. zero). KiCad's s-expression parser is not guaranteed to accept exponent notation.
|
||||||
|
|
||||||
|
!! LESSON (2026-08-24): a first attempt used a bare numeric regex over the whole file and
|
||||||
|
corrupted 264 UUIDs - segments such as "895e-4153" parse as scientific notation.
|
||||||
|
This version ONLY touches tokens inside an (at ...) form, only when the token is a
|
||||||
|
complete float in exponent form, and only when |value| < 1e-9. It also refuses to run
|
||||||
|
if any UUID would change.
|
||||||
|
|
||||||
|
Usage: python3 2026-08-24_v6_T3c_fix_sci_notation.py [--apply]
|
||||||
|
"""
|
||||||
|
import re, sys, os, shutil
|
||||||
|
|
||||||
|
KI = os.path.join(os.path.dirname(os.path.abspath(__file__)), '..', '03-Architecture-Hardware', 'kicad')
|
||||||
|
FILES = [os.path.join(KI, 'Drogheda-sym.kicad_sym'), os.path.join(KI, 'hbox-watchdog-v6.kicad_sch')]
|
||||||
|
APPLY = '--apply' in sys.argv
|
||||||
|
AT = re.compile(r'\(at ([^()]*)\)')
|
||||||
|
NUM = re.compile(r'^[+-]?(?:\d+\.?\d*|\.\d+)[eE][+-]?\d+$')
|
||||||
|
UUID = re.compile(r'\(uuid "([^"]*)"\)')
|
||||||
|
|
||||||
|
total = 0
|
||||||
|
for f in FILES:
|
||||||
|
src = open(f, encoding='utf-8').read()
|
||||||
|
changed = []
|
||||||
|
def fix(m):
|
||||||
|
toks = m.group(1).split()
|
||||||
|
out = []
|
||||||
|
for t in toks:
|
||||||
|
if NUM.fullmatch(t):
|
||||||
|
v = float(t)
|
||||||
|
if abs(v) >= 1e-9:
|
||||||
|
sys.exit('REFUSING: non-negligible exponent coordinate %s' % t)
|
||||||
|
changed.append((m.group(0), t)); out.append('0')
|
||||||
|
else:
|
||||||
|
out.append(t)
|
||||||
|
return '(at ' + ' '.join(out) + ')'
|
||||||
|
new = AT.sub(fix, src)
|
||||||
|
if UUID.findall(new) != UUID.findall(src):
|
||||||
|
sys.exit('REFUSING: a UUID would change - aborting')
|
||||||
|
print('%-30s %d coordinate(s) fixed' % (os.path.basename(f), len(changed)))
|
||||||
|
for before, tok in changed:
|
||||||
|
print(' %s (token %s -> 0)' % (before, tok))
|
||||||
|
total += len(changed)
|
||||||
|
if APPLY and changed:
|
||||||
|
shutil.copy2(f, f + '.T3cbak'); open(f, 'w', encoding='utf-8').write(new)
|
||||||
|
print('total: %d' % total)
|
||||||
|
print('APPLIED' if APPLY else '\nDRY RUN - nothing written. Re-run with --apply.')
|
||||||
Loading…
Reference in New Issue
Block a user