Commit Graph
203 Commits
Author SHA1 Message Date
Ron Sluiter c5d01da909 Changed backlash distance (BDST) to ASL=0. 2008-03-11 16:20:40 +00:00
Ron Sluiter a7b6e2b75a ASL changes. 2008-03-07 18:47:22 +00:00
Ron Sluiter 951431095e - Prevent multiple LOAD_POS actions due to STUP's.
- Remove redundant DMOV posting from special().
- NTM logic is restored to using feedbacks.
- NTM deadband factor (NTMF) added.
2008-02-28 17:44:23 +00:00
Ron Sluiter 8c6e56ed4b Added NTM Deadband Factor (NTMF) field. 2008-02-28 17:31:07 +00:00
Ron Sluiter d28b6e05e4 Post RVEL changes. 2008-02-14 16:30:15 +00:00
Ron Sluiter d86b76b6bf Set VBAS before jogging. 2007-11-27 17:53:42 +00:00
Peter Denison 387057ca3d Add some missing status returns to avoid spurious error messages 2007-11-23 13:47:00 +00:00
Peter Denison aea806e9d9 Use absolute value of MRES in NTM stop calculation 2007-11-23 13:43:19 +00:00
Ron Sluiter ffc234d0d0 - relative moves only if RTRY != 0.
- NTM logic uses reference positions.
- Don't post process previous move on "tdir" detection.
2007-11-07 18:54:13 +00:00
Peter Denison e5b9987b95 Use absolute value of MRES to calculate rdbdpos, to avoid erroneous motor moving
states.
2007-11-02 14:39:59 +00:00
Ron Sluiter 82ce776c03 Raised the precedence of INIT string in motor_init_record_com()
for controllers (PI C-848) that require an INIT string primitive
before a LOAD_POS can be executed.
2007-10-17 19:09:33 +00:00
Peter Denison 98f2ba3854 Improve error reporting e.g. with bad axis number 2007-09-20 10:34:47 +00:00
Peter Denison 4e83896390 Fix behaviour of motorUtil in the face of incorrect prefix. Now does not
call ca_task_exit() unless it is ending the task.
Do not use epicsThreadSuspendSelf(), but instead wait on an event, in
    soft_motor_task() and motorUtil_task(), to avoid suspended threads.
2007-09-19 15:57:41 +00:00
Peter Denison dd8934bbda Correct initialisation order in devMotorAsyn.c to make sure autosaved values
get picked up as the initial motor position, val, dval, rbv, etc
Fix initialisation of motors on Linux with autosave (was trying to lock a
   previously-destroyed mutex)
