![](/media/cache/profiles/1be11c5070263813a6c631ecdba885ef.jpg.50x50_q85.png)
Cambio de pin de entrada digital a PA10
Dependencies: BufferedSerial PinDetect mbed
Fork of DTK-MEGAPACA_NUCLEO by
funciones_basicas.h@6:e0f528571367, 2018-01-19 (annotated)
- Committer:
- fmanzano_dtk
- Date:
- Fri Jan 19 14:51:02 2018 +0000
- Revision:
- 6:e0f528571367
- Child:
- 7:0ec9cc5b9fe0
Apagado remoto GTOUT temporizado despues de activacion de panico. version inicial
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 | 6:e0f528571367 | 37 | int booting_gtdat(BufferedSerial *puerto_cp, Serial *puerto_usb) |
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 | puerto_usb -> printf("\r\n*** BOOTING ***\r\n"); |
fmanzano_dtk | 6:e0f528571367 | 47 | puerto_usb -> printf("VSR de Centroamerica\r\n"); |
fmanzano_dtk | 6:e0f528571367 | 48 | puerto_usb -> printf("Serial Port - OK\r\n"); |
fmanzano_dtk | 6:e0f528571367 | 49 | wait_ms(T_TX); |
fmanzano_dtk | 6:e0f528571367 | 50 | return(0); |
fmanzano_dtk | 6:e0f528571367 | 51 | } |
fmanzano_dtk | 6:e0f528571367 | 52 | |
fmanzano_dtk | 6:e0f528571367 | 53 | int leer_uart(BufferedSerial *puerto, char buffer[128]) |
fmanzano_dtk | 6:e0f528571367 | 54 | { |
fmanzano_dtk | 6:e0f528571367 | 55 | /* Esta función se encarga de leer el puerto serial y |
fmanzano_dtk | 6:e0f528571367 | 56 | almacenar la respuesta en un buffer de datos de entrada. |
fmanzano_dtk | 6:e0f528571367 | 57 | Si se lee información, la función devuelve 1, sino 0. */ |
fmanzano_dtk | 6:e0f528571367 | 58 | |
fmanzano_dtk | 6:e0f528571367 | 59 | int w = 0; |
fmanzano_dtk | 6:e0f528571367 | 60 | int x = 0; |
fmanzano_dtk | 6:e0f528571367 | 61 | |
fmanzano_dtk | 6:e0f528571367 | 62 | if (puerto -> readable()) { |
fmanzano_dtk | 6:e0f528571367 | 63 | x = 1; |
fmanzano_dtk | 6:e0f528571367 | 64 | while (puerto -> readable()) { |
fmanzano_dtk | 6:e0f528571367 | 65 | char incoming_char = puerto -> getc(); |
fmanzano_dtk | 6:e0f528571367 | 66 | buffer[w] = incoming_char; |
fmanzano_dtk | 6:e0f528571367 | 67 | w++; |
fmanzano_dtk | 6:e0f528571367 | 68 | } |
fmanzano_dtk | 6:e0f528571367 | 69 | buffer[w] = '\0'; |
fmanzano_dtk | 6:e0f528571367 | 70 | } |
fmanzano_dtk | 6:e0f528571367 | 71 | return(x); |
fmanzano_dtk | 6:e0f528571367 | 72 | } |
fmanzano_dtk | 6:e0f528571367 | 73 | |
fmanzano_dtk | 6:e0f528571367 | 74 | int procesar_trama(char buffer[128]) |
fmanzano_dtk | 6:e0f528571367 | 75 | { |
fmanzano_dtk | 6:e0f528571367 | 76 | /* Esta función se encarga de verificar que se ha recibido una trama desde Skytrack |
fmanzano_dtk | 6:e0f528571367 | 77 | o si el comando de apagado se ejecutó apropiadamente. */ |
fmanzano_dtk | 6:e0f528571367 | 78 | |
fmanzano_dtk | 6:e0f528571367 | 79 | int x = 0; |
fmanzano_dtk | 6:e0f528571367 | 80 | |
fmanzano_dtk | 6:e0f528571367 | 81 | if (strstr(buffer, ABORT_TXT) != NULL) { |
fmanzano_dtk | 6:e0f528571367 | 82 | x = 1; // Se recibió trama con "ABORTAR" |
fmanzano_dtk | 6:e0f528571367 | 83 | } |
fmanzano_dtk | 6:e0f528571367 | 84 | |
fmanzano_dtk | 6:e0f528571367 | 85 | if (strstr(buffer, GTOUT_TXT) != NULL) { |
fmanzano_dtk | 6:e0f528571367 | 86 | x = 2; // Se recibió trama con "ACK:GTOUT" |
fmanzano_dtk | 6:e0f528571367 | 87 | } |
fmanzano_dtk | 6:e0f528571367 | 88 | |
fmanzano_dtk | 6:e0f528571367 | 89 | return(x); |
fmanzano_dtk | 6:e0f528571367 | 90 | } |