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

📄 mpu_prt.h

📁 scara机器人的一种简单的实现方法
💻 H
字号:
extern struct print_ch ch_from_data(float data);

void   Step_1_printout(void);
void   Step_2_erase_print(void);
void   Step_2_printout(void);
void   Step_3_erase_print(void);
void   Step_3_printout(int move_direction);
void   Step_4_erase_print(void);
void   Step_4_printout(int turn_angle_flag);
void   Step_5_erase_print(void);
void   Step_5_printout(struct angle_distance ang_dis);
void   Step_6_erase_print(void);
void   Step_6_printout(void);
void   Step_7_erase_print(void);
void   Step_7_printout(void);
void   Step_8_erase_print(void);
void   Step_8_printout(void);
void   Step_9_erase_print(void);
void   Step_9_printout(void);
void   Step_10_erase_print(void);
void   Step_10_printout(void);
void   Step_11_erase_print(void);
void   Step_11_printout(void);
void   print_coordinate(struct cal_point print_p);

void Step_1_printout(void)
{
  setviewport(125,70,624,464,1);
  clearviewport();
  drawbutton(0,0,499,394,0,CYAN);
  setcolor(WHITE);
  outtextxy(200, 160,"0. Stand-by...");
  return;
}

void   Step_2_erase_print(void)
{
  setviewport(125,70,624,464,1);
  setcolor(CYAN);
  outtextxy(200, 160,"0. Stand-by...");
  setcolor(WHITE);
  outtextxy(50, 100,"Working state:");
  outtextxy(50, 200,"Results:");
  outtextxy(200, 100,"1. Initialization");
  return;
}

void Step_2_printout(void)
{
  setcolor(WHITE);
  outtextxy(200, 200, "Finished!");
  return;
}
void Step_3_erase_print(void)
{
  setviewport(125,70,624,464,1);
  setcolor(CYAN);
  outtextxy(200, 100,"1. Initialization");
  outtextxy(200, 200, "Z_move_direction =");
  outtextxy(350, 200, "+1");
  outtextxy(200, 200, "Finished!");
  setcolor(WHITE);
  outtextxy(200, 100,"2. Move to initial position");
  return;
}

void Step_3_printout(int move_direction)
{
  setcolor(WHITE);
  if (move_direction==0) {
	setcolor(CYAN);
	outtextxy(200, 200, "Z_move_direction =");
	outtextxy(350, 200, "+1");
	setcolor(WHITE);
	outtextxy(200, 200, "Finished!");
  }
  else {
	outtextxy(200, 200, "Z_move_direction =");
	if (move_direction==-1) {
	  setcolor(CYAN);
	  outtextxy(350, 200, "+1");
	  setcolor(WHITE);
	  outtextxy(350, 200, "-1");
	}
	else {
	  outtextxy(350, 200, "+1");
	}
  }
  return;
}

void Step_4_erase_print(void)
{
  setviewport(125,70,624,464,1);
  setcolor(CYAN);
  outtextxy(200, 100,"2. Move to initial position");
  outtextxy(200, 200,"Finished!");
  outtextxy(200, 200, "Turn angle =");
  outtextxy(310, 200, "+1");
  setcolor(WHITE);
  outtextxy(200, 100,"3. Turn angle alignment");
  return;
}

void Step_4_printout(int turn_angle_flag)
{
  if (turn_angle_flag==TRUE) {
	setcolor(CYAN);
//	outtextxy(200, 200, "Turn angle =");
	setcolor(WHITE);
	outtextxy(200, 200, "Turn angle finished!");
  }
/*      else {
	outtextxy(200, 200, "Turn angle =");
	if (turn_angle.direction==CLOCKWISE) {
	  setcolor(CYAN);
	  outtextxy(310, 200, "+1");
	  setcolor(WHITE);
	  outtextxy(310, 200, "-1");
	}
	else {
	  outtextxy(310, 200, "+1");
	}
      }*/
  return;
}

void Step_5_erase_print(void)
{
  setviewport(125,70,624,464,1);
  setcolor(CYAN);
  outtextxy(200, 100,"3. Turn angle alignment");
  outtextxy(200, 200, "Turn angle finished!");
  outtextxy(200, 200,"Continue for another position");
  setcolor(WHITE);
  outtextxy(200, 100,"4. Slope angle detection");
  return;
}

void Step_5_printout(struct angle_distance ang_dis)
{
  struct print_ch p_ch[2];
  int    i;

  p_ch[0] = ch_from_data(ang_dis.angle);
  p_ch[1] = ch_from_data(ang_dis.distance);
  for (i=0; i<2; i++) {
    print_char[i][0] = p_ch[i].ch[1];
    print_char[i][1] = p_ch[i].ch[2];
    print_char[i][2] = p_ch[i].ch[3];
    print_char[i][3] = p_ch[i].ch[4];
    print_char[i][4] = '.';
    print_char[i][5] = p_ch[i].ch[5];
    print_char[i][6] = p_ch[i].ch[6];
    print_char[i][7] = 0;
    print_str[i] = &print_char[i];
  }
  outtextxy(150, 200, "Slope angle =");
  outtextxy(260, 200, print_str[0]);
  outtextxy(150, 220, "Distance    =");
  outtextxy(260, 220, print_str[1]);

  return;
}

void Step_6_erase_print(void)
{
  setviewport(125,70,624,464,1);
  setcolor(CYAN);
  outtextxy(200, 100,"4. Slope angle detection");
  outtextxy(150, 200, "Slope angle =");
  outtextxy(260, 200, print_str[0]);
  outtextxy(150, 220, "Distance    =");
  outtextxy(260, 220, print_str[1]);
  setcolor(WHITE);
  outtextxy(200, 100,"5. Search screw center");

  return;
}

