Add ESD9B5.0ST5G, PESD5V0L4UW, TPD2E007DCKR, TPS22994RUKT; fix FSC-BT1058 duplicate library registration

FSC-BT1058 had ended up with two footprint/symbol libraries on disk
(FSC-BT1058 and MIKILAB_FSC-BT1058) after a re-import baked the
"MIKILAB_" nickname prefix into the component name itself. Since that
prefix is normally added automatically when sym-lib-table/fp-lib-table
are generated, the double-prefixed copy (MIKILAB_MIKILAB_FSC_BT1058)
was invisible to collision checks and left the original as a stale,
outdated duplicate.

Consolidated onto the single correct library (symbols/other and
footprints/other without the redundant prefix, matching the rest of
the library's naming convention), fixed the symbol's Footprint
property and the footprint's 3D model reference, and regenerated both
lib-tables from disk.

To stop this class of bug from recurring:
- lib_common.check_component_name() rejects any --name that already
  starts with "MIKILAB", used by import_component.py's import_symbol/
  import_footprint (and therefore also by add_component.py and the
  SnapEDA/UltraLibrarian importers, which call into the same core).
- check_library.py now flags any on-disk symbol/footprint whose name
  already carries that prefix as an ERROR, independent of how it got
  there.
- import_component.py gains --remove to cleanly delete a component
  (symbol, footprint library, 3D model) and regenerate the lib-tables
  in one step, for exactly this kind of cleanup.

Errors: 0 on check_library.py after the fix.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
This commit is contained in:
2026-08-24 20:06:54 +02:00
co-authored by Claude Sonnet 5
parent db364598ad
commit c544db45f4
20 changed files with 33891 additions and 2 deletions
+5
View File
@@ -36,12 +36,17 @@
(lib (name "MIKILAB_25AA1024")(type "KiCad")(uri "${KIPRJMOD}/footprints/other/25AA1024.pretty")(options "")(descr "25AA1024.pretty"))
(lib (name "MIKILAB_ADG936BRUZ")(type "KiCad")(uri "${KIPRJMOD}/footprints/other/ADG936BRUZ.pretty")(options "")(descr "ADG936BRUZ.pretty"))
(lib (name "MIKILAB_CDCLVC1102PW")(type "KiCad")(uri "${KIPRJMOD}/footprints/other/CDCLVC1102PW.pretty")(options "")(descr "CDCLVC1102PW.pretty"))
(lib (name "MIKILAB_ESD9B5_0ST5G")(type "KiCad")(uri "${KIPRJMOD}/footprints/other/ESD9B5.0ST5G.pretty")(options "")(descr "ESD9B5.0ST5G.pretty"))
(lib (name "MIKILAB_FSC_BT1058")(type "KiCad")(uri "${KIPRJMOD}/footprints/other/FSC-BT1058.pretty")(options "")(descr "FSC-BT1058.pretty"))
(lib (name "MIKILAB_IC_TPS63020DSJT")(type "KiCad")(uri "${KIPRJMOD}/footprints/other/IC_TPS63020DSJT.pretty")(options "")(descr "IC_TPS63020DSJT.pretty"))
(lib (name "MIKILAB_PESD5V0L4UW")(type "KiCad")(uri "${KIPRJMOD}/footprints/other/PESD5V0L4UW.pretty")(options "")(descr "PESD5V0L4UW.pretty"))
(lib (name "MIKILAB_SJ_3506_SMT_TR")(type "KiCad")(uri "${KIPRJMOD}/footprints/other/SJ-3506-SMT-TR.pretty")(options "")(descr "SJ-3506-SMT-TR.pretty"))
(lib (name "MIKILAB_SJ_435107RS")(type "KiCad")(uri "${KIPRJMOD}/footprints/other/SJ-435107RS.pretty")(options "")(descr "SJ-435107RS.pretty"))
(lib (name "MIKILAB_SJ_43515TS_SMT_TR")(type "KiCad")(uri "${KIPRJMOD}/footprints/other/SJ-43515TS-SMT-TR.pretty")(options "")(descr "SJ-43515TS-SMT-TR.pretty"))
(lib (name "MIKILAB_SN74AXC1T45DBVR")(type "KiCad")(uri "${KIPRJMOD}/footprints/other/SN74AXC1T45DBVR.pretty")(options "")(descr "SN74AXC1T45DBVR.pretty"))
(lib (name "MIKILAB_SOT95P280X145_5N")(type "KiCad")(uri "${KIPRJMOD}/footprints/other/SOT95P280X145-5N.pretty")(options "")(descr "SOT95P280X145-5N.pretty"))
(lib (name "MIKILAB_TPD2E007DCKR")(type "KiCad")(uri "${KIPRJMOD}/footprints/other/TPD2E007DCKR.pretty")(options "")(descr "TPD2E007DCKR.pretty"))
(lib (name "MIKILAB_TPS22994RUKT")(type "KiCad")(uri "${KIPRJMOD}/footprints/other/TPS22994RUKT.pretty")(options "")(descr "TPS22994RUKT.pretty"))
(lib (name "MIKILAB_XTAC5212IRGER")(type "KiCad")(uri "${KIPRJMOD}/footprints/other/XTAC5212IRGER.pretty")(options "")(descr "XTAC5212IRGER.pretty"))
(lib (name "MIKILAB_abracon")(type "KiCad")(uri "${KIPRJMOD}/footprints/other/abracon.pretty")(options "")(descr "abracon.pretty"))
(lib (name "MIKILAB_alps")(type "KiCad")(uri "${KIPRJMOD}/footprints/other/alps.pretty")(options "")(descr "alps.pretty"))