Key Features:
- Effortless Exploration: Easily navigate and understand the structure of your DQMH projects.
- Efficient Editing: Modify code quickly and effectively with built-in tools.
- Visualize and Edit: Easily view and modify your DQMH project documentation, including project, library, and VI descriptions.
- DQMH Scripting Tools: Utilize all the DQMH® Framework Scripting tools using buttons.
- PantherLAB Scripting Tools: Utilize a suite of scripts to streamline tasks like identifying launching module locations, finding event callers, etc.
Team Collaboration and Source Control:
Panther Dashboard stores a binary file named pantherscan.target.bin alongside your LabVIEW project file. This file contains essential information for loading your project and DQMH modules.
Important Note: This binary file stores absolute paths to the following LabVIEW components:
- Project files (.lvproj)
- Library files (.lvlib)
- VI files (.vi)
For Teams Using Source Control:
For smooth collaboration, ensure all team members use the same absolute paths for their local repositories. This allows you to commit the pantherscan.target.bin files to your repository. If team members do not follow this guideline, it is strongly recommended to add the pantherscan.target.bin files to your .gitignore file to prevent them from being tracked in your source control system.
Getting Started
- Open your LabVIEW project.
- (1) Navigate to Tools -* (2) PantherLAB -* (3) Panther Dashboard for DQMH®
Typical Workflows:
- Open LabVIEW Project: Open your LabVIEW project, then launch Panther Dashboard. Select the project and target, and Panther Dashboard will scan it for DQMH modules.
- Recent Projects: If you’ve recently worked on a project, you can quickly access it from the “Recent Projects” list within Panther Dashboard.
- Open DQMH Project: Launch Panther Dashboard and click the “Open DQMH Project” button to browse and select your project.
[1] Projects: Panther Dashboard will display all the projects currently opened by LabVIEW
[2] Targets: After selecting a Project, Panther Dashboard will display all the available targets.
[3] Scanning Options:
- Scan All: If checked Panther Dashboard will search and scan all the modules in a projects, if unchecked, Panther Dashboard will display a list with all the modules to let the developer to decide which ones will be scanned by Panther Dashboard.
- Include Dependencies: If checked Panther Dashboard will include DQMH Modules that are under LabVIEW Dependencies, including the ones in vi.lib or any other location.
[4] Scan Project Button: Click this button to begin with the Scan.
*Panther Dashboard keep track of the last 20 previously worked projects
[1] Recent Project: Double Click, Panther Dashboard will take care of opening the project and LabVIEW Libraries.
[2] Open DQMH Project: Click this button and explore your system to open a Project previously scanned by panther dashboard.
Projects with more that one target
If you use Panther Dashboard with projects with several targets, there will be one PantherScan.target.bin file per target, Panther Dashboard will search next to the LabVIEW project for these files, if there are more than one, it will display all the available scan files, for scans made with previous versions of panther dashboard, it will display the files as ‘Legacy Format PantherScan’, if you want to start fresh, you can delete all the PantherScan files and do a scan with this new version.
User Interface:
The main screen of Panther Dashboard is designed for quick access to DQMH scripting tools and provides a visual overview of your modules’ status (Running, Idle, Broken/Bad):
Glyphs meaning
Panther Dashboard Icons descriptions:
Icon | Name | Description |
---|---|---|
DQMH Context Help | Similar to LabVIEW’s context help, this window displays relevant information based on your currently selected module, project, or event. You can even edit the documentation. | |
Add Event to Module | Add a new Event to the Module Selected | |
Remove Event from Module | Removes an Event from the Module selected | |
Convert Event Type | Converts a Request to a Request and Wait for Reply | |
Rename Event | Renames an Event from the Module Selected | |
Add Module to Project | Adds a DQMH® Module to the LabVIEW Project | |
Rename Module | Renames a DQMH® Module | |
Add Helper Loop to Module | Adds a Helper Loop to the Module Selected | |
Validate Module | Calls the DQMH® Validation Tools | |
Create Module Template | Creates a DQMH Module template from the Module selected | |
Create RT API Tester | Creates a New API Tester designed to run under RT Targets | |
Add Unit Test for Event | Creates a new Unit test for an event of the Module Selected | |
Call Antidoc to generate Project Documentation | Antidoc is an Open Source tool designed to create beautifull project Documentation | |
Open Antidoc Output | Open the last rendered Antidoc Output | |
About Panther Dashboard for DQMH | Displays About UI with some usefull links |
Panther Dashboard Scripting Tools (Module)
Panther Dashboard includes several Scripts to help you find, edit, debug your DQMH modules. These are the Scripts included.
- Refresh Module: After adding/removing/renaming/converting events, your module will need to be updated, just right click a module and select Refresh module in order to have your scan up to date.
- Open Module API Tester: use this script and Panther Dashboard will open and run the module API Tester, if you manually renamed your API Tester this script will fail.
-
Where is this module being Launched?: Panther dashboard will search for Module Name.lvlib:Start Module.vi callers including the Module’s API Tester and it will display all the results in a list where you can double click each of the callers to navigate to the exact call location
-
Where is this module being Sopped?: Panther dashboard will search for Module Name.lvlib:Stop Module.vi callers including the Module’s API Tester and it will display all the results where you can double click each of the callers to navigate to the exact call location.
- Find Coder registered to this module’s broadcasts: Panther dashboard will search for Module Name.lvlib:Obtain Broadcast Events for registration.vi callers including the Module’s API Tester and it will display all the results where you can double click each of the callers to navigate to the exact call location.
-
Edit Module Name Constant: Panther dashboard will search for Module Name.lvlib:Module Name–constant.vi block diagram string constant value and it will display the current Module’s name, you can change the name to help debugging, improving status, and error messages, etc.
-
Edit Module Timeout Constant: Panther dashboard will search for Module Name.lvlib:Module Timeout–constant.vi block diagram numeric constant value, this value is used to populate a dialog where you can change the Module timeout, by default DQMH Framework uses 5000ms
Note: Exercise caution when reducing the timeout excessively, as it could lead to premature timeouts and disrupt your application’s functionality.
-
Restore Timeout to default (5000ms): Panther dashboard will search for Module Name.lvlib:Module Timeout–constant.vi block diagram numeric constant value and will overwrite the value with 5000, this is the framework default.
-
Create Custom – error.vi: Panther Dashboard will scan all the –error.vis files located on the module library folder, it will read all the Error Codes and their descriptions from the block diagram to help to not duplicate codes, place the error name (1), do not add the –error.vi postfix, set the Error Code, it will need to be under the LabVIEW custom error code ranges (2), write an error Description, place any controls in the Error Arguments Window (4) and click the “Continue” Button (5)
- Create Custom – constant.vi: Panther Dashboard will scan all the –constant.vis files located on the module library folder, it will read all the constant values from the block diagram (1), place the constant name (2), do not add the –constant.vi postfix, place any controls/Indicators in the Constant Arguments Window (3) and click the “Continue” Button (4), make sure to set the values on the Argument window before clicking the “Continue” Button, Panther Dashboar will use those values to set the constants and create the –constant.vi.
- Run: (Show Panel, Hide Panel, Show Block Diagram, Stop Module): Executes these default request without the need of opening the API tester.
Panther Dashboard Scripting Tools (Event)
Panther Dashboard includes several Scripts to help you find callers, edit arguments, etc. These are the Scripts included.
- Open Event Arguments: this script searchs for all the Typedefs related to the selected argument, it opens these typedefs for you and at the back you’ll see the block diagram of your Event to help you finish the event editing, do not forget connect the new terminals to the connector pane, also uptate EHL and MHL and the API Tester.
- Find Callers: Search trough through the entire project for all the VIs calling the selected event, it will display a window with all the calls where you can doble click each of these calls to navigate exactly where the event is being called, Panther Dasbhoard will do a highlight to help you visualy identify the event call.
- Open Font Panel: it does exaclty that, it will open the front panel of the selected event.
- Run: (Show Panel, Hide Panel, Show Block Diagram, Stop Module): Executes these default request without the need of opening the API tester.
- Open VI on Disk: Somethimes we need the exact location of an event and this script helps navigating to your Operating System file path where the vi is located.
Panther Dashboard Scripting Tools (Project)
Panther Dashboard includes several Scripts to help you add new modules to current scan, get a general view of your DQMH project.
- Open Project Folder: Opens the Explorer where you project is loacated.
- Show Project DQMH Info: Scans your modules to parse the Module Name–constant.vi, Module Timeout–constant.vi values, libraries names, Number of Helper loops, Modules launched per module, and module type (Singleton, Cloneable)
- Add DQMH Module to Current SCan: eventually when working with DQMH projects you will integrate new modules to your project, panther dashboard does not have a mechanism to know that, that’s why this function is valuable, panther dashboard will search for all the modules not listed in the scan and let the developer to choose whych module to add to current scan, this is usefull when working with projects with several modules, it reduces the scanning time significantly.
Report Issues and Request Features:
Encountered an issue or have a feature suggestion? Let us know on GitHub: https://github.com/PantherLAB/PantherDashboard/issues
Struggling with DQMH projects? We can help! Our team (CLA, LabVIEW Champion, DQMH Trusted Advisor) ofers LabVIEW development, LabVIEW training, and contracting services.
Ready to take the next step? Contact us today at [enrique.noe@pantherlab.com.mx] or [info@pantherlab.com.mx] to discuss your specific needs.