Thanks Matt - that looks very promising.
As I understand it, each of your parameters is defined independently
as a scalar value, but you avoid the drudgery by using a tool to
automate the production of all the associated definitions. Then, a
PVTable file defines a subset (?) of the values that can be
displayed, edited, loaded and saved as a group. Is that correct?
(I'm afraid I can't find any documentation of the PVTable concept -
Google insists on assuming that I really want to know about Excel
pivot tables). I'm guessing that I could also have an IOC with an
exhaustive set of possible parameters, and produce a PVTable file
that defined only a subset of them that were relevant for a
particular detector?
Cheers,
Phil
On 17/12/2015 15:53, Pearson, Matthew
R. wrote:
Hi Phil,
This may or may not help you, but for dealing with many hundreds of parameters, for one of our projects we use a Python script to generate the database template files from the .cpp files. To help with this we have a standard convention for defining the parameter in the source file, along with a C++ comment on the same line, something like:
createStatusParam("ErrParity", 0x0, 1, 10); // LVDS parity error. (0=no error,1=error)
(where createStatusParam is a wrapper for one of the asyn port driver parameter library function calls).
I’m not sure our Python script will be useful for other projects, but you get the idea.
We also auto generate CSS PVTable files, which we use for reading and setting the many hundreds of parameters in one go. There’s no support for array (or group) puts though, although there will be in Epics version 4.
Using the CSS PVTable also means you don’t have to develop OPIs for the hundreds of parameters, as the table view is already built into CSS.
Cheers,
Matt
Data Acquisition and Control Engineer
Spallation Neutron Source
Oak Ridge National Lab
On Dec 17, 2015, at 10:28 AM, Phil Atkin <[email protected]> wrote:
Hi folks,
My areaDetector driver has a large number of parameters to control the camera, some of which are related entities. The natural way to arrange this in a non-EPICS context would be to provide a parameter that was an array.
Is this possible in an areaDetector context, and if so is there an existing driver that uses this approach? (I would need to understand how to code the driver, how to create the .template file, and how the values could be adjusted through medm and CSS-BOY).
It may be desirable to allow a variable number of elements in the array - but I'm not yet sure whether that will be necessary.
Thanks in advance,
Phil
--
<Logo small.png>Pixel Analytics is a limited company registered in England. Company number: 7747526; Registered office: 93A New Road, Haslingfield, Cambridge CB23 1LP
--
Pixel
Analytics is a limited company registered in England.
Company number: 7747526; Registered office: 93A New Road,
Haslingfield, Cambridge CB23 1LP
|