-
Posts
3,446 -
Joined
-
Last visited
-
Days Won
293
Content Type
Profiles
Forums
Downloads
Gallery
Everything posted by hooovahh
-
New right-click like-items feature is kind-of bogus
hooovahh replied to crelf's topic in Development Environment (IDE)
WTF did I just watch? This is the line that got me. -
Watch "The Guild" (No, seriously, why are you still here? Go)
hooovahh replied to Yair's topic in LAVA Lounge
I also gave up on Mad Men because it seemed slow the first few episodes. I'm glad I stuck with Breaking Bad past the first few episodes. I understand shows don't always work well for some reason or another early on, and may get better over time, but I just can't invest 12 hours in a first season of a show if I'm just going to not enjoy it after the first season. Maybe the Brits have a better formula with only 6 episodes a season, but then you have the other problem of only 6 episodes a year of some awesome show. The Guild is 45 minutes for a season, so I don't have much of an excuse. -
Wasted day at the track thanks to LV 2011, One more bug...
hooovahh replied to JoeQ's topic in LabVIEW General
I agree. NI has some of the best product support I've seen. But getting to talk to the right people, or convincing the right people you know what you're doing, can make the support you get very different. I had a memory leak issue when using user events on real time. The issue turned out to be my fault, but I called NI looking for assistance before I knew that. After I explained what I was doing to the first guy I talked to, he told me user events were not allowed on real time. It was at that point I knew I was not talking to the right person. One more (not from me but a co-worker). We were ordering some parts from NI, I forget the actual part but it was a common enough part that we thought lead time would be a week or so. When we ordered them they said it would be 8 weeks. We called NI to see if there was anything that could be done to speed it up. After talking to the right person at NI we found out that there was some mounting bracket that was on back order from another supplier in another country which wouldn't be available for 8 weeks. We told NI that we didn't need the mounting brackets and would take them off anyway, so they took an part from the assembly line without the mounting hardware and sent us one. Note that I was told this story and parts of I may have remembered incorrectly, and your results may vary when needing help to get your hardware sooner. -
Watch "The Guild" (No, seriously, why are you still here? Go)
hooovahh replied to Yair's topic in LAVA Lounge
It seems very "meh" for me. I tried watching it when it was first featured on Xbox Live. I didn't make it through the first season. Not because I hated it, it just isn't for me. I see now that it's on Netflix with a few more seasons so I feel like I should give it another try. -
Viewing Panel via Smart TV
hooovahh replied to Shazlan's topic in Remote Control, Monitoring and the Internet
Reincarnate me after I die using recorded information about my self? Sounds like a good mini series...or at least a show worthy of a season, then get canceled after teasing a season 2 premiere at the end of season 1. -
I agree so I'll just post what I'm thinking. I want this functionality for my own code so I can use (and likely abuse) it.
-
So I understand the abuse side of things for sure, but anything can be abused right? If there is proper documentation, and training (which it sounds like there isn't) then I don't see anything wrong with this feature. Should every polymorphic VI not have the "Automatic" option when choosing the type based on the inputs? Should we have to be explicit about that as well? What about Data To Variant, should I have to tell it, hey this is a string and you should convert from string to Variant. I understand this example is weak given that it is a primitive and accepts all data types.
-
My vote is bug, but I've never seen this. Is it possible for you to post the VI? I'm curious to see if this works with other data types or somehow just is convinced a path is wired to the missing Type terminal. I guess theoretically this could be a feature, if all of the sink nodes are the same data type. But since NI hasn't done it yet I'm guessing it is a difficult feature to implement, but I would love to have a polymorphic VI change it's type based on an output that's needed, as well as its input.
-
Also check out this VI. <LabVIEW Dir>\vi.lib\Utility\traverseref.llb\Traverse for GObjects.vi
-
I'm in this same boat as well. I may want to bring my attention to something later, but I want the code to still be able to be ran. Using something like TODO: and searching for that string (or using the tool posted earlier) helps me see that something is important about the code, without having to break the VI.
-
I've only made a few XControls, so I might be missing some key aspect to get this to work properly...or it could be a bug, help me figure out which it is. I have a XControl that has the look as a System Combo Box, and functions very similar to one. It works just fine but I found that if I wrote to the control, using a property node, and the SubVI that the control is in isn't being shown, when I show the SubVI the control is blank, but the Value of the control is what I wrote to it. Attached is a SubVI that explains what I'm trying to say. Run the VI then set the two controls programatically using the buttons. Then you can read the values of these controls and see that the value you get is the same as you set. Then show the subVI. You'll see that the XControl doesn't have the value you set. Then with the SubVI window open set the XControl again, and you'll see the value change. This XControl is capable of handling a local variable, or property node value change write, because it works as expected when the UI is shown, but when the UI isn't seen, the control isn't right if I then show it later. Is this a limit or bug of an XControl? Thanks. EDIT: Saved in 2011 SP1, and the top level is Main Test.vi Double Edit: No one asked for a video demonstration but I figured why not: Video. XControl UI Update.zip
-
Intending to Use Event Structures to Manage "Pop Up" UIs, any warnings?
hooovahh replied to AlexA's topic in User Interface
This is the way to go. The only issue to be aware of, is that you shouldn't generate an event in a subVI, for another parallel running subVI, until it has registered for the event. If you do generate the event before it is registered the event will be lost. You may want to implement some kind of hand shaking mechanism to ensure that a event is not fired, until it has been registered. -
New right-click like-items feature is kind-of bogus
hooovahh replied to crelf's topic in Development Environment (IDE)
I think you've been hanging around hardware guys too much...or management...or sales. -
New right-click like-items feature is kind-of bogus
hooovahh replied to crelf's topic in Development Environment (IDE)
Your example was with two string constants, so that's what I tested, which only had the two items you showed "Visible Items" (not labels), and "Properties". 2011 has "Properties" but not "Visible Items", so I was confused. I wasn't aware that this was a new feature that would work differently with other items on the front panel as well. -
New right-click like-items feature is kind-of bogus
hooovahh replied to crelf's topic in Development Environment (IDE)
I completely agree, and I think you would be hard pressed to find someone who thinks this is the better way of doing things. I also wanted to mention that I didn't think this was a "new" feature. I think the only new thing NI added in 2012 was the visible labels. Just so others don't get confused, in 2011 I can select multiple items, and right click and I will get the properties option (I don't remember what version that was added). In 2012 they added the Visible Labels option. I did not think that NI had said that there were other new right click options in 2012, other than Visible Labels. -
Yeah very useful for clusters of clusters of clusters...etc. I do my best to not have any items in my cluster have the same name as another item in another cluster. When hide long names is turned on, a quick glance may not be enough to ensure the right element was selected, if the same name is used.
- 6 replies
-
- references
- clusters
-
(and 2 more)
Tagged with:
-
QSM (Producer/Consumer) Template
hooovahh replied to Kas's topic in Application Design & Architecture
Absolutely. The custom user events mechanism is very powerful when combined with a UI and I think it would be a great evolution to the QSM. Not used in all situations (someones signature comes to mind) but in my mind I don't know why I would use native queues anymore, other than possibly interfacing with other already written tools. And even then a wrapper could be done to convert an incoming queue to a user event.- 74 replies
-
- 1
-
-
- qsm
- producer consumer
-
(and 1 more)
Tagged with:
-
QSM (Producer/Consumer) Template
hooovahh replied to Kas's topic in Application Design & Architecture
There's alot of good discussion going on here and I don't want to introduce more topics, I just wanted to clarify what I meant. No what I meant was have a subVI that enqueues data, but just after it enqueues data onto the queue, it then generates a user event. The consumer loop is not polling anything, it has a while loop with a event structure with no timeout. But it does handle the custom user event. In the custom user event case it dequeues the data from the queue. I wouldn't go this route, but for those that like working with queues this would be a middle ground between user events and queues. I would take it a step further and not use a queue, but use a user event for consumer/producer data which means no polling, and all events (UI events or other) are all handled in one event structure, without polling. Hopefully with my clearer explanation you'd see that there would be no polling with #2, and no timeout. There are multiple receiving mechanisms, but one triggers the other, so in reality you are only waiting for one to fire, and when it does, go handle the other. Attached is a very quick test of method 1 and 2 I mentioned earlier (in 2011). Just open the main and run it. It will enqueue 5 things to handle, (500ms apart) and the consumer loop on top handles them one at a time and then waits for user interaction to hit the stop button (without polling). Again I would use method 1 which only uses user events, method 2 uses user events but queues as well. Queue Event Test.zip- 74 replies
-
- qsm
- producer consumer
-
(and 1 more)
Tagged with:
-
QSM (Producer/Consumer) Template
hooovahh replied to Kas's topic in Application Design & Architecture
I've thought of two possible solutions to this. 1) Only use User Events to pass data around and don't use queues. 2) Or have the queue fire a User Event, telling the event structure to go read a queue message. The obvious benefit from this is no polling. Your VI will sit idle until either a command comes in, or the UI event is fired. Of course if you need polling you can enable it by giving your event case a timeout. I've heard that behind the scenes a user events are just queues so I wouldn't expect much (if any) performance difference.- 74 replies
-
- qsm
- producer consumer
-
(and 1 more)
Tagged with:
-
From MAX the File >> Import function worked as you described, where it will show you what things it will replace or change, and allow you to make adjustments. I was assuming that the import from the palette, or the import from installer wouldn't give you that option and would just import it without prompting you, but I've never used these two features. I just assumed they worked that way because I couldn't see an installer prompting for those kinds of settings. I also don't know how they would interact with the silent install switches that NI installers support. I agree, that at a minimum, the build specifications should indicate what things it will include, likely by checking their corresponding items in the Additional Installers section, and then allow you to uncheck things you know are already installed.
-
I have seen that option, and every time I go to use it I had issues of some kind so I just distributed the .nce file along with the installer and had to import it manually, which I think I prefer because you can then resolve conflicts manually where the auto import may not make the decision I would about which hardware is what alias. That being said I think it wouldn't be too difficult to do this your self, using the Import function on the palette, as you suggested as a Post-Install function that I believe you can do. I'm sure you can understand why NI decided to include so much extra content when you decide to create an installer with the nce file. What if MAX isn't installed when you run your installer? It won't be able to perform the import...but still 330MB! It probably includes a run time engine or two, (which are now over 100MB each), and then possibly DAQmx, maybe NI-VISA, and MAX so I can see why it would be that much. I almost feel like you could make 2 installers, one that installs MAX, DAQmx, VISA, and any other things you need (NI-DMM, Switch, NI-Power), and then have your second installer that is your 9MB program which imports your nce as a post install function. Then have the user install both if it is the first time new machine, or just run your smaller installer if it is an upgrade. That way when you push a new version of your code you will only have to deliver a new 9MB file, instead of a new 330MB file, with 321MB being the same as the last release.
-
Put me down as another member who would love to see this tool. You are welcome to do as you please, but why even post an image of this tool, if you are unable, or unwilling to share it?
-
Reentrant References In an EXE
hooovahh replied to hooovahh's topic in Application Design & Architecture
Thanks, not sure why I didn't think of that. -
I had a big long explanation typed up and accidentally it the back button. I don't fee like re-typing the whole thing so here's the shorter version. I have a reentrant VI that is launched multiple times. In development you can open a reference to the VI by full path, but in an EXE the path is unknown. So you open the VI reference by name, but for this to work the VI needs to be in memory. So attached is one technique I've seen to keep a VI in memory by putting it in a case that will never be executed. Just run the Main.vi click Make New Graph Window and stop when you are done. This code will work when built into an EXE because nothing is opened by path. Is this the right way, or are there other ways to force the compiler to add a VI as a dependency, so that a new reference can be opened by name? Reentrant Reference Test.zip
-
Whats the conversion from cookies to Internet points? To Internet dollars? To Zimbabwe dollars? Back to cookies?
