Author Topic: Automatic retracting of a lens on clean power-down  (Read 955 times)

ArcziPL

  • Contributor
  • Member
  • *****
  • Posts: 130
Automatic retracting of a lens on clean power-down
« on: April 30, 2018, 03:37:40 PM »
Hi, I'd came to an idea of a feature of automatic retracting the lenses on a clear power-down (switching the camera off).

Background: STM lenses can't be mechanically retracted using the focus ring without the supply and hard pushing the moving element back seems to not be the best idea (damage hazard). Having to turn the camera on and move the focus ring every time when when exchanging a lens is disturbing. There are also some certain lenses, like e.g. EF 50mm f/1.4 USM, which break easily when the front element is pushed without retracting it first. This can be easily forgotten when putting a camera to the bag in a hurry or just hitting against something. Personally I don't have problems with lenses with a mechanical ring (I always retract them manually when exchanging) but STM drive me crazy.

It would be great if it was possible to optionally retract such problematic lenses automatically -- the risk of damage would be nicely minimized.
Best case: the module would have a database of affected lenses with an information what is the safe position. Simpler: user would have per lens configuration if to retract and if to minimum focusing distance or infinity.
70D.112 | M50.102 | M.202

a1ex

  • Administrator
  • Hero Member
  • *****
  • Posts: 12236
  • Maintenance mode
Re: Automatic retracting of a lens on clean power-down
« Reply #1 on: April 30, 2018, 04:36:11 PM »
Unfortunately, the MPU is quite stubborn about focusing outside LiveView. I wasn't able to send any sort of focus commands in this mode (not even with low-level MPU messages).

Besides, the MPU decides to turn off LiveView at shutdown (either by power off or by opening the card door) and the main CPU has no way (that I know of) to block or delay this event. Proof: selftest.mo -> fault emulation -> lock the ARM CPU -> turn off the camera when the image freezes. The main CPU can tell the MPU in advance that it's busy (e.g. if you turn off the camera before all pictures were saved to card), but that's not a state desirable for normal operation (you'd need to know in advance when the user is going to turn off the camera).

It can be done on request (when you select some menu entry while you are in LiveView), but in this case, you may as well turn the focus ring manually.

It may be possible to (re-)enter LiveView just for this, but probably not trivial to implement (in particular, given that MPU knows the power switch is already off).

edit: tried changing PROP_SHOOTING_TYPE to 3 (LiveView); this works while the camera is operating normally, but won't work after opening the card door or turning the power switch (it just delays the shutdown process). Do not try changing properties randomly, unless you are prepared for a recovery session that may or may not be successful.

ArcziPL

  • Contributor
  • Member
  • *****
  • Posts: 130
Re: Automatic retracting of a lens on clean power-down
« Reply #2 on: April 30, 2018, 04:49:42 PM »
Understood, thanks for a detailed explanation. As you say, retracting on a request wouldn't rather bring much, as it requires doing it intentionally. In such case the focusing ring does the job same good.
70D.112 | M50.102 | M.202

dfort

  • Developer
  • Hero Member
  • *****
  • Posts: 3713
Re: Automatic retracting of a lens on clean power-down
« Reply #3 on: April 30, 2018, 05:07:24 PM »
Just an FYI - the EOSM retracts the lens on shutdown. Of course this is a special case because the camera is usually in LiveView.

[EDIT] Only applies to the 22mm EF-M STM lens. The 50mm 1.8 STM doesn't retract on the EOSM with the EF adapter.
5D3.* 7D.206 700D.115 EOSM.203 EOSM2.103 M50.102