Subject distance override is now done, first post updated with a new build.
I hope somebody "in charge" will read this as I have a question and don't want to open a thread for it.
While testing SD override on this cam, I found that it only causes the cam to crash when used in "AUTO" mode or with "Servo AF" turned on. AUTO mode on this camera implicitly enables continuous AF. To prevent these crashes, I came up with the following mod:
Index: core/shooting.c
===================================================================
--- core/shooting.c (revision 2405)
+++ core/shooting.c (working copy)
@@ -736,6 +736,10 @@
// TODO whats the reason for this ?!?
return (shooting_get_zoom()<8) && (m!=MODE_AUTO) && (m!=MODE_SCN_UNDERWATER);
#else
+#if CAM_ONLY_SD_OVER_WHEN_NO_CONFLICT
+ if ( (shooting_get_prop(PROPCASE_CONTINUOUS_AF)) || (shooting_get_prop(PROPCASE_SERVO_AF)) )
+ return 0;
+#endif
return 1;
#endif
}
Index: include/camera.h
===================================================================
--- include/camera.h (revision 2405)
+++ include/camera.h (working copy)
@@ -46,6 +46,7 @@
#undef CAM_CAN_SD_OVER_IN_AF_LOCK // Camera allows subject distance (focus) override when in AF Lock mode
#undef CAM_CAN_SD_OVER_IN_AF_LOCK_ONLY // Camera allows subject distance (focus) override only when in AF Lock mode OR in movie mode
#define CAM_CAN_SD_OVERRIDE 1 // Camera allows to do subject distance override
+ #undef CAM_ONLY_SD_OVER_WHEN_NO_CONFLICT // Camera can't tolerate subject distance override when servo AF or continuous AF is active
#define CAM_HAS_MANUAL_FOCUS 1 // Camera has manual focus mode
#define CAM_HAS_USER_TV_MODES 1 // Camera has tv-priority or manual modes with ability to set tv value
#undef CAM_SHOW_OSD_IN_SHOOT_MENU // On some cameras Canon shoot menu has additional functionality and useful in this case to see CHDK OSD in this mode
Index: include/propset2.h
===================================================================
--- include/propset2.h (revision 2405)
+++ include/propset2.h (working copy)
@@ -52,4 +52,7 @@
#define PROPCASE_DIGITAL_ZOOM_MODE 91 //G10 Digital Zoom Mode/State 0 = off/standard, 2 = 1.7x, 3 = 2.1x
#define PROPCASE_STITCH_DIRECTION 233 //D10 0=left>right, 1=right>left
#define PROPCASE_STITCH_SEQUENCE 238 //D10 counts shots in stitch sequence, positive=left>right, negative=right>left
+#define PROPCASE_VIDEO_RESOLUTION 169
+#define PROPCASE_SERVO_AF 293 //ixus110 0 = servo AF not active, 1 = servo AF active
+#define PROPCASE_AF_LOCK 11
#endif
I suspect that this is not the only model which crashes on subject distance override attempts when the above conditions are true.
Would a patch like this be acceptable for inclusion? Any suggestions?