-
Posts
4,973 -
Joined
-
Days Won
310
Content Type
Profiles
Forums
Downloads
Gallery
Everything posted by ShaunR
-
The caveat here though is that USB is not an easy interface even in LabVIEW. I've heard that many people decide to make a MAX configuration instead of USB driver because it's just so damned low level and does anyone remember the difficulties with webcams? I use libusb and a 3rd party wrapper for the RTL-SDR which is not only far easier but much faster. A wrapper and DLL driver is probably a must for asynchronous callbacks - it's not for the faint-at-heart. The only time a USB device is easy is when it presents itself as a COM port which I very much doubt for streaming high speed IQ data.
-
The Disconnect can take a device ID (according to the matlab example). However. this little gem was in the python: note: the API can only currently access one at a time I would expect better from them (intern?). Their proprietary software supports multiple devices so its just what they are supplying with the RSA API. All their GPIB and Ethernet devices are SCPI compliant so I wouldn't be surprised if it was just SCPI over USB with Bulk transfers for IQ data streaming. But considering the state of the API, you never know. You'd need the programmers reference.
-
Hmmm. This seems just plain wrong (on so many levels). The Tektronicss RSA API has the following two functions DEVICE_SearchInt DEVICE_Connect Which would suggest it can quite happily support multiple devices. Interesting though. I didn't see a "Close" or "Disconnect" function in the examples (I don't have the actual driver to check).
-
So do I.
-
-
Yes. But he will be populating the array data inside the DLL so if he mem copies u64's into the array it's likely little endian (on Intel). When we Moveblock out, the bytes may need manipulation to get them into big endian for the type cast. Ideally, the DLL should handle the endianess internally so that we don't have to manipulate in LabVIEW. If I'm wrong on this then that's a bonus. I think this can also be done directly by Moveblock using the Adapt to Type (for a CLFN) instead of the type cast but I think you'd need to guarantee the big endian and using a for loop to create the cluster array (speed?).
-
-
You could do this. It may be a lot easier handling a contiguous array in your DLL than a LabVIEW array of clusters (but that is possible too). Instead of creating 1000 pointer arrays of 256 (uint64s?) just pass a single 1D pointer of an array of 256,000 elements and pars it out as above.
-
-
DSNewPointer can create a pointer to an array. It's in VIlib\Utility\importsl. You can then use the GetValueByPointer XNode to retrieve the array (or Moveblock if you need speed).
-
That was the best presentation content I've seen from NI for many-a-year. Cheekily mentioned (almost under his breath) he'd found a way to use the Match Pattern to replace Regex. I too use Match Pattern instead of regex because it beats the hell out of it for performance but it's never as generic as the regex. I need to know more (with code). Never liked (or used) the Error Constant ( or AF for that matter). Never used PPL's either but I do use lvlibs with the VI's in an LLB - mainly for ease of distribution rather than load performance. The single execution while loop to force clumping was an eye opener. I've never suffered from that but that's gone in my long term must-know memory. Xnodes were always too complicated for me so never used them. Interesting he didn't mention XControls. VIM's I liked until they formalised it and then they did not propagate the type downstream (so I couldn't make my "named events"). So don't make any of those anymore. I agree with his view of text vs VI's. But not for the same reasons. I'm a huge fan of polymorphic VI's with a menu, for example. However. I can read a diagram of VI's I am familiar with (and with good icons) in one glance but I'm not a speed reader. He just doesn't seem to like doing icons whereas I find it a cathartic distraction when stuck on a problem. My obstinate work flow and dumb preferences seem to insulate me from a lot of the issues that others find.
-
Yes. NILM cannot create the icence file. But TPLAT can (standard only). If you change the" licencing tool" to TPLAT instead of NILM for #3, then you have what everyone else had before they invented NILM and their subscription model without requiring Protection Plus (using the NI Licence Server under #3 Account).
-
You don't need that. That is the API that you could create TPLAT with. This is the basic procedure Create a product definition (Using LFEdit or via the Softwarekey web page). Create a licence file for the product (Using LFEdit). Apply the licence to the lvlib (Using TPLAT in advanced mode. This will give you a Licenced version of your code.) Point VIPM to the licence when you build the distribution (If you have the full VIPM, it can also apply it instead of using TPLAT above). This is the full licencing process (excluding the VIPM). You can also buy the licensing server from Softwarekey for installation on your own network, if you want everything in-house rather than using theirs (or NI's)
-
In what way does it not work?
-
This is the process for adding licencing to addons. You only need "Protection PLUS 5 SDK" if you want Advanced licencing features or your own SOLO server. The licence file (*.lf) created by TPLAT can only create a licence for "Standard" and you cannot change the SOLO server location (NI's SOLO server). In advanced mode you can choose a pre-created licence file (created with LFEdit from the Protection PLUS 5 SDK) which can have a different SOLO Server URL and more advanced features. What happens if you click on the "New to Solo Server" on the TPLAT dialogue? Is there no link to sign up? (I don't have TPLAT installed for 2022 at present).
-
Set Menu Item Info - How to make the Shortcut menu input a no-op?
ShaunR replied to bjustice's topic in LabVIEW General
It can. This is how you clear a shortcut if one was set. -
Set Menu Item Info - How to make the Shortcut menu input a no-op?
ShaunR replied to bjustice's topic in LabVIEW General
It cannot function identically since YOU CAN NOT HAVE SHORTCUTS ON POPUP MENU'S. You can argue that maybe it should morph to hide the connector but then you're just as likely to have people scratching their head when using menu's. With this behaviour you get an explicit error telling you " Run-time menu shortcuts are not supported for this type of menu.". Remember. This is a run-time check, not a design time check. You get the same behaviour if you try to operate a function on an invalid type after coercion to a more specific type. -
Set Menu Item Info - How to make the Shortcut menu input a no-op?
ShaunR replied to bjustice's topic in LabVIEW General
If you wire a keyboard shortcut cluster to a popup menu it gives you an error stating that it is the incorrect type. That's correct. You can only have keyboard shortcuts on main menu refnums. The alternative is to have separate primitives for main menu's and pop-up menu's-one with a shortcut terminal and one without. We can recreate the same behaviour with xnodes where we can detect if anything is connected and it's type with abilities. -
Set Menu Item Info - How to make the Shortcut menu input a no-op?
ShaunR replied to bjustice's topic in LabVIEW General
Only main menu's can have keyboard shortcuts and yes. LabVIEW can tell if something is wired to a connector. It's how polymorphism works and why you get a broken run arrow for required terminals if you don't connect them. -
Yes. I think it was the Studio Bods one I was thinking of. Looking at it now it seems to be geared towards executables and not sure if it will suffice for source code.
-
As long as it's only the app that has stopped responding you could also use the NI Webserver RPC feature to call a separate vi that reboots the machine (if that is still a thing after NXG). I'm not sure it's possible to install on a PharLap target but with SSH you can easily reboot a remote machine.
-
Interesting. This is could be due to their new subscription method. It might be worth finding out whether that is the case as there will be other caveats like you need to maintain a subscription Indeed. I vaguely remember a third party that was offering an alternative solution that was implicitly geared towards LabVIEW and used the TPLAT. But I can't remember who it was or how it worked.
-
The toolkit will lock the libraries and produce a licence file which you can browse to and select in VIPM. NI have a SoftwareKey Server that they use for Tools Network offerings but you can buy and install your own from SoftwareKey.
-
Is it reentrant?
