Added interpose driver from DLS
Added a low-level interpose driver to allow usage of stream devices.
This commit is contained in:
@@ -103,15 +103,30 @@ class turboPmacController : public sinqController {
|
||||
int axisNo_, const char *functionName,
|
||||
int lineNumber);
|
||||
|
||||
/**
|
||||
* @brief Perform a hardware flush (clearing of communication buffers)
|
||||
*
|
||||
* The PMAC controllers hardware buffers can be flushed (see Turbo PMAC user
|
||||
* manual, p. 414). This "freezes" the PMAC for around 10 ms and should
|
||||
* therefore only be done if it is necessary (i.e. not as part of the
|
||||
* regular communication procedure).
|
||||
*
|
||||
* @return asynStatus
|
||||
*/
|
||||
asynStatus doFlushHardware();
|
||||
|
||||
// Accessors for additional PVs
|
||||
int rereadEncoderPosition() { return rereadEncoderPosition_; }
|
||||
int readConfig() { return readConfig_; }
|
||||
int flushHardware() { return flushHardware_; }
|
||||
|
||||
// Set the maximum buffer size. This is an empirical value which must be
|
||||
// large enough to avoid overflows for all commands to the device /
|
||||
// responses from it.
|
||||
static const uint32_t MAXBUF_ = 200;
|
||||
|
||||
asynUser *pasynInt32SyncIOipPort() { return pasynInt32SyncIOipPort_; }
|
||||
|
||||
protected:
|
||||
/*
|
||||
Timeout for the communication process in seconds
|
||||
@@ -120,11 +135,15 @@ class turboPmacController : public sinqController {
|
||||
|
||||
char lastResponse[MAXBUF_];
|
||||
|
||||
// User for writing int32 values to the port driver.
|
||||
asynUser *pasynInt32SyncIOipPort_;
|
||||
|
||||
// Indices of additional PVs
|
||||
#define FIRST_turboPmac_PARAM rereadEncoderPosition_
|
||||
int rereadEncoderPosition_;
|
||||
int readConfig_;
|
||||
#define LAST_turboPmac_PARAM readConfig_
|
||||
int flushHardware_;
|
||||
#define LAST_turboPmac_PARAM flushHardware_
|
||||
};
|
||||
#define NUM_turboPmac_DRIVER_PARAMS \
|
||||
(&LAST_turboPmac_PARAM - &FIRST_turboPmac_PARAM + 1)
|
||||
|
||||
Reference in New Issue
Block a user