Does anyone know if it is possible/how to make custom controls for the new UI? I have a custom device that creates 400+ channels and I would like to find a way to add them to the UI without having to manually configure each individual channel.
I have a way for the user to select whether each digital output is discrete, PWM, or encoder mode. Currently, they have to drag in individual channels labeled "Channel Enable," "Output Mode," and either "Discrete Value," "PWM Duty Cycle" & "PWM Frequency", or "Encoder Quarter Period" & "Encoder Index Control." Is it possible to create a custom control that contains the necessary Boolean and Numeric controls? I know this was possible in the old VeriStand workspace, but I am have not found a way to do it in the new one, as it does not seem to use a directory full of VIs for its controls.
Solved! Go to Solution.
Something that I tried to do in the old VeriStand UI is have a custom control that allowed the user select an output mode as discrete or PWM. Then, based on that, it turned on or off the visibility of a Boolean or numeric control. It seemed to me that the VI that defines the custom control only runs once when the control is loaded in the VeriStand workspace, so the visibility property was not able to be dynamically changed. If the new UI uses something other than LabVIEW to make their controls, might it be possible to add this functionality?
I'm pretty sure that this feature does not exist yet for the UI Manager, but I imagine that NI is likely aware that this is a heavily used feature.
When I inquired about this a few months ago, I believe that the response was that one should continue to use the Custom Workspace Controls with the Workspace, and migrate the rest of your functionality to the UI manager. Both the UI Manager and the Worspace can run at the same time under the same VeriStand application.
Could you describe the functionality that you're looking for with screenshots?
I hope this helps, but perhaps someone from NI can shed some more light on this!
Thanks for the quick reply. I would require all functionality to be done in a single application, preferably in the new UI because customers really dislike the old workspace.
I hope the screenshot clarifies the functionality that I hope to achieve. As you can see above the box, when I drag and drop every channel that a user could select for a single digital output, the controls are numerics by default. This makes sense, because in the Set Channel Value.vi (part of Custom Device API library), the only accepted datatype is Double. It would be quite tedious for a customer to drag and drop these, and then interpret the channel's function based on its name alone. Below the box, I right clicked a channel from the tree, and then selected a control based on the datatype that makes sense with respect to the channel's function.
It would be very helpful if the UI manager allowed the programmer to set a default control representation for each channel. Further desireable functionality would include a custom control which would allow the user to drag a single channel from the system definition tree. The custom control would be composed of multiple programmer-defined controls whose data would be passed to the driver in a cluster since there could be multiple datatypes. Using the attached file as a visual example, the custom control would programatically update its appearance based on the desired output mode (discrete, PWM, or encoder).
I think I will post this in the Idea Exchange too in hopes of attracting NI's attention.