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
[email protected]
https://lists.sourceforge.net/lists/listinfo/emc-developers