Nets have gone haywaire

I’m lost here, what “other” program damaged the file?

Sorry for confusion, the discussion went on from this specific case to generics. We are talking about possible similar situations, whatever the cause.

@Sparky_Labs did you create the full design in 5.1.4 or was there any older version of kicad involved? If so which version?

No, no new install since I started the design. If my memory serves me correctly I created these by putting dots in on existing crossing wires and then realised that I had got it wrong and deleted the dots to put new dots in. So it looks like deleting the dot does not remove the join as the program does not know what to do with what is left and does nothing.

Reported: https://bugs.launchpad.net/kicad/+bug/1848450

I believe in this case KiCAD should have deleted the wires when the dot was deleted, to force the user to define the right connections again.

Yes, if there is no way of saying “OK any wires that are inline make the same net” then yes to remove the lot and prompt a redraw by the user is best.

I don’t think so. If a user deletes a junction dot it means (s)he wants to remove the junction but leave the wires, making it a crossing or two nets. Deleting a junction is relevant for 4-way crossings ‘+’ shape) only, a 3-way crossing (‘T’ shape) should always be a junction anyways. In a 4-way crossing, when a junction is deleted, the wires should be fused together so that there will be two continuous wires with a non-junction crossing. This is what actually happens now, but for some reason in this case the wires weren’t “healed”.

I tried that and could not get kicad 5.1.4 to keep it connected (There were known bugs in 5.1.2 or earlier, but if you are sure you did not have any earlier version installed then there must still be some bug in 5.1.4)


The normal defined behavior when removing a junction is that the crossing is converted into something not connected.
A 4 wire junction becomes a 2 wire crossing and a 3 wire junction becomes one 1wire plus one unconnected wire end.

That seems to be true, I thought it would always be a junction. However, it shows a “not connected” box in the end of the wire, so it shouldn’t be possible to see it visually as a junction.

That could be done in a 4-way crossing, too, to make it clear it’s not a junction if there are wire ends involved (like in this case). EDIT: my brains are overheating…

EDIT: I don’t understand why it’s even possible to delete a junction from a 3-way crossing. It just leads to a situation which shouldn’t exist IMO.

1 Like

Yes this is the problem. Either the software has a “solution” to the new “inputs” or it deletes them as invalid.

I think the intention is that you can then grap the wire end and connect it to something else afterwards instead of needing to delete the wire and draw it new.

See the last comments on the long “bug” report https://bugs.launchpad.net/kicad/+bug/1842438.

The real bug report (this specific problem in this project) was confirmed and marked with High priority. But it’s difficult to know if a possible fix would have prevented your problem, because no one knows how it actually happened. JP seems to have done some guesswork.

You may be also interested in:

  • place the wire to bus entry symbol,
  • add wire from its one end,
  • add next wire from the same end.

You have no dot but you have connection.

Edit:
Of course it is not a connection of 3 wires but looks for me like there should be a dot.

I am unsure i understand what you describe. Could you post a screenshot?

I had to put holes in two QTouch keys so I have to connect them to keys.
I could extend (at schematic) all keyboard to have a place at wire not under the net name but simpler was to connect as is.
H1 and H2 are connected even at schematic you don’t see dots.

BUS stubs are something of a special case, as they are a visual helper, rather than a connection.
The Net name is what gives the connections here, the whole BUS graphics can be deleted, and the electrical info does not change.

If you start treating a bus stub as a literal wire, you would join K6,K11, K7,K10 etc, unless you add even more tests…

Yes, usually you would delete a wire, which would then remove the dot.
If the Sw allows any dot removal, then clean-ups seem to be required & they differ for 3 & 4 ways.
Auto-cleanup would remove the corners on the straight line, & join them, which leaves the lone wire.
Should that delete to the next corner, or maybe smarter is to shorten by 1 grid unit, so the end is now clearly dangling ?
Users can then delete or extend, depending on what they need.

Default cleanup on 4 way, would be to remove corners to make 2 now crossing wires.
That suggests : doing all possible corner cleanups first, then checking if a dangling end is created, and if so, nudge the end 1 grid unit shorter.

This case was discussed a while ago and we decided that bus-wire connections as well as bus-bus connections would not generate junction dots. They also do not break the wire they connect to.

2 Likes