Pedro Colla / Mbed 2 deprecated CTo_VyV_TPAlarma

Dependencies:   mbed

Committer:
pcolla
Date:
Sat Nov 16 00:48:19 2013 +0000
Revision:
0:f42f18c56a88
alarma VyV

Who changed what in which revision?

UserRevisionLine numberNew contents of line
pcolla 0:f42f18c56a88 1 #include "mbed.h"
pcolla 0:f42f18c56a88 2 #include "alarma.h"
pcolla 0:f42f18c56a88 3
pcolla 0:f42f18c56a88 4 AnalogIn Ref(p19); //Pot 1
pcolla 0:f42f18c56a88 5 DigitalIn Pulsador(p14); //Joystick Center
pcolla 0:f42f18c56a88 6 DigitalOut Buzzer(p29); //Sirena
pcolla 0:f42f18c56a88 7 AnalogIn Valor(p20); //Pot 2 (Sensor Analogo)
pcolla 0:f42f18c56a88 8 DigitalOut Alive(LED2); //KeepAlive signal
pcolla 0:f42f18c56a88 9 DigitalOut Indicador(LED1); //LED de encendido
pcolla 0:f42f18c56a88 10 DigitalOut Luz(p23); //RGB red
pcolla 0:f42f18c56a88 11 DigitalIn Estado(p21); //Sensor Digital
pcolla 0:f42f18c56a88 12
pcolla 0:f42f18c56a88 13 int i=0;
pcolla 0:f42f18c56a88 14 int Titila = 1;
pcolla 0:f42f18c56a88 15 int On = 2;
pcolla 0:f42f18c56a88 16 int Off = 3;
pcolla 0:f42f18c56a88 17 bool check = true;
pcolla 0:f42f18c56a88 18 bool testResult = false;
pcolla 0:f42f18c56a88 19 int delaySirena = 1; //Factory configuration.
pcolla 0:f42f18c56a88 20 int testSirena = 1;
pcolla 0:f42f18c56a88 21 int delayLuz = 1; //Factory configuration.
pcolla 0:f42f18c56a88 22 int delayFactory = 2; //Factory configuration.
pcolla 0:f42f18c56a88 23 int AStatus = 0;
pcolla 0:f42f18c56a88 24 int DStatus = 0;
pcolla 0:f42f18c56a88 25 int An = 0;
pcolla 0:f42f18c56a88 26 int Di = 0;
pcolla 0:f42f18c56a88 27 int Prog;
pcolla 0:f42f18c56a88 28 int Auto = 1; //Armado automático al encender.
pcolla 0:f42f18c56a88 29
pcolla 0:f42f18c56a88 30 int main() {
pcolla 0:f42f18c56a88 31 Luz = 1;
pcolla 0:f42f18c56a88 32 Prog = 1;
pcolla 0:f42f18c56a88 33 Auto = 1;
pcolla 0:f42f18c56a88 34 while(true){
pcolla 0:f42f18c56a88 35 if(check == true)
pcolla 0:f42f18c56a88 36 testResult = Test();
pcolla 0:f42f18c56a88 37 while(testResult == 0){
pcolla 0:f42f18c56a88 38 Luz = 1;
pcolla 0:f42f18c56a88 39 LED(Titila);
pcolla 0:f42f18c56a88 40 KeepAlive();
pcolla 0:f42f18c56a88 41 if(Pulsador == true){
pcolla 0:f42f18c56a88 42 wait(5);
pcolla 0:f42f18c56a88 43 if(Pulsador == true){
pcolla 0:f42f18c56a88 44 check = 1; //Test habilitado.
pcolla 0:f42f18c56a88 45 break;
pcolla 0:f42f18c56a88 46 }
pcolla 0:f42f18c56a88 47 }
pcolla 0:f42f18c56a88 48 }
pcolla 0:f42f18c56a88 49 while(testResult){
pcolla 0:f42f18c56a88 50 Luz = 1;
pcolla 0:f42f18c56a88 51 if(Pulsador == true){
pcolla 0:f42f18c56a88 52 wait(5);
pcolla 0:f42f18c56a88 53 if(Pulsador == true){
pcolla 0:f42f18c56a88 54 Config(); //Modo programación en Fábrica.
pcolla 0:f42f18c56a88 55 }
pcolla 0:f42f18c56a88 56 }
pcolla 0:f42f18c56a88 57 Prog = 0; //Deshabilito modo programación hasta resetear.
pcolla 0:f42f18c56a88 58 LED(On);
pcolla 0:f42f18c56a88 59 while((Pulsador == false)&&(Auto != 1)){ //Esperando armado.
pcolla 0:f42f18c56a88 60 KeepAlive();
pcolla 0:f42f18c56a88 61 }
pcolla 0:f42f18c56a88 62 Auto = 0;
pcolla 0:f42f18c56a88 63 wait(0.05);
pcolla 0:f42f18c56a88 64 for(i=0;i<10;i++){ //Pulsador presionado > 5s => Test().
pcolla 0:f42f18c56a88 65 if(Pulsador){
pcolla 0:f42f18c56a88 66 wait(0.5);
pcolla 0:f42f18c56a88 67 check = true; //Test habilitado.
pcolla 0:f42f18c56a88 68 }
pcolla 0:f42f18c56a88 69 else {
pcolla 0:f42f18c56a88 70 check = false;
pcolla 0:f42f18c56a88 71 Armar();
pcolla 0:f42f18c56a88 72 break;
pcolla 0:f42f18c56a88 73 }
pcolla 0:f42f18c56a88 74 }
pcolla 0:f42f18c56a88 75 if(check == true)
pcolla 0:f42f18c56a88 76 break; //Go to Test.
pcolla 0:f42f18c56a88 77 }
pcolla 0:f42f18c56a88 78 }
pcolla 0:f42f18c56a88 79 }