00001 //=========================================================================== 00002 //= sensor.cc 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 #include <stdio.h> 00023 00024 #include "core/control/sensor.h" 00025 00026 //=========================================================================== 00027 //= CLASE SENSOR = 00028 //=========================================================================== 00029 00030 SENSOR::SENSOR() 00031 { 00032 mi_variable_de_estado = NULL; 00033 } 00034 00035 void 00036 SENSOR::asociar_variable_de_estado(VARIABLE_DE_ESTADO *e) 00037 { 00038 mi_variable_de_estado = e; 00039 } 00040 00041 //=========================================================================== 00042 //= CLASE SENSOR_DOUBLE = 00043 //=========================================================================== 00044 00045 SENSOR_FLOAT::SENSOR_FLOAT(VARIABLE_DE_ESTADO *var) : SENSOR() 00046 { 00047 mi_variable_de_estado = var; 00048 } 00049 00050 void 00051 SENSOR_FLOAT::sensar(void) 00052 { 00053 data = (float)mi_variable_de_estado->evaluar_float(); 00054 00055 //printf("<SENSOR_FLOAT> Senso %f!\n", data); 00056 //fflush(stdout); 00057 } 00058 00059 int 00060 SENSOR_FLOAT::tipo(void) 00061 { 00062 return T_FLOAT; 00063 } 00064 00065 float 00066 SENSOR_FLOAT::evaluar(void) 00067 { 00068 return data; 00069 } 00070 00071 //=========================================================================== 00072 //= CLASE SENSOR_VECTOR = 00073 //=========================================================================== 00074 00075 SENSOR_VECTOR::SENSOR_VECTOR(VARIABLE_DE_ESTADO *var) : SENSOR() 00076 { 00077 mi_variable_de_estado = var; 00078 } 00079 00080 void 00081 SENSOR_VECTOR::sensar(void) 00082 { 00083 data = mi_variable_de_estado->evaluar_vector(); 00084 00085 //printf("<SENSOR_VECTOR> [%s] Senso <%f, %f, %f>!\n", 00086 // nombre(), data.x, data.y, data.z); 00087 //fflush(stdout); 00088 } 00089 00090 int 00091 SENSOR_VECTOR::tipo(void) 00092 { 00093 return T_VECTOR; 00094 } 00095 00096 VECTOR 00097 SENSOR_VECTOR::evaluar(void) 00098 { 00099 return data; 00100 } 00101 00102 //=========================================================================== 00103 //= EOF = 00104 //=========================================================================== 00105