Commit Graph

31 Commits

Author SHA1 Message Date
Ron Sluiter 79ad5810f6 MRP's fix for motor simulator stuck in Moving state after multiple LOAD_POS
commands to the same position; set needUpdate = 1 in asynCallback() before
dbProcess.
2009-05-01 17:55:28 +00:00
Ron Sluiter 10dd6744ff Clear moveRequestPending. 2009-04-24 17:22:38 +00:00
Ron Sluiter 2bd8b43dc3 Can't call dbProcess before dbScanLockOK. 2009-04-24 17:20:45 +00:00
Ron Sluiter d8473b91c6 - Prevent moveRequestPending being left nonzero after LOAD_POS command.
- Minor compiler warnings eliminated.
2009-04-15 18:36:18 +00:00
Ron Sluiter a2843f4b45 Adds the SET_POSITION case to the moveRequestPending logic. 2009-02-09 19:51:34 +00:00
mp49 16198f3684 Called dbProcess instead of pmr->rset->process to aid debugging. 2008-12-01 12:18:35 +00:00
mp49 f8afb15c7d In the status updates, removed the check for not needUpdate before processing the record. This fixes the odd state that motors sometimes get into at startup after having the values written down to the controller, where they do not update their positions, even if the underlying axis moves, unless they are processed first. 2008-11-14 15:18:38 +00:00
Ron Sluiter 781dc22517 Minor compiler error. 2008-06-04 21:56:30 +00:00
Peter Denison bcce2174d8 Change initialisation order so that autosave is actually dependent on the
values read back from the controller for asyn motors.
2008-05-19 15:56:01 +00:00
Ron Sluiter 2e27086c90 asyn motor GET_INFO support update. 2008-04-02 19:48:23 +00:00
Peter Denison 98f2ba3854 Improve error reporting e.g. with bad axis number 2007-09-20 10:34:47 +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
MarkRivers 25d699eb73 Removed status argument from interrupt callbacks 2007-04-23 20:32:04 +00:00
MarkRivers 99438abc45 Added status argument in callbacks; deleted unused resolution variable 2007-04-17 21:05:42 +00:00
MarkRivers 4a1236f6c9 Added asynPrint for debugging 2007-02-13 22:02:18 +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 30fc158af1 Added encoder position to status TRACEIO asynPrint call 2007-02-02 13:50:46 +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 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
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
MarkRivers fd67e23c38 Print statusCallback in hex, not decimal 2006-04-29 19:01:15 +00:00
MarkRivers 68cf987621 Fixed problem with callbacks occuring before interruptAccept=1; don't send resolution to driver any more 2006-04-19 22:09:17 +00:00
Peter Denison ea31f13f13 Get initial values from the motor controller to avoid move to zero at startup 2006-04-19 12:56:35 +00:00
MarkRivers 071f932661 Moved debugging in buildTrans; send resolution in init_record 2006-04-08 20:10:26 +00:00
MarkRivers 16ebe6291f Fixes from Peter Denison for jog 2006-04-08 00:22:06 +00:00
MarkRivers 8fae7bebb0 Fix from Peter Denison for jog 2006-04-06 19:39:09 +00:00
MarkRivers 690096a7a4 Fix from Peter for home command 2006-04-06 19:25:33 +00:00
MarkRivers 87131fc463 Changed int32_t and uint32_t to epicInt32 and epicsUInt32 2006-03-23 00:24:20 +00:00
MarkRivers 9793a5d4e8 New files for asyn interface 2006-03-21 22:41:54 +00:00