Jump to content

*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.

77 files

  1. 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.

    237 downloads

    Updated

  2. 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:
    https://lavag.org/topic/4796-control-user-run-time-menu-checkmark/#entry26461
    LabVIEW version is 2013

    176 downloads

    Updated

  3. 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.

    127 downloads

    Submitted

  4. 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.

    126 downloads

    Submitted

  5. Traffic Jam Game

    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.

    230 downloads

    Submitted

  6. Help! Discovered a big bug of labview's ChirpZ Transform function(Not Sure)

    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

  7. Select N inputs (xnode)

    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)

    186 downloads

    Updated

  8. 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!  
    ouadji,   
     
    if you like this Chess Game, a kudo is most welcome!  (here - first post)

    2,765 downloads

    Updated

  9. Triple buffer

    (initial discussion, with other implementations here)
     
    In the need for displaying large images at a high performance, I wanted to use triple buffering in my program. This type of acquisition allows to acquire large data in buffers, and have it used without copying images back and forth between producer and consumer.
     
    This way consumer thread doesn't wait if a buffer is ready, and producer works at max speed because it never waits or copy any data.
    If the consumer makes the request when a buffer is ready, it is atomically turned into a "lock" state. If a buffer isn't ready, it waits for it, atomically lock it when it is ready.
     
    This class allows to have a producer loop running at its own rate, independently from the consumer. It is useful in the case of a fast producer faster than the consumer, where the consumer doesn't need to process all the data (like a display).
     
    How to use

    Buffers are provided at initialization, through refnums. They can be DVRs, or IMAQ refnums, or any pointer to some memory area.
    Once initialized, consumer gets the refnums with "get latest or wait". The refnum given is locked and guaranteed to stay uncorrupted from the producer loop. If new data has been produced between two consumer calls, the call doesn't wait for new data, and returns the latest one. If not, it waits for the next data.
    At each producer iteration, producer starts with a "reserve data", which returns the refnum in which to fill. Once data is ready, it calls "reserved data is ready". These two calls never wait, so producer is always running at a fastest pace.

    Implementation details

    A condition variable is shared between producer and consumer. This variable is a cluster holding indexes "locked", "grabbing", and "ready". The condition variable has a mechanism that allows to acquire mutex access to the cluster, and atomically release it and wait. When the variable is signaled by the producer, the mutex is re-acquired by the consumer. This guarantees that the consumer that the variable isn't accessed by producer between end of consumer wait and lock by consumer.

    Reference for CV implementation: "Implementing Condition Variables with Semaphores ", Andrew D. Birrell, Microsoft Research

    215 downloads

    Updated

  10. 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.
     
    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,488 downloads

    Updated

  11. ShapeLib

    This is a package containing LabVIEW bindings to the library ShapeLib for working with shapefiles.

    The DLL as of version 1.3.0 is included in the package. This DLL is compiled with Microsoft Visual Studio 2010 Express, so you need the corresponding runtime. But chances are you already have it because other programs on your computer need it, too. So just give it a try.
     
    The library is thread safe, but the objects are not. E.g. you can open two different files in different threads, but you can not operate on the same file from two different threads at the same time.
     
    As of the moment the DLL is 32bit only.

    203 downloads

    Submitted

  12. Bluetooth Connect and Event Monitoring

    This VI can Discover, Pair, or Remove Bluetooth Device.  Can Connect or Disconnect (no data socket enabled yet),  Can establish a Comm Port, Open the Comm Port, Close A Comm port.
     
     
    Has the machinery but needs debugging for the Windows bluetooth Event Monitoring.  Any help would be VERY VERY WELCOME.
    I'm uploading this because I really wish somebody else had uploaded the necessary code for bluetooth pairing, but at the moment wish somebody else had uploaded code for monitoring bluetooth events (connect or disconnect events)

    381 downloads

    Submitted

  13. easy increment

    I have always found it frustrating that I cannot efficiently change numerical values with the mouse only. This is especially true when I'm simultaneously looking at a gauge on the other side of the room and changing values with my wireless mouse.
    "easy increment" selects individual decimal place values by moving the mouse across the spacial extent of a numerical control. Mouse wheel scrolling may then be used to to modify these values.
    It's easier to use than explain, I promise!

    150 downloads

    Submitted

  14. Rubiks Cube Solver

    This project is a 100% G based Rubiks Cube solver that I coded quite a while ago (2007) and then forgot about. I must have saved it it more recently in LV2011.
     
    The algorithm is based on the 7-step method, which is totally sub-optimal for solving a cube, but relatively simple to understand.
     
    Please note this code is not representative of my current coding ability, I just upload it in case anybody is interested.
     
    If I get time I would like to do a 3D representation of the cube and allow the manipulations to be done in this view.
     
    Run instructions:
    set the show boolean to True click randomise! pick a start colour click solve! The buttons on the left hand side can be used to do manual manipulations of the cube.

    5,075 downloads

    Updated

  15. LabView <-> google maps websocket interface

    A simple bi-directional interface between Labview and Google maps, using Websocket. 
    See readme.txt for instructions.

    3,972 downloads

    Updated

  16. Labview <-> Google maps VI

    Connects to google maps javascript V3 api using the web browser .NET object (it exposes the HTML DOM model, where as the ActiveX control does not). This is an improvement over the examples from NI, as it allows dynamic adjustments to all of the map objects. Currently, only circle and marker are implemented.

    2,247 downloads

    Updated

  17. moderator1983

    MSDN Link: GetDriveType function

    111 downloads

    Submitted

  18. LU Solver

    A native Labview (wire) general real matrix solver.
    Based on BLAS (FORTRAN code included)

    152 downloads

    Submitted

  19. Wire And Connect Quick Drop Plugin

    This Quick Drop (QD) plugin complements the functionality of the built-in QD plugin (CTL-Space-CTL-D) by wiring between selected controls, indicators, constants, and SubVIs.   

    Default Shortcut - [W] Normal Operation Wires selected nodes in left to right order.  Attempts to connect any common unwired terminals in between the far left and right nodes by checking the datatype, Name, or Caption. Holding Shift and the Shortuct: Wires controls to unwired far left Node terminals and indicators to unwired far right node terminals.     This is just something I put together as my first attempt at a Quick Drop plugin.  Something similar has been done previously to wire the corners of subVIs using the right click framework by user JCC_(SK): RCF Plugin - Wire Nodes by Corner - https://decibel.ni.com/content/docs/DOC-8386 . Code for this plugin was developed prior to knowledge of the JCC_(SK) RCF code and probably doesn't function as well since it hasn't been tested thoroughly. However this plugin is for quick drop and has some added capability to wire up all like terminals but can suffer from potential overzealous wiring. Just delete extra wires if necessary. Thanks to the NI guys for creating the QD template with good instructions.  Someone may have done this already but I'm putting this out for comment anyway.   <a href="http://www.screencast.com/t/PZhMafM2">WireAndConnectVideo</a>   http://www.screencast.com/t/PZhMafM2  

    190 downloads

    Submitted

  20. Data Broadcasting Library for Actor Framework

    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,831 downloads

    Updated

  21. Toolbar XControl

    lavag_lib_User_Interface_XControls_Toolbar XControl v1.0.0.3 by University of Leeds
    Author: Gavin Burnell
    Copyright: Copyright © 2013, University of Leeds
    License: BSD
    Compatible LabVIEW Versions: >= 2012.
    Compatible OS Versions: ALL.

    Description:
    This is a native toolbar for LabVIEW implemented as an XControl. It supports a single row of square buttons which maybe latching (sticky) or transitory (command) style buttons drawn in one of 4 different styles (system, square, flat or rounded). The toolbar will report button clicks via a value change event, but allows the possibility for further integration into other messaging systems.

    The buttons are represented as instances of a button base class that provides methods for drawing the button, updating tooltip text or responding to clicks. Overriding these methods in subclasses allows a greate flexibility of response. Included in the package is a 'vi-button' class that stores a vi reference with each button and executes it when clicked.


    This Package depends on these other packages:
    oglib_string >= 4.1.0.12

    1,060 downloads

    Updated

  22. filter specific range of color

    This function filters blue pixels.
    I have used HSL.

    335 downloads

    Updated

  23. Move_Cursor_with_Scroll_Key

    Copyright © 2012, Prabhakant Patil
    All rights reserved.
    Author: Prabhakant Patil
    Contact Info: Contact via PM on lavag.org
    LabVIEW Versions: 2012
    Dependencies:
    1. LabVIEW Runtime engine 2012
    Description:
    This example will help you to scroll graph cursor with scroll keys ( UP, Down. Left, Right)
    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 "Move_Cursor_with_Scroll_Key_LV2012" support page.
    Prabhakant

    300 downloads

    Submitted

  24. A microsecond accurate timer for Labview in Windows

    Since the standard Tick Count VI has very limited resolution, I made a simple timer using the QueryPerfomanceCounter methods in the windows kernel32.dll. The output is the time in seconds as a double precision value.

    1,175 downloads

    Submitted

  25. Waveform Class

    LabVIEW Versions:
    2010 SP1
    Dependencies:
    None
    Description:
    This is a reference based class for handling waveform data. The waveforms are pre-allocated for faster access. Methods allow you to append new waveforms, read the existing waveforms, read a subset of the existing waveforms, or read a decimated copy of the existing waveforms.

    452 downloads

    Updated




×
×
  • Create New...

Important Information

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