Hello Again,
Well, I have seen that the ofxUVC is really good for controlling camera settings.
For one camera all is working good.
Now I have two cameras, and I’m controlling the exposure. First I open both cameras:
void testApp::setup(){
vendorId = 0x058f;
productId = 0x0362;
interfaceNum[0] = 0x00;//cam0
interfaceNum[1] = 0x01;//cam1
...
for (int k = 0; k < nCam; k++) {
vidGrabber[k].setDeviceID(deviceId[k]);
vidGrabber[k].initGrabber(camWidth, camHeight);
uvcControl[k].useCamera(vendorId, productId, interfaceNum[k]);
uvcControl[k].setAutoExposure(false);
}
I have a some keys for controlling like:
void testApp::keyPressed(int key){
limEV = 8;
if (key == 'a'){
m == limEV ? m = 1 : m++;
uvcControl[1].setExposure (evS2[m]);
char numberstring[(((sizeof m) * CHAR_BIT) + 2)/3 + 2];
sprintf(numberstring, "%d", m);
sprintf(valE1, numberstring);
}
if (key == 's'){
n == limEV ? n = 1 : n++;
uvcControl[0].setExposure (evS2[n]);
char numberstring[(((sizeof n) * CHAR_BIT) + 2)/3 + 2];
sprintf(numberstring, "%d", n);
sprintf(valE2, numberstring);
}
If I press ‘s’ key, the camera will change the exposure, but if I press ‘a’ the second camera does not work.
I found that , if:
interfaceNum[0] = 0x00;//cam0
interfaceNum[1] = 0x01;//cam1
are important for controlling the current device. if I set both to 0x00 the last camera will have the change of exposure when you press ‘a’ or ‘s’, if I use 0x01 in both, the cameras won’t respond.
any ideas?