Commit Graph

28 Commits

Author SHA1 Message Date
mathis_s ec55dd1657 Updated to sinqMotor 2.1.1 and expanded driver error messages
Added controller name and axis number to the driver error messages.
2026-06-08 14:45:15 +02:00
mathis_s 9098a932fa Fixed bug in response parsing
Test And Build / Lint (push) Failing after 4s
Test And Build / Build (push) Successful in 8s
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.
2026-04-09 10:47:27 +02:00
mathis_s 18e68b193a Updated to sinqMotor 1.6.1 2026-01-20 16:50:03 +01:00
mathis_s fd41d4c9c0 PositionDeadband, dynamic limit detection, velocity mode
Test And Build / Lint (push) Failing after 4s
Test And Build / Build (push) Failing after 6s
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!).
2026-01-20 15:09:51 +01:00
mathis_s 5efb94f83e Changed default for motorConnected and updated manual
Test And Build / Lint (push) Failing after 3s
Test And Build / Build (push) Failing after 5s
2026-01-20 11:43:26 +01:00
mathis_s 8f457889c0 Updated sinqMotor to 1.5.3 2025-09-17 11:28:53 +02:00
mathis_s 6f63e521c1 Updated sinqMotor to 1.5.2 2025-09-17 11:25:40 +02:00
mathis_s 25286652d5 Moved version definition in Makefile
Test And Build / Lint (push) Failing after 3s
Test And Build / Build (push) Successful in 7s
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.
2025-08-22 13:18:43 +02:00
mathis_s 27f7cc8602 Added version check prototype
Test And Build / Lint (push) Failing after 4s
Test And Build / Build (push) Successful in 8s
2025-08-22 08:46:30 +02:00
mathis_s 23a911206a Removed node reset from doReset and moved it into dedicated function
Test And Build / Lint (push) Failing after 4s
Test And Build / Build (push) Successful in 7s
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.
2025-08-12 15:51:12 +02:00
mathis_s 37dacbd3ee Updated sinqMotor version and removed unnecessary require 2025-06-17 13:21:59 +02:00
mathis_s d198dc8c9f Use axisParam accessor macros 2025-06-17 13:21:55 +02:00
mathis_s deb6e6996e Ready for release 1.0 2025-05-23 12:29:30 +02:00
mathis_s d1d694ad6b Applied PIMPL principle 2025-05-23 12:16:25 +02:00
mathis_s 4b0031c3af Fixed bug with readInt32 function 2025-05-15 12:03:06 +02:00
mathis_s cd57409f3c Added motorConnected logic 2025-04-25 15:58:03 +02:00
mathis_s 60053244a1 Fixed moving after enable bug
When a MasterMacs motor is powered for the first time, it does not have
a target set. Therefore, the targetReached bit is 0, which the driver
used to interpret as "moving". This is solved now by an additional flag
which checks if the motor did a handshake.

Additionally, the communication module was simplified and new utility
scripts were added. It is now made sure that the communication timeout
for enabling and sending move commands is now at least equal to
PowerCycleTimeout defined in src/masterMacsAxis.cpp.
2025-04-17 16:50:42 +02:00
mathis_s 699b588ba5 Replaced ipPortUser_ with ipPortAsynOctetSyncIO_
See comment to sinqMotor 0.12.0
2025-04-15 17:22:15 +02:00
mathis_s fe52245e38 Custom timeout for enable and position methods
Added a custom timeout for the enable command, as it takes quite a bit
of time for the motor controller to answer and we don't want to show a
premature communication timeout error. Also changed the code in order to
use the motorPosition() and setMotorPosition() methods instead of
directly accessing the paramLib.
2025-03-31 10:48:41 +02:00
mathis_s 16564011a6 Added stop and error reset function for masterMacs 2025-03-19 15:07:09 +01:00
mathis_s 631ee46a50 Removed friend class declaration and replaced access to private,properties with accessors 2025-03-10 17:07:33 +01:00
mathis_s cf9899062a Modified communication protocol for MCU software 2.0 2025-03-10 14:29:56 +01:00
mathis_s 4ad842c097 Added new feature msgPrintControl from sinqMotor 0.8.0.
Correspondingly, the minimum version requirement for sinqMotor has been bumped to 0.8.0.
2025-03-04 12:42:11 +01:00
mathis_s cc6a73fab1 Linter try No. 3 2025-02-14 16:54:56 +01:00
mathis_s e8ab0a1074 Make the linter happy :-) 2025-02-14 16:52:26 +01:00
mathis_s 6321a78b78 Fully-featured version of the masterMACS driver 2025-02-14 16:44:08 +01:00
mathis_s ea8c34ab84 WIP version of the MasterMACS driver 2025-01-28 13:16:40 +01:00
mathis_s 7d4c2ea1e4 Initial commit for masterMacs 2024-12-23 09:40:40 +01:00