Test carte

LibTest.cpp

Committer:
fabienlepoutre
Date:
2012-02-05
Revision:
1:c7eef0f145fc
Parent:
0:5d57f03fdcca

File content as of revision 1:c7eef0f145fc:

#include <LibTest.h>


AnalogIn In15(p15);
AnalogIn In16(p16);
AnalogIn In17(p17);
AnalogOut Out18(p18);
AnalogIn In19(p19);
AnalogIn In20(p20);

int i_IntroTest(){
    int choix;
    pc.printf("\n\n\r         Programme de test \n\n\r");
    pc.printf("Selectionner le test a effectuer: \n\r");
    pc.printf("1. CAN / CNA \n\r");
    
    pc.printf("Choix : ");
    pc.scanf("%d", &choix);
    pc.printf("%d \n \r", choix);
    
    
    return choix;
}

void v_TestCAN_CNA(){
    char char1 = 0;
    float val=1;
    int aff = 0;
    pc.printf("\033[2J");
    pc.printf("\033[H");
    
    while(char1 != 'q'){

        
        pc.printf("valeur testee = %f : \n\r", val);
        
        int result = i_TestPorts(val, aff);
        aff =0;
        if((result == 6)&&val<3.3){
            pc.printf("Il y a %d ports defaillants et V < 3,3V => Probleme sur Port Analog Out ", result);
       }
       
        pc.printf("Continuer? y / q voir valeur des ports : v \r\n");
        char1 = pc.getc();
        if(char1 == 'v'){
            aff = 1;
        }
        
        val = val + 0.2;
        if(val >= 3.3){
            val = 0;
        }
        
        pc.printf("\033[2J");
        pc.printf("\033[H");
        
    }
} 


int i_TestPorts(float val, int aff){
     int ret = 0;
     val = val/3.3;
     Out18 = val;

     printf("Compte rendu du test : \r\n");
     if((In15.read() < (val-0.01))||(In15 > val + 0.01)){
        printf("Port p15 inexact \n\r");
        ret ++;
     }
     if((In16.read() < (val-0.01))||(In16 > val + 0.01)){
        printf("Port p16 inexact \n\r");
        ret ++;
     }
     
     if((In17.read() < (val-0.01))||(In17 > val + 0.01)){
        printf("Port p17 inexact \n\r");
        ret ++;
     }     
     
     if((Out18.read() < (val-0.01))||(Out18.read() > val + 0.01)){
        printf("Port p18 inexact \n\r");
        ret ++;
     }
     
     if((In19.read() < (val-0.01))||(In19 > val + 0.01)){
        printf("Port p19 inexact \n\r");     
        ret ++;
     }
     
     if((In20.read() < (val-0.01))||(In20 > val + 0.01)){
        printf("Port p20 inexact \n\r");
        ret ++;
     }
     if(aff ==1){
        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);  
        }                     
     
     return ret;
     
}