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