This file describes support for the Systran DAC128V, an 8 channel, 12-bit D/A converter. The following files are included in this support, which is available as a tar file:
DAC128V.h | defines dac128V class |
dac128V.cc | communicates with hardware |
dac128VServer.cc | MPF server, interface between MPF and dac128V.cc |
devAoDAC128V.cc | EPICS device support code for ao (analog output record) |
devAoDAC128V.dbd | EPICS device support definition for ao (analog output record) |
dac128VREADME.html | This documentation file |
This is a very simple class. This is the public interface of the DAC128V class:
class DAC128V { public: static DAC128V * init( const char *moduleName, const char *carrierName, const char *siteName); int setValue(int value, int channel); int getValue(int *value, int channel);
Brief description of these functions:
This is an extremely simple server and IP driver. It simply writes an unsigned short into a register.
This file contains the single line:
device(ao,VME_IO,devAoDAC128V,"dac128V")
EPICS device support sends Int32Messages with the following info
MPF server returns
Standard input record type format is for ao records
field(SCAN,"1 second")
field(DTYP,"dac128V") (or whatever it might be called in your .dbd file)
field(INP,"#C{card} S{signal} @{servername}
card = The location of the server
signal = The output channel of the DAC128V. Channels 0 - 7 are
valid
servername = Must match the modulename specified with initDAC128V
field(EGUF,"{FULL VALUE}") This is set by a jumper on the IP module. The jumper affects groups of 4 channels. The choices are -10V, -5V, 0V, +5V and +10V.
field(EGUL,"{LOW VALUE}") This is set by a jumper on the IP module. The jumper affects groups of 4 channels. The choices are -10V, -5V, 0V, +5V and +10V.
field(LINR,"LINEAR") Optional
NOTE: The DAC128V powers up with each output set to midrange, i.e. 2048. This will only be 0V if the module is jumpered for symmetric, bipolar ouput. BEWARE!!!!
pDAC128V = initDAC128V("modulename", "carrier", "site", "queueSize")
where
getValue()
method, needed by Ip300PID class.Suggestions and Comments to: