Projet3i4

Revision:
0:f0c9c47e4edd
Child:
1:bb98d7d1e25f
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/AnalogTest.cpp	Mon Apr 23 14:40:40 2012 +0000
@@ -0,0 +1,92 @@
+#include "AnalogTest.h"
+
+AnalogIn In15(p15);
+AnalogIn In16(p16);
+AnalogIn In17(p17);
+AnalogOut Out18(p18);
+AnalogIn In19(p19);
+AnalogIn In20(p20);
+
+void v_TestCAN_CNA(){
+    char char1 = 0;
+    float val=1;
+    int aff = 0;
+    cout<<"\033[2J";
+    cout<<"\033[H";
+    
+    while(char1 != 'q'){
+
+        
+        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";
+       }
+       
+        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 ++;
+     }
+     
+     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