Commit Graph

68 Commits

Author SHA1 Message Date
c19e4845e4 Hide visibility of sinqController classes
All checks were successful
Test And Build / Lint (push) Successful in 5s
Test And Build / Build (push) Successful in 6s
2025-08-12 08:51:54 +02:00
c65a8de5dd Made forcedPoll non-virtual so it doesn't break the ABI
All checks were successful
Test And Build / Lint (push) Successful in 4s
Test And Build / Build (push) Successful in 6s
2025-07-24 11:29:15 +02:00
1910eda0b1 Added forcedPoll method which skips the adaptive polling checks
All checks were successful
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
55a9fe6f3e Fixed another calling signature bug 2025-06-18 08:25:39 +02:00
e618b39687 Fixed function call arguments in template 2025-06-18 08:15:34 +02:00
41dfd1de5a Fixed docs 2025-06-17 13:13:43 +02:00
07cab3ac2a Replaced sizeof with template parameter N 2025-06-17 10:22:13 +02:00
e194736206 Fixed bug in char array getter 2025-06-17 09:39:12 +02:00
30af284f5d Safer handling of reading bools from the param lib 2025-06-17 09:36:44 +02:00
6069aa9194 Fixed typo 2025-06-17 09:32:42 +02:00
c475beee66 Fixed char array getAxisParam function 2025-06-17 09:30:40 +02:00
b1fe452ed6 Added cast for specialized function 2025-06-17 09:24:20 +02:00
d395c7bbb7 Added getAxisParam variant for char arrays 2025-06-17 08:51:58 +02:00
a6f2890c76 Adjusted char[BUF] template 2025-06-17 08:43:51 +02:00
fef61bc804 Fixed template error 2025-06-17 08:40:35 +02:00
3d984f26bc Moved template functions to header to avoid linker errors 2025-06-17 08:33:18 +02:00
2f8ae23d57 Added static cast to force correct type 2025-06-16 16:15:24 +02:00
603b3e77af Revised version with adapted macros 2025-06-16 15:53:36 +02:00
31ff26cb78 Generalized getAxisParam 2025-06-16 15:24:28 +02:00
43df40aaea WIP 2025-06-16 13:32:49 +02:00
bdefc6090d Added getters and setters for wasMoving and targetPosition 2025-06-10 14:09:20 +02:00
c2eca33ce8 Ready for release 1.0 2025-05-23 12:25:48 +02:00
87980e403c Fixed bug regarding the poll period member variables 2025-05-23 11:17:34 +02:00
b95e782ea8 Added accessor for maxSubsequentTimeoutsExceeded flag 2025-05-23 10:10:54 +02:00
cd7cc75eb7 Added destructors for the classes in order to use the PIMPL idiom with
uniqe_ptr
2025-05-23 09:38:41 +02:00
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
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
1cf4b9ab25 Made some functions virtual so they can be overwritten 2025-05-15 14:26:00 +02:00
e088bfbbcb Added initial value for motorMessageText 2025-05-15 11:39:47 +02:00
3c345e37da Fixed char array undefined symbol bug 2025-05-15 11:25:56 +02:00
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
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
9792697d03 Addes instructions how to use sinqMotor as static dependency. 2025-05-12 16:41:33 +02:00
4d1c21fd74 Added a license (GPL3) 2025-05-09 11:59:51 +02:00
dbcfebc6de Added function to set the number of forced fast polls. 2025-05-09 08:14:05 +02:00
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
5689402375 Further clarified the error message in checkMaxSubsequentTimeouts. 2025-05-05 09:15:15 +02:00
2a7934b8d6 Fixed bug where arguments were given in the wrong order. 2025-05-05 08:51:34 +02:00
dd0610fd99 Added connection assertion and moved msgPrintControl to key 2025-04-25 15:54:41 +02:00
c7936191d9 Added Connected PV 2025-04-25 13:17:41 +02:00
76a91d4a2f Added message print control for movement timout watchdog 2025-04-22 11:43:47 +02:00
228bcf7fd7 Renamed some member fields 2025-04-17 16:28:52 +02:00
db03ffea0e Added adaptive polling
See documentation in README.md for parameter ADAPTPOLL
2025-04-16 13:05:48 +02:00
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
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
828e9bc59c Fixed a bug in msgPrintControl 2025-03-19 15:01:20 +01:00
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
bed245b010 Added PVs for error reset and status problem reporting and fixed a bug
in msgPrintControl
2025-03-10 14:28:24 +01:00
ca7bede4b7 Actually added the files for msgPrintControl 2025-03-04 09:23:34 +01:00
d3307db987 Added msgPrintControl feature to control the maximum number of IOC shell
message repetitions.
2025-03-04 09:12:11 +01:00