74 Commits

Author SHA1 Message Date
0cbfe45893 Fixed ErormoveDriver to stop only on end switches when the target
exceeds the limits. Otherwise motors would get stuck on the switches
when trying to move off them.
2022-08-16 10:54:10 +02:00
bb1c10c7cd EL737 Increase timeout
The EL737 module micht give rise to a failure if the counterbox
does not reply withing 1s. This is the case at FOCUS.
With this commit the timeout is increased to 2s.
2022-07-21 13:42:31 +02:00
339da2e9ff PMAC V3: axis status 5,6 not a failure
The old implementation assumes that the axis staying in state 5,6
for too much time a implies a failure. This is no longer the case.
2022-07-21 13:37:32 +02:00
80877aa6ab pmacV3 read speed and evaluate ETA 2022-05-27 15:21:46 +02:00
afc92bde3f Improved status reporting 2022-05-20 10:38:32 +02:00
8e2c1af10e Some cleanup, force reload encoder before enable 2022-05-20 08:35:42 +00:00
f5da0d54bd Reduce polling, se MsgTxt if move when disabled 2022-05-20 08:35:42 +00:00
ad05433602 Bugfix + cleanup 2022-05-20 08:35:42 +00:00
92364a1de8 Can set and read enable, something broken with movements and status 2022-05-20 08:35:42 +00:00
403eecafae pmac Enable PV successfully tested 2022-05-20 08:35:42 +00:00
fbf2331a05 pmacV3 read axis state 2022-05-20 08:35:42 +00:00
14bbda3364 Add pmacV3 poll 2022-05-20 08:35:42 +00:00
c7fea08718 pmacV3 enable/disable axis
The default behaviour of the pmac controller is to enable the motor at startup. With the controller V3 we want that at IOC startup the axis to be off.
A database entry like

record(longout, "$(P)$(M):Enable") {
    field(DTYP, "asynInt32")
    field(OUT, "@asyn($(PORT),$(N),1) ENABLE_AXIS")
    field(PINI, "YES")
}

can be used to give access to enable/disable the axis.
2022-05-20 08:35:42 +00:00
edc71af235 Bugfix pmacV3 2022-05-20 08:35:42 +00:00
c805385ad1 Allow enable/disable (tentative) 2022-05-20 08:35:42 +00:00
929f9f600d Add PMAC V3
- limit switches: use PXX37, PXX38 insteam of MXX21, MXX22
- if the motor is running query for axis position (QXX10) and status (PXX00)
- else query also error status (PXX01) and limit switches (PXX37-8)
- make the requests in 1+1 transactions
2022-05-20 08:35:42 +00:00
8c3e68394f Changes to Scaler, add build for version 7 in Makefile 2022-05-20 10:25:41 +02:00
646607e476 EuroMove fix "addrCommand" bug in controller 2022-03-02 06:41:39 +01:00
68a265b199 EL734 positioning failure + improve logging 2022-03-02 06:39:18 +01:00
542abcbaad pmac improve handling of the error message 2022-03-02 06:37:33 +01:00
efbd0e19cf Updated EuromoveDriver to work with Prologix GPIB-Ethernet
Improved threshold handling on EL737
Minor changes
2021-06-17 09:30:28 +02:00
6de4a878ef Merge branch 'amor-selene'
Conflicts:
	.gitignore
	sinqEPICSApp/src/pmacAxis.cpp
	sinqEPICSApp/src/pmacAxis.h
	sinqEPICSApp/src/pmacController.cpp
	sinqEPICSApp/src/pmacController.h
