CarApp
Notificaciones a celulares al detectar la alarma del auto activada.
 Todo Estructuras de Datos Archivos Funciones Variables Enumeraciones Valores de enumeraciones 'defines'
Referencia del Archivo shell_commands.c

Módulo donde se definen los comandos y la lista de los mismos con el puntero que apunta a la función y su descripción. En este módulo también se definen la lista de usuarios que tienen permitido modificar la configuración de la alarma. Más...

#include <string.h>
#include "aux_functions.h"
#include "shell_commands.h"
#include "gsm.h"
#include "timer.h"
#include "car-app.h"
#include "shell.h"

Ir al código fuente de este archivo.

'defines'

#define MAX_USERS   6
 Constante que define la máxima cantidad de usuarios permitidos a interactuar con el sistema.

Funciones

void activate (unsigned int argc, char **argv)
 Función que habilita el envío de notificaciones vía SMS. Envía al usuario un SMS de confirmación.
void deactivate (unsigned int argc, char **argv)
 Función que inhabilita el envío de notificaciones vía SMS. Envía al usuario un SMS de confirmación.
void send1 (unsigned int argc, char **argv)
 Función que envía una notificación vía SMS al celular configurado como primario.
void send2 (unsigned int argc, char **argv)
 Función que envía una notificación vía SMS al celular configurado como secundario.
void setTime (unsigned int argc, char **argv)
 Función que modifica la ventana de tiempo entre las notificaciones. Se espera el parámetro esté dado en minutos. Se considera además que los tiempos entre notificaciones son los mismos tanto para avisos entre 1er SMS y llamada, como entre llamada y 2º SMS.
void location (unsigned int argc, char **argv)
 Función NO IMPLEMENTADA AÚN que determina y notifica al usuario la ubicación actual según indique el GPS.
void credit (unsigned int argc, char **argv)
 Función NO IMPLEMENTADA que averigua con el proveedor de servicios cual es el saldo restante en el chip usado y se lo notifica al usuario vía SMS.
void help (unsigned int argc, char **argv)
 Función que devuelve en un SMS la lista con todos los comandos disponibles al momento. También, si se le pasa un comando como parámetro, devuelve la descripción del mismo o error si no existe.
void showConfig (unsigned int argc, char **argv)
 Función que envía un SMS con los parámetros de configuración actual. Esto es: estado de notificaciones, celulares primario y secundario, y tiempo entre notificaciones.
void addUser (unsigned int argc, char **argv)
 Función que agrega el usuario pasado como parámetro a la lista de usuarios habilitados a interactuar con el sistema.
void deleteUser (unsigned int argc, char **argv)
 Función que elimina el usuario pasado como parámetro de la lista de usuarios habilitados a interactuar con el sistema.
void showUser (unsigned int argc, char **argv)
 Función que envía un SMS con el listado de usuarios habilitados a interactuar con el sistema.

Variables

char alarm_reply [250]
 Variable tipo arreglo de caracteres usada para guardar el mensaje a enviar al usuario vía SMS.
shell_command commands []
 Variable tipo shell_command donde están listados todos los comandos disponibles. El arreglo debe terminar en {0,0,0}.
cell_phone users [MAX_USERS]
 Variable tipo cell_phone para almacenar los números de teléfono de los usuarios habilitados a interactuar con el sistema. El arreglo debe terminar en {"0"}.

Descripción detallada

Módulo donde se definen los comandos y la lista de los mismos con el puntero que apunta a la función y su descripción. En este módulo también se definen la lista de usuarios que tienen permitido modificar la configuración de la alarma.

Autor:
Juan Martín Ortega, Ramiro Barrón, Andrea Cukerman
Fecha:
Junio 2012

Definición en el archivo shell_commands.c.


Documentación de los 'defines'

#define MAX_USERS   6

Constante que define la máxima cantidad de usuarios permitidos a interactuar con el sistema.

Definición de constantes privadas MAX_USERS 6

Definición en la línea 40 del archivo shell_commands.c.


Documentación de las funciones

void activate ( unsigned int  argc,
char **  argv 
)

Función que habilita el envío de notificaciones vía SMS. Envía al usuario un SMS de confirmación.

Parámetros:
argcCantidad de parámetros.
argvParámetros del comando.

Definición en la línea 93 del archivo shell_commands.c.

addUser ( unsigned int  argc,
char **  argv 
)

Función que agrega el usuario pasado como parámetro a la lista de usuarios habilitados a interactuar con el sistema.

Parámetros:
argcCantidad de parámetros.
argvParámetros del comando.

Definición en la línea 288 del archivo shell_commands.c.

credit ( unsigned int  argc,
char **  argv 
)

Función NO IMPLEMENTADA que averigua con el proveedor de servicios cual es el saldo restante en el chip usado y se lo notifica al usuario vía SMS.

