Módulo que maneja la comunicación del micro con el módem. En este módulo se implementan las máquinas de estados para realizar llamadas, enviar mensajes y configurar el modem. Además, se definen los celulares de notificación junto con las funciones necesarias para modificarlos y consultarlos. Define un proceso que filtra los comandos recibidos desde la Uart.
Más...
#include "uart.h"
#include "gsm.h"
#include "shell.h"
#include "timer.h"
#include "car-app.h"
#include <string.h>
Ir al código fuente de este archivo.
Funciones |
void | send_sms (char *phone_number, char *msj_text) |
| Prepara el mensaje a ser enviado.
|
void | continue_sending_sms () |
| Máquina de estados que termina de enviar el sms preparado por send_sms(). Envía información al modem gsm, y espera respuesta del mismo para continuar con el flujo de información esperado.
|
void | call () |
| Máquina de estados encargada de realizar las llamadas. Envía comando AT para realizar la llamada y espera que la llamada finalice.
|
void | config_modem () |
| Esta función es la máquina de estados que realiza la configuración inicial del modem. Configura el modem en modo texto, que reenvíe mensajes recibidos por el puerto serie, que no mande ID de llamante, y que no mande por el puerto serial un eco de lo recibido por el mismo.
|
void | stream_deco () |
| Función que se encarga de filtrar lo obtenido por la uart, para luego llamar al proceso correspondiente. Si recibe un comando se encarga de ejecutar el shell. Si lo que recibe no es un comando, no modifica lo recibido y llama a la máquina de estados necesaria para continuar con el flujo. No recibe parámetros de entrada, sin embargo, modifica el buffer de recepción.
|
void | set_first_phone (char *cel) |
| Configura el celular principal.
|
void | set_second_phone (char *cel) |
| Configura el celular secundario.
|
char * | get_first_phone () |
| Función pública que retorna el celular primario.
|
char * | get_second_phone () |
| Función pública que retorna el celular secundario.
|
Variables |
int | estado |
| Variable tipo int que indica el estado del envío del SMS.
|
int | estate_config_modem = ATEO |
| Variable tipo int que indica el estado en que se encuentra la configuración del módem.
|
int | call_state = DO_CALL |
| Variable tipo int que indica el estado de la llamada de voz.
|
char | msj_text [70] |
| Variable tipo arreglo de caracteres usada para guardar el texto del SMS a enviar.
|
char | recibed_info [70] |
| Variable tipo arreglo de caracteres usada para almacenar el mensaje de texto que se recibe.
|
char | text_to_send [100] |
| Variable tipo arreglo de caracteres donde se guarda el texto a enviar al módem.
|
char * | modem_response |
| Variable tipo char* usada para almacenar la respuesta del módem.
|
buffer | RXbuffer |
| Variable tipo buffer para la recepción.
|
Descripción detallada
Módulo que maneja la comunicación del micro con el módem. En este módulo se implementan las máquinas de estados para realizar llamadas, enviar mensajes y configurar el modem. Además, se definen los celulares de notificación junto con las funciones necesarias para modificarlos y consultarlos. Define un proceso que filtra los comandos recibidos desde la Uart.
- Autor:
- Juan Martín Ortega, Ramiro Barrón, Andrea Cukerman
- Fecha:
- Junio 2012
Definición en el archivo gsm.c.
Documentación de las enumeraciones
Define los estados de la máquina de estados encargada de configurar el módem.
- Valores de enumeraciones:
ATEO |
|
CMGF |
|
CNMI |
|
CLIP |
|
END_C |
|
Definición en la línea 54 del archivo gsm.c.
Define los estados de la máquina de estados encargada de enviar los SMS.
- Valores de enumeraciones:
SEND_PHONE_NUMBER |
|
SEND_TEXT |
|
Definición en la línea 42 del archivo gsm.c.
Define los estados de la máquina de estados encargada de realizar llamadas de voz.
- Valores de enumeraciones:
-
Definición en la línea 48 del archivo gsm.c.
Documentación de las funciones
Máquina de estados encargada de realizar las llamadas. Envía comando AT para realizar la llamada y espera que la llamada finalice.
Definición en la línea 197 del archivo gsm.c.
Esta función es la máquina de estados que realiza la configuración inicial del modem. Configura el modem en modo texto, que reenvíe mensajes recibidos por el puerto serie, que no mande ID de llamante, y que no mande por el puerto serial un eco de lo recibido por el mismo.
Definición en la línea 236 del archivo gsm.c.
void continue_sending_sms |
( |
| ) |
|
Máquina de estados que termina de enviar el sms preparado por send_sms(). Envía información al modem gsm, y espera respuesta del mismo para continuar con el flujo de información esperado.
Definición en la línea 151 del archivo gsm.c.
char * get_first_phone |
( |
| ) |
|
Función pública que retorna el celular primario.
- Devuelve:
- Celular primario.
Definición en la línea 384 del archivo gsm.c.
char * get_second_phone |
( |
| ) |
|
Función pública que retorna el celular secundario.
- Devuelve:
- Celular secundario.
Definición en la línea 396 del archivo gsm.c.
void send_sms |
( |
char * |
phone_number, |
|
|
char * |
msj_text |
|
) |
| |
Prepara el mensaje a ser enviado.
- Parámetros:
-
phone_number | Destinatario del mensaje. |
msj_text | Contenido del mensaje. |
Definición en la línea 131 del archivo gsm.c.
void set_first_phone |
( |
char * |
cel | ) |
|
Configura el celular principal.
- Parámetros:
-
Definición en la línea 344 del archivo gsm.c.
void set_second_phone |
( |
char * |
cel | ) |
|
Configura el celular secundario.
- Parámetros:
-
Definición en la línea 364 del archivo gsm.c.
Función que se encarga de filtrar lo obtenido por la uart, para luego llamar al proceso correspondiente. Si recibe un comando se encarga de ejecutar el shell. Si lo que recibe no es un comando, no modifica lo recibido y llama a la máquina de estados necesaria para continuar con el flujo. No recibe parámetros de entrada, sin embargo, modifica el buffer de recepción.
Definición en la línea 307 del archivo gsm.c.
Documentación de las variables
Variable tipo int que indica el estado de la llamada de voz.
Definición en la línea 89 del archivo gsm.c.
Variable tipo int que indica el estado del envío del SMS.
Definición en la línea 77 del archivo gsm.c.
estate_config_modem = ATEO |
Variable tipo int que indica el estado en que se encuentra la configuración del módem.
Definición en la línea 83 del archivo gsm.c.
Variable tipo char* usada para almacenar la respuesta del módem.
Definición en la línea 113 del archivo gsm.c.
Variable tipo arreglo de caracteres usada para guardar el texto del SMS a enviar.
Definición en la línea 95 del archivo gsm.c.
Variable tipo arreglo de caracteres usada para almacenar el mensaje de texto que se recibe.
Definición en la línea 101 del archivo gsm.c.
Variable tipo buffer para la recepción.
Definición en la línea 79 del archivo uart.c.
Variable tipo arreglo de caracteres donde se guarda el texto a enviar al módem.
Definición en la línea 107 del archivo gsm.c.