×

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

Bi-monthly release with minor bug fixes and improvements

Canon 7D/7D mkII bulb exposure with mirror lock

  • Posts: 18
  • Thank you received: 3
opensource rules !
for sure i will share with the world :)
I just need time and more tests.
8 years 3 days ago #7790

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

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

The mirror lock is now a working feature here :)
So i will prepare a patch and submit it to you. => maybe need more large testing.

Question:
Is there a conduct regarding code indentation or a linter for indi devs ?
Is there somewhere an indent command argument list that i can use for conformity ?
8 years 3 days ago #7794

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

  • Posts: 18
  • Thank you received: 3

File Attachment:

File Name: autoexposu...atch.tgz
File Size:1 KB


File Attachment:

File Name: mirrorlock.patch.tgz
File Size:2 KB

Hello,

Here is 2 patch
The first one is for using autoexposure only in place of bulb for rotatory dial detection
The second one merge autoexposure and mirrorlock functionnality.
( Definilty need a linter as i used to enforce consistently 2 spaces for tabs. I did not want to push it on the patch files to be conservative this time )

Usage:
You must have your rotatory dial set to B on camera
You must put /dev/null as device in the serial mirror lock combo box before launching the driver in ekos
After intitialisation of the gphoto_ccd driver you must set the mirror lock timer.

It work on my both camera 7D and 7D mkII.
Hope it will help other users !

It would be great to have a user with a Canon 6D to test it, as it's also very used device for astrophotography
Maybe we should fire a test with a non Canon camera to be sure i did not break anything,
as far as ther is no tests code and i did not have alla the available cams, i'm pretty blind...

I'm fighting with the rooting renaming files after download on the client with native format, but it's another story, so i will open another thread...
--
Regards
Hoxca
8 years 2 days ago #7821
Attachments:

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

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

If you test it, could you tell me what is your model camera ?
I think that a test on 6D should be a good thing to do, but i've no opportunity to do,
i will try asap, but i did not manage to get someone with a 6D so far...
8 years 10 hours ago #7857

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

Hi Hoxca,

I applied both patches. But it seems your patch causes a crash in 350D. Here is the driver output:
2016-05-04T08:57:43: Driver indi_gphoto_ccd: pid=6008 rfd=3 wfd=6 efd=7
2016-05-04T08:57:43: listening to port 7624 on fd 4
2016-05-04T08:57:43: Driver indi_gphoto_ccd: snooping on Telescope Simulator.EQUATORIAL_EOD_COORD
2016-05-04T08:57:43: Driver indi_gphoto_ccd: snooping on Telescope Simulator.TELESCOPE_INFO
2016-05-04T08:57:43: Driver indi_gphoto_ccd: snooping on CCD Simulator.FILTER_SLOT
2016-05-04T08:57:43: Driver indi_gphoto_ccd: snooping on CCD Simulator.FILTER_NAME
2016-05-04T08:57:49: Client 0: new arrival from 37.231.84.212:45524 - welcome!
2016-05-04T08:57:56: Driver indi_gphoto_ccd: Mirror lock value: 0,000000
2016-05-04T08:57:56: Driver indi_gphoto_ccd: Opening gphoto
2016-05-04T08:57:56: Driver indi_gphoto_ccd: Camera init.  Takes about 10 seconds.
2016-05-04T08:57:56: Driver indi_gphoto_ccd: Error during assembling of port list: 'Unspecified error' (-1).
2016-05-04T08:57:57: Driver indi_gphoto_ccd: using shutterspeed as capture widget
2016-05-04T08:57:57: Driver indi_gphoto_ccd: Using external shutter-release cable
2016-05-04T08:57:57: Driver indi_gphoto_ccd: Gphoto initialized
2016-05-04T08:57:57: Driver indi_gphoto_ccd: Blub-stop thread enabled
2016-05-04T08:58:23: Driver indi_gphoto_ccd: Starting exposure (exptime: 1 secs, mirror lock: 0)
2016-05-04T08:58:23: Driver indi_gphoto_ccd:   Mutex locked
2016-05-04T08:58:26: Driver indi_gphoto_ccd: stderr EOF
2016-05-04T08:58:26: Driver indi_gphoto_ccd: restart #1
2016-05-04T08:58:26: Driver indi_gphoto_ccd: pid=6092 rfd=3 wfd=7 efd=8
2016-05-04T08:58:26: Driver indi_gphoto_ccd: snooping on Telescope Simulator.EQUATORIAL_EOD_COORD
2016-05-04T08:58:26: Driver indi_gphoto_ccd: snooping on Telescope Simulator.TELESCOPE_INFO
2016-05-04T08:58:26: Driver indi_gphoto_ccd: snooping on CCD Simulator.FILTER_SLOT
2016-05-04T08:58:26: Driver indi_gphoto_ccd: snooping on CCD Simulator.FILTER_NAME

