Jump to content


  • Content Count

  • Joined

  • Last visited

  • Days Won


Everything posted by hooovahh

  1. Glad it helped. Is there a repository somewhere of these types of gifs? I'd love to have a library of controls or something. Like I mentioned a QControl can probably handle this well.
  2. I've recently released the Variant Repository code as a package on VIPM.IO as VIMs. Some of the magic is lost going from a series of XNodes to VIMs, and even more wind is taken out of my sail by the fact that Sets and Maps can do what VRs did in a more native way. However I have some code I'd like to share that relies on Variant Repositories, so I cleaned it up for a release. And replacing those functions with Sets and Maps would mean my code could only be used by 2019 and newer. In the future when 2019 doesn't seem so new I'll probably remove the VR dependency. Or maybe I'm being lazy I
  3. To be clear I don't know that this is what JKI did, and no one told me they did this. I just know I didn't upload my stuff to VIPM.IO, and saw it was there which lead me to believe that this is what they did. The rehosting of BSD stuff is probably fine. The using LAVAG.org in ways that might go against terms of use might not be.
  4. So I'll admit I was dragging my feet a bit when it came to VIPM.io. I sorta saw this as another standard leading to this XKCD. But the process is pretty slick, and pretty easy. And the fact that it seems to have already crawled LAVAs Code Repository means a few of my tools are already there and looking nice. One issue I saw is with the screen shot resolution limitation. 800 x 500 is a decent size, but I found some of my palettes didn't fit and needed to be shrunk to fit. Is this size limitation just to ensure it fits on the page well? Here is my array package and I needed to scale
  5. I did use something a while ago that sounds similar to what you are describing. First I'd like to know if the OS it self is supposed to be on the USB drive too or not. If not I'd look into Thinstall or Thinapp which is virtualization software. Years ago I tried it and it worked for running LabVIEW IDE portable. It scans your system, you install software, it scans again, and then sets up a sandbox with the difference in files that can run on a similar OS without needing to install anything. It mostly worked but had issues. If the OS is supposed to be there too, then maybe run some kind of
  6. Pretty hard to tell. I mean the game came out in 2001, so development was probably 1999 or 2000. The UI could be Window 98, or Windows 2000, and it could be LabVIEW 5 or 6. But honestly it could be anything.
  7. Being able to combine your data processing, and GUI processing into a single loop is sometimes useful to reduce complexity. However, plenty of LabVIEW developers intentionally keep those two things separate. I've of the opinion that as long as you are very confident that the work being done is short, and won't keep the UI from locking up, then this approach is fine. Of course rarely can I predict how large an application might grow and how much of an impact this will have on the UX.
  8. Awesome and congrats. I look forward to any kind of revelation or perspective changes you have as a result.
  9. I do something close to Neil. My messaging structure uses the user events, and so in my event structure I have a long timeout of say 5000ms. In that timeout case I check to see if the user event is valid (not a number/reference). If it isn't valid then go clean up, I probably forgot to send a quit message or something shutdown improperly. I made an idea on the idea exchange to generate an event, when a reference gets destroyed over here which would make this a bit more graceful.
  10. At what point in the video does a tab get removed? I just watched it and no tab is removed. I just downloaded the code and you are right that the Remove Tab doesn't work. Not sure why, but I probably just forgot to implement that.
  11. Since this thread I've been using separate projects for each target. Debugging things aren't that difficult until it is some interaction between the two systems. I'll build my RTEXE, deploy it, then run my Windows VIs from the Host Only project. I might then realize the issue is on the RT side, so I then build the Windows EXE, close the Host Only project, open the RT Only project, open and run my main RT VI, then run my Windows EXE. Lots of building, and deploying when debugging. But since most issues I encounter are clearly one targets bug or the other it isn't too bad. I'll just open t
  12. For personal use at home I use Acronis. I've only ever used it for whole OS backing up. It supports incremental backups, and has a pretty decent scheduler. So my home computers all backup to a network location once a month doing an incremental backup. This is much smaller but only tracks the differences from one backup to another. After 5 incremental backups it performs a full backup. After so many backups it deletes the old ones. There was a 3 pack of software that went on sale years ago which came with a mail in rebate basically making it free. It has a CD image that you can boot to
  13. Not that I know of. You can email certification@ni.com for questions. They are pretty responsive.
  14. Thanks for the video, definitely never seen that. I'd suspect it is an interaction with Parallels, like LabVIEW losing track of what you are under as you transition to other systems. No idea.
  15. I don't follow you and may need a video to understand. Are you saying you can't drag an item from the palette onto the block diagram? I've never seen what it sounds like you are describing.
  16. Just anecdotally I'd say my 2020 RT is more stable than 2017 and 2018. I do use a couple RT utility VIs, but I have separate projects for the Windows Only and the RT Only portion. In the past I had issues with opening things in the other context causing problems and long recompile times. With two separate projects there is no code under the other target.
  17. Sorry about the snippet thing, LAVA sometimes strips out the meta data for it. In any case Crossrulz is right there is a function for this already.
  18. Your Fig 1 still has a couple issues. First the memory issue. You build the array, then put it into a shift register that continues to build. You need to perform the array subset, and then put that into the shift register. Because adding elements at the start of an array were less efficient than at the end (not sure if LabVIEW improved) I often put elements at the end, then perform an Array Size, and if it is greater than some value, I use the Delete From Array, providing the index to delete as 0. Just a pointer that probably doesn't matter. The other issue with Figure 1 is you start wit
  19. I also was a bit frustrated by this some times. So attached is a demo of some panel movement code. It has a few main functions. The first is sometimes I'd have a dialog I wanted to pop up, but I wanted it to be centered on whatever monitor the mouse was on. My thought was that this was the monitor the user was using, and they probably just clicked something, so put it there. I also had times that I would pop up a dialog under the mouse and so I wanted the panel to be centered on the mouse as best it can, but stay on the same monitor. This doesn't always work well with taskbars
  20. The answer like most things is it depends. Are the values from one iteration loop, into the next needed for some comparison check? Like are you going to be checking to see if a value in the array already exists from a previous iteration? If not I would suggest wiring the output of the loop and change the tunnel to be indexing. This has the added benefit of having the conditional input as an option which can choose which elements to have be passed out or not. Another method that might be suggested is to preallocate the array with the initialize array function, then perform replace arra
  21. I don't fully understand the problem. I see that you press one button at a time, and that appends to the string which is limited to 4 characters. That all seems to work fine. But what is the loop trying to do with the hard coded pins? Are you trying to see if the pin matches any of the hard coded ones? If so you can just use the Equal function with the scalar string, along with the 1D array constant. This will return an array of if they are equal or not, and an Or array elements can tell you if any match.
  22. Also seeing this in 2020. I just thought it was me, and my remote environment.
  23. That's a mighty fine VM you got yourself there. Almost like having a VM of this Linux RT target is a super useful tool, that helps troubleshoot and debug features of the embedded UI that are at times "inconsistent" as you put it. For anyone else that finds this useful you should go vote on the idea, and/or contribute to the conversation.
  24. I'd like to see some probes just to make sure those are the actual values going in, since it might be what you think is going in but isn't. Assuming that is fine I'd check to see if it works on a new file and not one that already exists and has a different data type for that group channel pair. Also the reference is valid obviously, but was it opened as "Open Read-Only"? If this is a subVI I'd just unit test this by writing a quick test that creates a file and writes to the channel. Nothing obvious is wrong with the code you have shown, which makes me think it is an issue somewhere else.
  25. Did you log in with your NI account after the install?
  • Create New...

Important Information

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