×

INDI Library v2.0.6 is Released (02 Feb 2024)

Bi-monthly release with minor bug fixes and improvements

Mirror lock on Canon with serial shutter?

  • Posts: 105
  • Thank you received: 23
Hi,
There should indeed be three events. The fact that, with mirror lock enabled on your camera and in Ekos, on first the event both the mirror and shutter are operated is not what should happen. When you look in the code, the driver opens the serial port and closes it after 20 ms to trigger the mirror lock. You might experiment with the length of this interval to see whether this changes anything. Then after the mirror lock delay the serial port is opened once more to start the exposure (to be closed only at the end of the exposure). This seems to trigger the end of the exposure for your equipment. This makes me wonder with your serial shutter release is compatible with mine. Do you have any documentation of your serial shutter release?
Regards,
Camiel
The following user(s) said Thank You: Jasem Mutlaq
7 years 4 months ago #12421

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

  • Posts: 105
  • Thank you received: 30
I tried this tonight with the latest git sources on my Rebel Xt (350D) and I could not get this to work. Has anything been done one this? Is this expected to work with this model?

If I need to I can dig into this and figure out whats going on.

Thanks.
6 years 2 months ago #22363

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

  • Posts: 77
  • Thank you received: 16
Hi Mike,

I do not have the latest pull from source but I do have the latest PPA available (at this time) for the Raspberry Pi. I hope this will at least be of some use. I looked over this thread briefly and it seems some of the failures I had in testing may be related to the problems indicated in the thread. I have attached logs.

I know this test data may seem long but please read it all carefully as I have included test information that should help work out the bugs.

Configuration used in this test:
Raspberry Pi 3, Ubuntu Mate 16.04.03, KStars/Ekos/INDI 2.8.9 (Latest PPA as of this test due to Launchpad maintenance)
Canon Rebel XTi (400D)
FTDI USB to serial converter as TTYUSB0
Hap Griffin Serial port bulb trigger cable with LED (the LED is very useful for testing)

* Important note - this camera will expose up to 30 seconds max. A bulb cable is needed for greater than 30 seconds (same as 350D according to the specifications here):
en.wikipedia.org/wiki/Canon_EOS_350D

Canon 400D (XTi) INDI/Ekos test:
1. Turn on camera and connect to RPI3.
2. Start KStars/Ekos
3. Connect Ekos with Canon 400D only (created a profile with only the 400D)
4. Did not use the mirror lock feature yet, just testing exposure settings.
5. Began a series of exposures in Ekos as follows:

0.1 sec - worked - camera triggered
0.5 sec - worked - camera triggered

1 sec - failed - camera hung - had to push button on camera to trigger the exposure then the image downloaded. The bulb cable also triggered at this time.

1 sec - worked - looks like both the camera is set to 1 sec and the bulb cable triggers as well
1 sec - same as above
10 sec - worked - bulb cable triggered
20 sec - worked - bulb cable triggered
30 sec - worked - bulb cable triggered
35 sec - worked - bulb cable triggered
60 sec - worked - bulb cable triggered
10 sec - worked - bulb cable triggered
1 sec - worked - bulb cable triggered (camera rear display switched from bulb to read 1” and then back to bulb after exposure completed) the bulb cable also triggered

0.5 sec- failed - rear camera display read 0”5 but the camera did not trigger - I had to push the button to trigger the camera then the display changed back to bulb and the image downloaded.

0.5 sec - worked - camera triggered and rear display read 0”5 and the camera display changed back to bulb
0.1 sec - worked - camera triggered and rear display read 1/10 and the camera display changed back to bulb
35 sec - worked - bulb cable triggered

Turn on Mirror Lockup:
6. Disconnected from Ekos and INDI
7. Turned off camera and then back on.
8. Went into camera menu and turned on the Mirror Lockup in the settings.
9. Started Ekos and connected to camera and set the mirror lock delay in INDI to 2 seconds.
10. Began a series of exposures in Ekos as follows:

0.1 sec - failed - mirror lock triggered but camera hung - had to push button on camera then the exposure worked and downloaded.
0.1 sec - failed - mirror lock triggered but camera hung - had to push button on camera then the exposure worked and downloaded.

0.5 sec - worked
0.5 sec - failed - mirror lock triggered but camera hung - had to push button on camera then the exposure worked and downloaded.

1 sec - failed- mirror lock triggered but camera hung - had to push button on camera then the exposure worked and downloaded.

