03-14-2019 02:58 PM - edited 03-14-2019 02:59 PM
I've never had any issue with Tools >> Advanced >> Edit Palette Set in adding XNodes. But this feels clumsy.
Before VIPM supported XNodes naively there were two options that were both hacky. First was you could make a normal VI with nothing but your XNode on it, then in VIPM configure that VI to be inlined (place contents) which would place the XNode. Another solution was to have a Post-Install VI as part of the package which would replace a placeholder VI on the palette, with the XNode. This also worked and allowed for other XNode methods like Copy to be invoked properly where dropping the VI contents wouldn't.
VIPM as of the last year or so added VIM and XNode support and I haven't had any issue just adding it there. The icon will be the one with the .xnode file but obviously the node when dropped may look different depending on how you have it configured to be drawn.
What issues have you had in the past?
Unofficial Forum Rules and Guidelines
Get going with G! - LabVIEW Wiki.
17 Part Blog on Automotive CAN bus. - Hooovahh - LabVIEW Overlord
03-14-2019 03:06 PM
@Hooovahh wrote:
I've never had any issue with Tools >> Advanced >> Edit Palette Set in adding XNodes. But this feels clumsy.
Before VIPM supported XNodes naively there were two options that were both hacky. First was you could make a normal VI with nothing but your XNode on it, then in VIPM configure that VI to be inlined (place contents) which would place the XNode. Another solution was to have a Post-Install VI as part of the package which would replace a placeholder VI on the palette, with the XNode. This also worked and allowed for other XNode methods like Copy to be invoked properly where dropping the VI contents wouldn't.
VIPM as of the last year or so added VIM and XNode support and I haven't had any issue just adding it there. The icon will be the one with the .xnode file but obviously the node when dropped may look different depending on how you have it configured to be drawn.
What issues have you had in the past?
When using "Tools >> Advanced >> Edit Palette Set ..." with some XNodes, it just won't put them on the palette. To work around it, I edit the XNode with a text editor, commenting out the help. Then I can get it on the palette. Afterward, I restore the help.
The attached file does this to me.
03-14-2019 03:21 PM
@Gregory wrote:
That looks awesome! I'm on LV 2016 so I couldn't open it, but just out of curiosity: could you use option 0x40 to launch clones?
I agree with Gregory -- as often as not, the VIs that I "launch" are Asynchronous Clones, so I add 0x40 to the 0x80 (or 0x100) option. I usually wrap my "Create and Launch Clone" as a stand-alone sub-VI, but having a little "functional" (like an X-Node, which I still haven't mastered) do this is magnificent.
Bob Schor
03-14-2019 03:21 PM
@paul_cardinale
Are you open to a discussion with me about allowing NI to just ship this code? Either as an example or as a palette add/replacement?
eric.reffett@ni.com
03-14-2019 03:28 PM - edited 03-14-2019 03:29 PM
@EricR wrote:
Are you open to a discussion with me about allowing NI to just ship this code?
XNODE! XNODE! XNODE!
But seriously there are several useful well written XNodes on NI and LAVA. NI should consider making it a real official feature. Even if NXG is the new hotness with no plans (that I'm aware of) to have XNodes in it.
As for the palette stuff. Here is a VIPM package I made which installs just fine, and creates a Paul palette, and under that an XNode Icon Constant item which seems to drop and be used just like it should. Sorry it is so ugly I just wanted to make sure a package could be made with VIPM with no issues.
Unofficial Forum Rules and Guidelines
Get going with G! - LabVIEW Wiki.
17 Part Blog on Automotive CAN bus. - Hooovahh - LabVIEW Overlord
03-14-2019 03:31 PM - edited 03-14-2019 03:33 PM
@Hooovahh wrote:
As for the palette stuff. Here is a VIPM package I made which installs just fine, and creates a Paul palette, and under that an XNode Icon Constant item which seems to drop and be used just like it should. Sorry it is so ugly I just wanted to make sure a package could be made with VIPM with no issues.
You didn't make it "ugly", you made it "invisible". (I also usually forget to attach ...) Oops, either I overlooked it, or you "fixed it while I wasn't looking" ... Never mind ...
Bob Schor.
03-14-2019 03:34 PM
@Hooovahh wrote:
@EricR wrote:
Are you open to a discussion with me about allowing NI to just ship this code?
XNODE! XNODE! XNODE!
But seriously there are several useful well written XNodes on NI and LAVA. NI should consider making it a real official feature. Even if NXG is the new hotness with no plans (that I'm aware of) to have XNodes in it.
As for the palette stuff. Here is a VIPM package I made which installs just fine, and creates a Paul palette, and under that an XNode Icon Constant item which seems to drop and be used just like it should. Sorry it is so ugly I just wanted to make sure a package could be made with VIPM with no issues.
What about the the other XNode? You put the icon one there, how about the call and forget/collect one?
Sorry for being greedy here, but your VIPM skills are way above mine.
mcduff
03-14-2019 03:55 PM
As far as I am concerned, anything that I post is freely available for anyone to use however they see fit. Go ahead and try to get NI to use it. Note however that since I've posted it, I've noticed these issues:
03-14-2019 03:55 PM
Listen I can make all the packages we want I just think Paul has several worth highlighting and it might make more sense to have a Paul's Favorite XNodes package which has a bunch of these rather than a package for each XNode. I wouldn't want a palette for each array function for instance. This is a bit larger of a request but one I can still help out with. I'd just need a list of XNodes Paul things is ready for public consumption. I think I can find most he's posted.
Also in playing around with this one I did find a few things that you might consider changing in the future. The "Calll and Collect" mode when right clicking has one too many L's.
In the Support folder there is a "Tamplete.vi" I assume this should be template.
I too would suggest adding some way to enable reentrant calling. It could be added without any extra input by reading the VI Execution >> Is Reentrant property, and then just automatically OR the option with 0x40 if it is. The only minor issue is this is adding an extra property node read that normally wouldn't be there. Maybe a checkbox on right click for Reentrant Run would work.
And lastly I think it would be super slick if you could support dragging and dropping a VI reference to the node and handle the drop. For VIs that are saved this is easy enough but I'm unsure if you can script the Static VI Reference to a VI in memory and not saved yet. Still I could see myself using this for non reentrant things today.
Unofficial Forum Rules and Guidelines
Get going with G! - LabVIEW Wiki.
17 Part Blog on Automotive CAN bus. - Hooovahh - LabVIEW Overlord
03-14-2019 03:58 PM
@Bob_Schor wrote:
@Gregory wrote:
That looks awesome! I'm on LV 2016 so I couldn't open it, but just out of curiosity: could you use option 0x40 to launch clones?
I agree with Gregory -- as often as not, the VIs that I "launch" are Asynchronous Clones, so I add 0x40 to the 0x80 (or 0x100) option. I usually wrap my "Create and Launch Clone" as a stand-alone sub-VI, but having a little "functional" (like an X-Node, which I still haven't mastered) do this is magnificent.
Bob Schor
I'm not sure what you want. This statically references a VI; but there's no such thing as a static reference to a clone.