Jump to content


Post code here that is not ready for certification. Once it is ready for certification please notify the moderators. It will then be moved to the proper category.

71 files

  1. Data Matrix Generator v1.0 LV2020

    This project library enables conversion from string data to a 2-D integer array encoding Data Matrix ECC200 symbology.  The library includes demo code to render the output to a LabVIEW picture indicator.



  2. Hooovahh's Tremendous TDMS Toolkit

    This toolkit combines a variety of TDMS functions and tools into a single package.  The initial release has a variety of features:
    - Classes for Circular, Periodic, Size, and Time of Day TDMS generation with examples of using each
    - Reading and Writing Clusters into TDMS Channels
    - XLSX Conversion example
    - File operations for combining files, renaming, moving, and saving in memory to zip
    - Basic function for splitting TDMS file into segments (useful for corrupt files)
    - Reorder TDMS Channel with Demo
    There is plenty of room for improvements but I wanted to get this out there and gauge interests.  The variety of classes for doing things, along with VIMs, and class adaptation makes for using them easier.  If I get time I plan on making some blog posts explaining some of the benefits of TDMS, along with best practices.



  3. Hooovahh Array VIMs

    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



  4. LibreOffice Simple LV interface

    A set of simple VIs that uses the LibreOffice / OpenOffice UNO API. The result is very similar to MS Office ActiveX API. Currently, only Calc is supported. 
    This was tested on Windows 8 with LV2013 64 bit and LibreOffice 64 bit.



  5. SET Localization Toolkit

    The SET Localization Toolkit provides more convenient edit-time language switching support for LabVIEW 2013 projects.
    UI text is extracted from an existing project and stored in a localization file. Additional languages can be added then applied to the project using the apply language wizard.
    The idea is to be able to quickly apply a language to a project before distribution. Applying the language at edit-time allows you to fix up the UI in the target language. Change fonts and re-size controls so that it looks right before compiling it.
    - No modification of project's source code required. No additional dependencies.
    - Support for switching code pages.
    - Ability to define shared resources.
    - Resources referenced via UID. Changing labels of control does not break linkage.
    - Resources can be exported to CSV file for external translation.
    - Resources stored as UTF-16LE text.
    - Ability to translate RTM files.
    - Unicode support enabled in the LabVIEW.ini file
    - Download the ".vip" file and install using VI Package Manager 2014
    - Make sure that "UseUnicode=True" is set in the "labview.ini" file
    - From within any LabVIEW window, select "Tools->LAVA->SET Project Editor"
    GitHub: https://github.com/rfporter/SET-Toolkit



  6. MCP2221A library

    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.



  7. 55 easily distinguishable color.vi

    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.
    Please use the new version at: New version



  8. .xml test report Measurements.zip

    This XML test report library is available for you to modify at your will.
    It is based on the IPC-2547 standard so it is easier for any other application or database to parse.
    The html file report offered by LabVIEW was not sufficient for my need.
    So I created those. enjoy!!!



  9. LabVIEW Tray Launcher

    This application is designed to help manage a system, that has multiple versions of LabVIEW installed. It does this by adding an icon in the system tray for launching any version of LabVIEW installed. This may work with 64-bit versions of LabVIEW but it has never been fully tested.  It has several other features which are useful when having multiple versions of LabVIEW installed.
    Launch any version of LabVIEW installed from the system tray icon. Kill or restart any version of LabVIEW running from the system tray icon. Abort all VIs running in all versions of LabVIEW from the system tray icon. (not asynchronous clones at the moment) Abort all private context VIs from the settings dialog found by double clicking the system tray icon. (not asynchronous clones at the moment) Control what version of LabVIEW is used on opening a VI or LabVIEW file. (File Extension support in the configuration dialog) Configuration can chance the behavior of this but by default it will ask what version of LabVIEW to open a VI in if more than one version can open it. By default a VI set to Run On Open will always ask what version, and if you would like to run it on open or just open it. Shift can be held when opening a VI to always be asked what version to use. CTRL can be used to select the default option which is generally the last version used. By default if only one version of LabVIEW is running, and it can open the VI, then it will be opened in that version. Other file extensions can be selected after the install. Read the Readme Usage for more information on how this works. For this software to function properly, at least one LabVIEW Run-time, or development needs to be installed which is version 2011 or newer.  The source includes all versions from 2011 to 2017.  The installer includes the builds from all versions 2011 through 2017.  An AutoIt script and source are included which selects the right EXE based on what version of the run-time engine are installed.  This is why multiple versions are included in the installer.
    Also for VI Server functions to work properly each version of LabVIEW needs to be configured to have TCP/IP configured and a unique port.  This is all done automatically through VIPM so my suggestion is to configure all versions of LabVIEW through VIPM, at which point this tool should work.  Some features of this will work without this enabled but not all of them.
    This is the LabVIEW Tray Launcher, originally discussed and developed in 2009 here.
    A fully built installer for version 1.5.0 can be found here.  Just download the installer and run it. It should add all the needed files to the Program Files directory, and edit the registry if you allow it during the install.



  10. Example Custom Radio Buttons

    Test stand had a touch screen. User wanted radio buttons instead of a pull-down menu. Wanted tests to run on pressing the button and pass/fail indication thereof. So I did that for him. Here is the stand-alone proof-of-concept that I worked up for it. Arrays are used so Boolean texts can change to suit different models of unit under test. If a Boolean text is blank, then that button will go invisible meanwhile, there being as many (up to 7) or as few (down to one) as may need be.
    I should mention, in case it's not obvious, that when in actual use, the three arrays are hidden inside of a sub-VI and not (as shown here) visible to users as part of the front panel.




    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.




    Initial release. It is hairy, but less so than the original import wizard.



  13. Chess Game

    (latest version 5.5 - November 3, 2015 - LabVIEW 2010)
    Chess Game with artificial intelligence 100% LabVIEW
    AI : algorithm MinMax + Alpha-Beta pruning
    two game levels : "novice" and "Jedi"
    editing interface  (edit on/off)
    a) moving mode : left-clic on the starting square, left-clic on the destination square
    b) positioning mode : right-clic on a square opens a context menu to choice the piece.
    This engine 5.5 is stronger than the previous engine 5.0 (Jedi level)
    unzip - run "Chess_ouadji.vi"
    Have fun!  
    if you like this Chess Game, a kudo is most welcome!  (here - first post)



  14. Cp Cpk Calculation.vi

    This Vi Calculate th Cp and Cpk values of a dbl array values.
    It's quite usefull to do some statistical analysis of a process capability.



  15. DCG

    Allows new functions to be compiled during runtime by using libtcc. http://bellard.org/tcc/
    Features Full ANSI C compiler  ISO C99 extensions (Missing only complex and imaginary numbers) GNU C extensions (See TCC Docs) TinyCC extensions (See TCC Docs) GNU-like inline assembler  32bit & 64bit opcodes depending on DLL (See TCC Docs) Compile to memory to call as function or disk as exe Allows for dynamic code Pointer safe checks  
    Adding 2 numbers and using return to get the result
    Using system to call cmd
    Inline x86 assembly
    Passing in information using argc and argv
    Using pointers to pass a string in and an SHA512 hash out
    Uses libtcc unmodified, so for security reasons you can download the dll from the author's website or compile your own from source. The dll is included if you wish to use it.
    Some very basic examples that show off only a tiny subset of the features this compiler offers. Unless you are very careful, compiling functions during runtime can lead to unstable code. (Test before you deploy) All examples should run without issue but modification can and will lead to crashing. (Save often)



  16. Mandelbrot Explorer

    Simple Mandelbrot explorer that I wrote a few years ago.



    Many predefined color pallets

    Rolling color pallet to produce motion effect

    Ability to customize the color pallet

    Log color mapping

    Keyboard or mouse control

    Basic shortcut keys

    Saving high res images


    Needed improvements

    Clustering to clean up code more

    Save settings



    Load project in LabVIEW 2015 32/64 bit

    Start program using Mandelbrot Main.vi



  17. MPSSE.dll LABview driver

    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.



  18. Calendar XControl

    This XControl has the nice feature that a Calendar control should give you.
    Multilanguage support by property node.
    The input and output are Labview Time Stamp.
    When selecting a date, the date in the calendar become light blue.
    Please you receive this XControl for free. The minimum you can do is to rate it.



  19. List all VISA session opened

    This VI list all VISA session opened and allow you to close all of them.
    Some times when the GPIB stuck and the VI wont stop..... This VI is a better solution than reboot.



  20. HTML color table

    This VI allow an easy way to create HTML color table in the LabVIEW report generation toolkit. This VI should be connected to the "Append User Formatted HTML to Report.vi".
    For this version, all the column are the same size. But alignment and color of each cell can be defined.
    Please rate this file if you download it. It's free... you can at least give some second of your time to rate it... I spend some hours to make it...



  21. VIM HAL Demo

    This is an experimental demo to investigate VIMs (vi macros). It was a bit of fun to see if VIMs could be used to encapsulate events in LabVIEW which was a bugbear of mine for quite some time. You can see the entire thread here. VIMs are a NI experimental technology similar to Xnodes but less mature.
    The purpose of this release is to clarify the previously unstated licence since other forum topics are building on the original demo so they need a permissive licence (MIT). This release serves as an unambiguous statement to that effect. There are a few differences from the original which I have decided to call version 0.1 but they are minor.
    This may or may not work for you out of the box. If it doesn't then please do not post. The purpose is to clarify the licence for others to build upon; not to provide a working example. The VIM technology is itself  experimental and unsupported by NI so most issues you will encounter will be due to this and It is unlikely there will be another version posted here.



  22. Tab into cluster contents

    Copyright 2015, Merecs Engineering GmbH&Co. KG
    All rights reserved.
    Christoph Deus
    This code has been tested to run under LabVIEW 2014.
    - Enables Tabbing into and out of Cluster-Controls
    - Also works with Clusters on Tab-Controls
    If you have any problems with this code or want to suggest features, please let me know or post to the LAVA forum.
    Version History:
    Initial release of the code.



  23. Falk Schneider

    This snippet demonstrates how to handle the runtime contextmenu of various controls in one single dynamic event case. Notice how you only need to bundle the different references of all the controls into one "Register for Event" input. Discrimination between the different controls happens inside the dynamic event handling case as is shown here with singling out one control for which the conxext menu remains standard while for all other controls just a singular menu item is generated.
    This was created as an answer to the following post:
    LabVIEW version is 2013



  24. FPRefs2VariantAttributes

    The VI acquires all front panel control (and indicator) references and one by one passes them into a variant using its attributes. This way of storing the references makes them faster to be found within an application than by storing them in a cluster along with their name and using "search 1D array". The idea of this use case came from a nugget by NI's Darren.



  25. RCF LVS Conversion Toolkit

    Hi Everyone,


    We have recently developed a toolkit that allows you to use Quick Drop plugins in Right Click Framework or LabVIEW Speak platforms.


    Named RCF LVS Conversion Toolkit, this toolkit provides an easy solution for JKI Right Click Framework (RCF) and LabVIEW Speak (LVS) lovers who want to use a quick drop plugin in RCF or LVS.  Now, you wont be disappointed when you see a useful plugin not written in your favorite platform's plugin format.



    Procedures are simple:

     Open the toolkit by going to Tools Menu >> Synovus >> RCF LVS Conversion Toolkit...
     Select the target Quick Drop plugin VI
     Type the command name in Right Click Framework or LabVIEW Speak
     Click OK

    Now you can use the Quick Drop plugin in Right Click Framework or LabVIEW Speak platform



     Automatically converts a QD plugin to RCF or LVS plugin format
     Warns the user if repetitive commands are installed.
     Provides an instruction as user clicks help button.
     Helps the user navigate to the plugin folders (LVS, QD and RCF)
     Modifying the functionality in Quick Drop VI will automatically update the functionality in Right Click Framework or LabVIEW Speak

    Please let me know if you have any questions. Suggestions and comments are welcome 


    Note: RCF and LVS only update their lists of commands at startup. If you use the RCF LVS Conversion Toolkit when RCF and LVS are open, please restart these platforms.



  • Create New...

Important Information

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