Jump to content

Leaderboard

Popular Content

Showing content with the highest reputation on 03/03/2015 in all areas

  1. As promised, here is an Excel spreadsheet which maps out (some of) the meanings of the different bits returned by the three VI Server properties: VI Modifications Bitset Front Panel Mods Bitset Block Diagram Mods Bitset I credit Jim Kring and Rolf Kalbermatter with doing the heavy work of discovering most of these way back in 2003 (I figured out only one all by myself ), I merely organized their findings into this spreadsheet. As pointed to by dannyt, the original information source is here. Still, only 19 out of somewhere between 81 and 128 bits have been identified, so anyone who has ever figured out more of these is encouraged to update this spreadsheet and re-post it. Besides the Code Repository for source-code, does LAVAg have a better file sharing mechanism for sharing non-code files, other than just attaching them to discussion threads? If not, do we have a preferred cloud service? I would be willing to host this spreadsheet on my personal Google Drive, if that would be helpful and appropriate. LabVIEW Mods-Bitset Mappings.xlsx
    2 points
  2. I normally don't post on LAVA, but lately I have been experimenting with the WebSocket protocol, ecmascript, and the SVG DOM for creating animated browser displays with data streamed from LabVIEW. The technique is surprisingly simple. All you have to do is create a script to change the attributes of the SVG elements using the Document Object Model. The WebSocket protocol has a built in message event handler that allows you to create your own script function which executes when messages are received. The browser connects to the socket server and sends a handshake when you create the WebSocket object in script. All you need do is put a TCP/IP listerner in your diagram and return this handshake as described in the wikipedia article on WebSockets. Once the connection is made, you can stream bidirectional data between your LabVIEW application and any bleeding edge browser (Firefox 4, Chrome 9, Safari, IE9?). You can use the DOM to set the transform attributes of SVG elements using the streamed info (rotate, scale, set heigh, width, line points, etc.). Now that we can all design our own GUI objects using Inkscape (free), I suggest a concerted effor to develop a standard SVG format, streaming protocol (based on WebSockets) and open-source script library. The very best thing about this is that it is all FREE, and runs on any platform that has an HTML5/SVG/WebSockets supporting browser (I'm keeping my fingers crossed for the next firmware revision of the Nintendo DSi), and requires NO PLUGINS. So all you folks with iOS and Android who feel left out by the WebUI Builder, or those of us who are infurated by it's $1500/yr price tag (after spending $ on LabVIEW RT/FPGA), Cheer Up! Here are some screenshots of my efforts. The files are opened in the OS, but will also work when served by the old-fashioned "non-webservices" LV web server (you gotta add an SVG mime type to the mime-types file). You can also use RGraph Library and the HTML <canvas> tag if you want to implement a non-SVG browser solution. The library is free for non-commercial use. I suggest a community effort the create the standard SVG formats for UI elements, and a free, open-source ecmascript library for handling the messaging and DOM animation tasks. If there is interest, I will upload my script as a starting point, but I must warn that there is much improvement needed. sm
    1 point
  3. The method appears to accept any valid object reference, so when I typecast the pane ref to a control ref, it appears to work. This, of course, comes with the usual warnings about typecasting references:
    1 point
  4. Here's a very rough example of the subpanels way (2011). The actual mechanics obviously need to be made proper. The big advantage with something like this is that you can completely divorce the UI from the data, you can create arbitrarily complex behavior (because you're only dealing with one element) and that if you need to change something, you only need to do it in one place. The disadvantages are that you lose some of the edit time convenience (although that happens with other things too), that the code can be more complex and that you might have some more difficult with keyboard navigation. Array of subpanels demo.llb
    1 point
×
×
  • Create New...

Important Information

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