Such is, for example, the range between 2 and 70 at wide angle ("2" is then the smallest setting, and surely it doesn't give you 2mm distance...)

That's a real advantage. Unfortunately, not all IXUS cams have a living MFon(). They need to go the other way....But a magnified live-view would be really helpful... see http://chdk.setepontos.com/index.php/topic,419.msg3008.html#msg3008

Quote from: whoever on 03 / February / 2008, 06:09:27Such is, for example, the range between 2 and 70 at wide angle ("2" is then the smallest setting, and surely it doesn't give you 2mm distance...)I tested it with my ixus70_sd1000 and it works. But it don't give me values smaller than 61(means i can choose 2 but the focus stopped at 61). after all great work.

Hi whoeverHow about Bracketing in continious mode (SD Bracketing) works for you?cheers quietschi

By the way, I haven't quite figured how to determine the values for the focal length table fl_tbl[] = {5800,...}. Have you?P.S. Aah, have already figured -- from EXIF.

Yes it does. In MF mode, of course, i.e. override SD factor different from "Off".By the way, I haven't quite figured how to determine the values for the focal length table fl_tbl[] = {5800,...}. Have you?P.S. Aah, have already figured -- from EXIF.

i get my from Adobe Bridge EXIF, because they are the whole number like 10093 not only 10.09.

//ixus800_sd700//static const int fl_tbl[] = {5800, 6600, 7500, 8600, 10000, 11800, 14300, 18600, 23200};//ixus950_sd850 (from EXIF), basically the same as in ixus800_sd700 (4x zoom lens) static const int fl_tbl[] = {5800, 6630, 7470, 8640, 9970, 11820, 14330, 18630, 23200};

And some things still have to be re-written. For instance DOF calculator, in view of the fact that the aperture is fixed (linked to zoom) -- by the way, this applies in your case too.

void gui_osd_calc_dof() { int av, av_min, c_of_c, fl, v, v1, m; //long lfpfl=lens_get_focus_pos_fl(); av=shooting_get_real_aperture();[color=red]#if defined(CAMERA_ixus700_sd500) || defined(CAMERA_ixus800_sd700) || defined(CAMERA_a560) || defined(CAMERA_ixus850_sd800) || defined(CAMERA_ixus70_sd1000) || defined(CAMERA_ixus950_sd850) if (av>=shooting_get_aperture_from_av96(shooting_get_aperture_sizes_table_prop_id(shooting_get_aperture_sizes_table_size()/2))) av/=2; // nd filter in#endif[/color] fl=get_focal_length(lens_get_zoom_point()); dof.far_limit=-1.0; dof.near_limit=-1.0; dof.depth_of_field=-1.0; dof.hyperfocal_distance=-1.0; dof.subject_distance=-1.0; if ((av!=0) && (fl!=0)) { if (conf.dof_subj_dist_as_near_limit) { v1=(fl*fl); dof.near_limit=shooting_get_canon_subject_distance(); av_min=shooting_get_min_real_aperture(); c_of_c=circle_of_confusion*10; if ((av_min!=0) && (c_of_c!=0)) dof.hyperfocal_distance=v1/(c_of_c*av_min); if ((dof.near_limit>0) && (dof.near_limit<65500)) { v=(dof.hyperfocal_distance-dof.near_limit); m=dof.hyperfocal_distance*dof.near_limit; if ((v>0) && (m>0)) dof.subject_distance=m/v; } dof.hyperfocal_distance=v1/(c_of_c*av); if ((dof.subject_distance>0) && (dof.subject_distance<65500)) { v = (dof.hyperfocal_distance-dof.subject_distance); m=dof.hyperfocal_distance*dof.subject_distance; if ((v>0) && (m>0)) dof.far_limit=m/v; dof.depth_of_field=dof.far_limit-dof.near_limit; } } else { dof.subject_distance=shooting_get_canon_subject_distance(); dof.hyperfocal_distance=(fl*fl)/(10*circle_of_confusion*av); if (dof.subject_distance>0 && dof.subject_distance<65500) { m = dof.hyperfocal_distance*dof.subject_distance; v = (dof.hyperfocal_distance+dof.subject_distance); if ((v>0) && (m>0)) dof.near_limit=m/v; v = (dof.hyperfocal_distance-dof.subject_distance); if ((v>0) && (m>0)) dof.far_limit=m/v; dof.depth_of_field=dof.far_limit-dof.near_limit; } } }}

Started by undo « 1 2 » General Help and Assistance on using CHDK stable releases

Started by dreambrain General Discussion and Assistance

Started by daniel_reetz « 1 2 3 4 » General Discussion and Assistance

Started by Sokoban « 1 2 » Firmware Dumping

Started by alfazoid Feature Requests