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

Add sym/cmp for resistor array/network 4..8x #62

Merged
merged 10 commits into from
Sep 11, 2023

Conversation

ouabache
Copy link
Contributor

@ouabache ouabache commented Apr 1, 2020

SUMMARY

added resistor pacs

OPEN QUESTIONS / UNRESOLVED ISSUES
CHECKLIST
  • I have read and followed the library conventions.
  • For packages, I followed IPC7351C (see details in library conventions).
  • I'm the copyright owner of the added content (i.e. the changes are made by myself, not copied/imported from somewhere else).
  • I agree to publish all my changes under the CC0 Public Domain License, allowing everyone to use and modify the content without any restrictions.

Copy link
Contributor

@dbrgn dbrgn left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Hi, thanks! I took a quick (but not complete) look.

  • For the symbols, as far as I'm aware there is not really an IPC standard so we currently stick to regular names (e.g. Resistor Network 8x EU) instead of IPC style names (RES_NETWORK_8_EUR).
  • The resistor arrays should probably not be a single symbol, but you should probably create a component that is composed of 8 standard resistor symbols
  • You added components in a nested subdirectory (cmp/cmp/), these cannot even be opened by LibrePCB
  • A generic resistor array or network device probably doesn't make much sense, since in practice packages used by vendors differ. A resistor network or array is not a standard component like a resistor is. Therefore I'd remove the devices, they should be actual products that can be checked against a datasheet.
  • You did not yet accept the CC0 Public Domain license for your contribution yet (see pull request description above)

@dbrgn dbrgn added addition New library element. needs corrections Pull request needs corrections before next review. labels Apr 1, 2020
@dbrgn dbrgn changed the title Resistor pacs 8-Resistor array / network Apr 1, 2020
@ouabache
Copy link
Contributor Author

ouabache commented Apr 1, 2020 via email

@dbrgn
Copy link
Contributor

dbrgn commented Apr 4, 2020

Great, thanks for the fixes! Now that the pull request is even smaller (devices and packages removed) that makes it even easier to review 🙂

The resistor arrays should probably not be a single symbol, but you
should probably create a component that is composed of 8 standard resistor
symbols

I did both. There is a symbol variant using 8 discreet parts. Should I make that the default?

Ah, nice!

@ubruhin what is your opinion on this? Should there be any "combined" resistor symbols?

For the network (where all outputs are connected) it probably makes sense to have a dedicated symbol. For the array, I'm not sure. A dedicated symbol may be easier to handle in the schematic editor, but it's not strictly needed and constitutes some degree of duplication.

@ouabache some more thoughts:

  • Can you rename the pin 1 in the network symbols and components to "COM" and re-number the other pins? That would be more consistent with other symbols (e.g. "Switch SPDT 3-Position EU").
  • Is the designator RP for resistor arrays/networks common? Do you have a source for that? (Couldn't find anything suitable in the IEEE spec...)
  • The two components should have a good description as well as keywords (you can re-use the keywords of the symbols, I think those are fine)

@ouabache
Copy link
Contributor Author

ouabache commented Apr 5, 2020 via email

@ubruhin
Copy link
Contributor

ubruhin commented Apr 7, 2020

Hi,

I have now also reviewed the symbols and components. My thoughts:

Symbols

  • The polygons all have the same UUID -> they should have different UUIDs.
  • A symbol which consists of multiple single symbols looks confusing IMHO. In schematics it looks like all those resistors are separate symbols, but you can't drag them individually. Therefore I think there should be a box (filled with yellow background) around these symbols, then it's clear that they represent a single component.
  • I would make the symbols more compact by using only 2.54mm pin distance instead of 5.08mm. The resistor symbols could be made a bit smaller to ensure enough clearance between each other.
  • Would be nice to have junction points to explicitly mark the junctions (nice to have, no strong requirement).

In Eagle I found a library which also follows that style:

grafik grafik

Components

  • In the "Resistor Network 8x", the split symbol variants do not make sense to me. It would allow to put 8 independent(-looking) resistors to the schematics, but they aren't independent - if you connect pin 2 of one resistor, pin 2 of the 7 other resistors are implicitly connected to the same net, so they are not useful at all. Actually I'm not even 100% sure if the schematic editor can handle this situation properly, but that's a different topic...
  • The "norm" attribute of symbol variants should be set to "IEC 60617" (EU) resp. "IEEE 315" (US) so LibrePCB is able to pick the variant which is configured in workspace resp. project settings.

Thanks!

@ouabache
Copy link
Contributor Author

ouabache commented Apr 8, 2020 via email

@ouabache
Copy link
Contributor Author

ouabache commented Apr 8, 2020 via email

@ubruhin
Copy link
Contributor

ubruhin commented Apr 10, 2020

Well done, I like the new look of the symbols! 👍

Only two small issues are remaining:

  • The symbol "Resistor Array 4x EU" has two overlapping outline polygons, therefore the yellow color looks darker than usual (see image below).
  • The texts are not aligned to the outline -> according library conventions, they must be placed exactly on the edges of the outline polygon.

grafik

I also tried out the split network on a board and schematic capture handles
it with no problem. It will give you an error if you try to connect a COM
pin to a different net than the first one

I thought again about this, and also tried it in the schematic editor. I have experienced really wrong behavior of the schematic editor in some situations. But the main thing is, I still think it is very weird to have multiple pins for the same component signal. Consider this situation:

grafik

What purpose do the 3 unconnected pins on the right side have? IMHO they are only confusing and do not provide any advantage. So I would really remove this symbol variant in the resistor network components. Or what do you think @dbrgn?

If we really need a "split" symbol variant, we should use resistor symbols with only one pin instead - then we don't have duplicate pins. But I'd still prefer to simply remove that symbol variant. We could still add it later if really needed.

@ouabache
Copy link
Contributor Author

ouabache commented Apr 11, 2020 via email

@dbrgn dbrgn added ready for review Waiting for review by maintainers. and removed needs corrections Pull request needs corrections before next review. labels Oct 24, 2020
@dbrgn dbrgn requested a review from ubruhin October 24, 2020 12:05
@ubruhin ubruhin changed the title 8-Resistor array / network Add sym/cmp for resistor array/network 4..8x Sep 5, 2023
@ubruhin
Copy link
Contributor

ubruhin commented Sep 5, 2023

Sorry for the long delay regarding this PR. I have now allowed myself to rebase and update this branch with some polishing, I hope that's fine 🙈

The symbols now look like this:

image

However, I'm sorry but IMHO the split resistor networks are too confusing in a schematic. It's very strange and unusual to have the same physical pin represented by multiple symbol pins. Thus I removed the split symbol variants from the network components (not for the arrays). I assigned new component UUIDs to avoid breaking your existing designs.

If there's no more discussion on this, I'll merge it soon.

Thanks!

@ouabache
Copy link
Contributor Author

ouabache commented Sep 6, 2023 via email

@ubruhin
Copy link
Contributor

ubruhin commented Sep 6, 2023

I think I was not clear enough about my statement, sorry 🙈 I was not talking about the resistor network symbol, but the split representation as a symbol variant in the component (see previous discussion in #62 (comment)). So I didn't remove the symbols, just the symbol variants from the components.

@ubruhin ubruhin merged commit 2a14ad7 into LibrePCB-Libraries:master Sep 11, 2023
1 check passed
@ubruhin ubruhin mentioned this pull request Sep 11, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
addition New library element. ready for review Waiting for review by maintainers.
Development

Successfully merging this pull request may close these issues.

3 participants