Jump to content

Leaderboard

Popular Content

Showing content with the highest reputation on 02/25/2019 in all areas

  1. Let's take a look inside labview.rsc first... Four of the connector pane patterns actually have names: 4833: "monnie pleaser" 4834: "super monnie pleaser" 4835: "monnie would be pleased-er" 4836: "add supports 2 ddt" I guess this book wasn't lying. (edit: This is on page 122, and actually, it did get it slightly wrong: the two conpanes shown in the text are actually 4834 and 4835, respectively.) Two cursors with rather...interesting names: 64: "order sucker" 65: "order squirter" Someone at NI has a dirty sense of humor 😛 There's some resources that correspond to the style values for VI scripting. Some of them aren't in the style list; unfortunately attempting to use these just gives an error: 2051: "Comment Node" - says "Case" in the data, and gives "Unable to create new object" instead of the usual "object not found" error 2358: "Line of Script" 3902: "Growable Node with Header" 3905: "ExtFuncTerminalTipStrings" - data says "External Function Node", and has names for "path in", "path out", and the standard error in/out terminals 9008: "Select Menu Item" - with all the menu nodes. Looks like at one point they were working on a primitive for programmatically activating menu items. Someone found some hidden structure types a while back. All but one of them didn't work, and that other one is now an official part of LabVIEW. I found the image for the "Race Structure", which I've posted to that thread: There's also this super-minimalist "Alternate Splash Screen": And some monochrome sprite sheets—looks like the old Boolean constant graphics are still there. From what I know about internal VI data structures, I wouldn't be surprised if those were still used if you load a VI created in an old version of LabVIEW. Just thought I'd share. Curious if anyone has seen these before!
    2 points
  2. You know the 3D Picture control? I was messing with it and I noticed there wasn't any way to merge objects together except by chaining "Add Object" subVI's, which can be annoying if you have a whole lot of objects. I was thinking it could be a good idea to have a growable node to do it, so I decided to make one. Yes, a simple For loop (perhaps in a subVI) combined with a Build Array node would work just as well—and would really have simplified the code generation if I had thought to do it before—but I like making XNodes, and thought this would be a fun one. And yes, the usual disclaimer about XNodes applies—use it at your own risk; XNodes aren't supported by NI. Merge 3D Objects.zip
    2 points
  3. For a while I've been tinkering with the idea of building a LabVIEW client that could to talk to Jupyter kernels for interfacing with Python having been previously a user of RolfK's OpenG LabPython package. Although this, and now the native LabVIEW 2018 Python support have many uses (and indeed I use them in my 'production' code), there were a few things that a Jupyter kernel client can do: Not be tied to particular versions of Python - LabPython got stuck for me around 2.7.10 and I think was fussy about which compiler have been used. The 2018 native support is restricted to 2.7 or 3.6 I believe (3.7 defintiely doesn't work) Not being tied to the same 32/64 bits of LabVIEW Being able to offload the Python to a remote server, or go cross platform I haven't investigated the Enthought package (too much hassle to get a new vendor set up on my University's purchasing system and not really able to justify spending tax payer's money on playing!) which I suspect might be doing something similar. Anyway, the attached zip file is a proof of concept - it includes a test vi that will try to find an ipython executable and fire it up and you can then interact with it. There's lots of things not properly tested and probably a slew of bugs as well. To run it you need several dependencies: OpenG Toolkit libraries, particularly the LabVIEW Data, string, error and array libraries The JKI JSON library - I had to pick a JSON serialiser and the JKI one seemed as good as any and better than some... The JSONText JSON serialiser library available via VIPM The Zero-MQ Labview bindings - libzmq is the underlying network transport used in Jupyter and there is an excellent LabVIEW bindings library for it. The attached SHA256 implementation so that the communications messages are properly HMAC signed. LabVIEW 2018 - sorry I'm only writing in 2018 now and this code uses malleable vi's with type specialization and asserts in use - so it may not be easy to backport There's a few things that I'd still like to figure out - primarily the client protocol is very much focussed (reasonably enough) around the idea that the client is sending strings and is interested in string representations of data.I'd like to figure out an efficient way to transfer largish LabVIEW data structures backwards and forwards. I think this probably means developing a custom message handler and registering it with the kernel when the code starts and writing some Python 'flatten to string' and 'unflatten from string' code - but that's only this week's concept.... If you use it, please note that this probably only alpha quality at best - it may or may not work for you, it may not be safe to use, If it causes any loss or damage or eats your cat then it's not my fault.... Edit 6th March 2019: I've switched the JSON parser to JSONText, found and fixed a few bugs, managed to build a VI package for it that should have the correct dependencies and installs the example client in the LabVIEW example finder. Edit 19th April 2019: Added more options to connect the example client to remote and already running kernels (and not to shut them down on exit!). Some other fixes as well. Edit 11th Arpil 2020: Updated the SHA256 version to one that can correctly hash files without reading the whole thing into memory. university_of_leeds_lib_jupyter_client-1.1.0.6.vip university_of_leeds_lib_sha256-1.1.2.7.vip
    1 point
  4. Found the icon for Select Menu Item. Also I tried applying that "add supports 2 ddt" conpane to a VI, and it turns out it's a hidden one that's not normally selectable. Actually, here's all the icons in lvicon.rsc. I also put up a Web page where you can hover the cursor over one and see its description.
    1 point
  5. Writing the notes forced me to watch the videos closely. I'm going to use the notes as a quick-ref whilst getting started and hoped others might have a go if they had them too. Feel free to make changes/fix wrong stuff in whatever way you like - expect you're a busy man. I'm happy to own the doc and expand it given the info. It's written in libreoffice writer, which exports a good pdf. Now looking fwd to cooking up a few actors. LabVIEW_Messenger_Library_-_Programmers_Notes_v1.8.odt LabVIEW_Messenger_Library_-_Programmers_Notes_v1.8.pdf
    1 point
×
×
  • Create New...

Important Information

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