Jump to content

drjdpowell

Members
  • Posts

    1,981
  • Joined

  • Last visited

  • Days Won

    183

Files posted by drjdpowell

  1. Messenger Library

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

    Now hosted on the LabVIEW Tools Network (but note that the latest version will often be on LAVA)

    2,245 downloads

    Updated

  2. Cyth SQLite Logger

    A logger and log viewer using an SQLite database.  
    The logger is a background process that logs at about once per second.  A simple API allows log entries to be added from anywhere in a program.  
    A Log Viewer is available under the Tools menu (Tools>>Cyth Log Viewer); this can alternately be built into a stand-alone executable. 
     
    Requires SQLite Library (Tools Network).  
     
    Notes:
    Version 1.4.0 is the last available for LabVIEW 2011.  New development in LabVIEW 2013.  
    Latest versions available directly through VIPM.io servers.

    1,837 downloads

    Updated

  3. JSONtext

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

    Updated

  4. Cyclic Table Probes

    A package for creating custom probes with "history"; showing the last N values rather than just the latest.  Values are displayed in a cyclic table, which wraps around automatically when it reaches the bottom of the display window.  Developed to support messaging systems, where messages can be handled too quickly for the eye to see with a last-value probe.  Included are some standard probes, for strings, variants, objects, and some numerics.  Also included is a "Text Variant" probe, for messaging using a cluster of such, and a "JKI State Queue" probe for use in designs using the JKI "state machine" template (see image).  But the expected use case is for very easily creating custom probes for whatever messages one is using (just modify one of the included probes).
    Also includes "Quick Timer" probes to rapidly time execution of portions of code to accuracies of as low as 10 microseconds.
    Now hosted on the LabVIEW Tools Network.
    JDP Science Tools group on NI.com.
    Requires VIPM 2017 or later for install.

    617 downloads

    Updated

  5. Flatline Controls

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

    1,783 downloads

    Updated

  6. SQLite Library

    Introductory video now available on YouTube: Intro to SQLite in LabVIEW
     
    SQLite3 is a very light-weight, server-less, database-in-a-file library. See www.SQLite.org. This package is a wrapper of the SQLite3 C library and follows it closely.

    There are basically two use modes: (1) calling "Execute SQL" on a Connection to run SQL scripts (and optionally return 2D arrays of strings from an SQL statement that returns results); and (2) "Preparing" a single SQL statement and executing it step-by-step explicitly. The advantage of the later is the ability to "Bind" parameters to the statement, and get the column data back in the desired datatype. The "Bind" and "Get Column" VIs are set as properties of the "SQL Statement" object, for convenience in working with large numbers of them.

    See the original conversation on this here.
    Hosted on the NI LabVIEW Tools Network.
    JDP Science Tools group on NI.com.
    ***Requires VIPM 2017 or later for install.***

    9,038 downloads

    Updated

  7. JSON LabVIEW

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

    Updated

  8. Shortcut Menu from Cluster

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

    772 downloads

    Updated

×
×
  • Create New...

Important Information

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