Jump to content


  • Content Count

  • Joined

  • Last visited

Everything posted by bjustice

  1. Riiight, so Hooovahh is hitting the nail on the head here with my thoughts exactly. It would have been nice to maybe make the plugin menu a bit more intelligent such that it wouldn't have these "create constant, create indicator, create control" for these situations. The consistency argument is interesting and not something that I had considered. Give me 2 months with this new change, and I'll report back on how my muscle memory and opinion has changed. I might indeed be the old man yelling at a cloud right now. I'm trying to beat Darren for fastest programmer in the wo
  2. I've started working in LabVIEW 2019 SP1, and I've observed that the right-click menu on the block diagram has changed such that "create constant/control/indicator" are always at the top for almost every block diagram action. Example: If I recall, this was a pretty popular right-click menu plugin that alot of LAVA folks were using in prior versions of LabVIEW. It looks like NI simply cemented the idea in base LabVIEW 2019. I'm just curious though, does anyone here find this annoying? It's really wreaking havoc on my muscle memory. Furthermore, in situations such as
  3. I've not run into a situation where I've needed to get the actual image data into LabVIEW. I've mostly needed to handle file streaming to/from disk. It would be easier to use files on disk as a middleman between LabVIEW and FFMPEG. If you need a live streaming solution to LabVIEW, then you probably need a different technology I've never run into the situation where I've needed to send the "q" command. The ctrl-c command exits properly for everything I've needed, even for bad commands or non-connected cameras. I've not run into any crashing I've attached an example of a piece of
  4. Thanks Hooovahh, I've used your TDMS concatenate VIs in a few places. Really convenient to see this wrapped in a VIPM with a few other tools. Will install this right alongside Hooovahh arrays
  5. I threw this together, and maybe someone will find it useful. I needed to be able to interact with cmd.exe a bit more than the native system exec.vi primitive offers. I used .NET to get the job done. Some notable capabilities: - User can see standard output and standard error in real-time - User can write a command to standard input - User can query if the process has completed - User can abort the process by sending a ctrl-C command Aborting the process was the trickiest part. I found a solution at the following article: http://stanislavs.org/stopping-command-line-ap
  6. drjdpowell touched upon the primary (and initial) purpose for the code. I had an issue where I wanted to use user events, but the rule of "who starts first" came into play. This eliminated that worry. I could spin up a sub-process, register it for the user event, and force the user event case (only in that subprocess) to initialize with the most recent data. And, it's clean! Notice how I'm able to share the "mycluster" user event case structure with both the initialization UE and the normal UE. No tacky need for another case structure event that only handles first call initialization, or
  7. Oh, and it's saved in 2018 and makes heavy use of VIMs. So, apologies to those using older versions of LabVIEW
  8. I made a fun piece of code, and thought that I'd share. Maybe it'll spark some good discussion. Here it is: Push-Notifier.zip I wanted to accomplish 2 things with this code: 1) I wanted to be able to create a notifier that I can register as a user event. Basically, I want a user event to be generated whenever a new notification is sent. 2) When I register for a user event, I want to be able to also force the event structure to generate a user event using the most recent notification. (Helpful for initialization of data in the event structure) Demo VI
  9. Interesting history. Thanks for the information. I've reported this to NI. I will post here if they generate a CAR thanks everyone
  10. Benoit, thanks for looking at this with me. It looks like the error that you generated there is a result of the "Vertical Arrangement" property not being allowed to be applied to boolean text. I get the following possible reasons for that error: So, this is good proof that not everything in the "text property palette" is compatible with boolean text. Which is fine, but the text select end/start should return a similar error in order to indicate the lack of support. Also, as I said earlier, I can copy/paste text into the boolean text and have it retain properties.
  11. X-POST to NI forums. (No luck there so far.) https://forums.ni.com/t5/LabVIEW/button-with-different-size-text/m-p/3864798/highlight/false#M1095147 I am hoping to determine if there is a programmatic method to have a button with boolean text with varying font size/color. This is achievable with a strong control using text selection end/start. Booleans expose these same properties in the property node... but it doesn't appear to do anything. Even more interesting is that I can copy/paste text with varying color/size into the boolean text... and it will work. Thoughts? Thanks
  12. 7 years later, this information helped me! Thanks for coming back to post
  13. I haven't head of TestScript before. Sounds interesting. But I have tried both the Enthought toolkit as well as the LabVIEW Python Node. I've been majorly impressed with the Enthought toolkit. I've passed fairly large data to/from Python and the performance has been pretty great. And it certainly does solve some deployment headaches. It has a building mechanism that is able to generate a self-contained python environment with only required libraries for running your code. You can copy/paste this environment directly onto a deployed machine and it will run! No need to install and co
  14. Co-worker found the solution! This option in the packed library build spec will exclude the lvanalys.dll from being placed into the packed library build directory. Furthermore, when the application EXE build spec runs, it seems to be smart enough to include lvanalys.dll in the resource folder when the packed lib is a dependency. (Cool!)
  15. Good people of LAVA, I am running into a peculiar issue involving packed libraries. I have attached a zipped folder that illustrates this issue in a simplified format. When I run the build spec in the attached folder, I get the following error: My understanding is that the application builder is running into this issue as a result of trying to include the lvanalys.dll twice: -lvanalys.dll is a dependency of G-code in the main.vi -lvanalys.dll is a dependency of the packed library build: "math.lvlibp" One workaround that I've discovered is to rename the dll in t
  16. You guys all rock! Ok, so, for future readers, here are my lessons learned here: As you would expect, converting a U64 to a DBL yields loss of precision on the fractional seconds (near millisecond/microsecond regime). As such, feeding the "Seconds to Date/Time Function" a DBL input will result in loss of precision on the fractional seconds output The LabVIEW "timestamp" data structure consume 16 bytes of memory, and can maintain precision at the nanosecond regime so long as I typecast the structure correctly. (Cool! I always assumed that the timestamp structure was a DBL un
  17. Hey guys! I have a problem that is giving me a headache. Kudos to anyone with any suggestions. I have a small subvi that needs to do the following: input = (UINT64) nanoseconds since the start of the LabVIEW time epoch output = (cluster) timestamp expressed as: (INT16) Julian day, (UINT32) milliseconds since start of the day, (UINT16) microseconds since start of the day. Now, I could indeed just use the LabVIEW seconds to Date/Time VI. However, this VI gets very lossy near the fractional second regime. (It is using a DBL after all.) I've tried to correct for t
  18. Hey guys! I recently upgraded an application used across my company from LV2012 SP1 to LV2017. (woot woot!) The #1 complaint (and this is a bit silly really) is that LV2017 changed a characteristic of user input to numeric controls displaying relative time. More specifically, take a look at the attached VI/screenshot. In LV2012, a user is able to double-click the numeric input field (highlighting all test) and then entering a number. If the display format was set to :<:M:%S>t, then this input is recognized as a desired number of minutes. Thus, entering "2" yields a value o
  19. Ok, I've cross-posted to the NI forums: https://forums.ni.com/t5/LabVIEW/mouse-scroll-array-indicators-bug-LAVA-x-post/td-p/3730630 I linked the LAVA forum there as well. (Not sure of etiquette here) thanks!
  20. Hello everyone! I've noticed a behavior in LabVIEW that has me a bit puzzled, and I wanted to know what you guys think. (See attachments) I'm currently working in LabVIEW 2017. As the image points out, I am able to use my mouse wheel to scroll control arrays. However, whenever I mouse-wheel over an array indicator.... the indicator goes to index=0. Is this intended behavior? Since I like to be able to mouse-wheel on arrays in GUIs, I am finding myself creating control arrays... setting to a disabled state... and then updating the controls via property node so that I can
  21. Smith, thank you for your answer and for linking these pages. I found them very helpful.
  22. Tortoise SVN with command line tools installed. This lets me call SVN from the LabVIEW system exec, which I use for various applications
  23. Hey guys! So, I've installed LabVIEW 2017 and I'm starting to play around with it. Malleable VIs are cool! (No more giant OpenG toolkits where there are 10 instances of the same VI for multiple datatypes.) Another cool thing that I've observed is that the example "sort 2D Array" function can support a scalar and an array input for index. Upon further digging, there appears to be an interesting disable structure that intelligently selects the upstream input that yields non-broken code. Does anyone have more information about this structure? Is this related to the experimenta
  • Create New...

Important Information

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