void Step_6_printout()
{
  setviewport(125,70,624,464,1);
  setcolor(CYAN);
  outtextxy(200, 200,"Please wait for a while!");
  setcolor(WHITE);
  outtextxy(200, 200,"Finished!");

  return;
}

void Step_7_erase_print(void)
{
      setviewport(125,70,624,464,1);
      setcolor(CYAN);
      outtextxy(200, 100,"5. Search screw center");
      outtextxy(200, 200,"Finished!");
      outtextxy(200, 200,"Please wait for a while!");
      setcolor(WHITE);
      outtextxy(200, 100,"6. Bolt installation");
//      outtextxy(200, 200,"Please install bolt!");

  return;
}

void Step_7_printout()
{

  return;
}

void Step_8_erase_print(void)
{
  setviewport(125,70,624,464,1);
  setcolor(CYAN);
  outtextxy(200, 100,"6. Bolt installation");
  outtextxy(200, 200,"Please install bolt!");
  setcolor(WHITE);
  outtextxy(200, 100,"7. Insert bolt");

  return;
}

void Step_8_printout(void)
{
  setcolor(WHITE);
  outtextxy(200, 200,"Finished!");

  return;
}

void Step_9_erase_print(void)
{
  setviewport(125,70,624,464,1);
  setcolor(CYAN);
  outtextxy(200, 100,"7. Insert bolt");
  outtextxy(200, 200,"Finished!");
  setcolor(WHITE);
  outtextxy(200, 100,"8. Bolt pose alignment");

  return;
}

void Step_9_printout(void)
{
  setcolor(WHITE);
  outtextxy(200, 200,"Finished!");

  return;
}

void Step_10_erase_print(void)
{
  setviewport(125,70,624,464,1);
  setcolor(CYAN);
  outtextxy(200, 100,"8. Bolt pose alignment");
  outtextxy(200, 200,"Finished!");
  setcolor(WHITE);
  outtextxy(200, 100,"9. Screwing bolt");

  return;
}

void Step_10_printout(void)
{
  setcolor(WHITE);
  outtextxy(200, 200,"Finished!");

  return;
}

void Step_11_erase_print(void)
{

  return;
}

void Step_11_printout(void)
{

  return;
}

void print_coordinate(struct cal_point print_p)
{
  struct print_ch p_ch[4];
  int    i;

  setviewport(125,70,624,464,1);
  setcolor(CYAN);
  outtextxy(150, 240, "x = ");
  outtextxy(150, 260, "y = ");
  outtextxy(150, 280, "z = ");
  outtextxy(150, 300, "R = ");
  outtextxy(210, 240, print_str[2]);
  outtextxy(210, 260, print_str[3]);
  outtextxy(210, 280, print_str[4]);
  outtextxy(210, 300, print_str[5]);
  setcolor(WHITE);

  for (i=0; i<4; i++)  { p_ch[i] = ch_from_data(print_p.coordinate[i]);}
  for (i=0; i<4; i++) {
    print_char[i+2][0] = p_ch[i].ch[0];
    print_char[i+2][1] = p_ch[i].ch[1];
    print_char[i+2][2] = p_ch[i].ch[2];
    print_char[i+2][3] = p_ch[i].ch[3];
    print_char[i+2][4] = p_ch[i].ch[4];
    print_char[i+2][5] = '.';
    print_char[i+2][6] = p_ch[i].ch[5];
    print_char[i+2][7] = p_ch[i].ch[6];
    print_char[i+2][8] = 0;
    print_str[i+2] = &print_char[i+2];
  }
  outtextxy(150, 240, "x = ");
  outtextxy(150, 260, "y = ");
  outtextxy(150, 280, "z = ");
  outtextxy(150, 300, "R = ");
  outtextxy(210, 240, print_str[2]);
  outtextxy(210, 260, print_str[3]);
  outtextxy(210, 280, print_str[4]);
  outtextxy(210, 300, print_str[5]);

  return;
}

void print_sample(struct three_data sample_data)
{
  struct print_ch p_ch[3];
  int    i;

  setviewport(125,70,624,464,1);
  setcolor(CYAN);
  outtextxy(300, 240, "sensor1 = ");
  outtextxy(300, 260, "sensor2 = ");
  outtextxy(300, 280, "sensor3 = ");
  outtextxy(380, 240, print_str[6]);
  outtextxy(380, 260, print_str[7]);
  outtextxy(380, 280, print_str[8]);
  setcolor(WHITE);

  for (i=0; i<3; i++)  { p_ch[i] = ch_from_data(sample_data.d[i]);}
  for (i=0; i<3; i++) {
    print_char[i+6][0] = p_ch[i].ch[1];
    print_char[i+6][1] = p_ch[i].ch[2];
    print_char[i+6][2] = p_ch[i].ch[3];
    print_char[i+6][3] = p_ch[i].ch[4];
    print_char[i+6][4] = '.';
    print_char[i+6][5] = p_ch[i].ch[5];
    print_char[i+6][6] = p_ch[i].ch[6];
    print_char[i+6][7] = 0;
    print_str[i+6] = &print_char[i+6];
  }

  outtextxy(300, 240, "sensor1 = ");
  outtextxy(300, 260, "sensor2 = ");
  outtextxy(300, 280, "sensor3 = ");
  outtextxy(380, 240, print_str[6]);
  outtextxy(380, 260, print_str[7]);
  outtextxy(380, 280, print_str[8]);

  return;
}

⌨️ 快捷键说明

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