-
Posts
3,392 -
Joined
-
Last visited
-
Days Won
284
Content Type
Profiles
Forums
Downloads
Gallery
Everything posted by hooovahh
-
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.
-
Style Tips for Spaghetti Block Diagram
hooovahh replied to TUzzell's topic in Application Design & Architecture
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. -
Most Brians I've met are pretty cool, but those shifty Bryans on the other hand I wouldn't be to sure about.
-
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.
-
Wire Studio - more options for customizing class wire appearance
hooovahh replied to Sparkette's topic in Code In-Development
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. -
Wire Studio - more options for customizing class wire appearance
hooovahh replied to Sparkette's topic in Code In-Development
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. -
Wire Studio - more options for customizing class wire appearance
hooovahh replied to Sparkette's topic in Code In-Development
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... -
Need help creating Candy Crush type of game.
hooovahh replied to Rezar Nashoua's topic in LabVIEW General
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. -
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.
- 137 replies
-
Front panel control batch replacement problem!
hooovahh replied to kaly2002's topic in LabVIEW General
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. -
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?
-
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.
- 137 replies
-
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.
- 137 replies
-
LabVIEW snippet PNGs are being sanitized
hooovahh replied to Phillip Brooks's topic in Site Feedback & Support
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 -
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.
- 137 replies
-
LabVIEW NXG - when will we start using it
hooovahh replied to 0_o's topic in Development Environment (IDE)
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. -
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.
- 137 replies
-
LabVIEW NXG - when will we start using it
hooovahh replied to 0_o's topic in Development Environment (IDE)
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. -
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?
-
Transfer Image from cDAQ-9133 Linux RT to cDAQ-9133 WES7
hooovahh replied to viSci's topic in LabVIEW General
Here is an article to wipe Linux RT controllers using SSH. https://knowledge.ni.com/KnowledgeArticleDetails?id=kA00Z0000019LfbSAE&l=en-US -
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.
-
Transfer Image from cDAQ-9133 Linux RT to cDAQ-9133 WES7
hooovahh replied to viSci's topic in LabVIEW General
Yeah but I wonder how much of a format this really does. I was experimenting with reading/writing NTFS drives from within Linux RT. All that was needed was a few commands to install the appropriate package through opkg. After that it could read and write NTFS USB drives just fine. At some point I wanted to start fresh so I formatted it through MAX. But after the MAX format I was still able to read and write NTFS drives. So I suspect this isn't so much as a format as a "Remove all NI software and config, and copy over the base image". All OS level things might just be left alone. I never really followed up on this, and I do have several controllers so I could have mixed one up and formatted the wrong one, I'll try to reproduce this test later today to see if it is reproducible. See edit, I thought MAX format didn't wipe everything, now it seems it does wipe more than just NI software as OPKG installed packages are removed. EDIT: Okay a few other things for anyone that cares (just me then?). If you are using the Legacy FTP, you can read NTFS drives but cannot write to them. Running LabVIEW VIs, and the web interface to look at the U drive returns errors, and empty drives, but FTP can read and transfer files. This is where my confusion came from. I formatted the controller and FTP could still read the drive. But since I couldn't write to it or transfer data to it without extra packages being installed, this means a MAX format does uninstall OPKG installed packages, so it probably does wipe everything and start from a fresh image. -
I downloaded the web install last week and speeds were as slow as I expected due to our infrastructure issues. By that I mean it didn't seem any slower than usual, maybe the developer suite's are cached differently. Also geographic location can be a factor since NI has several data hosting locations and it is supposed to pick the one closest to you. Since all my internet traffic is routed half way around the world while at work I have no idea where my download came from, but I'm in the Detroit area.
-
Transfer Image from cDAQ-9133 Linux RT to cDAQ-9133 WES7
hooovahh replied to viSci's topic in LabVIEW General
I'm still searching but I had a similar issues. Someone mistakenly ordered the Windows version of the 9132 when we wanted the Linux RT. I asked NI what it would take to change it over and they said we would have to send it back getting a refund (probably minus stacking fee I can't remember) and then buy the new one. The reason was that the part numbers of the product were different and one example was that if we ever needed support it would be directed to the wrong place, and a replacement would give us the wrong one. I can't remember if I had this conversation in an email or online, or a private message I'll post it if I find it online. -
Okay I'm in the process of downloading the fall bundle but I can say that I am thrilled to find that the F1 patch fixes a major crashing issue with access violation, and illegal operations I've been having. The cause is unknown but I suspect it has something to do with subpanels, splitters, and call asynchronous nodes, but to be honest it could be anything I couldn't nail down the issue. And if patches are like the ones in the past, the 2018 SP1 F1 patch must be installed over top 2018 SP1. I suspect this was a patch discovered after going gold with 2018 SP1 and being sent through the validation, and DVD pressing process. A pain for sure to have to download a huge thing install it, and then realize there is more to download and install, but if it finally means being able to get LabVIEW working again I'm happy. EDIT: Seems my issue was likely CAR 715018