00001 //=========================================================================== 00002 //= dispositivo_de_prueba.h Febrero del 2000 = 00003 //=-------------------------------------------------------------------------= 00004 //= Definiciones de la clase para el control de la interface = 00005 //= DISPOSITIVO_DE_PRUEBA = 00006 //=-------------------------------------------------------------------------= 00007 //= ADVERTENCIA: ESTE SOFTWARE NO ESTA CONCEBIDO NI DISENNADO PARA EL USO = 00008 //= EN EQUIPO DE CONTROL EN LINEA EN ENTORNOS PELIGROSOS QUE REQUIERAN UN = 00009 //= DESEMPENNO LIBRE DE FALLAS, COMO LA OPERACION DE PLANTAS NUCLEARES, = 00010 //= SISTEMAS DE NAVEGACION O COMUNICACION EN AVIONES, TRAFICO AEREO, = 00011 //= EQUIPO MEDICO DEL CUAL DEPENDAN VIDAS HUMANAS O SISTEMAS DE ARMAMENTO, = 00012 //= EN LOS CUALES UNA FALLA EN EL SOFTWARE PUEDA IMPLICAR DIRECTAMENTE LA = 00013 //= MUERTE, DANNOS PERSONALES O DANNOS FISICOS Y/O AMBIENTALES GRAVES = 00014 //= ("ACTIVIDADES DE ALGO RIESGO"). = 00015 //=-------------------------------------------------------------------------= 00016 //= Autor original: Oscar J. Chavarro G. A.K.A. JEDILINK. Copyright (c), = 00017 //= 1997 - 2003, oscarchavarro@hotmail.com = 00018 //= AQUYNZA es software libre, y se rige bajo los terminos de la licencia = 00019 //= LGPL de GNU (http://www.gnu.org). Para mayor informacion respecto a la = 00020 //= licencia de uso, consulte el archivo ./doc/LICENCIA en la distribucion. = 00021 //= Con la colaboracion de Harold Cruz ha-cruz@uniandes.edu.co = 00022 //=========================================================================== 00023 00024 #ifndef __DISPOSITIVO_DE_PRUEBA__ 00025 #define __DISPOSITIVO_DE_PRUEBA__ 00026 00027 #include "jed_defs.h" 00028 00029 #include "toolkits/media/jed_serial.h" 00030 #include "toolkits/media/dispositivo.h" 00031 #ifdef UNIX_ENABLED 00032 #include <unistd.h> 00033 #include "toolkits/media/_unix_io.h" 00034 #endif 00035 00036 class DISPOSITIVO_DE_PRUEBA : public DISPOSITIVO { 00037 private: 00038 PUERTO_SERIAL *Com; 00039 00040 friend void leer_disptest_callback(void *User_data); 00041 char data_state[4]; 00042 00043 public: 00044 //- Operaciones standard de DISPOSITIVO AQUYNZA ------------------------- 00045 DISPOSITIVO_DE_PRUEBA(); 00046 virtual ~DISPOSITIVO_DE_PRUEBA(); 00047 00048 BOOLEAN 00049 consultar_variable(const char *nombre_variable, int &tipo, void **ref); 00050 BOOLEAN 00051 actualizar_variable(const char *nombre_variable, int tipo, void *ref); 00052 00053 //- Operaciones particulares de la clase DISPOSITIVO_DE_PRUEBA ----------------------- 00054 BOOLEAN abrir(char *nombre_puerto); // Servicios basicos 00055 void cerrar(void); 00056 00057 void actualizar(void); // OJO! 00058 void motor_a(double v); 00059 void motor_b(double v); 00060 void motor_pluma(double v); 00061 }; 00062 00063 #endif // __DISPOSITIVO_DE_PRUEBA__ 00064 00065 //=========================================================================== 00066 //= EOF = 00067 //=========================================================================== 00068