/** Called when asyn clients call pasynFloat64->write(). * 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 mythen::writeFloat64(asynUser *pasynUser, epicsFloat64 value) { int function = pasynUser->reason; int status = asynSuccess; int addr = 0; const char* functionName = "writeFloat64"; status = getAddress(pasynUser, &addr); if (status != asynSuccess) return((asynStatus)status); /* Reject any call to the detector if it is running */ if (acquiring_) { asynPrint(this->pasynUserSelf, ASYN_TRACE_ERROR, "%s:%s: detector is busy\n", driverName, functionName); return asynError; } /* Set the parameter in the parameter library. */ status = (asynStatus) setDoubleParam(addr, function, value); if (function == ADAcquireTime) { status |= setExposureTime(value); } else if (function == SDDelayTime) { status |= setDelayAfterTrigger(value); } else if (function == SDThreshold) { /* note down user's set value and recover it when settings change */ // threshold = value; status |= setKthresh(value); } else if (function == SDEnergy) { status |= setEnergy(value); } else if (function == SDTau) { status |= setTau(value); } else { /* If this is not a parameter we have handled call the base class */ if (function < NUM_SD_PARAMS) status = ADDriver::writeFloat64(pasynUser, value); } status |= getSettings(); /* Update any changed parameters */ status |= callParamCallbacks(); if (status) asynPrint(pasynUser, ASYN_TRACE_ERROR, "%s:%s: error, status=%d function=%d, value=%g\n", driverName, functionName, status, function, value); else asynPrint(pasynUser, ASYN_TRACEIO_DRIVER, "%s:%s: function=%d, value=%g\n", driverName, functionName, function, value); return((asynStatus)status); }
bool LagFilter::setSlotTau(const Basic::Number* const msg) { bool ok = false; if (msg != 0) { LCreal tsec = msg->getReal(); if (tsec > 0) { setTau( tsec ); ok = true; } else { if (isMessageEnabled(MSG_ERROR)) { std::cerr << "LagFilter::setSlotTau() -- tau must be greater than zero!" << std::endl; } } } return ok; }
void PoweredRagdollControlsModifierUI::toggleSignals(bool toggleconnections){ if (toggleconnections){ connect(name, SIGNAL(textEdited(QString)), this, SLOT(setName(QString)), Qt::UniqueConnection); connect(enable, SIGNAL(released()), this, SLOT(setEnable()), Qt::UniqueConnection); connect(maxForce, SIGNAL(editingFinished()), this, SLOT(setMaxForce()), Qt::UniqueConnection); connect(tau, SIGNAL(editingFinished()), this, SLOT(setTau()), Qt::UniqueConnection); connect(damping, SIGNAL(editingFinished()), this, SLOT(setDamping()), Qt::UniqueConnection); connect(proportionalRecoveryVelocity, SIGNAL(released()), this, SLOT(setProportionalRecoveryVelocity()), Qt::UniqueConnection); connect(constantRecoveryVelocity, SIGNAL(released()), this, SLOT(setConstantRecoveryVelocity()), Qt::UniqueConnection); connect(poseMatchingBone0, SIGNAL(editingFinished()), this, SLOT(setPoseMatchingBone0()), Qt::UniqueConnection); connect(poseMatchingBone1, SIGNAL(editingFinished()), this, SLOT(setPoseMatchingBone1()), Qt::UniqueConnection); connect(poseMatchingBone2, SIGNAL(editingFinished()), this, SLOT(setPoseMatchingBone2()), Qt::UniqueConnection); connect(mode, SIGNAL(currentIndexChanged(int)), this, SLOT(setMode(int)), Qt::UniqueConnection); connect(bones, SIGNAL(pressed()), this, SLOT(viewBones()), Qt::UniqueConnection); connect(bones, SIGNAL(enabled(bool)), this, SLOT(toggleBones(bool)), Qt::UniqueConnection); connect(boneIndexUI, SIGNAL(returnToParent()), this, SLOT(returnToWidget()), Qt::UniqueConnection); connect(boneWeights, SIGNAL(pressed()), this, SLOT(viewBoneWeights()), Qt::UniqueConnection); connect(boneWeights, SIGNAL(enabled(bool)), this, SLOT(toggleBoneWeights(bool)), Qt::UniqueConnection); connect(boneWeightsUI, SIGNAL(returnToParent()), this, SLOT(returnToWidget()), Qt::UniqueConnection); connect(table, SIGNAL(cellDoubleClicked(int,int)), this, SLOT(viewSelected(int,int)), Qt::UniqueConnection); }else{
connect(poseMatchingBone0, SIGNAL(editingFinished()), this, SLOT(setPoseMatchingBone0()), Qt::UniqueConnection); connect(poseMatchingBone1, SIGNAL(editingFinished()), this, SLOT(setPoseMatchingBone1()), Qt::UniqueConnection); connect(poseMatchingBone2, SIGNAL(editingFinished()), this, SLOT(setPoseMatchingBone2()), Qt::UniqueConnection); connect(mode, SIGNAL(currentIndexChanged(int)), this, SLOT(setMode(int)), Qt::UniqueConnection); connect(bones, SIGNAL(pressed()), this, SLOT(viewBones()), Qt::UniqueConnection); connect(bones, SIGNAL(enabled(bool)), this, SLOT(toggleBones(bool)), Qt::UniqueConnection); connect(boneIndexUI, SIGNAL(returnToParent()), this, SLOT(returnToWidget()), Qt::UniqueConnection); connect(boneWeights, SIGNAL(pressed()), this, SLOT(viewBoneWeights()), Qt::UniqueConnection); connect(boneWeights, SIGNAL(enabled(bool)), this, SLOT(toggleBoneWeights(bool)), Qt::UniqueConnection); connect(boneWeightsUI, SIGNAL(returnToParent()), this, SLOT(returnToWidget()), Qt::UniqueConnection); connect(table, SIGNAL(cellDoubleClicked(int,int)), this, SLOT(viewSelected(int,int)), Qt::UniqueConnection); }else{ disconnect(name, SIGNAL(textEdited(QString)), this, SLOT(setName(QString))); disconnect(enable, SIGNAL(released()), this, SLOT(setEnable())); disconnect(maxForce, SIGNAL(editingFinished()), this, SLOT(setMaxForce())); disconnect(tau, SIGNAL(editingFinished()), this, SLOT(setTau())); disconnect(damping, SIGNAL(editingFinished()), this, SLOT(setDamping())); disconnect(proportionalRecoveryVelocity, SIGNAL(released()), this, SLOT(setProportionalRecoveryVelocity())); disconnect(constantRecoveryVelocity, SIGNAL(released()), this, SLOT(setConstantRecoveryVelocity())); disconnect(poseMatchingBone0, SIGNAL(editingFinished()), this, SLOT(setPoseMatchingBone0())); disconnect(poseMatchingBone1, SIGNAL(editingFinished()), this, SLOT(setPoseMatchingBone1())); disconnect(poseMatchingBone2, SIGNAL(editingFinished()), this, SLOT(setPoseMatchingBone2())); disconnect(mode, SIGNAL(currentIndexChanged(int)), this, SLOT(setMode(int))); disconnect(bones, SIGNAL(pressed()), this, SLOT(viewBones())); disconnect(bones, SIGNAL(enabled(bool)), this, SLOT(toggleBones(bool))); disconnect(boneIndexUI, SIGNAL(returnToParent()), this, SLOT(returnToWidget())); disconnect(boneWeights, SIGNAL(pressed()), this, SLOT(viewBoneWeights())); disconnect(boneWeights, SIGNAL(enabled(bool)), this, SLOT(toggleBoneWeights(bool))); disconnect(boneWeightsUI, SIGNAL(returnToParent()), this, SLOT(returnToWidget())); disconnect(table, SIGNAL(cellDoubleClicked(int,int)), this, SLOT(viewSelected(int,int))); }
void FilterOnePole::setFrequency( float newFrequency ) { setTau( 1.0/(TWO_PI*newFrequency ) ); // τ=1/ω }