ADApp/pvaDriverSrc/pvaDriver.cpp
asynStatus pvaDriver::writeInt32(asynUser *pasynUser, epicsInt32 value)
{
    int function = pasynUser->reason;
    asynStatus status = asynSuccess;
    int acquire;
    static const char *functionName = "writeInt32";

    getIntegerParam(ADAcquire, &acquire);
    
   /* Set the parameter in the parameter library. */
    status = (asynStatus) setIntegerParam(function, value);

    if (function == ADAcquire){
        if (value == 1){
            setIntegerParam(ADNumImagesCounter, 0);
            m_monitor->start();
        }
        else {
            m_monitor->stop();
        }
    } else {
        // If this parameter belongs to a base class call its method
        if (function < FIRST_PVA_DRIVER_PARAM)
            status = ADDriver::writeInt32(pasynUser, value);
    }
    
    // Do callbacks so higher layers see any changes
    status = (asynStatus) callParamCallbacks();
    
    if (status) 
        epicsSnprintf(pasynUser->errorMessage, pasynUser->errorMessageSize, 
                  "%s:%s: status=%d, function=%d, value=%d", 
                  driverName, functionName, status, function, value);
    else        
        asynPrint(pasynUser, ASYN_TRACEIO_DRIVER, 
              "%s:%s: function=%d, value=%d\n", 
              driverName, functionName, function, value);
    return status;
}
/** Called when asyn clients call pasynInt32->write().
  * This function performs actions for some parameters.
  * For all parameters it sets the value in the parameter library and calls any registered callbacks..
  * \param[in] pasynUser pasynUser structure that encodes the reason and address.
  * \param[in] value Value to write. */
Called when asyn clients call pasynInt32->write().
This function performs actions for some parameters.
For all parameters it sets the value in the parameter library and calls any registered callbacks
\param[in] pasynUser pasynUser structure that encodes the reason and address.
\param[in] value Value to write.
Called when asyn clients call pasynInt32 - > write () . This function performs actions for some parameters . For all parameters it sets the value in the parameter library and calls any registered callbacks \ param [ in ] pasynUser pasynUser structure that encodes the reason and address . \ param [ in ] value Value to write .
asynStatus pvaDriver::writeInt32(asynUser *pasynUser, epicsInt32 value)
{
    int function = pasynUser->reason;
    asynStatus status = asynSuccess;
    int acquire;
    static const char *functionName = "writeInt32";
    getIntegerParam(ADAcquire, &acquire);
    status = (asynStatus) setIntegerParam(function, value);
    if (function == ADAcquire){
        if (value == 1){
            setIntegerParam(ADNumImagesCounter, 0);
            m_monitor->start();
        }
        else {
            m_monitor->stop();
        }
    } else {
        if (function < FIRST_PVA_DRIVER_PARAM)
            status = ADDriver::writeInt32(pasynUser, value);
    }
    status = (asynStatus) callParamCallbacks();
    if (status) 
        epicsSnprintf(pasynUser->errorMessage, pasynUser->errorMessageSize, 
                  "%s:%s: status=%d, function=%d, value=%d", 
                  driverName, functionName, status, function, value);
    else        
        asynPrint(pasynUser, ASYN_TRACEIO_DRIVER, 
              "%s:%s: function=%d, value=%d\n", 
              driverName, functionName, function, value);
    return status;
}
asynStatus pvaDriver :: writeInt32 ( asynUser * pasynUser , epicsInt32 value ) { int function = pasynUser -> reason ; asynStatus status = asynSuccess ; int acquire ; static const char * functionName = " " ; getIntegerParam ( ADAcquire , & acquire ) ; status = ( asynStatus ) setIntegerParam ( function , value ) ; if ( function == ADAcquire ) { if ( value == 1 ) { setIntegerParam ( ADNumImagesCounter , 0 ) ; m_monitor -> start ( ) ; } else { m_monitor -> stop ( ) ; } } else { if ( function < FIRST_PVA_DRIVER_PARAM ) status = ADDriver :: writeInt32 ( pasynUser , value ) ; } status = ( asynStatus ) callParamCallbacks ( ) ; if ( status ) epicsSnprintf ( pasynUser -> errorMessage , pasynUser -> errorMessageSize , " " , driverName , functionName , status , function , value ) ; else asynPrint ( pasynUser , ASYN_TRACEIO_DRIVER , " \n " , driverName , functionName , function , value ) ; return status ; }
Called when asyn clients call pasynInt32->write().
Called when asyn clients call pasynInt32 - > write () .
/* Set the parameter in the parameter library. */ // If this parameter belongs to a base class call its method // Do callbacks so higher layers see any changes