what about this part?

> static int sendJogStop(int axis)
> {
>     EMC_AXIS_ABORT emc_axis_abort_msg;
>     
>     // in case of TELEOP mode we really need to send an TELEOP_VECTOR message
>     // not a simple AXIS_ABORT, as more than one axis would be moving
>     // (hint TELEOP mode is for nontrivial kinematics)
>     EMC_TRAJ_SET_TELEOP_VECTOR emc_set_teleop_vector;
> 
>     if ((emcStatus->task.state != EMC_TASK_STATE_ON) || (emcStatus->task.mode 
> != EMC_TASK_MODE_MANUAL))
>       return -1;
> 
>     if (axis < 0 || axis >= EMC_AXIS_MAX) {
>       return -1;
>     }
> 
>     if (emcStatus->motion.traj.mode != EMC_TRAJ_MODE_TELEOP) {
>       emc_axis_abort_msg.serial_number = ++emcCommandSerialNumber;
>       emc_axis_abort_msg.axis = axis;
>       emcCommandBuffer->write(emc_axis_abort_msg);
> 
>         return emcCommandWaitReceived(emcCommandSerialNumber);
>     } else {
>       emc_set_teleop_vector.serial_number = ++emcCommandSerialNumber;
>         ZERO_EMC_POSE(emc_set_teleop_vector.vector);
>       emcCommandBuffer->write(emc_set_teleop_vector);
> 
>         return emcCommandWaitReceived(emcCommandSerialNumber);
>     }
> }
> 
> static int sendJogCont(int axis, double speed)
> {
>     EMC_AXIS_JOG emc_axis_jog_msg;
>     EMC_TRAJ_SET_TELEOP_VECTOR emc_set_teleop_vector;
> 
>     if ((emcStatus->task.state != EMC_TASK_STATE_ON) || (emcStatus->task.mode 
> != EMC_TASK_MODE_MANUAL))
>       return -1;
> 
>     if (axis < 0 || axis >= EMC_AXIS_MAX) {
>       return -1;
>     }
> 
>     if (emcStatus->motion.traj.mode != EMC_TRAJ_MODE_TELEOP) {
>       emc_axis_jog_msg.serial_number = ++emcCommandSerialNumber;
>       emc_axis_jog_msg.axis = axis;
>       emc_axis_jog_msg.vel = speed / 60.0;
>       emcCommandBuffer->write(emc_axis_jog_msg);
>     } else {
>       emc_set_teleop_vector.serial_number = ++emcCommandSerialNumber;
>         ZERO_EMC_POSE(emc_set_teleop_vector.vector);
> 
>       switch (axis) {
>       case 0:
>           emc_set_teleop_vector.vector.tran.x = speed / 60.0;
>           break;
>       case 1:
>           emc_set_teleop_vector.vector.tran.y = speed / 60.0;
>           break;
>       case 2:
>           emc_set_teleop_vector.vector.tran.z = speed / 60.0;
>           break;
>       case 3:
>           emc_set_teleop_vector.vector.a = speed / 60.0;
>           break;
>       case 4:
>           emc_set_teleop_vector.vector.b = speed / 60.0;
>           break;
>       case 5:
>           emc_set_teleop_vector.vector.c = speed / 60.0;
>           break;
>       }
>       emcCommandBuffer->write(emc_set_teleop_vector);
>     }
> 
>     return emcCommandWaitReceived(emcCommandSerialNumber);
> }

Can't understand perfectly what it says at the beginning, can you try to see if 
there's a problem here?
some suggestion?


------------------------------------------------------------------------------
All the data continuously generated in your IT infrastructure 
contains a definitive record of customers, application performance, 
security threats, fraudulent activity, and more. Splunk takes this 
data and makes sense of it. IT sense. And common sense.
http://p.sf.net/sfu/splunk-novd2d
_______________________________________________
Emc-developers mailing list
Emc-developers@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/emc-developers

Reply via email to