If the byte 15 is encountered in the message, the parseResponse function
must return asynDisconnected (instead of asynSuccess) so the state of
the axis is accounted for properly.
In particular, the following problem can happen (shown for a TurboPMAC,
but MasterMACS will run into the same issue):
2026/03/31 11:45:04.698 asynPortDriver:getDoubleParam: port=turboPmac1 error getting parameter 42 MOTOR_STATUS_HOMED, in list 1, wrong type
2026/03/31 11:45:04.698 Controller "turboPmac1", axis 1 => virtual asynStatus turboPmacAxis::init(), line 168:
Accessing the parameter library failed for parameter motorRecResolution_ with error wrong type.
This is definitely because of 7.4.0, because forcing 7.3.2 fixes it.
commit d90869cbca
Author: smathis <stefan.mathis@psi.ch>
Date: Tue Feb 10 13:18:43 2026 +0100
Added reminder comment
commit eadce0f594
Author: smathis <stefan.mathis@psi.ch>
Date: Tue Feb 10 12:31:01 2026 +0100
Draft velocity mode
See TODO in src/masterMacsAxis.cpp, line 552. The velocity readback is
the only thing that doesn't work properly, everything else does work.
Once a solution has been found here, this can be a new minor release.
commit 0e1f95a94b
Author: smathis <stefan.mathis@psi.ch>
Date: Tue Feb 10 09:04:04 2026 +0100
Updated sinqMotor and use setLimits
commit b01f398533
Author: smathis <stefan.mathis@psi.ch>
Date: Tue Feb 10 09:00:58 2026 +0100
Set move flag correctly in velocity / jog mode
commit 56d9d20c3a
Author: smathis <stefan.mathis@psi.ch>
Date: Tue Feb 3 17:57:00 2026 +0100
Simplified handling of velocity mode using standard EPICS motor record fields
commit 4634609891
Author: smathis <stefan.mathis@psi.ch>
Date: Tue Feb 3 13:35:24 2026 +0100
Rolled back to sinqMotor 1.5.7
Integrated a readout function for the position deadband. Also read from
the controller if the axis has dynamic limits and only poll the limits
repeatedly if that is the case. Lastly, added support for the velocity
mode (untested!).
The expected version can now be set in the Makefile via USR_CXXFLAGS.
Additionally, the README.md has received documentation regarding the
version check. Lastly, the version check can now be disabled by omitting
the flags or setting one of them to a negative value.
A "normal" error reset should not trigger a node reset. However, this
option is still available via a dedicated PV xx:NodeReset and a
corresponding function in masterMacsAxis.
Previously, error messaging was only done after the error has been read.
This means that cached errors were simply ignored, if e.g. the motor was
moving. This commit now messages an error as long as it exists in the
cache "masterMacsAxisImpl->axisError".
After discussion with Sven Schlienger, I now send the new speed
unconditionally before each move command. This also means that the
caching of the last speed is no longer needed.