Jump to content

Leaderboard

Popular Content

Showing content with the highest reputation since 06/29/2009 in Files

  1. Version 1.9.1

    1,786 downloads

    A set of custom controls, following the trend of a more flat UI design. Heavily influenced by Google’s Material Design, though constrained by what can be done with available tools and options in LabVIEW. Uses icons from Google Material Design. — Buttons based on the system booleans (with hover effects). Icons can be added as decals (such as from materialdesignicons.com) — Matched sets of controls for numeric/string/enum/etc., based on Silver controls, but swapping out all ‘chrome’ for simple boxes and lines. — flattened versions of switches/sliders/arrays/graphs etc. Now on the LabVIEW Tools Network JDP Science Tools group on NI.com.
    10 points
  2. Version 1.5.4

    1,056 downloads

    Package for working with JSON. Uses high-speed text parsing, rather than building an intermediate representation as with prior LabVIEW JSON libraries (this is much faster). Allows easy working with "subitems" in JSON format, or one can convert to/from LabVIEW types. Uses the new "malleable VIs" of LabVIEW 2017 to convert to any LabVIEW type directly. JSON text makes use of a form a JSON Path notation, allowing easy and rapid access to the subitems of interest. Requires LabVIEW 2017 and install by VIPM 2017 or later. Original conversation about JSONtext. On the LabVIEW Tools Network. JDP Science Tools group on NI.com. Copyright 2017 JDP Science Limited
    6 points
  3. Version 2.0.0

    266 downloads

    Here is the Hooovahh Array VIMs. This initial release contains VIMs for manipulating array data, which are intended to replace OpenG functionality, but with the added benefit of data type propagation, and increased performance using newer array manipulation techniques. In later versions other Array manipulation functions were added moving all the OpenG stuff to their own palette. Version 2.0 changed the suffix naming standard. Updating may mean replacing calls to the new versions since the name on disk has changed. This was for consistency and I'm sorry for breaking compatibility. The added type defs in 2.0 may break compatibility too but these help avoid code breaking bugs since VIMs allowed any data type previously. Most of the OpenG functions are unchanged, but a few use the newer conditional and concatenating tunnels. And a few functions have added performance based on other inputs. For instance the Delete Array Elements can operate in a more efficient way if the input indexes are already sorted. The Filter 1D array can also be more efficient if the input is known to not contain any duplicates. Because these packages contain VIMs, they require LabVIEW 2017 or newer. Having these functions be VIMs mean all functions work with various array data types. Included functions are: Conditional Auto-Indexing Tunnel Delete Elements from (1D or 2D) Array Filter 1D Array Index (1D or 2D) Array, Scalar, Row, Column Remove Duplicates from 1D Array Reorder (1D or 2D) Array Reverse 1D Array Slice 1D Array Sort (1D or 2D) Array Convert 1D to 2D Convert 2D to 1D Find Subarray Force Array Min/Max Size Foreign Key Sort
    3 points
  4. Version 2.1.7

    2,247 downloads

    Advanced messaging made simple! Messenger Library is a library for message passing using a variety of powerful Messaging Patterns, and a set of Templates for easily creating parallel modules to interact with those Patterns. Together, these comprise a powerful and deep framework for rapid application development. Communication patterns supported and other features include: -- Request-and-wait-for-Reply -- Asynchronous Request-Reply, where the reply is sent to a "reply address" attached to the request -- Scatter-Gather: Requests sent to multiple addresses, with all Replies gathered together in order -- Register-Notify, where one process sends a registration message to another in order to subscribe to published messages. -- Future Token, a reference to a future Reply not yet made -- Asynchronous Dialog: query the User without blocking (User's response sent as a message) -- Delayed Request: message sent with a set asynchronous delay -- Metronome, a source of precisely-timed periodic messages -- Timeout Watchdog: trigger an action if something expected doesn't happen Freely intermix communication by Queues, User Events or Notifiers. First-class support for TCP communication, allowing easy interaction of multiple executables using any of the Messaging Patterns. Also supports UDP, including multicast. Module Templates are simple, consisting of a single VI and a single loop, and are robust against race conditions (unlike the more complex "Producer Consumer" NI templates) Includes two utilities under the menu "Tools>>Messenger Library": -- a utility to create a new parallel modules from a set of well-tested templates -- a Manager utility to see all running Modules Multiple Examples are included. Of particular interest are: -- An example developed over a series of YouTube videos (linked below) -- A redo of the standard "Continuous Measurement and Logging" Example using Messenger Library -- TCP Reconnecting Example, showing easy network communication with handling of temporary disconnects Note: Messenger Library is intended to promote actor-oriented design, but is not related to the Actor Framework. ***Introductory Videos are on a YouTube channel.*** ***A great summary of many Messenger Library sources, provided by Bob W Edwards*** JDP Science Tools group on NI.com. Original conversation on this work is here. Now hosted on the LabVIEW Tools Network (but note that the latest version will often be on LAVA)
    2 points
  5. Version 1.0.0

    475 downloads

    There it is. The complete library for the MCP2221A. I2c adapter, I/O in a single IC. I love that one. Let me know if any bug is found. I try to make that library as much convenient as possible to use. Two version available 32 bit and 64 bit. little note: to open by serial number, the enumeration need to be activated on the device first. (open by index, enable the enumeration) It needs to be done only once in the life time of the device. PLEASE do not take ownership of this work since it is not yours. You have it for free, but the credit is still mine... I spent many hours of my life to make it works.
    2 points
  6. Version V 1.0

    2,739 downloads

    This package consist of a series of tools in native LabVIEW 2010 code. For encryption/decription the AES (Rijndael) routine is used with key sizes of 128, 192 and 256 bytes. The encryption supports the following block modes: EBC CBC CFB128 OFB For signing of string/packages it performs the SHA-1 and SHA-2 hashing, for MD5 hashing the OpenG functionality is used. The hash functions return a binary string and a hex-formatted string with the hash. The following hashes are supported: MD5 (via OpenG library) SHA1 SHA-2 224 bit SHA-2 256 bit SHA-2 384 bit SHA-2 512 bit For Hashed key authentication the HMAC functionality is provided based on the supported hash functions. The used functions are tested against NIST public test vectors. The use of these functions is not: secure the code does not try to protect it's memory nor the used keys. © Ton Plomp 2011 - No warranty implied.
    2 points
  7. 3,971 downloads

    Copyright © 2007, David Saunders All rights reserved. Author: David Saunders --see readme file for contact information. Description: Provides an intuitive interface for tabular controls containing multiple data types. Users can use various controls and datatypes. Users can also use provided functions for registering and looking up type parameters by control (as well as by column, row, or cell). When you click on a cell, a correctly positioned and sized popup appears allowing for a controlled and intuitive input. Appears like it is a built-in feature, not an annoying popup window. Features: - Supports tables, listboxes, multicolumn listboxes, trees, and string controls. - Implements many data types : string, integer, float, color, ring, boolean, captioned string, etc. - Can use multiple tabular controls in same program with no programming changes - Can pre-register controls with certain data types - Register the entire control, or columns, rows, and cells. - Can edit the registered data type by registering again at any time - Allows for different font sizes - Works even on modal windows Instructions: Run the Demo program to see example usage. To recreate -- 1. Drop 'TSPopup.Popup Cluster.ctl' anywhere on your front panel. 2. Create program logic, similar to the demo MANDATORY elements a. TSPopup.Initialize.vi (register for the user event in your event structure) b. TSPopup.Lookup.vi (returns positioning information, looks up any registered controls) c. TSPopup.Show Popup.vi (called in a Mouse Down? event case) d. an event case for the user event output from (a.) e. TSPopup.Close.vi (called at end of program) OPTIONAL elements f. TSPopup.Register.vi (register controls with popup type parameters) g. TSPopup.Update Cell String.vi (provided to show how to change the cell string after popup is completed) 3. Bring the Popup Cluster to the front on the front panel. Otherwise the popup will show up behind some of the other controls on your User Interface. Limitations: - Can't programmatically bring popup cluster to front. Must do this manually. Change Log: 1.0.0: Initial release of the code. 1.0.1: Added another demo using dynamically changing data types in a tree Removed LV version specific event handling (only dealt with LV 7.1) Fixed bug where headers defaulted to have same type as their column/row Fixed cluster scanning from text Fixed ring to default to index 0 if string unrecognized Changed the background event monitor to always be hidden
    2 points
  8. Version 1.0.0.0

    1,425 downloads

    There it is... finaly... Because the code given in the FTDI web page is not convenient, not working and haven't been developed by real LABview programmer, I decided to create a library for the I2C. a version for SPI will come soon. This library is free to use. If FTDI want's it in ther site, I do not allow you to publish it since you didn't help any of your customer with LABview. but of course feel free to publish this link.
    2 points
  9. Version 3.0.0

    409 downloads

    LV-muParser provides a simple LabVIEW API for muParser fast math expression parser. A modified version of muParser v2.3.5 is included. You will find the muParser API in the functions palette under "Addons > LAVA > muParser" muParser: https://beltoforion.de/en/muparser/ LV-muParser source on github: https://github.com/rfporter/LV-muParser This package has been tested on Windows 10 & 11 and Ubuntu Linux 20.04. Documentation here: https://github.com/rfporter/LV-muParser/blob/c413686832caaff8179de923b388e21f9ca09161/Docs/LV-muParser User Guide.pdf
    1 point
  10. Version 1.11.3

    9,044 downloads

    Introductory video now available on YouTube: Intro to SQLite in LabVIEW SQLite3 is a very light-weight, server-less, database-in-a-file library. See www.SQLite.org. This package is a wrapper of the SQLite3 C library and follows it closely. There are basically two use modes: (1) calling "Execute SQL" on a Connection to run SQL scripts (and optionally return 2D arrays of strings from an SQL statement that returns results); and (2) "Preparing" a single SQL statement and executing it step-by-step explicitly. The advantage of the later is the ability to "Bind" parameters to the statement, and get the column data back in the desired datatype. The "Bind" and "Get Column" VIs are set as properties of the "SQL Statement" object, for convenience in working with large numbers of them. See the original conversation on this here. Hosted on the NI LabVIEW Tools Network. JDP Science Tools group on NI.com. ***Requires VIPM 2017 or later for install.***
    1 point
  11. Version 1.0.0

    99 downloads

    One of the difficulties with editing XNodes without the license is that invoke nodes for the XNode class don't show any methods. This XNode acts pretty much like a real Invoke node, but it allows access to all possible methods. You can also right-click and replace it with a real Invoke node.
    1 point
  12. Version 1.1.0

    333 downloads

    This is the only way I found how to have a bunch of color that are unique and easily distinguishable. The maximum I saw in the web was about 26. This one offer 55 of them without gray tone. You can modify this VI to support gray tone as well and goes up to 60 colors.
    1 point
  13. Version 1.5.5.41

    13,595 downloads

    JSON is a data interchange format (sometimes compared to XML, but simpler). There are multiple projects to create a JSON package for LabVIEW. This is yet another one motivated by this hijacked conversation originally about a different project to convert JSON into LabVIEW Variants. This project uses a set of LVOOP classes to match the recursive structure of JSON, rather than variants. It allows conversation to and from JSON. All functionality is available through two polymorphic VIs: Set and Get. In addition to Get and Set VIs for common data types, one can also convert directly to or from complex clusters via variant-JSON tools. Copyright 2012-2016 James David Powell, Shaun Rumbell, Ton Plomp and James McNally. [Note: if you are using LabVIEW 2017, please also see the JSONtext library as a an alternative.]
    1 point
  14. Version 1.0.0

    541 downloads

    This tool-set gives access to all the 1-wire TMEX functionality. I was able to access 1-wire memory with this library. It has all the basic VI to allow communication with any 1-wire device on the market. It needs to be used in a project so the selection of the .dll 64 bit or 32 bit is done automatically. It works with the usb and the serial 1-wire adapter.
    1 point
  15. Version 1.4.1

    17,413 downloads

    UI Tools v1.4.0 Copyright © 2009-2016, François Normandin All rights reserved. Author:François Normandin Contact Info: Contact via PM on www.lavag.org LabVIEW Versions: Created and tested with LabVIEW 2012 Dependencies: OpenG Application Control Library >= 4.1.0.7 OpenG Array Library >= 4.1.1.14 OpenG File Library >= 4.0.1.22 OpenG LabVIEW Data Library >= 4.2.0.21 OpenG String Library >= 4.1.0.12 LAVA Palette >= 1.0.0.1 Description: This package contains tools for designing user interfaces. A first palette helps create special effects using transparency of front panel. Using them allows to quickly create fade-ins or outs using linear or exponential variation of the intensity. A second palette contains VIs to calculate the position of GObjects for many purposes like alignment, snap, mouse follow, etc. A third palette contains VIs to create dialog boxes based on class instances. "Simple Error Dialog" and "Simple Selection List" are featured with or without backrground blackening effect. A fourth palette includes some VIs to move objects programmatically on the front panel, using a basic deceleration algorithm to provide an impression of a smooth movement. The packaged VIs are all namespaced using a suffix “__lava_lib_ui_tools” which should not conflict with any of your own code. Includes: Front Panel Transparency (Fade In & Fade Out) Utilities (Alignment, Snap) Dialog (OOP based, extensible) Engine (Beta) for object movement Instructions: This package is distributed on the LabVIEW Tools Network (version 1.3) and updates are on LAVA (1.4). It can be installed directly in the addon folder of any LabVIEW version from 2012 to now. The addon installs automatically under the LAVA palette of the addon submenu. License: Distributed under the BSD license. Support: If you have any problems with this code or want to suggest features, please go to www.lavag.org and navigate to the discussion page.
    1 point
  16. Version 1.0.0

    669 downloads

    For a personal project, I needed to communicate between my computer and a SPI device slave device. So, I use a FTDI chip FT232h. I have adapted the library MPSSE I2C already available on this website to make it works for SPI. Warning ! VI are not 100% tested (especially Read functions), I provided it as it is.
    1 point
  17. Version 12.1.0.138

    6,002 downloads

    This tool integrates into the LabVIEW Project Provider API and contains features to assist with LVOOP development Instructions: - Restart LabVIEW after installation - In a LabVIEW Project, right click on a Class or Class Method VI and select 'LVOOP Assistant >> Plugin' - If 'VIPM Options >> Mass Compile VIs after Package Installation' is set to FALSE, tool will mass compile on first load for LabVIEW versions after 2012 - See 'Help >> LAVA >> LVOOP Assistant' for more information - Search 'LVOOP' in NI Example Finder for examples of LVOOP Assistant pluginss Features: - Clone a Method VI to another Class - Create a Child Class - Display and edit all VI icons in a Class - Open Accessor VIs from a block diagram property node for debugging - Script Method VIs using templates from a sandbox - Paste icon text from one Method VI to another - Refresh a Method VI's icon without having to open the Class Properties Dialog and refresh all icons - Rename LVOOP Labels - Add favourite Virtual Folders to a Class with pre-configured scopes
    1 point
  18. Version 1.0

    12,988 downloads

    System Icon Button v1.0.0 Copyright © 2009, Prabhakant Patil All rights reserved. Author: Prabhakant Patil LAVA Name: Prabhakant Patil Contact Info: Contact via PM on lavag.org LabVIEW Versions: LabVIEW 2009 Description: This Library contain, more than 500 controls, buttons. The Icon uesd in the library are free, but you can not redistribute it. These Button are in three shapes 1. Round 2. Square 3. Rectangle License - General Public License: http://www.gnu.org/copyleft/gpl.html Installation and instructions: Extract This Library and copy it into User library folder Examples: It is Button Library Version History: v1.0.0: Initial release of the code. License: License - General Public License: http://www.gnu.org/copyleft/gpl.html Distributed under License - General Public License: http://www.gnu.org/copyleft/gpl.html See link for a full description of the license. Support: If you have any problems with this code or want to suggest features: please go to lavag.org and Navigate to LAVA > Resources > Code Repository (Certified) and search for the "System Icon Button" support page. Distribution: This code was downloaded from the LAVA Code Repository found at lavag.org
    1 point
  19. Version 3.2.3

    12,410 downloads

    The Code Capture tool allows you easily create screenshots of you LabVIEW code for use in documentation, web-sites, wikis, emails. This tool provides an API for creating images of LabVIEW code as well a GUI for easy capturing and use of code. Further info is provided in the help-screen (F1) of the program. For the latest version visit the Code Repository For the latest version of the source code, visit SourceForge For more info, visit the LabVIEW wiki with the documenation. A series of videos is available on screencast: Code Capture Tool Installation ============ To install the Code Capture Tool, run the 'Install Code Capture Tool.vi' in the LabVIEW version of your choice, or use the OGP file in conjunction with VIPM. A wizard will guide you through the installation procedure. Usage ============ After installing and restarting LabVIEW, you can open the Code Capture Tool via the 'Tools' menu to capture an image of the current VI. For more info open the About screen of the GUI. Uninstalling ============ To remove the Code Capture Tool from your LabVIEW installation remove the following files in your LabVIEW folder: Project\Code Capture Tool.vi user.lib\CCT.mnu And the following folder: user.lib\_Code Capture Tool In your LabVIEW data folder (in Windows, this is normally: My documents\LabVIEW Data) is a configuration file called Code Capture Tool.ini, which can be removed at any moment. However this file can be shared between mulitple versions of LabVIEW, I recommand you to use a special LabVIEW data folder for each LabVIEW version. Contact ============ Comments, bugs and thank yous can be expressed to the NI Forums community , and on the LAVA community at the CCT discussion thread.
    1 point
  20. Version 1.0.1

    4,658 downloads

    Copyright © 2009, Wojciech Golebiowski (vugie) All rights reserved. Author: Wojciech Golebiowski (w_golebiowski (at) tlen.pl) Name: BitMan (Bitmap Manipulation Library) Type: framework, library LabVIEW version: 8.2.1 Description: Bitman library is designed for image processing based on a specially-defined structure to store the image, and a system of filters. It is not only a set of tools performing specific operations on images, but also a framework to help create your own image processing functions with a mechanism called "dynamic filters". Library contains few basic built-in filters. Their design concentrates on the versatility, ease of use, and the clearance of the code. This results in a decrease of efficiency and consequently, processing of large images using standard filters may be slow. But this is not a limitation of the framework and it is possible to create user filters, which may - as a more specialized - operate much more efficiently. Built-in filters are good for processing of relatively small images and can be used to support programming user interfaces, operations on the icons, creating graphical documents, etc. Library was written using object-oriented programming techniques (LVOOP). Installation Libraries can be used after unpacking it anywhere on disk. Access to all of the features is possible then by opening the library file "BitMan Lib.lvlib". However, it is most convenient to copy entire BitMan directory to the directory \user.lib. After the restart of LabVIEW on a pallet, in the User Libraries, sub-palette "BitMan" will appear. Documentation A description of all VIs from palette is available in the file "docs\BitMan docs.html". Descriptions are also included (for all functions) in the Documentation section of the VI Properties dialog, as well as for more important front panel controls and, as such, are available through the LabVIEW context help. Examples Examples of applications can be found in the directory "examples" (examples of the use of the library itself) and the directory "examples\Dynamic Filters" (examples of the creation of filters). Examples along with descriptions in the diagrams are an integral part of the documentation. Functionality The most important class it the Bitmap class. It contains structure for storing an image (the description of the structure may be found in documentation under Bitmap type.ctl) and the basic access methods. The main assumption of this structure is to store the image in three-dimensional U8 array, where subsequent dimensions mean respectively height (y coordinate), width (x) and subsequent color channel. Number of channels in the image depends on the bit depth, additionally you can define any number of user channels. It is possible to store pictures 1 -, 4 -, 8 -, 24 - and 32-bit, while the 32-bit means here CMYK color model, rather than - as is sometimes used - RGB images with transparency . Transparency (the so-called alpha channel) is stored in a separate field of the structure. Support for CMYK images is not fully implemented yet. The processing of images is done by the use of system of filters implemented in General Filter class. This class stores a reference to strictly typed VI processing an image and its runtime parameters. The filter is launched with Filter Run method, which uses the dynamic call mechanism. Filter runtime parameters are stored in the object as a variant variable for unified method for passing them. Users can create their own filters in two ways: by using methods of Dynamic Filter class and filter template or by creating a new class inheriting from General Filter class. It is also possible to create a function-specific interfaces for the use of filters as the normal LV function. Inheriting and transparent interface is the way buit-in filters work, so they are also a specific example of use of the library. Template to create your own filters may be found in "typedefs". Using of dynamic filters is supported Library Filter class designed for managing filters. It makes use of the functional global mechanism for storing and providing access to pre-loaded filters with assigned names. It can call the filters by using short names anywhere in the code, without a burdensome wiring of filter objects. Another supporting class is Bitmap With Filters class, inheriting from the Bitmap class and extending its functionality with a possibility of using a sequence of filters. More detailed descriptions of individual functions and applications can be found in the above mentioned documentation and examples. Version History: 1.0.0: Initial release of the code. 1.0.1: Packaged version with small bugfix
    1 point
  21. Version 1.3

    774 downloads

    A pair of subVIs for connecting a cluster of enums and booleans to a set of options in a menu (either the right-click shortcut menu on control or the VI menu bar). Adding new menu options requires only dropping a new boolean or enum in the cluster. See original conversation here. I use this heavily in User Interfaces, with display options being accessed via the shortcut menus of graphs, tables, and listboxes, rather than being independent controls on the Front Panel. Relies on the OpenG LabVIEW Data Library.
    1 point
  22. Version 1.0.0

    1,499 downloads

    Document Generator v1.0.0 Copyright © 2011, Mark Smith All rights reserved. Author: Mark Smith LAVA Name: mesmith Contact Info: Contact via PM on lavag.org LabVIEW Versions: 2009 Dependencies: None Description: This class is used to generate a single summary document for any folder containing LabVIEW elements (controls, VIs, projects, classes, or libraries (lvlib)). It recursively traverses the folder structure and reads the documentation from all VIs (including custom controls) and the documentation attached to all front panel controls. The class uses that information to build a document in HTML, RTF (rich text), or plain text (ASCII) formats. HTML is the preferred format, since this is the only format that includes lvclass descriptions and also supports the creation of a hyperlinked table of contents (TOC). The user can choose to - use short or long formats - the long format includes the descriptions on all front panel controls - Include or exclude custom controls from the document - Include or exclude private members of a class or library - Include or exclude protected members of a class or library One might choose to exclude private and protected members if the intention is to create an API document for the class or library - enable or disable a dialog that warns that an existing html file is about to be replaced by the Document Generator Installation and instructions: Unzip and open the Document Generator.lvclass Examples: The UI.vi is an interactive interface for creating documents. The Generate.vi provides an API if the user wants to programatically call this utility. They can be found in the Public->Methods virtual folder. Known Issues: Any documentation read from the source elements (VIs, controls, projects, etc.) is treated as pure text. There is currently no provision for escaping characters that might be interpreted as control characters in HTML. Version History: v1.0.0: Initial release of the code. License: Distributed under BSD (http://creativecommo...g/licenses/BSD/) See link for a full description of the license. Support: If you have any problems with this code or want to suggest features: please go to lavag.org and Navigate to LAVA > Resources > Code Repository (Certified) and search for the "Document Generator" support page. Distribution: This code was downloaded from the LAVA Code Repository found at lavag.org
    1 point
  23. 1,467 downloads

    Copyright © 2006, dsaunders All rights reserved. Author: dsaunders --see readme file for contact information Description: Converts a pixel coordinate to an array index. Returns an array of indices with a length equal to the number of array dimensions. Also returns if the point is within the content rectangle (not on the caption, scrollbars, etc.) Works on any N-dimensional array regardless of visibility of caption, label, index display, or scrollbars. Designed to be used on mouse events that provide the mouse coordinates. Limitations: Property nodes do not indicate the array border width, nor if the user has chosen to display an element gap. These inputs are thus provided on the VI. Version History: 1.0.0: Initial release of the code.
    1 point
×
×
  • Create New...

Important Information

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