Mittwoch, 14. Mai 2008

3D Digital Stereo Ixus 55 (Part 4: The Software)

As already mentioned in the introduction, I wanted to use CHDK or SDM on this camera but without having to use an external switch connected via USB. To achieve this I studied the source code of SDM carefully (Thanks David for making it public!) and rewrote the internal synch routine as follows and added it to the standard Allbest CHDK branch:

void wait_until_remote_button_is_released(void)
asm volatile ("STMFD SP!, {R0-R11,LR}\n"); // store R0-R11 and LR in stack

#define DELAY_TIMEOUT 10000
#define KBD_MASK 0x4
int tick;
long z, *x;


do {
z = physw_status[2] & KBD_MASK;
x = (void*)0xc0220208;

while( (!z) && ((int)get_tick_count()-tick < DELAY_TIMEOUT));


if (fd>=0) close (fd);

asm volatile ("LDMFD SP!, {R0-R11,LR}\n");

This way, the cameras do not wait for the external USB switch to be released but the shutter fires after the nomal shutter switch has been released. The shoot sequence therefore is pretty straightforward:
1. Half press the shutter to focus
2. Full press the shutter until both blue LEDs light up
3. Release the shutter and a highly synchronized pair of pictures is taken.

I havent measured the synch systematically yet because I don't have a CRT monitor anymore to be able to use the Camera Synch Tester.


T. hat gesagt…

Hi, great blog!
I have two Ixus 860 I and I also want to hardwire this cams to get a stereo Ixus 860.
I also don't want to use an external switch so I am interested to use the Allbest CHDK as you posted.
My qeustion now where do I get the CHDK Allbest built for the IXUS 860 I?
How can I see that the new synch routine is inside this built?

Thanks for any help!

T. hat gesagt…

I forgot to ask, how this synch function can be ativated in CHDK?

uweg hat gesagt…

Hi, thanks for your comments. Sorry that it took me more than two years to notice it ;-)
Actually the source-code mod described here must be applied to a variant of CHDK that is called StereoDataMaker (SDM) which can be downloaded (inkl. source code) here:
The mod listed here will only work with version 1.70beta and the Ixus55 though. For other versions and cameras you will have to tweak some of the settings. Unfortunately I did not keep up with the development of SDM over the last two years simply because my camera worked flawlessly. If you need additional information I might look through my notes and files, though ...
Best regards and good luck!