Reading sensor data without closing shutter? - page 7 - Script Writing - CHDK Forum  

Reading sensor data without closing shutter?

  • 70 Replies
  • 9476 Views
Re: Reading sensor data without closing shutter?
« Reply #60 on: 27 / December / 2018, 08:54:38 »
Advertisements
 
After the last experiments, I found that the exposure time should not exceed 1,200,000 μs. More time gives damaged RAW data. Without a patch, the maximum exposure time is 1 second.
I used build which can be seen in Reply #53. I made one picture with 800,000us and one with 1,600,000us. Both pictures are identical. So, I should try it with lower values again?

AFAIK camera cleans the lens with a closed shutter.
Yes of course, but I read in another forum the cam goes in a different mode when you do sensor cleaning without a lens.
« Last Edit: 27 / December / 2018, 08:56:23 by c_joerg »
M100 100a, M3 101a, 2*G1x (101a,100e), S110 (103a), SX50 (100c), SX230 (101a), 2*S45,
Flickr https://www.flickr.com/photos/136329431@N06/albums
YouTube https://www.youtube.com/channel/UCrTH0tHy9OYTVDzWIvXEMlw/videos?shelf_id=0&view=0&sort=dd

*

Offline Ant

  • ****
  • 431
Re: Reading sensor data without closing shutter?
« Reply #61 on: 27 / December / 2018, 10:39:56 »
I used build which can be seen in Reply #53. I made one picture with 800,000us and one with 1,600,000us. Both pictures are identical. So, I should try it with lower values again?
Yes. Probably camera did only one shot and 1.6s value was not accepted.
In viewfinder mode(excluding movie) sensor is polled at 30 - 60  FPS. So exposure time should be less then 33-16ms for not dark scenes.
« Last Edit: 27 / December / 2018, 10:42:36 by Ant »

Re: Reading sensor data without closing shutter?
« Reply #62 on: 28 / December / 2018, 01:35:24 »
Yes. Probably camera did only one shot and 1.6s value was not accepted.

The exposure didn’t change. I tried 1,000,000 and 100,000 with no differences in result.

Code: [Select]
call_event_proc("Capture.Create")
call_event_proc("ShutterTool.SetExpTime", 1000000 )
frsp_shoot()
M100 100a, M3 101a, 2*G1x (101a,100e), S110 (103a), SX50 (100c), SX230 (101a), 2*S45,
Flickr https://www.flickr.com/photos/136329431@N06/albums
YouTube https://www.youtube.com/channel/UCrTH0tHy9OYTVDzWIvXEMlw/videos?shelf_id=0&view=0&sort=dd

*

Offline Ant

  • ****
  • 431
Re: Reading sensor data without closing shutter?
« Reply #63 on: 28 / December / 2018, 08:43:31 »
The exposure didn’t change. I tried 1,000,000 and 100,000 with no differences in result.

Does resulting image look overexposed? Did you try differrent modes?(Av, M, Movie)
Maybe after a lot of experiments my camera became very special  :)

Can somebody else check "ShutterTool.SetExpTime"function?


Re: Reading sensor data without closing shutter?
« Reply #64 on: 28 / December / 2018, 09:28:41 »
Does resulting image look overexposed?
No, all images a little bit underexposed (-0.6EV) comparing with CR2.

Did you try differrent modes?(Av, M, Movie)
I only tried Av.
I will try again in M and Movie Mode…

Maybe after a lot of experiments my camera became very special  :)
That looks very much like it :)
M100 100a, M3 101a, 2*G1x (101a,100e), S110 (103a), SX50 (100c), SX230 (101a), 2*S45,
Flickr https://www.flickr.com/photos/136329431@N06/albums
YouTube https://www.youtube.com/channel/UCrTH0tHy9OYTVDzWIvXEMlw/videos?shelf_id=0&view=0&sort=dd

*

Offline Ant

  • ****
  • 431
Re: Reading sensor data without closing shutter?
« Reply #65 on: 28 / December / 2018, 10:36:17 »
Another way to check:
in M mode set ISO manually and type in CHDKPTP:

lua call_event_proc("Capture.Create")
lua call_event_proc("ShutterTool.SetExpTime", 12000)
« Last Edit: 28 / December / 2018, 10:39:12 by Ant »

Re: Reading sensor data without closing shutter?
« Reply #66 on: 28 / December / 2018, 11:22:03 »
Another way to check:
in M mode set ISO manually and type in CHDKPTP:
lua call_event_proc("Capture.Create")
lua call_event_proc("ShutterTool.SetExpTime", 12000)
It’s the mode….
In M mode Liveview changes. Also, Script works in M mode
In Av Mode Liveview changes shortly and goes immediately back.
M100 100a, M3 101a, 2*G1x (101a,100e), S110 (103a), SX50 (100c), SX230 (101a), 2*S45,
Flickr https://www.flickr.com/photos/136329431@N06/albums
YouTube https://www.youtube.com/channel/UCrTH0tHy9OYTVDzWIvXEMlw/videos?shelf_id=0&view=0&sort=dd

*

Offline Ant

  • ****
  • 431
Re: Reading sensor data without closing shutter?
« Reply #67 on: 30 / December / 2018, 12:40:43 »
Comparing two RAM dumps I found the address of a variable that allows to control the Exposure Gain (ISO) for FRSP.
On EOS M3 fw1.0.1A it's 0xE9C4. The range is -96...480.

What about other cameras? Can anybody check?
« Last Edit: 30 / December / 2018, 12:58:59 by Ant »


*

Offline srsa_4c

  • ******
  • 4031
Re: Reading sensor data without closing shutter?
« Reply #68 on: 30 / December / 2018, 18:46:08 »
Comparing two RAM dumps I found the address of a variable that allows to control the Exposure Gain (ISO) for FRSP.
On EOS M3 fw1.0.1A it's 0xE9C4. The range is -96...480.
Did some digging in the m3 fw. 0xe9c4 seems to be related to a gain type that they call "degeen". That codename doesn't ring a bell and google doesn't find anything relevant - probably just an internal Canon codename. The string does appear in some - mostly newer - CMOS cameras, but mostly just as source file name (*.c).
The variable is referenced from Capture.WholeSerial.
Have you tried the other gain eventprocs (CMOSGain, VgaGain, CdsGain, etc)?

As for the capture function, I'm thinking it needs a complete implementation similar to shoot(), using action stack.

*

Offline reyalp

  • ******
  • 12153
Re: Reading sensor data without closing shutter?
« Reply #69 on: 30 / December / 2018, 19:25:39 »
As for the capture function, I'm thinking it needs a complete implementation similar to shoot(), using action stack.
I'm not sure. That would make it blocking from script POV, like the current implementation. So the only advantage would be that it doesn't tie up physw task.

I'm not sure if you would include the shoot_half stuff in the action stack, but there are probably cases where you wouldn't want to do it every shot.

To access raw data, you'd still need a non-blocking call with something like the hooks (to prevent MenuOut from being called until the script is done with the raw data) or an explicit call.

There could be value to having both a simple, do everything blocking call ala shoot() and an option allowing more control.

To mimic the current logic of capt_seq shooting in relation to kbd_task and spytask, you could put frsp in it's own task, but that doesn't address the MenuOut issue directly.
Don't forget what the H stands for.

 

Related Topics