Parámetros:
argcCantidad de parámetros.
argvParámetros del comando.

Definición en la línea 205 del archivo shell_commands.c.

void deactivate ( unsigned int  argc,
char **  argv 
)

Función que inhabilita el envío de notificaciones vía SMS. Envía al usuario un SMS de confirmación.

Parámetros:
argcCantidad de parámetros.
argvParámetros del comando.

Definición en la línea 106 del archivo shell_commands.c.

deleteUser ( unsigned int  argc,
char **  argv 
)

Función que elimina el usuario pasado como parámetro de la lista de usuarios habilitados a interactuar con el sistema.

Parámetros:
argcCantidad de parámetros.
argvParámetros del comando.

Definición en la línea 335 del archivo shell_commands.c.

help ( unsigned int  argc,
char **  argv 
)

Función que devuelve en un SMS la lista con todos los comandos disponibles al momento. También, si se le pasa un comando como parámetro, devuelve la descripción del mismo o error si no existe.

Parámetros:
argcCantidad de parámetros.
argvParámetros del comando.

Definición en la línea 219 del archivo shell_commands.c.

location ( unsigned int  argc,
char **  argv 
)

Función NO IMPLEMENTADA AÚN que determina y notifica al usuario la ubicación actual según indique el GPS.

Parámetros:
argcCantidad de parámetros.
argvParámetros del comando.

Definición en la línea 193 del archivo shell_commands.c.

send1 ( unsigned int  argc,
char **  argv 
)

Función que envía una notificación vía SMS al celular configurado como primario.

Parámetros:
argcCantidad de parámetros.
argvParámetros del comando.

Definición en la línea 118 del archivo shell_commands.c.

send2 ( unsigned int  argc,
char **  argv 
)

Función que envía una notificación vía SMS al celular configurado como secundario.

Parámetros:
argcCantidad de parámetros.
argvParámetros del comando.

Definición en la línea 139 del archivo shell_commands.c.

setTime ( unsigned int  argc,
char **  argv 
)

Función que modifica la ventana de tiempo entre las notificaciones. Se espera el parámetro esté dado en minutos. Se considera además que los tiempos entre notificaciones son los mismos tanto para avisos entre 1er SMS y llamada, como entre llamada y 2º SMS.

Parámetros:
argcCantidad de parámetros.
argvParámetros del comando.

Definición en la línea 170 del archivo shell_commands.c.

showConfig ( unsigned int  argc,
char **  argv 
)

Función que envía un SMS con los parámetros de configuración actual. Esto es: estado de notificaciones, celulares primario y secundario, y tiempo entre notificaciones.

Parámetros:
argcCantidad de parámetros.
argvParámetros del comando.

Definición en la línea 262 del archivo shell_commands.c.

showUser ( unsigned int  argc,
char **  argv 
)

Función que envía un SMS con el listado de usuarios habilitados a interactuar con el sistema.

Parámetros:
argcCantidad de parámetros.
argvParámetros del comando.

Definición en la línea 389 del archivo shell_commands.c.


Documentación de las variables

alarm_reply[250]

Variable tipo arreglo de caracteres usada para guardar el mensaje a enviar al usuario vía SMS.

Definición en la línea 48 del archivo shell_commands.c.

shell_command commands[]
Valor inicial:
{
{"ACTIVAR","Activa notificaciones.", activate},
{"DESACTIVAR","Desactiva notificaciones.",deactivate},
{"ENVIAR1","Configura celular prioritario.",send1},
{"ENVIAR2","Configura celular secundario.",send2},
{"TIEMPO","Configura tiempo, en minutos, entre notificaciones.",setTime},
{"UBICACION","Consulta coordenadas actuales del automovil.",location},
{"SALDO","Consulta saldo.",credit},
{"AYUDA","Imprime una lista con todos los comandos disponibles.",help},
{"CONFIGURACION", "Muestra configuracion actual.", showConfig},
{"AGREGAR", "Agrega el numero de celular a la lista de usuarios habilitados", addUser},
{"ELIMINAR", "Elimina el numero de celular de la lista de usuarios habilitados", deleteUser},
{"USUARIOS", "Muestra todos los usuarios habilitados a configurar el sistema", showUser},
{0,0,0}
}

Variable tipo shell_command donde están listados todos los comandos disponibles. El arreglo debe terminar en {0,0,0}.

Definición en la línea 55 del archivo shell_commands.c.

Valor inicial:
{
{"+59899939633"},
{"0"}
}

Variable tipo cell_phone para almacenar los números de teléfono de los usuarios habilitados a interactuar con el sistema. El arreglo debe terminar en {"0"}.

Definición en la línea 79 del archivo shell_commands.c.