GENERAL SPECIFICATION for the ELECTRONIC DUMMY SOLUTION
INTRO
There are four components that need to be removed: IS, IRIS, FOCUS and ZOOM. The most difficult component to substitute by an electric dummy is the IS. Fortunately for this component Canon has provided us with DisableISDriveError. The operation (presently lua from CHDKPTP command line) has to be issued in the 1 minute window after ->REC. For the last few days I've had the IS ribbon cable disconnected, main board shutter drive output going to the SSC (SticK Shutter Controller) and the SSC driving the Canon shutter. The camera is in M mode and continues to shoot (shoot+dcimdl) as if the IS were connected and working normally. Hence I believe we have a solid solution for IS and IS can be considered handled.
The next FW solution that is almost essential is the ability to override the Hardware Error Flag (HEF). The effect of the HEF is that when HW failure is detected, the last bad state is saved to HEF on PDN and then on camera PUP the components get a quick test for reconnection (followed by a mechanical reset if needed) before the camera allows PTP and PLAY (then HEF gets cleared). I call this "revival." A special development-issue FW now handles the HEF by ignoring it, so components do not need to be reconnected to revive the camera after a HW fail during dummy development. It seems that HEF is a general flag for all four components and is recorded in an RTC register.
SPEC
Since we now have a good handle on the signalling and how the camera handles hardware errors, it is possible to define a general solution by noting that an electric dummy has one principle advantage over its Canon component counterpart: since it has no moving parts, when a dummy is PUPed, it always gets power-reset to the "good hardware state (GHS)." Hence to the camera, the dummy looks like a good stowed functional component each time the camera is PUPed. That means during operation the dummy *can be left* in an equivalent "bad hardware state" (BHS) (ie unstowed) on PDN. That would be the same as disconnecting the AC adapter while in REC mode. So when the dummies are doing their job in REC mode and the user goes REC->PLAY for example, the dummy supervisor circuit simply issues a GHS reset, and the system is good-ready for the next PLAY->REC.
For example, in the worst case when AC is pulled during REC (ie while the components are unstowed), the handling difference between the two hardware variants occurs on PUP and HEF true: for the Canon components, the camera mechanically resets them before PLAY&PTP; for the dummies, it goes directly into PLAY&PTP as if nothing terribly bad had happened (revival with equivalent stowed components).
The upshot of all of this, is that timing circuits only need be implemented in the PLAY->REC (unstow) direction, *not* the REC->PLAY (stow), greatly simplifying the implementation thus requiring only three tiny 555s (plus a bit of glue logic) for the entire mecha dummy arrangement (ZOOM motor notwithstanding). This new knowledge is especially useful for the elimination of the FOCUS stow dummy, because of its complicated jiggle.
So at this point I am confident we can implement a very compact minimal solution, especially for IRIS unstow, FOCUS unstow, and ZOOM unstow. FOCUS has to be rid first before tackling ZOOM because it is part of the ZOOM assembly. The ZOOM motor will need special attention, but first I will tackle IRIS and FOCUS and test concept etc. Once working, it will allow for easier physical access and manipulation to attempt the ZOOM motor later.