*Uncertified*
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.
78 files
-
Chess Game
By o u a d j i
(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!
ouadji,
if you like this Chess Game, a kudo is most welcome! (here - first post)
2,786 downloads
Updated
-
LVOOP Custom User Scripting
By jgcode
LVOOP Custom User Scripting v1.1.1-1
Copyright © 2009, Jonathon Green; JGCODE
All rights reserved.
Author: Jonathon Green
LAVA Name: jgcode
Contact Info: Contact via PM on lavag.org
LabVIEW Versions:
LabVIEW 2009
Dependencies:
No Dependencies
Description:
Contains Custom User Scripting Hook VIs which are called at the end of their respective scripting processes e.g. New>>VI for Data Member Access...
New scripting includes:
All
- BD control labels to left
- BD indicators labels to right
- BD controls moved closer to case structure's left hand side border after label repositioned
- Case structure expanded downwards and free label placed under error wire with default "Comment"
- FP controls (excluding owning class or error in) labels bolded to match required parameter on connector pane
Array and MultiDim Array Only
- Index/Indices control moved outside case structure inline with other controls
- Data Member control and Index/Indices control switched on connector pane
- Index/Indices control set as required parameter on connector pane
- FP reflects new connector pane order
Other features includes:
- Default save name for Write Method changed from "Write " to "set"
- Default save name for Read Method = "Read " to "get"
Hooks are installed in the (LabVIEW 2009)\resource\Framework\Providers\LVClassLibrary\NewAccessors directory
This package installs the following hooks:-
Scalar Data Member - BaseAccessorScripter\Custom User Scripting For New Simple Accessor VI.vi
1D Array Data Member - ArrayElementScripter\Custom User Scripting For New Array Element Accessor VI.vi
2D+ Array Data Member - MultiDimArrElemScripter\Custom User Scripting For New MultiDim Array Element Accessor VI.vi
See here for more information
All existing hooks will first be moved to a persistant folder (\addons\_JGCODE Toolkits\lvoop custom user scripting\NewAccessors Original).
The packaged hooks will then be installed.
If the packaged scripting does not match your style then they may server as a useful example.
Installation and instructions:
Install the package using VIPM.
At unistall, the packaged hooks will be unistalled and replaced by the original hooks.
Examples:
Open Examples\Test.lvclass
Right click on the Test.lvclass and select New>>VI for Data Member Access...
Select a read and write template for Simple, Array and MultiDim Array .
Inspect the FP and BD of the new VIs created to see the additional scripting.
Save the Simple write method to see the new default save name of "setSimple.vi".
Save the Simple read method to see the new default save name of "getSimple.vi".
Known Issues:
All - If a template name already exists LabVIEW will change it to a default. This will usually occur for arrays where the data member name is not used, but rather the element name of an array.
Array (Read/Write) - Comment is sitting on Index Control's wire
Read - Index control not in line with Index Array function
MultiDim Array (Write) Indicies control not in line with Index Array function
Acknowledgements:
Stephen Mercer (AQ)
OpenG
ICON Technologies
François Normandin
Version History (Changelist):
1.1.1-1 2009 12 22
[New] Renamed packaged, designated old package as conflict
[New] Updated .zip name to include LabVEIW Version (LAVA CR Certified requirement).
[New] Dependencies included in package
[Fix] Removed CLSUIP_LocalizedStrings.vi so as not to distribute NI VIs (LAVA CR Certified requirement).
[Fix] Changed nameing convention to retain capitalisation.
1.1-1 2009 11 27
[New] Added support for when "Include Error Handling Terminals" is unselected
[New] Default save names included. Write: set; Read: get (where is the Data Member Name in camel notation)
[Fix] VIPC file now does not contain packages, it is a list only
[Fix] Removed Quick Drop dependency
1.0-2 2009 11 17
[New] Added VIPC file for dependencies
1.0-1 2009 11 17
[New] Initial release of the code (LabVIEW 2009).
License:
BSD
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 LVOOP Custom User Scripting support page.
Distribution:
This code was downloaded from the LAVA Code Repository found at lavag.org
1,336 downloads
Updated
-
GetSnippet
By jcarmody
GetSnippet RCF Plugin v1.0.0
Copyright @ 2009, Jim Carmody
All rights reserved.
Author: Jim Carmody
LAVA name: jcarmody
Contact Info: Contact via PM on www.lavag.org
LabVIEW version:
Created and tested with LabVIEW 8.2
Dependencies:
JKI Right-Click Framework
LabVIEW 8.2 or higher
Description:
The Code Capture Tool 2.0 can create a VI snippet in LV versions as old as 7.0; this plugin lets you extract them in versions 8.2 and above. Standard conditions apply - you won't be able to extract a snippet that was created in a newer version of LabVIEW.
Instructions:
Extract the zip file into [LabVIEW]\Resource\JKI\RCF\Plugins\GetSnippet and restart the RCF framework. Once installed, select a snippet, activate the RCF and select GetSnippet and your decoration will be replaced by the underlying code.
Known Issues:
Hardly anybody makes snippets in anything except LabVIEW 2009. The program works fine, though.
Acknowledgements:
Ton Plomp and Yair gave us the Code Capture Tool, without which there would be no need to extract snippets in LabVIEW < 2009.
Darin.K showed me how to get a VI from a snippet. Ton helped me improve my implementation.
Change Log:
v1.0.0: Initial release of the code.
License:
BSD
Support:
If you have any problems with this code or want to suggest features:
please go to www.lavag.org and Navigate to
LAVA > Resources > Code Repository (Certified) and
search for the "Abort.vi" support page.
Distribution:
This code was downloaded from the LAVA Code Repository found at www.lavag.org
887 downloads
Updated
-
quick create a new vi from template
By Black Pearl
Installation:
Copy the contents to LabVIEW xxxx/resource/plugins
Abstract:
Speed up creating new vi's from templates!
It's using the 'new vi'-hook to create the new vi from a custom template. A plugin architecture allows to map different templates to the keyboard.
For a quick-start, try Ctrl+N followed by 'H' (without releasing the Ctrl key).
Detailed Description:
When using
New -> Blank VI from the Startup Window File -> New VI from the menu of any vi or the Ctrl+N shortcut the lv_new_vi.vi hook is called.
Releasing of the Ctrl key (when using the shortcut) uses the Default.vit. The next key-press k creates a new vi from the template [...]/plugins/lv_new_vis/templates/k.vit. This is case insensitve and only works with a..z and SPACE. If no template is found or if an error occures, the default action of LabVIEW (empty vi) is performed (Failsafe).
In addition to normal vi templates it supports global vi templates and control templates.
Even more customization is possible using special tags on the vi or vit. Use
[...]/plugins/lv_new_vis/tools/lv_new_vi__TagEditor to read and set them:
isBD_ToFront? bring the block diagram in front instead of the front panel isRunMe? will instead run the vi in the template folder. Use this for wizards, more sophisticated scripting and other dialogs.
Examples (V0.9.3: seperate ogp package):
Try the following keys to see the different possibilities:
f: normal vi, FP at front b: BD at front g: global vi c: control w: wizard h: help You do not need to delete the demo templates, a w.vit will load even with w_example.vit present.
Compatibility: Developed in good old 7.1 and tested with 2010. I don't know if it works nicely with the project explorer and did never try to use it with projects, libraries and classes.
Planned Features:
* Error logging
* Redirections via Config file (I will link the standard templates) (Edit: It's faster to just place them in the templates folder.)
V 0.9.1
Fixed issues with the Application Instances of LV8.0 and higher.
Wizards are still launched in the diaolog App.Instance, they need to get the default App on their own.
V 0.9.2
Changes: Closing all references
Beta: Uses VI Activation Event to abort when the user switched to a different app. (See discussion for details).
V 0.9.3
Uses VI Activation Event to check Ctrl-Key when user switches from a diffrent application.
Now available as packages (ogp). Uses a seperate package for the examples.
V 0.9.4
Fixed issues with 0.9.3: After start of LV, Ctrl+N didn't work the first time
Enjoy, Felix
1,432 downloads
Updated
-
Mercurial API
By Ton Plomp
An API for the Mercurial command line interface (hg), includes all the basic commandos:
Add
Archive
Backout
Branch
Clone
Commit
Diff
Forget
Init
Log
paths
Push
Pull
Remove
Rename
Revert
Status
Tag
The API provides an interface to communicate with a Mercurial Repository.This API is not meant as a integrated Mercurial provider in LabVIEW.
Installation is performed by VIPM, after which a palette is created in the user.lib palette.
You can access the sourcecode of this API at Bitbucket.
Licensed under GPLv2, since it creates a derivative on the Mercurial icon. © Matt Mackall
Copyright © 2012 Ton Plomp
This program is free software; you can redistribute it and/or
modify it under the terms of the GNU General Public License
as published by the Free Software Foundation; either version 2
of the License, or (at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
2,530 downloads
Updated
-
TLB - Top-Level Baseline
This is the official release of my LV State Machine template; the TLB - Top-Level Baseline. It was presented at the State Machine vs. State Machine presentation at NI Week 2010.
This is worth using because it implements most of the common functionality that you end up creating w/ most / all LV state machines anyway:
Error handling Idle cases Interactive event driven execution Shutting down parallel loops gracefully String based queued states Handling the Panel Close? event
Some techniques used are not immediately intuitive, but each design decision was made with the idea of scalability and ease of use in mind.
Please post your 'Why did you do that?' questions and I'll gladly inform and instruct why the design choices were made (including why did I use colors)
2,808 downloads
Updated
-
Encryption
By Ton Plomp
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,728 downloads
Submitted
-
GPower toolsets package
This is a submission for the GPower toolsets palette, which will also shortly be available on the NI LabVIEW Tools Network. I submit it to Lava to (of course) share it with everyone, but also to establish an open forum to discuss improvements and to provide support. Much better than hiding all this in private email conversations with each user.
The toolsets are compiled for LV2009 SP1, are provided as VIPs for VIPM, and will mass compile to at least LV2010 and LV 2011 without problems (this happens automagically during the VIP-install process for those of you that don't know VI Package Manager ). The 'gpower_lib_toolsets-1.0.0.6.vip' is an umbrella for the four other VIPs, it doesn't add anything extra by itself.
Currently this consists of 4 toolsets:
Dynamic Dispatch
Open, pass data to (without using the front panel), run, and close dynamic VIs. A cumbersome process using VI Server made easy with this toolset.
Error
Streamline common error wire tasks such as set, filter and clear errors and warnings, and unbundle the error cluster. Adds advanced features such as dynamic setting of custom global errors, that you can invoke from anywhere in your application, and bundling errors into a single error wire. No more need for arrays of error clusters!
Timing
Calculate elapsed and remaining time, and abort a running Wait function for instance.
VIRegister
High performance "global variables" that lets you pass data between any corners of your application. It's based on queues, so a "global" that does not involve using front panel controls, files, or the LV project - it all happens in the block diagram. In most cases you don't even have to pass a refnum around, just drop a VIRegister somewhere and you're done.
If this thread generates too much noise across the different toolsets, we could split this into 4 submissions. But lets see how it goes. More toolsets are awaiting release, but I'll start with these four to get a feel for the process.
Cheers,
Steen
2,463 downloads
Submitted
-
Data Broadcasting Library for Actor Framework
By Stobber
Use v1.0.0 for LabVIEW 2011-2012.
Use v1.1.0 for LabVIEW 2013+.
The attached library provides extensions to the Actor Framework to facilitate the broadcast of messages from one actor to several others. Listeners subscribe to a message when they want to receive it from the Broadcaster, and they unsubscribe when they want to stop receiving it. The library provides a set of common interfaces that decouple Broadcasters from Listeners so any two actors in a messaging hierarchy can communicate via broadcast without having the same caller.
This library extends the Actor Framework; it does not modify the core framework in any way, so it may be used in existing projects as well as new ones.
Documentation for the library and the included example program is attached.
2,843 downloads
- lvoop
- actor framework
- (and 1 more)
Updated
-
SET Localization Toolkit
By Porter
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.
Features:
- 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.
Requirements:
- Unicode support enabled in the LabVIEW.ini file
Installation:
- Download the ".vip" file and install using VI Package Manager 2014
- Make sure that "UseUnicode=True" is set in the "labview.ini" file
Usage:
- From within any LabVIEW window, select "Tools->LAVA->SET Project Editor"
GitHub: https://github.com/rfporter/SET-Toolkit
1,494 downloads
Updated
-
Mandelbrot Explorer
By CopperD
Simple Mandelbrot explorer that I wrote a few years ago.
Features
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
Operation
Load project in LabVIEW 2015 32/64 bit
Start program using Mandelbrot Main.vi
212 downloads
- mandelbrot
- fractal
- (and 1 more)
Submitted
-
Tab into cluster contents
Copyright 2015, Merecs Engineering GmbH&Co. KG
All rights reserved.
Author:
Christoph Deus
Instructions:
This code has been tested to run under LabVIEW 2014.
Features:
- Enables Tabbing into and out of Cluster-Controls
- Also works with Clusters on Tab-Controls
Support:
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:
1.0.0:
Initial release of the code.
244 downloads
Updated
-
U8 Array 2 Space Delimited String
"Converts U8 Array into Space Delimited String".. This is a very simple code but often times very handy when you are in a hurry writing your code and want to finished asap. Description: it will convert a u8 hex array into a space delimited hex string. please let me know if you have concern or question regarding this LabVIEW code. Autthor: Sherwin Tiongson..
775 downloads
Updated
-
Multi Column ListBox with 2 selections only
I had a need for a multi-column list box and i needed only 2 selections for the user to make, well in labview they did not have that option it's either 1 or 3 or more. So i made this little adapter to suit my needs.
Thanks,
1,128 downloads
Updated
-
Select N inputs (xnode)
By o u a d j i
a "Select" ... but with N inputs
2 menus :
1)
a - select mode : after&before , only after, only before
b - select output : top , center
2)
a - add input (after)
b - remove input
ouadji,
(for a quick test ... unzip ---> QUICK_TEST.vi)
188 downloads
Updated
-
Help! Discovered a big bug of labview's ChirpZ Transform function(Not Sure)
By bodopoq
When using ChirpZ transform of LabVIEW(The example itself provides),I found a strange thing.When the frequency is very big and the range is small together with a not small number of ChirpZ transform,Error happened(very bad spectrum and wrong frequency ChirpZ's result is)! Nothing is wrong with the examples(I've scripted other VIs to verify this),and this error didn't happend using MATLAB. So I believe that is a bug of LabVIEW!!!(Not Sure yet of course). I Need Help! Talent Masters, Come out!
83 downloads
Submitted
-
Traffic Jam Game
By hooovahh
Has your stressful day at work got you down? Want to take a load off and relax with a game? Why not a LabVIEW game? Here is a game I made a while ago and forgot about. It is called Traffic Jam similar to this, or this one called Rush Hour. The basic goal of the game is to get the red car out of the parking lot, by moving the other cars. Cars can only move in one direction and can't turn.
My coding style has improved over the years, but I'm not yet ashamed of the work I did on it. It was fun working with the picture control and generating the UI based on the level files.
This game comes with 122 levels. Why 122? Because I forgot to put in the last 18. Feel free to add them yourself by editing the Set text files.
This game also keeps track of your high score, so you can try to go back and do it in less moves.
234 downloads
Submitted
-
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
Features:
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.
128 downloads
- right click framework
- quick drop
- (and 2 more)
Submitted
-
FPRefs2VariantAttributes
By Comrade
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.
128 downloads
Submitted
-
Falk Schneider
By Comrade
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:
https://lavag.org/topic/4796-control-user-run-time-menu-checkmark/#entry26461
LabVIEW version is 2013
178 downloads
Updated
-
VIM HAL Demo
By ShaunR
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.
Note:
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.
284 downloads
Updated
-
LibreOffice Simple LV interface
By Gribo
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.
477 downloads
Updated
-
Calendar XControl
By Benoit
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.
351 downloads
Updated
-
HTML color table
By Benoit
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...
Enjoy
222 downloads
- report generation
- html table
- (and 2 more)
Updated
-
List all VISA session opened
By Benoit
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.
288 downloads
Updated