DQMH Queued Message Handler

The Future of Team-Based LabVIEW Development

User Tools

Site Tools


dqmh:release-notes:dqmh50

DQMH 5.0

April 2020

Package Versions (DQMH 5.0)

  • Delacor QMH 5.0.0.72
  • Delacor QMH Palette 5.0.0.7
  • Delacor QMH Project Template 5.0.0.82
  • Delacor QMH Event Scripter 5.0.0.112
  • Delacor QMH Thermal Chamber Example 5.0.0.42

Major new features

  1. Singleton and Cloneable Module templates updated to use Start Async Call instead of Run VI method for launching Main VI
  2. Added support for scripting an RT tester for Singleton modules (DQMH 4.2 only supported LabVIEW Real Time for Cloneable modules)
  3. DQMH Validate Tool improvements
  4. Prompt the user to run the validate module tool after upgrading DQMH via VIPM
  5. Added the ability to validate all modules in the project. We also added a VI (Validate DQMH Module (Headless).vi) that you can pass in a project path and it will programmatically validate all modules in the project and return a result. This VI could be used as part of a CI/CD process to validate DQMH modules
  6. Added a button to the Validation Results UI that allows you to analyze another module after you are done viewing the results for the current module. We also added a button to the ‘all tests passed’ dialog to allow you to validate another module as well
  7. Improved API Tester developer experience: The API Tester does not stop the module on exit if it was already running when the API Tester started running. This is useful when using the API Tester as a sniffer
  8. Request and Wait for Reply now return an error if the reply times-out –> as requested here
  9. If your custom DQMH template requires a different enqueue (for example for a DQMH Queue child or if the DQMH libraries were built into a PPL), we added the ability to specify a custom enqueue message VI to be scripted into the MHL when creating request events Singleton and Cloneable Module templates updated to use Start Async Call instead of Run VI method for launching Main VI

DQMH Palette

  1. #DQMH-646 Updated cloneable module admin class to have a new ‘Close Master Reference’ parameter

Project Template

  1. #DQMH-599 Singleton and Cloneable Module templates updated to use Start Async Call instead of Run VI method for launching Main VI
  2. #DQMH-613 Add support for scripting an RT tester for singleton modules
  3. #DQMH-646 Added a VI Reference Management lvlib. Updated Init Module.vi to have an optional input to set the Close Master Reference value. This VI includes a long comment explaining the parameter. Updated Close Module.vi to use the new ‘Close Master Reference’ parameter in determining whether to leak the reference
  4. #DQMH-650 Updated cloneable module with the Semaphore Solution for ensuring the Start and Stop operations on a cloneable module are atomic
  5. #DQMH-589 Added request and wait for reply timeout –error constant VI. Updated all request and wait for reply VIs to return the error on timeout –> as requested here
  6. #DQMH-642 New notifier approach for shutting down the event references in Close Module.vi after the last instance stops
  7. #DQMH-585 Wrap ‘Stop Module.vi’ call at the end of the API testers in a case structure so it won’t be called if the module was already running when the tester started
  8. #DQMH-585 Added an ‘Already running?’ output to the Obtain Broadcast Events for Registration.vi in the cloneable module template
  9. #DQMH-597 made changes to Wait on Stop Sync.vi for cloneable modules to make sure the Stop Module.vi does indeed wait for the cloneable module to stop regardless if the caller is waiting for all the modules to stop or just this instance
  10. #DQMH-638 Have the module name be sent via the “additional information” parameter when broadcasting Error Reported
  11. #DQMH-600 Add ‘Release Queue’ VI call in top-level Error case of module Main VIs
  12. #DQMH-651 deleted the unnecessary comment from the Request and Wait for Reply notifier template that gets scripted in the MHL for a reply message, as it is no longer relevant now that we have the ‘wait for reply’ parameter

DQMH Scripter

  1. #DQMH-589 Updated New Event scripting to support creating a new Request and Wait for Reply with the timeout error in it –> as requested here
  2. #DQMH-596 Updated the Request and Wait for Event ‘Fire Event’ template VI to have the ‘Release Notifier’ function wired through the error chain to (1)avoid the off chance of a user turning on automatic error handling on the VI and (2) include an error from the Release Notifier function in the error chain
  3. #DQMH-608 Updated DQMH Rename Module utility to also rename the RT Tester if it exists –> as requested here
  4. #DQMH-548 Added the ability to specify a custom enqueue message VI to be scripted into the MHL when creating request events
  5. #DQMH-603 Updated Add New Module tool to store the last selected module in the LabVIEW INI file and use that selection the next time the tool launches. If the stored module name isn’t found, default back to ‘Singleton’
  6. #DQMH-645 Made new event VIs always be created as reentrant clones, regardless of whether the module is singleton or cloneable
  7. #DQMH-655 Call Arrange VI Window code (for panel and diagram) on newly scripted event VIs
  8. #DQMH-611 Updated scripting code that creates the tester button to set the proper justification on the label text of the created button’s terminal, to support users who have their control terminal labels configured to be on the side of the terminal instead of on the top—> as requested here
  9. #DQMH-607 Updated new event scripting code to account for other event references (and clusters of references) wired to the Register for Events node in the DQMH Main VI that may be wired ahead of the module’s own request events cluster
  10. #DQMH-588 Made sure VIs created by the DQMH scripting tools are always set to have automatic error handling disabled
  11. #DQMH-602 Fixed string matching on Event Structure frame names to properly handle module names that may contain special characters that Match Regular Expression interprets differently. The new matching is just exact string matches

