Fabien Lepoutre
/
Programme_Test
Test carte
Diff: LibTest.cpp
- Revision:
- 0:5d57f03fdcca
- Child:
- 1:c7eef0f145fc
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/LibTest.cpp Sun Feb 05 18:03:21 2012 +0000 @@ -0,0 +1,106 @@ +#include <LibTest.h> + +Serial pc(USBTX, USBRX); +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; + +}