Commit Graph
52 Commits
Author SHA1 Message Date
mathis_s 3631064469 Fixed wrong reset of motorStatusHomed flag
Test And Build / Lint (push) Successful in 5s
Test And Build / Build (push) Successful in 6s
The previous code wrongfully resetted the motorStatusHomed flag when
starting a movement / homing maneuver. This change corrects that
behaviour - motorStatusHomed should only be set to false by the motor
controller when it explicitly knows the axis to be unhomed (avoid false
positives!).
2026-07-15 11:03:57 +02:00
mathis_s 95bc899114 Added safe limit setter
Test And Build / Lint (push) Successful in 6s
Test And Build / Build (push) Successful in 5s
2026-02-10 08:48:25 +01:00
mathis_s 82f509596d Added disconnect handling to sinqMotor 2026-02-10 08:33:03 +01:00
mathis_s 2376e2adfd Roll head back to 1.5.7
Test And Build / Lint (push) Successful in 5s
Test And Build / Build (push) Successful in 5s
2026-02-10 08:10:56 +01:00
mathis_s 4e30331c92 Added disconnect handling to sinqMotor
Test And Build / Lint (push) Successful in 5s
Test And Build / Build (push) Successful in 6s
2026-01-22 09:52:24 +01:00
mathis_s 2578081814 Added dedicated interface function for setting the operation mode.
Test And Build / Lint (push) Successful in 5s
Test And Build / Build (push) Successful in 5s
2026-01-20 16:47:36 +01:00
mathis_s 6f639d7233 Added scaffolding for velocity mode
Test And Build / Lint (push) Successful in 5s
Test And Build / Build (push) Successful in 5s
Added records to support detection of the current operation mode
(position or velocity), whether one is allowed to change between the two
and a record to actually change between the two. Also added a
doMoveVelocity method which should be implemented by derived drivers if
they support velocity mode.
2026-01-20 14:11:06 +01:00
mathis_s 6dc2b131f7 Exempt EPICS libraries from -Weffc++
Test And Build / Build (push) Failing after 6s
Test And Build / Lint (push) Successful in 26s
2025-09-17 12:33:58 +02:00
mathis_s 902b18d038 Excempt EPICS libraries from -Weffc++
Test And Build / Lint (push) Successful in 6s
Test And Build / Build (push) Successful in 7s
2025-09-17 12:18:06 +02:00
mathis_s d7c9d009ee Better solution for suppressing unused variable warning
Test And Build / Lint (push) Successful in 5s
Test And Build / Build (push) Successful in 5s
2025-09-17 11:08:24 +02:00
mathis_s 3ab40a8bf5 Fixed compiler warnings
Test And Build / Lint (push) Failing after 2s
Test And Build / Build (push) Successful in 7s
2025-09-17 10:52:56 +02:00
mathis_s 9a32532c22 Expanded error messageto give users the ability to help themselves
Test And Build / Lint (push) Successful in 5s
Test And Build / Build (push) Successful in 6s
2025-09-17 10:24:07 +02:00
mathis_s 7a0de4e9d9 Perform callParamCallbacks even if movement watchdog timed out
Test And Build / Lint (push) Successful in 6s
Test And Build / Build (push) Successful in 5s
2025-08-14 17:15:21 +02:00
mathis_s 1910eda0b1 Added forcedPoll method which skips the adaptive polling checks
Test And Build / Lint (push) Successful in 4s
Test And Build / Build (push) Successful in 6s
The poll method does various tasks. One of them is skipping the poll if
adaptive polling is enabled and certain conditions are fulfilled (see
docs). However, sometimes it is needed to force a poll regardless.
Therefore, a new method forcedPoll was added which is wrapped by poll
now and does all tasks of the previous poll function except for the skip
check.
2025-07-24 11:13:37 +02:00
mathis_s 3d984f26bc Moved template functions to header to avoid linker errors 2025-06-17 08:33:18 +02:00
mathis_s 31ff26cb78 Generalized getAxisParam 2025-06-16 15:24:28 +02:00
mathis_s 43df40aaea WIP 2025-06-16 13:32:49 +02:00
mathis_s bdefc6090d Added getters and setters for wasMoving and targetPosition 2025-06-10 14:09:20 +02:00
mathis_s c2eca33ce8 Ready for release 1.0 2025-05-23 12:25:48 +02:00
mathis_s cd7cc75eb7 Added destructors for the classes in order to use the PIMPL idiom with
uniqe_ptr
2025-05-23 09:38:41 +02:00
mathis_s 83aa437b6b Applied PIMPL by moving members to internal struct sinqAxisImpl
This change makes sinqMotor ready for 1.x releases where ABI stability
and backwards compatibility is guaranteed.
2025-05-22 13:56:44 +02:00
mathis_s 275672aaef Removed lock in reset and replaced it with wakeupPoller call
Trying to lock the controller from one of its axes may lead to
segfaults, hence it is not advisable.
2025-05-16 15:50:26 +02:00
mathis_s e088bfbbcb Added initial value for motorMessageText 2025-05-15 11:39:47 +02:00
mathis_s 3c345e37da Fixed char array undefined symbol bug 2025-05-15 11:25:56 +02:00
mathis_s b267200039 Simplified paramLib access and show error messages for one poll cycle
Simplified getting and setting paramLib entries via a macro and created
a mechanism within poll() which makes sure that error messages are shown
for at least one poll cycle. Also moved MAXBUF_ to the SinqController
level.
2025-05-14 16:07:03 +02:00
mathis_s 9bc90cff61 Simplified paramLib access and show error messages for one poll cycle
Simplified getting and setting paramLib entries via a macro and created
a mechanism within poll() which makes sure that error messages are shown
for at least one poll cycle. Also moved MAXBUF_ to the SinqController
level.
2025-05-14 15:59:48 +02:00
mathis_s 9792697d03 Addes instructions how to use sinqMotor as static dependency. 2025-05-12 16:41:33 +02:00
mathis_s 4d1c21fd74 Added a license (GPL3) 2025-05-09 11:59:51 +02:00
mathis_s b89fe41c6e Added macros for adding and retrieving paramlib entries in order to make
the code less cluttered. Also built in a mechanism which makes sure that
forced fast polls are not ignored anymore when adaptive polling is
enabled.
2025-05-08 17:04:23 +02:00
mathis_s dd0610fd99 Added connection assertion and moved msgPrintControl to key 2025-04-25 15:54:41 +02:00
mathis_s c7936191d9 Added Connected PV 2025-04-25 13:17:41 +02:00
mathis_s 76a91d4a2f Added message print control for movement timout watchdog 2025-04-22 11:43:47 +02:00
mathis_s 228bcf7fd7 Renamed some member fields 2025-04-17 16:28:52 +02:00
mathis_s db03ffea0e Added adaptive polling
See documentation in README.md for parameter ADAPTPOLL
2025-04-16 13:05:48 +02:00
mathis_s 4c3254687d Renamed "ipPortUser_" to "ipPortAsynOctetSyncIO_"
I learned that there might be multiple asynUsers connected to the same
port for different types (asynInt32, asynOctet, ...). Therefore I
renamed "ipPortUser_" to better reflect this.
2025-04-15 17:15:34 +02:00
mathis_s 7729eceb28 Added doReset wrapper around reset and added two functions to set and
retrieve the motor position which handle the conversion via
motorRecResolution.
2025-03-31 10:42:07 +02:00
mathis_s 828e9bc59c Fixed a bug in msgPrintControl 2025-03-19 15:01:20 +01:00
mathis_s f26d1bb612 Added public accessors for all status library indices and some other
properties. This also enabled the removal of "friend classes".
2025-03-10 16:53:45 +01:00
mathis_s bed245b010 Added PVs for error reset and status problem reporting and fixed a bug
in msgPrintControl
2025-03-10 14:28:24 +01:00
mathis_s d3307db987 Added msgPrintControl feature to control the maximum number of IOC shell
message repetitions.
2025-03-04 09:12:11 +01:00
mathis_s e92a867189 Bugfix for movTimeoutWatchdog
Update of README.md
2025-02-14 16:19:17 +01:00
mathis_s c06cf8e76c Fixed small typo in an error message 2025-01-22 11:01:08 +01:00
mathis_s b6e0f03a17 Moved the initialization of some parameters into sinqMotor 2024-12-23 09:30:24 +01:00
mathis_s 26754e608d Fixed a bug which resulted in motorStatusProblem not being set properly. 2024-12-10 09:09:02 +01:00
mathis_s a866023957 Various improvements:
- Moved the encoder type PV to sinqMotor
- Unified the PV naming scheme
- Removed the IsEnabled function - this status is read out from the
parameter library (motorEnableRBV_)
2024-12-09 11:14:19 +01:00
mathis_s 86006e408a Prototype for version 0.3 2024-12-04 13:38:13 +01:00
mathis_s 6656841a01 Added some flags for NICOS and refactored some records from pmacv3 to
sinqMotor
2024-11-29 14:54:54 +01:00
mathis_s 682325de7d Substantial rRework of 0.2.0 after the CAMEA test showed multiple
problems. Also improved the documentation.
2024-11-26 16:51:12 +01:00
mathis_s 5502c39219 After reimplementing the pmacV3 driver using the sinqMotor parent class,
quite some changes have accumulated. Besides various code changes, especially the documentation has
been improved.
2024-11-20 11:29:20 +01:00
mathis_s 89bbbedaee Fixed CI pipeline issues. 2024-11-15 16:20:57 +01:00