|
Dear Mark,
That is exactly what I did -> setDoubleParam(pC_->motorVelocity_, actualVelocity);
However, this doesn't do anything. Torsten Bögershausen from the ESS mentioned in another channel to me that this feature doesn't work for "model 3 drivers" (I have no idea, what a "model 3" driver is, I guess one based on asynMotor?). So this seems buggy.
Since apparently there aren't any drivers in the wild using this feature, I guess this bug is maybe undetected until now? If you want to check it, you could just add setDoubleParam(pC_->motorVelocity_, 42.0); to any asynMotor driver and see if the field gets
actually populated.
For reference: We're using asynMotor R7-2-1 at SINQ (PSI).
Best regards
Stefan
__________________________________________
Paul Scherrer Institut
Dr. Stefan Mathis
WHGA/022
Forschungsstrasse 111
5232 Villigen PSI
Schweiz
Telefon: +41563102926
E-Mail: stefan.mathis at psi.ch
From: Mark Rivers <rivers at cars.uchicago.edu>
Sent: Wednesday, February 11, 2026 9:18 PM
To: tech-talk at aps.anl.gov <tech-talk at aps.anl.gov>; Mathis, Stefan <stefan.mathis at psi.ch>
Subject: Re: How to use the RVEL field of the motor record
Hi Mathis,
I have not found any drivers that set the actual velocity. However, I believe the infrastructure to do so is implemented in asynMotorController. In you axis poll() method you just need to add this line:
setDoubleParam(pC_->motorVelocity_, actualVelocity);
Please let me know if there are problems with this.
Mark
From: Tech-talk <tech-talk-bounces at aps.anl.gov> on behalf of Mathis, Stefan via Tech-talk <tech-talk at aps.anl.gov>
Sent: Wednesday, February 11, 2026 1:27 AM
To: tech-talk at aps.anl.gov <tech-talk at aps.anl.gov>
Subject: How to use the RVEL field of the motor record
Dear all,
I have a asynMotor-based driver (controller inherits from asynMotorController and axis inherits from asynMotorAxis). I would like to populate the RVEL field with the actual velocity read from the hardware, but can't get it to work.
From looking through the source code of the motor record, it seems that the param-lib entry with the index motorVelocity_ is involved into populating RVEL. However, just writing to this param-lib entry and then running callParamCallbacks() does not seem to
be sufficient. Are there any other param-lib entries which influence this?
Is there any asynMotor-based example where the RVEL field is actually used?
Thank you very much
Stefan
__________________________________________
Paul Scherrer Institut
Dr. Stefan Mathis
WHGA/022
Forschungsstrasse 111
5232 Villigen PSI
Schweiz
Telefon: +41563102926
E-Mail: stefan.mathis at psi.ch
|