Jump to content

hooovahh

Moderators
  • Posts

    3,432
  • Joined

  • Last visited

  • Days Won

    289

Everything posted by hooovahh

  1. So glad to hear that. I swear I looked into this less than 4 years ago and found the array searching code. I made the Variant Repository code because I wanted something light weight, and fast. I wouldn't have made my own if CVT at the time met my needs.
  2. Well some people started using Bing, I never used it but I hear you can Google with bing. I hear it is a good website for doing internet searches, I know this because I googled it.
  3. So in a presentation about XNodes I was asked a question about what were the valid "Reply" options for an XNode ability. Some abilities have a reply as a 1D array of string and it appears to work like a QMH where you provide a list of states to go to and it does them one after another. I didn't know the answer but I knew scripting could help. So I scanned a bunch of XNodes for what strings were on the block diagram going to the reply and here are the abilities, along with the reply strings I've seen used. AdaptToInputs UpdateTerms UpdateImageAndBounds GenerateCode ForceAdaptToInputs Copy GenerateCode UpdateTerms UpdateImageAndBounds FailTransaction DoubleClick FailTransaction UpdateTerms UpdateImageAndBounds GenerateCode GenerateCode PreserveUserCodeGUID GetError Message UpdateTerms UpdateImageAndBounds GenerateCode FailTransaction ForceAdaptToInputs OnFontChange UpdateImageAndBounds UpdateTerms OnOperateClick UpdateImageAndBounds GenerateCode OnResize UpdateTerms UpdateImageAndBounds GenerateCode OnDrop UpdateTerms UpdateImageAndBounds GenerateCode OperateClick ShowMenu RefeeChanged GenerateCode UpdateImageAndBounds UpdateTerms RespondToDrop GenerateCode UpdateTerms UpdateImageAndBounds SelectMenu UpdateImageAndBounds UpdateTerms GenerateCode FailTransaction ReplaceSelf Size UpdateImageAndBounds UpdateTerms GenerateCode UpdateState GenerateCode ForceAdaptToInputs IssueWarning UpdateStateWithRef UpdateImageAndBounds UpdateTerms GenerateCode ReplaceSelf So the unique values that I've seen put into the Reply are the following. I am unsure if only some abilities only support some replies. UpdateTerms UpdateImageAndBounds GenerateCode ForceAdaptToInputs FailTransaction PreserverUserCodeGUID GetError ShowMenu ReplaceSelf IssueWarning As for what do these do? Well some are more obvious than others, but here is some text I found in one of the XNodes that helps: FailTransaction: LabVIEW will abort the current transaction. This will avoid putting transactions in the undo list when the user just hit cancel. GenerateCode: This will cause a type propagation if appropriate, and will cause the XNode to GenerateCode when type propagation is run. UpdateImage: LabVIEW will call Image and invalidate the XNode. UpdateImageAndBounds: LabVIEW will call Bounds and Image and resize and invalidate the XNode. It will not call Size. Size is only called if the user resizes the XNode (so that you may update your state and return this reply). Make sure that if your terminals need to change size or location, you also return UpdateTerms. This reply will set the transaction type. UpdateTerms: LabVIEW will call Terms and create, delete, and move terms as necessary. ForceAdaptToInput When mutating an old, unconfigured Express VI, we need to ForceAdaptToInputs before code gets generated. AdaptToInputs used to always get called before GenerateCode. But that is no longer the case in LV2011.
      • 7
      • Like
  4. Perfect, then just make a shortcut for "Chooser" or "CH" or whatever you want, now you can type that instead of traversing the palette. BTW I know you have tough skin, but I don't want to be unnecessarily harsh or snarky. All the benefits of 2009 you mention are things that I have no interest in. But the benefits I've seen in the last 7 years are things I use daily. This is probably short sighted, but if NI decided to only support Windows, and only support 64 bit, I think they would benefit overall. They would upset a few percentage of the user base, but cut out a decent percentage of regression testing and development. Now if I were in that few percentage of the user base I admit I wouldn't be happy. From one year to the next I agree with you about upgrades. If you are on 2009 no need to pay the multiple thousands of dollars to upgrade to 2010. But if I were on 2009 I could justify the cost of upgrading, assuming I don't have the limiting issues you mentioned.
  5. So the advanced user track seemed to be a pretty good success but maybe I'm biased. The user track presentation content can be found on the NI Community here. Or possibly in the NI Week Content subforum, and of course Mark was awesome enough to record all the sessions and has it's own thread here on LAVA. If you attended any of the sessions (or any NI Week session) I encourage you to give feedback wherever NI takes NI Week feedback. I word it that way because I've heard reports that the session surveys had issues.
  6. Okay now that LabVIEW 2016 is out, and the Mac version of 2016 is also out, I went and downloaded these VIMs that were in the user.lib. I hope I'm not doing anything wrong in posting them here, because these are files that are just available in the evaluation install anyway. When asking around the unofficial name for this new structure that automatically enables which ever case has no broken wires is the "Type Enabled Structure". It looks and behaves very similar to the disable diagram structure but specific cases cannot be enabled by the developer, and the border is a bit thicker. As always with unofficial features, don't be surprised if it changes functionality, or support, or gets removed with new versions of LabVIEW. My presentation on XNodes, and VIMs is available here, under the 2016 Advanced User Track. 2016 User.lib Macros.zip
  7. The CVT is extremely slow (is that an overstatement?) and the variant attributes look up table will probably be on the order of 100X faster (no test at the moment). I've been using my Variant Repository (which uses Variant Attributes) for a few years now for messenging APIs because I figured it was the fastest solution. This improvement just makes it even faster and I'll likely update my Variant Repository to use the IPE instead.
  8. That sounds like some vary valuable feedback that I'm sure NI would have appreciated in February when the beta opened... But to be less snarky some of the complains you have were brought up in the beta, I especially share the comment about wasted space. The Drag and Drop however I don't have much of a problem with. I have yet to notice an impact on my development style, if anything I think it is an improvement but that's just me. Honestly 2016 isn't full of major changes. The addition of Channel Wires (officially) is one of the few major improvements but it isn't doing anything functionally you couldn't have done before. The other major point I remember is the greedy or not greedy selection (I think it is shift). Beyond that the inclusion of the Type Enabled Structure (no name officially) that Jeff K eluded to is neat, but of course has a limited use. Having VI Macros be slightly more official is nice too. Just name a VI, a VIM and drag it to your block diagram and it works, no INI keys needed. Of course some INI keys are useful for debug. The initiative to have more support for 64 bit has continued too with a few toolkits I actually use. There is also the IPE structure for Variant support, of which I haven't benchmarked yet but intend on using. I remember hearing a few new right click menu options were added, like convert to color box and back for constants. There are of course other features that I heard about, but are pretty specific and fixes or improvements for hardware. In general if I were an independent developer and needed to spend an extra few thousand dollars for 2016 I wouldn't justify it given the preview program I hope you now understand maybe a bit why releases have been light on the new features. But if I were stuck on 2009, I could justify the cost of upgrading. Far too many of my applications use some newer features that would make life a bit of a pain for sure. Oh and to answer your original question I don't know of any config or INI setting that changes the functionality.
  9. LAVA has won an NI award for LUGnuts at NI Week, the largest independent online user group. Thank you everyone for making the online community something to be proud of.
  10. Yeah if you default to one you are going to upset one group of people or another. I would guess NI's thoughts were it you wanted to read a control just use its terminal, and a developer would be more interested in writing a local variable. If you aren't CTRL dragging yet you would be. I is a bit odd that that operation does something different than a copy paste but I like it.
  11. OOOOhhh, yeah I've never used that feature but it seems to be a feature of the Waveform Chart and not the graph. http://forums.ni.com/t5/LabVIEW/How-to-stack-plots-using-Waveform-Graph/td-p/329917 The good news is a Mixed Signal Graph can look and behave in a similar way. Graph Test 2.vi
  12. I still don't know what you mean by upper and lower stack, is this a graphing term I should be familiar with? Do you mean two separate Y scales? Cause that can be done as well with one on the left and one on the right. This was also why I asked for a picture since I wasn't sure what you were talking about. Glad you seem to have something working or close to it.
  13. If I understand you right you want this. Here I did it with a Waveform Graph, but it could be done with XY, and probably a chart. Graph Test.vi
  14. I don't think what you are asking is too difficult, but I'd rather see a picture of what you are trying to accomplish. So I understand where the 6 lines come from, A Minimum, Maximum, and Value for two separate measurements. But what are the 2 stacks? I think this can be done pretty easily with an XY graph but I might be misunderstanding your needs. Also keep in mind that the XY graph also has the ability to place static images on top, or behind graphs using the Plot Images property node. With this you should be able to also overlay anything you might want on the graph that isn't immediately respectable with XY data.
  15. I don't understand. Are you writing CAN or reading it? Are you using NI-CAN or NI-XNET? What is your hardware, is it NI based even? Post your code. That being said I've never had any problem reading or writing CAN frames at different rates in any API. Oh and if you are new to LabVIEW here is some free training: NI Learning Center NI Getting Started -Hardware Basics -MyRIO Project Essentials Guide (lots of good simple circuits with links to youtube demonstrations) -LabVEW Basics -DAQ Application Tutorials -cRIO Developer's Guide Learn NI Training Resource Videos 6 Hour LabVIEW IntroductionSelf Paced training for studentsSelf Paced training beginner to advanced, SSP Required
  16. Yeah I have a hard time trying to figure out how to use this function and never have, nor have I known anyone to use it. So I can't say if it is a bug or intended.
  17. I would love that however VIMs (as you know) aren't really a supported and documented part of LabVIEW. OpenG has generally been seen as stable, and well tested. If you start adding unofficial technologies in it I would be very concerned that the stability can't be guaranteed. But yeah this is something I think I'll do for fun some day, just re-write and update the OpenG Array tools as VIMs. Especially with the new structure Jeff mentioned which would allow for one VI to handle the scalar and array permutations.
  18. Well it's been about 7 years since any update was made to the Array package that did much, and the last fix was 5 years ago. I can't say it is under no maintenance but if it is being supported I would say don't expect to see changes happen quickly. I'm sure it can be frustrating but there are plenty of people who don't monitor these boards daily. JGCode last posed on the forums in February and he seemed responsible for that fix 5 years ago. Volunteers like him have a work life, and a home life. If you want to discuss OpenG issues, this is the place to do it. If you want to see OpenG releases, please be patient. Personally I would love to see especially the array package revisited. There are plenty of optimizations like inlining, and conditional terminals that could make array operations much more efficient than they were for this code that was originally written in the 5.x era.
  19. Oh well you just haven't researched it enough! (just kidding of course) I mean you can do plugin architectures without OO but in LabVIEW I can see that being a bit more difficult with needing to enforce or check for types, and all that is involved with adding new types. Having seen plugin architectures with and without OO in LabVIEW I would say the simple ones tend to be over complicated by adding OO, and the complex ones tend to not scale well without OO.
  20. I can't tell who I side with in the comments. Both crowds have the same arguments of "Well you just haven't researched it enough." Which I guess means I haven't researched it enough.
  21. I think I know what you are talking about, and I agree. If I have a VI set to subroutine, I feel like a VI inside it should be allowed to be inlined. Not sure what the reasoning for the restriction is.
  22. I entered this thread thinking I would have seen many of the issues mentioned, but honestly I haven't seen most. But there are a few. Icon editor glyphs. Oh it is a same for sure that this shipped feature of LabVIEW doesn't work and hasn't for so long. You can manually sync new icons by downloading them along with a XML file on NI's site that is periodically updated. But I add a bunch of other icons from an open source library, and so it is usually just easier to make a VIPM package with the glyphs I want and install it that way. Then there's the other issue of having a non shared folder for the icons meaning if you log in as a different user you lose your icons all the sudden. I never knew that about an RT project and that does sound really stupid. Glad to hear there is some kind of work around. It really seems like when it comes to projects that span multiple deployed targets, that NI just assumes things are static which can be a pain for something like "Find all PXI RT systems on the network and do XYZ with them."
  23. Yeah there were some complications internally. Be sure and thank Jeremy with a selection of adult beverages throughout the week, he deserves it.
  24. Yeah this is what I use now. At one point I had RSS still going, but this is more unified because I can just log into my account from any computer and see what things I haven't seen yet, where the RSS was going through my outlook.
  25. The loop settings seem like a great addition, thanks for sharing.
×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use.