Jump to content

Leaderboard

Popular Content

Showing content with the highest reputation since 06/26/2021 in Posts

  1. Two questions about this: 1. Does something like this already exist? 2. Is this something that could be useful? Every once in a while I need dynamic UI components that can be generated at runtime. One nice thing to use for this is a picture control; however it doesn't lend itself as well to keeping other pieces of function such as mouse click events and such. I put together a mini library of UI functions for this that has the ability to be extended. The UI can be generated dynamically at runtime and be any picture thing that you can draw. Using Standard layout techni
    5 points
  2. https://meh.com/forum/topics/building-the-plane-on-the-way-up tl;dr the ground based decoder for some of the comms on Voyager was built *after* the craft was launched, and it still to this day reliably receives data. Wow!
    2 points
  3. You didn't and can't. Unless you are interviewing, there's not a lot you can do. When I interview I get them to do a 30 minute test. It's a test that they cannot complete in 30 mins. I tell them that they are not expected to finish, it's not expected to work, there is no right answer and I just want to see their thought process when tackling a task - just make sure it's tidy enough so I can read it. This is all true. After, we discuss the task. What they thought, what they were and weren't happy with, what issues they think their code has and why they did certain things. Additionall
    2 points
  4. A paean to the utility of JSONText.
    1 point
  5. Alternative (6): all attributes are returned as JSON values. Rather than get the attribute as the actual type, the User would get the attribute as a string, then use From JSON to convert to type. One could make VIMs that combine these two steps, and these VIMs might possibly be made to work with non-JSON attributes as well.
    1 point
  6. I think AQ is enjoying this role as the end user instead of the LV programmer 🤣 I do appreciate following these edge cases though. I use this tool widely and it is fantastic.
    1 point
  7. Then you are already more advanced than the average programmer. What you will see? Or how long it will take to make it right? Sub VI, sub VI, sub VI. Look for reuse. Take a very small section and make it a sub VI (only one click). Clean it up. Nibbling old code from spaghetti to sub VI's has huge benefits. Don't do it all at once. A little clean up goes a long way. Do a sub VI every week or month. I can guarantee you've rewritten the same behaviors and data manipulations many times in the past; probably even within the same application. As you create the sub VI's you wil
    1 point
  8. The code underneath is definitely NOT thread safe. It's concerning the Text Manager, another subsystem of the LabVIEW GUI system and the entire GUI API is UI_THREAD since the Windows GDI interface, which these functions all call ultimately weren't thread safe either back then and may in various ways still not be. Windows has some very old legacy burdens that it carries with it that Microsoft tried to work around with the Windows NT GDI system but there are a few areas where you simply can't do certain things or all kind of hell breaks loose. Now I happen to know pretty much how this funct
    1 point
  9. Looks like that info was taken from this link: https://forums.ni.com/t5/NI-Linux-Real-Time-Documents/Touch-Screen-Troubleshooting-NI-TSM-1015/ta-p/3537931?profile.language=en
    1 point
  10. Hi Neil, The TSM-101x calibration issues have caused me no end of problems. It'll lose calibration if the USB cable is unplugged and plugged in while the cRIO is on. It'll lose calibration if you run the calibration utility twice in a row. It was impossible to calibrate at all running on an older version of CompactRIO drivers (I think 18.0 didn't work, but 19.0+ does). I've raised all these issues previously but only get back the same set of KB articles, and they don't solve anything - manual edits to the 99-calibration.conf file don't work, or simply cause the screen to go black. Th
    1 point
  11. Note: latest version supports comments. https://forums.ni.com/t5/JDP-Science-Tools/BETA-version-of-JSONtext-1-6/m-p/4146235#M39
    1 point
  12. Ah, this can be illustrated with this image: JSONtext does not follow the common error rule of returning default value on any error. Instead, it returns best-efforts, with only sub-elements that produce errors being returned as the supplied default. Here it is only the "B" element, requested as a Float but a String in the JSON, that is returned as default (as explained in the error message). Thus we are doing the Variant-to-Data even on error, in order to get this partial conversion of JSON to Data.
    1 point
  13. Down here, you can't really hire a good LabVIEW programmer; all 10 of them have jobs they don't want to leave, so you'll just have to make your own. That's often easiest if that person has no LV experience. In that case you know they haven't been poisoned by "that uni course" they did where most certainly single-vi spaghetti with lots of local variables for "storing data" was the result. Candidate must have good understanding of generic concepts and not make a face when quizzed about graphical programming
    1 point
  14. Interesting idea, I've made a quick implementation of it just for fun. This might actually be usefull on touch screen GUIs, I need to explore that. DragNumeric.vi
    1 point
  15. I should have put a smiley at the end of my sentence 😅
    1 point
  16. I am not *that* paranoid, but certainly I like to push my work at the end of each day. I am not actually anti-git, it is just taking me a while to get used to its best practices and nuances.
    1 point
  17. Depends on what the server's role is, right? If the server is my cloud backup, then yes I should push all local branches to the server all the time. If the server is hosting a large open-source project that I'm contributing to, then I'm usually not allowed to push my changes to the server until I've finished everything. If the server is hosting my public project releases, then I keep my WIPs and experiments local, and I only push "polished" (possibly squashed/amended) commits. That last scenario minimizes low-quality commits like "Fix typo in previous commit" t
    1 point
  18. I added what I have to https://github.com/taylorh140/Pgui. It's only right since I copied the enabling technology right from this forum. I don't know if ill have a huge amount of time to work on this but ill defiantly try and improve it when I can. There is still a lot of things that would be nice to develop for this.
    1 point
  19. Looks Cool Maybe we should make a public framework for this and a big open source library of UI components. FYI you don't need to wire an empty class constant to the create methods 🙂
    1 point
  20. FYI to anyone using Bean's VIs. I was successfully using them in an application, but they had a peculiar side effect. Whenever another application on the system (G-Force) was in full-screen mode, the LabVIEW application windows were non-responsive to mouse clicks. If I switched G-Force out of full-screen mode, the LabVIEW windows started behaving properly again. It took me a while, but I figured out that in order to fix the issue, I needed to add another call to 'AttachThreadInput' at the end of Bean's code IF AttachThreadInput had been called earlier. In Bean's code, the 'fAttach' parame
    1 point
  21. I am not sure I understand the reasoning. The DMC image display control is just a cosmetic modification of the original control. It doesn't change anything to the underlying coding. It seems to become a consensus that checking that box sounded like a good idea, but turned out to be a very bad one in some cases. I have stopped checking it when releasing a standalone app, as I don't have the bandwidth for testing all corner cases. Again, as long as nobody reports the issue with NI, nothing is going to be done about it. I won't because of the above sentence, but someone making his or h
    1 point
  22. No there isn't such a driver (that I would know off and is openly available). There might be in some closed source environment for a particular project (not LabVIEW related, Pharlap ETS was used in various embedded devices such as robot controllers, etc) that used Pharlap ETS in the past but nothing that is official. There are several problems with supporting this: 1) FTDI uses a proprietary protocol and not the official USB-CDC class profile for their devices and they have not documented it publically. You only can get it under NDA. 2) Pharlap ETS is a special system and requir
    1 point
  23. MAT files are now just H5 files(HDF). Look at the library https://h5labview.sourceforge.io/ and find the example for writing a MAT file. You just need to add a special header in the beginning. I assume the dlls needed will work on Windows server, but am not sure.
    1 point
  24. I'm kind of unsure whether this could be accomplished with a common File Dialog or an underlying yellow File Dialog and its ExtFileDialog internal function. But you could switch to .NET and use some third party libraries available. One of those is BetterFolderBrowser proposed here. I have just tested it on both 32- and 64-bit LabVIEW 2019/2020 and it works great. Here's the basic example: Untitled 1.vi
    1 point
  25. For a final Case. Sadly there isn't any non-depreciated Items to replace that vi. Which makes this work for Clusterzilla. ArrayToCluster.vim
    1 point
  26. Someone reported a similar issue on the dark side. Are you using typedefs? https://forums.ni.com/t5/LabVIEW/chm-help-file-and-executable/m-p/2703303#M802558
    1 point
  27. You probably have javascript disabled or an addon blocking the javascript. 2 people have registered today so the site is working correctly.
    1 point
  28. enableSecretPopups - I put this token into LabVIEW 2011 for Silver control development, as a quick-and-dirty way to make low-level control edits. I've been giving it out to people on a very limited basis, but I guess since it's out here I'll widen the audience. I show a screenshot of the new menu items in https://decibel.ni.com/content/docs/DOC-17431 Once this token is enabled, you'll be able to see the settings on parts of the Silver controls to get an idea what they do. eg "Left Move" means the part will move left when its "master" part changes size via moving its left edge. "Left Gro
    1 point


×
×
  • Create New...

Important Information

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