⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 halui.cc

📁 Source code for an Numeric Cmputer
💻 CC
📖 第 1 页 / 共 4 页
字号:
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 + -