Over the years the wiring routines have been improving a lot, here is a next step that would make wiring even easier.
I call that "Bad wire gets cleared automatically when it can", it would take me 50 lines to explain, so here are to screen shots to explain what i have in mind :
We have two ears and one mouth so that we can listen twice as much as we speak.
I would like this 98% of the time... but the 2% of the time something automatically happens that I don't catch, I'll spend 2 hours tracking down the bug. I liken this idea to Unbundles that try to automatically correct themselves when the parent cluster changes. A lot of the time, LabVIEW guesses right! But over the years, I have probably net lost time trying to track bugs when it chooses wrong.
I like the idea, but I share Jack's concerns. What if there were some sort of "accept" key? Like this:
I wire from A to the wire. I click and I have a broken wire. If the next thing I do is hit the space bar, it auto corrects. If I click anywhere else, the broken wire stays as it is.
Would that make this workable?
@all : not sure my post was clear enough, I only mean this for a broken wire that is attached to one and only one source and one and only one sink, sink and source being of different data type (of course otherwise the wire wouldn't be broken :D). And in that case adding a third terminal (sink or source) that matches one of the 2 original terminals would automatically remove the part of the wire that makes it broken.
@JackDunaway : I thought about the "unbundle" that would auto-adapt and I also thought that could be dangerous so I didn't include it in my post, because I'd be afraid of it creating some bugs in my code. \paranoid off
@Ravens Fan : like you I don't want LabVIEW (or any software) guessing what I'm intending, what I like (and I think you do too) is to fully control my LabVIEW environment and specially my wire. I totally agree that different people like different options (auto-wiring routine, auto wire, auto-tool, etc...), if so many options exists it clearly means we have different way to work from one another. I, for instance, couldn't stand the auto-tool for a long time and now I can live without it, yet I have colleague it will never use it and turn it off automatically. Fair enough
@Intaris : that's an idea I hadn't thought about, drag and drop a broken wire to connect it to a "valid for the other end" terminal. Why not...
@Aristos Queue : why not an "accept key, that would be workable. Maybe too tricky though... what about a new block diagram option "Allow auto-correct on broken wires" (this name sounds a bit scary but it's not easy to be short and explain it correctly).
Thanks for all your comments anyway 🙂
One more thing, not sure I made it clear, I would only "allow" LabVIEW to auto-correct a wire on wich I made an action right now, not any wire in my code that becomes broken when I change the type of a connector in a subVI or when I change the type of a cluster that goes round in a shift register.
I am more concerned about how labview will handle when a small action resulting in showing a lot of broken wires there i would personally not want labview to auto guess where to connect it.
@muks : that's true, and I think the auto-deletion of a part of a
broken wire should only be done when originally the wire had 2 (no less,
no more) connections and you give this wire a third connection that
matches on of the original 2.
LabVIEW acting on a
broken wire by itself sounds crazy, I never had that in mind.
understand that people get nervous when I talk about LabVIEW doing this
or that "automatically", but what I have in mind is:
to a wire that goes from 2 mismatching connectors, to adding a 3rd that
matches one of the original 2,
- controlled by the developer
because it only acts on a wire you are editing,
- not by default, but can be activated in the Block Diagram
Just trying to understand it better.
do you mean if there are say 5 connections and we delete a wire causing a break, then it will be ignored?
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.