亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? process.h~

?? it is about embeded system
?? H~
?? 第 1 頁 / 共 4 頁
字號:
    {

     matrix.matrix_point[1].x=matrix.matrix_point[0].x;
     matrix.matrix_point[1].y=matrix.matrix_point[0].y-property.pointy;
     matrix.matrix_point[2].x=matrix.matrix_point[0].x;
     matrix.matrix_point[2].y=matrix.matrix_point[1].y-property.pointy;

     matrix.matrix_point[3].x=matrix.matrix_point[0].x+property.pointx;
     matrix.matrix_point[3].y=matrix.matrix_point[0].y;
     matrix.matrix_point[4].x=matrix.matrix_point[0].x+property.pointx;
     matrix.matrix_point[4].y=matrix.matrix_point[1].y;
     matrix.matrix_point[5].x=matrix.matrix_point[0].x+property.pointx;
     matrix.matrix_point[5].y=matrix.matrix_point[2].y;

    }
 
   /*****************translate the blind character*****************/





  void  translate(char *syllable[],int count_syl)

  {
    
     int i;     int number; //選擇音節(jié)
     
   /*while(SYLLALE_LIST!=EOF)
     {
     }
   while(syl_ret!=NULL)
     {
     }*/
    if(count_syl==0)
         printf("sorry!don't find the syllable.\n");  //use language function
    
    else if(count_syl==1)
         {
         printf("find a syllable.\n");
         printf("-%s-\n",syllable[0]);
         }
    else  
         {

          printf("display all syllables on the touchscreen.\n");          
          for(i=0;i<count_syl;i++)
           {
            
            printf("%d : %s \n",i+1,syllable[i]);

           }                         printf("please choose the number of syllable.\n");        scanf("%d",&number);        //while(1)          //{          switch(number)           {             case 1:                 //syllable[0])                 break;             case 2:                 //syllable[1])                 break;             case 3:                if(count_syl>=2)                 //syllable[2])                 break;                else                   printf("ERROR!please input the number again.\n");             default:                 printf("ERROR!please input the number again.\n");                             }
         //}      }
 }
 /*--------------int to char 轉換-----------------*/  char to_char(int NO)  {        return 48+NO;  }

/***************receive the points from the touchscreen***********/

/*************** two group of points:poi1 poi2****************/

 /*when you click on the screen,the function will save the data include the 
  value of the X AND the Y,when you touch the touchscreen,the calculagragh
  will begin with the 0, when the value is 2,the program will make sure all
  the points,and start to process the data,find the right syllables. In the
  end, it will initialize all variables.*/

 
 
 

 /*----------------the function to receive the points-------------*/

 void * point_receive(void * data)
 {
  TS_RET ts_ret;
  
  int fd,n,i;  /*  static int j;  j=colorchange;  if(j)  {   ShowBitmap(0,0,MY_PICTURE_DISPLAY);
   colorchange=0;   
  }  */    ShowBitmap(0,0,MY_PICTURE_DISPLAY);
  fd = open(DEVICE_NAME_TOUCH,O_RDONLY);


  if (fd<0)
   {
     printf(" open device error!\n");
     exit(1);
   }
   /*-----------------------test-----------------------*/
   /* for(i=0;i<6;i++)
    printf("----X:%d----Y:%d----\n",poi1[i].x,poi1[i].y);
  for(i=0;i<6;i++)
    printf("----X:%d----Y:%d----\n",poi2[i].x,poi2[i].y);
 
   */
   printf("\n--blind points program begin!--\n");      
    
 /*-----------------read value of X,Y from the touchscreen-------------*/
   while(1)
   {
     if(buffer.point_rd)
     {
      
      n=read(fd,&ts_ret,1);
      
      if(ts_ret.pressure==1)
      {
        /*if(color)         {         // ShowBitmap(0,0,MY_PICTURE_DISPLAY);           color=0;         }*/
        pthread_cond_signal(&buffer.timer);        
        printf("----X:%d----Y:%d----\n",ts_ret.x,ts_ret.y);
        
        ShowBitmapWithTS(ts_ret.x,ts_ret.y,MY_PICTURE_POINT);
     
      if(poi2[0].x==0&&poi2[0].y==0) //think
       { 
        if (count==0)
         {
          poi1[p1count].x=ts_ret.x;
          poi1[p1count].y=ts_ret.y;
          p1count++;  
        }
       else
        {
          if(ts_ret.x<POINTS_TO_POINTS||ts_ret.x-poi1[count-1].x<property.pointx ) 
           {//區(qū)分聲方盲點和韻方盲點
            poi1[p1count].x=ts_ret.x;
            poi1[p1count].y=ts_ret.y;
            p1count++;
           }
          else                            //exceed the maxnum
           {
            poi2[p2count].x=ts_ret.x;
            poi2[p2count].y=ts_ret.y;
            p2count++;
           }
         } 
       }  
     else
         {
            poi2[p2count].x=ts_ret.x;
            poi2[p2count].y=ts_ret.y;
            p2count++;
         } 
        
      count++;       
    }

    

     /*-----------begin time-----------------------*/
    if(ts_ret.pressure==0)
      {  
                      
     
           buffer.times = 0;     
           pthread_cond_signal(&buffer.timer);
    
     
      }

     /*---------select the area to quit input---------*/     /*
       if(ts_ret.x>STOP_POINT_R_X&&ts_ret.y<STOP_POINT_R_Y)
       {
         count=0;
         p1count=0;                
         p2count=0;                            
         exec=0;                                             
         control = 1;
         if(quit_s=1)
           {
             pthread_cond_signal(&buffer.timer);
           }        
     
         break;
       }
      */ 
     
    }
   }  
   close(fd);

   

  return NULL;

 }

  
 /*----------------the function to process the points------------*/ void * process(void * data )  //caluculate the line and row {  pthread_t *th_b_receive=(pthread_t *)data;  int i,j;  int left ;                     //the left position   int right;                     //the right position  //int up,down;  int linenum =0;              //the number of line  int rownum =0;               //the number of row  int longnum = 0;             //the number of long slash  int shortnum = 0;            //the number of short slash  int long_minus= 0;           //the number of long minus slash  int short_minus= 0;          //the number of short minus slash  int fir_poi_line=0;          //聲母盲文的首點所在行的點的個數  int fir_poi_row=0;           //聲母盲文的首點所在列的點的個數  int sec_poi_line=0;          //韻母盲文的首點所在行的點的個數  int sec_poi_row=0;           //韻母盲文的首點所在列的點的個數  int fir_poi_exist=0;          //聲母盲文是否存在正規(guī)矩陣的首點 1表示存在  int sec_poi_exist=0;          //韻母盲文是否存在正規(guī)矩陣的首點 1表示存在             matrix_set();      /*      for(i=0;i<6;i++)      {       printf("%d matrix->X:%d matrix->Y:%d\n",i+1,                 matrix.matrix_point[i].x,matrix.matrix_point[i].y);      }      */   while(1)   {     int count_syl=0;       
     int binarynumber1[6];        //盲文     例:101000,哪位為1表示盲文所打的點有效     int binarynumber2[6];        //盲文     例:101000,哪位為1表示盲文所打的點有效
     char number1[6]="\0";        //盲文     例:123456     char number2[6]="\0";        //盲文     例:123456     char data[15]="\0";          //包含盲文里的一切信息 //    char character[20]="\0";       //漢字輸出        
	 for(i=0;i<6;i++)
	 {
          binarynumber1[i] = 0 ;          binarynumber2[i] = 0 ;
	 }   /*-----------------confirm the points by the time-------------------*/          if(exec)     {           pthread_cancel(*th_b_receive);            //pthread_cond_wait(&buffer.exe,&buffer.lock);     /*-----------------------test-----------------------*/       for(i=0;i<p1count;i++)          printf("1-----X:%d-----Y:%d-----\n",poi1[i].x,poi1[i].y);       for(i=0;i<p2count;i++)          printf("2-----X:%d-----Y:%d-----\n",poi2[i].x,poi2[i].y);    /*----------------------test---------------------------*/              printf("--process begin!--\n");       /*       poi1[0].x=827;poi1[0].y=1604;         poi1[1].x=1442;poi1[1].y=2775;      poi1[2].x=1393;poi1[2].y=1963;      // poi1[3].x=3071;poi1[3].y=2731;      // poi1[4].x=2972;poi1[4].y=2202;      // poi1[1].x=2988;poi1[1].y=1192;       */      if(p1count)
	   for(i=0;i<3;i++)

	   {
        
		 if(!activation(poi1,p1count,i,binarynumber1))
		 {                 
                  continue;
		 }

                                  else
		 {                                
                   getnumber(binarynumber1,number1);                   break;
		 }
	   }


      if(p2count)       for(i=0;i<3;i++)
	   {

                 if(!activation(poi2,p2count,i,binarynumber2))
		 {          
                  continue;
		 }

                 else
		 {
                  getnumber(binarynumber2,number2);                  break;
		 }

	   }       printf("number1--%s\n",number1);       printf("number2--%s\n",number2);         /*---------------calculate the variable :linenum,rownum,longnum,                   shortnum,long_minus,short_minus,fir_poi_line,                   fir_poi_row,sec_poi_line,sec_poi_row,                   fir_poi_exist,sec_poi_exist--------------------*/       if(p1count)        {          for(i=0;i<SYLLABLE_MAX;i++)            if(strcmp(List[i].number,number1)==0)               {                  p1count=List[i].point_num;                  linenum=List[i].line;                  rownum=List[i].row;                  longnum=List[i].longslash;                  shortnum=List[i].shortslash;                  long_minus=List[i].longslash_minus;                  short_minus=List[i].shortslash_minus;                  fir_poi_line=List[i].head_line_num;                  fir_poi_row=List[i].head_row_num;                  fir_poi_exist=List[i].head_exist;                  break;               }         if(p2count)         {         for(i=0;i<SYLLABLE_MAX;i++)          if(strcmp(List[i].number,number2)==0)               {                  p2count=List[i].point_num;                  linenum+=List[i].line;                  rownum+=List[i].row;                  longnum+=List[i].longslash;                  shortnum+=List[i].shortslash;                  long_minus+=List[i].longslash_minus;                  short_minus+=List[i].shortslash_minus;                  sec_poi_line=List[i].head_line_num;                  sec_poi_row=List[i].head_row_num;                  sec_poi_exist=List[i].head_exist;                  break;               }         }                }                   data[0]=to_char(p1count);       data[1]=to_char(p2count);          data[2]=to_char(linenum);       data[3]=to_char(rownum);         data[4]=to_char(longnum);       data[5]=to_char(shortnum);          data[6]=to_char(long_minus);       data[7]=to_char(short_minus);        data[8]=to_char(fir_poi_line);       data[9]=to_char(fir_poi_row);          data[10]=to_char(sec_poi_line);       data[11]=to_char(sec_poi_row);       data[12]=to_char(fir_poi_exist);       data[13]=to_char(sec_poi_exist);          data[14]='\0';              ShowBitmap(0,0,MY_PICTURE_DISPLAY);       printf("data--%s\n",data);                 blind_db(data, blind_character);           //printf("\ncharacter:%s\n\n",character);           // pthread_exit((void *)1);       break;  /*---------------------find the syllable--------------------------*/  /*        left = 0;                        right = SYLLABLE_MAX - 1;                               while(left <= right)      {        int middle = (left+right)/2;                if ( p1count < syl_ret[middle].first )          right = middle - 1;        else if ( p1count > syl_ret[middle].first )          left = middle + 1;        else          {           if ( p2count < syl_ret[middle].second )              right = middle - 1;           else if ( p2count > syl_ret[middle].second )               left = middle + 1;           else             {               if( linenum < syl_ret[middle].line )                  right = middle - 1;               else if ( linenum > syl_ret[middle].line )                   left = middle + 1;               else                   {                    if ( rownum < syl_ret[middle].row )                        right = middle - 1;                    else if ( rownum > syl_ret[middle].row )                         left = middle + 1;                                         else                       {                       if(longnum<syl_ret[middle].longslash )

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美一卡2卡3卡4卡| 精品播放一区二区| 欧美一区二区性放荡片| 欧美精品一二三| 日本一区二区三区视频视频| 欧美精品一区二区三区一线天视频 | 91香蕉视频mp4| 亚洲区小说区图片区qvod| 一本色道综合亚洲| 亚洲自拍偷拍欧美| 欧美一区二区免费| 久久超碰97中文字幕| 国产女人aaa级久久久级 | 欧美精品一二三区| 国内精品不卡在线| 中文字幕精品一区二区精品绿巨人| 波多野结衣中文字幕一区二区三区| 综合av第一页| 欧洲精品一区二区三区在线观看| 亚洲国产视频一区二区| 日韩一级欧美一级| 国产一区二区三区综合| 国产精品久久夜| 欧美少妇bbb| 全国精品久久少妇| 国产精品系列在线| 欧美日韩国产美| 精品一区二区久久久| 亚洲美女在线一区| 精品av久久707| 欧美日产在线观看| 国产一区在线精品| 亚洲欧洲中文日韩久久av乱码| 91麻豆精品国产91久久久更新时间| 久久精品国产精品亚洲精品 | 成人欧美一区二区三区白人| 欧美午夜精品久久久久久超碰| 久久精品99国产精品日本| 中文字幕在线观看不卡视频| 日韩午夜在线观看| 一本大道av伊人久久综合| 蜜桃在线一区二区三区| 亚洲精品国产一区二区精华液 | 精品综合免费视频观看| 亚洲最大成人网4388xx| 久久综合九色综合97婷婷| 欧美亚洲国产一区二区三区va| 久久99国产乱子伦精品免费| 亚洲欧美另类久久久精品2019| 日韩美一区二区三区| 在线国产亚洲欧美| 国产成人精品在线看| 日韩精彩视频在线观看| 亚洲免费在线观看| 欧美激情一区二区三区| 欧美成人猛片aaaaaaa| 在线看日韩精品电影| 国产精品一区久久久久| 日本vs亚洲vs韩国一区三区二区| 国产精品久久久一本精品| 2023国产精华国产精品| 51精品国自产在线| 91久久久免费一区二区| 国产精品亚洲综合一区在线观看| 日韩专区中文字幕一区二区| 一区二区三区不卡视频在线观看| 欧美经典一区二区| 日本一区二区三区四区| 国产亚洲一本大道中文在线| 日韩一卡二卡三卡四卡| 7777精品伊人久久久大香线蕉经典版下载| 色系网站成人免费| 色综合久久88色综合天天6| 99久久精品国产麻豆演员表| 成人三级伦理片| 国产91在线看| 成人伦理片在线| 不卡一区在线观看| 99精品视频中文字幕| 成人99免费视频| 成人app下载| 色综合久久中文综合久久97| 色欧美片视频在线观看| 色婷婷激情久久| 日本高清免费不卡视频| 欧美在线免费观看视频| 欧美亚洲国产一卡| 制服丝袜av成人在线看| 日韩一级高清毛片| 欧美sm美女调教| 欧美国产激情一区二区三区蜜月| 国产精品国产三级国产普通话三级| 中文字幕av一区二区三区| 亚洲人快播电影网| 亚洲国产精品人人做人人爽| 丝瓜av网站精品一区二区| 久久成人精品无人区| 国产成人综合网| 在线免费亚洲电影| 在线播放亚洲一区| 欧美精品一区二区久久久| 国产拍欧美日韩视频二区| 国产精品另类一区| 伊人性伊人情综合网| 午夜精品久久久久久| 久久99精品国产| 丁香六月久久综合狠狠色| 色屁屁一区二区| 欧美一区二区三区影视| 久久久精品天堂| 国产精品福利电影一区二区三区四区| 亚洲黄色av一区| 丝袜诱惑制服诱惑色一区在线观看 | 岛国av在线一区| av电影在线观看不卡| 欧美无乱码久久久免费午夜一区| 日韩一区二区不卡| 亚洲欧洲日产国产综合网| 五月综合激情日本mⅴ| 国产乱妇无码大片在线观看| 91猫先生在线| 欧美疯狂性受xxxxx喷水图片| 国产亚洲综合色| 国产精品99久久久久久宅男| 91丨porny丨户外露出| 日韩一本二本av| 亚洲天堂精品视频| 狠狠狠色丁香婷婷综合激情| 色综合久久久网| 久久伊99综合婷婷久久伊| 亚洲丝袜美腿综合| 蜜臀av亚洲一区中文字幕| 91美女片黄在线观看| 久久久久国产精品免费免费搜索| 亚洲激情网站免费观看| 国产在线日韩欧美| 欧美在线视频日韩| 成人免费在线视频观看| 玖玖九九国产精品| 欧美日韩一级片在线观看| 国产精品欧美久久久久一区二区| 五月激情综合色| 日本精品一区二区三区高清| 国产性色一区二区| 美女视频黄 久久| 欧洲精品一区二区三区在线观看| 亚洲国产精品精华液2区45| 美国三级日本三级久久99| 欧美视频一区二区三区| 亚洲日穴在线视频| 国产成人综合自拍| 欧美videos大乳护士334| 日韩有码一区二区三区| 在线观看不卡视频| 亚洲天堂免费看| a在线播放不卡| 久久蜜桃av一区二区天堂| 美女视频黄频大全不卡视频在线播放| 欧美另类变人与禽xxxxx| 亚洲一区二区在线视频| 色8久久人人97超碰香蕉987| 亚洲欧洲日韩综合一区二区| 不卡视频在线看| 国产精品国产a| 成人91在线观看| 日韩一区在线播放| 91在线视频在线| 国产精品乱码人人做人人爱| 成人高清在线视频| 国产精品国产三级国产| 91在线精品一区二区三区| 1区2区3区国产精品| 91在线视频观看| 亚洲综合区在线| 欧美三电影在线| 视频一区视频二区中文字幕| 欧美一区二区视频网站| 毛片一区二区三区| 久久久另类综合| 国产jizzjizz一区二区| 亚洲人成网站在线| 欧美性生活久久| 日本欧美一区二区| 亚洲精品在线三区| 国产成人精品亚洲午夜麻豆| 国产精品久久夜| 欧美日韩一级视频| 久久99国产精品免费| 国产嫩草影院久久久久| 色哟哟精品一区| 日韩一区精品视频| 久久精品亚洲精品国产欧美| 91最新地址在线播放| 亚洲成人免费电影| 精品成人免费观看| 91麻豆国产自产在线观看| 亚洲高清中文字幕| 久久伊人蜜桃av一区二区| 91老司机福利 在线| 日韩二区三区在线观看|