I posted this in the emc-users group because I thought it was a configuration problem, but it appears to be a software issue.
This only happens on a gantry system. When axis starts, emc is in EMC_TRAJ_MODE_FREE, meaning all axis can be jogged freely. axis uses the EMC_AXIS_JOG command which checks that the requested velocity does not exceed the MAX_VELOCITY value in [AXIS_n] With a gantry, emc starts in EMC_TRAJ_MODE_FREE, but after it has been homed, it moves into EMC_TRAJ_MODE_TELEOP. axis will now jog using the SetTeleopVector command by specifying the velocity as the current jog velocity, or, if shift is being pressed, [TRAJ]MAX_VELOCITY. This is the first issue - axis does not look at the [AXIS_n] max velocities when jogging in teleop mode. However, I feel the real problem is that there is no MAX_VELOCITY checking when executing the emcTrajSetTeleopVector() function. So this patch addresses this by restricting the velocity in a teleop vector command to the values of [AXIS_n]MAX_VELOCITY. I don't know how else TELEOP mode is used, or if this can cause other issues. Or if the axis number mappings may cause other issues. The new methods, setPoseByAxis and getPoseByAxis could also be move to a more general place. (C++ member would be better) Frank
0003-Limit-the-velocities-in-the-SetTeleopVector-command-.patch
Description: Binary data
------------------------------------------------------------------------------ Get your Android app more play: Bring it to the BlackBerry PlayBook in minutes. BlackBerry App World™ now supports Android™ Apps for the BlackBerry® PlayBook™. Discover just how easy and simple it is! http://p.sf.net/sfu/android-dev2dev
_______________________________________________ Emc-developers mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/emc-developers
