DQMH Consortium Toolkits Discussions

cancel
Showing results for 
Search instead for 
Did you mean: 

DQMH class wrapper - automated API to request creation?

So using DQMH as a wrapper around a(n abstract) class makes a lot of sense for things like HALs. However, one of the issues that irritates me is the code duplication. You want to call class:method.vi inside the DQMH and end up creating requests that mirror the class API just to feed the parameters into the DQMH for the class method call. This seems like a "dumb" operation that should have some level of automation. Is there a recommended way to make this process less repetitive? Thanks for your input.

0 Kudos
Message 1 of 9
(1,246 Views)

We just had to do the same thing here this week.  There is no automated way, but that doesn't mean it can't exist.

 

You should be able to use VI Scripting to analyse the terminals of the Public API of a given DQMH module, and automatically create class methods with the same terminals.

Christopher Farmer

Certified LabVIEW Architect and LabVIEW Champion
DQMH Trusted Advisor
https://wiredinsoftware.com.au

Message 2 of 9
(1,218 Views)

Where can I find the underlying API used by the DQMH scripter? I'm mostly interested in the API used to generate new events (requests). I would like to automate the low level API wrapping as well.

Michał Bieńkowski
CLA, CTA, CPI

  1. Did someone devote their time to help solve your problem? Appreciate it and give kudos.
  2. Problem solved? Accept as a solution so that others can find it faster in the future.
  3. Contribute to the development of TestStand by voting on the TestStand Idea Exchange.
0 Kudos
Message 3 of 9
(255 Views)

Make sure you have it enabled in options:

 

Ozfarmboy_0-1731891833451.png

 

Then the VI scripting pallete is here:

 

Ozfarmboy_2-1731891967578.png

 

Christopher Farmer

Certified LabVIEW Architect and LabVIEW Champion
DQMH Trusted Advisor
https://wiredinsoftware.com.au

0 Kudos
Message 4 of 9
(239 Views)

You may also be interested in this palette the DQMH framework installs --> https://documentation.dqmh.org/dqmh/7.0/api.html#dqmh-scripting


Olivier Jourdan

Wovalab founder | DQMH Consortium board member | LinkedIn |

Stop writing your LabVIEW code documentation, use Antidoc!
0 Kudos
Message 5 of 9
(226 Views)

I'd like to explain in more detail what I'm trying to achieve. I want to programmatically execute the functionality provided by the "Create New DQMH Event" window, found under Tools»DQMH Consortium»DQMH»Events. Specifically, I want to provide parameters programmatically to generate the request, rather than going through the GUI manually each time.

I’m not looking to reinvent the wheel and write it with raw scripting VIs. Instead, I'd prefer to use the DQMH API directly, if possible. Any guidance on how to achieve this would be greatly appreciated. I don't see such an option in the DQMH Scripting Palette mentioned by Olivier. So, should I extract the code from the "Create New DQMH Event" window?

Michał Bieńkowski
CLA, CTA, CPI

  1. Did someone devote their time to help solve your problem? Appreciate it and give kudos.
  2. Problem solved? Accept as a solution so that others can find it faster in the future.
  3. Contribute to the development of TestStand by voting on the TestStand Idea Exchange.
0 Kudos
Message 6 of 9
(218 Views)

The Consortium does not provide official public documentation on that part of the DQMH scripting functionality, there is no API for this in the current version. I fear that extracting code will be tedious. The scripting VIs are password-protected, and we do not share the block diagrams (as stated in DQMH's license agreement).

 

I do agree though that this would be a handy thing to have, so please go ahead and post a feature request!

 

There's always the possibility of paying the Consortium to implement features (provided we agree with the feature's usefulness in the first place) if you can't wait for future releases. HSE just did this recently, and we'll talk about it once the next version of DQMH is released.




DSH Pragmatic Software Development Workshops (Fab, Steve, Brian and me)
Release Automation Tools for LabVIEW (CI/CD integration with LabVIEW)
HSE Discord Server (Discuss our free and commercial tools and services)
DQMH® (Developer Experience that makes you smile )


Message 7 of 9
(211 Views)

Ok so here is my feature request if anyone is interested.

 


@joerg.hampel wrote:

There's always the possibility of paying the Consortium to implement features (provided we agree with the feature's usefulness in the first place) if you can't wait for future releases. HSE just did this recently, and we'll talk about it once the next version of DQMH is released.


I'll wait for now and see what is going to happen. In the end, I could try other, more open, frameworks (there may not be many of them but they are there).

Michał Bieńkowski
CLA, CTA, CPI

  1. Did someone devote their time to help solve your problem? Appreciate it and give kudos.
  2. Problem solved? Accept as a solution so that others can find it faster in the future.
  3. Contribute to the development of TestStand by voting on the TestStand Idea Exchange.
0 Kudos
Message 8 of 9
(207 Views)

Thanks for creating the feature request! You got my kudo... 😉




DSH Pragmatic Software Development Workshops (Fab, Steve, Brian and me)
Release Automation Tools for LabVIEW (CI/CD integration with LabVIEW)
HSE Discord Server (Discuss our free and commercial tools and services)
DQMH® (Developer Experience that makes you smile )


0 Kudos
Message 9 of 9
(55 Views)