×

INDI Library v2.0.7 is Released (01 Apr 2024)

Bi-monthly release with minor bug fixes and improvements

Mirror lock on Canon with serial shutter?

  • Posts: 643
  • Thank you received: 62
Hi!
I'm using a Canon EOS 350D, that needs a serial shutter release along with the USB cable. I'd now like to use mirror lock on this. How do I do this? I remember from some months ago, that there was a mirror lock setting in Indi manager, after the serial shutter was connected, but there is no such setting now (and I didn't use it then since I had other problems).
So: anyone can guide me on how to use mirror lock on this camera?

Magnus
7 years 6 months ago #10562

Please Log in or Create an account to join the conversation.

What is the full GPhoto command that you can use with mirror lock and it captures an image for you with that? We had it before and it was causing problems. If I know the full working command, I might come up with a solution. The command must work for short duration (< 3 seconds) and long (> 60 seconds) so test it on both extremes.
Last edit: 7 years 6 months ago by Jasem Mutlaq.
7 years 6 months ago #10567

Please Log in or Create an account to join the conversation.

  • Posts: 643
  • Thank you received: 62
I don't know,, but I'll try to find out.

Magnus
7 years 6 months ago #10591

Please Log in or Create an account to join the conversation.

  • Posts: 105
  • Thank you received: 23
Hi,

I have a modified version of the gphoto driver that works for my 350D. Only a few
modifications are needed (see the attached diff. with the current source code).
There is one thing that one needs to keep in mind: switching to bulb exposure via software
does not work (at least on my camera). Therefore, I always set the camera to bulb exposure
mode before starting indiserver. This also means that short exposure should also use bulb exposure mode.

Another issue is that the driver doesn't recognise the camera as a Canon so that the mirror lock feature is
not available. I've tried to figure out why this is. It turns out that after adding some debugging print statements,
that the 'model' property is not available when the driver checks for the mirror lockup feature in
the updateProperties() method. I don't understand why this is because the 'model' property does show up
in de Ekos dialogue and in the output of indiserver:

2016-10-21T08:56:25: Driver indi_gphoto_ccd: read defTextVector GPhoto CCD model Idle rw
model='Canon EOS 350D DIGITAL'
2016-10-21T08:56:25: Client 0: queuing <defTextVector device='GPhoto CCD' name='model'>

For now I work around this problem by just ignoring the check in updateProperties() in the following manner:

if (sim == false)
{
ShowExtendedOptions();
DEBUG(INDI::Logger::DBG_SESSION, "Please update the camera pixel size in the Image Info section. The camera resolution will be updated after the first exposure is complete.");

// Only show mirror lock if the camera is canon
ITextVectorProperty *modelTP = getText("model");
if (modelTP) {
DEBUGF(INDI::Logger::DBG_SESSION, "updateProperties: property model='%s' strstr='%s'", modelTP->tp[0].text, strstr(modelTP->tp[0].text, "Canon"));
}
else {
DEBUG(INDI::Logger::DBG_SESSION, "updateProperties: property 'model' not found");
}
if (true) //modelTP && !strcmp(modelTP->label, "model") && strstr(modelTP->tp[0].text, "Canon"))
defineNumber(&mMirrorLockNP);
}


Hope this is of use.

Regards,
Camiel
7 years 5 months ago #10951
Attachments:

Please Log in or Create an account to join the conversation.

  • Posts: 643
  • Thank you received: 62
Hi!

Great! Could you describe shortly how you use the source code, so I can test? (it was a long time since I patched source code....)

And what do you mean by set the camera to buld mode? My 350D does not have a dedicated bulb mode (as later models have) but only a "M" mode.

Magnus
7 years 5 months ago #10952

Please Log in or Create an account to join the conversation.

  • Posts: 105
  • Thank you received: 23
Hi Magnus,
The easiest way is to add the lines with + starting at line 610 of gphoto_driver.cpp and modify line 670 by commenting out the check on the exposure time. (Don't forget to remove the '+' signs.)
You also have to change two lines in gphoto_ccd.cpp as shown above. You can locate these by searching for getText("model").
With Bulb mode I meant indeed the bulb exposure in manual mode.
Regards,
Camiel
7 years 5 months ago #10960

Please Log in or Create an account to join the conversation.

I'm trying to incorporate a solution that would work for all cameras (at least all Canon). So questions:

1. Is this supported by all Canon cameras?
2. Is an external remote serial shutter always required?
3. Any differences between EOS and other camera types?
4. What is mechanism to hold mirror in place exactly? I see you open a port and then sleep
5. You disabled regular exposure for less < 1 and used bulb, is there a lower limit to using bulb? aren't camera timings better for < 1 second resolution?
7 years 5 months ago #10971

Please Log in or Create an account to join the conversation.

  • Posts: 105
  • Thank you received: 23
Hi Jasem,

I'll try to answer your questions as far as I can because I only have one Canon camera.
1. As fas as I know this should work with all cameras that support an external shutter cable.
2. In the case of 350D and older cameras it is always required.
3. I don't know the answer to this.
4. When the mirror lockup mode is selected in the camera's menus, the first time the serial port is opened the mirror moves to the "up" position and is locked. When the serial port is closed, the mirror stays there. The exposure itself is started the second time the serial port is opened. When the exposure time is set to a specific value (e.g., 1, 2 or 1/20 of a second) the serial port can be closed at any time. But when the exposure time is set to 'bulb' closing the serial port will end the exposure. When mirror lock is not enabled on the camera, the first step can be skipped and the mirror and shutter are opened simultaneously when the serial port is opened.
Before I started using INDI and Ekos, I used a small Windows program that controlled the shutter in this way while standard Canon software loaded the RAW images from the camera automatically after each exposure.
5. Yes, I did because I noticed that the INDI driver set exposure time to 1s after the first bulb exposure. As far as I know at this moment it is not possible to set the exposure time to 'bulb' via the USB connection (on this camera) so this prevents taking any further long exposures. I think that both for short and long exposures timing should be accurate. For short exposures it is indeed easier to implement by using the standard exposure times.

Best regards,
Camiel
The following user(s) said Thank You: Jasem Mutlaq
7 years 5 months ago #10992

Please Log in or Create an account to join the conversation.

  • Posts: 18
  • Thank you received: 3
Hello Jasem,

I've a couple month ago proposed a patch for the gphoto drv implementing the mirror lock feature for Canon without serial shutter.
For all recent Canon there is no pre-requisite on a serial cable so you must avoid this additional cable.

FYI, Since then, i've tested my code for Canon 7D, 7DmkII, 6D with succes.

Regards,
HoxCa
The following user(s) said Thank You: Jasem Mutlaq
7 years 5 months ago #10994

Please Log in or Create an account to join the conversation.


I've disabled mirror locking since I wanted a _clear_ defined way to do it in all cases and not break functionality of some cameras. If you can resubmit a Pull Request including including all cases (with and without serial port) then I'd really appreciate it especially since you can test it and so can Camiel and then we know it works for all.
7 years 5 months ago #10995

Please Log in or Create an account to join the conversation.

  • Posts: 105
  • Thank you received: 23
Hi Jasem,

I have been experimenting a bit with gphoto 2.5.10 and my 350D. The following gphoto2 commands work for me.
Whithout mirror lock and an exposure time that is not 'bulb', e.g., 2 seconds:

gphoto2 --set-config shutterspeed=2 --capture-image-and-download

In the case of mirror lock for any exposure time including bulb (using the camera's button to trigger the mirror lock and exposure)

gphoto2 --set-config shutterspeed=Bulb --wait-event-and-download=10s

In this case the waiting time should be larger than the exposure time of course!

I have noticed that in the latest source of gphoto_ccd.cpp you have changed the test to check for
the availability of a mirror lock. You do this now using the "cameramodel" widget. However, my
350D only has the "model" widget.

Regards,
Camiel
7 years 5 months ago #11058

Please Log in or Create an account to join the conversation.

I'm actually looking only at "manufacturer" now, but I forgot to replace of the conditions and just did it now. Does this mirror locking in the current GPhoto driver work for you?
7 years 5 months ago #11059

Please Log in or Create an account to join the conversation.

Time to create page: 1.113 seconds