VeriStand

cancel
Showing results for 
Search instead for 
Did you mean: 

Veristand Custom Device Error - Class use/Class Calls

I am working on the custom device implementation and deployment for WT5000 power analyzer. I currently have all the API logic using OOP at the labVIEW layer and i would like to use all the class APIs within the custom device project that I created using NI veristand custom device wizard. I am working with LabVIEW 2021 SP1

64 bit and Veristand 2021 R3 64 bit version. I am running into an error when trying to deploy to my NI PXI RT target 64 bit and upon further isolation debugging technique it seems like it has to do with my class instantiation in the initialize state. If I don't have the class object there it deploys fine, i even tried wrapping the class object into the DVR and passing that to the cluster in the initialize state, it still doesn't work. The only time it works is if I don't have my class instance in the state whether it is by itself or wrapped around the DVR. So, following are my questions:

1. I thought veristand custom devices support classes and objects. If this is the case, then what am I missing here to make it work? I need my class APIs to be used in this framework as is if possible, so if there is a way that would be great.
2. I tested all my class APIs at the host layer and also at the RT layer and it works fine. It is only through this custom device framework I am having issue when I am trying to build and deploy via NI veristand. So, if point 1 is not true then does this mean that veristand custom device does not support classes and that all my APis have to be converted to plain APIs (non-classes) form instead? 

 

If anyone has any idea on how to fix this or the next steps or if anyone has run into a similar issue, please let me know, any help would be greatly appreciated

0 Kudos
Message 1 of 4
(86 Views)

VeriStand Custom Device Framework supports LVOOP for sure because the Instruments Addon Custom Device implements LVOOP.

Have you tried running your RT VI on Windows? You can open the Engine Build for Window to see why it might be broken. Besides, you can even configure the RT VI to open the front panel for debugging during runtime.

-------------------------------------------------------

Applications Engineer | TME Systems

https://tmesystems.net/

-------------------------------------------------------

https://github.com/ZhiYang-Ong
0 Kudos
Message 2 of 4
(64 Views)

Yes, I have already confirmed that the RT VI works on windows, if the custom device framework supports LVOOP for sure, then what am I missing? my question in this case would be: 1) how do i call my class instance in the initialize state? or does it need to be called in the start state instead of initialize? Without that I won't be able to use my class APIs. I just did a small test yesterday where i stripped off my class references from my API basically just converted my class API to non-class API and used that in the framework and i was able to deploy successfully and test the functionality of the custom device. It worked as expected. So, I am a little confused, if the veristand custom device framework supports LVOOP can you please tell me the correct way of how to wire the class instance within that framework?

 

Thank you very much

 

Regards,

Vinod

0 Kudos
Message 3 of 4
(40 Views)

I recommend you take a look and refer to how Instruments Addon implement LVOOP.

-------------------------------------------------------

Applications Engineer | TME Systems

https://tmesystems.net/

-------------------------------------------------------

https://github.com/ZhiYang-Ong
0 Kudos
Message 4 of 4
(13 Views)