General
30 files
-
LV muParser
By Porter
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
406 downloads
Updated
-
game TIC-TAC-TOE Game
By leumaseoj
Tic Tac Toe is a fun kids game. It created it back in 2011 when I was interning and learning LabVIEW. Please feel free to download and play this game.
TIC-TAC-TOE.zip
45 downloads
Submitted
-
BlueSerialization
By bjustice
Serialize and deserialize LabVIEW classes using either JSONtext or TOML
Official documentation: https://github.com/justiceb/BlueSerialization
13 downloads
Submitted
-
Y Controls Support - Version 2.0.2.0 Installer.zip
Installs support for Y Controls. Requires LabVIEW 2019 or later.
123 downloads
Submitted
-
JSONtext
By drjdpowell
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
1,043 downloads
Updated
-
Fourier Epicycles
This VI program implements the Discrete Fourier Transform (DFT) to draw any drawn shape outline with epicycles as demonstrated in this video.
For more information on the mathematical principles, please watch this video by Mathologer.
How to Use:
1.Unzip the attached zip file.
2.Open Main.vi file.
3.Run the VI.
4.Draw a shape.
4.Enjoy animation!
101 downloads
Updated
-
Threshold Hysteresis v1.0 LV8.6.1
By Deon
The Threshold Hysteresis VI allows an input (for example, a sensor) to drift out of an inner limit without generating an invalid flag, but if it drifts outside an outer limit it then becomes invalid. For the reverse, when the input crosses back into the outer limit it remains invalid until the value falls inside the inner limit.
For simplicity, only one input parameter is provided for both the inner & outer limits, and is negated for the lower limit, as generally tolerance limits are equidistant from the nominal.
173 downloads
- hysteresis
- threshold
- (and 2 more)
Updated
-
JSON LabVIEW
By drjdpowell
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.]
13,577 downloads
Updated
-
Floating Point Almost Equal
By Porter
This package contains VIs for testing equality of floating point numbers within a specified tolerance. Absolute Epsilon comparison, Relative Epsilon comparison and the ULP comparison have been implemented as described in this blog post by Bruce Dawson: http://randomascii.wordpress.com/2012/02/25/comparing-floating-point-numbers-2012-edition/ Note that the ULP comparison has not been implemented for extended precision floating point type. Installation and instructions: Install VIP package using VI Package Manager 2014. Examples: "<LabVIEW>\examples\LAVA\AlmostEqual\AlmostEqual_Example 1.vi" Demonstrates the usage of all three AlmostEqual functions. "<LabVIEW>\examples\LAVA\AlmostEqual\AlmostEqual_Example 2.vi" Demonstrates a case where exactly equal fails to produce the expected result. Development version available on GitHub: https://github.com/rfporter/FP-Equal593 downloads
- flaoting point
- equal
- (and 1 more)
Updated
-
Analog Clock_LV2010
Analog Clock_LV2010 v1.0.0
Copyright © 2012, Prabhakant Patil
All rights reserved.
Author: Prabhakant Patil
LAVA Name: Prabhakant Patil
Contact Info: Contact via PM on lavag.org
LabVIEW Versions:2010
Dependencies: Required Labview proffesional version to create XControl
Description: This is simple try to create analog clock.
Version History: v1.0.0: Initial release of the code.
License: BSD
Distributed under the Creative Commons Attribution 3.0 (http://creativecommo.../about/licenses)
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 "Analog Clock_LV2010" support page.
Distribution:
This code was downloaded from the LAVA Code Repository found at lavag.org
1,513 downloads
Updated
-
Calendar LV2009
Hi All
This Calendar is developed for the report generation.
This tool is very useful in report generation to pick up the date.
Please read readme.txt
Please give me suggestion for this to improve more.
Prabhakant Patil
4,101 downloads
Updated
-
lvODE
By vugie
Author: Wojciech Golebiowski (vugie), w_golebiowski at tlen dot pl
Name: lvODE
Type: Library
LabVIEW Version: 2009
Description
lvODE is a set wrappers, an interface to ODE (Open Dynamics Engine) library written in C and used to simulate dynamics of rigid body systems, including interactivity and in real time. In the present state lvODE allows you to use almost the full functionality of ODE in the LabVIEW environment using object-oriented programming (LVOOP). Such simulations may be used, among others, for programming the control systems of robots and manipulators (as well as in the control systems themselves, i.e. for trajectory planning), for development and testing of artificial intelligence systems, for modeling of complex mechanisms and other physical systems, etc.
lvODE is not a strict set of ODE wrappers. Although it uses the same concepts, the same terminology and most of the ODE functions are reflected, many of them have been grouped, data structures have been simplified, all in a user-friendly manner and taking into account specifics of LabVIEW environment. There are also few features not present in the original library which greatly facilitate programming – i.e. Object Manager. Further extensions (i.e. 3D Picture Control integration) are planned.
Short preview movie:
Briefly about the ODE
ODE is a free and widely-known library designed to simulate systems of rigid bodies. The programmer defines the layout of bodies, their physical parameters and types of connections between them, the role of the library is to calculate the forces acting in the system and to determine position and velocity of all bodies in the next time step, while satisfying all defined relationships. Programmer is able to interfere in simulation in full range while it goes on. It allows for the accurate analysis of its results (access to all the physical parameters) as well as programming any degree of interactivity. ODE is designed specifically to perform real time simulations – it uses a first order integrator (the procedure to solve a system of differential equations), which is a compromise between speed and accuracy. Results generated are not as accurate as they would be using higher-order integrators, but it is stable, fast and flexible.
The basic features of ODE include:
Rigid body with arbitrary mass distribution Types of kinematic pairs (joints, constraints): ball, slider, hinge, suspension, universal (Cardan), linear and rotary actuators, contact, and combinations that are already listed Types of geometry used for collision detection: sphere, cube, cylinder, capsule, plane, ray, any shape in the form of triangle mesh, convex, heightfield Three types of spaces for fast collision finding Equations of motion derived using Lagrange multipliers Choice of integration method: the "full" method – slower, but more accurate, and quick iterative method An advanced model of contact and friction
Installation
The contents of the archive folder ("lvODE") should be extracted to directory \user.lib. After restarting LabVIEW the sub-palette "lvODE" appears in the User Libraries section, where all the necessary functions may be found.
Or use the VIPM package.
Documentation
The documentation is located in the subdirectory 'doc' and it consists of the following files:
ODE Manual.pdf - The original guide to the ODE. At least brief knowledge of it is necessary to understand the main concepts and mechanisms of library. Due to the use of the same terminology, it can also be a sufficient source to use the lvODE. The main difference from the original is the simplified naming convention. lvODE Class Hierarchy.pdf - graphical representation of a lvODE class hierarchy of classes library - not necessary to start programming, but it may help to understand certain concepts. lvODE Function Reference.pdf - a list of all public lvODE functions with descriptions and organized by class. Descriptions of the functions derive much of the original ODE manual, however, cover all the differences of the conventions and LabVIEW specifics. This document is definitely to be polished (better grouping, more detailed descriptions of each section, etc.) Files *. png - map of all pallets An integral part of the documentation are also descriptions in of context help for each VI. In large part they fit the descriptions in the file "lvODE Function Reference". Private functions are documented as well.
Examples
Example applications are located in "examples" subdirectory. There are few examples with varying degree of complexity, and with comprehensive comments in the code. These examples, supported by context help and (in difficult cases), reading a few chapters of the original manual should be sufficient to start programming in lvODE.
Comments
lvODE is not a finished project. Once the ODE itself is still being developed, second, not whole its functionality is currently implemented in lvODE. The major differences include: no support for trimesh, heighfield and convex geometries, the lack of a 2D Plane constraint, lack of gyroscopic mode for the bodies, single precision floating point numbers only.
Few words about licensing. I publish lvODE under such a restrictive license (see below), because this is still experimental phase. I’ll appreciate any feedback which could help to make this library better and more stable. My further plans are to provide less restrictive free version and full-featured commercial one. Please contact me if you are interested.
Comments on this approach are also appreciated.
Version History
v0.1.0: Initial release of the code.
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 "lvODE" support page.
License
This work is published under the Creative Commons BY-NC-ND license (description and text of the license here and in license.txt)
ODE library is distributed under BSD license (www.ode.org)
Copyright © 2010, Wojciech Golebiowski
1,614 downloads
Updated
-
Document Generator
By Mark Smith
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,498 downloads
Updated
-
Waptia - genetic optimization algorithm
By vugie
Waptia - genetic optimization algorithm
Copyright © 2009, Wojciech Golebiowski
All rights reserved.
Author: Wojciech Golebiowski (w_golebiowski (at) tlen.pl)
Name: Waptia - genetic optimization algorithm
Type: library
LabVIEW version: 8.2
Distribution:
This code was downloaded from:
http://www.lavag.org
Description:
Waptia is general genetic optimization algorithm - it tries to maximize user supplied function of N variables (so called "Fitness Function"). Function is given as strictly typed VI reference. So the optimization goal may be described as: find such set of N numbers for which Fitness Function value is highest.
Waptia is LabVIEW implementation of quite well known genetic optimization algorithm Pikaia by Paul Charbonneau & Barry Knapp developed in Fortran-77. For more information on Pikaia and some background informatio on genetic algorithms visit: http://www.hao.ucar....kaia/pikaia.php
Pikaia name comes from lancelet-like creature which lived ages ago in Cambrian sea and waptia was another Cambrian being. Original Pikaia was developed for educational purposes, but it grew up and became widely used routine. Waptia is almost 1:1 conversion of Pikaia code (which is public domain) to LabVIEW - parts of original Fortran code are placed in related VIs - with some cosmetic modifications and improvements. Although Waptia already does real job I treat this code as starting point for further development to create sophisticated, but still easy to use genetic algorithm.
Here are Waptia's core features:
- decimal genotype encoding
- two-point crossover operator
- optional dynamically adjustable mutation rate
- optional "creep" (smoothly changing) mutation mode
- three possible reproduction plans
- elitism
- optionally stops optimization when fitness criterion is satisfied
- optimization progress may be traced on-line with notifiers
Usage is very simple - just put Waptia.vi on block diagram and provide number of independent variables and fitness function VI reference (which may be created using included template). There is of course a lot of parameters to tune, but default set usually does good job.
Installation
Preferably install VIP package with VI Package Manager
Alternatively extract ZIP to User.lib.
There are no external dependencies.
Documentation
Documentation is provided in "Waptia docs.rtf" file. It's just a description of all controls of Waptia.vi with some background information. Same information may be found in context help. Information on how to write your own fitness function is provided as comments in "Fitness Function Template.vit"
If you want to understand how Waptia works, whole code is extensively commented.
Examples
There is one quite complex example (but I hope that still understandable) located in _examples folder - "multimodal optimise.vi"
If you want any support on general or specifically genetic optimization problems, just contact me.
License (BSD):
Copyright © 2009 Wojciech Golebiowski
All rights reserved.
Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions
are met:
1. Redistributions of source code must retain the above copyright
notice, this list of conditions and the following disclaimer.
2. Redistributions in binary form must reproduce the above copyright
notice, this list of conditions and the following disclaimer in the
documentation and/or other materials provided with the distribution.
3. The name of the author may not be used to endorse or promote products
derived from this software without specific prior written permission.
THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
1,843 downloads
Updated
-
Align and distribute
By Ton Plomp
Align Distribute objects v1.2.0
Copyright © 2010, Ton Plomp
All rights reserved.
Author: Ton Plomp
LAVA Name: Ton Plomp
Contact Info: Contact via PM on lavag.org
LabVIEW Versions:
LabVIEW 2009 and up
Dependencies:
No dependencies, demo VI needs the OpenG time library
Description:
A set of VIs to align or distribute a set of points or objects, they behave similar to the align and distribute functions in the LabVIEW IDE. These tools are usefull when dealing with objects that needs to be rearranged.
The set of VIs is bundled in one polymorphic VI (align_distribute.vi) that has the following tree layout
-Align
-Top
-point
-rectangle
-Left
-point
-rectangle
-Bottom
-point
-rectangle
-Right
-point
-rectangle
-Vertical center
-point
-rectangle
-Horizontal center
-point
-rectangle
-Vertical center
-point
-rectangle
-Distribute
-Top
-Left
-Bottom
-Right
-Vertical Centers
-Vertical Gaps
-Vertical Compress
-Horizontal Centers
-Horizontal Gaps
-Horizontal Compress
Installation and instructions:
Use the VI whereever you want, or install it into your user.lib with VI Package manage (http://www.jki-soft.com/vipm)
Examples:
The zip-file includes one DemoVI that moves front panel controls around
Known Issues:
Acknowledgements:
Icons are supplied by National Instruments in the LabVIEW IDE
Version History:
AlignDistribute - 1.2.0 (Released 2010-06-28)
=============================================
- 0000021: [bug] The palette shows Align Distribute.vi as name.
v1.1.0: Initial public release of the code.
License:
This code licensed under the BSD license
==============Start of license==================
Copyright © 2010, Ton Plomp
All rights reserved.
Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions are met:
1. Redistributions of source code must retain the above copyright
notice, this list of conditions and the following disclaimer.
2. Redistributions in binary form must reproduce the above copyright
notice, this list of conditions and the following disclaimer in the
documentation and/or other materials provided with the distribution.
3. All advertising materials mentioning features or use of this software
must display the following acknowledgement:
This product includes software developed by the .
4. Neither the name of the nor the
names of its contributors may be used to endorse or promote products
derived from this software without specific prior written permission.
THIS SOFTWARE IS PROVIDED BY ''AS IS'' AND ANY
EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
DISCLAIMED. IN NO EVENT SHALL BE LIABLE FOR ANY
DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
==============End of 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 "Distribute objects" support page.
Distribution:
This code was downloaded from the LAVA Code Repository found at lavag.org
392 downloads
Updated
-
Windows API
By ShaunR
Windows API Utilities.
An eclectic set of wrapper VIs around some windows API functions.
I wrote these many years ago (1998? wow!) but have used them to some extent in virtually all my windows programs.
I've included all the original functions (accidentally re-compiled under LV 9.0) and just wrapped them up in a project and added the LAVA required stuff so your getting them "warts 'n all".
Many functions have been superseded by LabView functions and I expect many people already have their own.
But there are still some gems I couldn't do without and maybe someone will find them useful.
Installation:
Unzip to a directory of your choice.
Required Packages:
Labview 9.0 or greater
Windows XP or greater (may work on earlier versions)
Known Issues.
None.
Versioning:
Current version 1.0.
Contact: PM ShaunR on lavag.org (http://www.lavag.org)
2,115 downloads
Updated
-
MemBlock
By vugie
Author: Wojciech Golebiowski (w_golebiowski (at) tlen dot pl)
Name: MemBlock
Type: library
LabVIEW version: 8.2
Description
MemBlock is easy to use interface for internal LabVIEW memory manager functions (namely AZNewPtr, AZDisposePtr and MoveBlock from LabVIEW.dll). It allows for convenient work with continuous nonreallocatable blocks of memory) - allocating and dealocating blocks and write and read data to and from them. It is usable everywhere you deal with external DLL and you have to provide pointer to some data or read data from received pointer. Typical usage case is dealing with complex C structs containing pointers to arrays or strings.
Installation
Preferred way to install library is to use VIP package and VI Package Manager.
Alternatively library may be used after unpacking it anywhere on disk. However, it is most convenient to copy entire MemBlock directory to the directory \user.lib. After refreshing palletes (or LV restart), in the User Libraries, sub-palette "MemBlock" will appear.
Documentation
Descriptions of all VIs are available through the LabVIEW context help.
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 "MemBlock" support page.
Version History
1.0.0:
Initial release of the code.
License (BSD)
Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions
are met:
1. Redistributions of source code must retain the above copyright
notice, this list of conditions and the following disclaimer.
2. Redistributions in binary form must reproduce the above copyright
notice, this list of conditions and the following disclaimer in the
documentation and/or other materials provided with the distribution.
3. The name of the author may not be used to endorse or promote products
derived from this software without specific prior written permission.
THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
655 downloads
Updated
-
log event error
This VI logs an Application event associated with "error" to the Windows Event Viewer (eventvwr.exe). An event description includes the "error" source and code along with the leading "reason". This information can be viewed by opening an Event Properties window in the Event Viewer.
732 downloads
Updated
-
Convert between ASCII and Unicode
By crelf
Copyright © 2006, Christopher G. Relf
All rights reserved.
Author:
Christopher G. Relf
christopher_relf@yahoo.com
Distribution:
This code was downloaded from:
http://forums.lavag....odule=downloads
Description::
Convert between ASCII and Unicode
Version History:
1.1.0: Faster ASCII to UNicode alogrithm
1.0.1: Bug Fix - Removed increment in "Convert Unicode to ASCII.vi"
1.0.0: Initial release of the code.
2,534 downloads
Updated
-
Watermark hidden in text string
By JohnS
This software is made to hide watermark text inside your text without changing the text content
The watermark is buried in the space characters of your text !
It is "not" possible to find the watermark in the text only if you know where to look.
You can make sure that text you have written is not manipulated by somebody without breaking the watermark....
How things work you can see in the attached example_watermark file.
The file Spacy_watermark.vi is the packer and recovery of the watermark text inside a text string.
Copy the watermarked text inside a document (.doc, .txt, .html) so this text is tagged with your watermark of choice.
Explore how its done...... and let me know if you like it !
John
1,150 downloads
Updated
-
Variant to Control
By Ton Plomp
opyright © 2007, Ton Plomp
All rights reserved.
Author:
Ton Plomp
--see readme file for contact information
Description::
This tool converts any datatype into a control, this control can be typedef, a special Use-case VI is added:
Array of strings to an enum.
Especial usefull if a list of allowed values is avialable and is case sensitive (XML...)
The control can be saved as a typedef
Originated from Array To Enum
Acknowledgements:
Uses code by Bob Billier from his RTM to Enum tool
Dependencies:
Uses the following OpenG toolkits:
oglib_lvdata-2.7-1
oglib_error-2.3-1
oglib_file-2.8-1
These can be installed with VIPM (http://jkisoft.com/VIPM)
Version History:
1.1.0:
Added Variant to control
1.0.0:
Initial release of the code.
2,261 downloads
Updated
-
SAPI TTS(Text To Speach) Library
By syrus
Copyright © 2007, Syrus Nemat-Nasser
All rights reserved.
Author:
Syrus Nemat-Nasser
--see readme file for contact information
Description::
A simple set of Sub-VIs to efficiently implement text-to-speech in LabVIEW applications on Windows using the Microsoft Speech API (SAPI).
Version History:
1.1.0:
Updated SAPI Speak SubVI: SAPI Speak is now polymorphic, accepting either a text string or a file path (which should point to a text file containing text to speak). In addition, SAPI Speak now handles speech flags correctly thanks to code contributed by LAVA user 'jdunham' included in this release.
1.0.0:
Initial release.
1,438 downloads
Submitted
-
Railroad Interlocking Controller
Copyright © 2009, Oliver Barrett
All rights reserved.
Author:
Oliver Barrett
--see readme file for contact information
www.linkedin.com/in/orbarrett
Description:
THE APPLICATION CONTROLS A SIMULATED RAILROAD INTERLOCKING CONSISTING OF PASSENGER STATION TRACKS, A GRADE CROSSING BETWEEN TWO RAILROADS AND A RAILROAD SWING BRIDGE.
All switches and track signals are controlled for the purpose of safely lining one train movement through interlocking at a time. Simulated occupancy of each track section by a train movement is displayed.
Interlocking operator can select the following functions from the application screen:
1. Line a selected track switch for movement into or out of the passenger station siding tracks.
2. Line one of five preconfigured interlocking configurations (eastbound, westbound, northbound, southbound or Stop), in preparation for a simulated movement in the same direction (movement will wait outside interlocking limits if configuration at Stop).
3. Select a movement direction and initiate a simulated train movement through interlocking.
A simulated movement (begun by clicking on the Initiate button) will not proceed completely through the interlocking unless the latter is configured for the same direction as the direction of movement. Such a movement may progress partway until it encounters a red signal and will then stop. It may be restarted by first lining the interlocking for the proper direction and then clicking on Initiate again.
Track signal indications will update in real-time to reflect occupancy condition (unless overriden by current interlocking configuration). The indicator for an occupied track section appears orange, otherwise green.
Each signal indicates PROCEED (green) or STOP (red). One or more signals will be forced to display STOP as part of a preconfigured interlocking movement direction (irrespective of track occupancy).
LABVIEW STRUCTURE
The application uses a Producer-Consumer (Events) design pattern. The interlocking function requests are handled by the producer loop, with separate consumer loops for lining a siding switch, configuring an interlocking direction and initiating a simulated train movement. A separate display loop executes in parallel.
Separate queues are used to pass operator requests for lining a track switch, configuring an interlocking direction and selecting a direction for simulated train movement, using a different enum typedef for each. State machine design patterns are used within the track switch lining, interlocking configuration and interlocking movement subVIs.
Four functional global variables are used for all state data involving track occupancy, switch and bridge states, signal override states (the latter used for lining a given interlocking direction) and current relative movement location/movement direction.
The display loop is initialized by a notifier at the beginning of application execution and runs in parallel to continuously update track occupancy display along with switch and bridge states and all signal indications reflecting interlocking conditions.
SubVIs are used in the display loop to read the binary state word supplied by the functional global variables associated with the track occupancy states, switch/bridge position states and signal override states.
Dependencies:
None.
Change Log:
1.0.0: Initial release of the code.
1,171 downloads
Submitted
-
Strings Levenshtein Distance
Copyright © 2008, Leif S. Kirschenbaum
All rights reserved.
Author:
Leif S. Kirschenbaum
--see readme file for contact informaation.
Description:
This VI computes the Leventshein distance between two strings.
It is based on the pseudocode found in Wikipedia online:
http://en.wikipedia....shtein_distance
"The Levenshtein distance between two strings is given by the minimum number of
operations needed to transform one string into the other, where an operation is an
insertion, deletion, or substitution of a single character."
It functions by creating a step matrix which is N+1 x M+1, where N and M are the
lengths of the two strings to be compared, and filling in each cell of this matrix
indicating how many steps (insertions, deletions, character substitutions) are required.
The total number of steps to convert one string into the other is given by the last cell
in the matrix.
Change Log:
1.0.0: Initial release of the code.
619 downloads
Updated
-
Self-Decimating Storage VIs
By torekp
Copyright © 2007, Huron Valley Steel Corporation
All rights reserved.
Author:
Paul Torek
--see readme file for contact information
Description:
These files allow the programmer to maintain a fixed-sized representative sample of data, regardless of how many data sets are accumulated. The storage may be in the form of a shift register (a.k.a. VI Global) - VIG_self_decimating.vi performs this job - or in the form of a binary file on disk - VIG_decimation_indices.vi and write_2Ddbl_decim8_REentrant.vi do that job, with help from decimatd_evenly_spaced_2D_DBL.vi and decimated_cleanup_2D_DBL.vi. Note that the given VIs are intended for storing 2D DBL arrays, but it is straightforward to modify them to do other formats such as 1D i32 arrays.
Labview 8.0
Version History:
1.0.0:
Initial release of the code.
526 downloads
Submitted