Here is the backtrace:
Last edit: 7 years 11 months ago by Jasem Mutlaq.
7 years 11 months ago #8048

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

I will test with my DSLR today and report any issues.
7 years 11 months ago #8049

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

Ok, so after spending a few hours on the driver today, I have a clearer idea on what's okay on. It's 4:30 AM here so I may not be at all coherent. I fixed the crash that was reported in the 350D as it was caused by the removal of bulb widget check. On my 60D, I was set to manual on the rotary dial, and in the driver I have autoexposuremode and it was set to manual too, but I can still take bulb exposures fine, albeit I didn't use mirror lock. At any rate, after my changes now (which included major changes and debug support), the issue is fixed on my DSLR.

I still do not exactly understand the mirrorlock, in gphoto_mirrorlock, we have:
gphoto_set_widget_num (gphoto, gphoto->bulb_widget, 2);
gphoto_set_widget_num (gphoto, gphoto->bulb_widget, 4);
usleep (msec * 1000);

What is this code doing exactly? and in your code, you open and close /dev/null and sleep then return, why is opening /dev/null necessary? usleep isn't enough? and how is the mirror "locked" in this way?
Last edit: 7 years 11 months ago by Jasem Mutlaq.
7 years 11 months ago #8103

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

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

The purpose of this patch is to control the mirror lock function without the remote serial shutter.
Only the main USB.

1) I just put the "/dev/null" device to get the mirror lock timer option in ekos.
The if statement:
if (! strcmp(gphoto->bulb_port,"/dev/null") == 0)
prevent the opening of /dev/null as i did not use the gphoto->bulb_port

2) In the gphoto_driver.c i use the foolowing sequence:
(The Canon camera is set with mirror lock to ON, and rotation dial to Bulb)
a) gphoto_set_widget_num (gphoto, gphoto->bulb_widget, 2); // I push the button and the mirror is now UP
b) gphoto_set_widget_num (gphoto, gphoto->bulb_widget, 4); // I release the button
c) usleep (msec * 1000); // i sleep with the mirror locked until the end of timer set in ekos

3) After the mirror lock done the capture will begin with another
gphoto_set_widget_num (gphoto, gphoto->bulb_widget, 2);

I will acquire a Canon 6D soon and will test this code portion.
7 years 11 months ago #8134

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

Hello Hoxca,

Ok great. The driver should remain simple. But where does it currently use the mirror lock with remote serial shutter? All I see is:
gphoto_set_widget_num (gphoto, gphoto->bulb_widget, 2); // I push the button and the mirror is now UP
gphoto_set_widget_num (gphoto, gphoto->bulb_widget, 4); // I release the button

These use the bulb widget, not the bulb port. Am I missing something else in the code?
7 years 11 months ago #8136

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

  • Posts: 18
  • Thank you received: 3
You are perfectly right Jasem.
The fact is i'm only using the bulb port as an input for the int msec,
to provide user adjustable timing of the mirror lock option via the ekos gphoto interface.
=> actualy only adjustable when using the remote shutter release (bulb->port)
7 years 11 months ago #8140

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

So it is correct to assume that the "Mirror Lock" option is only available if you have a remote serial shutter? and you wanted to make it available in case there is no remote serial shutter available?
7 years 11 months ago #8142

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

  • Posts: 18
  • Thank you received: 3
Yes !
On 7D 6D 5D and all modern camera you can use the mirror lock without a serial shutter.
And, that's the porpose of my gphoto_driver patch.

Jasem, have a look on my #7782 #7785 message in this thread.
Last edit: 7 years 11 months ago by hugues obolonsky.
7 years 11 months ago #8152

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

Time to create page: 2.194 seconds