Improve the "Pin Table" dialog for pin swap of logic ICs
Feature concept
This is a dialog improvement on Symbol Editor that can make a better user experience for pin swap definitions as specified in https://docs.google.com/document/d/1zD0CoBcFqf5v9QT8dabgq2S4BGytL4zJJD71IOCkrss
In case of part symbols with different units, but repeated, the “Pin Table” dialog at "Symbol Editor" could provide a simple way to mark them as exchangeable units and only be drawn the different units/sub-parts.
Feature application example
Taking a 74LS00 IC for example the below parts (Units A and E) must be draw.
The “Pin Table” creates new units B, C and D by replicating the Unit A and signing new pin numbers, which also create the part swap correlation (but not the swap of inputs, of the same Unit). This has to, somehow, be defined during the draw / Unit A pins definitions and inherited to the other groups (by unit definitions). The proposed “Pin Table” dialog is shown:
The user could be also benefited with opposite row-columns of this approach dialog proposed (to better display fit and scroll behavior).
The dialog will provide the pins renumbering and checking by:
- Repeated numbers;
- Units inheriting different base (drawn) units, for example, if Unit B takes pins swaps with Unit A and also Unit E.
KiCad Version
Application: KiCad
Version: 5.99.0-unknown-f97c50b~89~ubuntu20.04.1, release build
Libraries:
wxWidgets 3.0.4
libcurl/7.68.0 OpenSSL/1.1.1f zlib/1.2.11 brotli/1.0.7 libidn2/2.2.0 libpsl/0.21.0 (+libidn2/2.2.0) libssh/0.9.3/openssl/zlib nghttp2/1.40.0 librtmp/2.3
Platform: Linux 5.4.0-42-generic x86_64, 64 bit, Little endian, wxGTK
Build Info:
Date: Jul 24 2020 15:18:17
wxWidgets: 3.0.4 (wchar_t,wx containers,compatible with 2.8) GTK+ 3.24
Boost: 1.71.0
OCE: 6.9.1
Curl: 7.68.0
ngspice: 31
Compiler: GCC 9.3.0 with C++ ABI 1013
Build settings:
KICAD_SCRIPTING=ON
KICAD_SCRIPTING_MODULES=ON
KICAD_SCRIPTING_PYTHON3=ON
KICAD_SCRIPTING_WXPYTHON=ON
KICAD_SCRIPTING_WXPYTHON_PHOENIX=ON
KICAD_SCRIPTING_ACTION_MENU=ON
BUILD_GITHUB_PLUGIN=ON
KICAD_USE_OCE=ON
KICAD_SPICE=ON