Cambio de pin de entrada digital a PA10

Dependencies:   BufferedSerial PinDetect mbed

Fork of DTK-MEGAPACA_NUCLEO by Felícito Manzano

Committer:
integracion_hw
Date:
Tue Apr 10 20:32:53 2018 +0000
Revision:
15:c347d12a472b
Parent:
9:04f9da6bc784
Se cambia pin de entrada digital a PA10(cable blanco)

Who changed what in which revision?

UserRevisionLine numberNew contents of line
fmanzano_dtk 6:e0f528571367 1 /*
fmanzano_dtk 6:e0f528571367 2 * - Proyecto: Apagado Temporizado MEGAPACA
fmanzano_dtk 6:e0f528571367 3 * - Lenguaje: ANSI C/C++ (mbed)
fmanzano_dtk 6:e0f528571367 4 * - Tarjeta: NUCLEO F303K8
fmanzano_dtk 6:e0f528571367 5 * - Referencias:
fmanzano_dtk 6:e0f528571367 6 * - Fecha: 2017/Septiembre
fmanzano_dtk 6:e0f528571367 7 * - Autor(es): Felícito Manzano /
fmanzano_dtk 6:e0f528571367 8 Mario Vargas
fmanzano_dtk 6:e0f528571367 9 * - Compañia: V.S.R. de Centroamérica
fmanzano_dtk 6:e0f528571367 10 * - País: SV / CR
fmanzano_dtk 6:e0f528571367 11 */
fmanzano_dtk 6:e0f528571367 12
fmanzano_dtk 6:e0f528571367 13 #include "constantes.hpp"
fmanzano_dtk 6:e0f528571367 14 #include "BufferedSerial.h"
fmanzano_dtk 6:e0f528571367 15
fmanzano_dtk 6:e0f528571367 16 int incrementar_trama(int *tramas)
fmanzano_dtk 6:e0f528571367 17 {
fmanzano_dtk 6:e0f528571367 18 /*
fmanzano_dtk 6:e0f528571367 19 Esta función recibe un entero que es el contador de tramas
fmanzano_dtk 6:e0f528571367 20 realiza el incremento en uno y verifica si el valor es mayor
fmanzano_dtk 6:e0f528571367 21 o igual que 65535 que es equivalente a 0xFFFF. Si se cumple
fmanzano_dtk 6:e0f528571367 22 la condución se regresa el valor a 1.
fmanzano_dtk 6:e0f528571367 23 Esta función siempre retorna 0.
fmanzano_dtk 6:e0f528571367 24 */
fmanzano_dtk 6:e0f528571367 25 int actual = *tramas;
fmanzano_dtk 6:e0f528571367 26 int limite = 65535;
fmanzano_dtk 6:e0f528571367 27 actual++;
fmanzano_dtk 6:e0f528571367 28
fmanzano_dtk 6:e0f528571367 29 if (actual > limite) {
fmanzano_dtk 6:e0f528571367 30 *tramas = 1;
fmanzano_dtk 6:e0f528571367 31 } else {
fmanzano_dtk 6:e0f528571367 32 *tramas = actual;
fmanzano_dtk 6:e0f528571367 33 }
fmanzano_dtk 6:e0f528571367 34 return(0);
fmanzano_dtk 6:e0f528571367 35 }
fmanzano_dtk 6:e0f528571367 36
fmanzano_dtk 9:04f9da6bc784 37 int iniciando(BufferedSerial *puerto_cp)
fmanzano_dtk 6:e0f528571367 38 {
fmanzano_dtk 6:e0f528571367 39 /*
fmanzano_dtk 6:e0f528571367 40 Esta función recibe los puertos Seriales del GV300 y de la PC
fmanzano_dtk 6:e0f528571367 41 conectada por USB para notificar que se ha reiniciado la interfaz.
fmanzano_dtk 6:e0f528571367 42 Siempre retorna 0
fmanzano_dtk 6:e0f528571367 43 */
fmanzano_dtk 6:e0f528571367 44 puerto_cp -> printf("%s\r\n", RESET_TXT);
fmanzano_dtk 6:e0f528571367 45 wait_ms(T_TX);
fmanzano_dtk 6:e0f528571367 46 return(0);
fmanzano_dtk 6:e0f528571367 47 }
fmanzano_dtk 6:e0f528571367 48
fmanzano_dtk 9:04f9da6bc784 49 bool leer_uart(BufferedSerial *puerto, char buffer[128])
fmanzano_dtk 6:e0f528571367 50 {
fmanzano_dtk 6:e0f528571367 51 /* Esta función se encarga de leer el puerto serial y
fmanzano_dtk 6:e0f528571367 52 almacenar la respuesta en un buffer de datos de entrada.
fmanzano_dtk 6:e0f528571367 53 Si se lee información, la función devuelve 1, sino 0. */
fmanzano_dtk 6:e0f528571367 54
fmanzano_dtk 9:04f9da6bc784 55 bool x = false;
fmanzano_dtk 9:04f9da6bc784 56 int w = 0;
fmanzano_dtk 9:04f9da6bc784 57
fmanzano_dtk 6:e0f528571367 58
fmanzano_dtk 6:e0f528571367 59 if (puerto -> readable()) {
fmanzano_dtk 9:04f9da6bc784 60 x = true;
fmanzano_dtk 6:e0f528571367 61 while (puerto -> readable()) {
fmanzano_dtk 6:e0f528571367 62 char incoming_char = puerto -> getc();
fmanzano_dtk 6:e0f528571367 63 buffer[w] = incoming_char;
fmanzano_dtk 6:e0f528571367 64 w++;
fmanzano_dtk 6:e0f528571367 65 }
fmanzano_dtk 6:e0f528571367 66 buffer[w] = '\0';
fmanzano_dtk 6:e0f528571367 67 }
fmanzano_dtk 6:e0f528571367 68 return(x);
fmanzano_dtk 6:e0f528571367 69 }
fmanzano_dtk 6:e0f528571367 70
fmanzano_dtk 6:e0f528571367 71 int procesar_trama(char buffer[128])
fmanzano_dtk 6:e0f528571367 72 {
fmanzano_dtk 6:e0f528571367 73 /* Esta función se encarga de verificar que se ha recibido una trama desde Skytrack
fmanzano_dtk 6:e0f528571367 74 o si el comando de apagado se ejecutó apropiadamente. */
fmanzano_dtk 6:e0f528571367 75
fmanzano_dtk 6:e0f528571367 76 int x = 0;
fmanzano_dtk 6:e0f528571367 77
fmanzano_dtk 6:e0f528571367 78 if (strstr(buffer, ABORT_TXT) != NULL) {
fmanzano_dtk 6:e0f528571367 79 x = 1; // Se recibió trama con "ABORTAR"
fmanzano_dtk 6:e0f528571367 80 }
fmanzano_dtk 6:e0f528571367 81
fmanzano_dtk 6:e0f528571367 82 if (strstr(buffer, GTOUT_TXT) != NULL) {
fmanzano_dtk 6:e0f528571367 83 x = 2; // Se recibió trama con "ACK:GTOUT"
fmanzano_dtk 6:e0f528571367 84 }
fmanzano_dtk 6:e0f528571367 85
fmanzano_dtk 7:0ec9cc5b9fe0 86 if (strstr(buffer, GV300_OK) != NULL) {
fmanzano_dtk 7:0ec9cc5b9fe0 87 x = 3; // El GV300 se la pasa mandando OK
fmanzano_dtk 7:0ec9cc5b9fe0 88 }
fmanzano_dtk 7:0ec9cc5b9fe0 89
fmanzano_dtk 6:e0f528571367 90 return(x);
fmanzano_dtk 6:e0f528571367 91 }