Advertisement
Pagoniusz

Untitled

Apr 29th, 2015
299
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 2.40 KB | None | 0 0
  1. int CVICALLBACK takt (int panel, int control, int event,
  2.         void *callbackData, int eventData1, int eventData2)
  3. {
  4.     //******************************************************************************************
  5.     //                                      Tu deklaruj zmienne
  6.      
  7.     double x, y, z, alfa, beta;
  8.     const double pi = 3.14159;      // w math.h z jakiegoś powodu nie było M_PI
  9.      
  10.     //                                  koniec deklaracji zmiennych
  11.     //******************************************************************************************  
  12.      
  13.     switch (event)
  14.     {
  15.         case EVENT_TIMER_TICK:
  16.             if (AdisOpen())
  17.             {
  18.                 //******************************************************************************************
  19.                 //                  Tu wpisz procedury odczytu danych z czujnika i przetwarzania danych
  20.      
  21.                 x = AdisReadData(0x0A) * 0.6 / 1000;
  22.                 y = AdisReadData(0x0C) * 0.6 / 1000;
  23.                 z = AdisReadData(0x0E) * 0.6 / 1000;
  24.                  
  25.                 alfa = atan(x/( sqrt((y*y) + (z*z)) ));
  26.                 //beta = atan(y/( sqrt((x*x) + (z*z)) ));
  27.                  
  28.                 if(z < 0)
  29.                 {
  30.                     if(alfa > 0)
  31.                     {
  32.                         alfa = pi - alfa;
  33.                     }
  34.                     else
  35.                     {
  36.                         alfa = - pi - alfa;
  37.                     }
  38.                 }
  39.                  
  40.                 alfa = alfa * (180/pi);
  41.          
  42.                 SetCtrlVal(panelHandle, PANEL_NUMERIC_GX, x);              //wpisywanie wartości do komórek
  43.                 SetCtrlVal(panelHandle, PANEL_NUMERIC_GY, y);
  44.                 SetCtrlVal(panelHandle, PANEL_NUMERIC_GZ, z);
  45.                 SetCtrlVal(panelHandle, PANEL_NUMERICGAUGE, alfa);
  46.                  
  47.                 //                                  koniec procedur
  48.                 //******************************************************************************************            
  49.             }
  50.             else
  51.             {
  52.                 SetCtrlAttribute (panelHandle, PANEL_TIMER, ATTR_ENABLED, 0);  
  53.                 MessagePopup ("Przypomienie", "Zainicjalizuj ADIS 16XXX");
  54.                 SetCtrlVal(panelHandle,PANEL_BINARYSWITCH,0);  
  55.             }
  56.             break;
  57.     }
  58.     return 0;
  59. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement