Files
motorBase/motorApp/SoftMotorSrc/devSoft.h
T
Ron Sluiter 6df4747fd1 - Eliminate/minimize EPICS LINK alarms by preventing record processing before "interruptAccept" is true.
- If the readback is changing, but motion was not initiated by this record, then reset the motor record's target to actual position (i.e., VAL/DVAL/RVAL = RBV/DRBV/RRBV) after the last readback.
- In soft_process(), call dbProcess() instead of directly calling motor record's process().
2002-02-11 17:34:35 +00:00

62 lines
1.6 KiB
C

/*
FILENAME.. devSoft.h
USAGE... This file contains information that is common to
all Soft channel device support modules.
Version: $Revision: 1.4 $
Modified By: $Author: sluiter $
Last Modified: $Date: 2002-02-11 17:34:33 $
*/
/*
* Original Author: Ron Sluiter
* Date: 03/25/99
*
* Experimental Physics and Industrial Control System (EPICS)
*
* Copyright 1991, the University of Chicago Board of Governors.
*
* This software was produced under U.S. Government contract
* W-31-109-ENG-38 at Argonne National Laboratory.
*
* Beamline Controls & Data Acquisition Group
* Experimental Facilities Division
* Advanced Photon Source
* Argonne National Laboratory
*
* Modification Log:
* -----------------
*/
#ifndef INCdevSofth
#define INCdevSofth 1
typedef enum DONE_STATES {MOVING = 0, DONE = 1, WAIT = 2} DONE_STATES;
#define MAXMSGS 20
struct soft_private
{
CALLBACK callback;
long callback_flag;
#ifdef DMR_SOFTMOTOR_MODS
BOOLEAN load_position;
long new_position;
#endif
DONE_STATES dinp_value; /* Value from DINP link. */
BOOLEAN default_done_behavior; /* If the DINP is not programmed, exhibit
* "immediate done" default behavior. */
BOOLEAN initialized; /* 1st RDBL call after interruptAccept is TRUE
* sets this ON. */
};
extern long soft_init(int);
extern long soft_init_record(struct motorRecord *);
extern void soft_dinp_func(struct motorRecord *, short);
extern void soft_rdbl_func(struct motorRecord *, double);
extern void soft_rinp_func(struct motorRecord *, long);
extern void soft_motor_callback(CALLBACK *);
#endif /* INCdevSofth */