Commit Graph

  • 16a18961b9 Added epicsShareClass to avoid errors on Windows MarkRivers 2014-05-08 18:21:12 +00:00
  • f75679c4dd Added epicsShareClass to avoid errors on Windows MarkRivers 2014-05-08 18:15:38 +00:00
  • 554f395dcd Added epicsShareClass to avoid errors on Windows MarkRivers 2014-05-08 18:12:35 +00:00
  • 52bb2abc77 Added epicsShareClass to avoid errors on Windows MarkRivers 2014-05-08 18:09:33 +00:00
  • 5c8f516a54 Add epicsShareClass, needed to avoid errors on Windows MarkRivers 2014-05-08 17:35:29 +00:00
  • a73fe0a869 Removed tabs; improved asynPrint debugging output MarkRivers 2014-05-06 18:31:56 +00:00
  • c21ab7b5b4 Added PulseMode and PulsePositions. Deleted OutBitNum. timmmooney 2014-05-02 18:47:34 +00:00
  • 8339f00152 To display PulsePositions waveform timmmooney 2014-05-02 18:44:10 +00:00
  • aa54acfa3d Added PulseMode mbbi and PulsePositions waveform timmmooney 2014-05-02 18:43:31 +00:00
  • 659a519bd9 Added PulseMode mbbi and PulsePositions waveform timmmooney 2014-05-02 18:43:13 +00:00
  • 9ff8d8ed58 read numGlobalIntegers from controller Manage PSOARRAY pulse writing so we don't have to write every time. pulseMode controls whether and how we program PSO pulses. Number of PSOARRAY pulses limited by MAX_PSO_PULSES, and the number of global integers specified in the Ensemble configuration. Comment about how to tell what kind of Ensemble controller we're talking to. timmmooney 2014-05-02 18:41:10 +00:00
  • 79a5016a7d Ensemble no longer uses outBitNum, and never did use inBitNum. Ensemble doesn't use motorCurrent*Raw, or motorMinSpeed, or motorMaxSpeed. Added pulseMode, pulsePositions, numPulsePositions. Defined MAX_PSO_PULSES per email from Aerotech. timmmooney 2014-05-02 18:36:46 +00:00
  • b5ac1b7d3d write max v/a to PVs. Acceleration to final position determined from desired speed (0),, not position. timmmooney 2014-05-01 19:48:13 +00:00
  • 532817dcac minor edit timmmooney 2014-05-01 19:40:03 +00:00
  • 2905342a3d minor edit timmmooney 2014-05-01 19:30:03 +00:00
  • fee22e07c5 addAccelDecel choice timmmooney 2014-05-01 19:29:36 +00:00
  • d0816ef7f0 Changes to support CONEX-CC servo controller; it has KD; supports limits, velocity, acceleration; fixed homing problems MarkRivers 2014-04-08 17:10:28 +00:00
  • c389eb7574 Changes to support CONEX-CC servo controller; it has KD MarkRivers 2014-04-08 17:08:33 +00:00
  • 3dcb7f32ab Changes to support AG-UC8 model that requires CC command to select a channel pair; add delay between writes for all commands on all ARCHs MarkRivers 2014-04-08 17:07:19 +00:00
  • c2a2c99bc8 Changes to support AG-UC8 model that requires CC command to select a channel pair MarkRivers 2014-04-08 17:06:24 +00:00
  • 1d4d8c8730 Added docs for MAXv and Ensemble trajectory support. Removed unused PVs. timmmooney 2014-04-04 22:08:10 +00:00
  • e7f6d61779 pvPut motorMVA[] and motorMAA[] timmmooney 2014-04-04 21:38:39 +00:00
  • 83a4e4a39e motorStart array now defined in header, and assigned to PVs. Set motorMVA and motorMAA to max velocity and acceleration. pvPut(motorStart[]) timmmooney 2014-04-04 21:35:39 +00:00
  • 3a9489d4a2 Assign motorStart array to PVs timmmooney 2014-04-04 21:33:42 +00:00
  • 7250c22e78 Put controller-specific PVs on a separate display timmmooney 2014-04-04 16:48:18 +00:00
  • a78a81818a Put controller-specific PVs on a separate display timmmooney 2014-04-04 16:48:00 +00:00
  • f34146c7b4 Put controller-specific PVs on a separate display timmmooney 2014-04-04 16:47:52 +00:00
  • 2beccaa4da Put controller-specific PVs on a separate display timmmooney 2014-04-04 16:38:33 +00:00
  • 03c13e0f5a motorx.adl without enable or scanparm stuff, intended for inclusion in other displays timmmooney 2014-04-04 16:22:14 +00:00
  • 56da34ebdc was for debugging timmmooney 2014-04-04 16:18:24 +00:00
  • 3183284d8b Don't set IGLOBAL(cmdVar) to 1000 if it was not recognized timmmooney 2014-04-02 18:24:26 +00:00
  • 9a957fe7ce Ben Franksen's fix "set the RA_DONE flag when motor_motion is reset to NULL before callback is issued". This fixes a long-standing issue with OMS boards where occasionally the motor record hangs after a move against a limit switch, since it reads a wrong status where the RA_DONE flags is not set. timmmooney 2014-04-02 17:52:06 +00:00
  • 566a35b75b encoder_runs_backwards is c-code only timmmooney 2014-04-01 21:43:09 +00:00
  • dba5e197b7 Added PulseDir, PulseLenUS, PulseSrc timmmooney 2014-04-01 16:51:37 +00:00
  • a6fd00959e Added PulseDir, PulseLenUS, PulseSrc timmmooney 2014-04-01 16:50:24 +00:00
  • 6db4dc6f56 Added PulseDir, PulseLenUS, PulseSrc timmmooney 2014-04-01 16:50:07 +00:00
  • 394608add1 Added PulseDir, PulseLenUS, PulseSrc timmmooney 2014-04-01 16:49:05 +00:00
  • fd1bc1b21c Added PulseDir, PulseLenUS, PulseSrc timmmooney 2014-04-01 16:47:29 +00:00
  • a507efb309 Fixes to build valid trajectory files on Windows and for new XPS-Q8 controller; improve error handling in buildProfile MarkRivers 2014-03-26 20:52:14 +00:00
  • 576a70b70f fix rounding for negative steps Jens Eden 2014-03-17 17:36:33 +00:00
  • 21251e1dcc add 0.5 secs pause before sending init string Jens Eden 2014-03-17 17:35:27 +00:00
  • 6bcf494cf4 flush response buffer more than once; set read/write timeout to fixed values, avoid busy waiting if epicsThreadSleepQuantum is small Jens Eden 2014-03-17 17:33:30 +00:00
  • 70f35f6a3a Fixes to work with epicsShareClass for Windows DLLs MarkRivers 2014-03-12 18:21:21 +00:00
  • 183efc5b97 Fixes to work with epicsShareClass for Windows DLLs MarkRivers 2014-03-12 18:19:56 +00:00
  • 76c23e54df Add epicsShareClass for Windows DLLs MarkRivers 2014-03-12 18:19:08 +00:00
  • a466beeb2c Add destructor MarkRivers 2014-03-12 18:03:26 +00:00
  • 34b66342c0 Add epicsShareClass for Windows DLLs; add destructor MarkRivers 2014-03-12 18:03:13 +00:00
  • d141d7814b Add destructor MarkRivers 2014-03-12 18:02:51 +00:00
  • ff6aa306ec Add epicsShareClass for Windows DLLs; add destructor MarkRivers 2014-03-12 18:02:30 +00:00
  • 00798cd433 Added epicsShareClass to export classes on Windows; minor changes to eliminate compiler warnings MarkRivers 2014-03-11 23:09:12 +00:00
  • 0fbbc04e33 Updated header info Ron Sluiter 2014-03-05 17:57:39 +00:00
  • 0b8a26f523 - After the initialization string is read, if the limit mode is "Off", set it to "Hard". - Added MAXvConfig() 4th argument to support absolute encoders with grey code data formats. - Improved MAXvSetup() and MAXvConfig() iocsh 'help" comments. Ron Sluiter 2014-02-25 18:22:36 +00:00
  • 1d9b5a25d7 Added asyn.dbd, needed for asyn R4-22 and later MarkRivers 2014-02-18 21:02:28 +00:00
  • 9e193303f5 Terminate PID commands. Ron Sluiter 2014-02-14 22:38:11 +00:00
  • a7af84ed57 Adopted Austen Rose's (Diamond) idea; printing the MAXv command on a "command error". Ron Sluiter 2014-02-07 21:56:24 +00:00
  • 6cc2ef2c57 Terminate INIT string. Ron Sluiter 2014-02-07 21:46:00 +00:00
  • 51d54168aa - Moved MAXv firmware version storage from local drvMAXv.cc structure to wider access structure; "MAXvController". - Added (MAXvCntrl->fwver > 1.29) test to LOAD_POS code in oms_build_trans() to prevent "Command errors" on LPE command from earlier firmware. Ron Sluiter 2014-02-06 21:16:54 +00:00
  • 8a4fe8fa0c abort was broken, left motor not knowing where it was. timmmooney 2014-02-04 22:49:55 +00:00
  • 6e30a0d49b Updated "Verified with firmware" doc's. Ron Sluiter 2014-02-03 17:20:29 +00:00
  • cf17099d16 Update Ensemble configuration for EPICS port driver communication. Ron Sluiter 2014-01-29 21:29:09 +00:00
  • a600bbba64 converted on 1/29/2014 timmmooney 2014-01-29 18:57:34 +00:00
  • 3129f5cbcc converted on 1/29/2014 timmmooney 2014-01-29 18:54:11 +00:00
  • c82d32c099 For two motors timmmooney 2014-01-29 18:25:04 +00:00
  • 1c03d052da For one motor timmmooney 2014-01-29 18:24:50 +00:00
  • 813385af8b Show motor-start positions, PV to control accel/decel handling, deleted XPS file name timmmooney 2014-01-29 18:24:22 +00:00
  • 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 timmmooney 2014-01-29 18:20:58 +00:00
  • 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. timmmooney 2014-01-29 18:12:04 +00:00
  • 90f3f1ea0d Added PV by which user can choose whether or not software should add accel/decel trajectory segments. timmmooney 2014-01-29 18:09:23 +00:00
  • 5521940fbc Added motor-start position PVs, and a PV by which user can choose whether or not software should add accel/decel trajectory segments. timmmooney 2014-01-29 18:08:57 +00:00
  • 519fdd266b changed max axes to 10, changed debug output, always check limits, (MAXnet) fixed reading of long strings Jens Eden 2014-01-20 12:58:11 +00:00
  • f407631e15 fixed firmware version check, introduced processing delay Jens Eden 2014-01-17 14:36:17 +00:00
  • 0d999027c2 Protect against NULL *parms pointer motor record. Ron Sluiter 2013-12-20 16:41:07 +00:00
  • 57c3afb8be Protect against dereferencing null pointer, was crashing on Linux MarkRivers 2013-12-20 05:10:10 +00:00
  • f16799219c Bug fix: it was passing a const char* pointer to epicsStrtok_r, which is incorrect and crashes on some systems MarkRivers 2013-12-20 05:06:47 +00:00
  • 4fbb739871 Removed kludge soft trigger timmmooney 2013-12-18 22:53:53 +00:00
  • 397d3da10a Kludge soft trigger timmmooney 2013-12-18 22:30:17 +00:00
  • 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 MarkRivers 2013-12-10 17:30:08 +00:00
  • f8c804c45d Made shutdown be void MarkRivers 2013-12-10 17:28:50 +00:00
  • a5948c10d1 some typos timmmooney 2013-12-02 19:50:04 +00:00
  • 33c4ea599c some typos timmmooney 2013-12-02 19:47:53 +00:00
  • d3255670fb Improve comparison between programmed trajectory and recorded trajectory: TRy several index-offset values, fit chisquare to parabola, use minumum. timmmooney 2013-12-02 19:32:41 +00:00
  • 21756a0b28 make PSO pulse spacing positive definite timmmooney 2013-11-27 17:12:15 +00:00
  • f97c65de4b Gather parameter numbers. Use ReverseMotionDirection in conversion from raw encoder to user units. timmmooney 2013-11-26 16:46:31 +00:00
  • bdefb9329a must use pVar in escaped code timmmooney 2013-11-25 20:40:05 +00:00
  • 3ff2e11b00 position-offset read was in wrong place in code timmmooney 2013-11-25 20:38:13 +00:00
  • 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. timmmooney 2013-11-25 19:26:37 +00:00
  • 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 timmmooney 2013-11-20 19:40:06 +00:00
  • 36b73d317e read position, velocity error at user specified rate timmmooney 2013-11-18 16:17:23 +00:00
  • 385f4abfe0 read position and velocity errors at user specified rate timmmooney 2013-11-18 16:09:52 +00:00
  • 104a140694 note that controller must use the same units as the motor record timmmooney 2013-11-18 16:08:06 +00:00
  • 24ae9139a9 cleanup, no change in function timmmooney 2013-11-18 16:07:32 +00:00
  • 8a99070ad6 Added bus flushing read on exit from ISR to fix "out of order transactions"; symptom "Spurious interrupts". Ron Sluiter 2013-11-15 19:44:42 +00:00
  • 2097ad3ef7 for one motor timmmooney 2013-11-15 17:10:25 +00:00
  • f609d4bff8 added some docs on Ensemble trajectory timmmooney 2013-11-14 18:36:46 +00:00
  • 9b342b09bf check num global doubles; restrict nelements accordingly timmmooney 2013-11-14 18:36:01 +00:00
  • 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. kmpeters 2013-11-13 21:43:36 +00:00
  • d6c90868c7 Register listMovingMotors function so non-vxWorks iocs can use it. kmpeters 2013-11-13 19:36:23 +00:00
  • 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. timmmooney 2013-11-12 23:07:56 +00:00
  • e450e27669 Added defines to communicate with AeroBasic program on controller. timmmooney 2013-11-12 22:53:22 +00:00
  • 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. timmmooney 2013-11-12 22:52:21 +00:00