Jump to content

ensegre

Members
  • Posts

    596
  • Joined

  • Last visited

  • Days Won

    26

Everything posted by ensegre

  1. Seems like your slowing VIs have parts which force them, maybe for no reason, to run in UI thread?
  2. Update, for those who may have missed, JKI published a beta for linux, which on one installation of mine connects flawlessly to LV21. Problem is, on another very similar one (both Ubuntu 20, both with LV14,19,21), it shows ony LV14 and 19, but not 21, among the list of available versions. And, for the life of me, I haven't found a way to make it recognize it. [This suggestion, removing the Target section from Settings.ini is ineffective, probably outdated] ETA: bingo: once I had also LV2020-64 installed on the second machine, and had a dead symlink /usr/local/natinst/LabVIEW-2020-64/labview -> labviewprofull as a leftover of the removed installation. So this fools VIPM search algorithm, which stops at 2019. I had to peep into /usr/local/JKI/VIPM-2022.0.0.2355-beta/error to realize that.
  3. 🤷‍♂️ I came up with this without swearing, though. In truth I still have to test it for real (meaning, that it really compiles smoothly on a target, not just no broken arrow). My goal was to get the job done, not to learn the theory of Xnodes....
  4. I have several, but within bigger applications... Anyway, there are many ways of doing one. The quickest and dirty I can think of is to share the data between main and floating panel via a global variable, to poll periodically the value in the panel, and to trigger a redraw of the chart only when a change between old and current value is detected. Of course this is doesn't scale up very well; for more sophistication you could set up notifiers between the two, transmit only the portion of data which changed. There are several inter-VI communication options, the best one depends on the use case. To make the panel floating and open it pressing a button on from main, etc, VI server FP properties/methods.
  5. Is an ethernet device sitting on the same network of your PC acceptable? Then there are common solutions, common in server cabinets and datacenters. Search for LAN restarter, managed PDU, etc. We are using this one (220V), but there are a number of others. Think of it as a smart timed relay, which publishes its buttons on awebby, but acn also autonomously turn on/off sockets according to a schedule, or upon an ip address not answering anymore to ping.
  6. @infinitenothing, I think I can do what you & danield were looking for, by using first EIOPlaceDownEIONode.vi with an empty State, and then iteratively adding channels with EIONode_ScriptAddChannel.vi, simply providing the channel name. Using LV2014 (for legacy FPGA support), the VIs are in C:\Program Files (x86)\National Instruments\LabVIEW 2014\vi.lib\eio\EIONode. At first was that I was trying to call only EIOPlaceDownEIONode with a populated State array, but that has too many fields to fill in which I wasn't able to guess nor to retrieve from a working example; only passing 'alias' is not sufficient to link with the right resource. So yes, this is actually OT because it is not about Hybrid Xnodes or whatever...
  7. well, some do... Anyway, many years ago I had too a project with 1.25Mp@500fps. Needed a raid array of 8 hard disks to stream seamlessly, raw bytes only, of course.
  8. It's a complete shot in the dark, but have you tried LD_PRELOAD=/lib/x86_64-linux-gnu/libzmq.so ./labview ?
  9. Seven years later, another incarnation of VPN and ubuntu 20.04, still the very same problem hit me again for LV14.0: immediate crash if started while Checkpoint snx is running, no crash if snx is started afterwards Not with LV2019, not 2021 in the same conditions... Since I need specifically LV14 for a legacy project, I have to remember where I put the 14SP1 installation media.
  10. Today I remarked that synaptic knows about ni-daqmx-labview-2021-support, so I marked it and installed it. I guess that NI repos were not updated. The familiar DAQmx VIs appeared in the palette at LV restart, I can open a VI which uses them. I still have to get hold of some device to test that they really work.
  11. It's spam, as it copied sentences from the first post of Thang in this thread. However, with some syntactic changes .... I wonder if that is AI or a literate poor spam factory worker.
  12. Finally officialized by NI, I see: https://www.ni.com/en-il/support/documentation/bugs/22/ni-linux-device-drivers-2022-q1-known-issues.html, 1860393
  13. anecdotal evidence?
  14. Noting down this mainly for self reference since it occurred to me time and again, in case it helps others too. I have several recent versions of LV installed on Ubuntu 20.04 (with alien). The nice thing is that somehow a NI deb package stream became known to the system, and some package upgrades are found automatically. However there is one caveat: each time the kernel is upgraded, several NI dkms kernel modules need to be recompiled. Usually that is automatically done, but sometimes stumbles on a missing config/modversions.h file. It seems that not every kernel headers package includes it. Missing that, LV crashes as soon as anything needing one such modules is loaded. E.g., as an easy test occurrence, when putting a new VISA control on an empty FP. The solution is trivial: if the (usually empty) file is missing, create it with sudo touch /usr/src/linux-headers-XX.YY.ZZ-generic/include/config/modversions.h where XX.YY.ZZ is the kernel du jour version (e.g. 5.13.0-28 as of today). sudo apt reinstall ni-kal and a reboot then fix the crash.
  15. via ini keys, perhaps? https://labviewwiki.org/wiki/LabVIEW_configuration_file/Execution_System#ESys.StdNParallel
  16. right. In fact, all the three DS... I see. The xnode GetValueByPointer is geared to create the CLN in any thread IIUC its code.
  17. The VIs are in <vi.lib>/Utiity/importsl/
  18. Yeah, https://forums.ni.com/t5/Developer-Center-Resources/Dereferencing-Pointers-from-C-C-DLLs-in-LabVIEW/ta-p/3522795?profile.language=en. Still I miss at the moment how to write in memory without writing a wrapper. Btw IMAQ has also https://zone.ni.com/reference/en-XX/help/370281AG-01/imaqvision/imaq_mempeek/, but again only for reading. [in linux, we're talking of /usr/local/natinst/LabVIEW-XX/resource/libmgcore.* I guess]
  19. From memory, basically these. Though not quite, because the write part appears to want a Cstring, and thus stumbles on zeros in the data. I think the most frequent case I had to deal with was that of a library returning the buffer to a filled pointer, which I only had to read.
  20. You display a NI badge and you're asking this from us??? What is this, a joke? Anyway, the problem is solved for NXG and so there is no need to ask further. https://forums.ni.com/t5/LabVIEW-Idea-Exchange/Support-Unicode/idi-p/921449
  21. Also I don't understand the purpose of your while loop
  22. well, they are different, they measure different things. The question would be what is more meaningful in one or another use case. When I started thinking at it I had in mind an input corrector (which I'm not sure I'll really pursue) which warned the user about possible misspellings and likely corrections, but then one might consider that compared to "Digital input D1", "digital input D2" may be more right than "diggital input D1". Heuristics.
  23. The download page says that the package is for 32bit, but all the rpms provided in it are x86_64, and so assumes the INSTALL file at quick skimming through it; OTOH $ file /usr/local/natinst/nifpgacompileworker/CompileWorker.exe /usr/local/natinst/nifpgacompileworker/CompileWorker.exe: PE32 executable (GUI) Intel 80386 Mono/.Net assembly, for MS Windows I added /usr/local/natinst/mono/lib64 to /etc/ld.so.conf and sudoed ldconfig, but I remained at the same point. I think I'll leave it as "whatever", for now, I see that for the project in question I have other compilation options, so I can live without. But thanks anyway for the feedback, Rolf!
  24. Here they come for 2019. For the little these require sets, i.e. only to find the common elements among two character arrays, I think that it would be pretty easy to reimplement them without, for earlier versions. StrikeAMatch.vi StringDigrams.vi
  25. Thanks, I'll check your one too. I've seen out on the internet that the most popular method suggested is the Dice (strike a match) metric, followed by the Levenshtein, beyond that it looks as it is mostly for theoreticians. Since the metrics have different merits, I have yet to figure out which may be better for what I have in mind. In the meantime, however, here is my quick implementation of Dice. LV2021, based on sets, hence not so backportable (down to 2019, perhaps). StringDigrams.vi StrikeAMatch.vi
×
×
  • Create New...

Important Information

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