Symbol Library References dialog separates multi-unit symbols

Bug #1834509 reported by Evan Shultz
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
KiCad
Fix Released
Low
Seth Hillbrand

Bug Description

See the screenshot in the second comment.

In the 7th row, Q2A and Q2B are shown as separate symbols. In fact, they are different units of a single part. I would think that one would always want all units in sync, and thus the entire symbol (not each unit) should be listed here (so just Q2). I don't see any facility to select individual units,so the entire symbol is updated at once, which just means showing each unit only lengthens the elements in the cell and adds visual clutter.

Naturally, I could be wrong. And it's a minor comment.

Note that this from the Raspberry Pi HAT template.

Application: kicad
Version: (5.1.2)-1, release build
Libraries:
    wxWidgets 3.0.4
    libcurl/7.61.1 OpenSSL/1.1.1 (WinSSL) zlib/1.2.11 brotli/1.0.6 libidn2/2.0.5 libpsl/0.20.2 (+libidn2/2.0.5) nghttp2/1.34.0
Platform: Windows 8 (build 9200), 64-bit edition, 64 bit, Little endian, wxMSW
Build Info:
    wxWidgets: 3.0.4 (wchar_t,wx containers,compatible with 2.8)
    Boost: 1.68.0
    OpenCASCADE Community Edition: 6.9.1
    Curl: 7.61.1
    Compiler: GCC 8.2.0 with C++ ABI 1013

Build settings:
    USE_WX_GRAPHICS_CONTEXT=OFF
    USE_WX_OVERLAY=OFF
    KICAD_SCRIPTING=ON
    KICAD_SCRIPTING_MODULES=ON
    KICAD_SCRIPTING_PYTHON3=OFF
    KICAD_SCRIPTING_WXPYTHON=ON
    KICAD_SCRIPTING_WXPYTHON_PHOENIX=OFF
    KICAD_SCRIPTING_ACTION_MENU=ON
    BUILD_GITHUB_PLUGIN=ON
    KICAD_USE_OCE=ON
    KICAD_USE_OCC=OFF
    KICAD_SPICE=ON

Tags: eeschema ui
Revision history for this message
Evan Shultz (evan-shultz) wrote :
tags: added: eeschema ui
Changed in kicad:
milestone: none → 5.1.3
Revision history for this message
Wayne Stambaugh (stambaughw) wrote :

We should drop the individual unit references and just add a single reference for the entire symbol.

Changed in kicad:
status: New → Triaged
importance: Undecided → Low
Revision history for this message
Ian McInerney (imcinerney) wrote :

@Wayne, I don't think it is that simple. If the user just places the symbol from the library with the units and annotates, then what you suggest is fine. However, if the user were to then change one of the units to be from a different part and doesn't update the annotation, what you suggest would not work anymore.

For instance:
1) Open the pic_programmer example
2) Open "Edit symbol library links" and note that all of U2's parts are for 74LS125
3) Open the properties of U2B, and edit the library reference to be unit B of 74LVC125
4) Open the library links dialog again and see that now U2B is in a different row while U2A/C/D stayed in the same one

Revision history for this message
Wayne Stambaugh (stambaughw) wrote :

@Ian, you are correct. However, your example creates an ambiguous schematic. U2B cannot be a different part that U2A/C/D. I think the ERC will flag this. If not, it should. There is no way to know the user's intent in this case. Did they really want to use a different component or is this a new component and they forgot to update the reference? I don't want the schematic editor to make assumptions about the users design. It should only warn the user when something is amiss. I'm not sure we want to run an ERC to check for errors every time we launch the symbol table editor.

Changed in kicad:
milestone: 5.1.3 → 5.1.4
Changed in kicad:
milestone: 5.1.4 → 5.1.5
Revision history for this message
KiCad Janitor (kicad-janitor) wrote :

Fixed in revision 85eed87b2882ddfa9d27bf4a52e91d22be9f14f7
https://git.launchpad.net/kicad/patch/?id=85eed87b2882ddfa9d27bf4a52e91d22be9f14f7

Changed in kicad:
status: Triaged → Fix Committed
assignee: nobody → Seth Hillbrand (sethh)
Revision history for this message
Evan Shultz (evan-shultz) wrote :

Maybe I haven't thought though some caveat, but things look OK to me in a recent nightly. Screenshot for reference.

Application: Eeschema
Version: (5.1.0-1584-gc85d1fa00), release build
Libraries:
    wxWidgets 3.0.4
    libcurl/7.61.1 OpenSSL/1.1.1 (WinSSL) zlib/1.2.11 brotli/1.0.6 libidn2/2.0.5 libpsl/0.20.2 (+libidn2/2.0.5) nghttp2/1.34.0
Platform: Windows 8 (build 9200), 64-bit edition, 64 bit, Little endian, wxMSW
Build Info:
    wxWidgets: 3.0.4 (wchar_t,wx containers,compatible with 2.8)
    Boost: 1.68.0
    OpenCASCADE Community Edition: 6.9.1
    Curl: 7.61.1
    Compiler: GCC 8.2.0 with C++ ABI 1013

Build settings:
    KICAD_SCRIPTING=ON
    KICAD_SCRIPTING_MODULES=ON
    KICAD_SCRIPTING_PYTHON3=OFF
    KICAD_SCRIPTING_WXPYTHON=ON
    KICAD_SCRIPTING_WXPYTHON_PHOENIX=OFF
    KICAD_SCRIPTING_ACTION_MENU=ON
    BUILD_GITHUB_PLUGIN=ON
    KICAD_USE_OCE=ON
    KICAD_USE_OCC=OFF
    KICAD_SPICE=ON

Changed in kicad:
status: Fix Committed → Fix Released
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.