📄 halui.cc
字号:
static int sendLubeOn(){ EMC_LUBE_ON emc_lube_on_msg; emc_lube_on_msg.serial_number = ++emcCommandSerialNumber; emcCommandBuffer->write(emc_lube_on_msg); if (emcWaitType == EMC_WAIT_RECEIVED) { return emcCommandWaitReceived(emcCommandSerialNumber); } else if (emcWaitType == EMC_WAIT_DONE) { return emcCommandWaitDone(emcCommandSerialNumber); } return 0;}static int sendLubeOff(){ EMC_LUBE_OFF emc_lube_off_msg; emc_lube_off_msg.serial_number = ++emcCommandSerialNumber; emcCommandBuffer->write(emc_lube_off_msg); if (emcWaitType == EMC_WAIT_RECEIVED) { return emcCommandWaitReceived(emcCommandSerialNumber); } else if (emcWaitType == EMC_WAIT_DONE) { return emcCommandWaitDone(emcCommandSerialNumber); } return 0;}//currently commented out to reduce warnings/*//sendFoo messages//used for sending NML messagesstatic int sendDebug(int level){ EMC_SET_DEBUG debug_msg; debug_msg.debug = level; debug_msg.serial_number = ++emcCommandSerialNumber; emcCommandBuffer->write(debug_msg); if (emcWaitType == EMC_WAIT_RECEIVED) { return emcCommandWaitReceived(emcCommandSerialNumber); } else if (emcWaitType == EMC_WAIT_DONE) { return emcCommandWaitDone(emcCommandSerialNumber); } return 0;}static int sendOverrideLimits(int axis){ EMC_AXIS_OVERRIDE_LIMITS lim_msg; lim_msg.axis = axis; // neg means off, else on for all lim_msg.serial_number = ++emcCommandSerialNumber; emcCommandBuffer->write(lim_msg); if (emcWaitType == EMC_WAIT_RECEIVED) { return emcCommandWaitReceived(emcCommandSerialNumber); } else if (emcWaitType == EMC_WAIT_DONE) { return emcCommandWaitDone(emcCommandSerialNumber); } return 0;}static int axisJogging = -1;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 (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); if (emcWaitType == EMC_WAIT_RECEIVED) { return emcCommandWaitReceived(emcCommandSerialNumber); } else if (emcWaitType == EMC_WAIT_DONE) { return emcCommandWaitDone(emcCommandSerialNumber); } axisJogging = -1; } else { emc_set_teleop_vector.serial_number = ++emcCommandSerialNumber; emc_set_teleop_vector.vector.tran.x = 0; emc_set_teleop_vector.vector.tran.y = 0; emc_set_teleop_vector.vector.tran.z = 0; emc_set_teleop_vector.vector.a = 0; emc_set_teleop_vector.vector.b = 0; emc_set_teleop_vector.vector.c = 0; emcCommandBuffer->write(emc_set_teleop_vector); if (emcWaitType == EMC_WAIT_RECEIVED) { return emcCommandWaitReceived(emcCommandSerialNumber); } else if (emcWaitType == EMC_WAIT_DONE) { return emcCommandWaitDone(emcCommandSerialNumber); } // \todo FIXME - should remember a list of jogging axes, and remove the last one axisJogging = -1; } return 0;}static int sendJogCont(int axis, double speed){ EMC_AXIS_JOG emc_axis_jog_msg; EMC_TRAJ_SET_TELEOP_VECTOR emc_set_teleop_vector; if (axis < 0 || axis >= EMC_AXIS_MAX) { return -1; } if (emcStatus->motion.traj.mode != EMC_TRAJ_MODE_TELEOP) { if (0 == jogPol[axis]) { speed = -speed; } 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; emc_set_teleop_vector.vector.tran.x = 0.0; emc_set_teleop_vector.vector.tran.y = 0.0; emc_set_teleop_vector.vector.tran.z = 0.0; 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); } axisJogging = axis; if (emcWaitType == EMC_WAIT_RECEIVED) { return emcCommandWaitReceived(emcCommandSerialNumber); } else if (emcWaitType == EMC_WAIT_DONE) { return emcCommandWaitDone(emcCommandSerialNumber); } return 0;}static int sendJogIncr(int axis, double speed, double incr){ EMC_AXIS_INCR_JOG emc_axis_incr_jog_msg; if (axis < 0 || axis >= EMC_AXIS_MAX) { return -1; } if (0 == jogPol[axis]) { speed = -speed; } emc_axis_incr_jog_msg.serial_number = ++emcCommandSerialNumber; emc_axis_incr_jog_msg.axis = axis; emc_axis_incr_jog_msg.vel = speed / 60.0; emc_axis_incr_jog_msg.incr = incr; emcCommandBuffer->write(emc_axis_incr_jog_msg); if (emcWaitType == EMC_WAIT_RECEIVED) { return emcCommandWaitReceived(emcCommandSerialNumber); } else if (emcWaitType == EMC_WAIT_DONE) { return emcCommandWaitDone(emcCommandSerialNumber); } axisJogging = -1; return 0;}static int sendSpindleForward(){ EMC_SPINDLE_ON emc_spindle_on_msg; if (emcStatus->task.activeSettings[2] != 0) { emc_spindle_on_msg.speed = fabs(emcStatus->task.activeSettings[2]); } else { emc_spindle_on_msg.speed = +500; } emc_spindle_on_msg.serial_number = ++emcCommandSerialNumber; emcCommandBuffer->write(emc_spindle_on_msg); if (emcWaitType == EMC_WAIT_RECEIVED) { return emcCommandWaitReceived(emcCommandSerialNumber); } else if (emcWaitType == EMC_WAIT_DONE) { return emcCommandWaitDone(emcCommandSerialNumber); } return 0;}static int sendSpindleReverse(){ EMC_SPINDLE_ON emc_spindle_on_msg; if (emcStatus->task.activeSettings[2] != 0) { emc_spindle_on_msg.speed = -1 * fabs(emcStatus->task.activeSettings[2]); } else { emc_spindle_on_msg.speed = -500; } emc_spindle_on_msg.serial_number = ++emcCommandSerialNumber; emcCommandBuffer->write(emc_spindle_on_msg); if (emcWaitType == EMC_WAIT_RECEIVED) { return emcCommandWaitReceived(emcCommandSerialNumber); } else if (emcWaitType == EMC_WAIT_DONE) { return emcCommandWaitDone(emcCommandSerialNumber); } return 0;}static int sendSpindleOff(){ EMC_SPINDLE_OFF emc_spindle_off_msg; emc_spindle_off_msg.serial_number = ++emcCommandSerialNumber; emcCommandBuffer->write(emc_spindle_off_msg); if (emcWaitType == EMC_WAIT_RECEIVED) { return emcCommandWaitReceived(emcCommandSerialNumber); } else if (emcWaitType == EMC_WAIT_DONE) { return emcCommandWaitDone(emcCommandSerialNumber); } return 0;}static int sendSpindleIncrease(){ EMC_SPINDLE_INCREASE emc_spindle_increase_msg; emc_spindle_increase_msg.serial_number = ++emcCommandSerialNumber; emcCommandBuffer->write(emc_spindle_increase_msg); if (emcWaitType == EMC_WAIT_RECEIVED) { return emcCommandWaitReceived(emcCommandSerialNumber); } else if (emcWaitType == EMC_WAIT_DONE) { return emcCommandWaitDone(emcCommandSerialNumber); } return 0;}static int sendSpindleDecrease(){ EMC_SPINDLE_DECREASE emc_spindle_decrease_msg; emc_spindle_decrease_msg.serial_number = ++emcCommandSerialNumber; emcCommandBuffer->write(emc_spindle_decrease_msg); if (emcWaitType == EMC_WAIT_RECEIVED) { return emcCommandWaitReceived(emcCommandSerialNumber); } else if (emcWaitType == EMC_WAIT_DONE) { return emcCommandWaitDone(emcCommandSerialNumber); } return 0;}static int sendSpindleConstant(){ EMC_SPINDLE_CONSTANT emc_spindle_constant_msg; emc_spindle_constant_msg.serial_number = ++emcCommandSerialNumber; emcCommandBuffer->write(emc_spindle_constant_msg); if (emcWaitType == EMC_WAIT_RECEIVED) { return emcCommandWaitReceived(emcCommandSerialNumber); } else if (emcWaitType == EMC_WAIT_DONE) { return emcCommandWaitDone(emcCommandSerialNumber); } return 0;}static int sendBrakeEngage(){ EMC_SPINDLE_BRAKE_ENGAGE emc_spindle_brake_engage_msg; emc_spindle_brake_engage_msg.serial_number = ++emcCommandSerialNumber; emcCommandBuffer->write(emc_spindle_brake_engage_msg); if (emcWaitType == EMC_WAIT_RECEIVED) { return emcCommandWaitReceived(emcCommandSerialNumber); } else if (emcWaitType == EMC_WAIT_DONE) { return emcCommandWaitDone(emcCommandSerialNumber); } return 0;}static int sendBrakeRelease(){ EMC_SPINDLE_BRAKE_RELEASE emc_spindle_brake_release_msg; emc_spindle_brake_release_msg.serial_number = ++emcCommandSerialNumber; emcCommandBuffer->write(emc_spindle_brake_release_msg); if (emcWaitType == EMC_WAIT_RECEIVED) { return emcCommandWaitReceived(emcCommandSerialNumber); } else if (emcWaitType == EMC_WAIT_DONE) { return emcCommandWaitDone(emcCommandSerialNumber); } return 0;}static int sendAbort(){ EMC_TASK_ABORT task_abort_msg; task_abort_msg.serial_number = ++emcCommandSerialNumber; emcCommandBuffer->write(task_abort_msg); if (emcWaitType == EMC_WAIT_RECEIVED) { return emcCommandWaitReceived(emcCommandSerialNumber); } else if (emcWaitType == EMC_WAIT_DONE) { return emcCommandWaitDone(emcCommandSerialNumber); } return 0;}static int sendHome(int axis){ EMC_AXIS_HOME emc_axis_home_msg; emc_axis_home_msg.serial_number = ++emcCommandSerialNumber; emc_axis_home_msg.axis = axis; emcCommandBuffer->write(emc_axis_home_msg); if (emcWaitType == EMC_WAIT_RECEIVED) { return emcCommandWaitReceived(emcCommandSerialNumber); } else if (emcWaitType == EMC_WAIT_DONE) { return emcCommandWaitDone(emcCommandSerialNumber); } return 0;}static int sendFeedOverride(double override){ EMC_TRAJ_SET_SCALE emc_traj_set_scale_msg; if (override < 0.0) { override = 0.0; } emc_traj_set_scale_msg.serial_number = ++emcCommandSerialNumber; emc_traj_set_scale_msg.scale = override; emcCommandBuffer->write(emc_traj_set_scale_msg); if (emcWaitType == EMC_WAIT_RECEIVED) { return emcCommandWaitReceived(emcCommandSerialNumber); } else if (emcWaitType == EMC_WAIT_DONE) { return emcCommandWaitDone(emcCommandSerialNumber); } return 0;}static int sendTaskPlanInit(){ EMC_TASK_PLAN_INIT task_plan_init_msg; task_plan_init_msg.serial_number = ++emcCommandSerialNumber; emcCommandBuffer->write(task_plan_init_msg); if (emcWaitType == EMC_WAIT_RECEIVED) { return emcCommandWaitReceived(emcCommandSerialNumber); } else if (emcWaitType == EMC_WAIT_DONE) { return emcCommandWaitDone(emcCommandSerialNumber); } return 0;}// programStartLine is the saved valued of the line that// sendProgramRun(int line) sentstatic int programStartLine = 0;static int sendProgramRun(int line){ EMC_TASK_PLAN_RUN emc_task_plan_run_msg; if (emcUpdateType == EMC_UPDATE_AUTO) { updateStatus(); } if (0 == emcStatus->task.file[0]) { return -1; // no program open } // save the start line, to compare against active line later programStartLine = line; emc_task_plan_run_msg.serial_number = ++emcCommandSerialNumber; emc_task_plan_run_msg.line = line; emcCommandBuffer->write(emc_task_plan_run_msg); if (emcWaitType == EMC_WAIT_RECEIVED) { return emcCommandWaitReceived(emcCommandSerialNumber); } else if (emcWaitType == EMC_WAIT_DONE) { return emcCommandWaitDone(emcCommandSerialNumber); } return 0;}static int sendProgramPause(){ EMC_TASK_PLAN_PAUSE emc_task_plan_pause_msg; emc_task_plan_pause_msg.serial_number = ++emcCommandSerialNumber; emcCommandBuffer->write(emc_task_plan_pause_msg); if (emcWaitType == EMC_WAIT_RECEIVED) { return emcCommandWaitReceived(emcCommandSerialNumber);
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -