Commit Graph

2230 Commits

Author SHA1 Message Date
timmmooney 3129f5cbcc converted on 1/29/2014 2014-01-29 18:54:11 +00:00
timmmooney c82d32c099 For two motors 2014-01-29 18:25:04 +00:00
timmmooney 1c03d052da For one motor 2014-01-29 18:24:50 +00:00
timmmooney 813385af8b Show motor-start positions, PV to control accel/decel handling, deleted XPS file name 2014-01-29 18:24:22 +00:00
timmmooney 52ec125feb Significant changes to support adding accel/decel segments to trajectory, post motor-start positions after build, forbid hybrid mode (not supported), in TIME_MODE_TOTAL, timeTrajectory had extra point at end, buildTrajectory was using npulses instead of npoints, don't change MAXv's update freq at run time 2014-01-29 18:20:58 +00:00
timmmooney 5a402fd3f1 Added motor-start PVs, and a PV by which user can choose whether or not software should add accel/decel trajectory segments. Added evflag to moveMode, so we can forbid hybrid mode, which is not supported (yet?) for Ensemble or MAXv. 2014-01-29 18:12:04 +00:00
timmmooney 90f3f1ea0d Added PV by which user can choose whether or not software should add accel/decel trajectory segments. 2014-01-29 18:09:23 +00:00
timmmooney 5521940fbc Added motor-start position PVs, and a PV by which user can choose whether or not software should add accel/decel trajectory segments. 2014-01-29 18:08:57 +00:00
Jens Eden 519fdd266b changed max axes to 10, changed debug output, always check limits, (MAXnet) fixed reading of long strings 2014-01-20 12:58:11 +00:00
Jens Eden f407631e15 fixed firmware version check, introduced processing delay 2014-01-17 14:36:17 +00:00
Ron Sluiter 0d999027c2 Protect against NULL *parms pointer motor record. 2013-12-20 16:41:07 +00:00
MarkRivers 57c3afb8be Protect against dereferencing null pointer, was crashing on Linux 2013-12-20 05:10:10 +00:00
MarkRivers f16799219c Bug fix: it was passing a const char* pointer to epicsStrtok_r, which is incorrect and crashes on some systems 2013-12-20 05:06:47 +00:00
timmmooney 4fbb739871 Removed kludge soft trigger 2013-12-18 22:53:53 +00:00
timmmooney 397d3da10a Kludge soft trigger 2013-12-18 22:30:17 +00:00
MarkRivers fcfbc92bab Print error if unable to create trajectory file; changed waitMotors to use GroupStatusGet, because pAxis->poll won't ever get response back, it did not issue command for profileMove 2013-12-10 17:30:08 +00:00
MarkRivers f8c804c45d Made shutdown be void 2013-12-10 17:28:50 +00:00
timmmooney a5948c10d1 some typos 2013-12-02 19:50:04 +00:00
timmmooney 33c4ea599c some typos 2013-12-02 19:47:53 +00:00
timmmooney d3255670fb Improve comparison between programmed trajectory and recorded trajectory: TRy several index-offset values, fit chisquare to parabola, use minumum. 2013-12-02 19:32:41 +00:00
timmmooney 21756a0b28 make PSO pulse spacing positive definite 2013-11-27 17:12:15 +00:00
timmmooney f97c65de4b Gather parameter numbers. Use ReverseMotionDirection in conversion from raw encoder to user units. 2013-11-26 16:46:31 +00:00
timmmooney bdefb9329a must use pVar in escaped code 2013-11-25 20:40:05 +00:00
timmmooney 3ff2e11b00 position-offset read was in wrong place in code 2013-11-25 20:38:13 +00:00
timmmooney f6943e2ee1 While trajectory is executing, check at 10 Hz. (Previously checked as fast as processor would go.)
Record difference between pfbkprog and pfbkcal (position feedback commands), and correct scope data for the difference.
Make sure first command sent to sendReceive() causes it to check that the AeroBasic program is running.
Condition all scope commands on the macro variable, USE_SCOPE.
2013-11-25 19:26:37 +00:00
timmmooney 9783e9fad8 Check for abort while reading scope data; default is PSO_DISTANCE_ARRAY==0; when PSO_DISTANCE_ARRAY==0, use a fixed grid of (motorlastpos-motorfirstpos)/npulses 2013-11-20 19:40:06 +00:00
timmmooney 36b73d317e read position, velocity error at user specified rate 2013-11-18 16:17:23 +00:00
timmmooney 385f4abfe0 read position and velocity errors at user specified rate 2013-11-18 16:09:52 +00:00
timmmooney 104a140694 note that controller must use the same units as the motor record 2013-11-18 16:08:06 +00:00
timmmooney 24ae9139a9 cleanup, no change in function 2013-11-18 16:07:32 +00:00
Ron Sluiter 8a99070ad6 Added bus flushing read on exit from ISR to fix "out of order transactions"; symptom "Spurious interrupts". 2013-11-15 19:44:42 +00:00
timmmooney 2097ad3ef7 for one motor 2013-11-15 17:10:25 +00:00
timmmooney f609d4bff8 added some docs on Ensemble trajectory 2013-11-14 18:36:46 +00:00
timmmooney 9b342b09bf check num global doubles; restrict nelements accordingly 2013-11-14 18:36:01 +00:00
kmpeters 0bf0cbd212 Modified motorUtil to also provide name of motor every time .DMOV field changes. This will allow smart clients to maintain a list of moving motors. 2013-11-13 21:43:36 +00:00
kmpeters d6c90868c7 Register listMovingMotors function so non-vxWorks iocs can use it. 2013-11-13 19:36:23 +00:00
timmmooney 2c3036c197 Check everything sent to controller; use SCOPE commands to compare trajectory as executed with desired trajectory; fix velocity-limit bug; retry trajectory if it fails to start; make PSO generation conditional on outBitNum in range (0,15) inclusive; controller claims motors are done when they aren't, so allow for retries; was checking only bit lsbit of moving indicator, now check for nonzero; mind max velocity as configured on controller, as well as in motor record; move parameters to communicatewith AeroBasci to header file; change acknowledge from AeroBasic from "IGLOBAL(cmdVar)=0" to "IGLOBAL(cmdVar)=-(IGLOBAL(cmdVar))"; do trajectory entirely on controller, in absolute time and position; add decel points to trajectory. 2013-11-12 23:07:56 +00:00
timmmooney e450e27669 Added defines to communicate with AeroBasic program on controller. 2013-11-12 22:53:22 +00:00
timmmooney 0eb9e5c5b8 Added LINEAR, DRIVEINFO, and data-acquisition commands; make dwell time programmable from client; use absolute position and time; added DOTRAJECTORY pseudo command, to perform trajectory entirely on controller; acknowledge by setting IGLOBAL(cmdVAR) to -(IGLOBAL(cmdVAR)), instead of zero, so client has a better idea of what happened. 2013-11-12 22:52:21 +00:00
kmpeters 18253335e2 Added Micronix to Makefile. 2013-11-08 16:47:36 +00:00
MarkRivers e2dc2ac947 Move busy before aysn, would not build on Cygwin in other order; add PI_GCS2Support 2013-11-05 20:50:57 +00:00
MarkRivers 7a6545120d Added .VELO, needed in some applications 2013-11-01 18:32:39 +00:00
kmpeters 96035c7e6e Modified MMC-200 driver to also support the MMC-100 2013-10-31 21:44:37 +00:00
kmpeters 9493eed8d4 Modified MMC200Driver.cpp to clear errors if present while polling. 2013-10-29 15:46:51 +00:00
kmpeters f1d6a3ced5 Fixed caByte display of MSTA field. 2013-10-22 21:20:35 +00:00
Ron Sluiter 38dde6adc1 Updated MAXv limit switch true commands (LL & LH are legacy commands). 2013-10-10 18:20:17 +00:00
kmpeters a1e1d298fc Added Micronix MMC-200 examples. 2013-10-08 21:00:45 +00:00
kmpeters dba34ec14c Added ignoreLimit argument to MMC200Controller() 2013-10-08 18:25:07 +00:00
MarkRivers e410d7ba5c Removed asyn.dbd and motorRecord.dbd; not needed and does not work on 3.15 2013-10-02 18:17:57 +00:00
timmmooney aa6434eebf Added scope commands 2013-09-23 17:15:52 +00:00