📄 g_input.c
字号:
//G代码输入
void G_input(void)
{
s=&buf;
WriteCommandLCM(0x04,1);
Lcd_print("1.New ");
Lcd_print1(1,0,"2.Open 3.Look_pref ");
WriteCommandLCM(0x0F,1);
WriteCommandLCM(0x06,1);
LocateXY(0,0);
xunhao1=0x30;
xunhao=0x30;
i=10;
ir_data[2]=GB_UP;
while(1)
{
if(ir_data[2]==EXIT) goto e;
d:
{ LocateXY(0,0);
while(!(ir_data[2]== ENTER))
{
if(ir_data[2]== GB_DOWN) goto t;
if(ir_data[2]==EXIT) goto e;
}
Lcd_print("N00 MDI");
LocateXY(0,1);
buf_0xff();
break;
}
t:
{ LocateXY(0,1);
while(!(ir_data[2]== ENTER))
{
if(ir_data[2]== GB_UP) goto d;
if(ir_data[2]== RIGHT) goto q;
if(ir_data[2]==EXIT) goto e;
}
Lcd_print("N00 MDI");
display_first_buf();
break;
}
q:
{ LocateXY(7,1);
while(!(ir_data[2]== ENTER))
{
if(ir_data[2]== LEFT) goto t;
if(ir_data[2]==EXIT) goto e;
}
Lcd_print("N00 MDI");
s=buf;
while(!(*s==ENTER))
{
display_buf();
s++;
}
break;
}
}
ir_flag=0;
ir_data[2]=0;
while(1)
{
if(ir_data[2]==EXIT) goto b;
key_handle();
}
b: ir_flag=0;
ir_data[2]=0;
WriteCommandLCM(0x0c,1);
Lcd_print1(1,0,"Save code? ");
while(1)
{ /*是否保存代码?*/
if(ir_data[2]==ENTER) { SaveGcodeToI2C(); break;}
if(ir_data[2]==EXIT) break;
}
e: ir_flag=0;
}
//按键处理
void key_handle(void) //安键处理
{
unsigned char du_data;
if(ir_flag)
{
switch(ir_data[2])
{
case ENTER:
if(s==buf) break;
if(*s==ENTER) break;
if(*s==0xff)
// if((*s==0xff)&&(*(--s)==ENTER) )
// {s++;break;}
{
WriteCommandLCM(0x01,1);
serial_number_down() ;
*s=ENTER;
s--;
i=0;
LocateXY(i,1);
}
break;
case G91:
{
Lcd_print1(1,i,"G91");
*s= G91;
s++;
i+=3;
}
break;
case G90:
{
Lcd_print1(1,i,"G90");
*s=G90;
s++;
i+=3;
}
break;
case M02:
{ Lcd_print1(1,i,"M02");
*s=M02;
s++;
i+=3;
}
break;
case M47:
Lcd_print1(1,i,"M47");
*s=M47;
s++;
i+=3;
break;
case M46:
Lcd_print1(1,i,"M46");
*s=M46;
s++;
i+=3;
break;
case G00:
Lcd_print1(1,i,"G00");
*s=G00;
s++;
i+=3;
break;
case G01:
Lcd_print1(1,i,"G01");
*s=G01;
s++;
i+=3;
break;
case G02:
Lcd_print1(1,i,"G02");
*s=G02;
s++;
i+=3;
break;
case G03:
Lcd_print1(1,i,"G03");
*s=G03;
s++;
i+=3;
break;
case G04:
Lcd_print1(1,i,"G04");
*s=G04;
s++; i+=3;
break;
case FuHao:
if(*(--s)!=X1&&*s!=Y1&&*s!=I&&*s!=K){s++;break;}
{ s++;
DisplayOneChar(i, 1,0X2D);
*s=FuHao;
s++;
i++;
}
break;
case SPEED:
du_data=*(--s);
s++;
if(!(du_data==Y1||du_data==X1||du_data==SPEED))
{
DisplayOneChar(i, 1,0X46);
*s=SPEED;
s++;
i++;
}
break;
case GB_UP:
pre_up();
break;
case GB_DOWN:
forward_down();
break;
case X1:
du_data=*(--s);
s++;
if(!(du_data==Y1||du_data==X1||du_data==SPEED))
{
DisplayOneChar(i, 1,0X58);
*s=X1;
s++;
i++;
}
break;
case Y1:
du_data=*(--s);
s++;
if(!(du_data==Y1||du_data==X1||du_data==SPEED))
{ DisplayOneChar(i, 1,0X59);
*s=Y1;
s++ ;
i++;
}
break;
case I:
du_data=*(--s);
s++;
if(du_data>=0x00&&du_data<=0x09)
{
DisplayOneChar(i, 1,0X49);
*s=I;
s++ ;
i++;
}
break;
case K:
du_data=*(--s);
s++;
if(du_data>=0x00&&du_data<=0x09)
{ DisplayOneChar(i, 1,0X4B);
*s=K;
s++ ;
i++;
}
break;
case LEFT:
if(s==buf||i==0) break;
du_data=*(--s);
s++;
if(du_data==G00||du_data==G01||du_data==G02||du_data==G03||du_data==G04||du_data==M02||du_data==M46||du_data==M47||du_data==G91||du_data==G90)
{
i-=3;
s--;
LocateXY(i,1);
}
else
{
s--;
i--;
LocateXY(i,1);
}
WriteCommandLCM(0x06,1);
WriteCommandLCM(0x0F,1);
break;
case RIGHT:
if(i==15) break;
WriteCommandLCM(0x06,1);
du_data=*s;
if(du_data==G00||du_data==G01||du_data==G02||
du_data==G03||du_data==G04||du_data==M02||
du_data==M46||du_data==M47||
du_data==G91||du_data==G90)
{
s++;
i+=3;
LocateXY(i,1);
}
else {
s++;
i++;
LocateXY(i,1);
}
WriteCommandLCM(0x06,1);
WriteCommandLCM(0x0F,1);
break;
case DEL: /*删除 //把后面的复盖前面的*/
Del_one_char();
break;
case INSERT: /*插入 前插*/
Insert_one_char();
break;
case K0:
if(s==buf) break;
du_data=*(--s) ;
s++;
if(du_data==X1||du_data==Y1||du_data==SPEED||du_data==FuHao||du_data==I||du_data==K||du_data==G04||(0x0A>du_data&&du_data>=0x00))
{
DisplayOneChar(i, 1,0x30);
*s=0X00;
i++;
s++;
}
break;
case K1:
if(s==buf) break;
du_data=*(--s) ;
s++;
if(du_data==X1||du_data==Y1||du_data==SPEED||du_data==FuHao||du_data==I||du_data==K||du_data==G04||(0x0A>du_data&&du_data>=0x00))
{
DisplayOneChar(i, 1,0x31);
*s=0X01;
i++;
s++;
}
break;
case K2:
if(s==buf) break;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -