Cambio de pin de entrada digital a PA10
Dependencies: BufferedSerial PinDetect mbed
Fork of DTK-MEGAPACA_NUCLEO by
Diff: main.cpp
- Revision:
- 12:35db44c28845
- Parent:
- 11:780b02b6a035
- Child:
- 13:e3a1657843c0
diff -r 780b02b6a035 -r 35db44c28845 main.cpp --- a/main.cpp Mon Feb 26 22:59:46 2018 +0000 +++ b/main.cpp Fri Mar 02 12:56:05 2018 -0600 @@ -19,8 +19,8 @@ ************************************** */ BufferedSerial gv300(USBTX, USBRX); //Serial pcusb(USBTX, USBRX); -InterruptIn input(PA_9); -DigitalOut myled(PB_3); +InterruptIn input(PC_13); //PA_9 +DigitalOut myled(PA_5); //PB_3 // DECLARACIÓN DE VARIABLES //************************************** @@ -28,9 +28,8 @@ int contador_tramas = 2; // Para contar las tramas enviadas a SKT300 int factor = 1; // Para multiplicar int i = 0; // Uso genérico -int apagar = 0; -bool activa_1 = false; -bool activa_2 = false; +int contador_pulsos = 0; +bool apagar = false; char skytrack_frame[128]; // Salida de datos para SKT300 char buffered_frame[128]; // Salida temporal de datos @@ -43,7 +42,7 @@ void pressed_f() { - activa_1 = true; + contador_pulsos++; } int main() { @@ -60,31 +59,28 @@ funcionando.start(); while(1) { - myled = !myled; - wait(0.5); + //myled = !myled; + //wait(0.5); // Validar puslsos. - if (activa_1) { - wait_ms(500); - activa_2 = input.read(); - - if (!(activa_2)) { - apagar = 1; - activa_1 = false; - activa_2 = false; + if (contador_pulsos >= 1) { + myled = 1; + wait(5.0); + if (contador_pulsos == PULSOS_APAGAR) { + apagar = true; } else { - apagar = 0; - activa_1 = false; - activa_2 = false; + apagar = false; } + contador_pulsos = 0; + myled = 0; } // CONSULTAR SI SE HA PRESIONADO EL BOTÓN - if ((apagar == 1) && (apagando_cp.read() < 0.5)) { + if ((apagar) && (apagando_cp.read() < 0.5)) { //pcusb.printf("\r\nBoton de panico presionado.\r\n"); //pcusb.printf("Apagando en T-15\r\n"); - apagar = 0; + apagar = false; apagando_cp.start(); sprintf(skytrack_frame,"%s%s%s%s%04X%s", CABECERA_TX, CODIGO_INT, INIT_SHUTDOWN, @@ -151,7 +147,10 @@ //pcusb.printf("Apagado remoto -FALLIDO!\r\n"); } } else { - gv300.printf("%s\r\n", SHUTDOWN_ERRO); + sprintf(skytrack_frame,"%s%s%s%s%04X%s", + CABECERA_TX, CODIGO_INT, SHUTDOWN_ERRO, + FIN_CABECERA_TX, contador_tramas, ULTIMO_CARACTER); + gv300.printf("%s\r\n", skytrack_frame); //pcusb.printf("Apagado remoto -FALLIDO!\r\n"); } }