Projet3i4

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