00001 //=========================================================================== 00002 //= sensor.h Mes de anno = 00003 //=-------------------------------------------------------------------------= 00004 //= Definicion de clases de SENSORes. = 00005 //=-------------------------------------------------------------------------= 00006 //= ADVERTENCIA: ESTE SOFTWARE NO ESTA CONCEBIDO NI DISENNADO PARA EL USO = 00007 //= EN EQUIPO DE CONTROL EN LINEA EN ENTORNOS PELIGROSOS QUE REQUIERAN UN = 00008 //= DESEMPENNO LIBRE DE FALLAS, COMO LA OPERACION DE PLANTAS NUCLEARES, = 00009 //= SISTEMAS DE NAVEGACION O COMUNICACION EN AVIONES, TRAFICO AEREO, = 00010 //= EQUIPO MEDICO DEL CUAL DEPENDAN VIDAS HUMANAS O SISTEMAS DE ARMAMENTO, = 00011 //= EN LOS CUALES UNA FALLA EN EL SOFTWARE PUEDA IMPLICAR DIRECTAMENTE LA = 00012 //= MUERTE, DANNOS PERSONALES O DANNOS FISICOS Y/O AMBIENTALES GRAVES = 00013 //= ("ACTIVIDADES DE ALGO RIESGO"). = 00014 //=-------------------------------------------------------------------------= 00015 //= Autor original: Oscar J. Chavarro G. A.K.A. JEDILINK. Copyright (c), = 00016 //= 1997 - 2003, oscarchavarro@hotmail.com = 00017 //= AQUYNZA es software libre, y se rige bajo los terminos de la licencia = 00018 //= LGPL de GNU (http://www.gnu.org). Para mayor informacion respecto a la = 00019 //= licencia de uso, consulte el archivo ./doc/LICENCIA en la distribucion. = 00020 //=========================================================================== 00021 00022 #ifndef __SENSOR__ 00023 #define __SENSOR__ 00024 00025 #include "jed_defs.h" // Incluir antes que nada, en ese modulo se definen 00026 // aspectos importantes para la portabilidad del sistema 00027 00028 #include "core/control/variable.h" 00029 00030 class SENSOR : public ENTIDAD { 00031 protected: 00032 //- Representacion del sensor ------------------------------------------- 00033 VARIABLE_DE_ESTADO *mi_variable_de_estado; 00034 00035 //- Referencias a la variable de estado --------------------------------- 00036 public: 00037 SENSOR(); 00038 virtual int tipo(void) = 0; 00039 virtual void sensar(void) = 0; 00040 void asociar_variable_de_estado(VARIABLE_DE_ESTADO *e); 00041 void set_tiempo(double t); 00042 }; 00043 00044 class SENSOR_FLOAT : public SENSOR { 00045 private: 00046 float data; 00047 public: 00048 SENSOR_FLOAT(VARIABLE_DE_ESTADO *var); 00049 void sensar(void); 00050 float evaluar(void); 00051 int tipo(void); 00052 }; 00053 00054 class SENSOR_VECTOR : public SENSOR { 00055 private: 00056 VECTOR data; 00057 public: 00058 SENSOR_VECTOR(VARIABLE_DE_ESTADO *var); 00059 virtual void sensar(void); 00060 virtual VECTOR evaluar(void); 00061 int tipo(void); 00062 }; 00063 00064 #endif // __SENSOR__ 00065 00066 //=========================================================================== 00067 //= EOF = 00068 //=========================================================================== 00069