Commit Graph

44 Commits

Author SHA1 Message Date
e1732639b2 Added manual and .gitignore
Some checks failed
Test And Build / Lint (push) Failing after 4s
Test And Build / Build (push) Successful in 7s
2025-11-03 08:40:25 +01:00
a435c3c960 Update src/masterMacsAxis.cpp
Some checks failed
Test And Build / Lint (push) Failing after 4s
Test And Build / Build (push) Successful in 7s
Updated comment: encoder type 0 can also mean "no encoder"
2025-09-23 15:11:07 +02:00
f1c41d3081 Perform poll even if init fails
Some checks failed
Test And Build / Lint (push) Failing after 5s
Test And Build / Build (push) Successful in 8s
2025-09-17 13:12:21 +02:00
ebcf99ac56 Updated sinqMotor to 1.5.5 2025-09-17 12:34:47 +02:00
8f457889c0 Updated sinqMotor to 1.5.3 2025-09-17 11:28:53 +02:00
6f63e521c1 Updated sinqMotor to 1.5.2 2025-09-17 11:25:40 +02:00
25286652d5 Moved version definition in Makefile
Some checks failed
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
27f7cc8602 Added version check prototype
Some checks failed
Test And Build / Lint (push) Failing after 4s
Test And Build / Build (push) Successful in 8s
2025-08-22 08:46:30 +02:00
21a73717a5 Fixed handshake detection and reset bugs
Some checks failed
Test And Build / Lint (push) Failing after 4s
Test And Build / Build (push) Successful in 7s
2025-08-14 17:16:14 +02:00
23a911206a Removed node reset from doReset and moved it into dedicated function
Some checks failed
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
6553b468c8 Updated to sinqMotor 1.4.0 and hid all symbols
Some checks failed
Test And Build / Lint (push) Failing after 3s
Test And Build / Build (push) Successful in 7s
2025-08-12 09:44:15 +02:00
954fc82414 Moved error handling out of error read condition.
Some checks failed
Test And Build / Lint (push) Failing after 9s
Test And Build / Build (push) Successful in 12s
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".
2025-08-05 09:04:11 +02:00
ff183576ec Added axis reinitialization after node reset
When resetting the node, values within the controller may change, which
need to be reread by the init function.
2025-08-05 08:58:50 +02:00
83f9be3be8 Switched to forcedPoll method 2025-07-24 13:20:30 +02:00
8bb81b1716 Fixed wrong comments
Some checks failed
Test And Build / Lint (push) Failing after 4s
Test And Build / Build (push) Successful in 8s
2025-07-22 17:13:09 +02:00
c32708e49c Removed lastSpeed caching
Some checks failed
Test And Build / Lint (push) Failing after 4s
Test And Build / Build (push) Successful in 7s
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.
2025-07-16 11:23:37 +02:00
64b932c3ae Fixed bug 2025-07-01 10:05:39 +02:00
09897b6125 Added node reset to doReset 2025-07-01 10:03:20 +02:00
37dacbd3ee Updated sinqMotor version and removed unnecessary require 2025-06-17 13:21:59 +02:00
d198dc8c9f Use axisParam accessor macros 2025-06-17 13:21:55 +02:00
deb6e6996e Ready for release 1.0 2025-05-23 12:29:30 +02:00
d1d694ad6b Applied PIMPL principle 2025-05-23 12:16:25 +02:00
c334ed9f04 Add default value for motorMessageText 2025-05-15 12:22:33 +02:00
4b0031c3af Fixed bug with readInt32 function 2025-05-15 12:03:06 +02:00
e93f11e779 Adjusted usage of motorMessageText to be an error text only 2025-05-14 16:28:51 +02:00
a56a8cf646 Added explanation why the return status of doPoll is not used in the enable function. 2025-05-13 14:46:13 +02:00
cd57409f3c Added motorConnected logic 2025-04-25 15:58:03 +02:00
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
699b588ba5 Replaced ipPortUser_ with ipPortAsynOctetSyncIO_
See comment to sinqMotor 0.12.0
2025-04-15 17:22:15 +02:00
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
a3e849f386 Changed to the "motorPosition" and "setMotorPosition" functions provided
by sinqMotor.
2025-03-28 14:53:04 +01:00
16564011a6 Added stop and error reset function for masterMacs 2025-03-19 15:07:09 +01:00
631ee46a50 Removed friend class declaration and replaced access to private,properties with accessors 2025-03-10 17:07:33 +01:00
cf9899062a Modified communication protocol for MCU software 2.0 2025-03-10 14:29:56 +01:00
d975af75a2 Suppress strcpy-related errors on a global level 2025-03-04 14:45:47 +01:00
55aabb0468 Suppress strcpy-linter message 2025-03-04 14:37:04 +01:00
755ae42b3b Added cppcheck-suppress for strcpy - I know strcpy is safe because I
check the length beforehand.
2025-03-04 14:19:19 +01:00
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
cc6a73fab1 Linter try No. 3 2025-02-14 16:54:56 +01:00
eb65f6c6bf Another try 2025-02-14 16:53:54 +01:00
e8ab0a1074 Make the linter happy :-) 2025-02-14 16:52:26 +01:00
6321a78b78 Fully-featured version of the masterMACS driver 2025-02-14 16:44:08 +01:00
ea8c34ab84 WIP version of the MasterMACS driver 2025-01-28 13:16:40 +01:00
7d4c2ea1e4 Initial commit for masterMacs 2024-12-23 09:40:40 +01:00