Pcbnew: failure to update Net Class Membership list after doing Tools --> "Update PCB From Schematic"

Bug #1798006 reported by Gabriel Staples
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
KiCad
Fix Released
Undecided
Jeff Young

Bug Description

Application: kicad
Version: 5.0.0-fee4fd1~66~ubuntu14.04.1, release build
Libraries:
    wxWidgets 3.0.2
    libcurl/7.35.0 OpenSSL/1.0.1f zlib/1.2.8 libidn/1.28 librtmp/2.3
Platform: Linux 4.4.0-112-generic x86_64, 64 bit, Little endian, wxGTK
Build Info:
    wxWidgets: 3.0.2 (wchar_t,wx containers,compatible with 2.8) GTK+ 2.24
    Boost: 1.54.0
    OpenCASCADE Community Edition: 6.8.0
    Curl: 7.35.0
    Compiler: GCC 4.8.4 with C++ ABI 1002

Build settings:
    USE_WX_GRAPHICS_CONTEXT=OFF
    USE_WX_OVERLAY=OFF
    KICAD_SCRIPTING=ON
    KICAD_SCRIPTING_MODULES=ON
    KICAD_SCRIPTING_WXPYTHON=OFF
    KICAD_SCRIPTING_ACTION_MENU=ON
    BUILD_GITHUB_PLUGIN=ON
    KICAD_USE_OCE=ON
    KICAD_USE_OCC=OFF
    KICAD_SPICE=ON

--------------------------------------------------

Bug: Pcbnew: After running Tools --> "Update PCB From Schematic", new net classes are not shown in the Net Class Membership list (Setup --> Design Rules --> Net Classes Editor tab --> Net Class Membership at bottom) until you save, close, and re-open the PCB.

The expected behavior is that this section would update immediately. It's very confusing when you see old net classes in the "Net Class Membership" list that don't exist anymore, because the schematic was changed, for instance, after updating the PCB from the schematic.

Revision history for this message
Gabriel Staples (ercaguy) wrote :
summary: - Pcbnew: failure to update Net Class Membership after doing Tools -->
- "Update PCB From Schematic"
+ Pcbnew: failure to update Net Class Membership list after doing Tools
+ --> "Update PCB From Schematic"
description: updated
description: updated
Revision history for this message
Jeff Young (jeyjey) wrote :

@Gabriel, I assume you mean new /nets/ don't show up, and that old /nets/ don't go away? (Net /classes/ are currently edited only in PCBNew.)

Revision history for this message
Jeff Young (jeyjey) wrote :

Note: I can confirm that old nets don't disappear. (I have a hazy recollection that this was reported earlier and we decided not to fix it for some reason, but I can't find any record of that).

However, I am getting new nets added.

Revision history for this message
jean-pierre charras (jp-charras) wrote :

There is no record, but the reason is easy to understand:
If the old names are cleared, how to manage the undo command? Not so easy.
And what happens if you re-add a net later that was in a netclass, if the netclasses are cleaned?

Revision history for this message
Jeff Young (jeyjey) wrote :

The undo issue would be solvable, but I'm certainly sympathetic to the other issue. If I did an update part-way through a big edit, I'd be pretty unhappy that some of my nets lost their netclass assignments at the end of it.

So now we just need to validate if new nets are really not appearing in some circumstances.

Revision history for this message
Gabriel Staples (ercaguy) wrote :

Jeff Young, that's it: old nets don't disappear. I don't recall if I've seen it the other way or not actually now that you mention it, but old nets definitely don't disappear.

jean-pierre, as for this part: "And what happens if you re-add a net later that was in a netclass, if the netclasses are cleaned?"

I don't understand the dilemma yet (can you expound on it?), but one way or another I'm hoping for a fix, as this is buggy behavior. Even a popup window to warn the user that old net classes are still there until they close and re-open would be better than nothing, although I'd certainly prefer a proper fix.

Revision history for this message
Jeff Young (jeyjey) wrote :

@Gabriel, let's say that you have a schematic where a bunch of nets are assigned to the "power" netclass and a bunch to "signal". You're rearranging your schematic a bit, and you update your PCB in the middle before you've completely re-wired the schematic. The unwired bits will have no nets, and therefore the association between them and either "power" or "signal" will be lost. When you finish re-arranging, the new nets will all be assigned to the "default" netclass.

Revision history for this message
Jeff Young (jeyjey) wrote :

While we need to keep the nets, I don't think we need to show them to the user for editing. They'll still appear in the List Nets dialog (if you have "Show zero-pad nets" checked), but won't appear in the netclass membership lists or the net selector widget.

Changed in kicad:
assignee: nobody → Jeff Young (jeyjey)
status: New → In Progress
milestone: none → 5.1.0
Jeff Young (jeyjey)
Changed in kicad:
status: In Progress → Fix Committed
Revision history for this message
Gabriel Staples (ercaguy) wrote :

Jeff, nice. That sounds like a good solution. Thank you. I'm super excited where KiCad is going by the way, and I hear version 6 is already fully funded. Keep it up everyone!

Revision history for this message
Gabriel Staples (ercaguy) wrote :

Also, how do I start using v5.1, NOT version 6? Last time I tried the nightly it went straight to v6, and v5.1 seems to be lost in the ether.

Revision history for this message
Jeff Young (jeyjey) wrote :

@Gabriel, there are no 6.0 nightlies yet. The 5.1 nightlies just /say/ they're 6.0.

Revision history for this message
Gabriel Staples (ercaguy) wrote :

In short: a bunch of my little recommended fixes have already been put into v5.1, and I'd like to start using them by upgrading to v5.1, but don't know how.

Revision history for this message
Gabriel Staples (ercaguy) wrote :

@Jeff, thanks! In that case I'll go back to the nightly version I think.

Changed in kicad:
status: Fix Committed → Fix Released
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.