void initializeRobot () { HTSPBsetupIO(HTSPB, 0x3); setGrabber (grabberTarget/100.0); setWrist (wristTarget/1000.0); /* If the wrist is moving too quickly try changing the divisor in the setWrist equation from 1000.0 to 10000.0; this will not make a huge difference, but it's worth a try. */ servo [rampLatch] = rampLatchClosed; }
//-------------------------------------------------------------------- bool ofVideoGrabber::initGrabber(int w, int h, bool setUseTexture){ #ifndef OF_VID_GRABBER_TYPE #error OF_VID_GRABBER_TYPE is not #defined! #endif if( grabber == NULL ){ setGrabber( ofPtr<OF_VID_GRABBER_TYPE>(new OF_VID_GRABBER_TYPE) ); } bInitialized = true; bUseTexture = setUseTexture; if( RequestedDeviceID >= 0 ){ grabber->setDeviceID(RequestedDeviceID); } grabber->setPixelFormat(internalPixelFormat); if( desiredFramerate!=-1 ){ grabber->setDesiredFrameRate(desiredFramerate); } bool bOk = grabber->initGrabber(w, h); width = (int)grabber->getWidth(); height = (int)grabber->getHeight(); if( bOk && bUseTexture ){ if(internalPixelFormat == OF_PIXELS_RGB) tex.allocate(width, height, GL_RGB); else if(internalPixelFormat == OF_PIXELS_RGBA) tex.allocate(width, height, GL_RGBA); else if(internalPixelFormat == OF_PIXELS_BGRA) tex.allocate(width, height, GL_RGBA); // for some reason if we allcoate as GL_BGRA we get a white texture #ifdef TARGET_ANDROID else if(internalPixelFormat == OF_PIXELS_RGB565) tex.allocate(width, height, GL_RGB565_OES); // for some reason if we allcoate as GL_BGRA we get a white texture else if(internalPixelFormat == OF_PIXELS_MONO) tex.allocate(width, height, GL_LUMINANCE); // for some reason if we allcoate as GL_BGRA we get a white texture #endif } return bOk; }
//-------------------------------------------------------------------- bool ofVideoGrabber::setup(int w, int h, bool setUseTexture) { #ifndef OF_VID_GRABBER_TYPE #error OF_VID_GRABBER_TYPE is not #defined! #endif if(!grabber) { setGrabber( shared_ptr<OF_VID_GRABBER_TYPE>(new OF_VID_GRABBER_TYPE) ); } bUseTexture = setUseTexture; if( requestedDeviceID >= 0 ) { grabber->setDeviceID(requestedDeviceID); } setPixelFormat(internalPixelFormat); //this safely handles checks for supported format if( desiredFramerate!=-1 ) { grabber->setDesiredFrameRate(desiredFramerate); } grabber->setup(w, h); width = (int)grabber->getWidth(); height = (int)grabber->getHeight(); if( grabber->isInitialized() && bUseTexture ) { if(!grabber->getTexturePtr()) { for(int i=0; i<grabber->getPixels().getNumPlanes(); i++) { ofPixels plane = grabber->getPixels().getPlane(i); tex.push_back(ofTexture()); tex[i].allocate(plane); if(ofIsGLProgrammableRenderer() && plane.getPixelFormat() == OF_PIXELS_GRAY) { tex[i].setRGToRGBASwizzles(true); } } } } return grabber->isInitialized(); }
//-------------------------------------------------------------------- bool ofVideoGrabber::initGrabber(int w, int h, bool setUseTexture){ #ifndef OF_VID_GRABBER_TYPE #error OF_VID_GRABBER_TYPE is not #defined! #endif if( grabber == NULL ){ setGrabber( ofPtr<OF_VID_GRABBER_TYPE>(new OF_VID_GRABBER_TYPE) ); } bInitialized = true; bUseTexture = setUseTexture; if( RequestedDeviceID >= 0 ){ grabber->setDeviceID(RequestedDeviceID); } setPixelFormat(internalPixelFormat); //this safely handles checks for supported format if( desiredFramerate!=-1 ){ grabber->setDesiredFrameRate(desiredFramerate); } grabberRunning = grabber->initGrabber(w, h); width = (int)grabber->getWidth(); height = (int)grabber->getHeight(); if( grabberRunning && bUseTexture ){ if(!grabber->getTexture()) tex.allocate(width, height, ofGetGLInternalFormatFromPixelFormat(internalPixelFormat)); if(ofGetGLProgrammableRenderer() && internalPixelFormat == OF_PIXELS_MONO){ tex.setRGToRGBASwizzles(true); } } return grabberRunning; }
//-------------------------------------------------------------------- shared_ptr<ofBaseVideoGrabber> ofVideoGrabber::getGrabber() { if(!grabber) { setGrabber( shared_ptr<OF_VID_GRABBER_TYPE>(new OF_VID_GRABBER_TYPE) ); } return grabber; }
//-------------------------------------------------------------------- vector<ofVideoDevice> ofVideoGrabber::listDevices(){ if(!grabber){ setGrabber( shared_ptr<OF_VID_GRABBER_TYPE>(new OF_VID_GRABBER_TYPE) ); } return grabber->listDevices(); }
//-------------------------------------------------------------------- vector<ofVideoDevice> ofVideoGrabber::listDevices(){ if( grabber == NULL ){ setGrabber( ofPtr<OF_VID_GRABBER_TYPE>(new OF_VID_GRABBER_TYPE) ); } return grabber->listDevices(); }