Página principal   Lista alfabética   Lista de componentes   Lista de archivos   Miembros de las clases   Archivos de los miembros  

main.cpp

Ir a la documentación de este archivo.
00001 #include "definiciones.h"
00002 
00003 portstream_fd   COMStream; 
00004 
00013 DLL_EXPORT void STD InicializarSystemaMIL (MIL_ID *app,MIL_ID *SysVGA)
00014 {
00015         MappAlloc (M_DEFAULT,&*app);
00016         MsysAlloc (M_SYSTEM_VGA,M_DEFAULT,M_NO_DDRAW,&*SysVGA);
00017 }
00018 
00029 DLL_EXPORT void STD CerrarSystemaMIL (MIL_ID app,MIL_ID sysVGA,MIL_ID sysMETEOR)
00030 {
00031         MsysFree (sysVGA);
00032         if (sysMETEOR!=0) MsysFree (sysMETEOR);
00033         MappFree (app);
00034 }
00035 
00054 DLL_EXPORT void STD ConectarCamaraMIL (HWND WindowHandle,MIL_ID *SysMETEOR,MIL_ID *disp,
00055                                                                            MIL_ID *camara,MIL_ID *digitalizer,long alto, 
00056                                                                            long ancho)
00057 {
00058 
00059 //      MsysAlloc (M_SYSTEM_METEOR,M_DEFAULT,M_NO_DDRAW,&*SysMETEOR);
00060 //      MdispAlloc (*SysMETEOR,M_DEFAULT,"M_DEFAULT",M_DEFAULT,&*disp);
00061         MdigAlloc (*SysMETEOR,M_DEFAULT,"M_CCIR",M_DEFAULT,&*digitalizer);
00062         MdigChannel(*digitalizer, M_CH0);
00063         MdigControl(*digitalizer, M_GRAB_SCALE_X, M_FILL_DISPLAY);
00064         MdigControl(*digitalizer, M_GRAB_SCALE_Y, M_FILL_DISPLAY);
00065         MdigInquire(*digitalizer, M_SIZE_X, &ancho);
00066         MdigInquire(*digitalizer, M_SIZE_Y, &alto);
00067         MbufAlloc2d (*SysMETEOR,alto,ancho,8 + M_UNSIGNED,M_IMAGE+M_GRAB+M_DISP,&*camara);
00068         MdispSelectWindow (*disp,*camara,WindowHandle);
00069 //      MdigGrabContinuous (*digitalizer,*camara);
00070 }
00071 
00081 DLL_EXPORT void STD     DesconectarCamaraMIL (MIL_ID Display, MIL_ID Digitalizer, MIL_ID Buffer)
00082 {
00083         MdispFree (Display);
00084         MdigFree (Digitalizer);
00085         MbufFree (Buffer);
00086 }
00087 
00096 DLL_EXPORT void STD CaptarImagenCamaraMIL (MIL_ID Digitalizer, MIL_ID Buffer)
00097 {
00098         MdigGrab (Digitalizer,Buffer);
00099 }
00100 
00109 DLL_EXPORT long STD ConectarPAN_TILT (char *IP)
00110 {
00111         SetIP (IP);
00112         COMStream=open_host_port("COM2");
00113         if (COMStream==(void *)0xcccccccc) {return 0;}
00114         else { 
00115                 set_mode(SPEED_CONTROL_MODE,PTU_PURE_VELOCITY_SPEED_CONTROL_MODE);
00116                 return 1; 
00117         };
00118 }
00124 DLL_EXPORT void STD DesconectarPAN_TILT (void)
00125 {
00126         close_host_port(COMStream);
00127 }
00128 
00139 DLL_EXPORT void STD PanDerecha(long Velocidad)
00140 {
00141         PTU_PARM_PTR dato;
00142 
00143         if (Velocidad==0) {halt(PAN);}
00144         dato=-(PTU_PARM_PTR)Velocidad;
00145         set_desired(PAN,SPEED,&dato,ABSOLUTE);
00146 }
00147 
00158 DLL_EXPORT void STD PanIzquierda(long Velocidad)
00159 {
00160         PTU_PARM_PTR dato;
00161 
00162         if (Velocidad==0) {halt(PAN);}
00163         dato=(PTU_PARM_PTR)Velocidad;
00164         set_desired(PAN,SPEED,&dato,ABSOLUTE);
00165 }
00166 
00177 DLL_EXPORT void STD TiltArriba(long Velocidad)
00178 {
00179         PTU_PARM_PTR dato;
00180 
00181         if (Velocidad==0) {halt(TILT);}
00182         dato=(PTU_PARM_PTR)Velocidad;
00183         set_desired(TILT,SPEED,&dato,ABSOLUTE);
00184 }
00185 
00196 DLL_EXPORT void STD TiltAbajo(long Velocidad)
00197 {
00198         PTU_PARM_PTR dato;
00199 
00200         if (Velocidad==0) {halt(TILT);}
00201         dato=-(PTU_PARM_PTR)Velocidad;
00202         set_desired(TILT,SPEED,&dato,ABSOLUTE);
00203 }
00204 
00214 DLL_EXPORT void STD DetenerPan() { halt(PAN);}
00215 
00225 DLL_EXPORT void STD DetenerTilt() { halt(TILT);}
00226 
00233 DLL_EXPORT long STD PosicionPAN ()
00234 {
00235         FlushInputBuffer(COMStream);
00236         return get_current(PAN,POSITION);
00237 }
00238 
00245 DLL_EXPORT long STD PosicionTILT ()
00246 {
00247         FlushInputBuffer(COMStream);
00248         return get_current(TILT,POSITION);      
00249 }
00250 
00256 DLL_EXPORT long STD VelocidadPAN ()
00257 {
00258         long    velocidad;
00259         FlushInputBuffer(COMStream);
00260         velocidad=get_current(PAN,SPEED);
00261         return velocidad;
00262 }
00263 
00271 DLL_EXPORT void STD GirarPanHastaAnguloN (long N, long velocidad)
00272 {
00273         short dato,vel;
00274         dato=(short)N;
00275         vel=(short)velocidad;
00276         set_mode(SPEED_CONTROL_MODE,PTU_INDEPENDENT_SPEED_CONTROL_MODE);
00277         set_desired(PAN,SPEED,&vel,ABSOLUTE);
00278         set_desired(PAN,POSITION,&dato,ABSOLUTE);
00279         set_mode(SPEED_CONTROL_MODE,PTU_PURE_VELOCITY_SPEED_CONTROL_MODE);
00280 }
00281 
00289 DLL_EXPORT void STD GirarTiltHastaAnguloN (long N, long velocidad)
00290 {
00291         short dato,vel;
00292         dato=(short)N;
00293         vel=(short)velocidad;
00294         set_mode(SPEED_CONTROL_MODE,PTU_INDEPENDENT_SPEED_CONTROL_MODE);
00295         set_desired(PAN,SPEED,&vel,ABSOLUTE);
00296         set_desired(TILT,POSITION,&dato,ABSOLUTE);
00297         set_mode(SPEED_CONTROL_MODE,PTU_PURE_VELOCITY_SPEED_CONTROL_MODE);
00298 }
00299 
00300 
00302 DLL_EXPORT void STD LanzarThreadPanTilt (long Velocidad)
00303 {
00304         _beginthread (ThreadMoverPanTilt,0,(void*)&Velocidad);
00305 }
00306 
00307 void ThreadMoverPanTilt (void *Datos)
00308 {
00309         PanDerecha (100);
00310    _endthread();
00311 }
00313 
00314 

Generado el Tue Apr 24 06:55:48 2001 para Dllcontrol por doxygen1.2.6 escrito por Dimitri van Heesch, © 1997-2001