Quote "The "ptp error" messages are an indication that something bad happened to your ptp connection."
Ignore the "ptp error" messages before the shoot command. I think the "ptp error" after the shoot command is a side-effect of the problem. It occurs after or around the execution of dcimdl(), which appears to return a null list in its listdir() call. It is what I describe in my "feels like" assessment. In other words, shoot executes fine but dcimdl() fails.
Can you have another thought about this one?
Quote "Normally, a VERY fast-acting miniature mechanical shutter closes AFTER the exposure to shield the CCD from ambient light while the charges are being transferred."
... and also to allow capturing the dark frame for subtraction in long exposures. Correct.
Quote "that means your optics have to direct the light beam through quite a small aperture."
The architecture of my instrument is not the usual you'd expect, so I don't need a small aperture.
Quote "Also, if you are forming an image, the image-forming rays should not be very far from perpendicular to the CCD."
Obvious // my system uses infinity-corrected projection. The focal length - to - image size ratio is very large and the result near-perfect perpendicularity.