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 function to lock all connectors to avoid changing the schematic view #3743

Open
NilsRo opened this issue Nov 4, 2020 · 3 comments
Open

Comments

@NilsRo
Copy link

NilsRo commented Nov 4, 2020

Problem

During designing the PCB it sometimes happens that accidentally a new connection is created between components. Within complex circuits this is possibly overseen if there is a new connection indirectly created in schematic view.

Proposed Solution

Make it possible to "lock" the schematics that no new connection between components can be created in all views (and perhaps also components). This will assure that the PCB matches the circuit designed in the schematics and avoid unwanted connectors which will break the PCB.

@NilsRo NilsRo changed the title Add function to lock connector to avoid changing the schematic view Add function to lock all connectors to avoid changing the schematic view Nov 4, 2020
@failiz
Copy link
Contributor

failiz commented Jan 8, 2024

I think this feature would be very nice, but it should lock any of the views. An user could design something in the breadboard, and then lock the breadboard before going to draw the schematics or the PCB.

@KjellMorgenstern
Copy link
Member

There might be a misunderstanding of the concept.
Adding a connection in the PCB view does not change the Schematic. However, connections from other views are indicated as dotted lines in the schematic.

Can you please show an example were you think the schematic is changed?

Depending on the outcome of this, implementations of this "lock connections" feature might differ quite a bit.

If your schematic is already finalized, and you have ratsnest lines in the schematic, then this indicates that you have a unwanted connection either in the PCB or the breadboard view.

Right now, this unrouted connections count is not very prominent during editing the PCB: You need to switch to the schematic, and check the bottom bar for the number of unrouted connnections.

When adding a part, also duplicating or switching its package, this change is immediately reflected in all views. I think that would be a different issue (e.g. locking the parts list)

@failiz
Copy link
Contributor

failiz commented Jan 9, 2024

As I see this, locking a schematic view (or any other) would mean that you can only implement the rastnests in BB and BB view. Any attempt to add new connections that are not present in the SCH will trigger a warning message and will not be created (warning message example: "You have attempted to create a new connection that is not defined in the SCH view, which is locked. The connection will not be created. If you want to add this connection, add the connection in the SCH view or unlock the SCH view. This message will only be shown once in this session.").
The issue is that when working in the PCB or BB view, unwanted new connections (connections that deviate from the SCH) will not be seen easily in that view. And when you change to the SCH view the rastnests can be difficult to see and difficult to know when that connection was added in the other view (and which view is responsible for that rastnet).

Even if the new connections in the PCB view do not change the SCH, they change the circuit as Fritzing takes into account all connections made in all the views. So, the simulator will produce different results if a new connection is added.

I think it is related to #3685 This issue provides a mechanism to force all the views to follow the netlist defined in one of the views. #3685 tries to warn and highlight misalignments between the views (unwanted or made on purpose)

But maybe @NilsRo has another opinion.

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

No branches or pull requests

3 participants