Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

580ex buggy algorithm

21 views
Skip to first unread message

John Pane

unread,
Mar 24, 2005, 1:01:45 AM3/24/05
to
Canon has embedded a buggy algorithm in the 580ex feature to account for
the DSLR crop factor. The result is incomplete illumination of the frame
at wide angles.

The bug is in the relative order that the flash applies the crop
factor and a threshold for the widest supported beam width.

Defining some terms:
f = the 35mm equivalent focal length of the lens
d = the desired beam width computed from f

The 580ex supports flash beam widths of 24, 28, 35, 50, 70, 80, and
105mm (35mm equivalent).

A correct algorithm for a 1.6 crop factor DSLR is:
1) set d to f
2) multiply d by 1.6
3) if d is less than 24, set d to 24 (frame will not be fully
illuminated)
4) round d down to a supported beam width

A buggy algorithm equivalent to what is embedded in the 580ex swaps
steps 2 and 3:

1) set d to f
2) if d is less than 24, set d to 24 (frame will not be fully
illuminated)
3) multiply d by 1.6
4) round d down to a supported beam width

The correct algorithm would allow the 580ex to support any focal
length from 15mm up without using the diffuser. The buggy algorithm
only supports focal lengths from 24mm up.

The following table shows the correct and buggy beam widths for a
variety of focal lengths:

f correct buggy
---- ------- -----
15 24 35*
18 28 35*
24 35 35
28 35 35
35 50 50
50 80 80
70 105 105
80 105 105
105 105 105

* Indicates frame not fully illuminated. In these cases the flash
would work better (if not optimally) if no adjustment was made for
the 1.6 crop factor.

When using lenses wider than 24mm, I recommend setting C.Fn 11 to 1,
disabling the crop factor adjustment.

John Pane


--

Message has been deleted
Message has been deleted
0 new messages