Jump to content


  • Content Count

  • Joined

  • Last visited

  • Days Won


Everything posted by hooovahh

  1. Well in playing around with the control I crashed LabVIEW so I'd say this was something that shouldn't be messed with, but pretty neat and something I didn't know existed.
  2. Yeah something like that. The password replacement code I think is still posted online in PHP. I wrote the G equivalent and posted the read-only parts online. It has some pretty useful thing like being able to read information about a VI without VI Server. At one point I was able to figure out what objects are on the front panel and block diagram by looking at the raw VI file. Of course doing this means you don't get the satisfaction of knowing what the password was.
  3. I doubt there is any documentation beyond the help included with installing the OpenG packages. If you open the context help on any VI it should show a description of the VI and what it does and how to use it. This isn't always enough documentation on understanding how a thing works, but the source code is fully there too, so understanding it should be possible if the documentation provided isn't sufficient. The OpenG website itself went into disrepair and had spammers taking it over so OpenG discussions were moved here to LAVA.
  4. Yeah I used to have a list of the passwords I had reversed but I can't find it at the moment. I think there was something about Looking Glass , Jack Black, Jabber Wocky, Axes Of Eval, FP Rocks, and a few others that were random characters and harder to remember. I (probably like you) wrote code to go over the most common word lists for words of 5 characters or more, and for 1-4 I just brute forced all combinations, then after that used a program to reverse MD5s using your GPU. It was slow, painful and each new version of LabVIEW added more and removed some. I bet with the advent of new graphics cards this process could be made easier. There is a method in LabVIEW to add known passwords to a cache, and then not prompt if they have been entered so I thought it would be a neat VI to just run which would make looking at all NI VIs easier rather than writing code to replace and remove the passwords thereby changing the VI which I don't like. Maybe we could make that VI, and then password protect it?
  5. I've done this in the past by leveraging the PictureBox .NET component and VLC. Just have VLC installed which is the same bitness as LabVIEW. Drop a .NET PictureBox and then use some of the code found here, which calls into the VLC DLLs to open a stream and display it. Here is another example that I think works too.
  6. Yup State Machines. They aren't the solution to all things but do worlds to organizing your code and for readability. You can create one single BFC (large cluster) that is in a shift register with the things you want to read and write to like variables. Except you know where these variables are being read and written to, and you have state order to ensure one thing happens after another. Once your code gets so large that a state machine can't help you, you should learn about actor based software designs. Not necessarily NI's Actor Framework but actors in general. Independent parallel running loops that do dedicated tasks. This helps modularize your software so all the File IO stuff is handled in one place, and all your DAQ stuff is handled in another, and all your UI stuff is in another. Breaking up larger problems into smaller more manageable ones is something LabVIEW is good at.
  7. Most Brians I've met are pretty cool, but those shifty Bryans on the other hand I wouldn't be to sure about.
  8. I noticed some of your VIs were missing and showing a placeholder icon. I'm guessing as selections are made or scrolling happens, NI is constantly checking for things and the larger the VI the larger the delay, but also the more things it needs to check which are missing the longer the delay. Of course NI could optimize it and they likely have for most cases, but what you are seeing is probably an issue they didn't test for, or tested for but not in as extreme case as yours. This is all of course just a guess, but it is based on other IDE performance issues I've seen in the past relating to NI checking for what things need to be recompiled and what things don't. If you can send the VI to NI I'm sure they would appreciate it, and by extension the rest of us who happen to have to deal with that too.
  9. You're welcome to use whatever license you want, but for LabVIEW we see lots of people use BSD for the kind of "I don't really care, just have this and I'm not responsible, and leave any attributes I have in the source" kind of thing. Obviously that is oversimplifying it. Here is a thread on LAVA.
  10. It should say "with locked diagrams you can't fix the problem without potentially breaking licensing, violating IP, or violating ethics". Yes that site, along with the method of signing VIs is semi-known.
  11. I usually spend a minute or two on the look of my wire but just so it doesn't look like all the other ones. This tool could be handy in making sure they look unique. Does a randomize button make sense? Or does random patterns just look like garbage? The NI GOOP Development toolkit has a random button for wire appearance, and icon appearance. A lot of time I will click the random button until something is close to what I want, and then I'll adjust things a bit more. It might be a good idea to have something similar in this. Actually it might be even better if this were added to that toolkit...
  12. How much LabVIEW do you know? I'll admit that some of altenbach's code is using some techniques I wouldn't have thought of, but simply posting his VI and saying you are stuck gives me the impression you don't have much training. I'd recommend taking a bunch of the free LabVIEW training that is online, and then I'd recommend you start over with your own design. As for your specific question I'd say the solution is to have a conditional check (case structure) around the part of the code doing the swapping, and only perform the swap if the second click, is one move away from the first click. At the moment you aren't keeping track of what the first click is so you'll need to do that so the second click can be checked.
  13. Nope, at the moment the progress bar is an indicator only. It can be value only, which will use the web control made in javascript so the appearance will be slightly different, but there is no way at the moment to interact with it. If you understand JS better than me, then you could probably add the control functionality. As for the background image I've never had a need for that, but I can see that it might be useful. One option might be to just place a 2D picture control behind all other controls on the front panel, and load it with an image. It should default to Image Only mode, and if I did the Z order stuff properly it should work, but to be clear I never tried using that control.
  14. If you prefer the reverse I made some code here that modernizes a front panel and attempts to replace all controls with the modern equivalent which I prefer for front panels not typically seen by the user.
  15. So does that mean that this deprecated function is still semi-supported? I assume it was deprecated for a reason, is it unstable under any known circumstance?
  16. I think multiple sessions to the same running VI has been supported for a long time. It is really giving different sessions to different users that is the tricky part which I tried doing with reentrant main VIs. What I'm saying is if you want 2 or 3 people to see the same page, I don't think any thing extra needs to be done but they all will see the same view.
  17. I don't remember that being an issue. That being said it might not be a bad idea to append the instance ID to all UIDs just to ensure that it is going to the right place. Still I did experimentations a while ago and I'm not sure what I did but I clearly had something working (or seemingly working) a while ago on an internal version. I'm working on other projects at the moment so I haven't had time to support this, and with NXG seemingly getting better all the time it makes me want to look to using that for things like manual panel.
  18. And referenced in that post is my work around. It isn't so much that the PNGs are having meta data stripped, it is that they have a custom image viewer which adds a scaling size. Viewing the raw image still allows snippets. Also downloading the snippet might work too. https://forums.ni.com/t5/Feedback-on-NI-Community/How-do-I-get-a-snippet-from-the-board-into-my-block-diagram/m-p/3763571#M15575 So Michael here is a working snippet from NI's site: https://forums.ni.com/t5/image/serverpage/image-id/214063iB57FB649CBEA2ED8
  19. EXE - I don't remember all that is involved in making this work, but I did have it working. I think the main thing is getting the paths right to the various external files needed for HTML generation. Multi User - I did some preliminary testing with this by using reentrant VIs. The idea was that each request to a page would create a new clone of a VI and that close is that that user would see. It worked okay, but was a bit of a hack. So it is possible but wasn't pretty. Pop-Up - Never looked into this sorry. I bet something could be done since there is a dialog on the HTML page for configuring the refresh rate (click the gear in the lower right). I'm not good on the HTML side of things, just the LabVIEW side so I don't know what it would take to come up with dialogs and make them work. It would be possible for something but my suggestion might be to try to put the configuration on the same single HTML page rather than a separate dialog if getting that to work is too hard.
  20. One of the reasons I heard that NI is making this a separate add-on is that the bundle also comes with some NI cloud hosting functionality. I'm not sure what it is, and I'm currently not interested in it. But there is probably some additional overhead for every user that takes advantage of that part of the toolkit. It wouldn't be as profitable but NI should have made the WebVI part of NXG, and had the cloud hosting be a separate toolkit on its own.
  21. Oh that is an interesting request. In debugging I would do something like that where I would run the VI, it would generate the HTML and open it, and then from there I could CTRL+Shift+I (inspect source) and then look at all kinds of things like network traffic and UID values. I can see why it might be valuable to edit the HTML code generated. I'd suggest some kind of post processing VI which edits the already generated HTML, rather than forcing your HTML to be used. This is because things with the HTML could be changed on a run of the VI, like UID values, labels, adding/removing controls, etc. Starting with something that works, and then running something to post process seems like a better design in my mind, but that is without knowing the kinds of edits you make to the HTML.
  22. Oh man how I hate it when I don't check LAVA for some amount of time and interesting discussions take place. Maybe interesting discussions take place because I take a break?... Anyway the killer feature in my eyes is WebVIs. Be able to run G code in a browser! On paper that is awesome. But NI choosing to make this an add-on at an additional cost makes it less accessible. But to answer the first question I do use NXG on a current project...but it is just for the web stuff. The large part of the application runs in a current gen LabVIEW EXE which publishes data where the NXG web VI can perform requests and show formatted data. Pretty minor of a project and several work arounds for things that were missing. As for when do I think I will have a real full application in NXG? Maybe 2021, but it will all depend on feature set. And honestly with 2018 now being stable, and having all the features I want I don't see wanting to upgrade. I don't know of any new feature planned for the future that would make me have to upgrade. I do like the flat UI look, and NXG is decent with that. Having NXG style in 2018 is nice, and my UI's lately are a mix of system, NXG style, JKI Flat, and Flatline. NXG is quite limiting at UI design still which is just another reason to stay in current gen.
  23. Wow I never knew about that and the fact that it can handle dotted properties is awesome. Darren is there a reason we shouldn't be using this thing that does exactly what we might want when the proper method lacks this functionality?
  24. Here is an article to wipe Linux RT controllers using SSH. https://knowledge.ni.com/KnowledgeArticleDetails?id=kA00Z0000019LfbSAE&l=en-US
  25. Someone from NI can chime in, but I think this is not possible and is one of those limitations of LabVIEW Scripting. QuickDrop has a CTRL+Shift+B that operates on a property node and it has a limitation of not working with "dotted properties". I assume that's due to a limitation with LabVIEW's scripting otherwise NI would have supported it.
  • Create New...

Important Information

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