Cambio de pin de entrada digital a PA10
Dependencies: BufferedSerial PinDetect mbed
Fork of DTK-MEGAPACA_NUCLEO by
funciones_basicas.h@15:c347d12a472b, 2018-04-10 (annotated)
- 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?
User | Revision | Line number | New 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 | } |