halui.cc
来自「CNC 的开放码,EMC2 V2.2.8版」· CC 代码 · 共 1,793 行 · 第 1/5 页
CC
1,793 行
EMC_LUBE_OFF emc_lube_off_msg; emc_lube_off_msg.serial_number = ++emcCommandSerialNumber; emcCommandBuffer->write(emc_lube_off_msg); return emcCommandWaitReceived(emcCommandSerialNumber);}// 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; 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); return emcCommandWaitReceived(emcCommandSerialNumber);}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); return emcCommandWaitReceived(emcCommandSerialNumber);}static int sendSetOptionalStop(bool state){ EMC_TASK_PLAN_SET_OPTIONAL_STOP emc_task_plan_set_optional_stop_msg; emc_task_plan_set_optional_stop_msg.state = state; emc_task_plan_set_optional_stop_msg.serial_number = ++emcCommandSerialNumber; emcCommandBuffer->write(emc_task_plan_set_optional_stop_msg); return emcCommandWaitReceived(emcCommandSerialNumber);}static int sendSetBlockDelete(bool state){ EMC_TASK_PLAN_SET_BLOCK_DELETE emc_task_plan_set_block_delete_msg; emc_task_plan_set_block_delete_msg.state = state; emc_task_plan_set_block_delete_msg.serial_number = ++emcCommandSerialNumber; emcCommandBuffer->write(emc_task_plan_set_block_delete_msg); return emcCommandWaitReceived(emcCommandSerialNumber);}static int sendProgramResume(){ EMC_TASK_PLAN_RESUME emc_task_plan_resume_msg; emc_task_plan_resume_msg.serial_number = ++emcCommandSerialNumber; emcCommandBuffer->write(emc_task_plan_resume_msg); return emcCommandWaitReceived(emcCommandSerialNumber);}static int sendProgramStep(){ EMC_TASK_PLAN_STEP emc_task_plan_step_msg; emc_task_plan_step_msg.serial_number = ++emcCommandSerialNumber; emcCommandBuffer->write(emc_task_plan_step_msg); return emcCommandWaitReceived(emcCommandSerialNumber);}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); return emcCommandWaitReceived(emcCommandSerialNumber);}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); return emcCommandWaitReceived(emcCommandSerialNumber);}static int sendSpindleOff(){ EMC_SPINDLE_OFF emc_spindle_off_msg; emc_spindle_off_msg.serial_number = ++emcCommandSerialNumber; emcCommandBuffer->write(emc_spindle_off_msg); return emcCommandWaitReceived(emcCommandSerialNumber);}static int sendSpindleIncrease(){ EMC_SPINDLE_INCREASE emc_spindle_increase_msg; emc_spindle_increase_msg.serial_number = ++emcCommandSerialNumber; emcCommandBuffer->write(emc_spindle_increase_msg); return emcCommandWaitReceived(emcCommandSerialNumber);}static int sendSpindleDecrease(){ EMC_SPINDLE_DECREASE emc_spindle_decrease_msg; emc_spindle_decrease_msg.serial_number = ++emcCommandSerialNumber; emcCommandBuffer->write(emc_spindle_decrease_msg); return emcCommandWaitReceived(emcCommandSerialNumber);}static int sendSpindleConstant(){ EMC_SPINDLE_CONSTANT emc_spindle_constant_msg; emc_spindle_constant_msg.serial_number = ++emcCommandSerialNumber; emcCommandBuffer->write(emc_spindle_constant_msg); return emcCommandWaitReceived(emcCommandSerialNumber);}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); return emcCommandWaitReceived(emcCommandSerialNumber);}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); return emcCommandWaitReceived(emcCommandSerialNumber);}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); return emcCommandWaitReceived(emcCommandSerialNumber);}static int sendAbort(){ EMC_TASK_ABORT task_abort_msg; task_abort_msg.serial_number = ++emcCommandSerialNumber; emcCommandBuffer->write(task_abort_msg); return emcCommandWaitReceived(emcCommandSerialNumber);}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; 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); 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; 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); } return emcCommandWaitReceived(emcCommandSerialNumber);}static int sendFeedOverride(double override){ EMC_TRAJ_SET_SCALE emc_traj_set_scale_msg; if (override < 0.0) { override = 0.0; } if (override > maxFeedOverride) { override = maxFeedOverride; } emc_traj_set_scale_msg.serial_number = ++emcCommandSerialNumber; emc_traj_set_scale_msg.scale = override; emcCommandBuffer->write(emc_traj_set_scale_msg); return emcCommandWaitReceived(emcCommandSerialNumber);}static int sendSpindleOverride(double override){ EMC_TRAJ_SET_SPINDLE_SCALE emc_traj_set_spindle_scale_msg; if (override < minSpindleOverride) { override = minSpindleOverride; } if (override > maxSpindleOverride) { override = maxSpindleOverride; } emc_traj_set_spindle_scale_msg.serial_number = ++emcCommandSerialNumber; emc_traj_set_spindle_scale_msg.scale = override; emcCommandBuffer->write(emc_traj_set_spindle_scale_msg); return emcCommandWaitReceived(emcCommandSerialNumber);}static int iniLoad(const char *filename){ IniFile inifile; const char *inistring; double d; int i; // open it if (inifile.Open(filename) == false) { return -1; } if (NULL != (inistring = inifile.Find("DEBUG", "EMC"))) { // copy to global if (1 != sscanf(inistring, "%i", &EMC_DEBUG)) { EMC_DEBUG = 0; } } else { // not found, use default EMC_DEBUG = 0; } if (NULL != (inistring = inifile.Find("NML_FILE", "EMC"))) { // copy to global strcpy(EMC_NMLFILE, inistring); } else { // not found, use default } if (NULL != (inistring = inifile.Find("MAX_FEED_OVERRIDE", "DISPLAY"))) { if (1 == sscanf(inistring, "%lf", &d) && d > 0.0) { maxFeedOverride = d; } else { // error-- no value provided, use 100% as max maxFeedOverride = 1.0; } } else { // no line at all maxFeedOverride = 1.0; } if (NULL != (inistring = inifile.Find("MIN_SPINDLE_OVERRIDE", "DISPLAY"))) { if (1 == sscanf(inistring, "%lf", &d) && d > 0.0) { minSpindleOverride = d; } else { // error-- no value provided, use 100% as max minSpindleOverride = 1.0; } } else { // no line at all minSpindleOverride = 1.0; } if (NULL != (inistring = inifile.Find("MAX_SPINDLE_OVERRIDE", "DISPLAY"))) { if (1 == sscanf(inistring, "%lf", &d) && d > 0.0) {
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?