However, the selection is quite arbitrary. For example, I included SPI and I²C but not CAN.
I wonder if we could solve this using either a convention, or even in the library format somehow. What if every pin could contain alternate functions that are tagged with the subsystem somehow? Then maybe someone developing a project that uses I²C and UART will see the corresponding pin functions, but someone working on a project that uses the CAN bus will see only those alternate functions instead.
From @ubruhin on Wed Jul 18 2018 20:04:26 GMT+0000 (UTC)
Yeah maybe it would make sense to introduce a new concept for alternate functions. But keep in mind that this would be on Component scope, not on Symbol scope.
For the moment I would go with either completely without alternate function (just name pins “PA0”, “PA1” and so on) or maybe with slashes as separator (e.g. “PA0/CTS2/WKUP”)…
From @hephaisto on Wed Jul 18 2018 20:09:23 GMT+0000 (UTC)
There is already a similar system available: Having multiple symbol variants. Maybe it would be suitable to modify this system a bit? I was thinking about having e.g. a (SCK+MISO+MOSI)-Symbol that references three pins, but the same pins could also be referenced by a (GPIOA1+A2+A3)-Symbol.
The current system isn’t flexible enough for that, though.
From @ouabache on Thu Oct 25 2018 03:35:18 GMT+0000 (UTC)
You should also consider that with FPGA’s the chip designer doesn’t pick the pinout. They give the PCB designer a package and a list of pads and the board designer picks the pins. LibrePCB could develop a tool that let the board designer create the UCF file for the FPGA design.
It would be great if alternate pin functions would be a separate piece of information attached to the pin with a way to control what’s actually displayed. It probably makes sense to also allow the board designer to select actual pin function(s) used in his design as the rest is basically noise in most cases. I imagine allowing to show that information in an easy to understand way would be a huge boost to usability. Consider if the following different views were possible:
the symbol shows only the name of the pin.
the symbol shows the name of the pin and also the active function(s).
the symbol shows the name of the pin and also all possible functions (maybe an explosion view like the blue pill image above, enabled by some shortcut).
The schematics would be clean most of the time and yet if needed you could show all the information that’s present in the component and make decisions based on that.