10 sec - worked - Mirror locked and after 2 seconds the camera exposed for 10 seconds and downloaded
20 sec - worked - Mirror locked and after 2 seconds the camera exposed for 20 seconds and downloaded
35 sec - worked - Mirror locked and after 2 seconds the camera exposed for 35 seconds and downloaded
60 sec - worked - Mirror locked and after 2 seconds the camera exposed for 60 seconds and downloaded

It seems that this mostly works except where exposures go below 1 second and the control goes back to the camera from the bulb cable. Some further troubleshooting will be needed to determine what causes the failures at first then they seem to work when the exposure timing is not changed (mostly true, especially if the exposure are longer than 1 sec).

I hope this is of some help to you and/or developers for the driver.
Last edit: 6 years 2 months ago by Midwest Astronomer.
6 years 2 months ago #22384
Attachments:

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

  • Posts: 25
  • Thank you received: 27
Hi,
I had the same problem with my Canon 350D with the latest version of the INDI gphoto 3rdparty drivers.
First I had downloaded the Astroberry image and ran that on my RPI3. I noticed that the mirror lock was not working and I could not get longer exposures then 30 seconds with my Canon 350D. It refused to go into bulb mode. The bulb mode issue was solved in later versions, but the mirror lock still didn't work.
I downloaded the latest version of the 3rdparty gphoto indi driver from git and started debugging.
I found that the method for mirror lock is being called, but no clear signal was send out by the USB 2 RS232 cable. I did some experimenting and found that the pulse that is send out is too short. It is currently set to 20ms. When increasing the pulse to 135ms, the mirror lock worked fine on my Canon 350D. A longer pulse also works, but less then 130ms did not work any more.
I hope this will solve the mirror locking for other uses too.
4 years 4 months ago #45876

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

Would there be any consequences if we make it, say, 150ms by default?
usleep(20000);
ioctl(gphoto->bulb_fd, TIOCMBIC, &RTS_flag);
close(gphoto->bulb_fd);
gphoto->bulb_fd = -1;
usleep(msec * 1000 - 20000);

Also, you just increased the sleep prior to seeing the RTS flag, or you had also to change the second sleep call?
4 years 4 months ago #45890

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

  • Posts: 25
  • Thank you received: 27
The only consequense I see is that the mirror lock pause after triggering the mirror lock is getting shorter, leaving the optical train less time to stabalize.

I would advice to not subtract the mirror lock pulse width from the mirror lock pause delay as the mirror is not flipped at the absolute beginning of the mirror lock pulse but some moment later (it takes time for the camera to react to the pulse and it also takes time for the mirror to reach the up position). I am not able to measure the exact time between sending the mirror lock pulse and the moment the mirror reaches the up position. You actually only want to subtract the time from the moment the mirror reaches the up position till the end of the mirror lock pulse. Because that is the time the optical train really is stabalizing. Before that the mirror is still moving and fibrations are introduced in the optical train, so you won't subtract that time from the mirror lock pause delay.
I hope I was able to explain it clear enough.

The code would then be something like this:
usleep(150000);
ioctl(gphoto->bulb_fd, TIOCMBIC, &RTS_flag);
close(gphoto->bulb_fd);
gphoto->bulb_fd = -1;
usleep(msec * 1000);
I did indeed just increase the usleep value just before the clear of the RTS flag.
The following user(s) said Thank You: Alfred
4 years 4 months ago #45891

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

Thanks for the detailed explanation! I submitted the code as per your suggestion, can you please git pull and test?
4 years 4 months ago #45928

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

  • Posts: 25
  • Thank you received: 27
Thanks for the quick integration in the main code line. I will try to pull and test the solution this week.
As soon as I tested it, I will let you know the results on this thread.

update 19-11-2019
Yesterday evening I pulled the latest sources, build it and tested it. The mirror lock worked perfectly and the delay after the mirror lock was also right.
Like before I didn't had the ability to verify it to millisecond accuracy, but I did see that the mirror lock was triggered as it should and that there was a delay after the mirror lock of the approximate time that was set in the settings screen.

To be sure that the new solution worked, I first tested it with the version from before your changes and saw that the mirror lock did not work. After getting the latest sources it worked like it should.
Thanks for integrating it.
Last edit: 4 years 4 months ago by Patrick.
4 years 4 months ago #45933

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

Time to create page: 0.566 seconds