Hi After some research I can reply to my questions by myself :)
I've opened my Logitech Orbit / Sphere, inside I've found SAA8116 signal processor with some additional integrated circuits. Checking SAA8116 specification revealed that external synchronization signal can be theoretically applied in this circuit to pin V (number 96) after modifying bits 2 and 3 of register PIN_CONFIG_1 (address 0x7F). I've also found this program: http://www.burri-web.org/bm98/soft/wcrmac/ which is used by amateur astronomers to switch SAA8116-based webcams to RAW mode. It's possible by using some special USB control messages to change register values in camera EEPROM. It looks like all control registers are mapped to upper 256 bytes of this EEPROM. After some USB traffic sniffing I've discovered these control messages. They are following: 1. Switching camera to EEPROM read/write mode: request type: USB_TYPE_VENDOR + USB_RECIP_DEVICE + USB_DIR_OUT request: 0x0000005 value: 0x0003000 index: 0x0000003 data: [0x6d] size: 1 2. EEPROM read control command: request: USB_TYPE_VENDOR + USB_RECIP_DEVICE + USB_DIR_IN request type: 0x000000a value: two bytes of EEPROM memory address in reverse order index: 0x00000ff size: 1 3. EEPROM write control command: request: USB_TYPE_VENDOR + USB_RECIP_DEVICE + USB_DIR_OUT request type: 0x0000009 value: two bytes of EEPROM memory address in reverse order index: 0x00000ff data: [memory byte value] size: 1 4. Switching camera back to normal mode: request: USB_TYPE_VENDOR + USB_RECIP_DEVICE + USB_DIR_OUT request type: 0x0000005 value: 0x0003000 index: 0x0000003 data: [0x00] size: 1 I see that these codes are filling some gaps in pwc driver (GET_XX_CTL, SET_XX_CTL request types, GET_STATUS_3000 selector). Actually I added support for these commands in pwc driver and created a small utility to read / write values from camera EEPROM memory. Correct operation of this utility was confirmed by using it to switch my webcam to RAW mode and back. I can post them if anyone is interested. I wonder if they will work in other SAA8116-based webcams supported by pwc. After all this research and development I was finally able to change value of SAA8116 0x7F control register to check my webcam synchronization idea. Unfortunately modifying this register has no effect at all on webcam. I've checked some different bit settings with no luck at all. Initial value of this register was 0xc8 which means internal synchronization. Any idea why it doesn't work? regards Stanislaw Szymczyk On 12/11/06, Stanisław Szymczyk <[EMAIL PROTECTED]> wrote:
I have three questions: 1. Is there any way to force synchronous frame retrieval in PWC? 2. If no, is there a way to force synchronous frame retrieval generally in this camera? 3. Does anyone have any data about this camera (Logitech Orbit / Sphere) internals? I mean PCB photos, schematic (guess I'm dreaming) etc... Thanks for your time Stanislaw Szymczyk
_______________________________________________ pwc mailing list [email protected] http://lists.saillard.org/mailman/listinfo/pwc
