Jump to content

m3nth

Members
  • Posts

    219
  • Joined

  • Last visited

    Never

Everything posted by m3nth

  1. I believe the question was, "How can I obtain the class name from the reference?", not "How can I obtain the class reference from the name?". Maybe if you knew all the names you've assigned for that class then you could look up all the references and find a match. Not a direct solution but that might possibly be a workaround.
  2. I found myself evaluating this same question a long time ago. You're right, they kind of do the same things. It just depends on your needs and resources as to which you might choose. If the person(s) working on your project are fluent in C you may want to go with LabWindows. LabWindows facilitates people with previous experience in that arena. It also does not require a customized compiler that is controlled by NI--any standard compiler should work right (to the best of my knowledge). Also since it is text based, it suits itself very well to version control and software quality assurance or configuration management. From your problem description, that might be a pertinent thing to regard if you work for a company with established policies and procedures. While LabVIEW can be used with VCS systems, it's really clunky, you can't do easy compares on the code since it's graphical, and other issues like that (such as the fact that files are tens to hundreds of k's, instead of small text files, and that no two compiles of identical code turn out identical executables). Something else to consider about LabWindow is that if you ever have the need to integrate non-standard functions such as OS calls, it's probably a lot easier to do. In LabVIEW, it is much more complicated to make function wrappers for kernel calls or non-standard LabVIEW functions that NI or third parties haven't developed. Often third parties develop C/C++ code for just about everything, which you can find on the web and easily adapt with LabWindows, but not necessarily LabVIEW since it is not nearly as common. If you don't have experienced programmer(s) however and everyone working on the project will be generally new to programming, LabVIEW may be the way to go. It's intuitive at some level if you have any kind of computer or programming background (even if you're not fluent in anything in particular). Like I said earlier, it does not lend itself real well to VCS or SQA/SCM sometimes. It can also generate very large applications in terms of disk space, which also has associated costs in terms of VCS and network transfer speeds (depending once again, on your company resources and needs). It can also be extremely difficult to upgrade in the future if someone makes a project that's their first project and then leaves it be for several years. The problem is that people usually do that with not enough time and not enough experience and their coding style and archictecture is horrible. Just because LabVIEW is graphical doesn't mean it's self documenting in the slightest (in my experience, that's the furthest thing from the truth). So be careful if you're giving this to someone as their first project and you or they decide to use LabVIEW. Make sure they get trained--send them to the NI training if necessary which is really good, both basic and intermediate. Make sure their coding style is going to be readable and usable by someone else with LabVIEW experience. Make sure they're going to use a flexible archictecture which will allow for future upgrades, and more or less, make sure there is someone else to audit their programming. Those are just suggestions from my own experience but it will really depend on your resources. Throw enough time and money at a problem and either solution will work right? Good luck.
  3. Well since the TTL specification says that a '0' is anything < 0.5V and a '1' is anything > 2.5V, the most straightforward answer is no, you can't trigger a 5V TTL signal with only 200mV. There is most likely a workaround however. Does the 200mV incoming signal meet some kind of spec? What about using a standard RS422/485->RS232 converter? Those use a voltage differential to determine a '0' or '1' where everything between -200mV to 200mV is no man's land, but maybe you could rig a workaround. If you have the abililty to use other hardware it probably won't be a problem to find a workaround, but by itself, I don't think you'll be able to tirgger the PCI-6534 directly.
  4. Whatever version of WMP I have just crapped out on me then I guess... I'll be able to get it working if it's just a regular mp3. Thanks.
  5. Here's another thing that's the most obvious in the world but which I never found for a long time: If you view the radix of a numeric on a control or indicator you can change the formatting by clicking the radix and selecting a new one (hex/oct/bin/decimal/etc). This comes in really handy sometimes while debugging since you can change the radix on the fly without having to stop everything and start over. Speaking of which, a 'p' is used for SI notation... anybody know what 'p' is for?
  6. Wow. I use a custom font that I have developed myself for icons which I usually do by hand (I have it memorized) but I wind up using the default sometimes for speed even though I don't think it looks nearly as nice. The small font with caps is veryyyyyy similiar to the custom font I draw though--that should make a good (new) default font for me. Excellent tip.
  7. Just an FYI.... I use a producer/consumer architecture to handle events for large apps... you can look it up on NI knowledgebase... that lets you have a main event handler that queues up the events (the producer) and another loop (the consumer) that processes them independently in the order received. This allows most of the code to be disconnected from the main event handler and stuck in smaller subvi's if necessary. I know this isn't the direct answer to your question but it might be new for you. I also always recommend 100% learning how to use LV2 style globals as they make extracting code off the main VI into subvi's much MUCH easier.
  8. Do you know of a way to open the podcast mp3 in a regular mp3 player like Windows Media Player?
  9. Cool. :thumbup: I think I found that VI somewhere (maybe a previous version?) where it was passworded or something where I couldn't look at the block diagram... you're right on though... essentially the same thing as the previously posted VI with a little more subvi structure.
  10. Could be wrong, but if I recall correctly, that VI is password protected without insght into how to actually perform the call.
  11. You're right... a scroll bar does provide nice visual feedback in that regard as to how many elements there are total.
  12. I'm going to take a wild guess that you won't be able to do that (as things stand so far with sub-panels). Would another workaround be feasible? Perhaps reversing your array before displaying it? Something else I do with things like that is keep the array size fixed so you can see n elements on the screen and then inrement the index when there are more than n elements in the array.... that keeps the last n elements visible for the user during processing.
  13. Without a working subpanel in front of me to look at... Does the sub-panel control have scrollbars that the user can typically use, or are you talking about scrolling in the sense of setting the FP origin of the embedded VI? The latter is what I thought you were referring to, but possibly not after reading your last post. Looking at a sub-panel in action would probably clarify this for me.
  14. This method is the quick and dirty "read the file header" method which is also the most unreliable and likely to fail. Not only will this break possibly for new versions but it will also not work for files in version 7.0/7.1/7.1.1 where the header is not at the same offset. Not to mention your previous observation that it doesn't work for files in an .llb (unless you dump them to disk).
  15. Yup you missed it, but probably because it isn't obvious. A double-click is handled by a selection on the popup menu... indicated with What = SelPopUp and Mods = -1. You could then call the VI you wanted to popup for configuration or whatnot by opening a reference with the connector pane typedef and use a call by reference node to pass values or get them back from the popup.
  16. Cool..... that looks like a nice utility I will be downloading shortly :thumbup:
  17. Thanks Kennon. I'm going to go ahead and post the powerpoint here so it will stick around a little longer. Download File:post-360-1123162043.ppt
  18. Do you have a link to your presentation anywhere online? That would be helpful. By not cleaning up after itself automatically I meant that the RTE is going to leave a copy of itself everywhere you install it--as compared to a portable USB-drive type app where the files stay with the application and when you're done using them and unplug, the files don't stay installed. I understand that certain DLL's 'need' registered and become specific to the platform your using, as do the various sub-units of functionality that you mentioned which can be optionally installed or not, but I still (from my perspective), see a need for the end-user of LabVIEW--the programmer--to be able to cull the necessary files if needed and create an application that can be portable.
  19. m3nth

    Table

    The code is passworded because Get Text Rect.vi is probably considered by NI to be intellectual property. Do you have a problem this would help you solve or were you just curious? It is my understanding that if the VI has low level code that's called internally, or a special dll, or private methods or properties, then NI will password protect that VI.
  20. After reading the XNode documentation, perhaps this would be a good first project... having a selectable logic gate that changes icons appropriately and allows the user to add inputs. Maybe sometime when I have gobs of free time to waste...
  21. Please note the earlier post that mentioned that the app method isn't available in v6.1. Jim's VI will work in v6.1. Perhaps an enhancement to Jim's version could be just running the app method for later versions, or an option to run the app method for the sake of speed.
  22. The quote on your website mentioned that the storage VI's use this... It appears that the Timed Loop VI's also use this. LabVIEW\vi.lib\Platform\TimedLoop\ConfigExtNode.llb First one on the list has the indicative ;D prefix.... ;DConfigExtNode.vi
  23. What a way to debut. VERY nice sleuthing.
  24. Why in the world would anyone use a regular OR or AND gate? The "trick" you missed might be to just never use them... that's my trick anyway. The easily configurable compound arithmatic is always easier to use, copy and modify. I think what you're saying would be nice though... actually what would be nice is if the AND, OR, XOR (etc) and COMPOUND ARITHMETIC were all the same thing, easily configurable with a right-click option, the icon would change accordingly if there were only two inputs, and if there would more it would go to the generic compound arithmetic icon (if there wasn't a better way). That would make things look right logic-wise and still give the programmer the means to easily switch between logic variations.
  25. What about checking for mouse-down / mouse-up events and positioning a square decoration accordingly? When you're finished you could move it off-screen. What about overlaying a transparent picture control on the graph--or do you need to use the graph for other things besides just looking at it? You can do a lot of things with a picture control. Just some ideas to maybe hack something together.
×
×
  • Create New...

Important Information

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