コード例 #1
0
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;
}
コード例 #2
0
//--------------------------------------------------------------------
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;
}
コード例 #3
0
//--------------------------------------------------------------------
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();
}
コード例 #4
0
//--------------------------------------------------------------------
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;
}
コード例 #5
0
//--------------------------------------------------------------------
shared_ptr<ofBaseVideoGrabber> ofVideoGrabber::getGrabber() {
    if(!grabber) {
        setGrabber( shared_ptr<OF_VID_GRABBER_TYPE>(new OF_VID_GRABBER_TYPE) );
    }
    return grabber;
}
コード例 #6
0
//--------------------------------------------------------------------
vector<ofVideoDevice> ofVideoGrabber::listDevices(){
	if(!grabber){
		setGrabber( shared_ptr<OF_VID_GRABBER_TYPE>(new OF_VID_GRABBER_TYPE) );
	}
	return grabber->listDevices();
}
コード例 #7
0
//--------------------------------------------------------------------
vector<ofVideoDevice> ofVideoGrabber::listDevices(){
	if( grabber == NULL ){
		setGrabber( ofPtr<OF_VID_GRABBER_TYPE>(new OF_VID_GRABBER_TYPE) );
	}
	return grabber->listDevices();
}