-
Posts
3,392 -
Joined
-
Last visited
-
Days Won
284
Content Type
Profiles
Forums
Downloads
Gallery
Everything posted by hooovahh
-
I'm no quick drop expert but this is how I'd do it. Say CTRL+Space then CTRL+C (maybe that is semi-reserved) this brings up a new dialog window that shows the options, and you pick the one you want which then adds the code to the block diagram. Closing this window does nothing, and calling another CTRL+C brings this window back to the front with new settings if it was never closed before. Not ideal no but I think it could be used this way.
-
LabVIEW 2013 Favorite features and improvements
hooovahh replied to John Lokanis's topic in LabVIEW General
I forgot about this. But usually to highlight this I will color the background a different color, or bold the font. I don't think either of these change the cell height. -
Anyone else OCD about alignment and positioning in block diagrams?
hooovahh replied to Sparkette's topic in LabVIEW General
I'm okay with this for the same reason. But I would rather be consistent. Look at the sample I posted with the TDMS functions. That gets me every time that I need to be one pixel off whenever that palette is used. I would rather they were consistent with 5-3-3-5 (or what ever they picked). But I would say that 4-2-2-4 is my standard and very rarely deviate from it. But just as the style guide is a guide, I would say that a 4-2-2-4 setup should not be strictly enforced and if I were king of LabVIEW I wouldn't ban anyone if they used another. -
Yes there exists properties to modify the graph axis info. One demo (that I haven't found yet) was shown off at NI Week to allow a graph to be zoomed in using the scroll wheel. This was to show off the new mouse scroll event. Select the active scale property for either the X or the Y scale. This is a zero index value so if your graph only has one X and wire a 0 to it. Then you'll probably want to change the autoscale to be no auto scale. Under the X Scale Property set the Scale Fit to 0 which is no scale (the help describes the others). Then you can set the X Scale, Range, Minimum and Maximum. This will set the minimum and maximum that the X will be. You can do the same for the Y scale as well.
-
I wasn't at the challenge but I could tell there was some kind of discussion there about the implementation. It met the specified requirements did it now? I realize it may not be the intent but that is because of poor requirements. Now that I think about it I can agree with your front panel specifics, because you mentioned what is considered an object on the front panel from the perspective of LabVIEW.
-
LabVIEW 2013 Favorite features and improvements
hooovahh replied to John Lokanis's topic in LabVIEW General
Yeah when Christina mentioned the cell height of each cell needs to be the same, I thought when have I ever wanted the cell height to be different for a single row, and I guess there is a case for this but I have never needed it. -
I'm going to argue for the sake of arguing if you don't mind. "To stop the VI you cannot press the abort button, or by clicking an object on the front panel" Are we now saying that the exit button is not an object, on the front panel? The title of the window is something like "Untitled 9 Front Panel" so to me that states that the entire window is called the Front Panel, and the Resize, Minimize, Maximum, and Exit buttons would be part of it. That being said it doesn't bother me that Darren won.
-
Anyone else OCD about alignment and positioning in block diagrams?
hooovahh replied to Sparkette's topic in LabVIEW General
Maybe I made a superBoolean class that is a subset of the boolean class that I want to be more specific to. Or maybe I just grabbed the first two functions I knew would demonstrate my frustration and took a screenshot. -
Anyone else OCD about alignment and positioning in block diagrams?
hooovahh replied to Sparkette's topic in LabVIEW General
I don't use auto tool (lets not get this started) so I am very quickly pressing tab, on top of all the quick drop functions, compulsive CTRL+S, and constant CTRL+E or CTRL+W. As a result I have been called the Certified LabVIEW Finger F***er. -
Anyone else OCD about alignment and positioning in block diagrams?
hooovahh replied to Sparkette's topic in LabVIEW General
Instead of 12 Steps we have 12 States. We admitted we were powerless over LabVIEW OCD alignment—that our lives had become unmanageable Came to believe that through hard work and determination, ourselves could restore us to sanity. Made a decision to turn our will and our lives over to the block diagram cleanup as we understand it. Made a searching and fearless moral inventory of ourselves. Admitted to ourselves, LAVA, and to another human being the exact nature of our OCD. Were entirely ready be content with these wiring defects. Humbly asked developers to review their code and accept it when the review is complete. Made a list of all developers who did not adhere to the LabVIEW style guide, and became willing to make amends to them all. Made direct amends to such people wherever possible, except when to do so would injure them or others. Continued to take personal inventory, and when spending too much time adjusting wires, promptly admitted it. Sought through research and discussions to improve ourselves, for knowledge of other developers for us and the power to carry that out. Having had a acceptance and realization as the result of these steps, we tried to carry this message to other LabVIEW OCD wire addicts, and to practice these principles in all our affairs. You would be surprised how little this differs from the actual 12 steps. -
I am all for this type of development, and I think I can see how this could help with that. Thanks.
-
I don't fully understand what you are saying but am curious. I have used event call backs on .net DLL calls so I am passingly familiar with them but I don't know how they could help simplify my code. So when the mouse enters my panel VI I can have that run a VI through the callback feature, which can generate a user event, that tells the parent this event has happened? I don't see how that is better then at the moment where the VI ref can be passed to the parent, then register for the mouse enter event, causing the event to be handled in the parent when the mouse enters the panel. Don't take this post as me saying "This is stupid and my way is better" I just don't fully understand how it can help because I've had very little experience with event callbacks.
-
Anyone else OCD about alignment and positioning in block diagrams?
hooovahh replied to Sparkette's topic in LabVIEW General
Okay I don't think I'm as bad as some of you guys but I too find my self moving things one pixel at a time some times to line them up nicer. But there are a few times that I hate the terminal choices used by NI. Here are two times that I can think of that irk me. Why do these not line up? Seriously NI? Seriously? -
Very true, you could flush it then process the last one that was flushed. I haven't used the new Event Features yet but I assume after flushing it will return all the events that were flushed like a flush queue. Then if 100 value changes come in you flush them all and process the analog output on the last one. There's a bunch of ways of working around this and the timer idea neil mentioned is another I have used.
-
Okay it's morning and I have a few more links. Inlining INI key http://zone.ni.com/devzone/cda/pub/p/id/347#toc2 Thread discussing it and code http://forums.ni.com/t5/LabVIEW/Dr-Damien-s-Development-Improve-Load-Time-with-Inlining/m-p/823418
-
I agree that this can be a place where the Flush can be used, but my work around was when the slider had a value change all it did was set a boolean true in a shift register. This boolean would set the event structure timeout to 0ms. Then in the timeout case I would perform the analog output, then set the boolean in the shift register back to false. The timeout case only gets executed when there are no other events in the event queue. So I would only set the analog out after the 100s of value changes had stopped for 0ms. This would reduce the number of analog output commands from 100s to on the order of 10 or so and it would always set the last value.
-
Why? If I have a C++ project with 100 text files can I combine them into one monolithic text file? Sure, but now that one file is very hard to manage, and edit. It can be done and in previous versions of LabVIEW there was an INI key that would allow you to right click a sub VI and choose "Inline" which is different from the execution inline. This inline would replace the subVI with the code from the subVI. This turned the code into very hard to understand code because it would just programatically plop down the code. But really why do this? If you really want one file create a source distribution, maybe an LLB with a top level VI. Or just zip the code, that's usually what you see on the forums when people have multiple files that go together.
-
I totally knew that going into it. But I feel like having 500 tabs and have them be hidden is not a big issue, but having 20 subpanels for each tab making 10,000 subpanel controls just not being used, would be overhead that may have an effect on performance. What I'm saying is the 20 page limit is arbitrary sure, but can be a very large number without any real issue. I never thought about this. It sounds like it might be a good idea to try since adding/removing pages dynamically would be a nice feature that the native tab can't support. EDIT: or VIBox might work too.
-
Well...do you have another mechanism for attaching floating windows to other windows? If you go with subpanels you can do it but you need something like 100 subpanel controls, all hidden on start, and then when you need to insert a VI you go get one and move it to the location you want and insert a VI. But if you need 101 controls then you need to go and make more subpanels in the source and make a new build. If subpanels could be added programatically at runtime this would be fine but you can't so I don't know another way to do this. By the way, I have tested this UI design with subpanels and it does work, but it is more limited. EDIT: Also things like panel resize while docked gets a little tricky with subpanels, where the user32.dll gives access to allow a window to be resized like a floating window.
-
Wow I can refresh and watch Sam work. Must be some poor co-op student.
-
Good luck with it. Xmodem_VISA.zip
-
I know it's hasn't even been a week since NI Week ended but does anyone know about the availability of presented slide material? Throughout the conference I would hear presenters say something like "All this material will be available online". So my question is will there be an aggregate place similar to this one for presentation material? And if so when can we expect to see it?
-
I've never heard of ALOHA but might check it out. If it is an unbounded number of panels I assume they are doing similar techniques with Parent Child relationships. Using subpanels alone does work but you have a limited number because you cannot add a subpanels (or any other control) at runtime.
-
Feedback Requested: Daklu's NI Week presentation on AOD
hooovahh replied to Daklu's topic in LabVIEW General
I didn't realize there was a new QMH in 2012. You can still find the old (which is the one I was referring to) under File >> New... Templates. The Project template for a QMH in 2012 is quite different and I have a whole new set of feelings towards. Before 2012 I didn't think there would be a question on what is a QMH because NI had a template on it, and JKI had a template on it that both used an array of string. So having these two be the only two examples I've seen I assumed that's what made it a QMH. An array of states (in this case string) to be processed one at a time by going to the respective state. Adding user events, and shift register data still kept it a QMH in my mind so all discussions of QMH I've had were with this very open state machine like pattern. You would be wrong. Generally I have a -1 timeout. I use User Events as my messaging structure and I don't have timeouts unless I see a need for them to actually poll something periodically. But even that can be handled by sending a message periodically instead. -
Feedback Requested: Daklu's NI Week presentation on AOD
hooovahh replied to Daklu's topic in LabVIEW General
Again maybe my misunderstanding but I thought it was well defined. If I ask NI what is a QMH won't they open the template that comes with LabVIEW? Now I never use that template as it is, I think I always add an event structure in the "" case, add a Default case to handle typo issues, and add a BFC (Big F***ing Cluster) on a shift register. Is this now no longer called a QMH? It feels like it is a QMH but it also feels like it is something more specific but it is still a QMH is it not?