Página principal | Jerarquía de la clase | Lista alfabética | Lista de componentes | Lista de archivos | Miembros de las clases | Archivos de los miembros | Páginas relacionadas

controlador.h

Ir a la documentación de este archivo.
00001 //===========================================================================
00002 //= controlador.h                                         Noviembre de 1998 =
00003 //=-------------------------------------------------------------------------=
00004 //= Definiciones de clases de CONTROLADORes del toolkit NUKAK               =
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 __CONTROLADOR__
00023 #define __CONTROLADOR__
00024 
00025 #include "jed_defs.h"
00026 #include "toolkits/util/parsero.h"
00027 #include "core/control/actuador.h"
00028 #include "core/control/sensor.h"
00029 
00030 class CONTROLADOR : public ENTIDAD {
00031 /* Notese que un controlador puede ser controlado por otro */
00032   private:                         
00033   public:
00034     virtual BOOLEAN leer(TOKENIZADOR *Sabiondo) = 0;
00035     virtual BOOLEAN
00036     resolver(LISTA<SENSOR *> *sensores, LISTA<ACTUADOR *> *actuadores) = 0;
00037     virtual void ejecutar(void) = 0;
00038 };
00039 
00040 class CONTROLADOR_BASICO_COPIA_V : public CONTROLADOR {
00041   private:
00042     SENSOR_VECTOR *Sensor_origen;
00043     ACTUADOR_VECTOR *Actuador_destino;
00044     char *Nombre_sensor_origen;
00045     char *Nombre_actuador_destino;
00046 
00047   public:
00048     CONTROLADOR_BASICO_COPIA_V();
00049     BOOLEAN leer(TOKENIZADOR *Sabiondo);
00050     BOOLEAN resolver(LISTA<SENSOR *> *sensores, LISTA<ACTUADOR *> *actuadores);
00051     void ejecutar(void);
00052 };
00053 
00054 class CONTROLADOR_BASICO_COPIA_E : public CONTROLADOR {
00055   private:
00056     SENSOR_FLOAT *Sensor_origen;
00057     ACTUADOR_FLOAT *Actuador_destino;
00058     char *Nombre_sensor_origen;
00059     char *Nombre_actuador_destino;
00060 
00061   public:
00062     CONTROLADOR_BASICO_COPIA_E();
00063     BOOLEAN leer(TOKENIZADOR *Sabiondo);
00064     BOOLEAN resolver(LISTA<SENSOR *> *sensores, LISTA<ACTUADOR *> *actuadores);
00065     void ejecutar(void);
00066 };
00067 
00068 class CONTROLADOR_DE_VUELO : public CONTROLADOR {
00069   private:
00070     //- Componentes del controlador (entradas y salidas) -------------------
00071     SENSOR_VECTOR *Sensor_velocidad;       // Sensores del mundo virtual
00072     SENSOR_VECTOR *Sensor_orientacion;
00073     SENSOR_FLOAT *Sensor_drapidez;         // Sensores del mundo real (control)
00074     SENSOR_FLOAT *Sensor_dyaw;
00075     SENSOR_FLOAT *Sensor_dpitch;
00076     SENSOR_FLOAT *Sensor_droll;
00077     ACTUADOR_VECTOR *Actuador_velocidad;   // Actuadores del mundo virtual
00078     ACTUADOR_VECTOR *Actuador_orientacion;
00079     //- Referencias de construccion del controlador ------------------------
00080     char *Nombre_sensor_velocidad;
00081     char *Nombre_sensor_orientacion;
00082     char *Nombre_sensor_drapidez;
00083     char *Nombre_sensor_dyaw;
00084     char *Nombre_sensor_dpitch;
00085     char *Nombre_sensor_droll;
00086     char *Nombre_actuador_velocidad;
00087     char *Nombre_actuador_orientacion;
00088   public:
00089     CONTROLADOR_DE_VUELO();
00090     BOOLEAN leer(TOKENIZADOR *Sabiondo);
00091     BOOLEAN resolver(LISTA<SENSOR *> *sensores, LISTA<ACTUADOR *> *actuadores);
00092     void ejecutar(void);
00093 };
00094 
00095 #endif // __CONTROLADOR__
00096 
00097 //===========================================================================
00098 //= EOF                                                                     =
00099 //===========================================================================
00100 

Este archivo HTML ha sido generado automáticamente a partir del código fuente AQUYNZA. NO LO EDITE. Para mayor información contacte al autor.