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

📄 setup.bak

📁 This is a CNCPro source file. It is include the G-Code interpreter source.
💻 BAK
📖 第 1 页 / 共 5 页
字号:
            if(curnt==6) sprintf((*software).io2_label,"%s",string);
            if(curnt==7) sprintf((*software).io3_label,"%s",string);
            if(curnt==8) sprintf((*software).io4_label,"%s",string);
            break;
         case 9: if((*software).invert_arrows==ON) (*software).invert_arrows=OFF;
                 else (*software).invert_arrows=ON; break;
         case 10:
         case 11:
         case 12:
         case 13:
         case 14:
         case 15:
         case 16:
         case 17:
         case 18:
         case 19:
            double_box(30,5,50,10, RED,WHITE,BLUE);
            gotoxy(4,3); cprintf("Enter New Value");
            _setcursortype(_NORMALCURSOR);
            gotoxy(8,4);
            if((i=get_value(&value))==ESC || i==NULL)
              {_setcursortype(_NOCURSOR);
               break;
              }
            _setcursortype(_NOCURSOR);
            if((*software).time==SEC)
              {if(curnt==10) (*software).fjog_x=value;
               if(curnt==11) (*software).fjog_y=value;
               if(curnt==12) (*software).fjog_z=value;
               if(curnt==14) (*software).sjog_x=value;
               if(curnt==15) (*software).sjog_y=value;
               if(curnt==16) (*software).sjog_z=value;
               if(curnt==18) (*software).speed_inc=value;}
            else
              {if(curnt==10) (*software).fjog_x=value/60;
               if(curnt==11) (*software).fjog_y=value/60;
               if(curnt==12) (*software).fjog_z=value/60;
               if(curnt==14) (*software).sjog_x=value/60;
               if(curnt==15) (*software).sjog_y=value/60;
               if(curnt==16) (*software).sjog_z=value/60;
               if(curnt==18) (*software).speed_inc=value/60;}
            if((*software).a_time==SEC)
              {if(curnt==13) (*software).fjog_a=value;
               if(curnt==17) (*software).sjog_a=value;
               if(curnt==19) (*software).a_speed_inc=value;}
            else 
              {if(curnt==13) (*software).fjog_a=value/60;
               if(curnt==17) (*software).sjog_a=value/60;
               if(curnt==19) (*software).a_speed_inc=value/60;}
         case 20:
            if(curnt==20)
              {if((*software).update_after==ON) {(*software).update_after=OFF; (*software).dt=(*software).dt*2;}
               else {(*software).update_after=ON; (*software).dt=(*software).dt/2;}
              }
            //reset maximum velocities
            if((*hardware).x_per_step/2<(*software).dt*(*hardware).vel_x) {(*hardware).vel_x=(*hardware).x_per_step/(2*(*software).dt); warning=TRUE;}
            if((*hardware).y_per_step/2<(*software).dt*(*hardware).vel_y) {(*hardware).vel_y=(*hardware).y_per_step/(2*(*software).dt); warning=TRUE;}
            if((*hardware).z_per_step/2<(*software).dt*(*hardware).vel_z) {(*hardware).vel_z=(*hardware).z_per_step/(2*(*software).dt); warning=TRUE;}
            if((*hardware).a_per_step/2<(*software).dt*(*hardware).vel_a) {(*hardware).vel_a=(*hardware).a_per_step/(2*(*software).dt); warning=TRUE;}

            //check and reset other speed settings
            if((*hardware).h_spd_x>(*hardware).vel_x) {(*hardware).h_spd_x=(*hardware).vel_x; warning=TRUE;}
            if((*hardware).h_spd_y>(*hardware).vel_y) {(*hardware).h_spd_y=(*hardware).vel_y; warning=TRUE;}
            if((*hardware).h_spd_z>(*hardware).vel_z) {(*hardware).h_spd_z=(*hardware).vel_z; warning=TRUE;}
            if((*hardware).h_spd_a>(*hardware).vel_a) {(*hardware).h_spd_a=(*hardware).vel_a; warning=TRUE;}
            if((*software).fjog_x>(*hardware).vel_x) {(*software).fjog_x=(*hardware).vel_x; warning=TRUE;}
            if((*software).fjog_y>(*hardware).vel_y) {(*software).fjog_y=(*hardware).vel_y; warning=TRUE;}
            if((*software).fjog_z>(*hardware).vel_z) {(*software).fjog_z=(*hardware).vel_z; warning=TRUE;}
            if((*software).fjog_a>(*hardware).vel_a) {(*software).fjog_a=(*hardware).vel_a; warning=TRUE;}
            if((*software).sjog_x>(*hardware).min_vel_x) {(*software).sjog_x=(*hardware).min_vel_x; warning=TRUE;}
            if((*software).sjog_y>(*hardware).min_vel_y) {(*software).sjog_y=(*hardware).min_vel_y; warning=TRUE;}
            if((*software).sjog_z>(*hardware).min_vel_z) {(*software).sjog_z=(*hardware).min_vel_z; warning=TRUE;}
            if((*software).sjog_a>(*hardware).min_vel_a) {(*software).sjog_a=(*hardware).min_vel_a; warning=TRUE;}

            if(warning==TRUE)
              {box(22,19,59,24, RED,BLACK,WHITE,WHITE);
               gotoxy(4,3); cprintf("Speed or Speeds Exceed Max Value");
               gotoxy(4,4); cprintf("Max Value Will Be Used <Any Key>");
               getch(); warning=FALSE;}
            break;
        }
     }
}

