Jump to content

Jim Kring

  • Posts

  • Joined

  • Last visited

  • Days Won


Jim Kring last won the day on July 19 2023

Jim Kring had the most liked content!


Profile Information

  • Gender
  • Location
    Lafayette, CA
  • Interests

LabVIEW Information

  • Version
    LabVIEW 2020
  • Since

Contact Methods

Recent Profile Visitors

The recent visitors block is disabled and is not being shown to other users.

Jim Kring's Achievements

  1. Here's a new take Here's slightly different take on that idea >> LabVIEW Idea: Enumerated Variant << It works with, but is not limited to, classes. It's inspired by languages like Rust (enums) and Zig (tagged unions)
  2. Thanks for sharing this. It inspired me to dive deeper -- I made a write-up here: https://create.vi/fixing-the-labview-icon-editor-on-linux-42e920743dc7 I've made some fixes to the LabVIEW 2023 Q1 Icon Editor and will share them once I coordinate with NI.
  3. there's a package such VIMs here: https://www.vipm.io/package/vipm_lib_labview_collection_extensions/
  4. Adding a link to this new tool: TOML Edit LabVIEW it is a thin wrapper around a popular Rust library that supports preservation of formatting and comments.
  5. Details here: https://forums.vipm.io/topic/7015-vipm-2023-rc1-for-windows-please-help-us-test-🚀/ Please post any replies in that topic.
  6. That's correct. The OpenG libraries have been migrated to the BSD3 license. You can find links to the active repos here, which have updated license agreements: https://github.com/vipm-io/OpenG
  7. Hi @KumarB VIPM will let you download older versions of packages. Here's what you may need to do: - In VIPM's options dialog uncheck the option to only show installable packages -- this will show all packages, even if they cannot be installed into the current LabVIEW version - In VIPM's package list file the package of interest and then right-click and choose Download Other version. - After downloading, you can find the package file in the C:\ProgramData\JKI\VIPM\cache folder - You can either install it with VIPM or change the file extension from .ogp to .zip and extract the contents. Regards, -Jim
  8. In C/C++ *the programmer* is the garbage collector (at edit time) -- I'd rather have someone else take the trash to the dump for me 🤣
  9. hey @jcstoke I would stick with LV2020 SP1 at this point. There has been a LOT of grief around the wire auto routing behavior in LV2021. Note: an active LabVIEW subscription will allow you to install older versions of LabVIEW (not just the most current), if you like. That's good, IMO, since it encourages people to both play with the new releases (and provide feedback earlier) and also stick with older and more stable releases when needed for production. To your questions about PXI vs cRIO/cDAQ it really depends on a lot of different factors Also, Python *really is* the s#!t. I probably spend as much time in Python as I do LabVIEW these days. They can play nice together, for sure.
  10. Based on some conversations I had with Philippe about this, he's wondering: If you have a VI reference at run-time, can you tell whether it is a static VI reference (via Static VI Reference node) or a dynamic VI reference (opened with the Open VI Reference) function, since the VI lifetimes (and lifetimes of references created within them) are managed differently by LabVIEW.
  11. This bug has been submitted to NI and confirmed. bug number 1289111
  12. OK, here's a game plan I think will work to fix the issue, yet without changing the behavior of the code. Since LV2009 (the version of LabVIEW the package is currently developed in) doesn't have the "Separate compiled code" feature), we'll implement a work-around by creating a special subVI to get the EOL that is not affected by the bug (Note: ignore the fact that the screenshot shows this VI open in LV2020). We'll do this by calling the Array to Spreadsheet string function with empty string inputs. It appears from testing that this does not get constant folded (or at least is not impacted by the bug). And, we'll cache this value for performance on subsequent calls. It'll all be packaged into a tidy little sub-VI, so that it's obvious what we're doing and why. I've released this as version Moving forward, we'll upgrade the sources for this package to LV2013 and mark all the VIs for "Separate from compiled code". We would have done that sooner, but there was a build issue in 2013, due to the fact that NI introduced a VI called "Trim Whitespace.vi" that shares the same filename and thus collides with the OpenG VI (in source code form before it's name mangled in the build process). But, that's a different story (and I think we can work around it during the build process)...
  13. We've figured out more information. The problem seems to go away if you turn ON "Separate compiled code from source file" for 1D Array to String Meaning: the problem occurs when the compiled code is saved in the VI source file. It would seam that LabVIEW is not correctly determining when it needs to recompile/save the VI when switching between RT and Windows.
  14. Here's another potential "fix" that simply aims to work around the compiler bug and doesn't deviate from the original implementation (which helps avoid any unintended changes in behavior that might be caused by a new implementation).
  15. You're right, Rolf. I can see some situations where my proposed "fix" would fail -- if the last element(s) of the Array of Strings intentionally contains EOL characters at the end ["\t", "\r", "\n"] Now, looking at the "1D String Array to Delimited String.vi" that got added to LabVIEW (I'm not sure which version), we see it has a similar implementation (although it doesn't use Match Pattern and simply removes the calculated length of the EOL at the end of the string). I wonder if this VI suffers from the same constant folding compiler bug reported in this thread (I'm going to do some testing). This all makes me wonder if we should be creating the delimited string in a more low-level way (instead of relying on the Array to Spreadsheet String function, which adds the EOL at the end). Here's a simple solution: And, here's a potentially more performant solution for larger strings: Thoughts about the best approach here?
  • Create New...

Important Information

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