DQMH Validation Tool

  1. #DQMH-605 Added the ability to validate all modules in the project. We also added a VI (Validate DQMH Module (Headless).vi) that you can pass in a project path and it will programmatically validate all modules in the project and return a result. This VI could be used as part of a CI/CD process to validate DQMH modules
  2. #DQMH-604 Added a button to the Validation Results UI that allows you to analyze another module after you are done viewing the results for the current module. We also added a button to the ‘all tests passed’ dialog to allow you to validate another module as well
  3. #DQMH-615 If there is no menu launch project when you launch the Validate DQMH Module tool, we’ll prompt the user to browse to a project and use the one they browsed to
  4. #DQMH-654 Always make sure the results list box in the Validation Results UI is scrolled to the top when first shown

New Validate/Fix DQMH Module Tools for:

  1. #DQMH-616 Start Module.vi using Run VI method
  2. #DQMH-646 New Close Master Reference functionality. Added new error code for trying to run cloneable as singleton when the master reference hasn’t been closed. Updated validate and fixer for Async Call By Ref to update Start Module.vi to generate the new error code
  3. #DQMH-589 Identifying/updating Request and Wait for Reply VIs that don’t return an error on timeout –> as requested here
  4. #DQMH-642 New notifier approach for shutting down the event references in Close Module.vi after the last instance stops
  5. #DQMH-585 Adding a case structure around Stop Module.vi call in the singleton tester
  6. #DQMH-597 Updating Wait on Stop Sync.vi to use the improved approach with the event structure
  7. #DQMH-638 Wiring up Module Name–constant.vi to the ‘Additional Information’ input of the Error Reported.vi in the “Error” message of the MHL
  8. #DQMH-600 Adding Release Queue VI in Error case issue
  9. #DQMH-588 Detecting VIs with auto error handling enabled, and disable that setting for those VIs

DQMH Thermal Chamber Examples

  1. Ran validation tools to ensure DMQH Modules in the examples match DQMH 5.0
  2. #DQMH-597 Updated Wait on Stop Sync.vi in the cloneable module of the shipping examples to use the improved approach that makes it only wait until the current instance stops
  3. #DQMH-547 Updated X-axis label in main tester VI chart from ‘Time’ to ‘Received Broadcast Count’ to more accurately reflect the chart contents

DQMH CML Project Template

  1. Ran validation tools to ensure DMQH Modules in this project match DQMH 5.0
  2. #DQMH-590 Rearranged files for DQMH Project Template and CML Project Template so that CML Project Template has its own top-level folder. The Create Project dialog (and, it’s Recent Items’ functionality in the GSW) assumes that multiple project templates do not reside under a single top-level folder

Help

  1. Updated video link to Validating an Existing DQMH Module that shows the new features for DQMH 5.0 and how to validate an existing DQMH 4.2 project to match DQMH 5.0
  2. Added section on What is New on DQMH
  3. Added section on How to Learn DQMH
  4. Clarified that the Application is implemented using a State Machine in the Getting Started section
  5. Added DQMH as an alternative to XControls in the Use Cases section
  6. Added clarification at the beginning of the Nomenclature section that it is a list of links to other sections in the document
  7. Updated figures and description for DQMH Cloneable modules in the DQMH Singleton Module vs Cloneable Overview section in this document. Specifically added in blue the new sections of the Cloneable module and an explanation of what they are there for
  8. Added note with some improvements developers can make to projects created from the CML DQMH Sample Project
  9. Added to DQMH in LabVIEW Real Time that starting with DQMH 5.0 we do support both DQMH Singleton and Cloneable modules in Real Time
  10. Added reference to How to Learn DQMH in the Related Information section
  11. Changed the Change History section to start with the latest version at the top of this section
  12. Added section for Third Party Products
/home/dqmh/www/wiki/data/pages/dqmh/release-notes/dqmh50.txt · Last modified: 2022/02/12 09:24 by joerghampel

Except where otherwise noted, content on this wiki is licensed under the following license: Public Domain
Public Domain Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki