I can definitely confirm, sometimes DNGs are not saved when using SDO, and all shots at all focal lengths end up out of focus regardless of subject distance...
I have a hard time believing that it was SDO testing causing some DNG's not to be saved.
DNG's not being saved is typically an issue with lack of RAM. If the camera's heap runs out of space, CHDK will not be able to allocate space for working with the DNG file and will simply not attempt to store one.edit : issue is was not related to SDO testing but rather to the file counter bug common in more recent ports. Patch now posted to fix this.
The CHDK "show memory info" function shows 634840 bytes of free memory on my loaner ixus300. IIRC, that's not very much. reyalp can probably comment on that and whether a different memory model might be appropriate for this camera.
Fortunately, I can also do some testing on my own here.
I'll see what I can drag out.
As far as SDO goes, did you try my
test script? I did not study the resulting images closely at the pixel peeping level but the only reasons for there to be nothing in focus in your images that I can think of is that either the lens focus elements are still moving when the image was captured or the focus mechanism has been set outside of the valid range for the camera. See below.
Here's my 2 cents worth about the focus mechanism on inexpensive P&S cameras. I've spent a lot of time on this and it's the best (and only) theory that I have.
- Expensive DSLR lens have carefully designed mechanical mechanisms that let you focus accurately by rotating the lens sleeve to a physical position indicated by printing on the sleeve telling you where it has focused.
- Expensive P&S cameras with MF capability have calibrated internal focus mechanisms that allow you to specify a focus distance through the UI.
- Cheap P&S cameras (like the ixus300) have a simple internal lens mechanism that moves an optical element back & forth until the software detects the sharpest image transitions. It's done in a feedback loop - the camera has no idea what distance it is focused at - it just knows that the image is as sharp as it can make it.
- For such inexpensive cameras, CHDK's ability to set a focus distance is a totally uncalibrated "best guess" by the camera's firmware. You give it a number (nominally in millimeters) and it moves the internal lens mechanism to a position that - on average for all cameras - might be close to the right position for the focus point you requested. Maybe.
- For cheap P&S cameras, it is also possible that too low or too high a requested setpoint will move the lens mechanism to a position where nothing is in focus. The actual usable range might be much smaller than we have expected. We have already noted that if you look at several cameras of the same model & firmware, you can get very different results when (link>) trying to focus at infinity for example.
Basically, MF in CHDK is a hack. CHDK can cause the lens focus mechanism to move to a fixed position where something might be in focus. There are several threads with great examples of people doing focus stacking in macro mode this way. It does work but you cannot treat it as a device that measures distances accurately.
Also, the depth of field on these tiny lenses usually means that everything more than a meter away is in focus almost all of the time anyway. YMMV.
tl;dr : Let us know your results using the script?
I'll look at the DNG issue.
Edit: you will notice a couple of second delay each time a DNG is saved. Did you notice that delay missing on some of your shots? probably fixed