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

📄 keystick.cc

📁 CNC 的开放码,EMC2 V2.2.8版
💻 CC
📖 第 1 页 / 共 5 页
字号:
      mvwaddstr(window, 2, 28, scratch_string);      sprintf(scratch_string, "%10ld %10d", emcStatus->io.heartbeat,              emcStatus->io.echo_serial_number);      mvwaddstr(window, 3, 28, scratch_string);      sprintf(scratch_string, "%10ld %10d", emcStatus->motion.heartbeat,              emcStatus->motion.echo_serial_number);      mvwaddstr(window, 4, 28, scratch_string);      sprintf(scratch_string, "%10d", usecs);      mvwaddstr(window, 6, 28, scratch_string);      sprintf(scratch_string, "%10d", FIRST_KEYUP_DELAY);      mvwaddstr(window, 7, 28, scratch_string);      sprintf(scratch_string, "%10d", NEXT_KEYUP_DELAY);      mvwaddstr(window, 8, 28, scratch_string);      sprintf(scratch_string, "%10d", emcStatus->task.execState);      mvwaddstr(window, 10, 28, scratch_string);      sprintf(scratch_string, "%10.3f", emcStatus->motion.traj.scale);      mvwaddstr(window, 12, 28, scratch_string);      sprintf(scratch_string, "%10.3f", emcStatus->motion.axis[0].scale);      mvwaddstr(window, 13, 28, scratch_string);      sprintf(scratch_string, "%10.3f", emcStatus->motion.axis[1].scale);      mvwaddstr(window, 14, 28, scratch_string);      sprintf(scratch_string, "%10.3f", emcStatus->motion.axis[2].scale);      mvwaddstr(window, 15, 28, scratch_string);      sprintf(scratch_string, "%10.3f%10.3f",              emcStatus->motion.traj.velocity, emcStatus->motion.traj.maxVelocity);      mvwaddstr(window, 17, 28, scratch_string);      sprintf(scratch_string, "%10.3f%10.3f",              emcStatus->motion.traj.acceleration, emcStatus->motion.traj.maxAcceleration);      mvwaddstr(window, 18, 28, scratch_string);      wattrset(window, 0);      if (error_string[0])        {          printError(error_string);        }      wattrset(window, A_REVERSE);      mvwaddstr(window, wmaxy - 1, wbegx, bottom_string);      wattrset(window, 0);      // restore cursor position      wmove(window, savey, savex);      wrefresh(window);    }  else if (window == toolwin)    {      wattrset(window, A_BOLD);      mvwaddstr(window, 0, 34, "Tool Table");      wattrset(window, 0);      mvwaddstr(window, 2, 1, "Pocket        ID    Length  Diameter");      wattrset(window, A_UNDERLINE);      line = 4;      for (t = 0; t < CANON_TOOL_MAX; t++)        {          if (emcStatus->io.tool.toolTable[t].id)            {              sprintf(scratch_string, "%4d%10d%10.4f%10.4f",                      t,                      emcStatus->io.tool.toolTable[t].id,                      emcStatus->io.tool.toolTable[t].zoffset,                      emcStatus->io.tool.toolTable[t].diameter);              mvwaddstr(window, line++, 3, scratch_string);            }        }      wattrset(window, 0);      if (error_string[0])        {          printError(error_string);        }      wattrset(window, A_REVERSE);      mvwaddstr(window, wmaxy - 1, wbegx, bottom_string);      wattrset(window, 0);      // restore cursor position      wmove(window, savey, savex);      wrefresh(window);    }  else if (window == progwin)    {      mvwaddstr(window, 0, 0, line_blank);      wattrset(window, A_BOLD);      if (emcStatus->task.file[0] == 0)        {          mvwaddstr(window, 0, 36, "(no program)");        }      else        {          mvwaddstr(window, 0, 36, emcStatus->task.file);        }      wattrset(window, 0);      if (emcStatus->task.currentLine > 0)        {          if (emcStatus->task.motionLine > 0 &&              emcStatus->task.motionLine < emcStatus->task.currentLine)            {              programActiveLine = emcStatus->task.motionLine;            }          else            {              programActiveLine = emcStatus->task.currentLine;            }          if (programFp)            {              if (programFpLine > programActiveLine)                {                  rewind(programFp);                  programFpLine = 0;                  programLineText[0] = 0;                }              // fast forward over past lines              while (programFpLine < programActiveLine)                {                  fgets(programLineText, LINELEN, programFp);                  programFpLine++;                }              // now we have the current line              wattrset(window, A_BOLD);              for (t = 0; t < 20; t++)                {                  // knock off CR, LF                  len = strlen(programLineText) - 1;                  while (len >= 0)                    {                      if (isspace(programLineText[len]))                        {                          programLineText[len] = 0;                          len--;                        }                      else                        {                          break;                        }                    }                  // print this line                  mvwaddstr(window, t+2, wbegx, line_blank);                  mvwaddstr(window, t+2, wbegx, programLineText);                  wattrset(window, 0);                  // get the next line                  if (fgets(programLineText, LINELEN, programFp))                    {                      programFpLine++;                    }                  else                    {                      // make it a blank line to clear any old stuff                      strcpy(programLineText, line_blank);                    }                }            }          else            {              programLineText[0] = 0;            }        }      else        {          programActiveLine = 0;          programLineText[0] = 0;          line_string[0] = 0;        }      wattrset(window, 0);      if (error_string[0])        {          printError(error_string);        }      wattrset(window, A_REVERSE);      mvwaddstr(window, wmaxy - 1, wbegx, bottom_string);      wattrset(window, 0);      // restore cursor position      wmove(window, savey, savex);      wrefresh(window);    }  else // if (window == stdscr)    {      // print the function key labels      printFkeys();      // print the status labels      wattrset(window, 0);      mvwaddstr(window, 6, 1, "Override:");      mvwaddstr(window, 7, 1, "Tool:");      mvwaddstr(window, 8, 1, "Offset:");      mvwaddstr(window, 7, 61, "Speed:");      mvwaddstr(window, 8, 61, "Incr:             ");      strcpy(scratch_string, "--X--");      if (emcStatus->motion.axis[0].minHardLimit)        scratch_string[0] = '*';      if (emcStatus->motion.axis[0].minSoftLimit)        scratch_string[1] = '*';      if (emcStatus->motion.axis[0].maxSoftLimit)        scratch_string[3] = '*';      if (emcStatus->motion.axis[0].maxHardLimit)        scratch_string[4] = '*';      mvwaddstr(window, 10, 27, scratch_string);      strcpy(scratch_string, "--Y--");      if (emcStatus->motion.axis[1].minHardLimit)        scratch_string[0] = '*';      if (emcStatus->motion.axis[1].minSoftLimit)        scratch_string[1] = '*';      if (emcStatus->motion.axis[1].maxSoftLimit)        scratch_string[3] = '*';      if (emcStatus->motion.axis[1].maxHardLimit)        scratch_string[4] = '*';      mvwaddstr(window, 10, 47, scratch_string);      strcpy(scratch_string, "--Z--");      if (emcStatus->motion.axis[2].minHardLimit)        scratch_string[0] = '*';      if (emcStatus->motion.axis[2].minSoftLimit)        scratch_string[1] = '*';      if (emcStatus->motion.axis[2].maxSoftLimit)        scratch_string[3] = '*';      if (emcStatus->motion.axis[2].maxHardLimit)        scratch_string[4] = '*';      mvwaddstr(window, 10, 67, scratch_string);      if (coords == COORD_ABSOLUTE)        {          if (posDisplay == POS_DISPLAY_CMD)            {              mvwaddstr(window, 11, 1, "Absolute Cmd Pos:");            }          else            {              mvwaddstr(window, 11, 1, "Absolute Act Pos:");            }          mvwaddstr(window, 12, 0, line_blank);        }      else        {          coords = COORD_RELATIVE;          if (posDisplay == POS_DISPLAY_CMD)            {              mvwaddstr(window, 11, 1, "Relative Cmd Pos:");            }          else            {              mvwaddstr(window, 11, 1, "Relative Act Pos:");            }        }      mvwaddstr(window, 14, 0, line_blank);      mvwaddstr(window, 15, 0, line_blank);      mvwaddstr(window, 16, 0, line_blank);      mvwaddstr(window, 17, 0, line_blank);      mvwaddstr(window, 18, 0, line_blank);      mvwaddstr(window, 19, 0, line_blank);      if (emcStatus->task.mode == EMC_TASK_MODE_AUTO)        {          mvwaddstr(window, 14, 1, "Program:");          mvwaddstr(window, 15, 1, "Line:");          mvwaddstr(window, 16, 1, "Command:");          mvwaddstr(window, 17, 1, "Interpreter:");          mvwaddstr(window, 18, 1, "Modal G Codes:");          mvwaddstr(window, 19, 1, "Modal M Codes:");        }      else if (emcStatus->task.mode == EMC_TASK_MODE_MDI)        {          mvwaddstr(window, 16, 1, "Command:");          mvwaddstr(window, 17, 1, "Interpreter:");          mvwaddstr(window, 18, 1, "Modal G Codes:");          mvwaddstr(window, 19, 1, "Modal M Codes:");        }      // end of labels      // fill the status strings in      switch(emcStatus->task.state)        {        case EMC_TASK_STATE_OFF:          sprintf(state_string, "       OFF        ");          break;        case EMC_TASK_STATE_ON:          sprintf(state_string, "       ON         ");          break;        case EMC_TASK_STATE_ESTOP:          sprintf(state_string, "      ESTOP       ");          break;        case EMC_TASK_STATE_ESTOP_RESET:          sprintf(state_string, "   ESTOP RESET    ");          break;        default:          sprintf(state_string, "        ?         ");          break;        }      switch(emcStatus->task.mode)        {        case EMC_TASK_MODE_MANUAL:          sprintf(mode_string, "      MANUAL      ");          break;        case EMC_TASK_MODE_AUTO:          sprintf(mode_string, "       AUTO       ");          break;        case EMC_TASK_MODE_MDI:          sprintf(mode_string, "       MDI        ");          break;        default:          sprintf(mode_string, "        ?         ");          break;        }      if (emcStatus->motion.spindle.increasing > 0)        sprintf(spindle_string, " SPINDLE INCREASE ");      else if (emcStatus->motion.spindle.increasing < 0)        sprintf(spindle_string, " SPINDLE DECREASE ");      else if (emcStatus->motion.spindle.direction > 0)        sprintf(spindle_string, " SPINDLE FORWARD  ");      else if (emcStatus->motion.spindle.direction < 0)        sprintf(spindle_string, " SPINDLE REVERSE  ");      else        sprintf(spindle_string, " SPINDLE STOPPED  ");      if (emcStatus->motion.spindle.brake)        sprintf(brake_string,   "    BRAKE ON      ");      else        sprintf(brake_string,   "    BRAKE OFF     ");      if (emcStatus->io.coolant.mist)        sprintf(mist_string,    "    MIST ON       ");      else        sprintf(mist_string,    "    MIST OFF      ");      if (emcStatus->io.coolant.flood)        sprintf(flood_string,   "    FLOOD ON      ");      else        sprintf(flood_string,   "    FLOOD OFF     ");      if (emcStatus->io.lube.on)        sprintf(lube_on_string,    "     LUBE ON      ");      else        sprintf(lube_on_string,    "     LUBE OFF     ");      if (! emcStatus->io.lube.level)        sprintf(lube_level_string,    "     LUBE OK      ");      else        sprintf(lube_level_string,    "     LUBE LOW     ");      sprintf(home_string, "    --- HOMED     ");      if (emcStatus->motion.axis[0].homed)        {          home_string[4] = 'X';        }      if (emcStatus->motion.axis[1].homed)        {          home_string[5] = 'Y';        }      if (emcStatus->motion.axis[2].homed)        {          home_string[6] = 'Z';        }      if (coords == COORD_ABSOLUTE)        {          if (posDisplay == POS_DISPLAY_ACT)            {              sprintf(pos_string, "%13.4f  %18.4f  %18.4f",                      emcStatus->motion.traj.actualPosition.tran.x,                      emcStatus->motion.traj.actualPosition.tran.y,                      emcStatus->motion.traj.actualPosition.tran.z);            }          else            {              sprintf(pos_string, "%13.4f  %18.4f  %18.4f",                      emcStatus->motion.traj.position.tran.x,                      emcStatus->motion.traj.position.tran.y,                      emcStatus->motion.traj.position.tran.z);            }        }      else        {          coords = COORD_RELATIVE;          if (posDisplay == POS_DISPLAY_ACT)            {              sprintf(pos_string, "%13.4f  %18.4f  %18.4f",                      emcStatus->motion.traj.actualPosition.tran.x -                      emcStatus->task.origin.tran.x,                      emcStatus->motion.traj.actualPosition.tran.y -                      emcStatus->task.origin.tran.y,                      emcStatus->motion.traj.actualPosition.tran.z -                      emcStatus->task.origin.tran.z -                      emcStatus->task.toolOffset.tran.z);            }          else            {              sprintf(pos_string, "%13.4f  %18.4f  %18.4f",                      emcStatus->motion.traj.position.tran.x -                      emcStatus->task.origin.tran.x,                      emcStatus->motion.traj.position.tran.y -                      emcStatus->task.origin.tran.y,                      emcStatus->motion.traj.position.tran.z -                      emcStatus->task.origin.tran.z -                      emcStatus->task.toolOffset.tran.z);            }        }      sprintf(origin_string, "%13.4f  %18.4f  %18.4f",              emcStatus->task.origin.tran.x,              emcStatus->task.origin.tran.y,              emcStatus->task.origin.tran.z);      sprintf(speed_string, "%10.1f", jogSpeed);      if (jogMode == JOG_INCREMENTAL)        {          sprintf(incr_string,  "%10.4f", jogIncrement);        }      else        {          sprintf(incr_string, "continuous");        }      if (! programOpened)        {          // print the last one opened, since we'll send this by default          strcpy(prog_string, programFile);        }      else        {          // print the one the controller knows about          strcpy(prog_string, emcStatus->task.file);        }      if (emcStatus->task.currentLine > 0)        {          if (emcStatus->task.motionLine > 0 &&

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -