The_Dutchman

Touchscreen Action Function Keypad

Feb 24th, 2012
103
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 2.79 KB | None | 0 0
  1. void action5_51(void){
  2.     unsigned long parameters[3]={0,0,0};
  3.     uint8_t i=0,tokencounter=1,tokencounterold=1;
  4.     char buf[9];
  5.     bool nextsubstract=true;
  6.     T6963cWriteChunkAt_P(T6963C_ADDR_GRAPHIC,Settings,sizeof(Settings));
  7.     //Reading Settings from display
  8.     T6963cPutStringXY_P(0,1,PSTR("F start:"));
  9.     T6963cPutStringXY_P(0,2,PSTR("F step :"));
  10.     T6963cPutStringXY_P(0,3,PSTR("F stop :"));
  11.     T6963cPutStringXY_P(2,4,PSTR("Values(Khz)"));
  12.     T6963cCursorBlinkTxtGrph(1);
  13.     T6963cCursorPattern(1);
  14.     T6963cSetCursorXY(8,1);
  15.  
  16.     while (stateEventEval(currentState,cor[0],cor[1]) != ENTER)
  17.     {
  18.         coord = touch_read(5,tchcal);  
  19.         cor[0] = *coord;
  20.         cor[1] = *(coord+1);
  21.         switch (stateEventEval(currentState,cor[0],cor[1]))
  22.         {
  23.         case NUM0 : if (parameters[i]!=0 &&tokencounter<8)
  24.         {parameters[i] *= 10;tokencounter++;}       break;
  25.         case NUM1 : if (tokencounter < 8)
  26.         {parameters[i] *= 10;parameters[i] += 1;tokencounter++;}    break;
  27.         case NUM2 : if (tokencounter < 8)
  28.         {parameters[i] *= 10;parameters[i] += 2;tokencounter++;}    break;
  29.         case NUM3 : if (tokencounter < 8)
  30.         {parameters[i] *= 10;parameters[i] += 3;tokencounter++;}    break;
  31.         case NUM4 : if (tokencounter < 8)
  32.         {parameters[i] *= 10;parameters[i] += 4;tokencounter++;}    break;
  33.         case NUM5 : if (tokencounter < 8)
  34.         {parameters[i] *= 10;parameters[i] += 5;tokencounter++;}    break;
  35.         case NUM6 : if (tokencounter < 8)
  36.         {parameters[i] *= 10;parameters[i] += 6;tokencounter++;}    break;
  37.         case NUM7 : if (tokencounter < 8)
  38.         {parameters[i] *= 10;parameters[i] += 7;tokencounter++;}    break;
  39.         case NUM8 : if (tokencounter < 8)
  40.         {parameters[i] *= 10;parameters[i] += 8;tokencounter++;}    break;
  41.         case NUM9 : if (tokencounter < 8)
  42.         {parameters[i] *= 10;parameters[i] += 9;tokencounter++;}    break;
  43.         case NUMENTER :
  44.             i += 1;tokencounter=1;tokencounterold=1;
  45.             nextsubstract=true;                                
  46.         break;
  47.         case NUMBACK :
  48.         if(tokencounter!=0)
  49.         {
  50.             if (parameters[i] != 0)
  51.                 {
  52.                     parameters[i] -= (parameters[i] % 10);
  53.                     parameters[i] /=10;
  54.                     if(tokencounter != 1){tokencounter-=1;}else{}
  55.                 }else{nextsubstract = true;}   
  56.         }      
  57.             break;
  58.         }  
  59.             if (nextsubstract==true && tokencounter != tokencounterold){tokencounter--;nextsubstract=false;}
  60.             tokencounterold = tokencounter;
  61.         //  if(i>=3)break;
  62.             T6963cSetCursorXY((7+tokencounter),(1+i));
  63.            
  64.             CsettingsFStart = parameters[0];
  65.             sprintf(buf,"%lu",parameters[0]);
  66.             //fillwithspaces(buf,9);
  67.             T6963cPutStringXY(8,1,buf);
  68.                
  69.            
  70.             CsettingsFStep =  parameters[1];
  71.             sprintf(buf,"%lu",parameters[1]);
  72.             //fillwithspaces(buf,9);
  73.             T6963cPutStringXY(8,2,buf);
  74.            
  75.             CsettingsFStop =  parameters[2];
  76.             sprintf(buf,"%lu",parameters[2]);
  77.             //fillwithspaces(buf,9);
  78.             T6963cPutStringXY(8,3,buf);
  79.            
  80.     }
  81.     //Disable cursor
  82.     T6963cCursorBlinkTxtGrph(0);
  83.     fireEventENTER = true;
  84. }
Advertisement
Add Comment
Please, Sign In to add comment