Where do I go to find older CHDK builds (especially vrsion 1.2) - page 4 - General Help and Assistance on using CHDK stable releases - CHDK Forum supplierdeeply

Where do I go to find older CHDK builds (especially vrsion 1.2)

  • 40 Replies
  • 20523 Views
*

Offline philmoz

  • *****
  • 3450
    • Photos
Re: Where do I go to find older CHDK builds (especially vrsion 1.2)
« Reply #30 on: 12 / January / 2015, 13:48:02 »
Advertisements
With unsafe IO enabled, the script was able to successfully save all DNG files (script was set to take 13 images, and it created 13 18.2MB DNG files (all readable)

burst mode also successfully saved each raw file properly

The script was still unable to create a log file, as it had the same error as before
This is expected, the log file uses script file IO functions which can't use the "unsafe" option.

Note that with unsafe IO enabled, you will probably get occasional crashes. This isn't really a solution, but it at least narrows down the problem. The reason 1.2 didn't suffer this problem is that all IO was done the "unsafe" way, which worked most of the time but crashes occasionally.

I think the next step is to compare capt seq hook code on this camera to other similar generation cameras that don't suffer the problem. msl reported that the sx220 does not have the same problem, although it has some other issues.

Doesn't this mean that 'is_video_recording()' must be returning true?

Otherwise the semaphore timeout would now be set to 0 (infinite) and the camera would hang trying to write the DNG file data.

Phil.
CHDK ports:
  sx30is (1.00c, 1.00h, 1.00l, 1.00n & 1.00p)
  g12 (1.00c, 1.00e, 1.00f & 1.00g)
  sx130is (1.01d & 1.01f)
  ixus310hs (1.00a & 1.01a)
  sx40hs (1.00d, 1.00g & 1.00i)
  g1x (1.00e, 1.00f & 1.00g)
  g5x (1.00c, 1.01a, 1.01b)
  g7x2 (1.01a, 1.01b, 1.10b)

*

Offline reyalp

  • ******
  • 14080
Re: Where do I go to find older CHDK builds (especially vrsion 1.2)
« Reply #31 on: 12 / January / 2015, 15:33:58 »
Doesn't this mean that 'is_video_recording()' must be returning true?

Otherwise the semaphore timeout would now be set to 0 (infinite) and the camera would hang trying to write the DNG file data.
In the stock code it would be, but for the test build I overrode the timeout for the non-video case to 200ms. This of course risks the FsIo assert in other places.
Don't forget what the H stands for.

*

Offline reyalp

  • ******
  • 14080
Re: Where do I go to find older CHDK builds (especially vrsion 1.2)
« Reply #32 on: 15 / January / 2015, 00:21:30 »
I think the next step is to compare capt seq hook code on this camera to other similar generation cameras that don't suffer the problem. msl reported that the sx220 does not have the same problem, although it has some other issues.
I spent some time looking at this. Aside from addresses, the canon capt_seq code for sx220 looks identical. The CHDK hook locations are also the same except the nr/darkframe and remote hooks being in a slightly different position. Those shouldn't matter for this problem, especially if those features aren't in use.

Other r47 cameras have the raw hook in a similar location too.

Regarding the sx220, msl said
Quote
The fast shooter works very well. With the default settings I get 5 JPGs and 5 DNGs with the same numbers in the file names.

In continuous mode the camera crashes after the first picture with the activated RAW/DNG option. This picture is saved as DNG but not as JPG. Then freezes the camera. A ROMLOG is not available for this crash.
It's probably more of a problem of the memory.
Freezing without a romlog could potentially be a semaphore issue.


edit:
It would be useful to know if the dark frame control and remote hook work on both the sx230 and sx220.

edit:
Thinking about this more... the fact the DNG header is sometimes saved suggests a timing issue, where something prior to the raw hook allows a task that does file IO to run, and it sometimes only gets ahold of the semaphore after the DNG header is written. The DNG code sleeps after writing the header to allow the reversing task to start up.
This in turn suggests that moving the raw hook earlier might avoid the issue, but I didn't see any really obvious places in the preceding function. There are multiple code paths between the remote hook (which if it works must be before the raw is created) and the end of the function.
One option might be to add debug code that just checks the semaphore status at various points.

It's puzzling that sx220 doesn't suffer the same issue, but if it's dependent on timing card speed and shooting settings could be a factor.
« Last Edit: 15 / January / 2015, 16:44:11 by reyalp »
Don't forget what the H stands for.

*

Offline reyalp

  • ******
  • 14080
Re: Where do I go to find older CHDK builds (especially vrsion 1.2)
« Reply #33 on: 18 / January / 2015, 18:40:42 »
Here's a new test build. This won't fix the problem, but may provide clues toward a solution.

Attached is a new variant of the fast hdr script. Running it should create two log files in the root of the SD card: fhdrdbg.log and fhdrurt.log

Please run the script with this build, and post both log files. You must have lua native function calls enabled in the misc menu.
Don't forget what the H stands for.


Re: Where do I go to find older CHDK builds (especially vrsion 1.2)
« Reply #34 on: 19 / January / 2015, 17:04:51 »
Sorry for the late reply.

I set it to take 13 exposures, and have attached both log files

*

Offline reyalp

  • ******
  • 14080
Re: Where do I go to find older CHDK builds (especially vrsion 1.2)
« Reply #35 on: 19 / January / 2015, 17:19:41 »
Sorry for the late reply.

I set it to take 13 exposures, and have attached both log files
Thanks. From a quick look, that should provide some useful data, I'll have to spend some more time with it to see what the next steps are.

If you can do it again with just 3 shots, that would be helpful. The uart log is limited size, so seeing the full sequence would be better.
Don't forget what the H stands for.

Re: Where do I go to find older CHDK builds (especially vrsion 1.2)
« Reply #36 on: 19 / January / 2015, 18:06:25 »
I deleted the log files then ran it again with 3 exposures.

In doing 3 exposures, it saved the 1st and 3rd raw file properly, but did not save any raw file for the 2nd image.


Re: Where do I go to find older CHDK builds (especially vrsion 1.2)
« Reply #37 on: 19 / January / 2015, 18:13:44 »
Sorry for double post, when running it again, I forgot to delete all of the old images so the image count would start from 1 again

With no images saved in the camera, and no log files, from a fresh boot, I ran the script and attached the log files

This time it only managed to save 1 raw file (the raw file for the first image only. (the 3 jpegs were saved properly)
« Last Edit: 19 / January / 2015, 18:20:20 by Razor512 »


*

Offline reyalp

  • ******
  • 14080
Re: Where do I go to find older CHDK builds (especially vrsion 1.2)
« Reply #38 on: 19 / January / 2015, 23:45:40 »
Thanks, that's good data.

From your last log I can see that the canon firmware starts writing the jpeg from the first shot while the raw hook is waiting for the image counter to increment in the second shot. This blocks the raw from getting saved.

Can you check what the review mode is set to in the canon firmware? Please post what it was here, and if it was set to anything other than "off", try with it off.
Don't forget what the H stands for.

Re: Where do I go to find older CHDK builds (especially vrsion 1.2)
« Reply #39 on: 20 / January / 2015, 00:21:12 »
I have the image review disabled since it adds too much of a delay where it spends a few seconds displaying each image after it is taken.  Should I enable it? (it would suck to have to keep it enabled (I would prefer to keep it off)

 

Related Topics