2007-09-18 12:41:59 +00:00
Ron Sluiter 95f99a1f07 Fix for motorUtilInit()'s PVNAME_SZ error check using an uninitialized variable. 2007-05-10 20:14:21 +00:00
MarkRivers bc7d0bb2a8 Removed status argument from interrupt callbacks 2007-04-23 20:39:20 +00:00
MarkRivers 25d699eb73 Removed status argument from interrupt callbacks 2007-04-23 20:32:04 +00:00
MarkRivers 30f24d531c Added status argument in callbacks 2007-04-17 21:08:44 +00:00
MarkRivers 99438abc45 Added status argument in callbacks; deleted unused resolution variable 2007-04-17 21:05:42 +00:00
MarkRivers 9556f74d93 Added status argument in callbacks; deleted setDefaults prototype 2007-04-17 21:05:13 +00:00
Ron Sluiter cf984d501f MR's bug fix for RDBD was being used before the validation check. 2007-04-06 18:37:38 +00:00
timmmooney 3bb06091a6 allocate space for trailing null in motor list 2007-03-20 18:51:30 +00:00
Ron Sluiter ea98363785 Clear home request when soft-limit violation occurs. 2007-03-16 20:30:41 +00:00
Ron Sluiter 5d4b875851 Reformat; tabs -> spaces. 2007-02-27 17:44:06 +00:00
Ron Sluiter 56680be0dd Bug fix for negative controller positions not handled correctly. 2007-02-27 17:22:49 +00:00
MarkRivers 4a1236f6c9 Added asynPrint for debugging 2007-02-13 22:02:18 +00:00
Peter Denison a55bcdcb49 Documentation updates 2007-02-03 12:14:48 +00:00
Peter Denison b40820e90b Enabled autosave on asynMotor to restore DVAL after power cycle by writing new
init_controller routine and calling LOAD_POS
2007-02-03 12:07:17 +00:00
Peter Denison ae87fbc0fb Remove a few compilation warnings 2007-02-03 12:01:49 +00:00
Peter Denison 2ae483963c Remove erroneous setting of defaults at initialisation
Force setting of ASYN_CANBLOCK flag and remove can_block option, as the
callback mechanism *requires* that we be asynchronous, or we'll deadlock
2007-02-02 16:21:05 +00:00
Peter Denison 239965f564 Fix units on JVEL, HVEL and JAR fields 2007-02-02 16:13:43 +00:00
Peter Denison dd70de868d Fixed PV name lengths in motorUtil and motorUtilAux for 3.14 values 2007-02-02 13:58:58 +00:00
Peter Denison 0cbeb1cf74 second part of fix for limits when MRES -ve
When changing user limits, depend on both DIR and sign of MRES
2007-02-02 13:55:34 +00:00
Peter Denison 30fc158af1 Added encoder position to status TRACEIO asynPrint call 2007-02-02 13:50:46 +00:00
Peter Denison 748de06f19 Force an update after a new callback is added 2007-02-02 13:46:14 +00:00
Ron Sluiter a35e8fd083 R6-1 2006-12-18 20:13:31 +00:00
MarkRivers 0fc9bd1229 Added support for int32 callbacks in general case 2006-09-06 15:44:35 +00:00
Peter Denison c54e52644b Oops - copy structures explicitly instead of relying on gcc extension
Changed round function to floor(x+0.5) since we seem to be picking up the wrong definition of round()
2006-09-06 12:27:47 +00:00
Peter Denison ede6b73b0e Fix 'not ready' error by removing needUpdate=1 on MotorStatus
use MotorStatus interface for all status calls
add start position to motor simulator
2006-08-10 08:12:47 +00:00
Peter Denison 2965527681 Implement locking to prevent race condition where periodic status can
arrive before a sent move command has reached the controller
2006-07-20 17:10:37 +00:00
Peter Denison d74aa242a4 Fix "brown paper bag" bug that caused position updates to go to all axes 2006-07-07 20:50:19 +00:00
Peter Denison 785307839c Added new asyn interface for atomic status callbacks, and converted
devMotorAsyn.c and drvMotorAsyn.c to use it
Added STATUS_* reason codes to get at individual bits of status
Fix SET_{LOW,HIGH}_LIMIT command when MRES negative
2006-07-01 20:08:56 +00:00
Ron Sluiter 17168a5260 MRES == RDBD bug fix. 2006-06-30 18:50:27 +00:00
MarkRivers af5c789929 Allow unknown commands for (get/set)(Double/Integer) to be sent to driver 2006-06-15 19:23:36 +00:00
Peter Denison ad11d7ec6f Interface changes:
Removed motorAxisPrimitive, motorAxisSetLogParam
    motorAxisSetLog now takes a logParam parameter
    drvMotorAsynConfigure takes an extra can_block parameter
    Simulator create function only takes int parameters to avoid problems
        passing double parameters from the vxWorks shell on PowerPC arch
Functional changes:
    Order of drvMotorAsyn interrupt callbacks has been changed to pass back
        Float64 interrupts (typically position, etc.) before Int32 interrupts
        (typically status), so that a move reaches its desired position before
        it is signalled as complete. This is not a complete solution.
    More parameter checking, particularly of axis number
2006-06-06 08:50:14 +00:00
Ron Sluiter fe139f287d Remove C++ style comments (//) for old compilers. 2006-06-02 21:19:09 +00:00
Peter Denison d9115f871f Converted all fields to double from float to avoid rounding errors 2006-05-18 19:51:07 +00:00
MarkRivers 04ed7197c3 Change from using pasynManager->memMalloc to callocMustSucceed; memory must be zeroed 2006-04-29 19:02:07 +00:00
MarkRivers fd67e23c38 Print statusCallback in hex, not decimal 2006-04-29 19:01:15 +00:00
MarkRivers cb8a078e09 Use new pasynTrace->vprint function 2006-04-20 19:29:12 +00:00