Vicent Ibanyez / Mbed 2 deprecated EcotronV10
Embed: (wiki syntax)

« Back to documentation index

Show/hide line numbers ecocommand.h Source File

ecocommand.h

00001 /************************************
00002 Software del mbed para el Ecotron.
00003 (c) Miquel Carbonell Piqueres
00004 Diciembre de 2011.
00005 ************************************/
00006 /************************************
00007 Arhivo: ecocommand.h
00008 Definiciones para la clase ecocommand.
00009 ************************************/
00010 
00011 #include "mbed.h"
00012 #include "ecotron_es.h"
00013 
00014 #ifndef _ECOCOMMAND
00015 #define _ECOCOMMAND
00016 
00017 #define MAX_COD 128 //Numero maximo de caracteres para el buffer.
00018 #define NUMCOMMANDSRX 12 //Numero de comandos validos para recepcion.
00019 #define NUMCOMMANDSTX 6 //Numero de comandos validos para transmision.
00020 #define NUMESTADOS 5 //Numero de estados de la maquina.
00021 #define ERROR_COD -1    //Error, codigo desconocido.
00022 #define ERROR_PAR    -2 //Error, parametros inesperados.
00023 
00024   //Definiciones de estado segun texto asociado:
00025 #define ESTADO_OK 0
00026 #define ESTADO_PARAMS 1
00027 #define ESTADO_COMAND 2
00028 #define ESTADO_FORCEBATT 3
00029 #define ESTADO_LOBATT 4
00030 
00031 #define COMANDO_VER 0
00032 #define COMANDO_CHX 1
00033 #define COMANDO_CHN 2
00034 #define COMANDO_CHF 3
00035 #define COMANDO_CHK 4
00036 #define COMANDO_OUD 5
00037 #define COMANDO_OUA 6
00038 #define COMANDO_IND 7
00039 #define COMANDO_INA 8
00040 #define COMANDO_INX 9
00041 #define COMANDO_TOT 10
00042 #define COMANDO_TTX 11
00043 
00044 class ecocommand {
00045 public:
00046     ecocommand();
00047     char *EstadoActual();
00048  //Le enviamos un comando y nos devuelve null si no puede interpretar el comando c
00049  // o una cadena valida para ser enviada como constestacion a dicho comando.
00050     char *InterpretarComando(char *c, entradas *e, salidas *s);
00051 
00052 
00053 private:
00054     int NumSalida(char *c);
00055     void VerOpcionSalidaDigital(int i, char *c, salidas *s);
00056     void VerOpcionSalidaAnalogica(int i,char *c, salidas *s);
00057     void VerEntradasDigitales(entradas *e);
00058     void VerEntradasAnalogicas(entradas *e);
00059     void VerEntradas(entradas *e);
00060     void InformeGlobal(entradas *e,salidas *s);
00061     int VerComandoRx(char *c); //Devuelve el codigo del comando c o un codigo de error.
00062     int Estado;
00063     char buffer[MAX_COD]; //Cadena de caracteres para devolver como dato solicitado.
00064 }; //Final de la clase ecocommand.
00065 
00066 #endif
00067