2020-10-01 09:31:23 +02:00
d86da602d2 Added .gitignore 2020-07-09 14:19:13 +02:00
c9e7830274 - Fixed reference run for Phytron
- Added brake handling to phytron
- Added code to set speed for phytron
- Removed scaling on Selene pmac limits
- Removed enabling on Selene pmac axis
2020-07-09 14:15:26 +02:00
d1d74f4db3 Merge branch 'master' of ssh://git.psi.ch/sinqdev/sinqepicsapp 2020-06-23 09:20:17 +02:00
d1beb9b0d8 Merge branch 'master' of ssh://git.psi.ch/sinqdev/sinqepicsapp into amor-selene 2020-06-23 09:19:25 +02:00
3ae13875cf Added fucking brake support to Phytron 2020-06-23 09:18:12 +02:00
f56ef2c74c Committing the last status of selene work in the corona lockdown.
The problem is in the MCU, probably
2020-03-18 15:53:44 +01:00
a25f8cabb9 Selene positions do not need factor *1000 2020-02-19 15:39:23 +01:00
c4fe45c0cb Add a set PV for the SeleneMotor
- make the number of extra parameters in SINQController configurable
    - add database entry for the motor set field
    - add the new function "setMotorPosition_" to the Selene controller
    - execute Qx59=<pos> to set the new position
2020-02-18 12:32:24 +01:00
3b7133ecfe Make sure that the SINQ library version stays the same 2020-02-18 12:31:25 +01:00
e9a615d0fa Changes in pmac controller 2020-02-17 11:10:02 +01:00
12249d5471 Implemented Homing on the EuroMove driver 2020-02-10 10:00:56 +01:00
6d823e2265 Removed a debug statement from EuroMoveDriver.cpp 2020-01-24 13:04:40 +01:00
75de7a3a4c First version of a driver for the LLB EuroMove controller. USB feature still missing. 2020-01-21 14:17:17 +01:00
5aefbd4684 Fixed a bug in the pmac driver which caused wrong state 5/6 errors to be
found on a slow motor.
2019-10-30 11:32:33 +01:00
3133d933fa Minor fixes to the PhytronDriver
Removed some annoying messages grom Nanotec Driver
2019-10-10 11:35:25 +02:00
bf2ff63a4b Fixed bugs in EL734
Phytron motor driver is now working
May be fixed inverted limits on pmac
2019-05-23 16:50:10 +02:00
b4b093efdf Some cleanup in EL734Driver.cpp 2019-05-20 09:17:33 +02:00
f424477a6a Fixed a bug with inproperly cleared MsgTxt in SINQAxis
Extended pmacAxis to properly deal with HRPT pmac motors which have an extra error condition
2019-05-13 12:03:24 +02:00
3bea34700e Added MsgTxt support to Nanotec motor driver 2019-01-08 11:55:50 +01:00
02ab5ff9b8 Added MsgTxt support to pmac controller driver 2019-01-08 11:47:02 +01:00
972131d86a Added new system disconnect reporting to the phytron driver 2019-01-08 11:35:09 +01:00
f909c41a2b Updated the Phytron driver to use MsgTxt
Updated the Phytron driver to use a selector in order to support the use case of multiple phytrons on one channel
The chnages still need to be tested
2019-01-08 09:41:34 +01:00
460030e410 Made EL737 send an empty string in MsgTxt on success
Fixed a type in an error message
2018-11-07 16:26:58 +01:00
2a964503a4 Added a number of auxiliary Makefiles
- MakeScaler.RHEL7 to build the EPICS scaler module from source. We use a better one then the standard one.
- MakeAutoSave.RHEL7 to build  autosave from the PSI module system
- Modified the EL734Driver to set the MsgTxt to NULL when everything is happy
2018-11-07 16:18:16 +01:00
1687ebf4c7 Added a README to sinqEPICSApp 2017-11-08 09:58:18 +01:00
7023f52336 Modified devScalerEL737 to process threshold and thresholdcounter as fields external to
the scaler record. This is to replace the preset hack previously used to implement this
functionality.
2017-08-21 16:30:15 +02:00
83a995a16d Fixed the value reading bug in devScalerEL737 (wrong function signature)
Nihkil added mor error codes to devScalerEL737
2017-08-21 14:42:09 +02:00
124aa97cd6 Fixed a bug in el737_read which had a wrong function signature. May have changed over the years.
This caused every second monitor to be 0. A number type mismatch.
2017-08-14 14:52:04 +02:00