From Friday, April 19th (11:00 PM CDT) through Saturday, April 20th (2:00 PM CDT), 2024, ni.com will undergo system upgrades that may result in temporary service interruption.
We appreciate your patience as we improve our online experience.
National Instruments will not be implementing this idea. Given the execution overhead of the node, the Error Ring should be called conditionally in a case structure whenever its value is needed at run-time.
It would help if the Error Ring had an error in.
Now we always have to use a merge error (A).
This does hurt performance as well (B), as Error Cluster From Error code is always called (and isn't lightweight).
With an error in, no more merge errors (C)!
And performance gain (D) as a bonus.
Guess this input is deliberately not there? Can't wait to hear the arguments against it...
No arguments against. Just didn't include it in the original, and the case structure has sufficed, so no priority, especially given the annoyance of the mutation and save for previous code.
That one is with Booleans (didn't find it when searching), it won't help with the merge errors.
If the XNode would accept both (maybe even at the same time?), that would be great! Then we can conditionally add it, but it won't previous existing errors.
National Instruments will not be implementing this idea. Given the execution overhead of the node, the Error Ring should be called conditionally in a case structure whenever its value is needed at run-time.
The proposed solution of putting it in a case structure will clear warnings. The case in the XNode could prevent that. So to avoid automatic performance, clear wire flow and convenience, we need to wrap each and every error ring in a case structure, AND use a merge error.
I'm confused.
Not sure what the downside is of the proposed idea? (except "save to previous", which hopefully should not stop progress.)
Declined: National Instruments will not be implementing this idea. Given the execution overhead of the node, the Error Ring should be called conditionally in a case structure whenever its value is needed at run-time.
You mention putting the ring in a case structure clearing warnings. How would that be?
If you are appending an error to the wire, the error will override the warning. If you are appending a warning to the wire, the previous warning will take priority. If the wire already has an error, the error case would be called and the previous error would pass through. This would be the case regardless of whether you use a case structure, a select node, or your idea.
You're right. I was already caught up a bit on the conditional error ring idea:
Then the warning will be lost, even if the ring produces no error. Maybe in some corner cases it will still be an issue, but normally it won't.
The hole optimization problem is not really an issue altogether, as it will only save time when there error in is true. There's usually no need to optimize for exceptional (error) cases. It will help the flow and speed up development though.
As much as I'd use this, I agree that leaving it up to the developer might be the best way to handle this. Forcing them to add a merge error and then figure out what error should take priority is probably a good idea, rather than having a brainless developer (myself included) just wiring in errors instead of thinking about why and the consequences.
National Instruments will not be implementing this idea. Given the execution overhead of the node, the Error Ring should be called conditionally in a case structure whenever its value is needed at run-time.