Synchronizing two SX40s - page 4 - Hotwire! Hardware Mods, Accessories and Insights - CHDK Forum

Synchronizing two SX40s

  • 33 Replies
  • 6872 Views
Re: Synchronizing two SX40s
« Reply #30 on: 14 / March / 2014, 11:12:28 »
Advertisements
Is there anywhere I could put some code that would run every, say, 1 ms? Or any other ideas for sending data at a reasonable rate?
I have not had any time to play with this but it looks promising :  http://chdk.setepontos.com/index.php?topic=10114.msg109695#msg109695
Ported :   A1200    SD940   G10    Powershot N    G16

Re: Synchronizing two SX40s
« Reply #31 on: 14 / March / 2014, 12:42:09 »
Quote
I have not had any time to play with this but it looks promising :  http://chdk.setepontos.com/index.php?topic=10114.msg109695#msg109695

Very interesting indeed. So do I have to put everything in wrappers.c? I never really understood the whole ARM code aspect, what's the difference?

Also would you recommend using the HP ones or the standard ones? And what's meant by a 20 bit hw counter?

I'll have a play around with this tomorrow. For the slave camera, would it be possible to sort of skip the half-press by supplying white-balance, exposure and focus times from the master camera? Perhaps make it half-press, but then automatically set the values it otherwise would have worked out itself and trick it into thinking it's ready to shoot?

Re: Synchronizing two SX40s
« Reply #32 on: 14 / March / 2014, 23:49:30 »
Or any other ideas for sending data at a reasonable rate?
I'm pretty sure I could encode shutter speed, aperture, ISO and zoom factor into 16 bits with a little space to spare.  And I'd do that prior to sending a "shoot" command.  Using a NRZI encoding scheme you could probably push things along at 20 bps. Still not screaming fast but managable.

For the slave camera, would it be possible to sort of skip the half-press by supplying white-balance, exposure and focus times from the master camera? Perhaps make it half-press, but then automatically set the values it otherwise would have worked out itself and trick it into thinking it's ready to shoot?
The only thing you really save time wise is the time to focus.  And you can do that by using set_aflock() and setting the focus ahead of time.
« Last Edit: 14 / March / 2014, 23:51:56 by waterwingz »
Ported :   A1200    SD940   G10    Powershot N    G16

*

Offline srsa_4c

  • ******
  • 4426
Re: Synchronizing two SX40s
« Reply #33 on: 15 / March / 2014, 09:08:31 »
Very interesting indeed. So do I have to put everything in wrappers.c? I never really understood the whole ARM code aspect, what's the difference?
The ARM CPU in the camera understands two instruction sets: 'ARM' and 'Thumb'. Switching between the two requires specific instructions. The CHDK core and the modules are compiled as Thumb to save some space (Thumb instructions are mostly 2 bytes long, ARM instructions are always 4), the firmware on the camera is compiled as ARM. Calling firmware functions from CHDK core directly is not possible, because no code is generated there to allow safe Thumb-ARM switch. Parts of CHDK under platform/ are compiled as ARM, CHDK core can call these safely. So, if you need to call firmware routines from core, or you want to make a routine that will be called from the firmware, you need to place the interfacing code under platform/.
If you want to learn more, search for ARM thumb interworking.

Quote
Also would you recommend using the HP ones or the standard ones?
If possible, I'd use the standard ones.
Quote
And what's meant by a 20 bit hw counter?
There is a hardware counter in the DIGIC chip that is used for high-precision timing. I think it increments every 1us (microsecond).

Quote
supplying white-balance
We can retrieve some data related to white balance, but we can't currently set white balance.


 

Related Topics