#interfaceType PS seems like a great way to provide generic functions that are easy to swap into scripts and such. But if namespaces are used like I have in the e363xa driver, and the standard VOLT / CURR are in a namespace like "main" (as in my example), the #interfaceType PS function seems to fail to match those standard interfaces.
The read... function are depend on the columns, i.e. readVoltage and readCurrent will work (I suppose these columns are always in the same place). You do not need read... functions for setpoints, there the get... functions work.
Next. I've been trying to better define my driver(s) so they are better citizens of cool functions like "Steps". When I go to "Add" interfaces in Steps, they are pretty "ugly" names. I don't see a documented, easy way to define the names in a more user-friendly way or to manage what is exposed in that list. I have gotten the function to display text on the PSU display during each step which is way cool but its not intuitive what option to select. I've included a screenshot to show what I mean.
The standard list is based on numbers control and name is handle.page.label, also note that advNumber is special, it only works when the setup popup is open (That is the reason for the message on some items). TC has no idea what the different number controls do, that is the reason it exposes all of them, you can then use the one you want (They can be used in a bunch of popups).
The set... functions are in a different name space and use different name conventions. There TC also expect specific functionality from specific names, this makes it possible to automatic use them in some popups.
The text function is mostly for remote readouts, but TC do not check device type when scanning function names for Steps. That was also the reason I said for "fun", the PS is not really a text display, but it can do the function and there is no harm in supporting it.