Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[feature] Option to change connector terminology "pin", to "way" or customise #331

Open
scottbouch opened this issue Mar 20, 2024 · 4 comments

Comments

@scottbouch
Copy link

scottbouch commented Mar 20, 2024

Hi, the word "pin" implies a male contact connector.

"Pin" is used commonly for through-hole PCB parts, as these will always be male gender, but is less relevant to connectors for wiring harnesses which can be either gender, I shall elaborate:

In this example, the connectors all state "4-pin", but the two connectors on the right are female, and actually don't have round pin-shaped contacts, but sliding contacts similar to a 3.5mm headphone jack: https://scottbouch.com/tmp/UHF2.html

A de-gendered approach is to use the word "way" to describe the number of electrical paths through the connector, and then specify contact gender separately, ie;

6 way male contact, fixed connector = 6 way plug, panel mounted
6 way female contact, free connector = 6 way socket, cable mounted

In these two examples above, the terms "plug" and "socket" define the gender of the contacts within the connector, and the terms "fixed" and "free" define the mounting of the connector bodies.

  • The term "Way" is commonly used to describe the number of electrical signals the connector can carry ("pin" implies the gender of a contact).
  • The term "Contact" is commonly used to physically describe the presence of metallic parts used, where a gender can be applied.
  • The terms "Male" and "Female" are commonly used to determine the gender of the contact, if relevant. "Male" = plug, "Female" = socket, either can be free of fixed.
  • Sometimes contacts are replaced by a plastic plug too, this is where not all contacts are needed, but the IP ingress protection needs to be maintained.
  • The term "Fixed" is commonly used to mean "panel mounted".
  • The term "Free" is commonly used to mean "cable mounted".

Some people will be happy to stay with the term "Pin" as it is used a lot in language, I also see that the term pin is used a lot in the WireViz scrips, but it would be a real improvement to add an option to change the output displayed term to "Way" or a custom defined term perhaps.

Many thanks, Scott.

@scottbouch
Copy link
Author

scottbouch commented May 6, 2024

Here is an example where the term 'pin' is not relevant to the connector.

Plug Type 671
Socket Type 626

Also known as 'NATO' plugs and sockets, used for many British and French aircraft communication headsets. (for reference, the spigot is 7.5 mm in diameter, x 22 mm in length)

image20240506_134027686
image20240506_134037002
image20240506_134014976

Note the ways are not numbered or lettered, instead are identified by colours relating to the DEF-STAN multicore cable color code, red, blue, green, yellow being the first 4, used in 4 core cables. See related feature: #337 (comment)

@kvid
Copy link
Collaborator

kvid commented May 11, 2024

Hi Scott,

There are 4 usage areas of pin as far as I can see:

  1. Text output in diagram and BOM mainly. Does it make sense to (optionally for each connector or the whole harness) replace pin with way at all places of the output?
  2. Connector attributes in YAML input. Does it make sense to accept attribute aliases where pin is replaced with way? Is it OK to mix (some with pin and some with way) or should the code enforce consistency overall or within each connector?
    • pincount = waycount
    • pins = ways
    • pinlabels = waylabels
    • pincolors = waycolors
    • show_pincount = show_waycount
    • hide_disconnected_pins = hide_disconnected_ways
  3. In code identifiers. I assume we can live with pin usage in the code. It doesn't affect the user directly, except when exposed in exceptions. Edit: Or do you also prefer (in the long run) replacing pin with way in the code because it's the more general term?
  4. Exceptions can expose pin usage in the code. Some warnings/errors might also use pin. Should the latter always use both ("pin/way") or only "way"? It might complicate the code to require such messages use the same optional output term as in point 1, but I don't know yet. Error messages about aliased attributes in point 2 will not reflect which of the aliases has been used because a translation into the defined ones must happen early in the parsing process.

Are there maybe other alternatives than pin or way we should consider, or should the user be able to specify it literally - maybe enabling output in other languages, but then text like connector, wire, cable, etc. also need alternative output?

Have I forgotten or misunderstood some parts of this issue?

@scottbouch
Copy link
Author

Thanks for considering this request, brilliant!

From my users point of view, even just an option to define "way" or another custom term (as other people may have other ideas too) in the yaml configuration, and have that presented in the diagram would do... but for conciseness and consistency, I suppose exchanging all user-facing terms used by the yaml (xcount, xlabels, xcolors, show_xcount, hide_disconnected_x) as you suggest, may be a good move, if everyone is happy with using "way" as the most agnostic (least specific) term. if the back-end code still uses "pin" this won't harm the user experience, and would save a lot of re-work.

Many thanks, Scott

@scottbouch
Copy link
Author

scottbouch commented May 16, 2024

Another terminology sometimes used is "pole" for "way", so allowing a custom value may be good.

Cheers, Scott

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants