Ignore:
Timestamp:
03/28/12 08:43:49 (15 months ago)
Author:
philmoz
Message:

Merged revision(s) 1770-1771 from branches/release-1_0:

  • Merge CHDK-DE revision 975 into CHDK.
Location:
trunk
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk

  • trunk/platform/sx100is/main.c

    r847 r1772  
    2929} 
    3030 
     31// Focus length table in firmware @0xfffe31ac 
     32#define NUM_FL      23  // 0 - 22, entries in firmware 
     33#define NUM_DATA    3   // 3 words each entry, first is FL 
     34extern int focus_len_table[NUM_FL*NUM_DATA]; 
    3135 
    32 static const int fl_tbl[] = {6000, 6700, 7300, 8200, 9100, 10300, 11500, 12800, 14400, 16100, 18100, 20100, 22400, 25200, 28100, 31500, 34900, 38900, 42500, 46600, 51100, 55900, 60000}; 
    33 #define NUM_FL (sizeof(fl_tbl)/sizeof(fl_tbl[0])) 
    34 #define CF_EFL 6000 
     36// Conversion factor lens FL --> 35mm equiv 
     37// lens      35mm     CF 
     38// ----      ----     -- 
     39// 6.0       36       ( 36/ 6.0) * 60 = 360  (min FL) 
     40// 60.0      360      (360/60.0) * 60 = 360  (max FL) 
     41#define CF_EFL      360 
     42#define CF_EFL_DIV  60 
    3543 
    3644const int zoom_points = NUM_FL; 
    3745 
    3846int get_effective_focal_length(int zp) { 
    39     return (CF_EFL*get_focal_length(zp))/1000; 
     47    return (CF_EFL*get_focal_length(zp))/CF_EFL_DIV; 
    4048} 
    4149 
    4250int get_focal_length(int zp) { 
    43     if (zp<0) return fl_tbl[0]; 
    44     else if (zp>NUM_FL-1) return fl_tbl[NUM_FL-1]; 
    45     else return fl_tbl[zp]; 
     51    if (zp < 0) zp = 0; 
     52    else if (zp >= NUM_FL) zp = NUM_FL-1; 
     53    return focus_len_table[zp*NUM_DATA]; 
    4654} 
    4755 
    4856int get_zoom_x(int zp) { 
    49     if (zp<1) return 10; 
    50     else if (zp>NUM_FL-1) return fl_tbl[NUM_FL-1]*10/fl_tbl[0]; 
    51     else return fl_tbl[zp]*10/fl_tbl[0]; 
     57    return get_focal_length(zp)*10/focus_len_table[0]; 
    5258} 
    5359 
Note: See TracChangeset for help on using the changeset viewer.