Fabien Lepoutre
/
Prog_Projet
Projet3i4
Diff: AnalogTest.cpp
- Revision:
- 1:bb98d7d1e25f
- Parent:
- 0:f0c9c47e4edd
- Child:
- 2:e253b64effa0
--- a/AnalogTest.cpp Mon Apr 23 14:40:40 2012 +0000 +++ b/AnalogTest.cpp Tue Apr 24 14:51:28 2012 +0000 @@ -8,85 +8,88 @@ AnalogIn In20(p20); void v_TestCAN_CNA(){ - char char1 = 0; - float val=1; - int aff = 0; - cout<<"\033[2J"; - cout<<"\033[H"; + int choix=0; + printf("\033[2J"); + printf("\033[H"); - while(char1 != 'q'){ + while(choix != 3){ + printf("Test rampe : 1 \r\n Test pas a pas : 2\r\n Quitter : 3\r\n"); + scanf("%d", &choix); + switch (choix){ + case 1 : v_TestPortsRampe(); + break; + case 2 : v_TestPorts(); + break; + default : printf("Commande errone\r\n"); + break; + } + } +} - - cout<<"valeur testee = "<<val<<" \n\r"; - - int result = i_TestPorts(val, aff); - aff =0; - if((result == 6)&&val<3.3){ - cout<<"Il y a "<<result<<"ports defaillants et V < 3,3V => Probleme sur Port Analog Out \r\n"; +void v_TestPorts(){ + printf("\033[2J"); + printf("\033[H"); + float val =0; + int cont; + while(val<=1){ + printf("\033[2J"); + printf("\033[H"); + printf("\033[2J \n\r"); + printf("\033[H \n\r"); + + printf("valeur testee = %f\r\n", val*3.3); + Out18 = val; + printf("p15 =%f \r\n",In15.read()*3.3); + printf("p16 =%f \r\n",In16.read()*3.3); + printf("p17 =%f \r\n",In17.read()*3.3); + printf("p18 =%f \r\n",Out18.read()*3.3); + printf("p19 =%f \r\n",In19.read()*3.3); + printf("p20 =%f \r\n",In20.read()*3.3); + + val = val + 0.2; + printf("Appuyez sur une touche pour continuer \r\n"); + cont=getchar(); } - - cout<<"Continuer? y / q voir valeur des ports : v \r\n"; - cin>>char1; - if(char1 == 'v'){ - aff = 1; - } - - val = val + 0.2; - if(val >= 3.3){ - val = 0; - } - - cout<<"\033[2J \n\r"; - cout<<"\033[H \n\r"; - - } } -int i_TestPorts(float val, int aff){ - int ret = 0; - val = val/3.3; - Out18 = val; - - cout<<"Compte rendu du test : \r\n"; - if((In15.read() < (val-0.01))||(In15 > val + 0.01)){ - cout<<"Port p15 inexact \n\r"; - ret ++; - } - if((In16.read() < (val-0.01))||(In16 > val + 0.01)){ - cout<<"Port p16 inexact \n\r"; - ret ++; +void v_TestPortsRampe(){ + printf("Entree dans rampe\r\n"); + float val=0; + int IN[6]; + int i; + for(i=0; i<6; i++){ + IN[i]=0; } - if((In17.read() < (val-0.01))||(In17 > val + 0.01)){ - cout<<"Port p17 inexact \n\r"; - ret ++; - } - - if((Out18.read() < (val-0.01))||(Out18.read() > val + 0.01)){ - cout<<"Port p18 inexact \n\r"; - ret ++; - } - - if((In19.read() < (val-0.01))||(In19 > val + 0.01)){ - cout<<"Port p19 inexact \n\r"; - ret ++; - } - - if((In20.read() < (val-0.01))||(In20 > val + 0.01)){ - cout<<"Port p20 inexact \n\r"; - ret ++; - } - if(aff ==1){ - cout<<"p15 ="<<In15.read()*3.3<<" \r\n"; - cout<<"p16 ="<<In16.read()*3.3<<" \r\n"; - cout<<"p17 ="<<In17.read()*3.3<<" \r\n"; - cout<<"p18 ="<<Out18.read()*3.3<<" \r\n"; - cout<<"p19 ="<<In19.read()*3.3<<" \r\n"; - cout<<"p20 ="<<In20.read()*3.3<<" \r\n"; - - } - - return ret; - -} \ No newline at end of file + while(val <=1){ + Out18 = val; + if((In15.read() < (val-0.01))||(In15 > val + 0.01)){ + IN[0]++; + } + if((In16.read() < (val-0.01))||(In16 > val + 0.01)){ + IN[1]++; + } + + if((In17.read() < (val-0.01))||(In17 > val + 0.01)){ + IN[2]++; + } + + if((Out18.read() < (val-0.01))||(Out18.read() > val + 0.01)){ + IN[3]++; + } + + if((In19.read() < (val-0.01))||(In19 > val + 0.01)){ + IN[4]++; + } + + if((In20.read() < (val-0.01))||(In20 > val + 0.01)){ + IN[5]++; + } + val = val+0.05; + } + printf("Compte rendu du test sur 20 valeurs: \r\n"); + for(i=0; i<6; i++) + printf("Port %d : %d erreurs de lecture \r\n", i+15, IN[i]); +} + \ No newline at end of file