int home(struct hard_setup *hardware, struct soft_setup *software)
{
   static char item[16][35];
   int ch, i, curnt=0, change=FALSE, warning=FALSE;
   float value;

   while(1)
     {window(21,1,60,25);
      textbackground(LIGHTGRAY);
      clrscr();
      box(21,1,60,20, LIGHTGRAY,BLACK,WHITE,BLUE);
      window(21,1,60,25);
      gotoxy(15,1); cprintf("<Esc> To Exit");
      if((*software).units==IN)
        {sprintf(item[8], "<X> Debounce Distance (IN) %s",prn_val((*hardware).debo_x));
         sprintf(item[9], "<Y> Debounce Distance (IN) %s",prn_val((*hardware).debo_y));
         sprintf(item[10],"<Z> Debounce Distance (IN) %s",prn_val((*hardware).debo_z));
         sprintf(item[12],"<X> Working Length (IN)    %s",prn_val((*hardware).len_x));
         sprintf(item[13],"<Y> Working Length (IN)    %s",prn_val((*hardware).len_y));
         sprintf(item[14],"<Z> Working Length (IN)    %s",prn_val((*hardware).len_z));
         if((*software).time==SEC)
           {sprintf(item[4], "<X> Home Speed (IN/SEC)    %s",prn_val((*hardware).h_spd_x));
            sprintf(item[5], "<Y> Home Speed (IN/SEC)    %s",prn_val((*hardware).h_spd_y));
            sprintf(item[6], "<Z> Home Speed (IN/SEC)    %s",prn_val((*hardware).h_spd_z));
           }
         else
           {sprintf(item[4], "<X> Home Speed (IN/MIN)    %s",prn_val((*hardware).h_spd_x*60));
            sprintf(item[5], "<Y> Home Speed (IN/MIN)    %s",prn_val((*hardware).h_spd_y*60));
            sprintf(item[6], "<Z> Home Speed (IN/MIN)    %s",prn_val((*hardware).h_spd_z*60));
           }
        }
      else
        {sprintf(item[8], "<X> Debounce Distance (MM) %s",prn_val((*hardware).debo_x));
         sprintf(item[9], "<Y> Debounce Distance (MM) %s",prn_val((*hardware).debo_y));
         sprintf(item[10],"<Z> Debounce Distance (MM) %s",prn_val((*hardware).debo_z));
         sprintf(item[12],"<X> Working Length (MM)    %s",prn_val((*hardware).len_x));
         sprintf(item[13],"<Y> Working Length (MM)    %s",prn_val((*hardware).len_y));
         sprintf(item[14],"<Z> Working Length (MM)    %s",prn_val((*hardware).len_z));
         if((*software).time==SEC)
           {sprintf(item[4], "<X> Home Speed (MM/SEC)    %s",prn_val((*hardware).h_spd_x));
            sprintf(item[5], "<Y> Home Speed (MM/SEC)    %s",prn_val((*hardware).h_spd_y));
            sprintf(item[6], "<Z> Home Speed (MM/SEC)    %s",prn_val((*hardware).h_spd_z));
           }
         else
           {sprintf(item[4], "<X> Home Speed (MM/MIN)    %s",prn_val((*hardware).h_spd_x*60));
            sprintf(item[5], "<Y> Home Speed (MM/MIN)    %s",prn_val((*hardware).h_spd_y*60));
            sprintf(item[6], "<Z> Home Speed (MM/MIN)    %s",prn_val((*hardware).h_spd_z*60));
           }
        }
      if((*software).a_units==IN)
        {sprintf(item[11],"<Aux>Debounce Distance(IN) %s",prn_val((*hardware).debo_a));
         sprintf(item[15],"<Aux> Working Length (IN)  %s",prn_val((*hardware).len_a));
         if((*software).a_time==SEC)
           {sprintf(item[7],"<Aux> Home Speed (IN/SEC)  %s",prn_val((*hardware).h_spd_a));}
         else
           {sprintf(item[7],"<Aux> Home Speed (IN/MIN)  %s",prn_val((*hardware).h_spd_a*60));}
        }
      if((*software).a_units==MM)
        {sprintf(item[11],"<Aux>Debounce Distance(MM) %s",prn_val((*hardware).debo_a));
         sprintf(item[15],"<Aux> Working Length (MM)  %s",prn_val((*hardware).len_a));
         if((*software).a_time==SEC)
           {sprintf(item[7],"<Aux> Home Speed (MM/SEC)  %s",prn_val((*hardware).h_spd_a));}
         else
           {sprintf(item[7],"<Aux> Home Speed (MM/MIN)  %s",prn_val((*hardware).h_spd_a*60));}
        }
      if((*software).a_units==DEG)
        {sprintf(item[11],"<Aux> Debounce Sector(DEG) %s",prn_val((*hardware).debo_a));
         sprintf(item[15],"<Aux> Working Sector (DEG) %s",prn_val((*hardware).len_a));
         if((*software).a_time==SEC)
           {sprintf(item[7],"<Aux> Home Speed (DEG/SEC) %s",prn_val((*hardware).h_spd_a));}
         else
           {sprintf(item[7],"<Aux> Home Speed (DEG/MIN) %s",prn_val((*hardware).h_spd_a*60));}
        }
      if((*software).a_units==RAD)
        {sprintf(item[11],"<Aux> Debounce Sector(RAD) %s",prn_val((*hardware).debo_a));
         sprintf(item[15],"<Aux> Working Sector (RAD) %s",prn_val((*hardware).len_a));
         if((*software).a_time==SEC)
           {sprintf(item[7],"<Aux> Home Speed (RAD/SEC) %s",prn_val((*hardware).h_spd_a));}
         else
           {sprintf(item[7],"<Aux> Home Speed (RAD/MIN) %s",prn_val((*hardware).h_spd_a*60));}
        }
      if((*software).home_x==PLUS)
           sprintf(item[0],"<X> Home Direction        POSITIVE");
      else sprintf(item[0],"<X> Home Direction        NEGATIVE");
      if((*software).home_y==PLUS)
           sprintf(item[1],"<Y> Home Direction        POSITIVE");
      else sprintf(item[1],"<Y> Home Direction        NEGATIVE");
      if((*software).home_z==PLUS)
           sprintf(item[2],"<Z> Home Direction        POSITIVE");
      else sprintf(item[2],"<Z> Home Direction        NEGATIVE");
      if((*software).home_a==PLUS)
           sprintf(item[3],"<Aux> Home Direction      POSITIVE");
      else sprintf(item[3],"<Aux> Home Direction      NEGATIVE");

      for(i=0;i<16;i++) {gotoxy(4,i+3); cprintf("%s",item[i]);}
      while (1)
        {gotoxy(4,curnt+3); textbackground(BROWN);
         cprintf("%s",item[curnt]); ch=getch();
         if (ch == 13 || ch == 32)
           {gotoxy(4,curnt+3); textbackground(GREEN);
            cprintf("%s",item[curnt]); textbackground(LIGHTGRAY);
            change=TRUE;
            break;
           }
         gotoxy(4,curnt+3); textbackground(LIGHTGRAY);
         cprintf("%s",item[curnt]);
         if (ch == 27) return change;
         if (ch > 0) continue;
         ch = getch();
         switch (ch)
           {case 72 : --curnt; break;  //up arrow
            case 80 : ++curnt; break;  //down arrow
            case 59 :
              switch(curnt)
                {case 0: case 1: case 2: case 3: help(33); break;
                 case 4: case 5: case 6: case 7: help(34); break;
                 case 8: case 9: case 10: case 11: help(35); break;
                 case 12: case 13: case 14: case 15: help(36); break;
                }
           }
         if(curnt<0) curnt=15;
         if(curnt>15) curnt=0;
        }

      if(curnt==0)
        {if((*software).home_x==PLUS) (*software).home_x=MINUS;
         else (*software).home_x=PLUS;}
      if(curnt==1)
        {if((*software).home_y==PLUS) (*software).home_y=MINUS;
         else (*software).home_y=PLUS;}
      if(curnt==2)
        {if((*software).home_z==PLUS) (*software).home_z=MINUS;
         else (*software).home_z=PLUS;}
      if(curnt==3)
        {if((*software).home_a==PLUS) (*software).home_a=MINUS;
         else (*software).home_a=PLUS;}
      if(curnt>=4)
        {if(curnt>=10 && curnt<=20) double_box(30,5,50,10, RED,WHITE,BLUE);
         else double_box(30,15,50,20, RED,WHITE,BLUE);
         gotoxy(4,3); cprintf("Enter New Value");
         _setcursortype(_NORMALCURSOR);
         gotoxy(8,4);
         if((i=get_value(&value))!=ESC && i!=NULL)
           {_setcursortype(_NOCURSOR);
            if(curnt==8) (*hardware).debo_x=value;
            if(curnt==9) (*hardware).debo_y=value;
            if(curnt==10) (*hardware).debo_z=value;
            if(curnt==11) (*hardware).debo_a=value;
            if(curnt==12) (*hardware).len_x=value;
            if(curnt==13) (*hardware).len_y=value;
            if(curnt==14) (*hardware).len_z=value;
            if(curnt==15) (*hardware).len_a=value;
            if((*software).time==SEC)
              {if(curnt==4) if(value!=0) (*hardware).h_spd_x=value;
               if(curnt==5) if(value!=0) (*hardware).h_spd_y=value;
               if(curnt==6) if(value!=0) (*hardware).h_spd_z=value;
              }
            else
              {if(curnt==4) if(value!=0) (*hardware).h_spd_x=value/60;
               if(curnt==5) if(value!=0) (*hardware).h_spd_y=value/60;
               if(curnt==6) if(value!=0) (*hardware).h_spd_z=value/60;
              }
            if((*software).a_time==SEC)
              {if(curnt==7) if(value!=0) (*hardware).h_spd_a=value;}
            else
              {if(curnt==7) if(value!=0) (*hardware).h_spd_a=value/60;}

            //check and reset other speed settings
            if((*hardware).h_spd_x>(*hardware).vel_x) {(*hardware).h_spd_x=(*hardware).vel_x; warning=TRUE;}
            if((*hardware).h_spd_y>(*hardware).vel_y) {(*hardware).h_spd_y=(*hardware).vel_y; warning=TRUE;}

⌨️ 快捷键说明

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