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

Phantom ratsnest wires cannot be delted without corrupting the views #2782

Closed
davidperrenoud opened this issue Aug 26, 2014 · 8 comments
Closed

Comments

@davidperrenoud
Copy link
Contributor

From grateful...@gmail.com on November 19, 2013 12:35:13

What steps will reproduce the problem? 1. I had a perfect PCB view.
2. I laid out the Breadboard view
3. I laid out the Schematic view.
4. At this point all views were ok.
5. I made some cosmetic improvement in the breadboard layout: The routing was ok!
6. In both the schematic and PCB views new INCORRECT ratsnest wires had appeared. If I tried to remove them, the breadboard view got screwed up. Some could not be deleted in any way that I could find. Attach your sketch file and/or custom part files to the bug report. - File is attached

What is the expected output?
The breadboard view is correct as are the other views if the ratsnest could be eliminated.

What do you see instead?

The PCB and schematic views report routing as incomplete. The breadboard view shows routing complete. This is incoherent. All views should update in parallel. What version of Fritzing are you using? On what operating system? - fritzing-0.8.3b.linux.i386

  • on Ubuntu 12.04
  • on Asus 1201N EEEPC Please provide any additional information below. I am available and desperately need a solution to send my PCB to you for FAB....

Thanks,
Bob

Attachment: ArduStompPCB03.fzz

Original issue: http://code.google.com/p/fritzing/issues/detail?id=2784

@davidperrenoud
Copy link
Contributor Author

From irasc...@gmail.com on November 19, 2013 13:08:05

This is not a bug, this is the way Fritzing works.

Making a connection in one view deliberately does not make a connection in another view. For one thing, the views are not equivalent--for example, if you connect multiple parts using a breadboard in breadboard view, then there are multiple possible ways of connecting those parts in PCB view--we leave this decision up to the user. The ratsnest lines are a guide--and will display one possible way to connect a set of connectors--but chances are quite good that a human will choose some other way.

Ratsnest lines in one view are reminders that you have made a connection in a different view--it is up to you to decide whether or not to make those connections. Deleting a ratnest wire in one view will attempt to delete the equivalent actual connection in the other view(s). However, you may not get what you expect because a ratsnest line only illustrates one possible way of making a connection within a net--there may be multiple ways to make that connection

Status: WontFix

@davidperrenoud
Copy link
Contributor Author

From grateful...@gmail.com on November 19, 2013 13:55:36

Thank you for your reply.

I understand what you have said, but my problem is slightly different.

I have ratsnest wires in both schematic and PCB views which DO NOT CORRESPOND to any connection I made in the BreadBoard view. This cannot be "normal" behaviour, surely not?

If you look at the file attached, you will see that the ratsnest wires in the PCB view "come from nowhere".

So, again, I resume :

you said, "Making a connection in one view deliberately does not make a connection in another view."

But I ask, why does NOT Making a connection in one view create a phantom connection in the other 2 views?

I find this very frustrating.

Secondly, the fact that it is irreversible, "not undo-able", is certainly not good for useability.

Cheers,
Bob

@davidperrenoud
Copy link
Contributor Author

From irasc...@gmail.com on November 19, 2013 19:44:55

I took another look at the file, and you are indeed correct--there are ratsnest lines in PCB view which do not correspond to any connections in the other views. It looks like the file got corrupted at some point as you went from working in PCB view only to working in breadboard and schematic views. I suspect there are deleted wires which now exist in the file that no longer correspond to the set of wires currently existing in the sketch. Maybe some complicated undo operation didn't completely clean up after itself? Any guesses about when the incorrect ratsnest lines started to show up?

Unfortunately, though I have a guess that the problem is due to lingering deleted wires, I have not yet verified it. If that is indeed the case, then depending on exactly how the problem manifests, I might be able to write a script which would clean up the file.

However, that will all take some time, and you mention that you are trying to get ready for fab. The good news is that you only need PCB view for fab; breadboard and schematic views are irrelevant. I have attached the versions of the file you sent earlier (in case you don't have backups), which are PCB view only, and assuming the work is complete in PCB view in one of the files, it could be submitted to fab.

Status: Accepted
Labels: -Priority-Medium Priority-High

Attachment: ArduStompPCB02.fzz ArduStompPCB03.fzz

@davidperrenoud
Copy link
Contributor Author

From irasc...@gmail.com on November 19, 2013 19:45:15

Owner: irasc...@gmail.com

@davidperrenoud
Copy link
Contributor Author

From grateful...@gmail.com on November 20, 2013 02:39:33

Hi,
Thank you for taking this issue seriously and professionally.

I submitted it so as to help the Fritzing project, not just to get my PCB fabbed.

The reason I found it important is the following::

I am new to electronics, but am an expert in SW devt. I began the electronics part of this project by building breadboard prototypes. I documented them with Fritzing in the breadboard view without ever looking at the other views.

Then, in communication with others, I was often asked to communicate schematics of my circuits. But, when I switched to the automatically generated schematic view, it seemed to hard to organize, so I started a new fzz file with only the schematic view developed.

At this point I had to synchronize the 2 files manually. It was painful, but not overwhelming.

Then, it occurred to me that I could get a nice PCB made for my circuit instead of using stripboard. So, I started yet another fzz file with only the PCB view.

However, it became clear that synchronizing 3 independent files was way too hard. So, I took the PCB view file and very very painfully organized the other 2 views. I did this so that I could verify my circuit before sending it to you for Fab. (I make a lot of mistakes, and am trying to get this fab step right the first time because of the time it takes and the painful delay in my project if I were to get it wrong).

After lots of work, I got the 3 views in synch, with all connections routed.

Then, not surprisingly, I found improvements in the Breadboard view since that is the one that I use as a guide in building the prototypes. When I made these improvements, which involved simply moving components and wires, not removing or adding anything, the new "unrouted connections" appeared in the Schematic and PCB views.

I was demoralized by this since the very reason for using the 3 view was to validate my own consistency. Yet this lack of inter-view consistency generated by the tool made that impossible.

I am writing you all this so that you (I guess you are one of the main developers) will understand the importance of the issue(s) here.

My suggestions would be:

  • when working in one view, make the changes appear in an explicit "sandbox area" of the other 2 views so that the user can easily decide about laying out or not the new, or changed items. It might be better if this sandbox were just a list of changes in text, rather than a messy pile of hard to select icons on the drawing canvas,
  • make the action history explicitly visible as a textual list (cf. emacs history buffer),
  • make all actions truly reversible,
  • if something is irreversible, inform the user, and/or save a fallback point.

I thank you for you help cleaning up my files, but I had already reverted to backups. Now, I do not dare make any changes though for fear of new corruption.

Again, I love your tool and I thank you for your help. I am available for any support that I could provide to help you with any of this.

Most sincerely,
Bob

@failiz
Copy link
Contributor

failiz commented Apr 26, 2021

The file of gone and there are no steps to reproduce it.

@RadioFlakes

This comment was marked as abuse.

@failiz
Copy link
Contributor

failiz commented Aug 13, 2022

@RadioFlakes , first of all you should keep a civilized tone. You can shout if you feel like it, but not here.
Second, this is a bug very difficult to reproduce. If you can share the file, please upload it here. If so, someone could take a look at it and try to find the issue.

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

5 participants