Closed GoogleCodeExporter closed 9 years ago
IMO, we should leave the shutter button to it's default action.
Original comment by fired...@gmail.com
on 6 Apr 2012 at 1:16
Yes, of course; last think I want are random scripts firing then I try to take
a photograph. We would need first to agree how / when this feature should be
active. Obviously, this needs more polishing.
Original comment by eduardo....@gmail.com
on 6 Apr 2012 at 1:34
As for now we have separate button for launching scripts.
As it seems not all scripts would be appropriate to be launched with the
shutter button, which script you see interesting to be assigned to the shutter ?
Original comment by fired...@gmail.com
on 6 Apr 2012 at 1:38
For my use, the Extended AEB is the real force of 400+, but somewhat useless as
the only way to use it is with the awkward set-button.
Avoid random script-firing by use in combination with the Av-button:
1 Av button down (assign shutter to script)
2 Shoot
This way there is no need to discuss what scripts to assign: User is in charge.
Alternatively, Sergeis code, assigning the shutter in AV and TV mode works well
too.
Original comment by TEEM...@gmail.com
on 8 Jul 2012 at 7:28
This button is out of our reach, it is handled in the MPU.
Original comment by fired...@gmail.com
on 7 Feb 2013 at 4:01
What do you mean "out if our reach" ?
I think you mean "out of our mind" :-)
Sergei did it and it works perfect:
http://chdk.setepontos.com/index.php?topic=3290.msg83755#msg83755
Original comment by TEEM...@gmail.com
on 7 Feb 2013 at 5:36
Serguei's code launches a script after the camera has taken a photograph, not
when the user presses the shutter. Looks similar, but it isn't the same. For
example, the first photograph is always taken by the camera, with no
intervention from any script.
Original comment by eduardo....@gmail.com
on 7 Feb 2013 at 6:03
Ahaa, thanks for clarifying. So actually, the shutter triggers a script to
finish the sequence.
Original comment by TEEM...@gmail.com
on 7 Feb 2013 at 7:38
By "out of our reach" I mean that it is not possible to catch the button
pressing. It is not happening in our processor. Think of this like someone
wrote you a Private message in some social network. Then you receive an email
informing you that you have a message waiting for you.
So in this example, you are informed about some event (the message), but the
action (button press) is already in the past, and the consequence is already
there (the message is stored on the server).
So the flow is like this:
1. action - writing a message / button press
2. consequence - message stored / picture taken
3. event - you receive mail / our code receives the event
I'm not a native English speaker, so I only hope that I explained this good
enough.
Basically this means that we cannot execute any code on shutter press.
I have not seen Sergei's code, but Edu explained how it works. Unfortunately it
is not the way this issue were addressing.
Original comment by fired...@gmail.com
on 7 Feb 2013 at 8:17
Though, it could be possible in other means, like Sergei's.
This is just an idea (not verified): If all the buttons are memory mapped (like
the TRASH which we use to skip the hack loading on startup), it could be
possible to detect the actual button press, but we would not be able to block
it's actual meaning - taking a photo. This basically means that it will behave
the same like in Sergei's variant.
note: on some cameras ML uses the half-press of the shutter to skip the hack
loading.
Original comment by fired...@gmail.com
on 7 Feb 2013 at 8:21
Actually, I understand programmers language better than social networking :)
I guess you catch an event after taking a picture. Then launch the script.
Is it because the mapping of the shutter is not known or simply because is is
not possible to use it in same way as the other buttons (sorry for going off
topic, I am just curious)?
So that mean that using the shutter, will always take the picture as the camera
is configured and can only be used for some scripts (like AEB).
Original comment by TEEM...@gmail.com
on 7 Feb 2013 at 9:28
heh, then sorry for the social BS explanations...
perhaps i should have spent these comments explaining how the buttons are
handled in first place.
Basically our code runs on the ARM CPU, where the Original FirmWare [OFW] runs.
There is an OS (VxWorks) where the canon application runs, there are multiple
threads/processes of it - called Tasks.
We are just starting few separate Tasks to handle our stuff...
There is another MicroProcessor [MPU] - Tx109a, where all the buttons and other
stuff like lens and flash, mirror, sensor are connected.
This MPU scans the button matrix then sends this information to the CPU (and
thus the OFW) pulling an IRQ line.
Unfortunately not all buttons are sent to CPU straight forward (like the MENU,
SET, TRASH, etc...). Some of them (like half/full shutter, DOF, FLASH, etc) are
not sent directly, they are handled by this MPU, then only a notification is
sent to CPU (and not for all of them).
Basically this means that the most low-level job is done in the MPU.
Your assumption about the shutter button is correct. It will always take a
photo.
(At least with the knowledge we have so far).
BTW, what I just wrote is half proved, half guessed by the camera behavior and
scattered knowledge from here and there.
Original comment by fired...@gmail.com
on 7 Feb 2013 at 10:00
Original issue reported on code.google.com by
eduardo....@gmail.com
on 5 Apr 2012 at 7:30