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
--