Jump to content

Norm Kirchner

NI
  • Posts

    823
  • Joined

  • Last visited

  • Days Won

    25

Everything posted by Norm Kirchner

  1. Eugen, I think I have found the best solution to your problem because even on the old site, it only had that option at the bottom of the page which is sub-optimal But unfortunately only if you use Firefox. The Back To Top plug-in http://screencast.com/t/zqng7qCrfpu Enjoy, Norm ~,~
  2. Then you need to define an upper limit and do the fanciness of hiding/showing all tabs up to your limit and using tab-captions to dynamically re-name the visible tab names (or do the hacky way of having a non-running VI present in the sub-panel that you can edit at runtime but not run) If you resolve yourself to that, then you have a solution (which i'm sure plenty of others have done in the past to do this exact thing)
  3. George I would strongly suggest that you investigate another option involving sub-panels and utilizing a listbox to choose the appropriate 'Page' (something like the LV Options page) Although tabs afford the user some good user interactivity points, it is limiting when attempting something more dynamic which it sounds like your doing. You will find that a listbox with subpanels are extremely more flexible albeit a hair more exotic with the process of getting information from the subpanels back to the top level.... but that is another discussion altogether with a variety of very good solutions. If you CAN NOT live without a tab control, you will still need to use sub-panels anyway and you would create the sub-panel VI on the fly with scripting and adding / removing tabs that way. (a creative yet very flawed solution) Good luck ~,~ Norm Kirchner
  4. Code Repository: Should be arriving in the LAVA CR soon (less than a week) Password protection: intentionally done at a time before scripting was not black market material. Uses some scripting stuff none of us had done before (thanks dnatt) and thought it prudent Dependency: Because I'm using the OpenG Package Builder I have never been able to get the dependency enforcement working properly. Simply giving it the expected package name and version never did squat for me. (probably operator error) LLB distribution: I have never made a "tools Menu" app before and this looked like the most straight forward way to get the kind of behavior I wanted. And wrt LLB's, I believe (not because I know) that they are not going to be disallowed any time soon so it was still a concise way of keeping a group of files together for the tools menu and simplified the packaging process which I'm still relatively new at. I'll let DNatt make a nugget one of these days on the traverse code (or take it on if he deems me able to do so) This is a 'Private' event and must still be hidden under the "RUSTY NAIL" clause of these things. I have never seen any specific documentation on it's pitfalls, perils and usages but I know for darn sure that all of my scripting tools rely on it's operation from what I have been able to understand of it. Let's hope it doesn't change functionality or go away because any tool that needs to know what was the last LV thing touched would then need to revert to a TopMostVI checking style routine which is a bit of a pain and still might not work for this kind of implementation. If you want to know about the Private methods/functionalities, head to the rusty nails section to get the proper ini key. Enjoy! I'm not sure I have explicitly state it yet, but I quickly found this also a requirement. EVERYONE: FYI In order to have a command detected you must hold down the control key and not just while you are speaking but for a fraction of a second after as well. The Microsoft API is constantly translating and only LV does the check "is Ctl pressed" after it gets the signal from the MS SAPI that something had been detected.
  5. I have used this technique before which requires a new class for each command, but the added benefit is the ability to make sub-class tree of commands which comes in handy when dealing with a ton of commands. I've found that it's really helpful if you define naming and file organization decisions before or early into the process of creating commands since making changes en-masse is a pain. But other than making sure both sender and receiver are working on the same version it's a sound tactic. The max number of commands I worked with was 17 and no issues. I was sending them across VI server using a Call By Ref node so there wasn't even any flattening to string needed. Good Luck ~,~ Norm
  6. Version 1.0.1

    6,662 downloads

    Copyright © 2007, Norman J. Kirchner, Jr. All rights reserved. Norman J. Kirchner, Jr. Author: Norman J. Kirchner, Jr --see readme file for contact information Description: Package to provide smart tree functionality without assumption of type of data (ie, file paths or others) Gives ability to modify contents, extract information and control the branches. A good understanding of how the LV tree truly operates as a fancy multi-column listbox is very useful although not required. An expample program if not present on the forums, will be in place soon. Dependancies: LV version above base package Functions Add Item Modify Item Remove Item Get All Items Get Top Level Items Get Items Parent Get Selected Item Get Siblings Get Children Get Item Properties Check Tag Valid Convert Tag to Text Find Tag from Text Outdent at Item Indent At Item Expand Collapse Empty Tree Notes Capable of working w/ LV 7 or later but uploaded version is for LV 8.2. Please request previous version if necessary. Good to recognize that the tree control is just a fancy multi-column listbox. Version 1.0.0 Initial Release 1.0.1 Example program added
  7. Name: Tree Control API Submitter: Norm Kirchner Submitted: 02 Jul 2009 File Updated: 03 Jan 2011 Category: User Interface LabVIEW Version: 8.2 License Type: BSD (Most common) Copyright © 2007, Norman J. Kirchner, Jr. All rights reserved. Norman J. Kirchner, Jr. Author: Norman J. Kirchner, Jr --see readme file for contact information Description: Package to provide smart tree functionality without assumption of type of data (ie, file paths or others) Gives ability to modify contents, extract information and control the branches. A good understanding of how the LV tree truly operates as a fancy multi-column listbox is very useful although not required. An expample program if not present on the forums, will be in place soon. Dependancies: LV version above base package Functions Add Item Modify Item Remove Item Get All Items Get Top Level Items Get Items Parent Get Selected Item Get Siblings Get Children Get Item Properties Check Tag Valid Convert Tag to Text Find Tag from Text Outdent at Item Indent At Item Expand Collapse Empty Tree Notes Capable of working w/ LV 7 or later but uploaded version is for LV 8.2. Please request previous version if necessary. Good to recognize that the tree control is just a fancy multi-column listbox. Version 1.0.0 Initial Release 1.0.1 Example program added Click here to download this file
  8. I don't want to burst your bubble on some of your code but you should checkout the VIs in C:\Program Files\National Instruments\LabVIEW 8.6\vi.lib\Utility\traverseref.llb there are two top level VIs that allow you to farm an array of all references of any type of LV object w/out worrying about traversing structures yourself. In the end your code would still do the same thing, but be more robust and flexible for different types.
  9. I think they just figured out here @ NI that eventually I would get into the code and turn the scripting lock back into an ini key. So instead they just decided to legalize it. Kind of like prohibition.... just doesn't work. Now we just need to make sure they don't start putting sin-tax on the license.
  10. Of all the 1% of 1% of people on this earth who are pilots, I'm probably 1% of those that has actually used the whiz-wheel as a general purpose calculator. Think slide rule but wrapped around in a circle. Setup a ratio and look for the value you want to multiply by and look above it (or below it based on perspective) and you have your answer (w/ some decimal shifting). Also flip it over and you can do trig with the wind speed angle correction insert. Heck, it's so smart it's not even a calculator.... it's a computer
  11. Give it a whirl by getting into the Callback VI in the LVSpeak engine. I would say use the User Input VIs and either fire or don't fire the user event if the key is pressed. Try it out, let me know if you like it, I suppose we could make it a configurable option.
  12. QUOTE (TobyD @ Apr 3 2009, 12:20 PM) Actually, that's how Get Pizza came to life. I was getting heckled by my co-workers and they kept running by screaming 'Get Pizza'. So I just made it actually do something. Now if I could only get their credit card #s it would really make them stop the harassment. But I've found that a headset w/ a mic mute switch has helped. Actually I'll probably be making a foot switch if the ambient noise or hecklers gets too annoying. To be fully honest, the previous version of my code, on vista, would enable the full vista speech system that had the capacity to close windows, hit keyboard keys, or do other system functions. Which is cool, but if you forget to shut the microphone off and turn around and have a conversation, you will find that your pc has been doing stuff since you walked away (like closing or opening windows you don't want closed or open) The current version bypasses the Vista Environment Speech integration. Actually if you do leave the voice system in Vista open and leave your laptop running next to a TV running a Bollywood movie, you'll find that it starts to outsource your coding (although the code is not documented and sloppy)
  13. Finding out that XP is not liking the loading of the QuickDrop Grammar (the list of things that you can say) So don't be surprised if it's not working in XP. (Stay tuned though)
  14. QUOTE (Antoine Châlons @ Apr 2 2009, 03:51 PM) ooooh, I'm thinking no on that one. Palette windows and their functionality are probably not that exposed/extensible. There is probably a ton of C code behind them and little G hooks. Maybe if we get Darren on this thread he'll qualify that statement. But for now I'll bet an NI week Beer that it's no.
  15. ADVANCED AND BRAVE USERS ONLY In other words, if this messes something up.... Don't call NI complaining. Really the only thing that has the chance to break is the fact that this package replaces the installed Quick Drop VI (but it does make a backup)(or at least that's the way the package is setup) Addon :: Voice Integration with Quick Drop Download File:post-208-1238696190.ogp CORE DEPENDENCY!!! (NEW VERSION!!! Must Install) Download File:post-208-1238696196.ogp
  16. Actually wouldn't it be so much better if you just told LV what you wanted to do and that way you wouldn't need to move your hands from the mouse, or dig down through copious levels of menus? Well if you're not sure... take my word for it, it is! A side project of mine LVSpeak and QuickEdit http://forums.lavag.org/LVSpeak-tell-LV-wh...-do-t13687.html You can now simply tell LV "Align Right" or "VI Properties" or even "Get Pizza" (the last one is functional and an inside joke but does work) So although every functionality is not present, if you want something added, figure out how to automate it, and add it in!
  17. QUOTE (gleichman @ Apr 1 2009, 01:37 PM) I already contacted them and I'm waiting to hear back.
  18. Use in good health WITH NO WARRANTY OF USAGE. This uses unsupported and possibly buggy features of LabVIEW that may or may not corrupt your code. (but I use it every day and so far haven't encountered any corruption issues) Some commands operate on the premise of the selected objects, (alignment stuff) Other commands operate on what you are hovering over (Create Control) Other commands are context insensitive (show project , get pizza) The ability to do "Create Constant, Create Control and Create Indicator is now enabled!!!! Yup, it's that damn cool THIS IS NOT SUPPORTED BY NI let me repeat THIS IS NOT SUPPORTED BY NI This is something that I was working on well before I got into the walls. This is in the hands of the community and we'll support it and tear it down/apart as needed Most commands are for the block diagram at current but are as follows BD: Label Visible / Invisible Align (left, right, top, bottom, horizontal center, vertical center VI Properties Create Control / Constant / Indicator Show Project Get Pizza FP: Label Visible / Invisible VI Properties Show Project Graph Palette Replace Get Pizza
  19. QUOTE (Neville D @ Mar 30 2009, 02:20 PM) I'll tell you what they will think. They will wonder what the F is going on, and then you show them that your using voice commands to make your programming go faster and they'll all go sweeeeeeet. To be honest.... just show them the get pizza command in action and that should suffice.
  20. One thing that you might not realize is that the signal goes right into a WLAN processing chip and the code on the chip was never made able to export signals. Instead it does it's function by taking the RF on the Analog Front End (AFE) and getting it into the bits that really need to be processed as efficiently and quickly as possible. So although there is a downconverter (RF -> IF :: GHz -> MHz) and a A/D converter (Analog -> I-Qbits) you do not have access to those raw bits of data before they get put into the WLAN processing stack A great place to learn more about RF is at http://decibel.ni.com/content/groups/rf-developers-network
  21. Tutorial video http://screencast.com/t/0HetuUrAGu
  22. I have taken a few moments to re-factor LVSpeak and get it ready for the masses. For those of you who haven't heard me rant on about talking to LV I'll take a moment to give you a backstory. Back when LV scripting was unveiled in ~LV 7.0, I realized that we could merge the Microsoft Speech to Text API and LV scripting to aid us all in the process of coding. The idea sat idle until QuickDrop came out in LV8.6, and I couldn't not do it. Now, w/ the aid of this package, some rusty nails and the Microsoft Speech SDK, you can command LV with your voice w/ things like... [DISCLAIMER] This is not foolproof code. BUT I use it on a daily basis (actually I refuse to program w/out it turned on) Directions: Download the Microsoft Speech SDK 5.1 and install it Download and install the attached package to this post. Restart LV and now in your 'Tools' menu, you should see Enable LVSpeak. After you click it you will see two windows now floating whenever LV is active (untill you restart). The commands that it accepts currently are shown in the image above. [NOTE] They do not all work on both FP and BD. ex Alignment commands only work on the BD. [NOTE] This does not include integration w/ Quick Drop (although I would expect it to be added soon) I would recommend starting out w/ Saying things like 'V I Properties' ----------(both FP and BD) 'Align Left'----------------(on the BD) 'Graph Pallette'----------(on a FP graph) To stop the programs, simply say "LabVIEW Speak Stop" 'LVSpeak Engine' simply sets up the link between LV and the MS Speech API 'Quick Edit' is the engine that does the editing (This is where the fun happens)
  23. Ok, Just have my first confirmed addition to the tally 1 Birthday Beer to Jim Kring 1 Beer to ******* for ****** (3/17 you know who you are) 1 Beer to Nancy Hollenback for patiently being the recipient of a minor rant about concentration.
  24. Multiple times it has been proposed that we (the Community NOT NI) have a few day summit on architectures before NI Week. So let's get some ideas out here as to how we could pull this off. For those of us in Austin, this would be a pretty easy request to fill, but for the rest of everyone the extra few days of travel might be tough due to lodging costs. I propose we have a Community Architecture Camping trip and I'll just bring a generator and a few power strips so everyone can plug their laptops and projectors in. We would just have to drink during the day and work at night because looking at a laptop screen in the Austin noon sun is next to impossible w/ out an OLED monitor. Ahh I can see it now, we'll all sit around the camp projector and sing dirty LV songs.
  25. QUOTE (dannyt @ Feb 24 2009, 05:08 AM) And through the shift register bind them.
×
×
  • Create New...

Important Information

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