Fixed a bug in readInt32 and prepared the turboPmac library to serve the

detectorTower library
This commit is contained in:
2025-02-26 14:08:37 +01:00
parent 4c104cb90c
commit 8f597550fa
6 changed files with 74 additions and 52 deletions

View File

@@ -13,10 +13,10 @@
#include "turboPmacAxis.h"
class turboPmacController : public sinqController {
public:
/**
* @brief Construct a new turboPmacController object
* @brief Construct a new turboPmacController object. This function is meant
to be called from a child class constructor.
*
* @param portName See sinqController constructor
* @param ipPortConfigName See sinqController constructor
@@ -26,10 +26,12 @@ class turboPmacController : public sinqController {
* @param comTimeout When trying to communicate with the device,
the underlying asynOctetSyncIO interface waits for a response until this
time (in seconds) has passed, then it declares a timeout.
* @param numExtraParams Number of extra parameters from a child class
*/
turboPmacController(const char *portName, const char *ipPortConfigName,
int numAxes, double movingPollPeriod,
double idlePollPeriod, double comTimeout);
double idlePollPeriod, double comTimeout,
int numExtraParams = 0);
/**
* @brief Get the axis object
@@ -49,6 +51,17 @@ class turboPmacController : public sinqController {
*/
turboPmacAxis *getAxis(int axisNo);
/**
* @brief Overloaded function of sinqController
*
* The function is overloaded in order to read motorCanDisable_
*
* @param pasynUser
* @param value
* @return asynStatus
*/
asynStatus readInt32(asynUser *pasynUser, epicsInt32 *value);
/**
* @brief Overloaded function of sinqController
*
@@ -114,7 +127,7 @@ class turboPmacController : public sinqController {
const char *functionName,
int lineNumber);
private:
protected:
// 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.