Hello Pam,
I have done similar work on GE-IP cPCI ICS-710 . I’m using longout records for “num_ai_chans” and “num_samples”, ao record for “sample_rate”.
Initialization of these parameters can be done either by calling an initialization function or by setting ‘PINI’ field of the record to ‘YES’ and ‘VAL’ field to your desired value. For experimental purpose, I always use ‘PINI’ and ‘VAL’ for the initialization (edit them in the final .db file).
For my ICS-710 driver, I intended to fix “num_ai_chans” to the maximum channels of the board because changing the number of channels requires me to reset the board to recalibrate its ADC chips. If your digitizer doesn’t require recalibration after changing the number of channels, you may change it by its associated EPICS record.
Good luck!
Yong
Here at ITER, a driver has been developed to interface to the channels of the NI PXI 6259 board, which has
binary input and output, analog input and output and waveform data capabilities. In order for the analog
input records to provide data, several parameters must be initialized:
“num_ai_chans”, “sample_rate”, “num_samples”.
Also, the “channel_type” must be set up for each record.
In the ITER implementation, each of these parameters is initialized by using an EPICS record. I am not familiar with another driver that works that way. Is this a common practice of which I'm not aware? Are there advantages or disadvantages?
My own feeling on this is:
1. My preferred approach would be to set these parameters in an initialization call. (There already is one, anyhow.)
2. Sometimes it might be useful to have quick and easy ways to set some of these parameters experimentally, but I expect that operationally they would almost always be set up once and left that way forever. In any case, records for setting parameters could be allowed, but shouldn't be required.
3. I think it unlikely that one will want to set "num_ai_chans" (controls the number of ai channels that are updated by the driver) after initialization, at least until we have an EPICS version that allows dynamic record allocation. (Would it be a good idea to set this based on the records that are found? Just an idea.)
Thanks for your input.
Pam.
Pamela Gurd
External Contractor
CODAC Division
ITER Organization, Building 519/026, DIP, Directorate for CODAC, Heating and Diagnostics
Route de Vinon sur Verdon – 13115 St Paul Lez Durance – France
Phone: +33 4 42 17 64 88