Jump to content

hooovahh

Moderators
  • Posts

    3,364
  • Joined

  • Last visited

  • Days Won

    268

Everything posted by hooovahh

  1. I won't be there this year, and haven't heard anything about an official BBQ. Fingers crossed for a full normal NI Week next year.
  2. It's fine I moved it to a category I think fits. The Lounge would also work, which is a catch all. In the future feel free to use the Report to Moderator function giving text about what you want to have happen to a thread.
  3. So I've been using, and loving OpenG zip functions on my x86 based embedded cDAQ running RT Linux. But I recently ran into an issue. The newest versions of XNet only supports being installed as OPKG packages. These can only be installed by using the System Image install option, and not the custom option that is needed for OpenG Zip. As a test I SSH'ed into my controller and copied the liblvzlib.so where it belonged, and my previously written code seems to find and use it. Is there any plan to update the inno installer to somehow add feeds or something so that the OpenG Zip tools can be installed through MAX, on controllers that use the System Image option?
  4. That reminds me of a couple insults that I like but rarely use. "Room temperature IQ", and "Shoe size IQ". Digressing a bit but my new favorite is "You aren't the dumbest person on the earth...but you better hope they don't die." Also I think I'm more wise in my age, but I'm less flexible. I've also been told I'm hard to talk to, abrasive, and unapproachable.
  5. I can't tell honestly if that is the same thing or not. I looked up the part number and it said it is a "LabVIEW Real-Time Deployment License for PC", but on the page talking about converting a Desktop PC to an RT target, it states "Note: NI is not currently planning on supporting conversion of desktop PCs to NI Linux Real-Time targets. Conversion of desktop PCs to Phar Lap ETS targets is supported." And this was last updated 5 months ago. But on a page talking about converting a desktop to RT, it lists Option 2 as using the license you mentioned. Edit: Now that I look at these I think the original page you linked to at Farnell is incorrect. I think that is a normal RT non-Linux variant license and the page is wrong based on the product number they listed.
  6. If you have an MNU inside a class (or library really) you can set it as the Default Menu for items in that class or library. Then if you right on members of the class, or the class constant, then the menu you specified will be available as a shortcut. Lets say I install a File IO package with a palette for it. And then I install as Zip package. I might want that zip package to insert items in the File IO palette, or I might want to make a subpalette for the Zip, or make a subpalette under Advanced for the the zip which is also in the File IO. In any of these cases you can then add the MNU to the zip class, and set it to the default. Now I can have the File IO palette come up if I right click a Zip class, or I can have it come up with the subpalette if that's what I did during the install. Here is some information on it. https://zone.ni.com/reference/en-XX/help/371361R-01/lvhowto/setting_default_palette_menus/ https://forums.ni.com/t5/LabVIEW/Here-s-a-scripting-VI-for-LVClass-default-menu/td-p/2429356 In the scenario I described you'd want to edit the Zip class, but you also will need to edit the File IO palettes, either adding Zip items, or adding subpalettes to it, or linking the Zip palettes to it some where. Doing this causes browse dialogs if say a required Zip DLL was missing and needed to be installed as part of the system. In that case I'd just include the DLL, but in my actual dependencies is XNet which can be a 1GB install so including that in the package isn't ideal.
  7. I don't know much about CINs, CLN, or DLL calling in LabVIEW. But don't be discouraged. Our history makes us what we are. There's several projects I started and spent a lot of time on just to do nothing with, but I feel like I learned stuff or grew as a developer and a person just because of the journey. Maybe that time could be better spent elsewhere. But with that mentality I'd never do anything for entertainment.
  8. I'm currently getting the dialogs because trying to edit a class by adding the MNU to it, but having missing dependencies causes the browse to show up. This is currently a Post Install VI. This issue I worked around with the code posted that does this without using VI Server. And secondly I found that editing an MNU that has VIs that are missing dependencies also causes the browse dialog. A Pre Install VI to check if external dependencies are installed can fix this by failing to install. Hopefully the error can be passed back up to VIPM where it can tell the developer something like "Install XNet before installing this package". But as Darren said there are some tools in it that are useful even if XNet isn't there, and ideally I'd like to install the package before XNet, and just have some of those functions not available. Some aren't sub palettes, and are just items on the base palette. For those I could have a Post Install that opens up the MNU and remove the entries to items that require the XNet install, if it is missing. That way the package can be installed, just some items won't be available that use it. I'd still not be able to edit the Class adding the MNU to it, without causing browse dialogs, or using my custom code I posted earlier.
  9. Yes that's what I do with VIPM. There is a Post Install VI that either adds subpalettes, or runs VIs in the package that defines what palettes to edit and how. For instance you might install a new package and all it does is add a class to the palette along with the other ones. It could add an Advanced subpalette for instance. Or adds a subpalette in a specific row and column. But some are just a list of all sub palettes in alphabetical order. This all works just fine if the required external dependencies are installed. But if they aren't then I wanted a way to install them without a hundred missing VI dialogs. A second best is to just not allow installing it at all.
  10. Sure but if you have an installer, and it also needs to manipulate an MNU to files that have external dependencies that are missing, you are going to see the same Browsing dialog, or if you try to edit a library to add an MNU to it you'll have the same issue. This isn't a VIPM issue, but instead an order of installation issue. I think having a Pre Install VI that just checks for the installed component, and then gracefully fails the package install will work fine.
  11. Yeah what Darren said. Still I think with a combination of Pre Install checks, and the dynamic loading I can come up with something that works. Oh or an XNode that drops a copy of a dynamically loaded VI, if that VI isn't broken? I did start digging into the palette editing code a bit. It seems something inside the "Palette Menu.lvlib:Set Items.vi" is causing the browse dialog when palette items are missing. Looking at it I can't see any place that would open a reference to it, so I'm not sure why it is doing it. By the way I'm not sure who to thanks for the fact that the palette editing code appears to be all G, but it is nice.
  12. Thanks Darren. Just for a little bit of background. I'm trying to make a VIPM package, that when installed doesn't popup all the time asking to find missing VIs, if they are part of NI toolkits that aren't installed. The primary example I have is I have some CAN packages, that use the NI XNet library. If you install the package before XNet then you get dozens of browsing dialogs trying to find things that it will never find. It makes the install take much longer waiting for the timeout of each, or clicking "Ignore All" constantly. One of the reasons the browse dialog appears is the Post Install VI edits the any Libraries, and Classes to add the MNU to it, and setting it to the Default menu. So attached is some very incomplete and hacky code that can edit a Library or Class at the XML level to add an MNU file to it, and set it to the default of that library type. That way when you right click a class it brings up that menu palette. This seems to work well enough and just needs some clean up and testing. I did find another source of browse dialogs during a package install, and that is that I also might edit an MNU to add or remove subpalettes, as part of the Post Install, and Pre Uninstall. I haven't finished troubleshooting but it appears that the Write Palette function causes the browse dialog to come up, if some dependency of a VI is missing. I may need to dig a bit deeper, or just live with these couple of browse dialogs. @dadreamer, thanks for the suggestion, but in this case that won't work. That code basically creates a blank library, bringing over only the icon part, and then it reads the library using the normal functions. The only way I could see that technique working here would be to replace all VIs with empty VIs, and then use the normal functions to read the library structure, then replace them back. Set Default MNU In Library Without References.zip
  13. Is there a way to open a library reference without loading the dependencies? There exists a function to open a VI as mentioned here. Is there a similar thing for libraries? I basically just want to get the file structure of the files in the library, and possibly add a file to the library. I think I can do this with pure XML parsing but don't feel like going down that rabbit hole if it isn't needed. Thanks.
  14. It really sounds like you need to take some basic LabVIEW training if you aren't sure what a control terminal is. In general press CTRL+H and the help window will be opened. From there you can mouse over functions and the help window will tell you what the thing is, and what it does. Here is the Getting Started page of the Wiki. It has lots of topics but the Online Training is the best for this stuff
  15. I know I've post it on Twitter and Reddit when the time comes, tagging NIWeek when applicable, and I've seen several others do the same. I've also brought it up at several user group presentations. Lots of word of mouth at NI Week, but also people attending the BBQ also have been given ribbons to help advertise the event. At one point we talked to NI about getting some kind of official announcement in the NI Week flyers for the LAVA BBQ, but the consensus at the time was that we couldn't handle a huge influx of attendees. In the past we've had large groups of people show up at the BBQ and assume it was an NI sponsored event and was free. Having a general announcement would probably cause that to happen even more often. As for the advanced track it has gotten advertisements in different ways. The first year attendants were given pins that said something like "Ask me about Room G" or something, which people wore with their ribbons. Post presentations surveys were very positive so NI gave two rooms for the advanced track. It got a reputation for presentations that were less marketing and more technical, which NI Week surveys for years have been asking for. I believe the forum got traction because all posts related to scripting were getting deleted from NI's forums. People wanted a place to discuss the rusty nails that is undocumented features like this was, without having NI's oversite. LAVA got a reputation for allowing a larger range of discussions, like XNodes, undocumented file structures, password protections, etc. But to be fair NI themselves have loosened their restrictions on these topics too.
  16. In addition to what others have said, these undocumented functions are undocumented for a reason. NI doesn't want to support developers calling these functions directly, they might only work in small use cases, and the functions are subject to change. Most obviously don't change, and NI themselves would need to update the places they call a function, if for some reason the prototypes for the function were ever changed. So when NI does call one of these functions from a VI they will password protect the VI, to discourage developers from calling it directly. They'd rather you call the VI they provide (if there is one), and in future versions of LabVIEW they can change this VI's connector pane to force a broken VI, or just update their own calling of the VI to use the new prototype. If you do learn some useful function call, please do share it with the community. Members of LAVA are generally familiar with the undocumented, and unsupported nature of these types of things. But they can of course have value, such as Moveblock.
  17. I think LAVA gets a decent amount of exposure at NI Week. It is usually one of the most popular events, aside from the main party put on by NI. But new developers aren't likely flocking to NI Week, especially recently. LabVIEW activity on reddit is quite low, less quantity, but I'd also argue less quality than LAVA. I chime in there occasionally, but without the subforums, it is hard to categorize what you are talking about. Jokes and memes along side NI announcements, people looking for homework help, and technical discussions all jumbled together feels weird to me. Other subreddits have enough activity that the popular stuff is pushed up by voting and the algorithm.
  18. Yeah one thing I wanted to do was only show it when the number of signals were greater than the number of rows shown. If I have room for 4 signals but only 3 were selected to be graphed, I figured I could hide the scrollbar. But that isn't true if the user scrolled down previously. A pain for sure. Always showing it at least never leaves the user being stuck. Oh turns out I did actually post my code that attempted to do graph and selection of signals differently here, with a youtube demonstration.
  19. Yes I've ran into this issue years ago. My solution then was to recreate the functionality of the plot legend I wanted. This was with an array of strings for the signal names, and a separate vertical scrollbar that I could control. I also had a color selection control, and a checkbox for each signal name. It was a real pain and in the end it wasn't worth the effort so I just told my users to remember to scroll up if they didn't see any signals (because I couldn't set the index on the plot legend). I almost made it into an XControl but ugh it was a pain. Maybe a QControl would be better.
  20. Community Edition is the same functionally as LabVIEW Professional. The only difference is the license. So to use RT or FPGA with Community Edition, theoretically you'll need to have access to those toolkits, just like you would for Professional. I have not personally done this.
  21. Yeah we ordered a PCIe FPGA card last August. We just got it last week. Our purchasing team kept emailing us every month asking internally if they could close the account. We'd say no, then tell them to ask next month. Glad it arrived, and glad it wasn't for anything system critical. This is mostly a pet project, and could probably have been done with an embedded microcontroller in C. But we did already have the code in LabVIEW, and maybe it would have taken a few weeks to re-write and test it in another language. Management involved is very aware of supply issues and didn't push the issue much. I did reach out to NI 4 times asking for a status update, and never once heard back.
  22. I should test on my embedded cDAQ again. Because looking at the code it executes this command on Linux: for i in {%s} ;do (ping $i -c 1 -w 1 >/dev/null && echo "$i" &) ;done With a code comment from myself saying 1s was the smallest amount I could use, maybe it does support smaller values.
  23. Attached is my terrible and hacky solution that works pretty quickly. On Windows it uses the Ping View Info program calling it from the command line, then parsing the results. It uses a couple of functions from the OpenG File I/O. Find Ping IP Devices.vi
  24. See I didn't think it was spam right away since they didn't have a link so I flagged it as something to look at later to see if they put a link in the message later. Sure enough they did.
  25. I can't speak to the test itself, sorry I'm not TestStand certified. But in the future you may want to investigate renewing by points. I am not good at tests and am grateful that if I attend and present at User Groups, participate in betas, or attend NI Week, that I can renew without taking any tests.
×
×
  • Create New...

Important Information

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