Added scripting support for RT
API Tester for cloneable modules
New DQMH Real-Time Tools»Create RT Tester makes a copy of existing tester with -RT.vi file name suffix and tags the copy with an RT tester-specific tag
Scripting code puts RT copy next to existing tester in the project. If not found, puts it next to module library
DQMH
API Tester for RT removes post-loop code that stops the module. Updates free label to mention use case for leaving RT tester dormant
DQMH
API Tester for RT removes Or for the error cluster, and adds an error out local variable
Value Change events are not supported in RT, nor Panel Close? events. These events are not present in DQMH
API Tester for RT
DQMH
API Tester for RT has logic in Timeout event with default buttons (Start, Stop, Refresh, Exit), polls for buttons and has a case structure with a frame for each one of all the existing public requests in the cloneable module
Scripting code adds a #CodeNeeded bookmark in each case frame so the user can wire in whatever inputs they need to the public request in order to properly test it
The tool scripts latching button on the panel for each public request VI
The tool skips scripting for “Hide Panel”, “Show Panel”, and “Show Diagram” since they don’t have a meaning in an RT Tester
Added ability to have new events create appropriate code in both the traditional DQMH
API Tester and the DQMH
API Tester for RT
Changed Arguments Window to be a VI created in the temp folder that is deleted after event scripting is done. This allows us to discard any errant saved changes to the Arguments Window made during its use
There are now validate/fix tools for a module folder with multiple VIs tagged as Main, Tester, or RT Tester
Fixed bug where DQMH scripting was attempting to set the subdiagram label of any subdiagram in any generated code where the label hasn’t ever been shown
Fixed a “bug” with scripting where a VI was being erroneously identified as the tester VI for a module
Added pre-flight check for New Event scripting to pop up a dialog if the Arguments Window has a control named ‘Module ID’ in it, since the DQMH scripting tools use that as a reserved control name for scripting operations
Updated ‘Remove Event’ code to look for the removed event’s MHL frame name in quotes when looking for the frame to drop the code review todo comment inside
Resized the result string indicator in the Validate Module results UI so it doesn’t overlap the Fix Issue button
Added code to Rename Module scripting that updates VI descriptions to only update the following situations:
[Module Name] at the beginning of the description
[Module Name] in between space characters
[Module Name].lvlib
Updated ‘module did init’ event frame in
API testers to use the ‘init’ event parameter to change the status message display based on its value: TRUE: append ‘ initialization succeeded.’ to the info parameter; FALSE: append ‘ initialization failed.’ to the info parameter
Fixed New Event scripting to be able to handle the situation where the user has a child class of the DQMH Queue in their Main VI so that event structure scripting works correctly
Updated singleton and cloneable Main VIs in the project template to pass the queue class wire around the event structure in the EHL instead of passing it through. This also required changes to the scripting code to account for the fact that the event structure will sometimes have a queue class wire going through the frame, and sometimes it won’t
Updated popup dialog message when specifying an event name that conflicts with an existing VI in the library to make it more clear that there is a more general filename conflict, as opposed to an event name conflict
Changed recursive file list to top-level folder list when checking to see if a proposed event name is valid. This way if there is a lower level folder for a class, it can have VIs with the same name as the Request or Broadcast VIs
Made Remove Event, Rename Event, and Rename Module dialogs modal
Improved performance of New Module and Rename Event tools
Added the ability for the Create New DQMH Module tool to reference template modules by absolute path
Whenever the user enters a string for the event name or the broadcast name in a round trip, trim whitespace at the time the value is committed
Fixed module list ring in all DQMH scripting tools to not list duplicate module entries when the same module appears under multiple targets in the project –> as reported
here
Creating a Request and Wait for Reply event places the event parameter control terminals on the top-level diagram in the fire event VI
Fixed scripting bug (error 1314) that was trying to update labels of constants inside typedefs when creating a module from the template.
Updated New Module tool to allow for absolute paths in the metadata XML for a DQMH module template. If the <AbsolutePaths>TRUE</AbsolutePaths> tag is present, then the LocationPath entry will be ignored, and the code assumes the paths for the library and the tester tags are absolute. –> as requested
here
Added support for scripting a new module into an auto-populating folder in the project. –> as reported
here