How to disable auto update from library symbol to schematic?

Using Kicad 5. New to Kicad.

When you have a schematic and at some time in a library a symbol is updated, the schematic is automatically updated also.
This happens either immediately or at the next redraw. And without warning.

So a trusty schematic could be changed, or at least invalidated and requiring a check, by something as trivial as a new version of the library or installing the next version of Kicad.

Can this automatic update be disabled?

I found this discussion (now closed):


It gives Kicad 4 solutions that no longer work in Kicad 5.

The only option seems to be to only use symbols that are first copied to a local library. Is that correct?

Thanks.

This is why we need revision numbers for all components. If there is a problem then you fix it in a new revision and do not touch anything once it has been released into the wild. Let the designer decide if they want to swap in the newer rev or not.

If I build a board and it doesn’t work because 2 pins on the symbol were swapped then I will swap them on the schematic and fix the board. The schematic will be wrong but the board will work.

If you fix the symbol and overwrite the old version then the next time someone tries to rework that board it will not work and it will look like I made a mistake. You don’t do that to your designers.

John Eaton

Not true. You get a dialog that asks if you want to rescue the symbol or if you want to update. (This of course requires your cache lib to be valid)

I never get a dialog (Kicad 5.0.0, Windows 7 - 64-bit)

Two examples (I’ve tried more):

1
Create a new project. Place a symbol. Change the symbol in the library.
Upon return the symbol is updated without a dialog.
(In case of a Global Library: Kicad launched as Administrator).

2
Create a new project. Place a symbol. Replace the library file outside Kicad.
Close the schema editor. Open the schema editor.
The symbol is updated without a dialog.

If there is a dialog in there somewhere then it is very well hidden.

If you open the symbol editor from within eeschema then you will not get the rescue dialog. (This is the way to update a symbol and force it to be updated in eeschema.)

If there is no functional change then you also do not get the rescue dialog (as long as the pin names, numbers and positions are unchanged between versions, kicad assumes it is save to update your symbol. I don’t think changing a field will even update the symbol once it is placed. So there you also do not get the rescue dialog but the symbol should not change in the schematic.)
These exceptions are new to v5 (or at least this is when i noticed them. In v4 i was even asked if i want to rescue if i just changed a rectangles fill options. I am torn if i like this change.)

If it is updated even thought it does not fall under the exceptions listed above then you found a bug.

I tried it again.

This time by adding or removing pins that are actually connected to wires or components in a real life schematic.
The updates still happen.
Without dialog.
And most definitely breaking the schematic.

I will report this as a bug.

I would like to go back to my original question: “Can the automatic update be disabled?”.
I suspect the answer is no, but I would like to have a confirmation.

I haven’t figured out the exact conditions required for the rescue dialog to appear, I mostly find updates are applied automatically and occasionally the rescue dialog appears, even when trivial changes have been made, so it seems kind of random to me.

But there is no current way to disable automatic updating. In future with a new eeschema file format it might be more like pcbnew, i.e. it does not update symbols until requested. That all depends on how the developers approach it.

3 Likes

Understood.
I’m glad to hear it’s different when using pcbnew. A pcb design that might be changed just by looking at it would be a deal breaker for me.

I consider the question answered. Everyone thanks very much for your help and time.

这个问题我向作者提过很多次,但是作者好像并不重视这个问题。
我原意是想让KICAD创建的项目使用完全独立的库和3D模型。
暂时的解决方法是把原理图库全部删除,然后重新打开原理图,会让你重新映射链接到“rescue.lib”。保存即可。
这样就不受用户原理图库的影响了。

If I understand you correctly you are offering an alternative way to make a project local.

I am actually considering making a tool that localizes a project. But first I am going to study Kicad more and decide if I am going to stay with it or return to Eagle.

This might fit your needs.

Nice. It also seems I have touched on a subject with a broad impact.
Thanks!

UPDATE
There was a bug in version 5.0.0 that prevented the rescue dialog from appearing.
It has been solved in version 5.0.1.

(My compliments for the Bug Squad)

Thanks!, I was about to ask if someone did something like that or develop my own solution.

You have to be careful though when doing weird things. The plugin will store all the schematics symbols in a project local library. But if for example in your schematics you have four elements using the same symbol and then you want to change the symbol of only one element, you’ll first have to create a new element, and save it under a different name

This topic was automatically closed 90 days after the last reply. New replies are no longer allowed.