![](/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@7:0ec9cc5b9fe0, 2018-01-19 (annotated)
- Committer:
- fmanzano_dtk
- Date:
- Fri Jan 19 18:43:47 2018 +0000
- Revision:
- 7:0ec9cc5b9fe0
- Parent:
- 6:e0f528571367
- Child:
- 9:04f9da6bc784
Se agrega filtrado de OK enviados constantemente por el GV300. Se elimina libreria para maple mini que no es necesaria en el nucleo. Se cambio pin de MYLED
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 | 7:0ec9cc5b9fe0 | 89 | if (strstr(buffer, GV300_OK) != NULL) { |
fmanzano_dtk | 7:0ec9cc5b9fe0 | 90 | x = 3; // El GV300 se la pasa mandando OK |
fmanzano_dtk | 7:0ec9cc5b9fe0 | 91 | } |
fmanzano_dtk | 7:0ec9cc5b9fe0 | 92 | |
fmanzano_dtk | 6:e0f528571367 | 93 | return(x); |
fmanzano_dtk | 6:e0f528571367 | 94 | } |